@ecopages/radiant-ui 0.1.0-beta.6 → 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 +21 -5
  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/calendar/calendar.script.tsx", "../../../../src/lib/intl/locale.ts", "../../../../src/lib/intl-date/iso.ts", "../../../../src/lib/intl-date/selection.ts", "../../../../src/lib/intl-date/calendar.ts", "../../../../src/lib/intl-date/months.ts", "../../../../src/lib/intl-date/formatters.ts", "../../../../src/components/ui/calendar/calendar.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_locale, _init_extra_locale, _init_selectionMode, _init_extra_selectionMode, _init_visibleMonths, _init_extra_visibleMonths, _init_pageBehavior, _init_extra_pageBehavior, _init_changeEvent, _init_extra_changeEvent, _init_viewYear, _init_extra_viewYear, _init_viewMonth, _init_extra_viewMonth, _init_focusedIso, _init_extra_focusedIso, _init_weekdayLabels, _init_extra_weekdayLabels, _init_monthPanels, _init_extra_monthPanels, _init_todayLabel, _init_extra_todayLabel, _init_rangeAnchor, _init_extra_rangeAnchor, _init_rangeHover, _init_extra_rangeHover;\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, state } from \"@ecopages/radiant\";\nimport { resolveLocale } from \"@/lib/intl/locale\";\nimport { addMonths, advanceRangeSelection, buildCalendarMonth, dateToIso, formatMonthYear, formatTodayLabel, getVisibleMonthViews, getWeekStartsOn, getWeekdayLabels, isoToDate, parseIsoRange, parseMultipleIsos, serializeIsoRange, serializeMultipleIsos, toggleMultipleIso } from \"@/lib/intl-date\";\nlet _RuiCalendar;\nclass RuiCalendar 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_locale, _init_extra_locale, _init_selectionMode, _init_extra_selectionMode, _init_visibleMonths, _init_extra_visibleMonths, _init_pageBehavior, _init_extra_pageBehavior, _init_changeEvent, _init_extra_changeEvent, _init_viewYear, _init_extra_viewYear, _init_viewMonth, _init_extra_viewMonth, _init_focusedIso, _init_extra_focusedIso, _init_weekdayLabels, _init_extra_weekdayLabels, _init_monthPanels, _init_extra_monthPanels, _init_todayLabel, _init_extra_todayLabel, _init_rangeAnchor, _init_extra_rangeAnchor, _init_rangeHover, _init_extra_rangeHover, _initProto],\n c: [_RuiCalendar, _initClass]\n } = _applyDecs(this, [customElement(\"rui-calendar\")], [[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: String,\n defaultValue: \"\"\n }), 0, \"locale\"], [prop({\n type: String,\n attribute: \"selection-mode\",\n defaultValue: \"single\"\n }), 0, \"selectionMode\"], [prop({\n type: Number,\n attribute: \"visible-months\",\n defaultValue: 1\n }), 0, \"visibleMonths\"], [prop({\n type: String,\n attribute: \"page-behavior\",\n defaultValue: \"visible\"\n }), 0, \"pageBehavior\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [state, 0, \"viewYear\"], [state, 0, \"viewMonth\"], [state, 0, \"focusedIso\"], [state, 0, \"weekdayLabels\"], [state, 0, \"monthPanels\"], [state, 0, \"todayLabel\"], [state, 0, \"rangeAnchor\"], [state, 0, \"rangeHover\"], [onUpdated([\"value\", \"min\", \"max\", \"disabled\", \"locale\", \"selectionMode\", \"visibleMonths\", \"pageBehavior\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: \"[data-calendar-prev-month]\",\n type: \"click\"\n }), 2, \"onPrevMonth\"], [onEvent({\n selector: \"[data-calendar-next-month]\",\n type: \"click\"\n }), 2, \"onNextMonth\"], [onEvent({\n selector: \"[data-calendar-today]\",\n type: \"click\"\n }), 2, \"onTodayClick\"], [onEvent({\n selector: \"[data-calendar-day]\",\n type: \"click\"\n }), 2, \"onDayClick\"], [onEvent({\n selector: \"[data-calendar-day]\",\n type: \"pointerenter\"\n }), 2, \"onDayPointerEnter\"], [onEvent({\n selector: \"[data-calendar-grid]\",\n type: \"pointerleave\"\n }), 2, \"onGridPointerLeave\"], [onEvent({\n selector: \"[data-calendar-day]\",\n type: \"keydown\"\n }), 2, \"onDayKeydown\"]], 0, void 0, RadiantElement));\n }\n constructor(...args) {\n super(...args);\n _init_extra_rangeHover(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 locale = (_init_extra_disabled(this), _init_locale(this));\n selectionMode = (_init_extra_locale(this), _init_selectionMode(this));\n visibleMonths = (_init_extra_selectionMode(this), _init_visibleMonths(this));\n pageBehavior = (_init_extra_visibleMonths(this), _init_pageBehavior(this));\n changeEvent = (_init_extra_pageBehavior(this), _init_changeEvent(this));\n viewYear = (_init_extra_changeEvent(this), _init_viewYear(this, (/* @__PURE__ */new Date()).getFullYear()));\n viewMonth = (_init_extra_viewYear(this), _init_viewMonth(this, (/* @__PURE__ */new Date()).getMonth()));\n focusedIso = (_init_extra_viewMonth(this), _init_focusedIso(this, \"\"));\n weekdayLabels = (_init_extra_focusedIso(this), _init_weekdayLabels(this, []));\n monthPanels = (_init_extra_weekdayLabels(this), _init_monthPanels(this, []));\n todayLabel = (_init_extra_monthPanels(this), _init_todayLabel(this, \"\"));\n rangeAnchor = (_init_extra_todayLabel(this), _init_rangeAnchor(this, null));\n rangeHover = (_init_extra_rangeAnchor(this), _init_rangeHover(this, null));\n get resolvedLocale() {\n return resolveLocale(this.locale);\n }\n get pageDelta() {\n if (this.pageBehavior === \"single\") {\n return 1;\n }\n return Math.max(1, Math.min(this.visibleMonths, 12));\n }\n get monthOptions() {\n return {\n locale: this.resolvedLocale,\n selectionMode: this.selectionMode,\n value: this.value ?? \"\",\n rangeDraft: {\n anchor: this.rangeAnchor,\n hover: this.rangeHover\n },\n min: this.min || void 0,\n max: this.max || void 0\n };\n }\n syncViewFromValue() {\n const iso = this.selectionMode === \"range\" ? parseIsoRange(this.value)?.start ?? \"\" : this.selectionMode === \"multiple\" ? parseMultipleIsos(this.value)[0] ?? \"\" : this.value;\n const date = isoToDate(iso);\n if (date) {\n this.viewYear = date.getFullYear();\n this.viewMonth = date.getMonth();\n this.focusedIso = iso;\n return;\n }\n const today = /* @__PURE__ */new Date();\n this.viewYear = today.getFullYear();\n this.viewMonth = today.getMonth();\n this.focusedIso = dateToIso(today);\n }\n refreshGrid() {\n this.weekdayLabels = getWeekdayLabels(this.resolvedLocale, getWeekStartsOn(this.resolvedLocale));\n this.monthPanels = getVisibleMonthViews(this.viewYear, this.viewMonth, this.visibleMonths).map(view => {\n const viewDate = new Date(view.year, view.month, 1);\n return {\n year: view.year,\n month: view.month,\n label: formatMonthYear(viewDate, this.resolvedLocale),\n weeks: buildCalendarMonth(view.year, view.month, this.monthOptions)\n };\n });\n this.todayLabel = formatTodayLabel(this.resolvedLocale);\n }\n moveMonth(delta) {\n const next = addMonths(this.viewYear, this.viewMonth, delta);\n this.viewYear = next.year;\n this.viewMonth = next.month;\n this.refreshGrid();\n }\n getFlatDays() {\n return this.monthPanels.flatMap(panel => panel.weeks.flat());\n }\n moveFocusedDay(delta) {\n const cells = this.getFlatDays().filter(cell => !cell.isDisabled);\n if (!cells.length) {\n return;\n }\n const currentIndex = cells.findIndex(cell => cell.iso === this.focusedIso);\n const nextIndex = currentIndex < 0 ? Math.max(0, cells.findIndex(cell => cell.inMonth)) : (currentIndex + delta + cells.length) % cells.length;\n const next = cells[nextIndex];\n if (!next) {\n return;\n }\n if (next.date.getMonth() !== this.viewMonth || next.date.getFullYear() !== this.viewYear) {\n this.viewYear = next.date.getFullYear();\n this.viewMonth = next.date.getMonth();\n }\n this.focusedIso = next.iso;\n this.refreshGrid();\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 emitChange(value, extra = {}) {\n this.changeEvent.emit({\n value,\n ...extra\n });\n }\n selectSingle(iso) {\n if (!this.isIsoAllowed(iso) || iso === this.value) {\n return;\n }\n this.value = iso;\n this.emitChange(iso);\n this.refreshGrid();\n }\n selectMultiple(iso) {\n if (!this.isIsoAllowed(iso)) {\n return;\n }\n const next = serializeMultipleIsos(toggleMultipleIso(parseMultipleIsos(this.value), iso));\n if (next === this.value) {\n return;\n }\n this.value = next;\n this.emitChange(next);\n this.refreshGrid();\n }\n selectRange(iso) {\n if (!this.isIsoAllowed(iso)) {\n return;\n }\n const result = advanceRangeSelection(parseIsoRange(this.value), {\n anchor: this.rangeAnchor,\n hover: this.rangeHover\n }, iso);\n this.rangeAnchor = result.draft.anchor;\n this.rangeHover = result.draft.hover;\n if (result.committed) {\n const serialized = serializeIsoRange(result.committed);\n if (serialized !== this.value) {\n this.value = serialized;\n this.emitChange(serialized, {\n start: result.committed.start,\n end: result.committed.end\n });\n }\n }\n this.refreshGrid();\n }\n selectIso(iso) {\n if (this.selectionMode === \"multiple\") {\n this.selectMultiple(iso);\n return;\n }\n if (this.selectionMode === \"range\") {\n this.selectRange(iso);\n return;\n }\n this.selectSingle(iso);\n }\n previewRange(iso) {\n if (this.selectionMode !== \"range\" || !this.rangeAnchor || this.disabled) {\n return;\n }\n if (this.rangeHover === iso) {\n return;\n }\n this.rangeHover = iso;\n this.refreshGrid();\n }\n clearRangePreview() {\n if (!this.rangeHover) {\n return;\n }\n this.rangeHover = this.rangeAnchor;\n this.refreshGrid();\n }\n initialize() {\n this.syncViewFromValue();\n this.refreshGrid();\n }\n connectedCallback() {\n super.connectedCallback();\n queueMicrotask(() => this.initialize());\n }\n onPropsUpdated() {\n if (this.selectionMode !== \"range\") {\n this.rangeAnchor = null;\n this.rangeHover = null;\n }\n this.syncViewFromValue();\n this.refreshGrid();\n }\n onPrevMonth(event2) {\n event2.preventDefault();\n this.moveMonth(-this.pageDelta);\n }\n onNextMonth(event2) {\n event2.preventDefault();\n this.moveMonth(this.pageDelta);\n }\n onTodayClick(event2) {\n event2.preventDefault();\n this.selectIso(dateToIso(/* @__PURE__ */new Date()));\n }\n onDayClick(event2) {\n const button = event2.target.closest(\"[data-calendar-day]\");\n const iso = button?.getAttribute(\"data-iso\");\n if (!iso || button?.disabled || this.disabled) {\n return;\n }\n this.selectIso(iso);\n }\n onDayPointerEnter(event2) {\n const button = event2.target.closest(\"[data-calendar-day]\");\n const iso = button?.getAttribute(\"data-iso\");\n if (!iso || button?.disabled) {\n return;\n }\n this.previewRange(iso);\n }\n onGridPointerLeave() {\n this.clearRangePreview();\n }\n onDayKeydown(event2) {\n if (this.disabled) {\n return;\n }\n if (event2.key === \"ArrowLeft\") {\n event2.preventDefault();\n this.moveFocusedDay(-1);\n return;\n }\n if (event2.key === \"ArrowRight\") {\n event2.preventDefault();\n this.moveFocusedDay(1);\n return;\n }\n if (event2.key === \"ArrowUp\") {\n event2.preventDefault();\n this.moveFocusedDay(-7);\n return;\n }\n if (event2.key === \"ArrowDown\") {\n event2.preventDefault();\n this.moveFocusedDay(7);\n return;\n }\n if (event2.key === \"PageUp\") {\n event2.preventDefault();\n this.moveMonth(event2.shiftKey ? -12 : -this.pageDelta);\n return;\n }\n if (event2.key === \"PageDown\") {\n event2.preventDefault();\n this.moveMonth(event2.shiftKey ? 12 : this.pageDelta);\n return;\n }\n if (event2.key === \"Enter\" || event2.key === \" \") {\n event2.preventDefault();\n const button = event2.target;\n const iso = button.getAttribute(\"data-iso\");\n if (iso && !button.disabled) {\n this.selectIso(iso);\n }\n }\n }\n dayDataAttributes(dayCell) {\n return {\n \"data-range-start\": dayCell.isRangeStart ? \"true\" : void 0,\n \"data-range-end\": dayCell.isRangeEnd ? \"true\" : void 0,\n \"data-range-middle\": dayCell.isRangeMiddle ? \"true\" : void 0\n };\n }\n render() {\n const panelCount = this.monthPanels.length;\n const multiMonth = panelCount > 1;\n return /* @__PURE__ */jsxs(\"div\", {\n class: `rui-calendar${multiMonth ? \" rui-calendar--multi\" : \"\"}`,\n \"data-ref\": \"root\",\n role: \"application\",\n \"aria-label\": \"Calendar\",\n \"aria-multiselectable\": this.selectionMode === \"multiple\" ? \"true\" : void 0,\n children: [/* @__PURE__ */jsx(\"div\", {\n class: \"rui-calendar__months\",\n children: this.monthPanels.map((panel, index) => /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-calendar__month-panel\",\n \"data-calendar-month-panel\": true,\n children: [/* @__PURE__ */jsxs(\"div\", {\n class: \"rui-calendar__header\",\n children: [index === 0 ? /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-calendar__nav\",\n \"data-calendar-prev-month\": true,\n \"aria-label\": \"Previous month\",\n disabled: this.disabled,\n children: \"\\u2039\"\n }) : /* @__PURE__ */jsx(\"span\", {\n class: \"rui-calendar__nav-spacer\",\n \"aria-hidden\": \"true\"\n }), /* @__PURE__ */jsx(\"div\", {\n class: \"rui-calendar__month\",\n \"aria-live\": \"polite\",\n children: panel.label\n }), index === panelCount - 1 ? /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-calendar__nav\",\n \"data-calendar-next-month\": true,\n \"aria-label\": \"Next month\",\n disabled: this.disabled,\n children: \"\\u203A\"\n }) : /* @__PURE__ */jsx(\"span\", {\n class: \"rui-calendar__nav-spacer\",\n \"aria-hidden\": \"true\"\n })]\n }), index === 0 ? /* @__PURE__ */jsx(\"div\", {\n class: \"rui-calendar__weekdays\",\n role: \"row\",\n children: this.weekdayLabels.map(label => /* @__PURE__ */jsx(\"div\", {\n class: \"rui-calendar__weekday\",\n role: \"columnheader\",\n \"aria-hidden\": \"true\",\n children: label\n }))\n }) : null, /* @__PURE__ */jsx(\"div\", {\n class: \"rui-calendar__grid\",\n role: \"grid\",\n \"data-calendar-grid\": true,\n children: panel.weeks.map(weekRow => /* @__PURE__ */jsx(\"div\", {\n class: \"rui-calendar__week\",\n role: \"row\",\n children: weekRow.map(dayCell => /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-calendar__day\",\n \"data-calendar-day\": true,\n \"data-iso\": dayCell.iso,\n role: \"gridcell\",\n disabled: this.disabled || dayCell.isDisabled,\n tabIndex: dayCell.iso === this.focusedIso ? 0 : -1,\n \"aria-selected\": dayCell.isSelected ? \"true\" : \"false\",\n \"aria-current\": dayCell.isToday ? \"date\" : void 0,\n \"data-outside\": dayCell.inMonth ? void 0 : \"true\",\n ...this.dayDataAttributes(dayCell),\n children: dayCell.date.getDate()\n }))\n }))\n })]\n }))\n }), /* @__PURE__ */jsx(\"div\", {\n class: \"rui-calendar__footer\",\n children: /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-calendar__today\",\n \"data-calendar-today\": true,\n disabled: this.disabled,\n children: this.todayLabel\n })\n })]\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiCalendar as RuiCalendar };", "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}", "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}", "import { dateToIso, isIsoInRange } from \"./iso\";\nimport { getDaySelectionAppearance, parseIsoRange, parseMultipleIsos } from \"./selection\";\nexport function getWeekStartsOn(locale) {\n const tag = resolveLocaleTag(locale);\n try {\n const resolved = new Intl.Locale(tag);\n const weekInfo = resolved.weekInfo;\n if (weekInfo?.firstDay != null) {\n return weekInfo.firstDay === 7 ? 0 : weekInfo.firstDay;\n }\n } catch {}\n return tag.startsWith(\"en-US\") ? 0 : 1;\n}\nfunction resolveLocaleTag(locale) {\n if (Array.isArray(locale)) {\n return locale[0] ?? navigator.language;\n }\n return locale ?? navigator.language;\n}\nfunction startOfDay(date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate());\n}\nfunction isSameDay(a, b) {\n return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\n}\nfunction resolveSelectionContext(options) {\n const mode = options.selectionMode ?? \"single\";\n const value = options.value ?? \"\";\n if (mode === \"multiple\") {\n return {\n mode,\n multipleIsos: parseMultipleIsos(value)\n };\n }\n if (mode === \"range\") {\n const committed = parseIsoRange(value);\n if (options.rangeDraft?.anchor) {\n const hover = options.rangeDraft.hover ?? options.rangeDraft.anchor;\n return {\n mode,\n range: normalizeRangeFromDraft(options.rangeDraft.anchor, hover)\n };\n }\n return {\n mode,\n range: committed\n };\n }\n return {\n mode,\n singleIso: value || void 0\n };\n}\nfunction normalizeRangeFromDraft(anchor, hover) {\n if (anchor.localeCompare(hover) <= 0) {\n return {\n start: anchor,\n end: hover\n };\n }\n return {\n start: hover,\n end: anchor\n };\n}\nexport function buildCalendarMonth(year, month, options) {\n const weekStartsOn = getWeekStartsOn(options.locale);\n const today = startOfDay(options.today ?? /* @__PURE__ */new Date());\n const selection = resolveSelectionContext(options);\n const firstOfMonth = new Date(year, month, 1);\n const startOffset = (firstOfMonth.getDay() - weekStartsOn + 7) % 7;\n const gridStart = new Date(year, month, 1 - startOffset);\n const weeks = [];\n const cursor = new Date(gridStart);\n for (let week = 0; week < 6; week += 1) {\n const row = [];\n for (let day = 0; day < 7; day += 1) {\n const iso = dateToIso(cursor);\n const appearance = getDaySelectionAppearance(iso, selection.mode, {\n singleIso: selection.singleIso,\n multipleIsos: selection.multipleIsos,\n range: selection.range\n });\n row.push({\n date: new Date(cursor),\n iso,\n inMonth: cursor.getMonth() === month,\n isToday: isSameDay(cursor, today),\n isSelected: appearance.isSelected,\n isDisabled: !isIsoInRange(iso, options.min, options.max),\n isRangeStart: appearance.isRangeStart,\n isRangeEnd: appearance.isRangeEnd,\n isRangeMiddle: appearance.isRangeMiddle\n });\n cursor.setDate(cursor.getDate() + 1);\n }\n weeks.push(row);\n if (week >= 4 && cursor.getMonth() !== month && cursor.getDate() > 7) {\n break;\n }\n }\n return weeks;\n}", "export function addMonths(year, month, delta) {\n const date = new Date(year, month + delta, 1);\n return {\n year: date.getFullYear(),\n month: date.getMonth()\n };\n}\nexport function getVisibleMonthViews(year, month, count) {\n const safeCount = Math.max(1, Math.min(count, 12));\n return Array.from({\n length: safeCount\n }, (_, offset) => {\n const next = addMonths(year, month, offset);\n return {\n year: next.year,\n month: next.month,\n offset\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}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { defineRadiantView } from \"@/lib/radiant-view\";\nimport { RuiCalendar as RuiCalendarElement } from \"./calendar.script\";\nexport const RuiCalendar = defineRadiantView(RuiCalendarElement, ({\n children,\n ...props\n}) => /* @__PURE__ */jsx(\"rui-calendar\", {\n ...props,\n children\n}), {\n stylesheets: [\"./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", "state", "resolveLocale", "locale", "tags", "tag", "isoToDate", "iso", "match", "year", "month", "day", "date", "dateToIso", "isIsoInRange", "min", "max", "compareIso", "a", "b", "normalizeRange", "start", "end", "parseIsoRange", "value", "serializeIsoRange", "range", "normalized", "parseMultipleIsos", "iso", "serializeMultipleIsos", "values", "toggleMultipleIso", "selected", "set", "isIsoInSpan", "getDaySelectionAppearance", "iso", "mode", "options", "selected", "range", "normalized", "normalizeRange", "inSpan", "isIsoInSpan", "isStart", "isEnd", "advanceRangeSelection", "committed", "draft", "getWeekStartsOn", "locale", "tag", "resolveLocaleTag", "weekInfo", "startOfDay", "date", "isSameDay", "a", "b", "resolveSelectionContext", "options", "mode", "value", "parseMultipleIsos", "committed", "parseIsoRange", "hover", "normalizeRangeFromDraft", "anchor", "buildCalendarMonth", "year", "month", "weekStartsOn", "today", "selection", "startOffset", "gridStart", "weeks", "cursor", "week", "row", "day", "iso", "dateToIso", "appearance", "getDaySelectionAppearance", "isIsoInRange", "addMonths", "year", "month", "delta", "date", "getVisibleMonthViews", "count", "safeCount", "_", "offset", "next", "formatterCache", "cacheKey", "locale", "options", "getDateTimeFormat", "key", "cached", "formatter", "formatMonthYear", "date", "locale", "getDateTimeFormat", "getWeekdayLabels", "weekStartsOn", "formatter", "labels", "offset", "dayIndex", "reference", "formatTodayLabel", "locale", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_min", "_init_extra_min", "_init_max", "_init_extra_max", "_init_disabled", "_init_extra_disabled", "_init_locale", "_init_extra_locale", "_init_selectionMode", "_init_extra_selectionMode", "_init_visibleMonths", "_init_extra_visibleMonths", "_init_pageBehavior", "_init_extra_pageBehavior", "_init_changeEvent", "_init_extra_changeEvent", "_init_viewYear", "_init_extra_viewYear", "_init_viewMonth", "_init_extra_viewMonth", "_init_focusedIso", "_init_extra_focusedIso", "_init_weekdayLabels", "_init_extra_weekdayLabels", "_init_monthPanels", "_init_extra_monthPanels", "_init_todayLabel", "_init_extra_todayLabel", "_init_rangeAnchor", "_init_extra_rangeAnchor", "_init_rangeHover", "_init_extra_rangeHover", "_applyDecs", "e", "t", "i", "a", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "n", "r", "o", "b", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "c", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiCalendar", "RuiCalendar", "RadiantElement", "customElement", "prop", "event", "state", "onUpdated", "onEvent", "args", "resolveLocale", "iso", "parseIsoRange", "parseMultipleIsos", "date", "isoToDate", "today", "dateToIso", "getWeekdayLabels", "getWeekStartsOn", "getVisibleMonthViews", "view", "viewDate", "formatMonthYear", "buildCalendarMonth", "formatTodayLabel", "delta", "next", "addMonths", "panel", "cells", "cell", "currentIndex", "nextIndex", "value", "extra", "serializeMultipleIsos", "toggleMultipleIso", "result", "advanceRangeSelection", "serialized", "serializeIsoRange", "event2", "button", "dayCell", "panelCount", "multiMonth", "jsxs", "jsx", "index", "label", "weekRow", "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", "RuiCalendar", "defineRadiantView", "_RuiCalendar", "children", "props", "jsx"]
