@ecopages/radiant-ui 0.1.0-beta.7 → 0.1.0-beta.8

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 (264) hide show
  1. package/README.md +1 -1
  2. package/dist/components/ui/alert/alert.css +88 -50
  3. package/dist/components/ui/alert/alert.d.ts +43 -5
  4. package/dist/components/ui/alert/alert.script.d.ts +51 -4
  5. package/dist/components/ui/alert/index.d.ts +2 -2
  6. package/dist/components/ui/alert/index.js +1 -1
  7. package/dist/components/ui/alert/index.js.map +4 -4
  8. package/dist/components/ui/autocomplete/autocomplete.css +4 -4
  9. package/dist/components/ui/autocomplete/autocomplete.d.ts +15 -5
  10. package/dist/components/ui/autocomplete/autocomplete.script.d.ts +9 -0
  11. package/dist/components/ui/autocomplete/index.js +1 -1
  12. package/dist/components/ui/autocomplete/index.js.map +4 -4
  13. package/dist/components/ui/avatar/avatar.d.ts +15 -1
  14. package/dist/components/ui/avatar/index.js +1 -1
  15. package/dist/components/ui/avatar/index.js.map +4 -4
  16. package/dist/components/ui/breadcrumb/breadcrumb.d.ts +32 -6
  17. package/dist/components/ui/breadcrumb/index.js +1 -1
  18. package/dist/components/ui/breadcrumb/index.js.map +4 -4
  19. package/dist/{styles/components → components/ui/button}/button.css +45 -31
  20. package/dist/components/ui/button/button.d.ts +21 -4
  21. package/dist/components/ui/button-group/button-group.d.ts +7 -1
  22. package/dist/components/ui/button-group/index.js +1 -1
  23. package/dist/components/ui/button-group/index.js.map +4 -4
  24. package/dist/components/ui/calendar/calendar.css +7 -7
  25. package/dist/components/ui/calendar/calendar.d.ts +3 -2
  26. package/dist/components/ui/calendar/calendar.script.d.ts +39 -1
  27. package/dist/components/ui/calendar/index.js +1 -1
  28. package/dist/components/ui/calendar/index.js.map +4 -4
  29. package/dist/components/ui/carousel/carousel.d.ts +32 -6
  30. package/dist/components/ui/carousel/carousel.script.d.ts +44 -0
  31. package/dist/components/ui/carousel/index.js +1 -1
  32. package/dist/components/ui/carousel/index.js.map +4 -4
  33. package/dist/components/ui/checkbox/checkbox.css +1 -1
  34. package/dist/components/ui/checkbox/checkbox.d.ts +3 -2
  35. package/dist/components/ui/checkbox/checkbox.script.d.ts +4 -0
  36. package/dist/components/ui/checkbox/index.js +1 -1
  37. package/dist/components/ui/checkbox/index.js.map +4 -4
  38. package/dist/components/ui/chip/chip.d.ts +8 -0
  39. package/dist/components/ui/chip/index.js +1 -1
  40. package/dist/components/ui/chip/index.js.map +4 -4
  41. package/dist/components/ui/chip-list/chip-list.d.ts +10 -2
  42. package/dist/components/ui/chip-list/index.js +1 -1
  43. package/dist/components/ui/chip-list/index.js.map +4 -4
  44. package/dist/components/ui/combobox/combobox.css +39 -1
  45. package/dist/components/ui/combobox/combobox.d.ts +15 -5
  46. package/dist/components/ui/combobox/combobox.script.d.ts +13 -1
  47. package/dist/components/ui/combobox/index.js +1 -1
  48. package/dist/components/ui/combobox/index.js.map +4 -4
  49. package/dist/components/ui/cycle-toggle/cycle-toggle.css +15 -0
  50. package/dist/components/ui/cycle-toggle/cycle-toggle.d.ts +29 -0
  51. package/dist/components/ui/cycle-toggle/cycle-toggle.script.d.ts +61 -0
  52. package/dist/components/ui/cycle-toggle/index.d.ts +5 -0
  53. package/dist/components/ui/cycle-toggle/index.js +2 -0
  54. package/dist/components/ui/cycle-toggle/index.js.map +7 -0
  55. package/dist/components/ui/cycle-toggle/theme-preference-icons.d.ts +12 -0
  56. package/dist/components/ui/date-field/date-field.css +37 -0
  57. package/dist/components/ui/date-field/date-field.d.ts +22 -3
  58. package/dist/components/ui/date-field/date-field.script.d.ts +29 -5
  59. package/dist/components/ui/date-field/index.d.ts +1 -1
  60. package/dist/components/ui/date-field/index.js +1 -1
  61. package/dist/components/ui/date-field/index.js.map +4 -4
  62. package/dist/components/ui/date-range-picker/date-range-picker.css +37 -0
  63. package/dist/components/ui/date-range-picker/date-range-picker.d.ts +37 -4
  64. package/dist/components/ui/date-range-picker/date-range-picker.script.d.ts +31 -5
  65. package/dist/components/ui/date-range-picker/index.d.ts +1 -1
  66. package/dist/components/ui/date-range-picker/index.js +1 -1
  67. package/dist/components/ui/date-range-picker/index.js.map +4 -4
  68. package/dist/components/ui/dialog/dialog.css +1 -1
  69. package/dist/components/ui/dialog/dialog.d.ts +30 -5
  70. package/dist/components/ui/dialog/dialog.script.d.ts +3 -0
  71. package/dist/components/ui/dialog/index.js +1 -1
  72. package/dist/components/ui/dialog/index.js.map +4 -4
  73. package/dist/components/ui/disclosure/disclosure-group.css +1 -1
  74. package/dist/components/ui/disclosure/disclosure-group.script.d.ts +6 -0
  75. package/dist/components/ui/disclosure/disclosure.d.ts +26 -7
  76. package/dist/components/ui/disclosure/disclosure.script.d.ts +5 -0
  77. package/dist/components/ui/disclosure/index.js +1 -1
  78. package/dist/components/ui/disclosure/index.js.map +4 -4
  79. package/dist/components/ui/feed/feed.d.ts +37 -7
  80. package/dist/components/ui/feed/index.js +1 -1
  81. package/dist/components/ui/feed/index.js.map +4 -4
  82. package/dist/components/ui/field/field-description.d.ts +5 -1
  83. package/dist/components/ui/field/field-error.d.ts +5 -0
  84. package/dist/components/ui/field/field.d.ts +8 -1
  85. package/dist/components/ui/field/field.script.d.ts +35 -0
  86. package/dist/components/ui/field/index.js +1 -1
  87. package/dist/components/ui/field/index.js.map +4 -4
  88. package/dist/components/ui/form/control-protocol.d.ts +6 -0
  89. package/dist/components/ui/form/form.d.ts +2 -1
  90. package/dist/components/ui/form/form.script.d.ts +16 -1
  91. package/dist/components/ui/form/index.d.ts +1 -1
  92. package/dist/components/ui/form/index.js +1 -1
  93. package/dist/components/ui/form/index.js.map +4 -4
  94. package/dist/components/ui/grid/grid.d.ts +12 -2
  95. package/dist/components/ui/grid/grid.script.d.ts +14 -0
  96. package/dist/components/ui/grid/index.js +1 -1
  97. package/dist/components/ui/grid/index.js.map +4 -4
  98. package/dist/components/ui/heading/heading.d.ts +26 -4
  99. package/dist/components/ui/heading/index.js +1 -1
  100. package/dist/components/ui/heading/index.js.map +4 -4
  101. package/dist/components/ui/headline/headline.d.ts +9 -1
  102. package/dist/components/ui/headline/index.js +1 -1
  103. package/dist/components/ui/headline/index.js.map +4 -4
  104. package/dist/components/ui/input/index.d.ts +1 -1
  105. package/dist/components/ui/input/index.js +1 -1
  106. package/dist/components/ui/input/index.js.map +4 -4
  107. package/dist/components/ui/input/input.css +2 -7
  108. package/dist/components/ui/input/input.d.ts +7 -2
  109. package/dist/components/ui/label/index.js +1 -1
  110. package/dist/components/ui/label/index.js.map +4 -4
  111. package/dist/components/ui/label/label.d.ts +8 -1
  112. package/dist/components/ui/listbox/index.js +1 -1
  113. package/dist/components/ui/listbox/index.js.map +4 -4
  114. package/dist/components/ui/listbox/listbox.css +2 -5
  115. package/dist/components/ui/listbox/listbox.d.ts +7 -3
  116. package/dist/components/ui/listbox/listbox.script.d.ts +14 -1
  117. package/dist/components/ui/menu-button/index.d.ts +1 -1
  118. package/dist/components/ui/menu-button/index.js +1 -1
  119. package/dist/components/ui/menu-button/index.js.map +4 -4
  120. package/dist/components/ui/menu-button/menu-button.css +2 -2
  121. package/dist/components/ui/menu-button/menu-button.d.ts +27 -5
  122. package/dist/components/ui/menu-button/menu-button.script.d.ts +8 -3
  123. package/dist/components/ui/menubar/index.js +1 -1
  124. package/dist/components/ui/menubar/index.js.map +4 -4
  125. package/dist/components/ui/menubar/menubar.css +4 -4
  126. package/dist/components/ui/menubar/menubar.d.ts +14 -2
  127. package/dist/components/ui/menubar/menubar.script.d.ts +10 -1
  128. package/dist/components/ui/meter/index.js +1 -1
  129. package/dist/components/ui/meter/index.js.map +4 -4
  130. package/dist/components/ui/meter/meter.css +1 -1
  131. package/dist/components/ui/meter/meter.d.ts +7 -2
  132. package/dist/components/ui/meter/meter.script.d.ts +21 -0
  133. package/dist/components/ui/navigation-menu/index.js +1 -1
  134. package/dist/components/ui/navigation-menu/index.js.map +4 -4
  135. package/dist/components/ui/navigation-menu/navigation-menu.css +2 -2
  136. package/dist/components/ui/navigation-menu/navigation-menu.d.ts +3 -2
  137. package/dist/components/ui/navigation-menu/navigation-menu.script.d.ts +4 -0
  138. package/dist/components/ui/number-field/index.d.ts +1 -1
  139. package/dist/components/ui/number-field/index.js +1 -1
  140. package/dist/components/ui/number-field/index.js.map +4 -4
  141. package/dist/components/ui/number-field/number-field.css +18 -3
  142. package/dist/components/ui/number-field/number-field.d.ts +36 -8
  143. package/dist/components/ui/number-field/number-field.script.d.ts +28 -1
  144. package/dist/components/ui/popover/index.js +1 -1
  145. package/dist/components/ui/popover/index.js.map +4 -4
  146. package/dist/components/ui/popover/popover.d.ts +5 -4
  147. package/dist/components/ui/popover/popover.script.d.ts +4 -0
  148. package/dist/components/ui/radio-group/index.d.ts +1 -1
  149. package/dist/components/ui/radio-group/index.js +1 -1
  150. package/dist/components/ui/radio-group/index.js.map +4 -4
  151. package/dist/components/ui/radio-group/radio-group.d.ts +29 -4
  152. package/dist/components/ui/radio-group/radio-group.script.d.ts +14 -9
  153. package/dist/components/ui/select/index.js +1 -1
  154. package/dist/components/ui/select/index.js.map +4 -4
  155. package/dist/components/ui/select/select.css +48 -6
  156. package/dist/components/ui/select/select.d.ts +29 -8
  157. package/dist/components/ui/select/select.script.d.ts +7 -0
  158. package/dist/components/ui/sidebar/index.js +1 -1
  159. package/dist/components/ui/sidebar/index.js.map +4 -4
  160. package/dist/components/ui/sidebar/sidebar-trigger.script.d.ts +4 -0
  161. package/dist/components/ui/sidebar/sidebar.css +41 -24
  162. package/dist/components/ui/sidebar/sidebar.d.ts +68 -14
  163. package/dist/components/ui/sidebar/sidebar.docs.css +5 -2
  164. package/dist/components/ui/sidebar/sidebar.script.d.ts +9 -0
  165. package/dist/components/ui/slider/index.js +1 -1
  166. package/dist/components/ui/slider/index.js.map +4 -4
  167. package/dist/components/ui/slider/slider.d.ts +2 -1
  168. package/dist/components/ui/slider/slider.script.d.ts +29 -1
  169. package/dist/components/ui/switch/index.js +1 -1
  170. package/dist/components/ui/switch/index.js.map +4 -4
  171. package/dist/components/ui/switch/switch.css +3 -3
  172. package/dist/components/ui/switch/switch.d.ts +11 -2
  173. package/dist/components/ui/switch/switch.script.d.ts +5 -0
  174. package/dist/components/ui/tabs/index.js +1 -1
  175. package/dist/components/ui/tabs/index.js.map +4 -4
  176. package/dist/components/ui/tabs/tabs.css +9 -10
  177. package/dist/components/ui/tabs/tabs.d.ts +30 -9
  178. package/dist/components/ui/tag-group/index.js +1 -1
  179. package/dist/components/ui/tag-group/index.js.map +4 -4
  180. package/dist/components/ui/tag-group/tag-group.css +2 -11
  181. package/dist/components/ui/tag-group/tag-group.d.ts +18 -5
  182. package/dist/components/ui/tag-group/tag-group.script.d.ts +9 -2
  183. package/dist/components/ui/textarea/index.d.ts +1 -1
  184. package/dist/components/ui/textarea/index.js +1 -1
  185. package/dist/components/ui/textarea/index.js.map +4 -4
  186. package/dist/components/ui/textarea/textarea.d.ts +7 -2
  187. package/dist/components/ui/toast/index.d.ts +1 -1
  188. package/dist/components/ui/toast/index.js +1 -1
  189. package/dist/components/ui/toast/index.js.map +4 -4
  190. package/dist/components/ui/toast/stack-layout.d.ts +18 -0
  191. package/dist/components/ui/toast/toast-context.d.ts +10 -0
  192. package/dist/components/ui/toast/toast.css +30 -9
  193. package/dist/components/ui/toast/toast.d.ts +12 -2
  194. package/dist/components/ui/toast/toast.script.d.ts +60 -4
  195. package/dist/components/ui/toast/toaster.script.d.ts +71 -2
  196. package/dist/components/ui/toc/index.js +1 -1
  197. package/dist/components/ui/toc/index.js.map +4 -4
  198. package/dist/components/ui/toc/toc.css +3 -0
  199. package/dist/components/ui/toc/toc.d.ts +2 -1
  200. package/dist/components/ui/toc/toc.script.d.ts +15 -0
  201. package/dist/components/ui/toolbar/index.js +1 -1
  202. package/dist/components/ui/toolbar/index.js.map +4 -4
  203. package/dist/components/ui/toolbar/toolbar.d.ts +3 -2
  204. package/dist/components/ui/toolbar/toolbar.script.d.ts +8 -0
  205. package/dist/components/ui/tooltip/index.js +1 -1
  206. package/dist/components/ui/tooltip/index.js.map +4 -4
  207. package/dist/components/ui/tooltip/tooltip.d.ts +3 -2
  208. package/dist/components/ui/tooltip/tooltip.script.d.ts +3 -0
  209. package/dist/components/ui/tree/index.js +1 -1
  210. package/dist/components/ui/tree/index.js.map +4 -4
  211. package/dist/components/ui/tree/tree.d.ts +12 -2
  212. package/dist/components/ui/tree/tree.script.d.ts +18 -1
  213. package/dist/components/ui/treegrid/index.js +1 -1
  214. package/dist/components/ui/treegrid/index.js.map +4 -4
  215. package/dist/components/ui/treegrid/treegrid.d.ts +15 -2
  216. package/dist/components/ui/treegrid/treegrid.script.d.ts +22 -1
  217. package/dist/components/ui/window-splitter/index.js +1 -1
  218. package/dist/components/ui/window-splitter/index.js.map +4 -4
  219. package/dist/components/ui/window-splitter/window-splitter.css +1 -1
  220. package/dist/components/ui/window-splitter/window-splitter.d.ts +3 -2
  221. package/dist/components/ui/window-splitter/window-splitter.script.d.ts +22 -0
  222. package/dist/index.d.ts +1 -0
  223. package/dist/index.js +1 -1
  224. package/dist/index.js.map +4 -4
  225. package/dist/lib/cycle-value.d.ts +8 -0
  226. package/dist/lib/intl-number/range.d.ts +8 -0
  227. package/dist/styles/radiant-ui-core.css +110 -341
  228. package/dist/styles/radiant-ui.css +413 -377
  229. package/dist/styles/styles.css +839 -2731
  230. package/dist/styles/tailwind.css +626 -530
  231. package/dist/styles/tokens/colors/aurora.css +2 -2
  232. package/dist/styles/tokens/colors/basalt.css +2 -1
  233. package/dist/styles/tokens/colors/glacier.css +2 -1
  234. package/dist/styles/tokens/presets/colors/aurora.css +42 -14
  235. package/dist/styles/tokens/presets/colors/basalt.css +28 -0
  236. package/dist/styles/tokens/presets/colors/ember.css +28 -0
  237. package/dist/styles/tokens/presets/colors/glacier.css +28 -0
  238. package/dist/styles/tokens/semantic.css +22 -2
  239. package/dist/styles/tokens/spacing/compact.css +12 -12
  240. package/package.json +21 -8
  241. package/dist/components/ui/dialog/dialog-registry.test.d.ts +0 -1
  242. package/dist/components/ui/field/field-ssr-hydration.test.d.ts +0 -1
  243. package/dist/components/ui/form/form-field.test.d.ts +0 -4
  244. package/dist/components/ui/form/form-store.test.d.ts +0 -1
  245. package/dist/components/ui/shared/collection-navigation.test.d.ts +0 -1
  246. package/dist/components/ui/shared/floating-position.test.d.ts +0 -1
  247. package/dist/components/ui/shared/listbox-popover-behavior.test.d.ts +0 -1
  248. package/dist/components/ui/shared/popover-controller.test.d.ts +0 -1
  249. package/dist/components/ui/shared/portal.test.d.ts +0 -1
  250. package/dist/components/ui/sidebar/sidebar.ssr.test.d.ts +0 -2
  251. package/dist/components/ui/sidebar/sidebar.test.d.ts +0 -1
  252. package/dist/components/ui/toast/toast.test.d.ts +0 -2
  253. package/dist/components/ui/toc/toc-helpers.test.d.ts +0 -1
  254. package/dist/components/ui/toc/toc.ssr.test.d.ts +0 -1
  255. package/dist/components/ui/toc/toc.test.d.ts +0 -1
  256. package/dist/lib/intl-date/parts.test.d.ts +0 -1
  257. package/dist/lib/intl-date/segments.test.d.ts +0 -1
  258. package/dist/lib/intl-date/selection.test.d.ts +0 -1
  259. package/dist/lib/mask/date-mask.test.d.ts +0 -1
  260. package/dist/lib/mask/input-mask.test.d.ts +0 -1
  261. package/dist/lib/radiant-view.d.ts +0 -43
  262. package/dist/lib/text-filter.test.d.ts +0 -1
  263. package/dist/styles/tokens/presets/radius.css +0 -45
  264. package/dist/styles/tokens/presets/spacing.css +0 -57
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/ui/date-range-picker/date-range-picker.script.tsx", "../../../../src/lib/intl-date/iso.ts", "../../../../src/lib/intl-date/selection.ts", "../../../../src/lib/intl-date/formatters.ts", "../../../../src/lib/mask/input-mask.ts", "../../../../src/lib/mask/date-mask.ts", "../../../../src/lib/intl-date/parts.ts", "../../../../src/lib/icons/calendar.tsx", "../../../../src/lib/cx.ts", "../../../../src/lib/intl/locale.ts", "../../../../src/components/ui/shared/floating-position.ts", "../../../../src/components/ui/shared/portal.ts", "../../../../src/components/ui/shared/popover-controller.ts", "../../../../src/components/ui/date-range-picker/date-range-picker.tsx", "../../../../src/lib/radiant-view.ts"],
4
- "sourcesContent": ["let _initProto, _initClass, _init_value, _init_extra_value, _init_min, _init_extra_min, _init_max, _init_extra_max, _init_disabled, _init_extra_disabled, _init_readOnly, _init_extra_readOnly, _init_locale, _init_extra_locale, _init_placeholderStart, _init_extra_placeholderStart, _init_placeholderEnd, _init_extra_placeholderEnd, _init_startName, _init_extra_startName, _init_endName, _init_extra_endName, _init_name, _init_extra_name, _init_dateStyle, _init_extra_dateStyle, _init_visibleMonths, _init_extra_visibleMonths, _init_changeEvent, _init_extra_changeEvent, _init_open, _init_extra_open, _init_startDisplay, _init_extra_startDisplay, _init_endDisplay, _init_extra_endDisplay, _init_editing, _init_extra_editing, _init_rootTarget, _init_extra_rootTarget, _init_popoverTarget, _init_extra_popoverTarget;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { RadiantElement, customElement, event, onEvent, onUpdated, prop, query, state } from \"@ecopages/radiant\";\nimport { dateToIso, formatDisplayDate, isoToDate, parseLocaleDateString, parseIsoRange, serializeIsoRange } from \"@/lib/intl-date\";\nimport { RuiIconCalendar } from \"@/lib/icons\";\nimport \"../calendar/calendar.script\";\nimport { PopoverController, shouldDismissPopoverFocus } from \"../shared/popover-controller\";\nimport { resolveLocale } from \"@/lib/intl/locale\";\nlet _RuiDateRangePicker;\nclass RuiDateRangePicker extends RadiantElement {\n static {\n ({\n e: [_init_value, _init_extra_value, _init_min, _init_extra_min, _init_max, _init_extra_max, _init_disabled, _init_extra_disabled, _init_readOnly, _init_extra_readOnly, _init_locale, _init_extra_locale, _init_placeholderStart, _init_extra_placeholderStart, _init_placeholderEnd, _init_extra_placeholderEnd, _init_startName, _init_extra_startName, _init_endName, _init_extra_endName, _init_name, _init_extra_name, _init_dateStyle, _init_extra_dateStyle, _init_visibleMonths, _init_extra_visibleMonths, _init_changeEvent, _init_extra_changeEvent, _init_open, _init_extra_open, _init_startDisplay, _init_extra_startDisplay, _init_endDisplay, _init_extra_endDisplay, _init_editing, _init_extra_editing, _init_rootTarget, _init_extra_rootTarget, _init_popoverTarget, _init_extra_popoverTarget, _initProto],\n c: [_RuiDateRangePicker, _initClass]\n } = _applyDecs(this, [customElement(\"rui-date-range-picker\")], [[prop({\n type: String,\n reflect: true,\n defaultValue: \"\"\n }), 0, \"value\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"min\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"max\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"disabled\"], [prop({\n type: Boolean,\n attribute: \"read-only\",\n reflect: true,\n defaultValue: false\n }), 0, \"readOnly\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"locale\"], [prop({\n type: String,\n attribute: \"placeholder-start\",\n defaultValue: \"\"\n }), 0, \"placeholderStart\"], [prop({\n type: String,\n attribute: \"placeholder-end\",\n defaultValue: \"\"\n }), 0, \"placeholderEnd\"], [prop({\n type: String,\n attribute: \"start-name\",\n defaultValue: \"\"\n }), 0, \"startName\"], [prop({\n type: String,\n attribute: \"end-name\",\n defaultValue: \"\"\n }), 0, \"endName\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"name\"], [prop({\n type: String,\n attribute: \"date-style\",\n defaultValue: \"medium\"\n }), 0, \"dateStyle\"], [prop({\n type: Number,\n attribute: \"visible-months\",\n defaultValue: 2\n }), 0, \"visibleMonths\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [state, 0, \"open\"], [state, 0, \"startDisplay\"], [state, 0, \"endDisplay\"], [state, 0, \"editing\"], [query({\n ref: \"root\"\n }), 0, \"rootTarget\"], [query({\n ref: \"popover\"\n }), 0, \"popoverTarget\"], [onUpdated([\"value\", \"min\", \"max\", \"disabled\", \"readOnly\", \"locale\", \"dateStyle\", \"startName\", \"endName\", \"visibleMonths\"]), 2, \"onPropsUpdated\"], [onUpdated([\"open\"]), 2, \"onOpenUpdated\"], [onEvent({\n ref: \"trigger\",\n type: \"pointerdown\"\n }), 2, \"onTriggerPointerDown\"], [onEvent({\n ref: \"trigger\",\n type: \"click\"\n }), 2, \"onTriggerClick\"], [onEvent({\n selector: \"[data-range-start]\",\n type: \"focus\"\n }), 2, \"onStartFocus\"], [onEvent({\n selector: \"[data-range-end]\",\n type: \"focus\"\n }), 2, \"onEndFocus\"], [onEvent({\n selector: \"[data-range-start], [data-range-end]\",\n type: \"blur\"\n }), 2, \"onInputBlur\"], [onEvent({\n selector: \"[data-range-start], [data-range-end]\",\n type: \"input\"\n }), 2, \"onInput\"], [onEvent({\n selector: \"[data-range-popover]\",\n type: \"mousedown\"\n }), 2, \"onPopoverMouseDown\"], [onEvent({\n ref: \"root\",\n type: \"rui-change\"\n }), 2, \"onCalendarChange\"], [onEvent({\n ref: \"root\",\n type: \"keydown\"\n }), 2, \"onRootKeydown\"], [onEvent({\n ref: \"root\",\n type: \"focusout\"\n }), 2, \"onRootFocusOut\"]], 0, void 0, RadiantElement));\n }\n constructor(...args) {\n super(...args);\n _init_extra_popoverTarget(this);\n }\n value = (_initProto(this), _init_value(this));\n min = (_init_extra_value(this), _init_min(this));\n max = (_init_extra_min(this), _init_max(this));\n disabled = (_init_extra_max(this), _init_disabled(this));\n readOnly = (_init_extra_disabled(this), _init_readOnly(this));\n locale = (_init_extra_readOnly(this), _init_locale(this));\n placeholderStart = (_init_extra_locale(this), _init_placeholderStart(this));\n placeholderEnd = (_init_extra_placeholderStart(this), _init_placeholderEnd(this));\n startName = (_init_extra_placeholderEnd(this), _init_startName(this));\n endName = (_init_extra_startName(this), _init_endName(this));\n name = (_init_extra_endName(this), _init_name(this));\n dateStyle = (_init_extra_name(this), _init_dateStyle(this));\n visibleMonths = (_init_extra_dateStyle(this), _init_visibleMonths(this));\n changeEvent = (_init_extra_visibleMonths(this), _init_changeEvent(this));\n open = (_init_extra_changeEvent(this), _init_open(this, false));\n startDisplay = (_init_extra_open(this), _init_startDisplay(this, \"\"));\n endDisplay = (_init_extra_startDisplay(this), _init_endDisplay(this, \"\"));\n editing = (_init_extra_endDisplay(this), _init_editing(this, null));\n uid = (_init_extra_editing(this), Math.random().toString(36).slice(2, 9));\n popoverController = null;\n suppressPopoverDismiss = false;\n rootTarget = _init_rootTarget(this);\n popoverTarget = (_init_extra_rootTarget(this), _init_popoverTarget(this));\n get resolvedLocale() {\n return resolveLocale(this.locale);\n }\n get isoValue() {\n return this.value ?? \"\";\n }\n getStartInput() {\n return this.querySelector(\"[data-range-start]\");\n }\n getEndInput() {\n return this.querySelector(\"[data-range-end]\");\n }\n formatIso(iso) {\n if (!iso) {\n return \"\";\n }\n const date = isoToDate(iso);\n return date ? formatDisplayDate(date, this.resolvedLocale, this.dateStyle) : \"\";\n }\n syncDisplayValues() {\n if (this.editing === \"start\" || this.editing === \"end\") {\n return;\n }\n const range = parseIsoRange(this.isoValue);\n this.startDisplay = this.formatIso(range?.start ?? \"\");\n this.endDisplay = this.formatIso(range?.end ?? \"\");\n const startInput = this.getStartInput();\n const endInput = this.getEndInput();\n if (startInput) {\n startInput.value = this.startDisplay;\n }\n if (endInput) {\n endInput.value = this.endDisplay;\n }\n }\n isIsoAllowed(iso) {\n if (this.min && iso < this.min) {\n return false;\n }\n if (this.max && iso > this.max) {\n return false;\n }\n return true;\n }\n commitRange(start, end) {\n if (start && !this.isIsoAllowed(start)) {\n this.syncDisplayValues();\n return;\n }\n if (end && !this.isIsoAllowed(end)) {\n this.syncDisplayValues();\n return;\n }\n const serialized = start && end ? serializeIsoRange({\n start,\n end\n }) : \"\";\n if (serialized === this.isoValue) {\n this.syncDisplayValues();\n return;\n }\n this.value = serialized;\n this.changeEvent.emit({\n value: serialized,\n start,\n end\n });\n this.syncDisplayValues();\n }\n parseField(raw) {\n const trimmed = (raw ?? \"\").trim();\n if (!trimmed) {\n return \"\";\n }\n const parsed = parseLocaleDateString(trimmed, this.resolvedLocale);\n return parsed ? dateToIso(parsed) : \"\";\n }\n commitFromInputs() {\n const start = this.parseField(this.getStartInput()?.value ?? \"\");\n const end = this.parseField(this.getEndInput()?.value ?? \"\");\n if (!start && !end) {\n this.commitRange(\"\", \"\");\n return;\n }\n if (start && end) {\n this.commitRange(start, end);\n return;\n }\n const range = parseIsoRange(this.isoValue);\n this.commitRange(start || range?.start || \"\", end || range?.end || \"\");\n }\n setOpen(next) {\n this.open = next;\n queueMicrotask(() => this.syncPopoverPosition());\n }\n ensurePopoverController() {\n if (!this.popoverController) {\n this.popoverController = new PopoverController({\n getAnchor: () => this.rootTarget,\n getFloating: () => this.popoverTarget,\n getOpen: () => this.open,\n getPlacement: () => \"bottom-start\",\n gap: 4,\n portal: false\n });\n }\n return this.popoverController;\n }\n syncPopoverPosition() {\n const popover = this.popoverTarget;\n if (!popover || !this.rootTarget) {\n return;\n }\n popover.hidden = !this.open;\n const controller = this.ensurePopoverController();\n controller.updateConfig({\n getOpen: () => this.open\n });\n controller.sync();\n }\n wireInputNames() {\n const startInput = this.getStartInput();\n const endInput = this.getEndInput();\n if (startInput && this.startName) {\n startInput.name = this.startName;\n }\n if (endInput && this.endName) {\n endInput.name = this.endName;\n }\n }\n initialize() {\n this.wireInputNames();\n this.syncDisplayValues();\n this.setOpen(false);\n }\n connectedCallback() {\n super.connectedCallback();\n queueMicrotask(() => this.initialize());\n }\n disconnectedCallback() {\n this.popoverController?.destroy();\n this.popoverController = null;\n super.disconnectedCallback();\n }\n onPropsUpdated() {\n this.wireInputNames();\n this.syncDisplayValues();\n }\n onOpenUpdated() {\n this.syncPopoverPosition();\n }\n onTriggerPointerDown() {\n this.suppressPopoverDismiss = true;\n }\n onTriggerClick() {\n if (this.disabled || this.readOnly) {\n return;\n }\n this.setOpen(!this.open);\n }\n onStartFocus() {\n this.editing = \"start\";\n const range = parseIsoRange(this.isoValue);\n const input = this.getStartInput();\n if (input) {\n input.value = range?.start ? this.formatIso(range.start) : \"\";\n }\n }\n onEndFocus() {\n this.editing = \"end\";\n const range = parseIsoRange(this.isoValue);\n const input = this.getEndInput();\n if (input) {\n input.value = range?.end ? this.formatIso(range.end) : \"\";\n }\n }\n onInputBlur() {\n this.editing = null;\n this.commitFromInputs();\n }\n onInput(event2) {\n const input = event2.target;\n if (input.matches(\"[data-range-start]\")) {\n this.startDisplay = input.value;\n return;\n }\n this.endDisplay = input.value;\n }\n onPopoverMouseDown(event2) {\n event2.preventDefault();\n }\n onCalendarChange(event2) {\n const target = event2.target;\n if (!(target instanceof HTMLElement) || target.tagName.toLowerCase() !== \"rui-calendar\") {\n return;\n }\n const detail = event2.detail;\n if (!detail?.start || !detail.end) {\n return;\n }\n this.commitRange(detail.start, detail.end);\n this.setOpen(false);\n }\n onRootKeydown(event2) {\n if (event2.key === \"Escape\" && this.open) {\n event2.preventDefault();\n this.setOpen(false);\n }\n }\n onRootFocusOut(event2) {\n const relatedTarget = event2.relatedTarget;\n queueMicrotask(() => {\n if (this.suppressPopoverDismiss) {\n this.suppressPopoverDismiss = false;\n return;\n }\n if (!this.open) {\n return;\n }\n const next = relatedTarget instanceof Node ? relatedTarget : document.activeElement;\n if (!shouldDismissPopoverFocus(this.rootTarget, this.popoverTarget, next)) {\n return;\n }\n this.setOpen(false);\n });\n }\n render() {\n const calendarProps = {\n \"prop:selectionMode\": \"range\",\n \"prop:visibleMonths\": this.visibleMonths,\n \"prop:value\": this.isoValue,\n \"prop:min\": this.min,\n \"prop:max\": this.max,\n \"prop:locale\": this.locale,\n \"prop:disabled\": this.disabled\n };\n return /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-date-range-picker\",\n \"data-ref\": \"root\",\n children: [/* @__PURE__ */jsxs(\"div\", {\n class: \"rui-date-range-picker__group\",\n children: [/* @__PURE__ */jsxs(\"div\", {\n class: \"rui-date-range-picker__values\",\n children: [/* @__PURE__ */jsx(\"input\", {\n type: \"text\",\n class: \"rui-date-range-picker__input\",\n \"data-range-start\": true,\n \"data-rui-control\": true,\n \"data-rui-control-type\": \"text\",\n id: `${this.uid}-start`,\n autocomplete: \"off\",\n disabled: this.$.disabled,\n readOnly: this.$.readOnly,\n placeholder: this.placeholderStart || \"Start date\"\n }), /* @__PURE__ */jsx(\"span\", {\n class: \"rui-date-range-picker__separator\",\n \"aria-hidden\": \"true\",\n children: \"\\u2013\"\n }), /* @__PURE__ */jsx(\"input\", {\n type: \"text\",\n class: \"rui-date-range-picker__input\",\n \"data-range-end\": true,\n \"data-rui-control\": true,\n \"data-rui-control-type\": \"text\",\n id: `${this.uid}-end`,\n autocomplete: \"off\",\n disabled: this.$.disabled,\n readOnly: this.$.readOnly,\n placeholder: this.placeholderEnd || \"End date\"\n })]\n }), /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-control-toggle\",\n \"data-ref\": \"trigger\",\n \"data-range-trigger\": true,\n \"aria-label\": \"Open calendar\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": this.open ? \"true\" : \"false\",\n disabled: this.$.disabled || this.$.readOnly,\n children: /* @__PURE__ */jsx(RuiIconCalendar, {})\n })]\n }), /* @__PURE__ */jsx(\"div\", {\n class: \"rui-date-range-picker__popover rui-popover rui-floating\",\n \"data-ref\": \"popover\",\n \"data-range-popover\": true,\n hidden: !this.open,\n role: \"dialog\",\n children: this.open ? /* @__PURE__ */jsx(\"rui-calendar\", {\n ...calendarProps\n }) : null\n })]\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiDateRangePicker as RuiDateRangePicker };", "export function isoToDate(iso) {\n if (iso == null) {\n return null;\n }\n const match = /^(\\d{4})-(\\d{2})-(\\d{2})$/.exec(iso.trim());\n if (!match) {\n return null;\n }\n const year = Number(match[1]);\n const month = Number(match[2]) - 1;\n const day = Number(match[3]);\n const date = new Date(year, month, day);\n if (date.getFullYear() !== year || date.getMonth() !== month || date.getDate() !== day) {\n return null;\n }\n return date;\n}\nexport function dateToIso(date) {\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n return `${year}-${month}-${day}`;\n}\nexport function isIsoInRange(iso, min, max) {\n if (min && iso < min) {\n return false;\n }\n if (max && iso > max) {\n return false;\n }\n return true;\n}", "const RANGE_SEPARATOR = \"/\";\nconst MULTIPLE_SEPARATOR = \",\";\nexport function compareIso(a, b) {\n return a.localeCompare(b);\n}\nexport function normalizeRange(start, end) {\n if (compareIso(start, end) <= 0) {\n return {\n start,\n end\n };\n }\n return {\n start: end,\n end: start\n };\n}\nexport function parseIsoRange(value) {\n if (!value) {\n return null;\n }\n const [start, end] = value.split(RANGE_SEPARATOR);\n if (!start || !end) {\n return null;\n }\n return normalizeRange(start, end);\n}\nexport function serializeIsoRange(range) {\n if (!range) {\n return \"\";\n }\n const normalized = normalizeRange(range.start, range.end);\n return `${normalized.start}${RANGE_SEPARATOR}${normalized.end}`;\n}\nexport function parseMultipleIsos(value) {\n if (!value) {\n return [];\n }\n return value.split(MULTIPLE_SEPARATOR).map(iso => iso.trim()).filter(Boolean).sort(compareIso);\n}\nexport function serializeMultipleIsos(values) {\n return [...new Set(values)].sort(compareIso).join(MULTIPLE_SEPARATOR);\n}\nexport function toggleMultipleIso(selected, iso) {\n const set = new Set(selected);\n if (set.has(iso)) {\n set.delete(iso);\n } else {\n set.add(iso);\n }\n return [...set].sort(compareIso);\n}\nexport function isIsoInSpan(iso, range) {\n const normalized = normalizeRange(range.start, range.end);\n return compareIso(iso, normalized.start) >= 0 && compareIso(iso, normalized.end) <= 0;\n}\nexport function getActiveRangeBounds(committed, draft) {\n if (draft.anchor) {\n const hover = draft.hover ?? draft.anchor;\n return normalizeRange(draft.anchor, hover);\n }\n return committed;\n}\nexport function getDaySelectionAppearance(iso, mode, options) {\n if (mode === \"single\") {\n const selected = options.singleIso === iso;\n return {\n isSelected: selected,\n isRangeStart: selected,\n isRangeEnd: selected,\n isRangeMiddle: false\n };\n }\n if (mode === \"multiple\") {\n const selected = options.multipleIsos?.includes(iso) ?? false;\n return {\n isSelected: selected,\n isRangeStart: selected,\n isRangeEnd: selected,\n isRangeMiddle: false\n };\n }\n const range = options.range;\n if (!range) {\n return {\n isSelected: false,\n isRangeStart: false,\n isRangeEnd: false,\n isRangeMiddle: false\n };\n }\n const normalized = normalizeRange(range.start, range.end);\n const inSpan = isIsoInSpan(iso, normalized);\n const isStart = iso === normalized.start;\n const isEnd = iso === normalized.end;\n const isMiddle = inSpan && !isStart && !isEnd;\n return {\n isSelected: inSpan,\n isRangeStart: isStart,\n isRangeEnd: isEnd,\n isRangeMiddle: isMiddle\n };\n}\nexport function advanceRangeSelection(committed, draft, iso) {\n if (!draft.anchor) {\n return {\n committed,\n draft: {\n anchor: iso,\n hover: iso\n }\n };\n }\n const next = normalizeRange(draft.anchor, iso);\n return {\n committed: next,\n draft: {\n anchor: null,\n hover: null\n }\n };\n}", "const formatterCache = /* @__PURE__ */new Map();\nfunction cacheKey(locale, options) {\n return `${JSON.stringify(locale ?? null)}|${JSON.stringify(options)}`;\n}\nexport function getDateTimeFormat(locale, options) {\n const key = cacheKey(locale, options);\n const cached = formatterCache.get(key);\n if (cached) {\n return cached;\n }\n const formatter = new Intl.DateTimeFormat(locale, options);\n formatterCache.set(key, formatter);\n return formatter;\n}\nexport function formatDisplayDate(date, locale, style = \"medium\") {\n return getDateTimeFormat(locale, {\n dateStyle: style\n }).format(date);\n}\nexport function formatMonthYear(date, locale) {\n return getDateTimeFormat(locale, {\n month: \"long\",\n year: \"numeric\"\n }).format(date);\n}\nexport function getWeekdayLabels(locale, weekStartsOn) {\n const formatter = getDateTimeFormat(locale, {\n weekday: \"narrow\"\n });\n const labels = [];\n for (let offset = 0; offset < 7; offset += 1) {\n const dayIndex = (weekStartsOn + offset) % 7;\n const reference = new Date(2024, 0, dayIndex === 0 ? 7 : dayIndex);\n labels.push(formatter.format(reference));\n }\n return labels;\n}\nexport function formatDateRange(start, end, locale, style = \"medium\") {\n const formatter = getDateTimeFormat(locale, {\n dateStyle: style\n });\n if (typeof formatter.formatRange === \"function\") {\n return formatter.formatRange(start, end);\n }\n return `${formatter.format(start)} \\u2013 ${formatter.format(end)}`;\n}\nexport function formatTodayLabel(locale) {\n return new Intl.RelativeTimeFormat(locale, {\n numeric: \"auto\"\n }).format(0, \"day\");\n}", "const DEFAULT_DEFINITIONS = {\n \"0\": \"digit\",\n a: \"letter\",\n \"*\": \"any\"\n};\nconst LETTER = /\\p{L}/u;\nfunction resolveDefinition(char, definitions) {\n const custom = definitions?.[char];\n if (custom instanceof RegExp) {\n return {\n kind: \"any\",\n pattern: custom\n };\n }\n if (custom) {\n return {\n kind: custom\n };\n }\n const builtIn = DEFAULT_DEFINITIONS[char];\n return builtIn ? {\n kind: builtIn\n } : null;\n}\nfunction matchesInput(char, kind, pattern) {\n if (pattern) {\n return pattern.test(char);\n }\n if (kind === \"digit\") {\n return /\\d/.test(char);\n }\n if (kind === \"letter\") {\n return LETTER.test(char);\n }\n return char.length > 0;\n}\nfunction parseMaskPatternInternal(pattern, definitions, optional = false) {\n const tokens = [];\n let index = 0;\n while (index < pattern.length) {\n const char = pattern[index];\n if (char === \"\\\\\") {\n const next = pattern[index + 1];\n if (next) {\n tokens.push({\n type: \"literal\",\n value: next\n });\n }\n index += 2;\n continue;\n }\n if (char === \"{\") {\n const end = pattern.indexOf(\"}\", index + 1);\n if (end < 0) {\n tokens.push({\n type: \"literal\",\n value: \"{\"\n });\n index += 1;\n continue;\n }\n tokens.push({\n type: \"fixed\",\n value: pattern.slice(index + 1, end)\n });\n index = end + 1;\n continue;\n }\n if (char === \"[\") {\n const end = findClosingBracket(pattern, index + 1);\n if (end < 0) {\n tokens.push({\n type: \"literal\",\n value: \"[\"\n });\n index += 1;\n continue;\n }\n const inner = parseMaskPatternInternal(pattern.slice(index + 1, end), definitions, true);\n tokens.push(...inner);\n index = end + 1;\n continue;\n }\n if (char === \"]\") {\n break;\n }\n const definition = resolveDefinition(char, definitions);\n if (definition) {\n tokens.push({\n type: \"input\",\n definition: char,\n kind: definition.kind,\n pattern: definition.pattern,\n optional\n });\n index += 1;\n continue;\n }\n tokens.push({\n type: \"literal\",\n value: char\n });\n index += 1;\n }\n return tokens;\n}\nfunction findClosingBracket(pattern, start) {\n let depth = 1;\n for (let index = start; index < pattern.length; index += 1) {\n if (pattern[index] === \"[\" && pattern[index - 1] !== \"\\\\\") {\n depth += 1;\n }\n if (pattern[index] === \"]\" && pattern[index - 1] !== \"\\\\\") {\n depth -= 1;\n if (depth === 0) {\n return index;\n }\n }\n }\n return -1;\n}\nexport function parseMaskPattern(pattern, definitions) {\n return parseMaskPatternInternal(pattern, definitions);\n}\nexport function maskInputSlotCount(tokens, options = {}) {\n return tokens.filter(token => token.type === \"input\" && (!options.requiredOnly || !token.optional)).length;\n}\nexport function maskDigitSlotCount(tokens) {\n return maskInputSlotCount(tokens, {\n requiredOnly: true\n });\n}\nexport function maskToPlaceholder(pattern, definitions) {\n const tokens = parseMaskPattern(pattern, definitions);\n let result = \"\";\n for (const token of tokens) {\n if (token.type === \"literal\" || token.type === \"fixed\") {\n result += token.value;\n continue;\n }\n result += \"_\";\n }\n return result;\n}\nexport function extractMaskInput(masked, tokens) {\n let input = \"\";\n let cursor = 0;\n for (const token of tokens) {\n if (token.type === \"fixed\" || token.type === \"literal\") {\n if (masked.slice(cursor, cursor + token.value.length) === token.value) {\n cursor += token.value.length;\n }\n continue;\n }\n if (cursor >= masked.length) {\n continue;\n }\n const char = masked[cursor];\n if (matchesInput(char, token.kind, token.pattern)) {\n input += char;\n cursor += 1;\n }\n }\n return input;\n}\nexport function extractMaskDigits(masked, tokens) {\n return extractMaskInput(masked, tokens).replace(/\\D/g, \"\");\n}\nexport function formatWithMask(input, tokens) {\n if (!input) {\n return \"\";\n }\n let inputIndex = 0;\n let result = \"\";\n for (const token of tokens) {\n if (token.type === \"fixed\" || token.type === \"literal\") {\n result += token.value;\n continue;\n }\n if (inputIndex >= input.length) {\n if (token.optional) {\n continue;\n }\n break;\n }\n const char = input[inputIndex];\n if (!matchesInput(char, token.kind, token.pattern)) {\n if (token.optional) {\n continue;\n }\n break;\n }\n result += char;\n inputIndex += 1;\n }\n return result;\n}\nfunction isDigitOnlyPattern(tokens) {\n return tokens.every(token => token.type !== \"input\" || token.kind === \"digit\");\n}\nfunction looseInputFromRaw(raw, tokens) {\n const loose = raw.replace(/\\D/g, \"\");\n const fixedDigits = tokens.filter(token => token.type === \"fixed\").map(token => token.value.replace(/\\D/g, \"\")).join(\"\");\n if (fixedDigits && loose.startsWith(fixedDigits)) {\n return loose.slice(fixedDigits.length);\n }\n return loose;\n}\nexport function applyInputMask(raw, pattern, definitions) {\n const tokens = parseMaskPattern(pattern, definitions);\n const capacity = maskInputSlotCount(tokens);\n let input = extractMaskInput(raw, tokens);\n if (input.length === 0 && /\\S/.test(raw) && isDigitOnlyPattern(tokens)) {\n input = looseInputFromRaw(raw, tokens);\n }\n if (input.length > capacity) {\n input = input.slice(0, capacity);\n }\n return formatWithMask(input, tokens);\n}", "import { applyInputMask, maskInputSlotCount, parseMaskPattern } from \"./input-mask\";\nimport { getDateTimeFormat } from \"@/lib/intl-date/formatters\";\nconst REFERENCE_DATE = new Date(2001, 8, 3);\nfunction getNumericPartOrder(locale) {\n return getDateTimeFormat(locale, {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\"\n }).formatToParts(REFERENCE_DATE).filter(part => part.type === \"year\" || part.type === \"month\" || part.type === \"day\").map(part => part.type);\n}\nexport function buildDateMaskPattern(locale) {\n const parts = getDateTimeFormat(locale, {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\"\n }).formatToParts(REFERENCE_DATE);\n let pattern = \"\";\n for (const part of parts) {\n if (part.type === \"literal\") {\n pattern += part.value;\n continue;\n }\n if (part.type === \"month\" || part.type === \"day\" || part.type === \"year\") {\n pattern += part.value.replace(/\\d/g, \"0\");\n }\n }\n return pattern;\n}\nexport function getDefaultDatePlaceholder(locale) {\n const parts = getDateTimeFormat(locale, {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\"\n }).formatToParts(REFERENCE_DATE);\n return parts.map(part => {\n if (part.type === \"literal\") {\n return part.value;\n }\n if (part.type === \"year\") {\n return \"yyyy\";\n }\n if (part.type === \"month\") {\n return \"mm\";\n }\n if (part.type === \"day\") {\n return \"dd\";\n }\n return \"\";\n }).join(\"\");\n}\nexport function maskPatternToPlaceholder(pattern) {\n return pattern.replace(/0/g, \"\\xB7\");\n}\nexport function extractMaskDigits(value) {\n return value.replace(/\\D/g, \"\");\n}\nexport function applyDateMask(digits, pattern) {\n return applyInputMask(extractMaskDigits(digits), pattern);\n}\nexport function maskDigitCapacity(pattern) {\n return maskInputSlotCount(parseMaskPattern(pattern), {\n requiredOnly: true\n });\n}\nfunction normalizeYear(value) {\n if (value >= 100) {\n return value;\n }\n return value >= 69 ? 1900 + value : 2e3 + value;\n}\nexport function maskedDigitsToParts(digits, locale) {\n const order = getNumericPartOrder(locale);\n let cursor = 0;\n const values = {};\n for (const type of order) {\n const width = type === \"year\" ? 4 : 2;\n const slice = digits.slice(cursor, cursor + width);\n if (slice.length < width) {\n return null;\n }\n let numeric = Number(slice);\n if (type === \"year\") {\n numeric = normalizeYear(numeric);\n }\n values[type] = numeric;\n cursor += width;\n }\n return values;\n}\nexport function partsToDate(parts) {\n if (parts.year == null || parts.month == null || parts.day == null) {\n return null;\n }\n const date = new Date(parts.year, parts.month - 1, parts.day);\n if (date.getFullYear() !== parts.year || date.getMonth() !== parts.month - 1 || date.getDate() !== parts.day) {\n return null;\n }\n return date;\n}\nexport { getNumericPartOrder };", "import { isoToDate } from \"./iso\";\nimport { getDateTimeFormat } from \"./formatters\";\nimport { buildDateMaskPattern, extractMaskDigits as extractDateMaskDigits, maskDigitCapacity, maskedDigitsToParts, partsToDate } from \"@/lib/mask/date-mask\";\nconst REFERENCE_DATE = new Date(2001, 8, 3);\nexport function getDatePartOrder(locale) {\n const parts = getDateTimeFormat(locale, {\n year: \"numeric\",\n month: \"numeric\",\n day: \"numeric\"\n }).formatToParts(REFERENCE_DATE);\n return parts.filter(part => part.type === \"year\" || part.type === \"month\" || part.type === \"day\").map(part => part.type);\n}\nexport function getDateSeparators(locale) {\n const parts = getDateTimeFormat(locale, {\n year: \"numeric\",\n month: \"numeric\",\n day: \"numeric\"\n }).formatToParts(REFERENCE_DATE);\n return parts.filter(part => part.type === \"literal\").map(part => part.value);\n}\nfunction normalizeYear(value) {\n if (value >= 100) {\n return value;\n }\n return value >= 69 ? 1900 + value : 2e3 + value;\n}\nfunction buildDateFromParts(parts) {\n const year = parts.year;\n const month = parts.month;\n const day = parts.day;\n if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) {\n return null;\n }\n const date = new Date(year, month - 1, day);\n if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {\n return null;\n }\n return date;\n}\nexport function parseLocaleDateString(input, locale) {\n const trimmed = (input ?? \"\").trim();\n if (!trimmed) {\n return null;\n }\n const isoDate = isoToDate(trimmed);\n if (isoDate) {\n return isoDate;\n }\n const fromMask = parseMaskedInput(trimmed, locale);\n if (fromMask) {\n return fromMask;\n }\n const fromMonthName = parseDateWithMonthNames(trimmed, locale);\n if (fromMonthName) {\n return fromMonthName;\n }\n const order = getDatePartOrder(locale);\n const numbers = trimmed.match(/\\d+/g);\n if (!numbers || numbers.length < 3) {\n return null;\n }\n const values = {\n day: 0,\n month: 0,\n year: 0\n };\n for (let index = 0; index < 3; index += 1) {\n const partType = order[index];\n if (!partType) {\n return null;\n }\n let numeric = Number(numbers[index]);\n if (partType === \"year\") {\n numeric = normalizeYear(numeric);\n }\n values[partType] = numeric;\n }\n return buildDateFromParts(values);\n}\nfunction parseMaskedInput(input, locale) {\n const pattern = buildDateMaskPattern(locale);\n const digits = extractDateMaskDigits(input);\n if (digits.length < maskDigitCapacity(pattern)) {\n return null;\n }\n return partsToDate(maskedDigitsToParts(digits, locale) ?? {});\n}\nfunction getMonthNameLookup(locale) {\n const lookup = /* @__PURE__ */new Map();\n for (const style of [\"short\", \"long\"]) {\n for (let month = 0; month < 12; month += 1) {\n const label = getDateTimeFormat(locale, {\n month: style\n }).formatToParts(new Date(2020, month, 1)).find(part => part.type === \"month\")?.value;\n if (label) {\n lookup.set(label.toLowerCase(), month + 1);\n }\n }\n }\n return lookup;\n}\nfunction parseDateWithMonthNames(input, locale) {\n const months = getMonthNameLookup(locale);\n const normalized = input.toLowerCase();\n for (const [name, month] of months) {\n const index = normalized.indexOf(name);\n if (index < 0) {\n continue;\n }\n const numbers = input.match(/\\d+/g);\n if (!numbers || numbers.length < 2) {\n continue;\n }\n const yearToken = numbers.find(token => token.length === 4) ?? numbers[numbers.length - 1];\n const dayToken = numbers.find(token => token !== yearToken && Number(token) <= 31);\n if (!dayToken || !yearToken) {\n continue;\n }\n const year = normalizeYear(Number(yearToken));\n const day = Number(dayToken);\n return buildDateFromParts({\n year,\n month,\n day\n });\n }\n return null;\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nexport function RuiIconCalendar({\n class: className,\n size = \"sm\",\n ...props\n}) {\n return /* @__PURE__ */jsxs(\"svg\", {\n ...props,\n class: cx(\"rui-icon\", size === \"md\" && \"rui-icon--md\", className),\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": \"true\",\n children: [/* @__PURE__ */jsx(\"path\", {\n d: \"M8 2v4\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"M16 2v4\"\n }), /* @__PURE__ */jsx(\"rect\", {\n width: \"18\",\n height: \"18\",\n x: \"3\",\n y: \"4\",\n rx: \"2\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"M3 10h18\"\n })]\n });\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}", "export function resolveLocale(locale) {\n if (!locale) {\n return void 0;\n }\n const tags = locale.split(\",\").map(tag => tag.trim()).filter(Boolean);\n return tags.length > 1 ? tags : tags[0];\n}", "const OPPOSITE = {\n top: \"bottom\",\n bottom: \"top\",\n left: \"right\",\n right: \"left\"\n};\nconst DEFAULT_VIEWPORT_PADDING = 8;\nfunction parsePlacement(placement) {\n const dash = placement.indexOf(\"-\");\n if (dash === -1) return {\n side: placement,\n align: \"center\"\n };\n const side = placement.slice(0, dash);\n const align = placement.slice(dash + 1);\n return {\n side,\n align: align === \"start\" || align === \"end\" ? align : \"center\"\n };\n}\nfunction primaryAxis(side) {\n return side === \"top\" || side === \"bottom\" ? \"y\" : \"x\";\n}\nfunction coordsFor(anchor, size, side, align, gap) {\n const {\n width,\n height\n } = size;\n let x = 0;\n let y = 0;\n switch (side) {\n case \"top\":\n y = anchor.top - height - gap;\n break;\n case \"bottom\":\n y = anchor.bottom + gap;\n break;\n case \"left\":\n x = anchor.left - width - gap;\n break;\n case \"right\":\n x = anchor.right + gap;\n break;\n }\n if (primaryAxis(side) === \"y\") {\n if (align === \"start\") x = anchor.left;else if (align === \"end\") x = anchor.right - width;else x = anchor.left + (anchor.width - width) / 2;\n } else {\n if (align === \"start\") y = anchor.top;else if (align === \"end\") y = anchor.bottom - height;else y = anchor.top + (anchor.height - height) / 2;\n }\n return {\n x,\n y\n };\n}\nfunction overflowOnPrimary(coords, size, side, viewport) {\n const {\n padding,\n width: vw,\n height: vh\n } = viewport;\n if (side === \"top\") return Math.max(0, padding - coords.y);\n if (side === \"bottom\") return Math.max(0, coords.y + size.height - (vh - padding));\n if (side === \"left\") return Math.max(0, padding - coords.x);\n return Math.max(0, coords.x + size.width - (vw - padding));\n}\nfunction freeSpaceOnSide(anchor, size, side, viewport) {\n const {\n padding,\n width: vw,\n height: vh\n } = viewport;\n if (side === \"top\") return anchor.top - padding - size.height;\n if (side === \"bottom\") return vh - padding - size.height - anchor.bottom;\n if (side === \"left\") return anchor.left - padding - size.width;\n return vw - padding - size.width - anchor.right;\n}\nfunction toPlacement(side, align) {\n if (align === \"center\") {\n return side;\n }\n return `${side}-${align}`;\n}\nfunction clampCrossAxis(coords, size, side, viewport) {\n const {\n padding,\n width: vw,\n height: vh\n } = viewport;\n if (primaryAxis(side) === \"y\") {\n const maxX = Math.max(padding, vw - padding - size.width);\n return {\n x: Math.min(Math.max(coords.x, padding), maxX),\n y: coords.y\n };\n }\n const maxY = Math.max(padding, vh - padding - size.height);\n return {\n x: coords.x,\n y: Math.min(Math.max(coords.y, padding), maxY)\n };\n}\nexport function computeFloatingCoords(anchor, size, placement, gap, viewport = {\n width: typeof window === \"undefined\" ? 0 : window.innerWidth,\n height: typeof window === \"undefined\" ? 0 : window.innerHeight,\n padding: DEFAULT_VIEWPORT_PADDING\n}) {\n return computeFloatingPosition(anchor, size, placement, gap, viewport).coords;\n}\nexport function computeFloatingPosition(anchor, size, placement, gap, viewport = {\n width: typeof window === \"undefined\" ? 0 : window.innerWidth,\n height: typeof window === \"undefined\" ? 0 : window.innerHeight,\n padding: DEFAULT_VIEWPORT_PADDING\n}) {\n const {\n side: preferred,\n align\n } = parsePlacement(placement);\n const preferredCoords = coordsFor(anchor, size, preferred, align, gap);\n const preferredOverflow = overflowOnPrimary(preferredCoords, size, preferred, viewport);\n let side = preferred;\n let coords = preferredCoords;\n if (preferredOverflow > 0) {\n const flipped = OPPOSITE[preferred];\n const flippedCoords = coordsFor(anchor, size, flipped, align, gap);\n const preferredFree = freeSpaceOnSide(anchor, size, preferred, viewport);\n const flippedFree = freeSpaceOnSide(anchor, size, flipped, viewport);\n if (flippedFree > preferredFree) {\n side = flipped;\n coords = flippedCoords;\n }\n }\n return {\n coords: clampCrossAxis(coords, size, side, viewport),\n placement: toPlacement(side, align)\n };\n}\nexport function applyFloatingPosition(anchor, floating, placement, gap, options = {}) {\n const {\n coords,\n placement: resolved\n } = computeFloatingPosition(anchor.getBoundingClientRect(), {\n width: floating.offsetWidth,\n height: floating.offsetHeight\n }, placement, gap);\n Object.assign(floating.style, {\n position: \"fixed\",\n left: `${coords.x}px`,\n top: `${coords.y}px`,\n right: \"auto\",\n bottom: \"auto\",\n visibility: \"visible\"\n });\n if (options.matchAnchorWidth) {\n floating.style.width = `${anchor.offsetWidth}px`;\n }\n floating.setAttribute(\"data-placement\", resolved);\n return resolved;\n}\nexport function attachFloating({\n anchor,\n floating,\n getPlacement,\n gap,\n matchAnchorWidth\n}) {\n const update = () => {\n if (floating.hidden) return;\n applyFloatingPosition(anchor, floating, getPlacement(), gap, {\n matchAnchorWidth\n });\n };\n update();\n window.addEventListener(\"resize\", update);\n window.addEventListener(\"scroll\", update, true);\n const observer = new ResizeObserver(update);\n observer.observe(anchor);\n observer.observe(floating);\n return () => {\n window.removeEventListener(\"resize\", update);\n window.removeEventListener(\"scroll\", update, true);\n observer.disconnect();\n };\n}", "export function mountPortal(node, container = document.body) {\n const parent = node.parentNode;\n if (!parent) {\n return {\n unmount: () => {}\n };\n }\n const placeholder = document.createComment(\"rui-portal\");\n parent.insertBefore(placeholder, node);\n container.appendChild(node);\n return {\n unmount: () => {\n const restoreParent = placeholder.parentNode;\n if (!restoreParent) {\n return;\n }\n restoreParent.insertBefore(node, placeholder);\n placeholder.remove();\n }\n };\n}", "import { attachFloating } from \"./floating-position\";\nimport { mountPortal } from \"./portal\";\nexport function popoverContains(anchor, floating, node) {\n if (!node) {\n return false;\n }\n return Boolean(anchor?.contains(node) || floating?.contains(node));\n}\nexport function shouldDismissPopoverFocus(anchor, floating, relatedTarget) {\n if (!(relatedTarget instanceof Node)) {\n return true;\n }\n return !popoverContains(anchor, floating, relatedTarget);\n}\nexport function shouldDismissPopoverPointer(anchor, floating, target) {\n return !popoverContains(anchor, floating, target);\n}\nexport class PopoverController {\n config;\n cleanupFloating = null;\n portalHandle = null;\n floatingElement = null;\n constructor(config) {\n this.config = config;\n }\n updateConfig(patch) {\n this.config = {\n ...this.config,\n ...patch\n };\n }\n sync() {\n const floating = this.resolveFloating();\n if (!floating) {\n return;\n }\n const open = this.config.getOpen();\n if (!open) {\n this.teardown();\n floating.hidden = true;\n return;\n }\n const anchor = this.config.getAnchor();\n if (!anchor) {\n return;\n }\n floating.hidden = false;\n const usePortal = this.config.portal !== false;\n if (usePortal) {\n if (!this.portalHandle) {\n this.portalHandle = mountPortal(floating, this.config.portalContainer ?? document.body);\n }\n } else if (this.portalHandle) {\n this.portalHandle.unmount();\n this.portalHandle = null;\n }\n this.teardownFloating();\n this.cleanupFloating = attachFloating({\n anchor,\n floating,\n getPlacement: this.config.getPlacement,\n gap: this.config.gap ?? 8,\n matchAnchorWidth: this.config.matchAnchorWidth\n });\n }\n contains(node) {\n return popoverContains(this.config.getAnchor(), this.resolveFloating(), node);\n }\n getFloatingElement() {\n return this.resolveFloating();\n }\n teardown() {\n this.teardownFloating();\n if (this.portalHandle) {\n this.portalHandle.unmount();\n this.portalHandle = null;\n }\n }\n destroy() {\n this.teardown();\n this.floatingElement = null;\n }\n resolveFloating() {\n const configuredFloating = this.config.getFloating();\n if (configuredFloating) {\n this.floatingElement = configuredFloating;\n }\n return configuredFloating ?? this.floatingElement;\n }\n teardownFloating() {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n }\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { defineRadiantView } from \"@/lib/radiant-view\";\nimport { RuiDateRangePicker as RuiDateRangePickerElement } from \"./date-range-picker.script\";\nexport const RuiDateRangePicker = defineRadiantView(RuiDateRangePickerElement, ({\n children,\n ...props\n}) => /* @__PURE__ */jsx(\"rui-date-range-picker\", {\n ...props,\n children\n}), {\n stylesheets: [\"./date-range-picker.css\", \"../shared/control-toggle.css\", \"../../../lib/icons/icons.css\", \"../calendar/calendar.css\"]\n});", "const RADIANT_VIEW_ELEMENT = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.viewElement\");\nconst RADIANT_SCRIPT_MODULE = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.scriptModule\");\nconst RADIANT_SCRIPT_EXPORT = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.scriptExport\");\nconst RADIANT_VIEW_MODULE = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.viewModule\");\nfunction linkViewToElement(view, element) {\n view[RADIANT_VIEW_ELEMENT] = element;\n const ssrModule = element[RADIANT_SCRIPT_MODULE];\n if (ssrModule) {\n view[RADIANT_SCRIPT_MODULE] = ssrModule;\n view[RADIANT_SCRIPT_EXPORT] = element[RADIANT_SCRIPT_EXPORT] ?? element.name;\n }\n}\nexport function defineRadiantView(element, render, _options) {\n const view = args => render(args);\n linkViewToElement(view, element);\n return view;\n}\nexport function attachRadiantStylesheets(target, _stylesheets, moduleUrl) {\n const view = target;\n view[RADIANT_VIEW_MODULE] = moduleUrl;\n return target;\n}\nexport function syncRadiantViewMetadata(view) {\n const element = view[RADIANT_VIEW_ELEMENT];\n if (element) {\n linkViewToElement(view, element);\n }\n}"],
5
- "mappings": "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",
6
- "names": ["jsx", "jsxs", "RadiantElement", "customElement", "event", "onEvent", "onUpdated", "prop", "query", "state", "isoToDate", "iso", "match", "year", "month", "day", "date", "dateToIso", "compareIso", "a", "b", "normalizeRange", "start", "end", "parseIsoRange", "value", "serializeIsoRange", "range", "normalized", "formatterCache", "cacheKey", "locale", "options", "getDateTimeFormat", "key", "cached", "formatter", "formatDisplayDate", "date", "style", "DEFAULT_DEFINITIONS", "resolveDefinition", "char", "definitions", "custom", "builtIn", "DEFAULT_DEFINITIONS", "parseMaskPatternInternal", "pattern", "definitions", "optional", "tokens", "index", "char", "next", "end", "findClosingBracket", "inner", "definition", "resolveDefinition", "start", "depth", "parseMaskPattern", "maskInputSlotCount", "options", "token", "REFERENCE_DATE", "getNumericPartOrder", "locale", "getDateTimeFormat", "part", "buildDateMaskPattern", "parts", "pattern", "extractMaskDigits", "value", "maskDigitCapacity", "pattern", "maskInputSlotCount", "parseMaskPattern", "normalizeYear", "value", "maskedDigitsToParts", "digits", "locale", "order", "getNumericPartOrder", "cursor", "values", "type", "width", "slice", "numeric", "partsToDate", "parts", "date", "REFERENCE_DATE", "getDatePartOrder", "locale", "getDateTimeFormat", "part", "normalizeYear", "value", "buildDateFromParts", "parts", "year", "month", "day", "date", "parseLocaleDateString", "input", "locale", "trimmed", "isoDate", "isoToDate", "fromMask", "parseMaskedInput", "fromMonthName", "parseDateWithMonthNames", "order", "getDatePartOrder", "numbers", "values", "index", "partType", "numeric", "pattern", "buildDateMaskPattern", "digits", "extractMaskDigits", "maskDigitCapacity", "partsToDate", "maskedDigitsToParts", "getMonthNameLookup", "lookup", "style", "label", "getDateTimeFormat", "part", "months", "normalized", "name", "yearToken", "token", "dayToken", "jsx", "jsxs", "cx", "parts", "RuiIconCalendar", "className", "size", "props", "jsxs", "cx", "jsx", "resolveLocale", "locale", "tags", "tag", "OPPOSITE", "DEFAULT_VIEWPORT_PADDING", "parsePlacement", "placement", "dash", "side", "align", "primaryAxis", "coordsFor", "anchor", "size", "gap", "width", "height", "x", "y", "overflowOnPrimary", "coords", "viewport", "padding", "vw", "vh", "freeSpaceOnSide", "toPlacement", "clampCrossAxis", "maxX", "maxY", "computeFloatingPosition", "anchor", "size", "placement", "gap", "viewport", "DEFAULT_VIEWPORT_PADDING", "preferred", "align", "parsePlacement", "preferredCoords", "coordsFor", "preferredOverflow", "overflowOnPrimary", "side", "coords", "flipped", "OPPOSITE", "flippedCoords", "preferredFree", "freeSpaceOnSide", "clampCrossAxis", "toPlacement", "applyFloatingPosition", "floating", "options", "resolved", "attachFloating", "getPlacement", "matchAnchorWidth", "update", "observer", "mountPortal", "node", "container", "parent", "placeholder", "restoreParent", "popoverContains", "anchor", "floating", "node", "shouldDismissPopoverFocus", "relatedTarget", "PopoverController", "config", "patch", "floating", "anchor", "mountPortal", "attachFloating", "node", "popoverContains", "configuredFloating", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_min", "_init_extra_min", "_init_max", "_init_extra_max", "_init_disabled", "_init_extra_disabled", "_init_readOnly", "_init_extra_readOnly", "_init_locale", "_init_extra_locale", "_init_placeholderStart", "_init_extra_placeholderStart", "_init_placeholderEnd", "_init_extra_placeholderEnd", "_init_startName", "_init_extra_startName", "_init_endName", "_init_extra_endName", "_init_name", "_init_extra_name", "_init_dateStyle", "_init_extra_dateStyle", "_init_visibleMonths", "_init_extra_visibleMonths", "_init_changeEvent", "_init_extra_changeEvent", "_init_open", "_init_extra_open", "_init_startDisplay", "_init_extra_startDisplay", "_init_endDisplay", "_init_extra_endDisplay", "_init_editing", "_init_extra_editing", "_init_rootTarget", "_init_extra_rootTarget", "_init_popoverTarget", "_init_extra_popoverTarget", "_applyDecs", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "n", "r", "b", "e", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiDateRangePicker", "RuiDateRangePicker", "RadiantElement", "customElement", "prop", "event", "state", "query", "onUpdated", "onEvent", "args", "resolveLocale", "iso", "date", "isoToDate", "formatDisplayDate", "range", "parseIsoRange", "startInput", "endInput", "start", "end", "serialized", "serializeIsoRange", "raw", "trimmed", "parsed", "parseLocaleDateString", "dateToIso", "next", "PopoverController", "popover", "controller", "input", "event2", "target", "detail", "relatedTarget", "shouldDismissPopoverFocus", "calendarProps", "jsxs", "jsx", "RuiIconCalendar", "jsx", "RADIANT_VIEW_ELEMENT", "RADIANT_SCRIPT_MODULE", "RADIANT_SCRIPT_EXPORT", "linkViewToElement", "view", "element", "RADIANT_VIEW_ELEMENT", "ssrModule", "RADIANT_SCRIPT_MODULE", "RADIANT_SCRIPT_EXPORT", "defineRadiantView", "render", "_options", "args", "RuiDateRangePicker", "defineRadiantView", "_RuiDateRangePicker", "children", "props", "jsx"]
3
+ "sources": ["../../../../src/components/ui/date-range-picker/date-range-picker.script.tsx", "../../../../src/lib/intl-date/iso.ts", "../../../../src/lib/intl-date/selection.ts", "../../../../src/lib/intl-date/formatters.ts", "../../../../src/lib/mask/input-mask.ts", "../../../../src/lib/mask/date-mask.ts", "../../../../src/lib/intl-date/parts.ts", "../../../../src/components/ui/shared/floating-position.ts", "../../../../src/components/ui/shared/portal.ts", "../../../../src/components/ui/shared/popover-controller.ts", "../../../../src/lib/intl/locale.ts", "../../../../src/components/ui/date-range-picker/date-range-picker.tsx", "../../../../src/lib/cx.ts", "../../../../src/lib/icons/calendar.tsx", "../../../../src/components/ui/calendar/calendar.tsx"],
4
+ "sourcesContent": ["let _initProto, _initClass, _init_value, _init_extra_value, _init_min, _init_extra_min, _init_max, _init_extra_max, _init_disabled, _init_extra_disabled, _init_readOnly, _init_extra_readOnly, _init_locale, _init_extra_locale, _init_placeholderStart, _init_extra_placeholderStart, _init_placeholderEnd, _init_extra_placeholderEnd, _init_startName, _init_extra_startName, _init_endName, _init_extra_endName, _init_name, _init_extra_name, _init_dateStyle, _init_extra_dateStyle, _init_visibleMonths, _init_extra_visibleMonths, _init_changeEvent, _init_extra_changeEvent, _init_open, _init_extra_open, _init_startDisplay, _init_extra_startDisplay, _init_endDisplay, _init_extra_endDisplay, _init_editing, _init_extra_editing, _init_popoverTarget, _init_extra_popoverTarget;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { RadiantElement, customElement, event, onEvent, onUpdated, prop, query, state } from \"@ecopages/radiant\";\nimport { dateToIso, formatDisplayDate, isoToDate, parseLocaleDateString, parseIsoRange, serializeIsoRange } from \"@/lib/intl-date\";\nimport { PopoverController, shouldDismissPopoverFocus } from \"../shared/popover-controller\";\nimport { resolveLocale } from \"@/lib/intl/locale\";\nlet _RuiDateRangePicker;\nclass RuiDateRangePicker extends RadiantElement {\n static {\n ({\n e: [_init_value, _init_extra_value, _init_min, _init_extra_min, _init_max, _init_extra_max, _init_disabled, _init_extra_disabled, _init_readOnly, _init_extra_readOnly, _init_locale, _init_extra_locale, _init_placeholderStart, _init_extra_placeholderStart, _init_placeholderEnd, _init_extra_placeholderEnd, _init_startName, _init_extra_startName, _init_endName, _init_extra_endName, _init_name, _init_extra_name, _init_dateStyle, _init_extra_dateStyle, _init_visibleMonths, _init_extra_visibleMonths, _init_changeEvent, _init_extra_changeEvent, _init_open, _init_extra_open, _init_startDisplay, _init_extra_startDisplay, _init_endDisplay, _init_extra_endDisplay, _init_editing, _init_extra_editing, _init_popoverTarget, _init_extra_popoverTarget, _initProto],\n c: [_RuiDateRangePicker, _initClass]\n } = _applyDecs(this, [customElement(\"rui-date-range-picker\")], [[prop({\n type: String,\n reflect: true,\n defaultValue: \"\"\n }), 0, \"value\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"min\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"max\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"disabled\"], [prop({\n type: Boolean,\n attribute: \"read-only\",\n reflect: true,\n defaultValue: false\n }), 0, \"readOnly\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"locale\"], [prop({\n type: String,\n attribute: \"placeholder-start\",\n defaultValue: \"\"\n }), 0, \"placeholderStart\"], [prop({\n type: String,\n attribute: \"placeholder-end\",\n defaultValue: \"\"\n }), 0, \"placeholderEnd\"], [prop({\n type: String,\n attribute: \"start-name\",\n defaultValue: \"\"\n }), 0, \"startName\"], [prop({\n type: String,\n attribute: \"end-name\",\n defaultValue: \"\"\n }), 0, \"endName\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"name\"], [prop({\n type: String,\n attribute: \"date-style\",\n defaultValue: \"medium\"\n }), 0, \"dateStyle\"], [prop({\n type: Number,\n attribute: \"visible-months\",\n defaultValue: 2\n }), 0, \"visibleMonths\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [state, 0, \"open\"], [state, 0, \"startDisplay\"], [state, 0, \"endDisplay\"], [state, 0, \"editing\"], [query({\n ref: \"popover\"\n }), 0, \"popoverTarget\"], [onUpdated([\"value\", \"min\", \"max\", \"disabled\", \"readOnly\", \"locale\", \"dateStyle\", \"startName\", \"endName\", \"visibleMonths\"]), 2, \"onPropsUpdated\"], [onUpdated([\"open\"]), 2, \"onOpenUpdated\"], [onEvent({\n ref: \"trigger\",\n type: \"pointerdown\"\n }), 2, \"onTriggerPointerDown\"], [onEvent({\n ref: \"trigger\",\n type: \"click\"\n }), 2, \"onTriggerClick\"], [onEvent({\n selector: \"[data-range-start]\",\n type: \"focus\"\n }), 2, \"onStartFocus\"], [onEvent({\n selector: \"[data-range-end]\",\n type: \"focus\"\n }), 2, \"onEndFocus\"], [onEvent({\n selector: \"[data-range-start], [data-range-end]\",\n type: \"blur\"\n }), 2, \"onInputBlur\"], [onEvent({\n selector: \"[data-range-start], [data-range-end]\",\n type: \"input\"\n }), 2, \"onInput\"], [onEvent({\n selector: \"[data-range-popover]\",\n type: \"mousedown\"\n }), 2, \"onPopoverMouseDown\"], [onEvent({\n selector: \"[data-range-calendar]\",\n type: \"rui-change\"\n }), 2, \"onCalendarChange\"], [onEvent({\n selector: \"[data-range-start], [data-range-end], [data-range-trigger], [data-range-calendar]\",\n type: \"keydown\"\n }), 2, \"onRootKeydown\"], [onEvent({\n selector: \"[data-range-start], [data-range-end], [data-range-trigger], [data-range-popover]\",\n type: \"focusout\"\n }), 2, \"onRootFocusOut\"]], 0, void 0, RadiantElement));\n }\n constructor(...args) {\n super(...args);\n _init_extra_popoverTarget(this);\n }\n value = (_initProto(this), _init_value(this));\n min = (_init_extra_value(this), _init_min(this));\n max = (_init_extra_min(this), _init_max(this));\n disabled = (_init_extra_max(this), _init_disabled(this));\n readOnly = (_init_extra_disabled(this), _init_readOnly(this));\n locale = (_init_extra_readOnly(this), _init_locale(this));\n placeholderStart = (_init_extra_locale(this), _init_placeholderStart(this));\n placeholderEnd = (_init_extra_placeholderStart(this), _init_placeholderEnd(this));\n startName = (_init_extra_placeholderEnd(this), _init_startName(this));\n endName = (_init_extra_startName(this), _init_endName(this));\n name = (_init_extra_endName(this), _init_name(this));\n dateStyle = (_init_extra_name(this), _init_dateStyle(this));\n visibleMonths = (_init_extra_dateStyle(this), _init_visibleMonths(this));\n changeEvent = (_init_extra_visibleMonths(this), _init_changeEvent(this));\n open = (_init_extra_changeEvent(this), _init_open(this, false));\n startDisplay = (_init_extra_open(this), _init_startDisplay(this, \"\"));\n endDisplay = (_init_extra_startDisplay(this), _init_endDisplay(this, \"\"));\n editing = (_init_extra_endDisplay(this), _init_editing(this, null));\n popoverController = (_init_extra_editing(this), null);\n suppressPopoverDismiss = false;\n popoverTarget = _init_popoverTarget(this);\n get resolvedLocale() {\n return resolveLocale(this.locale);\n }\n get isoValue() {\n return this.value ?? \"\";\n }\n getStartInput() {\n return this.querySelector(\"[data-range-start]\");\n }\n getEndInput() {\n return this.querySelector(\"[data-range-end]\");\n }\n getToggle() {\n return this.querySelector(\"[data-range-trigger]\");\n }\n getCalendar() {\n return this.querySelector(\"[data-range-calendar]\");\n }\n formatIso(iso) {\n if (!iso) {\n return \"\";\n }\n const date = isoToDate(iso);\n return date ? formatDisplayDate(date, this.resolvedLocale, this.dateStyle) : \"\";\n }\n syncDisplayValues() {\n if (this.editing === \"start\" || this.editing === \"end\") {\n return;\n }\n const range = parseIsoRange(this.isoValue);\n this.startDisplay = this.formatIso(range?.start ?? \"\");\n this.endDisplay = this.formatIso(range?.end ?? \"\");\n const startInput = this.getStartInput();\n const endInput = this.getEndInput();\n if (startInput) {\n startInput.value = this.startDisplay;\n }\n if (endInput) {\n endInput.value = this.endDisplay;\n }\n }\n isIsoAllowed(iso) {\n if (this.min && iso < this.min) {\n return false;\n }\n if (this.max && iso > this.max) {\n return false;\n }\n return true;\n }\n commitRange(start, end) {\n if (start && !this.isIsoAllowed(start)) {\n this.syncDisplayValues();\n return;\n }\n if (end && !this.isIsoAllowed(end)) {\n this.syncDisplayValues();\n return;\n }\n const serialized = start && end ? serializeIsoRange({\n start,\n end\n }) : \"\";\n if (serialized === this.isoValue) {\n this.syncDisplayValues();\n return;\n }\n this.value = serialized;\n this.changeEvent.emit({\n value: serialized,\n start,\n end\n });\n this.syncDisplayValues();\n }\n parseField(raw) {\n const trimmed = (raw ?? \"\").trim();\n if (!trimmed) {\n return \"\";\n }\n const parsed = parseLocaleDateString(trimmed, this.resolvedLocale);\n return parsed ? dateToIso(parsed) : \"\";\n }\n commitFromInputs() {\n const start = this.parseField(this.getStartInput()?.value ?? \"\");\n const end = this.parseField(this.getEndInput()?.value ?? \"\");\n if (!start && !end) {\n this.commitRange(\"\", \"\");\n return;\n }\n if (start && end) {\n this.commitRange(start, end);\n return;\n }\n const range = parseIsoRange(this.isoValue);\n this.commitRange(start || range?.start || \"\", end || range?.end || \"\");\n }\n setOpen(next) {\n this.open = next;\n queueMicrotask(() => {\n this.syncCalendar();\n this.syncPopoverPosition();\n if (next) {\n this.focusCalendarDay();\n }\n });\n }\n /** Focus the calendar's roving day, falling back to its first available day. */\n focusCalendarDay() {\n requestAnimationFrame(() => {\n if (!this.open) {\n return;\n }\n const calendar = this.getCalendar();\n const start = parseIsoRange(this.isoValue)?.start;\n const selectedDay = start ? calendar?.querySelector(`[data-calendar-day][data-iso=\"${start}\"]:not(:disabled)`) : null;\n (selectedDay ?? calendar?.querySelector('[data-calendar-day][tabindex=\"0\"]:not(:disabled), [data-calendar-day]:not(:disabled)'))?.focus();\n });\n }\n ensurePopoverController() {\n if (!this.popoverController) {\n this.popoverController = new PopoverController({\n getAnchor: () => this.getToggle()?.parentElement ?? this,\n getFloating: () => this.popoverTarget,\n getOpen: () => this.open,\n getPlacement: () => \"bottom-start\",\n gap: 4,\n portal: false\n });\n }\n return this.popoverController;\n }\n syncPopoverPosition() {\n const popover = this.popoverTarget;\n if (!popover) {\n return;\n }\n popover.hidden = !this.open;\n const controller = this.ensurePopoverController();\n controller.updateConfig({\n getOpen: () => this.open\n });\n controller.sync();\n }\n syncToggle() {\n const toggle = this.getToggle();\n if (!toggle) {\n return;\n }\n toggle.disabled = this.disabled || this.readOnly;\n toggle.setAttribute(\"aria-expanded\", String(this.open));\n }\n syncCalendar() {\n const calendar = this.getCalendar();\n if (!calendar) {\n return;\n }\n calendar.setAttribute(\"selection-mode\", \"range\");\n calendar.setAttribute(\"visible-months\", String(this.visibleMonths));\n calendar.setAttribute(\"value\", this.isoValue);\n calendar.setAttribute(\"min\", this.min);\n calendar.setAttribute(\"max\", this.max);\n calendar.setAttribute(\"locale\", this.locale);\n calendar.toggleAttribute(\"disabled\", this.disabled);\n }\n wireInputNames() {\n const startInput = this.getStartInput();\n const endInput = this.getEndInput();\n if (startInput) {\n startInput.name = this.startName;\n startInput.disabled = this.disabled;\n startInput.readOnly = this.readOnly;\n startInput.placeholder = this.placeholderStart || \"Start date\";\n }\n if (endInput) {\n endInput.name = this.endName;\n endInput.disabled = this.disabled;\n endInput.readOnly = this.readOnly;\n endInput.placeholder = this.placeholderEnd || \"End date\";\n }\n }\n initialize() {\n this.wireInputNames();\n this.syncDisplayValues();\n this.syncToggle();\n this.syncCalendar();\n this.setOpen(false);\n }\n connectedCallback() {\n super.connectedCallback();\n queueMicrotask(() => this.initialize());\n }\n disconnectedCallback() {\n this.popoverController?.destroy();\n this.popoverController = null;\n super.disconnectedCallback();\n }\n onPropsUpdated() {\n this.wireInputNames();\n this.syncDisplayValues();\n this.syncToggle();\n this.syncCalendar();\n }\n onOpenUpdated() {\n this.syncToggle();\n this.syncPopoverPosition();\n }\n onTriggerPointerDown() {\n this.suppressPopoverDismiss = true;\n }\n onTriggerClick() {\n if (this.disabled || this.readOnly) {\n return;\n }\n this.setOpen(!this.open);\n }\n onStartFocus() {\n this.editing = \"start\";\n const range = parseIsoRange(this.isoValue);\n const input = this.getStartInput();\n if (input) {\n input.value = range?.start ? this.formatIso(range.start) : \"\";\n }\n }\n onEndFocus() {\n this.editing = \"end\";\n const range = parseIsoRange(this.isoValue);\n const input = this.getEndInput();\n if (input) {\n input.value = range?.end ? this.formatIso(range.end) : \"\";\n }\n }\n onInputBlur() {\n this.editing = null;\n this.commitFromInputs();\n }\n onInput(event2) {\n const input = event2.target;\n if (input.matches(\"[data-range-start]\")) {\n this.startDisplay = input.value;\n return;\n }\n this.endDisplay = input.value;\n }\n onPopoverMouseDown(event2) {\n event2.preventDefault();\n }\n onCalendarChange(event2) {\n const target = event2.target;\n if (!(target instanceof HTMLElement) || !target.matches(\"[data-range-calendar]\")) {\n return;\n }\n const detail = event2.detail;\n if (!detail?.start || !detail.end) {\n return;\n }\n this.commitRange(detail.start, detail.end);\n this.setOpen(false);\n }\n onRootKeydown(event2) {\n if (event2.key === \"Escape\" && this.open) {\n event2.preventDefault();\n this.setOpen(false);\n }\n }\n onRootFocusOut(event2) {\n const relatedTarget = event2.relatedTarget;\n queueMicrotask(() => {\n if (this.suppressPopoverDismiss) {\n this.suppressPopoverDismiss = false;\n return;\n }\n if (!this.open) {\n return;\n }\n const next = relatedTarget instanceof Node ? relatedTarget : document.activeElement;\n if (!shouldDismissPopoverFocus(this, this.popoverTarget, next)) {\n return;\n }\n this.setOpen(false);\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiDateRangePicker as RuiDateRangePicker };", "export function isoToDate(iso) {\n if (iso == null) {\n return null;\n }\n const match = /^(\\d{4})-(\\d{2})-(\\d{2})$/.exec(iso.trim());\n if (!match) {\n return null;\n }\n const year = Number(match[1]);\n const month = Number(match[2]) - 1;\n const day = Number(match[3]);\n const date = new Date(year, month, day);\n if (date.getFullYear() !== year || date.getMonth() !== month || date.getDate() !== day) {\n return null;\n }\n return date;\n}\nexport function dateToIso(date) {\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n return `${year}-${month}-${day}`;\n}\nexport function isIsoInRange(iso, min, max) {\n if (min && iso < min) {\n return false;\n }\n if (max && iso > max) {\n return false;\n }\n return true;\n}", "const RANGE_SEPARATOR = \"/\";\nconst MULTIPLE_SEPARATOR = \",\";\nexport function compareIso(a, b) {\n return a.localeCompare(b);\n}\nexport function normalizeRange(start, end) {\n if (compareIso(start, end) <= 0) {\n return {\n start,\n end\n };\n }\n return {\n start: end,\n end: start\n };\n}\nexport function parseIsoRange(value) {\n if (!value) {\n return null;\n }\n const [start, end] = value.split(RANGE_SEPARATOR);\n if (!start || !end) {\n return null;\n }\n return normalizeRange(start, end);\n}\nexport function serializeIsoRange(range) {\n if (!range) {\n return \"\";\n }\n const normalized = normalizeRange(range.start, range.end);\n return `${normalized.start}${RANGE_SEPARATOR}${normalized.end}`;\n}\nexport function parseMultipleIsos(value) {\n if (!value) {\n return [];\n }\n return value.split(MULTIPLE_SEPARATOR).map(iso => iso.trim()).filter(Boolean).sort(compareIso);\n}\nexport function serializeMultipleIsos(values) {\n return [...new Set(values)].sort(compareIso).join(MULTIPLE_SEPARATOR);\n}\nexport function toggleMultipleIso(selected, iso) {\n const set = new Set(selected);\n if (set.has(iso)) {\n set.delete(iso);\n } else {\n set.add(iso);\n }\n return [...set].sort(compareIso);\n}\nexport function isIsoInSpan(iso, range) {\n const normalized = normalizeRange(range.start, range.end);\n return compareIso(iso, normalized.start) >= 0 && compareIso(iso, normalized.end) <= 0;\n}\nexport function getActiveRangeBounds(committed, draft) {\n if (draft.anchor) {\n const hover = draft.hover ?? draft.anchor;\n return normalizeRange(draft.anchor, hover);\n }\n return committed;\n}\nexport function getDaySelectionAppearance(iso, mode, options) {\n if (mode === \"single\") {\n const selected = options.singleIso === iso;\n return {\n isSelected: selected,\n isRangeStart: selected,\n isRangeEnd: selected,\n isRangeMiddle: false\n };\n }\n if (mode === \"multiple\") {\n const selected = options.multipleIsos?.includes(iso) ?? false;\n return {\n isSelected: selected,\n isRangeStart: selected,\n isRangeEnd: selected,\n isRangeMiddle: false\n };\n }\n const range = options.range;\n if (!range) {\n return {\n isSelected: false,\n isRangeStart: false,\n isRangeEnd: false,\n isRangeMiddle: false\n };\n }\n const normalized = normalizeRange(range.start, range.end);\n const inSpan = isIsoInSpan(iso, normalized);\n const isStart = iso === normalized.start;\n const isEnd = iso === normalized.end;\n const isMiddle = inSpan && !isStart && !isEnd;\n return {\n isSelected: inSpan,\n isRangeStart: isStart,\n isRangeEnd: isEnd,\n isRangeMiddle: isMiddle\n };\n}\nexport function advanceRangeSelection(committed, draft, iso) {\n if (!draft.anchor) {\n return {\n committed,\n draft: {\n anchor: iso,\n hover: iso\n }\n };\n }\n const next = normalizeRange(draft.anchor, iso);\n return {\n committed: next,\n draft: {\n anchor: null,\n hover: null\n }\n };\n}", "const formatterCache = /* @__PURE__ */new Map();\nfunction cacheKey(locale, options) {\n return `${JSON.stringify(locale ?? null)}|${JSON.stringify(options)}`;\n}\nexport function getDateTimeFormat(locale, options) {\n const key = cacheKey(locale, options);\n const cached = formatterCache.get(key);\n if (cached) {\n return cached;\n }\n const formatter = new Intl.DateTimeFormat(locale, options);\n formatterCache.set(key, formatter);\n return formatter;\n}\nexport function formatDisplayDate(date, locale, style = \"medium\") {\n return getDateTimeFormat(locale, {\n dateStyle: style\n }).format(date);\n}\nexport function formatMonthYear(date, locale) {\n return getDateTimeFormat(locale, {\n month: \"long\",\n year: \"numeric\"\n }).format(date);\n}\nexport function getWeekdayLabels(locale, weekStartsOn) {\n const formatter = getDateTimeFormat(locale, {\n weekday: \"narrow\"\n });\n const labels = [];\n for (let offset = 0; offset < 7; offset += 1) {\n const dayIndex = (weekStartsOn + offset) % 7;\n const reference = new Date(2024, 0, dayIndex === 0 ? 7 : dayIndex);\n labels.push(formatter.format(reference));\n }\n return labels;\n}\nexport function formatDateRange(start, end, locale, style = \"medium\") {\n const formatter = getDateTimeFormat(locale, {\n dateStyle: style\n });\n if (typeof formatter.formatRange === \"function\") {\n return formatter.formatRange(start, end);\n }\n return `${formatter.format(start)} \\u2013 ${formatter.format(end)}`;\n}\nexport function formatTodayLabel(locale) {\n return new Intl.RelativeTimeFormat(locale, {\n numeric: \"auto\"\n }).format(0, \"day\");\n}", "const DEFAULT_DEFINITIONS = {\n \"0\": \"digit\",\n a: \"letter\",\n \"*\": \"any\"\n};\nconst LETTER = /\\p{L}/u;\nfunction resolveDefinition(char, definitions) {\n const custom = definitions?.[char];\n if (custom instanceof RegExp) {\n return {\n kind: \"any\",\n pattern: custom\n };\n }\n if (custom) {\n return {\n kind: custom\n };\n }\n const builtIn = DEFAULT_DEFINITIONS[char];\n return builtIn ? {\n kind: builtIn\n } : null;\n}\nfunction matchesInput(char, kind, pattern) {\n if (pattern) {\n return pattern.test(char);\n }\n if (kind === \"digit\") {\n return /\\d/.test(char);\n }\n if (kind === \"letter\") {\n return LETTER.test(char);\n }\n return char.length > 0;\n}\nfunction parseMaskPatternInternal(pattern, definitions, optional = false) {\n const tokens = [];\n let index = 0;\n while (index < pattern.length) {\n const char = pattern[index];\n if (char === \"\\\\\") {\n const next = pattern[index + 1];\n if (next) {\n tokens.push({\n type: \"literal\",\n value: next\n });\n }\n index += 2;\n continue;\n }\n if (char === \"{\") {\n const end = pattern.indexOf(\"}\", index + 1);\n if (end < 0) {\n tokens.push({\n type: \"literal\",\n value: \"{\"\n });\n index += 1;\n continue;\n }\n tokens.push({\n type: \"fixed\",\n value: pattern.slice(index + 1, end)\n });\n index = end + 1;\n continue;\n }\n if (char === \"[\") {\n const end = findClosingBracket(pattern, index + 1);\n if (end < 0) {\n tokens.push({\n type: \"literal\",\n value: \"[\"\n });\n index += 1;\n continue;\n }\n const inner = parseMaskPatternInternal(pattern.slice(index + 1, end), definitions, true);\n tokens.push(...inner);\n index = end + 1;\n continue;\n }\n if (char === \"]\") {\n break;\n }\n const definition = resolveDefinition(char, definitions);\n if (definition) {\n tokens.push({\n type: \"input\",\n definition: char,\n kind: definition.kind,\n pattern: definition.pattern,\n optional\n });\n index += 1;\n continue;\n }\n tokens.push({\n type: \"literal\",\n value: char\n });\n index += 1;\n }\n return tokens;\n}\nfunction findClosingBracket(pattern, start) {\n let depth = 1;\n for (let index = start; index < pattern.length; index += 1) {\n if (pattern[index] === \"[\" && pattern[index - 1] !== \"\\\\\") {\n depth += 1;\n }\n if (pattern[index] === \"]\" && pattern[index - 1] !== \"\\\\\") {\n depth -= 1;\n if (depth === 0) {\n return index;\n }\n }\n }\n return -1;\n}\nexport function parseMaskPattern(pattern, definitions) {\n return parseMaskPatternInternal(pattern, definitions);\n}\nexport function maskInputSlotCount(tokens, options = {}) {\n return tokens.filter(token => token.type === \"input\" && (!options.requiredOnly || !token.optional)).length;\n}\nexport function maskDigitSlotCount(tokens) {\n return maskInputSlotCount(tokens, {\n requiredOnly: true\n });\n}\nexport function maskToPlaceholder(pattern, definitions) {\n const tokens = parseMaskPattern(pattern, definitions);\n let result = \"\";\n for (const token of tokens) {\n if (token.type === \"literal\" || token.type === \"fixed\") {\n result += token.value;\n continue;\n }\n result += \"_\";\n }\n return result;\n}\nexport function extractMaskInput(masked, tokens) {\n let input = \"\";\n let cursor = 0;\n for (const token of tokens) {\n if (token.type === \"fixed\" || token.type === \"literal\") {\n if (masked.slice(cursor, cursor + token.value.length) === token.value) {\n cursor += token.value.length;\n }\n continue;\n }\n if (cursor >= masked.length) {\n continue;\n }\n const char = masked[cursor];\n if (matchesInput(char, token.kind, token.pattern)) {\n input += char;\n cursor += 1;\n }\n }\n return input;\n}\nexport function extractMaskDigits(masked, tokens) {\n return extractMaskInput(masked, tokens).replace(/\\D/g, \"\");\n}\nexport function formatWithMask(input, tokens) {\n if (!input) {\n return \"\";\n }\n let inputIndex = 0;\n let result = \"\";\n for (const token of tokens) {\n if (token.type === \"fixed\" || token.type === \"literal\") {\n result += token.value;\n continue;\n }\n if (inputIndex >= input.length) {\n if (token.optional) {\n continue;\n }\n break;\n }\n const char = input[inputIndex];\n if (!matchesInput(char, token.kind, token.pattern)) {\n if (token.optional) {\n continue;\n }\n break;\n }\n result += char;\n inputIndex += 1;\n }\n return result;\n}\nfunction isDigitOnlyPattern(tokens) {\n return tokens.every(token => token.type !== \"input\" || token.kind === \"digit\");\n}\nfunction looseInputFromRaw(raw, tokens) {\n const loose = raw.replace(/\\D/g, \"\");\n const fixedDigits = tokens.filter(token => token.type === \"fixed\").map(token => token.value.replace(/\\D/g, \"\")).join(\"\");\n if (fixedDigits && loose.startsWith(fixedDigits)) {\n return loose.slice(fixedDigits.length);\n }\n return loose;\n}\nexport function applyInputMask(raw, pattern, definitions) {\n const tokens = parseMaskPattern(pattern, definitions);\n const capacity = maskInputSlotCount(tokens);\n let input = extractMaskInput(raw, tokens);\n if (input.length === 0 && /\\S/.test(raw) && isDigitOnlyPattern(tokens)) {\n input = looseInputFromRaw(raw, tokens);\n }\n if (input.length > capacity) {\n input = input.slice(0, capacity);\n }\n return formatWithMask(input, tokens);\n}", "import { applyInputMask, maskInputSlotCount, parseMaskPattern } from \"./input-mask\";\nimport { getDateTimeFormat } from \"@/lib/intl-date/formatters\";\nconst REFERENCE_DATE = new Date(2001, 8, 3);\nfunction getNumericPartOrder(locale) {\n return getDateTimeFormat(locale, {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\"\n }).formatToParts(REFERENCE_DATE).filter(part => part.type === \"year\" || part.type === \"month\" || part.type === \"day\").map(part => part.type);\n}\nexport function buildDateMaskPattern(locale) {\n const parts = getDateTimeFormat(locale, {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\"\n }).formatToParts(REFERENCE_DATE);\n let pattern = \"\";\n for (const part of parts) {\n if (part.type === \"literal\") {\n pattern += part.value;\n continue;\n }\n if (part.type === \"month\" || part.type === \"day\" || part.type === \"year\") {\n pattern += part.value.replace(/\\d/g, \"0\");\n }\n }\n return pattern;\n}\nexport function getDefaultDatePlaceholder(locale) {\n const parts = getDateTimeFormat(locale, {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\"\n }).formatToParts(REFERENCE_DATE);\n return parts.map(part => {\n if (part.type === \"literal\") {\n return part.value;\n }\n if (part.type === \"year\") {\n return \"yyyy\";\n }\n if (part.type === \"month\") {\n return \"mm\";\n }\n if (part.type === \"day\") {\n return \"dd\";\n }\n return \"\";\n }).join(\"\");\n}\nexport function maskPatternToPlaceholder(pattern) {\n return pattern.replace(/0/g, \"\\xB7\");\n}\nexport function extractMaskDigits(value) {\n return value.replace(/\\D/g, \"\");\n}\nexport function applyDateMask(digits, pattern) {\n return applyInputMask(extractMaskDigits(digits), pattern);\n}\nexport function maskDigitCapacity(pattern) {\n return maskInputSlotCount(parseMaskPattern(pattern), {\n requiredOnly: true\n });\n}\nfunction normalizeYear(value) {\n if (value >= 100) {\n return value;\n }\n return value >= 69 ? 1900 + value : 2e3 + value;\n}\nexport function maskedDigitsToParts(digits, locale) {\n const order = getNumericPartOrder(locale);\n let cursor = 0;\n const values = {};\n for (const type of order) {\n const width = type === \"year\" ? 4 : 2;\n const slice = digits.slice(cursor, cursor + width);\n if (slice.length < width) {\n return null;\n }\n let numeric = Number(slice);\n if (type === \"year\") {\n numeric = normalizeYear(numeric);\n }\n values[type] = numeric;\n cursor += width;\n }\n return values;\n}\nexport function partsToDate(parts) {\n if (parts.year == null || parts.month == null || parts.day == null) {\n return null;\n }\n const date = new Date(parts.year, parts.month - 1, parts.day);\n if (date.getFullYear() !== parts.year || date.getMonth() !== parts.month - 1 || date.getDate() !== parts.day) {\n return null;\n }\n return date;\n}\nexport { getNumericPartOrder };", "import { isoToDate } from \"./iso\";\nimport { getDateTimeFormat } from \"./formatters\";\nimport { buildDateMaskPattern, extractMaskDigits as extractDateMaskDigits, maskDigitCapacity, maskedDigitsToParts, partsToDate } from \"@/lib/mask/date-mask\";\nconst REFERENCE_DATE = new Date(2001, 8, 3);\nexport function getDatePartOrder(locale) {\n const parts = getDateTimeFormat(locale, {\n year: \"numeric\",\n month: \"numeric\",\n day: \"numeric\"\n }).formatToParts(REFERENCE_DATE);\n return parts.filter(part => part.type === \"year\" || part.type === \"month\" || part.type === \"day\").map(part => part.type);\n}\nexport function getDateSeparators(locale) {\n const parts = getDateTimeFormat(locale, {\n year: \"numeric\",\n month: \"numeric\",\n day: \"numeric\"\n }).formatToParts(REFERENCE_DATE);\n return parts.filter(part => part.type === \"literal\").map(part => part.value);\n}\nfunction normalizeYear(value) {\n if (value >= 100) {\n return value;\n }\n return value >= 69 ? 1900 + value : 2e3 + value;\n}\nfunction buildDateFromParts(parts) {\n const year = parts.year;\n const month = parts.month;\n const day = parts.day;\n if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) {\n return null;\n }\n const date = new Date(year, month - 1, day);\n if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {\n return null;\n }\n return date;\n}\nexport function parseLocaleDateString(input, locale) {\n const trimmed = (input ?? \"\").trim();\n if (!trimmed) {\n return null;\n }\n const isoDate = isoToDate(trimmed);\n if (isoDate) {\n return isoDate;\n }\n const fromMask = parseMaskedInput(trimmed, locale);\n if (fromMask) {\n return fromMask;\n }\n const fromMonthName = parseDateWithMonthNames(trimmed, locale);\n if (fromMonthName) {\n return fromMonthName;\n }\n const order = getDatePartOrder(locale);\n const numbers = trimmed.match(/\\d+/g);\n if (!numbers || numbers.length < 3) {\n return null;\n }\n const values = {\n day: 0,\n month: 0,\n year: 0\n };\n for (let index = 0; index < 3; index += 1) {\n const partType = order[index];\n if (!partType) {\n return null;\n }\n let numeric = Number(numbers[index]);\n if (partType === \"year\") {\n numeric = normalizeYear(numeric);\n }\n values[partType] = numeric;\n }\n return buildDateFromParts(values);\n}\nfunction parseMaskedInput(input, locale) {\n const pattern = buildDateMaskPattern(locale);\n const digits = extractDateMaskDigits(input);\n if (digits.length < maskDigitCapacity(pattern)) {\n return null;\n }\n return partsToDate(maskedDigitsToParts(digits, locale) ?? {});\n}\nfunction getMonthNameLookup(locale) {\n const lookup = /* @__PURE__ */new Map();\n for (const style of [\"short\", \"long\"]) {\n for (let month = 0; month < 12; month += 1) {\n const label = getDateTimeFormat(locale, {\n month: style\n }).formatToParts(new Date(2020, month, 1)).find(part => part.type === \"month\")?.value;\n if (label) {\n lookup.set(label.toLowerCase(), month + 1);\n }\n }\n }\n return lookup;\n}\nfunction parseDateWithMonthNames(input, locale) {\n const months = getMonthNameLookup(locale);\n const normalized = input.toLowerCase();\n for (const [name, month] of months) {\n const index = normalized.indexOf(name);\n if (index < 0) {\n continue;\n }\n const numbers = input.match(/\\d+/g);\n if (!numbers || numbers.length < 2) {\n continue;\n }\n const yearToken = numbers.find(token => token.length === 4) ?? numbers[numbers.length - 1];\n const dayToken = numbers.find(token => token !== yearToken && Number(token) <= 31);\n if (!dayToken || !yearToken) {\n continue;\n }\n const year = normalizeYear(Number(yearToken));\n const day = Number(dayToken);\n return buildDateFromParts({\n year,\n month,\n day\n });\n }\n return null;\n}", "const OPPOSITE = {\n top: \"bottom\",\n bottom: \"top\",\n left: \"right\",\n right: \"left\"\n};\nconst DEFAULT_VIEWPORT_PADDING = 8;\nfunction parsePlacement(placement) {\n const dash = placement.indexOf(\"-\");\n if (dash === -1) return {\n side: placement,\n align: \"center\"\n };\n const side = placement.slice(0, dash);\n const align = placement.slice(dash + 1);\n return {\n side,\n align: align === \"start\" || align === \"end\" ? align : \"center\"\n };\n}\nfunction primaryAxis(side) {\n return side === \"top\" || side === \"bottom\" ? \"y\" : \"x\";\n}\nfunction coordsFor(anchor, size, side, align, gap) {\n const {\n width,\n height\n } = size;\n let x = 0;\n let y = 0;\n switch (side) {\n case \"top\":\n y = anchor.top - height - gap;\n break;\n case \"bottom\":\n y = anchor.bottom + gap;\n break;\n case \"left\":\n x = anchor.left - width - gap;\n break;\n case \"right\":\n x = anchor.right + gap;\n break;\n }\n if (primaryAxis(side) === \"y\") {\n if (align === \"start\") x = anchor.left;else if (align === \"end\") x = anchor.right - width;else x = anchor.left + (anchor.width - width) / 2;\n } else {\n if (align === \"start\") y = anchor.top;else if (align === \"end\") y = anchor.bottom - height;else y = anchor.top + (anchor.height - height) / 2;\n }\n return {\n x,\n y\n };\n}\nfunction overflowOnPrimary(coords, size, side, viewport) {\n const {\n padding,\n width: vw,\n height: vh\n } = viewport;\n if (side === \"top\") return Math.max(0, padding - coords.y);\n if (side === \"bottom\") return Math.max(0, coords.y + size.height - (vh - padding));\n if (side === \"left\") return Math.max(0, padding - coords.x);\n return Math.max(0, coords.x + size.width - (vw - padding));\n}\nfunction freeSpaceOnSide(anchor, size, side, viewport) {\n const {\n padding,\n width: vw,\n height: vh\n } = viewport;\n if (side === \"top\") return anchor.top - padding - size.height;\n if (side === \"bottom\") return vh - padding - size.height - anchor.bottom;\n if (side === \"left\") return anchor.left - padding - size.width;\n return vw - padding - size.width - anchor.right;\n}\nfunction toPlacement(side, align) {\n if (align === \"center\") {\n return side;\n }\n return `${side}-${align}`;\n}\nfunction clampCrossAxis(coords, size, side, viewport) {\n const {\n padding,\n width: vw,\n height: vh\n } = viewport;\n if (primaryAxis(side) === \"y\") {\n const maxX = Math.max(padding, vw - padding - size.width);\n return {\n x: Math.min(Math.max(coords.x, padding), maxX),\n y: coords.y\n };\n }\n const maxY = Math.max(padding, vh - padding - size.height);\n return {\n x: coords.x,\n y: Math.min(Math.max(coords.y, padding), maxY)\n };\n}\nexport function computeFloatingCoords(anchor, size, placement, gap, viewport = {\n width: typeof window === \"undefined\" ? 0 : window.innerWidth,\n height: typeof window === \"undefined\" ? 0 : window.innerHeight,\n padding: DEFAULT_VIEWPORT_PADDING\n}) {\n return computeFloatingPosition(anchor, size, placement, gap, viewport).coords;\n}\nexport function computeFloatingPosition(anchor, size, placement, gap, viewport = {\n width: typeof window === \"undefined\" ? 0 : window.innerWidth,\n height: typeof window === \"undefined\" ? 0 : window.innerHeight,\n padding: DEFAULT_VIEWPORT_PADDING\n}) {\n const {\n side: preferred,\n align\n } = parsePlacement(placement);\n const preferredCoords = coordsFor(anchor, size, preferred, align, gap);\n const preferredOverflow = overflowOnPrimary(preferredCoords, size, preferred, viewport);\n let side = preferred;\n let coords = preferredCoords;\n if (preferredOverflow > 0) {\n const flipped = OPPOSITE[preferred];\n const flippedCoords = coordsFor(anchor, size, flipped, align, gap);\n const preferredFree = freeSpaceOnSide(anchor, size, preferred, viewport);\n const flippedFree = freeSpaceOnSide(anchor, size, flipped, viewport);\n if (flippedFree > preferredFree) {\n side = flipped;\n coords = flippedCoords;\n }\n }\n return {\n coords: clampCrossAxis(coords, size, side, viewport),\n placement: toPlacement(side, align)\n };\n}\nexport function applyFloatingPosition(anchor, floating, placement, gap, options = {}) {\n const {\n coords,\n placement: resolved\n } = computeFloatingPosition(anchor.getBoundingClientRect(), {\n width: floating.offsetWidth,\n height: floating.offsetHeight\n }, placement, gap);\n Object.assign(floating.style, {\n position: \"fixed\",\n left: `${coords.x}px`,\n top: `${coords.y}px`,\n right: \"auto\",\n bottom: \"auto\",\n visibility: \"visible\"\n });\n if (options.matchAnchorWidth) {\n floating.style.width = `${anchor.offsetWidth}px`;\n }\n floating.setAttribute(\"data-placement\", resolved);\n return resolved;\n}\nexport function attachFloating({\n anchor,\n floating,\n getPlacement,\n gap,\n matchAnchorWidth\n}) {\n const update = () => {\n if (floating.hidden) return;\n applyFloatingPosition(anchor, floating, getPlacement(), gap, {\n matchAnchorWidth\n });\n };\n update();\n window.addEventListener(\"resize\", update);\n window.addEventListener(\"scroll\", update, true);\n const observer = new ResizeObserver(update);\n observer.observe(anchor);\n observer.observe(floating);\n return () => {\n window.removeEventListener(\"resize\", update);\n window.removeEventListener(\"scroll\", update, true);\n observer.disconnect();\n };\n}", "export function mountPortal(node, container = document.body) {\n const parent = node.parentNode;\n if (!parent) {\n return {\n unmount: () => {}\n };\n }\n const placeholder = document.createComment(\"rui-portal\");\n parent.insertBefore(placeholder, node);\n container.appendChild(node);\n return {\n unmount: () => {\n const restoreParent = placeholder.parentNode;\n if (!restoreParent) {\n return;\n }\n restoreParent.insertBefore(node, placeholder);\n placeholder.remove();\n }\n };\n}", "import { attachFloating } from \"./floating-position\";\nimport { mountPortal } from \"./portal\";\nexport function popoverContains(anchor, floating, node) {\n if (!node) {\n return false;\n }\n return Boolean(anchor?.contains(node) || floating?.contains(node));\n}\nexport function shouldDismissPopoverFocus(anchor, floating, relatedTarget) {\n if (!(relatedTarget instanceof Node)) {\n return true;\n }\n return !popoverContains(anchor, floating, relatedTarget);\n}\nexport function shouldDismissPopoverPointer(anchor, floating, target) {\n return !popoverContains(anchor, floating, target);\n}\nexport class PopoverController {\n config;\n cleanupFloating = null;\n portalHandle = null;\n floatingElement = null;\n constructor(config) {\n this.config = config;\n }\n updateConfig(patch) {\n this.config = {\n ...this.config,\n ...patch\n };\n }\n sync() {\n const floating = this.resolveFloating();\n if (!floating) {\n return;\n }\n const open = this.config.getOpen();\n if (!open) {\n this.teardown();\n floating.hidden = true;\n return;\n }\n const anchor = this.config.getAnchor();\n if (!anchor) {\n return;\n }\n floating.hidden = false;\n const usePortal = this.config.portal !== false;\n if (usePortal) {\n if (!this.portalHandle) {\n this.portalHandle = mountPortal(floating, this.config.portalContainer ?? document.body);\n }\n } else if (this.portalHandle) {\n this.portalHandle.unmount();\n this.portalHandle = null;\n }\n this.teardownFloating();\n this.cleanupFloating = attachFloating({\n anchor,\n floating,\n getPlacement: this.config.getPlacement,\n gap: this.config.gap ?? 8,\n matchAnchorWidth: this.config.matchAnchorWidth\n });\n }\n contains(node) {\n return popoverContains(this.config.getAnchor(), this.resolveFloating(), node);\n }\n getFloatingElement() {\n return this.resolveFloating();\n }\n teardown() {\n this.teardownFloating();\n if (this.portalHandle) {\n this.portalHandle.unmount();\n this.portalHandle = null;\n }\n }\n destroy() {\n this.teardown();\n this.floatingElement = null;\n }\n resolveFloating() {\n const configuredFloating = this.config.getFloating();\n if (configuredFloating) {\n this.floatingElement = configuredFloating;\n }\n return configuredFloating ?? this.floatingElement;\n }\n teardownFloating() {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n }\n}", "export function resolveLocale(locale) {\n if (!locale) {\n return void 0;\n }\n const tags = locale.split(\",\").map(tag => tag.trim()).filter(Boolean);\n return tags.length > 1 ? tags : tags[0];\n}", "import { Fragment, jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport { RuiIconCalendar } from \"@/lib/icons\";\nimport { RuiCalendar } from \"../calendar\";\nimport \"./date-range-picker.script\";\nexport function RuiDateRangePickerControl({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-date-range-picker\", className),\n children: /* @__PURE__ */jsx(\"div\", {\n class: \"rui-date-range-picker__group\",\n children\n })\n });\n}\nexport function RuiDateRangePickerInputs({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-date-range-picker__values\", className),\n children\n });\n}\nexport function RuiDateRangePickerStartInput({\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"input\", {\n ...props,\n type: \"text\",\n \"data-range-start\": true,\n \"data-rui-control\": true,\n \"data-rui-control-type\": \"text\",\n class: cx(\"rui-date-range-picker__input\", className),\n autocomplete: \"off\"\n });\n}\nexport function RuiDateRangePickerEndInput({\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"input\", {\n ...props,\n type: \"text\",\n \"data-range-end\": true,\n \"data-rui-control\": true,\n \"data-rui-control-type\": \"text\",\n class: cx(\"rui-date-range-picker__input\", className),\n autocomplete: \"off\"\n });\n}\nexport function RuiDateRangePickerSeparator({\n children = \"\\u2013\",\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"span\", {\n ...props,\n class: cx(\"rui-date-range-picker__separator\", className),\n \"aria-hidden\": \"true\",\n children\n });\n}\nexport function RuiDateRangePickerToggle({\n children,\n class: className,\n \"aria-label\": ariaLabel = \"Open calendar\",\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n type: \"button\",\n \"data-ref\": \"trigger\",\n \"data-range-trigger\": true,\n class: cx(\"rui-control-toggle\", className),\n \"aria-label\": ariaLabel,\n \"aria-haspopup\": \"dialog\",\n children: children ?? /* @__PURE__ */jsx(RuiIconCalendar, {})\n });\n}\nexport function RuiDateRangePickerPopover({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-ref\": \"popover\",\n \"data-range-popover\": true,\n class: cx(\"rui-date-range-picker__popover rui-popover rui-floating\", className),\n hidden: true,\n role: \"dialog\",\n children\n });\n}\nexport function RuiDateRangePickerCalendar(props) {\n return /* @__PURE__ */jsx(RuiCalendar, {\n ...props,\n \"data-range-calendar\": true\n });\n}\nexport function RuiDateRangePicker({\n children,\n startLabel = \"Start date\",\n endLabel = \"End date\",\n ...props\n}) {\n return /* @__PURE__ */jsx(\"rui-date-range-picker\", {\n ...props,\n children: children ?? /* @__PURE__ */jsxs(Fragment, {\n children: [/* @__PURE__ */jsxs(RuiDateRangePickerControl, {\n children: [/* @__PURE__ */jsxs(RuiDateRangePickerInputs, {\n children: [/* @__PURE__ */jsx(RuiDateRangePickerStartInput, {\n \"aria-label\": startLabel\n }), /* @__PURE__ */jsx(RuiDateRangePickerSeparator, {}), /* @__PURE__ */jsx(RuiDateRangePickerEndInput, {\n \"aria-label\": endLabel\n })]\n }), /* @__PURE__ */jsx(RuiDateRangePickerToggle, {})]\n }), /* @__PURE__ */jsx(RuiDateRangePickerPopover, {\n children: /* @__PURE__ */jsx(RuiDateRangePickerCalendar, {})\n })]\n })\n });\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nexport function RuiIconCalendar({\n class: className,\n size = \"sm\",\n ...props\n}) {\n return /* @__PURE__ */jsxs(\"svg\", {\n ...props,\n class: cx(\"rui-icon\", size === \"md\" && \"rui-icon--md\", className),\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": \"true\",\n children: [/* @__PURE__ */jsx(\"path\", {\n d: \"M8 2v4\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"M16 2v4\"\n }), /* @__PURE__ */jsx(\"rect\", {\n width: \"18\",\n height: \"18\",\n x: \"3\",\n y: \"4\",\n rx: \"2\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"M3 10h18\"\n })]\n });\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport \"./calendar.script\";\nexport function RuiCalendar({\n children,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"rui-calendar\", {\n ...props,\n children\n });\n}"],
5
+ "mappings": "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",
6
+ "names": ["RadiantElement", "customElement", "event", "onEvent", "onUpdated", "prop", "query", "state", "isoToDate", "iso", "match", "year", "month", "day", "date", "dateToIso", "compareIso", "a", "b", "normalizeRange", "start", "end", "parseIsoRange", "value", "serializeIsoRange", "range", "normalized", "formatterCache", "cacheKey", "locale", "options", "getDateTimeFormat", "key", "cached", "formatter", "formatDisplayDate", "date", "style", "DEFAULT_DEFINITIONS", "resolveDefinition", "char", "definitions", "custom", "builtIn", "DEFAULT_DEFINITIONS", "parseMaskPatternInternal", "pattern", "definitions", "optional", "tokens", "index", "char", "next", "end", "findClosingBracket", "inner", "definition", "resolveDefinition", "start", "depth", "parseMaskPattern", "maskInputSlotCount", "options", "token", "REFERENCE_DATE", "getNumericPartOrder", "locale", "getDateTimeFormat", "part", "buildDateMaskPattern", "parts", "pattern", "extractMaskDigits", "value", "maskDigitCapacity", "pattern", "maskInputSlotCount", "parseMaskPattern", "normalizeYear", "value", "maskedDigitsToParts", "digits", "locale", "order", "getNumericPartOrder", "cursor", "values", "type", "width", "slice", "numeric", "partsToDate", "parts", "date", "REFERENCE_DATE", "getDatePartOrder", "locale", "getDateTimeFormat", "part", "normalizeYear", "value", "buildDateFromParts", "parts", "year", "month", "day", "date", "parseLocaleDateString", "input", "locale", "trimmed", "isoDate", "isoToDate", "fromMask", "parseMaskedInput", "fromMonthName", "parseDateWithMonthNames", "order", "getDatePartOrder", "numbers", "values", "index", "partType", "numeric", "pattern", "buildDateMaskPattern", "digits", "extractMaskDigits", "maskDigitCapacity", "partsToDate", "maskedDigitsToParts", "getMonthNameLookup", "lookup", "style", "label", "getDateTimeFormat", "part", "months", "normalized", "name", "yearToken", "token", "dayToken", "OPPOSITE", "DEFAULT_VIEWPORT_PADDING", "parsePlacement", "placement", "dash", "side", "align", "primaryAxis", "coordsFor", "anchor", "size", "gap", "width", "height", "x", "y", "overflowOnPrimary", "coords", "viewport", "padding", "vw", "vh", "freeSpaceOnSide", "toPlacement", "clampCrossAxis", "maxX", "maxY", "computeFloatingPosition", "anchor", "size", "placement", "gap", "viewport", "DEFAULT_VIEWPORT_PADDING", "preferred", "align", "parsePlacement", "preferredCoords", "coordsFor", "preferredOverflow", "overflowOnPrimary", "side", "coords", "flipped", "OPPOSITE", "flippedCoords", "preferredFree", "freeSpaceOnSide", "clampCrossAxis", "toPlacement", "applyFloatingPosition", "floating", "options", "resolved", "attachFloating", "getPlacement", "matchAnchorWidth", "update", "observer", "mountPortal", "node", "container", "parent", "placeholder", "restoreParent", "popoverContains", "anchor", "floating", "node", "shouldDismissPopoverFocus", "relatedTarget", "PopoverController", "config", "patch", "floating", "anchor", "mountPortal", "attachFloating", "node", "popoverContains", "configuredFloating", "resolveLocale", "locale", "tags", "tag", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_min", "_init_extra_min", "_init_max", "_init_extra_max", "_init_disabled", "_init_extra_disabled", "_init_readOnly", "_init_extra_readOnly", "_init_locale", "_init_extra_locale", "_init_placeholderStart", "_init_extra_placeholderStart", "_init_placeholderEnd", "_init_extra_placeholderEnd", "_init_startName", "_init_extra_startName", "_init_endName", "_init_extra_endName", "_init_name", "_init_extra_name", "_init_dateStyle", "_init_extra_dateStyle", "_init_visibleMonths", "_init_extra_visibleMonths", "_init_changeEvent", "_init_extra_changeEvent", "_init_open", "_init_extra_open", "_init_startDisplay", "_init_extra_startDisplay", "_init_endDisplay", "_init_extra_endDisplay", "_init_editing", "_init_extra_editing", "_init_popoverTarget", "_init_extra_popoverTarget", "_applyDecs", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "n", "r", "b", "e", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiDateRangePicker", "RuiDateRangePicker", "RadiantElement", "customElement", "prop", "event", "state", "query", "onUpdated", "onEvent", "args", "resolveLocale", "iso", "date", "isoToDate", "formatDisplayDate", "range", "parseIsoRange", "startInput", "endInput", "start", "end", "serialized", "serializeIsoRange", "raw", "trimmed", "parsed", "parseLocaleDateString", "dateToIso", "next", "calendar", "PopoverController", "popover", "controller", "toggle", "input", "event2", "target", "detail", "relatedTarget", "shouldDismissPopoverFocus", "Fragment", "jsx", "jsxs", "cx", "parts", "jsx", "jsxs", "RuiIconCalendar", "className", "size", "props", "jsxs", "cx", "jsx", "jsx", "RuiCalendar", "children", "props", "jsx", "RuiDateRangePickerControl", "children", "className", "props", "jsx", "cx", "RuiDateRangePickerInputs", "RuiDateRangePickerStartInput", "RuiDateRangePickerEndInput", "RuiDateRangePickerSeparator", "RuiDateRangePickerToggle", "ariaLabel", "RuiIconCalendar", "RuiDateRangePickerPopover", "RuiDateRangePickerCalendar", "RuiCalendar", "RuiDateRangePicker", "startLabel", "endLabel", "jsxs", "Fragment"]
7
7
  }
