@openviking/react 0.1.1 → 0.1.3

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 (229) hide show
  1. package/README.md +18 -15
  2. package/dist/1~0.js +506 -0
  3. package/dist/2~0.js +122 -0
  4. package/dist/30~0.js +1332 -0
  5. package/dist/3~0.js +2113 -4
  6. package/dist/ark-message-list-view~0.js +310 -0
  7. package/dist/c7~0.js +24 -0
  8. package/dist/client/index.d.ts +2 -1
  9. package/dist/client/paths.d.ts +64 -0
  10. package/dist/client/response.d.ts +31 -0
  11. package/dist/client/sse.d.ts +39 -0
  12. package/dist/client/stream.d.ts +26 -0
  13. package/dist/client/types.d.ts +104 -0
  14. package/dist/client.js +1 -239
  15. package/dist/components/agent-connect/agent-connect-copy.d.ts +34 -0
  16. package/dist/components/agent-connect/agent-connect-design.d.ts +1781 -0
  17. package/dist/components/agent-connect/agent-connect-detail.d.ts +13 -0
  18. package/dist/components/agent-connect/agent-connect-installer.d.ts +3 -0
  19. package/dist/components/agent-connect/agent-connect-instructions-view.d.ts +14 -0
  20. package/dist/components/agent-connect/agent-connect-instructions.d.ts +145 -0
  21. package/dist/components/agent-connect/agent-connect-markdown.d.ts +3 -0
  22. package/dist/components/agent-connect/agent-connect.d.ts +3 -3
  23. package/dist/components/agent-connect/content-en.d.ts +137 -0
  24. package/dist/components/agent-connect/content-zh.d.ts +137 -0
  25. package/dist/components/agent-connect/style.css +495 -6
  26. package/dist/components/agent-connect/types.d.ts +20 -166
  27. package/dist/components/file-browser-entries/file-browser-entries-icons.d.ts +18 -0
  28. package/dist/components/file-browser-entries/file-browser-entries.d.ts +14 -0
  29. package/dist/components/file-browser-entries/index.d.ts +1 -0
  30. package/dist/components/file-browser-entries/style.css +155 -0
  31. package/dist/components/file-browser-entries/types.d.ts +45 -0
  32. package/dist/components/file-browser-entries.js +1 -0
  33. package/dist/components/file-preview/file-preview-adapters.d.ts +33 -0
  34. package/dist/components/file-preview/file-preview-body.d.ts +24 -12
  35. package/dist/components/file-preview/file-preview-breadcrumb-menu.d.ts +16 -0
  36. package/dist/components/file-preview/file-preview-breadcrumb.d.ts +21 -0
  37. package/dist/components/file-preview/file-preview-copy-path.d.ts +12 -0
  38. package/dist/components/file-preview/file-preview-directory.d.ts +32 -0
  39. package/dist/components/file-preview/file-preview-editor.d.ts +22 -0
  40. package/dist/components/file-preview/file-preview-handle-adapters.d.ts +26 -0
  41. package/dist/components/file-preview/file-preview-header.d.ts +41 -14
  42. package/dist/components/file-preview/file-preview-labels.d.ts +15 -4
  43. package/dist/components/file-preview/file-preview-lazy-viewer.d.ts +3 -0
  44. package/dist/components/file-preview/file-preview-panels.d.ts +41 -0
  45. package/dist/components/file-preview/file-preview-path.d.ts +30 -0
  46. package/dist/components/file-preview/file-preview-source.d.ts +24 -0
  47. package/dist/components/file-preview/file-preview-state.d.ts +35 -0
  48. package/dist/components/file-preview/file-preview-tab-row.d.ts +16 -0
  49. package/dist/components/file-preview/file-preview-viewer.d.ts +31 -0
  50. package/dist/components/file-preview/file-preview.d.ts +9 -11
  51. package/dist/components/file-preview/level-selection.d.ts +25 -0
  52. package/dist/components/file-preview/style.css +4055 -126
  53. package/dist/components/file-preview/types.d.ts +350 -170
  54. package/dist/components/file-preview/use-directory-level.d.ts +30 -0
  55. package/dist/components/file-preview/use-file-preview-actions-context.d.ts +27 -0
  56. package/dist/components/file-preview/use-file-preview-actions.d.ts +19 -0
  57. package/dist/components/file-preview/use-file-preview-editing.d.ts +21 -2
  58. package/dist/components/file-preview/use-file-preview-ids.d.ts +24 -0
  59. package/dist/components/file-preview.js +1 -442
  60. package/dist/components/file-tree/file-tree-body.d.ts +8 -4
  61. package/dist/components/file-tree/file-tree-entry-row.d.ts +9 -3
  62. package/dist/components/file-tree/file-tree-icons.d.ts +12 -5
  63. package/dist/components/file-tree/file-tree-info-labels.d.ts +21 -0
  64. package/dist/components/file-tree/file-tree-info-tooltip.d.ts +43 -0
  65. package/dist/components/file-tree/file-tree-info.d.ts +29 -0
  66. package/dist/components/file-tree/file-tree-keyboard.d.ts +8 -4
  67. package/dist/components/file-tree/file-tree-row-context.d.ts +29 -12
  68. package/dist/components/file-tree/file-tree-row-shared.d.ts +18 -0
  69. package/dist/components/file-tree/file-tree-spinner.d.ts +10 -0
  70. package/dist/components/file-tree/file-tree-state-row.d.ts +7 -0
  71. package/dist/components/file-tree/file-tree-tooltip-surface.d.ts +22 -0
  72. package/dist/components/file-tree/file-tree.d.ts +12 -1
  73. package/dist/components/file-tree/style.css +280 -75
  74. package/dist/components/file-tree/types.d.ts +203 -0
  75. package/dist/components/file-tree/use-file-tree-actions.d.ts +7 -0
  76. package/dist/components/file-tree.js +1 -1
  77. package/dist/components/scope-switcher/scope-panel.d.ts +9 -3
  78. package/dist/components/scope-switcher/scope-selector.d.ts +1 -1
  79. package/dist/components/scope-switcher/scope-switcher.d.ts +1 -1
  80. package/dist/components/scope-switcher/style.css +282 -76
  81. package/dist/components/scope-switcher/types.d.ts +230 -108
  82. package/dist/components/style.css +14128 -390
  83. package/dist/components/tui/command-catalog.d.ts +58 -0
  84. package/dist/components/tui/command-completion.d.ts +19 -0
  85. package/dist/components/tui/command-definitions.d.ts +10 -0
  86. package/dist/components/tui/command-input.d.ts +16 -0
  87. package/dist/components/tui/style.css +1543 -5
  88. package/dist/components/tui/tui-assist.d.ts +15 -0
  89. package/dist/components/tui/tui-code-block.d.ts +8 -0
  90. package/dist/components/tui/tui-command-help.d.ts +9 -0
  91. package/dist/components/tui/tui-command-text.d.ts +6 -0
  92. package/dist/components/tui/tui-composer.d.ts +24 -0
  93. package/dist/components/tui/tui-copy-button.d.ts +9 -0
  94. package/dist/components/tui/tui-input-mirror.d.ts +14 -0
  95. package/dist/components/tui/tui-labels-zh.d.ts +2 -0
  96. package/dist/components/tui/tui-labels.d.ts +5 -0
  97. package/dist/components/tui/tui-markdown-renderers.d.ts +10 -0
  98. package/dist/components/tui/tui-markdown.d.ts +6 -0
  99. package/dist/components/tui/tui-param-hint.d.ts +7 -0
  100. package/dist/components/tui/tui-record-time.d.ts +11 -0
  101. package/dist/components/tui/tui-record.d.ts +13 -0
  102. package/dist/components/tui/tui-resource-preview.d.ts +10 -0
  103. package/dist/components/tui/tui-resource-tree.d.ts +10 -0
  104. package/dist/components/tui/tui-result-header.d.ts +7 -0
  105. package/dist/components/tui/tui-result-text.d.ts +5 -0
  106. package/dist/components/tui/tui-search-list.d.ts +8 -0
  107. package/dist/components/tui/tui-skeleton.d.ts +6 -0
  108. package/dist/components/tui/tui-status-card.d.ts +7 -0
  109. package/dist/components/tui/tui-text.d.ts +10 -0
  110. package/dist/components/tui/tui-uri-text.d.ts +19 -0
  111. package/dist/components/tui/tui-write-result.d.ts +7 -0
  112. package/dist/components/tui/tui.d.ts +10 -2
  113. package/dist/components/tui/types.d.ts +57 -15
  114. package/dist/components/tui/use-tui-assist-position.d.ts +3 -0
  115. package/dist/components/tui/use-tui-completion.d.ts +14 -0
  116. package/dist/components/tui/use-tui-composer-keyboard.d.ts +25 -0
  117. package/dist/components/viking-bot/ark-adapter.d.ts +45 -0
  118. package/dist/components/viking-bot/ark-message-body.d.ts +16 -0
  119. package/dist/components/viking-bot/ark-message-list-view.d.ts +7 -0
  120. package/dist/components/viking-bot/ark-message-row.d.ts +19 -0
  121. package/dist/components/viking-bot/index.d.ts +10 -0
  122. package/dist/components/viking-bot/interaction/ask-human-fields.d.ts +10 -0
  123. package/dist/components/viking-bot/interaction/index.d.ts +4 -0
  124. package/dist/components/viking-bot/interaction/labels.d.ts +7 -0
  125. package/dist/components/viking-bot/interaction/lazy-interaction.d.ts +3 -0
  126. package/dist/components/viking-bot/interaction/schedule-input.d.ts +13 -0
  127. package/dist/components/viking-bot/interaction/style.css +189 -0
  128. package/dist/components/viking-bot/interaction/style.js +0 -0
  129. package/dist/components/viking-bot/interaction/types.d.ts +188 -0
  130. package/dist/components/viking-bot/interaction/viking-bot-interaction.d.ts +9 -0
  131. package/dist/components/viking-bot/interaction.js +2 -0
  132. package/dist/components/viking-bot/labels.d.ts +2 -0
  133. package/dist/components/viking-bot/lazy-composer.d.ts +3 -0
  134. package/dist/components/viking-bot/message-groups.d.ts +12 -0
  135. package/dist/components/viking-bot/model.d.ts +252 -0
  136. package/dist/components/viking-bot/render-part.d.ts +12 -0
  137. package/dist/components/viking-bot/style.css +7135 -0
  138. package/dist/components/viking-bot/style.js +0 -0
  139. package/dist/components/viking-bot/types.d.ts +140 -0
  140. package/dist/components/viking-bot/viking-bot-composer.d.ts +6 -0
  141. package/dist/components/viking-bot/viking-bot-message-list.d.ts +3 -0
  142. package/dist/components/viking-bot/viking-bot.d.ts +16 -0
  143. package/dist/components/viking-bot.js +4 -0
  144. package/dist/c~0.js +201 -0
  145. package/dist/file-preview-viewer~0.js +191 -0
  146. package/dist/f~0.js +149 -77
  147. package/dist/h~0.js +58 -0
  148. package/dist/icons/file-type-icon.d.ts +31 -0
  149. package/dist/icons/index.d.ts +33 -23
  150. package/dist/icons/nextjs-icon.d.ts +19 -0
  151. package/dist/icons.js +1 -25
  152. package/dist/index.d.ts +4 -2
  153. package/dist/index.js +2 -1
  154. package/dist/k~0.js +1440 -0
  155. package/dist/lk~0.js +25 -12
  156. package/dist/l~0.js +1464 -25
  157. package/dist/modules/console/style.css +83 -1
  158. package/dist/modules/file-browser/file-browser-detail-icons.d.ts +10 -0
  159. package/dist/modules/file-browser/file-browser-detail.d.ts +33 -0
  160. package/dist/modules/file-browser/file-browser-empty.d.ts +3 -0
  161. package/dist/modules/file-browser/file-browser-failure.d.ts +22 -0
  162. package/dist/modules/file-browser/file-browser-icons.d.ts +18 -0
  163. package/dist/modules/file-browser/file-browser-labels.d.ts +28 -0
  164. package/dist/modules/file-browser/file-browser-layout.d.ts +27 -0
  165. package/dist/modules/file-browser/file-browser-toolbar.d.ts +18 -0
  166. package/dist/modules/file-browser/file-browser-tree-pane.d.ts +30 -0
  167. package/dist/modules/file-browser/file-browser.d.ts +14 -5
  168. package/dist/modules/file-browser/find-result.d.ts +24 -0
  169. package/dist/modules/file-browser/fs-directories.d.ts +33 -0
  170. package/dist/modules/file-browser/fs-file-kind.d.ts +19 -0
  171. package/dist/modules/file-browser/fs-icon.d.ts +17 -0
  172. package/dist/modules/file-browser/fs-model.d.ts +106 -0
  173. package/dist/modules/file-browser/fs-page.d.ts +16 -0
  174. package/dist/modules/file-browser/fs-path.d.ts +16 -0
  175. package/dist/modules/file-browser/fs-read-directory.d.ts +20 -0
  176. package/dist/modules/file-browser/fs-scope.d.ts +22 -0
  177. package/dist/modules/file-browser/fs-stat.d.ts +25 -0
  178. package/dist/modules/file-browser/index.d.ts +3 -1
  179. package/dist/modules/file-browser/style.css +5009 -34
  180. package/dist/modules/file-browser/tree-info-copy.d.ts +15 -0
  181. package/dist/modules/file-browser/tree-info-copy.zh-CN.d.ts +15 -0
  182. package/dist/modules/file-browser/types.d.ts +189 -44
  183. package/dist/modules/file-browser/use-container-width.d.ts +17 -0
  184. package/dist/modules/file-browser/use-file-browser.d.ts +49 -0
  185. package/dist/modules/file-browser/use-fs-preview.d.ts +51 -0
  186. package/dist/modules/file-browser/use-fs-search.d.ts +35 -0
  187. package/dist/modules/file-browser/use-fs-tree.d.ts +43 -0
  188. package/dist/modules/file-browser/use-request-scope.d.ts +39 -0
  189. package/dist/modules/file-browser.js +1 -1
  190. package/dist/modules/scope-cascade/style.css +282 -76
  191. package/dist/modules/style.css +5445 -130
  192. package/dist/n~0.js +568 -236
  193. package/dist/o~0.js +103 -0
  194. package/dist/shared/components/divider/divider.d.ts +18 -0
  195. package/dist/shared/components/divider/index.d.ts +1 -0
  196. package/dist/shared/components/divider/types.d.ts +35 -0
  197. package/dist/shared/components/overlay/types.d.ts +7 -0
  198. package/dist/shared/components/overlay/use-overlay-position.d.ts +38 -0
  199. package/dist/shared/components/popover/index.d.ts +1 -0
  200. package/dist/shared/components/popover/popover.d.ts +23 -0
  201. package/dist/shared/components/popover/types.d.ts +50 -0
  202. package/dist/shared/components/resizable/clamp.d.ts +13 -0
  203. package/dist/shared/components/resizable/index.d.ts +2 -0
  204. package/dist/shared/components/resizable/resizable-handle.d.ts +25 -0
  205. package/dist/shared/components/resizable/types.d.ts +48 -0
  206. package/dist/shared/components/tooltip/index.d.ts +1 -0
  207. package/dist/shared/components/tooltip/tooltip.d.ts +25 -0
  208. package/dist/shared/components/tooltip/types.d.ts +42 -0
  209. package/dist/style.css +19664 -530
  210. package/dist/u~0.js +1597 -4
  211. package/dist/viking-bot-composer~0.js +164 -0
  212. package/dist/viking-bot-interaction~0.js +284 -0
  213. package/dist/w~0.js +19 -0
  214. package/package.json +23 -10
  215. package/dist/components/file-preview/file-preview-icons.d.ts +0 -2
  216. package/dist/components/file-preview/file-preview-operations.d.ts +0 -1
  217. package/dist/components/file-tree/file-tree-dom.d.ts +0 -4
  218. package/dist/components/file-tree/file-tree-labels.d.ts +0 -5
  219. package/dist/components/file-tree/file-tree-rows.d.ts +0 -12
  220. package/dist/components/file-tree/file-tree-tooltip.d.ts +0 -11
  221. package/dist/i~0.js +0 -21
  222. package/dist/modules/file-browser/file-browser-toolbar-button.d.ts +0 -10
  223. package/dist/modules/task-center/columns.d.ts +0 -129
  224. package/dist/modules/task-center/index.d.ts +0 -1
  225. package/dist/modules/task-center/style.css +0 -29
  226. package/dist/modules/task-center/task-center.d.ts +0 -4
  227. package/dist/modules/task-center/types.d.ts +0 -168
  228. package/dist/modules/task-center.js +0 -1
  229. /package/dist/{modules/task-center → components/file-browser-entries}/style.js +0 -0
