@openviking/react 0.1.6 → 0.1.8-beta.10.1.g8e5299efeb0a

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 (172) hide show
  1. package/README.md +13 -1
  2. package/dist/1~0.js +57 -0
  3. package/dist/2~0.js +6 -5
  4. package/dist/3c~0.js +10 -4
  5. package/dist/3~0.js +189 -13
  6. package/dist/5~0.js +181 -0
  7. package/dist/6~0.js +48 -0
  8. package/dist/ae~0.js +8 -1
  9. package/dist/ark-message-list-view~0.js +9 -4
  10. package/dist/a~0.js +12 -6
  11. package/dist/c7r~0.js +50 -0
  12. package/dist/ck~0.js +3 -0
  13. package/dist/client/paths.d.ts +6 -0
  14. package/dist/client/provider.d.ts +6 -1
  15. package/dist/components/agent-connect/style.css +224 -35
  16. package/dist/components/api-key-login-form/api-key-login-form.d.ts +2 -0
  17. package/dist/components/api-key-login-form/index.d.ts +3 -0
  18. package/dist/components/api-key-login-form/style.css +438 -0
  19. package/dist/components/api-key-login-form/style.js +0 -0
  20. package/dist/components/api-key-login-form/types.d.ts +7 -0
  21. package/dist/components/api-key-login-form.js +1 -0
  22. package/dist/components/directory-tour/directory-tour-intro.d.ts +3 -0
  23. package/dist/components/directory-tour/index.d.ts +2 -1
  24. package/dist/components/directory-tour/style.css +367 -39
  25. package/dist/components/directory-tour/tour-card.d.ts +14 -0
  26. package/dist/components/directory-tour/types.d.ts +24 -1
  27. package/dist/components/directory-tour/use-tour-anchor.d.ts +1 -0
  28. package/dist/components/directory-tour/use-tour-position.d.ts +4 -1
  29. package/dist/components/directory-tour/use-tour-theme.d.ts +2 -0
  30. package/dist/components/directory-tour.js +53 -2
  31. package/dist/components/email-login-form/email-login-form.d.ts +2 -0
  32. package/dist/components/email-login-form/index.d.ts +3 -0
  33. package/dist/components/email-login-form/style.css +438 -0
  34. package/dist/components/email-login-form/style.js +0 -0
  35. package/dist/components/email-login-form/types.d.ts +11 -0
  36. package/dist/components/email-login-form.js +1 -0
  37. package/dist/components/experience-dashboard/experience-impact.d.ts +3 -1
  38. package/dist/components/experience-dashboard/style.css +229 -12
  39. package/dist/components/experience-dashboard.js +1 -1
  40. package/dist/components/file-browser-entries/style.css +331 -80
  41. package/dist/components/file-preview/file-preview-header.d.ts +4 -21
  42. package/dist/components/file-preview/file-preview-toolbar.d.ts +7 -0
  43. package/dist/components/file-preview/locales/en-US.d.ts +9 -0
  44. package/dist/components/file-preview/locales/zh-CN.d.ts +9 -0
  45. package/dist/components/file-preview/style.css +335 -76
  46. package/dist/components/file-preview/types.d.ts +14 -21
  47. package/dist/components/file-tree/file-tree-toolbar.d.ts +3 -3
  48. package/dist/components/file-tree/locales/en-US.d.ts +3 -0
  49. package/dist/components/file-tree/locales/zh-CN.d.ts +3 -0
  50. package/dist/components/file-tree/style.css +313 -86
  51. package/dist/components/file-tree/types.d.ts +13 -4
  52. package/dist/components/invitation-confirmation/index.d.ts +3 -0
  53. package/dist/components/invitation-confirmation/invitation-confirmation.d.ts +2 -0
  54. package/dist/components/invitation-confirmation/style.css +438 -0
  55. package/dist/components/invitation-confirmation/style.js +0 -0
  56. package/dist/components/invitation-confirmation/types.d.ts +20 -0
  57. package/dist/components/invitation-confirmation.js +1 -0
  58. package/dist/components/login-method-selector/index.d.ts +2 -0
  59. package/dist/components/login-method-selector/login-method-selector.d.ts +2 -0
  60. package/dist/components/login-method-selector/style.css +438 -0
  61. package/dist/components/login-method-selector/style.js +0 -0
  62. package/dist/components/login-method-selector/types.d.ts +14 -0
  63. package/dist/components/login-method-selector.js +1 -0
  64. package/dist/components/password-reset-request-form/index.d.ts +3 -0
  65. package/dist/components/password-reset-request-form/password-reset-request-form.d.ts +2 -0
  66. package/dist/components/password-reset-request-form/style.css +438 -0
  67. package/dist/components/password-reset-request-form/style.js +0 -0
  68. package/dist/components/password-reset-request-form/types.d.ts +13 -0
  69. package/dist/components/password-reset-request-form.js +1 -0
  70. package/dist/components/password-setup-form/index.d.ts +3 -0
  71. package/dist/components/password-setup-form/password-setup-form.d.ts +2 -0
  72. package/dist/components/password-setup-form/style.css +438 -0
  73. package/dist/components/password-setup-form/style.js +0 -0
  74. package/dist/components/password-setup-form/types.d.ts +10 -0
  75. package/dist/components/password-setup-form.js +1 -0
  76. package/dist/components/scope-switcher/style.css +368 -37
  77. package/dist/components/style.css +13071 -7474
  78. package/dist/components/tui/style.css +271 -35
  79. package/dist/components/viking-bot/interaction/style.css +143 -22
  80. package/dist/components/viking-bot/style.css +951 -295
  81. package/dist/components/wiki-dashboard/index.d.ts +1 -1
  82. package/dist/components/wiki-dashboard/style.css +241 -14
  83. package/dist/components/wiki-dashboard/types.d.ts +12 -16
  84. package/dist/components/wiki-dashboard/wiki-action-button.d.ts +2 -9
  85. package/dist/components/wiki-dashboard/wiki-conflict-card.d.ts +3 -10
  86. package/dist/c~0.js +16 -8
  87. package/dist/d~0.js +28 -0
  88. package/dist/ep~0.js +493 -0
  89. package/dist/e~0.js +33 -328
  90. package/dist/fi~0.js +13 -28
  91. package/dist/fj~0.js +38 -69
  92. package/dist/fl~0.js +710 -0
  93. package/dist/f~0.js +61 -685
  94. package/dist/g~0.js +135 -0
  95. package/dist/icons/index.d.ts +2 -0
  96. package/dist/icons.js +1 -1
  97. package/dist/index.d.ts +12 -0
  98. package/dist/index.js +9 -3
  99. package/dist/k~0.js +44 -4
  100. package/dist/l5~0.js +3813 -0
  101. package/dist/lk~0.js +5 -2
  102. package/dist/l~0.js +49 -2369
  103. package/dist/modules/console/style.css +1485 -351
  104. package/dist/modules/file-browser/acl/acl-add-principal.d.ts +12 -0
  105. package/dist/modules/file-browser/acl/acl-candidate.d.ts +8 -0
  106. package/dist/modules/file-browser/acl/acl-client.d.ts +13 -0
  107. package/dist/modules/file-browser/acl/acl-confirmation.d.ts +6 -0
  108. package/dist/modules/file-browser/acl/acl-entry.d.ts +13 -0
  109. package/dist/modules/file-browser/acl/acl-labels.d.ts +47 -0
  110. package/dist/modules/file-browser/acl/acl-menu.d.ts +10 -0
  111. package/dist/modules/file-browser/acl/acl-modal.d.ts +17 -0
  112. package/dist/modules/file-browser/acl/acl-model.d.ts +17 -0
  113. package/dist/modules/file-browser/acl/acl-principal-tabs.d.ts +6 -0
  114. package/dist/modules/file-browser/acl/acl-tag.d.ts +7 -0
  115. package/dist/modules/file-browser/acl/locales/en-US.d.ts +44 -0
  116. package/dist/modules/file-browser/acl/locales/zh-CN.d.ts +44 -0
  117. package/dist/modules/file-browser/acl/use-acl-principals.d.ts +17 -0
  118. package/dist/modules/file-browser/acl/use-acl-report.d.ts +27 -0
  119. package/dist/modules/file-browser/acl-types.d.ts +86 -0
  120. package/dist/modules/file-browser/dashboard-model.d.ts +3 -0
  121. package/dist/modules/file-browser/file-browser-detail-icons.d.ts +0 -6
  122. package/dist/modules/file-browser/file-browser-detail.d.ts +5 -23
  123. package/dist/modules/file-browser/file-browser-labels.d.ts +1 -1
  124. package/dist/modules/file-browser/file-browser-search.d.ts +20 -0
  125. package/dist/modules/file-browser/file-browser-toolbar.d.ts +3 -10
  126. package/dist/modules/file-browser/file-browser-tree-pane.d.ts +2 -6
  127. package/dist/modules/file-browser/file-browser.d.ts +1 -1
  128. package/dist/modules/file-browser/fs-directories.d.ts +1 -0
  129. package/dist/modules/file-browser/fs-file-editing.d.ts +4 -0
  130. package/dist/modules/file-browser/fs-model.d.ts +3 -1
  131. package/dist/modules/file-browser/fs-preview-images.d.ts +3 -0
  132. package/dist/modules/file-browser/fs-read-file.d.ts +1 -1
  133. package/dist/modules/file-browser/index.d.ts +1 -0
  134. package/dist/modules/file-browser/locales/en-US.d.ts +5 -0
  135. package/dist/modules/file-browser/locales/zh-CN.d.ts +5 -0
  136. package/dist/modules/file-browser/style.css +2595 -703
  137. package/dist/modules/file-browser/types.d.ts +22 -20
  138. package/dist/modules/file-browser/use-file-browser-acl.d.ts +16 -0
  139. package/dist/modules/file-browser/use-file-browser.d.ts +5 -7
  140. package/dist/modules/file-browser/use-fs-tree.d.ts +1 -0
  141. package/dist/modules/file-browser/wiki-dashboard-pane.d.ts +2 -4
  142. package/dist/modules/file-browser.js +1 -1
  143. package/dist/modules/scope-cascade/style.css +537 -37
  144. package/dist/modules/style.css +12429 -8855
  145. package/dist/n~0.js +61 -37
  146. package/dist/p0~0.js +27 -0
  147. package/dist/p~0.js +34 -25
  148. package/dist/rt~0.js +107 -4
  149. package/dist/r~0.js +1 -1
  150. package/dist/shared/auth/agreements.d.ts +10 -0
  151. package/dist/shared/auth/fields.d.ts +15 -0
  152. package/dist/shared/auth/form-frame.d.ts +12 -0
  153. package/dist/shared/auth/locales/en-US.d.ts +24 -0
  154. package/dist/shared/auth/locales/zh-CN.d.ts +24 -0
  155. package/dist/shared/auth/types.d.ts +61 -0
  156. package/dist/shared/auth/use-auth-labels.d.ts +3 -0
  157. package/dist/shared/auth/use-form.d.ts +8 -0
  158. package/dist/shared/components/button/button.d.ts +20 -0
  159. package/dist/shared/components/input/input.d.ts +17 -0
  160. package/dist/shared/components/modal/locales/en-US.d.ts +4 -0
  161. package/dist/shared/components/modal/locales/zh-CN.d.ts +4 -0
  162. package/dist/shared/components/modal/modal.d.ts +2 -0
  163. package/dist/shared/components/modal/types.d.ts +18 -0
  164. package/dist/shared/components/overlay/lock-body-scroll.d.ts +1 -0
  165. package/dist/style.css +15477 -6258
  166. package/dist/s~0.js +16 -0
  167. package/dist/u~0.js +15 -6
  168. package/dist/viking-bot-composer~0.js +29 -11
  169. package/dist/viking-bot-interaction~0.js +2 -1
  170. package/package.json +34 -3
  171. package/dist/modules/file-browser/fs-selection.d.ts +0 -4
  172. package/dist/o~0.js +0 -106
