@openviking/react 0.1.4 → 0.1.6

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 (139) hide show
  1. package/README.md +15 -11
  2. package/dist/28~0.js +15 -0
  3. package/dist/2~0.js +6 -3
  4. package/dist/37~0.js +27 -0
  5. package/dist/3c~0.js +17 -9
  6. package/dist/3~0.js +4 -2
  7. package/dist/ae~0.js +6 -2
  8. package/dist/a~0.js +79 -72
  9. package/dist/ck~0.js +4 -0
  10. package/dist/client/paths.d.ts +4 -0
  11. package/dist/client/provider.d.ts +10 -6
  12. package/dist/components/agent-connect/agent-connect-code-block.d.ts +14 -0
  13. package/dist/components/agent-connect/agent-connect-copy.d.ts +3 -0
  14. package/dist/components/agent-connect/agent-connect-design.d.ts +1 -1
  15. package/dist/components/agent-connect/agent-connect-installer.d.ts +1 -0
  16. package/dist/components/agent-connect/agent-connect-instructions-view.d.ts +4 -6
  17. package/dist/components/agent-connect/agent-connect-instructions.d.ts +13 -0
  18. package/dist/components/agent-connect/agent-connect-markdown.d.ts +8 -2
  19. package/dist/components/agent-connect/agent-connect-mask.d.ts +10 -0
  20. package/dist/components/agent-connect/agent-connect.d.ts +1 -1
  21. package/dist/components/agent-connect/locales/en-US.d.ts +3 -0
  22. package/dist/components/agent-connect/style.css +163 -5
  23. package/dist/components/agent-connect/types.d.ts +5 -3
  24. package/dist/components/agent-connect/use-agent-connect-copy.d.ts +6 -0
  25. package/dist/components/directory-tour/style.css +46 -2
  26. package/dist/components/directory-tour/types.d.ts +2 -1
  27. package/dist/components/experience-dashboard/dashboard-tabs.d.ts +11 -0
  28. package/dist/components/experience-dashboard/experience-dashboard.d.ts +2 -0
  29. package/dist/components/experience-dashboard/experience-impact.d.ts +11 -0
  30. package/dist/components/experience-dashboard/experience-list.d.ts +9 -0
  31. package/dist/components/experience-dashboard/experience-pagination.d.ts +8 -0
  32. package/dist/components/experience-dashboard/experience-tests.d.ts +6 -0
  33. package/dist/components/experience-dashboard/experience-trajectories.d.ts +6 -0
  34. package/dist/components/experience-dashboard/index.d.ts +2 -0
  35. package/dist/components/experience-dashboard/labels.d.ts +2 -0
  36. package/dist/components/experience-dashboard/style.css +699 -0
  37. package/dist/components/experience-dashboard/style.js +0 -0
  38. package/dist/components/experience-dashboard/types.d.ts +106 -0
  39. package/dist/components/experience-dashboard.js +1 -0
  40. package/dist/components/file-browser-entries/file-browser-entries.d.ts +1 -1
  41. package/dist/components/file-browser-entries/style.css +259 -13
  42. package/dist/components/file-browser-entries/types.d.ts +2 -2
  43. package/dist/components/file-preview/style.css +48 -4
  44. package/dist/components/file-preview/types.d.ts +2 -2
  45. package/dist/components/file-tree/style.css +63 -4
  46. package/dist/components/file-tree/types.d.ts +2 -2
  47. package/dist/components/scope-switcher/scope-switcher.d.ts +2 -2
  48. package/dist/components/scope-switcher/style.css +48 -4
  49. package/dist/components/scope-switcher/types.d.ts +5 -5
  50. package/dist/components/scope-switcher.js +1 -1
  51. package/dist/components/style.css +2451 -139
  52. package/dist/components/tui/style.css +122 -36
  53. package/dist/components/tui/tui.d.ts +1 -1
  54. package/dist/components/tui/types.d.ts +2 -2
  55. package/dist/components/viking-bot/ark-message-list-view.d.ts +4 -1
  56. package/dist/components/viking-bot/interaction/types.d.ts +2 -2
  57. package/dist/components/viking-bot/interaction/viking-bot-interaction.d.ts +1 -1
  58. package/dist/components/viking-bot/session-actions.d.ts +2 -2
  59. package/dist/components/viking-bot/style.css +159 -12
  60. package/dist/components/viking-bot/types.d.ts +7 -7
  61. package/dist/components/viking-bot/viking-bot.d.ts +1 -1
  62. package/dist/components/wiki-dashboard/index.d.ts +2 -0
  63. package/dist/components/wiki-dashboard/labels.d.ts +2 -0
  64. package/dist/components/wiki-dashboard/style.css +741 -0
  65. package/dist/components/wiki-dashboard/style.js +0 -0
  66. package/dist/components/wiki-dashboard/types.d.ts +92 -0
  67. package/dist/components/wiki-dashboard/wiki-action-button.d.ts +9 -0
  68. package/dist/components/wiki-dashboard/wiki-conflict-card.d.ts +15 -0
  69. package/dist/components/wiki-dashboard/wiki-dashboard.d.ts +2 -0
  70. package/dist/components/wiki-dashboard/wiki-file-icon.d.ts +3 -0
  71. package/dist/components/wiki-dashboard/wiki-severity-filter.d.ts +8 -0
  72. package/dist/components/wiki-dashboard.js +1 -0
  73. package/dist/c~0.js +169 -155
  74. package/dist/e~0.js +3 -1
  75. package/dist/fi~0.js +354 -0
  76. package/dist/fj~0.js +503 -0
  77. package/dist/f~0.js +661 -309
  78. package/dist/icons/index.d.ts +28 -0
  79. package/dist/icons.js +1 -1
  80. package/dist/index.d.ts +4 -0
  81. package/dist/index.js +3 -1
  82. package/dist/k~0.js +277 -1
  83. package/dist/lk~0.js +55 -13
  84. package/dist/l~0.js +1096 -187
  85. package/dist/modules/console/console.d.ts +1 -1
  86. package/dist/modules/console/index.d.ts +1 -2
  87. package/dist/modules/console/style.css +377 -56
  88. package/dist/modules/console/types.d.ts +2 -2
  89. package/dist/modules/console/use-console.d.ts +1 -1
  90. package/dist/modules/console.js +1 -1
  91. package/dist/modules/file-browser/dashboard-data.d.ts +9 -0
  92. package/dist/modules/file-browser/dashboard-indicator.d.ts +8 -0
  93. package/dist/modules/file-browser/dashboard-labels.d.ts +9 -0
  94. package/dist/modules/file-browser/dashboard-model.d.ts +14 -0
  95. package/dist/modules/file-browser/dashboard-resource.d.ts +12 -0
  96. package/dist/modules/file-browser/experience-dashboard-pane.d.ts +8 -0
  97. package/dist/modules/file-browser/experience-data.d.ts +31 -0
  98. package/dist/modules/file-browser/file-browser-labels.d.ts +1 -1
  99. package/dist/modules/file-browser/file-browser-tree-pane.d.ts +3 -2
  100. package/dist/modules/file-browser/file-browser.d.ts +1 -1
  101. package/dist/modules/file-browser/fs-directories.d.ts +8 -0
  102. package/dist/modules/file-browser/fs-lines.d.ts +36 -0
  103. package/dist/modules/file-browser/fs-memory-fields.d.ts +65 -0
  104. package/dist/modules/file-browser/fs-model.d.ts +12 -2
  105. package/dist/modules/file-browser/fs-read-file.d.ts +14 -0
  106. package/dist/modules/file-browser/fs-selection.d.ts +4 -0
  107. package/dist/modules/file-browser/index.d.ts +2 -2
  108. package/dist/modules/file-browser/style.css +1883 -25
  109. package/dist/modules/file-browser/types.d.ts +64 -2
  110. package/dist/modules/file-browser/use-browser-dashboards.d.ts +31 -0
  111. package/dist/modules/file-browser/use-dashboard-query.d.ts +9 -0
  112. package/dist/modules/file-browser/use-experience-dashboard.d.ts +27 -0
  113. package/dist/modules/file-browser/use-file-browser.d.ts +2 -45
  114. package/dist/modules/file-browser/use-fs-tree.d.ts +2 -0
  115. package/dist/modules/file-browser/use-wiki-dashboard.d.ts +17 -0
  116. package/dist/modules/file-browser/wiki-conflicts.d.ts +12 -0
  117. package/dist/modules/file-browser/wiki-dashboard-pane.d.ts +14 -0
  118. package/dist/modules/file-browser.js +1 -1
  119. package/dist/modules/scope-cascade/controller.d.ts +2 -2
  120. package/dist/modules/scope-cascade/index.d.ts +1 -2
  121. package/dist/modules/scope-cascade/scope-cascade.d.ts +2 -2
  122. package/dist/modules/scope-cascade/style.css +48 -4
  123. package/dist/modules/scope-cascade/types.d.ts +9 -4
  124. package/dist/modules/scope-cascade/use-scope-cascade.d.ts +2 -2
  125. package/dist/modules/scope-cascade.js +1 -1
  126. package/dist/modules/style.css +2459 -192
  127. package/dist/n~0.js +16 -130
  128. package/dist/rt~0.js +152 -0
  129. package/dist/r~0.js +17 -38
  130. package/dist/shared/components/popover/popover.d.ts +1 -1
  131. package/dist/shared/components/popover/types.d.ts +7 -1
  132. package/dist/shared/dashboard/dashboard-state.d.ts +12 -0
  133. package/dist/shared/locale-context.d.ts +8 -0
  134. package/dist/static/image/dashboard-background.png +0 -0
  135. package/dist/style.css +9445 -4822
  136. package/dist/u~0.js +324 -96
  137. package/dist/viking-bot-composer~0.js +4 -2
  138. package/dist/viking-bot-interaction~0.js +3 -1
  139. package/package.json +14 -2
