@kandiforge/kandi-office 0.15.148 → 0.16.151

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/AISidebar.css +419 -0
  2. package/dist/App.css +662 -0
  3. package/dist/HelpSidebar.css +302 -0
  4. package/dist/LogViewer.css +147 -0
  5. package/dist/ai-sidebar.html +18 -0
  6. package/dist/assets/AISidebar-CQ5fP3eJ.css +1 -0
  7. package/dist/assets/AISidebar-DrYmsI3P.js +1 -0
  8. package/dist/assets/FileLogger-C_Ag2mq_.js +5 -0
  9. package/dist/assets/HelpSidebar-CE2_097f.js +1 -0
  10. package/dist/assets/HelpSidebar-CJCALl_s.css +1 -0
  11. package/dist/assets/LoggerAdapter-DkeqR1k8.js +1 -0
  12. package/dist/assets/aiSidebar-C7jRWkNR.js +2 -0
  13. package/dist/assets/event-BQOPLiga.js +1 -0
  14. package/dist/assets/helpWindow-CXeq0Xvl.js +2 -0
  15. package/dist/assets/index-BCQcZBWV.js +9 -0
  16. package/dist/assets/index-D7-2e4s_.css +1 -0
  17. package/dist/assets/kandi-agent-icon-C6wMIunM.png +0 -0
  18. package/dist/assets/kandi-profile-icon-DR9b6TxX.png +0 -0
  19. package/dist/assets/kandi-settings-icon-B7gXEjZE.png +0 -0
  20. package/dist/assets/kandi_office_wasm-DOF-sjXG.js +2 -0
  21. package/dist/assets/kandi_office_wasm_bg-PSbcZKTi.wasm +0 -0
  22. package/dist/assets/logs-C00nBFHe.js +2 -0
  23. package/dist/assets/logs-CteYkMat.css +1 -0
  24. package/dist/assets/main-BDYXdlok.js +323 -0
  25. package/dist/assets/main-CQ6LhAcC.css +1 -0
  26. package/dist/assets/pdf-DUPavs6M.js +12 -0
  27. package/dist/assets/pdf.worker.min-yatZIOMy.mjs +21 -0
  28. package/dist/assets/preload-helper-BXl3LOEh.js +1 -0
  29. package/dist/assets/webview-B8guzubV.js +1 -0
  30. package/dist/assets/webviewWindow-BSH5q3Fg.js +1 -0
  31. package/dist/components/GPTPromptBar.css +101 -0
  32. package/dist/components/SettingsDialog.css +268 -0
  33. package/dist/components/StatusBar.css +62 -0
  34. package/dist/components/TabBar.css +141 -0
  35. package/dist/forms/css/index.css +17 -0
  36. package/dist/forms/css/kandi-forms.css +649 -0
  37. package/dist/forms/css/themes/bauhaus.css +71 -0
  38. package/dist/forms/css/themes/blue-rider.css +88 -0
  39. package/dist/forms/css/themes/composition-viii.css +67 -0
  40. package/dist/forms/css/themes/several-circles.css +139 -0
  41. package/dist/forms/css/themes/yellow-red-blue.css +138 -0
  42. package/dist/help-window.html +18 -0
  43. package/dist/index.css +212 -0
  44. package/dist/index.d.ts +1 -1
  45. package/dist/index.html +22 -0
  46. package/dist/index.js +1 -1
  47. package/dist/kandi-icon.png +0 -0
  48. package/dist/office-context-map.json +47 -0
  49. package/dist/src/log-viewer.html +16 -0
  50. package/dist/viewers/DocxViewer.css +211 -0
  51. package/dist/viewers/MarkdownViewer.css +231 -0
  52. package/dist/viewers/XlsxViewer.css +108 -0
  53. package/dist/viewers/pdf/PdfViewer.css +133 -0
  54. package/dist/viewers/pdf/components/PdfFilmstrip.css +142 -0
  55. package/dist/viewers/pdf/components/PdfToolbar.css +159 -0
  56. package/dist/viewers/pdf/components/views/ViewStyles.css +244 -0
  57. package/dist/wasm/kandi_office_wasm.d.ts +99 -0
  58. package/dist/wasm/kandi_office_wasm.js +786 -0
  59. package/dist/wasm/kandi_office_wasm_bg.wasm +0 -0
  60. package/dist/wasm/kandi_office_wasm_bg.wasm.d.ts +19 -0
  61. package/dist/wasm/package.json +24 -0
  62. package/package.json +4 -4