@@ -1,2 +1,2 @@
1
1
  export { WikiDashboard } from './wiki-dashboard.js';
2
- export type { WikiConflict, WikiDashboardData, WikiDashboardLabels, WikiDashboardProps, WikiDirectoryData, WikiFileData, } from './types.js';
2
+ export type { WikiConflict, WikiDashboardAction, WikiDashboardData, WikiDashboardLabels, WikiDashboardProps, WikiDirectoryData, WikiFileData, } from './types.js';
@@ -1,6 +1,177 @@
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 {
1
+ .ov-button {
2
+ --ov-ui-button-height: 32px;
3
+ --ov-ui-button-padding: 16px;
4
+ --ov-ui-button-primary: var(--ov-ui-color-primary, var(--ov-ui-primary-default));
5
+ --ov-ui-button-text: var(--ov-ui-color-text-2, var(--ov-ui-text-2-default));
6
+ --ov-ui-button-fill: var(--ov-ui-color-bg-5, var(--ov-ui-bg-5-default));
7
+ --ov-ui-button-fill-hover: var(--ov-ui-color-bg-11, var(--ov-ui-bg-11-default));
8
+ --ov-ui-button-focus-ring: var(--ov-ui-color-neutral-4, var(--ov-ui-neutral-4-default));
9
+ appearance: none;
10
+ box-sizing: border-box;
11
+ height: var(--ov-ui-button-height);
12
+ padding: 0 var(--ov-ui-button-padding);
13
+ background: var(--ov-ui-button-fill);
14
+ color: var(--ov-ui-button-text);
15
+ white-space: nowrap;
16
+ cursor: pointer;
17
+ -webkit-user-select: none;
18
+ user-select: none;
19
+ border: 1px solid #0000;
20
+ border-radius: 6px;
21
+ flex-shrink: 0;
22
+ justify-content: center;
23
+ align-items: center;
24
+ gap: 8px;
25
+ margin: 0;
26
+ font-family: inherit;
27
+ font-size: 13px;
28
+ font-weight: 500;
29
+ line-height: 1.53846;
30
+ text-decoration: none;
31
+ transition: background-color .1s cubic-bezier(0, 0, 1, 1), border-color .1s cubic-bezier(0, 0, 1, 1), color .1s cubic-bezier(0, 0, 1, 1);
32
+ display: inline-flex;
33
+ }
34
+
35
+ .ov-button--mini {
36
+ --ov-ui-button-height: 24px;
37
+ --ov-ui-button-padding: 12px;
38
+ gap: 4px;
39
+ font-size: 12px;
40
+ }
41
+
42
+ .ov-button--small {
43
+ --ov-ui-button-height: 28px;
44
+ }
45
+
46
+ .ov-button--large {
47
+ --ov-ui-button-height: 36px;
48
+ }
49
+
50
+ .ov-button--icon-only {
51
+ width: var(--ov-ui-button-height);
52
+ padding: 0;
53
+ }
54
+
55
+ .ov-button--circle {
56
+ border-radius: 50%;
57
+ }
58
+
59
+ .ov-button--long {
60
+ width: 100%;
61
+ }
62
+
63
+ .ov-button:not(:disabled):not([aria-disabled="true"]):hover {
64
+ background: var(--ov-ui-button-fill-hover);
65
+ }
66
+
67
+ .ov-button:not(:disabled):not([aria-disabled="true"]):active {
68
+ background: var(--ov-ui-button-fill);
69
+ color: var(--ov-ui-color-text-1, var(--ov-ui-text-1-default));
70
+ transition: none;
71
+ }
72
+
73
+ .ov-button:focus-visible {
74
+ box-shadow: 0 0 0 2px var(--ov-ui-button-focus-ring);
75
+ outline: none;
76
+ }
77
+
78
+ .ov-button:disabled:not(.ov-button--loading), .ov-button.ov-button--disabled, .ov-button[aria-disabled="true"] {
79
+ background: var(--ov-ui-color-bg-4, var(--ov-ui-bg-4-default));
80
+ cursor: not-allowed;
81
+ color: var(--ov-ui-color-text-disabled, var(--ov-ui-text-disabled-default));
82
+ }
83
+
84
+ .ov-button--primary, .ov-button--outline {
85
+ --ov-ui-button-focus-ring: var(--ov-ui-color-primary-disabled, var(--ov-ui-primary-disabled-default));
86
+ }
87
+
88
+ .ov-button--primary {
89
+ background: var(--ov-ui-button-primary);
90
+ color: var(--ov-ui-color-text-on-primary, var(--ov-ui-text-on-primary-default));
91
+ border-style: dashed;
92
+ }
93
+
94
+ .ov-button--primary:not(:disabled):not([aria-disabled="true"]):hover {
95
+ background: var(--ov-ui-color-primary-strong, var(--ov-ui-primary-strong-default));
96
+ color: var(--ov-ui-color-text-on-primary, var(--ov-ui-text-on-primary-default));
97
+ }
98
+
99
+ .ov-button--primary:not(:disabled):not([aria-disabled="true"]):active {
100
+ background: var(--ov-ui-button-primary);
101
+ color: var(--ov-ui-color-text-on-primary, var(--ov-ui-text-on-primary-default));
102
+ }
103
+
104
+ .ov-button--primary:disabled:not(.ov-button--loading), .ov-button--primary.ov-button--disabled, .ov-button--primary[aria-disabled="true"] {
105
+ background: var(--ov-ui-color-primary-disabled, var(--ov-ui-primary-disabled-default));
106
+ color: var(--ov-ui-color-text-on-primary-disabled, var(--ov-ui-on-primary-disabled-default));
107
+ }
108
+
109
+ .ov-button--outline, .ov-button--outline:disabled:not(.ov-button--loading), .ov-button--outline.ov-button--disabled, .ov-button--outline[aria-disabled="true"] {
110
+ border-color: var(--ov-ui-color-border-3, var(--ov-ui-border-3-default));
111
+ background: none;
112
+ }
113
+
114
+ .ov-button--outline:not(:disabled):not([aria-disabled="true"]):hover, .ov-button--outline:not(:disabled):not([aria-disabled="true"]):active {
115
+ background: var(--ov-ui-color-bg-7, var(--ov-ui-bg-7-default));
116
+ color: var(--ov-ui-button-text);
117
+ }
118
+
119
+ .ov-button--outline:not(:disabled):not([aria-disabled="true"]):active {
120
+ border-color: var(--ov-ui-color-border-4, var(--ov-ui-border-4-default));
121
+ }
122
+
123
+ .ov-button--text {
124
+ color: var(--ov-ui-color-link, var(--ov-ui-link-default));
125
+ background: none;
126
+ }
127
+
128
+ .ov-button--text:not(:disabled):not([aria-disabled="true"]):hover, .ov-button--text:disabled:not(.ov-button--loading), .ov-button--text.ov-button--disabled, .ov-button--text[aria-disabled="true"] {
129
+ color: var(--ov-ui-color-primary-muted, var(--ov-ui-primary-muted-default));
130
+ background: none;
131
+ }
132
+
133
+ .ov-button--text:not(:disabled):not([aria-disabled="true"]):active {
134
+ color: var(--ov-ui-color-link-active, var(--ov-ui-link-active-default));
135
+ background: none;
136
+ }
137
+
138
+ .ov-button__icon {
139
+ flex: none;
140
+ align-items: center;
141
+ display: inline-flex;
142
+ }
143
+
144
+ .ov-button__spinner {
145
+ box-sizing: border-box;
146
+ border: 1.5px solid;
147
+ border-inline-start-color: #0000;
148
+ border-radius: 50%;
149
+ width: 1em;
150
+ height: 1em;
151
+ animation: 1s linear infinite ov-button-spin;
152
+ }
153
+
154
+ @keyframes ov-button-spin {
155
+ to {
156
+ transform: rotate(360deg);
157
+ }
158
+ }
159
+
160
+ @media (prefers-reduced-motion: reduce) {
161
+ .ov-button {
162
+ transition: none;
163
+ }
164
+
165
+ .ov-button__spinner {
166
+ animation: none;
167
+ }
168
+ }
169
+
170
+ .ov-button, .ov-input, .ov-textarea, .ov-directory-tour, .ov-wiki-dashboard, .ov-experience-dashboard, .ov-auth, .ov-agent-connect, .ov-console, .ov-divider, .ov-file-browser-entries, .ov-drawer, .ov-modal, .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
171
  --ov-ui-tour-shadow-default: 0 15px 35px #0000000d, 0 5px 15px #0000000d;
3
172
  --ov-ui-tour-highlight-default: #5252ff14;
173
+ --ov-ui-auth-on-primary-default: #fff;
174
+ --ov-ui-auth-backdrop-default: #0006;
4
175
  --ov-ui-primary-default: #5252ff;
5
176
  --ov-ui-primary-hover-default: #7075ff;
6
177
  --ov-ui-primary-active-default: #3833d2;
@@ -57,7 +228,7 @@
57
228
  #bd9cff 100%);
58
229
  }