@@ -1,3 +1,9 @@
1
- export declare function AgentConnectMarkdown({ text }: {
1
+ import { type CodeBlockControls } from './agent-connect-code-block.js';
2
+ /** 先解析原始 HTML,再清理不允许的标签、属性与协议。 */
3
+ interface MarkdownProps extends CodeBlockControls {
2
4
  text: string;
3
- }): import("react").JSX.Element;
5
+ keyToken: string;
6
+ apiKey: string;
7
+ }
8
+ export declare function AgentConnectMarkdown({ text, ...context }: MarkdownProps): import("react").JSX.Element;
9
+ export {};
@@ -0,0 +1,10 @@
1
+ interface MarkdownNode {
2
+ type: string;
3
+ value?: string;
4
+ children?: MarkdownNode[];
5
+ }
6
+ /** 正文及行内代码只显示脱敏值;代码块由专用视图处理占位符。 */
7
+ export declare function remarkMaskApiKey({ keyToken }: {
8
+ keyToken: string;
9
+ }): (tree: MarkdownNode) => void;
10
+ export {};
@@ -1,4 +1,4 @@
1
1
  import type { AgentConnectProps } from './types.js';
2
2
  export type { AgentConnectItem, AgentConnectProps, AgentConnectLocale, AgentConnectTabId, } from './types.js';