@@ -30,7 +30,7 @@ rui-dialog {
30
30
  background-color: var(--color-background, var(--background));
31
31
  padding: var(--spacing-inset, var(--space-inset));
32
32
  color: var(--color-on-background, var(--on-background));
33
- --tw-shadow: var(--shadow-overlay);
33
+ --tw-shadow: var(--shadow-modal);
34
34
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
35
35
  --tw-outline-style: none;
36
36
  outline-style: none;
@@ -1,23 +1,40 @@
1
1
  import type { JsxHtmlPropsWithChildren, JsxRenderable } from '@ecopages/jsx';
2
2
  import type { RuiDialogProps } from './dialog.script';
3
+ import './dialog.script';
3
4
  export type RuiDialogTitleProps = JsxHtmlPropsWithChildren<{
4
5
  slot?: string;
5
6
  }>;
6
- /** Dialog title slotted into `title` by default. */
7
+ /**
8
+ * Dialog title slotted into `title` by default.
9
+ *
10
+ * @cssclass rui-dialog__title - Dialog title; `aria-labelledby` target.
11
+ */
7
12
  export declare function RuiDialogTitle({ children, slot, class: className, ...props }: RuiDialogTitleProps): JsxRenderable;
8
13
  export type RuiDialogBodyProps = JsxHtmlPropsWithChildren;
9
- /** Dialog body in the default slot. */
14
+ /**
15
+ * Dialog body in the default slot.
16
+ *
17
+ * @cssclass rui-dialog__body - Dialog body; `aria-describedby` target.
18
+ */
10
19
  export declare function RuiDialogBody({ children, class: className, ...props }: RuiDialogBodyProps): JsxRenderable;
11
20
  export type RuiDialogActionsProps = JsxHtmlPropsWithChildren<{
12
21
  slot?: string;
13
22
  }>;
14
- /** Action row slotted into `actions` by default. */
23
+ /**
24
+ * Action row slotted into `actions` by default.
25
+ *
26
+ * @cssclass rui-dialog__actions - Right-aligned action row.
27
+ */
15
28
  export declare function RuiDialogActions({ children, slot, class: className, ...props }: RuiDialogActionsProps): JsxRenderable;
16
29
  export type RuiDialogCloseProps = JsxHtmlPropsWithChildren<{
17
30
  slot?: string;
18
31
  'aria-label'?: string;
19
32
  }>;
20
- /** Close control slotted into `close` by default. */
33
+ /**
34
+ * Close control slotted into `close` by default.
35
+ *
36
+ * @cssclass rui-dialog__close - Dismiss button; dispatches `data-dialog-close` click.
37
+ */
21
38
  export declare function RuiDialogClose({ children, slot, class: className, 'aria-label': ariaLabel, ...props }: RuiDialogCloseProps): JsxRenderable;
22
39
  export type RuiDialogViewProps = JsxHtmlPropsWithChildren<RuiDialogProps & {
23
40
  slot?: string;
@@ -25,4 +42,12 @@ export type RuiDialogViewProps = JsxHtmlPropsWithChildren<RuiDialogProps & {
25
42
  title?: JsxRenderable;
26
43
  actions?: JsxRenderable;
27
44
  }>;
28
- export declare const RuiDialog: import("@/lib/radiant-view").RadiantViewComponent<RuiDialogViewProps>;
45
+ /**
46
+ * Dialog view. Pass `title` / `actions` for the composite API; otherwise compose
47
+ * `RuiDialogTitle`, `RuiDialogBody`, `RuiDialogActions`, and `RuiDialogClose` as children.
48
+ *
49
+ * @remarks The composite API SSRs a full `<rui-dialog>` shell (close button, title,
50
+ * body, actions). When neither `title` nor `actions` is set, children are projected
51
+ * as-is so callers can arrange slotted parts themselves.
52
+ */
53
+ export declare function RuiDialog({ title, actions, children, ...props }: RuiDialogViewProps): JsxRenderable;
@@ -34,6 +34,9 @@ type RuiDialogBindings = {
34
34
  * @slot - Dialog body (`RuiDialogBody`).
35
35
  * @slot actions - Optional action buttons (`RuiDialogActions`).
36
36
  * @fires rui-close - Emitted when the dialog is dismissed.
37
+ * @cssclass rui-dialog - Root; hidden until `open`.
38
+ * @cssclass rui-dialog__backdrop - Scrim using the `overlay` role.
39
+ * @cssclass rui-dialog__surface - Modal panel: `background` + `rounded-container` + `shadow-modal`.
37
40
  */
38
41
  export declare class RuiDialog extends RadiantElement<RuiDialogBindings> {
39
42
  open: boolean;
@@ -1,2 +1,2 @@
1
- import{jsx as k,jsxs as $t}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as Kt,bound as pe,customElement as me,event as be,onEvent as rt,onUpdated as _e,prop as at,query as lt}from"@ecopages/radiant";var se="a[href], button, input, select, textarea, [tabindex]";function ce(t){return!t.hasAttribute("disabled")&&t.getAttribute("tabindex")!=="-1"}function At(t){return Array.from(t.querySelectorAll(se)).filter(ce)}var Rt,Ct,Lt,Ot,St,wt,kt,Nt,Vt,Gt,Ut,jt,Bt,Mt,qt,Ft;function ue(t,e,i,o,d,m){var D,l,P,Q,j,Y,O,ft=Symbol.metadata||Symbol.for("Symbol.metadata"),gt=Object.defineProperty,Z=Object.create,pt=[Z(null),Z(null)],mt=e.length;function B(n,b,g){return function(r,a){b&&(a=r,r=t);for(var _=0;_<n.length;_++)a=n[_].apply(r,g?[a]:[]);return g?a:r}}function T(n,b,g,r){if(typeof n!="function"&&(r||n!==void 0))throw new TypeError(b+" must "+(g||"be")+" a function"+(r?"":" or undefined"));return n}function bt(n,b,g,r,a,_,A,p,h,y,ht){function tt(c){if(!ht(c))throw new TypeError("Attempted to access private element on non-instance")}var et=[].concat(b[0]),yt=b[3],it=!A,S=a===1,Et=a===3,vt=a===4,M=a===2;function q(c,R,It){return function(H,xt){return R&&(xt=H,H=n),It&&It(H),s[c].call(H,xt)}}if(!it){var s={},ot=[],I=Et?"get":vt||S?"set":"value";if(h?(y||S?s={get:Ht(function(){return yt(this)},r,"get"),set:function(c){b[4](this,c)}}:s[I]=yt,y||Ht(s[I],r,M?"":I)):y||(s=Object.getOwnPropertyDescriptor(n,r)),!y&&!h){if((l=pt[+p][r])&&(l^a)!==7)throw Error("Decorating two elements with the same name ("+s[I].name+") is not supported yet");pt[+p][r]=a<3?1:a}}for(var f=n,F=et.length-1;F>=0;F-=g?2:1){var Dt=T(et[F],"A decorator","be",!0),Tt=g?et[F-1]:void 0,nt={},w={kind:["field","accessor","method","getter","setter","class"][a],name:r,metadata:D,addInitializer:function(c,R){if(c.v)throw new TypeError("attempted to call addInitializer after decoration was finished");T(R,"An initializer","be",!0),_.push(R)}.bind(null,nt)};if(it)l=Dt.call(Tt,f,w),nt.v=1,T(l,"class decorators","return")&&(f=l);else if(w.static=p,w.private=h,l=w.access={has:h?ht.bind():function(c){return r in c}},vt||(l.get=h?M?function(c){return tt(c),s.value}:q("get",0,tt):function(c){return c[r]}),M||Et||(l.set=h?q("set",0,tt):function(c,R){c[r]=R}),f=Dt.call(Tt,S?{get:s.get,set:s.set}:s[I],w),nt.v=1,S){if(typeof f=="object"&&f)(l=T(f.get,"accessor.get"))&&(s.get=l),(l=T(f.set,"accessor.set"))&&(s.set=l),(l=T(f.init,"accessor.init"))&&ot.unshift(l);else if(f!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else T(f,(y?"field":"method")+" decorators","return")&&(y?ot.unshift(f):s[I]=f)}return a<2&&A.push(B(ot,p,1),B(_,p,0)),y||it||(h?S?A.splice(-1,0,q("get",p),q("set",p)):A.push(M?s[I]:T.call.bind(s[I])):gt(n,r,s)),f}function _t(n){return gt(n,ft,{configurable:!0,enumerable:!0,value:D})}return m!==void 0&&(D=m[ft]),D=Z(D??null),j=[],Y=function(n){n&&j.push(B(n))},O=function(n,b){for(var g=0;g<i.length;g++){var r=i[g],a=r[1],_=7&a;if((8&a)==n&&!_==b){var A=r[2],p=!!r[3],h=16&a;bt(n?t:t.prototype,r,h,p?"#"+A:de(A),_,_<2?[]:n?Q=Q||[]:P=P||[],j,!!n,p,b,n&&p?function(y){return ge(y)===t}:d)}}},O(8,0),O(0,0),O(8,1),O(0,1),Y(P),Y(Q),l=j,mt||_t(t),{e:l,get c(){var n=[];return mt&&[_t(t=bt(t,[e],o,t.name,5,n)),B(n,1)]}}}function de(t){var e=fe(t,"string");return typeof e=="symbol"?e:e+""}function fe(t,e){if(typeof t!="object"||!t)return t;var i=t[Symbol.toPrimitive];if(i!==void 0){var o=i.call(t,e||"default");if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Ht(t,e,i){typeof e=="symbol"&&(e=(e=e.description)?"["+e+"]":"");try{Object.defineProperty(t,"name",{configurable:!0,value:i?i+" "+e:e})}catch{}return t}function ge(t){if(Object(t)!==t)throw TypeError("right-hand side of 'in' should be an object, got "+(t!==null?typeof t:"null"));return t}var $,zt=class extends Kt{static{({e:[Lt,Ot,St,wt,kt,Nt,Vt,Gt,Ut,jt,Bt,Mt,qt,Ft,Rt],c:[$,Ct]}=ue(this,[me("rui-dialog")],[[at({type:Boolean,reflect:!0,defaultValue:!1}),0,"open"],[at({type:Boolean,reflect:!0,defaultValue:!1}),0,"alert"],[at({type:String,defaultValue:""}),0,"label"],[lt({ref:"dialog"}),0,"dialogTarget"],[lt({selector:"[data-dialog-title]"}),0,"titleTarget"],[lt({selector:"[data-dialog-body]"}),0,"descriptionTarget"],[be({name:"rui-close",bubbles:!0,composed:!0}),0,"closeEvent"],[[pe,_e(["open","label"])],2,"syncOpenState"],[rt({document:!0,type:"keydown"}),2,"onDocumentKeydown"],[rt({ref:"backdrop",type:"click"}),2,"onBackdropClick"],[rt({selector:"[data-dialog-close]",type:"click"}),2,"onCloseClick"]],0,void 0,Kt))}open=(Rt(this),Lt(this));alert=(Ot(this),St(this));label=(wt(this),kt(this));dialogTarget=(Nt(this),Vt(this));titleTarget=(Gt(this),Ut(this));descriptionTarget=(jt(this),Bt(this));closeEvent=(Mt(this),qt(this));dialogHidden=(Ft(this),this.$.open.map(e=>!e));resolvedRole=this.$.alert.map(e=>e?"alertdialog":"dialog");previouslyFocused=null;titleId=`rui-dialog-title-${Math.random().toString(36).slice(2,9)}`;descriptionId=`rui-dialog-desc-${Math.random().toString(36).slice(2,9)}`;connectedCallback(){super.connectedCallback(),queueMicrotask(()=>this.syncOpenState())}syncOpenState(){this.dialogTarget&&(this.titleTarget?.textContent?.trim()?(this.titleTarget.id=this.titleId,this.dialogTarget.setAttribute("aria-labelledby",this.titleId),this.dialogTarget.removeAttribute("aria-label")):this.label&&(this.dialogTarget.setAttribute("aria-label",this.label),this.dialogTarget.removeAttribute("aria-labelledby")),this.descriptionTarget?(this.descriptionTarget.id=this.descriptionId,this.dialogTarget.setAttribute("aria-describedby",this.descriptionId)):this.dialogTarget.removeAttribute("aria-describedby"),this.open?(this.previouslyFocused=document.activeElement,queueMicrotask(()=>this.focusInitial())):(this.previouslyFocused?.focus?.(),this.previouslyFocused=null))}focusInitial(){(this.getFocusable()[0]??this.dialogTarget)?.focus()}getFocusable(){return this.dialogTarget?At(this.dialogTarget):[]}dismiss(e){this.open&&(this.open=!1,this.closeEvent.emit({reason:e}))}onDocumentKeydown(e){if(!this.open)return;if(e.key==="Escape"){e.preventDefault(),this.dismiss("escape");return}if(e.key!=="Tab")return;let i=this.getFocusable();if(!i.length){e.preventDefault(),this.dialogTarget.focus();return}let o=i[0],d=i[i.length-1],m=document.activeElement;e.shiftKey&&m===o?(e.preventDefault(),d.focus()):!e.shiftKey&&m===d&&(e.preventDefault(),o.focus())}onBackdropClick(){this.dismiss("backdrop")}onCloseClick(){this.dismiss("dismiss")}render(){return $t("div",{class:"rui-dialog",hidden:this.dialogHidden,children:[k("div",{"data-ref":"backdrop",class:"rui-dialog__backdrop"}),$t("div",{"data-ref":"dialog",class:"rui-dialog__surface",tabindex:-1,role:this.resolvedRole,"aria-modal":"true",children:[k("slot",{name:"close"}),k("slot",{name:"title"}),k("slot",{}),k("slot",{name:"actions"})]})]})}static{Ct()}};import{jsx as E,jsxs as Ee}from"@ecopages/jsx/jsx-runtime";function N(...t){return t.filter(Boolean).join(" ")}var he=Symbol.for("@ecopages/storybook-radiant.viewElement"),Wt=Symbol.for("@ecopages/storybook-radiant.scriptModule"),Xt=Symbol.for("@ecopages/storybook-radiant.scriptExport");function ye(t,e){t[he]=e;let i=e[Wt];i&&(t[Wt]=i,t[Xt]=e[Xt]??e.name)}function Jt(t,e,i){let o=d=>e(d);return ye(o,t),o}function Pt({children:t,slot:e="title",class:i,...o}){return E("div",{...o,slot:e,"data-dialog-title":!0,"data-ref":"title",class:N("rui-dialog__title",i),children:t})}function Qt({children:t,class:e,...i}){return E("div",{...i,"data-dialog-body":!0,"data-ref":"description",class:N("rui-dialog__body",e),children:t})}function Yt({children:t,slot:e="actions",class:i,...o}){return E("div",{...o,slot:e,class:N("rui-dialog__actions",i),children:t})}function Zt({children:t,slot:e="close",class:i,"aria-label":o="Close",...d}){return E("button",{...d,slot:e,type:"button","data-dialog-close":!0,"data-ref":"close",class:N("rui-dialog__close",i),"aria-label":o,children:t??"\xD7"})}var ve=Jt($,({title:t,actions:e,children:i,...o})=>t!=null||e!=null?Ee("rui-dialog",{...o,children:[E(Zt,{}),t!=null?E(Pt,{children:t}):null,i!=null?E(Qt,{children:i}):null,e!=null?E(Yt,{children:e}):null]}):E("rui-dialog",{...o,children:i}),{stylesheets:["./dialog.css"]});var v="__rui-dialog-host",K="rui-dialog-open",z="rui-dialog-close",W="rui-dialog-toggle",st="rui-dialog-action";function te(t){return"id"in t&&t.id!=null&&t.id!==""}var V=!1,X=null,G=null,u=null;function ut(t){let e=t.trim();if(!e)return null;let i=document.getElementById(e);return i?.localName==="rui-dialog"?i:null}function De(){let t=document.createElement("button");return t.slot="close",t.type="button",t.setAttribute("data-dialog-close",""),t.setAttribute("data-ref","close"),t.className="rui-dialog__close",t.setAttribute("aria-label","Close"),t.textContent="\xD7",t}function Te(t){let e=document.createElement("div");return e.slot="title",e.setAttribute("data-dialog-title",""),e.setAttribute("data-ref","title"),e.className="rui-dialog__title",e.textContent=t,e}function Ie(t){let e=document.createElement("div");e.setAttribute("data-dialog-body",""),e.setAttribute("data-ref","description"),e.className="rui-dialog__body";let i=document.createElement("p");return i.textContent=t,e.append(i),e}function xe(t){let e=document.createElement("div");e.slot="actions",e.className="rui-dialog__actions";for(let i of t){let o=document.createElement("button");o.type="button",o.className=`rui-button rui-button--${i.variant??"filled"} rui-button--${i.size??"md"}`,o.setAttribute("data-dialog-action",i.value??""),i.closeOnClick===!1&&o.setAttribute("data-dialog-action-close","false"),o.textContent=i.label,e.append(o)}return e}function U(){G?.remove(),G=null}function Ae(t){U();let e=document.createElement("rui-dialog");return e.id=v,e.alert=!!t.alert,e.label=t.label??"",e.append(De()),t.title&&e.append(Te(t.title)),t.body&&e.append(Ie(t.body)),t.actions?.length&&e.append(xe(t.actions)),(X??document.body).appendChild(e),G=e,e}function ee(t){if(!(!u||u===t))if(u===v)U();else{let e=ut(u);e&&(e.open=!1)}}function C(t){x();let e=ut(t);e&&(ee(t),e.open=!0,u=t)}function Re(t){x(),ee(v);let e=Ae(t);e.open=!0,u=v}function J(t){if(typeof t=="string"){C(t);return}if(te(t)){C(t.id);return}Re(t)}function L(t){x();let e=t??u;if(e){if(e===v)U();else{let i=ut(e);i&&(i.open=!1)}u===e&&(u=null)}}function dt(t){if(x(),u===t){L(t);return}C(t)}function ie(t){let e=t.detail;if(typeof e=="string"){J(e);return}e&&typeof e=="object"&&J(e)}function oe(t){let e=t.detail;L(e?.id)}function ne(t){let e=t.detail;e?.id&&dt(e.id)}function re(t){let e=t.target;if(!e?.closest)return;let i=e.closest("[data-dialog-action]");if(i&&G?.contains(i)){t.preventDefault();let D={value:i.getAttribute("data-dialog-action")||void 0||void 0};G.dispatchEvent(new CustomEvent(st,{detail:D,bubbles:!0,composed:!0})),i.getAttribute("data-dialog-action-close")!=="false"&&L(v);return}let o=e.closest("[data-dialog-open]");if(o){let m=o.getAttribute("data-dialog-open")?.trim();m&&(t.preventDefault(),C(m));return}let d=e.closest("[data-dialog-close]");if(d){if(d.closest("rui-dialog")?.hasAttribute("open"))return;t.preventDefault(),L()}}function ae(t){let e=t.target?.closest?.("rui-dialog");if(!e)return;let i=e.id||null;i&&u===i&&(i===v&&U(),u=null)}function le(t={}){return V?(t.mount&&(X=t.mount),ct):(V=!0,X=t.mount??document.body,document.addEventListener(K,ie),document.addEventListener(z,oe),document.addEventListener(W,ne),document.addEventListener("click",re),document.addEventListener("rui-close",ae),ct)}function x(){V||le()}function ct(){V&&(document.removeEventListener(K,ie),document.removeEventListener(z,oe),document.removeEventListener(W,ne),document.removeEventListener("click",re),document.removeEventListener("rui-close",ae),U(),X=null,u=null,V=!1)}function Ce(){return u}function Le(t){x(),J(t)}function Oe(t){x(),L(t)}function Se(t){x(),dt(t)}function we(t){x();let e=t?.trim()||void 0;return{open:o=>{if(e){C(e);return}if(o!=null){if(typeof o=="string"){C(o);return}J(o)}},close:o=>{L(o??e)},toggle:o=>{let d=o??e;d&&dt(d)},get openId(){return u}}}export{st as RUI_DIALOG_ACTION_EVENT,z as RUI_DIALOG_CLOSE_EVENT,v as RUI_DIALOG_HOST_ID,K as RUI_DIALOG_OPEN_EVENT,W as RUI_DIALOG_TOGGLE_EVENT,ve as RuiDialog,Yt as RuiDialogActions,Qt as RuiDialogBody,Zt as RuiDialogClose,$ as RuiDialogElement,Pt as RuiDialogTitle,Oe as closeDialog,we as createDialogHandle,Ce as getOpenDialogId,le as installDialogs,Le as openDialog,Se as toggleDialog,ct as uninstallDialogs};
1
+ import{jsx as S,jsxs as $t}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as Kt,bound as de,customElement as fe,event as ge,onEvent as nt,onUpdated as pe,prop as rt,query as at}from"@ecopages/radiant";var re="a[href], button, input, select, textarea, [tabindex]";function ae(t){return!t.hasAttribute("disabled")&&t.getAttribute("tabindex")!=="-1"}function xt(t){return Array.from(t.querySelectorAll(re)).filter(ae)}var At,Ct,Rt,Lt,Ot,wt,kt,St,Gt,Nt,jt,Ut,Vt,Bt,qt,Ft;function le(t,e,i,o,f,m){var D,l,W,X,V,Y,O,dt=Symbol.metadata||Symbol.for("Symbol.metadata"),ft=Object.defineProperty,Z=Object.create,gt=[Z(null),Z(null)],pt=e.length;function B(n,b,g){return function(r,a){b&&(a=r,r=t);for(var h=0;h<n.length;h++)a=n[h].apply(r,g?[a]:[]);return g?a:r}}function T(n,b,g,r){if(typeof n!="function"&&(r||n!==void 0))throw new TypeError(b+" must "+(g||"be")+" a function"+(r?"":" or undefined"));return n}function mt(n,b,g,r,a,h,A,p,_,v,ht){function P(u){if(!ht(u))throw new TypeError("Attempted to access private element on non-instance")}var tt=[].concat(b[0]),_t=b[3],et=!A,w=a===1,vt=a===3,yt=a===4,q=a===2;function F(u,C,Tt){return function($,It){return C&&(It=$,$=n),Tt&&Tt($),s[u].call($,It)}}if(!et){var s={},it=[],I=vt?"get":yt||w?"set":"value";if(_?(v||w?s={get:Ht(function(){return _t(this)},r,"get"),set:function(u){b[4](this,u)}}:s[I]=_t,v||Ht(s[I],r,q?"":I)):v||(s=Object.getOwnPropertyDescriptor(n,r)),!v&&!_){if((l=gt[+p][r])&&(l^a)!==7)throw Error("Decorating two elements with the same name ("+s[I].name+") is not supported yet");gt[+p][r]=a<3?1:a}}for(var d=n,H=tt.length-1;H>=0;H-=g?2:1){var Et=T(tt[H],"A decorator","be",!0),Dt=g?tt[H-1]:void 0,ot={},k={kind:["field","accessor","method","getter","setter","class"][a],name:r,metadata:D,addInitializer:function(u,C){if(u.v)throw new TypeError("attempted to call addInitializer after decoration was finished");T(C,"An initializer","be",!0),h.push(C)}.bind(null,ot)};if(et)l=Et.call(Dt,d,k),ot.v=1,T(l,"class decorators","return")&&(d=l);else if(k.static=p,k.private=_,l=k.access={has:_?ht.bind():function(u){return r in u}},yt||(l.get=_?q?function(u){return P(u),s.value}:F("get",0,P):function(u){return u[r]}),q||vt||(l.set=_?F("set",0,P):function(u,C){u[r]=C}),d=Et.call(Dt,w?{get:s.get,set:s.set}:s[I],k),ot.v=1,w){if(typeof d=="object"&&d)(l=T(d.get,"accessor.get"))&&(s.get=l),(l=T(d.set,"accessor.set"))&&(s.set=l),(l=T(d.init,"accessor.init"))&&it.unshift(l);else if(d!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else T(d,(v?"field":"method")+" decorators","return")&&(v?it.unshift(d):s[I]=d)}return a<2&&A.push(B(it,p,1),B(h,p,0)),v||et||(_?w?A.splice(-1,0,F("get",p),F("set",p)):A.push(q?s[I]:T.call.bind(s[I])):ft(n,r,s)),d}function bt(n){return ft(n,dt,{configurable:!0,enumerable:!0,value:D})}return m!==void 0&&(D=m[dt]),D=Z(D??null),V=[],Y=function(n){n&&V.push(B(n))},O=function(n,b){for(var g=0;g<i.length;g++){var r=i[g],a=r[1],h=7&a;if((8&a)==n&&!h==b){var A=r[2],p=!!r[3],_=16&a;mt(n?t:t.prototype,r,_,p?"#"+A:se(A),h,h<2?[]:n?X=X||[]:W=W||[],V,!!n,p,b,n&&p?function(v){return ce(v)===t}:f)}}},O(8,0),O(0,0),O(8,1),O(0,1),Y(W),Y(X),l=V,pt||bt(t),{e:l,get c(){var n=[];return pt&&[bt(t=mt(t,[e],o,t.name,5,n)),B(n,1)]}}}function se(t){var e=ue(t,"string");return typeof e=="symbol"?e:e+""}function ue(t,e){if(typeof t!="object"||!t)return t;var i=t[Symbol.toPrimitive];if(i!==void 0){var o=i.call(t,e||"default");if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Ht(t,e,i){typeof e=="symbol"&&(e=(e=e.description)?"["+e+"]":"");try{Object.defineProperty(t,"name",{configurable:!0,value:i?i+" "+e:e})}catch{}return t}function ce(t){if(Object(t)!==t)throw TypeError("right-hand side of 'in' should be an object, got "+(t!==null?typeof t:"null"));return t}var zt,Mt=class extends Kt{static{({e:[Rt,Lt,Ot,wt,kt,St,Gt,Nt,jt,Ut,Vt,Bt,qt,Ft,At],c:[zt,Ct]}=le(this,[fe("rui-dialog")],[[rt({type:Boolean,reflect:!0,defaultValue:!1}),0,"open"],[rt({type:Boolean,reflect:!0,defaultValue:!1}),0,"alert"],[rt({type:String,defaultValue:""}),0,"label"],[at({ref:"dialog"}),0,"dialogTarget"],[at({selector:"[data-dialog-title]"}),0,"titleTarget"],[at({selector:"[data-dialog-body]"}),0,"descriptionTarget"],[ge({name:"rui-close",bubbles:!0,composed:!0}),0,"closeEvent"],[[de,pe(["open","label"])],2,"syncOpenState"],[nt({document:!0,type:"keydown"}),2,"onDocumentKeydown"],[nt({ref:"backdrop",type:"click"}),2,"onBackdropClick"],[nt({selector:"[data-dialog-close]",type:"click"}),2,"onCloseClick"]],0,void 0,Kt))}open=(At(this),Rt(this));alert=(Lt(this),Ot(this));label=(wt(this),kt(this));dialogTarget=(St(this),Gt(this));titleTarget=(Nt(this),jt(this));descriptionTarget=(Ut(this),Vt(this));closeEvent=(Bt(this),qt(this));dialogHidden=(Ft(this),this.$.open.map(e=>!e));resolvedRole=this.$.alert.map(e=>e?"alertdialog":"dialog");previouslyFocused=null;titleId=`rui-dialog-title-${Math.random().toString(36).slice(2,9)}`;descriptionId=`rui-dialog-desc-${Math.random().toString(36).slice(2,9)}`;connectedCallback(){super.connectedCallback(),queueMicrotask(()=>this.syncOpenState())}syncOpenState(){this.dialogTarget&&(this.titleTarget?.textContent?.trim()?(this.titleTarget.id=this.titleId,this.dialogTarget.setAttribute("aria-labelledby",this.titleId),this.dialogTarget.removeAttribute("aria-label")):this.label&&(this.dialogTarget.setAttribute("aria-label",this.label),this.dialogTarget.removeAttribute("aria-labelledby")),this.descriptionTarget?(this.descriptionTarget.id=this.descriptionId,this.dialogTarget.setAttribute("aria-describedby",this.descriptionId)):this.dialogTarget.removeAttribute("aria-describedby"),this.open?(this.previouslyFocused=document.activeElement,queueMicrotask(()=>this.focusInitial())):(this.previouslyFocused?.focus?.(),this.previouslyFocused=null))}focusInitial(){(this.getFocusable()[0]??this.dialogTarget)?.focus()}getFocusable(){return this.dialogTarget?xt(this.dialogTarget):[]}dismiss(e){this.open&&(this.open=!1,this.closeEvent.emit({reason:e}))}onDocumentKeydown(e){if(!this.open)return;if(e.key==="Escape"){e.preventDefault(),this.dismiss("escape");return}if(e.key!=="Tab")return;let i=this.getFocusable();if(!i.length){e.preventDefault(),this.dialogTarget.focus();return}let o=i[0],f=i[i.length-1],m=document.activeElement;e.shiftKey&&m===o?(e.preventDefault(),f.focus()):!e.shiftKey&&m===f&&(e.preventDefault(),o.focus())}onBackdropClick(){this.dismiss("backdrop")}onCloseClick(){this.dismiss("dismiss")}render(){return $t("div",{class:"rui-dialog",hidden:this.dialogHidden,children:[S("div",{"data-ref":"backdrop",class:"rui-dialog__backdrop"}),$t("div",{"data-ref":"dialog",class:"rui-dialog__surface",tabindex:-1,role:this.resolvedRole,"aria-modal":"true",children:[S("slot",{name:"close"}),S("slot",{name:"title"}),S("slot",{}),S("slot",{name:"actions"})]})]})}static{Ct()}};import{jsx as y,jsxs as me}from"@ecopages/jsx/jsx-runtime";function G(...t){return t.filter(Boolean).join(" ")}function Jt({children:t,slot:e="title",class:i,...o}){return y("div",{...o,slot:e,"data-dialog-title":!0,"data-ref":"title",class:G("rui-dialog__title",i),children:t})}function Qt({children:t,class:e,...i}){return y("div",{...i,"data-dialog-body":!0,"data-ref":"description",class:G("rui-dialog__body",e),children:t})}function Wt({children:t,slot:e="actions",class:i,...o}){return y("div",{...o,slot:e,class:G("rui-dialog__actions",i),children:t})}function Xt({children:t,slot:e="close",class:i,"aria-label":o="Close",...f}){return y("button",{...f,slot:e,type:"button","data-dialog-close":!0,"data-ref":"close",class:G("rui-dialog__close",i),"aria-label":o,children:t??"\xD7"})}function be({title:t,actions:e,children:i,...o}){return t!=null||e!=null?me("rui-dialog",{...o,children:[y(Xt,{}),t!=null?y(Jt,{children:t}):null,i!=null?y(Qt,{children:i}):null,e!=null?y(Wt,{children:e}):null]}):y("rui-dialog",{...o,children:i})}var E="__rui-dialog-host",K="rui-dialog-open",M="rui-dialog-close",z="rui-dialog-toggle",lt="rui-dialog-action";function Yt(t){return"id"in t&&t.id!=null&&t.id!==""}var N=!1,J=null,j=null,c=null;function ut(t){let e=t.trim();if(!e)return null;let i=document.getElementById(e);return i?.localName==="rui-dialog"?i:null}function he(){let t=document.createElement("button");return t.slot="close",t.type="button",t.setAttribute("data-dialog-close",""),t.setAttribute("data-ref","close"),t.className="rui-dialog__close",t.setAttribute("aria-label","Close"),t.textContent="\xD7",t}function _e(t){let e=document.createElement("div");return e.slot="title",e.setAttribute("data-dialog-title",""),e.setAttribute("data-ref","title"),e.className="rui-dialog__title",e.textContent=t,e}function ve(t){let e=document.createElement("div");e.setAttribute("data-dialog-body",""),e.setAttribute("data-ref","description"),e.className="rui-dialog__body";let i=document.createElement("p");return i.textContent=t,e.append(i),e}function ye(t){let e=document.createElement("div");e.slot="actions",e.className="rui-dialog__actions";for(let i of t){let o=document.createElement("button");o.type="button",o.className=`rui-button rui-button--${i.variant??"filled"} rui-button--${i.size??"md"}`,o.setAttribute("data-dialog-action",i.value??""),i.closeOnClick===!1&&o.setAttribute("data-dialog-action-close","false"),o.textContent=i.label,e.append(o)}return e}function U(){j?.remove(),j=null}function Ee(t){U();let e=document.createElement("rui-dialog");return e.id=E,e.alert=!!t.alert,e.label=t.label??"",e.append(he()),t.title&&e.append(_e(t.title)),t.body&&e.append(ve(t.body)),t.actions?.length&&e.append(ye(t.actions)),(J??document.body).appendChild(e),j=e,e}function Zt(t){if(!(!c||c===t))if(c===E)U();else{let e=ut(c);e&&(e.open=!1)}}function R(t){x();let e=ut(t);e&&(Zt(t),e.open=!0,c=t)}function De(t){x(),Zt(E);let e=Ee(t);e.open=!0,c=E}function Q(t){if(typeof t=="string"){R(t);return}if(Yt(t)){R(t.id);return}De(t)}function L(t){x();let e=t??c;if(e){if(e===E)U();else{let i=ut(e);i&&(i.open=!1)}c===e&&(c=null)}}function ct(t){if(x(),c===t){L(t);return}R(t)}function Pt(t){let e=t.detail;if(typeof e=="string"){Q(e);return}e&&typeof e=="object"&&Q(e)}function te(t){let e=t.detail;L(e?.id)}function ee(t){let e=t.detail;e?.id&&ct(e.id)}function ie(t){let e=t.target;if(!e?.closest)return;let i=e.closest("[data-dialog-action]");if(i&&j?.contains(i)){t.preventDefault();let D={value:i.getAttribute("data-dialog-action")||void 0||void 0};j.dispatchEvent(new CustomEvent(lt,{detail:D,bubbles:!0,composed:!0})),i.getAttribute("data-dialog-action-close")!=="false"&&L(E);return}let o=e.closest("[data-dialog-open]");if(o){let m=o.getAttribute("data-dialog-open")?.trim();m&&(t.preventDefault(),R(m));return}let f=e.closest("[data-dialog-close]");if(f){if(f.closest("rui-dialog")?.hasAttribute("open"))return;t.preventDefault(),L()}}function oe(t){let e=t.target?.closest?.("rui-dialog");if(!e)return;let i=e.id||null;i&&c===i&&(i===E&&U(),c=null)}function ne(t={}){return N?(t.mount&&(J=t.mount),st):(N=!0,J=t.mount??document.body,document.addEventListener(K,Pt),document.addEventListener(M,te),document.addEventListener(z,ee),document.addEventListener("click",ie),document.addEventListener("rui-close",oe),st)}function x(){N||ne()}function st(){N&&(document.removeEventListener(K,Pt),document.removeEventListener(M,te),document.removeEventListener(z,ee),document.removeEventListener("click",ie),document.removeEventListener("rui-close",oe),U(),J=null,c=null,N=!1)}function Te(){return c}function Ie(t){x(),Q(t)}function xe(t){x(),L(t)}function Ae(t){x(),ct(t)}function Ce(t){x();let e=t?.trim()||void 0;return{open:o=>{if(e){R(e);return}if(o!=null){if(typeof o=="string"){R(o);return}Q(o)}},close:o=>{L(o??e)},toggle:o=>{let f=o??e;f&&ct(f)},get openId(){return c}}}export{lt as RUI_DIALOG_ACTION_EVENT,M as RUI_DIALOG_CLOSE_EVENT,E as RUI_DIALOG_HOST_ID,K as RUI_DIALOG_OPEN_EVENT,z as RUI_DIALOG_TOGGLE_EVENT,be as RuiDialog,Wt as RuiDialogActions,Qt as RuiDialogBody,Xt as RuiDialogClose,zt as RuiDialogElement,Jt as RuiDialogTitle,xe as closeDialog,Ce as createDialogHandle,Te as getOpenDialogId,ne as installDialogs,Ie as openDialog,Ae as toggleDialog,st as uninstallDialogs};
2
2
  //# sourceMappingURL=index.js.map