59
230
 
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 {
231
+ html.dark .ov-button, html.dark .ov-input, html.dark .ov-textarea, .dark .ov-directory-tour, html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, .dark .ov-auth, .dark .ov-agent-connect, .dark .ov-console, .dark .ov-divider, .dark .ov-file-browser-entries, .dark .ov-drawer, .dark .ov-modal, .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 {
61
232
  --ov-ui-primary-default: #5f5fff;
62
233
  --ov-ui-primary-hover-default: #7075ff;
63
234
  --ov-ui-primary-active-default: #4242ba;
@@ -87,6 +258,52 @@
87
258
  --ov-ui-tooltip-text-default: #f0f1f3;
88
259
  }
89
260
 
261
+ .ov-button, .ov-input, .ov-textarea {
262
+ --ov-ui-bg-white-default: var(--ov-ui-bg-1-default);
263
+ --ov-ui-bg-2-default: #fafbfd;
264
+ --ov-ui-bg-7-default: var(--ov-ui-border-1-default);
265
+ --ov-ui-bg-11-default: #e1e3ef;
266
+ --ov-ui-border-4-default: #acb0c5;
267
+ --ov-ui-neutral-4-default: #c9cdd4;
268
+ --ov-ui-primary-muted-default: #8e96ff;
269
+ --ov-ui-primary-strong-default: var(--ov-ui-primary-active-default);
270
+ --ov-ui-link-default: var(--ov-ui-primary-default);
271
+ --ov-ui-link-active-default: var(--ov-ui-primary-active-default);
272
+ --ov-ui-text-5-default: #c9c9d4;
273
+ --ov-ui-on-primary-disabled-default: var(--ov-ui-text-on-primary-default);
274
+ --ov-ui-input-focus-ring-default: color-mix(in srgb,
275
+ var(--ov-ui-color-primary, var(--ov-ui-primary-default)) 30%,
276
+ transparent);
277
+ --ov-ui-error-default: #e31b54;
278
+ --ov-ui-error-bg-default: #ffecec;
279
+ --ov-ui-error-border-default: #ffa3a0;
280
+ }
281
+
282
+ html.dark .ov-button, html.dark .ov-input, html.dark .ov-textarea {
283
+ --ov-ui-bg-white-default: #fff0;
284
+ --ov-ui-bg-2-default: #fcfdfe03;
285
+ --ov-ui-bg-4-default: #f6f8fa0f;
286
+ --ov-ui-bg-5-default: #f1f3f514;
287
+ --ov-ui-bg-7-default: #1a1b1e;
288
+ --ov-ui-bg-11-default: #1e2023;
289
+ --ov-ui-border-2-default: #dde2e926;
290
+ --ov-ui-border-3-default: #dde2e94d;
291
+ --ov-ui-border-4-default: #6d6d6d;
292
+ --ov-ui-neutral-4-default: #5f5f60;
293
+ --ov-ui-primary-disabled-default: #3f3a89;
294
+ --ov-ui-primary-muted-default: #4c48b4;
295
+ --ov-ui-primary-strong-default: var(--ov-ui-primary-hover-default);
296
+ --ov-ui-link-default: #787dff;
297
+ --ov-ui-link-active-default: #949cff;
298
+ --ov-ui-text-disabled-default: #42464e;
299
+ --ov-ui-text-5-default: #e1e3ef;
300
+ --ov-ui-on-primary-disabled-default: #ffffff4d;
301
+ --ov-ui-input-focus-ring-default: #4583ff4d;
302
+ --ov-ui-error-default: #ff706d;
303
+ --ov-ui-error-bg-default: #9f211c33;
304
+ --ov-ui-error-border-default: #ff706d4d;
305
+ }
306
+
90
307
  .dark .ov-viking-bot {
91
308
  --ov-ui-code-bg-default: var(--ov-ui-bg-3-default);
92
309
  }
@@ -395,13 +612,13 @@ html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-
395
612
  line-height: 22px;
396
613
  }
