@revolist/ui 4.0.1-rc → 4.0.3-rc

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 (288) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +345 -262
  3. package/_chunks/calendar-xpZ0v3xf.js +258 -0
  4. package/_chunks/chart-frame-Cmc7xU1i.js +130 -0
  5. package/_chunks/choice-chips-CHQTUdLs.js +110 -0
  6. package/_chunks/clock-BOhPNlW3.js +4 -0
  7. package/_chunks/{color-palette-BmZ7kH9R.js → color-palette-D8vyPfld.js} +41 -41
  8. package/_chunks/color-picker-CudqPYZo.js +138 -0
  9. package/_chunks/component-C_T2VN5u.js +863 -0
  10. package/_chunks/{component-metadata-BENbgTjU.js → component-metadata-BMOOmqx5.js} +0 -4
  11. package/_chunks/control-AHKXD5Eu.js +93 -0
  12. package/_chunks/{control-tooltip-BCNzQCXE.js → control-tooltip-uscKfAnV.js} +29 -29
  13. package/_chunks/{controller-CmLo-Ajc.js → controller-hRBm_Lfz.js} +15 -15
  14. package/_chunks/{controls-NEL5tDaz.js → controls-DsNi8V8I.js} +229 -214
  15. package/_chunks/{date-control-CYCkb1aQ.js → date-control-DrVFX13g.js} +21 -21
  16. package/_chunks/date-time-qIhp5vaX.js +768 -0
  17. package/_chunks/{delete-button-DnpmDNEJ.js → delete-button-CW9vjLnk.js} +7 -7
  18. package/_chunks/dialog.parts-CKGkC5zP.js +134 -0
  19. package/_chunks/duration-CL68Em0o.js +272 -0
  20. package/_chunks/editor-commit-Bq3wSgvr.js +12 -0
  21. package/_chunks/{editor-popup-B7fu_A_T.js → editor-popup-WDdtVDNA.js} +8 -8
  22. package/_chunks/field-context-D57PnBbH.js +5 -0
  23. package/_chunks/framework-mount--RTLIqE-.js +54 -0
  24. package/_chunks/history-controls-B3u3INEK.js +27 -0
  25. package/_chunks/hooks.module-CG3gN83z.js +157 -0
  26. package/_chunks/jsxRuntime.module-F6UFnpT-.js +30 -0
  27. package/_chunks/mount-DQ1cpppK.js +257 -0
  28. package/_chunks/native-control-C_yok8_-.js +605 -0
  29. package/_chunks/native.view-ByyZ1CT5.js +32 -0
  30. package/_chunks/{number-input-NnH57J4j.js → number-input-BKwA5FnM.js} +89 -89
  31. package/_chunks/picker-h1P5RUgp.js +122 -0
  32. package/_chunks/popup-CT2uD3go.js +367 -0
  33. package/_chunks/preact.module-BBM36DnO.js +290 -0
  34. package/_chunks/{rating-choice-CWAsNQNS.js → rating-choice-DZgmaic0.js} +10 -10
  35. package/_chunks/render-m5eMMwFR.js +83 -0
  36. package/_chunks/reorder-list-CSlqAGHw.js +59 -0
  37. package/_chunks/request-trail-DSlFix6i.js +618 -0
  38. package/_chunks/rich-text-CH7gIqOS.js +636 -0
  39. package/_chunks/rotate-right-Iha5ScJ1.js +4 -0
  40. package/_form.scss +1 -1
  41. package/_vendor/preact/LICENSE +21 -0
  42. package/_vendor/preact/compat/src/index.d.ts +353 -0
  43. package/_vendor/preact/compat/src/suspense-list.d.ts +16 -0
  44. package/_vendor/preact/compat/src/suspense.d.ts +19 -0
  45. package/_vendor/preact/hooks/src/index.d.ts +145 -0
  46. package/_vendor/preact/src/dom.d.ts +2548 -0
  47. package/_vendor/preact/src/index.d.ts +373 -0
  48. package/_vendor/preact/src/jsx.d.ts +2958 -0
  49. package/activity-message.d.ts +1 -1
  50. package/activity-message.js +16 -16
  51. package/ai/_chat.scss +195 -0
  52. package/ai/_style.scss +105 -34
  53. package/ai/chat.d.ts +63 -0
  54. package/ai/components.d.ts +20 -4
  55. package/ai/index.d.ts +2 -0
  56. package/ai/index.js +3 -3
  57. package/ai/mount.d.ts +30 -1
  58. package/ai/prompt-history.d.ts +13 -0
  59. package/ai/request-trail.d.ts +1 -1
  60. package/ai/transcript.d.ts +25 -0
  61. package/ai/translation-context.d.ts +1 -1
  62. package/ai/translations.d.ts +1 -1
  63. package/alert.d.ts +2 -2
  64. package/angular/angular.js +0 -3
  65. package/assignee/field.d.ts +2 -2
  66. package/assignee/index.js +86 -87
  67. package/assignee/layout.d.ts +2 -2
  68. package/assignee/picker.d.ts +1 -1
  69. package/avatar/index.js +25 -25
  70. package/avatar/index.view.d.ts +1 -1
  71. package/brush-range/component.d.ts +1 -1
  72. package/brush-range/component.js +30 -30
  73. package/buttons/delete-button.d.ts +2 -1
  74. package/buttons/delete-button.js +1 -1
  75. package/buttons/remove-button.d.ts +1 -1
  76. package/buttons/remove-button.js +3 -3
  77. package/buttons/svg-button.d.ts +2 -1
  78. package/buttons/svg-button.js +35 -35
  79. package/calendar/_calendar.scss +7 -2
  80. package/calendar/calendar.d.ts +1 -1
  81. package/calendar/calendar.js +1 -1
  82. package/calendar/caption.d.ts +1 -1
  83. package/calendar/day.d.ts +1 -1
  84. package/calendar/day.js +4 -4
  85. package/calendar/header.d.ts +1 -1
  86. package/calendar/header.js +35 -35
  87. package/calendar/index.js +2 -2
  88. package/calendar/month-grid.d.ts +1 -1
  89. package/calendar/month-grid.js +37 -37
  90. package/calendar/picker.d.ts +1 -1
  91. package/calendar/types.d.ts +1 -1
  92. package/calendar/year-grid.d.ts +1 -1
  93. package/calendar/year-grid.js +12 -12
  94. package/checkbox/index.d.ts +2 -2
  95. package/checkbox/index.js +9 -9
  96. package/choice-chips/index.d.ts +1 -1
  97. package/choice-chips/index.js +1 -1
  98. package/color-palette/color-palette.d.ts +1 -1
  99. package/color-palette/color-palette.js +1 -1
  100. package/color-palette/color-picker.d.ts +1 -1
  101. package/color-palette/color-picker.js +2 -2
  102. package/component-catalog.d.ts +34 -23
  103. package/control-attributes.js +7 -7
  104. package/control-presentation.js +18 -18
  105. package/controls.d.ts +12 -10
  106. package/controls.js +3 -3
  107. package/core/editor-commit.d.ts +1 -1
  108. package/core/editor-popup.d.ts +1 -1
  109. package/core/editor-popup.js +1 -1
  110. package/date-time/date-control.d.ts +1 -1
  111. package/date-time/field.d.ts +2 -2
  112. package/date-time/index.js +1 -1
  113. package/date-time/picker.d.ts +1 -1
  114. package/date-time/style.scss +4 -4
  115. package/date-time/time-control.d.ts +1 -1
  116. package/date-time/time-selection.d.ts +1 -1
  117. package/date-time/types.d.ts +1 -1
  118. package/dialog/dialog-action-footer.view.d.ts +1 -1
  119. package/dialog/dialog.dom.js +52 -52
  120. package/dialog/dialog.parts.d.ts +18 -18
  121. package/dialog/dialog.parts.js +1 -1
  122. package/dialog/dialog.preact.d.ts +1 -1
  123. package/dialog/dialog.preact.js +6 -6
  124. package/distribution-chart/area-chart.d.ts +1 -1
  125. package/distribution-chart/area-chart.js +25 -25
  126. package/distribution-chart/bar-chart.d.ts +6 -3
  127. package/distribution-chart/bar-chart.js +10 -6
  128. package/distribution-chart/chart-frame.d.ts +3 -2
  129. package/distribution-chart/index.d.ts +1 -1
  130. package/distribution-chart/index.js +6 -6
  131. package/distribution-chart/line-chart.d.ts +1 -1
  132. package/distribution-chart/line-chart.js +9 -9
  133. package/distribution-chart/types.d.ts +1 -1
  134. package/dropdown/content.d.ts +3 -2
  135. package/dropdown/content.js +1 -141
  136. package/dropdown/control.d.ts +14 -0
  137. package/dropdown/control.js +1 -0
  138. package/dropdown/control.view.d.ts +6 -0
  139. package/dropdown/dropdown.service.d.ts +1 -1
  140. package/dropdown/dropdown.service.js +9 -9
  141. package/dropdown/dropdown.types.d.ts +4 -0
  142. package/dropdown/editor-dropdown.style.scss +37 -9
  143. package/dropdown/index.d.ts +1 -1
  144. package/dropdown/index.js +3 -4
  145. package/dropdown/lookup-field.d.ts +1 -1
  146. package/dropdown/lookup-field.js +41 -41
  147. package/dropdown/popup.d.ts +1 -1
  148. package/dropdown/popup.js +1 -140
  149. package/duration/controls.d.ts +1 -1
  150. package/duration/index.d.ts +2 -2
  151. package/duration/index.js +1 -1
  152. package/duration/style.scss +1 -1
  153. package/editor-actions.d.ts +1 -1
  154. package/editor-actions.js +21 -20
  155. package/editor-layout/index.d.ts +1 -1
  156. package/editor-layout/index.js +27 -27
  157. package/field-configurator.d.ts +1 -1
  158. package/field-configurator.js +93 -93
  159. package/field-reorder.hook.js +32 -32
  160. package/fieldset.d.ts +3 -0
  161. package/filter/filters/slider/preact.js +3 -3
  162. package/filter/filters/slider/single.d.ts +1 -1
  163. package/filter/filters/slider/single.js +23 -23
  164. package/filter-badge.d.ts +1 -1
  165. package/filter-badge.js +23 -22
  166. package/filter-controls.d.ts +1 -1
  167. package/filter-controls.js +30 -30
  168. package/form-controls/field-context.d.ts +5 -0
  169. package/form-controls/index.js +16 -21
  170. package/form-controls/index.view.d.ts +2 -4
  171. package/form-controls/presentation.d.ts +1 -1
  172. package/form-controls/presentation.js +59 -51
  173. package/formatting/comparison-preview.d.ts +1 -1
  174. package/formatting/control-tooltip.d.ts +1 -1
  175. package/formatting/icon-controls.d.ts +1 -1
  176. package/formatting/index.js +105 -100
  177. package/formatting/inspector-section.d.ts +1 -1
  178. package/formatting/typography-controls.d.ts +1 -1
  179. package/framework-mount.d.ts +1 -1
  180. package/framework.js +215 -207
  181. package/history-controls.d.ts +14 -0
  182. package/history-controls.js +1 -0
  183. package/icons/icon.d.ts +1 -1
  184. package/icons/icon.js +1 -1
  185. package/legend.d.ts +1 -1
  186. package/legend.js +12 -12
  187. package/masked-input/index.d.ts +1 -1
  188. package/masked-input/index.js +109 -109
  189. package/native-control.d.ts +14 -12
  190. package/native-control.js +3 -26
  191. package/native-styles.css +1 -1
  192. package/native.js +40 -39
  193. package/number-input/index.d.ts +1 -1
  194. package/number-input/index.js +1 -1
  195. package/package.json +18 -14
  196. package/pagination.d.ts +3 -0
  197. package/pagination.js +43 -33
  198. package/pdf-viewer/component.d.ts +1 -1
  199. package/pdf-viewer/controller.js +1 -1
  200. package/pdf-viewer/header.d.ts +1 -1
  201. package/pdf-viewer/index.js +13 -13
  202. package/pdf-viewer/search-bar.d.ts +1 -1
  203. package/pdf-viewer/status.d.ts +1 -1
  204. package/pdf-viewer/style.scss +3 -4
  205. package/pdf-viewer/toolbar.d.ts +1 -1
  206. package/pickers.d.ts +1 -1
  207. package/preact-mount.d.ts +1 -1
  208. package/preact-mount.js +1 -1
  209. package/preact.d.ts +2 -0
  210. package/preact.js +62 -62
  211. package/rating-choice.d.ts +1 -1
  212. package/rating-choice.js +1 -1
  213. package/react-adapter.d.ts +1 -1
  214. package/react-control.d.ts +0 -1
  215. package/react-control.js +2 -2
  216. package/react.d.ts +13 -3
  217. package/react.js +71 -88
  218. package/reorder-list.d.ts +1 -1
  219. package/reorder-list.js +1 -1
  220. package/resource-picker/resource-picker-avatar.d.ts +1 -1
  221. package/resource-picker/resource-picker-avatar.js +14 -14
  222. package/resource-picker/resource-picker-option.d.ts +1 -1
  223. package/resource-picker/resource-picker-option.js +28 -28
  224. package/resource-picker/resource-picker-popup.d.ts +1 -1
  225. package/resource-picker/resource-picker-popup.js +3 -3
  226. package/resource-picker/resource-picker.d.ts +1 -1
  227. package/resource-picker/resource-picker.js +88 -88
  228. package/resource-picker/resource-picker.scss +6 -3
  229. package/rich-text/engine.d.ts +16 -19
  230. package/rich-text/index.d.ts +7 -7
  231. package/rich-text/index.js +1 -1
  232. package/rich-text/model.d.ts +4 -3
  233. package/rich-text/render-model.d.ts +4 -5
  234. package/rich-text/style.scss +3 -12
  235. package/rich-text/toolbar.d.ts +7 -7
  236. package/rich-text/translations.d.ts +3 -15
  237. package/search-input/index.js +12 -12
  238. package/segmented-switch/index.d.ts +1 -1
  239. package/segmented-switch/index.js +1 -1
  240. package/select.d.ts +20 -0
  241. package/select.js +1 -0
  242. package/status-feedback/exit-snapshot.js +4 -4
  243. package/status-feedback/index.js +2 -2
  244. package/status-feedback/popover.js +10 -10
  245. package/status-feedback/render.d.ts +2 -2
  246. package/status-feedback/render.js +3 -44
  247. package/status-feedback/status-feedback.scss +7 -0
  248. package/status-feedback/types.d.ts +4 -0
  249. package/status-feedback/use-auto-dismiss.d.ts +3 -0
  250. package/styles/_compositions.scss +3 -1
  251. package/styles/_control.scss +12 -4
  252. package/styles/_primitives.scss +9 -8
  253. package/styles.css +1 -1
  254. package/surfaces.js +49 -49
  255. package/svelte/UiComponent.server.js +1 -48
  256. package/svelte/UiComponent.svelte +0 -21
  257. package/svelte.js +33 -68
  258. package/switch/index.js +15 -15
  259. package/time-grid.d.ts +1 -1
  260. package/time-grid.js +58 -58
  261. package/timeline-track/component.d.ts +5 -1
  262. package/timeline-track/index.js +91 -74
  263. package/timeline-track/model.d.ts +9 -0
  264. package/timeline-track/model.js +10 -1
  265. package/ui.css +1 -1
  266. package/vue-adapter.d.ts +1 -1
  267. package/vue.d.ts +138 -119
  268. package/vue.js +150 -174
  269. package/_chunks/calendar-BsDxCYhI.js +0 -248
  270. package/_chunks/chart-frame-BvxbmEU9.js +0 -126
  271. package/_chunks/choice-chips-0HfOnK_4.js +0 -110
  272. package/_chunks/color-picker-BRv-__AM.js +0 -138
  273. package/_chunks/component-D4PH5UZT.js +0 -859
  274. package/_chunks/date-time-DjucJmbc.js +0 -769
  275. package/_chunks/dialog.parts-Dt3KinUz.js +0 -134
  276. package/_chunks/dropdown-CkGQBm1Q.js +0 -357
  277. package/_chunks/duration-BCaktcvz.js +0 -270
  278. package/_chunks/editor-commit-D6Rf5rGz.js +0 -12
  279. package/_chunks/framework-mount-BKIOsvY-.js +0 -54
  280. package/_chunks/mount-0-8opf1j.js +0 -90
  281. package/_chunks/native.view-8q_nwQ7x.js +0 -32
  282. package/_chunks/picker-oazJ7sO_.js +0 -121
  283. package/_chunks/reorder-list-BV3kZXso.js +0 -59
  284. package/_chunks/request-trail-D0oVzdRd.js +0 -347
  285. package/_chunks/rich-text-2Rla349o.js +0 -477
  286. package/react-native-select.d.ts +0 -6
  287. package/rich-text/syntax.d.ts +0 -2
  288. package/vue-native-select.d.ts +0 -9
