@revolist/ui 4.0.1-rc → 4.0.2-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 (218) hide show
  1. package/README.md +6 -5
  2. package/_chunks/calendar-CpaUK7w1.js +248 -0
  3. package/_chunks/chart-frame-BC99KjGa.js +127 -0
  4. package/_chunks/choice-chips-Cs4D-3nH.js +110 -0
  5. package/_chunks/{color-palette-BmZ7kH9R.js → color-palette-BBMFmUNA.js} +41 -41
  6. package/_chunks/color-picker-D90Jg-M8.js +138 -0
  7. package/_chunks/compat.module-DDB2pm9O.js +229 -0
  8. package/_chunks/component-YDcfoOLz.js +859 -0
  9. package/_chunks/{control-tooltip-BCNzQCXE.js → control-tooltip-ztgmsG7H.js} +29 -29
  10. package/_chunks/{controller-CmLo-Ajc.js → controller-hRBm_Lfz.js} +15 -15
  11. package/_chunks/{controls-NEL5tDaz.js → controls-DIum-E66.js} +192 -192
  12. package/_chunks/{date-control-CYCkb1aQ.js → date-control-BJSzu79z.js} +21 -21
  13. package/_chunks/date-time-BxPJusp9.js +770 -0
  14. package/_chunks/{delete-button-DnpmDNEJ.js → delete-button-Bblyah10.js} +1 -1
  15. package/_chunks/dialog.parts-DBqo3Qwb.js +134 -0
  16. package/_chunks/{dropdown-CkGQBm1Q.js → dropdown-voWqmwAe.js} +102 -102
  17. package/_chunks/duration-87U2EoMS.js +271 -0
  18. package/_chunks/editor-commit-Bq3wSgvr.js +12 -0
  19. package/_chunks/{editor-popup-B7fu_A_T.js → editor-popup-D3JdS8l3.js} +8 -8
  20. package/_chunks/framework-mount-C-Zwm44H.js +54 -0
  21. package/_chunks/hooks.module-CG3gN83z.js +157 -0
  22. package/_chunks/jsxRuntime.module-F6UFnpT-.js +30 -0
  23. package/_chunks/mount-DZe_6VtR.js +90 -0
  24. package/_chunks/native.view-ByyZ1CT5.js +32 -0
  25. package/_chunks/{number-input-NnH57J4j.js → number-input-BeIadZuL.js} +89 -89
  26. package/_chunks/picker-DpP7iQLA.js +122 -0
  27. package/_chunks/preact.module-BBM36DnO.js +290 -0
  28. package/_chunks/{rating-choice-CWAsNQNS.js → rating-choice-Ca8ZBty3.js} +10 -10
  29. package/_chunks/reorder-list-Cc3KmfAN.js +59 -0
  30. package/_chunks/request-trail-IdNiFvKH.js +347 -0
  31. package/_chunks/{rich-text-2Rla349o.js → rich-text-BzI1DyfF.js} +167 -167
  32. package/_vendor/preact/LICENSE +21 -0
  33. package/_vendor/preact/compat/src/index.d.ts +353 -0
  34. package/_vendor/preact/compat/src/suspense-list.d.ts +16 -0
  35. package/_vendor/preact/compat/src/suspense.d.ts +19 -0
  36. package/_vendor/preact/hooks/src/index.d.ts +145 -0
  37. package/_vendor/preact/src/dom.d.ts +2548 -0
  38. package/_vendor/preact/src/index.d.ts +373 -0
  39. package/_vendor/preact/src/jsx.d.ts +2958 -0
  40. package/activity-message.d.ts +1 -1
  41. package/activity-message.js +16 -16
  42. package/ai/components.d.ts +1 -1
  43. package/ai/index.js +2 -2
  44. package/ai/request-trail.d.ts +1 -1
  45. package/ai/translation-context.d.ts +1 -1
  46. package/alert.d.ts +2 -2
  47. package/assignee/field.d.ts +2 -2
  48. package/assignee/index.js +87 -87
  49. package/assignee/layout.d.ts +2 -2
  50. package/assignee/picker.d.ts +1 -1
  51. package/avatar/index.js +25 -25
  52. package/avatar/index.view.d.ts +1 -1
  53. package/brush-range/component.d.ts +1 -1
  54. package/brush-range/component.js +30 -30
  55. package/buttons/delete-button.js +1 -1
  56. package/buttons/remove-button.d.ts +1 -1
  57. package/buttons/remove-button.js +3 -3
  58. package/buttons/svg-button.d.ts +1 -1
  59. package/buttons/svg-button.js +35 -35
  60. package/calendar/calendar.d.ts +1 -1
  61. package/calendar/calendar.js +1 -1
  62. package/calendar/caption.d.ts +1 -1
  63. package/calendar/day.d.ts +1 -1
  64. package/calendar/day.js +4 -4
  65. package/calendar/header.d.ts +1 -1
  66. package/calendar/header.js +35 -35
  67. package/calendar/index.js +2 -2
  68. package/calendar/month-grid.d.ts +1 -1
  69. package/calendar/month-grid.js +37 -37
  70. package/calendar/picker.d.ts +1 -1
  71. package/calendar/types.d.ts +1 -1
  72. package/calendar/year-grid.d.ts +1 -1
  73. package/calendar/year-grid.js +12 -12
  74. package/checkbox/index.d.ts +2 -2
  75. package/checkbox/index.js +9 -9
  76. package/choice-chips/index.d.ts +1 -1
  77. package/choice-chips/index.js +1 -1
  78. package/color-palette/color-palette.d.ts +1 -1
  79. package/color-palette/color-palette.js +1 -1
  80. package/color-palette/color-picker.d.ts +1 -1
  81. package/color-palette/color-picker.js +2 -2
  82. package/component-catalog.d.ts +19 -19
  83. package/control-presentation.js +18 -18
  84. package/controls.d.ts +4 -4
  85. package/controls.js +1 -1
  86. package/core/editor-commit.d.ts +1 -1
  87. package/core/editor-popup.d.ts +1 -1
  88. package/core/editor-popup.js +1 -1
  89. package/date-time/date-control.d.ts +1 -1
  90. package/date-time/field.d.ts +2 -2
  91. package/date-time/index.js +1 -1
  92. package/date-time/picker.d.ts +1 -1
  93. package/date-time/time-control.d.ts +1 -1
  94. package/date-time/time-selection.d.ts +1 -1
  95. package/date-time/types.d.ts +1 -1
  96. package/dialog/dialog-action-footer.view.d.ts +1 -1
  97. package/dialog/dialog.dom.js +52 -52
  98. package/dialog/dialog.parts.d.ts +18 -18
  99. package/dialog/dialog.parts.js +1 -1
  100. package/dialog/dialog.preact.d.ts +1 -1
  101. package/dialog/dialog.preact.js +6 -6
  102. package/distribution-chart/area-chart.d.ts +1 -1
  103. package/distribution-chart/area-chart.js +25 -25
  104. package/distribution-chart/bar-chart.d.ts +1 -1
  105. package/distribution-chart/bar-chart.js +6 -6
  106. package/distribution-chart/chart-frame.d.ts +1 -1
  107. package/distribution-chart/index.d.ts +1 -1
  108. package/distribution-chart/index.js +6 -6
  109. package/distribution-chart/line-chart.d.ts +1 -1
  110. package/distribution-chart/line-chart.js +9 -9
  111. package/distribution-chart/types.d.ts +1 -1
  112. package/dropdown/content.d.ts +1 -1
  113. package/dropdown/content.js +83 -82
  114. package/dropdown/dropdown.service.d.ts +1 -1
  115. package/dropdown/dropdown.service.js +9 -9
  116. package/dropdown/index.js +1 -1
  117. package/dropdown/lookup-field.d.ts +1 -1
  118. package/dropdown/lookup-field.js +41 -41
  119. package/dropdown/popup.d.ts +1 -1
  120. package/dropdown/popup.js +17 -16
  121. package/duration/controls.d.ts +1 -1
  122. package/duration/index.d.ts +2 -2
  123. package/duration/index.js +1 -1
  124. package/editor-actions.d.ts +1 -1
  125. package/editor-actions.js +21 -20
  126. package/editor-layout/index.d.ts +1 -1
  127. package/editor-layout/index.js +27 -27
  128. package/field-configurator.d.ts +1 -1
  129. package/field-configurator.js +93 -93
  130. package/field-reorder.hook.js +32 -32
  131. package/filter/filters/slider/preact.js +3 -3
  132. package/filter/filters/slider/single.d.ts +1 -1
  133. package/filter/filters/slider/single.js +23 -23
  134. package/filter-badge.d.ts +1 -1
  135. package/filter-badge.js +23 -22
  136. package/filter-controls.d.ts +1 -1
  137. package/filter-controls.js +31 -31
  138. package/form-controls/index.js +20 -20
  139. package/form-controls/presentation.d.ts +1 -1
  140. package/form-controls/presentation.js +44 -44
  141. package/formatting/comparison-preview.d.ts +1 -1
  142. package/formatting/control-tooltip.d.ts +1 -1
  143. package/formatting/icon-controls.d.ts +1 -1
  144. package/formatting/index.js +99 -98
  145. package/formatting/inspector-section.d.ts +1 -1
  146. package/formatting/typography-controls.d.ts +1 -1
  147. package/framework-mount.d.ts +1 -1
  148. package/framework.js +19 -19
  149. package/icons/icon.d.ts +1 -1
  150. package/icons/icon.js +1 -1
  151. package/legend.d.ts +1 -1
  152. package/legend.js +12 -12
  153. package/masked-input/index.d.ts +1 -1
  154. package/masked-input/index.js +109 -109
  155. package/native-control.d.ts +11 -11
  156. package/native-control.js +12 -12
  157. package/native.js +39 -39
  158. package/number-input/index.d.ts +1 -1
  159. package/number-input/index.js +1 -1
  160. package/package.json +1 -2
  161. package/pdf-viewer/component.d.ts +1 -1
  162. package/pdf-viewer/controller.js +1 -1
  163. package/pdf-viewer/header.d.ts +1 -1
  164. package/pdf-viewer/index.js +13 -13
  165. package/pdf-viewer/search-bar.d.ts +1 -1
  166. package/pdf-viewer/status.d.ts +1 -1
  167. package/pdf-viewer/toolbar.d.ts +1 -1
  168. package/pickers.d.ts +1 -1
  169. package/preact-mount.d.ts +1 -1
  170. package/preact-mount.js +1 -1
  171. package/preact.js +14 -14
  172. package/rating-choice.d.ts +1 -1
  173. package/rating-choice.js +1 -1
  174. package/react-adapter.d.ts +1 -1
  175. package/react.js +19 -19
  176. package/reorder-list.d.ts +1 -1
  177. package/reorder-list.js +1 -1
  178. package/resource-picker/resource-picker-avatar.d.ts +1 -1
  179. package/resource-picker/resource-picker-avatar.js +14 -14
  180. package/resource-picker/resource-picker-option.d.ts +1 -1
  181. package/resource-picker/resource-picker-option.js +28 -28
  182. package/resource-picker/resource-picker-popup.d.ts +1 -1
  183. package/resource-picker/resource-picker-popup.js +3 -3
  184. package/resource-picker/resource-picker.d.ts +1 -1
  185. package/resource-picker/resource-picker.js +88 -88
  186. package/rich-text/index.d.ts +1 -1
  187. package/rich-text/index.js +1 -1
  188. package/rich-text/toolbar.d.ts +1 -1
  189. package/search-input/index.js +12 -12
  190. package/segmented-switch/index.d.ts +1 -1
  191. package/segmented-switch/index.js +1 -1
  192. package/status-feedback/render.d.ts +2 -2
  193. package/status-feedback/render.js +13 -13
  194. package/surfaces.js +34 -34
  195. package/svelte.js +2 -2
  196. package/switch/index.js +15 -15
  197. package/time-grid.d.ts +1 -1
  198. package/time-grid.js +58 -58
  199. package/timeline-track/component.d.ts +1 -1
  200. package/timeline-track/index.js +75 -75
  201. package/vue-adapter.d.ts +1 -1
  202. package/vue.d.ts +116 -116
  203. package/vue.js +121 -121
  204. package/_chunks/calendar-BsDxCYhI.js +0 -248
  205. package/_chunks/chart-frame-BvxbmEU9.js +0 -126
  206. package/_chunks/choice-chips-0HfOnK_4.js +0 -110
  207. package/_chunks/color-picker-BRv-__AM.js +0 -138
  208. package/_chunks/component-D4PH5UZT.js +0 -859
  209. package/_chunks/date-time-DjucJmbc.js +0 -769
  210. package/_chunks/dialog.parts-Dt3KinUz.js +0 -134
  211. package/_chunks/duration-BCaktcvz.js +0 -270
  212. package/_chunks/editor-commit-D6Rf5rGz.js +0 -12
  213. package/_chunks/framework-mount-BKIOsvY-.js +0 -54
  214. package/_chunks/mount-0-8opf1j.js +0 -90
  215. package/_chunks/native.view-8q_nwQ7x.js +0 -32
  216. package/_chunks/picker-oazJ7sO_.js +0 -121
  217. package/_chunks/reorder-list-BV3kZXso.js +0 -59
  218. package/_chunks/request-trail-D0oVzdRd.js +0 -347
