@revolist/ui 4.0.3-rc → 4.0.3

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 (314) hide show
  1. package/MIGRATION.md +36 -0
  2. package/OWNERSHIP.md +32 -32
  3. package/README.md +136 -78
  4. package/_button.scss +6 -2
  5. package/_chunks/arrow-up-Cw8hW9vp.js +4 -0
  6. package/_chunks/calculator-CDWOuAcp.js +4 -0
  7. package/_chunks/{calendar-xpZ0v3xf.js → calendar-CgXQgkga.js} +19 -19
  8. package/_chunks/chart-frame-hcOlnQ1K.js +145 -0
  9. package/_chunks/{chevron-right-sxHQMSkq.js → check-BwI7iCAm.js} +2 -2
  10. package/_chunks/{chevron-left-D0nc4Z5S.js → chevron-right-CM3ljziP.js} +2 -2
  11. package/_chunks/choice-chips-SkllS5Kl.js +126 -0
  12. package/_chunks/{color-palette-D8vyPfld.js → color-palette-DMJUChWC.js} +20 -22
  13. package/_chunks/color-picker-BpCTuIdm.js +143 -0
  14. package/_chunks/{component-C_T2VN5u.js → component-CfeHXgIw.js} +279 -264
  15. package/_chunks/{component-metadata-BMOOmqx5.js → component-metadata-BKd7U8OW.js} +0 -8
  16. package/_chunks/configurator-actions-DnStE6Yl.js +155 -0
  17. package/_chunks/configurator-field-icon-CmcM_sPs.js +53 -0
  18. package/_chunks/{control-AHKXD5Eu.js → control-Dcrjsunl.js} +42 -17
  19. package/_chunks/controls-B_6NJarZ.js +650 -0
  20. package/_chunks/{date-control-DrVFX13g.js → date-control-C4h4m75W.js} +1 -1
  21. package/_chunks/{date-time-qIhp5vaX.js → date-time-CTOSbzb0.js} +317 -278
  22. package/_chunks/dialog.parts-3w5FR06n.js +131 -0
  23. package/_chunks/{duration-CL68Em0o.js → duration-Bf2OS1V5.js} +5 -5
  24. package/_chunks/editor-popup-ByU7qiub.js +82 -0
  25. package/_chunks/field-configurator-D5dZRhDe.js +288 -0
  26. package/_chunks/{framework-mount--RTLIqE-.js → framework-mount-Bk4O_T7T.js} +1 -1
  27. package/_chunks/icon-toolbar-DSjOdwM7.js +134 -0
  28. package/_chunks/magnifying-glass-CvrTDSkB.js +4 -0
  29. package/_chunks/minus-BOAR3A1C.js +4 -0
  30. package/_chunks/mount-BRdcG60g.js +267 -0
  31. package/_chunks/{native.view-ByyZ1CT5.js → native-Blr3byjO.js} +1 -1
  32. package/_chunks/native-control-B_fVA5bL.js +649 -0
  33. package/_chunks/{number-input-BKwA5FnM.js → number-input-CmM6_2vR.js} +7 -7
  34. package/_chunks/{picker-h1P5RUgp.js → picker-DTqET-2W.js} +2 -2
  35. package/_chunks/plus-CbGRkIGl.js +4 -0
  36. package/_chunks/popover-controller-D-AvKQ7B.js +102 -0
  37. package/_chunks/{popup-CT2uD3go.js → popup-C35Isk7p.js} +115 -104
  38. package/_chunks/{rating-choice-DZgmaic0.js → rating-choice-C-6wcb9U.js} +1 -1
  39. package/_chunks/{reorder-list-CSlqAGHw.js → reorder-list-DIl1gkV6.js} +1 -1
  40. package/_chunks/request-trail-DrhdpWiH.js +762 -0
  41. package/_chunks/rich-text-BnilBbhU.js +842 -0
  42. package/_chunks/rotate-left-BF6G883o.js +4 -0
  43. package/_chunks/selection-list-tooltips-C5oMJe26.js +42 -0
  44. package/_chunks/title-tooltip-Cw6LOZhb.js +11 -0
  45. package/_chunks/tooltip-D4xkio5G.js +54 -0
  46. package/_chunks/tooltip-owner-DjdvqKzz.js +19 -0
  47. package/_chunks/tooltip-session-B6X6x8G_.js +110 -0
  48. package/_chunks/tooltip-text-BXsUEmBH.js +12 -0
  49. package/_chunks/top-layer-popup-CNSDdfJV.js +59 -0
  50. package/_dialog.scss +57 -22
  51. package/_form.scss +71 -21
  52. package/_legend.scss +25 -7
  53. package/_shared/data-query/index.d.ts +2 -2
  54. package/_shared/data-query/load-options.d.ts +2 -2
  55. package/_variables.scss +34 -32
  56. package/_view-switcher.scss +6 -0
  57. package/activity-message.d.ts +1 -1
  58. package/ai/_chat.scss +35 -3
  59. package/ai/_style.scss +76 -16
  60. package/ai/chat.d.ts +3 -1
  61. package/ai/components.d.ts +16 -3
  62. package/ai/index.d.ts +1 -0
  63. package/ai/index.js +3 -3
  64. package/ai/mount.d.ts +30 -6
  65. package/ai/request-trail.d.ts +9 -3
  66. package/ai/results/_style.scss +83 -0
  67. package/ai/results/index.d.ts +11 -0
  68. package/ai/results/metrics.d.ts +5 -0
  69. package/ai/results/table.d.ts +5 -0
  70. package/ai/results/text.d.ts +5 -0
  71. package/ai/results/types.d.ts +29 -0
  72. package/ai/transcript.d.ts +2 -0
  73. package/ai/translations.d.ts +1 -1
  74. package/angular/angular.d.ts +1 -1
  75. package/angular/angular.js +13 -7
  76. package/assignee/assignee.scss +28 -6
  77. package/assignee/index.js +2 -2
  78. package/avatar/avatar.style.scss +23 -6
  79. package/avatar/index.d.ts +25 -2
  80. package/avatar/index.js +33 -32
  81. package/badge.d.ts +1 -1
  82. package/badge.view.d.ts +8 -0
  83. package/brush-range/_brush-range.scss +55 -49
  84. package/brush-range/component.d.ts +1 -3
  85. package/brush-range/component.js +27 -27
  86. package/buttons/delete-button.style.scss +6 -2
  87. package/buttons/remove-button.d.ts +1 -1
  88. package/buttons/remove-button.style.scss +1 -1
  89. package/buttons/svg-button.d.ts +1 -1
  90. package/buttons/svg-button.js +16 -16
  91. package/calendar/_calendar.scss +21 -25
  92. package/calendar/calendar.js +1 -1
  93. package/calendar/header.js +1 -2
  94. package/calendar/index.js +2 -2
  95. package/cell-input.scss +3 -7
  96. package/cell-visuals/badge.style.scss +6 -3
  97. package/cell-visuals/bar-chart.style.scss +2 -1
  98. package/cell-visuals/column-type.style.css +12 -0
  99. package/cell-visuals/progress-line-value.renderer.style.scss +4 -2
  100. package/cell-visuals/progress-line.style.scss +1 -4
  101. package/cell-visuals/sparkline.style.scss +2 -1
  102. package/cell-visuals/timeline.style.css +4 -2
  103. package/checkbox/checkbox.scss +6 -24
  104. package/choice-chips/index.d.ts +3 -1
  105. package/choice-chips/index.js +1 -1
  106. package/color-palette/color-palette.js +1 -1
  107. package/color-palette/color-palette.style.scss +88 -25
  108. package/color-palette/color-picker.js +2 -2
  109. package/color-palette/color-picker.style.scss +23 -10
  110. package/color-palette/common-palettes.d.ts +1 -1
  111. package/color-palette/common-palettes.js +1 -1
  112. package/color-palette/native.d.ts +15 -2
  113. package/component-catalog.d.ts +9 -7
  114. package/configurator-actions.d.ts +67 -0
  115. package/configurator-actions.js +1 -0
  116. package/configurator-aggregation-list.d.ts +14 -0
  117. package/configurator-aggregation-list.js +63 -0
  118. package/configurator-drop-zone.d.ts +39 -0
  119. package/configurator-drop-zone.js +66 -0
  120. package/configurator-field-icon.d.ts +10 -0
  121. package/configurator-field-icon.js +1 -0
  122. package/configurator-focus.d.ts +4 -0
  123. package/configurator-focus.js +39 -0
  124. package/configurator-sections.d.ts +42 -0
  125. package/configurator-sections.js +71 -0
  126. package/control-presentation.d.ts +8 -2
  127. package/control-presentation.js +25 -20
  128. package/controls.d.ts +12 -2
  129. package/controls.js +4 -3
  130. package/core/editor-popup-position.d.ts +6 -2
  131. package/core/editor-popup.d.ts +4 -0
  132. package/core/editor-popup.js +1 -1
  133. package/core/popover-controller.d.ts +35 -0
  134. package/core/popup-ownership.d.ts +2 -0
  135. package/core/selection-list-tooltips.d.ts +2 -0
  136. package/core/title-tooltip.d.ts +2 -0
  137. package/core/tooltip-session.d.ts +29 -0
  138. package/core/tooltip-surface.d.ts +13 -0
  139. package/core/tooltip-text.d.ts +6 -0
  140. package/core/tooltip.d.ts +35 -0
  141. package/core/top-layer-popup.d.ts +4 -0
  142. package/core/top-layer-popup.js +1 -23
  143. package/date-time/attach.d.ts +1 -1
  144. package/date-time/date-control.d.ts +1 -1
  145. package/date-time/field.d.ts +3 -2
  146. package/date-time/index.js +1 -1
  147. package/date-time/style.scss +239 -36
  148. package/date-time/time-selection.d.ts +3 -1
  149. package/date-time/types.d.ts +5 -1
  150. package/dialog/dialog-action-footer.d.ts +17 -2
  151. package/dialog/dialog.dom.d.ts +15 -2
  152. package/dialog/dialog.dom.js +9 -9
  153. package/dialog/dialog.parts.d.ts +1 -1
  154. package/dialog/dialog.parts.js +1 -1
  155. package/distribution-chart/_distribution-chart.scss +113 -77
  156. package/distribution-chart/area-chart.js +1 -1
  157. package/distribution-chart/bar-chart.js +1 -1
  158. package/distribution-chart/chart-frame.d.ts +1 -1
  159. package/distribution-chart/index.d.ts +1 -1
  160. package/distribution-chart/line-chart.js +1 -1
  161. package/dropdown/content.js +1 -1
  162. package/dropdown/control.js +1 -1
  163. package/dropdown/dropdown.types.d.ts +1 -1
  164. package/dropdown/editor-dropdown.style.scss +19 -9
  165. package/dropdown/index.js +2 -2
  166. package/dropdown/lookup-field.d.ts +5 -0
  167. package/dropdown/lookup-field.js +2 -1
  168. package/dropdown/popup.d.ts +2 -2
  169. package/dropdown/popup.js +1 -1
  170. package/duration/index.js +1 -1
  171. package/editor-actions.js +1 -1
  172. package/editor-layout/index.d.ts +4 -4
  173. package/editor-layout/index.js +39 -34
  174. package/editor-layout/style.scss +82 -18
  175. package/field-configurator.d.ts +39 -1
  176. package/field-configurator.js +4 -170
  177. package/field-expansion.d.ts +9 -0
  178. package/filter/filters/slider/_single-slider.scss +57 -38
  179. package/filter/filters/slider/_slider.scss +41 -33
  180. package/filter/filters/slider/control.js +2 -0
  181. package/filter/filters/slider/runtime.js +49 -22
  182. package/filter/filters/slider/single.js +1 -1
  183. package/filter-badge.js +1 -1
  184. package/filter-controls.d.ts +0 -1
  185. package/filter-controls.js +5 -6
  186. package/form-controls/index.d.ts +10 -2
  187. package/form-controls/index.js +7 -7
  188. package/form-controls/presentation.d.ts +1 -1
  189. package/form-controls/presentation.js +12 -12
  190. package/formatting/index.d.ts +1 -1
  191. package/formatting/index.js +22 -21
  192. package/formatting/styles.scss +14 -57
  193. package/framework.js +227 -224
  194. package/history-controls.js +27 -1
  195. package/icon-toolbar.d.ts +62 -0
  196. package/icon-toolbar.js +1 -0
  197. package/icons/icon.d.ts +1 -1
  198. package/legend.d.ts +1 -1
  199. package/masked-input/index.js +1 -1
  200. package/native-control.d.ts +1 -2
  201. package/native-control.js +1 -1
  202. package/native-controls.d.ts +54 -2
  203. package/native-styles.css +1 -1
  204. package/native-styles.scss +6 -2
  205. package/native.d.ts +3 -3
  206. package/native.js +46 -43
  207. package/number-input/index.d.ts +1 -1
  208. package/number-input/index.js +1 -1
  209. package/package.json +71 -2
  210. package/pagination.js +11 -11
  211. package/pdf-viewer/header.d.ts +1 -1
  212. package/pdf-viewer/index.d.ts +2 -2
  213. package/pdf-viewer/index.js +1 -1
  214. package/pdf-viewer/search-bar.d.ts +1 -1
  215. package/pdf-viewer/status.d.ts +1 -1
  216. package/pdf-viewer/style.scss +203 -42
  217. package/pickers.d.ts +5 -1
  218. package/preact-mount.js +1 -1
  219. package/preact.d.ts +13 -10
  220. package/preact.js +109 -64
  221. package/progress/_bar.scss +9 -3
  222. package/progress/_circular.scss +2 -1
  223. package/rating-choice.js +1 -1
  224. package/react-adapter.d.ts +4 -2
  225. package/react-control.d.ts +2 -0
  226. package/react-control.js +2 -2
  227. package/react.d.ts +7 -8
  228. package/react.js +67 -66
  229. package/reorder-list.d.ts +1 -1
  230. package/reorder-list.js +1 -1
  231. package/reorder-list.scss +59 -17
  232. package/resource-picker/resource-picker-popup.js +1 -1
  233. package/resource-picker/resource-picker.js +74 -72
  234. package/resource-picker/resource-picker.scss +62 -34
  235. package/rich-text/engine.d.ts +1 -0
  236. package/rich-text/format-html.d.ts +2 -0
  237. package/rich-text/index.d.ts +4 -0
  238. package/rich-text/index.js +1 -1
  239. package/rich-text/model.d.ts +2 -0
  240. package/rich-text/style.scss +293 -44
  241. package/rich-text/syntax.d.ts +5 -0
  242. package/rich-text/toolbar.d.ts +1 -1
  243. package/rich-text/translations.d.ts +2 -0
  244. package/search-input/index.js +1 -1
  245. package/search-input/native.d.ts +21 -2
  246. package/select.d.ts +3 -1
  247. package/select.js +1 -1
  248. package/selection-list.d.ts +1 -0
  249. package/selection-list.js +3 -1
  250. package/status-feedback/exit-snapshot.js +4 -4
  251. package/status-feedback/popover.js +4 -4
  252. package/status-feedback/status-feedback.scss +124 -35
  253. package/styles/_activity-message.scss +24 -7
  254. package/styles/_alert.scss +78 -17
  255. package/styles/_cell-editor-frame.scss +11 -0
  256. package/styles/_compositions.scss +400 -80
  257. package/styles/_control.scss +30 -8
  258. package/styles/_disclosure.scss +15 -5
  259. package/styles/_editor-counter.scss +16 -6
  260. package/styles/_editor-slider.scss +8 -4
  261. package/styles/_field-configurator.scss +321 -23
  262. package/styles/_fields-grid.scss +49 -0
  263. package/styles/_filter-controls.scss +10 -2
  264. package/styles/_icon-action.scss +48 -15
  265. package/styles/_loading.scss +12 -3
  266. package/styles/_motion.scss +32 -9
  267. package/styles/_palette.scss +0 -24
  268. package/styles/_primitives.scss +369 -110
  269. package/styles/_theme.scss +130 -86
  270. package/styles/_thresholds.scss +28 -25
  271. package/styles/_time-grid.scss +8 -3
  272. package/styles/_tokens.scss +6 -1
  273. package/styles/configurator-actions.scss +241 -0
  274. package/styles/pagination.css +213 -0
  275. package/styles/{legacy-rating.css → rating.css} +8 -3
  276. package/styles.css +1 -1
  277. package/styles.scss +3 -5
  278. package/surfaces.d.ts +38 -2
  279. package/surfaces.js +37 -134
  280. package/svelte/UiComponent.svelte +44 -11
  281. package/svelte.d.ts +1 -1
  282. package/svelte.js +3 -3
  283. package/switch/index.js +15 -14
  284. package/time-grid.d.ts +0 -1
  285. package/time-grid.js +38 -37
  286. package/timeline-track/_style.scss +96 -24
  287. package/timeline-track/index.js +2 -2
  288. package/ui.css +1 -1
  289. package/view-switcher.d.ts +23 -0
  290. package/vue.d.ts +29 -32
  291. package/vue.js +116 -121
  292. package/_chunks/chart-frame-Cmc7xU1i.js +0 -130
  293. package/_chunks/choice-chips-CHQTUdLs.js +0 -110
  294. package/_chunks/color-picker-CudqPYZo.js +0 -138
  295. package/_chunks/control-tooltip-uscKfAnV.js +0 -100
  296. package/_chunks/controls-DsNi8V8I.js +0 -630
  297. package/_chunks/dialog.parts-CKGkC5zP.js +0 -134
  298. package/_chunks/editor-popup-WDdtVDNA.js +0 -81
  299. package/_chunks/history-controls-B3u3INEK.js +0 -27
  300. package/_chunks/mount-DQ1cpppK.js +0 -257
  301. package/_chunks/native-control-C_yok8_-.js +0 -605
  302. package/_chunks/request-trail-DSlFix6i.js +0 -618
  303. package/_chunks/rich-text-CH7gIqOS.js +0 -636
  304. package/avatar/index.view.d.ts +0 -25
  305. package/color-palette/native.view.d.ts +0 -15
  306. package/control-presentation.view.d.ts +0 -8
  307. package/dialog/dialog-action-footer.view.d.ts +0 -20
  308. package/dialog/dialog.dom.view.d.ts +0 -15
  309. package/form-controls/index.view.d.ts +0 -10
  310. package/formatting/control-tooltip.d.ts +0 -27
  311. package/native-controls.view.d.ts +0 -54
  312. package/search-input/native.view.d.ts +0 -21
  313. package/styles/legacy-pagination.css +0 -112
  314. package/surfaces.view.d.ts +0 -63
