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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/README.md +1 -1
  2. package/dist/components/ui/alert/alert.css +88 -50
  3. package/dist/components/ui/alert/alert.d.ts +43 -5
  4. package/dist/components/ui/alert/alert.script.d.ts +51 -4
  5. package/dist/components/ui/alert/index.d.ts +2 -2
  6. package/dist/components/ui/alert/index.js +1 -1
  7. package/dist/components/ui/alert/index.js.map +4 -4
  8. package/dist/components/ui/autocomplete/autocomplete.css +4 -4
  9. package/dist/components/ui/autocomplete/autocomplete.d.ts +15 -5
  10. package/dist/components/ui/autocomplete/autocomplete.script.d.ts +9 -0
  11. package/dist/components/ui/autocomplete/index.js +1 -1
  12. package/dist/components/ui/autocomplete/index.js.map +4 -4
  13. package/dist/components/ui/avatar/avatar.d.ts +15 -1
  14. package/dist/components/ui/avatar/index.js +1 -1
  15. package/dist/components/ui/avatar/index.js.map +4 -4
  16. package/dist/components/ui/breadcrumb/breadcrumb.d.ts +32 -6
  17. package/dist/components/ui/breadcrumb/index.js +1 -1
  18. package/dist/components/ui/breadcrumb/index.js.map +4 -4
  19. package/dist/{styles/components → components/ui/button}/button.css +45 -31
  20. package/dist/components/ui/button/button.d.ts +21 -4
  21. package/dist/components/ui/button-group/button-group.d.ts +7 -1
  22. package/dist/components/ui/button-group/index.js +1 -1
  23. package/dist/components/ui/button-group/index.js.map +4 -4
  24. package/dist/components/ui/calendar/calendar.css +7 -7
  25. package/dist/components/ui/calendar/calendar.d.ts +3 -2
  26. package/dist/components/ui/calendar/calendar.script.d.ts +39 -1
  27. package/dist/components/ui/calendar/index.js +1 -1
  28. package/dist/components/ui/calendar/index.js.map +4 -4
  29. package/dist/components/ui/carousel/carousel.d.ts +32 -6
  30. package/dist/components/ui/carousel/carousel.script.d.ts +44 -0
  31. package/dist/components/ui/carousel/index.js +1 -1
  32. package/dist/components/ui/carousel/index.js.map +4 -4
  33. package/dist/components/ui/checkbox/checkbox.css +1 -1
  34. package/dist/components/ui/checkbox/checkbox.d.ts +3 -2
  35. package/dist/components/ui/checkbox/checkbox.script.d.ts +4 -0
  36. package/dist/components/ui/checkbox/index.js +1 -1
  37. package/dist/components/ui/checkbox/index.js.map +4 -4
  38. package/dist/components/ui/chip/chip.d.ts +8 -0
  39. package/dist/components/ui/chip/index.js +1 -1
  40. package/dist/components/ui/chip/index.js.map +4 -4
  41. package/dist/components/ui/chip-list/chip-list.d.ts +10 -2
  42. package/dist/components/ui/chip-list/index.js +1 -1
  43. package/dist/components/ui/chip-list/index.js.map +4 -4
  44. package/dist/components/ui/combobox/combobox.css +39 -1
  45. package/dist/components/ui/combobox/combobox.d.ts +15 -5
  46. package/dist/components/ui/combobox/combobox.script.d.ts +13 -1
  47. package/dist/components/ui/combobox/index.js +1 -1
  48. package/dist/components/ui/combobox/index.js.map +4 -4
  49. package/dist/components/ui/cycle-toggle/cycle-toggle.css +15 -0
  50. package/dist/components/ui/cycle-toggle/cycle-toggle.d.ts +29 -0
  51. package/dist/components/ui/cycle-toggle/cycle-toggle.script.d.ts +61 -0
  52. package/dist/components/ui/cycle-toggle/index.d.ts +5 -0
  53. package/dist/components/ui/cycle-toggle/index.js +2 -0
  54. package/dist/components/ui/cycle-toggle/index.js.map +7 -0
  55. package/dist/components/ui/cycle-toggle/theme-preference-icons.d.ts +12 -0
  56. package/dist/components/ui/date-field/date-field.css +37 -0
  57. package/dist/components/ui/date-field/date-field.d.ts +22 -3
  58. package/dist/components/ui/date-field/date-field.script.d.ts +29 -5
  59. package/dist/components/ui/date-field/index.d.ts +1 -1
  60. package/dist/components/ui/date-field/index.js +1 -1
  61. package/dist/components/ui/date-field/index.js.map +4 -4
  62. package/dist/components/ui/date-range-picker/date-range-picker.css +37 -0
  63. package/dist/components/ui/date-range-picker/date-range-picker.d.ts +37 -4
  64. package/dist/components/ui/date-range-picker/date-range-picker.script.d.ts +31 -5
  65. package/dist/components/ui/date-range-picker/index.d.ts +1 -1
  66. package/dist/components/ui/date-range-picker/index.js +1 -1
  67. package/dist/components/ui/date-range-picker/index.js.map +4 -4
  68. package/dist/components/ui/dialog/dialog.css +1 -1
  69. package/dist/components/ui/dialog/dialog.d.ts +30 -5
  70. package/dist/components/ui/dialog/dialog.script.d.ts +3 -0
  71. package/dist/components/ui/dialog/index.js +1 -1
  72. package/dist/components/ui/dialog/index.js.map +4 -4
  73. package/dist/components/ui/disclosure/disclosure-group.css +1 -1
  74. package/dist/components/ui/disclosure/disclosure-group.script.d.ts +6 -0
  75. package/dist/components/ui/disclosure/disclosure.d.ts +26 -7
  76. package/dist/components/ui/disclosure/disclosure.script.d.ts +5 -0
  77. package/dist/components/ui/disclosure/index.js +1 -1
  78. package/dist/components/ui/disclosure/index.js.map +4 -4
  79. package/dist/components/ui/feed/feed.d.ts +37 -7
  80. package/dist/components/ui/feed/index.js +1 -1
  81. package/dist/components/ui/feed/index.js.map +4 -4
  82. package/dist/components/ui/field/field-description.d.ts +5 -1
  83. package/dist/components/ui/field/field-error.d.ts +5 -0
  84. package/dist/components/ui/field/field.d.ts +8 -1
  85. package/dist/components/ui/field/field.script.d.ts +35 -0
  86. package/dist/components/ui/field/index.js +1 -1
  87. package/dist/components/ui/field/index.js.map +4 -4
  88. package/dist/components/ui/form/control-protocol.d.ts +6 -0
  89. package/dist/components/ui/form/form.d.ts +2 -1
  90. package/dist/components/ui/form/form.script.d.ts +16 -1
  91. package/dist/components/ui/form/index.d.ts +1 -1
  92. package/dist/components/ui/form/index.js +1 -1
  93. package/dist/components/ui/form/index.js.map +4 -4
  94. package/dist/components/ui/grid/grid.d.ts +12 -2
  95. package/dist/components/ui/grid/grid.script.d.ts +14 -0
  96. package/dist/components/ui/grid/index.js +1 -1
  97. package/dist/components/ui/grid/index.js.map +4 -4
  98. package/dist/components/ui/heading/heading.d.ts +26 -4
  99. package/dist/components/ui/heading/index.js +1 -1
  100. package/dist/components/ui/heading/index.js.map +4 -4
  101. package/dist/components/ui/headline/headline.d.ts +9 -1
  102. package/dist/components/ui/headline/index.js +1 -1
  103. package/dist/components/ui/headline/index.js.map +4 -4
  104. package/dist/components/ui/input/index.d.ts +1 -1
  105. package/dist/components/ui/input/index.js +1 -1
  106. package/dist/components/ui/input/index.js.map +4 -4
  107. package/dist/components/ui/input/input.css +2 -7
  108. package/dist/components/ui/input/input.d.ts +7 -2
  109. package/dist/components/ui/label/index.js +1 -1
  110. package/dist/components/ui/label/index.js.map +4 -4
  111. package/dist/components/ui/label/label.d.ts +8 -1
  112. package/dist/components/ui/listbox/index.js +1 -1
  113. package/dist/components/ui/listbox/index.js.map +4 -4
  114. package/dist/components/ui/listbox/listbox.css +2 -5
  115. package/dist/components/ui/listbox/listbox.d.ts +7 -3
  116. package/dist/components/ui/listbox/listbox.script.d.ts +14 -1
  117. package/dist/components/ui/menu-button/index.d.ts +1 -1
  118. package/dist/components/ui/menu-button/index.js +1 -1
  119. package/dist/components/ui/menu-button/index.js.map +4 -4
  120. package/dist/components/ui/menu-button/menu-button.css +2 -2
  121. package/dist/components/ui/menu-button/menu-button.d.ts +27 -5
  122. package/dist/components/ui/menu-button/menu-button.script.d.ts +8 -3
  123. package/dist/components/ui/menubar/index.js +1 -1
  124. package/dist/components/ui/menubar/index.js.map +4 -4
  125. package/dist/components/ui/menubar/menubar.css +4 -4
  126. package/dist/components/ui/menubar/menubar.d.ts +14 -2
  127. package/dist/components/ui/menubar/menubar.script.d.ts +10 -1
  128. package/dist/components/ui/meter/index.js +1 -1
  129. package/dist/components/ui/meter/index.js.map +4 -4
  130. package/dist/components/ui/meter/meter.css +1 -1
  131. package/dist/components/ui/meter/meter.d.ts +7 -2
  132. package/dist/components/ui/meter/meter.script.d.ts +21 -0
  133. package/dist/components/ui/navigation-menu/index.js +1 -1
  134. package/dist/components/ui/navigation-menu/index.js.map +4 -4
  135. package/dist/components/ui/navigation-menu/navigation-menu.css +2 -2
  136. package/dist/components/ui/navigation-menu/navigation-menu.d.ts +3 -2
  137. package/dist/components/ui/navigation-menu/navigation-menu.script.d.ts +4 -0
  138. package/dist/components/ui/number-field/index.d.ts +1 -1
  139. package/dist/components/ui/number-field/index.js +1 -1
  140. package/dist/components/ui/number-field/index.js.map +4 -4
  141. package/dist/components/ui/number-field/number-field.css +18 -3
  142. package/dist/components/ui/number-field/number-field.d.ts +36 -8
  143. package/dist/components/ui/number-field/number-field.script.d.ts +28 -1
  144. package/dist/components/ui/popover/index.js +1 -1
  145. package/dist/components/ui/popover/index.js.map +4 -4
  146. package/dist/components/ui/popover/popover.d.ts +5 -4
  147. package/dist/components/ui/popover/popover.script.d.ts +4 -0
  148. package/dist/components/ui/radio-group/index.d.ts +1 -1
  149. package/dist/components/ui/radio-group/index.js +1 -1
  150. package/dist/components/ui/radio-group/index.js.map +4 -4
  151. package/dist/components/ui/radio-group/radio-group.d.ts +29 -4
  152. package/dist/components/ui/radio-group/radio-group.script.d.ts +14 -9
  153. package/dist/components/ui/select/index.js +1 -1
  154. package/dist/components/ui/select/index.js.map +4 -4
  155. package/dist/components/ui/select/select.css +48 -6
  156. package/dist/components/ui/select/select.d.ts +29 -8
  157. package/dist/components/ui/select/select.script.d.ts +7 -0
  158. package/dist/components/ui/sidebar/index.js +1 -1
  159. package/dist/components/ui/sidebar/index.js.map +4 -4
  160. package/dist/components/ui/sidebar/sidebar-trigger.script.d.ts +4 -0
  161. package/dist/components/ui/sidebar/sidebar.css +41 -24
  162. package/dist/components/ui/sidebar/sidebar.d.ts +68 -14
  163. package/dist/components/ui/sidebar/sidebar.docs.css +5 -2
  164. package/dist/components/ui/sidebar/sidebar.script.d.ts +9 -0
  165. package/dist/components/ui/slider/index.js +1 -1
  166. package/dist/components/ui/slider/index.js.map +4 -4
  167. package/dist/components/ui/slider/slider.d.ts +2 -1
  168. package/dist/components/ui/slider/slider.script.d.ts +29 -1
  169. package/dist/components/ui/switch/index.js +1 -1
  170. package/dist/components/ui/switch/index.js.map +4 -4
  171. package/dist/components/ui/switch/switch.css +3 -3
  172. package/dist/components/ui/switch/switch.d.ts +11 -2
  173. package/dist/components/ui/switch/switch.script.d.ts +5 -0
  174. package/dist/components/ui/tabs/index.js +1 -1
  175. package/dist/components/ui/tabs/index.js.map +4 -4
  176. package/dist/components/ui/tabs/tabs.css +9 -10
  177. package/dist/components/ui/tabs/tabs.d.ts +30 -9
  178. package/dist/components/ui/tag-group/index.js +1 -1
  179. package/dist/components/ui/tag-group/index.js.map +4 -4
  180. package/dist/components/ui/tag-group/tag-group.css +2 -11
  181. package/dist/components/ui/tag-group/tag-group.d.ts +18 -5
  182. package/dist/components/ui/tag-group/tag-group.script.d.ts +9 -2
  183. package/dist/components/ui/textarea/index.d.ts +1 -1
  184. package/dist/components/ui/textarea/index.js +1 -1
  185. package/dist/components/ui/textarea/index.js.map +4 -4
  186. package/dist/components/ui/textarea/textarea.d.ts +7 -2
  187. package/dist/components/ui/toast/index.d.ts +1 -1
  188. package/dist/components/ui/toast/index.js +1 -1
  189. package/dist/components/ui/toast/index.js.map +4 -4
  190. package/dist/components/ui/toast/stack-layout.d.ts +18 -0
  191. package/dist/components/ui/toast/toast-context.d.ts +10 -0
  192. package/dist/components/ui/toast/toast.css +30 -9
  193. package/dist/components/ui/toast/toast.d.ts +12 -2
  194. package/dist/components/ui/toast/toast.script.d.ts +60 -4
  195. package/dist/components/ui/toast/toaster.script.d.ts +71 -2
  196. package/dist/components/ui/toc/index.js +1 -1
  197. package/dist/components/ui/toc/index.js.map +4 -4
  198. package/dist/components/ui/toc/toc.css +3 -0
  199. package/dist/components/ui/toc/toc.d.ts +2 -1
  200. package/dist/components/ui/toc/toc.script.d.ts +15 -0
  201. package/dist/components/ui/toolbar/index.js +1 -1
  202. package/dist/components/ui/toolbar/index.js.map +4 -4
  203. package/dist/components/ui/toolbar/toolbar.d.ts +3 -2
  204. package/dist/components/ui/toolbar/toolbar.script.d.ts +8 -0
  205. package/dist/components/ui/tooltip/index.js +1 -1
  206. package/dist/components/ui/tooltip/index.js.map +4 -4
  207. package/dist/components/ui/tooltip/tooltip.d.ts +3 -2
  208. package/dist/components/ui/tooltip/tooltip.script.d.ts +3 -0
  209. package/dist/components/ui/tree/index.js +1 -1
  210. package/dist/components/ui/tree/index.js.map +4 -4
  211. package/dist/components/ui/tree/tree.d.ts +12 -2
  212. package/dist/components/ui/tree/tree.script.d.ts +18 -1
  213. package/dist/components/ui/treegrid/index.js +1 -1
  214. package/dist/components/ui/treegrid/index.js.map +4 -4
  215. package/dist/components/ui/treegrid/treegrid.d.ts +15 -2
  216. package/dist/components/ui/treegrid/treegrid.script.d.ts +22 -1
  217. package/dist/components/ui/window-splitter/index.js +1 -1
  218. package/dist/components/ui/window-splitter/index.js.map +4 -4
  219. package/dist/components/ui/window-splitter/window-splitter.css +1 -1
  220. package/dist/components/ui/window-splitter/window-splitter.d.ts +3 -2
  221. package/dist/components/ui/window-splitter/window-splitter.script.d.ts +22 -0
  222. package/dist/index.d.ts +1 -0
  223. package/dist/index.js +1 -1
  224. package/dist/index.js.map +4 -4
  225. package/dist/lib/cycle-value.d.ts +8 -0
  226. package/dist/lib/intl-number/range.d.ts +8 -0
  227. package/dist/styles/radiant-ui-core.css +110 -341
  228. package/dist/styles/radiant-ui.css +413 -377
  229. package/dist/styles/styles.css +839 -2731
  230. package/dist/styles/tailwind.css +626 -530
  231. package/dist/styles/tokens/colors/aurora.css +2 -2
  232. package/dist/styles/tokens/colors/basalt.css +2 -1
  233. package/dist/styles/tokens/colors/glacier.css +2 -1
  234. package/dist/styles/tokens/presets/colors/aurora.css +42 -14
  235. package/dist/styles/tokens/presets/colors/basalt.css +28 -0
  236. package/dist/styles/tokens/presets/colors/ember.css +28 -0
  237. package/dist/styles/tokens/presets/colors/glacier.css +28 -0
  238. package/dist/styles/tokens/semantic.css +22 -2
  239. package/dist/styles/tokens/spacing/compact.css +12 -12
  240. package/package.json +21 -8
  241. package/dist/components/ui/dialog/dialog-registry.test.d.ts +0 -1
  242. package/dist/components/ui/field/field-ssr-hydration.test.d.ts +0 -1
  243. package/dist/components/ui/form/form-field.test.d.ts +0 -4
  244. package/dist/components/ui/form/form-store.test.d.ts +0 -1
  245. package/dist/components/ui/shared/collection-navigation.test.d.ts +0 -1
  246. package/dist/components/ui/shared/floating-position.test.d.ts +0 -1
  247. package/dist/components/ui/shared/listbox-popover-behavior.test.d.ts +0 -1
  248. package/dist/components/ui/shared/popover-controller.test.d.ts +0 -1
  249. package/dist/components/ui/shared/portal.test.d.ts +0 -1
  250. package/dist/components/ui/sidebar/sidebar.ssr.test.d.ts +0 -2
  251. package/dist/components/ui/sidebar/sidebar.test.d.ts +0 -1
  252. package/dist/components/ui/toast/toast.test.d.ts +0 -2
  253. package/dist/components/ui/toc/toc-helpers.test.d.ts +0 -1
  254. package/dist/components/ui/toc/toc.ssr.test.d.ts +0 -1
  255. package/dist/components/ui/toc/toc.test.d.ts +0 -1
  256. package/dist/lib/intl-date/parts.test.d.ts +0 -1
  257. package/dist/lib/intl-date/segments.test.d.ts +0 -1
  258. package/dist/lib/intl-date/selection.test.d.ts +0 -1
  259. package/dist/lib/mask/date-mask.test.d.ts +0 -1
  260. package/dist/lib/mask/input-mask.test.d.ts +0 -1
  261. package/dist/lib/radiant-view.d.ts +0 -43
  262. package/dist/lib/text-filter.test.d.ts +0 -1
  263. package/dist/styles/tokens/presets/radius.css +0 -45
  264. package/dist/styles/tokens/presets/spacing.css +0 -57
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/ui/number-field/number-field.script.tsx", "../../../../src/lib/intl/locale.ts", "../../../../src/lib/intl-number/format.ts", "../../../../src/lib/intl-number/range.ts", "../../../../src/components/ui/shared/field-label.ts", "../../../../src/components/ui/number-field/number-field.tsx", "../../../../src/lib/cx.ts", "../../../../src/lib/radiant-view.ts"],
4
- "sourcesContent": ["let _initProto, _initClass, _init_value, _init_extra_value, _init_defaultValue, _init_extra_defaultValue, _init_minValue, _init_extra_minValue, _init_maxValue, _init_extra_maxValue, _init_step, _init_extra_step, _init_disabled, _init_extra_disabled, _init_readOnly, _init_extra_readOnly, _init_label, _init_extra_label, _init_name, _init_extra_name, _init_locale, _init_extra_locale, _init_formatOptions, _init_extra_formatOptions, _init_commitBehavior, _init_extra_commitBehavior, _init_incrementAriaLabel, _init_extra_incrementAriaLabel, _init_decrementAriaLabel, _init_extra_decrementAriaLabel, _init_wheelDisabled, _init_extra_wheelDisabled, _init_changeEvent, _init_extra_changeEvent, _init_decreaseDisabled, _init_extra_decreaseDisabled, _init_increaseDisabled, _init_extra_increaseDisabled;\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 { formatNumber, parseFormatOptions, parseNumber, resolveLocale, snapToStep } from \"@/lib/intl-number\";\nimport { syncFieldLabel } from \"../shared/field-label\";\nlet _RuiNumberField;\nclass RuiNumberField extends RadiantElement {\n static {\n ({\n e: [_init_value, _init_extra_value, _init_defaultValue, _init_extra_defaultValue, _init_minValue, _init_extra_minValue, _init_maxValue, _init_extra_maxValue, _init_step, _init_extra_step, _init_disabled, _init_extra_disabled, _init_readOnly, _init_extra_readOnly, _init_label, _init_extra_label, _init_name, _init_extra_name, _init_locale, _init_extra_locale, _init_formatOptions, _init_extra_formatOptions, _init_commitBehavior, _init_extra_commitBehavior, _init_incrementAriaLabel, _init_extra_incrementAriaLabel, _init_decrementAriaLabel, _init_extra_decrementAriaLabel, _init_wheelDisabled, _init_extra_wheelDisabled, _init_changeEvent, _init_extra_changeEvent, _init_decreaseDisabled, _init_extra_decreaseDisabled, _init_increaseDisabled, _init_extra_increaseDisabled, _initProto],\n c: [_RuiNumberField, _initClass]\n } = _applyDecs(this, [customElement(\"rui-number-field\")], [[prop({\n type: Number,\n reflect: true\n }), 0, \"value\"], [prop({\n type: Number,\n attribute: \"default-value\"\n }), 0, \"defaultValue\"], [prop({\n type: Number,\n attribute: \"min-value\",\n defaultValue: Number.NEGATIVE_INFINITY\n }), 0, \"minValue\"], [prop({\n type: Number,\n attribute: \"max-value\",\n defaultValue: Number.POSITIVE_INFINITY\n }), 0, \"maxValue\"], [prop({\n type: Number,\n defaultValue: 1\n }), 0, \"step\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"disabled\"], [prop({\n type: Boolean,\n attribute: \"read-only\",\n reflect: true,\n defaultValue: false\n }), 0, \"readOnly\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"name\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"locale\"], [prop({\n type: String,\n attribute: \"format-options\",\n defaultValue: \"\"\n }), 0, \"formatOptions\"], [prop({\n type: String,\n attribute: \"commit-behavior\",\n defaultValue: \"snap\"\n }), 0, \"commitBehavior\"], [prop({\n type: String,\n attribute: \"increment-aria-label\",\n defaultValue: \"\"\n }), 0, \"incrementAriaLabel\"], [prop({\n type: String,\n attribute: \"decrement-aria-label\",\n defaultValue: \"\"\n }), 0, \"decrementAriaLabel\"], [prop({\n type: Boolean,\n attribute: \"wheel-disabled\",\n defaultValue: false\n }), 0, \"wheelDisabled\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [state, 0, \"decreaseDisabled\"], [state, 0, \"increaseDisabled\"], [onUpdated([\"value\", \"defaultValue\", \"minValue\", \"maxValue\", \"step\", \"label\", \"disabled\", \"readOnly\", \"locale\", \"formatOptions\", \"commitBehavior\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: '[data-number-field-action=\"decrement\"]',\n type: \"click\"\n }), 2, \"decrement\"], [onEvent({\n selector: '[data-number-field-action=\"increment\"]',\n type: \"click\"\n }), 2, \"increment\"], [onEvent({\n selector: \"[data-number-field-input]\",\n type: \"focus\"\n }), 2, \"onInputFocus\"], [onEvent({\n selector: \"[data-number-field-input]\",\n type: \"blur\"\n }), 2, \"onInputBlur\"], [onEvent({\n selector: \"[data-number-field-input]\",\n type: \"input\"\n }), 2, \"onInput\"], [onEvent({\n selector: \"[data-number-field-input]\",\n type: \"keydown\"\n }), 2, \"onKeydown\"], [onEvent({\n selector: \"[data-number-field-input]\",\n type: \"wheel\"\n }), 2, \"onWheel\"]], 0, void 0, RadiantElement));\n }\n value = (_initProto(this), _init_value(this));\n defaultValue = (_init_extra_value(this), _init_defaultValue(this));\n minValue = (_init_extra_defaultValue(this), _init_minValue(this));\n maxValue = (_init_extra_minValue(this), _init_maxValue(this));\n step = (_init_extra_maxValue(this), _init_step(this));\n disabled = (_init_extra_step(this), _init_disabled(this));\n readOnly = (_init_extra_disabled(this), _init_readOnly(this));\n label = (_init_extra_readOnly(this), _init_label(this));\n name = (_init_extra_label(this), _init_name(this));\n locale = (_init_extra_name(this), _init_locale(this));\n formatOptions = (_init_extra_locale(this), _init_formatOptions(this));\n commitBehavior = (_init_extra_formatOptions(this), _init_commitBehavior(this));\n incrementAriaLabel = (_init_extra_commitBehavior(this), _init_incrementAriaLabel(this));\n decrementAriaLabel = (_init_extra_incrementAriaLabel(this), _init_decrementAriaLabel(this));\n wheelDisabled = (_init_extra_decrementAriaLabel(this), _init_wheelDisabled(this));\n changeEvent = (_init_extra_wheelDisabled(this), _init_changeEvent(this));\n decreaseDisabled = (_init_extra_changeEvent(this), _init_decreaseDisabled(this, false));\n increaseDisabled = (_init_extra_decreaseDisabled(this), _init_increaseDisabled(this, false));\n editing = (_init_extra_increaseDisabled(this), false);\n draftValue = \"\";\n initialized = false;\n uid = Math.random().toString(36).slice(2, 9);\n nameAttr = this.$.name.map(name => name || void 0);\n get resolvedLocale() {\n return resolveLocale(this.locale);\n }\n get resolvedFormatOptions() {\n return parseFormatOptions(this.formatOptions);\n }\n get inputId() {\n return `rui-number-field-input-${this.uid}`;\n }\n getNumericValue() {\n if (typeof this.value === \"number\" && Number.isFinite(this.value)) {\n return this.value;\n }\n if (typeof this.defaultValue === \"number\" && Number.isFinite(this.defaultValue)) {\n return this.defaultValue;\n }\n return 0;\n }\n getInput() {\n return this.querySelector(\"[data-number-field-input]\");\n }\n getHiddenInput() {\n return this.querySelector(\"[data-number-field-value]\");\n }\n syncLabel() {\n const input = this.getInput();\n syncFieldLabel(this, input, {\n controlId: this.inputId,\n label: this.label,\n labelId: `rui-number-field-label-${this.uid}`\n });\n }\n syncInput() {\n const input = this.getInput();\n const hidden = this.getHiddenInput();\n if (!input) {\n return;\n }\n if (!input.id) {\n input.id = this.inputId;\n }\n const numericValue = this.getNumericValue();\n input.setAttribute(\"role\", \"spinbutton\");\n input.setAttribute(\"inputmode\", \"decimal\");\n input.toggleAttribute(\"data-disabled\", this.disabled);\n input.toggleAttribute(\"data-readonly\", this.readOnly);\n if (!Number.isFinite(this.minValue)) {\n input.removeAttribute(\"aria-valuemin\");\n } else {\n input.setAttribute(\"aria-valuemin\", String(this.minValue));\n }\n if (!Number.isFinite(this.maxValue)) {\n input.removeAttribute(\"aria-valuemax\");\n } else {\n input.setAttribute(\"aria-valuemax\", String(this.maxValue));\n }\n input.setAttribute(\"aria-valuenow\", String(numericValue));\n if (!this.editing) {\n input.value = formatNumber(numericValue, this.resolvedLocale, this.resolvedFormatOptions);\n }\n if (hidden) {\n hidden.value = String(numericValue);\n if (this.name) {\n hidden.name = this.name;\n }\n hidden.disabled = this.disabled;\n }\n }\n updateStepperState() {\n const value = this.getNumericValue();\n this.decreaseDisabled = this.disabled || this.readOnly || value <= this.minValue;\n this.increaseDisabled = this.disabled || this.readOnly || value >= this.maxValue;\n queueMicrotask(() => this.syncSlottedSteppers());\n }\n syncSlottedSteppers() {\n for (const button of this.querySelectorAll('[data-number-field-action=\"decrement\"]')) {\n button.disabled = this.decreaseDisabled;\n }\n for (const button of this.querySelectorAll('[data-number-field-action=\"increment\"]')) {\n button.disabled = this.increaseDisabled;\n }\n }\n commitValue(next, force = false) {\n let resolved = next;\n if (this.commitBehavior === \"snap\" || force) {\n resolved = snapToStep(next, this.minValue, this.maxValue, this.step);\n }\n if (resolved === this.getNumericValue()) {\n this.editing = false;\n this.syncInput();\n this.updateStepperState();\n return;\n }\n this.value = resolved;\n this.changeEvent.emit({\n value: resolved\n });\n this.editing = false;\n this.syncInput();\n this.updateStepperState();\n }\n commitDraft() {\n const parsed = parseNumber(this.draftValue, this.resolvedLocale, this.resolvedFormatOptions);\n if (parsed == null) {\n this.editing = false;\n this.syncInput();\n return;\n }\n if (this.commitBehavior === \"validate\") {\n if (parsed < this.minValue || parsed > this.maxValue) {\n this.editing = false;\n this.syncInput();\n return;\n }\n }\n this.commitValue(parsed);\n }\n initialize() {\n if (this.initialized) {\n return;\n }\n this.initialized = true;\n if (this.value == null && this.defaultValue != null) {\n this.value = this.defaultValue;\n }\n this.syncLabel();\n this.syncInput();\n this.updateStepperState();\n }\n connectedCallback() {\n super.connectedCallback();\n queueMicrotask(() => this.initialize());\n }\n onPropsUpdated() {\n this.syncLabel();\n this.syncInput();\n this.updateStepperState();\n }\n decrement(event2) {\n event2.preventDefault();\n if (this.decreaseDisabled) {\n return;\n }\n this.commitValue(this.getNumericValue() - this.step, true);\n }\n increment(event2) {\n event2.preventDefault();\n if (this.increaseDisabled) {\n return;\n }\n this.commitValue(this.getNumericValue() + this.step, true);\n }\n onInputFocus(event2) {\n if (this.disabled || this.readOnly) {\n return;\n }\n const input = event2.target;\n this.editing = true;\n this.draftValue = String(this.getNumericValue());\n input.value = this.draftValue;\n input.select();\n }\n onInputBlur() {\n if (!this.editing) {\n return;\n }\n this.commitDraft();\n }\n onInput(event2) {\n if (this.disabled || this.readOnly) {\n return;\n }\n this.editing = true;\n this.draftValue = event2.target.value;\n }\n onKeydown(event2) {\n if (this.disabled || this.readOnly) {\n return;\n }\n if (event2.key === \"ArrowUp\") {\n event2.preventDefault();\n this.increment(event2);\n return;\n }\n if (event2.key === \"ArrowDown\") {\n event2.preventDefault();\n this.decrement(event2);\n return;\n }\n if (event2.key === \"Home\" && Number.isFinite(this.minValue)) {\n event2.preventDefault();\n this.commitValue(this.minValue, true);\n return;\n }\n if (event2.key === \"End\" && Number.isFinite(this.maxValue)) {\n event2.preventDefault();\n this.commitValue(this.maxValue, true);\n return;\n }\n if (event2.key === \"Enter\") {\n event2.preventDefault();\n this.commitDraft();\n this.getInput()?.blur();\n }\n }\n onWheel(event2) {\n if (this.wheelDisabled || this.disabled || this.readOnly) {\n return;\n }\n const input = event2.target;\n if (document.activeElement !== input) {\n return;\n }\n event2.preventDefault();\n if (event2.deltaY < 0) {\n this.increment(event2);\n } else if (event2.deltaY > 0) {\n this.decrement(event2);\n }\n }\n render() {\n const incrementLabel = this.incrementAriaLabel || \"Increment\";\n const decrementLabel = this.decrementAriaLabel || \"Decrement\";\n return /* @__PURE__ */jsx(\"div\", {\n class: \"rui-number-field\",\n children: /* @__PURE__ */jsx(\"slot\", {\n name: \"group\",\n children: /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-number-field__group\",\n \"data-number-field-group\": true,\n children: [/* @__PURE__ */jsxs(\"slot\", {\n name: \"input\",\n children: [/* @__PURE__ */jsx(\"input\", {\n type: \"text\",\n \"data-number-field-input\": true,\n \"data-rui-control\": true,\n \"data-rui-control-type\": \"number\",\n class: \"rui-number-field__input\",\n disabled: this.$.disabled,\n readOnly: this.$.readOnly,\n name: this.nameAttr\n }), /* @__PURE__ */jsx(\"input\", {\n type: \"hidden\",\n \"data-number-field-value\": true\n })]\n }), /* @__PURE__ */jsx(\"slot\", {\n name: \"decrement\",\n children: /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-number-field__stepper\",\n \"data-number-field-action\": \"decrement\",\n \"aria-label\": decrementLabel,\n disabled: this.$.decreaseDisabled,\n tabIndex: -1,\n children: \"\\u2212\"\n })\n }), /* @__PURE__ */jsx(\"slot\", {\n name: \"increment\",\n children: /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-number-field__stepper\",\n \"data-number-field-action\": \"increment\",\n \"aria-label\": incrementLabel,\n disabled: this.$.increaseDisabled,\n tabIndex: -1,\n children: \"+\"\n })\n })]\n })\n })\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiNumberField as RuiNumberField };", "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 { resolveLocale } from \"../intl/locale\";\nexport function getNumberFormatter(locale, options) {\n return new Intl.NumberFormat(locale, options);\n}\nexport function formatNumber(value, locale, options) {\n if (!Number.isFinite(value)) {\n return \"\";\n }\n return getNumberFormatter(locale, options).format(value);\n}\nexport function parseNumber(input, locale, options) {\n const trimmed = input.trim();\n if (!trimmed) {\n return null;\n }\n const formatter = getNumberFormatter(locale, options);\n const parts = formatter.formatToParts(1234.5);\n const decimal = parts.find(part => part.type === \"decimal\")?.value ?? \".\";\n const group = parts.find(part => part.type === \"group\")?.value ?? \",\";\n const normalized = trimmed.replaceAll(group, \"\").replace(decimal, \".\").replace(/[^\\d.-]/g, \"\");\n const parsed = Number(normalized);\n return Number.isFinite(parsed) ? parsed : null;\n}\nexport function parseFormatOptions(raw) {\n if (!raw) {\n return void 0;\n }\n try {\n const parsed = JSON.parse(raw);\n if (!isObjectRecord(parsed)) {\n return void 0;\n }\n new Intl.NumberFormat(void 0, parsed);\n return parsed;\n } catch {\n return void 0;\n }\n}\nfunction isObjectRecord(value) {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}", "export function snapToStep(value, min, max, step) {\n const stepped = Math.round((value - min) / step) * step + min;\n return Math.min(max, Math.max(min, stepped));\n}\nexport function isWithinRange(value, min, max) {\n return value >= min && value <= max;\n}\nexport function isOnStep(value, min, step) {\n return Math.abs((value - min) % step) < Number.EPSILON || Math.abs((value - min) % step - step) < Number.EPSILON;\n}", "export function findAssociatedLabel(owner) {\n const previous = owner.previousElementSibling;\n if (previous?.tagName.toLowerCase() === \"label\") {\n return previous;\n }\n return owner.parentElement?.querySelector(\"[data-rui-field-label], label.rui-label\") ?? null;\n}\nexport function syncFieldLabel(owner, control, options) {\n if (!control || control.hasAttribute(\"data-rui-field-managed\")) {\n return;\n }\n const labelElement = findAssociatedLabel(owner);\n if (labelElement) {\n if (!labelElement.id) {\n labelElement.id = options.labelId;\n }\n if (!labelElement.htmlFor) {\n labelElement.htmlFor = options.controlId;\n }\n control.setAttribute(\"aria-labelledby\", labelElement.id);\n control.removeAttribute(\"aria-label\");\n return;\n }\n if (options.label) {\n control.setAttribute(\"aria-label\", options.label);\n control.removeAttribute(\"aria-labelledby\");\n return;\n }\n control.removeAttribute(\"aria-label\");\n control.removeAttribute(\"aria-labelledby\");\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport { defineRadiantView } from \"@/lib/radiant-view\";\nimport { RuiNumberField as RuiNumberFieldElement } from \"./number-field.script\";\nexport function RuiNumberFieldGroup({\n children,\n slot = \"group\",\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n slot,\n \"data-number-field-group\": true,\n class: cx(\"rui-number-field__group\", className),\n children\n });\n}\nexport function RuiNumberFieldInput({\n slot = \"input\",\n class: className,\n disabled,\n readOnly,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"input\", {\n ...props,\n type: \"text\",\n slot,\n \"data-number-field-input\": true,\n \"data-rui-control\": true,\n \"data-rui-control-type\": \"number\",\n class: cx(\"rui-number-field__input\", className),\n disabled,\n readOnly\n });\n}\nexport function RuiNumberFieldIncrementButton({\n children,\n slot = \"increment\",\n class: className,\n \"aria-label\": ariaLabel = \"Increment\",\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n type: \"button\",\n slot,\n \"data-number-field-action\": \"increment\",\n class: cx(\"rui-number-field__stepper\", className),\n \"aria-label\": ariaLabel,\n disabled,\n tabIndex: -1,\n children: children ?? \"+\"\n });\n}\nexport function RuiNumberFieldDecrementButton({\n children,\n slot = \"decrement\",\n class: className,\n \"aria-label\": ariaLabel = \"Decrement\",\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n type: \"button\",\n slot,\n \"data-number-field-action\": \"decrement\",\n class: cx(\"rui-number-field__stepper\", className),\n \"aria-label\": ariaLabel,\n disabled,\n tabIndex: -1,\n children: children ?? \"\\u2212\"\n });\n}\nexport const RuiNumberField = defineRadiantView(RuiNumberFieldElement, ({\n children,\n ...props\n}) => /* @__PURE__ */jsx(\"rui-number-field\", {\n ...props,\n children\n}), {\n stylesheets: [\"./number-field.css\"]\n});", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\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", "getNumberFormatter", "locale", "options", "formatNumber", "value", "parseNumber", "input", "trimmed", "parts", "decimal", "part", "group", "normalized", "parsed", "parseFormatOptions", "raw", "isObjectRecord", "snapToStep", "value", "min", "max", "step", "stepped", "findAssociatedLabel", "owner", "previous", "syncFieldLabel", "control", "options", "labelElement", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_defaultValue", "_init_extra_defaultValue", "_init_minValue", "_init_extra_minValue", "_init_maxValue", "_init_extra_maxValue", "_init_step", "_init_extra_step", "_init_disabled", "_init_extra_disabled", "_init_readOnly", "_init_extra_readOnly", "_init_label", "_init_extra_label", "_init_name", "_init_extra_name", "_init_locale", "_init_extra_locale", "_init_formatOptions", "_init_extra_formatOptions", "_init_commitBehavior", "_init_extra_commitBehavior", "_init_incrementAriaLabel", "_init_extra_incrementAriaLabel", "_init_decrementAriaLabel", "_init_extra_decrementAriaLabel", "_init_wheelDisabled", "_init_extra_wheelDisabled", "_init_changeEvent", "_init_extra_changeEvent", "_init_decreaseDisabled", "_init_extra_decreaseDisabled", "_init_increaseDisabled", "_init_extra_increaseDisabled", "_applyDecs", "e", "t", "n", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "r", "b", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiNumberField", "RuiNumberField", "RadiantElement", "customElement", "prop", "event", "state", "onUpdated", "onEvent", "name", "resolveLocale", "parseFormatOptions", "input", "syncFieldLabel", "hidden", "numericValue", "formatNumber", "value", "button", "next", "force", "resolved", "snapToStep", "parsed", "parseNumber", "event2", "incrementLabel", "decrementLabel", "jsx", "jsxs", "jsx", "cx", "parts", "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", "RuiNumberFieldGroup", "children", "slot", "className", "props", "jsx", "cx", "RuiNumberFieldInput", "disabled", "readOnly", "RuiNumberFieldIncrementButton", "ariaLabel", "RuiNumberFieldDecrementButton", "RuiNumberField", "defineRadiantView", "_RuiNumberField"]
3
+ "sources": ["../../../../src/components/ui/number-field/number-field.script.tsx", "../../../../src/lib/intl/locale.ts", "../../../../src/lib/intl-number/format.ts", "../../../../src/lib/intl-number/range.ts", "../../../../src/components/ui/shared/field-label.ts", "../../../../src/components/ui/number-field/number-field.tsx", "../../../../src/lib/cx.ts"],
4
+ "sourcesContent": ["let _initProto, _initClass, _init_value, _init_extra_value, _init_defaultValue, _init_extra_defaultValue, _init_minValue, _init_extra_minValue, _init_maxValue, _init_extra_maxValue, _init_step, _init_extra_step, _init_disabled, _init_extra_disabled, _init_readOnly, _init_extra_readOnly, _init_label, _init_extra_label, _init_name, _init_extra_name, _init_locale, _init_extra_locale, _init_formatOptions, _init_extra_formatOptions, _init_commitBehavior, _init_extra_commitBehavior, _init_incrementAriaLabel, _init_extra_incrementAriaLabel, _init_decrementAriaLabel, _init_extra_decrementAriaLabel, _init_wheelDisabled, _init_extra_wheelDisabled, _init_changeEvent, _init_extra_changeEvent, _init_decreaseDisabled, _init_extra_decreaseDisabled, _init_increaseDisabled, _init_extra_increaseDisabled;\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 { formatNumber, parseFormatOptions, parseNumber, resolveLocale, snapToStep } from \"@/lib/intl-number\";\nimport { syncFieldLabel } from \"../shared/field-label\";\nlet _RuiNumberField;\nclass RuiNumberField extends RadiantElement {\n static {\n ({\n e: [_init_value, _init_extra_value, _init_defaultValue, _init_extra_defaultValue, _init_minValue, _init_extra_minValue, _init_maxValue, _init_extra_maxValue, _init_step, _init_extra_step, _init_disabled, _init_extra_disabled, _init_readOnly, _init_extra_readOnly, _init_label, _init_extra_label, _init_name, _init_extra_name, _init_locale, _init_extra_locale, _init_formatOptions, _init_extra_formatOptions, _init_commitBehavior, _init_extra_commitBehavior, _init_incrementAriaLabel, _init_extra_incrementAriaLabel, _init_decrementAriaLabel, _init_extra_decrementAriaLabel, _init_wheelDisabled, _init_extra_wheelDisabled, _init_changeEvent, _init_extra_changeEvent, _init_decreaseDisabled, _init_extra_decreaseDisabled, _init_increaseDisabled, _init_extra_increaseDisabled, _initProto],\n c: [_RuiNumberField, _initClass]\n } = _applyDecs(this, [customElement(\"rui-number-field\")], [[prop({\n type: Number,\n reflect: true\n }), 0, \"value\"], [prop({\n type: Number,\n attribute: \"default-value\"\n }), 0, \"defaultValue\"], [prop({\n type: Number,\n attribute: \"min-value\",\n defaultValue: Number.NEGATIVE_INFINITY\n }), 0, \"minValue\"], [prop({\n type: Number,\n attribute: \"max-value\",\n defaultValue: Number.POSITIVE_INFINITY\n }), 0, \"maxValue\"], [prop({\n type: Number,\n defaultValue: 1\n }), 0, \"step\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"disabled\"], [prop({\n type: Boolean,\n attribute: \"read-only\",\n reflect: true,\n defaultValue: false\n }), 0, \"readOnly\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"name\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"locale\"], [prop({\n type: String,\n attribute: \"format-options\",\n defaultValue: \"\"\n }), 0, \"formatOptions\"], [prop({\n type: String,\n attribute: \"commit-behavior\",\n defaultValue: \"snap\"\n }), 0, \"commitBehavior\"], [prop({\n type: String,\n attribute: \"increment-aria-label\",\n defaultValue: \"\"\n }), 0, \"incrementAriaLabel\"], [prop({\n type: String,\n attribute: \"decrement-aria-label\",\n defaultValue: \"\"\n }), 0, \"decrementAriaLabel\"], [prop({\n type: Boolean,\n attribute: \"wheel-disabled\",\n defaultValue: false\n }), 0, \"wheelDisabled\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [state, 0, \"decreaseDisabled\"], [state, 0, \"increaseDisabled\"], [onUpdated([\"value\", \"defaultValue\", \"minValue\", \"maxValue\", \"step\", \"label\", \"disabled\", \"readOnly\", \"locale\", \"formatOptions\", \"commitBehavior\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: '[data-number-field-action=\"decrement\"]',\n type: \"click\"\n }), 2, \"decrement\"], [onEvent({\n selector: '[data-number-field-action=\"increment\"]',\n type: \"click\"\n }), 2, \"increment\"], [onEvent({\n selector: \"[data-number-field-input]\",\n type: \"focus\"\n }), 2, \"onInputFocus\"], [onEvent({\n selector: \"[data-number-field-input]\",\n type: \"blur\"\n }), 2, \"onInputBlur\"], [onEvent({\n selector: \"[data-number-field-input]\",\n type: \"input\"\n }), 2, \"onInput\"], [onEvent({\n selector: \"[data-number-field-input]\",\n type: \"keydown\"\n }), 2, \"onKeydown\"], [onEvent({\n selector: \"[data-number-field-input]\",\n type: \"wheel\"\n }), 2, \"onWheel\"]], 0, void 0, RadiantElement));\n }\n value = (_initProto(this), _init_value(this));\n defaultValue = (_init_extra_value(this), _init_defaultValue(this));\n minValue = (_init_extra_defaultValue(this), _init_minValue(this));\n maxValue = (_init_extra_minValue(this), _init_maxValue(this));\n step = (_init_extra_maxValue(this), _init_step(this));\n disabled = (_init_extra_step(this), _init_disabled(this));\n readOnly = (_init_extra_disabled(this), _init_readOnly(this));\n label = (_init_extra_readOnly(this), _init_label(this));\n name = (_init_extra_label(this), _init_name(this));\n locale = (_init_extra_name(this), _init_locale(this));\n formatOptions = (_init_extra_locale(this), _init_formatOptions(this));\n commitBehavior = (_init_extra_formatOptions(this), _init_commitBehavior(this));\n incrementAriaLabel = (_init_extra_commitBehavior(this), _init_incrementAriaLabel(this));\n decrementAriaLabel = (_init_extra_incrementAriaLabel(this), _init_decrementAriaLabel(this));\n wheelDisabled = (_init_extra_decrementAriaLabel(this), _init_wheelDisabled(this));\n changeEvent = (_init_extra_wheelDisabled(this), _init_changeEvent(this));\n decreaseDisabled = (_init_extra_changeEvent(this), _init_decreaseDisabled(this, false));\n increaseDisabled = (_init_extra_decreaseDisabled(this), _init_increaseDisabled(this, false));\n editing = (_init_extra_increaseDisabled(this), false);\n draftValue = \"\";\n initialized = false;\n uid = Math.random().toString(36).slice(2, 9);\n nameAttr = this.$.name.map(name => name || void 0);\n get resolvedLocale() {\n return resolveLocale(this.locale);\n }\n get resolvedFormatOptions() {\n return parseFormatOptions(this.formatOptions);\n }\n get inputId() {\n return `rui-number-field-input-${this.uid}`;\n }\n getNumericValue() {\n if (typeof this.value === \"number\" && Number.isFinite(this.value)) {\n return this.value;\n }\n if (typeof this.defaultValue === \"number\" && Number.isFinite(this.defaultValue)) {\n return this.defaultValue;\n }\n return 0;\n }\n getInput() {\n return this.querySelector(\"[data-number-field-input]\");\n }\n getHiddenInput() {\n return this.querySelector(\"[data-number-field-value]\");\n }\n syncLabel() {\n const input = this.getInput();\n syncFieldLabel(this, input, {\n controlId: this.inputId,\n label: this.label,\n labelId: `rui-number-field-label-${this.uid}`\n });\n }\n syncInput() {\n const input = this.getInput();\n const hidden = this.getHiddenInput();\n if (!input) {\n return;\n }\n if (!input.id) {\n input.id = this.inputId;\n }\n const numericValue = this.getNumericValue();\n input.setAttribute(\"role\", \"spinbutton\");\n input.setAttribute(\"inputmode\", \"decimal\");\n input.toggleAttribute(\"data-disabled\", this.disabled);\n input.toggleAttribute(\"data-readonly\", this.readOnly);\n if (!Number.isFinite(this.minValue)) {\n input.removeAttribute(\"aria-valuemin\");\n } else {\n input.setAttribute(\"aria-valuemin\", String(this.minValue));\n }\n if (!Number.isFinite(this.maxValue)) {\n input.removeAttribute(\"aria-valuemax\");\n } else {\n input.setAttribute(\"aria-valuemax\", String(this.maxValue));\n }\n input.setAttribute(\"aria-valuenow\", String(numericValue));\n if (!this.editing) {\n input.value = formatNumber(numericValue, this.resolvedLocale, this.resolvedFormatOptions);\n }\n if (hidden) {\n hidden.value = String(numericValue);\n if (this.name) {\n hidden.name = this.name;\n }\n hidden.disabled = this.disabled;\n }\n }\n updateStepperState() {\n const value = this.getNumericValue();\n this.decreaseDisabled = this.disabled || this.readOnly || value <= this.minValue;\n this.increaseDisabled = this.disabled || this.readOnly || value >= this.maxValue;\n queueMicrotask(() => this.syncSlottedSteppers());\n }\n syncSlottedSteppers() {\n for (const button of this.querySelectorAll('[data-number-field-action=\"decrement\"]')) {\n button.disabled = this.decreaseDisabled;\n }\n for (const button of this.querySelectorAll('[data-number-field-action=\"increment\"]')) {\n button.disabled = this.increaseDisabled;\n }\n }\n commitValue(next, force = false) {\n let resolved = next;\n if (this.commitBehavior === \"snap\" || force) {\n resolved = snapToStep(next, this.minValue, this.maxValue, this.step);\n }\n if (resolved === this.getNumericValue()) {\n this.editing = false;\n this.syncInput();\n this.updateStepperState();\n return;\n }\n this.value = resolved;\n this.changeEvent.emit({\n value: resolved\n });\n this.editing = false;\n this.syncInput();\n this.updateStepperState();\n }\n commitDraft() {\n const parsed = parseNumber(this.draftValue, this.resolvedLocale, this.resolvedFormatOptions);\n if (parsed == null) {\n this.editing = false;\n this.syncInput();\n return;\n }\n if (this.commitBehavior === \"validate\") {\n if (parsed < this.minValue || parsed > this.maxValue) {\n this.editing = false;\n this.syncInput();\n return;\n }\n }\n this.commitValue(parsed);\n }\n initialize() {\n if (this.initialized) {\n return;\n }\n this.initialized = true;\n if (this.value == null && this.defaultValue != null) {\n this.value = this.defaultValue;\n }\n this.syncLabel();\n this.syncInput();\n this.updateStepperState();\n }\n connectedCallback() {\n super.connectedCallback();\n queueMicrotask(() => this.initialize());\n }\n onPropsUpdated() {\n this.syncLabel();\n this.syncInput();\n this.updateStepperState();\n }\n decrement(event2) {\n event2.preventDefault();\n if (this.decreaseDisabled) {\n return;\n }\n this.commitValue(this.getNumericValue() - this.step, true);\n }\n increment(event2) {\n event2.preventDefault();\n if (this.increaseDisabled) {\n return;\n }\n this.commitValue(this.getNumericValue() + this.step, true);\n }\n onInputFocus(event2) {\n if (this.disabled || this.readOnly) {\n return;\n }\n const input = event2.target;\n this.editing = true;\n this.draftValue = String(this.getNumericValue());\n input.value = this.draftValue;\n input.select();\n }\n onInputBlur() {\n if (!this.editing) {\n return;\n }\n this.commitDraft();\n }\n onInput(event2) {\n if (this.disabled || this.readOnly) {\n return;\n }\n this.editing = true;\n this.draftValue = event2.target.value;\n }\n onKeydown(event2) {\n if (this.disabled || this.readOnly) {\n return;\n }\n if (event2.key === \"ArrowUp\") {\n event2.preventDefault();\n this.increment(event2);\n return;\n }\n if (event2.key === \"ArrowDown\") {\n event2.preventDefault();\n this.decrement(event2);\n return;\n }\n if (event2.key === \"Home\" && Number.isFinite(this.minValue)) {\n event2.preventDefault();\n this.commitValue(this.minValue, true);\n return;\n }\n if (event2.key === \"End\" && Number.isFinite(this.maxValue)) {\n event2.preventDefault();\n this.commitValue(this.maxValue, true);\n return;\n }\n if (event2.key === \"Enter\") {\n event2.preventDefault();\n this.commitDraft();\n this.getInput()?.blur();\n }\n }\n onWheel(event2) {\n if (this.wheelDisabled || this.disabled || this.readOnly) {\n return;\n }\n const input = event2.target;\n if (document.activeElement !== input) {\n return;\n }\n event2.preventDefault();\n if (event2.deltaY < 0) {\n this.increment(event2);\n } else if (event2.deltaY > 0) {\n this.decrement(event2);\n }\n }\n render() {\n const incrementLabel = this.incrementAriaLabel || \"Increment\";\n const decrementLabel = this.decrementAriaLabel || \"Decrement\";\n return /* @__PURE__ */jsx(\"div\", {\n class: \"rui-number-field\",\n children: /* @__PURE__ */jsx(\"slot\", {\n name: \"group\",\n children: /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-number-field__group\",\n \"data-number-field-group\": true,\n children: [/* @__PURE__ */jsxs(\"slot\", {\n name: \"input\",\n children: [/* @__PURE__ */jsx(\"input\", {\n type: \"text\",\n \"data-number-field-input\": true,\n \"data-rui-control\": true,\n \"data-rui-control-type\": \"number\",\n class: \"rui-number-field__input\",\n disabled: this.$.disabled,\n readOnly: this.$.readOnly,\n name: this.nameAttr\n }), /* @__PURE__ */jsx(\"input\", {\n type: \"hidden\",\n \"data-number-field-value\": true\n })]\n }), /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-number-field__steppers\",\n children: [/* @__PURE__ */jsx(\"slot\", {\n name: \"decrement\",\n children: /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-number-field__stepper\",\n \"data-number-field-action\": \"decrement\",\n \"aria-label\": decrementLabel,\n disabled: this.$.decreaseDisabled,\n tabIndex: -1,\n children: \"\\u2212\"\n })\n }), /* @__PURE__ */jsx(\"slot\", {\n name: \"increment\",\n children: /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-number-field__stepper\",\n \"data-number-field-action\": \"increment\",\n \"aria-label\": incrementLabel,\n disabled: this.$.increaseDisabled,\n tabIndex: -1,\n children: \"+\"\n })\n })]\n })]\n })\n })\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiNumberField as RuiNumberField };", "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 { resolveLocale } from \"../intl/locale\";\nexport function getNumberFormatter(locale, options) {\n return new Intl.NumberFormat(locale, options);\n}\nexport function formatNumber(value, locale, options) {\n if (!Number.isFinite(value)) {\n return \"\";\n }\n return getNumberFormatter(locale, options).format(value);\n}\nexport function parseNumber(input, locale, options) {\n const trimmed = input.trim();\n if (!trimmed) {\n return null;\n }\n const formatter = getNumberFormatter(locale, options);\n const parts = formatter.formatToParts(1234.5);\n const decimal = parts.find(part => part.type === \"decimal\")?.value ?? \".\";\n const group = parts.find(part => part.type === \"group\")?.value ?? \",\";\n const normalized = trimmed.replaceAll(group, \"\").replace(decimal, \".\").replace(/[^\\d.-]/g, \"\");\n const parsed = Number(normalized);\n return Number.isFinite(parsed) ? parsed : null;\n}\nexport function parseFormatOptions(raw) {\n if (!raw) {\n return void 0;\n }\n try {\n const parsed = JSON.parse(raw);\n if (!isObjectRecord(parsed)) {\n return void 0;\n }\n new Intl.NumberFormat(void 0, parsed);\n return parsed;\n } catch {\n return void 0;\n }\n}\nfunction isObjectRecord(value) {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}", "export function snapToStep(value, min, max, step) {\n if (!Number.isFinite(value)) {\n return Number.isFinite(min) ? min : 0;\n }\n if (!Number.isFinite(step) || step === 0) {\n return clampToRange(value, min, max);\n }\n const origin = Number.isFinite(min) ? min : 0;\n const stepped = Math.round((value - origin) / step) * step + origin;\n return clampToRange(stepped, min, max);\n}\nfunction clampToRange(value, min, max) {\n let next = value;\n if (Number.isFinite(min)) {\n next = Math.max(min, next);\n }\n if (Number.isFinite(max)) {\n next = Math.min(max, next);\n }\n return next;\n}\nexport function isWithinRange(value, min, max) {\n return value >= min && value <= max;\n}\nexport function isOnStep(value, min, step) {\n const origin = Number.isFinite(min) ? min : 0;\n return Math.abs((value - origin) % step) < Number.EPSILON || Math.abs((value - origin) % step - step) < Number.EPSILON;\n}", "export function findAssociatedLabel(owner) {\n const previous = owner.previousElementSibling;\n if (previous?.tagName.toLowerCase() === \"label\") {\n return previous;\n }\n return owner.parentElement?.querySelector(\"[data-rui-field-label], label.rui-label\") ?? null;\n}\nexport function syncFieldLabel(owner, control, options) {\n if (!control || control.hasAttribute(\"data-rui-field-managed\")) {\n return;\n }\n const labelElement = findAssociatedLabel(owner);\n if (labelElement) {\n if (!labelElement.id) {\n labelElement.id = options.labelId;\n }\n if (!labelElement.htmlFor) {\n labelElement.htmlFor = options.controlId;\n }\n control.setAttribute(\"aria-labelledby\", labelElement.id);\n control.removeAttribute(\"aria-label\");\n return;\n }\n if (options.label) {\n control.setAttribute(\"aria-label\", options.label);\n control.removeAttribute(\"aria-labelledby\");\n return;\n }\n control.removeAttribute(\"aria-label\");\n control.removeAttribute(\"aria-labelledby\");\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport \"./number-field.script\";\nexport function RuiNumberFieldGroup({\n children,\n slot = \"group\",\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n slot,\n \"data-number-field-group\": true,\n class: cx(\"rui-number-field__group\", className),\n children\n });\n}\nexport function RuiNumberFieldInput({\n slot = \"input\",\n class: className,\n disabled,\n readOnly,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"input\", {\n ...props,\n type: \"text\",\n slot,\n \"data-number-field-input\": true,\n \"data-rui-control\": true,\n \"data-rui-control-type\": \"number\",\n class: cx(\"rui-number-field__input\", className),\n disabled,\n readOnly\n });\n}\nexport function RuiNumberFieldSteppers({\n children,\n slot,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n slot,\n class: cx(\"rui-number-field__steppers\", className),\n children\n });\n}\nexport function RuiNumberFieldIncrementButton({\n children,\n slot = \"increment\",\n class: className,\n \"aria-label\": ariaLabel = \"Increment\",\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n type: \"button\",\n slot,\n \"data-number-field-action\": \"increment\",\n class: cx(\"rui-number-field__stepper\", className),\n \"aria-label\": ariaLabel,\n disabled,\n tabIndex: -1,\n children: children ?? \"+\"\n });\n}\nexport function RuiNumberFieldDecrementButton({\n children,\n slot = \"decrement\",\n class: className,\n \"aria-label\": ariaLabel = \"Decrement\",\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n type: \"button\",\n slot,\n \"data-number-field-action\": \"decrement\",\n class: cx(\"rui-number-field__stepper\", className),\n \"aria-label\": ariaLabel,\n disabled,\n tabIndex: -1,\n children: children ?? \"\\u2212\"\n });\n}\nexport function RuiNumberField({\n children,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"rui-number-field\", {\n ...props,\n children\n });\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}"],
5
+ "mappings": "AAMA,OAAS,OAAAA,EAAK,QAAAC,MAAY,4BAC1B,OAAS,kBAAAC,GAAgB,iBAAAC,GAAe,SAAAC,GAAO,WAAAC,EAAS,aAAAC,GAAW,QAAAC,EAAM,SAAAC,OAAa,oBCP/E,SAASC,EAAcC,EAAQ,CACpC,GAAI,CAACA,EACH,OAEF,IAAMC,EAAOD,EAAO,MAAM,GAAG,EAAE,IAAIE,GAAOA,EAAI,KAAK,CAAC,EAAE,OAAO,OAAO,EACpE,OAAOD,EAAK,OAAS,EAAIA,EAAOA,EAAK,CAAC,CACxC,CCLO,SAASE,EAAmBC,EAAQC,EAAS,CAClD,OAAO,IAAI,KAAK,aAAaD,EAAQC,CAAO,CAC9C,CACO,SAASC,EAAaC,EAAOH,EAAQC,EAAS,CACnD,OAAK,OAAO,SAASE,CAAK,EAGnBJ,EAAmBC,EAAQC,CAAO,EAAE,OAAOE,CAAK,EAF9C,EAGX,CACO,SAASC,EAAYC,EAAOL,EAAQC,EAAS,CAClD,IAAMK,EAAUD,EAAM,KAAK,EAC3B,GAAI,CAACC,EACH,OAAO,KAGT,IAAMC,EADYR,EAAmBC,EAAQC,CAAO,EAC5B,cAAc,MAAM,EACtCO,EAAUD,EAAM,KAAKE,GAAQA,EAAK,OAAS,SAAS,GAAG,OAAS,IAChEC,EAAQH,EAAM,KAAKE,GAAQA,EAAK,OAAS,OAAO,GAAG,OAAS,IAC5DE,EAAaL,EAAQ,WAAWI,EAAO,EAAE,EAAE,QAAQF,EAAS,GAAG,EAAE,QAAQ,WAAY,EAAE,EACvFI,EAAS,OAAOD,CAAU,EAChC,OAAO,OAAO,SAASC,CAAM,EAAIA,EAAS,IAC5C,CACO,SAASC,EAAmBC,EAAK,CACtC,GAAKA,EAGL,GAAI,CACF,IAAMF,EAAS,KAAK,MAAME,CAAG,EAC7B,OAAKC,GAAeH,CAAM,GAG1B,IAAI,KAAK,aAAa,OAAQA,CAAM,EAC7BA,GAHL,MAIJ,MAAQ,CACN,MACF,CACF,CACA,SAASG,GAAeZ,EAAO,CAC7B,OAAO,OAAOA,GAAU,UAAYA,IAAU,MAAQ,CAAC,MAAM,QAAQA,CAAK,CAC5E,CCxCO,SAASa,EAAWC,EAAOC,EAAKC,EAAKC,EAAM,CAChD,GAAI,CAAC,OAAO,SAASH,CAAK,EACxB,OAAO,OAAO,SAASC,CAAG,EAAIA,EAAM,EAEtC,GAAI,CAAC,OAAO,SAASE,CAAI,GAAKA,IAAS,EACrC,OAAOC,GAAaJ,EAAOC,EAAKC,CAAG,EAErC,IAAMG,EAAS,OAAO,SAASJ,CAAG,EAAIA,EAAM,EACtCK,EAAU,KAAK,OAAON,EAAQK,GAAUF,CAAI,EAAIA,EAAOE,EAC7D,OAAOD,GAAaE,EAASL,EAAKC,CAAG,CACvC,CACA,SAASE,GAAaJ,EAAOC,EAAKC,EAAK,CACrC,IAAIK,EAAOP,EACX,OAAI,OAAO,SAASC,CAAG,IACrBM,EAAO,KAAK,IAAIN,EAAKM,CAAI,GAEvB,OAAO,SAASL,CAAG,IACrBK,EAAO,KAAK,IAAIL,EAAKK,CAAI,GAEpBA,CACT,CCpBO,SAASC,GAAoBC,EAAO,CACzC,IAAMC,EAAWD,EAAM,uBACvB,OAAIC,GAAU,QAAQ,YAAY,IAAM,QAC/BA,EAEFD,EAAM,eAAe,cAAc,yCAAyC,GAAK,IAC1F,CACO,SAASE,GAAeF,EAAOG,EAASC,EAAS,CACtD,GAAI,CAACD,GAAWA,EAAQ,aAAa,wBAAwB,EAC3D,OAEF,IAAME,EAAeN,GAAoBC,CAAK,EAC9C,GAAIK,EAAc,CACXA,EAAa,KAChBA,EAAa,GAAKD,EAAQ,SAEvBC,EAAa,UAChBA,EAAa,QAAUD,EAAQ,WAEjCD,EAAQ,aAAa,kBAAmBE,EAAa,EAAE,EACvDF,EAAQ,gBAAgB,YAAY,EACpC,MACF,CACA,GAAIC,EAAQ,MAAO,CACjBD,EAAQ,aAAa,aAAcC,EAAQ,KAAK,EAChDD,EAAQ,gBAAgB,iBAAiB,EACzC,MACF,CACAA,EAAQ,gBAAgB,YAAY,EACpCA,EAAQ,gBAAgB,iBAAiB,CAC3C,CJ9BA,IAAIG,GAAYC,GAAYC,GAAaC,GAAmBC,GAAoBC,GAA0BC,GAAgBC,GAAsBC,GAAgBC,GAAsBC,GAAYC,GAAkBC,GAAgBC,GAAsBC,GAAgBC,GAAsBC,GAAaC,GAAmBC,GAAYC,GAAkBC,GAAcC,GAAoBC,GAAqBC,GAA2BC,GAAsBC,GAA4BC,GAA0BC,GAAgCC,GAA0BC,GAAgCC,GAAqBC,GAA2BC,GAAmBC,GAAyBC,GAAwBC,GAA8BC,GAAwBC,GAChwB,SAASC,GAAWC,EAAGC,EAAGC,EAAG,EAAGC,EAAGC,EAAG,CAAE,IAAIC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,GAAI,OAAO,UAAY,OAAO,IAAI,iBAAiB,EAAGC,GAAI,OAAO,eAAgBC,EAAI,OAAO,OAAQC,GAAI,CAACD,EAAE,IAAI,EAAGA,EAAE,IAAI,CAAC,EAAGE,GAAIf,EAAE,OAAQ,SAASgB,EAAEhB,EAAGC,EAAGgB,EAAG,CAAE,OAAO,SAAUf,EAAGC,EAAG,CAAEF,IAAME,EAAID,EAAGA,EAAIH,GAAI,QAASK,EAAI,EAAGA,EAAIJ,EAAE,OAAQI,IAAKD,EAAIH,EAAEI,CAAC,EAAE,MAAMF,EAAGe,EAAI,CAACd,CAAC,EAAI,CAAC,CAAC,EAAG,OAAOc,EAAId,EAAID,CAAG,CAAG,CAAE,SAASgB,EAAEnB,EAAGC,EAAGC,EAAGgB,EAAG,CAAE,GAAkB,OAAOlB,GAArB,aAA2BkB,GAAgBlB,IAAX,QAAe,MAAM,IAAI,UAAUC,EAAI,UAAYC,GAAK,MAAQ,eAAiBgB,EAAI,GAAK,gBAAgB,EAAG,OAAOlB,CAAG,CAAE,SAASoB,GAASpB,EAAGC,EAAGC,EAAGgB,EAAGf,EAAGC,EAAGG,EAAGC,EAAGC,EAAGC,EAAGC,GAAG,CAAE,SAASC,EAAEZ,EAAG,CAAE,GAAI,CAACW,GAAEX,CAAC,EAAG,MAAM,IAAI,UAAU,qDAAqD,CAAG,CAAE,IAAIc,EAAI,CAAC,EAAE,OAAOb,EAAE,CAAC,CAAC,EAAGe,GAAIf,EAAE,CAAC,EAAGoB,EAAI,CAACd,EAAGe,EAAUnB,IAAN,EAASoB,GAAUpB,IAAN,EAASqB,GAAUrB,IAAN,EAASsB,EAAUtB,IAAN,EAAS,SAASuB,EAAEzB,EAAGC,EAAGgB,GAAG,CAAE,OAAO,SAAUf,EAAGC,GAAG,CAAE,OAAOF,IAAME,GAAID,EAAGA,EAAIH,GAAIkB,IAAKA,GAAEf,CAAC,EAAGwB,EAAE1B,CAAC,EAAE,KAAKE,EAAGC,EAAC,CAAG,CAAG,CAAE,GAAI,CAACiB,EAAG,CAAE,IAAIM,EAAI,CAAC,EAAGC,EAAI,CAAC,EAAGC,EAAIN,GAAI,MAAQC,IAAKF,EAAI,MAAQ,QAAS,GAAIb,GAAKC,GAAKY,EAAIK,EAAI,CAAE,IAAKG,GAAiB,UAAY,CAAE,OAAOd,GAAE,IAAI,CAAG,EAAGE,EAAG,KAAK,EAAG,IAAK,SAAUlB,EAAG,CAAEC,EAAE,CAAC,EAAE,KAAMD,CAAC,CAAG,CAAE,EAAI2B,EAAEE,CAAC,EAAIb,GAAGN,GAAKoB,GAAiBH,EAAEE,CAAC,EAAGX,EAAGO,EAAI,GAAKI,CAAC,GAAKnB,IAAMiB,EAAI,OAAO,yBAAyB3B,EAAGkB,CAAC,GAAI,CAACR,GAAK,CAACD,EAAG,CAAE,IAAKH,EAAIS,GAAE,CAACP,CAAC,EAAEU,CAAC,KAAaZ,EAAIH,KAAX,EAAe,MAAM,MAAM,+CAAiDwB,EAAEE,CAAC,EAAE,KAAO,wBAAwB,EAAGd,GAAE,CAACP,CAAC,EAAEU,CAAC,EAAIf,EAAI,EAAI,EAAIA,CAAG,CAAE,CAAE,QAAS4B,EAAI/B,EAAGgC,EAAIlB,EAAE,OAAS,EAAGkB,GAAK,EAAGA,GAAK9B,EAAI,EAAI,EAAG,CAAE,IAAI+B,GAAId,EAAEL,EAAEkB,CAAC,EAAG,cAAe,KAAM,EAAE,EAAGE,GAAIhC,EAAIY,EAAEkB,EAAI,CAAC,EAAI,OAAQG,EAAI,CAAC,EAAGC,EAAI,CAAE,KAAM,CAAC,QAAS,WAAY,SAAU,SAAU,SAAU,OAAO,EAAEjC,CAAC,EAAG,KAAMe,EAAG,SAAUb,EAAG,eAAgB,SAAUL,EAAGC,EAAG,CAAE,GAAID,EAAE,EAAG,MAAM,IAAI,UAAU,gEAAgE,EAAGmB,EAAElB,EAAG,iBAAkB,KAAM,EAAE,EAAGG,EAAE,KAAKH,CAAC,CAAG,EAAE,KAAK,KAAMkC,CAAC,CAAE,EAAG,GAAId,EAAGf,EAAI2B,GAAE,KAAKC,GAAGH,EAAGK,CAAC,EAAGD,EAAE,EAAI,EAAGhB,EAAEb,EAAG,mBAAoB,QAAQ,IAAMyB,EAAIzB,WAAY8B,EAAE,OAAS5B,EAAG4B,EAAE,QAAU3B,EAAGH,EAAI8B,EAAE,OAAS,CAAE,IAAK3B,EAAIE,GAAE,KAAK,EAAI,SAAUX,EAAG,CAAE,OAAOkB,KAAKlB,CAAG,CAAE,EAAGwB,KAAMlB,EAAE,IAAMG,EAAIgB,EAAI,SAAUzB,EAAG,CAAE,OAAOY,EAAEZ,CAAC,EAAG2B,EAAE,KAAO,EAAID,EAAE,MAAO,EAAGd,CAAC,EAAI,SAAUZ,EAAG,CAAE,OAAOA,EAAEkB,CAAC,CAAG,GAAIO,GAAKF,KAAMjB,EAAE,IAAMG,EAAIiB,EAAE,MAAO,EAAGd,CAAC,EAAI,SAAUZ,EAAGC,EAAG,CAAED,EAAEkB,CAAC,EAAIjB,CAAG,GAAI8B,EAAIE,GAAE,KAAKC,GAAGZ,EAAI,CAAE,IAAKK,EAAE,IAAK,IAAKA,EAAE,GAAI,EAAIA,EAAEE,CAAC,EAAGO,CAAC,EAAGD,EAAE,EAAI,EAAGb,GAAK,GAAgB,OAAOS,GAAnB,UAAwBA,GAAIzB,EAAIa,EAAEY,EAAE,IAAK,cAAc,KAAOJ,EAAE,IAAMrB,IAAKA,EAAIa,EAAEY,EAAE,IAAK,cAAc,KAAOJ,EAAE,IAAMrB,IAAKA,EAAIa,EAAEY,EAAE,KAAM,eAAe,IAAMH,EAAE,QAAQtB,CAAC,UAAsByB,IAAX,OAAc,MAAM,IAAI,UAAU,0FAA0F,OAAUZ,EAAEY,GAAIrB,EAAI,QAAU,UAAY,cAAe,QAAQ,IAAMA,EAAIkB,EAAE,QAAQG,CAAC,EAAIJ,EAAEE,CAAC,EAAIE,EAAI,CAAE,OAAO5B,EAAI,GAAKI,EAAE,KAAKU,EAAEW,EAAGpB,EAAG,CAAC,EAAGS,EAAEb,EAAGI,EAAG,CAAC,CAAC,EAAGE,GAAKW,IAAMZ,EAAIa,EAAIf,EAAE,OAAO,GAAI,EAAGmB,EAAE,MAAOlB,CAAC,EAAGkB,EAAE,MAAOlB,CAAC,CAAC,EAAID,EAAE,KAAKkB,EAAIE,EAAEE,CAAC,EAAIV,EAAE,KAAK,KAAKQ,EAAEE,CAAC,CAAC,CAAC,EAAIhB,GAAEb,EAAGkB,EAAGS,CAAC,GAAII,CAAG,CAAE,SAASV,GAAErB,EAAG,CAAE,OAAOa,GAAEb,EAAGY,GAAG,CAAE,aAAc,GAAI,WAAY,GAAI,MAAOP,CAAE,CAAC,CAAG,CAAE,OAAkBD,IAAX,SAAiBC,EAAID,EAAEQ,EAAC,GAAIP,EAAIS,EAAUT,GAAI,IAAQ,EAAGI,EAAI,CAAC,EAAGC,EAAI,SAAUV,EAAG,CAAEA,GAAKS,EAAE,KAAKQ,EAAEjB,CAAC,CAAC,CAAG,EAAGW,EAAI,SAAUV,EAAGiB,EAAG,CAAE,QAASd,EAAI,EAAGA,EAAIF,EAAE,OAAQE,IAAK,CAAE,IAAI,EAAIF,EAAEE,CAAC,EAAGE,EAAI,EAAE,CAAC,EAAGI,EAAI,EAAIJ,EAAG,IAAK,EAAIA,IAAML,GAAK,CAACS,GAAKQ,EAAG,CAAE,IAAIP,EAAI,EAAE,CAAC,EAAGC,EAAI,CAAC,CAAC,EAAE,CAAC,EAAGC,EAAI,GAAKP,EAAGc,GAASnB,EAAID,EAAIA,EAAE,UAAW,EAAGa,EAAGD,EAAI,IAAMD,EAAI0B,GAAe1B,CAAC,EAAGD,EAAGA,EAAI,EAAI,CAAC,EAAIT,EAAIO,EAAIA,GAAK,CAAC,EAAID,EAAIA,GAAK,CAAC,EAAGE,EAAG,CAAC,CAACR,EAAGW,EAAGM,EAAGjB,GAAKW,EAAI,SAAUX,EAAG,CAAE,OAAOqC,GAAYrC,CAAC,IAAMD,CAAG,EAAIG,CAAC,CAAG,CAAE,CAAE,EAAGQ,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGD,EAAEH,CAAC,EAAGG,EAAEF,CAAC,EAAGF,EAAIG,EAAGO,IAAKK,GAAErB,CAAC,EAAG,CAAE,EAAGM,EAAG,IAAI,GAAI,CAAE,IAAI,EAAI,CAAC,EAAG,OAAOU,IAAK,CAACK,GAAErB,EAAIoB,GAASpB,EAAG,CAACC,CAAC,EAAG,EAAGD,EAAE,KAAM,EAAG,CAAC,CAAC,EAAGiB,EAAE,EAAG,CAAC,CAAC,CAAG,CAAE,CAAG,CACn/G,SAASoB,GAAe,EAAG,CAAE,IAAIjC,EAAImC,GAAa,EAAG,QAAQ,EAAG,OAAmB,OAAOnC,GAAnB,SAAuBA,EAAIA,EAAI,EAAI,CAC1G,SAASmC,GAAa,EAAGrB,EAAG,CAAE,GAAgB,OAAO,GAAnB,UAAwB,CAAC,EAAG,OAAO,EAAG,IAAIlB,EAAI,EAAE,OAAO,WAAW,EAAG,GAAeA,IAAX,OAAc,CAAE,IAAII,EAAIJ,EAAE,KAAK,EAAGkB,GAAK,SAAS,EAAG,GAAgB,OAAOd,GAAnB,SAAsB,OAAOA,EAAG,MAAM,IAAI,UAAU,8CAA8C,CAAG,CAAE,OAAqBc,IAAb,SAAiB,OAAS,QAAQ,CAAC,CAAG,CACvT,SAASY,GAAiB9B,EAAGC,EAAGC,EAAG,CAAc,OAAOD,GAAnB,WAAyBA,GAAKA,EAAIA,EAAE,aAAe,IAAMA,EAAI,IAAM,IAAK,GAAI,CAAE,OAAO,eAAeD,EAAG,OAAQ,CAAE,aAAc,GAAI,MAAOE,EAAIA,EAAI,IAAMD,EAAIA,CAAE,CAAC,CAAG,MAAY,CAAC,CAAE,OAAOD,CAAG,CAChO,SAASsC,GAAYtC,EAAG,CAAE,GAAI,OAAOA,CAAC,IAAMA,EAAG,MAAM,UAAU,qDAAgEA,IAAT,KAAa,OAAOA,EAAI,OAAO,EAAG,OAAOA,CAAG,CAKlK,IAAIwC,GACEC,GAAN,cAA6BC,EAAe,CAC1C,MAAO,EACJ,CACC,EAAG,CAAC/E,GAAaC,GAAmBC,GAAoBC,GAA0BC,GAAgBC,GAAsBC,GAAgBC,GAAsBC,GAAYC,GAAkBC,GAAgBC,GAAsBC,GAAgBC,GAAsBC,GAAaC,GAAmBC,GAAYC,GAAkBC,GAAcC,GAAoBC,GAAqBC,GAA2BC,GAAsBC,GAA4BC,GAA0BC,GAAgCC,GAA0BC,GAAgCC,GAAqBC,GAA2BC,GAAmBC,GAAyBC,GAAwBC,GAA8BC,GAAwBC,GAA8BrC,EAAU,EAChxB,EAAG,CAAC+E,GAAiB9E,EAAU,CACjC,EAAIqC,GAAW,KAAM,CAAC4C,GAAc,kBAAkB,CAAC,EAAG,CAAC,CAACC,EAAK,CAC/D,KAAM,OACN,QAAS,EACX,CAAC,EAAG,EAAG,OAAO,EAAG,CAACA,EAAK,CACrB,KAAM,OACN,UAAW,eACb,CAAC,EAAG,EAAG,cAAc,EAAG,CAACA,EAAK,CAC5B,KAAM,OACN,UAAW,YACX,aAAc,OAAO,iBACvB,CAAC,EAAG,EAAG,UAAU,EAAG,CAACA,EAAK,CACxB,KAAM,OACN,UAAW,YACX,aAAc,OAAO,iBACvB,CAAC,EAAG,EAAG,UAAU,EAAG,CAACA,EAAK,CACxB,KAAM,OACN,aAAc,CAChB,CAAC,EAAG,EAAG,MAAM,EAAG,CAACA,EAAK,CACpB,KAAM,QACN,QAAS,GACT,aAAc,EAChB,CAAC,EAAG,EAAG,UAAU,EAAG,CAACA,EAAK,CACxB,KAAM,QACN,UAAW,YACX,QAAS,GACT,aAAc,EAChB,CAAC,EAAG,EAAG,UAAU,EAAG,CAACA,EAAK,CACxB,KAAM,OACN,aAAc,EAChB,CAAC,EAAG,EAAG,OAAO,EAAG,CAACA,EAAK,CACrB,KAAM,OACN,aAAc,EAChB,CAAC,EAAG,EAAG,MAAM,EAAG,CAACA,EAAK,CACpB,KAAM,OACN,aAAc,EAChB,CAAC,EAAG,EAAG,QAAQ,EAAG,CAACA,EAAK,CACtB,KAAM,OACN,UAAW,iBACX,aAAc,EAChB,CAAC,EAAG,EAAG,eAAe,EAAG,CAACA,EAAK,CAC7B,KAAM,OACN,UAAW,kBACX,aAAc,MAChB,CAAC,EAAG,EAAG,gBAAgB,EAAG,CAACA,EAAK,CAC9B,KAAM,OACN,UAAW,uBACX,aAAc,EAChB,CAAC,EAAG,EAAG,oBAAoB,EAAG,CAACA,EAAK,CAClC,KAAM,OACN,UAAW,uBACX,aAAc,EAChB,CAAC,EAAG,EAAG,oBAAoB,EAAG,CAACA,EAAK,CAClC,KAAM,QACN,UAAW,iBACX,aAAc,EAChB,CAAC,EAAG,EAAG,eAAe,EAAG,CAACC,GAAM,CAC9B,KAAM,aACN,QAAS,GACT,SAAU,EACZ,CAAC,EAAG,EAAG,aAAa,EAAG,CAACC,GAAO,EAAG,kBAAkB,EAAG,CAACA,GAAO,EAAG,kBAAkB,EAAG,CAACC,GAAU,CAAC,QAAS,eAAgB,WAAY,WAAY,OAAQ,QAAS,WAAY,WAAY,SAAU,gBAAiB,gBAAgB,CAAC,EAAG,EAAG,gBAAgB,EAAG,CAACC,EAAQ,CACzQ,SAAU,yCACV,KAAM,OACR,CAAC,EAAG,EAAG,WAAW,EAAG,CAACA,EAAQ,CAC5B,SAAU,yCACV,KAAM,OACR,CAAC,EAAG,EAAG,WAAW,EAAG,CAACA,EAAQ,CAC5B,SAAU,4BACV,KAAM,OACR,CAAC,EAAG,EAAG,cAAc,EAAG,CAACA,EAAQ,CAC/B,SAAU,4BACV,KAAM,MACR,CAAC,EAAG,EAAG,aAAa,EAAG,CAACA,EAAQ,CAC9B,SAAU,4BACV,KAAM,OACR,CAAC,EAAG,EAAG,SAAS,EAAG,CAACA,EAAQ,CAC1B,SAAU,4BACV,KAAM,SACR,CAAC,EAAG,EAAG,WAAW,EAAG,CAACA,EAAQ,CAC5B,SAAU,4BACV,KAAM,OACR,CAAC,EAAG,EAAG,SAAS,CAAC,EAAG,EAAG,OAAQN,EAAc,EAC/C,CACA,OAASjF,GAAW,IAAI,EAAGE,GAAY,IAAI,GAC3C,cAAgBC,GAAkB,IAAI,EAAGC,GAAmB,IAAI,GAChE,UAAYC,GAAyB,IAAI,EAAGC,GAAe,IAAI,GAC/D,UAAYC,GAAqB,IAAI,EAAGC,GAAe,IAAI,GAC3D,MAAQC,GAAqB,IAAI,EAAGC,GAAW,IAAI,GACnD,UAAYC,GAAiB,IAAI,EAAGC,GAAe,IAAI,GACvD,UAAYC,GAAqB,IAAI,EAAGC,GAAe,IAAI,GAC3D,OAASC,GAAqB,IAAI,EAAGC,GAAY,IAAI,GACrD,MAAQC,GAAkB,IAAI,EAAGC,GAAW,IAAI,GAChD,QAAUC,GAAiB,IAAI,EAAGC,GAAa,IAAI,GACnD,eAAiBC,GAAmB,IAAI,EAAGC,GAAoB,IAAI,GACnE,gBAAkBC,GAA0B,IAAI,EAAGC,GAAqB,IAAI,GAC5E,oBAAsBC,GAA2B,IAAI,EAAGC,GAAyB,IAAI,GACrF,oBAAsBC,GAA+B,IAAI,EAAGC,GAAyB,IAAI,GACzF,eAAiBC,GAA+B,IAAI,EAAGC,GAAoB,IAAI,GAC/E,aAAeC,GAA0B,IAAI,EAAGC,GAAkB,IAAI,GACtE,kBAAoBC,GAAwB,IAAI,EAAGC,GAAuB,KAAM,EAAK,GACrF,kBAAoBC,GAA6B,IAAI,EAAGC,GAAuB,KAAM,EAAK,GAC1F,SAAWC,GAA6B,IAAI,EAAG,IAC/C,WAAa,GACb,YAAc,GACd,IAAM,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAG,CAAC,EAC3C,SAAW,KAAK,EAAE,KAAK,IAAImD,GAAQA,GAAQ,MAAM,EACjD,IAAI,gBAAiB,CACnB,OAAOC,EAAc,KAAK,MAAM,CAClC,CACA,IAAI,uBAAwB,CAC1B,OAAOC,EAAmB,KAAK,aAAa,CAC9C,CACA,IAAI,SAAU,CACZ,MAAO,0BAA0B,KAAK,GAAG,EAC3C,CACA,iBAAkB,CAChB,OAAI,OAAO,KAAK,OAAU,UAAY,OAAO,SAAS,KAAK,KAAK,EACvD,KAAK,MAEV,OAAO,KAAK,cAAiB,UAAY,OAAO,SAAS,KAAK,YAAY,EACrE,KAAK,aAEP,CACT,CACA,UAAW,CACT,OAAO,KAAK,cAAc,2BAA2B,CACvD,CACA,gBAAiB,CACf,OAAO,KAAK,cAAc,2BAA2B,CACvD,CACA,WAAY,CACV,IAAMC,EAAQ,KAAK,SAAS,EAC5BC,GAAe,KAAMD,EAAO,CAC1B,UAAW,KAAK,QAChB,MAAO,KAAK,MACZ,QAAS,0BAA0B,KAAK,GAAG,EAC7C,CAAC,CACH,CACA,WAAY,CACV,IAAMA,EAAQ,KAAK,SAAS,EACtBE,EAAS,KAAK,eAAe,EACnC,GAAI,CAACF,EACH,OAEGA,EAAM,KACTA,EAAM,GAAK,KAAK,SAElB,IAAMG,EAAe,KAAK,gBAAgB,EAC1CH,EAAM,aAAa,OAAQ,YAAY,EACvCA,EAAM,aAAa,YAAa,SAAS,EACzCA,EAAM,gBAAgB,gBAAiB,KAAK,QAAQ,EACpDA,EAAM,gBAAgB,gBAAiB,KAAK,QAAQ,EAC/C,OAAO,SAAS,KAAK,QAAQ,EAGhCA,EAAM,aAAa,gBAAiB,OAAO,KAAK,QAAQ,CAAC,EAFzDA,EAAM,gBAAgB,eAAe,EAIlC,OAAO,SAAS,KAAK,QAAQ,EAGhCA,EAAM,aAAa,gBAAiB,OAAO,KAAK,QAAQ,CAAC,EAFzDA,EAAM,gBAAgB,eAAe,EAIvCA,EAAM,aAAa,gBAAiB,OAAOG,CAAY,CAAC,EACnD,KAAK,UACRH,EAAM,MAAQI,EAAaD,EAAc,KAAK,eAAgB,KAAK,qBAAqB,GAEtFD,IACFA,EAAO,MAAQ,OAAOC,CAAY,EAC9B,KAAK,OACPD,EAAO,KAAO,KAAK,MAErBA,EAAO,SAAW,KAAK,SAE3B,CACA,oBAAqB,CACnB,IAAMG,EAAQ,KAAK,gBAAgB,EACnC,KAAK,iBAAmB,KAAK,UAAY,KAAK,UAAYA,GAAS,KAAK,SACxE,KAAK,iBAAmB,KAAK,UAAY,KAAK,UAAYA,GAAS,KAAK,SACxE,eAAe,IAAM,KAAK,oBAAoB,CAAC,CACjD,CACA,qBAAsB,CACpB,QAAWC,KAAU,KAAK,iBAAiB,wCAAwC,EACjFA,EAAO,SAAW,KAAK,iBAEzB,QAAWA,KAAU,KAAK,iBAAiB,wCAAwC,EACjFA,EAAO,SAAW,KAAK,gBAE3B,CACA,YAAYC,EAAMC,EAAQ,GAAO,CAC/B,IAAIC,EAAWF,EAIf,IAHI,KAAK,iBAAmB,QAAUC,KACpCC,EAAWC,EAAWH,EAAM,KAAK,SAAU,KAAK,SAAU,KAAK,IAAI,GAEjEE,IAAa,KAAK,gBAAgB,EAAG,CACvC,KAAK,QAAU,GACf,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,MACF,CACA,KAAK,MAAQA,EACb,KAAK,YAAY,KAAK,CACpB,MAAOA,CACT,CAAC,EACD,KAAK,QAAU,GACf,KAAK,UAAU,EACf,KAAK,mBAAmB,CAC1B,CACA,aAAc,CACZ,IAAME,EAASC,EAAY,KAAK,WAAY,KAAK,eAAgB,KAAK,qBAAqB,EAC3F,GAAID,GAAU,KAAM,CAClB,KAAK,QAAU,GACf,KAAK,UAAU,EACf,MACF,CACA,GAAI,KAAK,iBAAmB,aACtBA,EAAS,KAAK,UAAYA,EAAS,KAAK,UAAU,CACpD,KAAK,QAAU,GACf,KAAK,UAAU,EACf,MACF,CAEF,KAAK,YAAYA,CAAM,CACzB,CACA,YAAa,CACP,KAAK,cAGT,KAAK,YAAc,GACf,KAAK,OAAS,MAAQ,KAAK,cAAgB,OAC7C,KAAK,MAAQ,KAAK,cAEpB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,mBAAmB,EAC1B,CACA,mBAAoB,CAClB,MAAM,kBAAkB,EACxB,eAAe,IAAM,KAAK,WAAW,CAAC,CACxC,CACA,gBAAiB,CACf,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,mBAAmB,CAC1B,CACA,UAAUE,EAAQ,CAChBA,EAAO,eAAe,EAClB,MAAK,kBAGT,KAAK,YAAY,KAAK,gBAAgB,EAAI,KAAK,KAAM,EAAI,CAC3D,CACA,UAAUA,EAAQ,CAChBA,EAAO,eAAe,EAClB,MAAK,kBAGT,KAAK,YAAY,KAAK,gBAAgB,EAAI,KAAK,KAAM,EAAI,CAC3D,CACA,aAAaA,EAAQ,CACnB,GAAI,KAAK,UAAY,KAAK,SACxB,OAEF,IAAMb,EAAQa,EAAO,OACrB,KAAK,QAAU,GACf,KAAK,WAAa,OAAO,KAAK,gBAAgB,CAAC,EAC/Cb,EAAM,MAAQ,KAAK,WACnBA,EAAM,OAAO,CACf,CACA,aAAc,CACP,KAAK,SAGV,KAAK,YAAY,CACnB,CACA,QAAQa,EAAQ,CACV,KAAK,UAAY,KAAK,WAG1B,KAAK,QAAU,GACf,KAAK,WAAaA,EAAO,OAAO,MAClC,CACA,UAAUA,EAAQ,CAChB,GAAI,OAAK,UAAY,KAAK,UAG1B,IAAIA,EAAO,MAAQ,UAAW,CAC5BA,EAAO,eAAe,EACtB,KAAK,UAAUA,CAAM,EACrB,MACF,CACA,GAAIA,EAAO,MAAQ,YAAa,CAC9BA,EAAO,eAAe,EACtB,KAAK,UAAUA,CAAM,EACrB,MACF,CACA,GAAIA,EAAO,MAAQ,QAAU,OAAO,SAAS,KAAK,QAAQ,EAAG,CAC3DA,EAAO,eAAe,EACtB,KAAK,YAAY,KAAK,SAAU,EAAI,EACpC,MACF,CACA,GAAIA,EAAO,MAAQ,OAAS,OAAO,SAAS,KAAK,QAAQ,EAAG,CAC1DA,EAAO,eAAe,EACtB,KAAK,YAAY,KAAK,SAAU,EAAI,EACpC,MACF,CACIA,EAAO,MAAQ,UACjBA,EAAO,eAAe,EACtB,KAAK,YAAY,EACjB,KAAK,SAAS,GAAG,KAAK,GAE1B,CACA,QAAQA,EAAQ,CACd,GAAI,KAAK,eAAiB,KAAK,UAAY,KAAK,SAC9C,OAEF,IAAMb,EAAQa,EAAO,OACjB,SAAS,gBAAkBb,IAG/Ba,EAAO,eAAe,EAClBA,EAAO,OAAS,EAClB,KAAK,UAAUA,CAAM,EACZA,EAAO,OAAS,GACzB,KAAK,UAAUA,CAAM,EAEzB,CACA,QAAS,CACP,IAAMC,EAAiB,KAAK,oBAAsB,YAC5CC,EAAiB,KAAK,oBAAsB,YAClD,OAAsBC,EAAI,MAAO,CAC/B,MAAO,mBACP,SAAyBA,EAAI,OAAQ,CACnC,KAAM,QACN,SAAyBC,EAAK,MAAO,CACnC,MAAO,0BACP,0BAA2B,GAC3B,SAAU,CAAgBA,EAAK,OAAQ,CACrC,KAAM,QACN,SAAU,CAAgBD,EAAI,QAAS,CACrC,KAAM,OACN,0BAA2B,GAC3B,mBAAoB,GACpB,wBAAyB,SACzB,MAAO,0BACP,SAAU,KAAK,EAAE,SACjB,SAAU,KAAK,EAAE,SACjB,KAAM,KAAK,QACb,CAAC,EAAkBA,EAAI,QAAS,CAC9B,KAAM,SACN,0BAA2B,EAC7B,CAAC,CAAC,CACJ,CAAC,EAAkBC,EAAK,MAAO,CAC7B,MAAO,6BACP,SAAU,CAAgBD,EAAI,OAAQ,CACpC,KAAM,YACN,SAAyBA,EAAI,SAAU,CACrC,KAAM,SACN,MAAO,4BACP,2BAA4B,YAC5B,aAAcD,EACd,SAAU,KAAK,EAAE,iBACjB,SAAU,GACV,SAAU,QACZ,CAAC,CACH,CAAC,EAAkBC,EAAI,OAAQ,CAC7B,KAAM,YACN,SAAyBA,EAAI,SAAU,CACrC,KAAM,SACN,MAAO,4BACP,2BAA4B,YAC5B,aAAcF,EACd,SAAU,KAAK,EAAE,iBACjB,SAAU,GACV,SAAU,GACZ,CAAC,CACH,CAAC,CAAC,CACJ,CAAC,CAAC,CACJ,CAAC,CACH,CAAC,CACH,CAAC,CACH,CACA,MAAO,CACLxG,GAAW,CACb,CACF,EK/YA,OAAS,OAAA4G,MAAW,4BCAb,SAASC,KAAMC,EAAO,CAC3B,OAAOA,EAAM,OAAO,OAAO,EAAE,KAAK,GAAG,CACvC,CDCO,SAASC,GAAoB,CAClC,SAAAC,EACA,KAAAC,EAAO,QACP,MAAOC,EACP,GAAGC,CACL,EAAG,CACD,OAAsBC,EAAI,MAAO,CAC/B,GAAGD,EACH,KAAAF,EACA,0BAA2B,GAC3B,MAAOI,EAAG,0BAA2BH,CAAS,EAC9C,SAAAF,CACF,CAAC,CACH,CACO,SAASM,GAAoB,CAClC,KAAAL,EAAO,QACP,MAAOC,EACP,SAAAK,EACA,SAAAC,EACA,GAAGL,CACL,EAAG,CACD,OAAsBC,EAAI,QAAS,CACjC,GAAGD,EACH,KAAM,OACN,KAAAF,EACA,0BAA2B,GAC3B,mBAAoB,GACpB,wBAAyB,SACzB,MAAOI,EAAG,0BAA2BH,CAAS,EAC9C,SAAAK,EACA,SAAAC,CACF,CAAC,CACH,CACO,SAASC,GAAuB,CACrC,SAAAT,EACA,KAAAC,EACA,MAAOC,EACP,GAAGC,CACL,EAAG,CACD,OAAsBC,EAAI,MAAO,CAC/B,GAAGD,EACH,KAAAF,EACA,MAAOI,EAAG,6BAA8BH,CAAS,EACjD,SAAAF,CACF,CAAC,CACH,CACO,SAASU,GAA8B,CAC5C,SAAAV,EACA,KAAAC,EAAO,YACP,MAAOC,EACP,aAAcS,EAAY,YAC1B,SAAAJ,EACA,GAAGJ,CACL,EAAG,CACD,OAAsBC,EAAI,SAAU,CAClC,GAAGD,EACH,KAAM,SACN,KAAAF,EACA,2BAA4B,YAC5B,MAAOI,EAAG,4BAA6BH,CAAS,EAChD,aAAcS,EACd,SAAAJ,EACA,SAAU,GACV,SAAUP,GAAY,GACxB,CAAC,CACH,CACO,SAASY,GAA8B,CAC5C,SAAAZ,EACA,KAAAC,EAAO,YACP,MAAOC,EACP,aAAcS,EAAY,YAC1B,SAAAJ,EACA,GAAGJ,CACL,EAAG,CACD,OAAsBC,EAAI,SAAU,CAClC,GAAGD,EACH,KAAM,SACN,KAAAF,EACA,2BAA4B,YAC5B,MAAOI,EAAG,4BAA6BH,CAAS,EAChD,aAAcS,EACd,SAAAJ,EACA,SAAU,GACV,SAAUP,GAAY,QACxB,CAAC,CACH,CACO,SAASa,GAAe,CAC7B,SAAAb,EACA,GAAGG,CACL,EAAG,CACD,OAAsBC,EAAI,mBAAoB,CAC5C,GAAGD,EACH,SAAAH,CACF,CAAC,CACH",
6
+ "names": ["jsx", "jsxs", "RadiantElement", "customElement", "event", "onEvent", "onUpdated", "prop", "state", "resolveLocale", "locale", "tags", "tag", "getNumberFormatter", "locale", "options", "formatNumber", "value", "parseNumber", "input", "trimmed", "parts", "decimal", "part", "group", "normalized", "parsed", "parseFormatOptions", "raw", "isObjectRecord", "snapToStep", "value", "min", "max", "step", "clampToRange", "origin", "stepped", "next", "findAssociatedLabel", "owner", "previous", "syncFieldLabel", "control", "options", "labelElement", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_defaultValue", "_init_extra_defaultValue", "_init_minValue", "_init_extra_minValue", "_init_maxValue", "_init_extra_maxValue", "_init_step", "_init_extra_step", "_init_disabled", "_init_extra_disabled", "_init_readOnly", "_init_extra_readOnly", "_init_label", "_init_extra_label", "_init_name", "_init_extra_name", "_init_locale", "_init_extra_locale", "_init_formatOptions", "_init_extra_formatOptions", "_init_commitBehavior", "_init_extra_commitBehavior", "_init_incrementAriaLabel", "_init_extra_incrementAriaLabel", "_init_decrementAriaLabel", "_init_extra_decrementAriaLabel", "_init_wheelDisabled", "_init_extra_wheelDisabled", "_init_changeEvent", "_init_extra_changeEvent", "_init_decreaseDisabled", "_init_extra_decreaseDisabled", "_init_increaseDisabled", "_init_extra_increaseDisabled", "_applyDecs", "e", "t", "n", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "r", "b", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiNumberField", "RuiNumberField", "RadiantElement", "customElement", "prop", "event", "state", "onUpdated", "onEvent", "name", "resolveLocale", "parseFormatOptions", "input", "syncFieldLabel", "hidden", "numericValue", "formatNumber", "value", "button", "next", "force", "resolved", "snapToStep", "parsed", "parseNumber", "event2", "incrementLabel", "decrementLabel", "jsx", "jsxs", "jsx", "cx", "parts", "RuiNumberFieldGroup", "children", "slot", "className", "props", "jsx", "cx", "RuiNumberFieldInput", "disabled", "readOnly", "RuiNumberFieldSteppers", "RuiNumberFieldIncrementButton", "ariaLabel", "RuiNumberFieldDecrementButton", "RuiNumberField"]
7
7
  }