@@ -0,0 +1,419 @@
1
+ .ai-sidebar {
2
+ position: fixed;
3
+ background: linear-gradient(180deg, var(--surface) 0%, var(--background) 100%);
4
+ display: flex;
5
+ flex-direction: column;
6
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
7
+ z-index: 1000;
8
+ box-shadow: -4px 0 20px rgba(0, 0, 0, 0.3);
9
+ }
10
+
11
+ /* Standalone window mode (always visible, full height/width) */
12
+ .ai-sidebar.standalone {
13
+ position: relative;
14
+ width: 100% !important;
15
+ height: 100% !important;
16
+ top: 0 !important;
17
+ left: 0 !important;
18
+ right: 0 !important;
19
+ bottom: 0 !important;
20
+ transition: none;
21
+ box-shadow: none;
22
+ border: none;
23
+ }
24
+
25
+ /* Right position (default) */
26
+ .ai-sidebar-right {
27
+ right: -420px;
28
+ top: 0;
29
+ bottom: 0;
30
+ width: 420px;
31
+ border-left: 1px solid rgba(255, 255, 255, 0.1);
32
+ }
33
+
34
+ .ai-sidebar-right.open {
35
+ right: 0;
36
+ }
37
+
38
+ /* Left position */
39
+ .ai-sidebar-left {
40
+ left: -420px;
41
+ top: 0;
42
+ bottom: 0;
43
+ width: 420px;
44
+ border-right: 1px solid rgba(255, 255, 255, 0.1);
45
+ box-shadow: 4px 0 20px rgba(0, 0, 0, 0.3);
46
+ }
47
+
48
+ .ai-sidebar-left.open {
49
+ left: 0;
50
+ }
51
+
52
+ /* Bottom position */
53
+ .ai-sidebar-bottom {
54
+ left: 0;
55
+ right: 0;
56
+ bottom: -300px;
57
+ height: 300px;
58
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
59
+ box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
60
+ }
61
+
62
+ .ai-sidebar-bottom.open {
63
+ bottom: 0;
64
+ }
65
+
66
+ /* Detached (floating window) - TODO: implement as separate Tauri window */
67
+ .ai-sidebar-detached {
68
+ right: -420px;
69
+ top: 60px;
70
+ bottom: 60px;
71
+ width: 420px;
72
+ border: 1px solid rgba(255, 255, 255, 0.2);
73
+ border-radius: 8px;
74
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
75
+ }
76
+
77
+ .ai-sidebar-detached.open {
78
+ right: 20px;
79
+ }
80
+
81
+ .ai-sidebar-header {
82
+ display: flex;
83
+ align-items: center;
84
+ justify-content: space-between;
85
+ padding: 1rem 1.25rem;
86
+ background: rgba(255, 255, 255, 0.05);
87
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
88
+ }
89
+
90
+ /* Add padding for traffic lights in standalone mode */
91
+ .ai-sidebar.standalone .ai-sidebar-header {
92
+ padding-left: 80px;
93
+ -webkit-app-region: drag; /* Make header draggable in standalone window */
94
+ }
95
+
96
+ /* Only make interactive elements non-draggable in standalone mode */
97
+ .ai-sidebar.standalone .ai-sidebar-header button,
98
+ .ai-sidebar.standalone .ai-sidebar-header input,
99
+ .ai-sidebar.standalone .ai-sidebar-header select,
100
+ .ai-sidebar.standalone .ai-sidebar-header a,
101
+ .ai-sidebar.standalone .ai-sidebar-header .ai-sidebar-position-menu {
102
+ -webkit-app-region: no-drag;
103
+ }
104
+
105
+ .ai-sidebar-title {
106
+ display: flex;
107
+ align-items: center;
108
+ gap: 0.75rem;
109
+ font-weight: 600;
110
+ font-size: 0.95rem;
111
+ color: var(--text-primary);
112
+ }
113
+
114
+ .ai-sidebar-title svg {
115
+ color: var(--accent-bright);
116
+ animation: pulse 2s ease-in-out infinite;
117
+ }
118
+
119
+ @keyframes pulse {
120
+ 0%, 100% {
121
+ opacity: 1;
122
+ }
123
+ 50% {
124
+ opacity: 0.6;
125
+ }
126
+ }
127
+
128
+ .ai-sidebar-controls {
129
+ display: flex;
130
+ align-items: center;
131
+ gap: 0.5rem;
132
+ }
133
+
134
+ .ai-sidebar-position-menu {
135
+ position: relative;
136
+ }
137
+
138
+ .ai-sidebar-menu-btn,
139
+ .ai-sidebar-close {
140
+ background: transparent;
141
+ border: none;
142
+ color: var(--text-muted);
143
+ cursor: pointer;
144
+ padding: 0.5rem;
145
+ border-radius: 4px;
146
+ display: flex;
147
+ align-items: center;
148
+ justify-content: center;
149
+ transition: all 0.2s;
150
+ }
151
+
152
+ .ai-sidebar-menu-btn:hover,
153
+ .ai-sidebar-close:hover {
154
+ background: rgba(255, 255, 255, 0.1);
155
+ color: var(--text-primary);
156
+ }
157
+
158
+ .ai-position-dropdown {
159
+ position: absolute;
160
+ top: calc(100% + 0.5rem);
161
+ right: 0;
162
+ background: var(--surface-elevated);
163
+ border: 1px solid var(--border-default);
164
+ border-radius: 6px;
165
+ padding: 0.25rem;
166
+ min-width: 140px;
167
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
168
+ z-index: 1001;
169
+ }
170
+
171
+ .ai-position-dropdown button {
172
+ width: 100%;
173
+ padding: 0.5rem 0.75rem;
174
+ background: transparent;
175
+ border: none;
176
+ color: var(--text-primary);
177
+ cursor: pointer;
178
+ border-radius: 4px;
179
+ display: flex;
180
+ align-items: center;
181
+ gap: 0.5rem;
182
+ font-size: 0.875rem;
183
+ transition: all 0.15s;
184
+ text-align: left;
185
+ }
186
+
187
+ .ai-position-dropdown button:hover {
188
+ background: rgba(0, 212, 255, 0.15);
189
+ color: var(--accent-bright);
190
+ }
191
+
192
+ .ai-position-dropdown button span {
193
+ font-size: 1.1rem;
194
+ width: 20px;
195
+ text-align: center;
196
+ }
197
+
198
+ .ai-sidebar-messages {
199
+ flex: 1;
200
+ overflow-y: auto;
201
+ padding: 1.5rem;
202
+ display: flex;
203
+ flex-direction: column;
204
+ gap: 1.25rem;
205
+ }
206
+
207
+ .ai-sidebar-messages::-webkit-scrollbar {
208
+ width: 6px;
209
+ }
210
+
211
+ .ai-sidebar-messages::-webkit-scrollbar-track {
212
+ background: transparent;
213
+ }
214
+
215
+ .ai-sidebar-messages::-webkit-scrollbar-thumb {
216
+ background: rgba(255, 255, 255, 0.2);
217
+ border-radius: 3px;
218
+ }
219
+
220
+ .ai-sidebar-messages::-webkit-scrollbar-thumb:hover {
221
+ background: rgba(255, 255, 255, 0.3);
222
+ }
223
+
224
+ .ai-sidebar-empty {
225
+ text-align: center;
226
+ color: var(--text-muted);
227
+ padding: 2rem 1rem;
228
+ }
229
+
230
+ .ai-sidebar-empty p:first-child {
231
+ font-size: 1.1rem;
232
+ margin-bottom: 1.5rem;
233
+ color: var(--text-secondary);
234
+ }
235
+
236
+ .ai-sidebar-empty ul {
237
+ list-style: none;
238
+ padding: 0;
239
+ margin: 1rem 0 0 0;
240
+ text-align: left;
241
+ }
242
+
243
+ .ai-sidebar-empty li {
244
+ padding: 0.5rem 0;
245
+ padding-left: 1.5rem;
246
+ position: relative;
247
+ }
248
+
249
+ .ai-sidebar-empty li::before {
250
+ content: "→";
251
+ position: absolute;
252
+ left: 0;
253
+ color: var(--accent-bright);
254
+ }
255
+
256
+ .ai-message {
257
+ display: flex;
258
+ gap: 0.75rem;
259
+ animation: slideIn 0.3s ease-out;
260
+ }
261
+
262
+ @keyframes slideIn {
263
+ from {
264
+ opacity: 0;
265
+ transform: translateY(10px);
266
+ }
267
+ to {
268
+ opacity: 1;
269
+ transform: translateY(0);
270
+ }
271
+ }
272
+
273
+ .ai-message-avatar {
274
+ width: 32px;
275
+ height: 32px;
276
+ border-radius: 50%;
277
+ display: flex;
278
+ align-items: center;
279
+ justify-content: center;
280
+ font-size: 1.2rem;
281
+ flex-shrink: 0;
282
+ background: rgba(255, 255, 255, 0.1);
283
+ }
284
+
285
+ .ai-message.user .ai-message-avatar {
286
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
287
+ }
288
+
289
+ .ai-message.assistant .ai-message-avatar {
290
+ background: linear-gradient(135deg, #00d4ff 0%, #0090ff 100%);
291
+ }
292
+
293
+ .ai-message-content {
294
+ flex: 1;
295
+ background: rgba(255, 255, 255, 0.05);
296
+ padding: 0.875rem 1rem;
297
+ border-radius: 12px;
298
+ font-size: 0.9rem;
299
+ line-height: 1.6;
300
+ color: var(--text-primary);
301
+ word-wrap: break-word;
302
+ }
303
+
304
+ .ai-message.user .ai-message-content {
305
+ background: rgba(102, 126, 234, 0.15);
306
+ border: 1px solid rgba(102, 126, 234, 0.3);
307
+ }
308
+
309
+ .ai-message.assistant .ai-message-content {
310
+ background: rgba(0, 212, 255, 0.08);
311
+ border: 1px solid rgba(0, 212, 255, 0.2);
312
+ }
313
+
314
+ .ai-loading {
315
+ display: flex;
316
+ gap: 0.4rem;
317
+ padding: 1rem;
318
+ }
319
+
320
+ .ai-loading span {
321
+ width: 8px;
322
+ height: 8px;
323
+ background: var(--accent-bright);
324
+ border-radius: 50%;
325
+ animation: bounce 1.4s ease-in-out infinite;
326
+ }
327
+
328
+ .ai-loading span:nth-child(1) {
329
+ animation-delay: -0.32s;
330
+ }
331
+
332
+ .ai-loading span:nth-child(2) {
333
+ animation-delay: -0.16s;
334
+ }
335
+
336
+ @keyframes bounce {
337
+ 0%, 80%, 100% {
338
+ transform: scale(0.6);
339
+ opacity: 0.5;
340
+ }
341
+ 40% {
342
+ transform: scale(1);
343
+ opacity: 1;
344
+ }
345
+ }
346
+
347
+ .ai-sidebar-input {
348
+ position: sticky;
349
+ bottom: 0;
350
+ padding: 1.25rem;
351
+ background: rgba(0, 0, 0, 0.3);
352
+ backdrop-filter: blur(10px);
353
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
354
+ display: flex;
355
+ gap: 0.75rem;
356
+ z-index: 10;
357
+ }
358
+
359
+ .ai-sidebar-input textarea {
360
+ flex: 1;
361
+ background: rgba(255, 255, 255, 0.05);
362
+ border: 1px solid rgba(255, 255, 255, 0.15);
363
+ border-radius: 8px;
364
+ padding: 0.875rem;
365
+ color: var(--text-primary);
366
+ font-size: 0.9rem;
367
+ font-family: inherit;
368
+ resize: none;
369
+ outline: none;
370
+ transition: all 0.2s;
371
+ }
372
+
373
+ .ai-sidebar-input textarea:focus {
374
+ border-color: var(--accent-bright);
375
+ background: rgba(255, 255, 255, 0.08);
376
+ box-shadow: 0 0 0 2px rgba(0, 212, 255, 0.1);
377
+ }
378
+
379
+ .ai-sidebar-input textarea::placeholder {
380
+ color: var(--text-muted);
381
+ }
382
+
383
+ .ai-sidebar-input textarea:disabled {
384
+ opacity: 0.5;
385
+ cursor: not-allowed;
386
+ }
387
+
388
+ .ai-sidebar-input button {
389
+ background: linear-gradient(135deg, #00d4ff 0%, #0090ff 100%);
390
+ border: none;
391
+ border-radius: 8px;
392
+ width: 44px;
393
+ height: 44px;
394
+ display: flex;
395
+ align-items: center;
396
+ justify-content: center;
397
+ cursor: pointer;
398
+ color: white;
399
+ transition: all 0.2s;
400
+ flex-shrink: 0;
401
+ }
402
+
403
+ .ai-sidebar-input button:hover:not(:disabled) {
404
+ transform: scale(1.05);
405
+ box-shadow: 0 4px 12px rgba(0, 212, 255, 0.4);
406
+ }
407
+
408
+ .ai-sidebar-input button:active:not(:disabled) {
409
+ transform: scale(0.95);
410
+ }
411
+
412
+ .ai-sidebar-input button:disabled {
413
+ opacity: 0.4;
414
+ cursor: not-allowed;
415
+ }
416
+
417
+ .ai-sidebar-input button svg {
418
+ transform: rotate(45deg);
419
+ }