@revolist/ui 4.0.2-rc → 4.0.2

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 (343) hide show
  1. package/LICENSE +21 -0
  2. package/MIGRATION.md +36 -0
  3. package/OWNERSHIP.md +32 -32
  4. package/README.md +405 -265
  5. package/_button.scss +6 -2
  6. package/_chunks/arrow-up-Cw8hW9vp.js +4 -0
  7. package/_chunks/calculator-CDWOuAcp.js +4 -0
  8. package/_chunks/{calendar-CpaUK7w1.js → calendar-CgXQgkga.js} +28 -18
  9. package/_chunks/chart-frame-hcOlnQ1K.js +145 -0
  10. package/_chunks/{chevron-right-sxHQMSkq.js → check-BwI7iCAm.js} +2 -2
  11. package/_chunks/{chevron-left-D0nc4Z5S.js → chevron-right-CM3ljziP.js} +2 -2
  12. package/_chunks/choice-chips-SkllS5Kl.js +126 -0
  13. package/_chunks/clock-BOhPNlW3.js +4 -0
  14. package/_chunks/{color-palette-BBMFmUNA.js → color-palette-DMJUChWC.js} +20 -22
  15. package/_chunks/{color-picker-D90Jg-M8.js → color-picker-BpCTuIdm.js} +77 -72
  16. package/_chunks/{component-YDcfoOLz.js → component-CfeHXgIw.js} +301 -282
  17. package/_chunks/{component-metadata-BENbgTjU.js → component-metadata-BKd7U8OW.js} +0 -12
  18. package/_chunks/configurator-actions-DnStE6Yl.js +155 -0
  19. package/_chunks/configurator-field-icon-CmcM_sPs.js +53 -0
  20. package/_chunks/control-Dcrjsunl.js +118 -0
  21. package/_chunks/{controls-DIum-E66.js → controls-B_6NJarZ.js} +217 -182
  22. package/_chunks/{date-control-BJSzu79z.js → date-control-C4h4m75W.js} +1 -1
  23. package/_chunks/{date-time-BxPJusp9.js → date-time-CTOSbzb0.js} +344 -307
  24. package/_chunks/{delete-button-Bblyah10.js → delete-button-CW9vjLnk.js} +6 -6
  25. package/_chunks/dialog.parts-3w5FR06n.js +131 -0
  26. package/_chunks/{duration-87U2EoMS.js → duration-Bf2OS1V5.js} +19 -18
  27. package/_chunks/editor-popup-ByU7qiub.js +82 -0
  28. package/_chunks/field-configurator-D5dZRhDe.js +288 -0
  29. package/_chunks/field-context-D57PnBbH.js +5 -0
  30. package/_chunks/{framework-mount-C-Zwm44H.js → framework-mount-Bk4O_T7T.js} +1 -1
  31. package/_chunks/icon-toolbar-DSjOdwM7.js +134 -0
  32. package/_chunks/magnifying-glass-CvrTDSkB.js +4 -0
  33. package/_chunks/minus-BOAR3A1C.js +4 -0
  34. package/_chunks/mount-BRdcG60g.js +267 -0
  35. package/_chunks/{native.view-ByyZ1CT5.js → native-Blr3byjO.js} +1 -1
  36. package/_chunks/native-control-B_fVA5bL.js +649 -0
  37. package/_chunks/{number-input-BeIadZuL.js → number-input-CmM6_2vR.js} +7 -7
  38. package/_chunks/{picker-DpP7iQLA.js → picker-DTqET-2W.js} +2 -2
  39. package/_chunks/plus-CbGRkIGl.js +4 -0
  40. package/_chunks/popover-controller-D-AvKQ7B.js +102 -0
  41. package/_chunks/popup-C35Isk7p.js +378 -0
  42. package/_chunks/{rating-choice-Ca8ZBty3.js → rating-choice-C-6wcb9U.js} +1 -1
  43. package/_chunks/render-m5eMMwFR.js +83 -0
  44. package/_chunks/{reorder-list-Cc3KmfAN.js → reorder-list-DIl1gkV6.js} +1 -1
  45. package/_chunks/request-trail-DrhdpWiH.js +762 -0
  46. package/_chunks/rich-text-BnilBbhU.js +842 -0
  47. package/_chunks/rotate-left-BF6G883o.js +4 -0
  48. package/_chunks/rotate-right-Iha5ScJ1.js +4 -0
  49. package/_chunks/selection-list-tooltips-C5oMJe26.js +42 -0
  50. package/_chunks/title-tooltip-Cw6LOZhb.js +11 -0
  51. package/_chunks/tooltip-D4xkio5G.js +54 -0
  52. package/_chunks/tooltip-owner-DjdvqKzz.js +19 -0
  53. package/_chunks/tooltip-session-B6X6x8G_.js +110 -0
  54. package/_chunks/tooltip-text-BXsUEmBH.js +12 -0
  55. package/_chunks/top-layer-popup-CNSDdfJV.js +59 -0
  56. package/_dialog.scss +55 -21
  57. package/_form.scss +71 -21
  58. package/_legend.scss +25 -7
  59. package/_shared/data-query/index.d.ts +2 -2
  60. package/_shared/data-query/load-options.d.ts +2 -2
  61. package/_variables.scss +34 -32
  62. package/_view-switcher.scss +6 -0
  63. package/activity-message.d.ts +1 -1
  64. package/ai/_chat.scss +227 -0
  65. package/ai/_style.scss +170 -39
  66. package/ai/chat.d.ts +65 -0
  67. package/ai/components.d.ts +34 -5
  68. package/ai/index.d.ts +3 -0
  69. package/ai/index.js +3 -3
  70. package/ai/mount.d.ts +59 -6
  71. package/ai/prompt-history.d.ts +13 -0
  72. package/ai/request-trail.d.ts +9 -3
  73. package/ai/results/_style.scss +83 -0
  74. package/ai/results/index.d.ts +11 -0
  75. package/ai/results/metrics.d.ts +5 -0
  76. package/ai/results/table.d.ts +5 -0
  77. package/ai/results/text.d.ts +5 -0
  78. package/ai/results/types.d.ts +29 -0
  79. package/ai/transcript.d.ts +27 -0
  80. package/ai/translations.d.ts +1 -1
  81. package/angular/angular.d.ts +1 -1
  82. package/angular/angular.js +13 -10
  83. package/assignee/assignee.scss +28 -6
  84. package/assignee/index.js +34 -35
  85. package/avatar/avatar.style.scss +23 -6
  86. package/avatar/index.d.ts +25 -2
  87. package/avatar/index.js +33 -32
  88. package/badge.d.ts +1 -1
  89. package/badge.view.d.ts +8 -0
  90. package/brush-range/_brush-range.scss +55 -49
  91. package/brush-range/component.d.ts +1 -3
  92. package/brush-range/component.js +27 -27
  93. package/buttons/delete-button.d.ts +2 -1
  94. package/buttons/delete-button.js +1 -1
  95. package/buttons/delete-button.style.scss +6 -2
  96. package/buttons/remove-button.d.ts +1 -1
  97. package/buttons/remove-button.js +1 -1
  98. package/buttons/remove-button.style.scss +1 -1
  99. package/buttons/svg-button.d.ts +2 -1
  100. package/buttons/svg-button.js +19 -19
  101. package/calendar/_calendar.scss +27 -26
  102. package/calendar/calendar.js +1 -1
  103. package/calendar/header.js +1 -2
  104. package/calendar/index.js +2 -2
  105. package/cell-input.scss +3 -7
  106. package/cell-visuals/badge.style.scss +6 -3
  107. package/cell-visuals/bar-chart.style.scss +2 -1
  108. package/cell-visuals/column-type.style.css +12 -0
  109. package/cell-visuals/progress-line-value.renderer.style.scss +4 -2
  110. package/cell-visuals/progress-line.style.scss +1 -4
  111. package/cell-visuals/sparkline.style.scss +2 -1
  112. package/cell-visuals/timeline.style.css +4 -2
  113. package/checkbox/checkbox.scss +6 -24
  114. package/choice-chips/index.d.ts +3 -1
  115. package/choice-chips/index.js +1 -1
  116. package/color-palette/color-palette.js +1 -1
  117. package/color-palette/color-palette.style.scss +88 -25
  118. package/color-palette/color-picker.js +2 -2
  119. package/color-palette/color-picker.style.scss +23 -10
  120. package/color-palette/common-palettes.d.ts +1 -1
  121. package/color-palette/common-palettes.js +1 -1
  122. package/color-palette/native.d.ts +15 -2
  123. package/component-catalog.d.ts +24 -11
  124. package/configurator-actions.d.ts +67 -0
  125. package/configurator-actions.js +1 -0
  126. package/configurator-aggregation-list.d.ts +14 -0
  127. package/configurator-aggregation-list.js +63 -0
  128. package/configurator-drop-zone.d.ts +39 -0
  129. package/configurator-drop-zone.js +66 -0
  130. package/configurator-field-icon.d.ts +10 -0
  131. package/configurator-field-icon.js +1 -0
  132. package/configurator-focus.d.ts +4 -0
  133. package/configurator-focus.js +39 -0
  134. package/configurator-sections.d.ts +42 -0
  135. package/configurator-sections.js +71 -0
  136. package/control-attributes.js +7 -7
  137. package/control-presentation.d.ts +8 -2
  138. package/control-presentation.js +25 -20
  139. package/controls.d.ts +19 -7
  140. package/controls.js +4 -3
  141. package/core/editor-popup-position.d.ts +6 -2
  142. package/core/editor-popup.d.ts +4 -0
  143. package/core/editor-popup.js +1 -1
  144. package/core/popover-controller.d.ts +35 -0
  145. package/core/popup-ownership.d.ts +2 -0
  146. package/core/selection-list-tooltips.d.ts +2 -0
  147. package/core/title-tooltip.d.ts +2 -0
  148. package/core/tooltip-session.d.ts +29 -0
  149. package/core/tooltip-surface.d.ts +13 -0
  150. package/core/tooltip-text.d.ts +6 -0
  151. package/core/tooltip.d.ts +35 -0
  152. package/core/top-layer-popup.d.ts +4 -0
  153. package/core/top-layer-popup.js +1 -23
  154. package/date-time/attach.d.ts +1 -1
  155. package/date-time/date-control.d.ts +1 -1
  156. package/date-time/field.d.ts +3 -2
  157. package/date-time/index.js +1 -1
  158. package/date-time/style.scss +242 -39
  159. package/date-time/time-selection.d.ts +3 -1
  160. package/date-time/types.d.ts +5 -1
  161. package/dialog/dialog-action-footer.d.ts +17 -2
  162. package/dialog/dialog.dom.d.ts +15 -2
  163. package/dialog/dialog.dom.js +3 -3
  164. package/dialog/dialog.parts.d.ts +1 -1
  165. package/dialog/dialog.parts.js +1 -1
  166. package/distribution-chart/_distribution-chart.scss +113 -77
  167. package/distribution-chart/area-chart.js +1 -1
  168. package/distribution-chart/bar-chart.d.ts +5 -2
  169. package/distribution-chart/bar-chart.js +7 -3
  170. package/distribution-chart/chart-frame.d.ts +2 -1
  171. package/distribution-chart/index.d.ts +1 -1
  172. package/distribution-chart/line-chart.js +1 -1
  173. package/dropdown/content.d.ts +2 -1
  174. package/dropdown/content.js +1 -142
  175. package/dropdown/control.d.ts +14 -0
  176. package/dropdown/control.js +1 -0
  177. package/dropdown/control.view.d.ts +6 -0
  178. package/dropdown/dropdown.types.d.ts +5 -1
  179. package/dropdown/editor-dropdown.style.scss +54 -16
  180. package/dropdown/index.d.ts +1 -1
  181. package/dropdown/index.js +3 -4
  182. package/dropdown/lookup-field.d.ts +5 -0
  183. package/dropdown/lookup-field.js +2 -1
  184. package/dropdown/popup.d.ts +2 -2
  185. package/dropdown/popup.js +1 -141
  186. package/duration/index.js +1 -1
  187. package/duration/style.scss +1 -1
  188. package/editor-actions.js +1 -1
  189. package/editor-layout/index.d.ts +4 -4
  190. package/editor-layout/index.js +39 -34
  191. package/editor-layout/style.scss +82 -18
  192. package/field-configurator.d.ts +39 -1
  193. package/field-configurator.js +4 -170
  194. package/field-expansion.d.ts +9 -0
  195. package/fieldset.d.ts +3 -0
  196. package/filter/filters/slider/_single-slider.scss +57 -38
  197. package/filter/filters/slider/_slider.scss +41 -33
  198. package/filter/filters/slider/control.js +2 -0
  199. package/filter/filters/slider/runtime.js +49 -22
  200. package/filter/filters/slider/single.js +1 -1
  201. package/filter-badge.js +1 -1
  202. package/filter-controls.d.ts +0 -1
  203. package/filter-controls.js +9 -10
  204. package/form-controls/field-context.d.ts +5 -0
  205. package/form-controls/index.d.ts +10 -2
  206. package/form-controls/index.js +4 -9
  207. package/form-controls/presentation.d.ts +1 -1
  208. package/form-controls/presentation.js +53 -45
  209. package/formatting/index.d.ts +1 -1
  210. package/formatting/index.js +40 -35
  211. package/formatting/styles.scss +14 -57
  212. package/framework.js +237 -226
  213. package/history-controls.d.ts +14 -0
  214. package/history-controls.js +27 -0
  215. package/icon-toolbar.d.ts +62 -0
  216. package/icon-toolbar.js +1 -0
  217. package/icons/icon.d.ts +1 -1
  218. package/legend.d.ts +1 -1
  219. package/masked-input/index.js +1 -1
  220. package/native-control.d.ts +6 -5
  221. package/native-control.js +3 -26
  222. package/native-controls.d.ts +54 -2
  223. package/native-styles.css +1 -1
  224. package/native-styles.scss +6 -2
  225. package/native.d.ts +3 -3
  226. package/native.js +41 -37
  227. package/number-input/index.d.ts +1 -1
  228. package/number-input/index.js +1 -1
  229. package/package.json +88 -14
  230. package/pagination.d.ts +3 -0
  231. package/pagination.js +50 -40
  232. package/pdf-viewer/header.d.ts +1 -1
  233. package/pdf-viewer/index.d.ts +2 -2
  234. package/pdf-viewer/index.js +1 -1
  235. package/pdf-viewer/search-bar.d.ts +1 -1
  236. package/pdf-viewer/status.d.ts +1 -1
  237. package/pdf-viewer/style.scss +205 -45
  238. package/pickers.d.ts +5 -1
  239. package/preact-mount.js +1 -1
  240. package/preact.d.ts +15 -10
  241. package/preact.js +109 -64
  242. package/progress/_bar.scss +9 -3
  243. package/progress/_circular.scss +2 -1
  244. package/rating-choice.js +1 -1
  245. package/react-adapter.d.ts +4 -2
  246. package/react-control.d.ts +1 -0
  247. package/react.d.ts +20 -11
  248. package/react.js +72 -88
  249. package/reorder-list.d.ts +1 -1
  250. package/reorder-list.js +1 -1
  251. package/reorder-list.scss +59 -17
  252. package/resource-picker/resource-picker-popup.js +1 -1
  253. package/resource-picker/resource-picker.js +73 -71
  254. package/resource-picker/resource-picker.scss +66 -35
  255. package/rich-text/engine.d.ts +17 -19
  256. package/rich-text/format-html.d.ts +2 -0
  257. package/rich-text/index.d.ts +11 -7
  258. package/rich-text/index.js +1 -1
  259. package/rich-text/model.d.ts +6 -3
  260. package/rich-text/render-model.d.ts +4 -5
  261. package/rich-text/style.scss +295 -55
  262. package/rich-text/syntax.d.ts +5 -2
  263. package/rich-text/toolbar.d.ts +6 -6
  264. package/rich-text/translations.d.ts +5 -15
  265. package/search-input/index.js +1 -1
  266. package/search-input/native.d.ts +21 -2
  267. package/select.d.ts +22 -0
  268. package/select.js +1 -0
  269. package/selection-list.d.ts +1 -0
  270. package/selection-list.js +3 -1
  271. package/status-feedback/exit-snapshot.js +1 -1
  272. package/status-feedback/index.js +2 -2
  273. package/status-feedback/popover.js +9 -9
  274. package/status-feedback/render.js +3 -44
  275. package/status-feedback/status-feedback.scss +130 -34
  276. package/status-feedback/types.d.ts +4 -0
  277. package/status-feedback/use-auto-dismiss.d.ts +3 -0
  278. package/styles/_activity-message.scss +24 -7
  279. package/styles/_alert.scss +78 -17
  280. package/styles/_cell-editor-frame.scss +11 -0
  281. package/styles/_compositions.scss +404 -82
  282. package/styles/_control.scss +42 -12
  283. package/styles/_disclosure.scss +15 -5
  284. package/styles/_editor-counter.scss +16 -6
  285. package/styles/_editor-slider.scss +8 -4
  286. package/styles/_field-configurator.scss +321 -23
  287. package/styles/_fields-grid.scss +49 -0
  288. package/styles/_filter-controls.scss +10 -2
  289. package/styles/_icon-action.scss +48 -15
  290. package/styles/_loading.scss +12 -3
  291. package/styles/_motion.scss +32 -9
  292. package/styles/_palette.scss +0 -24
  293. package/styles/_primitives.scss +376 -116
  294. package/styles/_theme.scss +130 -86
  295. package/styles/_thresholds.scss +28 -25
  296. package/styles/_time-grid.scss +8 -3
  297. package/styles/_tokens.scss +6 -1
  298. package/styles/configurator-actions.scss +241 -0
  299. package/styles/pagination.css +213 -0
  300. package/styles/{legacy-rating.css → rating.css} +8 -3
  301. package/styles.css +1 -1
  302. package/styles.scss +3 -5
  303. package/surfaces.d.ts +38 -2
  304. package/surfaces.js +37 -134
  305. package/svelte/UiComponent.server.js +1 -48
  306. package/svelte/UiComponent.svelte +44 -32
  307. package/svelte.d.ts +1 -1
  308. package/svelte.js +33 -68
  309. package/switch/index.js +15 -14
  310. package/time-grid.d.ts +0 -1
  311. package/time-grid.js +38 -37
  312. package/timeline-track/_style.scss +96 -24
  313. package/timeline-track/component.d.ts +5 -1
  314. package/timeline-track/index.js +71 -54
  315. package/timeline-track/model.d.ts +9 -0
  316. package/timeline-track/model.js +10 -1
  317. package/ui.css +1 -1
  318. package/view-switcher.d.ts +23 -0
  319. package/vue.d.ts +51 -35
  320. package/vue.js +149 -178
  321. package/_chunks/chart-frame-BC99KjGa.js +0 -127
  322. package/_chunks/choice-chips-Cs4D-3nH.js +0 -110
  323. package/_chunks/compat.module-DDB2pm9O.js +0 -229
  324. package/_chunks/control-tooltip-ztgmsG7H.js +0 -100
  325. package/_chunks/dialog.parts-DBqo3Qwb.js +0 -134
  326. package/_chunks/dropdown-voWqmwAe.js +0 -357
  327. package/_chunks/editor-popup-D3JdS8l3.js +0 -81
  328. package/_chunks/mount-DZe_6VtR.js +0 -90
  329. package/_chunks/request-trail-IdNiFvKH.js +0 -347
  330. package/_chunks/rich-text-BzI1DyfF.js +0 -477
  331. package/avatar/index.view.d.ts +0 -25
  332. package/color-palette/native.view.d.ts +0 -15
  333. package/control-presentation.view.d.ts +0 -8
  334. package/dialog/dialog-action-footer.view.d.ts +0 -20
  335. package/dialog/dialog.dom.view.d.ts +0 -15
  336. package/form-controls/index.view.d.ts +0 -12
  337. package/formatting/control-tooltip.d.ts +0 -27
  338. package/native-controls.view.d.ts +0 -54
  339. package/react-native-select.d.ts +0 -6
  340. package/search-input/native.view.d.ts +0 -21
  341. package/styles/legacy-pagination.css +0 -112
  342. package/surfaces.view.d.ts +0 -63
  343. package/vue-native-select.d.ts +0 -9