@@ -0,0 +1,131 @@
1
+ import { i as e } from "./preact.module-BBM36DnO.js";
2
+ import { t } from "./jsxRuntime.module-F6UFnpT-.js";
3
+ import { createPreactElement as n, releasePreactElement as r } from "../preact-mount.js";
4
+ import { n as i, t as a } from "./native-control-B_fVA5bL.js";
5
+ import { r as o } from "./popup-C35Isk7p.js";
6
+ import { t as s } from "./xmark-DD_PBvZI.js";
7
+ //#region src/dialog/dialog-action-footer.tsx
8
+ function c({ cancel: e = {}, save: n = {}, deleteAction: r = !1, reset: i = !1, start: o, end: s, children: c, actionsClass: l = "", class: u = "", ...d }) {
9
+ let f = (e, n, r, i = "", o = "button") => {
10
+ if (n === !1) return null;
11
+ let { label: s = r, class: c = "", ...l } = n;
12
+ return /* @__PURE__ */ t(a, {
13
+ type: o,
14
+ ...l,
15
+ class: `rv-btn ${i} ${c}`,
16
+ "data-dialog-action": e,
17
+ children: s
18
+ });
19
+ };
20
+ return /* @__PURE__ */ t("footer", {
21
+ ...d,
22
+ class: `rv-dialog__footer rv-dialog__action-footer ${u}`,
23
+ children: [c, /* @__PURE__ */ t("div", {
24
+ class: "rv-dialog__action-panel",
25
+ children: [/* @__PURE__ */ t("div", {
26
+ class: "rv-dialog__action-start",
27
+ children: [
28
+ o,
29
+ f("delete", r, "Delete", "rv-btn-danger-outline"),
30
+ f("reset", i, "Reset")
31
+ ]
32
+ }), /* @__PURE__ */ t("div", {
33
+ class: `rv-dialog__actions ${l}`,
34
+ children: [
35
+ s,
36
+ f("cancel", e, "Cancel"),
37
+ f("save", n, "Save", "rv-btn-primary", "submit")
38
+ ]
39
+ })]
40
+ })]
41
+ });
42
+ }
43
+ function l(e, i) {
44
+ let a = n(e.ownerDocument, /* @__PURE__ */ t(c, { ...i }));
45
+ return e.append(a), { destroy() {
46
+ r(a);
47
+ } };
48
+ }
49
+ //#endregion
50
+ //#region src/dialog/dialog.parts.tsx
51
+ var u = o(({ class: e = "", ...n }, r) => /* @__PURE__ */ t("header", {
52
+ ...n,
53
+ ref: r,
54
+ class: `rv-dialog__header ${e}`
55
+ }));
56
+ function d({ class: e = "", ...n }) {
57
+ return /* @__PURE__ */ t("form", {
58
+ ...n,
59
+ class: `rv-dialog__surface ${e}`
60
+ });
61
+ }
62
+ var f = o(({ class: e = "", ...n }, r) => /* @__PURE__ */ t("div", {
63
+ ...n,
64
+ ref: r,
65
+ class: `rv-dialog__body ${e}`
66
+ })), p = o(({ class: e = "", ...n }, r) => /* @__PURE__ */ t("footer", {
67
+ ...n,
68
+ ref: r,
69
+ class: `rv-dialog__footer ${e}`
70
+ })), m = o(({ class: e = "", ...n }, r) => /* @__PURE__ */ t("div", {
71
+ ...n,
72
+ ref: r,
73
+ class: `rv-dialog__actions ${e}`
74
+ }));
75
+ function h({ class: e = "", iconClass: n = "", ...r }) {
76
+ return /* @__PURE__ */ t(a, {
77
+ ...r,
78
+ unstyled: !0,
79
+ type: "button",
80
+ class: `rv-dialog__close ${e}`,
81
+ children: /* @__PURE__ */ t("span", {
82
+ class: `rv-dialog__close-icon ${n}`,
83
+ "aria-hidden": "true",
84
+ dangerouslySetInnerHTML: { __html: s }
85
+ })
86
+ });
87
+ }
88
+ var g = o(({ class: e = "", ...n }, r) => /* @__PURE__ */ t(i, {
89
+ ...n,
90
+ ref: r,
91
+ class: `rv-dialog__title-input ${e}`
92
+ })), _ = o(({ titleId: n, title: r, name: i, description: a, inputLabel: o, titleHidden: s, headingClass: c = "", kickerClass: l = "", titleClass: d = "", inputProps: f, closeLabel: p, closeProps: m, onClose: _, class: v = "", ...y }, b) => /* @__PURE__ */ t(u, {
93
+ ...y,
94
+ ref: b,
95
+ class: `rv-dialog__header--editable ${v}`,
96
+ children: [/* @__PURE__ */ t("div", {
97
+ class: `rv-dialog__heading ${c}`,
98
+ children: [
99
+ !s && i && /* @__PURE__ */ t("span", {
100
+ class: `rv-dialog__kicker ${l}`,
101
+ children: i
102
+ }),
103
+ !s && (f === !1 ? /* @__PURE__ */ t("h3", {
104
+ id: n,
105
+ class: `rv-dialog__title ${d}`,
106
+ children: r
107
+ }) : /* @__PURE__ */ t(e, { children: [/* @__PURE__ */ t("h3", {
108
+ id: n,
109
+ class: `rv-dialog__sr-only ${d}`,
110
+ children: r
111
+ }), /* @__PURE__ */ t(g, {
112
+ "aria-label": o,
113
+ value: r,
114
+ ...f
115
+ })] })),
116
+ a && /* @__PURE__ */ t("div", {
117
+ class: "rv-dialog__description",
118
+ children: a
119
+ })
120
+ ]
121
+ }), _ && /* @__PURE__ */ t(h, {
122
+ ...m,
123
+ "aria-label": p,
124
+ onClick: _
125
+ })]
126
+ }));
127
+ function v(e) {
128
+ return /* @__PURE__ */ t(c, { ...e });
129
+ }
130
+ //#endregion
131
+ export { p as a, g as c, l as d, h as i, _ as l, m as n, d as o, f as r, u as s, v as t, c as u };
@@ -1,7 +1,7 @@
1
1
  import { i as e } from "./preact.module-BBM36DnO.js";
