@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,11 +1,11 @@
1
1
  import { i as e } from "./preact.module-BBM36DnO.js";
2
2
  import { i as t } from "./hooks.module-CG3gN83z.js";
3
3
  import { t as n } from "./jsxRuntime.module-F6UFnpT-.js";
4
- import { ButtonControl as r } from "../native-control.js";
4
+ import { t as r } from "./native-control-B_fVA5bL.js";
5
5
  import { DEFAULT_CALENDAR_TRANSLATIONS as i } from "../calendar/translations.js";
6
6
  import { n as a } from "./iso-B0YHBK7m.js";
7
7
  import { f as o, h as s, m as c, o as l, p as u } from "./model-mPO2tG2f.js";
8
- import { t as d } from "./calendar-CpaUK7w1.js";
8
+ import { t as d } from "./calendar-CgXQgkga.js";
9
9
  //#region src/calendar/picker.tsx
10
10
  function f(f) {
11
11
  let { selected: p, onSelectionChange: ee, presets: m, mode: h = "single", min: g = 0, max: _ = Infinity, required: v = !1, excludeDisabled: y = !1, month: b, defaultMonth: x, onMonthChange: S, ...C } = f, w = typeof p == "string" ? p : Array.isArray(p) ? p[0] : p?.from, [T, E] = t(x ?? w ?? f.referenceDate ?? s()), [D, O] = t(w ?? T), [k, A] = t(), [j, M] = t(), N = (e) => {
@@ -0,0 +1,4 @@
1
+ //#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/plus.svg?raw
2
+ var e = "<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=\"M256 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 160-160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l160 0 0 160c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160 160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-160 0 0-160z\"/></svg>";
3
+ //#endregion
4
+ export { e as t };
@@ -0,0 +1,102 @@
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 { o as i, r as a, t as o } from "./top-layer-popup-CNSDdfJV.js";
5
+ import { t as s } from "./tooltip-session-B6X6x8G_.js";
6
+ import { createControlId as c } from "../core/control-id.js";
7
+ import { inheritUiMotion as l } from "../core/motion.js";
8
+ //#region src/core/popover-controller.tsx
9
+ var u = /* @__PURE__ */ new WeakMap(), d = class {
10
+ active;
11
+ get isOpen() {
12
+ return !!this.active;
13
+ }
14
+ open(t) {
15
+ this.close(!1);
16
+ let { anchor: n, content: r } = t, s = n.ownerDocument, c = s.defaultView, d = u.get(s) ?? [];
17
+ u.set(s, d);
18
+ let f = r.parentNode, p = r.nextSibling, m = r.hidden, h = r.getAttribute("style"), g = r.getAttribute("popover"), _ = l(n, r), v = () => {
19
+ if (!n.isConnected) {
20
+ x(!1);
21
+ return;
22
+ }
23
+ let a = (t.placement === "above" ? i : e)(n.getBoundingClientRect(), r.getBoundingClientRect(), {
24
+ width: s.documentElement.clientWidth || c?.innerWidth || 0,
25
+ height: s.documentElement.clientHeight || c?.innerHeight || 0
26
+ });
27
+ Object.assign(r.style, {
28
+ left: `${a.left}px`,
29
+ top: `${a.top}px`
30
+ });
31
+ }, y, b = !1, x = (e = t.restoreFocus !== !1) => {
32
+ if (b) return;
33
+ b = !0, s.removeEventListener("pointerdown", S, !0), r.removeEventListener("keydown", C), s.removeEventListener("keydown", C), c?.removeEventListener("resize", v), s.removeEventListener("scroll", v, !0), w?.disconnect();
34
+ let i = d.indexOf(r);
35
+ i !== -1 && d.splice(i, 1), o(r, y), _(), f?.isConnected ? f.insertBefore(r, p?.parentNode === f ? p : null) : r.remove(), h === null ? r.removeAttribute("style") : r.setAttribute("style", h), r.hidden = m, g === null ? r.removeAttribute("popover") : r.setAttribute("popover", g), this.active?.content === r && (this.active = void 0), e && n.isConnected && n.focus({ preventScroll: !0 }), t.onClose?.();
36
+ }, S = (e) => {
37
+ if (d.at(-1) !== r) return;
38
+ let i = e.composedPath();
39
+ t.closeOnOutside !== !1 && !i.includes(n) && !i.includes(r) && x(!1);
40
+ }, C = (e) => {
41
+ d.at(-1) === r && e.key === "Escape" && t.closeOnEscape !== !1 && !e.defaultPrevented && (e.preventDefault(), e.stopPropagation(), x());
42
+ };
43
+ (t.appendTo ?? s.body).append(r), r.hidden = !1, Object.assign(r.style, {
44
+ position: "fixed",
45
+ inset: "auto",
46
+ margin: "0"
47
+ }), y = a(r, t.display ?? "block");
48
+ let w = c?.ResizeObserver ? new c.ResizeObserver(v) : void 0;
49
+ return w?.observe(n), w?.observe(r), this.active = {
50
+ content: r,
51
+ close: x,
52
+ position: v
53
+ }, d.push(r), s.addEventListener("pointerdown", S, !0), r.addEventListener("keydown", C), s.addEventListener("keydown", C), c?.addEventListener("resize", v), s.addEventListener("scroll", v, !0), v(), {
54
+ close: x,
55
+ refresh: v
56
+ };
57
+ }
58
+ refresh() {
59
+ this.active?.position();
60
+ }
61
+ close(e) {
62
+ this.active?.close(e);
63
+ }
64
+ destroy() {
65
+ this.close(!1);
66
+ }
67
+ };
68
+ function f(e, r = "grid-tooltip") {
69
+ return n(e, /* @__PURE__ */ t("div", {
70
+ id: c("rv-tooltip"),
71
+ class: r,
72
+ role: "tooltip",
73
+ hidden: !0
74
+ }));
75
+ }
76
+ var p = class {
77
+ release;
78
+ bind(e, t, n = {}) {
79
+ this.destroy();
80
+ let i = n.surface ?? f(e.ownerDocument, "rv-tooltip");
81
+ i.textContent = t;
82
+ let a = new s();
83
+ a.setSurface(i), a.onEscape = n.onEscape;
84
+ let o = n.trigger === "click", c = e.getAttribute("aria-expanded");
85
+ o && e.setAttribute("aria-expanded", "false"), a.onHide = () => {
86
+ o && e.setAttribute("aria-expanded", "false");
87
+ };
88
+ let l = () => {
89
+ a.show(e), o && e.setAttribute("aria-expanded", String(a.isOpen));
90
+ }, u = () => a.isOpen ? a.hide() : l(), d = () => a.focus(e), p = () => a.blur(), m = () => a.leave(e), h = () => {
91
+ a.pointerDown(), a.hide();
92
+ }, g = (e) => a.keyDown(e);
93
+ return o ? e.addEventListener("click", u) : (e.addEventListener("pointerenter", l), e.addEventListener("pointerleave", m), e.addEventListener("focus", d), e.addEventListener("blur", p), e.addEventListener("pointerdown", h), e.addEventListener("keydown", g)), this.release = () => {
94
+ a.destroy(), e.removeEventListener("click", u), e.removeEventListener("pointerenter", l), e.removeEventListener("pointerleave", m), e.removeEventListener("focus", d), e.removeEventListener("blur", p), e.removeEventListener("pointerdown", h), e.removeEventListener("keydown", g), o && (c === null ? e.removeAttribute("aria-expanded") : e.setAttribute("aria-expanded", c)), n.surface || r(i);
95
+ }, () => this.destroy();
96
+ }
97
+ destroy() {
98
+ this.release?.(), this.release = void 0;
99
+ }
100
+ };
101
+ //#endregion
102
+ export { p as n, f as r, d as t };
@@ -0,0 +1,378 @@
1
+ import { c as e, i as t, l as n, n as r, r as i, t as a } from "./preact.module-BBM36DnO.js";
2
+ import { c as o, i as s, r as c, t as l } from "./hooks.module-CG3gN83z.js";
3
+ import { t as u } from "./jsxRuntime.module-F6UFnpT-.js";
4
+ import { i as d, r as f, t as p } from "./top-layer-popup-CNSDdfJV.js";
5
+ import { inheritUiMotion as m } from "../core/motion.js";
6
+ //#region ../../node_modules/.pnpm/preact@10.29.1/node_modules/preact/compat/dist/compat.module.js
7
+ function h(e, t) {
8
+ for (var n in t) e[n] = t[n];
9
+ return e;
10
+ }
11
+ function g(e, t) {
12
+ for (var n in e) if (n !== "__source" && !(n in t)) return !0;
13
+ for (var r in t) if (r !== "__source" && e[r] !== t[r]) return !0;
14
+ return !1;
15
+ }
16
+ function _(e, t) {
17
+ this.props = e, this.context = t;
18
+ }
19
+ (_.prototype = new a()).isPureReactComponent = !0, _.prototype.shouldComponentUpdate = function(e, t) {
20
+ return g(this.props, e) || g(this.state, t);
21
+ };
22
+ var v = n.__b;
23
+ n.__b = function(e) {
24
+ e.type && e.type.__f && e.ref && (e.props.ref = e.ref, e.ref = null), v && v(e);
25
+ };
26
+ var y = typeof Symbol < "u" && Symbol.for && Symbol.for("react.forward_ref") || 3911;
27
+ function b(e) {
28
+ function t(t) {
29
+ var n = h({}, t);
30
+ return delete n.ref, e(n, t.ref || null);
31
+ }
32
+ return t.$$typeof = y, t.render = e, t.prototype.isReactComponent = t.__f = !0, t.displayName = "ForwardRef(" + (e.displayName || e.name) + ")", t;
33
+ }
34
+ var x = n.__e;
35
+ n.__e = function(e, t, n, r) {
36
+ if (e.then) {
37
+ for (var i, a = t; a = a.__;) if ((i = a.__c) && i.__c) return t.__e ?? (t.__e = n.__e, t.__k = n.__k), i.__c(e, t);
38
+ }
39
+ x(e, t, n, r);
40
+ };
41
+ var S = n.unmount;
42
+ function C(e, t, n) {
43
+ return e && (e.__c && e.__c.__H && (e.__c.__H.__.forEach(function(e) {
44
+ typeof e.__c == "function" && e.__c();
45
+ }), e.__c.__H = null), (e = h({}, e)).__c != null && (e.__c.__P === n && (e.__c.__P = t), e.__c.__e = !0, e.__c = null), e.__k = e.__k && e.__k.map(function(e) {
46
+ return C(e, t, n);
47
+ })), e;
48
+ }
49
+ function w(e, t, n) {
50
+ return e && n && (e.__v = null, e.__k = e.__k && e.__k.map(function(e) {
51
+ return w(e, t, n);
52
+ }), e.__c && e.__c.__P === t && (e.__e && n.appendChild(e.__e), e.__c.__e = !0, e.__c.__P = n)), e;
53
+ }
54
+ function T() {
55
+ this.__u = 0, this.o = null, this.__b = null;
56
+ }
57
+ function E(e) {
58
+ var t = e.__ && e.__.__c;
59
+ return t && t.__a && t.__a(e);
60
+ }
61
+ function D() {
62
+ this.i = null, this.l = null;
63
+ }
64
+ n.unmount = function(e) {
65
+ var t = e.__c;
66
+ t && (t.__z = !0), t && t.__R && t.__R(), t && 32 & e.__u && (e.type = null), S && S(e);
67
+ }, (T.prototype = new a()).__c = function(e, t) {
68
+ var n = t.__c, r = this;
69
+ r.o ??= [], r.o.push(n);
70
+ var i = E(r.__v), a = !1, o = function() {
71
+ a || r.__z || (a = !0, n.__R = null, i ? i(c) : c());
72
+ };
73
+ n.__R = o;
74
+ var s = n.__P;
75
+ n.__P = null;
76
+ var c = function() {
77
+ if (!--r.__u) {
78
+ if (r.state.__a) {
79
+ var e = r.state.__a;
80
+ r.__v.__k[0] = w(e, e.__c.__P, e.__c.__O);
81
+ }
82
+ var t;
83
+ for (r.setState({ __a: r.__b = null }); t = r.o.pop();) t.__P = s, t.forceUpdate();
84
+ }
85
+ };
86
+ r.__u++ || 32 & t.__u || r.setState({ __a: r.__b = r.__v.__k[0] }), e.then(o, o);
87
+ }, T.prototype.componentWillUnmount = function() {
88
+ this.o = [];
89
+ }, T.prototype.render = function(n, r) {
90
+ if (this.__b) {
91
+ if (this.__v.__k) {
92
+ var i = document.createElement("div"), a = this.__v.__k[0].__c;
93
+ this.__v.__k[0] = C(this.__b, i, a.__O = a.__P);
94
+ }
95
+ this.__b = null;
96
+ }
97
+ var o = r.__a && e(t, null, n.fallback);
98
+ return o && (o.__u &= -33), [e(t, null, r.__a ? null : n.children), o];
99
+ };
100
+ var O = function(e, t, n) {
101
+ if (++n[1] === n[0] && e.l.delete(t), e.props.revealOrder && (e.props.revealOrder[0] !== "t" || !e.l.size)) for (n = e.i; n;) {
102
+ for (; n.length > 3;) n.pop()();
103
+ if (n[1] < n[0]) break;
104
+ e.i = n = n[2];
105
+ }
106
+ };
107
+ function k(e) {
108
+ return this.getChildContext = function() {
109
+ return e.context;
110
+ }, e.children;
111
+ }
112
+ function A(t) {
113
+ var n = this, r = t.h;
114
+ if (n.componentWillUnmount = function() {
115
+ i(null, n.v), n.v = null, n.h = null;
116
+ }, n.h && n.h !== r && n.componentWillUnmount(), !n.v) {
117
+ for (var a = n.__v; a !== null && !a.__m && a.__ !== null;) a = a.__;
118
+ n.h = r, n.v = {
119
+ nodeType: 1,
120
+ parentNode: r,
121
+ childNodes: [],
122
+ __k: { __m: a.__m },
123
+ contains: function() {
124
+ return !0;
125
+ },
126
+ namespaceURI: r.namespaceURI,
127
+ insertBefore: function(e, t) {
128
+ this.childNodes.push(e), n.h.insertBefore(e, t);
129
+ },
130
+ removeChild: function(e) {
131
+ this.childNodes.splice(this.childNodes.indexOf(e) >>> 1, 1), n.h.removeChild(e);
132
+ }
133
+ };
134
+ }
135
+ i(e(k, { context: n.context }, t.__v), n.v);
136
+ }
137
+ function j(t, n) {
138
+ var r = e(A, {
139
+ __v: t,
140
+ h: n
141
+ });
142
+ return r.containerInfo = n, r;
143
+ }
144
+ (D.prototype = new a()).__a = function(e) {
145
+ var t = this, n = E(t.__v), r = t.l.get(e);
146
+ return r[0]++, function(i) {
147
+ var a = function() {
148
+ t.props.revealOrder ? (r.push(i), O(t, e, r)) : i();
149
+ };
150
+ n ? n(a) : a();
151
+ };
152
+ }, D.prototype.render = function(e) {
153
+ this.i = null, this.l = /* @__PURE__ */ new Map();
154
+ var t = r(e.children);
155
+ e.revealOrder && e.revealOrder[0] === "b" && t.reverse();
156
+ for (var n = t.length; n--;) this.l.set(t[n], this.i = [
157
+ 1,
158
+ 0,
159
+ this.i
160
+ ]);
161
+ return e.children;
162
+ }, D.prototype.componentDidUpdate = D.prototype.componentDidMount = function() {
163
+ var e = this;
164
+ this.l.forEach(function(t, n) {
165
+ O(e, n, t);
166
+ });
167
+ };
168
+ var M = typeof Symbol < "u" && Symbol.for && Symbol.for("react.element") || 60103, N = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, P = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, F = /[A-Z0-9]/g, I = typeof document < "u", L = function(e) {
169
+ return (typeof Symbol < "u" && typeof Symbol() == "symbol" ? /fil|che|rad/ : /fil|che|ra/).test(e);
170
+ };
171
+ a.prototype.isReactComponent = !0, [
172
+ "componentWillMount",
173
+ "componentWillReceiveProps",
174
+ "componentWillUpdate"
175
+ ].forEach(function(e) {
176
+ Object.defineProperty(a.prototype, e, {
177
+ configurable: !0,
178
+ get: function() {
179
+ return this["UNSAFE_" + e];
180
+ },
181
+ set: function(t) {
182
+ Object.defineProperty(this, e, {
183
+ configurable: !0,
184
+ writable: !0,
185
+ value: t
186
+ });
187
+ }
188
+ });
189
+ });
190
+ var R = n.event;
191
+ n.event = function(e) {
192
+ return R && (e = R(e)), e.persist = function() {}, e.isPropagationStopped = function() {
193
+ return this.cancelBubble;
194
+ }, e.isDefaultPrevented = function() {
195
+ return this.defaultPrevented;
196
+ }, e.nativeEvent = e;
197
+ };
198
+ var z = {
199
+ configurable: !0,
200
+ get: function() {
201
+ return this.class;
202
+ }
203
+ }, B = n.vnode;
204
+ n.vnode = function(e) {
205
+ typeof e.type == "string" && function(e) {
206
+ var t = e.props, n = e.type, i = {}, a = n.indexOf("-") == -1;
207
+ for (var o in t) {
208
+ var s = t[o];
209
+ if (!(o === "value" && "defaultValue" in t && s == null || I && o === "children" && n === "noscript" || o === "class" || o === "className")) {
210
+ var c = o.toLowerCase();
211
+ o === "defaultValue" && "value" in t && t.value == null ? o = "value" : o === "download" && !0 === s ? s = "" : c === "translate" && s === "no" ? s = !1 : c[0] === "o" && c[1] === "n" ? c === "ondoubleclick" ? o = "ondblclick" : c !== "onchange" || n !== "input" && n !== "textarea" || L(t.type) ? c === "onfocus" ? o = "onfocusin" : c === "onblur" ? o = "onfocusout" : P.test(o) && (o = c) : c = o = "oninput" : a && N.test(o) ? o = o.replace(F, "-$&").toLowerCase() : s === null && (s = void 0), c === "oninput" && i[o = c] && (o = "oninputCapture"), i[o] = s;
212
+ }
213
+ }
214
+ n == "select" && (i.multiple && Array.isArray(i.value) && (i.value = r(t.children).forEach(function(e) {
215
+ e.props.selected = i.value.indexOf(e.props.value) != -1;
216
+ })), i.defaultValue != null && (i.value = r(t.children).forEach(function(e) {
217
+ e.props.selected = i.multiple ? i.defaultValue.indexOf(e.props.value) != -1 : i.defaultValue == e.props.value;
218
+ }))), t.class && !t.className ? (i.class = t.class, Object.defineProperty(i, "className", z)) : t.className && (i.class = i.className = t.className), e.props = i;
219
+ }(e), e.$$typeof = M, B && B(e);
220
+ };
221
+ var V = n.__r;
222
+ n.__r = function(e) {
223
+ V && V(e), e.__c;
224
+ };
225
+ var H = n.diffed;
226
+ n.diffed = function(e) {
227
+ H && H(e);
228
+ var t = e.props, n = e.__e;
229
+ n != null && e.type === "textarea" && "value" in t && t.value !== n.value && (n.value = t.value == null ? "" : t.value);
230
+ };
231
+ //#endregion
232
+ //#region src/dropdown/popup.tsx
233
+ var U = 5, W = 4;
234
+ function G(e, t, n) {
235
+ let r = e.ownerDocument.defaultView;
236
+ if (!r) return {
237
+ top: t,
238
+ left: n,
239
+ scaleX: 1,
240
+ scaleY: 1
241
+ };
242
+ if (r.getComputedStyle(e).position === "fixed") {
243
+ let r = e.currentCSSZoom, i = Number.isFinite(r) && r > 0 ? r : 1;
244
+ return {
245
+ top: t / i,
246
+ left: n / i,
247
+ scaleX: i,
248
+ scaleY: i
249
+ };
250
+ }
251
+ let i = e.offsetParent, a = e.ownerDocument;
252
+ if (!i || i === a.body || i === a.documentElement) return {
253
+ top: t + r.scrollY,
254
+ left: n + r.scrollX,
255
+ scaleX: 1,
256
+ scaleY: 1
257
+ };
258
+ let o = i.getBoundingClientRect(), s = i, c = s.offsetWidth > 0 ? o.width / s.offsetWidth : 1, l = s.offsetHeight > 0 ? o.height / s.offsetHeight : 1, u = Number.isFinite(c) && c > 0 ? c : 1, d = Number.isFinite(l) && l > 0 ? l : 1;
259
+ return {
260
+ top: (t - o.top) / d - s.clientTop + s.scrollTop,
261
+ left: (n - o.left) / u - s.clientLeft + s.scrollLeft,
262
+ scaleX: u,
263
+ scaleY: d
264
+ };
265
+ }
266
+ function K({ onPointerRelease: e, triggerRef: t, children: n, portalTarget: r, theme: i, dropdownMenuId: a, popupClassName: h, closeOnClickOutside: g = !1, onClose: _, align: v = "start", matchTriggerWidth: y = !1, maxHeight: b, observePopupResize: x = !0, topLayer: S = !1 }) {
267
+ let C = l(null), [w, T] = s({
268
+ top: 0,
269
+ left: 0,
270
+ display: "none"
271
+ });
272
+ c(() => {
273
+ let e = t.current, n = C.current;
274
+ if (e && n) return m(e, n);
275
+ }, [r, t]), o(() => {
276
+ let e = t.current;
277
+ if (!e) return;
278
+ let n = e.ownerDocument.defaultView ?? window, r = () => {
279
+ let t = C.current;
280
+ if (!t) return;
281
+ let n = e.getBoundingClientRect(), r = G(t, n.bottom + W, n.left);
282
+ T({
283
+ top: r.top,
284
+ left: r.left,
285
+ display: "flex",
286
+ ...y ? { width: n.width / r.scaleX } : {}
287
+ });
288
+ }, i = () => {
289
+ let t = C.current;
290
+ if (!t) return;
291
+ let r = e.getBoundingClientRect(), i = t.style.maxHeight;
292
+ t.style.maxHeight = "";
293
+ let a = t.getBoundingClientRect(), o = G(t, 0, 0), s = Math.max(a.height, t.offsetHeight * o.scaleY, t.scrollHeight * o.scaleY);
294
+ t.style.maxHeight = i;
295
+ let c = Math.max(a.width, t.offsetWidth * o.scaleX), l = Math.min(s, typeof b == "number" ? Math.max(0, b * o.scaleY) : Infinity), u = n.innerHeight, d = n.innerWidth, f = Math.max(0, r.top - W - U), p = Math.max(0, u - r.bottom - W - U), m = l > p && f > p, h = Math.min(l, m ? f : p), g = m ? r.top - W - h : r.bottom + W, _ = v === "end" ? r.right - c : r.left;
296
+ g = Math.max(U, Math.min(g, u - U - h)), _ = Math.max(U, Math.min(_, d - c - U));
297
+ let x = G(t, g, _);
298
+ T({
299
+ top: x.top,
300
+ left: x.left,
301
+ display: "flex",
302
+ maxHeight: h / x.scaleY,
303
+ ...y ? { width: r.width / x.scaleX } : {}
304
+ });
305
+ }, a = (e) => {
306
+ e.target instanceof n.Node && d(C.current, e.target) || i();
307
+ };
308
+ r();
309
+ let o = n.setTimeout(i, 0);
310
+ n.addEventListener("resize", i), n.addEventListener("scroll", a, !0);
311
+ let s = n.ResizeObserver, c = s ? new s(i) : void 0;
312
+ c?.observe(e);
313
+ let l = e.closest(".rv-dialog__surface, dialog");
314
+ return l && c?.observe(l), x && C.current && c?.observe(C.current), () => {
315
+ n.clearTimeout(o), n.removeEventListener("resize", i), n.removeEventListener("scroll", a, !0), c?.disconnect();
316
+ };
317
+ }, [
318
+ v,
319
+ y,
320
+ b,
321
+ x,
322
+ r,
323
+ t
324
+ ]), c(() => {
325
+ let e = C.current;
326
+ if (!S || !e) return;
327
+ let t = f(e);
328
+ return () => {
329
+ p(e, t);
330
+ };
331
+ }, [r, S]), c(() => {
332
+ if (!g || !_) return;
333
+ let e = r?.ownerDocument ?? C.current?.ownerDocument ?? t.current?.ownerDocument ?? (typeof document < "u" ? document : void 0);
334
+ if (!e) return;
335
+ let n = (e) => {
336
+ let n = e.target;
337
+ n && (d(C.current, n) || t.current?.contains(n) || _());
338
+ };
339
+ e.addEventListener("mousedown", n);
340
+ let i = (n) => {
341
+ if (n.key !== "Escape" || C.current?.querySelector("[aria-expanded=\"true\"]")) return;
342
+ let r = e.activeElement;
343
+ r && (C.current?.contains(r) || t.current?.contains(r)) && (n.preventDefault(), n.stopPropagation(), _(), t.current?.querySelector("button, input, select")?.focus());
344
+ };
345
+ return e.addEventListener("keydown", i), () => {
346
+ e.removeEventListener("mousedown", n), e.removeEventListener("keydown", i);
347
+ };
348
+ }, [
349
+ g,
350
+ _,
351
+ r,
352
+ t
353
+ ]);
354
+ let E = /* @__PURE__ */ u("div", {
355
+ ref: C,
356
+ id: a,
357
+ className: `revo-dropdown-menu ${h || ""}`,
358
+ "data-theme": i ?? "default",
359
+ onMouseUp: e,
360
+ onTouchEnd: e,
361
+ style: {
362
+ top: `${w.top}px`,
363
+ left: `${w.left}px`,
364
+ ...S ? {
365
+ right: "auto",
366
+ bottom: "auto",
367
+ margin: "0"
368
+ } : {},
369
+ display: w.display,
370
+ maxHeight: w.maxHeight === void 0 ? void 0 : `${w.maxHeight}px`,
371
+ width: w.width === void 0 ? void 0 : `${w.width}px`
372
+ },
373
+ children: n
374
+ });
375
+ return r ? j(E, r) : E;
376
+ }
377
+ //#endregion
378
+ export { j as n, b as r, K as t };
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./jsxRuntime.module-F6UFnpT-.js";
2
2
  import { SvgIcon as t } from "../icons/icon.js";
3
- import { ButtonControl as n } from "../native-control.js";
3
+ import { t as n } from "./native-control-B_fVA5bL.js";
4
4
  //#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/star.svg?raw
5
5
  var r = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 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=\"M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3 5.1-21.4 13.1L193.1 125.3 33.2 150.7c-8.9 1.4-16.3 7.7-19.1 16.3s-.5 18 5.8 24.4l114.4 114.5-25.2 159.9c-1.4 8.9 2.3 17.9 9.6 23.2s16.9 6.1 25 2L288.1 417.6 432.4 491c8 4.1 17.7 3.3 25-2s11-14.2 9.6-23.2L441.7 305.9 556.1 191.4c6.4-6.4 8.6-15.8 5.8-24.4s-10.1-14.9-19.1-16.3L383 125.3 309.5-18.9z\"/></svg>", i = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 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=\"M288.1-32c9 0 17.3 5.1 21.4 13.1L383 125.3 542.9 150.7c8.9 1.4 16.3 7.7 19.1 16.3s.5 18-5.8 24.4L441.7 305.9 467 465.8c1.4 8.9-2.3 17.9-9.6 23.2s-17 6.1-25 2L288.1 417.6 143.8 491c-8 4.1-17.7 3.3-25-2s-11-14.2-9.6-23.2L134.4 305.9 20 191.4c-6.4-6.4-8.6-15.8-5.8-24.4s10.1-14.9 19.1-16.3l159.9-25.4 73.6-144.2c4.1-8 12.4-13.1 21.4-13.1zm0 76.8L230.3 158c-3.5 6.8-10 11.6-17.6 12.8l-125.5 20 89.8 89.9c5.4 5.4 7.9 13.1 6.7 20.7l-19.8 125.5 113.3-57.6c6.8-3.5 14.9-3.5 21.8 0l113.3 57.6-19.8-125.5c-1.2-7.6 1.3-15.3 6.7-20.7l89.8-89.9-125.5-20c-7.6-1.2-14.1-6-17.6-12.8L288.1 44.8z\"/></svg>";
6
6
  //#endregion
@@ -0,0 +1,83 @@
1
+ import { c as e } from "./preact.module-BBM36DnO.js";
2
+ import { c as t, i as n, t as r } from "./hooks.module-CG3gN83z.js";
3
+ import { renderHeader as i } from "../status-feedback/header.js";
4
+ import { renderItem as a } from "../status-feedback/item.js";
5
+ import { renderStatusBadge as o } from "../status-feedback/badge.js";
6
+ //#region src/status-feedback/use-auto-dismiss.ts
7
+ function s(e, i = 0, a) {
8
+ let [o, s] = n(/* @__PURE__ */ new Set()), c = r(a);
9
+ c.current = a;
10
+ let l = r(/* @__PURE__ */ new Map());
11
+ return t(() => {
12
+ for (let [t, n] of l.current) (!a || i <= 0 || !e.includes(n.item) || n.duration !== i) && (clearTimeout(n.timer), l.current.delete(t), s((e) => new Set([...e].filter((e) => e !== t))));
13
+ if (!(!a || i <= 0)) for (let t of e) {
14
+ if (t.busy || t.tone === "warning" || t.tone === "danger" || l.current.has(t.id)) continue;
15
+ let e = {
16
+ item: t,
17
+ duration: i,
18
+ timer: setTimeout(() => {
19
+ s((e) => /* @__PURE__ */ new Set([...e, t.id])), e.timer = setTimeout(() => c.current?.(t.id), 160);
20
+ }, i)
21
+ };
22
+ l.current.set(t.id, e);
23
+ }
24
+ }, [
25
+ e,
26
+ i,
27
+ !!a
28
+ ]), t(() => () => {
29
+ for (let e of l.current.values()) clearTimeout(e.timer);
30
+ l.current.clear();
31
+ }, []), e.map((e) => o.has(e.id) ? {
32
+ ...e,
33
+ data: {
34
+ ...e.data,
35
+ "data-exiting": "true"
36
+ }
37
+ } : e);
38
+ }
39
+ //#endregion
40
+ //#region src/status-feedback/render.ts
41
+ function c(e, t) {
42
+ let { title: n, items: r, ariaLabel: o, className: s, popover: c, onCollapsedChange: l } = t;
43
+ if (!r.length) return c?.hide(!0), null;
44
+ let u = c?.collapsed ?? t.collapsed ?? !1, d = !!(c || l), f = (e, t) => {
45
+ if (e && !c) {
46
+ let e = t.currentTarget.closest(".rv-status-feedback"), n = e?.ownerDocument.activeElement;
47
+ n && e?.contains(n) && e.querySelector(".rv-status-feedback__toggle")?.focus({ preventScroll: !0 });
48
+ }
49
+ c?.setCollapsed(e), l?.(e);
50
+ };
51
+ return c?.refresh(), e("section", {
52
+ onKeyDown: (e) => {
53
+ e.key === "Escape" && d && !u && (e.preventDefault(), e.stopPropagation(), f(!0, e));
54
+ },
55
+ ref: c?.panelRef,
56
+ id: c?.id,
57
+ class: [
58
+ "rv-status-feedback",
59
+ s,
60
+ t.compact ? "rv-status-feedback--compact" : "",
61
+ c ? "rv-status-feedback--popover" : "",
62
+ u ? "rv-status-feedback--collapsed" : ""
63
+ ].filter(Boolean).join(" "),
64
+ "aria-label": o ?? n,
65
+ "data-collapsed": String(u)
66
+ }, [i(e, t, u, d, f), e("div", {
67
+ id: c ? `${c.id}-items` : void 0,
68
+ class: "rv-status-feedback__items",
69
+ hidden: u
70
+ }, r.map((t) => a(e, t)))]);
71
+ }
72
+ function l(t) {
73
+ let n = s(t.items, t.autoDismissMs, t.onDismissItem);
74
+ return c(e, {
75
+ ...t,
76
+ items: n
77
+ });
78
+ }
79
+ function u(t) {
80
+ return o(e, t);
81
+ }
82
+ //#endregion
83
+ export { l as n, c as r, u as t };
@@ -1,6 +1,6 @@
1
1
  import { c as e } from "./preact.module-BBM36DnO.js";
2
2
  import { t } from "./jsxRuntime.module-F6UFnpT-.js";
3
- import { ButtonControl as n } from "../native-control.js";
3
+ import { t as n } from "./native-control-B_fVA5bL.js";
4
4
  import { fieldDropIndex as r, fieldListDropIndex as i } from "../field-reorder.js";
5
5
  //#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/grip-vertical.svg?raw
6
6
  var a = "<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>";