3
+ "sources": ["../../../../src/components/ui/calendar/calendar.script.tsx", "../../../../src/lib/intl/locale.ts", "../../../../src/lib/intl-date/iso.ts", "../../../../src/lib/intl-date/selection.ts", "../../../../src/lib/intl-date/calendar.ts", "../../../../src/lib/intl-date/months.ts", "../../../../src/lib/intl-date/formatters.ts", "../../../../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_locale, _init_extra_locale, _init_selectionMode, _init_extra_selectionMode, _init_visibleMonths, _init_extra_visibleMonths, _init_pageBehavior, _init_extra_pageBehavior, _init_changeEvent, _init_extra_changeEvent, _init_viewYear, _init_extra_viewYear, _init_viewMonth, _init_extra_viewMonth, _init_focusedIso, _init_extra_focusedIso, _init_weekdayLabels, _init_extra_weekdayLabels, _init_monthPanels, _init_extra_monthPanels, _init_todayLabel, _init_extra_todayLabel, _init_rangeAnchor, _init_extra_rangeAnchor, _init_rangeHover, _init_extra_rangeHover;\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, state } from \"@ecopages/radiant\";\nimport { resolveLocale } from \"@/lib/intl/locale\";\nimport { addMonths, advanceRangeSelection, buildCalendarMonth, dateToIso, formatMonthYear, formatTodayLabel, getVisibleMonthViews, getWeekStartsOn, getWeekdayLabels, isoToDate, parseIsoRange, parseMultipleIsos, serializeIsoRange, serializeMultipleIsos, toggleMultipleIso } from \"@/lib/intl-date\";\nlet _RuiCalendar;\nclass RuiCalendar 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_locale, _init_extra_locale, _init_selectionMode, _init_extra_selectionMode, _init_visibleMonths, _init_extra_visibleMonths, _init_pageBehavior, _init_extra_pageBehavior, _init_changeEvent, _init_extra_changeEvent, _init_viewYear, _init_extra_viewYear, _init_viewMonth, _init_extra_viewMonth, _init_focusedIso, _init_extra_focusedIso, _init_weekdayLabels, _init_extra_weekdayLabels, _init_monthPanels, _init_extra_monthPanels, _init_todayLabel, _init_extra_todayLabel, _init_rangeAnchor, _init_extra_rangeAnchor, _init_rangeHover, _init_extra_rangeHover, _initProto],\n c: [_RuiCalendar, _initClass]\n } = _applyDecs(this, [customElement(\"rui-calendar\")], [[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: String,\n defaultValue: \"\"\n }), 0, \"locale\"], [prop({\n type: String,\n attribute: \"selection-mode\",\n defaultValue: \"single\"\n }), 0, \"selectionMode\"], [prop({\n type: Number,\n attribute: \"visible-months\",\n defaultValue: 1\n }), 0, \"visibleMonths\"], [prop({\n type: String,\n attribute: \"page-behavior\",\n defaultValue: \"visible\"\n }), 0, \"pageBehavior\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [state, 0, \"viewYear\"], [state, 0, \"viewMonth\"], [state, 0, \"focusedIso\"], [state, 0, \"weekdayLabels\"], [state, 0, \"monthPanels\"], [state, 0, \"todayLabel\"], [state, 0, \"rangeAnchor\"], [state, 0, \"rangeHover\"], [onUpdated([\"value\", \"min\", \"max\", \"disabled\", \"locale\", \"selectionMode\", \"visibleMonths\", \"pageBehavior\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: \"[data-calendar-prev-month]\",\n type: \"click\"\n }), 2, \"onPrevMonth\"], [onEvent({\n selector: \"[data-calendar-next-month]\",\n type: \"click\"\n }), 2, \"onNextMonth\"], [onEvent({\n selector: \"[data-calendar-today]\",\n type: \"click\"\n }), 2, \"onTodayClick\"], [onEvent({\n selector: \"[data-calendar-day]\",\n type: \"click\"\n }), 2, \"onDayClick\"], [onEvent({\n selector: \"[data-calendar-day]\",\n type: \"pointerenter\"\n }), 2, \"onDayPointerEnter\"], [onEvent({\n selector: \"[data-calendar-grid]\",\n type: \"pointerleave\"\n }), 2, \"onGridPointerLeave\"], [onEvent({\n selector: \"[data-calendar-day]\",\n type: \"keydown\"\n }), 2, \"onDayKeydown\"]], 0, void 0, RadiantElement));\n }\n constructor(...args) {\n super(...args);\n _init_extra_rangeHover(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 locale = (_init_extra_disabled(this), _init_locale(this));\n selectionMode = (_init_extra_locale(this), _init_selectionMode(this));\n visibleMonths = (_init_extra_selectionMode(this), _init_visibleMonths(this));\n pageBehavior = (_init_extra_visibleMonths(this), _init_pageBehavior(this));\n changeEvent = (_init_extra_pageBehavior(this), _init_changeEvent(this));\n viewYear = (_init_extra_changeEvent(this), _init_viewYear(this, (/* @__PURE__ */new Date()).getFullYear()));\n viewMonth = (_init_extra_viewYear(this), _init_viewMonth(this, (/* @__PURE__ */new Date()).getMonth()));\n focusedIso = (_init_extra_viewMonth(this), _init_focusedIso(this, \"\"));\n weekdayLabels = (_init_extra_focusedIso(this), _init_weekdayLabels(this, []));\n monthPanels = (_init_extra_weekdayLabels(this), _init_monthPanels(this, []));\n todayLabel = (_init_extra_monthPanels(this), _init_todayLabel(this, \"\"));\n rangeAnchor = (_init_extra_todayLabel(this), _init_rangeAnchor(this, null));\n rangeHover = (_init_extra_rangeAnchor(this), _init_rangeHover(this, null));\n get resolvedLocale() {\n return resolveLocale(this.locale);\n }\n get pageDelta() {\n if (this.pageBehavior === \"single\") {\n return 1;\n }\n return Math.max(1, Math.min(this.visibleMonths, 12));\n }\n get monthOptions() {\n return {\n locale: this.resolvedLocale,\n selectionMode: this.selectionMode,\n value: this.value ?? \"\",\n rangeDraft: {\n anchor: this.rangeAnchor,\n hover: this.rangeHover\n },\n min: this.min || void 0,\n max: this.max || void 0\n };\n }\n syncViewFromValue() {\n const iso = this.selectionMode === \"range\" ? parseIsoRange(this.value)?.start ?? \"\" : this.selectionMode === \"multiple\" ? parseMultipleIsos(this.value)[0] ?? \"\" : this.value;\n const date = isoToDate(iso);\n if (date) {\n this.viewYear = date.getFullYear();\n this.viewMonth = date.getMonth();\n this.focusedIso = iso;\n return;\n }\n const today = /* @__PURE__ */new Date();\n this.viewYear = today.getFullYear();\n this.viewMonth = today.getMonth();\n this.focusedIso = dateToIso(today);\n }\n refreshGrid() {\n this.weekdayLabels = getWeekdayLabels(this.resolvedLocale, getWeekStartsOn(this.resolvedLocale));\n this.monthPanels = getVisibleMonthViews(this.viewYear, this.viewMonth, this.visibleMonths).map(view => {\n const viewDate = new Date(view.year, view.month, 1);\n return {\n year: view.year,\n month: view.month,\n label: formatMonthYear(viewDate, this.resolvedLocale),\n weeks: buildCalendarMonth(view.year, view.month, this.monthOptions)\n };\n });\n this.todayLabel = formatTodayLabel(this.resolvedLocale);\n }\n moveMonth(delta) {\n const next = addMonths(this.viewYear, this.viewMonth, delta);\n this.viewYear = next.year;\n this.viewMonth = next.month;\n this.refreshGrid();\n }\n getFlatDays() {\n return this.monthPanels.flatMap(panel => panel.weeks.flat());\n }\n moveFocusedDay(delta) {\n const cells = this.getFlatDays().filter(cell => !cell.isDisabled);\n if (!cells.length) {\n return;\n }\n const currentIndex = cells.findIndex(cell => cell.iso === this.focusedIso);\n const nextIndex = currentIndex < 0 ? Math.max(0, cells.findIndex(cell => cell.inMonth)) : (currentIndex + delta + cells.length) % cells.length;\n const next = cells[nextIndex];\n if (!next) {\n return;\n }\n if (!this.isMonthVisible(next.date)) {\n this.viewYear = next.date.getFullYear();\n this.viewMonth = next.date.getMonth();\n this.focusedIso = next.iso;\n this.refreshGrid();\n this.focusFocusedDay();\n return;\n }\n this.focusedIso = next.iso;\n this.focusDayInCurrentGrid(next.iso);\n }\n isMonthVisible(date) {\n const visibleStart = this.viewYear * 12 + this.viewMonth;\n const visibleEnd = visibleStart + this.visibleMonths - 1;\n const target = date.getFullYear() * 12 + date.getMonth();\n return target >= visibleStart && target <= visibleEnd;\n }\n /** Moves roving focus without rebuilding a grid that already contains the target day. */\n focusDayInCurrentGrid(iso) {\n const current = this.querySelector('[data-calendar-day][tabindex=\"0\"]');\n const candidates = Array.from(this.querySelectorAll(`[data-calendar-day][data-iso=\"${iso}\"]:not(:disabled)`));\n const next = candidates.find(day => !day.hasAttribute(\"data-outside\")) ?? candidates[0];\n if (!next) {\n return;\n }\n if (current && current !== next) {\n current.tabIndex = -1;\n }\n next.tabIndex = 0;\n next.focus();\n }\n /** Restores DOM focus after rebuilding the grid around a newly visible day. */\n focusFocusedDay() {\n requestAnimationFrame(() => {\n this.focusDayInCurrentGrid(this.focusedIso);\n });\n }\n moveFocusedMonth(delta) {\n const current = isoToDate(this.focusedIso) ?? new Date(this.viewYear, this.viewMonth, 1);\n const target = new Date(current.getFullYear(), current.getMonth() + delta, 1);\n const lastDay = new Date(target.getFullYear(), target.getMonth() + 1, 0).getDate();\n const next = new Date(target.getFullYear(), target.getMonth(), Math.min(current.getDate(), lastDay));\n this.viewYear = next.getFullYear();\n this.viewMonth = next.getMonth();\n this.focusedIso = dateToIso(next);\n this.refreshGrid();\n this.focusFocusedDay();\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 emitChange(value, extra = {}) {\n this.changeEvent.emit({\n value,\n ...extra\n });\n }\n selectSingle(iso) {\n if (!this.isIsoAllowed(iso) || iso === this.value) {\n return;\n }\n this.value = iso;\n this.emitChange(iso);\n this.refreshGrid();\n }\n selectMultiple(iso) {\n if (!this.isIsoAllowed(iso)) {\n return;\n }\n const next = serializeMultipleIsos(toggleMultipleIso(parseMultipleIsos(this.value), iso));\n if (next === this.value) {\n return;\n }\n this.value = next;\n this.emitChange(next);\n this.refreshGrid();\n }\n selectRange(iso) {\n if (!this.isIsoAllowed(iso)) {\n return;\n }\n const result = advanceRangeSelection(parseIsoRange(this.value), {\n anchor: this.rangeAnchor,\n hover: this.rangeHover\n }, iso);\n this.rangeAnchor = result.draft.anchor;\n this.rangeHover = result.draft.hover;\n if (result.committed) {\n const serialized = serializeIsoRange(result.committed);\n if (serialized !== this.value) {\n this.value = serialized;\n this.emitChange(serialized, {\n start: result.committed.start,\n end: result.committed.end\n });\n }\n }\n this.refreshGrid();\n }\n selectIso(iso) {\n if (this.selectionMode === \"multiple\") {\n this.selectMultiple(iso);\n return;\n }\n if (this.selectionMode === \"range\") {\n this.selectRange(iso);\n return;\n }\n this.selectSingle(iso);\n }\n previewRange(iso) {\n if (this.selectionMode !== \"range\" || !this.rangeAnchor || this.disabled) {\n return;\n }\n if (this.rangeHover === iso) {\n return;\n }\n this.rangeHover = iso;\n this.refreshGrid();\n }\n clearRangePreview() {\n if (!this.rangeHover) {\n return;\n }\n this.rangeHover = this.rangeAnchor;\n this.refreshGrid();\n }\n initialize() {\n this.syncViewFromValue();\n this.refreshGrid();\n }\n connectedCallback() {\n super.connectedCallback();\n queueMicrotask(() => this.initialize());\n }\n onPropsUpdated() {\n if (this.selectionMode !== \"range\") {\n this.rangeAnchor = null;\n this.rangeHover = null;\n }\n this.syncViewFromValue();\n this.refreshGrid();\n }\n onPrevMonth(event2) {\n event2.preventDefault();\n this.moveMonth(-this.pageDelta);\n }\n onNextMonth(event2) {\n event2.preventDefault();\n this.moveMonth(this.pageDelta);\n }\n onTodayClick(event2) {\n event2.preventDefault();\n this.selectIso(dateToIso(/* @__PURE__ */new Date()));\n }\n onDayClick(event2) {\n const button = event2.target.closest(\"[data-calendar-day]\");\n const iso = button?.getAttribute(\"data-iso\");\n if (!iso || button?.disabled || this.disabled) {\n return;\n }\n this.selectIso(iso);\n }\n onDayPointerEnter(event2) {\n const button = event2.target.closest(\"[data-calendar-day]\");\n const iso = button?.getAttribute(\"data-iso\");\n if (!iso || button?.disabled) {\n return;\n }\n this.previewRange(iso);\n }\n onGridPointerLeave() {\n this.clearRangePreview();\n }\n onDayKeydown(event2) {\n if (this.disabled) {\n return;\n }\n const currentIso = event2.target.getAttribute(\"data-iso\");\n if (currentIso) {\n this.focusedIso = currentIso;\n }\n if (event2.key === \"ArrowLeft\") {\n event2.preventDefault();\n this.moveFocusedDay(-1);\n return;\n }\n if (event2.key === \"ArrowRight\") {\n event2.preventDefault();\n this.moveFocusedDay(1);\n return;\n }\n if (event2.key === \"ArrowUp\") {\n event2.preventDefault();\n this.moveFocusedDay(-7);\n return;\n }\n if (event2.key === \"ArrowDown\") {\n event2.preventDefault();\n this.moveFocusedDay(7);\n return;\n }\n if (event2.key === \"PageUp\") {\n event2.preventDefault();\n this.moveFocusedMonth(event2.shiftKey ? -12 : -this.pageDelta);\n return;\n }\n if (event2.key === \"PageDown\") {\n event2.preventDefault();\n this.moveFocusedMonth(event2.shiftKey ? 12 : this.pageDelta);\n return;\n }\n if (event2.key === \"Enter\" || event2.key === \" \") {\n event2.preventDefault();\n const button = event2.target;\n const iso = button.getAttribute(\"data-iso\");\n if (iso && !button.disabled) {\n this.selectIso(iso);\n }\n }\n }\n dayDataAttributes(dayCell) {\n return {\n \"data-range-start\": dayCell.isRangeStart ? \"true\" : void 0,\n \"data-range-end\": dayCell.isRangeEnd ? \"true\" : void 0,\n \"data-range-middle\": dayCell.isRangeMiddle ? \"true\" : void 0\n };\n }\n render() {\n const panelCount = this.monthPanels.length;\n const multiMonth = panelCount > 1;\n return /* @__PURE__ */jsxs(\"div\", {\n class: `rui-calendar${multiMonth ? \" rui-calendar--multi\" : \"\"}`,\n \"data-ref\": \"root\",\n role: \"application\",\n \"aria-label\": \"Calendar\",\n \"aria-multiselectable\": this.selectionMode === \"multiple\" ? \"true\" : void 0,\n children: [/* @__PURE__ */jsx(\"div\", {\n class: \"rui-calendar__months\",\n children: this.monthPanels.map((panel, index) => /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-calendar__month-panel\",\n \"data-calendar-month-panel\": true,\n children: [/* @__PURE__ */jsxs(\"div\", {\n class: \"rui-calendar__header\",\n children: [index === 0 ? /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-calendar__nav\",\n \"data-calendar-prev-month\": true,\n \"aria-label\": \"Previous month\",\n disabled: this.disabled,\n children: \"\\u2039\"\n }) : /* @__PURE__ */jsx(\"span\", {\n class: \"rui-calendar__nav-spacer\",\n \"aria-hidden\": \"true\"\n }), /* @__PURE__ */jsx(\"div\", {\n class: \"rui-calendar__month\",\n \"aria-live\": \"polite\",\n children: panel.label\n }), index === panelCount - 1 ? /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-calendar__nav\",\n \"data-calendar-next-month\": true,\n \"aria-label\": \"Next month\",\n disabled: this.disabled,\n children: \"\\u203A\"\n }) : /* @__PURE__ */jsx(\"span\", {\n class: \"rui-calendar__nav-spacer\",\n \"aria-hidden\": \"true\"\n })]\n }), index === 0 ? /* @__PURE__ */jsx(\"div\", {\n class: \"rui-calendar__weekdays\",\n role: \"row\",\n children: this.weekdayLabels.map(label => /* @__PURE__ */jsx(\"div\", {\n class: \"rui-calendar__weekday\",\n role: \"columnheader\",\n \"aria-hidden\": \"true\",\n children: label\n }))\n }) : null, /* @__PURE__ */jsx(\"div\", {\n class: \"rui-calendar__grid\",\n role: \"grid\",\n \"data-calendar-grid\": true,\n children: panel.weeks.map(weekRow => /* @__PURE__ */jsx(\"div\", {\n class: \"rui-calendar__week\",\n role: \"row\",\n children: weekRow.map(dayCell => /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-calendar__day\",\n \"data-calendar-day\": true,\n \"data-iso\": dayCell.iso,\n role: \"gridcell\",\n disabled: this.disabled || dayCell.isDisabled,\n tabIndex: dayCell.iso === this.focusedIso ? 0 : -1,\n \"aria-selected\": dayCell.isSelected ? \"true\" : \"false\",\n \"aria-current\": dayCell.isToday ? \"date\" : void 0,\n \"data-outside\": dayCell.inMonth ? void 0 : \"true\",\n ...this.dayDataAttributes(dayCell),\n children: dayCell.date.getDate()\n }))\n }))\n })]\n }))\n }), /* @__PURE__ */jsx(\"div\", {\n class: \"rui-calendar__footer\",\n children: /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-calendar__today\",\n \"data-calendar-today\": true,\n disabled: this.disabled,\n children: this.todayLabel\n })\n })]\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiCalendar as RuiCalendar };", "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}", "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}", "import { dateToIso, isIsoInRange } from \"./iso\";\nimport { getDaySelectionAppearance, parseIsoRange, parseMultipleIsos } from \"./selection\";\nexport function getWeekStartsOn(locale) {\n const tag = resolveLocaleTag(locale);\n try {\n const resolved = new Intl.Locale(tag);\n const weekInfo = resolved.weekInfo;\n if (weekInfo?.firstDay != null) {\n return weekInfo.firstDay === 7 ? 0 : weekInfo.firstDay;\n }\n } catch {}\n return tag.startsWith(\"en-US\") ? 0 : 1;\n}\nfunction resolveLocaleTag(locale) {\n if (Array.isArray(locale)) {\n return locale[0] ?? navigator.language;\n }\n return locale ?? navigator.language;\n}\nfunction startOfDay(date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate());\n}\nfunction isSameDay(a, b) {\n return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\n}\nfunction resolveSelectionContext(options) {\n const mode = options.selectionMode ?? \"single\";\n const value = options.value ?? \"\";\n if (mode === \"multiple\") {\n return {\n mode,\n multipleIsos: parseMultipleIsos(value)\n };\n }\n if (mode === \"range\") {\n const committed = parseIsoRange(value);\n if (options.rangeDraft?.anchor) {\n const hover = options.rangeDraft.hover ?? options.rangeDraft.anchor;\n return {\n mode,\n range: normalizeRangeFromDraft(options.rangeDraft.anchor, hover)\n };\n }\n return {\n mode,\n range: committed\n };\n }\n return {\n mode,\n singleIso: value || void 0\n };\n}\nfunction normalizeRangeFromDraft(anchor, hover) {\n if (anchor.localeCompare(hover) <= 0) {\n return {\n start: anchor,\n end: hover\n };\n }\n return {\n start: hover,\n end: anchor\n };\n}\nexport function buildCalendarMonth(year, month, options) {\n const weekStartsOn = getWeekStartsOn(options.locale);\n const today = startOfDay(options.today ?? /* @__PURE__ */new Date());\n const selection = resolveSelectionContext(options);\n const firstOfMonth = new Date(year, month, 1);\n const startOffset = (firstOfMonth.getDay() - weekStartsOn + 7) % 7;\n const gridStart = new Date(year, month, 1 - startOffset);\n const weeks = [];\n const cursor = new Date(gridStart);\n for (let week = 0; week < 6; week += 1) {\n const row = [];\n for (let day = 0; day < 7; day += 1) {\n const iso = dateToIso(cursor);\n const appearance = getDaySelectionAppearance(iso, selection.mode, {\n singleIso: selection.singleIso,\n multipleIsos: selection.multipleIsos,\n range: selection.range\n });\n row.push({\n date: new Date(cursor),\n iso,\n inMonth: cursor.getMonth() === month,\n isToday: isSameDay(cursor, today),\n isSelected: appearance.isSelected,\n isDisabled: !isIsoInRange(iso, options.min, options.max),\n isRangeStart: appearance.isRangeStart,\n isRangeEnd: appearance.isRangeEnd,\n isRangeMiddle: appearance.isRangeMiddle\n });\n cursor.setDate(cursor.getDate() + 1);\n }\n weeks.push(row);\n if (week >= 4 && cursor.getMonth() !== month && cursor.getDate() > 7) {\n break;\n }\n }\n return weeks;\n}", "export function addMonths(year, month, delta) {\n const date = new Date(year, month + delta, 1);\n return {\n year: date.getFullYear(),\n month: date.getMonth()\n };\n}\nexport function getVisibleMonthViews(year, month, count) {\n const safeCount = Math.max(1, Math.min(count, 12));\n return Array.from({\n length: safeCount\n }, (_, offset) => {\n const next = addMonths(year, month, offset);\n return {\n year: next.year,\n month: next.month,\n offset\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}", "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": ["jsx", "jsxs", "RadiantElement", "customElement", "event", "onEvent", "onUpdated", "prop", "state", "resolveLocale", "locale", "tags", "tag", "isoToDate", "iso", "match", "year", "month", "day", "date", "dateToIso", "isIsoInRange", "min", "max", "compareIso", "a", "b", "normalizeRange", "start", "end", "parseIsoRange", "value", "serializeIsoRange", "range", "normalized", "parseMultipleIsos", "iso", "serializeMultipleIsos", "values", "toggleMultipleIso", "selected", "set", "isIsoInSpan", "getDaySelectionAppearance", "iso", "mode", "options", "selected", "range", "normalized", "normalizeRange", "inSpan", "isIsoInSpan", "isStart", "isEnd", "advanceRangeSelection", "committed", "draft", "getWeekStartsOn", "locale", "tag", "resolveLocaleTag", "weekInfo", "startOfDay", "date", "isSameDay", "a", "b", "resolveSelectionContext", "options", "mode", "value", "parseMultipleIsos", "committed", "parseIsoRange", "hover", "normalizeRangeFromDraft", "anchor", "buildCalendarMonth", "year", "month", "weekStartsOn", "today", "selection", "startOffset", "gridStart", "weeks", "cursor", "week", "row", "day", "iso", "dateToIso", "appearance", "getDaySelectionAppearance", "isIsoInRange", "addMonths", "year", "month", "delta", "date", "getVisibleMonthViews", "count", "safeCount", "_", "offset", "next", "formatterCache", "cacheKey", "locale", "options", "getDateTimeFormat", "key", "cached", "formatter", "formatMonthYear", "date", "locale", "getDateTimeFormat", "getWeekdayLabels", "weekStartsOn", "formatter", "labels", "offset", "dayIndex", "reference", "formatTodayLabel", "locale", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_min", "_init_extra_min", "_init_max", "_init_extra_max", "_init_disabled", "_init_extra_disabled", "_init_locale", "_init_extra_locale", "_init_selectionMode", "_init_extra_selectionMode", "_init_visibleMonths", "_init_extra_visibleMonths", "_init_pageBehavior", "_init_extra_pageBehavior", "_init_changeEvent", "_init_extra_changeEvent", "_init_viewYear", "_init_extra_viewYear", "_init_viewMonth", "_init_extra_viewMonth", "_init_focusedIso", "_init_extra_focusedIso", "_init_weekdayLabels", "_init_extra_weekdayLabels", "_init_monthPanels", "_init_extra_monthPanels", "_init_todayLabel", "_init_extra_todayLabel", "_init_rangeAnchor", "_init_extra_rangeAnchor", "_init_rangeHover", "_init_extra_rangeHover", "_applyDecs", "e", "t", "o", "a", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "n", "r", "i", "b", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "c", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiCalendar", "RuiCalendar", "RadiantElement", "customElement", "prop", "event", "state", "onUpdated", "onEvent", "args", "resolveLocale", "iso", "parseIsoRange", "parseMultipleIsos", "date", "isoToDate", "today", "dateToIso", "getWeekdayLabels", "getWeekStartsOn", "getVisibleMonthViews", "view", "viewDate", "formatMonthYear", "buildCalendarMonth", "formatTodayLabel", "delta", "next", "addMonths", "panel", "cells", "cell", "currentIndex", "nextIndex", "visibleStart", "visibleEnd", "target", "current", "candidates", "day", "lastDay", "value", "extra", "serializeMultipleIsos", "toggleMultipleIso", "result", "advanceRangeSelection", "serialized", "serializeIsoRange", "event2", "button", "currentIso", "dayCell", "panelCount", "multiMonth", "jsxs", "jsx", "index", "label", "weekRow", "jsx", "RuiCalendar", "children", "props", "jsx"]
7
7
  }