@@ -54,6 +54,14 @@ rui-number-field {
54
54
  .rui-number-field__input:read-only {
55
55
  cursor: default;
56
56
  }
57
+ .rui-number-field__steppers {
58
+ display: inline-flex;
59
+ flex-shrink: 0;
60
+ align-items: stretch;
61
+ border-left-style: var(--tw-border-style);
62
+ border-left-width: 1px;
63
+ border-color: var(--color-border, var(--border));
64
+ }
57
65
  .rui-number-field__stepper {
58
66
  display: inline-flex;
59
67
  flex-shrink: 0;
@@ -62,15 +70,22 @@ rui-number-field {
62
70
  justify-content: center;
63
71
  border-style: var(--tw-border-style);
64
72
  border-width: 0px;
65
- border-left-style: var(--tw-border-style);
66
- border-left-width: 1px;
67
- border-color: var(--color-border, var(--border));
68
73
  background-color: transparent;
69
74
  color: var(--color-on-surface, var(--on-surface));
70
75
  padding-inline: var(--space-control-y);
71
76
  min-inline-size: var(--size-control-sm);
72
77
  transition-duration: var(--duration-normal);
73
78
  }
79
+ .rui-number-field__stepper + .rui-number-field__stepper {
80
+ border-left-style: var(--tw-border-style);
81
+ border-left-width: 1px;
82
+ border-color: var(--color-border, var(--border));
83
+ }
84
+ .rui-number-field__input + .rui-number-field__stepper {
85
+ border-left-style: var(--tw-border-style);
86
+ border-left-width: 1px;
87
+ border-color: var(--color-border, var(--border));
88
+ }
74
89
  .rui-number-field__stepper:hover:not(:disabled) {
75
90
  background-color: var(--color-surface, var(--surface));
76
91
  }
@@ -1,9 +1,14 @@
1
1
  import type { JsxHtmlProps, JsxHtmlPropsWithChildren } from '@ecopages/jsx';
2
2
  import type { RuiNumberFieldProps } from './number-field.script';
3
+ import './number-field.script';
3
4
  export type RuiNumberFieldGroupProps = JsxHtmlPropsWithChildren<{
4
5
  slot?: string;
5
6
  }>;
6
- /** Input + stepper row. Place `RuiNumberFieldInput` and stepper buttons inside. */
7
+ /**
8
+ * Input + stepper row. Place `RuiNumberFieldInput` and stepper buttons inside.
9
+ *
10
+ * @cssclass rui-number-field__group - Control-height bordered row wrapping input and steppers.
11
+ */
7
12
  export declare function RuiNumberFieldGroup({ children, slot, class: className, ...props }: RuiNumberFieldGroupProps): import("@ecopages/jsx").JsxRenderable;
8
13
  export type RuiNumberFieldInputProps = JsxHtmlProps<{
9
14
  slot?: string;
@@ -11,16 +16,37 @@ export type RuiNumberFieldInputProps = JsxHtmlProps<{
11
16
  disabled?: boolean;
12
17
  readOnly?: boolean;
13
18
  }>;
14
- /** Text input in the `input` slot. Formatting is handled by `<rui-number-field>`. */
19
+ /**
20
+ * Text input in the `input` slot. Formatting is handled by `<rui-number-field>`.
21
+ *
22
+ * @cssclass rui-number-field__input - Borderless text input inside the group.
23
+ */
15
24
  export declare function RuiNumberFieldInput({ slot, class: className, disabled, readOnly, ...props }: RuiNumberFieldInputProps): import("@ecopages/jsx").JsxRenderable;
25
+ export type RuiNumberFieldSteppersProps = JsxHtmlPropsWithChildren<{
26
+ slot?: string;
27
+ }>;
28
+ /**
29
+ * Groups increment and decrement steppers on the trailing edge of the field.
30
+ *
31
+ * @cssclass rui-number-field__steppers - Trailing stepper column with a border divider.
32
+ */
33
+ export declare function RuiNumberFieldSteppers({ children, slot, class: className, ...props }: RuiNumberFieldSteppersProps): import("@ecopages/jsx").JsxRenderable;
16
34
  export type RuiNumberFieldStepperButtonProps = JsxHtmlPropsWithChildren<{
17
35
  slot?: 'increment' | 'decrement';
18
36
  'aria-label'?: string;
19
37
  disabled?: boolean;
20
38
  }>;
21
- /** Increment stepper in the `increment` slot. */
39
+ /**
40
+ * Increment stepper in the `increment` slot.
41
+ *
42
+ * @cssclass rui-number-field__stepper - Icon button cell in the steppers column.
43
+ */
22
44
  export declare function RuiNumberFieldIncrementButton({ children, slot, class: className, 'aria-label': ariaLabel, disabled, ...props }: RuiNumberFieldStepperButtonProps): import("@ecopages/jsx").JsxRenderable;
23
- /** Decrement stepper in the `decrement` slot. */
45
+ /**
46
+ * Decrement stepper in the `decrement` slot.
47
+ *
48
+ * @cssclass rui-number-field__stepper - Icon button cell in the steppers column.
49
+ */
24
50
  export declare function RuiNumberFieldDecrementButton({ children, slot, class: className, 'aria-label': ariaLabel, disabled, ...props }: RuiNumberFieldStepperButtonProps): import("@ecopages/jsx").JsxRenderable;
25
51
  /**
26
52
  * Locale-aware number field — React Aria-style API.
@@ -29,8 +55,10 @@ export declare function RuiNumberFieldDecrementButton({ children, slot, class: c
29
55
  * <RuiNumberField value={25} minValue={0} maxValue={100}>
30
56
  * <RuiNumberFieldGroup>
31
57
  * <RuiNumberFieldInput />
32
- * <RuiNumberFieldDecrementButton />
33
- * <RuiNumberFieldIncrementButton />
58
+ * <RuiNumberFieldSteppers>
59
+ * <RuiNumberFieldDecrementButton />
60
+ * <RuiNumberFieldIncrementButton />
61
+ * </RuiNumberFieldSteppers>
34
62
  * </RuiNumberFieldGroup>
35
63
  * </RuiNumberField>
36
64
  * ```
@@ -38,6 +66,6 @@ export declare function RuiNumberFieldDecrementButton({ children, slot, class: c
38
66
  * Or use standalone; default slots render input and stepper buttons.
39
67
  * Pair with `RuiLabel` / `RuiField` for labeling and validation.
40
68
  */
41
- export declare const RuiNumberField: import("@/lib/radiant-view").RadiantViewComponent<JsxHtmlPropsWithChildren<RuiNumberFieldProps & {
69
+ export declare function RuiNumberField({ children, ...props }: JsxHtmlPropsWithChildren<RuiNumberFieldProps & {
42
70
  slot?: string;
43
- }>>;
71
+ }>): import("@ecopages/jsx").JsxRenderable;
@@ -46,12 +46,39 @@ type RuiNumberFieldBindings = {
46
46
  * `data-number-field-action` (see view helpers), or use the default markup from `RuiNumberField`.
47
47
  *
48
48
  * @see https://react-aria.adobe.com/NumberField
49
+ *
49
50
  * @element rui-number-field
51
+ *
52
+ * @attr {number} value - Current value. Reflects to markup. Default: `undefined`.
53
+ * @attr {number} default-value - Initial value when uncontrolled. Default: `undefined`.
54
+ * @attr {number} min-value - Lower bound; steppers and arrow keys snap to it. Default: `-Infinity`.
55
+ * @attr {number} max-value - Upper bound; steppers and arrow keys snap to it. Default: `Infinity`.
56
+ * @attr {number} step - Increment/decrement and snap interval. Default: `1`.
57
+ * @attr {boolean} disabled - Disables input and steppers. Default: `false`.
58
+ * @attr {boolean} read-only - Blocks editing; the value still displays formatted. Default: `false`.
59
+ * @attr {string} label - Accessible name when there is no visible `RuiLabel`. Default: `''`.
60
+ * @attr {string} name - Form field name on the hidden value input. Default: `''`.
61
+ * @attr {string} locale - BCP 47 locale tag, or comma-separated fallback list. Default: `''`.
62
+ * @attr {string} format-options - JSON-serialized `Intl.NumberFormatOptions`. Default: `''`.
63
+ * @attr {('snap'|'validate')} commit-behavior - Blur behavior after editing. Default: `snap`.
64
+ * @attr {string} increment-aria-label - Accessible name for the increment stepper. Default: `Increment`.
65
+ * @attr {string} decrement-aria-label - Accessible name for the decrement stepper. Default: `Decrement`.
66
+ * @attr {boolean} wheel-disabled - Disables scroll-wheel value changes. Default: `false`.
67
+ *
50
68
  * @slot group - Input + stepper row (`RuiNumberFieldGroup`).
51
69
  * @slot input - Text input (`RuiNumberFieldInput`).
52
70
  * @slot decrement - Decrement button (`RuiNumberFieldDecrementButton`).
53
71
  * @slot increment - Increment button (`RuiNumberFieldIncrementButton`).
54
- * @fires rui-change
72
+ *
73
+ * @fires rui-change - Emitted when a value is committed (blur, stepper, or keyboard);
74
+ * `detail.value` holds the new number.
75
+ *
76
+ * @remarks
77
+ * Slot content authored by the view helpers carries the BEM classes (`@cssclass` on
78
+ * the exports). The default `render()` provides matching fallback markup so the
79
+ * element renders identically when used standalone.
80
+ *
81
+ * @cssclass rui-number-field - Root field wrapper.
55
82
  */
56
83
  export declare class RuiNumberField extends RadiantElement<RuiNumberFieldBindings> {
57
84
  value: number | undefined;
@@ -1,2 +1,2 @@
1
- import{jsx as nt,jsxs as se}from"@ecopages/jsx/jsx-runtime";function gt(...e){return e.filter(Boolean).join(" ")}var ae=Symbol.for("@ecopages/storybook-radiant.viewElement"),mt=Symbol.for("@ecopages/storybook-radiant.scriptModule"),vt=Symbol.for("@ecopages/storybook-radiant.scriptExport");function ce(e,t){e[ae]=t;let n=t[mt];n&&(e[mt]=n,e[vt]=t[vt]??t.name)}function Q(e,t,n){let o=r=>t(r);return ce(o,e),o}import{jsx as F,jsxs as oe}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as q,bound as tt,customElement as re,event as _e,onEvent as D,onUpdated as ie,prop as E,query as et}from"@ecopages/radiant";var le={top:"bottom",bottom:"top",left:"right",right:"left"},ue=8;function he(e){let t=e.indexOf("-");if(t===-1)return{side:e,align:"center"};let n=e.slice(0,t),o=e.slice(t+1);return{side:n,align:o==="start"||o==="end"?o:"center"}}function _t(e){return e==="top"||e==="bottom"?"y":"x"}function yt(e,t,n,o,r){let{width:i,height:a}=t,s=0,f=0;switch(n){case"top":f=e.top-a-r;break;case"bottom":f=e.bottom+r;break;case"left":s=e.left-i-r;break;case"right":s=e.right+r;break}return _t(n)==="y"?o==="start"?s=e.left:o==="end"?s=e.right-i:s=e.left+(e.width-i)/2:o==="start"?f=e.top:o==="end"?f=e.bottom-a:f=e.top+(e.height-a)/2,{x:s,y:f}}function pe(e,t,n,o){let{padding:r,width:i,height:a}=o;return n==="top"?Math.max(0,r-e.y):n==="bottom"?Math.max(0,e.y+t.height-(a-r)):n==="left"?Math.max(0,r-e.x):Math.max(0,e.x+t.width-(i-r))}function bt(e,t,n,o){let{padding:r,width:i,height:a}=o;return n==="top"?e.top-r-t.height:n==="bottom"?a-r-t.height-e.bottom:n==="left"?e.left-r-t.width:i-r-t.width-e.right}function fe(e,t){return t==="center"?e:`${e}-${t}`}function de(e,t,n,o){let{padding:r,width:i,height:a}=o;if(_t(n)==="y"){let f=Math.max(r,i-r-t.width);return{x:Math.min(Math.max(e.x,r),f),y:e.y}}let s=Math.max(r,a-r-t.height);return{x:e.x,y:Math.min(Math.max(e.y,r),s)}}function ge(e,t,n,o,r={width:typeof window>"u"?0:window.innerWidth,height:typeof window>"u"?0:window.innerHeight,padding:ue}){let{side:i,align:a}=he(n),s=yt(e,t,i,a,o),f=pe(s,t,i,r),P=i,T=s;if(f>0){let A=le[i],C=yt(e,t,A,a,o),M=bt(e,t,i,r);bt(e,t,A,r)>M&&(P=A,T=C)}return{coords:de(T,t,P,r),placement:fe(P,a)}}function me(e,t,n,o,r={}){let{coords:i,placement:a}=ge(e.getBoundingClientRect(),{width:t.offsetWidth,height:t.offsetHeight},n,o);return Object.assign(t.style,{position:"fixed",left:`${i.x}px`,top:`${i.y}px`,right:"auto",bottom:"auto",visibility:"visible"}),r.matchAnchorWidth&&(t.style.width=`${e.offsetWidth}px`),t.setAttribute("data-placement",a),a}function xt({anchor:e,floating:t,getPlacement:n,gap:o,matchAnchorWidth:r}){let i=()=>{t.hidden||me(e,t,n(),o,{matchAnchorWidth:r})};i(),window.addEventListener("resize",i),window.addEventListener("scroll",i,!0);let a=new ResizeObserver(i);return a.observe(e),a.observe(t),()=>{window.removeEventListener("resize",i),window.removeEventListener("scroll",i,!0),a.disconnect()}}function wt(e,t=document.body){let n=e.parentNode;if(!n)return{unmount:()=>{}};let o=document.createComment("rui-portal");return n.insertBefore(o,e),t.appendChild(e),{unmount:()=>{let r=o.parentNode;r&&(r.insertBefore(e,o),o.remove())}}}function Z(e,t,n){return n?!!(e?.contains(n)||t?.contains(n)):!1}function Et(e,t,n){return n instanceof Node?!Z(e,t,n):!0}function Pt(e,t,n){return!Z(e,t,n)}var L=class{config;cleanupFloating=null;portalHandle=null;floatingElement=null;constructor(t){this.config=t}updateConfig(t){this.config={...this.config,...t}}sync(){let t=this.resolveFloating();if(!t)return;if(!this.config.getOpen()){this.teardown(),t.hidden=!0;return}let o=this.config.getAnchor();if(!o)return;t.hidden=!1,this.config.portal!==!1?this.portalHandle||(this.portalHandle=wt(t,this.config.portalContainer??document.body)):this.portalHandle&&(this.portalHandle.unmount(),this.portalHandle=null),this.teardownFloating(),this.cleanupFloating=xt({anchor:o,floating:t,getPlacement:this.config.getPlacement,gap:this.config.gap??8,matchAnchorWidth:this.config.matchAnchorWidth})}contains(t){return Z(this.config.getAnchor(),this.resolveFloating(),t)}getFloatingElement(){return this.resolveFloating()}teardown(){this.teardownFloating(),this.portalHandle&&(this.portalHandle.unmount(),this.portalHandle=null)}destroy(){this.teardown(),this.floatingElement=null}resolveFloating(){let t=this.config.getFloating();return t&&(this.floatingElement=t),t??this.floatingElement}teardownFloating(){this.cleanupFloating?.(),this.cleanupFloating=null}};var Tt,At,Ct,kt,Rt,Ot,St,Ft,Dt,Mt,Wt,It,jt,Ht,Vt,Lt,qt,Bt,$t,Ut,Kt,Xt,Gt,Yt,Jt,Nt,Qt,Zt;function ne(e,t,n,o,r,i){var a,s,f,P,T,A,C,M=Symbol.metadata||Symbol.for("Symbol.metadata"),U=Object.defineProperty,K=Object.create,ot=[K(null),K(null)],rt=t.length;function W(c,v,g){return function(l,u){v&&(u=l,l=e);for(var y=0;y<c.length;y++)u=c[y].apply(l,g?[u]:[]);return g?u:l}}function x(c,v,g,l){if(typeof c!="function"&&(l||c!==void 0))throw new TypeError(v+" must "+(g||"be")+" a function"+(l?"":" or undefined"));return c}function it(c,v,g,l,u,y,k,m,b,_,at){function X(p){if(!at(p))throw new TypeError("Attempted to access private element on non-instance")}var G=[].concat(v[0]),ct=v[3],Y=!k,O=u===1,lt=u===3,ut=u===4,I=u===2;function j(p,R,ft){return function(V,dt){return R&&(dt=V,V=c),ft&&ft(V),h[p].call(V,dt)}}if(!Y){var h={},J=[],w=lt?"get":ut||O?"set":"value";if(b?(_||O?h={get:zt(function(){return ct(this)},l,"get"),set:function(p){v[4](this,p)}}:h[w]=ct,_||zt(h[w],l,I?"":w)):_||(h=Object.getOwnPropertyDescriptor(c,l)),!_&&!b){if((s=ot[+m][l])&&(s^u)!==7)throw Error("Decorating two elements with the same name ("+h[w].name+") is not supported yet");ot[+m][l]=u<3?1:u}}for(var d=c,H=G.length-1;H>=0;H-=g?2:1){var ht=x(G[H],"A decorator","be",!0),pt=g?G[H-1]:void 0,N={},S={kind:["field","accessor","method","getter","setter","class"][u],name:l,metadata:a,addInitializer:function(p,R){if(p.v)throw new TypeError("attempted to call addInitializer after decoration was finished");x(R,"An initializer","be",!0),y.push(R)}.bind(null,N)};if(Y)s=ht.call(pt,d,S),N.v=1,x(s,"class decorators","return")&&(d=s);else if(S.static=m,S.private=b,s=S.access={has:b?at.bind():function(p){return l in p}},ut||(s.get=b?I?function(p){return X(p),h.value}:j("get",0,X):function(p){return p[l]}),I||lt||(s.set=b?j("set",0,X):function(p,R){p[l]=R}),d=ht.call(pt,O?{get:h.get,set:h.set}:h[w],S),N.v=1,O){if(typeof d=="object"&&d)(s=x(d.get,"accessor.get"))&&(h.get=s),(s=x(d.set,"accessor.set"))&&(h.set=s),(s=x(d.init,"accessor.init"))&&J.unshift(s);else if(d!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else x(d,(_?"field":"method")+" decorators","return")&&(_?J.unshift(d):h[w]=d)}return u<2&&k.push(W(J,m,1),W(y,m,0)),_||Y||(b?O?k.splice(-1,0,j("get",m),j("set",m)):k.push(I?h[w]:x.call.bind(h[w])):U(c,l,h)),d}function st(c){return U(c,M,{configurable:!0,enumerable:!0,value:a})}return i!==void 0&&(a=i[M]),a=K(a??null),T=[],A=function(c){c&&T.push(W(c))},C=function(c,v){for(var g=0;g<n.length;g++){var l=n[g],u=l[1],y=7&u;if((8&u)==c&&!y==v){var k=l[2],m=!!l[3],b=16&u;it(c?e:e.prototype,l,b,m?"#"+k:ve(k),y,y<2?[]:c?P=P||[]:f=f||[],T,!!c,m,v,c&&m?function(_){return be(_)===e}:r)}}},C(8,0),C(0,0),C(8,1),C(0,1),A(f),A(P),s=T,rt||st(e),{e:s,get c(){var c=[];return rt&&[st(e=it(e,[t],o,e.name,5,c)),W(c,1)]}}}function ve(e){var t=ye(e,"string");return typeof t=="symbol"?t:t+""}function ye(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var o=n.call(e,t||"default");if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function zt(e,t,n){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch{}return e}function be(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(e!==null?typeof e:"null"));return e}var B,te=class extends q{static{({e:[Ct,kt,Rt,Ot,St,Ft,Dt,Mt,Wt,It,jt,Ht,Vt,Lt,qt,Bt,$t,Ut,Kt,Xt,Tt],c:[B,At]}=ne(this,[re("rui-popover")],[[E({type:Boolean,reflect:!0,defaultValue:!1}),0,"open"],[E({type:String,defaultValue:"bottom"}),0,"placement"],[E({type:Boolean,defaultValue:!0}),0,"portal"],[E({type:Boolean,defaultValue:!1}),0,"matchAnchorWidth"],[E({type:Number,defaultValue:8}),0,"offset"],[E({type:String,defaultValue:""}),0,"anchor"],[E({type:String,defaultValue:"default"}),0,"variant"],[et({ref:"surface"}),0,"surfaceTarget"],[et({ref:"host"}),0,"hostTarget"],[_e({name:"rui-open-change",bubbles:!0,composed:!0}),0,"openChangeEvent"],[[tt,ie(["open","placement","portal","matchAnchorWidth","offset","anchor"])],2,"syncPopover"],[D({document:!0,type:"pointerdown"}),2,"onDocumentPointerDown"],[D({ref:"host",type:"focusout"}),2,"onFocusOut"],[tt,2,"onExternalAnchorClick"],[D({document:!0,type:"keydown"}),2,"onDocumentKeydown"]],0,void 0,q))}open=(Tt(this),Ct(this));placement=(kt(this),Rt(this));portal=(Ot(this),St(this));matchAnchorWidth=(Ft(this),Dt(this));offset=(Mt(this),Wt(this));anchor=(It(this),jt(this));variant=(Ht(this),Vt(this));surfaceTarget=(Lt(this),qt(this));hostTarget=(Bt(this),$t(this));openChangeEvent=(Ut(this),Kt(this));surfaceId=(Xt(this),`rui-popover-${Math.random().toString(36).slice(2,9)}`);controller=null;anchorClickTarget=null;connectedCallback(){super.connectedCallback(),queueMicrotask(()=>this.syncPopover())}disconnectedCallback(){this.unbindExternalAnchorClick(),this.controller?.destroy(),this.controller=null,super.disconnectedCallback()}getAnchorElement(){let n=this.closest("rui-popover-trigger")?.querySelector('[slot="trigger"]');if(n instanceof HTMLElement)return z(n);let o=this.querySelector('[slot="trigger"]');if(o instanceof HTMLElement)return z(o);let r=this.anchor.trim();if(r){let i=document.querySelector(r);if(i instanceof HTMLElement)return z(i)}return null}ensureController(){return this.controller||(this.controller=new L({getAnchor:()=>this.getAnchorElement(),getFloating:()=>this.surfaceTarget,getOpen:()=>this.open,getPlacement:()=>this.placement,gap:this.offset,portal:this.portal,matchAnchorWidth:this.matchAnchorWidth})),this.controller}syncPopover(){let t=this.getAnchorElement(),n=this.surfaceTarget;n&&(n.id=this.surfaceId),t&&(t.setAttribute("aria-controls",this.surfaceId),t.setAttribute("aria-expanded",String(this.open))),this.syncExternalAnchorClick(t);let o=this.ensureController();o.updateConfig({getAnchor:()=>this.getAnchorElement(),getFloating:()=>this.surfaceTarget,getOpen:()=>this.open,getPlacement:()=>this.placement,gap:this.offset,portal:this.portal,matchAnchorWidth:this.matchAnchorWidth}),o.sync()}setOpen(t,n=!0){if(this.open===t){this.syncPopover();return}this.open=t,n&&this.openChangeEvent.emit({open:t}),this.syncPopover()}onDocumentPointerDown(t){if(!this.open)return;let n=t.target;Pt(this.getAnchorElement(),this.controller?.getFloatingElement()??this.surfaceTarget,n)&&this.setOpen(!1)}onFocusOut(t){this.open&&Et(this.getAnchorElement(),this.controller?.getFloatingElement()??this.surfaceTarget,t.relatedTarget)&&this.setOpen(!1)}usesExternalAnchor(){return!this.anchor.trim()||this.closest("rui-popover-trigger")?!1:!this.querySelector('[slot="trigger"]')}syncExternalAnchorClick(t){if(!this.usesExternalAnchor()||!t){this.unbindExternalAnchorClick();return}this.anchorClickTarget!==t&&(this.unbindExternalAnchorClick(),t.addEventListener("click",this.onExternalAnchorClick),this.anchorClickTarget=t)}unbindExternalAnchorClick(){this.anchorClickTarget&&(this.anchorClickTarget.removeEventListener("click",this.onExternalAnchorClick),this.anchorClickTarget=null)}onExternalAnchorClick(){this.setOpen(!this.open)}onDocumentKeydown(t){if(!this.open||t.key!=="Escape")return;t.preventDefault(),this.setOpen(!1),this.getAnchorElement()?.focus()}render(){let t=this.variant==="listbox"?"rui-popover--listbox":"";return oe("div",{class:"rui-popover-host","data-ref":"host",children:[F("slot",{name:"trigger"}),F("div",{"data-ref":"surface",class:`rui-popover rui-floating ${t}`.trim(),role:"dialog",hidden:!0,children:F("slot",{name:"content"})})]})}static{At()}};var $,ee=class extends q{static{({e:[Jt,Nt,Qt,Zt,Gt],c:[$,Yt]}=ne(this,[re("rui-popover-trigger")],[[E({type:Boolean,reflect:!0,defaultValue:!1}),0,"open"],[et({ref:"root"}),0,"rootTarget"],[[tt,ie(["open"])],2,"syncToPopover"],[D({ref:"root",type:"click"}),2,"onHostClick"],[D({selector:"rui-popover",type:"rui-open-change"}),2,"onPopoverOpenChange"]],0,void 0,q))}constructor(...t){super(...t),Zt(this)}open=(Gt(this),Jt(this));rootTarget=(Nt(this),Qt(this));getPopover(){return this.querySelector("rui-popover")}connectedCallback(){super.connectedCallback(),queueMicrotask(()=>this.syncToPopover())}syncToPopover(){let t=this.getPopover();t&&t.open!==this.open&&t.setOpen(this.open,!1)}onHostClick(t){if(!t.target?.closest('[slot="trigger"]'))return;this.open=!this.open,this.getPopover()?.setOpen(this.open)}onPopoverOpenChange(t){let n=this.getPopover();t.target===n&&(this.open=t.detail.open)}render(){return oe("div",{class:"rui-popover-trigger","data-ref":"root",children:[F("slot",{name:"trigger"}),F("slot",{})]})}static{Yt()}};function z(e){return e.querySelector('button, a[href], input, select, textarea, [role="button"]')??e}function xe({children:e,slot:t="content",class:n,...o}){return nt("div",{...o,slot:t,class:gt(n),children:e})}var we=Q(B,({trigger:e,children:t,...n})=>se("rui-popover",{...n,children:[e!=null?nt("span",{slot:"trigger",children:e}):null,t]}),{stylesheets:["./popover.css"]}),Ee=Q($,({trigger:e,children:t,...n})=>se("rui-popover-trigger",{...n,children:[nt("span",{slot:"trigger",children:e}),t]}),{stylesheets:["./popover.css"]});export{we as RuiPopover,xe as RuiPopoverContent,B as RuiPopoverElement,Ee as RuiPopoverTrigger,$ as RuiPopoverTriggerElement};
1
+ import{jsx as N,jsxs as oe}from"@ecopages/jsx/jsx-runtime";function pt(...e){return e.filter(Boolean).join(" ")}import{jsx as D,jsxs as Nt}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as B,bound as Z,customElement as te,event as me,onEvent as j,onUpdated as ee,prop as E,query as z}from"@ecopages/radiant";import{isServer as Jt}from"@ecopages/radiant/is-server";var ie={top:"bottom",bottom:"top",left:"right",right:"left"},se=8;function ae(e){let t=e.indexOf("-");if(t===-1)return{side:e,align:"center"};let n=e.slice(0,t),r=e.slice(t+1);return{side:n,align:r==="start"||r==="end"?r:"center"}}function gt(e){return e==="top"||e==="bottom"?"y":"x"}function ft(e,t,n,r,o){let{width:i,height:a}=t,s=0,f=0;switch(n){case"top":f=e.top-a-o;break;case"bottom":f=e.bottom+o;break;case"left":s=e.left-i-o;break;case"right":s=e.right+o;break}return gt(n)==="y"?r==="start"?s=e.left:r==="end"?s=e.right-i:s=e.left+(e.width-i)/2:r==="start"?f=e.top:r==="end"?f=e.bottom-a:f=e.top+(e.height-a)/2,{x:s,y:f}}function ce(e,t,n,r){let{padding:o,width:i,height:a}=r;return n==="top"?Math.max(0,o-e.y):n==="bottom"?Math.max(0,e.y+t.height-(a-o)):n==="left"?Math.max(0,o-e.x):Math.max(0,e.x+t.width-(i-o))}function dt(e,t,n,r){let{padding:o,width:i,height:a}=r;return n==="top"?e.top-o-t.height:n==="bottom"?a-o-t.height-e.bottom:n==="left"?e.left-o-t.width:i-o-t.width-e.right}function le(e,t){return t==="center"?e:`${e}-${t}`}function ue(e,t,n,r){let{padding:o,width:i,height:a}=r;if(gt(n)==="y"){let f=Math.max(o,i-o-t.width);return{x:Math.min(Math.max(e.x,o),f),y:e.y}}let s=Math.max(o,a-o-t.height);return{x:e.x,y:Math.min(Math.max(e.y,o),s)}}function he(e,t,n,r,o={width:typeof window>"u"?0:window.innerWidth,height:typeof window>"u"?0:window.innerHeight,padding:se}){let{side:i,align:a}=ae(n),s=ft(e,t,i,a,r),f=ce(s,t,i,o),C=i,P=s;if(f>0){let A=ie[i],T=ft(e,t,A,a,r),H=dt(e,t,i,o);dt(e,t,A,o)>H&&(C=A,P=T)}return{coords:ue(P,t,C,o),placement:le(C,a)}}function pe(e,t,n,r,o={}){let{coords:i,placement:a}=he(e.getBoundingClientRect(),{width:t.offsetWidth,height:t.offsetHeight},n,r);return Object.assign(t.style,{position:"fixed",left:`${i.x}px`,top:`${i.y}px`,right:"auto",bottom:"auto",visibility:"visible"}),o.matchAnchorWidth&&(t.style.width=`${e.offsetWidth}px`),t.setAttribute("data-placement",a),a}function mt({anchor:e,floating:t,getPlacement:n,gap:r,matchAnchorWidth:o}){let i=()=>{t.hidden||pe(e,t,n(),r,{matchAnchorWidth:o})};i(),window.addEventListener("resize",i),window.addEventListener("scroll",i,!0);let a=new ResizeObserver(i);return a.observe(e),a.observe(t),()=>{window.removeEventListener("resize",i),window.removeEventListener("scroll",i,!0),a.disconnect()}}function vt(e,t=document.body){let n=e.parentNode;if(!n)return{unmount:()=>{}};let r=document.createComment("rui-portal");return n.insertBefore(r,e),t.appendChild(e),{unmount:()=>{let o=r.parentNode;o&&(o.insertBefore(e,r),r.remove())}}}function J(e,t,n){return n?!!(e?.contains(n)||t?.contains(n)):!1}function yt(e,t,n){return n instanceof Node?!J(e,t,n):!0}function xt(e,t,n){return!J(e,t,n)}var q=class{config;cleanupFloating=null;portalHandle=null;floatingElement=null;constructor(t){this.config=t}updateConfig(t){this.config={...this.config,...t}}sync(){let t=this.resolveFloating();if(!t)return;if(!this.config.getOpen()){this.teardown(),t.hidden=!0;return}let r=this.config.getAnchor();if(!r)return;t.hidden=!1,this.config.portal!==!1?this.portalHandle||(this.portalHandle=vt(t,this.config.portalContainer??document.body)):this.portalHandle&&(this.portalHandle.unmount(),this.portalHandle=null),this.teardownFloating(),this.cleanupFloating=mt({anchor:r,floating:t,getPlacement:this.config.getPlacement,gap:this.config.gap??8,matchAnchorWidth:this.config.matchAnchorWidth})}contains(t){return J(this.config.getAnchor(),this.resolveFloating(),t)}getFloatingElement(){return this.resolveFloating()}teardown(){this.teardownFloating(),this.portalHandle&&(this.portalHandle.unmount(),this.portalHandle=null)}destroy(){this.teardown(),this.floatingElement=null}resolveFloating(){let t=this.config.getFloating();return t&&(this.floatingElement=t),t??this.floatingElement}teardownFloating(){this.cleanupFloating?.(),this.cleanupFloating=null}};var bt,wt,_t,Et,Ct,Pt,At,Tt,kt,Ot,Ft,St,Dt,jt,Ht,Rt,Wt,Mt,It,Lt,qt,Bt,Vt,$t,Kt,Ut,Gt,Xt;function zt(e,t,n,r,o,i){var a,s,f,C,P,A,T,H=Symbol.metadata||Symbol.for("Symbol.metadata"),V=Object.defineProperty,$=Object.create,tt=[$(null),$(null)],et=t.length;function R(c,v,g){return function(l,u){v&&(u=l,l=e);for(var y=0;y<c.length;y++)u=c[y].apply(l,g?[u]:[]);return g?u:l}}function w(c,v,g,l){if(typeof c!="function"&&(l||c!==void 0))throw new TypeError(v+" must "+(g||"be")+" a function"+(l?"":" or undefined"));return c}function nt(c,v,g,l,u,y,k,m,x,b,ot){function K(p){if(!ot(p))throw new TypeError("Attempted to access private element on non-instance")}var U=[].concat(v[0]),it=v[3],G=!k,F=u===1,st=u===3,at=u===4,W=u===2;function M(p,O,ut){return function(L,ht){return O&&(ht=L,L=c),ut&&ut(L),h[p].call(L,ht)}}if(!G){var h={},X=[],_=st?"get":at||F?"set":"value";if(x?(b||F?h={get:Yt(function(){return it(this)},l,"get"),set:function(p){v[4](this,p)}}:h[_]=it,b||Yt(h[_],l,W?"":_)):b||(h=Object.getOwnPropertyDescriptor(c,l)),!b&&!x){if((s=tt[+m][l])&&(s^u)!==7)throw Error("Decorating two elements with the same name ("+h[_].name+") is not supported yet");tt[+m][l]=u<3?1:u}}for(var d=c,I=U.length-1;I>=0;I-=g?2:1){var ct=w(U[I],"A decorator","be",!0),lt=g?U[I-1]:void 0,Y={},S={kind:["field","accessor","method","getter","setter","class"][u],name:l,metadata:a,addInitializer:function(p,O){if(p.v)throw new TypeError("attempted to call addInitializer after decoration was finished");w(O,"An initializer","be",!0),y.push(O)}.bind(null,Y)};if(G)s=ct.call(lt,d,S),Y.v=1,w(s,"class decorators","return")&&(d=s);else if(S.static=m,S.private=x,s=S.access={has:x?ot.bind():function(p){return l in p}},at||(s.get=x?W?function(p){return K(p),h.value}:M("get",0,K):function(p){return p[l]}),W||st||(s.set=x?M("set",0,K):function(p,O){p[l]=O}),d=ct.call(lt,F?{get:h.get,set:h.set}:h[_],S),Y.v=1,F){if(typeof d=="object"&&d)(s=w(d.get,"accessor.get"))&&(h.get=s),(s=w(d.set,"accessor.set"))&&(h.set=s),(s=w(d.init,"accessor.init"))&&X.unshift(s);else if(d!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else w(d,(b?"field":"method")+" decorators","return")&&(b?X.unshift(d):h[_]=d)}return u<2&&k.push(R(X,m,1),R(y,m,0)),b||G||(x?F?k.splice(-1,0,M("get",m),M("set",m)):k.push(W?h[_]:w.call.bind(h[_])):V(c,l,h)),d}function rt(c){return V(c,H,{configurable:!0,enumerable:!0,value:a})}return i!==void 0&&(a=i[H]),a=$(a??null),P=[],A=function(c){c&&P.push(R(c))},T=function(c,v){for(var g=0;g<n.length;g++){var l=n[g],u=l[1],y=7&u;if((8&u)==c&&!y==v){var k=l[2],m=!!l[3],x=16&u;nt(c?e:e.prototype,l,x,m?"#"+k:fe(k),y,y<2?[]:c?C=C||[]:f=f||[],P,!!c,m,v,c&&m?function(b){return ge(b)===e}:o)}}},T(8,0),T(0,0),T(8,1),T(0,1),A(f),A(C),s=P,et||rt(e),{e:s,get c(){var c=[];return et&&[rt(e=nt(e,[t],r,e.name,5,c)),R(c,1)]}}}function fe(e){var t=de(e,"string");return typeof t=="symbol"?t:t+""}function de(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Yt(e,t,n){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch{}return e}function ge(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(e!==null?typeof e:"null"));return e}var ne,Qt=class extends B{static{({e:[_t,Et,Ct,Pt,At,Tt,kt,Ot,Ft,St,Dt,jt,Ht,Rt,Wt,Mt,It,Lt,qt,Bt,bt],c:[ne,wt]}=zt(this,[te("rui-popover")],[[E({type:Boolean,reflect:!0,defaultValue:!1}),0,"open"],[E({type:String,defaultValue:"bottom"}),0,"placement"],[E({type:Boolean,defaultValue:!0}),0,"portal"],[E({type:Boolean,defaultValue:!1}),0,"matchAnchorWidth"],[E({type:Number,defaultValue:8}),0,"offset"],[E({type:String,defaultValue:""}),0,"anchor"],[E({type:String,defaultValue:"default"}),0,"variant"],[z({ref:"surface"}),0,"surfaceTarget"],[z({ref:"host"}),0,"hostTarget"],[me({name:"rui-open-change",bubbles:!0,composed:!0}),0,"openChangeEvent"],[[Z,ee(["open","placement","portal","matchAnchorWidth","offset","anchor"])],2,"syncPopover"],[j({document:!0,type:"pointerdown"}),2,"onDocumentPointerDown"],[j({ref:"host",type:"focusout"}),2,"onFocusOut"],[Z,2,"onExternalAnchorClick"],[j({document:!0,type:"keydown"}),2,"onDocumentKeydown"]],0,void 0,B))}open=(bt(this),_t(this));placement=(Et(this),Ct(this));portal=(Pt(this),At(this));matchAnchorWidth=(Tt(this),kt(this));offset=(Ot(this),Ft(this));anchor=(St(this),Dt(this));variant=(jt(this),Ht(this));surfaceTarget=(Rt(this),Wt(this));hostTarget=(Mt(this),It(this));openChangeEvent=(Lt(this),qt(this));surfaceId=(Bt(this),`rui-popover-${Math.random().toString(36).slice(2,9)}`);controller=null;anchorClickTarget=null;connectedCallback(){super.connectedCallback(),queueMicrotask(()=>this.syncPopover())}disconnectedCallback(){this.unbindExternalAnchorClick(),this.controller?.destroy(),this.controller=null,super.disconnectedCallback()}getAnchorElement(){let n=this.closest("rui-popover-trigger")?.querySelector('[slot="trigger"]');if(n instanceof HTMLElement)return Q(n);let r=this.querySelector('[slot="trigger"]');if(r instanceof HTMLElement)return Q(r);let o=this.anchor.trim();if(o){let i=document.querySelector(o);if(i instanceof HTMLElement)return Q(i)}return null}ensureController(){return this.controller||(this.controller=new q({getAnchor:()=>this.getAnchorElement(),getFloating:()=>this.surfaceTarget,getOpen:()=>this.open,getPlacement:()=>this.placement,gap:this.offset,portal:this.portal,matchAnchorWidth:this.matchAnchorWidth})),this.controller}syncPopover(){let t=this.getAnchorElement(),n=this.surfaceTarget;n&&(n.id=this.surfaceId),t&&(t.setAttribute("aria-controls",this.surfaceId),t.setAttribute("aria-expanded",String(this.open))),this.syncExternalAnchorClick(t);let r=this.ensureController();r.updateConfig({getAnchor:()=>this.getAnchorElement(),getFloating:()=>this.surfaceTarget,getOpen:()=>this.open,getPlacement:()=>this.placement,gap:this.offset,portal:this.portal,matchAnchorWidth:this.matchAnchorWidth}),r.sync()}setOpen(t,n=!0){if(this.open===t){this.syncPopover();return}this.open=t,n&&this.openChangeEvent.emit({open:t}),this.syncPopover()}onDocumentPointerDown(t){if(!this.open)return;let n=t.target;xt(this.getAnchorElement(),this.controller?.getFloatingElement()??this.surfaceTarget,n)&&this.setOpen(!1)}onFocusOut(t){this.open&&yt(this.getAnchorElement(),this.controller?.getFloatingElement()??this.surfaceTarget,t.relatedTarget)&&this.setOpen(!1)}usesExternalAnchor(){return!this.anchor.trim()||this.closest("rui-popover-trigger")?!1:!this.querySelector('[slot="trigger"]')}syncExternalAnchorClick(t){if(!this.usesExternalAnchor()||!t){this.unbindExternalAnchorClick();return}this.anchorClickTarget!==t&&(this.unbindExternalAnchorClick(),t.addEventListener("click",this.onExternalAnchorClick),this.anchorClickTarget=t)}unbindExternalAnchorClick(){this.anchorClickTarget&&(this.anchorClickTarget.removeEventListener("click",this.onExternalAnchorClick),this.anchorClickTarget=null)}onExternalAnchorClick(){this.setOpen(!this.open)}onDocumentKeydown(t){if(!this.open||t.key!=="Escape")return;t.preventDefault(),this.setOpen(!1),this.getAnchorElement()?.focus()}render(){let t=this.variant==="listbox"?"rui-popover--listbox":"";return Nt("div",{class:"rui-popover-host","data-ref":"host",children:[D("slot",{name:"trigger"}),D("div",{"data-ref":"surface",class:`rui-popover rui-floating ${t}`.trim(),role:"dialog",hidden:!0,children:D("slot",{name:"content"})})]})}static{wt()}};var re,Zt=class extends B{static{({e:[Kt,Ut,Gt,Xt,Vt],c:[re,$t]}=zt(this,[te("rui-popover-trigger")],[[E({type:Boolean,reflect:!0,defaultValue:!1}),0,"open"],[z({ref:"root"}),0,"rootTarget"],[[Z,ee(["open"])],2,"syncToPopover"],[j({ref:"root",type:"click"}),2,"onHostClick"],[j({selector:"rui-popover",type:"rui-open-change"}),2,"onPopoverOpenChange"]],0,void 0,B))}constructor(...t){super(...t),Xt(this)}open=(Vt(this),Kt(this));rootTarget=(Ut(this),Gt(this));getPopover(){return this.querySelector("rui-popover")}connectedCallback(){super.connectedCallback(),!Jt&&queueMicrotask(()=>this.syncToPopover())}syncToPopover(){if(Jt)return;let t=this.getPopover();!t||typeof t.setOpen!="function"||t.open!==this.open&&t.setOpen(this.open,!1)}onHostClick(t){if(!t.target?.closest('[slot="trigger"]'))return;this.open=!this.open;let r=this.getPopover();r&&typeof r.setOpen=="function"&&r.setOpen(this.open)}onPopoverOpenChange(t){let n=this.getPopover();t.target===n&&(this.open=t.detail.open)}render(){return Nt("div",{class:"rui-popover-trigger","data-ref":"root",children:[D("slot",{name:"trigger"}),D("slot",{})]})}static{$t()}};function Q(e){return e.querySelector('button, a[href], input, select, textarea, [role="button"]')??e}function ve({children:e,slot:t="content",class:n,...r}){return N("div",{...r,slot:t,class:pt(n),children:e})}function ye({trigger:e,children:t,...n}){return oe("rui-popover",{...n,children:[e!=null?N("span",{slot:"trigger",children:e}):null,t]})}function xe({trigger:e,children:t,...n}){return oe("rui-popover-trigger",{...n,children:[N("span",{slot:"trigger",children:e}),t]})}export{ye as RuiPopover,ve as RuiPopoverContent,ne as RuiPopoverElement,xe as RuiPopoverTrigger,re as RuiPopoverTriggerElement};
2
2
  //# sourceMappingURL=index.js.map