@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
@@ -1,121 +0,0 @@
1
- import { ButtonControl as e } from "../native-control.js";
2
- import { DEFAULT_CALENDAR_TRANSLATIONS as t } from "../calendar/translations.js";
3
- import { n } from "./iso-B0YHBK7m.js";
4
- import { f as r, h as i, m as a, o, p as s } from "./model-mPO2tG2f.js";
5
- import { t as c } from "./calendar-BsDxCYhI.js";
6
- import { useState as l } from "preact/hooks";
7
- import { Fragment as u, jsx as d, jsxs as f } from "preact/jsx-runtime";
8
- //#region src/calendar/picker.tsx
9
- function p(p) {
10
- let { selected: m, onSelectionChange: ee, presets: h, mode: g = "single", min: _ = 0, max: v = Infinity, required: y = !1, excludeDisabled: b = !1, month: x, defaultMonth: S, onMonthChange: C, ...w } = p, T = typeof m == "string" ? m : Array.isArray(m) ? m[0] : m?.from, [E, D] = l(S ?? T ?? p.referenceDate ?? i()), [O, k] = l(T ?? E), [A, j] = l(), [M, N] = l(), P = (e) => {
11
- j(e), N(void 0);
12
- }, F = x ?? E, I = p.views?.filter((e) => e === "month" || e === "year"), L = I?.length ? I : p.views || p.enableYearView === !1 ? ["month"] : ["month", "year"], [R, z] = l(p.defaultView && L.includes(p.defaultView) ? p.defaultView : L[0]), B = L.includes(R) ? R : L[0], V = (e) => {
13
- D(e), P(), C?.(e);
14
- }, H = p.translations?.invalidSelection ?? t.invalidSelection, U = (e, t = H) => {
15
- j(e), N(t), p.onInvalidSelection?.(t, e);
16
- }, W = (e) => !!(p.minDate && e < p.minDate || p.maxDate && e > p.maxDate || p.isDateDisabled?.(e) || p.isMonthDisabled?.(r(e, p.calendarSystem))), G = (e) => {
17
- if (!e.to) return !W(e.from);
18
- let t = a(e.from, e.to);
19
- if (t < _ || t > v || t < 0 || W(e.from) || W(e.to)) return !1;
20
- if (b) {
21
- if (t > 366e3) return !1;
22
- for (let t = e.from; t <= e.to; t = s(t, 1)) if (W(t)) return !1;
23
- }
24
- return !0;
25
- }, K = (e) => {
26
- if (p.mode === "multiple") {
27
- let t = p.selected ?? [], n = t.includes(e), r = n ? t.filter((t) => t !== e) : [...t, e];
28
- if (n && r.length < Math.max(_, +!!y) || r.length > v) {
29
- U(e);
30
- return;
31
- }
32
- p.onSelectionChange(r);
33
- } else if (p.mode === "range") {
34
- let t = p.selected;
35
- if (!t || t.to) {
36
- p.onSelectionChange({ from: e }), P();
37
- return;
38
- }
39
- let n = o(t.from, e);
40
- if (!G(n)) {
41
- b && a(n.from, n.to) >= _ && a(n.from, n.to) <= v && p.onSelectionChange({ from: e }), U(e);
42
- return;
43
- }
44
- p.onSelectionChange(n), P();
45
- } else p.onSelectionChange(p.selected === e && !y ? void 0 : e);
46
- }, q = p.mode === "range" ? p.selected : void 0, J = typeof m == "string" ? {
47
- from: m,
48
- to: m
49
- } : q ? {
50
- from: q.from,
51
- to: q.to ?? q.from
52
- } : void 0, Y = q && !q.to && A ? o(q.from, A) : void 0, X = (e) => {
53
- let t = p.validateSelection?.(e, {
54
- month: r(F, p.calendarSystem),
55
- view: B,
56
- selection: J,
57
- preview: Y,
58
- referenceDate: p.referenceDate ?? (p.referenceInstant ? n(p.referenceInstant, p.timeZone ?? "UTC") : void 0)
59
- });
60
- if (t === !1 || typeof t == "string") return typeof t == "string" ? t : H;
61
- }, Z = Y && !G(Y) ? H : void 0, Q = M ?? Z, $ = (e) => {
62
- let t = X(e);
63
- return !t || (U(e, t), !1);
64
- }, te = (e) => {
65
- let t = e.selection, n;
66
- if (p.mode === "multiple") {
67
- if (!Array.isArray(t) || t.length < Math.max(_, +!!y) || t.length > v || t.some(W)) return;
68
- let e = [...new Set(t)];
69
- if (e.length < Math.max(_, +!!y) || !e.every($)) return;
70
- p.onSelectionChange(e), n = e[0] ?? F;
71
- } else if (p.mode === "range") {
72
- if (!t?.from || !G(t) || !$(t.from) || t.to && !$(t.to)) return;
73
- p.onSelectionChange(t), n = t.from;
74
- } else {
75
- if (typeof t != "string" || W(t) || !$(t)) return;
76
- p.onSelectionChange(t), n = t;
77
- }
78
- k(n), V(r(n, p.calendarSystem)), P();
79
- };
80
- return /* @__PURE__ */ d(c, {
81
- ...w,
82
- onViewChange: (e) => {
83
- z(e), P(), p.onViewChange?.(e);
84
- },
85
- month: F,
86
- focusedDate: O,
87
- onFocusedDateChange: k,
88
- onMonthChange: V,
89
- selection: J,
90
- selectedDates: p.mode === "multiple" ? p.selected : void 0,
91
- preview: Y,
92
- previewInvalid: !!(Y && Q),
93
- previewDescription: g === "range" ? Q ?? "" : void 0,
94
- onInvalidSelection: (e, t) => U(t, e),
95
- fixedWeeks: p.fixedWeeks ?? !1,
96
- showOutsideDays: p.showOutsideDays ?? !0,
97
- allowOutsideMonthSelection: p.allowOutsideMonthSelection ?? !0,
98
- onPresetSelect: (e) => {
99
- if (p.mode === "multiple") {
100
- let t = p.selected ?? [];
101
- if (t.includes(e)) return;
102
- if (t.length >= v) {
103
- U(e);
104
- return;
105
- }
106
- p.onSelectionChange([...t, e]);
107
- } else p.mode === "range" ? p.onSelectionChange({ from: e }) : p.onSelectionChange(e);
108
- },
109
- onSelect: K,
110
- onPreviewDateChange: P,
111
- footer: h?.length || p.footer ? /* @__PURE__ */ f(u, { children: [h?.length ? /* @__PURE__ */ d("div", {
112
- class: "revo-calendar__presets",
113
- children: h.map((t) => /* @__PURE__ */ d(e, {
114
- onClick: () => te(t),
115
- children: t.label
116
- }, t.label))
117
- }) : null, p.footer] }) : void 0
118
- });
119
- }
120
- //#endregion
121
- export { p as t };
@@ -1,59 +0,0 @@
1
- import { ButtonControl as e } from "../native-control.js";
2
- import { fieldDropIndex as t, fieldListDropIndex as n } from "../field-reorder.js";
3
- import { createElement as r } from "preact";
4
- import { jsx as i, jsxs as a } from "preact/jsx-runtime";
5
- //#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/grip-vertical.svg?raw
6
- var o = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 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=\"M128 40c0-22.1-17.9-40-40-40L40 0C17.9 0 0 17.9 0 40L0 88c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zm0 192c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zM0 424l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM320 40c0-22.1-17.9-40-40-40L232 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zM192 232l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM320 424c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48z\"/></svg>";
7
- //#endregion
8
- //#region src/reorder-list.tsx
9
- function s({ items: e, itemKey: o, renderItem: s, renderHandle: c, itemAttributes: l, className: u = "", rowClassName: d = "", endClassName: f = "", draggedKey: p, dropIndex: m, empty: h, onDragOver: g, onDrop: _ }) {
10
- let v = (e, n) => {
11
- let r = e.currentTarget.getBoundingClientRect();
12
- return t(e.clientY, r.top, r.height, n, m ?? null);
13
- }, y = (t) => {
14
- let r = t.currentTarget;
15
- if (t.target.closest(".rv-reorder-drop-end")?.parentElement === r) return e.length;
16
- let i = Array.from(r.querySelectorAll(":scope > .rv-reorder-row"));
17
- return n(t.clientY, i.map((e) => e.getBoundingClientRect()), m ?? null, e.length);
18
- };
19
- return /* @__PURE__ */ a("div", {
20
- class: `rv-reorder-list ${u}${m === e.length ? " drop-at-end" : ""}`,
21
- onDragOver: (e) => {
22
- e.target.closest(".rv-reorder-row")?.parentElement !== e.currentTarget && (e.stopPropagation(), g(e, y(e)));
23
- },
24
- onDrop: (e) => {
25
- e.target.closest(".rv-reorder-row")?.parentElement !== e.currentTarget && (e.stopPropagation(), _(e, y(e)));
26
- },
27
- children: [
28
- !e.length && h,
29
- e.map((e, t) => /* @__PURE__ */ r("div", {
30
- ...l?.(e, t),
31
- key: o(e),
32
- class: `rv-reorder-row ${typeof d == "function" ? d(e, t) : d}${p === o(e) ? " dragging" : ""}${m === t ? " drop-before" : ""}`,
33
- onDragOver: (e) => {
34
- e.stopPropagation(), g(e, v(e, t));
35
- },
36
- onDrop: (e) => {
37
- e.stopPropagation(), _(e, v(e, t));
38
- }
39
- }, c?.(e, t), s(e, t))),
40
- /* @__PURE__ */ i("div", {
41
- class: `rv-reorder-drop-end ${f}`,
42
- "aria-hidden": "true"
43
- })
44
- ]
45
- });
46
- }
47
- function c({ className: t = "", children: n, ...r }) {
48
- return /* @__PURE__ */ a(e, {
49
- type: "button",
50
- ...r,
51
- class: `rv-btn-ghost rv-reorder-handle ${t}`,
52
- children: [/* @__PURE__ */ i("span", {
53
- "aria-hidden": "true",
54
- dangerouslySetInnerHTML: { __html: o }
55
- }), n]
56
- });
57
- }
58
- //#endregion
59
- export { s as n, c as t };
@@ -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 };