397
614
 
398
- .ov-wiki-dashboard button {
615
+ .ov-wiki-dashboard button:not(.ov-button) {
399
616
  cursor: pointer;
400
617
  font: inherit;
401
618
  color: inherit;
402
619
  }
403
620
 
404
- .ov-wiki-dashboard button:disabled {
621
+ .ov-wiki-dashboard button:not(.ov-button):disabled {
405
622
  cursor: default;
406
623
  }
407
624
 
@@ -420,13 +637,21 @@ html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-
420
637
  }
421
638
 
422
639
  .ov-wiki-dashboard__conflict-row {
423
- grid-template-columns: 78px minmax(140px, 1fr) 200px 74px 100px;
640
+ grid-template-columns: 78px minmax(140px, 1fr) 200px 74px;
424
641
  align-items: center;
425
642
  display: grid;
426
643
  }
427
644
 
428
645
  .ov-wiki-dashboard__conflict-row--without-path {
429
- grid-template-columns: 78px minmax(140px, 1fr) 74px 100px;
646
+ grid-template-columns: 78px minmax(140px, 1fr) 74px;
647
+ }
648
+
649
+ .ov-wiki-dashboard__conflict-row--with-actions {
650
+ grid-template-columns: 78px minmax(140px, 1fr) 200px 74px max-content;
651
+ }
652
+
653
+ .ov-wiki-dashboard__conflict-row--with-actions.ov-wiki-dashboard__conflict-row--without-path {
654
+ grid-template-columns: 78px minmax(140px, 1fr) 74px max-content;
430
655
  }
431
656
 
432
657
  .ov-wiki-dashboard__severity {
@@ -528,7 +753,7 @@ html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-
528
753
  display: flex;
529
754
  }
530
755
 
531
- .ov-wiki-dashboard__files button {
756
+ .ov-wiki-dashboard__files button:not(.ov-button) {
532
757
  text-align: start;
533
758
  background: none;
534
759
  border: 0;
@@ -536,7 +761,7 @@ html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-
536
761
  padding: 0;
537
762
  }
538
763
 
539
- .ov-wiki-dashboard__files button:first-child {
764
+ .ov-wiki-dashboard__files button:not(.ov-button):first-child {
540
765
  flex-direction: column;
541
766
  flex: 1;
542
767
  align-items: stretch;
@@ -549,7 +774,7 @@ html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-
549
774
  font-size: 12px;
550
775
  }
551
776
 
552
- .ov-wiki-dashboard :is(button, summary):focus-visible {
777
+ .ov-wiki-dashboard :is(button:not(.ov-button), summary):focus-visible {
553
778
  outline: 2px solid var(--ov-ui-color-primary, var(--ov-ui-primary-default));
554
779
  outline-offset: 2px;
555
780
  }
@@ -562,7 +787,7 @@ html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-
562
787
  flex: none;
563
788
  }
564
789
 
565
- .ov-wiki-dashboard__files button:first-of-type {
790
+ .ov-wiki-dashboard__files button:not(.ov-button):first-of-type {
566
791
  flex-direction: column;
567
792
  flex: 1;
568
793
  min-width: 0;
@@ -581,7 +806,7 @@ html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-
581
806
  flex: none;
582
807
  }
583
808
 
584
- .ov-wiki-dashboard__issue > button, .ov-wiki-dashboard__path > button {
809
+ .ov-wiki-dashboard__issue > button:not(.ov-button), .ov-wiki-dashboard__path > button:not(.ov-button) {
585
810
  text-overflow: ellipsis;
586
811
  white-space: nowrap;
587
812
  text-align: start;
@@ -607,12 +832,14 @@ html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-
607
832
  }
608
833
 
609
834
  .ov-wiki-dashboard__actions {
835
+ flex: none;
836
+ align-items: center;
610
837
  gap: 8px;
611
838
  padding: 0 16px;
612
839
  display: flex;
613
840
  }
614
841
 
615
- .ov-wiki-dashboard__actions button {
842
+ .ov-wiki-dashboard__actions button:not(.ov-button) {
616
843
  background: var(--ov-ui-color-bg-5, var(--ov-ui-bg-5-default));
617
844
  border: 0;
618
845
  border-radius: 6px;
@@ -624,12 +851,12 @@ html.dark .ov-wiki-dashboard, html.dark .ov-experience-dashboard, html.dark .ov-
624
851
  display: inline-flex;
625
852
  }
626
853
 
627
- .ov-wiki-dashboard__actions button[aria-disabled="true"] {
854
+ .ov-wiki-dashboard__actions button:not(.ov-button)[aria-disabled="true"] {
628
855
  opacity: .4;
629
856
  cursor: not-allowed;
630
857
  }
631
858
 
632
- .ov-wiki-dashboard__actions button:hover:not([aria-disabled="true"]) {
859
+ .ov-wiki-dashboard__actions button:not(.ov-button):hover:not([aria-disabled="true"]) {
633
860
  background: var(--ov-ui-color-fill-hover, var(--ov-ui-fill-hover-default));
634
861
  }
635
862
 
@@ -1,4 +1,4 @@
1
- import type { HTMLAttributes } from 'react';
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
2
  export interface WikiConflict {
3
3
  id: string;
4
4
  matchText: string;
@@ -31,10 +31,16 @@ export interface WikiFileData {
31
31
  path?: string;
32
32
  }
33
33
  export type WikiDashboardData = WikiDirectoryData | WikiFileData;
34
+ export interface WikiDashboardAction {
35
+ key: string;
36
+ icon: ReactNode;
37
+ tooltip: string;
38
+ disabled?: boolean;
39
+ onClick?: () => void;
40
+ }
34
41
  export interface WikiDashboardLabels {
35
42
  title: string;
36
43
  pendingLabel: string;
37
- discuss: string;
38
44
  conflicts: string;
39
45
  conflictFiles: string;
40
46
  pending: string;
@@ -51,14 +57,10 @@ export interface WikiDashboardLabels {
51
57
  failed: string;
52
58
  retry: string;
53
59
  open: string;
54
- edit: string;
55
60
  solution: string;
56
61
  occurred: string;
57
62
  fixedAt: string;
58
63
  evidence: string;
59
- history: string;
60
- historyHint: string;
61
- unavailable: string;
62
64
  limited: string;
63
65
  }
64
66
  interface WikiDashboardCommonProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
@@ -71,22 +73,16 @@ interface WikiDashboardCommonProps extends Omit<HTMLAttributes<HTMLDivElement>,
71
73
  export type WikiDashboardProps = WikiDashboardCommonProps & ({
72
74
  kind: 'directory';
73
75
  data?: WikiDirectoryData;
74
- editDisabledReason?: never;
75
- discussDisabledReason?: never;
76
76
  onOpenUri?: (uri: string) => void;
77
77
  onOpenDashboard?: (uri: string) => void;
78
- onEdit?: (uri: string) => void;
79
- onDiscuss?: never;
78
+ /** Omitted or empty actions hide the row's action area. */
79
+ defineActions?: (uri: string) => readonly WikiDashboardAction[];
80
80
  } | {
81
81
  kind: 'file';
82
82
  data?: WikiFileData;
83
- /** Explanation shown when editing has no handler. Defaults to labels.unavailable. */
84
- editDisabledReason?: string;
85
- /** Explanation shown when discussion has no handler. Defaults to labels.unavailable. */
86
- discussDisabledReason?: string;
87
83
  onOpenUri?: () => void;
88
84
  onOpenDashboard?: never;
89
- onEdit?: (conflict: WikiConflict) => void;
90
- onDiscuss?: (conflict: WikiConflict) => void;
85
+ /** Hosts choose actions, including how they vary by conflict state. */
86
+ defineActions?: (conflict: WikiConflict) => readonly WikiDashboardAction[];
91
87
  });
92
88
  export {};
@@ -1,9 +1,2 @@
1
- import type { ReactNode } from 'react';
2
- export declare function WikiActionButton({ label, hint, onClick, children, ...aria }: {
3
- label: string;
4
- hint: string;
5
- onClick?: () => void;
6
- children: ReactNode;
7
- 'aria-expanded'?: boolean;
8
- 'aria-controls'?: string;
9
- }): import("react").JSX.Element;
1
+ import type { WikiDashboardAction } from './types.js';
2
+ export declare function WikiActionButton({ icon, tooltip, disabled, onClick, }: Omit<WikiDashboardAction, 'key'>): import("react").JSX.Element;
@@ -1,15 +1,8 @@
1
- import type { WikiConflict, WikiDashboardProps, WikiDashboardLabels } from './types.js';
2
- export declare function WikiConflictCard({ conflict, path, labels: t, editDisabledReason, discussDisabledReason, onOpenUri, onEdit, onDiscuss, }: {
1
+ import type { WikiConflict, WikiDashboardAction, WikiDashboardLabels } from './types.js';
2
+ export declare function WikiConflictCard({ conflict, path, labels: t, actions, onOpenUri, }: {
3
3
  conflict: WikiConflict;
4
4
  path?: string;
5
5
  labels: WikiDashboardLabels;
6
- editDisabledReason?: string;
7
- discussDisabledReason?: string;
6
+ actions?: readonly WikiDashboardAction[];
8
7
  onOpenUri?: () => void;
9
- onEdit?: Extract<WikiDashboardProps, {
10
- kind: 'file';
11
- }>['onEdit'];
12
- onDiscuss?: Extract<WikiDashboardProps, {
13
- kind: 'file';
14
- }>['onDiscuss'];
15
8
  }): import("react").JSX.Element;
package/dist/c~0.js CHANGED
@@ -2,9 +2,9 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Suspense, createContext, forwardRef, lazy, useContext, useEffect, useId, useRef, useState, useSyncExternalStore } from "react";
3
3
  import { createPortal } from "react-dom";
4
4
  import { resolveLocale } from "./nx~0.js";
5
- import { useOverlayPosition } from "./o~0.js";
5
+ import { Tooltip, useOverlayPosition } from "./rt~0.js";
6
6
  import { useLocale, LocaleProvider } from "./28~0.js";
7
- import { Tooltip } from "./rt~0.js";
7
+ import { button_Button } from "./e~0.js";
8
8
  import { VikingBotIcon } from "./lg~0.js";
9
9
  import { VikingBotInteraction } from "./w~0.js";
10
10
  const en_US_messages = {
@@ -204,9 +204,12 @@ function VikingBotSessionActions({ sessions, extra, labels: overrides, locale: l
204
204
  trigger: (props)=>/*#__PURE__*/ jsx(Tooltip, {
205
205
  content: labels.sessionHistory,
206
206
  disabled: true === props['aria-expanded'],
207
- children: /*#__PURE__*/ jsx("button", {
207
+ children: /*#__PURE__*/ jsx(button_Button, {
208
208
  ...props,
209
- type: "button",
209
+ size: "mini",
210
+ type: "text",
211
+ iconOnly: true,
212
+ htmlType: "button",
210
213
  className: "ov-viking-bot__header-action",
211
214
  "aria-label": labels.sessionHistory,
212
215
  children: /*#__PURE__*/ jsx(VikingBotIcon, {
@@ -258,8 +261,10 @@ function VikingBotSessionActions({ sessions, extra, labels: overrides, locale: l
258
261
  }, item.id);
259
262
  })
260
263
  }),
261
- sessions.hasMore && sessions.onLoadMore ? /*#__PURE__*/ jsx("button", {
262
- type: "button",
264
+ sessions.hasMore && sessions.onLoadMore ? /*#__PURE__*/ jsx(button_Button, {
265
+ size: "small",
266
+ type: "default",
267
+ htmlType: "button",
263
268
  disabled: sessions.isLoading,
264
269
  onClick: sessions.onLoadMore,
265
270
  children: labels.loadMore
@@ -269,8 +274,11 @@ function VikingBotSessionActions({ sessions, extra, labels: overrides, locale: l
269
274
  }),
270
275
  /*#__PURE__*/ jsx(Tooltip, {
271
276
  content: labels.newSession,
272
- children: /*#__PURE__*/ jsx("button", {
273
- type: "button",
277
+ children: /*#__PURE__*/ jsx(button_Button, {
278
+ size: "mini",
279
+ type: "text",
280
+ iconOnly: true,
281
+ htmlType: "button",
274
282
  className: "ov-viking-bot__header-action",
275
283
  "aria-label": labels.newSession,
276
284
  onClick: sessions.onNew,
package/dist/d~0.js ADDED
@@ -0,0 +1,28 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ function LoginMethodSelector({ methods, disabled, className, onSelect, title, description }) {
3
+ return /*#__PURE__*/ jsxs("div", {
4
+ className: `ov-auth ${className ?? ''}`,
5
+ children: [
6
+ title && /*#__PURE__*/ jsx("h2", {
7
+ children: title
8
+ }),
9
+ description && /*#__PURE__*/ jsx("p", {
10
+ className: "ov-auth__description",
11
+ children: description
12
+ }),
13
+ /*#__PURE__*/ jsx("div", {
14
+ className: "ov-auth__methods",
15
+ children: methods.map((method)=>/*#__PURE__*/ jsxs("button", {
16
+ type: "button",
17
+ disabled: disabled || method.disabled,
18
+ onClick: ()=>onSelect?.(method.id),
19
+ children: [
20
+ method.icon,
21
+ method.label
22
+ ]
23
+ }, method.id))
24
+ })
25
+ ]
26
+ });
27
+ }
28
+ export { LoginMethodSelector };