2
2
  import { c as t, i as n, t as r } from "./hooks.module-CG3gN83z.js";
3
3
  import { t as i } from "./jsxRuntime.module-F6UFnpT-.js";
4
- import { l as a, n as o } from "./native-control-C_yok8_-.js";
4
+ import { l as a, n as o } from "./native-control-B_fVA5bL.js";
5
5
  import { SegmentedSwitch as s } from "../segmented-switch/index.js";
6
6
  import { SingleValueSlider as c } from "../filter/filters/slider/single.js";
7
7
  import { n as l } from "./editor-commit-Bq3wSgvr.js";
@@ -138,7 +138,10 @@ function y(t) {
138
138
  class: "rv-duration-field__modes",
139
139
  children: [l.length === 0 ? null : l.length > 5 ? /* @__PURE__ */ i(a, {
140
140
  className: "rv-select",
141
- config: { ariaLabel: t.unitLabel ?? "Duration unit" },
141
+ config: {
142
+ ariaLabel: t.unitLabel ?? "Duration unit",
143
+ topLayer: !0
144
+ },
142
145
  source: l.map((e) => ({
143
146
  value: e,
144
147
  label: t.unitLabels?.[e] ?? v[e]
@@ -252,9 +255,6 @@ function x({ value: e, options: t, apply: a, cancel: o }) {
252
255
  onDraftChange: (e) => {
253
256
  g.current = !0, v.current = e;
254
257
  },
255
- onCommit: h ? (e) => {
256
- g.current = !1, a(e);
257
- } : void 0,
258
258
  onValidityChange: c
259
259
  }, p), /* @__PURE__ */ i(u, {
260
260
  showConfirm: t.showActions ?? !h,
@@ -0,0 +1,82 @@
1
+ import { calculateAnchoredPopoverPosition as e } from "../core/anchored-popover.js";
2
+ import { t } from "./jsxRuntime.module-F6UFnpT-.js";
3
+ import { createPreactElement as n, releasePreactElement as r } from "../preact-mount.js";
4
+ import { i, r as a, t as o } from "./top-layer-popup-CNSDdfJV.js";
5
+ import { t as s } from "./editor-commit-Bq3wSgvr.js";
6
+ //#region src/core/editor-popup-position.ts
7
+ function c(t, n, r, { gap: i = 4, inset: a = 8, fitViewport: o = !1 } = {}) {
8
+ let s = Math.max(0, r.height - a - t.bottom - i), c = Math.max(0, t.top - a - i), l = n.height <= s || s >= c ? "below" : "above", u = l === "below" ? s : c, d = o && n.height > u ? Math.max(u, r.height - 2 * a) : u, f = Math.min(n.height, d), p = l === "below" ? t.bottom + i : t.top - f - i;
9
+ return {
10
+ ...e(t, n, r, i, a),
11
+ placementY: l,
12
+ maxHeight: d,
13
+ top: d > u ? Math.max(a, Math.min(p, r.height - a - f)) : p
14
+ };
15
+ }
16
+ //#endregion
17
+ //#region src/core/editor-popup.tsx
18
+ var l = /* @__PURE__ */ new WeakMap();
19
+ function u(e, u, d) {
20
+ let f = e.ownerDocument, p = f.defaultView;
21
+ l.get(f)?.close();
22
+ let m = !1, h, g = (e) => (h = e, () => {
23
+ h === e && (h = void 0);
24
+ }), _ = () => {
25
+ m || (m = !0, E.disconnect(), T?.disconnect(), f.removeEventListener("pointerdown", y, !0), f.removeEventListener("keydown", b, !0), f.removeEventListener("scroll", x, !0), p.removeEventListener("resize", _), o(S, C), r(S), S.remove(), l.get(f)?.element === S && l.delete(f), d.onClose?.(), e.isConnected && e.focus({ preventScroll: !0 }));
26
+ }, v = (e) => e ? i(S, e) : !1, y = (t) => {
27
+ let n = t.target;
28
+ v(n) || e.contains(n) || d.trigger?.contains(n) || (d.isAvailable && !d.isAvailable() ? _() : h?.() === !1 ? (t.preventDefault(), t.stopPropagation()) : _());
29
+ }, b = (e) => {
30
+ if (e.key === "Escape") {
31
+ if (S.querySelector("[aria-expanded=\"true\"]")) return;
32
+ e.preventDefault(), e.stopPropagation(), _();
33
+ }
34
+ if (e.key === "Tab" && S.contains(e.target)) {
35
+ let t = [...S.querySelectorAll("button:not(:disabled),input:not(:disabled),textarea:not(:disabled),select:not(:disabled),[contenteditable=\"true\"],[tabindex=\"0\"]")].filter((e) => e.tabIndex >= 0 && e.getClientRects().length), n = t[0], r = t.at(-1);
36
+ e.shiftKey && f.activeElement === n ? (e.preventDefault(), r?.focus()) : !e.shiftKey && f.activeElement === r && (e.preventDefault(), n?.focus());
37
+ }
38
+ }, x = (t) => {
39
+ let n = t.target;
40
+ v(n) || n && (n.contains(e) || D?.contains(n)) && w();
41
+ }, S = n(f, /* @__PURE__ */ t("div", {
42
+ class: `rv-editor-popup ${d.className ?? ""}`,
43
+ role: "dialog",
44
+ "aria-label": d.label,
45
+ onKeyDown: (e) => e.stopPropagation(),
46
+ onKeyUp: (e) => e.stopPropagation(),
47
+ onMouseDown: (e) => e.stopPropagation(),
48
+ onClick: (e) => e.stopPropagation(),
49
+ children: /* @__PURE__ */ t(s.Provider, {
50
+ value: g,
51
+ children: u(_)
52
+ })
53
+ }));
54
+ S.style.direction = p.getComputedStyle(e).direction, (e.closest("dialog, [role=\"dialog\"], [role=\"menu\"]") ?? e.closest("revo-grid") ?? f.body).append(S);
55
+ let C = a(S, "block"), w = () => {
56
+ S.style.maxHeight = "";
57
+ let t = c(e.getBoundingClientRect(), S.getBoundingClientRect(), {
58
+ width: p.innerWidth,
59
+ height: p.innerHeight
60
+ }, { fitViewport: d.fitViewport });
61
+ S.style.maxHeight = `${t.maxHeight}px`, S.style.left = `${t.left}px`, S.style.top = `${t.top}px`, S.dataset.placement = t.placementY;
62
+ };
63
+ w();
64
+ let T = typeof p.ResizeObserver == "function" ? new p.ResizeObserver(w) : void 0;
65
+ T?.observe(S), T?.observe(e);
66
+ let E = new MutationObserver(() => {
67
+ (!e.isConnected || !S.isConnected || d.isAvailable && !d.isAvailable()) && _();
68
+ });
69
+ E.observe(f.body, {
70
+ childList: !0,
71
+ subtree: !0
72
+ });
73
+ let D = e.closest("revo-grid");
74
+ D && d.isAvailable && E.observe(D, { attributes: !0 }), f.addEventListener("pointerdown", y, !0), f.addEventListener("keydown", b, !0), f.addEventListener("scroll", x, !0), p.addEventListener("resize", _);
75
+ let O = {
76
+ element: S,
77
+ close: _
78
+ };
79
+ return l.set(f, O), S.querySelector("[autofocus],input,textarea,button,[tabindex=\"0\"]")?.focus({ preventScroll: !0 }), O;
80
+ }
81
+ //#endregion
82
+ export { u as t };
@@ -0,0 +1,288 @@
1
+ import { c as e } from "./preact.module-BBM36DnO.js";
2
+ import { a as t, i as n, 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 { t as s } from "./native-control-B_fVA5bL.js";
6
+ import { n as c } from "./delete-button-CW9vjLnk.js";
7
+ import { RemoveButton as l } from "../buttons/remove-button.js";
8
+ import { B as u, S as d } from "./controls-B_6NJarZ.js";
9
+ import { t as f } from "./chevron-right-CM3ljziP.js";
10
+ import { t as p } from "./tooltip-text-BXsUEmBH.js";
11
+ import { DisclosureSummary as m } from "../form-controls/presentation.js";
12
+ //#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/table-columns.svg?raw
13
+ var h = "<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=\"M0 96C0 60.7 28.7 32 64 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 96zm64 64l0 256 128 0 0-256-128 0zm320 0l-128 0 0 256 128 0 0-256z\"/></svg>";
14
+ //#endregion
15
+ //#region src/field-expansion.ts
16
+ function g() {
17
+ return {
18
+ known: /* @__PURE__ */ new Set(),
19
+ expanded: /* @__PURE__ */ new Set(),
20
+ collapsed: /* @__PURE__ */ new Set()
21
+ };
22
+ }
23
+ function _(e, t, n) {
24
+ for (let n of t) e.known.has(n) || (e.known.add(n), e.expanded.add(n));
25
+ return new Set(n ? t : e.expanded);
26
+ }
27
+ function v(e, t) {
28
+ e.expanded = new Set([...t].map(String)), e.collapsed = new Set([...e.known].filter((t) => !e.expanded.has(t)));
29
+ }
30
+ //#endregion
31
+ //#region src/field-configurator.tsx
32
+ function y({ svg: e, className: t = "" }) {
33
+ return /* @__PURE__ */ a(o, {
34
+ svg: e,
35
+ className: `rv-configurator-icon ${t}`
36
+ });
37
+ }
38
+ function b({ children: e, className: t = "", ...n }) {
39
+ return /* @__PURE__ */ a(m, {
40
+ ...n,
41
+ className: `rv-configurator-summary ${t}`,
42
+ iconPosition: "after",
43
+ icon: /* @__PURE__ */ a(y, { svg: f }),
44
+ children: e
45
+ });
46
+ }
47
+ function x({ title: e, id: t, count: n, children: r, className: i = "" }) {
48
+ return /* @__PURE__ */ a("details", {
49
+ id: t,
50
+ tabIndex: t ? -1 : void 0,
51
+ class: `rv-configurator-available-fields ${i}`,
52
+ open: !0,
53
+ children: [/* @__PURE__ */ a(b, { children: [e, n != null && /* @__PURE__ */ a("span", {
54
+ class: "rv-configurator-field-count",
55
+ children: n
56
+ })] }), /* @__PURE__ */ a("div", {
57
+ class: "rv-configurator-library-content",
58
+ children: r
59
+ })]
60
+ });
61
+ }
62
+ function S({ children: e, actions: t, className: n = "" }) {
63
+ return /* @__PURE__ */ a("div", {
64
+ class: `rv-configurator-zone-heading ${n}`,
65
+ children: [/* @__PURE__ */ a("span", {
66
+ class: "rv-configurator-zone-label",
67
+ children: e
68
+ }), t && /* @__PURE__ */ a("span", {
69
+ class: "rv-configurator-zone-actions",
70
+ children: t
71
+ })]
72
+ });
73
+ }
74
+ function C({ heading: e, actions: t, headingClassName: n, className: r = "", children: i, ...o }) {
75
+ return /* @__PURE__ */ a("section", {
76
+ ...o,
77
+ className: `rv-configurator-zone ${r}`,
78
+ children: [/* @__PURE__ */ a(S, {
79
+ className: n,
80
+ actions: t,
81
+ children: e
82
+ }), i]
83
+ });
84
+ }
85
+ function w({ empty: e, placeholder: t, className: n = "", children: r, ...i }) {
86
+ return /* @__PURE__ */ a("ul", {
87
+ ...i,
88
+ className: `rv-configurator-field-list ${e ? "empty" : ""} ${n}`,
89
+ children: e ? /* @__PURE__ */ a("li", {
90
+ className: "rv-configurator-empty-zone empty",
91
+ children: t
92
+ }) : r
93
+ });
94
+ }
95
+ function T({ className: e = "", children: t, indicator: n, dropPosition: r, ...i }) {
96
+ return /* @__PURE__ */ a("li", {
97
+ ...i,
98
+ className: `rv-configurator-field rv-configurator-field-row ${e}`,
99
+ children: [
100
+ n ?? (r && /* @__PURE__ */ a(P, { position: r })),
101
+ /* @__PURE__ */ a("span", {
102
+ className: "rv-configurator-drag-handle",
103
+ "aria-hidden": "true"
104
+ }),
105
+ t
106
+ ]
107
+ });
108
+ }
109
+ function E({ icon: e, children: t, className: n = "" }) {
110
+ return /* @__PURE__ */ a("span", {
111
+ class: `rv-configurator-field-content ${n}`,
112
+ children: [e, /* @__PURE__ */ a("span", {
113
+ class: "rv-configurator-field-caption",
114
+ children: t
115
+ })]
116
+ });
117
+ }
118
+ function D({ as: t = "div", children: n, className: r = "", ...i }) {
119
+ return e(t, {
120
+ ...i,
121
+ class: `rv-configurator-field ${r}`
122
+ }, n);
123
+ }
124
+ function O({ children: e, ...t }) {
125
+ return /* @__PURE__ */ a("div", {
126
+ ...t,
127
+ className: `rv-configurator-library-list ${t.className ?? ""}`,
128
+ children: e
129
+ });
130
+ }
131
+ function k({ label: e, icon: t, actions: n, contentClassName: r, ...i }) {
132
+ return /* @__PURE__ */ a(T, {
133
+ ...i,
134
+ children: [/* @__PURE__ */ a(E, {
135
+ className: r,
136
+ icon: t,
137
+ children: e
138
+ }), n]
139
+ });
140
+ }
141
+ function A({ children: e, className: t = "", ...n }) {
142
+ return /* @__PURE__ */ a("div", {
143
+ ...n,
144
+ className: `rv-configurator-field-actions ${t}`,
145
+ children: e
146
+ });
147
+ }
148
+ function j({ children: e, active: t = !1, label: n, className: r = "" }) {
149
+ return /* @__PURE__ */ a(p, {
150
+ className: `rv-configurator-status-badge ${r}`,
151
+ "data-active": t ? "true" : void 0,
152
+ title: n,
153
+ "aria-label": n,
154
+ children: e
155
+ });
156
+ }
157
+ function M(e) {
158
+ return /* @__PURE__ */ a(l, {
159
+ ...e,
160
+ className: `rv-configurator-remove-button ${e.className ?? ""}`
161
+ });
162
+ }
163
+ function N() {
164
+ return /* @__PURE__ */ a(o, { svg: c });
165
+ }
166
+ function P({ position: e, index: t, className: n = "" }) {
167
+ return /* @__PURE__ */ a("span", {
168
+ className: `rv-configurator-drop-indicator ${n}`,
169
+ "data-position": e,
170
+ "data-drop-index": t,
171
+ "aria-hidden": "true"
172
+ });
173
+ }
174
+ function F({ title: e, description: t, defaultOpen: n = !1, children: r, className: o = "", summaryClassName: s = "", contentClassName: c = "", descriptionClassName: l = "", renderRoot: u }) {
175
+ let d = i(n), f = {
176
+ class: `rv-collapsible-section rv-configurator-section ${o}`.trim(),
177
+ open: d.current,
178
+ children: [/* @__PURE__ */ a(b, {
179
+ className: s,
180
+ children: e
181
+ }), /* @__PURE__ */ a("div", {
182
+ class: `rv-collapsible-section__content ${c}`.trim(),
183
+ children: [t && /* @__PURE__ */ a("p", {
184
+ class: `rv-collapsible-section__description ${l}`.trim(),
185
+ children: t
186
+ }), r]
187
+ })]
188
+ };
189
+ return u ? u(f) : /* @__PURE__ */ a("details", { ...f });
190
+ }
191
+ function I({ panelRef: e, standalone: o = !1, children: c, compactItems: l, compact: f = !1, onExpand: p, miniMode: m = !1, resizable: h = !1, resizeParent: g = !1, ..._ }) {
192
+ let [v, b] = n(), x = m || h, S = x ? !(v ?? !m) : f, [C, w] = n(), T = i(null);
193
+ r(() => {
194
+ let e = T.current?.parentElement?.parentElement;
195
+ if (h && g && !S && C !== void 0 && e) return e.style.setProperty("--rv-configurator-resized-width", `${C}px`), () => e.style.removeProperty("--rv-configurator-resized-width");
196
+ }, [
197
+ h,
198
+ g,
199
+ S,
200
+ C
201
+ ]);
202
+ let E = t(), D = i(null), O = i(null), k = i(!1), A = i();
203
+ r(() => {
204
+ k.current && (k.current = !1, S ? D.current?.querySelector("button:not(:disabled)")?.focus() : (A.current && O.current?.ownerDocument.getElementById(A.current) || O.current)?.focus());
205
+ }, [S]);
206
+ let j = (e) => {
207
+ x && (A.current = e.targetId, k.current = !0, b(!0)), p?.(), e.onOpen?.();
208
+ }, M = x && !l?.some((e) => !e.disabled) ? [{
209
+ id: "expand",
210
+ label: "Expand configurator"
211
+ }] : l, N = () => {
212
+ k.current = !0, b(!1);
213
+ }, P = h && !g && C !== void 0 ? typeof _.style == "string" ? `${_.style};width:${C}px` : {
214
+ ..._.style,
215
+ width: C
216
+ } : _.style;
217
+ return /* @__PURE__ */ a("div", {
218
+ ..._,
219
+ style: P,
220
+ ref: e,
221
+ "data-compact": S ? "true" : void 0,
222
+ "data-mini-mode": x ? "true" : void 0,
223
+ "data-resizable": h ? "true" : void 0,
224
+ className: `rv-configurator-panel ${o ? "rv-configurator-panel--standalone" : ""} ${_.className ?? ""}`,
225
+ children: [
226
+ S && M && /* @__PURE__ */ a("div", {
227
+ ref: D,
228
+ className: "rv-configurator-rail",
229
+ role: "group",
230
+ "aria-label": _["aria-label"] ?? "Configurator",
231
+ children: M.map((e) => /* @__PURE__ */ a(s, {
232
+ unstyled: !0,
233
+ class: "rv-btn rv-btn-ghost rv-configurator-rail__button",
234
+ "aria-label": `${e.label}${e.count === void 0 ? "" : ` (${e.count})`}`,
235
+ title: `${e.label}${e.count === void 0 ? "" : ` (${e.count})`}`,
236
+ "aria-expanded": !x && void 0,
237
+ "aria-controls": x ? E : void 0,
238
+ disabled: e.disabled,
239
+ onClick: () => j(e),
240
+ children: [
241
+ /* @__PURE__ */ a(y, { svg: e.icon ?? "<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=\"M0 96C0 60.7 28.7 32 64 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 96zm64 64l0 256 128 0 0-256-128 0zm320 0l-128 0 0 256 128 0 0-256z\"/></svg>" }),
242
+ x && /* @__PURE__ */ a("span", {
243
+ class: "rv-configurator-rail__label",
244
+ children: e.label
245
+ }),
246
+ e.count !== void 0 && /* @__PURE__ */ a(u, {
247
+ className: "rv-configurator-rail__count",
248
+ variant: e.count ? "accent" : "neutral",
249
+ children: e.count
250
+ })
251
+ ]
252
+ }, e.id))
253
+ }),
254
+ h && !S && /* @__PURE__ */ a(d, {
255
+ anchorRef: T,
256
+ resizeParent: g,
257
+ label: "Resize configurator",
258
+ edge: g ? "left" : "right",
259
+ initialWidth: 360,
260
+ min: 56,
261
+ max: 720,
262
+ onChange: (e) => {
263
+ e < 200 ? N() : w(e);
264
+ }
265
+ }),
266
+ x && !S && /* @__PURE__ */ a("div", {
267
+ class: "rv-configurator-panel__toggle",
268
+ children: /* @__PURE__ */ a(s, {
269
+ ref: O,
270
+ class: "rv-btn-ghost",
271
+ "aria-label": "Collapse configurator",
272
+ "aria-expanded": !0,
273
+ "aria-controls": E,
274
+ onClick: N,
275
+ children: "Collapse"
276
+ })
277
+ }),
278
+ l || x ? /* @__PURE__ */ a("div", {
279
+ id: x ? E : void 0,
280
+ class: "rv-configurator-panel__content",
281
+ hidden: S,
282
+ children: c
283
+ }) : c
284
+ ]
285
+ });
286
+ }
287
+ //#endregion
288
+ export { h as S, b as _, P as a, _ as b, y as c, O as d, w as f, j as g, T as h, E as i, D as l, N as m, I as n, C as o, M as p, A as r, S as s, F as t, x as u, k as v, v as x, g as y };
@@ -1,6 +1,6 @@
1
1
  import { c as e, r as t } from "./preact.module-BBM36DnO.js";
2
2
  import { r as n, t as r } from "./hooks.module-CG3gN83z.js";
3
- import { n as i } from "./component-metadata-BMOOmqx5.js";
3
+ import { n as i } from "./component-metadata-BKd7U8OW.js";
4
4
  //#region src/framework-mount.ts
5
5
  function a(i, a) {
6
6
  let o = /* @__PURE__ */ new Map(), s = !1, c = 0;
@@ -0,0 +1,134 @@
1
+ import { t as e } from "./jsxRuntime.module-F6UFnpT-.js";
2
+ import { t } from "./title-tooltip-Cw6LOZhb.js";
3
+ import { n, t as r } from "./arrow-up-Cw8hW9vp.js";
4
+ import { t as i } from "./rotate-left-BF6G883o.js";
5
+ import { t as a } from "./plus-CbGRkIGl.js";
6
+ import { t as o } from "./minus-BOAR3A1C.js";
7
+ //#endregion
8
+ //#region src/icon-toolbar.tsx
9
+ var s = {
10
+ plus: a,
11
+ minus: o,
12
+ arrowLeft: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 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=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288 480 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-370.7 0 105.4-105.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\"/></svg>",
13
+ arrowRight: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 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=\"M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l370.7 0-105.4 105.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z\"/></svg>",
14
+ arrowUp: r,
15
+ arrowDown: n,
16
+ reset: i
17
+ }, c = "\n .rv-svg-toolbar-button { cursor: pointer; }\n .rv-svg-toolbar-button[aria-pressed=\"true\"] > rect { fill: currentColor; fill-opacity: .14; }\n .rv-svg-toolbar-button[aria-disabled=\"true\"] { opacity: .4; cursor: default; }\n .rv-svg-toolbar-button:not([aria-disabled=\"true\"]):hover > rect { fill: currentColor; fill-opacity: .1; }\n .rv-svg-toolbar-button:focus-visible { outline: none; }\n .rv-svg-toolbar-button:focus-visible > rect { stroke: currentColor; stroke-width: 2; }\n";
18
+ function l(n) {
19
+ let r = t(n.title ?? n.label, n.onEscape);
20
+ return /* @__PURE__ */ e(u, {
21
+ ...n,
22
+ buttonRef: r
23
+ });
24
+ }
25
+ function u(t) {
26
+ return /* @__PURE__ */ e("g", {
27
+ ref: t.buttonRef,
28
+ ...t.attributes,
29
+ class: "rv-svg-toolbar-button",
30
+ role: "button",
31
+ tabindex: t.enabled ? 0 : -1,
32
+ "aria-label": t.label,
33
+ "aria-disabled": !t.enabled,
34
+ "aria-pressed": t.pressed,
35
+ "data-rv-svg-toolbar-button": t.action,
36
+ onClick: t.onActivate ? () => {
37
+ t.enabled && t.onActivate?.(t.action);
38
+ } : void 0,
39
+ onKeyDown: t.onActivate ? (e) => {
40
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), e.stopPropagation(), t.enabled && t.onActivate?.(t.action));
41
+ } : void 0,
42
+ children: [
43
+ /* @__PURE__ */ e("rect", {
44
+ ref: (e) => {
45
+ e && t.onRectangle?.(e);
46
+ },
47
+ x: t.x,
48
+ y: t.y,
49
+ width: 28,
50
+ height: 28,
51
+ rx: 6,
52
+ fill: "transparent",
53
+ stroke: "transparent"
54
+ }),
55
+ t.icon && /* @__PURE__ */ e("svg", {
56
+ "data-rv-toolbar-icon": "",
57
+ x: t.x + (t.suffixIcon ? 5 : 8),
58
+ y: t.y + 8,
59
+ width: 12,
60
+ height: 12,
61
+ visibility: t.showText ? "hidden" : void 0,
62
+ "aria-hidden": "true",
63
+ focusable: "false",
64
+ fill: "currentColor",
65
+ style: { color: t.foreground ?? (t.pressed ? "var(--rv-ui-accent-text, Highlight)" : "var(--rv-ui-text, CanvasText)") },
66
+ dangerouslySetInnerHTML: { __html: t.icon }
67
+ }),
68
+ t.suffixIcon && /* @__PURE__ */ e("svg", {
69
+ x: t.x + 18,
70
+ y: t.y + 12,
71
+ width: 6,
72
+ height: 8,
73
+ "aria-hidden": "true",
74
+ focusable: "false",
75
+ fill: "currentColor",
76
+ style: { color: t.foreground ?? (t.pressed ? "var(--rv-ui-accent-text, Highlight)" : "var(--rv-ui-text, CanvasText)") },
77
+ dangerouslySetInnerHTML: { __html: t.suffixIcon }
78
+ }),
79
+ /* @__PURE__ */ e("text", {
80
+ visibility: t.icon && !t.showText ? "hidden" : void 0,
81
+ ref: (e) => {
82
+ e && t.onText?.(e);
83
+ },
84
+ x: t.x + 14,
85
+ y: t.y + 19,
86
+ fill: t.foreground ?? "var(--rv-ui-text, currentColor)",
87
+ "font-size": 16,
88
+ "text-anchor": "middle",
89
+ "aria-hidden": "true",
90
+ children: t.text
91
+ })
92
+ ]
93
+ });
94
+ }
95
+ function d({ actions: t, label: n = "Actions", onAction: r, onEscape: i }) {
96
+ let a = Math.max(10, t.length * 33 + 5);
97
+ return /* @__PURE__ */ e("svg", {
98
+ class: "rv-icon-toolbar",
99
+ role: "group",
100
+ "aria-label": n,
101
+ width: a,
102
+ height: 38,
103
+ viewBox: `0 0 ${a} 38`,
104
+ style: {
105
+ color: "var(--rv-ui-accent, Highlight)",
106
+ maxWidth: "100%"
107
+ },
108
+ children: [
109
+ /* @__PURE__ */ e("style", { children: c }),
110
+ /* @__PURE__ */ e("rect", {
111
+ width: a,
112
+ height: 38,
113
+ rx: 12,
114
+ fill: "var(--rv-ui-surface-sunken, transparent)"
115
+ }),
116
+ t.map((t, n) => /* @__PURE__ */ e(l, {
117
+ action: t.id,
118
+ label: t.label,
119
+ title: t.title,
120
+ text: t.text,
121
+ icon: t.icon,
122
+ suffixIcon: t.suffixIcon,
123
+ pressed: t.pressed,
124
+ enabled: !t.disabled,
125
+ x: 5 + n * 33,
126
+ y: 5,
127
+ onActivate: r,
128
+ onEscape: i
129
+ }, t.id))
130
+ ]
131
+ });
132
+ }
133
+ //#endregion
134
+ export { u as a, l as i, d as n, c as r, s as t };
@@ -0,0 +1,4 @@
1
+ //#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/magnifying-glass.svg?raw
2
+ var e = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 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=\"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"/></svg>";
3
+ //#endregion
4
+ export { e as t };