@@ -1,5 +1,6 @@
1
1
  import type { JsxHtmlPropsWithChildren, JsxRenderable } from '@ecopages/jsx';
2
2
  import type { RuiCarouselProps } from './carousel.script';
3
+ import './carousel.script';
3
4
  export type RuiCarouselSlideData = {
4
5
  id: string;
5
6
  children: JsxRenderable;
@@ -7,7 +8,11 @@ export type RuiCarouselSlideData = {
7
8
  export type RuiCarouselSlideProps = JsxHtmlPropsWithChildren<{
8
9
  id: string;
9
10
  }>;
10
- /** Slide in the default carousel slot (APG `group` / `tabpanel` roles are applied by the host). */
11
+ /**
12
+ * Slide in the default carousel slot (APG `group` / `tabpanel` roles are applied by the host).
13
+ *
14
+ * @cssclass rui-carousel__slide - Slide surface.
15
+ */
11
16
  export declare function RuiCarouselSlide({ id, children, class: className, ...props }: RuiCarouselSlideProps): JsxRenderable;
12
17
  export type RuiCarouselControlProps = JsxHtmlPropsWithChildren<{
13
18
  slot?: string;
@@ -15,17 +20,38 @@ export type RuiCarouselControlProps = JsxHtmlPropsWithChildren<{
15
20
  /** Match `controls-variant="overlay"` on the carousel for circular on-slide chrome. */
16
21
  overlay?: boolean;
17
22
  }>;
18
- /** Previous control slotted into `prev` by default. */
23
+ /**
24
+ * Previous control slotted into `prev` by default.
25
+ *
26
+ * @cssclass rui-carousel__nav - Prev nav button (composed with `rui-button`).
27
+ * @cssclass rui-carousel__nav--overlay - Circular on-slide chrome for `controls-variant="overlay"`.
28
+ * @cssclass rui-carousel__nav--toolbar - Toolbar chrome (default).
29
+ * @cssclass rui-carousel__nav-label - Icon + label row (toolbar variant).
30
+ * @cssclass rui-carousel__nav-icon - Decorative chevron glyph.
31
+ */
19
32
  export declare function RuiCarouselPrev({ children, slot, class: className, disabled, overlay, ...props }: RuiCarouselControlProps): JsxRenderable;
20
- /** Next control slotted into `next` by default. */
33
+ /**
34
+ * Next control slotted into `next` by default.
35
+ *
36
+ * @cssclass rui-carousel__nav - Next nav button (composed with `rui-button`).
37
+ * @cssclass rui-carousel__nav--overlay - Circular on-slide chrome for `controls-variant="overlay"`.
38
+ * @cssclass rui-carousel__nav--toolbar - Toolbar chrome (default).
39
+ * @cssclass rui-carousel__nav-label - Icon + label row (toolbar variant).
40
+ * @cssclass rui-carousel__nav-icon - Decorative chevron glyph.
41
+ */
21
42
  export declare function RuiCarouselNext({ children, slot, class: className, disabled, overlay, ...props }: RuiCarouselControlProps): JsxRenderable;
22
43
  export type RuiCarouselRotationProps = JsxHtmlPropsWithChildren<{
23
44
  slot?: string;
24
45
  overlay?: boolean;
25
46
  }>;
26
- /** Play/pause rotation control slotted into `rotation` by default. */
47
+ /**
48
+ * Play/pause rotation control slotted into `rotation` by default.
49
+ *
50
+ * @cssclass rui-carousel__rotation - Rotation toggle button (composed with `rui-button`).
51
+ * @cssclass rui-carousel__rotation--overlay - Overlay pill chrome.
52
+ */
27
53
  export declare function RuiCarouselRotation({ children, slot, class: className, overlay, ...props }: RuiCarouselRotationProps): JsxRenderable;
28
- export declare const RuiCarousel: import("@/lib/radiant-view").RadiantViewComponent<JsxHtmlPropsWithChildren<RuiCarouselProps & {
54
+ export declare function RuiCarousel({ slides, children, ...props }: JsxHtmlPropsWithChildren<RuiCarouselProps & {
29
55
  slot?: string;
30
56
  slides?: RuiCarouselSlideData[];
31
- }>>;
57
+ }>): JsxRenderable;
@@ -29,10 +29,54 @@ type RuiCarouselBindings = {
29
29
  * labeled `carousel` region, slide groups or tab panels, optional tabbed pickers,
30
30
  * rotation control when autoplay is enabled, and `aria-live` on the slide container.
31
31
  *
32
+ * @summary Region that cycles slides; optional autoplay, transitions, and chrome.
33
+ *
32
34
  * @element rui-carousel
35
+ *
36
+ * @attr {string} label - Accessible name for the carousel. Default: `Carousel`.
37
+ * @attr {number} index - Active slide index. Default: `0`.
38
+ * @attr {boolean} autoplay - Advance automatically. Default: `false`.
39
+ * @attr {number} interval - Autoplay interval in ms. Default: `4000`.
40
+ * @attr {('none'|'slide'|'fade')} transition - Slide swap animation. Default: `none`.
41
+ * @attr {('toolbar'|'overlay')} controls-variant - Chrome layout. Default: `toolbar`.
42
+ * @attr {boolean} show-indicators - Render tabbed indicator pickers. Default: `false`.
43
+ * @attr {boolean} show-rotation-control - Render play/pause control. Default: `false`.
44
+ * @attr {boolean} loop - Allow looping past the last slide. Default: `true`.
45
+ * @attr {boolean} wrap - Keep controls enabled at the ends. Default: `true`.
46
+ * @attr {number} slide-count - Authored slide count for render-time control state. Default: `0`.
47
+ *
48
+ * @slot - Slides, each marked with `data-slide` (see `RuiCarouselSlide`).
33
49
  * @slot prev - Optional custom previous control. Use `data-carousel-action="prev"`.
34
50
  * @slot next - Optional custom next control. Use `data-carousel-action="next"`.
35
51
  * @slot rotation - Optional play/pause control when `show-rotation-control` is set. Use `data-carousel-action="rotation"`.
52
+ *
53
+ * @cssclass rui-carousel - Root region (`aria-roledescription="carousel"`).
54
+ * @cssclass rui-carousel--none - No animation between slides.
55
+ * @cssclass rui-carousel--slide - Horizontal slide transition.
56
+ * @cssclass rui-carousel--fade - Cross-fade transition.
57
+ * @cssclass rui-carousel--controls-toolbar - Controls below the viewport.
58
+ * @cssclass rui-carousel--controls-overlay - Controls overlaid on the viewport.
59
+ * @cssclass rui-carousel__stage - Viewport wrapper.
60
+ * @cssclass rui-carousel__viewport - Overflow-hidden slide window (`aria-live`).
61
+ * @cssclass rui-carousel__track - Slide track.
62
+ * @cssclass rui-carousel__footer - Controls row below the viewport (`toolbar`).
63
+ * @cssclass rui-carousel__toolbar - Toolbar grid.
64
+ * @cssclass rui-carousel__toolbar-rotation - Rotation control cell.
65
+ * @cssclass rui-carousel__toolbar-center - Indicators cell.
66
+ * @cssclass rui-carousel__toolbar-side--start - Prev control cell.
67
+ * @cssclass rui-carousel__toolbar-side--end - Next control cell.
68
+ * @cssclass rui-carousel__overlay-chrome - Absolute overlay layer over the viewport.
69
+ * @cssclass rui-carousel__overlay-rotation - Rotation control overlay position.
70
+ * @cssclass rui-carousel__controls--overlay - Prev/next overlay row.
71
+ * @cssclass rui-carousel__indicators - Indicator tablist.
72
+ * @cssclass rui-carousel__indicators--overlay - Overlay pill indicator tablist.
73
+ * @cssclass rui-carousel__indicator - Indicator button (`role="tab"`).
74
+ *
75
+ * @remarks
76
+ * Autoplay pauses on hover, pointer interaction, focus, and hidden tabs, and
77
+ * respects `prefers-reduced-motion`. `aria-live` flips to `off` while rotating.
78
+ * Prev/next and rotation chrome classes are authored by the `RuiCarouselPrev` /
79
+ * `RuiCarouselNext` / `RuiCarouselRotation` view helpers for custom placement.
36
80
  */
37
81
  export declare class RuiCarousel extends RadiantElement<RuiCarouselBindings> {
38
82
  label: string;
@@ -1,2 +1,2 @@
1
- import{jsx as d,jsxs as k}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as Dt,customElement as Yt,onEvent as b,onUpdated as J,prop as m}from"@ecopages/radiant";var ct,dt,ht,pt,ft,yt,bt,_t,vt,mt,gt,xt,wt,At,It,St,Rt,Ct,Pt,Et,Vt,kt,Mt,Tt;function zt(r,t,e,o,i,c){var u,a,n,A,E,M,R,j=Symbol.metadata||Symbol.for("Symbol.metadata"),$=Object.defineProperty,X=Object.create,Q=[X(null),X(null)],Z=t.length;function O(s,x,_){return function(l,h){x&&(h=l,l=r);for(var w=0;w<s.length;w++)h=s[w].apply(l,_?[h]:[]);return _?h:l}}function C(s,x,_,l){if(typeof s!="function"&&(l||s!==void 0))throw new TypeError(x+" must "+(_||"be")+" a function"+(l?"":" or undefined"));return s}function tt(s,x,_,l,h,w,V,v,I,S,it){function Y(f){if(!it(f))throw new TypeError("Attempted to access private element on non-instance")}var K=[].concat(x[0]),rt=x[3],F=!V,L=h===1,ot=h===3,at=h===4,W=h===2;function q(f,T,lt){return function(U,ut){return T&&(ut=U,U=s),lt&&lt(U),p[f].call(U,ut)}}if(!F){var p={},G=[],P=ot?"get":at||L?"set":"value";if(I?(S||L?p={get:Lt(function(){return rt(this)},l,"get"),set:function(f){x[4](this,f)}}:p[P]=rt,S||Lt(p[P],l,W?"":P)):S||(p=Object.getOwnPropertyDescriptor(s,l)),!S&&!I){if((a=Q[+v][l])&&(a^h)!==7)throw Error("Decorating two elements with the same name ("+p[P].name+") is not supported yet");Q[+v][l]=h<3?1:h}}for(var y=s,z=K.length-1;z>=0;z-=_?2:1){var st=C(K[z],"A decorator","be",!0),nt=_?K[z-1]:void 0,H={},D={kind:["field","accessor","method","getter","setter","class"][h],name:l,metadata:u,addInitializer:function(f,T){if(f.v)throw new TypeError("attempted to call addInitializer after decoration was finished");C(T,"An initializer","be",!0),w.push(T)}.bind(null,H)};if(F)a=st.call(nt,y,D),H.v=1,C(a,"class decorators","return")&&(y=a);else if(D.static=v,D.private=I,a=D.access={has:I?it.bind():function(f){return l in f}},at||(a.get=I?W?function(f){return Y(f),p.value}:q("get",0,Y):function(f){return f[l]}),W||ot||(a.set=I?q("set",0,Y):function(f,T){f[l]=T}),y=st.call(nt,L?{get:p.get,set:p.set}:p[P],D),H.v=1,L){if(typeof y=="object"&&y)(a=C(y.get,"accessor.get"))&&(p.get=a),(a=C(y.set,"accessor.set"))&&(p.set=a),(a=C(y.init,"accessor.init"))&&G.unshift(a);else if(y!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else C(y,(S?"field":"method")+" decorators","return")&&(S?G.unshift(y):p[P]=y)}return h<2&&V.push(O(G,v,1),O(w,v,0)),S||F||(I?L?V.splice(-1,0,q("get",v),q("set",v)):V.push(W?p[P]:C.call.bind(p[P])):$(s,l,p)),y}function et(s){return $(s,j,{configurable:!0,enumerable:!0,value:u})}return c!==void 0&&(u=c[j]),u=X(u??null),E=[],M=function(s){s&&E.push(O(s))},R=function(s,x){for(var _=0;_<e.length;_++){var l=e[_],h=l[1],w=7&h;if((8&h)==s&&!w==x){var V=l[2],v=!!l[3],I=16&h;tt(s?r:r.prototype,l,I,v?"#"+V:Ut(V),w,w<2?[]:s?A=A||[]:n=n||[],E,!!s,v,x,s&&v?function(S){return Xt(S)===r}:i)}}},R(8,0),R(0,0),R(8,1),R(0,1),M(n),M(A),a=E,Z||et(r),{e:a,get c(){var s=[];return Z&&[et(r=tt(r,[t],o,r.name,5,s)),O(s,1)]}}}function Ut(r){var t=Bt(r,"string");return typeof t=="symbol"?t:t+""}function Bt(r,t){if(typeof r!="object"||!r)return r;var e=r[Symbol.toPrimitive];if(e!==void 0){var o=e.call(r,t||"default");if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(r)}function Lt(r,t,e){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(r,"name",{configurable:!0,value:e?e+" "+t:t})}catch{}return r}function Xt(r){if(Object(r)!==r)throw TypeError("right-hand side of 'in' should be an object, got "+(r!==null?typeof r:"null"));return r}var Kt=48,B,Nt=class extends Dt{static{({e:[ht,pt,ft,yt,bt,_t,vt,mt,gt,xt,wt,At,It,St,Rt,Ct,Pt,Et,Vt,kt,Mt,Tt,ct],c:[B,dt]}=zt(this,[Yt("rui-carousel")],[[m({type:String,defaultValue:"Carousel"}),0,"label"],[m({type:Number,reflect:!0,defaultValue:0}),0,"index"],[m({type:Boolean,reflect:!0,defaultValue:!1}),0,"autoplay"],[m({type:Number,defaultValue:4e3}),0,"interval"],[m({type:String,defaultValue:"none"}),0,"transition"],[m({type:String,defaultValue:"toolbar",attribute:"controls-variant"}),0,"controlsVariant"],[m({type:Boolean,defaultValue:!1}),0,"showIndicators"],[m({type:Boolean,defaultValue:!1}),0,"showRotationControl"],[m({type:Boolean,defaultValue:!0}),0,"loop"],[m({type:Boolean,defaultValue:!0}),0,"wrap"],[m({type:Number,defaultValue:0}),0,"slideCount"],[J(["index","transition","loop","wrap","controlsVariant"]),2,"onSlideStateUpdated"],[J(["autoplay","showRotationControl","interval"]),2,"onAutoplayUpdated"],[J(["showIndicators"]),2,"onIndicatorsUpdated"],[b({selector:'[data-carousel-action="prev"]',type:"click"}),2,"prev"],[b({selector:'[data-carousel-action="next"]',type:"click"}),2,"next"],[b({selector:'[data-carousel-action="rotation"]',type:"click"}),2,"toggleRotation"],[b({selector:"[data-carousel-indicator]",type:"click"}),2,"onIndicatorClick"],[b({selector:"[data-carousel-indicator]",type:"keydown"}),2,"onIndicatorKeydown"],[b({ref:"root",type:"pointerenter"}),2,"onRootPointerEnter"],[b({ref:"root",type:"pointerleave"}),2,"onRootPointerLeave"],[b({ref:"root",type:"focusin"}),2,"onRootFocusIn"],[b({ref:"root",type:"focusout"}),2,"onRootFocusOut"],[b({ref:"viewport",type:"pointerdown"}),2,"onViewportPointerDown"],[b({ref:"viewport",type:"pointermove"}),2,"onViewportPointerMove"],[b({ref:"viewport",type:"pointerup"}),2,"onViewportPointerUp"],[b({ref:"viewport",type:"pointercancel"}),2,"onViewportPointerCancel"]],0,void 0,Dt))}label=(ct(this),ht(this));index=(pt(this),ft(this));autoplay=(yt(this),bt(this));interval=(_t(this),vt(this));transition=(mt(this),gt(this));controlsVariant=(xt(this),wt(this));showIndicators=(At(this),It(this));showRotationControl=(St(this),Rt(this));loop=(Ct(this),Pt(this));wrap=(Et(this),Vt(this));slideCount=(kt(this),Mt(this));timer=(Tt(this),null);paused=!1;userOverrideReducedMotion=!1;swipePointerId=null;swipeStartX=0;swipeStartY=0;connectedCallback(){super.connectedCallback(),queueMicrotask(()=>{this.autoplay&&this.prefersReducedMotion()&&(this.paused=!0),this.sync(),this.syncAutoplay(),this.syncIndicators(),this.syncAriaLive()})}disconnectedCallback(){this.stop(),super.disconnectedCallback()}onSlideStateUpdated(){this.sync(),this.syncIndicators(),this.syncAutoplay()}onAutoplayUpdated(){this.syncAutoplay(),this.syncRotationControl()}onIndicatorsUpdated(){this.syncIndicators()}prefersReducedMotion(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}getCarouselId(){return this.id||"rui-carousel"}slidePanelId(t,e){let o=t.getAttribute("data-slide")??String(e),i=`${this.getCarouselId()}-panel-${o}`;return t.id=i,i}tabId(t){return`${this.getCarouselId()}-tab-${t}`}shouldShowRotationControl(){return this.autoplay||this.showRotationControl}syncSlideAccessibility(t,e){let o=t.length;t.forEach((i,c)=>{let u=c===e,a=`${c+1} of ${o}`;this.showIndicators?(this.slidePanelId(i,c),i.setAttribute("role","tabpanel"),i.setAttribute("aria-labelledby",this.tabId(c)),i.setAttribute("aria-label",a),i.removeAttribute("aria-roledescription")):(i.setAttribute("role","group"),i.setAttribute("aria-roledescription","slide"),i.setAttribute("aria-label",a),i.removeAttribute("aria-labelledby"),i.removeAttribute("tabindex")),this.transition==="none"?i.hidden=!u:i.hidden=!1,i.setAttribute("aria-hidden",String(!u)),i.setAttribute("data-active",u?"true":"false")})}getSlides(){return Array.from(this.querySelectorAll("[data-slide]"))}get shouldWrap(){return this.wrap&&this.loop}normalizeIndex(t,e){return e<=0?0:this.shouldWrap?(t%e+e)%e:Math.min(Math.max(t,0),e-1)}sync(){let t=this.getSlides();if(!t.length)return;let e=this.normalizeIndex(this.index,t.length);e!==this.index&&(this.index=e);let o=this.querySelector(".rui-carousel__track");o&&this.transition==="slide"&&o.style.setProperty("--rui-carousel-index",String(e)),this.syncSlideAccessibility(t,e),this.syncPrevNextDisabled(t.length,e)}syncPrevNextDisabled(t,e){let o=!this.shouldWrap&&t>0&&e<=0,i=!this.shouldWrap&&t>0&&e>=t-1;for(let c of this.querySelectorAll('[data-carousel-action="prev"]'))this.shouldWrap?c.removeAttribute("disabled"):c.disabled=o;for(let c of this.querySelectorAll('[data-carousel-action="next"]'))this.shouldWrap?c.removeAttribute("disabled"):c.disabled=i}syncIndicators(){let t=this.querySelector('[data-ref="indicators"]');if(!t)return;let e=this.getSlides(),o=this.normalizeIndex(this.index,e.length);Array.from(t.querySelectorAll("[data-carousel-indicator]")).length!==e.length&&t.replaceChildren(...e.map((u,a)=>{let n=document.createElement("button");return n.type="button",n.className="rui-carousel__indicator",n.id=this.tabId(a),n.setAttribute("role","tab"),n.setAttribute("data-carousel-indicator",String(a)),n.setAttribute("aria-controls",this.slidePanelId(u,a)),n.setAttribute("aria-label",`Slide ${a+1}`),n})),Array.from(t.querySelectorAll("[data-carousel-indicator]")).forEach((u,a)=>{let n=a===o,A=e[a];A&&(u.id=this.tabId(a),u.setAttribute("aria-controls",this.slidePanelId(A,a))),u.setAttribute("aria-selected",String(n)),u.tabIndex=n?0:-1})}syncRotationControl(){for(let t of this.querySelectorAll('[data-carousel-action="rotation"]')){let e=this.autoplay&&!this.paused;t.setAttribute("aria-pressed",String(e)),t.setAttribute("aria-label",e?"Pause rotation":"Start rotation")}}syncAriaLive(){let t=this.querySelector('[data-ref="viewport"]');if(!t)return;let e=this.autoplay&&!this.paused&&this.timer!==null;t.setAttribute("aria-live",e?"off":"polite"),t.setAttribute("aria-atomic","false")}canAutoplayRotate(){return!(!this.autoplay||this.paused||this.prefersReducedMotion()&&!this.userOverrideReducedMotion)}syncAutoplay(){this.canAutoplayRotate()?this.start():this.stop(),this.syncRotationControl(),this.syncAriaLive()}start(){let t=this.getSlides();if(!t.length)return;if(!this.shouldWrap&&this.index>=t.length-1){this.stop();return}this.stop();let e=Math.max(0,this.interval);this.timer=setInterval(()=>{let o=this.getSlides();if(o.length){if(!this.shouldWrap&&this.index>=o.length-1){this.stop(),this.syncAriaLive();return}this.goTo(this.index+1)}},e),this.syncAriaLive()}stop(){this.timer&&clearInterval(this.timer),this.timer=null,this.syncAriaLive()}goTo(t){let e=this.getSlides();e.length&&(this.index=this.normalizeIndex(t,e.length),this.sync(),this.syncIndicators())}userNavigate(t){this.paused=!0,this.stop(),this.goTo(this.index+t)}isSwipeExcludedTarget(t){return t instanceof Element?!!t.closest("button, a, input, textarea, select, [data-carousel-indicator], [data-carousel-action]"):!1}prev(){this.userNavigate(-1)}next(){this.userNavigate(1)}toggleRotation(){this.autoplay?(this.paused=!this.paused,this.paused||(this.userOverrideReducedMotion=!0)):(this.autoplay=!0,this.paused=!1,this.userOverrideReducedMotion=!0),this.syncAutoplay()}onIndicatorClick(t){let e=t.target.closest("[data-carousel-indicator]");if(!e)return;let o=Number(e.getAttribute("data-carousel-indicator"));Number.isFinite(o)&&(this.paused=!0,this.stop(),this.goTo(o),e.focus())}onIndicatorKeydown(t){let e=this.getSlides();if(!e.length)return;let o=t.target.closest("[data-carousel-indicator]");if(!o)return;let i=Number(o.getAttribute("data-carousel-indicator"));if(!Number.isFinite(i))return;if(t.key==="ArrowRight")i=this.normalizeIndex(i+1,e.length);else if(t.key==="ArrowLeft")i=this.normalizeIndex(i-1,e.length);else if(t.key==="Home")i=0;else if(t.key==="End")i=e.length-1;else if(t.key===" "||t.key==="Enter"){t.preventDefault(),this.paused=!0,this.stop(),this.goTo(i);return}else return;t.preventDefault(),this.paused=!0,this.stop(),this.goTo(i),Array.from(this.querySelectorAll('[data-ref="indicators"] [data-carousel-indicator]'))[i]?.focus()}onRootPointerEnter(t){this.autoplay&&t.pointerType==="mouse"&&this.stop()}onRootPointerLeave(t){this.autoplay&&!this.paused&&t.pointerType==="mouse"&&this.syncAutoplay()}onRootFocusIn(){this.autoplay&&this.stop()}onRootFocusOut(t){let e=t.relatedTarget;e&&this.contains(e)||this.autoplay&&!this.paused&&this.syncAutoplay()}onViewportPointerDown(t){t.button!==0||this.isSwipeExcludedTarget(t.target)||(this.swipePointerId=t.pointerId,this.swipeStartX=t.clientX,this.swipeStartY=t.clientY)}onViewportPointerMove(t){this.swipePointerId,t.pointerId}onViewportPointerUp(t){if(this.swipePointerId!==t.pointerId)return;let e=t.clientX-this.swipeStartX,o=t.clientY-this.swipeStartY;this.swipePointerId=null,!(Math.abs(e)<Kt||Math.abs(e)<=Math.abs(o))&&(e<0?this.next():this.prev())}onViewportPointerCancel(t){this.swipePointerId===t.pointerId&&(this.swipePointerId=null)}render(){let t=this.shouldShowRotationControl(),e=Math.max(this.getSlides().length,this.slideCount),o=this.normalizeIndex(this.index,e||1),i=!this.shouldWrap&&e>0&&o<=0,c=!this.shouldWrap&&e>0&&o>=e-1,u=this.autoplay&&!this.paused,a=u&&this.timer!==null?"off":"polite",n=this.controlsVariant==="overlay";queueMicrotask(()=>{this.sync(),this.syncIndicators(),this.syncRotationControl(),this.syncAriaLive()});let A=d("slot",{name:"prev",children:d("button",{type:"button","data-carousel-action":"prev","data-ref":"prev",class:`rui-carousel__nav rui-button rui-button--outline rui-button--sm${n?" rui-carousel__nav--overlay":" rui-carousel__nav--toolbar"}`,"aria-label":"Previous slide",disabled:i,children:n?d("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u2039"}):k("span",{class:"rui-carousel__nav-label",children:[d("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u2039"}),"Previous"]})})}),E=d("slot",{name:"next",children:d("button",{type:"button","data-carousel-action":"next","data-ref":"next",class:`rui-carousel__nav rui-button rui-button--outline rui-button--sm${n?" rui-carousel__nav--overlay":" rui-carousel__nav--toolbar"}`,"aria-label":"Next slide",disabled:c,children:n?d("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u203A"}):k("span",{class:"rui-carousel__nav-label",children:["Next",d("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u203A"})]})})}),M=t?d("slot",{name:"rotation",children:d("button",{type:"button","data-carousel-action":"rotation","data-ref":"rotation",class:`rui-carousel__rotation rui-button rui-button--ghost rui-button--sm${n?" rui-carousel__rotation--overlay":""}`,"aria-pressed":u,"aria-label":u?"Pause rotation":"Start rotation",children:u?"Pause":"Play"})}):null,R=this.showIndicators?d("div",{class:`rui-carousel__indicators${n?" rui-carousel__indicators--overlay":""}`,"data-ref":"indicators",role:"tablist","aria-label":"Choose slide to display"}):null,j=k("div",{class:"rui-carousel__toolbar",children:[t?d("div",{class:"rui-carousel__toolbar-rotation",children:M}):null,d("div",{class:"rui-carousel__toolbar-side rui-carousel__toolbar-side--start",children:A}),d("div",{class:"rui-carousel__toolbar-center",children:R}),d("div",{class:"rui-carousel__toolbar-side rui-carousel__toolbar-side--end",children:E})]}),$=n?k("div",{class:"rui-carousel__overlay-chrome",children:[t?d("div",{class:"rui-carousel__overlay-rotation",children:M}):null,k("div",{class:"rui-carousel__controls rui-carousel__controls--overlay",children:[A,E]}),R]}):null;return k("section",{class:`rui-carousel rui-carousel--${this.transition} rui-carousel--controls-${this.controlsVariant}`,"data-ref":"root","aria-roledescription":"carousel","aria-label":this.$.label,children:[d("div",{class:"rui-carousel__stage",children:k("div",{class:"rui-carousel__viewport","data-ref":"viewport","aria-live":a,"aria-atomic":!1,children:[d("div",{class:"rui-carousel__track",style:this.transition==="slide"?{"--rui-carousel-index":String(this.index)}:void 0,children:d("slot",{})}),$]})}),n?null:d("div",{class:"rui-carousel__footer",children:j})]})}static{dt()}};import{jsx as g,jsxs as Wt}from"@ecopages/jsx/jsx-runtime";function N(...r){return r.filter(Boolean).join(" ")}var Ft=Symbol.for("@ecopages/storybook-radiant.viewElement"),jt=Symbol.for("@ecopages/storybook-radiant.scriptModule"),$t=Symbol.for("@ecopages/storybook-radiant.scriptExport");function Gt(r,t){r[Ft]=t;let e=t[jt];e&&(r[jt]=e,r[$t]=t[$t]??t.name)}function Ot(r,t,e){let o=i=>t(i);return Gt(o,r),o}function qt({id:r,children:t,class:e,...o}){return g("div",{...o,class:N("rui-carousel__slide",e),"data-slide":r,children:t})}function Ht(){return Wt("span",{class:"rui-carousel__nav-label",children:[g("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u2039"}),"Previous"]})}function Jt(){return Wt("span",{class:"rui-carousel__nav-label",children:["Next",g("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u203A"})]})}function Qt({children:r,slot:t="prev",class:e,disabled:o,overlay:i,...c}){return g("button",{...c,slot:t,type:"button","data-carousel-action":"prev","data-ref":"prev",class:N("rui-carousel__nav rui-button rui-button--outline rui-button--sm",i?"rui-carousel__nav--overlay":"rui-carousel__nav--toolbar",e),"aria-label":"Previous slide",disabled:o,children:r??(i?g("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u2039"}):Ht())})}function Zt({children:r,slot:t="next",class:e,disabled:o,overlay:i,...c}){return g("button",{...c,slot:t,type:"button","data-carousel-action":"next","data-ref":"next",class:N("rui-carousel__nav rui-button rui-button--outline rui-button--sm",i?"rui-carousel__nav--overlay":"rui-carousel__nav--toolbar",e),"aria-label":"Next slide",disabled:o,children:r??(i?g("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u203A"}):Jt())})}function te({children:r,slot:t="rotation",class:e,overlay:o,...i}){return g("button",{...i,slot:t,type:"button","data-carousel-action":"rotation","data-ref":"rotation",class:N("rui-carousel__rotation rui-button rui-button--ghost rui-button--sm",o&&"rui-carousel__rotation--overlay",e),"aria-pressed":!1,"aria-label":"Start rotation",children:r??"Play"})}var ee=Ot(B,({slides:r,children:t,...e})=>{if(t!=null)return g("rui-carousel",{...e,children:t});let o=r??[];return g("rui-carousel",{...e,slideCount:o.length,children:o.map(i=>g(qt,{id:i.id,children:i.children}))})},{stylesheets:["./carousel.css"]});export{ee as RuiCarousel,B as RuiCarouselElement,Zt as RuiCarouselNext,Qt as RuiCarouselPrev,te as RuiCarouselRotation,qt as RuiCarouselSlide};
1
+ import{jsx as d,jsxs as k}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as jt,customElement as Ut,onEvent as b,onUpdated as H,prop as m}from"@ecopages/radiant";var ut,ct,dt,ht,pt,ft,yt,bt,_t,vt,mt,gt,xt,wt,At,It,St,Ct,Rt,Pt,Vt,Et,kt,Mt;function Nt(o,t,e,r,i,c){var u,a,s,A,V,M,C,q=Symbol.metadata||Symbol.for("Symbol.metadata"),D=Object.defineProperty,B=Object.create,J=[B(null),B(null)],Q=t.length;function N(n,x,_){return function(l,h){x&&(h=l,l=o);for(var w=0;w<n.length;w++)h=n[w].apply(l,_?[h]:[]);return _?h:l}}function R(n,x,_,l){if(typeof n!="function"&&(l||n!==void 0))throw new TypeError(x+" must "+(_||"be")+" a function"+(l?"":" or undefined"));return n}function Z(n,x,_,l,h,w,E,v,I,S,et){function X(f){if(!et(f))throw new TypeError("Attempted to access private element on non-instance")}var Y=[].concat(x[0]),it=x[3],K=!E,j=h===1,rt=h===3,ot=h===4,z=h===2;function W(f,T,st){return function(U,lt){return T&&(lt=U,U=n),st&&st(U),p[f].call(U,lt)}}if(!K){var p={},F=[],P=rt?"get":ot||j?"set":"value";if(I?(S||j?p={get:Tt(function(){return it(this)},l,"get"),set:function(f){x[4](this,f)}}:p[P]=it,S||Tt(p[P],l,z?"":P)):S||(p=Object.getOwnPropertyDescriptor(n,l)),!S&&!I){if((a=J[+v][l])&&(a^h)!==7)throw Error("Decorating two elements with the same name ("+p[P].name+") is not supported yet");J[+v][l]=h<3?1:h}}for(var y=n,O=Y.length-1;O>=0;O-=_?2:1){var at=R(Y[O],"A decorator","be",!0),nt=_?Y[O-1]:void 0,G={},L={kind:["field","accessor","method","getter","setter","class"][h],name:l,metadata:u,addInitializer:function(f,T){if(f.v)throw new TypeError("attempted to call addInitializer after decoration was finished");R(T,"An initializer","be",!0),w.push(T)}.bind(null,G)};if(K)a=at.call(nt,y,L),G.v=1,R(a,"class decorators","return")&&(y=a);else if(L.static=v,L.private=I,a=L.access={has:I?et.bind():function(f){return l in f}},ot||(a.get=I?z?function(f){return X(f),p.value}:W("get",0,X):function(f){return f[l]}),z||rt||(a.set=I?W("set",0,X):function(f,T){f[l]=T}),y=at.call(nt,j?{get:p.get,set:p.set}:p[P],L),G.v=1,j){if(typeof y=="object"&&y)(a=R(y.get,"accessor.get"))&&(p.get=a),(a=R(y.set,"accessor.set"))&&(p.set=a),(a=R(y.init,"accessor.init"))&&F.unshift(a);else if(y!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else R(y,(S?"field":"method")+" decorators","return")&&(S?F.unshift(y):p[P]=y)}return h<2&&E.push(N(F,v,1),N(w,v,0)),S||K||(I?j?E.splice(-1,0,W("get",v),W("set",v)):E.push(z?p[P]:R.call.bind(p[P])):D(n,l,p)),y}function tt(n){return D(n,q,{configurable:!0,enumerable:!0,value:u})}return c!==void 0&&(u=c[q]),u=B(u??null),V=[],M=function(n){n&&V.push(N(n))},C=function(n,x){for(var _=0;_<e.length;_++){var l=e[_],h=l[1],w=7&h;if((8&h)==n&&!w==x){var E=l[2],v=!!l[3],I=16&h;Z(n?o:o.prototype,l,I,v?"#"+E:zt(E),w,w<2?[]:n?A=A||[]:s=s||[],V,!!n,v,x,n&&v?function(S){return Ot(S)===o}:i)}}},C(8,0),C(0,0),C(8,1),C(0,1),M(s),M(A),a=V,Q||tt(o),{e:a,get c(){var n=[];return Q&&[tt(o=Z(o,[t],r,o.name,5,n)),N(n,1)]}}}function zt(o){var t=Wt(o,"string");return typeof t=="symbol"?t:t+""}function Wt(o,t){if(typeof o!="object"||!o)return o;var e=o[Symbol.toPrimitive];if(e!==void 0){var r=e.call(o,t||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(o)}function Tt(o,t,e){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(o,"name",{configurable:!0,value:e?e+" "+t:t})}catch{}return o}function Ot(o){if(Object(o)!==o)throw TypeError("right-hand side of 'in' should be an object, got "+(o!==null?typeof o:"null"));return o}var Bt=48,$t,Lt=class extends jt{static{({e:[dt,ht,pt,ft,yt,bt,_t,vt,mt,gt,xt,wt,At,It,St,Ct,Rt,Pt,Vt,Et,kt,Mt,ut],c:[$t,ct]}=Nt(this,[Ut("rui-carousel")],[[m({type:String,defaultValue:"Carousel"}),0,"label"],[m({type:Number,reflect:!0,defaultValue:0}),0,"index"],[m({type:Boolean,reflect:!0,defaultValue:!1}),0,"autoplay"],[m({type:Number,defaultValue:4e3}),0,"interval"],[m({type:String,defaultValue:"none"}),0,"transition"],[m({type:String,defaultValue:"toolbar",attribute:"controls-variant"}),0,"controlsVariant"],[m({type:Boolean,defaultValue:!1}),0,"showIndicators"],[m({type:Boolean,defaultValue:!1}),0,"showRotationControl"],[m({type:Boolean,defaultValue:!0}),0,"loop"],[m({type:Boolean,defaultValue:!0}),0,"wrap"],[m({type:Number,defaultValue:0}),0,"slideCount"],[H(["index","transition","loop","wrap","controlsVariant"]),2,"onSlideStateUpdated"],[H(["autoplay","showRotationControl","interval"]),2,"onAutoplayUpdated"],[H(["showIndicators"]),2,"onIndicatorsUpdated"],[b({selector:'[data-carousel-action="prev"]',type:"click"}),2,"prev"],[b({selector:'[data-carousel-action="next"]',type:"click"}),2,"next"],[b({selector:'[data-carousel-action="rotation"]',type:"click"}),2,"toggleRotation"],[b({selector:"[data-carousel-indicator]",type:"click"}),2,"onIndicatorClick"],[b({selector:"[data-carousel-indicator]",type:"keydown"}),2,"onIndicatorKeydown"],[b({ref:"root",type:"pointerenter"}),2,"onRootPointerEnter"],[b({ref:"root",type:"pointerleave"}),2,"onRootPointerLeave"],[b({ref:"root",type:"focusin"}),2,"onRootFocusIn"],[b({ref:"root",type:"focusout"}),2,"onRootFocusOut"],[b({ref:"viewport",type:"pointerdown"}),2,"onViewportPointerDown"],[b({ref:"viewport",type:"pointermove"}),2,"onViewportPointerMove"],[b({ref:"viewport",type:"pointerup"}),2,"onViewportPointerUp"],[b({ref:"viewport",type:"pointercancel"}),2,"onViewportPointerCancel"]],0,void 0,jt))}label=(ut(this),dt(this));index=(ht(this),pt(this));autoplay=(ft(this),yt(this));interval=(bt(this),_t(this));transition=(vt(this),mt(this));controlsVariant=(gt(this),xt(this));showIndicators=(wt(this),At(this));showRotationControl=(It(this),St(this));loop=(Ct(this),Rt(this));wrap=(Pt(this),Vt(this));slideCount=(Et(this),kt(this));timer=(Mt(this),null);paused=!1;userOverrideReducedMotion=!1;swipePointerId=null;swipeStartX=0;swipeStartY=0;connectedCallback(){super.connectedCallback(),queueMicrotask(()=>{this.autoplay&&this.prefersReducedMotion()&&(this.paused=!0),this.sync(),this.syncAutoplay(),this.syncIndicators(),this.syncAriaLive()})}disconnectedCallback(){this.stop(),super.disconnectedCallback()}onSlideStateUpdated(){this.sync(),this.syncIndicators(),this.syncAutoplay()}onAutoplayUpdated(){this.syncAutoplay(),this.syncRotationControl()}onIndicatorsUpdated(){this.syncIndicators()}prefersReducedMotion(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}getCarouselId(){return this.id||"rui-carousel"}slidePanelId(t,e){let r=t.getAttribute("data-slide")??String(e),i=`${this.getCarouselId()}-panel-${r}`;return t.id=i,i}tabId(t){return`${this.getCarouselId()}-tab-${t}`}shouldShowRotationControl(){return this.autoplay||this.showRotationControl}syncSlideAccessibility(t,e){let r=t.length;t.forEach((i,c)=>{let u=c===e,a=`${c+1} of ${r}`;this.showIndicators?(this.slidePanelId(i,c),i.setAttribute("role","tabpanel"),i.setAttribute("aria-labelledby",this.tabId(c)),i.setAttribute("aria-label",a),i.removeAttribute("aria-roledescription")):(i.setAttribute("role","group"),i.setAttribute("aria-roledescription","slide"),i.setAttribute("aria-label",a),i.removeAttribute("aria-labelledby"),i.removeAttribute("tabindex")),this.transition==="none"?i.hidden=!u:i.hidden=!1,i.setAttribute("aria-hidden",String(!u)),i.setAttribute("data-active",u?"true":"false")})}getSlides(){return Array.from(this.querySelectorAll("[data-slide]"))}get shouldWrap(){return this.wrap&&this.loop}normalizeIndex(t,e){return e<=0?0:this.shouldWrap?(t%e+e)%e:Math.min(Math.max(t,0),e-1)}sync(){let t=this.getSlides();if(!t.length)return;let e=this.normalizeIndex(this.index,t.length);e!==this.index&&(this.index=e);let r=this.querySelector(".rui-carousel__track");r&&this.transition==="slide"&&r.style.setProperty("--rui-carousel-index",String(e)),this.syncSlideAccessibility(t,e),this.syncPrevNextDisabled(t.length,e)}syncPrevNextDisabled(t,e){let r=!this.shouldWrap&&t>0&&e<=0,i=!this.shouldWrap&&t>0&&e>=t-1;for(let c of this.querySelectorAll('[data-carousel-action="prev"]'))this.shouldWrap?c.removeAttribute("disabled"):c.disabled=r;for(let c of this.querySelectorAll('[data-carousel-action="next"]'))this.shouldWrap?c.removeAttribute("disabled"):c.disabled=i}syncIndicators(){let t=this.querySelector('[data-ref="indicators"]');if(!t)return;let e=this.getSlides(),r=this.normalizeIndex(this.index,e.length);Array.from(t.querySelectorAll("[data-carousel-indicator]")).length!==e.length&&t.replaceChildren(...e.map((u,a)=>{let s=document.createElement("button");return s.type="button",s.className="rui-carousel__indicator",s.id=this.tabId(a),s.setAttribute("role","tab"),s.setAttribute("data-carousel-indicator",String(a)),s.setAttribute("aria-controls",this.slidePanelId(u,a)),s.setAttribute("aria-label",`Slide ${a+1}`),s})),Array.from(t.querySelectorAll("[data-carousel-indicator]")).forEach((u,a)=>{let s=a===r,A=e[a];A&&(u.id=this.tabId(a),u.setAttribute("aria-controls",this.slidePanelId(A,a))),u.setAttribute("aria-selected",String(s)),u.tabIndex=s?0:-1})}syncRotationControl(){for(let t of this.querySelectorAll('[data-carousel-action="rotation"]')){let e=this.autoplay&&!this.paused;t.setAttribute("aria-pressed",String(e)),t.setAttribute("aria-label",e?"Pause rotation":"Start rotation")}}syncAriaLive(){let t=this.querySelector('[data-ref="viewport"]');if(!t)return;let e=this.autoplay&&!this.paused&&this.timer!==null;t.setAttribute("aria-live",e?"off":"polite"),t.setAttribute("aria-atomic","false")}canAutoplayRotate(){return!(!this.autoplay||this.paused||this.prefersReducedMotion()&&!this.userOverrideReducedMotion)}syncAutoplay(){this.canAutoplayRotate()?this.start():this.stop(),this.syncRotationControl(),this.syncAriaLive()}start(){let t=this.getSlides();if(!t.length)return;if(!this.shouldWrap&&this.index>=t.length-1){this.stop();return}this.stop();let e=Math.max(0,this.interval);this.timer=setInterval(()=>{let r=this.getSlides();if(r.length){if(!this.shouldWrap&&this.index>=r.length-1){this.stop(),this.syncAriaLive();return}this.goTo(this.index+1)}},e),this.syncAriaLive()}stop(){this.timer&&clearInterval(this.timer),this.timer=null,this.syncAriaLive()}goTo(t){let e=this.getSlides();e.length&&(this.index=this.normalizeIndex(t,e.length),this.sync(),this.syncIndicators())}userNavigate(t){this.paused=!0,this.stop(),this.goTo(this.index+t)}isSwipeExcludedTarget(t){return t instanceof Element?!!t.closest("button, a, input, textarea, select, [data-carousel-indicator], [data-carousel-action]"):!1}prev(){this.userNavigate(-1)}next(){this.userNavigate(1)}toggleRotation(){this.autoplay?(this.paused=!this.paused,this.paused||(this.userOverrideReducedMotion=!0)):(this.autoplay=!0,this.paused=!1,this.userOverrideReducedMotion=!0),this.syncAutoplay()}onIndicatorClick(t){let e=t.target.closest("[data-carousel-indicator]");if(!e)return;let r=Number(e.getAttribute("data-carousel-indicator"));Number.isFinite(r)&&(this.paused=!0,this.stop(),this.goTo(r),e.focus())}onIndicatorKeydown(t){let e=this.getSlides();if(!e.length)return;let r=t.target.closest("[data-carousel-indicator]");if(!r)return;let i=Number(r.getAttribute("data-carousel-indicator"));if(!Number.isFinite(i))return;if(t.key==="ArrowRight")i=this.normalizeIndex(i+1,e.length);else if(t.key==="ArrowLeft")i=this.normalizeIndex(i-1,e.length);else if(t.key==="Home")i=0;else if(t.key==="End")i=e.length-1;else if(t.key===" "||t.key==="Enter"){t.preventDefault(),this.paused=!0,this.stop(),this.goTo(i);return}else return;t.preventDefault(),this.paused=!0,this.stop(),this.goTo(i),Array.from(this.querySelectorAll('[data-ref="indicators"] [data-carousel-indicator]'))[i]?.focus()}onRootPointerEnter(t){this.autoplay&&t.pointerType==="mouse"&&this.stop()}onRootPointerLeave(t){this.autoplay&&!this.paused&&t.pointerType==="mouse"&&this.syncAutoplay()}onRootFocusIn(){this.autoplay&&this.stop()}onRootFocusOut(t){let e=t.relatedTarget;e&&this.contains(e)||this.autoplay&&!this.paused&&this.syncAutoplay()}onViewportPointerDown(t){t.button!==0||this.isSwipeExcludedTarget(t.target)||(this.swipePointerId=t.pointerId,this.swipeStartX=t.clientX,this.swipeStartY=t.clientY)}onViewportPointerMove(t){this.swipePointerId,t.pointerId}onViewportPointerUp(t){if(this.swipePointerId!==t.pointerId)return;let e=t.clientX-this.swipeStartX,r=t.clientY-this.swipeStartY;this.swipePointerId=null,!(Math.abs(e)<Bt||Math.abs(e)<=Math.abs(r))&&(e<0?this.next():this.prev())}onViewportPointerCancel(t){this.swipePointerId===t.pointerId&&(this.swipePointerId=null)}render(){let t=this.shouldShowRotationControl(),e=Math.max(this.getSlides().length,this.slideCount),r=this.normalizeIndex(this.index,e||1),i=!this.shouldWrap&&e>0&&r<=0,c=!this.shouldWrap&&e>0&&r>=e-1,u=this.autoplay&&!this.paused,a=u&&this.timer!==null?"off":"polite",s=this.controlsVariant==="overlay";queueMicrotask(()=>{this.sync(),this.syncIndicators(),this.syncRotationControl(),this.syncAriaLive()});let A=d("slot",{name:"prev",children:d("button",{type:"button","data-carousel-action":"prev","data-ref":"prev",class:`rui-carousel__nav rui-button rui-button--outline rui-button--sm${s?" rui-carousel__nav--overlay":" rui-carousel__nav--toolbar"}`,"aria-label":"Previous slide",disabled:i,children:s?d("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u2039"}):k("span",{class:"rui-carousel__nav-label",children:[d("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u2039"}),"Previous"]})})}),V=d("slot",{name:"next",children:d("button",{type:"button","data-carousel-action":"next","data-ref":"next",class:`rui-carousel__nav rui-button rui-button--outline rui-button--sm${s?" rui-carousel__nav--overlay":" rui-carousel__nav--toolbar"}`,"aria-label":"Next slide",disabled:c,children:s?d("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u203A"}):k("span",{class:"rui-carousel__nav-label",children:["Next",d("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u203A"})]})})}),M=t?d("slot",{name:"rotation",children:d("button",{type:"button","data-carousel-action":"rotation","data-ref":"rotation",class:`rui-carousel__rotation rui-button rui-button--ghost rui-button--sm${s?" rui-carousel__rotation--overlay":""}`,"aria-pressed":u,"aria-label":u?"Pause rotation":"Start rotation",children:u?"Pause":"Play"})}):null,C=this.showIndicators?d("div",{class:`rui-carousel__indicators${s?" rui-carousel__indicators--overlay":""}`,"data-ref":"indicators",role:"tablist","aria-label":"Choose slide to display"}):null,q=k("div",{class:"rui-carousel__toolbar",children:[t?d("div",{class:"rui-carousel__toolbar-rotation",children:M}):null,d("div",{class:"rui-carousel__toolbar-side rui-carousel__toolbar-side--start",children:A}),d("div",{class:"rui-carousel__toolbar-center",children:C}),d("div",{class:"rui-carousel__toolbar-side rui-carousel__toolbar-side--end",children:V})]}),D=s?k("div",{class:"rui-carousel__overlay-chrome",children:[t?d("div",{class:"rui-carousel__overlay-rotation",children:M}):null,k("div",{class:"rui-carousel__controls rui-carousel__controls--overlay",children:[A,V]}),C]}):null;return k("section",{class:`rui-carousel rui-carousel--${this.transition} rui-carousel--controls-${this.controlsVariant}`,"data-ref":"root","aria-roledescription":"carousel","aria-label":this.$.label,children:[d("div",{class:"rui-carousel__stage",children:k("div",{class:"rui-carousel__viewport","data-ref":"viewport","aria-live":a,"aria-atomic":!1,children:[d("div",{class:"rui-carousel__track",style:this.transition==="slide"?{"--rui-carousel-index":String(this.index)}:void 0,children:d("slot",{})}),D]})}),s?null:d("div",{class:"rui-carousel__footer",children:q})]})}static{ct()}};import{jsx as g,jsxs as qt}from"@ecopages/jsx/jsx-runtime";function $(...o){return o.filter(Boolean).join(" ")}function Dt({id:o,children:t,class:e,...r}){return g("div",{...r,class:$("rui-carousel__slide",e),"data-slide":o,children:t})}function Xt(){return qt("span",{class:"rui-carousel__nav-label",children:[g("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u2039"}),"Previous"]})}function Yt(){return qt("span",{class:"rui-carousel__nav-label",children:["Next",g("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u203A"})]})}function Kt({children:o,slot:t="prev",class:e,disabled:r,overlay:i,...c}){return g("button",{...c,slot:t,type:"button","data-carousel-action":"prev","data-ref":"prev",class:$("rui-carousel__nav rui-button rui-button--outline rui-button--sm",i?"rui-carousel__nav--overlay":"rui-carousel__nav--toolbar",e),"aria-label":"Previous slide",disabled:r,children:o??(i?g("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u2039"}):Xt())})}function Ft({children:o,slot:t="next",class:e,disabled:r,overlay:i,...c}){return g("button",{...c,slot:t,type:"button","data-carousel-action":"next","data-ref":"next",class:$("rui-carousel__nav rui-button rui-button--outline rui-button--sm",i?"rui-carousel__nav--overlay":"rui-carousel__nav--toolbar",e),"aria-label":"Next slide",disabled:r,children:o??(i?g("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u203A"}):Yt())})}function Gt({children:o,slot:t="rotation",class:e,overlay:r,...i}){return g("button",{...i,slot:t,type:"button","data-carousel-action":"rotation","data-ref":"rotation",class:$("rui-carousel__rotation rui-button rui-button--ghost rui-button--sm",r&&"rui-carousel__rotation--overlay",e),"aria-pressed":!1,"aria-label":"Start rotation",children:o??"Play"})}function Ht({slides:o,children:t,...e}){if(t!=null)return g("rui-carousel",{...e,children:t});let r=o??[];return g("rui-carousel",{...e,slideCount:r.length,children:r.map(i=>g(Dt,{id:i.id,children:i.children}))})}export{Ht as RuiCarousel,$t as RuiCarouselElement,Ft as RuiCarouselNext,Kt as RuiCarouselPrev,Gt as RuiCarouselRotation,Dt as RuiCarouselSlide};
2
2
  //# sourceMappingURL=index.js.map