@openviking/react 0.0.0-stage → 0.1.1

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 (104) hide show
  1. package/README.md +82 -2
  2. package/dist/3~0.js +8 -0
  3. package/dist/a~0.js +21 -0
  4. package/dist/client/client.d.ts +12 -0
  5. package/dist/client/errors.d.ts +30 -0
  6. package/dist/client/index.d.ts +4 -0
  7. package/dist/client/options.d.ts +101 -0
  8. package/dist/client/provider.d.ts +52 -0
  9. package/dist/client/types.d.ts +160 -0
  10. package/dist/client.js +239 -0
  11. package/dist/components/agent-connect/agent-connect.d.ts +4 -0
  12. package/dist/components/agent-connect/index.d.ts +1 -0
  13. package/dist/components/agent-connect/style.css +16 -0
  14. package/dist/components/agent-connect/style.js +0 -0
  15. package/dist/components/agent-connect/types.d.ts +175 -0
  16. package/dist/components/agent-connect.js +1 -0
  17. package/dist/components/file-preview/file-preview-body.d.ts +15 -0
  18. package/dist/components/file-preview/file-preview-header.d.ts +16 -0
  19. package/dist/components/file-preview/file-preview-icons.d.ts +2 -0
  20. package/dist/components/file-preview/file-preview-labels.d.ts +5 -0
  21. package/dist/components/file-preview/file-preview-operations.d.ts +1 -0
  22. package/dist/components/file-preview/file-preview.d.ts +17 -0
  23. package/dist/components/file-preview/index.d.ts +1 -0
  24. package/dist/components/file-preview/style.css +285 -0
  25. package/dist/components/file-preview/style.js +0 -0
  26. package/dist/components/file-preview/types.d.ts +435 -0
  27. package/dist/components/file-preview/use-file-preview-editing.d.ts +13 -0
  28. package/dist/components/file-preview.js +442 -0
  29. package/dist/components/file-tree/file-tree-body.d.ts +14 -0
  30. package/dist/components/file-tree/file-tree-dom.d.ts +4 -0
  31. package/dist/components/file-tree/file-tree-entry-row.d.ts +6 -0
  32. package/dist/components/file-tree/file-tree-icons.d.ts +8 -0
  33. package/dist/components/file-tree/file-tree-keyboard.d.ts +10 -0
  34. package/dist/components/file-tree/file-tree-labels.d.ts +5 -0
  35. package/dist/components/file-tree/file-tree-row-context.d.ts +24 -0
  36. package/dist/components/file-tree/file-tree-rows.d.ts +12 -0
  37. package/dist/components/file-tree/file-tree-tooltip.d.ts +11 -0
  38. package/dist/components/file-tree/file-tree.d.ts +4 -0
  39. package/dist/components/file-tree/index.d.ts +1 -0
  40. package/dist/components/file-tree/style.css +244 -0
  41. package/dist/components/file-tree/style.js +0 -0
  42. package/dist/components/file-tree/types.d.ts +406 -0
  43. package/dist/components/file-tree/use-file-tree-actions.d.ts +10 -0
  44. package/dist/components/file-tree.js +1 -0
  45. package/dist/components/scope-switcher/index.d.ts +1 -0
  46. package/dist/components/scope-switcher/scope-keyboard.d.ts +2 -0
  47. package/dist/components/scope-switcher/scope-panel.d.ts +5 -0
  48. package/dist/components/scope-switcher/scope-selector.d.ts +2 -0
  49. package/dist/components/scope-switcher/scope-switcher.d.ts +6 -0
  50. package/dist/components/scope-switcher/style.css +248 -0
  51. package/dist/components/scope-switcher/style.js +0 -0
  52. package/dist/components/scope-switcher/types.d.ts +367 -0
  53. package/dist/components/scope-switcher.js +3 -0
  54. package/dist/components/style.css +811 -0
  55. package/dist/components/style.js +0 -0
  56. package/dist/components/tui/index.d.ts +1 -0
  57. package/dist/components/tui/style.css +16 -0
  58. package/dist/components/tui/style.js +0 -0
  59. package/dist/components/tui/tui.d.ts +3 -0
  60. package/dist/components/tui/types.d.ts +485 -0
  61. package/dist/components/tui.js +1 -0
  62. package/dist/f~0.js +284 -0
  63. package/dist/icons/index.d.ts +23 -0
  64. package/dist/icons.js +25 -0
  65. package/dist/index.d.ts +16 -0
  66. package/dist/index.js +8 -0
  67. package/dist/i~0.js +21 -0
  68. package/dist/lk~0.js +220 -0
  69. package/dist/l~0.js +44 -0
  70. package/dist/modules/console/console.d.ts +4 -0
  71. package/dist/modules/console/index.d.ts +1 -0
  72. package/dist/modules/console/style.css +29 -0
  73. package/dist/modules/console/style.js +0 -0
  74. package/dist/modules/console/types.d.ts +101 -0
  75. package/dist/modules/console.js +1 -0
  76. package/dist/modules/file-browser/file-browser-toolbar-button.d.ts +10 -0
  77. package/dist/modules/file-browser/file-browser.d.ts +6 -0
  78. package/dist/modules/file-browser/index.d.ts +1 -0
  79. package/dist/modules/file-browser/style.css +75 -0
  80. package/dist/modules/file-browser/style.js +0 -0
  81. package/dist/modules/file-browser/types.d.ts +101 -0
  82. package/dist/modules/file-browser.js +1 -0
  83. package/dist/modules/scope-cascade/controller.d.ts +6 -0
  84. package/dist/modules/scope-cascade/index.d.ts +3 -0
  85. package/dist/modules/scope-cascade/scope-cascade.d.ts +3 -0
  86. package/dist/modules/scope-cascade/style.css +250 -0
  87. package/dist/modules/scope-cascade/style.js +0 -0
  88. package/dist/modules/scope-cascade/types.d.ts +39 -0
  89. package/dist/modules/scope-cascade/use-scope-cascade.d.ts +5 -0
  90. package/dist/modules/scope-cascade.js +1 -0
  91. package/dist/modules/style.css +385 -0
  92. package/dist/modules/style.js +0 -0
  93. package/dist/modules/task-center/columns.d.ts +129 -0
  94. package/dist/modules/task-center/index.d.ts +1 -0
  95. package/dist/modules/task-center/style.css +29 -0
  96. package/dist/modules/task-center/style.js +0 -0
  97. package/dist/modules/task-center/task-center.d.ts +4 -0
  98. package/dist/modules/task-center/types.d.ts +168 -0
  99. package/dist/modules/task-center.js +1 -0
  100. package/dist/n~0.js +499 -0
  101. package/dist/style.css +1198 -0
  102. package/dist/style.js +0 -0
  103. package/dist/u~0.js +8 -0
  104. package/package.json +103 -4