@@ -0,0 +1,347 @@
1
+ import { s as e } from "./preact.module-BBM36DnO.js";
2
+ import { i as t, r as n, s as r, t as i } from "./hooks.module-CG3gN83z.js";
3
+ import { t as a } from "./jsxRuntime.module-F6UFnpT-.js";
4
+ import { SvgIcon as o } from "../icons/icon.js";
5
+ import { N as s, O as c, m as l, n as u, o as d } from "./controls-DIum-E66.js";
6
+ import { createControlId as f } from "../core/control-id.js";
7
+ import { t as p } from "./chevron-down-GbplLa6s.js";
8
+ import { PopoverController as m } from "../surfaces.js";
9
+ import { RemoveButton as h } from "../buttons/remove-button.js";
10
+ //#region src/ai/translations.ts
11
+ var g = [
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 _(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 v = e({});
38
+ function y({ translations: e, children: t }) {
39
+ return /* @__PURE__ */ a(v.Provider, {
40
+ value: e,
41
+ children: t
42
+ });
43
+ }
44
+ function b(e) {
45
+ let t = r(v), n = e ?? t;
46
+ return (e, t) => _(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 x = "<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>", S = "<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 C({ translations: e, value: t, onValueChange: n, onSubmit: r, onStop: o, busy: c = !1, disabled: u = !1, label: d = "Ask AI to change this view", placeholder: p = "Filter or sort your data…", submitLabel: m = "Send", stopLabel: h = "Stop", hint: g = "Enter to send · Shift+Enter for a new line", actions: _, footer: v, textareaProps: y }) {
54
+ let C = b(e), w = i(f("ai-prompt")), T = i(!1), E = `${w.current}-hint`, D = !!g && !t.length, O = c && !!o, k = () => {
55
+ !u && !c && t.trim() && r(t.trim());
56
+ };
57
+ return /* @__PURE__ */ a("form", {
58
+ class: "rv-ai-prompt",
59
+ "aria-busy": c || void 0,
60
+ onSubmit: (e) => {
61
+ e.preventDefault(), k();
62
+ },
63
+ children: [/* @__PURE__ */ a("label", {
64
+ for: w.current,
65
+ class: "rv-ai-prompt-label rv-visually-hidden",
66
+ children: C(d)
67
+ }), /* @__PURE__ */ a("div", {
68
+ class: "rv-ai-prompt-composer",
69
+ children: [
70
+ /* @__PURE__ */ a(s, {
71
+ rows: 2,
72
+ ...y,
73
+ id: w.current,
74
+ "aria-describedby": D ? E : void 0,
75
+ value: t,
76
+ onValueChange: n,
77
+ placeholder: C(p),
78
+ disabled: u || c,
79
+ maxLength: 4e3,
80
+ onCompositionStart: () => {
81
+ T.current = !0;
82
+ },
83
+ onCompositionEnd: () => {
84
+ T.current = !1;
85
+ },
86
+ onKeyDown: (e) => {
87
+ e.key === "Enter" && !e.shiftKey && !e.isComposing && !T.current && e.keyCode !== 229 && (e.preventDefault(), k());
88
+ }
89
+ }),
90
+ v && /* @__PURE__ */ a("div", {
91
+ class: "rv-ai-prompt-footer",
92
+ children: v
93
+ }),
94
+ /* @__PURE__ */ a("div", {
95
+ class: "rv-ai-prompt-toolbar",
96
+ children: [/* @__PURE__ */ a("div", {
97
+ class: "rv-ai-prompt-tools",
98
+ children: [_, D && /* @__PURE__ */ a("span", {
99
+ id: E,
100
+ class: "rv-ai-prompt-hint",
101
+ children: C(g)
102
+ })]
103
+ }), /* @__PURE__ */ a(l, {
104
+ className: "rv-ai-prompt-submit",
105
+ type: O ? "button" : "submit",
106
+ label: C(O ? h : m),
107
+ icon: O ? S : x,
108
+ onClick: O ? (e) => {
109
+ e.preventDefault(), o?.();
110
+ } : void 0,
111
+ disabled: u || !O && !t.trim(),
112
+ busy: c && !O,
113
+ variant: "solid",
114
+ size: "compact"
115
+ })]
116
+ })
117
+ ]
118
+ })]
119
+ });
120
+ }
121
+ function w({ translations: e, items: t, onSelect: n, disabled: r, label: i = "Suggested requests" }) {
122
+ let o = b(e);
123
+ return t.length ? /* @__PURE__ */ a("div", {
124
+ class: "rv-ai-suggestions",
125
+ role: "group",
126
+ "aria-label": o(i),
127
+ children: t.map((e, t) => /* @__PURE__ */ a(u, {
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 T({ translations: e, phase: t, message: n }) {
143
+ let r = b(e);
144
+ return /* @__PURE__ */ a("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__ */ a("span", {
151
+ "aria-hidden": "true",
152
+ children: /* @__PURE__ */ a(c, { label: "" })
153
+ }), /* @__PURE__ */ a("span", { children: r(n) })]
154
+ });
155
+ }
156
+ function E({ translations: e, summary: t, matchedRows: n, countLabel: r, actions: i, children: o }) {
157
+ let s = b(e);
158
+ return /* @__PURE__ */ a("div", {
159
+ class: "rv-ai-result",
160
+ role: "status",
161
+ "aria-live": "polite",
162
+ children: [
163
+ /* @__PURE__ */ a("p", {
164
+ class: "rv-ai-result-summary",
165
+ children: t
166
+ }),
167
+ n !== void 0 && /* @__PURE__ */ a("p", {
168
+ class: "rv-ai-result-count",
169
+ children: r ? r(n) : s("{count} matching rows", { count: n.toLocaleString() })
170
+ }),
171
+ o,
172
+ i && /* @__PURE__ */ a("div", {
173
+ class: "rv-ai-result-actions",
174
+ children: i
175
+ })
176
+ ]
177
+ });
178
+ }
179
+ function D({ translations: e = {}, label: t = "AI view assistant", children: n, footer: r, busy: i }) {
180
+ return /* @__PURE__ */ a(y, {
181
+ translations: e,
182
+ children: /* @__PURE__ */ a("section", {
183
+ class: "rv-ai-assistant",
184
+ "aria-label": ((t) => _(t, e))(t),
185
+ "aria-busy": i || void 0,
186
+ children: [n, r && /* @__PURE__ */ a("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 O({ translations: e, items: r, onRemove: s, onClear: c, onEmpty: l, disabled: g, removalsDisabled: _, label: v = "View steps", triggerLabel: y, clearLabel: x = "Clear all", clearDescription: S, removeLabel: C, countLabel: w, changedMessage: T }) {
196
+ let E = b(e), D = w ?? ((e) => E(e === 1 ? "{count} applied request" : "{count} applied requests", { count: e })), O = C ?? ((e) => E("Remove request: {label}", { label: e.label })), k = i(null), A = i(null), j = i(null), [M] = t(() => f("rv-ai-steps")), [N, P] = t(!1), F = r.length > 0;
197
+ n(() => {
198
+ if (F || P(!1), !N || !F || !k.current || !A.current || !j.current) return;
199
+ let e = j.current, t = new m(), n = !0;
200
+ return t.open({
201
+ anchor: A.current,
202
+ content: e,
203
+ appendTo: k.current,
204
+ onClose: () => {
205
+ n && P(!1);
206
+ }
207
+ }), e.focus({ preventScroll: !0 }), () => {
208
+ n = !1, t.destroy(), e.hidden = !0;
209
+ };
210
+ }, [N, F]);
211
+ let I = i();
212
+ if (n(() => {
213
+ let e = I.current;
214
+ if (!e) return;
215
+ if (g) {
216
+ e.sawBusy = !0;
217
+ return;
218
+ }
219
+ if (e.id ? r.some((t) => t.id === e.id) : r.length > 0) {
220
+ (e.sawBusy || e.id && _) && (I.current = void 0);
221
+ return;
222
+ }
223
+ I.current = void 0;
224
+ let t = e.button.ownerDocument.activeElement;
225
+ if (t !== e.button && t !== e.button.ownerDocument.body) return;
226
+ let n = k.current?.querySelectorAll(".rv-remove-button");
227
+ n?.length && N ? n[Math.min(e.index, n.length - 1)]?.focus() : r.length || l?.();
228
+ }, [
229
+ r,
230
+ l,
231
+ g,
232
+ _,
233
+ N
234
+ ]), !F) return null;
235
+ let L = 0, R = r.reduce((e, t) => e + (t.count ?? 1), 0);
236
+ return /* @__PURE__ */ a("div", {
237
+ class: "rv-ai-request-trail",
238
+ role: "group",
239
+ "aria-label": E(v),
240
+ ref: k,
241
+ onFocusOut: (e) => {
242
+ e.relatedTarget instanceof Node && !e.currentTarget.contains(e.relatedTarget) && P(!1);
243
+ },
244
+ children: [/* @__PURE__ */ a(u, {
245
+ ref: A,
246
+ className: "rv-ai-trail-trigger",
247
+ variant: "ghost",
248
+ size: "compact",
249
+ disabled: g,
250
+ "aria-haspopup": "dialog",
251
+ "aria-expanded": N,
252
+ "aria-controls": M,
253
+ onClick: () => P((e) => !e),
254
+ children: [y ? y(R) : E(R === 1 ? "{count} step" : "{count} steps", { count: R }), /* @__PURE__ */ a(o, {
255
+ svg: p,
256
+ size: 10
257
+ })]
258
+ }), /* @__PURE__ */ a("div", {
259
+ ref: j,
260
+ id: M,
261
+ class: "rv-popover rv-ai-trail-popover",
262
+ role: "dialog",
263
+ "aria-label": E(v),
264
+ tabIndex: -1,
265
+ hidden: !N,
266
+ children: [
267
+ /* @__PURE__ */ a("div", {
268
+ class: "rv-ai-trail-header",
269
+ children: /* @__PURE__ */ a("span", {
270
+ class: "rv-ai-trail-label",
271
+ children: [E(v), /* @__PURE__ */ a(d, {
272
+ count: R,
273
+ label: D(R)
274
+ })]
275
+ })
276
+ }),
277
+ /* @__PURE__ */ a("ol", {
278
+ class: "rv-ai-trail-steps",
279
+ "aria-label": D(R),
280
+ children: r.map((e, t) => {
281
+ let n = L + 1;
282
+ return L += e.count ?? 1, /* @__PURE__ */ a("li", {
283
+ class: "rv-ai-step",
284
+ "data-current": t === r.length - 1 || void 0,
285
+ onFocusCapture: (e) => e.currentTarget.scrollIntoView({
286
+ block: "nearest",
287
+ inline: "nearest"
288
+ }),
289
+ children: /* @__PURE__ */ a("span", {
290
+ class: "rv-ai-step-chip",
291
+ children: [
292
+ /* @__PURE__ */ a("span", {
293
+ class: "rv-ai-step-number",
294
+ "aria-hidden": "true",
295
+ children: n === L ? n : `${n}–${L}`
296
+ }),
297
+ /* @__PURE__ */ a("span", {
298
+ class: "rv-ai-step-label",
299
+ title: e.label,
300
+ children: e.label
301
+ }),
302
+ /* @__PURE__ */ a(h, {
303
+ compact: !0,
304
+ disabled: g || _,
305
+ locale: {
306
+ title: O(e),
307
+ ariaLabel: O(e)
308
+ },
309
+ onClick: (n) => {
310
+ n.preventDefault(), I.current = {
311
+ button: n.currentTarget,
312
+ index: t,
313
+ id: e.id
314
+ }, s(e.id);
315
+ }
316
+ })
317
+ ]
318
+ })
319
+ }, e.id);
320
+ })
321
+ }),
322
+ T && /* @__PURE__ */ a("p", {
323
+ class: "rv-ai-trail-message",
324
+ children: E(T)
325
+ }),
326
+ /* @__PURE__ */ a("div", {
327
+ class: "rv-ai-trail-footer",
328
+ children: /* @__PURE__ */ a(u, {
329
+ variant: "ghost",
330
+ size: "compact",
331
+ disabled: g,
332
+ title: S ? E(S) : void 0,
333
+ onClick: (e) => {
334
+ e.preventDefault(), I.current = {
335
+ button: e.currentTarget,
336
+ index: 0
337
+ }, c();
338
+ },
339
+ children: E(x)
340
+ })
341
+ })
342
+ ]
343
+ })]
344
+ });
345
+ }
346
+ //#endregion
347
+ export { E as a, g as c, C as i, _ as l, T as n, w as o, D as r, y as s, O as t };