3
3
  /** 按设计稿固定文案与图标;选择与复制保持实例内交互。 */
4
- export declare function AgentConnect({ apiKey, locale, baseUrl, agreementUrl, activeTabId: controlledTabId, selectedId: controlledSelectedId, onTabChange, onSelect, onCopy, className, ...rest }: AgentConnectProps): import("react").JSX.Element;
4
+ export declare function AgentConnect({ apiKey, locale: localeProp, baseUrl, agreementUrl, showOverseasTag, activeTabId: controlledTabId, selectedId: controlledSelectedId, onTabChange, onSelect, onCopy, className, ...rest }: AgentConnectProps): import("react").JSX.Element;
@@ -6,6 +6,9 @@ declare const messages: {
6
6
  instructions: string;
7
7
  copy: string;
8
8
  copyMarkdown: string;
9
+ copyCode: string;
10
+ showApiKey: string;
11
+ hideApiKey: string;
9
12
  copied: string;
10
13
  failed: string;
11
14
  notice: string;
@@ -1,4 +1,4 @@
1
- .ov-directory-tour, .ov-agent-connect, .ov-console, .ov-divider, .ov-file-browser-entries, .ov-drawer, .ov-file-browser, .ov-file-preview, .ov-file-tree, .ov-module-placeholder, .ov-popover, .ov-scope-switcher, .ov-tooltip, .ov-tui, .ov-viking-bot, .ov-viking-bot__popover, .ov-viking-bot__reference-picker--mention, .ov-viking-bot__interaction {
1
+ .ov-directory-tour, .ov-wiki-dashboard, .ov-experience-dashboard, .ov-agent-connect, .ov-console, .ov-divider, .ov-file-browser-entries, .ov-drawer, .ov-file-browser, .ov-file-preview, .ov-file-tree, .ov-module-placeholder, .ov-popover, .ov-scope-switcher, .ov-tooltip, .ov-tui, .ov-viking-bot, .ov-viking-bot__popover, .ov-viking-bot__reference-picker--mention, .ov-viking-bot__interaction {
2
2
  --ov-ui-tour-shadow-default: 0 15px 35px #0000000d, 0 5px 15px #0000000d;
3
3
  --ov-ui-tour-highlight-default: #5252ff14;
4
4
  --ov-ui-primary-default: #5252ff;
@@ -35,9 +35,29 @@
35
35
  --ov-ui-overlay-default: #0006;
36
36
  --ov-ui-tooltip-bg-default: #1f2329;
37
37
  --ov-ui-tooltip-text-default: #fff;
38
- }
39
-
40
- .dark .ov-directory-tour, .dark .ov-agent-connect, .dark .ov-console, .dark .ov-divider, .dark .ov-file-browser-entries, .dark .ov-drawer, .dark .ov-file-browser, .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__popover, .dark .ov-viking-bot__reference-picker--mention, .dark .ov-viking-bot__interaction {
38
+ --ov-ui-library-swatch-1-default: linear-gradient(145deg,
39
+ #ffd8ec 8%,
40
+ #ffabc8 46%,
41
+ #d8cbff 100%);
42
+ --ov-ui-library-swatch-2-default: linear-gradient(145deg,
43
+ #d9e8ff 8%,
44
+ #b8a6ff 52%,
45
+ #f3d6ff 100%);
46
+ --ov-ui-library-swatch-3-default: linear-gradient(145deg,
47
+ #ffe6bc 8%,
48
+ #ffaf96 48%,
49
+ #ff8bc5 100%);
50
+ --ov-ui-library-swatch-4-default: linear-gradient(145deg,
51
+ #eaf7ba 8%,
52
+ #b5efb8 52%,
53
+ #73d9c6 100%);
54
+ --ov-ui-library-swatch-5-default: linear-gradient(145deg,
55
+ #fff1ba 8%,
56
+ #ffc776 52%,
57
+ #bd9cff 100%);
58
+ }
59
+
60
+ .dark .ov-directory-tour, html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, .dark .ov-agent-connect, .dark .ov-console, .dark .ov-divider, .dark .ov-file-browser-entries, .dark .ov-drawer, .dark .ov-file-browser, .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__popover, .dark .ov-viking-bot__reference-picker--mention, .dark .ov-viking-bot__interaction {
41
61
  --ov-ui-primary-default: #5f5fff;
42
62
  --ov-ui-primary-hover-default: #7075ff;
43
63
  --ov-ui-primary-active-default: #4242ba;
@@ -91,6 +111,117 @@
91
111
  --ov-ui-connect-notice-default: var(--ov-ui-text-2-default);
92
112
  }
93
113
 
114
+ .ov-wiki-dashboard, .ov-experience-dashboard, .ov-file-browser {
115
+ --ov-ui-dashboard-surface-default: #f8f8f8;
116
+ --ov-ui-dashboard-card-default: #fafafa;
117
+ --ov-ui-dashboard-muted-default: #787c91;
118
+ --ov-ui-dashboard-border-default: #edeef2;
119
+ --ov-ui-dashboard-warning-default: #eb7d00;
120
+ --ov-ui-dashboard-warning-light-default: #fff0e5;
121
+ --ov-ui-dashboard-danger-default: #d92d54;
122
+ --ov-ui-dashboard-danger-light-default: #ffecee;
123
+ --ov-ui-dashboard-success-default: #4f9c70;
124
+ }
125
+
126
+ html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-file-browser {
127
+ --ov-ui-dashboard-surface-default: var(--ov-ui-bg-3-default);
128
+ --ov-ui-dashboard-card-default: var(--ov-ui-bg-3-default);
129
+ --ov-ui-dashboard-muted-default: var(--ov-ui-text-3-default);
130
+ --ov-ui-dashboard-border-default: var(--ov-ui-border-1-default);
131
+ --ov-ui-dashboard-warning-default: var(--ov-ui-warning-default);
132
+ --ov-ui-dashboard-warning-light-default: var(--ov-ui-warning-light-default);
133
+ --ov-ui-dashboard-danger-default: var(--ov-ui-status-error-default);
134
+ --ov-ui-dashboard-danger-light-default: var(--ov-ui-bg-5-default);
135
+ --ov-ui-dashboard-success-default: var(--ov-ui-status-success-default);
136
+ }
137
+
138
+ .ov-agent-connect__code-block {
139
+ border: 1px solid var(--ov-ui-agent-connect-border);
140
+ background: var(--ov-ui-agent-connect-bg);
141
+ white-space: normal;
142
+ border-radius: 8px;
143
+ margin-bottom: 12px;
144
+ overflow: hidden;
145
+ }
146
+
147
+ .ov-agent-connect__code-block:last-child {
148
+ margin-bottom: 0;
149
+ }
150
+
151
+ .ov-agent-connect__code-header {
152
+ border-bottom: 1px solid var(--ov-ui-agent-connect-border);
153
+ color: var(--ov-ui-agent-connect-muted);
154
+ justify-content: space-between;
155
+ align-items: center;
156
+ gap: 8px;
157
+ padding: 6px 12px;
158
+ font-size: 12px;
159
+ display: flex;
160
+ }
161
+
162
+ .ov-agent-connect__code-actions {
163
+ align-items: center;
164
+ gap: 12px;
165
+ display: flex;
166
+ }
167
+
168
+ .ov-agent-connect__code-actions button {
169
+ width: 24px;
170
+ height: 24px;
171
+ color: var(--ov-ui-agent-connect-secondary);
172
+ background: none;
173
+ border: 0;
174
+ border-radius: 4px;
175
+ justify-content: center;
176
+ align-items: center;
177
+ padding: 4px;
178
+ font-size: 12px;
179
+ display: inline-flex;
180
+ }
181
+
182
+ .ov-agent-connect__code-actions button:hover {
183
+ color: var(--ov-ui-agent-connect-primary);
184
+ }
185
+
186
+ .ov-agent-connect__code-actions button:disabled {
187
+ opacity: .6;
188
+ cursor: wait;
189
+ }
190
+
191
+ .ov-agent-connect__code-actions svg {
192
+ width: 16px;
193
+ height: 16px;
194
+ }
195
+
196
+ .ov-agent-connect .ov-agent-connect__code-block pre {
197
+ white-space: pre-wrap;
198
+ overflow-wrap: anywhere;
199
+ background: none;
200
+ border-radius: 0;
201
+ margin: 0;
202
+ padding: 12px;
203
+ font-size: 12px;
204
+ line-height: 20px;
205
+ }
206
+
207
+ .ov-agent-connect__code-block code {
208
+ font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
209
+ }
210
+
211
+ .ov-agent-connect__code-block > .ov-agent-connect__feedback:not(:empty) {
212
+ padding: 0 12px 8px;
213
+ display: block;
214
+ }
215
+
216
+ .ov-agent-connect__code-feedback {
217
+ clip-path: inset(50%);
218
+ white-space: nowrap;
219
+ width: 1px;
220
+ height: 1px;
221
+ position: absolute;
222
+ overflow: hidden;
223
+ }
224
+
94
225
  .ov-agent-connect {
95
226
  --ov-ui-agent-connect-text: var(--ov-ui-color-text-1, var(--ov-ui-text-1-default));
96
227
  --ov-ui-agent-connect-secondary: var(--ov-ui-color-text-2, var(--ov-ui-text-2-default));
@@ -421,7 +552,7 @@
421
552
  white-space: normal;
422
553
  }
423
554
 
424
- .ov-agent-connect__markdown :where(p, pre, h5, table) {
555
+ .ov-agent-connect__markdown :where(p, pre, h5, table, ul, ol, blockquote, details) {
425
556
  margin: 0 0 12px;
426
557
  }
427
558
 
@@ -433,6 +564,33 @@
433
564
  white-space: pre-wrap;
434
565
  }
435
566
 
567
+ .ov-agent-connect__markdown :where(ul, ol) {
568
+ padding-left: 24px;
569
+ }
570
+
571
+ .ov-agent-connect__markdown ul {
572
+ list-style-type: disc;
573
+ }
574
+
575
+ .ov-agent-connect__markdown ol {
576
+ list-style-type: decimal;
577
+ }
578
+
579
+ .ov-agent-connect__markdown blockquote {
580
+ border-left: 2px solid var(--ov-ui-agent-connect-border);
581
+ margin-left: 0;
582
+ padding-left: 12px;
583
+ }
584
+
585
+ .ov-agent-connect__markdown summary {
586
+ cursor: pointer;
587
+ }
588
+
589
+ .ov-agent-connect__markdown summary:focus-visible {
590
+ outline: 2px solid var(--ov-ui-agent-connect-primary);
591
+ outline-offset: 2px;
592
+ }
593
+
436
594
  .ov-agent-connect__markdown h5 {
437
595
  color: var(--ov-ui-agent-connect-text);
438
596
  font-size: 14px;
@@ -11,12 +11,14 @@ export interface AgentConnectItem {
11
11
  export interface AgentConnectProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'onSelect' | 'onCopy'> {
12
12
  /** 调用方提供的密钥;展示脱敏,复制保留原值。Host API key. */
13
13
  apiKey: string;
14
- /** 内置文案语言;必须由调用方指定。Required content locale. */
15
- locale: AgentConnectLocale;
14
+ /** 内置文案语言;省略时继承上层,最终默认英文。Optional locale; inherits or defaults to en-US. */
15
+ locale?: AgentConnectLocale;
16
16
  /** 服务地址,默认 OpenViking 云服务。Optional service endpoint. */
17
17
  baseUrl?: string;
18
18
  /** 宿主提供的用户协议链接;未传时不显示协议引用。Host agreement URL. */
19
19
  agreementUrl?: string;
20
+ /** 是否展示境外标签,默认 false。Show Overseas tags; defaults to false. */
21
+ showOverseasTag?: boolean;
20
22
  /** 受控页签;默认 mainstream。Controlled tab; defaults to mainstream. */
21
23
  activeTabId?: AgentConnectTabId;
22
24
  /** 受控 Agent;默认 codex。Controlled agent; defaults to codex. */
@@ -25,6 +27,6 @@ export interface AgentConnectProps extends Omit<HTMLAttributes<HTMLDivElement>,
25
27
  onTabChange?: (tabId: AgentConnectTabId) => void;
26
28
  /** 返回内置目录条目的 id 和 name。Reports the built-in item id and name. */
27
29
  onSelect?: (item: AgentConnectItem) => void;
28
- /** 复制成功后通知;不负责写入剪贴板。Success notification, not clipboard writing. */
30
+ /** 复制成功后返回代码块或完整正文。Reports copied block or full-guide text. */
29
31
  onCopy?: (text: string) => void;
30
32
  }
@@ -0,0 +1,6 @@
1
+ /** 提交阶段切断过期结果;每个复制按钮拥有独立的反馈和请求状态。 */
2
+ export declare function useAgentConnectCopy(text: string, onCopy?: (text: string) => void): {
3
+ status: "copied" | "failed" | "idle" | "pending";
4
+ setRoot: (node: HTMLElement | null) => void;
5
+ copy: () => Promise<void>;
6
+ };
@@ -1,4 +1,4 @@
1
- .ov-directory-tour, .ov-agent-connect, .ov-console, .ov-divider, .ov-file-browser-entries, .ov-drawer, .ov-file-browser, .ov-file-preview, .ov-file-tree, .ov-module-placeholder, .ov-popover, .ov-scope-switcher, .ov-tooltip, .ov-tui, .ov-viking-bot, .ov-viking-bot__popover, .ov-viking-bot__reference-picker--mention, .ov-viking-bot__interaction {
1
+ .ov-directory-tour, .ov-wiki-dashboard, .ov-experience-dashboard, .ov-agent-connect, .ov-console, .ov-divider, .ov-file-browser-entries, .ov-drawer, .ov-file-browser, .ov-file-preview, .ov-file-tree, .ov-module-placeholder, .ov-popover, .ov-scope-switcher, .ov-tooltip, .ov-tui, .ov-viking-bot, .ov-viking-bot__popover, .ov-viking-bot__reference-picker--mention, .ov-viking-bot__interaction {
2
2
  --ov-ui-tour-shadow-default: 0 15px 35px #0000000d, 0 5px 15px #0000000d;
3
3
  --ov-ui-tour-highlight-default: #5252ff14;
4
4
  --ov-ui-primary-default: #5252ff;
@@ -35,9 +35,29 @@
35
35
  --ov-ui-overlay-default: #0006;
36
36
  --ov-ui-tooltip-bg-default: #1f2329;
37
37
  --ov-ui-tooltip-text-default: #fff;
38
+ --ov-ui-library-swatch-1-default: linear-gradient(145deg,
39
+ #ffd8ec 8%,
40
+ #ffabc8 46%,
41
+ #d8cbff 100%);
42
+ --ov-ui-library-swatch-2-default: linear-gradient(145deg,
43
+ #d9e8ff 8%,
44
+ #b8a6ff 52%,
45
+ #f3d6ff 100%);
46
+ --ov-ui-library-swatch-3-default: linear-gradient(145deg,
47
+ #ffe6bc 8%,
48
+ #ffaf96 48%,
49
+ #ff8bc5 100%);
50
+ --ov-ui-library-swatch-4-default: linear-gradient(145deg,
51
+ #eaf7ba 8%,
52
+ #b5efb8 52%,
53
+ #73d9c6 100%);
54
+ --ov-ui-library-swatch-5-default: linear-gradient(145deg,
55
+ #fff1ba 8%,
56
+ #ffc776 52%,
57
+ #bd9cff 100%);
38
58
  }
39
59
 
40
- .dark .ov-directory-tour, .dark .ov-agent-connect, .dark .ov-console, .dark .ov-divider, .dark .ov-file-browser-entries, .dark .ov-drawer, .dark .ov-file-browser, .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__popover, .dark .ov-viking-bot__reference-picker--mention, .dark .ov-viking-bot__interaction {
60
+ .dark .ov-directory-tour, html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, .dark .ov-agent-connect, .dark .ov-console, .dark .ov-divider, .dark .ov-file-browser-entries, .dark .ov-drawer, .dark .ov-file-browser, .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__popover, .dark .ov-viking-bot__reference-picker--mention, .dark .ov-viking-bot__interaction {
41
61
  --ov-ui-primary-default: #5f5fff;
42
62
  --ov-ui-primary-hover-default: #7075ff;
43
63
  --ov-ui-primary-active-default: #4242ba;
@@ -91,6 +111,30 @@
91
111
  --ov-ui-connect-notice-default: var(--ov-ui-text-2-default);
92
112
  }
93
113
 
114
+ .ov-wiki-dashboard, .ov-experience-dashboard, .ov-file-browser {
115
+ --ov-ui-dashboard-surface-default: #f8f8f8;
116
+ --ov-ui-dashboard-card-default: #fafafa;
117
+ --ov-ui-dashboard-muted-default: #787c91;
118
+ --ov-ui-dashboard-border-default: #edeef2;
119
+ --ov-ui-dashboard-warning-default: #eb7d00;
120
+ --ov-ui-dashboard-warning-light-default: #fff0e5;
121
+ --ov-ui-dashboard-danger-default: #d92d54;
122
+ --ov-ui-dashboard-danger-light-default: #ffecee;
123
+ --ov-ui-dashboard-success-default: #4f9c70;
124
+ }
125
+
126
+ html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-file-browser {
127
+ --ov-ui-dashboard-surface-default: var(--ov-ui-bg-3-default);
128
+ --ov-ui-dashboard-card-default: var(--ov-ui-bg-3-default);
129
+ --ov-ui-dashboard-muted-default: var(--ov-ui-text-3-default);
130
+ --ov-ui-dashboard-border-default: var(--ov-ui-border-1-default);
131
+ --ov-ui-dashboard-warning-default: var(--ov-ui-warning-default);
132
+ --ov-ui-dashboard-warning-light-default: var(--ov-ui-warning-light-default);
133
+ --ov-ui-dashboard-danger-default: var(--ov-ui-status-error-default);
134
+ --ov-ui-dashboard-danger-light-default: var(--ov-ui-bg-5-default);
135
+ --ov-ui-dashboard-success-default: var(--ov-ui-status-success-default);
136
+ }
137
+
94
138
  .ov-directory-tour {
95
139
  --ov-ui-directory-tour-primary: var(--ov-ui-color-primary, var(--ov-ui-primary-default));
96
140
  --ov-ui-directory-tour-background: var(--ov-ui-color-bg-1, var(--ov-ui-bg-1-default));
@@ -23,9 +23,10 @@ export interface DirectoryTourLabels {
23
23
  progress?: (current: number, total: number) => string;
24
24
  }
25
25
  export interface DirectoryTourProps {
26
- locale: Locale;
27
26
  open: boolean;
28
27
  steps: readonly DirectoryTourStep[];
28
+ /** Inherits the nearest language scope, otherwise en-US. */
29
+ locale?: Locale;
29
30
  currentStep?: number;
30
31
  defaultStep?: number;
31
32
  placement?: 'right' | 'left';
@@ -0,0 +1,11 @@
1
+ import type { ReactNode } from 'react';
2
+ export declare function DashboardTabs<T extends string>({ tabs, active, label, onChange, children, }: {
3
+ tabs: readonly {
4
+ key: T;
5
+ title: string;
6
+ }[];
7
+ active: T;
8
+ label: string;
9
+ onChange: (key: T) => void;
10
+ children: ReactNode;
11
+ }): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { ExperienceDashboardProps } from './types.js';
2
+ export declare function ExperienceDashboard(props: ExperienceDashboardProps): import("react").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import type { DashboardStatus } from '../../shared/dashboard/dashboard-state.js';
2
+ import type { ExperienceDashboardData, ExperienceDashboardLabels } from './types.js';
3
+ export declare function ExperienceImpact({ data, labels: t, days, onDaysChange, outcomesState, trajectoriesState, onOpenUri, }: {
4
+ data: ExperienceDashboardData;
5
+ labels: ExperienceDashboardLabels;
6
+ days: number;
7
+ onDaysChange: (days: number) => void;
8
+ outcomesState: DashboardStatus;
9
+ trajectoriesState: DashboardStatus;
10
+ onOpenUri?: (uri: string) => void;
11
+ }): import("react").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import type { ExperienceDashboardLabels, ExperienceItem } from './types.js';
2
+ export declare function ExperienceList({ items, total, startIndex, locale, labels: t, onOpenUri, }: {
3
+ items: readonly ExperienceItem[];
4
+ total?: number;
5
+ startIndex?: number;
6
+ locale?: 'en-US' | 'zh-CN';
7
+ labels: ExperienceDashboardLabels;
8
+ onOpenUri?: (uri: string) => void;
9
+ }): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import type { ExperienceDashboardLabels } from './types.js';
2
+ export declare function ExperiencePagination({ page, hasMore, loading, labels: t, onPageChange, }: {
3
+ page: number;
4
+ hasMore: boolean;
5
+ loading?: boolean;
6
+ labels: ExperienceDashboardLabels;
7
+ onPageChange?: (page: number) => void;
8
+ }): import("react").JSX.Element | null;
@@ -0,0 +1,6 @@
1
+ import type { ExperienceDashboardData, ExperienceDashboardLabels } from './types.js';
2
+ export declare function ExperienceTests({ items, labels: t, onOpenUri, }: {
3
+ items: NonNullable<ExperienceDashboardData['testMaterials']>;
4
+ labels: ExperienceDashboardLabels;
5
+ onOpenUri?: (uri: string) => void;
6
+ }): import("react").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import type { ExperienceTrajectory } from './types.js';
2
+ export declare function ExperienceTrajectories({ items, onOpenUri, source, }: {
3
+ items: readonly ExperienceTrajectory[];
4
+ onOpenUri?: (uri: string) => void;
5
+ source?: boolean;
6
+ }): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { ExperienceDashboard } from './experience-dashboard.js';
2
+ export type { ExperienceDashboardProps, ExperienceDashboardTab, ExperienceDashboardState, ExperienceDashboardData, ExperienceDashboardLabels, ExperienceItem, ExperienceOutcome, ExperienceTrajectory, } from './types.js';
@@ -0,0 +1,2 @@
1
+ import type { ExperienceDashboardLabels } from './types.js';
2
+ export declare const experienceLabels: (locale?: string, labels?: Partial<ExperienceDashboardLabels>) => ExperienceDashboardLabels;