@@ -1,16 +1,1554 @@
1
+ .ov-agent-connect, .ov-divider, .ov-file-browser, .ov-file-browser-entries, .ov-file-preview, .ov-file-tree, .ov-module-placeholder, .ov-popover, .ov-scope-switcher, .ov-tooltip, .ov-tui, .ov-viking-bot, .ov-viking-bot__interaction {
2
+ --ov-ui-primary-default: #5252ff;
3
+ --ov-ui-primary-hover-default: #7075ff;
4
+ --ov-ui-primary-active-default: #3833d2;
5
+ --ov-ui-primary-light-default: #f5f7ff;
6
+ --ov-ui-connect-glow-warm-default: #ff952b0a;
7
+ --ov-ui-connect-glow-pink-default: #fb4fbc0f;
8
+ --ov-ui-connect-glow-pink-soft-default: #fb4fbc0a;
9
+ --ov-ui-on-primary-default: #fff;
10
+ --ov-ui-text-1-default: #0b0b0f;
11
+ --ov-ui-text-2-default: #3f3f51;
12
+ --ov-ui-text-3-default: #6e718c;
13
+ --ov-ui-text-description-default: #0006;
14
+ --ov-ui-text-disabled-default: #a5a7bb;
15
+ --ov-ui-border-1-default: #f0f2fa;
16
+ --ov-ui-border-2-default: #e1e4f2;
17
+ --ov-ui-border-3-default: #d7daea;
18
+ --ov-ui-bg-1-default: #fff;
19
+ --ov-ui-bg-3-default: #f7f8fd;
20
+ --ov-ui-bg-4-default: #f6f7fa;
21
+ --ov-ui-bg-5-default: #f1f2f9;
22
+ --ov-ui-status-success-default: #1f9d55;
23
+ --ov-ui-shadow-default: #0f172a;
24
+ --ov-ui-focus-default: #5252ff;
25
+ --ov-ui-fill-hover-default: #f1f2f9;
26
+ --ov-ui-status-error-default: #c43838;
27
+ --ov-ui-warning-default: #b26a00;
28
+ --ov-ui-warning-light-default: #fff0b3;
29
+ --ov-ui-tooltip-bg-default: #1f2329;
30
+ --ov-ui-tooltip-text-default: #fff;
31
+ }
32
+
33
+ .dark .ov-agent-connect, .dark .ov-divider, .dark .ov-file-browser, .dark .ov-file-browser-entries, .dark .ov-file-preview, .dark .ov-file-tree, .dark .ov-module-placeholder, .dark .ov-popover, .dark .ov-scope-switcher, .dark .ov-tooltip, .dark .ov-tui, .dark .ov-viking-bot, .dark .ov-viking-bot__interaction {
34
+ --ov-ui-primary-default: #5f5fff;
35
+ --ov-ui-primary-hover-default: #7075ff;
36
+ --ov-ui-primary-active-default: #4242ba;
37
+ --ov-ui-primary-light-default: #1a1632;
38
+ --ov-ui-connect-glow-warm-default: #ff952b05;
39
+ --ov-ui-connect-glow-pink-default: #fb4fbc08;
40
+ --ov-ui-connect-glow-pink-soft-default: #fb4fbc05;
41
+ --ov-ui-text-1-default: #c7ccd6;
42
+ --ov-ui-text-2-default: #9da3af;
43
+ --ov-ui-text-3-default: #737a87;
44
+ --ov-ui-text-description-default: #fff6;
45
+ --ov-ui-text-disabled-default: #42464e;
46
+ --ov-ui-border-1-default: #23252a;
47
+ --ov-ui-border-2-default: #2e3138;
48
+ --ov-ui-border-3-default: #3a3d45;
49
+ --ov-ui-bg-1-default: #131416;
50
+ --ov-ui-bg-3-default: #1b1d21;
51
+ --ov-ui-bg-4-default: #202227;
52
+ --ov-ui-bg-5-default: #23252a;
53
+ --ov-ui-focus-default: #5f5fff;
54
+ --ov-ui-fill-hover-default: #23252a;
55
+ --ov-ui-status-error-default: #ff9595;
56
+ --ov-ui-warning-default: #e0a04a;
57
+ --ov-ui-warning-light-default: #3a2f14;
58
+ --ov-ui-tooltip-bg-default: #2a2d33;
59
+ --ov-ui-tooltip-text-default: #f0f1f3;
60
+ }
61
+
62
+ .ov-agent-connect {
63
+ --ov-ui-connect-card-default: #fbfbfc;
64
+ --ov-ui-connect-tabs-default: #f7f7f9;
65
+ --ov-ui-connect-selected-default: #f3f4f7;
66
+ --ov-ui-connect-border-default: #edeef2;
67
+ --ov-ui-connect-outline-default: #e1e3ea;
68
+ --ov-ui-connect-muted-default: #787c91;
69
+ --ov-ui-connect-notice-default: #2e2984;
70
+ }
71
+
72
+ .dark .ov-agent-connect {
73
+ --ov-ui-connect-card-default: var(--ov-ui-bg-3-default);
74
+ --ov-ui-connect-tabs-default: var(--ov-ui-bg-3-default);
75
+ --ov-ui-connect-selected-default: var(--ov-ui-bg-4-default);
76
+ --ov-ui-connect-border-default: var(--ov-ui-border-1-default);
77
+ --ov-ui-connect-outline-default: var(--ov-ui-border-2-default);
78
+ --ov-ui-connect-muted-default: var(--ov-ui-text-3-default);
79
+ --ov-ui-connect-notice-default: var(--ov-ui-text-2-default);
80
+ }
81
+
1
82
  .ov-tui {
83
+ --ov-ui-tui-gap: 16px;
84
+ --ov-ui-tui-text: var(--ov-ui-color-text-1, var(--ov-ui-text, var(--ov-ui-text-1-default)));
85
+ --ov-ui-tui-muted: var(--ov-ui-color-text-3, var(--ov-ui-text-muted, var(--ov-ui-text-3-default)));
86
+ --ov-ui-tui-surface: var(--ov-ui-color-bg-1, var(--ov-ui-surface, var(--ov-ui-bg-1-default)));
87
+ --ov-ui-tui-hover: var(--ov-ui-color-fill-hover, var(--ov-ui-hover, var(--ov-ui-fill-hover-default)));
88
+ --ov-ui-tui-focus: var(--ov-ui-color-focus, var(--ov-ui-focus-ring, var(--ov-ui-focus-default)));
89
+ --ov-ui-tui-bubble-bg: var(--ov-ui-color-bg-5, var(--ov-ui-bg-5-default));
90
+ --ov-ui-tui-card-bg: var(--ov-ui-color-bg-4, var(--ov-ui-bg-4-default));
91
+ --ov-ui-tui-result-bg: var(--ov-ui-tui-surface);
92
+ --ov-ui-tui-card-border: var(--ov-ui-color-border-2, var(--ov-ui-border-2-default));
93
+ --ov-ui-tui-skeleton: var(--ov-ui-color-bg-5, var(--ov-ui-bg-5-default));
94
+ --ov-ui-tui-skeleton-bright: var(--ov-ui-color-border-3, var(--ov-ui-border-3-default));
95
+ --ov-ui-tui-link: var(--ov-ui-color-primary, var(--ov-ui-primary, var(--ov-ui-primary-default)));
96
+ --ov-ui-tui-success: var(--ov-ui-color-status-success, var(--ov-ui-success, var(--ov-ui-status-success-default)));
97
+ --ov-ui-tui-error: var(--ov-ui-color-status-error, var(--ov-ui-status-error, var(--ov-ui-status-error-default)));
98
+ --ov-ui-tui-warning: var(--ov-ui-color-warning, var(--ov-ui-warning-default));
99
+ --ov-ui-tui-shadow: var(--ov-ui-color-shadow, var(--ov-ui-shadow-default));
2
100
  box-sizing: border-box;
3
- border-radius: var(--ov-ui-radius, 6px);
4
- background: var(--ov-ui-placeholder, #f3f4f7);
5
- width: 360px;
6
- height: 560px;
7
- color: var(--ov-ui-text-muted, #8f959e);
101
+ min-width: 0;
102
+ height: 100%;
103
+ min-height: 0;
104
+ color: var(--ov-ui-tui-text);
105
+ font-family: var(--ov-ui-font-family, "PingFang SC",
106
+ -apple-system,
107
+ BlinkMacSystemFont,
108
+ "Segoe UI",
109
+ sans-serif);
110
+ flex-direction: column;
111
+ font-size: 13px;
112
+ line-height: 20px;
113
+ display: flex;
114
+ container-type: inline-size;
115
+ }
116
+
117
+ .ov-tui *, .ov-tui :before, .ov-tui :after {
118
+ box-sizing: border-box;
119
+ }
120
+
121
+ .ov-tui__body {
122
+ flex-direction: column;
123
+ flex: auto;
124
+ gap: 20px;
125
+ min-height: 0;
126
+ padding: 16px 0;
127
+ display: flex;
128
+ position: relative;
129
+ overflow-y: auto;
130
+ }
131
+
132
+ .ov-tui__empty {
133
+ min-height: 120px;
134
+ color: var(--ov-ui-tui-muted);
135
+ text-align: center;
136
+ flex: auto;
8
137
  justify-content: center;
9
138
  align-items: center;
139
+ padding: 24px 12px;
140
+ display: flex;
141
+ }
142
+
143
+ .ov-tui__muted {
144
+ color: var(--ov-ui-tui-muted);
145
+ }
146
+
147
+ .ov-tui__record {
148
+ flex-direction: column;
149
+ gap: 8px;
150
+ min-width: 0;
151
+ display: flex;
152
+ }
153
+
154
+ .ov-tui__bubble {
155
+ background: var(--ov-ui-tui-bubble-bg);
156
+ border-radius: 12px;
157
+ flex-direction: column;
158
+ align-self: flex-end;
159
+ align-items: stretch;
160
+ gap: 4px;
161
+ min-width: 0;
162
+ max-width: 90%;
163
+ padding: 10px 12px;
164
+ display: inline-flex;
165
+ }
166
+
167
+ .ov-tui__bubble-text {
168
+ white-space: pre-wrap;
169
+ overflow-wrap: anywhere;
170
+ min-width: 0;
171
+ color: inherit;
172
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
173
+ flex: none;
174
+ font-size: 13px;
175
+ line-height: 22px;
176
+ }
177
+
178
+ .ov-tui__bubble-time {
179
+ color: var(--ov-ui-tui-muted);
180
+ flex: none;
181
+ align-self: flex-end;
182
+ font-size: 12px;
183
+ }
184
+
185
+ .ov-tui__result {
186
+ border: 1px solid var(--ov-ui-tui-card-border);
187
+ background: var(--ov-ui-tui-result-bg);
188
+ border-radius: 14px;
189
+ flex-direction: column;
190
+ gap: 12px;
191
+ inline-size: 100%;
192
+ min-inline-size: 0;
193
+ max-inline-size: 100%;
194
+ padding: 12px;
195
+ display: flex;
196
+ }
197
+
198
+ .ov-tui__record[data-status="error"] .ov-tui__result {
199
+ border-color: color-mix(in srgb,
200
+ var(--ov-ui-tui-error) 32%,
201
+ var(--ov-ui-tui-result-bg));
202
+ background: color-mix(in srgb,
203
+ var(--ov-ui-tui-error) 2%,
204
+ var(--ov-ui-tui-result-bg));
205
+ }
206
+
207
+ .ov-tui__result-head {
208
+ align-items: center;
209
+ gap: 10px;
210
+ display: flex;
211
+ }
212
+
213
+ .ov-tui__result-command, .ov-tui__card-title {
214
+ overflow-wrap: anywhere;
215
+ min-inline-size: 0;
216
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
217
+ font-size: 13px;
218
+ font-weight: 600;
219
+ line-height: 22px;
220
+ }
221
+
222
+ .ov-tui__result-body {
223
+ overflow-wrap: anywhere;
224
+ min-inline-size: 0;
225
+ max-inline-size: 100%;
226
+ font-size: 14px;
227
+ line-height: 22px;
228
+ }
229
+
230
+ .ov-tui__result-state {
231
+ block-size: 14px;
232
+ inline-size: 14px;
233
+ color: var(--ov-ui-tui-muted);
234
+ flex: none;
235
+ display: inline-block;
236
+ position: relative;
237
+ }
238
+
239
+ .ov-tui__result-state[data-status="success"] {
240
+ background: var(--ov-ui-tui-success);
241
+ border-radius: 50%;
242
+ }
243
+
244
+ .ov-tui__result-state[data-status="success"]:before {
245
+ content: "";
246
+ border: 1.8px solid #fff;
247
+ border-width: 0 1.8px 1.8px 0;
248
+ block-size: 7px;
249
+ inline-size: 4px;
250
+ position: absolute;
251
+ inset-block-start: 3px;
252
+ inset-inline-start: 5px;
253
+ transform: rotate(45deg);
254
+ }
255
+
256
+ .ov-tui__result-state[data-status="error"] {
257
+ color: var(--ov-ui-tui-error);
258
+ }
259
+
260
+ .ov-tui__result-state[data-status="error"]:before, .ov-tui__result-state[data-status="error"]:after {
261
+ content: "";
262
+ background: currentColor;
263
+ border-radius: 1px;
264
+ block-size: 2px;
265
+ inline-size: 12px;
266
+ position: absolute;
267
+ inset-block-start: 6px;
268
+ inset-inline-start: 1px;
269
+ transform: rotate(45deg);
270
+ }
271
+
272
+ .ov-tui__result-state[data-status="error"]:after {
273
+ transform: rotate(-45deg);
274
+ }
275
+
276
+ .ov-tui__result-state[data-status="pending"] {
277
+ border: 1.8px solid color-mix(in srgb, currentColor 20%, transparent);
278
+ border-block-start-color: currentColor;
279
+ border-radius: 50%;
280
+ animation: .9s linear infinite ov-tui-spin;
281
+ }
282
+
283
+ @keyframes ov-tui-spin {
284
+ to {
285
+ transform: rotate(360deg);
286
+ }
287
+ }
288
+
289
+ .ov-tui__copy {
290
+ border: 1px solid var(--ov-ui-tui-card-border);
291
+ color: var(--ov-ui-tui-muted);
292
+ font: inherit;
293
+ cursor: pointer;
294
+ background: none;
295
+ border-radius: 6px;
296
+ flex: none;
297
+ padding: 2px 8px;
298
+ font-size: 12px;
299
+ }
300
+
301
+ .ov-tui__copy:hover {
302
+ color: inherit;
303
+ background: var(--ov-ui-tui-hover);
304
+ }
305
+
306
+ .ov-tui__copy:focus-visible, .ov-tui__link:focus-visible {
307
+ outline: 2px solid var(--ov-ui-tui-focus);
308
+ outline-offset: 1px;
309
+ }
310
+
311
+ .ov-tui__link {
312
+ color: var(--ov-ui-tui-link);
313
+ font: inherit;
314
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
315
+ text-align: left;
316
+ cursor: pointer;
317
+ overflow-wrap: anywhere;
318
+ background: none;
319
+ border: 0;
320
+ padding: 0;
321
+ text-decoration: none;
322
+ display: inline;
323
+ }
324
+
325
+ .ov-tui__link:hover {
326
+ text-underline-offset: 3px;
327
+ text-decoration: underline;
328
+ }
329
+
330
+ .ov-tui__text {
331
+ min-width: 0;
332
+ position: relative;
333
+ }
334
+
335
+ .ov-tui__plain {
336
+ overflow-wrap: anywhere;
337
+ white-space: pre-wrap;
338
+ word-break: break-word;
339
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
340
+ margin: 0;
341
+ font-size: 13px;
342
+ line-height: 22px;
343
+ }
344
+
345
+ .ov-tui__copy--inline {
346
+ opacity: 0;
347
+ transition: opacity .12s;
348
+ position: absolute;
349
+ top: -2px;
350
+ right: 0;
351
+ }
352
+
353
+ .ov-tui__code-block:hover .ov-tui__copy--inline, .ov-tui__copy--inline:focus-visible {
354
+ opacity: 1;
355
+ }
356
+
357
+ .ov-tui__markdown {
358
+ overflow-wrap: anywhere;
359
+ min-width: 0;
360
+ }
361
+
362
+ .ov-tui__markdown > :first-child {
363
+ margin-top: 0;
364
+ }
365
+
366
+ .ov-tui__markdown > :last-child {
367
+ margin-bottom: 0;
368
+ }
369
+
370
+ .ov-tui__markdown p, .ov-tui__markdown ul, .ov-tui__markdown ol {
371
+ margin: 0 0 8px;
372
+ }
373
+
374
+ .ov-tui__markdown ul {
375
+ flex-direction: column;
376
+ gap: 8px;
377
+ margin: 8px 0;
378
+ padding: 0;
379
+ list-style: none;
380
+ display: flex;
381
+ }
382
+
383
+ .ov-tui__markdown ol {
384
+ margin: 8px 0;
385
+ padding-inline-start: 2em;
386
+ list-style: decimal;
387
+ display: block;
388
+ }
389
+
390
+ .ov-tui__markdown ol > li {
391
+ display: list-item;
392
+ }
393
+
394
+ .ov-tui__markdown ol > li + li {
395
+ margin-block-start: 8px;
396
+ }
397
+
398
+ .ov-tui__markdown li {
399
+ border: 1px solid var(--ov-ui-tui-card-border);
400
+ background: var(--ov-ui-tui-card-bg);
401
+ border-radius: 8px;
402
+ min-inline-size: 0;
403
+ margin: 0;
404
+ padding: 8px 10px;
405
+ font-size: 12px;
406
+ line-height: 18px;
407
+ }
408
+
409
+ .ov-tui__markdown li > p {
410
+ margin: 4px 0 0;
411
+ }
412
+
413
+ .ov-tui__markdown li > p:first-child {
414
+ margin-block-start: 0;
415
+ }
416
+
417
+ .ov-tui__markdown code {
418
+ background: var(--ov-ui-tui-card-bg);
419
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
420
+ border-radius: 4px;
421
+ padding: 0 5px;
422
+ font-size: 12px;
423
+ }
424
+
425
+ .ov-tui__code-block {
426
+ background: var(--ov-ui-tui-card-bg);
427
+ border-radius: 8px;
428
+ min-inline-size: 0;
429
+ max-inline-size: 100%;
430
+ margin-block: 6px;
431
+ padding: 12px;
432
+ position: relative;
433
+ }
434
+
435
+ .ov-tui__code-block > .ov-tui__copy--inline {
436
+ inset-block-start: 6px;
437
+ inset-inline-end: 6px;
438
+ }
439
+
440
+ .ov-tui__code-content {
441
+ white-space: pre-wrap;
442
+ overflow-wrap: anywhere;
443
+ max-inline-size: 100%;
444
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
445
+ margin: 0;
446
+ font-size: 13px;
447
+ line-height: 20px;
448
+ overflow: auto;
449
+ }
450
+
451
+ .ov-tui__markdown a {
452
+ color: var(--ov-ui-tui-link);
453
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
454
+ text-decoration: none;
455
+ }
456
+
457
+ .ov-tui__markdown a:hover {
458
+ text-underline-offset: 3px;
459
+ text-decoration: underline;
460
+ }
461
+
462
+ .ov-tui__table-frame {
463
+ max-width: 100%;
464
+ overflow-x: auto;
465
+ }
466
+
467
+ .ov-tui__markdown table, .ov-tui__table {
468
+ border-collapse: collapse;
469
+ width: 100%;
470
+ font-size: 12px;
471
+ }
472
+
473
+ .ov-tui__markdown th, .ov-tui__markdown td, .ov-tui__table th, .ov-tui__table td {
474
+ border: 1px solid var(--ov-ui-tui-card-border);
475
+ overflow-wrap: anywhere;
476
+ text-align: left;
477
+ vertical-align: top;
478
+ padding: 6px 8px;
479
+ }
480
+
481
+ .ov-tui__markdown th, .ov-tui__table th {
482
+ color: var(--ov-ui-tui-muted);
483
+ font-weight: 600;
484
+ }
485
+
486
+ .ov-tui__search {
487
+ flex-direction: column;
488
+ gap: 10px;
489
+ min-width: 0;
490
+ display: flex;
491
+ }
492
+
493
+ .ov-tui__search-summary {
494
+ background: var(--ov-ui-tui-card-bg);
495
+ color: var(--ov-ui-tui-muted);
496
+ white-space: pre-line;
497
+ border-radius: 12px;
498
+ padding: 14px 16px;
499
+ font-size: 14px;
500
+ line-height: 24px;
501
+ }
502
+
503
+ .ov-tui__search-items, .ov-tui__tree-items {
504
+ flex-direction: column;
505
+ gap: 8px;
506
+ min-width: 0;
507
+ display: flex;
508
+ }
509
+
510
+ .ov-tui__search-item {
511
+ border: 1px solid var(--ov-ui-tui-card-border);
512
+ background: var(--ov-ui-tui-result-bg);
513
+ width: 100%;
514
+ min-width: 0;
515
+ color: inherit;
516
+ font: inherit;
517
+ text-align: start;
518
+ border-radius: 14px;
519
+ align-items: stretch;
520
+ gap: 10px;
521
+ padding: 12px 14px;
522
+ display: flex;
523
+ }
524
+
525
+ .ov-tui__search-items {
526
+ gap: 10px;
527
+ }
528
+
529
+ .ov-tui__search-item {
530
+ position: relative;
531
+ }
532
+
533
+ .ov-tui__search-open {
534
+ inline-size: 100%;
535
+ font-size: 12px;
536
+ font-weight: 600;
537
+ display: flex;
538
+ }
539
+
540
+ .ov-tui__search-open:after {
541
+ content: "";
542
+ position: absolute;
543
+ inset: 0;
544
+ }
545
+
546
+ .ov-tui__search-item :is(button, a:not(.ov-tui__search-open)) {
547
+ z-index: 1;
548
+ position: relative;
549
+ }
550
+
551
+ .ov-tui__search-item:has(.ov-tui__search-open:hover) {
552
+ border-color: var(--ov-ui-tui-link);
553
+ background: var(--ov-ui-tui-card-bg);
554
+ }
555
+
556
+ .ov-tui__search-item:has(.ov-tui__search-open:focus-visible) {
557
+ outline: 2px solid var(--ov-ui-tui-focus);
558
+ outline-offset: 1px;
559
+ }
560
+
561
+ .ov-tui__search-uri {
562
+ min-inline-size: 0;
563
+ max-inline-size: 100%;
564
+ display: flex;
565
+ }
566
+
567
+ .ov-tui__search-uri-prefix {
568
+ text-overflow: ellipsis;
569
+ white-space: nowrap;
570
+ min-inline-size: 0;
571
+ overflow: hidden;
572
+ }
573
+
574
+ .ov-tui__search-uri-suffix {
575
+ text-overflow: ellipsis;
576
+ white-space: nowrap;
577
+ flex: none;
578
+ max-inline-size: 70%;
579
+ overflow: hidden;
580
+ }
581
+
582
+ .ov-tui__search-uri-full {
583
+ text-overflow: ellipsis;
584
+ white-space: nowrap;
585
+ overflow: hidden;
586
+ }
587
+
588
+ .ov-tui__search-metrics {
589
+ width: 58px;
590
+ flex-direction: column;
591
+ flex: none;
592
+ justify-content: space-between;
593
+ align-items: flex-start;
594
+ gap: 6px;
595
+ min-block-size: 44px;
596
+ display: flex;
597
+ }
598
+
599
+ .ov-tui__search-score-wrap {
600
+ display: inline-flex;
601
+ position: relative;
602
+ }
603
+
604
+ .ov-tui__search-score {
605
+ color: inherit;
606
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
607
+ cursor: help;
608
+ background: none;
609
+ border: 0;
610
+ padding: 0;
611
+ font-size: 13px;
612
+ font-weight: 700;
613
+ }
614
+
615
+ .ov-tui__score-details {
616
+ z-index: 1;
617
+ border: 1px solid var(--ov-ui-tui-card-border);
618
+ background: var(--ov-ui-tui-surface);
619
+ width: max-content;
620
+ max-width: 260px;
621
+ box-shadow: 0 6px 16px
622
+ color-mix(in srgb, var(--ov-ui-tui-shadow) 12%, transparent);
623
+ color: inherit;
624
+ border-radius: 8px;
625
+ flex-direction: column;
626
+ gap: 4px;
627
+ margin-top: 4px;
628
+ padding: 8px 10px;
629
+ font-size: 12px;
630
+ font-weight: 400;
631
+ display: flex;
632
+ position: absolute;
633
+ top: 100%;
634
+ left: 0;
635
+ }
636
+
637
+ .ov-tui__search-type {
638
+ background: var(--ov-ui-tui-bubble-bg);
639
+ max-width: 58px;
640
+ color: var(--ov-ui-tui-muted);
641
+ white-space: nowrap;
642
+ border-radius: 999px;
643
+ padding: 0 7px;
644
+ font-size: 11px;
645
+ line-height: 18px;
646
+ display: inline-flex;
647
+ }
648
+
649
+ .ov-tui__search-body {
650
+ flex-direction: column;
651
+ flex: 1;
652
+ gap: 4px;
653
+ min-width: 0;
654
+ display: flex;
655
+ }
656
+
657
+ .ov-tui__search-main {
658
+ align-items: flex-start;
659
+ gap: 8px;
660
+ min-width: 0;
661
+ display: flex;
662
+ }
663
+
664
+ .ov-tui__search-title {
665
+ min-width: 0;
666
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
667
+ white-space: nowrap;
668
+ flex: 1;
669
+ font-size: 12px;
670
+ font-weight: 600;
671
+ line-height: 22px;
672
+ }
673
+
674
+ .ov-tui__search-level {
675
+ border: 1px solid var(--ov-ui-tui-card-border);
676
+ color: var(--ov-ui-tui-muted);
677
+ border-radius: 6px;
678
+ flex: none;
679
+ align-items: center;
680
+ padding: 0 6px;
681
+ font-size: 11px;
682
+ line-height: 18px;
683
+ display: inline-flex;
684
+ }
685
+
686
+ .ov-tui__search-preview, .ov-tui__search-meta {
687
+ color: var(--ov-ui-tui-muted);
688
+ text-overflow: ellipsis;
689
+ white-space: nowrap;
690
+ font-size: 12px;
691
+ overflow: hidden;
692
+ }
693
+
694
+ .ov-tui__tree, .ov-tui__write, .ov-tui__status, .ov-tui__preview {
695
+ flex-direction: column;
696
+ gap: 12px;
697
+ min-width: 0;
698
+ display: flex;
699
+ }
700
+
701
+ .ov-tui__tree-title {
702
+ overflow-wrap: anywhere;
703
+ min-width: 0;
704
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
705
+ flex: 1;
706
+ font-size: 12px;
707
+ }
708
+
709
+ .ov-tui__tree-meta {
710
+ color: var(--ov-ui-tui-muted);
711
+ flex: none;
712
+ font-size: 12px;
713
+ }
714
+
715
+ .ov-tui__load-more {
716
+ border: 1px solid var(--ov-ui-tui-card-border);
717
+ background: var(--ov-ui-tui-result-bg);
718
+ inline-size: 100%;
719
+ color: var(--ov-ui-tui-link);
720
+ font: inherit;
721
+ cursor: pointer;
722
+ border-radius: 10px;
723
+ padding: 8px 12px;
724
+ font-size: 13px;
725
+ line-height: 22px;
726
+ }
727
+
728
+ .ov-tui__load-more:hover {
729
+ background: var(--ov-ui-tui-hover);
730
+ }
731
+
732
+ .ov-tui__write-lines {
733
+ flex-direction: column;
734
+ gap: 8px;
735
+ display: flex;
736
+ }
737
+
738
+ .ov-tui__write-line, .ov-tui__tree-item {
739
+ background: var(--ov-ui-tui-card-bg);
740
+ inline-size: 100%;
741
+ min-inline-size: 0;
742
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
743
+ overflow-wrap: anywhere;
744
+ white-space: pre-wrap;
745
+ border-radius: 10px;
746
+ padding: 10px 12px;
747
+ font-size: 13px;
748
+ line-height: 22px;
749
+ }
750
+
751
+ .ov-tui__tree-item {
752
+ flex-direction: column;
753
+ gap: 4px;
754
+ display: flex;
755
+ }
756
+
757
+ .ov-tui__status-rows {
758
+ flex-direction: column;
759
+ gap: 8px;
760
+ margin: 0;
761
+ display: flex;
762
+ }
763
+
764
+ .ov-tui__status-row {
765
+ background: var(--ov-ui-tui-card-bg);
766
+ border-radius: 10px;
767
+ grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);
768
+ align-items: start;
769
+ column-gap: 12px;
770
+ min-inline-size: 0;
771
+ padding: 8px 10px;
772
+ display: grid;
773
+ }
774
+
775
+ .ov-tui__status-row[data-variant="long-text"] {
776
+ grid-template-columns: minmax(0, 1fr);
777
+ row-gap: 6px;
778
+ }
779
+
780
+ .ov-tui__status-label {
781
+ color: var(--ov-ui-tui-muted);
782
+ white-space: nowrap;
783
+ margin: 0;
784
+ font-size: 12px;
785
+ font-weight: 400;
786
+ line-height: 22px;
787
+ }
788
+
789
+ .ov-tui__status-value {
790
+ overflow-wrap: anywhere;
791
+ min-width: 0;
792
+ margin: 0;
793
+ font-size: 13px;
794
+ line-height: 22px;
795
+ }
796
+
797
+ .ov-tui__status-row[data-variant="long-text"] .ov-tui__status-value {
798
+ white-space: pre-wrap;
799
+ max-block-size: 168px;
800
+ padding-inline-end: 4px;
801
+ overflow: auto;
802
+ }
803
+
804
+ .ov-tui__status-row[data-variant="pre"] .ov-tui__status-value {
805
+ white-space: pre;
806
+ max-block-size: 168px;
807
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
808
+ font-size: 12px;
809
+ line-height: 20px;
810
+ overflow: auto;
811
+ }
812
+
813
+ .ov-tui__result-meta {
814
+ color: var(--ov-ui-tui-muted);
815
+ font-size: 12px;
816
+ line-height: 20px;
817
+ }
818
+
819
+ .ov-tui__preview-uri {
820
+ max-inline-size: 100%;
821
+ margin-block-end: 10px;
822
+ font-size: 12px;
823
+ display: inline-block;
824
+ }
825
+
826
+ .ov-tui__preview-body {
827
+ background: var(--ov-ui-tui-card-bg);
828
+ overflow-wrap: anywhere;
829
+ border-radius: 12px;
830
+ min-inline-size: 0;
831
+ max-inline-size: 100%;
832
+ padding: 14px 16px;
833
+ }
834
+
835
+ .ov-tui__preview-content {
836
+ white-space: pre-wrap;
837
+ overflow-wrap: anywhere;
838
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
839
+ margin: 0;
840
+ font-size: 12px;
841
+ line-height: 20px;
842
+ }
843
+
844
+ .ov-tui__no-result {
845
+ background: var(--ov-ui-tui-card-bg);
846
+ color: var(--ov-ui-tui-muted);
847
+ border-radius: 12px;
848
+ padding: 16px;
849
+ font-size: 13px;
850
+ line-height: 22px;
851
+ }
852
+
853
+ .ov-tui__tree .ov-tui__table-frame {
854
+ background: var(--ov-ui-tui-card-bg);
855
+ border-radius: 10px;
856
+ }
857
+
858
+ .ov-tui__table {
859
+ min-inline-size: 520px;
860
+ margin: 0;
861
+ }
862
+
863
+ .ov-tui__table :is(th, td) {
864
+ border: 0;
865
+ border-block-end: 1px solid var(--ov-ui-tui-card-border);
866
+ min-inline-size: 96px;
867
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
868
+ padding: 8px 10px;
869
+ font-size: 13px;
870
+ line-height: 22px;
871
+ }
872
+
873
+ .ov-tui__table th {
874
+ white-space: nowrap;
10
875
  font-family: inherit;
11
876
  font-size: 12px;
877
+ font-weight: 500;
878
+ }
879
+
880
+ .ov-tui__table tbody tr:last-child td {
881
+ border-block-end: 0;
882
+ }
883
+
884
+ .ov-tui__help {
885
+ flex-direction: column;
886
+ gap: 12px;
887
+ display: flex;
888
+ }
889
+
890
+ .ov-tui__help-lead {
891
+ font-size: 14px;
892
+ font-weight: 600;
893
+ line-height: 22px;
894
+ }
895
+
896
+ .ov-tui__help-footer {
897
+ color: var(--ov-ui-tui-muted);
898
+ font-size: 12px;
899
+ line-height: 20px;
900
+ }
901
+
902
+ .ov-tui__help-section {
903
+ flex-direction: column;
904
+ gap: 6px;
905
+ display: flex;
906
+ }
907
+
908
+ .ov-tui__help-section-label {
909
+ color: var(--ov-ui-tui-muted);
910
+ padding: 0 4px;
911
+ font-size: 12px;
912
+ }
913
+
914
+ .ov-tui__help-items {
915
+ flex-direction: column;
916
+ gap: 2px;
917
+ display: flex;
918
+ }
919
+
920
+ .ov-tui__help-item {
921
+ border: 1px solid var(--ov-ui-tui-card-border);
922
+ background: var(--ov-ui-tui-card-bg);
923
+ min-block-size: 36px;
924
+ inline-size: 100%;
925
+ min-inline-size: 0;
926
+ color: inherit;
927
+ font: inherit;
928
+ text-align: start;
929
+ cursor: pointer;
930
+ border-radius: 8px;
931
+ grid-template-columns: minmax(13ch, 23ch) minmax(0, 1fr);
932
+ align-items: start;
933
+ gap: 20px;
934
+ padding: 8px;
935
+ display: grid;
936
+ }
937
+
938
+ .ov-tui__help-item:not(:disabled):hover {
939
+ background: var(--ov-ui-tui-hover);
940
+ }
941
+
942
+ .ov-tui__help-item:disabled {
943
+ opacity: .5;
944
+ cursor: default;
945
+ }
946
+
947
+ .ov-tui__help-name {
948
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
949
+ font-size: 12px;
950
+ }
951
+
952
+ .ov-tui__help-desc {
953
+ color: var(--ov-ui-tui-muted);
954
+ overflow-wrap: anywhere;
955
+ font-size: 12px;
956
+ }
957
+
958
+ .ov-tui__assist {
959
+ z-index: 1000;
960
+ min-width: 0;
961
+ max-width: calc(100vw - 24px);
962
+ max-height: var(--ov-ui-tui-assist-height, 420px);
963
+ color: inherit;
964
+ font: inherit;
965
+ background: none;
966
+ border: 0;
967
+ margin: 0;
968
+ padding: 0;
969
+ display: flex;
970
+ position: fixed;
971
+ inset: auto;
972
+ overflow: visible;
973
+ }
974
+
975
+ .ov-tui__assist[data-floating]:not(:popover-open) {
976
+ display: none;
977
+ }
978
+
979
+ .ov-tui__assist[data-inline] {
980
+ flex-direction: column;
981
+ flex: none;
982
+ max-width: 100%;
983
+ margin-bottom: 8px;
984
+ position: static;
985
+ }
986
+
987
+ @supports (position-area: block-start span-inline-end) {
988
+ .ov-tui__assist[data-placement="above"] {
989
+ margin-block-end: 8px;
990
+ }
991
+
992
+ .ov-tui__assist[data-placement="below"] {
993
+ margin-block-start: 8px;
994
+ }
995
+
996
+ .ov-tui__assist[data-floating] {
997
+ position-try-fallbacks: flip-block, flip-inline;
998
+ }
999
+ }
1000
+
1001
+ .ov-tui__assist-detail {
1002
+ inset-inline-end: calc(100% + 2px);
1003
+ width: var(--ov-ui-tui-assist-detail-width, 400px);
1004
+ min-height: 0;
1005
+ max-height: var(--ov-ui-tui-assist-height, 420px);
1006
+ display: flex;
1007
+ position: absolute;
1008
+ bottom: 0;
1009
+ }
1010
+
1011
+ .ov-tui__assist[data-placement="below"] .ov-tui__assist-detail {
1012
+ top: 0;
1013
+ bottom: auto;
1014
+ }
1015
+
1016
+ .ov-tui__assist[data-side="right"] .ov-tui__assist-detail {
1017
+ inset-inline: calc(100% + 2px) auto;
1018
+ }
1019
+
1020
+ .ov-tui__assist[data-side="stack"], .ov-tui__assist[data-inline] {
1021
+ flex-direction: column;
1022
+ gap: 2px;
1023
+ }
1024
+
1025
+ .ov-tui__assist[data-side="stack"] .ov-tui__assist-detail, .ov-tui__assist[data-details-only] .ov-tui__assist-detail, .ov-tui__assist[data-inline] .ov-tui__assist-detail {
1026
+ width: 100%;
1027
+ position: static;
1028
+ }
1029
+
1030
+ .ov-tui__assist[data-side="stack"]:not([data-details-only]) .ov-tui__hint {
1031
+ max-height: calc(var(--ov-ui-tui-assist-height, 420px) * .55);
1032
+ }
1033
+
1034
+ .ov-tui__assist[data-side="stack"]:not([data-details-only]) .ov-tui__suggestions {
1035
+ max-height: calc(var(--ov-ui-tui-assist-height, 420px) * .45);
1036
+ }
1037
+
1038
+ .ov-tui__composer {
1039
+ border: 0;
1040
+ border-top: 1px solid var(--ov-ui-border, var(--ov-ui-tui-card-border));
1041
+ flex-direction: column;
1042
+ flex: none;
1043
+ min-height: 120px;
1044
+ margin: 0;
1045
+ padding: 12px 16px 6px;
1046
+ display: flex;
1047
+ position: relative;
1048
+ }
1049
+
1050
+ .ov-tui__composer[data-disabled] {
1051
+ cursor: not-allowed;
1052
+ opacity: .72;
1053
+ }
1054
+
1055
+ .ov-tui__input-row {
1056
+ cursor: text;
1057
+ flex: 1;
1058
+ min-width: 0;
1059
+ min-height: 61px;
1060
+ max-height: 78px;
1061
+ display: grid;
1062
+ position: relative;
1063
+ overflow: hidden;
1064
+ }
1065
+
1066
+ .ov-tui__input-row:after {
1067
+ content: attr(data-value);
1068
+ visibility: hidden;
1069
+ pointer-events: none;
1070
+ }
1071
+
1072
+ .ov-tui__input-row:after, .ov-tui__input-mirror, .ov-tui__input {
1073
+ resize: none;
1074
+ width: 100%;
1075
+ min-width: 0;
1076
+ min-height: 26px;
1077
+ max-height: 78px;
1078
+ color: var(--ov-ui-text-secondary, inherit);
1079
+ font: inherit;
1080
+ letter-spacing: .048px;
1081
+ overflow-wrap: anywhere;
1082
+ white-space: pre-wrap;
1083
+ background: none;
1084
+ border: 0;
1085
+ border-radius: 0;
1086
+ grid-area: 1 / 1;
1087
+ padding: 0;
1088
+ font-size: 16px;
1089
+ line-height: 26px;
1090
+ }
1091
+
1092
+ .ov-tui__input-label, .ov-tui__input-hint-description {
1093
+ clip-path: inset(50%);
1094
+ white-space: nowrap;
1095
+ width: 1px;
1096
+ height: 1px;
1097
+ position: absolute;
1098
+ overflow: hidden;
1099
+ }
1100
+
1101
+ .ov-tui__input::placeholder {
1102
+ -webkit-text-fill-color: currentColor;
1103
+ color: var(--ov-ui-tui-muted);
1104
+ }
1105
+
1106
+ .ov-tui__input-mirror {
1107
+ z-index: 1;
1108
+ scrollbar-width: none;
1109
+ pointer-events: none;
1110
+ display: block;
1111
+ position: absolute;
1112
+ inset: 0;
1113
+ overflow: auto;
1114
+ }
1115
+
1116
+ .ov-tui__input-mirror .ov-tui__link {
1117
+ pointer-events: auto;
1118
+ font: inherit;
1119
+ }
1120
+
1121
+ .ov-tui__bubble-command, .ov-tui__input-command {
1122
+ color: var(--ov-ui-tui-text);
1123
+ }
1124
+
1125
+ .ov-tui__command-prefix {
1126
+ color: var(--ov-ui-tui-muted);
1127
+ }
1128
+
1129
+ .ov-tui__command-name {
1130
+ text-shadow: .025em 0, -.025em 0;
1131
+ }
1132
+
1133
+ .ov-tui__input-completion, .ov-tui__input-arguments {
1134
+ color: var(--ov-ui-tui-muted);
1135
+ }
1136
+
1137
+ .ov-tui__input {
1138
+ color: #0000;
1139
+ -webkit-text-fill-color: transparent;
1140
+ caret-color: var(--ov-ui-tui-text);
1141
+ scrollbar-width: none;
1142
+ position: relative;
1143
+ }
1144
+
1145
+ .ov-tui__input::-webkit-scrollbar {
1146
+ display: none;
1147
+ }
1148
+
1149
+ .ov-tui__input-mirror::-webkit-scrollbar {
1150
+ display: none;
1151
+ }
1152
+
1153
+ .ov-tui__input::selection {
1154
+ background: color-mix(in srgb, var(--ov-ui-tui-link) 22%, transparent);
1155
+ }
1156
+
1157
+ @media (forced-colors: active) {
1158
+ .ov-tui__input {
1159
+ color: canvastext;
1160
+ -webkit-text-fill-color: CanvasText;
1161
+ caret-color: canvastext;
1162
+ }
1163
+ }
1164
+
1165
+ .ov-tui__input:focus {
1166
+ outline: none;
1167
+ }
1168
+
1169
+ .ov-tui__input:read-only, .ov-tui__input:disabled {
1170
+ cursor: default;
1171
+ }
1172
+
1173
+ .ov-tui__shortcuts {
1174
+ min-height: 40px;
1175
+ color: var(--ov-ui-tui-muted);
1176
+ flex-wrap: wrap;
1177
+ align-items: center;
1178
+ gap: 12px;
1179
+ margin-inline: 4px;
1180
+ font-size: 12px;
12
1181
  display: flex;
13
1182
  }
14
1183
 
1184
+ .ov-tui__shortcut {
1185
+ white-space: nowrap;
1186
+ align-items: center;
1187
+ gap: 4px;
1188
+ min-width: 0;
1189
+ display: inline-flex;
1190
+ }
1191
+
1192
+ .ov-tui__shortcut kbd {
1193
+ background: var(--ov-ui-tui-hover);
1194
+ width: 24px;
1195
+ height: 24px;
1196
+ color: inherit;
1197
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
1198
+ border: 0;
1199
+ border-radius: 7px;
1200
+ flex: none;
1201
+ justify-content: center;
1202
+ align-items: center;
1203
+ font-size: 14px;
1204
+ line-height: 1;
1205
+ display: inline-flex;
1206
+ }
1207
+
1208
+ @container (width <= 400px) {
1209
+ .ov-tui__shortcuts {
1210
+ gap: 8px;
1211
+ margin-inline: 0;
1212
+ font-size: 11px;
1213
+ }
1214
+
1215
+ .ov-tui__shortcut {
1216
+ gap: 2px;
1217
+ }
1218
+ }
1219
+
1220
+ .ov-tui__unavailable {
1221
+ color: var(--ov-ui-tui-warning);
1222
+ font-size: 12px;
1223
+ }
1224
+
1225
+ .ov-tui__no-suggestions {
1226
+ border: 1px solid var(--ov-ui-tui-card-border);
1227
+ background: var(--ov-ui-tui-surface);
1228
+ color: var(--ov-ui-tui-muted);
1229
+ border-radius: 10px;
1230
+ padding: 8px 12px;
1231
+ font-size: 12px;
1232
+ }
1233
+
1234
+ .ov-tui__hint-empty {
1235
+ color: var(--ov-ui-tui-muted);
1236
+ font-size: 12px;
1237
+ }
1238
+
1239
+ .ov-tui__suggestions, .ov-tui__hint, .ov-tui__no-suggestions {
1240
+ border: 1px solid var(--ov-ui-border, var(--ov-ui-tui-card-border));
1241
+ background: var(--ov-ui-tui-surface);
1242
+ box-shadow: 0 16px 36px color-mix(in srgb, var(--ov-ui-tui-shadow) 10%, transparent),
1243
+ 0 6px 18px color-mix(in srgb, var(--ov-ui-tui-shadow) 6%, transparent);
1244
+ border-radius: 12px;
1245
+ }
1246
+
1247
+ .ov-tui__suggestions {
1248
+ width: 100%;
1249
+ min-height: 0;
1250
+ max-height: min(360px, var(--ov-ui-tui-assist-height, 420px));
1251
+ flex-direction: column;
1252
+ gap: 8px;
1253
+ padding: 12px 8px;
1254
+ display: flex;
1255
+ overflow-y: auto;
1256
+ }
1257
+
1258
+ .ov-tui__suggestion-group {
1259
+ flex-direction: column;
1260
+ gap: 2px;
1261
+ display: flex;
1262
+ }
1263
+
1264
+ .ov-tui__suggestion-label {
1265
+ color: var(--ov-ui-tui-muted);
1266
+ padding: 0 8px 4px;
1267
+ font-size: 12px;
1268
+ font-weight: 500;
1269
+ line-height: 20px;
1270
+ }
1271
+
1272
+ .ov-tui__suggestion {
1273
+ width: 100%;
1274
+ min-width: 0;
1275
+ min-height: 36px;
1276
+ color: inherit;
1277
+ font: inherit;
1278
+ text-align: left;
1279
+ cursor: pointer;
1280
+ background: none;
1281
+ border: 0;
1282
+ border-radius: 6px;
1283
+ flex-wrap: wrap;
1284
+ align-items: baseline;
1285
+ gap: 2px 20px;
1286
+ padding: 6px 8px;
1287
+ display: flex;
1288
+ }
1289
+
1290
+ .ov-tui__suggestion[aria-selected="true"], .ov-tui__suggestion:hover {
1291
+ background: var(--ov-ui-tui-hover);
1292
+ }
1293
+
1294
+ .ov-tui__suggestion[aria-selected="true"] .ov-tui__suggestion-name {
1295
+ color: var(--ov-ui-tui-link);
1296
+ }
1297
+
1298
+ .ov-tui__suggestion:focus-visible, .ov-tui__hint-example:focus-visible {
1299
+ outline: 2px solid var(--ov-ui-tui-focus);
1300
+ outline-offset: -2px;
1301
+ }
1302
+
1303
+ .ov-tui__suggestion-name {
1304
+ min-width: 0;
1305
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
1306
+ overflow-wrap: anywhere;
1307
+ font-size: 14px;
1308
+ line-height: 22px;
1309
+ }
1310
+
1311
+ .ov-tui__suggestion-desc {
1312
+ min-width: 0;
1313
+ color: var(--ov-ui-tui-muted);
1314
+ text-overflow: ellipsis;
1315
+ white-space: nowrap;
1316
+ flex: 160px;
1317
+ font-size: 12px;
1318
+ line-height: 22px;
1319
+ overflow: hidden;
1320
+ }
1321
+
1322
+ .ov-tui__mark {
1323
+ color: var(--ov-ui-tui-link);
1324
+ background: none;
1325
+ font-weight: 500;
1326
+ }
1327
+
1328
+ .ov-tui__hint {
1329
+ width: 100%;
1330
+ min-height: 0;
1331
+ max-height: var(--ov-ui-tui-assist-height, 420px);
1332
+ flex-direction: column;
1333
+ gap: 16px;
1334
+ padding: 16px;
1335
+ display: flex;
1336
+ overflow-y: auto;
1337
+ }
1338
+
1339
+ .ov-tui__hint-head {
1340
+ flex-direction: column;
1341
+ gap: 4px;
1342
+ display: flex;
1343
+ }
1344
+
1345
+ .ov-tui__hint-name {
1346
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
1347
+ font-size: 16px;
1348
+ font-weight: 600;
1349
+ line-height: 24px;
1350
+ }
1351
+
1352
+ .ov-tui__hint-desc, .ov-tui__hint-label {
1353
+ color: var(--ov-ui-tui-muted);
1354
+ font-size: 12px;
1355
+ line-height: 20px;
1356
+ }
1357
+
1358
+ .ov-tui__hint-section-title {
1359
+ font-size: 14px;
1360
+ font-weight: 600;
1361
+ line-height: 20px;
1362
+ }
1363
+
1364
+ .ov-tui__hint-usage {
1365
+ border: 1px solid var(--ov-ui-border, var(--ov-ui-tui-card-border));
1366
+ background: var(--ov-ui-tui-hover);
1367
+ overflow-wrap: anywhere;
1368
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
1369
+ border-radius: 8px;
1370
+ padding: 9px 12px;
1371
+ font-size: 12px;
1372
+ line-height: 20px;
1373
+ }
1374
+
1375
+ .ov-tui__hint-group {
1376
+ flex-direction: column;
1377
+ gap: 6px;
1378
+ display: flex;
1379
+ }
1380
+
1381
+ .ov-tui__hint-example {
1382
+ background: var(--ov-ui-tui-hover);
1383
+ color: inherit;
1384
+ font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
1385
+ text-align: left;
1386
+ overflow-wrap: anywhere;
1387
+ cursor: pointer;
1388
+ border: 0;
1389
+ border-radius: 8px;
1390
+ align-items: flex-start;
1391
+ gap: 12px;
1392
+ padding: 10px 12px;
1393
+ font-size: 12px;
1394
+ line-height: 20px;
1395
+ display: flex;
1396
+ }
1397
+
1398
+ .ov-tui__hint-example-index {
1399
+ color: var(--ov-ui-tui-muted);
1400
+ flex: none;
1401
+ }
1402
+
1403
+ .ov-tui__hint-example:hover {
1404
+ background: var(--ov-ui-tui-bubble-bg);
1405
+ }
1406
+
1407
+ .ov-tui__hint-table-frame {
1408
+ max-width: 100%;
1409
+ overflow-x: auto;
1410
+ }
1411
+
1412
+ .ov-tui__hint-table {
1413
+ border: 1px solid var(--ov-ui-tui-card-border);
1414
+ border-spacing: 0;
1415
+ border-radius: 8px;
1416
+ width: 100%;
1417
+ font-size: 12px;
1418
+ line-height: 20px;
1419
+ }
1420
+
1421
+ .ov-tui__hint-table th, .ov-tui__hint-table td {
1422
+ border-inline-end: 1px solid var(--ov-ui-tui-card-border);
1423
+ border-bottom: 1px solid var(--ov-ui-tui-card-border);
1424
+ text-align: left;
1425
+ overflow-wrap: anywhere;
1426
+ padding: 8px 10px;
1427
+ font-weight: 400;
1428
+ }
1429
+
1430
+ .ov-tui__hint-table th {
1431
+ color: var(--ov-ui-tui-muted);
1432
+ }
1433
+
1434
+ .ov-tui__hint-table :is(th, td):nth-child(2) {
1435
+ text-align: center;
1436
+ white-space: nowrap;
1437
+ min-width: 52px;
1438
+ }
1439
+
1440
+ .ov-tui__hint-table :is(th, td):last-child {
1441
+ text-align: center;
1442
+ border-inline-end: 0;
1443
+ min-width: 56px;
1444
+ }
1445
+
1446
+ .ov-tui__hint-table tbody tr:last-child td {
1447
+ border-bottom: 0;
1448
+ }
1449
+
1450
+ .ov-tui__skeleton {
1451
+ flex-direction: column;
1452
+ gap: 8px;
1453
+ display: flex;
1454
+ }
1455
+
1456
+ .ov-tui__skeleton-summary {
1457
+ background: var(--ov-ui-tui-card-bg);
1458
+ border-radius: 10px;
1459
+ flex-direction: column;
1460
+ gap: 6px;
1461
+ padding: 12px;
1462
+ display: flex;
1463
+ }
1464
+
1465
+ .ov-tui__skeleton-line {
1466
+ background: linear-gradient(90deg,
1467
+ var(--ov-ui-tui-skeleton) 0%,
1468
+ var(--ov-ui-tui-skeleton-bright) 50%,
1469
+ var(--ov-ui-tui-skeleton) 100%);
1470
+ background-size: 200% 100%;
1471
+ border-radius: 999px;
1472
+ height: 12px;
1473
+ animation: 1.2s ease-in-out infinite ov-tui-shimmer;
1474
+ display: block;
1475
+ }
1476
+
1477
+ .ov-tui__skeleton-item {
1478
+ border: 1px solid var(--ov-ui-tui-card-border);
1479
+ border-radius: 12px;
1480
+ align-items: center;
1481
+ gap: 12px;
1482
+ padding: 12px;
1483
+ display: flex;
1484
+ }
1485
+
1486
+ .ov-tui__skeleton-icon {
1487
+ background: var(--ov-ui-tui-skeleton);
1488
+ border-radius: 8px;
1489
+ flex: none;
1490
+ width: 24px;
1491
+ height: 24px;
1492
+ }
1493
+
1494
+ .ov-tui__skeleton-lines {
1495
+ flex-direction: column;
1496
+ flex: 1;
1497
+ gap: 6px;
1498
+ display: flex;
1499
+ }
1500
+
1501
+ .ov-tui__skeleton-row {
1502
+ gap: 12px;
1503
+ padding: 4px 0;
1504
+ display: flex;
1505
+ }
1506
+
1507
+ .ov-tui__skeleton-row .ov-tui__skeleton-line {
1508
+ flex: 1;
1509
+ }
1510
+
1511
+ .ov-tui__skeleton-block {
1512
+ background: var(--ov-ui-tui-card-bg);
1513
+ border-radius: 10px;
1514
+ flex-direction: column;
1515
+ gap: 6px;
1516
+ padding: 12px;
1517
+ display: flex;
1518
+ }
1519
+
1520
+ @keyframes ov-tui-shimmer {
1521
+ 0% {
1522
+ background-position: 200% 0;
1523
+ }
1524
+
1525
+ 100% {
1526
+ background-position: -200% 0;
1527
+ }
1528
+ }
1529
+
1530
+ @media (prefers-reduced-motion: reduce) {
1531
+ .ov-tui__skeleton-line, .ov-tui__result-state[data-status="pending"] {
1532
+ animation: none;
1533
+ }
1534
+ }
1535
+
1536
+ @container (width <= 480px) {
1537
+ .ov-tui__search-item, .ov-tui__tree-item {
1538
+ flex-direction: column;
1539
+ }
1540
+
1541
+ .ov-tui__search-metrics {
1542
+ flex-direction: row;
1543
+ align-items: center;
1544
+ width: auto;
1545
+ }
1546
+
1547
+ .ov-tui__help-item {
1548
+ grid-template-columns: minmax(0, 1fr);
1549
+ gap: 2px;
1550
+ }
1551
+ }
1552
+
15
1553
 
16
1554