package/dist/style.css ADDED
@@ -0,0 +1,1198 @@
1
+ .ov-file-tree {
2
+ box-sizing: border-box;
3
+ min-width: 0;
4
+ min-height: 0;
5
+ color: inherit;
6
+ flex-direction: column;
7
+ font-family: inherit;
8
+ font-size: 13px;
9
+ line-height: 20px;
10
+ display: flex;
11
+ }
12
+
13
+ .ov-file-tree__toolbar {
14
+ flex: none;
15
+ padding: 4px 0 8px;
16
+ }
17
+
18
+ .ov-file-tree__body {
19
+ flex: auto;
20
+ min-height: 0;
21
+ overflow: auto;
22
+ }
23
+
24
+ .ov-file-tree__rows {
25
+ flex-direction: column;
26
+ display: flex;
27
+ }
28
+
29
+ .ov-file-tree__row {
30
+ box-sizing: border-box;
31
+ border-radius: var(--ov-ui-radius, 6px);
32
+ height: 28px;
33
+ color: inherit;
34
+ cursor: default;
35
+ -webkit-user-select: none;
36
+ user-select: none;
37
+ outline: none;
38
+ align-items: center;
39
+ gap: 4px;
40
+ padding-right: 8px;
41
+ display: flex;
42
+ position: relative;
43
+ }
44
+
45
+ .ov-file-tree__row:hover {
46
+ background: var(--ov-ui-row-hover, color-mix(in srgb, currentColor 6%, transparent));
47
+ }
48
+
49
+ .ov-file-tree__row:focus-visible {
50
+ outline: 2px solid var(--ov-ui-focus-ring, #2563c5);
51
+ outline-offset: -2px;
52
+ }
53
+
54
+ .ov-file-tree__row[data-selected] {
55
+ background: var(--ov-ui-row-selected, #2563c51a);
56
+ }
57
+
58
+ .ov-file-tree__row[data-disabled] {
59
+ color: var(--ov-ui-text-muted, color-mix(in srgb, currentColor 62%, transparent));
60
+ cursor: not-allowed;
61
+ }
62
+
63
+ .ov-file-tree__toggle, .ov-file-tree__toggle-spacer {
64
+ flex: none;
65
+ justify-content: center;
66
+ align-items: center;
67
+ width: 16px;
68
+ height: 16px;
69
+ display: inline-flex;
70
+ }
71
+
72
+ .ov-file-tree__toggle {
73
+ color: var(--ov-ui-text-muted, color-mix(in srgb, currentColor 62%, transparent));
74
+ cursor: pointer;
75
+ background: none;
76
+ border: 0;
77
+ border-radius: 4px;
78
+ padding: 0;
79
+ }
80
+
81
+ .ov-file-tree__toggle:hover {
82
+ background: color-mix(in srgb, currentColor 10%, transparent);
83
+ }
84
+
85
+ .ov-file-tree__chevron {
86
+ transition: transform .12s;
87
+ }
88
+
89
+ .ov-file-tree__chevron[data-expanded] {
90
+ transform: rotate(90deg);
91
+ }
92
+
93
+ .ov-file-tree__icon-slot {
94
+ color: var(--ov-ui-icon, color-mix(in srgb, currentColor 62%, transparent));
95
+ flex: none;
96
+ align-items: center;
97
+ display: inline-flex;
98
+ }
99
+
100
+ .ov-file-tree__icon {
101
+ display: block;
102
+ }
103
+
104
+ .ov-file-tree__label-group {
105
+ flex: auto;
106
+ align-items: baseline;
107
+ gap: 6px;
108
+ min-width: 0;
109
+ display: flex;
110
+ }
111
+
112
+ .ov-file-tree__label {
113
+ text-overflow: ellipsis;
114
+ white-space: nowrap;
115
+ overflow: hidden;
116
+ }
117
+
118
+ .ov-file-tree__description {
119
+ color: var(--ov-ui-text-muted, color-mix(in srgb, currentColor 62%, transparent));
120
+ text-overflow: ellipsis;
121
+ white-space: nowrap;
122
+ font-size: 12px;
123
+ overflow: hidden;
124
+ }
125
+
126
+ .ov-file-tree__level {
127
+ background: var(--ov-ui-chip, color-mix(in srgb, currentColor 10%, transparent));
128
+ color: var(--ov-ui-text-muted, color-mix(in srgb, currentColor 62%, transparent));
129
+ border-radius: 3px;
130
+ flex: none;
131
+ padding: 0 4px;
132
+ font-size: 11px;
133
+ line-height: 16px;
134
+ }
135
+
136
+ .ov-file-tree__expiry {
137
+ color: var(--ov-ui-warning, #b26a00);
138
+ flex: none;
139
+ font-size: 12px;
140
+ }
141
+
142
+ .ov-file-tree__expiry-action {
143
+ color: inherit;
144
+ font: inherit;
145
+ cursor: pointer;
146
+ background: none;
147
+ border: 0;
148
+ padding: 0;
149
+ text-decoration: underline;
150
+ }
151
+
152
+ .ov-file-tree__dashboard {
153
+ flex: none;
154
+ align-items: center;
155
+ display: inline-flex;
156
+ }
157
+
158
+ .ov-file-tree__tooltip {
159
+ z-index: 1;
160
+ border-radius: var(--ov-ui-radius, 6px);
161
+ background: var(--ov-ui-tooltip-bg, #1f2329);
162
+ max-width: 320px;
163
+ color: var(--ov-ui-tooltip-text, #fff);
164
+ pointer-events: none;
165
+ padding: 6px 8px;
166
+ font-size: 12px;
167
+ line-height: 18px;
168
+ position: absolute;
169
+ top: calc(100% + 4px);
170
+ left: 0;
171
+ }
172
+
173
+ .ov-file-tree__child-row {
174
+ box-sizing: border-box;
175
+ height: 28px;
176
+ color: var(--ov-ui-text-muted, color-mix(in srgb, currentColor 62%, transparent));
177
+ align-items: center;
178
+ gap: 6px;
179
+ padding-right: 8px;
180
+ display: flex;
181
+ }
182
+
183
+ .ov-file-tree__child-row[data-tone="error"] {
184
+ color: var(--ov-ui-status-error, #c43838);
185
+ }
186
+
187
+ .ov-file-tree__child-action {
188
+ color: inherit;
189
+ font: inherit;
190
+ cursor: pointer;
191
+ background: none;
192
+ border: 0;
193
+ padding: 0;
194
+ text-decoration: underline;
195
+ }
196
+
197
+ .ov-file-tree__child-action:disabled {
198
+ cursor: default;
199
+ opacity: .6;
200
+ }
201
+
202
+ .ov-file-tree__state {
203
+ box-sizing: border-box;
204
+ justify-content: center;
205
+ align-items: center;
206
+ min-height: 120px;
207
+ padding: 24px;
208
+ display: flex;
209
+ }
210
+
211
+ .ov-file-tree__muted {
212
+ color: inherit;
213
+ }
214
+
215
+ .ov-file-tree__spinner {
216
+ box-sizing: border-box;
217
+ border: 1.5px solid;
218
+ border-right-color: #0000;
219
+ border-radius: 50%;
220
+ flex: none;
221
+ width: 12px;
222
+ height: 12px;
223
+ animation: .72s linear infinite ov-file-tree-spin;
224
+ display: inline-block;
225
+ }
226
+
227
+ @keyframes ov-file-tree-spin {
228
+ to {
229
+ transform: rotate(360deg);
230
+ }
231
+ }
232
+
233
+ @media (prefers-reduced-motion: reduce) {
234
+ .ov-file-tree__chevron {
235
+ transition: none;
236
+ }
237
+
238
+ .ov-file-tree__spinner {
239
+ animation-duration: 2s;
240
+ }
241
+ }
242
+
243
+
244
+
245
+ .ov-file-preview {
246
+ box-sizing: border-box;
247
+ min-width: 0;
248
+ min-height: 0;
249
+ color: inherit;
250
+ flex-direction: column;
251
+ font-family: inherit;
252
+ font-size: 13px;
253
+ line-height: 20px;
254
+ display: flex;
255
+ }
256
+
257
+ .ov-file-preview__tab-row {
258
+ border-bottom: 1px solid var(--ov-ui-border, #00000014);
259
+ flex: none;
260
+ align-items: flex-end;
261
+ gap: 2px;
262
+ min-width: 0;
263
+ padding: 4px 8px 0;
264
+ display: flex;
265
+ overflow-x: auto;
266
+ }
267
+
268
+ .ov-file-preview__tab {
269
+ border-radius: var(--ov-ui-radius, 6px) var(--ov-ui-radius, 6px) 0 0;
270
+ max-width: 220px;
271
+ color: var(--ov-ui-text-muted, color-mix(in srgb, currentColor 62%, transparent));
272
+ font: inherit;
273
+ cursor: pointer;
274
+ background: none;
275
+ border: 1px solid #0000;
276
+ border-bottom: none;
277
+ flex: none;
278
+ align-items: center;
279
+ gap: 6px;
280
+ padding: 5px 10px;
281
+ display: inline-flex;
282
+ }
283
+
284
+ .ov-file-preview__tab:hover:not(:disabled) {
285
+ color: inherit;
286
+ background: var(--ov-ui-row-hover, #0000000a);
287
+ }
288
+
289
+ .ov-file-preview__tab[aria-selected="true"] {
290
+ border-color: var(--ov-ui-border, #00000014);
291
+ background: var(--ov-ui-surface, canvas);
292
+ color: inherit;
293
+ }
294
+
295
+ .ov-file-preview__tab:focus-visible {
296
+ outline: 2px solid var(--ov-ui-focus-ring, #2563c5);
297
+ outline-offset: -2px;
298
+ }
299
+
300
+ .ov-file-preview__tab:disabled {
301
+ opacity: .5;
302
+ cursor: not-allowed;
303
+ }
304
+
305
+ .ov-file-preview__tab-title {
306
+ text-overflow: ellipsis;
307
+ white-space: nowrap;
308
+ min-width: 0;
309
+ overflow: hidden;
310
+ }
311
+
312
+ .ov-file-preview__icon-slot {
313
+ color: var(--ov-ui-icon, color-mix(in srgb, currentColor 62%, transparent));
314
+ flex: none;
315
+ align-items: center;
316
+ display: inline-flex;
317
+ }
318
+
319
+ .ov-file-preview__icon {
320
+ display: block;
321
+ }
322
+
323
+ .ov-file-preview__header {
324
+ border-bottom: 1px solid var(--ov-ui-border, #00000014);
325
+ flex-wrap: wrap;
326
+ flex: none;
327
+ justify-content: space-between;
328
+ align-items: center;
329
+ gap: 12px;
330
+ min-width: 0;
331
+ padding: 8px 12px;
332
+ display: flex;
333
+ }
334
+
335
+ .ov-file-preview__path-row {
336
+ flex: auto;
337
+ align-items: center;
338
+ gap: 6px;
339
+ min-width: 0;
340
+ display: flex;
341
+ }
342
+
343
+ .ov-file-preview__breadcrumb {
344
+ border-radius: var(--ov-ui-radius, 6px);
345
+ min-width: 0;
346
+ color: var(--ov-ui-accent, #2563c5);
347
+ font: inherit;
348
+ text-align: left;
349
+ text-overflow: ellipsis;
350
+ white-space: nowrap;
351
+ cursor: pointer;
352
+ background: none;
353
+ border: none;
354
+ padding: 2px 4px;
355
+ overflow: hidden;
356
+ }
357
+
358
+ .ov-file-preview__breadcrumb:disabled {
359
+ color: inherit;
360
+ cursor: default;
361
+ }
362
+
363
+ .ov-file-preview__breadcrumb:not(:disabled):hover {
364
+ background: var(--ov-ui-row-hover, #0000000a);
365
+ }
366
+
367
+ .ov-file-preview__title-extra {
368
+ flex: none;
369
+ align-items: center;
370
+ gap: 6px;
371
+ display: inline-flex;
372
+ }
373
+
374
+ .ov-file-preview__header-actions {
375
+ flex-wrap: wrap;
376
+ flex: 0 auto;
377
+ align-items: center;
378
+ gap: 6px;
379
+ min-width: 0;
380
+ display: flex;
381
+ }
382
+
383
+ .ov-file-preview__action {
384
+ border: 1px solid var(--ov-ui-border, #00000014);
385
+ border-radius: var(--ov-ui-radius, 6px);
386
+ width: 26px;
387
+ height: 26px;
388
+ color: inherit;
389
+ cursor: pointer;
390
+ background: none;
391
+ justify-content: center;
392
+ align-items: center;
393
+ padding: 0;
394
+ display: inline-flex;
395
+ }
396
+
397
+ .ov-file-preview__action:hover:not(:disabled) {
398
+ background: var(--ov-ui-row-hover, #0000000a);
399
+ }
400
+
401
+ .ov-file-preview__action:disabled {
402
+ opacity: .4;
403
+ cursor: not-allowed;
404
+ }
405
+
406
+ .ov-file-preview__action-icon {
407
+ display: block;
408
+ }
409
+
410
+ .ov-file-preview__button, .ov-file-preview__button--primary {
411
+ border-radius: var(--ov-ui-radius, 6px);
412
+ font: inherit;
413
+ cursor: pointer;
414
+ padding: 3px 10px;
415
+ }
416
+
417
+ .ov-file-preview__button {
418
+ border: 1px solid var(--ov-ui-border, #00000014);
419
+ color: inherit;
420
+ background: none;
421
+ }
422
+
423
+ .ov-file-preview__button:hover {
424
+ background: var(--ov-ui-row-hover, #0000000a);
425
+ }
426
+
427
+ .ov-file-preview__button--primary {
428
+ background: var(--ov-ui-accent, #2563c5);
429
+ color: #fff;
430
+ border: 1px solid #0000;
431
+ }
432
+
433
+ .ov-file-preview__switch {
434
+ border-radius: var(--ov-ui-radius, 6px);
435
+ background: var(--ov-ui-row-hover, #0000000a);
436
+ padding: 2px;
437
+ display: inline-flex;
438
+ }
439
+
440
+ .ov-file-preview__switch-item {
441
+ border-radius: calc(var(--ov-ui-radius, 6px) - 2px);
442
+ color: var(--ov-ui-text-muted, color-mix(in srgb, currentColor 62%, transparent));
443
+ font: inherit;
444
+ cursor: pointer;
445
+ background: none;
446
+ border: none;
447
+ padding: 2px 10px;
448
+ }
449
+
450
+ .ov-file-preview__switch-item[data-active] {
451
+ background: var(--ov-ui-surface, canvas);
452
+ color: inherit;
453
+ }
454
+
455
+ .ov-file-preview__switch-item:focus-visible {
456
+ outline: 2px solid var(--ov-ui-focus-ring, #2563c5);
457
+ outline-offset: -2px;
458
+ }
459
+
460
+ .ov-file-preview__extra-actions {
461
+ align-items: center;
462
+ gap: 6px;
463
+ display: inline-flex;
464
+ }
465
+
466
+ .ov-file-preview__body {
467
+ flex: auto;
468
+ min-height: 0;
469
+ overflow: auto;
470
+ }
471
+
472
+ .ov-file-preview__text-body {
473
+ padding: 12px;
474
+ }
475
+
476
+ .ov-file-preview__pre {
477
+ font-family: var(--ov-ui-font-mono, ui-monospace, monospace);
478
+ white-space: pre-wrap;
479
+ word-break: break-word;
480
+ margin: 0;
481
+ font-size: 12px;
482
+ line-height: 1.6;
483
+ }
484
+
485
+ .ov-file-preview__editor {
486
+ flex-direction: column;
487
+ height: 100%;
488
+ min-height: 240px;
489
+ display: flex;
490
+ }
491
+
492
+ .ov-file-preview__save-error {
493
+ padding: 8px 12px;
494
+ }
495
+
496
+ .ov-file-preview__textarea {
497
+ box-sizing: border-box;
498
+ width: 100%;
499
+ min-height: 0;
500
+ color: inherit;
501
+ font-family: var(--ov-ui-font-mono, ui-monospace, monospace);
502
+ resize: none;
503
+ background: none;
504
+ border: none;
505
+ flex: auto;
506
+ padding: 12px;
507
+ font-size: 12px;
508
+ line-height: 1.6;
509
+ }
510
+
511
+ .ov-file-preview__textarea:focus-visible {
512
+ outline: 2px solid var(--ov-ui-focus-ring, #2563c5);
513
+ outline-offset: -2px;
514
+ }
515
+
516
+ .ov-file-preview__state {
517
+ justify-content: center;
518
+ align-items: center;
519
+ min-height: 120px;
520
+ padding: 24px;
521
+ display: flex;
522
+ }
523
+
524
+ .ov-file-preview__muted {
525
+ color: var(--ov-ui-text-muted, color-mix(in srgb, currentColor 62%, transparent));
526
+ }
527
+
528
+
529
+
530
+ .ov-tui {
531
+ box-sizing: border-box;
532
+ border-radius: var(--ov-ui-radius, 6px);
533
+ background: var(--ov-ui-placeholder, #f3f4f7);
534
+ width: 360px;
535
+ height: 560px;
536
+ color: var(--ov-ui-text-muted, #8f959e);
537
+ justify-content: center;
538
+ align-items: center;
539
+ font-family: inherit;
540
+ font-size: 12px;
541
+ display: flex;
542
+ }
543
+
544
+
545
+
546
+ .ov-scope-switcher {
547
+ box-sizing: border-box;
548
+ border: 1px solid var(--ov-ui-border, #edeef2);
549
+ background: var(--ov-ui-scope-background, transparent);
550
+ max-width: 100%;
551
+ min-height: 32px;
552
+ color: var(--ov-ui-text, #0b0b0f);
553
+ font-family: var(--ov-ui-font-family, "PingFang SC",
554
+ -apple-system,
555
+ BlinkMacSystemFont,
556
+ "Segoe UI",
557
+ sans-serif);
558
+ letter-spacing: .036px;
559
+ border-radius: 16px;
560
+ flex-wrap: wrap;
561
+ align-items: center;
562
+ gap: 4px;
563
+ padding: 3px 4px;
564
+ font-size: 12px;
565
+ line-height: 20px;
566
+ display: inline-flex;
567
+ }
568
+
569
+ .ov-scope-switcher *, .ov-scope-switcher :before, .ov-scope-switcher :after {
570
+ box-sizing: border-box;
571
+ }
572
+
573
+ .ov-scope-switcher__level {
574
+ align-items: center;
575
+ gap: 4px;
576
+ min-width: 0;
577
+ max-width: 100%;
578
+ display: inline-flex;
579
+ position: relative;
580
+ }
581
+
582
+ .ov-scope-switcher__level + .ov-scope-switcher__level:before {
583
+ content: "/";
584
+ color: var(--ov-ui-text-muted, #c9cbd4);
585
+ margin-right: 4px;
586
+ font-size: 13px;
587
+ font-weight: 500;
588
+ line-height: 22px;
589
+ }
590
+
591
+ .ov-scope-switcher__trigger {
592
+ max-width: min(260px, 100%);
593
+ height: 24px;
594
+ color: inherit;
595
+ font: inherit;
596
+ vertical-align: middle;
597
+ background: none;
598
+ border: 0;
599
+ border-radius: 99px;
600
+ align-items: center;
601
+ gap: 6px;
602
+ padding: 2px 8px;
603
+ display: inline-flex;
604
+ }
605
+
606
+ button.ov-scope-switcher__trigger {
607
+ cursor: pointer;
608
+ }
609
+
610
+ .ov-scope-switcher__trigger:hover:not(:disabled), .ov-scope-switcher__trigger[aria-expanded="true"] {
611
+ background: var(--ov-ui-hover, #edeffc);
612
+ }
613
+
614
+ .ov-scope-switcher__label {
615
+ white-space: nowrap;
616
+ text-overflow: ellipsis;
617
+ overflow: hidden;
618
+ }
619
+
620
+ .ov-scope-switcher__icon {
621
+ flex: none;
622
+ justify-content: center;
623
+ align-items: center;
624
+ width: 14px;
625
+ height: 14px;
626
+ display: inline-flex;
627
+ }
628
+
629
+ .ov-scope-switcher__icon img {
630
+ display: block;
631
+ }
632
+
633
+ .ov-scope-switcher__tag {
634
+ color: var(--ov-ui-text-muted, #9295a5);
635
+ font-size: 12px;
636
+ }
637
+
638
+ .ov-scope-switcher__arrow {
639
+ flex: 0 0 14px;
640
+ width: 14px;
641
+ height: 14px;
642
+ margin-left: -2px;
643
+ transition: transform .16s;
644
+ display: inline-flex;
645
+ }
646
+
647
+ .ov-scope-switcher__trigger[aria-expanded="true"] .ov-scope-switcher__arrow {
648
+ transform: rotate(180deg);
649
+ }
650
+
651
+ @media (prefers-reduced-motion: reduce) {
652
+ .ov-scope-switcher__arrow {
653
+ transition: none;
654
+ }
655
+ }
656
+
657
+ .ov-scope-switcher__panel {
658
+ z-index: 30;
659
+ border: 1px solid var(--ov-ui-border, #edeef2);
660
+ background: var(--ov-ui-surface, #fff);
661
+ width: min(272px, 100vw - 32px);
662
+ max-height: min(540px, 70vh);
663
+ color: var(--ov-ui-text, #0b0b0f);
664
+ letter-spacing: .039px;
665
+ border-radius: 12px;
666
+ padding: 7px;
667
+ font-size: 13px;
668
+ line-height: 22px;
669
+ position: absolute;
670
+ top: calc(100% + 8px);
671
+ left: 0;
672
+ overflow: auto;
673
+ box-shadow: 0 15px 35px -2px #0000000d, 0 5px 15px #0000000d;
674
+ }
675
+
676
+ .ov-scope-switcher__level:last-child:not(:first-child) .ov-scope-switcher__panel {
677
+ left: auto;
678
+ right: 0;
679
+ }
680
+
681
+ .ov-scope-switcher__search {
682
+ border: 1px solid var(--ov-ui-border, #dfe1e8);
683
+ width: 100%;
684
+ color: inherit;
685
+ font: inherit;
686
+ background: none;
687
+ border-radius: 8px;
688
+ margin-bottom: 8px;
689
+ padding: 8px 10px;
690
+ }
691
+
692
+ .ov-scope-switcher__list {
693
+ overscroll-behavior: contain;
694
+ flex-direction: column;
695
+ gap: 4px;
696
+ max-height: 280px;
697
+ display: flex;
698
+ overflow: auto;
699
+ }
700
+
701
+ .ov-scope-switcher__option {
702
+ width: 100%;
703
+ min-height: 44px;
704
+ color: inherit;
705
+ font: inherit;
706
+ text-align: start;
707
+ cursor: pointer;
708
+ background: none;
709
+ border: 0;
710
+ border-radius: 6px;
711
+ flex-shrink: 0;
712
+ align-items: center;
713
+ gap: 8px;
714
+ padding: 2px 8px;
715
+ display: flex;
716
+ }
717
+
718
+ .ov-scope-switcher__option:hover:not([aria-disabled="true"]), .ov-scope-switcher__option[aria-selected="true"] {
719
+ background: var(--ov-ui-hover, #f5f7ff);
720
+ }
721
+
722
+ .ov-scope-switcher__option-text {
723
+ flex-direction: column;
724
+ flex: 1;
725
+ min-width: 0;
726
+ display: flex;
727
+ overflow: hidden;
728
+ }
729
+
730
+ .ov-scope-switcher__option-text small {
731
+ color: var(--ov-ui-text-muted, #737889);
732
+ }
733
+
734
+ .ov-scope-switcher__option mark {
735
+ background: var(--ov-ui-highlight, #fff0b3);
736
+ color: inherit;
737
+ }
738
+
739
+ .ov-scope-switcher__check {
740
+ flex: 0 0 16px;
741
+ width: 16px;
742
+ height: 16px;
743
+ display: inline-flex;
744
+ }
745
+
746
+ .ov-scope-switcher__state {
747
+ color: var(--ov-ui-text-muted, #737889);
748
+ padding: 20px 10px;
749
+ }
750
+
751
+ .ov-scope-switcher button:disabled, .ov-scope-switcher__option[aria-disabled="true"] {
752
+ opacity: .5;
753
+ cursor: not-allowed;
754
+ }
755
+
756
+ .ov-scope-switcher :focus-visible {
757
+ outline: 2px solid var(--ov-ui-primary, #6256d9);
758
+ outline-offset: 2px;
759
+ }
760
+
761
+ @media (width <= 600px) {
762
+ .ov-scope-switcher__trigger {
763
+ max-width: 210px;
764
+ }
765
+
766
+ .ov-scope-switcher__panel, .ov-scope-switcher__level:last-child:not(:first-child) .ov-scope-switcher__panel {
767
+ width: auto;
768
+ max-height: 60dvh;
769
+ position: fixed;
770
+ inset: auto 16px 16px;
771
+ }
772
+ }
773
+
774
+ .ov-scope-switcher__option[aria-selected="true"] {
775
+ font-weight: 500;
776
+ }
777
+
778
+ .ov-scope-switcher__option-text > span {
779
+ text-overflow: ellipsis;
780
+ white-space: nowrap;
781
+ overflow: hidden;
782
+ }
783
+
784
+ .ov-scope-switcher__option .ov-scope-switcher__icon {
785
+ border: .5px solid var(--ov-ui-border, #edeef2);
786
+ background: var(--ov-ui-surface, #fff);
787
+ border-radius: 50%;
788
+ width: 24px;
789
+ height: 24px;
790
+ }
791
+
792
+
793
+
794
+ .ov-agent-connect {
795
+ box-sizing: border-box;
796
+ border-radius: var(--ov-ui-radius, 6px);
797
+ background: var(--ov-ui-placeholder, #f3f4f7);
798
+ width: 960px;
799
+ height: 640px;
800
+ color: var(--ov-ui-text-muted, #8f959e);
801
+ justify-content: center;
802
+ align-items: center;
803
+ font-family: inherit;
804
+ font-size: 12px;
805
+ display: flex;
806
+ }
807
+
808
+
809
+
810
+
811
+
812
+ .ov-file-browser__toolbar-button {
813
+ align-items: center;
814
+ gap: var(--ov-ui-space-2, 8px);
815
+ padding: var(--ov-ui-space-2, 8px) var(--ov-ui-space-3, 12px);
816
+ border-radius: var(--ov-ui-radius-sm, 4px);
817
+ color: var(--ov-ui-color-primary, #1664ff);
818
+ font: inherit;
819
+ cursor: pointer;
820
+ background: none;
821
+ border: 0;
822
+ display: inline-flex;
823
+ }
824
+
825
+ .ov-file-browser__toolbar-button:hover:not(:disabled) {
826
+ background: var(--ov-ui-color-fill-hover, #1664ff14);
827
+ }
828
+
829
+ .ov-file-browser__toolbar-button:focus-visible {
830
+ outline: 2px solid var(--ov-ui-color-focus, #1664ff);
831
+ outline-offset: 2px;
832
+ }
833
+
834
+ .ov-file-browser__toolbar-button:disabled {
835
+ color: var(--ov-ui-color-text-disabled, #00000040);
836
+ cursor: not-allowed;
837
+ }
838
+
839
+ .ov-file-browser__toolbar-button-icon {
840
+ flex: none;
841
+ display: inline-flex;
842
+ }
843
+
844
+ .ov-file-browser__toolbar-button-label {
845
+ white-space: nowrap;
846
+ }
847
+
848
+ .ov-file-browser__toolbar-actions > * + :before {
849
+ content: "";
850
+ width: 1px;
851
+ height: 16px;
852
+ margin-right: var(--ov-ui-space-2, 8px);
853
+ background: var(--ov-ui-color-border, #0000001f);
854
+ vertical-align: middle;
855
+ display: inline-block;
856
+ }
857
+
858
+ .ov-module-placeholder {
859
+ box-sizing: border-box;
860
+ border: 1px dashed var(--ov-ui-border, currentColor);
861
+ border-radius: var(--ov-ui-radius, 6px);
862
+ min-width: 0;
863
+ min-height: 160px;
864
+ color: inherit;
865
+ font: inherit;
866
+ text-align: center;
867
+ overflow-wrap: anywhere;
868
+ flex-direction: column;
869
+ justify-content: center;
870
+ align-items: center;
871
+ gap: 8px;
872
+ padding: 24px;
873
+ display: flex;
874
+ }
875
+
876
+ .ov-module-placeholder__title {
877
+ margin: 0;
878
+ }
879
+
880
+ .ov-module-placeholder__description {
881
+ color: var(--ov-ui-text-muted, color-mix(in srgb, currentColor 75%, transparent));
882
+ margin: 0;
883
+ }
884
+
885
+
886
+
887
+ .ov-module-placeholder {
888
+ box-sizing: border-box;
889
+ border: 1px dashed var(--ov-ui-border, currentColor);
890
+ border-radius: var(--ov-ui-radius, 6px);
891
+ min-width: 0;
892
+ min-height: 160px;
893
+ color: inherit;
894
+ font: inherit;
895
+ text-align: center;
896
+ overflow-wrap: anywhere;
897
+ flex-direction: column;
898
+ justify-content: center;
899
+ align-items: center;
900
+ gap: 8px;
901
+ padding: 24px;
902
+ display: flex;
903
+ }
904
+
905
+ .ov-module-placeholder__title {
906
+ margin: 0;
907
+ }
908
+
909
+ .ov-module-placeholder__description {
910
+ color: var(--ov-ui-text-muted, color-mix(in srgb, currentColor 75%, transparent));
911
+ margin: 0;
912
+ }
913
+
914
+
915
+
916
+ .ov-module-placeholder {
917
+ box-sizing: border-box;
918
+ border: 1px dashed var(--ov-ui-border, currentColor);
919
+ border-radius: var(--ov-ui-radius, 6px);
920
+ min-width: 0;
921
+ min-height: 160px;
922
+ color: inherit;
923
+ font: inherit;
924
+ text-align: center;
925
+ overflow-wrap: anywhere;
926
+ flex-direction: column;
927
+ justify-content: center;
928
+ align-items: center;
929
+ gap: 8px;
930
+ padding: 24px;
931
+ display: flex;
932
+ }
933
+
934
+ .ov-module-placeholder__title {
935
+ margin: 0;
936
+ }
937
+
938
+ .ov-module-placeholder__description {
939
+ color: var(--ov-ui-text-muted, color-mix(in srgb, currentColor 75%, transparent));
940
+ margin: 0;
941
+ }
942
+
943
+
944
+
945
+ .ov-scope-switcher {
946
+ box-sizing: border-box;
947
+ border: 1px solid var(--ov-ui-border, #edeef2);
948
+ background: var(--ov-ui-scope-background, transparent);
949
+ max-width: 100%;
950
+ min-height: 32px;
951
+ color: var(--ov-ui-text, #0b0b0f);
952
+ font-family: var(--ov-ui-font-family, "PingFang SC",
953
+ -apple-system,
954
+ BlinkMacSystemFont,
955
+ "Segoe UI",
956
+ sans-serif);
957
+ letter-spacing: .036px;
958
+ border-radius: 16px;
959
+ flex-wrap: wrap;
960
+ align-items: center;
961
+ gap: 4px;
962
+ padding: 3px 4px;
963
+ font-size: 12px;
964
+ line-height: 20px;
965
+ display: inline-flex;
966
+ }
967
+
968
+ .ov-scope-switcher *, .ov-scope-switcher :before, .ov-scope-switcher :after {
969
+ box-sizing: border-box;
970
+ }
971
+
972
+ .ov-scope-switcher__level {
973
+ align-items: center;
974
+ gap: 4px;
975
+ min-width: 0;
976
+ max-width: 100%;
977
+ display: inline-flex;
978
+ position: relative;
979
+ }
980
+
981
+ .ov-scope-switcher__level + .ov-scope-switcher__level:before {
982
+ content: "/";
983
+ color: var(--ov-ui-text-muted, #c9cbd4);
984
+ margin-right: 4px;
985
+ font-size: 13px;
986
+ font-weight: 500;
987
+ line-height: 22px;
988
+ }
989
+
990
+ .ov-scope-switcher__trigger {
991
+ max-width: min(260px, 100%);
992
+ height: 24px;
993
+ color: inherit;
994
+ font: inherit;
995
+ vertical-align: middle;
996
+ background: none;
997
+ border: 0;
998
+ border-radius: 99px;
999
+ align-items: center;
1000
+ gap: 6px;
1001
+ padding: 2px 8px;
1002
+ display: inline-flex;
1003
+ }
1004
+
1005
+ button.ov-scope-switcher__trigger {
1006
+ cursor: pointer;
1007
+ }
1008
+
1009
+ .ov-scope-switcher__trigger:hover:not(:disabled), .ov-scope-switcher__trigger[aria-expanded="true"] {
1010
+ background: var(--ov-ui-hover, #edeffc);
1011
+ }
1012
+
1013
+ .ov-scope-switcher__label {
1014
+ white-space: nowrap;
1015
+ text-overflow: ellipsis;
1016
+ overflow: hidden;
1017
+ }
1018
+
1019
+ .ov-scope-switcher__icon {
1020
+ flex: none;
1021
+ justify-content: center;
1022
+ align-items: center;
1023
+ width: 14px;
1024
+ height: 14px;
1025
+ display: inline-flex;
1026
+ }
1027
+
1028
+ .ov-scope-switcher__icon img {
1029
+ display: block;
1030
+ }
1031
+
1032
+ .ov-scope-switcher__tag {
1033
+ color: var(--ov-ui-text-muted, #9295a5);
1034
+ font-size: 12px;
1035
+ }
1036
+
1037
+ .ov-scope-switcher__arrow {
1038
+ flex: 0 0 14px;
1039
+ width: 14px;
1040
+ height: 14px;
1041
+ margin-left: -2px;
1042
+ transition: transform .16s;
1043
+ display: inline-flex;
1044
+ }
1045
+
1046
+ .ov-scope-switcher__trigger[aria-expanded="true"] .ov-scope-switcher__arrow {
1047
+ transform: rotate(180deg);
1048
+ }
1049
+
1050
+ @media (prefers-reduced-motion: reduce) {
1051
+ .ov-scope-switcher__arrow {
1052
+ transition: none;
1053
+ }
1054
+ }
1055
+
1056
+ .ov-scope-switcher__panel {
1057
+ z-index: 30;
1058
+ border: 1px solid var(--ov-ui-border, #edeef2);
1059
+ background: var(--ov-ui-surface, #fff);
1060
+ width: min(272px, 100vw - 32px);
1061
+ max-height: min(540px, 70vh);
1062
+ color: var(--ov-ui-text, #0b0b0f);
1063
+ letter-spacing: .039px;
1064
+ border-radius: 12px;
1065
+ padding: 7px;
1066
+ font-size: 13px;
1067
+ line-height: 22px;
1068
+ position: absolute;
1069
+ top: calc(100% + 8px);
1070
+ left: 0;
1071
+ overflow: auto;
1072
+ box-shadow: 0 15px 35px -2px #0000000d, 0 5px 15px #0000000d;
1073
+ }
1074
+
1075
+ .ov-scope-switcher__level:last-child:not(:first-child) .ov-scope-switcher__panel {
1076
+ left: auto;
1077
+ right: 0;
1078
+ }
1079
+
1080
+ .ov-scope-switcher__search {
1081
+ border: 1px solid var(--ov-ui-border, #dfe1e8);
1082
+ width: 100%;
1083
+ color: inherit;
1084
+ font: inherit;
1085
+ background: none;
1086
+ border-radius: 8px;
1087
+ margin-bottom: 8px;
1088
+ padding: 8px 10px;
1089
+ }
1090
+
1091
+ .ov-scope-switcher__list {
1092
+ overscroll-behavior: contain;
1093
+ flex-direction: column;
1094
+ gap: 4px;
1095
+ max-height: 280px;
1096
+ display: flex;
1097
+ overflow: auto;
1098
+ }
1099
+
1100
+ .ov-scope-switcher__option {
1101
+ width: 100%;
1102
+ min-height: 44px;
1103
+ color: inherit;
1104
+ font: inherit;
1105
+ text-align: start;
1106
+ cursor: pointer;
1107
+ background: none;
1108
+ border: 0;
1109
+ border-radius: 6px;
1110
+ flex-shrink: 0;
1111
+ align-items: center;
1112
+ gap: 8px;
1113
+ padding: 2px 8px;
1114
+ display: flex;
1115
+ }
1116
+
1117
+ .ov-scope-switcher__option:hover:not([aria-disabled="true"]), .ov-scope-switcher__option[aria-selected="true"] {
1118
+ background: var(--ov-ui-hover, #f5f7ff);
1119
+ }
1120
+
1121
+ .ov-scope-switcher__option-text {
1122
+ flex-direction: column;
1123
+ flex: 1;
1124
+ min-width: 0;
1125
+ display: flex;
1126
+ overflow: hidden;
1127
+ }
1128
+
1129
+ .ov-scope-switcher__option-text small {
1130
+ color: var(--ov-ui-text-muted, #737889);
1131
+ }
1132
+
1133
+ .ov-scope-switcher__option mark {
1134
+ background: var(--ov-ui-highlight, #fff0b3);
1135
+ color: inherit;
1136
+ }
1137
+
1138
+ .ov-scope-switcher__check {
1139
+ flex: 0 0 16px;
1140
+ width: 16px;
1141
+ height: 16px;
1142
+ display: inline-flex;
1143
+ }
1144
+
1145
+ .ov-scope-switcher__state {
1146
+ color: var(--ov-ui-text-muted, #737889);
1147
+ padding: 20px 10px;
1148
+ }
1149
+
1150
+ .ov-scope-switcher button:disabled, .ov-scope-switcher__option[aria-disabled="true"] {
1151
+ opacity: .5;
1152
+ cursor: not-allowed;
1153
+ }
1154
+
1155
+ .ov-scope-switcher :focus-visible {
1156
+ outline: 2px solid var(--ov-ui-primary, #6256d9);
1157
+ outline-offset: 2px;
1158
+ }
1159
+
1160
+ @media (width <= 600px) {
1161
+ .ov-scope-switcher__trigger {
1162
+ max-width: 210px;
1163
+ }
1164
+
1165
+ .ov-scope-switcher__panel, .ov-scope-switcher__level:last-child:not(:first-child) .ov-scope-switcher__panel {
1166
+ width: auto;
1167
+ max-height: 60dvh;
1168
+ position: fixed;
1169
+ inset: auto 16px 16px;
1170
+ }
1171
+ }
1172
+
1173
+ .ov-scope-switcher__option[aria-selected="true"] {
1174
+ font-weight: 500;
1175
+ }
1176
+
1177
+ .ov-scope-switcher__option-text > span {
1178
+ text-overflow: ellipsis;
1179
+ white-space: nowrap;
1180
+ overflow: hidden;
1181
+ }
1182
+
1183
+ .ov-scope-switcher__option .ov-scope-switcher__icon {
1184
+ border: .5px solid var(--ov-ui-border, #edeef2);
1185
+ background: var(--ov-ui-surface, #fff);
1186
+ border-radius: 50%;
1187
+ width: 24px;
1188
+ height: 24px;
1189
+ }
1190
+
1191
+
1192
+
1193
+
1194
+
1195
+
1196
+
1197
+
1198
+