@@ -1,17 +1,17 @@
1
1
  import { t as e } from "./jsxRuntime.module-F6UFnpT-.js";
2
2
  //#region src/icons/cancel.svg?raw
3
- var t = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z\"/></svg>", n = ({ onClick: n, disabled: r, className: i, onMouseDown: a, onDblClick: o, locale: s = {
3
+ var t = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z\"/></svg>", n = ({ onClick: n, disabled: r, rounded: i, className: a, onMouseDown: o, onDblClick: s, locale: c = {
4
4
  title: "Remove",
5
5
  ariaLabel: "Remove"
6
6
  } }) => /* @__PURE__ */ e("button", {
7
- onMouseDown: a,
8
- onDblClick: o,
7
+ onMouseDown: o,
8
+ onDblClick: s,
9
9
  onClick: n,
10
10
  disabled: r,
11
11
  type: "button",
12
- title: s.title,
13
- "aria-label": s.ariaLabel,
14
- className: `rounded-lg flex focus:outline-none remove-btn rv-chip-remove${i ? ` ${i}` : ""}`,
12
+ title: c.title,
13
+ "aria-label": c.ariaLabel,
14
+ className: `rounded-lg flex focus:outline-none remove-btn rv-chip-remove${i ? " rv-btn-rounded" : ""}${a ? ` ${a}` : ""}`,
15
15
  dangerouslySetInnerHTML: { __html: t }
16
16
  });
17
17
  //#endregion
@@ -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 { Input as a, Select as o } from "../native-control.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";
@@ -112,7 +112,7 @@ var v = {
112
112
  year: "year"
113
113
  };
114
114
  function y(t) {
115
- let { unit: n, amount: r } = t, a = t.onCommit ?? t.onChange, l = [...new Set(t.allowedUnits ?? Object.keys(v))], u = typeof t.slider == "object" ? t.slider : {}, d = Number.isFinite(t.min) ? Math.max(0, t.min) : 0, f = Math.max(d + 100, r), p = Number.isFinite(t.max) ? t.max : Number.isFinite(u.max) ? u.max : f, m = Number.isFinite(u.step) && u.step > 0 ? u.step : 1;
115
+ let { unit: n, amount: r } = t, o = t.onCommit ?? t.onChange, l = [...new Set(t.allowedUnits ?? Object.keys(v))], u = typeof t.slider == "object" ? t.slider : {}, d = Number.isFinite(t.min) ? Math.max(0, t.min) : 0, f = Math.max(d + 100, r), p = Number.isFinite(t.max) ? t.max : Number.isFinite(u.max) ? u.max : f, m = Number.isFinite(u.step) && u.step > 0 ? u.step : 1;
116
116
  return /* @__PURE__ */ i(e, { children: [t.slider && /* @__PURE__ */ i("span", {
117
117
  class: "rv-duration-field__slider",
118
118
  children: [/* @__PURE__ */ i(c, {
@@ -136,15 +136,19 @@ function y(t) {
136
136
  })]
137
137
  }), t.unitButtons && /* @__PURE__ */ i("span", {
138
138
  class: "rv-duration-field__modes",
139
- children: [l.length === 0 ? null : l.length > 5 ? /* @__PURE__ */ i(o, {
140
- "aria-label": t.unitLabel ?? "Duration unit",
139
+ children: [l.length === 0 ? null : l.length > 5 ? /* @__PURE__ */ i(a, {
140
+ className: "rv-select",
141
+ config: {
142
+ ariaLabel: t.unitLabel ?? "Duration unit",
143
+ topLayer: !0
144
+ },
145
+ source: l.map((e) => ({
146
+ value: e,
147
+ label: t.unitLabels?.[e] ?? v[e]
148
+ })),
141
149
  value: n,
142
150
  disabled: t.disabled,
143
- onChange: (e) => a(r, e.currentTarget.value),
144
- children: l.map((e) => /* @__PURE__ */ i("option", {
145
- value: e,
146
- children: t.unitLabels?.[e] ?? v[e]
147
- }, e))
151
+ onChange: (e) => o(r, e)
148
152
  }) : /* @__PURE__ */ i(s, {
149
153
  role: "radiogroup",
150
154
  ariaLabel: t.unitLabel ?? "Duration unit",
@@ -155,7 +159,7 @@ function y(t) {
155
159
  ariaLabel: t.unitLabels?.[e] ?? e
156
160
  })),
157
161
  disabled: t.disabled,
158
- onChange: (e) => a(r, e)
162
+ onChange: (e) => o(r, e)
159
163
  }), t.allowElapsed && /* @__PURE__ */ i(s, {
160
164
  role: "radiogroup",
161
165
  ariaLabel: t.modeLabel ?? "Duration mode",
@@ -168,19 +172,19 @@ function y(t) {
168
172
  label: t.elapsedLabel ?? "Elapsed"
169
173
  }],
170
174
  disabled: t.disabled,
171
- onChange: (e) => a(r, n, e === "elapsed")
175
+ onChange: (e) => o(r, n, e === "elapsed")
172
176
  })]
173
177
  })] });
174
178
  }
175
179
  //#endregion
176
180
  //#region src/duration/index.tsx
177
181
  function b(e) {
178
- let o = (t) => t && typeof t == "object" ? g(t.value, t.unit, {
182
+ let a = (t) => t && typeof t == "object" ? g(t.value, t.unit, {
179
183
  elapsed: t.elapsed,
180
184
  maximumFractionDigits: e.maximumFractionDigits ?? 10
181
- }) : t === null ? "" : String(t), [s, c] = n(() => _(e.value, e).value?.unit ?? e.defaultUnit), [l, u] = n(() => o(e.value)), d = r(e.value);
185
+ }) : t === null ? "" : String(t), [s, c] = n(() => _(e.value, e).value?.unit ?? e.defaultUnit), [l, u] = n(() => a(e.value)), d = r(e.value);
182
186
  t(() => {
183
- e.value !== d.current && (d.current = e.value, u(o(e.value)), c(_(e.value, e).value?.unit ?? e.defaultUnit));
187
+ e.value !== d.current && (d.current = e.value, u(a(e.value)), c(_(e.value, e).value?.unit ?? e.defaultUnit));
184
188
  }, [e.value]);
185
189
  let f = {
186
190
  ...e,
@@ -204,7 +208,7 @@ function b(e) {
204
208
  return /* @__PURE__ */ i("span", {
205
209
  class: `rv-duration-field ${e.className ?? ""}`,
206
210
  children: [
207
- /* @__PURE__ */ i(a, {
211
+ /* @__PURE__ */ i(o, {
208
212
  type: "text",
209
213
  "aria-label": e.label ?? "Duration",
210
214
  "aria-invalid": !p.valid,
@@ -251,9 +255,6 @@ function x({ value: e, options: t, apply: a, cancel: o }) {
251
255
  onDraftChange: (e) => {
252
256
  g.current = !0, v.current = e;
253
257
  },
254
- onCommit: h ? (e) => {
255
- g.current = !1, a(e);
256
- } : void 0,
257
258
  onValidityChange: c
258
259
  }, p), /* @__PURE__ */ i(u, {
259
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 };
@@ -0,0 +1,5 @@
1
+ import { s as e } from "./preact.module-BBM36DnO.js";
2
+ //#region src/form-controls/field-context.ts
3
+ var t = e({});
4
+ //#endregion
5
+ export { t };
@@ -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-BENbgTjU.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;