@@ -1,347 +0,0 @@
1
- import { SvgIcon as e } from "../icons/icon.js";
2
- import { N as t, O as n, m as r, n as i, o as a } from "./controls-NEL5tDaz.js";
3
- import { createControlId as o } from "../core/control-id.js";
4
- import { t as s } from "./chevron-down-GbplLa6s.js";
5
- import { PopoverController as c } from "../surfaces.js";
6
- import { RemoveButton as l } from "../buttons/remove-button.js";
7
- import { createContext as u } from "preact";
8
- import { useContext as d, useLayoutEffect as f, useRef as p, useState as m } from "preact/hooks";
9
- import { jsx as h, jsxs as g } from "preact/jsx-runtime";
10
- //#region src/ai/translations.ts
11
- var _ = [
12
- "Ask AI to change this view",
13
- "Filter or sort your data…",
14
- "Send",
15
- "Stop",
16
- "Enter to send · Shift+Enter for a new line",
17
- "Suggested requests",
18
- "AI view assistant",
19
- "View steps",
20
- "Clear all",
21
- "Restore the starting view",
22
- "Restore previous view",
23
- "Reset view",
24
- "The view changed manually. Start a new request to continue.",
25
- "Remove request: {label}",
26
- "{count} step",
27
- "{count} steps",
28
- "{count} applied request",
29
- "{count} applied requests",
30
- "{count} matching rows"
31
- ];
32
- function v(e, t = {}, n = {}) {
33
- return (t[e] ?? e).replace(/\{(\w+)\}/g, (e, t) => Object.hasOwn(n, t) ? String(n[t]) : e);
34
- }
35
- //#endregion
36
- //#region src/ai/translation-context.tsx
37
- var y = u({});
38
- function b({ translations: e, children: t }) {
39
- return /* @__PURE__ */ h(y.Provider, {
40
- value: e,
41
- children: t
42
- });
43
- }
44
- function x(e) {
45
- let t = d(y), n = e ?? t;
46
- return (e, t) => v(e, n, t);
47
- }
48
- //#endregion
49
- //#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/arrow-up.svg?raw
50
- var S = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><!--! Font Awesome Free 7.3.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2026 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M214.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 109.3 160 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-370.7 105.4 105.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z\"/></svg>", C = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Free 7.3.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2026 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32z\"/></svg>";
51
- //#endregion
52
- //#region src/ai/components.tsx
53
- function w({ translations: e, value: n, onValueChange: i, onSubmit: a, onStop: s, busy: c = !1, disabled: l = !1, label: u = "Ask AI to change this view", placeholder: d = "Filter or sort your data…", submitLabel: f = "Send", stopLabel: m = "Stop", hint: _ = "Enter to send · Shift+Enter for a new line", actions: v, footer: y, textareaProps: b }) {
54
- let w = x(e), T = p(o("ai-prompt")), E = p(!1), D = `${T.current}-hint`, O = !!_ && !n.length, k = c && !!s, A = () => {
55
- !l && !c && n.trim() && a(n.trim());
56
- };
57
- return /* @__PURE__ */ g("form", {
58
- class: "rv-ai-prompt",
59
- "aria-busy": c || void 0,
60
- onSubmit: (e) => {
61
- e.preventDefault(), A();
62
- },
63
- children: [/* @__PURE__ */ h("label", {
64
- for: T.current,
65
- class: "rv-ai-prompt-label rv-visually-hidden",
66
- children: w(u)
67
- }), /* @__PURE__ */ g("div", {
68
- class: "rv-ai-prompt-composer",
69
- children: [
70
- /* @__PURE__ */ h(t, {
71
- rows: 2,
72
- ...b,
73
- id: T.current,
74
- "aria-describedby": O ? D : void 0,
75
- value: n,
76
- onValueChange: i,
77
- placeholder: w(d),
78
- disabled: l || c,
79
- maxLength: 4e3,
80
- onCompositionStart: () => {
81
- E.current = !0;
82
- },
83
- onCompositionEnd: () => {
84
- E.current = !1;
85
- },
86
- onKeyDown: (e) => {
87
- e.key === "Enter" && !e.shiftKey && !e.isComposing && !E.current && e.keyCode !== 229 && (e.preventDefault(), A());
88
- }
89
- }),
90
- y && /* @__PURE__ */ h("div", {
91
- class: "rv-ai-prompt-footer",
92
- children: y
93
- }),
94
- /* @__PURE__ */ g("div", {
95
- class: "rv-ai-prompt-toolbar",
96
- children: [/* @__PURE__ */ g("div", {
97
- class: "rv-ai-prompt-tools",
98
- children: [v, O && /* @__PURE__ */ h("span", {
99
- id: D,
100
- class: "rv-ai-prompt-hint",
101
- children: w(_)
102
- })]
103
- }), /* @__PURE__ */ h(r, {
104
- className: "rv-ai-prompt-submit",
105
- type: k ? "button" : "submit",
106
- label: w(k ? m : f),
107
- icon: k ? C : S,
108
- onClick: k ? (e) => {
109
- e.preventDefault(), s?.();
110
- } : void 0,
111
- disabled: l || !k && !n.trim(),
112
- busy: c && !k,
113
- variant: "solid",
114
- size: "compact"
115
- })]
116
- })
117
- ]
118
- })]
119
- });
120
- }
121
- function T({ translations: e, items: t, onSelect: n, disabled: r, label: a = "Suggested requests" }) {
122
- let o = x(e);
123
- return t.length ? /* @__PURE__ */ h("div", {
124
- class: "rv-ai-suggestions",
125
- role: "group",
126
- "aria-label": o(a),
127
- children: t.map((e, t) => /* @__PURE__ */ h(i, {
128
- className: "rv-ai-suggestion",
129
- size: "compact",
130
- disabled: r,
131
- onFocus: (e) => {
132
- e.currentTarget.scrollIntoView({
133
- block: "nearest",
134
- inline: "nearest"
135
- });
136
- },
137
- onClick: () => n(e),
138
- children: e
139
- }, `${t}:${e}`))
140
- }) : null;
141
- }
142
- function E({ translations: e, phase: t, message: r }) {
143
- let i = x(e);
144
- return /* @__PURE__ */ g("div", {
145
- class: "rv-ai-status",
146
- "data-state": t,
147
- role: "status",
148
- "aria-live": "polite",
149
- "aria-atomic": "true",
150
- children: [(t === "understanding" || t === "applying") && /* @__PURE__ */ h("span", {
151
- "aria-hidden": "true",
152
- children: /* @__PURE__ */ h(n, { label: "" })
153
- }), /* @__PURE__ */ h("span", { children: i(r) })]
154
- });
155
- }
156
- function D({ translations: e, summary: t, matchedRows: n, countLabel: r, actions: i, children: a }) {
157
- let o = x(e);
158
- return /* @__PURE__ */ g("div", {
159
- class: "rv-ai-result",
160
- role: "status",
161
- "aria-live": "polite",
162
- children: [
163
- /* @__PURE__ */ h("p", {
164
- class: "rv-ai-result-summary",
165
- children: t
166
- }),
167
- n !== void 0 && /* @__PURE__ */ h("p", {
168
- class: "rv-ai-result-count",
169
- children: r ? r(n) : o("{count} matching rows", { count: n.toLocaleString() })
170
- }),
171
- a,
172
- i && /* @__PURE__ */ h("div", {
173
- class: "rv-ai-result-actions",
174
- children: i
175
- })
176
- ]
177
- });
178
- }
179
- function O({ translations: e = {}, label: t = "AI view assistant", children: n, footer: r, busy: i }) {
180
- return /* @__PURE__ */ h(b, {
181
- translations: e,
182
- children: /* @__PURE__ */ g("section", {
183
- class: "rv-ai-assistant",
184
- "aria-label": ((t) => v(t, e))(t),
185
- "aria-busy": i || void 0,
186
- children: [n, r && /* @__PURE__ */ h("div", {
187
- class: "rv-ai-assistant-footer",
188
- children: r
189
- })]
190
- })
191
- });
192
- }
193
- //#endregion
194
- //#region src/ai/request-trail.tsx
195
- function k({ translations: t, items: n, onRemove: r, onClear: u, onEmpty: d, disabled: _, removalsDisabled: v, label: y = "View steps", triggerLabel: b, clearLabel: S = "Clear all", clearDescription: C, removeLabel: w, countLabel: T, changedMessage: E }) {
196
- let D = x(t), O = T ?? ((e) => D(e === 1 ? "{count} applied request" : "{count} applied requests", { count: e })), k = w ?? ((e) => D("Remove request: {label}", { label: e.label })), A = p(null), j = p(null), M = p(null), [N] = m(() => o("rv-ai-steps")), [P, F] = m(!1), I = n.length > 0;
197
- f(() => {
198
- if (I || F(!1), !P || !I || !A.current || !j.current || !M.current) return;
199
- let e = M.current, t = new c(), n = !0;
200
- return t.open({
201
- anchor: j.current,
202
- content: e,
203
- appendTo: A.current,
204
- onClose: () => {
205
- n && F(!1);
206
- }
207
- }), e.focus({ preventScroll: !0 }), () => {
208
- n = !1, t.destroy(), e.hidden = !0;
209
- };
210
- }, [P, I]);
211
- let L = p();
212
- if (f(() => {
213
- let e = L.current;
214
- if (!e) return;
215
- if (_) {
216
- e.sawBusy = !0;
217
- return;
218
- }
219
- if (e.id ? n.some((t) => t.id === e.id) : n.length > 0) {
220
- (e.sawBusy || e.id && v) && (L.current = void 0);
221
- return;
222
- }
223
- L.current = void 0;
224
- let t = e.button.ownerDocument.activeElement;
225
- if (t !== e.button && t !== e.button.ownerDocument.body) return;
226
- let r = A.current?.querySelectorAll(".rv-remove-button");
227
- r?.length && P ? r[Math.min(e.index, r.length - 1)]?.focus() : n.length || d?.();
228
- }, [
229
- n,
230
- d,
231
- _,
232
- v,
233
- P
234
- ]), !I) return null;
235
- let R = 0, z = n.reduce((e, t) => e + (t.count ?? 1), 0);
236
- return /* @__PURE__ */ g("div", {
237
- class: "rv-ai-request-trail",
238
- role: "group",
239
- "aria-label": D(y),
240
- ref: A,
241
- onFocusOut: (e) => {
242
- e.relatedTarget instanceof Node && !e.currentTarget.contains(e.relatedTarget) && F(!1);
243
- },
244
- children: [/* @__PURE__ */ g(i, {
245
- ref: j,
246
- className: "rv-ai-trail-trigger",
247
- variant: "ghost",
248
- size: "compact",
249
- disabled: _,
250
- "aria-haspopup": "dialog",
251
- "aria-expanded": P,
252
- "aria-controls": N,
253
- onClick: () => F((e) => !e),
254
- children: [b ? b(z) : D(z === 1 ? "{count} step" : "{count} steps", { count: z }), /* @__PURE__ */ h(e, {
255
- svg: s,
256
- size: 10
257
- })]
258
- }), /* @__PURE__ */ g("div", {
259
- ref: M,
260
- id: N,
261
- class: "rv-popover rv-ai-trail-popover",
262
- role: "dialog",
263
- "aria-label": D(y),
264
- tabIndex: -1,
265
- hidden: !P,
266
- children: [
267
- /* @__PURE__ */ h("div", {
268
- class: "rv-ai-trail-header",
269
- children: /* @__PURE__ */ g("span", {
270
- class: "rv-ai-trail-label",
271
- children: [D(y), /* @__PURE__ */ h(a, {
272
- count: z,
273
- label: O(z)
274
- })]
275
- })
276
- }),
277
- /* @__PURE__ */ h("ol", {
278
- class: "rv-ai-trail-steps",
279
- "aria-label": O(z),
280
- children: n.map((e, t) => {
281
- let i = R + 1;
282
- return R += e.count ?? 1, /* @__PURE__ */ h("li", {
283
- class: "rv-ai-step",
284
- "data-current": t === n.length - 1 || void 0,
285
- onFocusCapture: (e) => e.currentTarget.scrollIntoView({
286
- block: "nearest",
287
- inline: "nearest"
288
- }),
289
- children: /* @__PURE__ */ g("span", {
290
- class: "rv-ai-step-chip",
291
- children: [
292
- /* @__PURE__ */ h("span", {
293
- class: "rv-ai-step-number",
294
- "aria-hidden": "true",
295
- children: i === R ? i : `${i}–${R}`
296
- }),
297
- /* @__PURE__ */ h("span", {
298
- class: "rv-ai-step-label",
299
- title: e.label,
300
- children: e.label
301
- }),
302
- /* @__PURE__ */ h(l, {
303
- compact: !0,
304
- disabled: _ || v,
305
- locale: {
306
- title: k(e),
307
- ariaLabel: k(e)
308
- },
309
- onClick: (n) => {
310
- n.preventDefault(), L.current = {
311
- button: n.currentTarget,
312
- index: t,
313
- id: e.id
314
- }, r(e.id);
315
- }
316
- })
317
- ]
318
- })
319
- }, e.id);
320
- })
321
- }),
322
- E && /* @__PURE__ */ h("p", {
323
- class: "rv-ai-trail-message",
324
- children: D(E)
325
- }),
326
- /* @__PURE__ */ h("div", {
327
- class: "rv-ai-trail-footer",
328
- children: /* @__PURE__ */ h(i, {
329
- variant: "ghost",
330
- size: "compact",
331
- disabled: _,
332
- title: C ? D(C) : void 0,
333
- onClick: (e) => {
334
- e.preventDefault(), L.current = {
335
- button: e.currentTarget,
336
- index: 0
337
- }, u();
338
- },
339
- children: D(S)
340
- })
341
- })
342
- ]
343
- })]
344
- });
345
- }
346
- //#endregion
347
- export { D as a, _ as c, w as i, v as l, E as n, T as o, O as r, b as s, k as t };