@ecopages/radiant-ui 0.1.0-rc.7 → 0.1.0

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 (238) hide show
  1. package/README.md +11 -3
  2. package/dist/components/ui/alert/alert.d.ts +2 -4
  3. package/dist/components/ui/alert/alert.script.d.ts +25 -15
  4. package/dist/components/ui/autocomplete/autocomplete.css +1 -2
  5. package/dist/components/ui/autocomplete/autocomplete.d.ts +8 -3
  6. package/dist/components/ui/autocomplete/autocomplete.script.d.ts +29 -4
  7. package/dist/components/ui/avatar/avatar.css +10 -8
  8. package/dist/components/ui/avatar/avatar.d.ts +3 -1
  9. package/dist/components/ui/breadcrumb/breadcrumb.d.ts +11 -11
  10. package/dist/components/ui/breadcrumb/breadcrumb.script.d.ts +10 -10
  11. package/dist/components/ui/calendar/calendar.css +10 -5
  12. package/dist/components/ui/calendar/calendar.script.d.ts +24 -21
  13. package/dist/components/ui/calendar/index.js +1 -1
  14. package/dist/components/ui/calendar/index.js.map +3 -3
  15. package/dist/components/ui/carousel/carousel-autoplay.d.ts +22 -0
  16. package/dist/components/ui/carousel/carousel-swipe.d.ts +17 -0
  17. package/dist/components/ui/carousel/carousel-window.d.ts +63 -0
  18. package/dist/components/ui/carousel/carousel.css +71 -18
  19. package/dist/components/ui/carousel/carousel.d.ts +8 -4
  20. package/dist/components/ui/carousel/carousel.script.d.ts +73 -40
  21. package/dist/components/ui/carousel/index.js +1 -1
  22. package/dist/components/ui/carousel/index.js.map +4 -4
  23. package/dist/components/ui/checkbox/checkbox.d.ts +11 -0
  24. package/dist/components/ui/checkbox/checkbox.script.d.ts +31 -8
  25. package/dist/components/ui/checkbox/index.js +1 -1
  26. package/dist/components/ui/checkbox/index.js.map +4 -4
  27. package/dist/components/ui/checkbox-group/checkbox-group.d.ts +4 -2
  28. package/dist/components/ui/checkbox-group/checkbox-group.script.d.ts +39 -20
  29. package/dist/components/ui/checkbox-group/index.js +1 -1
  30. package/dist/components/ui/checkbox-group/index.js.map +4 -4
  31. package/dist/components/ui/combobox/combobox.css +9 -1
  32. package/dist/components/ui/combobox/combobox.d.ts +12 -4
  33. package/dist/components/ui/combobox/combobox.script.d.ts +74 -25
  34. package/dist/components/ui/combobox/index.d.ts +2 -2
  35. package/dist/components/ui/combobox/index.js +1 -1
  36. package/dist/components/ui/combobox/index.js.map +4 -4
  37. package/dist/components/ui/cycle-toggle/cycle-toggle.d.ts +6 -2
  38. package/dist/components/ui/cycle-toggle/cycle-toggle.script.d.ts +35 -4
  39. package/dist/components/ui/cycle-toggle/index.js +1 -1
  40. package/dist/components/ui/cycle-toggle/index.js.map +3 -3
  41. package/dist/components/ui/date-field/date-field.css +13 -17
  42. package/dist/components/ui/date-field/date-field.d.ts +10 -8
  43. package/dist/components/ui/date-field/date-field.script.d.ts +35 -52
  44. package/dist/components/ui/date-field/index.js +1 -1
  45. package/dist/components/ui/date-field/index.js.map +4 -4
  46. package/dist/components/ui/date-input/date-input-segment-dom.d.ts +24 -0
  47. package/dist/components/ui/date-input/date-input.css +50 -0
  48. package/dist/components/ui/date-input/date-input.d.ts +8 -0
  49. package/dist/components/ui/date-input/date-input.script.d.ts +137 -0
  50. package/dist/components/ui/date-input/index.d.ts +2 -0
  51. package/dist/components/ui/date-input/index.js +2 -0
  52. package/dist/components/ui/date-input/index.js.map +7 -0
  53. package/dist/components/ui/date-range-picker/date-range-picker.css +18 -19
  54. package/dist/components/ui/date-range-picker/date-range-picker.d.ts +11 -9
  55. package/dist/components/ui/date-range-picker/date-range-picker.script.d.ts +42 -51
  56. package/dist/components/ui/date-range-picker/index.js +1 -1
  57. package/dist/components/ui/date-range-picker/index.js.map +4 -4
  58. package/dist/components/ui/dialog/dialog.css +18 -14
  59. package/dist/components/ui/dialog/dialog.d.ts +6 -0
  60. package/dist/components/ui/dialog/dialog.script.d.ts +43 -10
  61. package/dist/components/ui/dialog/index.js +1 -1
  62. package/dist/components/ui/dialog/index.js.map +4 -4
  63. package/dist/components/ui/disclosure/disclosure-group.script.d.ts +19 -3
  64. package/dist/components/ui/disclosure/disclosure.css +3 -6
  65. package/dist/components/ui/disclosure/disclosure.d.ts +23 -7
  66. package/dist/components/ui/disclosure/disclosure.script.d.ts +31 -7
  67. package/dist/components/ui/disclosure/index.d.ts +1 -1
  68. package/dist/components/ui/disclosure/index.js +1 -1
  69. package/dist/components/ui/disclosure/index.js.map +4 -4
  70. package/dist/components/ui/field/field-description.d.ts +1 -0
  71. package/dist/components/ui/field/field-error.d.ts +2 -2
  72. package/dist/components/ui/field/field.d.ts +4 -4
  73. package/dist/components/ui/field/field.script.d.ts +54 -24
  74. package/dist/components/ui/field/index.js +1 -1
  75. package/dist/components/ui/field/index.js.map +4 -4
  76. package/dist/components/ui/form/control-protocol.d.ts +38 -1
  77. package/dist/components/ui/form/form-context.d.ts +3 -0
  78. package/dist/components/ui/form/form.d.ts +6 -0
  79. package/dist/components/ui/form/form.script.d.ts +29 -12
  80. package/dist/components/ui/form/index.d.ts +2 -1
  81. package/dist/components/ui/form/index.js +1 -1
  82. package/dist/components/ui/form/index.js.map +4 -4
  83. package/dist/components/ui/grid/grid.d.ts +4 -3
  84. package/dist/components/ui/grid/grid.script.d.ts +19 -11
  85. package/dist/components/ui/hover-card/hover-card.css +12 -101
  86. package/dist/components/ui/hover-card/hover-card.d.ts +7 -2
  87. package/dist/components/ui/hover-card/hover-card.script.d.ts +36 -5
  88. package/dist/components/ui/hover-card/index.js +1 -1
  89. package/dist/components/ui/hover-card/index.js.map +4 -4
  90. package/dist/components/ui/input/index.js +1 -1
  91. package/dist/components/ui/input/index.js.map +4 -4
  92. package/dist/components/ui/input/input.css +1 -1
  93. package/dist/components/ui/knob/index.js +1 -1
  94. package/dist/components/ui/knob/index.js.map +3 -3
  95. package/dist/components/ui/knob/knob.css +6 -1
  96. package/dist/components/ui/knob/knob.d.ts +4 -4
  97. package/dist/components/ui/knob/knob.script.d.ts +55 -20
  98. package/dist/components/ui/label/index.js +1 -1
  99. package/dist/components/ui/label/index.js.map +4 -4
  100. package/dist/components/ui/label/label.d.ts +2 -1
  101. package/dist/components/ui/listbox/index.d.ts +2 -2
  102. package/dist/components/ui/listbox/index.js +1 -1
  103. package/dist/components/ui/listbox/index.js.map +4 -4
  104. package/dist/components/ui/listbox/listbox.css +14 -0
  105. package/dist/components/ui/listbox/listbox.d.ts +16 -2
  106. package/dist/components/ui/listbox/listbox.script.d.ts +55 -12
  107. package/dist/components/ui/menu-button/index.js +1 -1
  108. package/dist/components/ui/menu-button/index.js.map +4 -4
  109. package/dist/components/ui/menu-button/menu-button.d.ts +2 -2
  110. package/dist/components/ui/menu-button/menu-button.script.d.ts +30 -27
  111. package/dist/components/ui/menubar/index.js +1 -1
  112. package/dist/components/ui/menubar/index.js.map +4 -4
  113. package/dist/components/ui/menubar/menubar.script.d.ts +41 -15
  114. package/dist/components/ui/meter/index.js +1 -1
  115. package/dist/components/ui/meter/index.js.map +3 -3
  116. package/dist/components/ui/meter/meter.css +27 -2
  117. package/dist/components/ui/meter/meter.script.d.ts +19 -14
  118. package/dist/components/ui/navigation-menu/index.d.ts +1 -1
  119. package/dist/components/ui/navigation-menu/index.js +1 -1
  120. package/dist/components/ui/navigation-menu/index.js.map +4 -4
  121. package/dist/components/ui/navigation-menu/navigation-menu.css +32 -34
  122. package/dist/components/ui/navigation-menu/navigation-menu.d.ts +34 -5
  123. package/dist/components/ui/navigation-menu/navigation-menu.script.d.ts +93 -12
  124. package/dist/components/ui/number-field/index.js +1 -1
  125. package/dist/components/ui/number-field/index.js.map +4 -4
  126. package/dist/components/ui/number-field/number-field.css +1 -1
  127. package/dist/components/ui/number-field/number-field.d.ts +8 -19
  128. package/dist/components/ui/number-field/number-field.script.d.ts +30 -9
  129. package/dist/components/ui/pagination/index.d.ts +1 -1
  130. package/dist/components/ui/pagination/index.js +1 -1
  131. package/dist/components/ui/pagination/index.js.map +3 -3
  132. package/dist/components/ui/pagination/pagination.css +50 -13
  133. package/dist/components/ui/pagination/pagination.d.ts +33 -9
  134. package/dist/components/ui/pagination/pagination.script.d.ts +29 -9
  135. package/dist/components/ui/popover/index.js +1 -1
  136. package/dist/components/ui/popover/index.js.map +4 -4
  137. package/dist/components/ui/popover/popover.d.ts +17 -1
  138. package/dist/components/ui/popover/popover.script.d.ts +57 -9
  139. package/dist/components/ui/radio-group/index.js +1 -1
  140. package/dist/components/ui/radio-group/index.js.map +4 -4
  141. package/dist/components/ui/radio-group/radio-group.d.ts +2 -2
  142. package/dist/components/ui/radio-group/radio-group.script.d.ts +35 -16
  143. package/dist/components/ui/select/index.d.ts +2 -2
  144. package/dist/components/ui/select/index.js +1 -1
  145. package/dist/components/ui/select/index.js.map +4 -4
  146. package/dist/components/ui/select/select.css +8 -6
  147. package/dist/components/ui/select/select.d.ts +18 -9
  148. package/dist/components/ui/select/select.script.d.ts +74 -26
  149. package/dist/components/ui/shared/calendar-popover-behavior.d.ts +27 -0
  150. package/dist/components/ui/shared/control-toggle.css +8 -4
  151. package/dist/components/ui/shared/field-label.d.ts +5 -0
  152. package/dist/components/ui/shared/listbox-host-controller.d.ts +41 -0
  153. package/dist/components/ui/shared/listbox-option.d.ts +4 -0
  154. package/dist/components/ui/shared/multi-value.d.ts +23 -1
  155. package/dist/components/ui/shared/numeric-range.d.ts +8 -0
  156. package/dist/components/ui/shared/popover.css +10 -99
  157. package/dist/components/ui/sidebar/index.d.ts +2 -1
  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.d.ts +12 -0
  161. package/dist/components/ui/sidebar/sidebar-trigger.script.d.ts +52 -31
  162. package/dist/components/ui/sidebar/sidebar.css +67 -61
  163. package/dist/components/ui/sidebar/sidebar.d.ts +9 -4
  164. package/dist/components/ui/sidebar/sidebar.script.d.ts +42 -20
  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.css +5 -5
  168. package/dist/components/ui/slider/slider.d.ts +20 -10
  169. package/dist/components/ui/slider/slider.script.d.ts +103 -27
  170. package/dist/components/ui/switch/index.js +1 -1
  171. package/dist/components/ui/switch/index.js.map +4 -4
  172. package/dist/components/ui/switch/switch.css +28 -22
  173. package/dist/components/ui/switch/switch.d.ts +13 -0
  174. package/dist/components/ui/switch/switch.script.d.ts +34 -8
  175. package/dist/components/ui/table/index.js +1 -1
  176. package/dist/components/ui/table/index.js.map +4 -4
  177. package/dist/components/ui/table/table.d.ts +9 -7
  178. package/dist/components/ui/table/table.script.d.ts +55 -12
  179. package/dist/components/ui/tabs/tabs.css +18 -12
  180. package/dist/components/ui/tabs/tabs.d.ts +7 -4
  181. package/dist/components/ui/tabs/tabs.script.d.ts +39 -9
  182. package/dist/components/ui/tag-group/index.js +1 -1
  183. package/dist/components/ui/tag-group/index.js.map +4 -4
  184. package/dist/components/ui/tag-group/tag-group.d.ts +19 -7
  185. package/dist/components/ui/tag-group/tag-group.script.d.ts +58 -10
  186. package/dist/components/ui/textarea/index.js +1 -1
  187. package/dist/components/ui/textarea/index.js.map +4 -4
  188. package/dist/components/ui/textarea/textarea.css +1 -1
  189. package/dist/components/ui/toast/index.js +1 -1
  190. package/dist/components/ui/toast/index.js.map +4 -4
  191. package/dist/components/ui/toast/toast.css +35 -32
  192. package/dist/components/ui/toast/toast.script.d.ts +17 -31
  193. package/dist/components/ui/toast/toaster.script.d.ts +24 -12
  194. package/dist/components/ui/toc/toc.script.d.ts +19 -8
  195. package/dist/components/ui/toolbar/toolbar.d.ts +5 -0
  196. package/dist/components/ui/toolbar/toolbar.script.d.ts +24 -4
  197. package/dist/components/ui/tooltip/index.js +1 -1
  198. package/dist/components/ui/tooltip/index.js.map +4 -4
  199. package/dist/components/ui/tooltip/tooltip.css +14 -94
  200. package/dist/components/ui/tooltip/tooltip.d.ts +7 -0
  201. package/dist/components/ui/tooltip/tooltip.script.d.ts +36 -6
  202. package/dist/components/ui/tree/tree.d.ts +4 -3
  203. package/dist/components/ui/tree/tree.script.d.ts +28 -15
  204. package/dist/components/ui/treegrid/treegrid.d.ts +5 -3
  205. package/dist/components/ui/treegrid/treegrid.script.d.ts +33 -14
  206. package/dist/components/ui/window-splitter/index.d.ts +1 -1
  207. package/dist/components/ui/window-splitter/index.js +1 -1
  208. package/dist/components/ui/window-splitter/index.js.map +3 -3
  209. package/dist/components/ui/window-splitter/window-splitter.d.ts +10 -1
  210. package/dist/components/ui/window-splitter/window-splitter.script.d.ts +26 -8
  211. package/dist/index.d.ts +2 -0
  212. package/dist/index.js +1 -1
  213. package/dist/index.js.map +4 -4
  214. package/dist/lib/icons/check.d.ts +3 -0
  215. package/dist/lib/icons/chevron-down.d.ts +0 -1
  216. package/dist/lib/icons/index.d.ts +2 -0
  217. package/dist/lib/icons/x.d.ts +5 -0
  218. package/dist/lib/intl-date/index.d.ts +4 -2
  219. package/dist/lib/intl-date/segment-editing.d.ts +34 -0
  220. package/dist/lib/intl-date/segments.d.ts +26 -4
  221. package/dist/lib/non-empty.d.ts +6 -0
  222. package/dist/lib/unique-id.d.ts +11 -0
  223. package/dist/lib/viewport/breakpoints.d.ts +6 -0
  224. package/dist/lib/viewport/mobile-layout.d.ts +15 -0
  225. package/dist/styles/primitives.css +14 -11
  226. package/dist/styles/radiant-ui-core.css +10 -0
  227. package/dist/styles/radiant-ui.css +40 -11
  228. package/dist/styles/style-dependencies.json +38 -13
  229. package/dist/styles/styles.css +485 -252
  230. package/dist/styles/tailwind.css +40 -101
  231. package/dist/styles/tokens/presets/colors/aurora.css +2 -0
  232. package/dist/styles/tokens/presets/colors/basalt.css +2 -0
  233. package/dist/styles/tokens/presets/colors/ember.css +2 -0
  234. package/dist/styles/tokens/presets/colors/glacier.css +2 -0
  235. package/dist/styles/tokens/semantic.css +1 -0
  236. package/dist/styles/tokens/system.css +11 -3
  237. package/dist/styles/tokens/typography/default.css +8 -0
  238. package/package.json +27 -13
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/ui/slider/slider.script.tsx", "../../../../src/components/ui/shared/numeric-range.ts", "../../../../src/components/ui/slider/slider.tsx", "../../../../src/lib/cx.ts"],
4
- "sourcesContent": ["let _initProto, _initClass, _init_variant, _init_extra_variant, _init_orientation, _init_extra_orientation, _init_value, _init_extra_value, _init_rangeMin, _init_extra_rangeMin, _init_rangeMax, _init_extra_rangeMax, _init_min, _init_extra_min, _init_max, _init_extra_max, _init_step, _init_extra_step, _init_valuePrecision, _init_extra_valuePrecision, _init_minDistance, _init_extra_minDistance, _init_disabled, _init_extra_disabled, _init_readOnly, _init_extra_readOnly, _init_label, _init_extra_label, _init_name, _init_extra_name, _init_showValue, _init_extra_showValue, _init_valueTitle, _init_extra_valueTitle, _init_changeEvent, _init_extra_changeEvent, _init_inputTarget, _init_extra_inputTarget, _init_maxInputTarget, _init_extra_maxInputTarget, _init_rootTarget, _init_extra_rootTarget, _init_headerTarget, _init_extra_headerTarget, _init_labelTarget, _init_extra_labelTarget, _init_rangeTrack, _init_extra_rangeTrack, _init_valueTarget, _init_extra_valueTarget, _init_singleThumb, _init_extra_singleThumb, _init_rangeMinThumb, _init_extra_rangeMinThumb, _init_rangeMaxThumb, _init_extra_rangeMaxThumb;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { RadiantElement, customElement, event, onEvent, onUpdated, prop, query } from \"@ecopages/radiant\";\nimport { createNumericRange, formatNumericValue, resolveValuePrecision, valueFromSliderKey } from \"../shared/numeric-range\";\nlet _RuiSlider;\nclass RuiSlider extends RadiantElement {\n static {\n ({\n e: [_init_variant, _init_extra_variant, _init_orientation, _init_extra_orientation, _init_value, _init_extra_value, _init_rangeMin, _init_extra_rangeMin, _init_rangeMax, _init_extra_rangeMax, _init_min, _init_extra_min, _init_max, _init_extra_max, _init_step, _init_extra_step, _init_valuePrecision, _init_extra_valuePrecision, _init_minDistance, _init_extra_minDistance, _init_disabled, _init_extra_disabled, _init_readOnly, _init_extra_readOnly, _init_label, _init_extra_label, _init_name, _init_extra_name, _init_showValue, _init_extra_showValue, _init_valueTitle, _init_extra_valueTitle, _init_changeEvent, _init_extra_changeEvent, _init_inputTarget, _init_extra_inputTarget, _init_maxInputTarget, _init_extra_maxInputTarget, _init_rootTarget, _init_extra_rootTarget, _init_headerTarget, _init_extra_headerTarget, _init_labelTarget, _init_extra_labelTarget, _init_rangeTrack, _init_extra_rangeTrack, _init_valueTarget, _init_extra_valueTarget, _init_singleThumb, _init_extra_singleThumb, _init_rangeMinThumb, _init_extra_rangeMinThumb, _init_rangeMaxThumb, _init_extra_rangeMaxThumb, _initProto],\n c: [_RuiSlider, _initClass]\n } = _applyDecs(this, [customElement(\"rui-slider\")], [[prop({\n type: String,\n defaultValue: \"single\"\n }), 0, \"variant\"], [prop({\n type: String,\n defaultValue: \"horizontal\"\n }), 0, \"orientation\"], [prop({\n type: Number,\n reflect: true,\n defaultValue: 50\n }), 0, \"value\"], [prop({\n type: Number,\n reflect: true,\n attribute: \"range-min\",\n defaultValue: 25\n }), 0, \"rangeMin\"], [prop({\n type: Number,\n reflect: true,\n attribute: \"range-max\",\n defaultValue: 75\n }), 0, \"rangeMax\"], [prop({\n type: Number,\n defaultValue: 0\n }), 0, \"min\"], [prop({\n type: Number,\n defaultValue: 100\n }), 0, \"max\"], [prop({\n type: Number,\n defaultValue: 1\n }), 0, \"step\"], [prop({\n type: Number,\n attribute: \"value-precision\",\n defaultValue: Number.NaN\n }), 0, \"valuePrecision\"], [prop({\n type: Number,\n defaultValue: 0\n }), 0, \"minDistance\"], [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: Boolean,\n attribute: \"show-value\",\n defaultValue: false\n }), 0, \"showValue\"], [prop({\n type: Boolean,\n attribute: \"value-title\",\n defaultValue: false\n }), 0, \"valueTitle\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [query({\n ref: \"input\"\n }), 0, \"inputTarget\"], [query({\n ref: \"maxInput\"\n }), 0, \"maxInputTarget\"], [query({\n ref: \"root\"\n }), 0, \"rootTarget\"], [query({\n ref: \"header\"\n }), 0, \"headerTarget\"], [query({\n ref: \"label\"\n }), 0, \"labelTarget\"], [query({\n ref: \"rangeTrack\"\n }), 0, \"rangeTrack\"], [query({\n ref: \"value\"\n }), 0, \"valueTarget\"], [query({\n ref: \"singleThumb\"\n }), 0, \"singleThumb\"], [query({\n ref: \"rangeMinThumb\"\n }), 0, \"rangeMinThumb\"], [query({\n ref: \"rangeMaxThumb\"\n }), 0, \"rangeMaxThumb\"], [onUpdated([\"value\", \"rangeMin\", \"rangeMax\", \"min\", \"max\", \"step\", \"valuePrecision\", \"minDistance\", \"variant\", \"orientation\", \"disabled\", \"readOnly\", \"label\", \"name\", \"showValue\", \"valueTitle\"]), 2, \"onPropsUpdated\"], [onEvent({\n ref: \"rangeTrack\",\n type: \"pointerdown\"\n }), 2, \"onPointerDown\"], [onEvent({\n document: true,\n type: \"pointermove\"\n }), 2, \"onPointerMove\"], [onEvent({\n document: true,\n type: \"pointerup\"\n }), 2, \"onPointerUp\"], [onEvent({\n document: true,\n type: \"pointercancel\"\n }), 2, \"onPointerCancel\"], [onEvent({\n selector: \"[data-thumb]\",\n type: \"keydown\"\n }), 2, \"onThumbKeydown\"]], 0, void 0, RadiantElement));\n }\n variant = (_initProto(this), _init_variant(this));\n orientation = (_init_extra_variant(this), _init_orientation(this));\n value = (_init_extra_orientation(this), _init_value(this));\n rangeMin = (_init_extra_value(this), _init_rangeMin(this));\n rangeMax = (_init_extra_rangeMin(this), _init_rangeMax(this));\n min = (_init_extra_rangeMax(this), _init_min(this));\n max = (_init_extra_min(this), _init_max(this));\n step = (_init_extra_max(this), _init_step(this));\n valuePrecision = (_init_extra_step(this), _init_valuePrecision(this));\n minDistance = (_init_extra_valuePrecision(this), _init_minDistance(this));\n disabled = (_init_extra_minDistance(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 showValue = (_init_extra_name(this), _init_showValue(this));\n valueTitle = (_init_extra_showValue(this), _init_valueTitle(this));\n changeEvent = (_init_extra_valueTitle(this), _init_changeEvent(this));\n inputTarget = (_init_extra_changeEvent(this), _init_inputTarget(this));\n maxInputTarget = (_init_extra_inputTarget(this), _init_maxInputTarget(this));\n rootTarget = (_init_extra_maxInputTarget(this), _init_rootTarget(this));\n headerTarget = (_init_extra_rootTarget(this), _init_headerTarget(this));\n labelTarget = (_init_extra_headerTarget(this), _init_labelTarget(this));\n rangeTrack = (_init_extra_labelTarget(this), _init_rangeTrack(this));\n valueTarget = (_init_extra_rangeTrack(this), _init_valueTarget(this));\n singleThumb = (_init_extra_valueTarget(this), _init_singleThumb(this));\n rangeMinThumb = (_init_extra_singleThumb(this), _init_rangeMinThumb(this));\n rangeMaxThumb = (_init_extra_rangeMinThumb(this), _init_rangeMaxThumb(this));\n activeThumb = (_init_extra_rangeMaxThumb(this), null);\n activePointerId = null;\n pending = null;\n lastEmitted = \"\";\n onConnected() {\n this.syncChrome();\n this.syncValues(this.committedValues());\n }\n onPropsUpdated() {\n if (this.activeThumb) {\n return;\n }\n this.syncChrome();\n this.syncValues(this.committedValues());\n }\n get isRange() {\n return this.variant === \"range\";\n }\n get isVertical() {\n return this.orientation === \"vertical\";\n }\n get numericRange() {\n return createNumericRange(this.min, this.max, this.step);\n }\n get resolvedValuePrecision() {\n return resolveValuePrecision(this.step, this.valuePrecision);\n }\n formatValue(value) {\n return formatNumericValue(value, this.resolvedValuePrecision);\n }\n formatValues(values) {\n return values.length === 2 ? `${this.formatValue(values[0])} \\u2013 ${this.formatValue(values[1])}` : this.formatValue(values[0]);\n }\n get defaultValueTarget() {\n return this.querySelector(\"[data-default-value]\");\n }\n thumbFor(id) {\n if (id === \"value\") {\n return this.singleThumb;\n }\n return id === \"min\" ? this.rangeMinThumb : this.rangeMaxThumb;\n }\n parseThumb(value) {\n if (this.isRange) {\n return value === \"min\" || value === \"max\" ? value : null;\n }\n return value === \"value\" ? value : null;\n }\n constrainPair(low, high, active) {\n const range = this.numericRange;\n let nextLow = range.clamp(low);\n let nextHigh = range.clamp(high);\n if (nextLow > nextHigh) {\n [nextLow, nextHigh] = [nextHigh, nextLow];\n }\n const minDistance = Math.max(0, this.minDistance);\n if (nextHigh - nextLow < minDistance) {\n if (active === \"min\") {\n nextLow = range.clamp(nextHigh - minDistance);\n } else {\n nextHigh = range.clamp(nextLow + minDistance);\n }\n }\n return [nextLow, nextHigh];\n }\n committedValues() {\n if (this.isRange) {\n return this.constrainPair(this.rangeMin, this.rangeMax);\n }\n return [this.numericRange.clamp(this.value)];\n }\n liveValues() {\n return this.pending ?? this.committedValues();\n }\n changeDetail(values) {\n return values.length === 2 ? {\n values: [values[0], values[1]]\n } : {\n value: values[0]\n };\n }\n emitIfChanged(values) {\n const key = values.join(\",\");\n if (key === this.lastEmitted) {\n return;\n }\n this.lastEmitted = key;\n this.changeEvent.emit(this.changeDetail(values));\n }\n reflectValues(values) {\n if (values.length === 2) {\n if (this.rangeMin !== values[0]) {\n this.rangeMin = values[0];\n }\n if (this.rangeMax !== values[1]) {\n this.rangeMax = values[1];\n }\n return;\n }\n if (this.value !== values[0]) {\n this.value = values[0];\n }\n }\n syncValues(values) {\n this.paint(values);\n this.reflectValues(values);\n }\n syncChrome() {\n this.syncRootChrome();\n this.syncThumbChrome();\n }\n syncRootChrome() {\n const hasVisibleReadout = Boolean(this.valueTarget) && (!this.defaultValueTarget || this.showValue);\n this.rootTarget?.classList.toggle(\"rui-slider--single\", !this.isRange);\n this.rootTarget?.classList.toggle(\"rui-slider--range\", this.isRange);\n this.rootTarget?.classList.toggle(\"rui-slider--vertical\", this.isVertical);\n this.labelTarget?.toggleAttribute(\"hidden\", !this.label);\n if (this.labelTarget) this.labelTarget.textContent = this.label;\n this.defaultValueTarget?.toggleAttribute(\"hidden\", !this.showValue);\n this.headerTarget?.toggleAttribute(\"hidden\", !this.label && !hasVisibleReadout);\n }\n syncThumbChrome() {\n const tabindex = this.disabled ? -1 : 0;\n const orientation = this.isVertical ? \"vertical\" : \"horizontal\";\n const rangeBounds = this.numericRange;\n for (const {\n id,\n label,\n visible\n } of this.getThumbChrome()) {\n const thumb = this.thumbFor(id);\n if (!thumb) continue;\n thumb.toggleAttribute(\"hidden\", !visible);\n thumb.toggleAttribute(\"disabled\", this.disabled || !visible);\n thumb.setAttribute(\"tabindex\", String(visible ? tabindex : -1));\n thumb.setAttribute(\"aria-label\", label);\n thumb.setAttribute(\"aria-orientation\", orientation);\n thumb.setAttribute(\"aria-valuemin\", String(rangeBounds.lowerBound));\n thumb.setAttribute(\"aria-valuemax\", String(rangeBounds.upperBound));\n thumb.setAttribute(\"aria-readonly\", String(this.readOnly));\n }\n }\n getThumbChrome() {\n const range = this.isRange;\n return [{\n id: \"value\",\n label: this.label || \"Value\",\n visible: !range\n }, {\n id: \"min\",\n label: this.label ? `${this.label} minimum` : \"Minimum value\",\n visible: range\n }, {\n id: \"max\",\n label: this.label ? `${this.label} maximum` : \"Maximum value\",\n visible: range\n }];\n }\n paint(values) {\n const range = this.numericRange;\n const start = values[0];\n const end = values.length === 2 ? values[1] : values[0];\n const startPercent = `${range.ratioFor(start) * 100}%`;\n const endPercent = `${range.ratioFor(end) * 100}%`;\n const fillSize = `${(range.ratioFor(end) - range.ratioFor(start)) * 100}%`;\n const track = this.rangeTrack;\n track?.style.setProperty(\"--rui-slider-fill-start\", values.length === 2 ? startPercent : \"0%\");\n track?.style.setProperty(\"--rui-slider-fill-size\", values.length === 2 ? fillSize : endPercent);\n track?.style.setProperty(\"--rui-slider-value\", startPercent);\n track?.style.setProperty(\"--rui-slider-min\", startPercent);\n track?.style.setProperty(\"--rui-slider-max\", endPercent);\n if (this.singleThumb) {\n this.singleThumb.setAttribute(\"aria-valuenow\", String(start));\n this.singleThumb.setAttribute(\"aria-valuetext\", this.formatValue(start));\n }\n if (this.rangeMinThumb) {\n this.rangeMinThumb.setAttribute(\"aria-valuenow\", String(start));\n this.rangeMinThumb.setAttribute(\"aria-valuetext\", this.formatValue(start));\n this.rangeMinThumb.setAttribute(\"aria-valuemax\", String(end));\n }\n if (this.rangeMaxThumb) {\n this.rangeMaxThumb.setAttribute(\"aria-valuemin\", String(start));\n this.rangeMaxThumb.setAttribute(\"aria-valuenow\", String(end));\n this.rangeMaxThumb.setAttribute(\"aria-valuetext\", this.formatValue(end));\n }\n if (this.valueTarget) {\n this.valueTarget.textContent = this.formatValues(values);\n }\n this.syncInputs(values);\n this.syncValueTitle(values);\n }\n syncInputs(values) {\n if (this.inputTarget) {\n this.inputTarget.disabled = this.disabled;\n this.inputTarget.readOnly = this.readOnly;\n this.inputTarget.value = String(values[0]);\n if (this.name) {\n this.inputTarget.name = this.name;\n } else {\n this.inputTarget.removeAttribute(\"name\");\n }\n }\n if (!this.maxInputTarget) {\n return;\n }\n this.maxInputTarget.disabled = this.disabled;\n this.maxInputTarget.readOnly = this.readOnly;\n if (values.length === 2) {\n this.maxInputTarget.value = String(values[1]);\n if (this.name) {\n this.maxInputTarget.name = `${this.name}-max`;\n } else {\n this.maxInputTarget.removeAttribute(\"name\");\n }\n return;\n }\n this.maxInputTarget.value = \"\";\n this.maxInputTarget.removeAttribute(\"name\");\n }\n syncValueTitle(values) {\n const targets = [[this.inputTarget, \"input\"], [this.maxInputTarget, \"maxInput\"], [this.rangeTrack, \"track\"], [this.singleThumb, \"value\"], [this.rangeMinThumb, \"min\"], [this.rangeMaxThumb, \"max\"]];\n const titles = this.getValueTitles(values);\n for (const [target, key] of targets) {\n const title = titles[key];\n if (title) target?.setAttribute(\"title\", title);else target?.removeAttribute(\"title\");\n }\n }\n getValueTitles(values) {\n if (!this.valueTitle) return {};\n if (values.length === 1) {\n const value = this.formatValue(values[0]);\n return {\n input: value,\n value\n };\n }\n const [low, high] = values;\n return {\n input: this.formatValue(low),\n maxInput: this.formatValue(high),\n min: this.formatValue(low),\n max: this.formatValue(high),\n track: this.formatValues(values)\n };\n }\n valueFromPointer(event2) {\n const track = this.rangeTrack;\n if (!track) {\n return this.numericRange.lowerBound;\n }\n const rect = track.getBoundingClientRect();\n if (rect.width === 0 || rect.height === 0) {\n return this.numericRange.lowerBound;\n }\n const ratio = this.isVertical ? 1 - (event2.clientY - rect.top) / rect.height : (event2.clientX - rect.left) / rect.width;\n return this.numericRange.valueFromRatio(ratio);\n }\n nearestThumb(next) {\n if (!this.isRange) {\n return \"value\";\n }\n const [low, high] = this.liveValues();\n return Math.abs(next - low) <= Math.abs(next - high) ? \"min\" : \"max\";\n }\n moveThumb(thumb, next) {\n this.activeThumb = thumb;\n if (this.isRange) {\n const current = this.pending ?? this.committedValues();\n this.pending = this.constrainPair(thumb === \"min\" ? next : current[0], thumb === \"max\" ? next : current[1], thumb);\n } else {\n this.pending = [this.numericRange.clamp(next)];\n }\n const values = this.pending;\n this.paint(values);\n this.emitIfChanged(values);\n return values;\n }\n commit() {\n const values = this.liveValues();\n this.pending = null;\n this.activeThumb = null;\n this.activePointerId = null;\n this.syncValues(values);\n }\n revert() {\n this.pending = null;\n this.activeThumb = null;\n this.activePointerId = null;\n this.lastEmitted = this.committedValues().join(\",\");\n this.paint(this.committedValues());\n }\n releasePointer(event2) {\n const track = this.rangeTrack;\n if (track?.hasPointerCapture(event2.pointerId)) {\n track.releasePointerCapture(event2.pointerId);\n }\n }\n onPointerDown(event2) {\n if (event2.button !== 0 || this.disabled || this.readOnly) {\n return;\n }\n const thumbElement = event2.target.closest(\"[data-thumb]\");\n const fromThumb = this.parseThumb(thumbElement?.getAttribute(\"data-thumb\") ?? null);\n const next = this.valueFromPointer(event2);\n const thumb = fromThumb ?? this.nearestThumb(next);\n this.pending = this.committedValues();\n this.lastEmitted = this.pending.join(\",\");\n this.activeThumb = thumb;\n this.activePointerId = event2.pointerId;\n this.rangeTrack?.setPointerCapture(event2.pointerId);\n this.thumbFor(thumb)?.focus();\n if (!fromThumb) {\n this.moveThumb(thumb, next);\n }\n event2.preventDefault();\n }\n onPointerMove(event2) {\n if (!this.activeThumb || event2.pointerId !== this.activePointerId) {\n return;\n }\n this.moveThumb(this.activeThumb, this.valueFromPointer(event2));\n }\n onPointerUp(event2) {\n if (!this.activeThumb || event2.pointerId !== this.activePointerId) {\n return;\n }\n this.releasePointer(event2);\n this.commit();\n }\n onPointerCancel(event2) {\n if (!this.activeThumb || event2.pointerId !== this.activePointerId) {\n return;\n }\n this.releasePointer(event2);\n this.revert();\n }\n onThumbKeydown(event2) {\n if (this.disabled || this.readOnly) {\n return;\n }\n const thumbElement = event2.target.closest(\"[data-thumb]\");\n const thumb = this.parseThumb(thumbElement?.getAttribute(\"data-thumb\") ?? null);\n if (!thumb) {\n return;\n }\n const values = this.committedValues();\n const current = thumb === \"max\" ? values[values.length - 1] : values[0];\n const next = valueFromSliderKey(this.numericRange, current, event2.key);\n if (next == null) {\n return;\n }\n event2.preventDefault();\n this.lastEmitted = values.join(\",\");\n this.moveThumb(thumb, next);\n this.commit();\n }\n static {\n _initClass();\n }\n}\nexport { _RuiSlider as RuiSlider };", "export const SLIDER_PAGE_STEP_MULTIPLIER = 10;\nexport const MAX_VALUE_FRACTION_DIGITS = 15;\nexport function fractionDigitsFromStep(step) {\n if (!Number.isFinite(step) || step <= 0) {\n return 0;\n }\n const match = step.toString().match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\n if (!match) {\n return 0;\n }\n const decimals = match[1]?.length ?? 0;\n const exponent = match[2] ? Number(match[2]) : 0;\n return Math.min(MAX_VALUE_FRACTION_DIGITS, Math.max(0, decimals - exponent));\n}\nexport function resolveValuePrecision(step, valuePrecision) {\n if (typeof valuePrecision === \"number\" && Number.isFinite(valuePrecision) && valuePrecision >= 0) {\n return Math.min(MAX_VALUE_FRACTION_DIGITS, Math.round(valuePrecision));\n }\n return fractionDigitsFromStep(step);\n}\nexport function formatNumericValue(value, valuePrecision) {\n return Number.isFinite(value) ? value.toFixed(valuePrecision) : \"\";\n}\nexport function createNumericRange(min, max, step) {\n const resolvedMin = Number.isFinite(min) ? min : 0;\n const resolvedMax = Number.isFinite(max) ? max : 100;\n const lowerBound = Math.min(resolvedMin, resolvedMax);\n const upperBound = Math.max(resolvedMin, resolvedMax);\n const resolvedStep = Number.isFinite(step) && step > 0 ? step : 1;\n const span = upperBound - lowerBound;\n const clamp = value => {\n const candidate = Number.isFinite(value) ? value : lowerBound;\n const stepped = lowerBound + Math.round((candidate - lowerBound) / resolvedStep) * resolvedStep;\n return Math.min(upperBound, Math.max(lowerBound, stepped));\n };\n return {\n lowerBound,\n upperBound,\n step: resolvedStep,\n clamp,\n ratioFor: value => span === 0 ? 0 : (clamp(value) - lowerBound) / span,\n valueFromRatio: ratio => {\n const unit = Math.min(1, Math.max(0, Number.isFinite(ratio) ? ratio : 0));\n return clamp(lowerBound + unit * span);\n }\n };\n}\nexport function valueFromSliderKey(range, current, key) {\n switch (key) {\n case \"ArrowRight\":\n case \"ArrowUp\":\n return range.clamp(current + range.step);\n case \"ArrowLeft\":\n case \"ArrowDown\":\n return range.clamp(current - range.step);\n case \"Home\":\n return range.lowerBound;\n case \"End\":\n return range.upperBound;\n case \"PageUp\":\n return range.clamp(current + range.step * SLIDER_PAGE_STEP_MULTIPLIER);\n case \"PageDown\":\n return range.clamp(current - range.step * SLIDER_PAGE_STEP_MULTIPLIER);\n default:\n return void 0;\n }\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport \"./slider.script\";\nexport function RuiSliderValue({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"span\", {\n ...props,\n class: cx(\"rui-slider__value\", className),\n \"data-ref\": \"value\",\n \"aria-hidden\": \"true\",\n children\n });\n}\nfunction SliderTrack({\n disabled,\n min,\n max,\n label,\n variant\n}) {\n const single = variant !== \"range\";\n const thumbLabel = label || \"Value\";\n return /* @__PURE__ */jsx(\"div\", {\n class: \"rui-slider__range\",\n children: /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-slider__range-track\",\n \"data-ref\": \"rangeTrack\",\n children: [/* @__PURE__ */jsx(\"div\", {\n class: \"rui-slider__range-fill\",\n \"data-ref\": \"rangeFill\"\n }), /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-slider__thumb\",\n \"data-ref\": \"singleThumb\",\n \"data-thumb\": \"value\",\n role: \"slider\",\n tabindex: disabled || !single ? -1 : 0,\n \"aria-label\": thumbLabel,\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n disabled: disabled || !single,\n hidden: !single\n }), /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-slider__thumb\",\n \"data-ref\": \"rangeMinThumb\",\n \"data-thumb\": \"min\",\n role: \"slider\",\n tabindex: disabled || single ? -1 : 0,\n \"aria-label\": label ? `${label} minimum` : \"Minimum value\",\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n disabled: disabled || single,\n hidden: single\n }), /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-slider__thumb\",\n \"data-ref\": \"rangeMaxThumb\",\n \"data-thumb\": \"max\",\n role: \"slider\",\n tabindex: disabled || single ? -1 : 0,\n \"aria-label\": label ? `${label} maximum` : \"Maximum value\",\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n disabled: disabled || single,\n hidden: single\n })]\n })\n });\n}\nexport function RuiSlider({\n values,\n variant = \"single\",\n orientation = \"horizontal\",\n label,\n showValue = false,\n valueTitle = false,\n disabled,\n name,\n min,\n max,\n children,\n ...props\n}) {\n const valueReadout = children ?? /* @__PURE__ */jsx(RuiSliderValue, {\n \"data-default-value\": true,\n hidden: !showValue\n });\n const hasVisibleReadout = Boolean(children) || showValue;\n return /* @__PURE__ */jsx(\"rui-slider\", {\n ...props,\n variant,\n orientation,\n label,\n showValue,\n valueTitle,\n disabled,\n name,\n min,\n max,\n rangeMin: values?.[0],\n rangeMax: values?.[1],\n children: /* @__PURE__ */jsxs(\"div\", {\n class: cx(\"rui-slider\", variant === \"range\" ? \"rui-slider--range\" : \"rui-slider--single\", orientation === \"vertical\" && \"rui-slider--vertical\"),\n \"data-ref\": \"root\",\n children: [/* @__PURE__ */jsxs(\"div\", {\n class: \"rui-slider__header\",\n \"data-ref\": \"header\",\n hidden: !label && !hasVisibleReadout,\n children: [/* @__PURE__ */jsx(\"span\", {\n class: \"rui-slider__label\",\n \"data-ref\": \"label\",\n hidden: !label,\n children: label\n }), valueReadout]\n }), /* @__PURE__ */jsx(SliderTrack, {\n disabled,\n min,\n max,\n label,\n variant\n }), /* @__PURE__ */jsx(\"input\", {\n type: \"hidden\",\n \"data-ref\": \"input\",\n name: name || void 0\n }), /* @__PURE__ */jsx(\"input\", {\n type: \"hidden\",\n \"data-ref\": \"maxInput\"\n })]\n })\n });\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}"],
5
- "mappings": "AAMA,OAAS,kBAAAA,GAAgB,iBAAAC,GAAe,SAAAC,GAAO,WAAAC,EAAS,aAAAC,GAAW,QAAAC,EAAM,SAAAC,MAAa,oBCJ/E,SAASC,GAAuBC,EAAM,CAC3C,GAAI,CAAC,OAAO,SAASA,CAAI,GAAKA,GAAQ,EACpC,MAAO,GAET,IAAMC,EAAQD,EAAK,SAAS,EAAE,MAAM,kCAAkC,EACtE,GAAI,CAACC,EACH,MAAO,GAET,IAAMC,EAAWD,EAAM,CAAC,GAAG,QAAU,EAC/BE,EAAWF,EAAM,CAAC,EAAI,OAAOA,EAAM,CAAC,CAAC,EAAI,EAC/C,OAAO,KAAK,IAAI,GAA2B,KAAK,IAAI,EAAGC,EAAWC,CAAQ,CAAC,CAC7E,CACO,SAASC,GAAsBJ,EAAMK,EAAgB,CAC1D,OAAI,OAAOA,GAAmB,UAAY,OAAO,SAASA,CAAc,GAAKA,GAAkB,EACtF,KAAK,IAAI,GAA2B,KAAK,MAAMA,CAAc,CAAC,EAEhEN,GAAuBC,CAAI,CACpC,CACO,SAASM,GAAmBC,EAAOF,EAAgB,CACxD,OAAO,OAAO,SAASE,CAAK,EAAIA,EAAM,QAAQF,CAAc,EAAI,EAClE,CACO,SAASG,GAAmBC,EAAKC,EAAKV,EAAM,CACjD,IAAMW,EAAc,OAAO,SAASF,CAAG,EAAIA,EAAM,EAC3CG,EAAc,OAAO,SAASF,CAAG,EAAIA,EAAM,IAC3CG,EAAa,KAAK,IAAIF,EAAaC,CAAW,EAC9CE,EAAa,KAAK,IAAIH,EAAaC,CAAW,EAC9CG,EAAe,OAAO,SAASf,CAAI,GAAKA,EAAO,EAAIA,EAAO,EAC1DgB,EAAOF,EAAaD,EACpBI,EAAQV,GAAS,CACrB,IAAMW,EAAY,OAAO,SAASX,CAAK,EAAIA,EAAQM,EAC7CM,EAAUN,EAAa,KAAK,OAAOK,EAAYL,GAAcE,CAAY,EAAIA,EACnF,OAAO,KAAK,IAAID,EAAY,KAAK,IAAID,EAAYM,CAAO,CAAC,CAC3D,EACA,MAAO,CACL,WAAAN,EACA,WAAAC,EACA,KAAMC,EACN,MAAAE,EACA,SAAUV,GAASS,IAAS,EAAI,GAAKC,EAAMV,CAAK,EAAIM,GAAcG,EAClE,eAAgBI,GAAS,CACvB,IAAMC,EAAO,KAAK,IAAI,EAAG,KAAK,IAAI,EAAG,OAAO,SAASD,CAAK,EAAIA,EAAQ,CAAC,CAAC,EACxE,OAAOH,EAAMJ,EAAaQ,EAAOL,CAAI,CACvC,CACF,CACF,CACO,SAASM,GAAmBC,EAAOC,EAASC,EAAK,CACtD,OAAQA,EAAK,CACX,IAAK,aACL,IAAK,UACH,OAAOF,EAAM,MAAMC,EAAUD,EAAM,IAAI,EACzC,IAAK,YACL,IAAK,YACH,OAAOA,EAAM,MAAMC,EAAUD,EAAM,IAAI,EACzC,IAAK,OACH,OAAOA,EAAM,WACf,IAAK,MACH,OAAOA,EAAM,WACf,IAAK,SACH,OAAOA,EAAM,MAAMC,EAAUD,EAAM,KAAO,EAA2B,EACvE,IAAK,WACH,OAAOA,EAAM,MAAMC,EAAUD,EAAM,KAAO,EAA2B,EACvE,QACE,MACJ,CACF,CDlEA,IAAIG,GAAYC,GAAYC,GAAeC,GAAqBC,GAAmBC,GAAyBC,GAAaC,GAAmBC,GAAgBC,GAAsBC,GAAgBC,GAAsBC,GAAWC,GAAiBC,GAAWC,GAAiBC,GAAYC,GAAkBC,GAAsBC,GAA4BC,GAAmBC,GAAyBC,GAAgBC,GAAsBC,GAAgBC,GAAsBC,GAAaC,GAAmBC,GAAYC,GAAkBC,GAAiBC,GAAuBC,GAAkBC,GAAwBC,GAAmBC,GAAyBC,GAAmBC,GAAyBC,GAAsBC,GAA4BC,GAAkBC,GAAwBC,GAAoBC,GAA0BC,GAAmBC,GAAyBC,GAAkBC,GAAwBC,GAAmBC,GAAyBC,GAAmBC,GAAyBC,GAAqBC,GAA2BC,GAAqBC,GAC7jC,SAASC,GAAW,EAAG,EAAGC,EAAGC,EAAGC,EAAGC,EAAG,CAAE,IAAIC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAI,OAAO,UAAY,OAAO,IAAI,iBAAiB,EAAGC,EAAI,OAAO,eAAgBC,EAAI,OAAO,OAAQC,EAAI,CAACD,EAAE,IAAI,EAAGA,EAAE,IAAI,CAAC,EAAGE,EAAI,EAAE,OAAQ,SAASC,EAAEC,EAAGjB,EAAGC,EAAG,CAAE,OAAO,SAAU,EAAGE,EAAG,CAAEH,IAAMG,EAAI,EAAG,EAAI,GAAI,QAASC,EAAI,EAAGA,EAAIa,EAAE,OAAQb,IAAKD,EAAIc,EAAEb,CAAC,EAAE,MAAM,EAAGH,EAAI,CAACE,CAAC,EAAI,CAAC,CAAC,EAAG,OAAOF,EAAIE,EAAI,CAAG,CAAG,CAAE,SAASe,EAAEC,EAAGF,EAAGjB,EAAGC,EAAG,CAAE,GAAkB,OAAOkB,GAArB,aAA2BlB,GAAgBkB,IAAX,QAAe,MAAM,IAAI,UAAUF,EAAI,UAAYjB,GAAK,MAAQ,eAAiBC,EAAI,GAAK,gBAAgB,EAAG,OAAOkB,CAAG,CAAE,SAASC,EAASD,EAAGF,EAAGjB,EAAGC,EAAGC,EAAGC,EAAGG,EAAGC,EAAGC,EAAGC,EAAGC,GAAG,CAAE,SAASC,EAAEQ,EAAG,CAAE,GAAI,CAACT,GAAES,CAAC,EAAG,MAAM,IAAI,UAAU,qDAAqD,CAAG,CAAE,IAAIN,EAAI,CAAC,EAAE,OAAOI,EAAE,CAAC,CAAC,EAAGF,GAAIE,EAAE,CAAC,EAAGI,EAAI,CAACf,EAAG,EAAUJ,IAAN,EAASoB,GAAUpB,IAAN,EAASqB,GAAUrB,IAAN,EAASsB,EAAUtB,IAAN,EAAS,SAASuB,EAAER,EAAGjB,EAAGC,GAAG,CAAE,OAAO,SAAUC,EAAGC,GAAG,CAAE,OAAOH,IAAMG,GAAID,EAAGA,EAAIiB,GAAIlB,IAAKA,GAAEC,CAAC,EAAGwB,EAAET,CAAC,EAAE,KAAKf,EAAGC,EAAC,CAAG,CAAG,CAAE,GAAI,CAACkB,EAAG,CAAE,IAAIK,EAAI,CAAC,EAAGC,EAAI,CAAC,EAAGC,EAAIN,GAAI,MAAQC,IAAK,EAAI,MAAQ,QAAS,GAAIf,GAAKC,GAAK,EAAIiB,EAAI,CAAE,IAAKG,GAAiB,UAAY,CAAE,OAAOd,GAAE,IAAI,CAAG,EAAGd,EAAG,KAAK,EAAG,IAAK,SAAUkB,EAAG,CAAEF,EAAE,CAAC,EAAE,KAAME,CAAC,CAAG,CAAE,EAAIO,EAAEE,CAAC,EAAIb,GAAGN,GAAKoB,GAAiBH,EAAEE,CAAC,EAAG3B,EAAGuB,EAAI,GAAKI,CAAC,GAAKnB,IAAMiB,EAAI,OAAO,yBAAyBP,EAAGlB,CAAC,GAAI,CAACQ,GAAK,CAACD,EAAG,CAAE,IAAKH,EAAIS,EAAE,CAACP,CAAC,EAAEN,CAAC,KAAaI,EAAIH,KAAX,EAAe,MAAM,MAAM,+CAAiDwB,EAAEE,CAAC,EAAE,KAAO,wBAAwB,EAAGd,EAAE,CAACP,CAAC,EAAEN,CAAC,EAAIC,EAAI,EAAI,EAAIA,CAAG,CAAE,CAAE,QAAS4B,EAAIX,EAAGY,EAAIlB,EAAE,OAAS,EAAGkB,GAAK,EAAGA,GAAK/B,EAAI,EAAI,EAAG,CAAE,IAAIgC,GAAId,EAAEL,EAAEkB,CAAC,EAAG,cAAe,KAAM,EAAE,EAAGE,GAAIjC,EAAIa,EAAEkB,EAAI,CAAC,EAAI,OAAQG,EAAI,CAAC,EAAGC,EAAI,CAAE,KAAM,CAAC,QAAS,WAAY,SAAU,SAAU,SAAU,OAAO,EAAEjC,CAAC,EAAG,KAAMD,EAAG,SAAUG,EAAG,eAAgB,SAAUe,EAAGF,EAAG,CAAE,GAAIE,EAAE,EAAG,MAAM,IAAI,UAAU,gEAAgE,EAAGD,EAAED,EAAG,iBAAkB,KAAM,EAAE,EAAGd,EAAE,KAAKc,CAAC,CAAG,EAAE,KAAK,KAAMiB,CAAC,CAAE,EAAG,GAAIb,EAAGhB,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,SAAUS,EAAG,CAAE,OAAOlB,KAAKkB,CAAG,CAAE,EAAGI,KAAMlB,EAAE,IAAMG,EAAIgB,EAAI,SAAUL,EAAG,CAAE,OAAOR,EAAEQ,CAAC,EAAGO,EAAE,KAAO,EAAID,EAAE,MAAO,EAAGd,CAAC,EAAI,SAAUQ,EAAG,CAAE,OAAOA,EAAElB,CAAC,CAAG,GAAIuB,GAAKF,KAAMjB,EAAE,IAAMG,EAAIiB,EAAE,MAAO,EAAGd,CAAC,EAAI,SAAUQ,EAAGF,EAAG,CAAEE,EAAElB,CAAC,EAAIgB,CAAG,GAAIa,EAAIE,GAAE,KAAKC,GAAG,EAAI,CAAE,IAAKP,EAAE,IAAK,IAAKA,EAAE,GAAI,EAAIA,EAAEE,CAAC,EAAGO,CAAC,EAAGD,EAAE,EAAI,EAAG,GAAK,GAAgB,OAAOJ,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,GAAKY,IAAMb,EAAI,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,EAAEO,EAAGlB,EAAGyB,CAAC,GAAII,CAAG,CAAE,SAAST,EAAEF,EAAG,CAAE,OAAOP,EAAEO,EAAGR,EAAG,CAAE,aAAc,GAAI,WAAY,GAAI,MAAOP,CAAE,CAAC,CAAG,CAAE,OAAkBD,IAAX,SAAiBC,EAAID,EAAEQ,CAAC,GAAIP,EAAIS,EAAUT,GAAI,IAAQ,EAAGI,EAAI,CAAC,EAAGC,EAAI,SAAUU,EAAG,CAAEA,GAAKX,EAAE,KAAKQ,EAAEG,CAAC,CAAC,CAAG,EAAGT,EAAI,SAAUO,EAAGhB,EAAG,CAAE,QAASE,EAAI,EAAGA,EAAIH,EAAE,OAAQG,IAAK,CAAE,IAAIC,EAAIJ,EAAEG,CAAC,EAAGE,EAAID,EAAE,CAAC,EAAGK,EAAI,EAAIJ,EAAG,IAAK,EAAIA,IAAMY,GAAK,CAACR,GAAKR,EAAG,CAAE,IAAIS,EAAIN,EAAE,CAAC,EAAGO,EAAI,CAAC,CAACP,EAAE,CAAC,EAAGQ,EAAI,GAAKP,EAAGe,EAASH,EAAI,EAAI,EAAE,UAAWb,EAAGQ,EAAGD,EAAI,IAAMD,EAAI0B,GAAe1B,CAAC,EAAGD,EAAGA,EAAI,EAAI,CAAC,EAAIQ,EAAIV,EAAIA,GAAK,CAAC,EAAID,EAAIA,GAAK,CAAC,EAAGE,EAAG,CAAC,CAACS,EAAGN,EAAGV,EAAGgB,GAAKN,EAAI,SAAUM,EAAG,CAAE,OAAOoB,GAAYpB,CAAC,IAAM,CAAG,EAAIf,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,GAAKM,EAAE,CAAC,EAAG,CAAE,EAAGhB,EAAG,IAAI,GAAI,CAAE,IAAIL,EAAI,CAAC,EAAG,OAAOe,GAAK,CAACM,EAAE,EAAID,EAAS,EAAG,CAAC,CAAC,EAAGnB,EAAG,EAAE,KAAM,EAAGD,CAAC,CAAC,EAAGgB,EAAEhB,EAAG,CAAC,CAAC,CAAG,CAAE,CAAG,CACn/G,SAASoC,GAAenB,EAAG,CAAE,IAAId,EAAImC,GAAarB,EAAG,QAAQ,EAAG,OAAmB,OAAOd,GAAnB,SAAuBA,EAAIA,EAAI,EAAI,CAC1G,SAASmC,GAAarB,EAAGhB,EAAG,CAAE,GAAgB,OAAOgB,GAAnB,UAAwB,CAACA,EAAG,OAAOA,EAAG,IAAIE,EAAIF,EAAE,OAAO,WAAW,EAAG,GAAeE,IAAX,OAAc,CAAE,IAAI,EAAIA,EAAE,KAAKF,EAAGhB,GAAK,SAAS,EAAG,GAAgB,OAAO,GAAnB,SAAsB,OAAO,EAAG,MAAM,IAAI,UAAU,8CAA8C,CAAG,CAAE,OAAqBA,IAAb,SAAiB,OAAS,QAAQgB,CAAC,CAAG,CACvT,SAASY,GAAiB,EAAG,EAAG7B,EAAG,CAAc,OAAO,GAAnB,WAAyB,GAAK,EAAI,EAAE,aAAe,IAAM,EAAI,IAAM,IAAK,GAAI,CAAE,OAAO,eAAe,EAAG,OAAQ,CAAE,aAAc,GAAI,MAAOA,EAAIA,EAAI,IAAM,EAAI,CAAE,CAAC,CAAG,MAAY,CAAC,CAAE,OAAO,CAAG,CAChO,SAASqC,GAAY,EAAG,CAAE,GAAI,OAAO,CAAC,IAAM,EAAG,MAAM,UAAU,qDAAgE,IAAT,KAAa,OAAO,EAAI,OAAO,EAAG,OAAO,CAAG,CAGlK,IAAIE,GACEC,GAAN,cAAwBC,EAAe,CACrC,MAAO,EACJ,CACC,EAAG,CAAChG,GAAeC,GAAqBC,GAAmBC,GAAyBC,GAAaC,GAAmBC,GAAgBC,GAAsBC,GAAgBC,GAAsBC,GAAWC,GAAiBC,GAAWC,GAAiBC,GAAYC,GAAkBC,GAAsBC,GAA4BC,GAAmBC,GAAyBC,GAAgBC,GAAsBC,GAAgBC,GAAsBC,GAAaC,GAAmBC,GAAYC,GAAkBC,GAAiBC,GAAuBC,GAAkBC,GAAwBC,GAAmBC,GAAyBC,GAAmBC,GAAyBC,GAAsBC,GAA4BC,GAAkBC,GAAwBC,GAAoBC,GAA0BC,GAAmBC,GAAyBC,GAAkBC,GAAwBC,GAAmBC,GAAyBC,GAAmBC,GAAyBC,GAAqBC,GAA2BC,GAAqBC,GAA2BvD,EAAU,EAC1kC,EAAG,CAACgG,GAAY/F,EAAU,CAC5B,EAAIuD,GAAW,KAAM,CAAC2C,GAAc,YAAY,CAAC,EAAG,CAAC,CAACC,EAAK,CACzD,KAAM,OACN,aAAc,QAChB,CAAC,EAAG,EAAG,SAAS,EAAG,CAACA,EAAK,CACvB,KAAM,OACN,aAAc,YAChB,CAAC,EAAG,EAAG,aAAa,EAAG,CAACA,EAAK,CAC3B,KAAM,OACN,QAAS,GACT,aAAc,EAChB,CAAC,EAAG,EAAG,OAAO,EAAG,CAACA,EAAK,CACrB,KAAM,OACN,QAAS,GACT,UAAW,YACX,aAAc,EAChB,CAAC,EAAG,EAAG,UAAU,EAAG,CAACA,EAAK,CACxB,KAAM,OACN,QAAS,GACT,UAAW,YACX,aAAc,EAChB,CAAC,EAAG,EAAG,UAAU,EAAG,CAACA,EAAK,CACxB,KAAM,OACN,aAAc,CAChB,CAAC,EAAG,EAAG,KAAK,EAAG,CAACA,EAAK,CACnB,KAAM,OACN,aAAc,GAChB,CAAC,EAAG,EAAG,KAAK,EAAG,CAACA,EAAK,CACnB,KAAM,OACN,aAAc,CAChB,CAAC,EAAG,EAAG,MAAM,EAAG,CAACA,EAAK,CACpB,KAAM,OACN,UAAW,kBACX,aAAc,OAAO,GACvB,CAAC,EAAG,EAAG,gBAAgB,EAAG,CAACA,EAAK,CAC9B,KAAM,OACN,aAAc,CAChB,CAAC,EAAG,EAAG,aAAa,EAAG,CAACA,EAAK,CAC3B,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,QACN,UAAW,aACX,aAAc,EAChB,CAAC,EAAG,EAAG,WAAW,EAAG,CAACA,EAAK,CACzB,KAAM,QACN,UAAW,cACX,aAAc,EAChB,CAAC,EAAG,EAAG,YAAY,EAAG,CAACC,GAAM,CAC3B,KAAM,aACN,QAAS,GACT,SAAU,EACZ,CAAC,EAAG,EAAG,aAAa,EAAG,CAACC,EAAM,CAC5B,IAAK,OACP,CAAC,EAAG,EAAG,aAAa,EAAG,CAACA,EAAM,CAC5B,IAAK,UACP,CAAC,EAAG,EAAG,gBAAgB,EAAG,CAACA,EAAM,CAC/B,IAAK,MACP,CAAC,EAAG,EAAG,YAAY,EAAG,CAACA,EAAM,CAC3B,IAAK,QACP,CAAC,EAAG,EAAG,cAAc,EAAG,CAACA,EAAM,CAC7B,IAAK,OACP,CAAC,EAAG,EAAG,aAAa,EAAG,CAACA,EAAM,CAC5B,IAAK,YACP,CAAC,EAAG,EAAG,YAAY,EAAG,CAACA,EAAM,CAC3B,IAAK,OACP,CAAC,EAAG,EAAG,aAAa,EAAG,CAACA,EAAM,CAC5B,IAAK,aACP,CAAC,EAAG,EAAG,aAAa,EAAG,CAACA,EAAM,CAC5B,IAAK,eACP,CAAC,EAAG,EAAG,eAAe,EAAG,CAACA,EAAM,CAC9B,IAAK,eACP,CAAC,EAAG,EAAG,eAAe,EAAG,CAACC,GAAU,CAAC,QAAS,WAAY,WAAY,MAAO,MAAO,OAAQ,iBAAkB,cAAe,UAAW,cAAe,WAAY,WAAY,QAAS,OAAQ,YAAa,YAAY,CAAC,EAAG,EAAG,gBAAgB,EAAG,CAACC,EAAQ,CAC1P,IAAK,aACL,KAAM,aACR,CAAC,EAAG,EAAG,eAAe,EAAG,CAACA,EAAQ,CAChC,SAAU,GACV,KAAM,aACR,CAAC,EAAG,EAAG,eAAe,EAAG,CAACA,EAAQ,CAChC,SAAU,GACV,KAAM,WACR,CAAC,EAAG,EAAG,aAAa,EAAG,CAACA,EAAQ,CAC9B,SAAU,GACV,KAAM,eACR,CAAC,EAAG,EAAG,iBAAiB,EAAG,CAACA,EAAQ,CAClC,SAAU,eACV,KAAM,SACR,CAAC,EAAG,EAAG,gBAAgB,CAAC,EAAG,EAAG,OAAQN,EAAc,EACtD,CACA,SAAWlG,GAAW,IAAI,EAAGE,GAAc,IAAI,GAC/C,aAAeC,GAAoB,IAAI,EAAGC,GAAkB,IAAI,GAChE,OAASC,GAAwB,IAAI,EAAGC,GAAY,IAAI,GACxD,UAAYC,GAAkB,IAAI,EAAGC,GAAe,IAAI,GACxD,UAAYC,GAAqB,IAAI,EAAGC,GAAe,IAAI,GAC3D,KAAOC,GAAqB,IAAI,EAAGC,GAAU,IAAI,GACjD,KAAOC,GAAgB,IAAI,EAAGC,GAAU,IAAI,GAC5C,MAAQC,GAAgB,IAAI,EAAGC,GAAW,IAAI,GAC9C,gBAAkBC,GAAiB,IAAI,EAAGC,GAAqB,IAAI,GACnE,aAAeC,GAA2B,IAAI,EAAGC,GAAkB,IAAI,GACvE,UAAYC,GAAwB,IAAI,EAAGC,GAAe,IAAI,GAC9D,UAAYC,GAAqB,IAAI,EAAGC,GAAe,IAAI,GAC3D,OAASC,GAAqB,IAAI,EAAGC,GAAY,IAAI,GACrD,MAAQC,GAAkB,IAAI,EAAGC,GAAW,IAAI,GAChD,WAAaC,GAAiB,IAAI,EAAGC,GAAgB,IAAI,GACzD,YAAcC,GAAsB,IAAI,EAAGC,GAAiB,IAAI,GAChE,aAAeC,GAAuB,IAAI,EAAGC,GAAkB,IAAI,GACnE,aAAeC,GAAwB,IAAI,EAAGC,GAAkB,IAAI,GACpE,gBAAkBC,GAAwB,IAAI,EAAGC,GAAqB,IAAI,GAC1E,YAAcC,GAA2B,IAAI,EAAGC,GAAiB,IAAI,GACrE,cAAgBC,GAAuB,IAAI,EAAGC,GAAmB,IAAI,GACrE,aAAeC,GAAyB,IAAI,EAAGC,GAAkB,IAAI,GACrE,YAAcC,GAAwB,IAAI,EAAGC,GAAiB,IAAI,GAClE,aAAeC,GAAuB,IAAI,EAAGC,GAAkB,IAAI,GACnE,aAAeC,GAAwB,IAAI,EAAGC,GAAkB,IAAI,GACpE,eAAiBC,GAAwB,IAAI,EAAGC,GAAoB,IAAI,GACxE,eAAiBC,GAA0B,IAAI,EAAGC,GAAoB,IAAI,GAC1E,aAAeC,GAA0B,IAAI,EAAG,MAChD,gBAAkB,KAClB,QAAU,KACV,YAAc,GACd,aAAc,CACZ,KAAK,WAAW,EAChB,KAAK,WAAW,KAAK,gBAAgB,CAAC,CACxC,CACA,gBAAiB,CACX,KAAK,cAGT,KAAK,WAAW,EAChB,KAAK,WAAW,KAAK,gBAAgB,CAAC,EACxC,CACA,IAAI,SAAU,CACZ,OAAO,KAAK,UAAY,OAC1B,CACA,IAAI,YAAa,CACf,OAAO,KAAK,cAAgB,UAC9B,CACA,IAAI,cAAe,CACjB,OAAOkD,GAAmB,KAAK,IAAK,KAAK,IAAK,KAAK,IAAI,CACzD,CACA,IAAI,wBAAyB,CAC3B,OAAOC,GAAsB,KAAK,KAAM,KAAK,cAAc,CAC7D,CACA,YAAYC,EAAO,CACjB,OAAOC,GAAmBD,EAAO,KAAK,sBAAsB,CAC9D,CACA,aAAaE,EAAQ,CACnB,OAAOA,EAAO,SAAW,EAAI,GAAG,KAAK,YAAYA,EAAO,CAAC,CAAC,CAAC,WAAW,KAAK,YAAYA,EAAO,CAAC,CAAC,CAAC,GAAK,KAAK,YAAYA,EAAO,CAAC,CAAC,CAClI,CACA,IAAI,oBAAqB,CACvB,OAAO,KAAK,cAAc,sBAAsB,CAClD,CACA,SAASC,EAAI,CACX,OAAIA,IAAO,QACF,KAAK,YAEPA,IAAO,MAAQ,KAAK,cAAgB,KAAK,aAClD,CACA,WAAWH,EAAO,CAChB,OAAI,KAAK,QACAA,IAAU,OAASA,IAAU,MAAQA,EAAQ,KAE/CA,IAAU,QAAUA,EAAQ,IACrC,CACA,cAAcI,EAAKC,EAAMC,EAAQ,CAC/B,IAAMC,EAAQ,KAAK,aACfC,EAAUD,EAAM,MAAMH,CAAG,EACzBK,EAAWF,EAAM,MAAMF,CAAI,EAC3BG,EAAUC,IACZ,CAACD,EAASC,CAAQ,EAAI,CAACA,EAAUD,CAAO,GAE1C,IAAME,EAAc,KAAK,IAAI,EAAG,KAAK,WAAW,EAChD,OAAID,EAAWD,EAAUE,IACnBJ,IAAW,MACbE,EAAUD,EAAM,MAAME,EAAWC,CAAW,EAE5CD,EAAWF,EAAM,MAAMC,EAAUE,CAAW,GAGzC,CAACF,EAASC,CAAQ,CAC3B,CACA,iBAAkB,CAChB,OAAI,KAAK,QACA,KAAK,cAAc,KAAK,SAAU,KAAK,QAAQ,EAEjD,CAAC,KAAK,aAAa,MAAM,KAAK,KAAK,CAAC,CAC7C,CACA,YAAa,CACX,OAAO,KAAK,SAAW,KAAK,gBAAgB,CAC9C,CACA,aAAaP,EAAQ,CACnB,OAAOA,EAAO,SAAW,EAAI,CAC3B,OAAQ,CAACA,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,CAC/B,EAAI,CACF,MAAOA,EAAO,CAAC,CACjB,CACF,CACA,cAAcA,EAAQ,CACpB,IAAMS,EAAMT,EAAO,KAAK,GAAG,EACvBS,IAAQ,KAAK,cAGjB,KAAK,YAAcA,EACnB,KAAK,YAAY,KAAK,KAAK,aAAaT,CAAM,CAAC,EACjD,CACA,cAAcA,EAAQ,CACpB,GAAIA,EAAO,SAAW,EAAG,CACnB,KAAK,WAAaA,EAAO,CAAC,IAC5B,KAAK,SAAWA,EAAO,CAAC,GAEtB,KAAK,WAAaA,EAAO,CAAC,IAC5B,KAAK,SAAWA,EAAO,CAAC,GAE1B,MACF,CACI,KAAK,QAAUA,EAAO,CAAC,IACzB,KAAK,MAAQA,EAAO,CAAC,EAEzB,CACA,WAAWA,EAAQ,CACjB,KAAK,MAAMA,CAAM,EACjB,KAAK,cAAcA,CAAM,CAC3B,CACA,YAAa,CACX,KAAK,eAAe,EACpB,KAAK,gBAAgB,CACvB,CACA,gBAAiB,CACf,IAAMU,EAAoB,EAAQ,KAAK,cAAiB,CAAC,KAAK,oBAAsB,KAAK,WACzF,KAAK,YAAY,UAAU,OAAO,qBAAsB,CAAC,KAAK,OAAO,EACrE,KAAK,YAAY,UAAU,OAAO,oBAAqB,KAAK,OAAO,EACnE,KAAK,YAAY,UAAU,OAAO,uBAAwB,KAAK,UAAU,EACzE,KAAK,aAAa,gBAAgB,SAAU,CAAC,KAAK,KAAK,EACnD,KAAK,cAAa,KAAK,YAAY,YAAc,KAAK,OAC1D,KAAK,oBAAoB,gBAAgB,SAAU,CAAC,KAAK,SAAS,EAClE,KAAK,cAAc,gBAAgB,SAAU,CAAC,KAAK,OAAS,CAACA,CAAiB,CAChF,CACA,iBAAkB,CAChB,IAAMC,EAAW,KAAK,SAAW,GAAK,EAChCC,EAAc,KAAK,WAAa,WAAa,aAC7CC,EAAc,KAAK,aACzB,OAAW,CACT,GAAAZ,EACA,MAAAa,EACA,QAAAC,CACF,IAAK,KAAK,eAAe,EAAG,CAC1B,IAAMC,EAAQ,KAAK,SAASf,CAAE,EACzBe,IACLA,EAAM,gBAAgB,SAAU,CAACD,CAAO,EACxCC,EAAM,gBAAgB,WAAY,KAAK,UAAY,CAACD,CAAO,EAC3DC,EAAM,aAAa,WAAY,OAAOD,EAAUJ,EAAW,EAAE,CAAC,EAC9DK,EAAM,aAAa,aAAcF,CAAK,EACtCE,EAAM,aAAa,mBAAoBJ,CAAW,EAClDI,EAAM,aAAa,gBAAiB,OAAOH,EAAY,UAAU,CAAC,EAClEG,EAAM,aAAa,gBAAiB,OAAOH,EAAY,UAAU,CAAC,EAClEG,EAAM,aAAa,gBAAiB,OAAO,KAAK,QAAQ,CAAC,EAC3D,CACF,CACA,gBAAiB,CACf,IAAMX,EAAQ,KAAK,QACnB,MAAO,CAAC,CACN,GAAI,QACJ,MAAO,KAAK,OAAS,QACrB,QAAS,CAACA,CACZ,EAAG,CACD,GAAI,MACJ,MAAO,KAAK,MAAQ,GAAG,KAAK,KAAK,WAAa,gBAC9C,QAASA,CACX,EAAG,CACD,GAAI,MACJ,MAAO,KAAK,MAAQ,GAAG,KAAK,KAAK,WAAa,gBAC9C,QAASA,CACX,CAAC,CACH,CACA,MAAML,EAAQ,CACZ,IAAMK,EAAQ,KAAK,aACbY,EAAQjB,EAAO,CAAC,EAChBkB,EAAMlB,EAAO,SAAW,EAAIA,EAAO,CAAC,EAAIA,EAAO,CAAC,EAChDmB,EAAe,GAAGd,EAAM,SAASY,CAAK,EAAI,GAAG,IAC7CG,EAAa,GAAGf,EAAM,SAASa,CAAG,EAAI,GAAG,IACzCG,EAAW,IAAIhB,EAAM,SAASa,CAAG,EAAIb,EAAM,SAASY,CAAK,GAAK,GAAG,IACjEK,EAAQ,KAAK,WACnBA,GAAO,MAAM,YAAY,0BAA2BtB,EAAO,SAAW,EAAImB,EAAe,IAAI,EAC7FG,GAAO,MAAM,YAAY,yBAA0BtB,EAAO,SAAW,EAAIqB,EAAWD,CAAU,EAC9FE,GAAO,MAAM,YAAY,qBAAsBH,CAAY,EAC3DG,GAAO,MAAM,YAAY,mBAAoBH,CAAY,EACzDG,GAAO,MAAM,YAAY,mBAAoBF,CAAU,EACnD,KAAK,cACP,KAAK,YAAY,aAAa,gBAAiB,OAAOH,CAAK,CAAC,EAC5D,KAAK,YAAY,aAAa,iBAAkB,KAAK,YAAYA,CAAK,CAAC,GAErE,KAAK,gBACP,KAAK,cAAc,aAAa,gBAAiB,OAAOA,CAAK,CAAC,EAC9D,KAAK,cAAc,aAAa,iBAAkB,KAAK,YAAYA,CAAK,CAAC,EACzE,KAAK,cAAc,aAAa,gBAAiB,OAAOC,CAAG,CAAC,GAE1D,KAAK,gBACP,KAAK,cAAc,aAAa,gBAAiB,OAAOD,CAAK,CAAC,EAC9D,KAAK,cAAc,aAAa,gBAAiB,OAAOC,CAAG,CAAC,EAC5D,KAAK,cAAc,aAAa,iBAAkB,KAAK,YAAYA,CAAG,CAAC,GAErE,KAAK,cACP,KAAK,YAAY,YAAc,KAAK,aAAalB,CAAM,GAEzD,KAAK,WAAWA,CAAM,EACtB,KAAK,eAAeA,CAAM,CAC5B,CACA,WAAWA,EAAQ,CAWjB,GAVI,KAAK,cACP,KAAK,YAAY,SAAW,KAAK,SACjC,KAAK,YAAY,SAAW,KAAK,SACjC,KAAK,YAAY,MAAQ,OAAOA,EAAO,CAAC,CAAC,EACrC,KAAK,KACP,KAAK,YAAY,KAAO,KAAK,KAE7B,KAAK,YAAY,gBAAgB,MAAM,GAGvC,EAAC,KAAK,eAKV,IAFA,KAAK,eAAe,SAAW,KAAK,SACpC,KAAK,eAAe,SAAW,KAAK,SAChCA,EAAO,SAAW,EAAG,CACvB,KAAK,eAAe,MAAQ,OAAOA,EAAO,CAAC,CAAC,EACxC,KAAK,KACP,KAAK,eAAe,KAAO,GAAG,KAAK,IAAI,OAEvC,KAAK,eAAe,gBAAgB,MAAM,EAE5C,MACF,CACA,KAAK,eAAe,MAAQ,GAC5B,KAAK,eAAe,gBAAgB,MAAM,EAC5C,CACA,eAAeA,EAAQ,CACrB,IAAMuB,EAAU,CAAC,CAAC,KAAK,YAAa,OAAO,EAAG,CAAC,KAAK,eAAgB,UAAU,EAAG,CAAC,KAAK,WAAY,OAAO,EAAG,CAAC,KAAK,YAAa,OAAO,EAAG,CAAC,KAAK,cAAe,KAAK,EAAG,CAAC,KAAK,cAAe,KAAK,CAAC,EAC5LC,EAAS,KAAK,eAAexB,CAAM,EACzC,OAAW,CAACyB,EAAQhB,CAAG,IAAKc,EAAS,CACnC,IAAMG,EAAQF,EAAOf,CAAG,EACpBiB,EAAOD,GAAQ,aAAa,QAASC,CAAK,EAAOD,GAAQ,gBAAgB,OAAO,CACtF,CACF,CACA,eAAezB,EAAQ,CACrB,GAAI,CAAC,KAAK,WAAY,MAAO,CAAC,EAC9B,GAAIA,EAAO,SAAW,EAAG,CACvB,IAAMF,EAAQ,KAAK,YAAYE,EAAO,CAAC,CAAC,EACxC,MAAO,CACL,MAAOF,EACP,MAAAA,CACF,CACF,CACA,GAAM,CAACI,EAAKC,CAAI,EAAIH,EACpB,MAAO,CACL,MAAO,KAAK,YAAYE,CAAG,EAC3B,SAAU,KAAK,YAAYC,CAAI,EAC/B,IAAK,KAAK,YAAYD,CAAG,EACzB,IAAK,KAAK,YAAYC,CAAI,EAC1B,MAAO,KAAK,aAAaH,CAAM,CACjC,CACF,CACA,iBAAiB2B,EAAQ,CACvB,IAAML,EAAQ,KAAK,WACnB,GAAI,CAACA,EACH,OAAO,KAAK,aAAa,WAE3B,IAAMM,EAAON,EAAM,sBAAsB,EACzC,GAAIM,EAAK,QAAU,GAAKA,EAAK,SAAW,EACtC,OAAO,KAAK,aAAa,WAE3B,IAAMC,EAAQ,KAAK,WAAa,GAAKF,EAAO,QAAUC,EAAK,KAAOA,EAAK,QAAUD,EAAO,QAAUC,EAAK,MAAQA,EAAK,MACpH,OAAO,KAAK,aAAa,eAAeC,CAAK,CAC/C,CACA,aAAaC,EAAM,CACjB,GAAI,CAAC,KAAK,QACR,MAAO,QAET,GAAM,CAAC5B,EAAKC,CAAI,EAAI,KAAK,WAAW,EACpC,OAAO,KAAK,IAAI2B,EAAO5B,CAAG,GAAK,KAAK,IAAI4B,EAAO3B,CAAI,EAAI,MAAQ,KACjE,CACA,UAAUa,EAAOc,EAAM,CAErB,GADA,KAAK,YAAcd,EACf,KAAK,QAAS,CAChB,IAAMe,EAAU,KAAK,SAAW,KAAK,gBAAgB,EACrD,KAAK,QAAU,KAAK,cAAcf,IAAU,MAAQc,EAAOC,EAAQ,CAAC,EAAGf,IAAU,MAAQc,EAAOC,EAAQ,CAAC,EAAGf,CAAK,CACnH,MACE,KAAK,QAAU,CAAC,KAAK,aAAa,MAAMc,CAAI,CAAC,EAE/C,IAAM9B,EAAS,KAAK,QACpB,YAAK,MAAMA,CAAM,EACjB,KAAK,cAAcA,CAAM,EAClBA,CACT,CACA,QAAS,CACP,IAAMA,EAAS,KAAK,WAAW,EAC/B,KAAK,QAAU,KACf,KAAK,YAAc,KACnB,KAAK,gBAAkB,KACvB,KAAK,WAAWA,CAAM,CACxB,CACA,QAAS,CACP,KAAK,QAAU,KACf,KAAK,YAAc,KACnB,KAAK,gBAAkB,KACvB,KAAK,YAAc,KAAK,gBAAgB,EAAE,KAAK,GAAG,EAClD,KAAK,MAAM,KAAK,gBAAgB,CAAC,CACnC,CACA,eAAe2B,EAAQ,CACrB,IAAML,EAAQ,KAAK,WACfA,GAAO,kBAAkBK,EAAO,SAAS,GAC3CL,EAAM,sBAAsBK,EAAO,SAAS,CAEhD,CACA,cAAcA,EAAQ,CACpB,GAAIA,EAAO,SAAW,GAAK,KAAK,UAAY,KAAK,SAC/C,OAEF,IAAMK,EAAeL,EAAO,OAAO,QAAQ,cAAc,EACnDM,EAAY,KAAK,WAAWD,GAAc,aAAa,YAAY,GAAK,IAAI,EAC5EF,EAAO,KAAK,iBAAiBH,CAAM,EACnCX,EAAQiB,GAAa,KAAK,aAAaH,CAAI,EACjD,KAAK,QAAU,KAAK,gBAAgB,EACpC,KAAK,YAAc,KAAK,QAAQ,KAAK,GAAG,EACxC,KAAK,YAAcd,EACnB,KAAK,gBAAkBW,EAAO,UAC9B,KAAK,YAAY,kBAAkBA,EAAO,SAAS,EACnD,KAAK,SAASX,CAAK,GAAG,MAAM,EACvBiB,GACH,KAAK,UAAUjB,EAAOc,CAAI,EAE5BH,EAAO,eAAe,CACxB,CACA,cAAcA,EAAQ,CAChB,CAAC,KAAK,aAAeA,EAAO,YAAc,KAAK,iBAGnD,KAAK,UAAU,KAAK,YAAa,KAAK,iBAAiBA,CAAM,CAAC,CAChE,CACA,YAAYA,EAAQ,CACd,CAAC,KAAK,aAAeA,EAAO,YAAc,KAAK,kBAGnD,KAAK,eAAeA,CAAM,EAC1B,KAAK,OAAO,EACd,CACA,gBAAgBA,EAAQ,CAClB,CAAC,KAAK,aAAeA,EAAO,YAAc,KAAK,kBAGnD,KAAK,eAAeA,CAAM,EAC1B,KAAK,OAAO,EACd,CACA,eAAeA,EAAQ,CACrB,GAAI,KAAK,UAAY,KAAK,SACxB,OAEF,IAAMK,EAAeL,EAAO,OAAO,QAAQ,cAAc,EACnDX,EAAQ,KAAK,WAAWgB,GAAc,aAAa,YAAY,GAAK,IAAI,EAC9E,GAAI,CAAChB,EACH,OAEF,IAAMhB,EAAS,KAAK,gBAAgB,EAC9B+B,EAAUf,IAAU,MAAQhB,EAAOA,EAAO,OAAS,CAAC,EAAIA,EAAO,CAAC,EAChE8B,EAAOI,GAAmB,KAAK,aAAcH,EAASJ,EAAO,GAAG,EAClEG,GAAQ,OAGZH,EAAO,eAAe,EACtB,KAAK,YAAc3B,EAAO,KAAK,GAAG,EAClC,KAAK,UAAUgB,EAAOc,CAAI,EAC1B,KAAK,OAAO,EACd,CACA,MAAO,CACL1I,GAAW,CACb,CACF,EEpfA,OAAS,OAAA+I,EAAK,QAAAC,MAAY,4BCAnB,SAASC,KAAMC,EAAO,CAC3B,OAAOA,EAAM,OAAO,OAAO,EAAE,KAAK,GAAG,CACvC,CDCO,SAASC,GAAe,CAC7B,SAAAC,EACA,MAAOC,EACP,GAAGC,CACL,EAAG,CACD,OAAsBC,EAAI,OAAQ,CAChC,GAAGD,EACH,MAAOE,EAAG,oBAAqBH,CAAS,EACxC,WAAY,QACZ,cAAe,OACf,SAAAD,CACF,CAAC,CACH,CACA,SAASK,GAAY,CACnB,SAAAC,EACA,IAAAC,EACA,IAAAC,EACA,MAAAC,EACA,QAAAC,CACF,EAAG,CACD,IAAMC,EAASD,IAAY,QAE3B,OAAsBP,EAAI,MAAO,CAC/B,MAAO,oBACP,SAAyBS,EAAK,MAAO,CACnC,MAAO,0BACP,WAAY,aACZ,SAAU,CAAgBT,EAAI,MAAO,CACnC,MAAO,yBACP,WAAY,WACd,CAAC,EAAkBA,EAAI,SAAU,CAC/B,KAAM,SACN,MAAO,oBACP,WAAY,cACZ,aAAc,QACd,KAAM,SACN,SAAUG,GAAY,CAACK,EAAS,GAAK,EACrC,aAhBaF,GAAS,QAiBtB,gBAAiBF,EACjB,gBAAiBC,EACjB,SAAUF,GAAY,CAACK,EACvB,OAAQ,CAACA,CACX,CAAC,EAAkBR,EAAI,SAAU,CAC/B,KAAM,SACN,MAAO,oBACP,WAAY,gBACZ,aAAc,MACd,KAAM,SACN,SAAUG,GAAYK,EAAS,GAAK,EACpC,aAAcF,EAAQ,GAAGA,CAAK,WAAa,gBAC3C,gBAAiBF,EACjB,gBAAiBC,EACjB,SAAUF,GAAYK,EACtB,OAAQA,CACV,CAAC,EAAkBR,EAAI,SAAU,CAC/B,KAAM,SACN,MAAO,oBACP,WAAY,gBACZ,aAAc,MACd,KAAM,SACN,SAAUG,GAAYK,EAAS,GAAK,EACpC,aAAcF,EAAQ,GAAGA,CAAK,WAAa,gBAC3C,gBAAiBF,EACjB,gBAAiBC,EACjB,SAAUF,GAAYK,EACtB,OAAQA,CACV,CAAC,CAAC,CACJ,CAAC,CACH,CAAC,CACH,CACO,SAASE,GAAU,CACxB,OAAAC,EACA,QAAAJ,EAAU,SACV,YAAAK,EAAc,aACd,MAAAN,EACA,UAAAO,EAAY,GACZ,WAAAC,EAAa,GACb,SAAAX,EACA,KAAAY,EACA,IAAAX,EACA,IAAAC,EACA,SAAAR,EACA,GAAGE,CACL,EAAG,CACD,IAAMiB,EAAenB,GAA2BG,EAAIJ,GAAgB,CAClE,qBAAsB,GACtB,OAAQ,CAACiB,CACX,CAAC,EACKI,EAAoB,EAAQpB,GAAagB,EAC/C,OAAsBb,EAAI,aAAc,CACtC,GAAGD,EACH,QAAAQ,EACA,YAAAK,EACA,MAAAN,EACA,UAAAO,EACA,WAAAC,EACA,SAAAX,EACA,KAAAY,EACA,IAAAX,EACA,IAAAC,EACA,SAAUM,IAAS,CAAC,EACpB,SAAUA,IAAS,CAAC,EACpB,SAAyBF,EAAK,MAAO,CACnC,MAAOR,EAAG,aAAcM,IAAY,QAAU,oBAAsB,qBAAsBK,IAAgB,YAAc,sBAAsB,EAC9I,WAAY,OACZ,SAAU,CAAgBH,EAAK,MAAO,CACpC,MAAO,qBACP,WAAY,SACZ,OAAQ,CAACH,GAAS,CAACW,EACnB,SAAU,CAAgBjB,EAAI,OAAQ,CACpC,MAAO,oBACP,WAAY,QACZ,OAAQ,CAACM,EACT,SAAUA,CACZ,CAAC,EAAGU,CAAY,CAClB,CAAC,EAAkBhB,EAAIE,GAAa,CAClC,SAAAC,EACA,IAAAC,EACA,IAAAC,EACA,MAAAC,EACA,QAAAC,CACF,CAAC,EAAkBP,EAAI,QAAS,CAC9B,KAAM,SACN,WAAY,QACZ,KAAMe,GAAQ,MAChB,CAAC,EAAkBf,EAAI,QAAS,CAC9B,KAAM,SACN,WAAY,UACd,CAAC,CAAC,CACJ,CAAC,CACH,CAAC,CACH",
6
- "names": ["RadiantElement", "customElement", "event", "onEvent", "onUpdated", "prop", "query", "fractionDigitsFromStep", "step", "match", "decimals", "exponent", "resolveValuePrecision", "valuePrecision", "formatNumericValue", "value", "createNumericRange", "min", "max", "resolvedMin", "resolvedMax", "lowerBound", "upperBound", "resolvedStep", "span", "clamp", "candidate", "stepped", "ratio", "unit", "valueFromSliderKey", "range", "current", "key", "_initProto", "_initClass", "_init_variant", "_init_extra_variant", "_init_orientation", "_init_extra_orientation", "_init_value", "_init_extra_value", "_init_rangeMin", "_init_extra_rangeMin", "_init_rangeMax", "_init_extra_rangeMax", "_init_min", "_init_extra_min", "_init_max", "_init_extra_max", "_init_step", "_init_extra_step", "_init_valuePrecision", "_init_extra_valuePrecision", "_init_minDistance", "_init_extra_minDistance", "_init_disabled", "_init_extra_disabled", "_init_readOnly", "_init_extra_readOnly", "_init_label", "_init_extra_label", "_init_name", "_init_extra_name", "_init_showValue", "_init_extra_showValue", "_init_valueTitle", "_init_extra_valueTitle", "_init_changeEvent", "_init_extra_changeEvent", "_init_inputTarget", "_init_extra_inputTarget", "_init_maxInputTarget", "_init_extra_maxInputTarget", "_init_rootTarget", "_init_extra_rootTarget", "_init_headerTarget", "_init_extra_headerTarget", "_init_labelTarget", "_init_extra_labelTarget", "_init_rangeTrack", "_init_extra_rangeTrack", "_init_valueTarget", "_init_extra_valueTarget", "_init_singleThumb", "_init_extra_singleThumb", "_init_rangeMinThumb", "_init_extra_rangeMinThumb", "_init_rangeMaxThumb", "_init_extra_rangeMaxThumb", "_applyDecs", "n", "r", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "b", "e", "applyDec", "w", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiSlider", "RuiSlider", "RadiantElement", "customElement", "prop", "event", "query", "onUpdated", "onEvent", "createNumericRange", "resolveValuePrecision", "value", "formatNumericValue", "values", "id", "low", "high", "active", "range", "nextLow", "nextHigh", "minDistance", "key", "hasVisibleReadout", "tabindex", "orientation", "rangeBounds", "label", "visible", "thumb", "start", "end", "startPercent", "endPercent", "fillSize", "track", "targets", "titles", "target", "title", "event2", "rect", "ratio", "next", "current", "thumbElement", "fromThumb", "valueFromSliderKey", "jsx", "jsxs", "cx", "parts", "RuiSliderValue", "children", "className", "props", "jsx", "cx", "SliderTrack", "disabled", "min", "max", "label", "variant", "single", "jsxs", "RuiSlider", "values", "orientation", "showValue", "valueTitle", "name", "valueReadout", "hasVisibleReadout"]
3
+ "sources": ["../../../../src/components/ui/slider/slider.script.tsx", "../../../../src/components/ui/shared/multi-value.ts", "../../../../src/components/ui/shared/numeric-range.ts", "../../../../src/components/ui/slider/slider.tsx", "../../../../src/lib/cx.ts"],
4
+ "sourcesContent": ["let _initProto, _initClass, _init_variant, _init_extra_variant, _init_orientation, _init_extra_orientation, _init_value, _init_extra_value, _init_min, _init_extra_min, _init_max, _init_extra_max, _init_step, _init_extra_step, _init_valuePrecision, _init_extra_valuePrecision, _init_minDistance, _init_extra_minDistance, _init_readOnly, _init_extra_readOnly, _init_label, _init_extra_label, _init_showValue, _init_extra_showValue, _init_valueTitle, _init_extra_valueTitle, _init_changeEvent, _init_extra_changeEvent, _init_rootTarget, _init_extra_rootTarget, _init_headerTarget, _init_extra_headerTarget, _init_labelTarget, _init_extra_labelTarget, _init_rangeTrack, _init_extra_rangeTrack, _init_valueTarget, _init_extra_valueTarget, _init_singleThumb, _init_extra_singleThumb, _init_rangeMinThumb, _init_extra_rangeMinThumb, _init_rangeMaxThumb, _init_extra_rangeMaxThumb;\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 { bindTo, customElement, event, onEvent, onUpdated, prop, query } from \"@ecopages/radiant\";\nimport { FormAssociatedElement } from \"@ecopages/radiant/form-associated-element\";\nimport { numberArrayTransform } from \"../shared/multi-value\";\nimport { createNumericRange, formatNumericValue, resolveValuePrecision, valueFromSliderKey, valuesAlignOnStep } from \"../shared/numeric-range\";\nexport const SLIDER_DEFAULT_VALUE = 50;\nexport const SLIDER_DEFAULT_RANGE_MIN = 25;\nexport const SLIDER_DEFAULT_RANGE_MAX = 75;\nexport const SLIDER_DEFAULT_MAX = 100;\nfunction constrainSliderPair(range, low, high, minDistance, active) {\n let nextLow = range.clamp(low);\n let nextHigh = range.clamp(high);\n if (nextLow > nextHigh) {\n [nextLow, nextHigh] = [nextHigh, nextLow];\n }\n const gap = Math.max(0, minDistance);\n if (nextHigh - nextLow < gap) {\n if (active === \"min\") {\n nextLow = range.clamp(nextHigh - gap);\n } else {\n nextHigh = range.clamp(nextLow + gap);\n }\n }\n return [nextLow, nextHigh];\n}\nexport function normalizeSliderInputValues(options) {\n if (Array.isArray(options.value)) {\n return [...options.value];\n }\n if (typeof options.value === \"number\") {\n return [options.value];\n }\n if (options.variant === \"range\") {\n return [SLIDER_DEFAULT_RANGE_MIN, SLIDER_DEFAULT_RANGE_MAX];\n }\n return [SLIDER_DEFAULT_VALUE];\n}\nexport function resolveSliderValues(options) {\n const range = createNumericRange(options.min, options.max, options.step);\n if (options.variant === \"range\" || options.values.length >= 2) {\n const low = options.values[0] ?? SLIDER_DEFAULT_RANGE_MIN;\n const high = options.values[1] ?? SLIDER_DEFAULT_RANGE_MAX;\n return constrainSliderPair(range, low, high, options.minDistance ?? 0);\n }\n return [range.clamp(options.values[0] ?? SLIDER_DEFAULT_VALUE)];\n}\nexport function formatSliderReadout(values, step, valuePrecision) {\n const precision = resolveValuePrecision(step, valuePrecision);\n if (values.length === 2) {\n return `${formatNumericValue(values[0], precision)} \\u2013 ${formatNumericValue(values[1], precision)}`;\n }\n return formatNumericValue(values[0], precision);\n}\nexport function seedSliderView(options) {\n const variant = options.variant ?? \"single\";\n const min = options.min ?? 0;\n const max = options.max ?? SLIDER_DEFAULT_MAX;\n const step = options.step ?? 1;\n const minDistance = options.minDistance ?? 0;\n const inputValues = normalizeSliderInputValues(options);\n const committed = resolveSliderValues({\n variant,\n values: inputValues,\n min,\n max,\n step,\n minDistance\n });\n const range = createNumericRange(min, max, step);\n const resolvedVariant = committed.length === 2 ? \"range\" : \"single\";\n return {\n variant: resolvedVariant,\n min,\n max,\n step,\n minDistance,\n committed,\n readoutPrecision: resolveValuePrecision(step, options.valuePrecision),\n readoutText: formatSliderReadout(committed, step, options.valuePrecision),\n trackStyle: sliderTrackCssVars(committed, range),\n isRange: committed.length === 2,\n valuePrecision: typeof options.valuePrecision === \"number\" && Number.isFinite(options.valuePrecision) ? options.valuePrecision : void 0\n };\n}\nexport function sliderTrackCssVars(values, range) {\n const start = values[0];\n const end = values.length === 2 ? values[1] : values[0];\n const startPercent = `${range.ratioFor(start) * 100}%`;\n const endPercent = `${range.ratioFor(end) * 100}%`;\n const fillSize = `${(range.ratioFor(end) - range.ratioFor(start)) * 100}%`;\n return {\n \"--rui-slider-fill-start\": values.length === 2 ? startPercent : \"0%\",\n \"--rui-slider-fill-size\": values.length === 2 ? fillSize : endPercent,\n \"--rui-slider-value\": startPercent,\n \"--rui-slider-min\": startPercent,\n \"--rui-slider-max\": endPercent\n };\n}\nlet _RuiSlider;\nclass RuiSlider extends FormAssociatedElement {\n static {\n ({\n e: [_init_variant, _init_extra_variant, _init_orientation, _init_extra_orientation, _init_value, _init_extra_value, _init_min, _init_extra_min, _init_max, _init_extra_max, _init_step, _init_extra_step, _init_valuePrecision, _init_extra_valuePrecision, _init_minDistance, _init_extra_minDistance, _init_readOnly, _init_extra_readOnly, _init_label, _init_extra_label, _init_showValue, _init_extra_showValue, _init_valueTitle, _init_extra_valueTitle, _init_changeEvent, _init_extra_changeEvent, _init_rootTarget, _init_extra_rootTarget, _init_headerTarget, _init_extra_headerTarget, _init_labelTarget, _init_extra_labelTarget, _init_rangeTrack, _init_extra_rangeTrack, _init_valueTarget, _init_extra_valueTarget, _init_singleThumb, _init_extra_singleThumb, _init_rangeMinThumb, _init_extra_rangeMinThumb, _init_rangeMaxThumb, _init_extra_rangeMaxThumb, _initProto],\n c: [_RuiSlider, _initClass]\n } = _applyDecs(this, [customElement(\"rui-slider\")], [[prop({\n type: String,\n defaultValue: \"single\"\n }), 0, \"variant\"], [prop({\n type: String,\n defaultValue: \"horizontal\"\n }), 0, \"orientation\"], [prop({\n type: Array,\n reflect: true,\n defaultValue: [SLIDER_DEFAULT_VALUE],\n transform: numberArrayTransform\n }), 0, \"value\"], [prop({\n type: Number,\n defaultValue: 0\n }), 0, \"min\"], [prop({\n type: Number,\n defaultValue: SLIDER_DEFAULT_MAX\n }), 0, \"max\"], [prop({\n type: Number,\n defaultValue: 1\n }), 0, \"step\"], [prop({\n type: Number,\n attribute: \"value-precision\",\n defaultValue: Number.NaN\n }), 0, \"valuePrecision\"], [prop({\n type: Number,\n defaultValue: 0\n }), 0, \"minDistance\"], [prop({\n type: Boolean,\n attribute: \"read-only\",\n reflect: true,\n defaultValue: false\n }), 0, \"readOnly\"], [[prop({\n type: String,\n defaultValue: \"\"\n }), bindTo([{\n ref: \"label\",\n bool: \"hidden\",\n invert: true\n }, {\n ref: \"label\",\n text: true\n }])], 0, \"label\"], [[prop({\n type: Boolean,\n attribute: \"show-value\",\n defaultValue: false\n }), bindTo({\n selector: \"[data-default-value]\",\n bool: \"hidden\",\n invert: true\n })], 0, \"showValue\"], [prop({\n type: Boolean,\n attribute: \"value-title\",\n defaultValue: false\n }), 0, \"valueTitle\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [query({\n ref: \"root\"\n }), 0, \"rootTarget\"], [query({\n ref: \"header\"\n }), 0, \"headerTarget\"], [query({\n ref: \"label\"\n }), 0, \"labelTarget\"], [query({\n ref: \"rangeTrack\"\n }), 0, \"rangeTrack\"], [query({\n ref: \"value\"\n }), 0, \"valueTarget\"], [query({\n ref: \"singleThumb\"\n }), 0, \"singleThumb\"], [query({\n ref: \"rangeMinThumb\"\n }), 0, \"rangeMinThumb\"], [query({\n ref: \"rangeMaxThumb\"\n }), 0, \"rangeMaxThumb\"], [onUpdated([\"value\", \"min\", \"max\", \"step\", \"valuePrecision\", \"minDistance\", \"variant\", \"orientation\", \"disabled\", \"readOnly\", \"effectiveDisabled\", \"label\", \"name\", \"showValue\", \"valueTitle\"]), 2, \"onPropsUpdated\"], [onEvent({\n ref: \"rangeTrack\",\n type: \"pointerdown\"\n }), 2, \"onPointerDown\"], [onEvent({\n document: true,\n type: \"pointermove\"\n }), 2, \"onPointerMove\"], [onEvent({\n document: true,\n type: \"pointerup\"\n }), 2, \"onPointerUp\"], [onEvent({\n document: true,\n type: \"pointercancel\"\n }), 2, \"onPointerCancel\"], [onEvent({\n selector: \"[data-thumb]\",\n type: \"keydown\"\n }), 2, \"onThumbKeydown\"]], 0, void 0, FormAssociatedElement));\n }\n variant = (_initProto(this), _init_variant(this));\n orientation = (_init_extra_variant(this), _init_orientation(this));\n value = (_init_extra_orientation(this), _init_value(this));\n min = (_init_extra_value(this), _init_min(this));\n max = (_init_extra_min(this), _init_max(this));\n step = (_init_extra_max(this), _init_step(this));\n valuePrecision = (_init_extra_step(this), _init_valuePrecision(this));\n minDistance = (_init_extra_valuePrecision(this), _init_minDistance(this));\n readOnly = (_init_extra_minDistance(this), _init_readOnly(this));\n label = (_init_extra_readOnly(this), _init_label(this));\n showValue = (_init_extra_label(this), _init_showValue(this));\n valueTitle = (_init_extra_showValue(this), _init_valueTitle(this));\n changeEvent = (_init_extra_valueTitle(this), _init_changeEvent(this));\n rootTarget = (_init_extra_changeEvent(this), _init_rootTarget(this));\n headerTarget = (_init_extra_rootTarget(this), _init_headerTarget(this));\n labelTarget = (_init_extra_headerTarget(this), _init_labelTarget(this));\n rangeTrack = (_init_extra_labelTarget(this), _init_rangeTrack(this));\n valueTarget = (_init_extra_rangeTrack(this), _init_valueTarget(this));\n singleThumb = (_init_extra_valueTarget(this), _init_singleThumb(this));\n rangeMinThumb = (_init_extra_singleThumb(this), _init_rangeMinThumb(this));\n rangeMaxThumb = (_init_extra_rangeMinThumb(this), _init_rangeMaxThumb(this));\n activeThumb = (_init_extra_rangeMaxThumb(this), null);\n activePointerId = null;\n pending = null;\n lastEmitted = \"\";\n onConnected() {\n this.adoptLegacyRangeAttributes();\n this.syncChrome();\n this.syncValues(this.committedValues());\n }\n formValue() {\n if (!this.name) {\n return null;\n }\n const values = this.liveValues();\n if (values.length === 2) {\n const data = new FormData();\n data.append(this.name, String(values[0]));\n data.append(`${this.name}-max`, String(values[1]));\n return data;\n }\n return String(values[0] ?? \"\");\n }\n formState() {\n return this.committedValues().join(\",\");\n }\n restoreFormState(state) {\n this.value = String(state).split(\",\").map(Number).filter(entry => Number.isFinite(entry));\n this.syncValues(this.committedValues());\n }\n /** Reads authored `range-min` / `range-max` once when `value` is absent. */\n adoptLegacyRangeAttributes() {\n if (this.hasAttribute(\"value\")) {\n return;\n }\n const rangeMinAttr = this.getAttribute(\"range-min\");\n const rangeMaxAttr = this.getAttribute(\"range-max\");\n if (rangeMinAttr === null && rangeMaxAttr === null) {\n return;\n }\n const low = rangeMinAttr !== null ? Number(rangeMinAttr) : SLIDER_DEFAULT_RANGE_MIN;\n const high = rangeMaxAttr !== null ? Number(rangeMaxAttr) : SLIDER_DEFAULT_RANGE_MAX;\n this.value = [low, high];\n }\n onPropsUpdated() {\n if (this.activeThumb) {\n return;\n }\n this.syncChrome();\n this.syncValues(this.committedValues());\n }\n get isRange() {\n return this.liveValues().length === 2;\n }\n get isVertical() {\n return this.orientation === \"vertical\";\n }\n get numericRange() {\n return createNumericRange(this.min, this.max, this.step);\n }\n get resolvedValuePrecision() {\n return resolveValuePrecision(this.step, this.valuePrecision);\n }\n formatValue(value) {\n return formatNumericValue(value, this.resolvedValuePrecision);\n }\n formatValues(values) {\n return formatSliderReadout(values, this.step, this.valuePrecision);\n }\n get defaultValueTarget() {\n return this.querySelector(\"[data-default-value]\");\n }\n thumbFor(id) {\n if (id === \"value\") {\n return this.singleThumb;\n }\n return id === \"min\" ? this.rangeMinThumb : this.rangeMaxThumb;\n }\n parseThumb(value) {\n if (this.isRange) {\n return value === \"min\" || value === \"max\" ? value : null;\n }\n return value === \"value\" ? value : null;\n }\n constrainPair(low, high, active) {\n return constrainSliderPair(this.numericRange, low, high, this.minDistance, active);\n }\n committedValues() {\n return resolveSliderValues({\n variant: this.variant,\n values: this.value,\n min: this.min,\n max: this.max,\n step: this.step,\n minDistance: this.minDistance\n });\n }\n liveValues() {\n return this.pending ?? this.committedValues();\n }\n changeDetail(values) {\n return {\n value: values\n };\n }\n emitIfChanged(values) {\n const key = values.join(\",\");\n if (key === this.lastEmitted) {\n return;\n }\n this.lastEmitted = key;\n this.changeEvent.emit(this.changeDetail(values));\n }\n reflectValues(values) {\n const current = this.value;\n const sameLength = current.length === values.length;\n const aligned = sameLength && values.every((entry, index) => valuesAlignOnStep(current[index], entry, this.step));\n if (!aligned) {\n this.value = values;\n }\n }\n syncValues(values) {\n this.paint(values);\n this.reflectValues(values);\n const nextVariant = values.length >= 2 ? \"range\" : \"single\";\n if (this.variant !== nextVariant) {\n this.variant = nextVariant;\n }\n }\n syncChrome() {\n this.syncRootChrome();\n this.syncThumbChrome();\n }\n syncRootChrome() {\n const hasVisibleReadout = Boolean(this.valueTarget) && (!this.defaultValueTarget || this.showValue);\n this.rootTarget?.classList.toggle(\"rui-slider--single\", !this.isRange);\n this.rootTarget?.classList.toggle(\"rui-slider--range\", this.isRange);\n this.rootTarget?.classList.toggle(\"rui-slider--vertical\", this.isVertical);\n this.headerTarget?.toggleAttribute(\"hidden\", !this.label && !hasVisibleReadout);\n }\n syncThumbChrome() {\n const tabindex = this.effectiveDisabled ? -1 : 0;\n const orientation = this.isVertical ? \"vertical\" : \"horizontal\";\n const rangeBounds = this.numericRange;\n for (const {\n id,\n label,\n visible\n } of this.getThumbChrome()) {\n const thumb = this.thumbFor(id);\n if (!thumb) continue;\n thumb.toggleAttribute(\"hidden\", !visible);\n thumb.toggleAttribute(\"disabled\", this.effectiveDisabled || !visible);\n thumb.setAttribute(\"tabindex\", String(visible ? tabindex : -1));\n thumb.setAttribute(\"aria-label\", label);\n thumb.setAttribute(\"aria-orientation\", orientation);\n thumb.setAttribute(\"aria-valuemin\", String(rangeBounds.lowerBound));\n thumb.setAttribute(\"aria-valuemax\", String(rangeBounds.upperBound));\n thumb.setAttribute(\"aria-readonly\", String(this.readOnly));\n }\n }\n getThumbChrome() {\n const range = this.isRange;\n return [{\n id: \"value\",\n label: this.label || \"Value\",\n visible: !range\n }, {\n id: \"min\",\n label: this.label ? `${this.label} minimum` : \"Minimum value\",\n visible: range\n }, {\n id: \"max\",\n label: this.label ? `${this.label} maximum` : \"Maximum value\",\n visible: range\n }];\n }\n paint(values) {\n const start = values[0];\n const end = values.length === 2 ? values[1] : values[0];\n const track = this.rangeTrack;\n const vars = sliderTrackCssVars(values, this.numericRange);\n for (const [name, value] of Object.entries(vars)) {\n track?.style.setProperty(name, value);\n }\n if (this.singleThumb) {\n this.singleThumb.setAttribute(\"aria-valuenow\", String(start));\n this.singleThumb.setAttribute(\"aria-valuetext\", this.formatValue(start));\n }\n if (this.rangeMinThumb) {\n this.rangeMinThumb.setAttribute(\"aria-valuenow\", String(start));\n this.rangeMinThumb.setAttribute(\"aria-valuetext\", this.formatValue(start));\n this.rangeMinThumb.setAttribute(\"aria-valuemax\", String(end));\n }\n if (this.rangeMaxThumb) {\n this.rangeMaxThumb.setAttribute(\"aria-valuemin\", String(start));\n this.rangeMaxThumb.setAttribute(\"aria-valuenow\", String(end));\n this.rangeMaxThumb.setAttribute(\"aria-valuetext\", this.formatValue(end));\n }\n if (this.valueTarget) {\n this.valueTarget.textContent = this.formatValues(values);\n }\n this.syncFormValue();\n this.syncValueTitle(values);\n }\n syncValueTitle(values) {\n const targets = [[this.rangeTrack, \"track\"], [this.singleThumb, \"value\"], [this.rangeMinThumb, \"min\"], [this.rangeMaxThumb, \"max\"]];\n const titles = this.getValueTitles(values);\n for (const [target, key] of targets) {\n const title = titles[key];\n if (title) target?.setAttribute(\"title\", title);else target?.removeAttribute(\"title\");\n }\n }\n getValueTitles(values) {\n if (!this.valueTitle) return {};\n if (values.length === 1) {\n const value = this.formatValue(values[0]);\n return {\n value\n };\n }\n const [low, high] = values;\n return {\n min: this.formatValue(low),\n max: this.formatValue(high),\n track: this.formatValues(values)\n };\n }\n valueFromPointer(event2) {\n const track = this.rangeTrack;\n if (!track) {\n return this.numericRange.lowerBound;\n }\n const rect = track.getBoundingClientRect();\n if (rect.width === 0 || rect.height === 0) {\n return this.numericRange.lowerBound;\n }\n const ratio = this.isVertical ? 1 - (event2.clientY - rect.top) / rect.height : (event2.clientX - rect.left) / rect.width;\n return this.numericRange.valueFromRatio(ratio);\n }\n nearestThumb(next) {\n if (!this.isRange) {\n return \"value\";\n }\n const [low, high] = this.liveValues();\n return Math.abs(next - low) <= Math.abs(next - high) ? \"min\" : \"max\";\n }\n moveThumb(thumb, next) {\n this.activeThumb = thumb;\n if (this.isRange) {\n const current = this.pending ?? this.committedValues();\n this.pending = this.constrainPair(thumb === \"min\" ? next : current[0], thumb === \"max\" ? next : current[1], thumb);\n } else {\n this.pending = [this.numericRange.clamp(next)];\n }\n const values = this.pending;\n this.paint(values);\n this.emitIfChanged(values);\n return values;\n }\n commit() {\n const values = this.liveValues();\n this.pending = null;\n this.activeThumb = null;\n this.activePointerId = null;\n this.syncValues(values);\n }\n revert() {\n this.pending = null;\n this.activeThumb = null;\n this.activePointerId = null;\n this.lastEmitted = this.committedValues().join(\",\");\n this.paint(this.committedValues());\n }\n releasePointer(event2) {\n const track = this.rangeTrack;\n if (track?.hasPointerCapture(event2.pointerId)) {\n track.releasePointerCapture(event2.pointerId);\n }\n }\n onPointerDown(event2) {\n if (event2.button !== 0 || this.effectiveDisabled || this.readOnly) {\n return;\n }\n const thumbElement = event2.target.closest(\"[data-thumb]\");\n const fromThumb = this.parseThumb(thumbElement?.getAttribute(\"data-thumb\") ?? null);\n const next = this.valueFromPointer(event2);\n const thumb = fromThumb ?? this.nearestThumb(next);\n this.pending = this.committedValues();\n this.lastEmitted = this.pending.join(\",\");\n this.activeThumb = thumb;\n this.activePointerId = event2.pointerId;\n this.rangeTrack?.setPointerCapture(event2.pointerId);\n this.thumbFor(thumb)?.focus();\n if (!fromThumb) {\n this.moveThumb(thumb, next);\n }\n event2.preventDefault();\n }\n onPointerMove(event2) {\n if (!this.activeThumb || event2.pointerId !== this.activePointerId) {\n return;\n }\n this.moveThumb(this.activeThumb, this.valueFromPointer(event2));\n }\n onPointerUp(event2) {\n if (!this.activeThumb || event2.pointerId !== this.activePointerId) {\n return;\n }\n this.releasePointer(event2);\n this.commit();\n }\n onPointerCancel(event2) {\n if (!this.activeThumb || event2.pointerId !== this.activePointerId) {\n return;\n }\n this.releasePointer(event2);\n this.revert();\n }\n onThumbKeydown(event2) {\n if (this.effectiveDisabled || this.readOnly) {\n return;\n }\n const thumbElement = event2.target.closest(\"[data-thumb]\");\n const thumb = this.parseThumb(thumbElement?.getAttribute(\"data-thumb\") ?? null);\n if (!thumb) {\n return;\n }\n const values = this.committedValues();\n const current = thumb === \"max\" ? values[values.length - 1] : values[0];\n const next = valueFromSliderKey(this.numericRange, current, event2.key);\n if (next == null) {\n return;\n }\n event2.preventDefault();\n this.lastEmitted = values.join(\",\");\n this.moveThumb(thumb, next);\n this.commit();\n }\n static {\n _initClass();\n }\n}\nexport { _RuiSlider as RuiSlider };", "export function parseMultiValue(value) {\n if (!value) {\n return [];\n }\n return uniqueTrimmed(value.split(\",\"));\n}\nexport function serializeMultiValue(values) {\n return values.join(\",\");\n}\nexport const multiValueTransform = {\n fromAttribute: value => parseMultiValue(value),\n toAttribute: values => values.length > 0 ? serializeMultiValue(values) : null,\n fromProperty: value => {\n if (Array.isArray(value)) {\n return uniqueTrimmed(value.map(String));\n }\n if (typeof value === \"string\") {\n return parseMultiValue(value);\n }\n return [];\n }\n};\nexport const multiValuePropOptions = {\n type: Array,\n reflect: true,\n transform: multiValueTransform\n};\nexport function parseViewValue(value) {\n return multiValueTransform.fromProperty?.(value) ?? [];\n}\nfunction parseNumberArray(value) {\n if (!value) {\n return [];\n }\n return value.split(\",\").map(item => Number(item.trim())).filter(item => Number.isFinite(item));\n}\nfunction serializeNumberArray(values) {\n return values.join(\",\");\n}\nexport const numberArrayTransform = {\n fromAttribute: value => parseNumberArray(value),\n toAttribute: values => values.length > 0 ? serializeNumberArray(values) : null,\n fromProperty: value => {\n if (Array.isArray(value)) {\n return value.map(Number).filter(item => Number.isFinite(item));\n }\n if (typeof value === \"number\" && Number.isFinite(value)) {\n return [value];\n }\n if (typeof value === \"string\") {\n return parseNumberArray(value);\n }\n return [];\n }\n};\nfunction uniqueTrimmed(values) {\n return [...new Set(values.map(item => item.trim()).filter(Boolean))];\n}", "export const SLIDER_PAGE_STEP_MULTIPLIER = 10;\nexport const MAX_VALUE_FRACTION_DIGITS = 15;\nexport function fractionDigitsFromStep(step) {\n if (!Number.isFinite(step) || step <= 0) {\n return 0;\n }\n const match = step.toString().match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\n if (!match) {\n return 0;\n }\n const decimals = match[1]?.length ?? 0;\n const exponent = match[2] ? Number(match[2]) : 0;\n return Math.min(MAX_VALUE_FRACTION_DIGITS, Math.max(0, decimals - exponent));\n}\nexport function resolveValuePrecision(step, valuePrecision) {\n if (typeof valuePrecision === \"number\" && Number.isFinite(valuePrecision) && valuePrecision >= 0) {\n return Math.min(MAX_VALUE_FRACTION_DIGITS, Math.round(valuePrecision));\n }\n return fractionDigitsFromStep(step);\n}\nexport function formatNumericValue(value, valuePrecision) {\n return Number.isFinite(value) ? value.toFixed(valuePrecision) : \"\";\n}\nexport function valuesAlignOnStep(left, right, step) {\n if (Object.is(left, right)) {\n return true;\n }\n if (!Number.isFinite(left) || !Number.isFinite(right)) {\n return false;\n }\n const resolvedStep = Number.isFinite(step) && step > 0 ? step : 1;\n const roundingNoise = Number.EPSILON * Math.max(Math.abs(left), Math.abs(right), resolvedStep) * 4;\n return Math.abs(left - right) <= Math.min(roundingNoise, resolvedStep * 1e-6);\n}\nexport function createNumericRange(min, max, step) {\n const resolvedMin = Number.isFinite(min) ? min : 0;\n const resolvedMax = Number.isFinite(max) ? max : 100;\n const lowerBound = Math.min(resolvedMin, resolvedMax);\n const upperBound = Math.max(resolvedMin, resolvedMax);\n const resolvedStep = Number.isFinite(step) && step > 0 ? step : 1;\n const span = upperBound - lowerBound;\n const clamp = value => {\n const candidate = Number.isFinite(value) ? value : lowerBound;\n const stepped = lowerBound + Math.round((candidate - lowerBound) / resolvedStep) * resolvedStep;\n return Math.min(upperBound, Math.max(lowerBound, stepped));\n };\n return {\n lowerBound,\n upperBound,\n step: resolvedStep,\n clamp,\n ratioFor: value => span === 0 ? 0 : (clamp(value) - lowerBound) / span,\n valueFromRatio: ratio => {\n const unit = Math.min(1, Math.max(0, Number.isFinite(ratio) ? ratio : 0));\n return clamp(lowerBound + unit * span);\n }\n };\n}\nexport function valueFromSliderKey(range, current, key) {\n switch (key) {\n case \"ArrowRight\":\n case \"ArrowUp\":\n return range.clamp(current + range.step);\n case \"ArrowLeft\":\n case \"ArrowDown\":\n return range.clamp(current - range.step);\n case \"Home\":\n return range.lowerBound;\n case \"End\":\n return range.upperBound;\n case \"PageUp\":\n return range.clamp(current + range.step * SLIDER_PAGE_STEP_MULTIPLIER);\n case \"PageDown\":\n return range.clamp(current - range.step * SLIDER_PAGE_STEP_MULTIPLIER);\n default:\n return void 0;\n }\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport { formatNumericValue } from \"../shared/numeric-range\";\nimport { seedSliderView } from \"./slider.script\";\nimport \"./slider.script\";\nexport function RuiSliderValue({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"span\", {\n ...props,\n class: cx(\"rui-slider__value\", className),\n \"data-ref\": \"value\",\n \"aria-hidden\": \"true\",\n children\n });\n}\nfunction SliderTrack({\n disabled,\n min,\n max,\n label,\n variant,\n committed,\n readoutPrecision,\n trackStyle\n}) {\n const single = variant !== \"range\";\n const thumbLabel = label || \"Value\";\n const start = committed[0];\n const end = committed.length === 2 ? committed[1] : committed[0];\n const startText = formatNumericValue(start, readoutPrecision);\n const endText = formatNumericValue(end, readoutPrecision);\n return /* @__PURE__ */jsx(\"div\", {\n class: \"rui-slider__range\",\n children: /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-slider__range-track\",\n \"data-ref\": \"rangeTrack\",\n style: trackStyle,\n children: [/* @__PURE__ */jsx(\"div\", {\n class: \"rui-slider__range-fill\",\n \"data-ref\": \"rangeFill\"\n }), /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-slider__thumb\",\n \"data-ref\": \"singleThumb\",\n \"data-thumb\": \"value\",\n role: \"slider\",\n tabindex: disabled || !single ? -1 : 0,\n \"aria-label\": thumbLabel,\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": start,\n \"aria-valuetext\": startText,\n disabled: disabled || !single,\n hidden: !single\n }), /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-slider__thumb\",\n \"data-ref\": \"rangeMinThumb\",\n \"data-thumb\": \"min\",\n role: \"slider\",\n tabindex: disabled || single ? -1 : 0,\n \"aria-label\": label ? `${label} minimum` : \"Minimum value\",\n \"aria-valuemin\": min,\n \"aria-valuemax\": end,\n \"aria-valuenow\": start,\n \"aria-valuetext\": startText,\n disabled: disabled || single,\n hidden: single\n }), /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-slider__thumb\",\n \"data-ref\": \"rangeMaxThumb\",\n \"data-thumb\": \"max\",\n role: \"slider\",\n tabindex: disabled || single ? -1 : 0,\n \"aria-label\": label ? `${label} maximum` : \"Maximum value\",\n \"aria-valuemin\": start,\n \"aria-valuemax\": max,\n \"aria-valuenow\": end,\n \"aria-valuetext\": endText,\n disabled: disabled || single,\n hidden: single\n })]\n })\n });\n}\nexport function RuiSlider({\n variant,\n orientation = \"horizontal\",\n label,\n showValue = false,\n valueTitle = false,\n disabled,\n name,\n min,\n max,\n step,\n value,\n valuePrecision,\n minDistance,\n children,\n ...props\n}) {\n const seed = seedSliderView({\n variant,\n value,\n min,\n max,\n step,\n minDistance,\n valuePrecision\n });\n const valueReadout = children ?? /* @__PURE__ */jsx(RuiSliderValue, {\n \"data-default-value\": true,\n hidden: !showValue,\n children: seed.readoutText\n });\n const hasVisibleReadout = Boolean(children) || showValue;\n return /* @__PURE__ */jsx(\"rui-slider\", {\n ...props,\n variant: seed.variant,\n orientation,\n label,\n showValue,\n valueTitle,\n disabled,\n name,\n min: seed.min,\n max: seed.max,\n step: seed.step,\n value: seed.committed,\n minDistance: seed.minDistance,\n valuePrecision: seed.valuePrecision,\n children: /* @__PURE__ */jsx(SliderRoot, {\n seed,\n orientation,\n label,\n disabled,\n hasVisibleReadout,\n valueReadout\n })\n });\n}\nfunction SliderRoot({\n seed,\n orientation,\n label,\n disabled,\n hasVisibleReadout,\n valueReadout\n}) {\n return /* @__PURE__ */jsxs(\"div\", {\n class: cx(\"rui-slider\", seed.isRange ? \"rui-slider--range\" : \"rui-slider--single\", orientation === \"vertical\" && \"rui-slider--vertical\"),\n \"data-ref\": \"root\",\n children: [/* @__PURE__ */jsxs(\"div\", {\n class: \"rui-slider__header\",\n \"data-ref\": \"header\",\n hidden: !label && !hasVisibleReadout,\n children: [/* @__PURE__ */jsx(\"span\", {\n class: \"rui-slider__label\",\n \"data-ref\": \"label\",\n hidden: !label,\n children: label\n }), valueReadout]\n }), /* @__PURE__ */jsx(SliderTrack, {\n disabled,\n min: seed.min,\n max: seed.max,\n label,\n variant: seed.variant,\n committed: seed.committed,\n readoutPrecision: seed.readoutPrecision,\n trackStyle: seed.trackStyle\n })]\n });\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}"],
5
+ "mappings": "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",
6
+ "names": ["bindTo", "customElement", "event", "onEvent", "onUpdated", "prop", "query", "FormAssociatedElement", "parseNumberArray", "value", "item", "serializeNumberArray", "values", "numberArrayTransform", "fractionDigitsFromStep", "step", "match", "decimals", "exponent", "resolveValuePrecision", "valuePrecision", "formatNumericValue", "value", "valuesAlignOnStep", "left", "right", "resolvedStep", "roundingNoise", "createNumericRange", "min", "max", "resolvedMin", "resolvedMax", "lowerBound", "upperBound", "span", "clamp", "candidate", "stepped", "ratio", "unit", "valueFromSliderKey", "range", "current", "key", "_initProto", "_initClass", "_init_variant", "_init_extra_variant", "_init_orientation", "_init_extra_orientation", "_init_value", "_init_extra_value", "_init_min", "_init_extra_min", "_init_max", "_init_extra_max", "_init_step", "_init_extra_step", "_init_valuePrecision", "_init_extra_valuePrecision", "_init_minDistance", "_init_extra_minDistance", "_init_readOnly", "_init_extra_readOnly", "_init_label", "_init_extra_label", "_init_showValue", "_init_extra_showValue", "_init_valueTitle", "_init_extra_valueTitle", "_init_changeEvent", "_init_extra_changeEvent", "_init_rootTarget", "_init_extra_rootTarget", "_init_headerTarget", "_init_extra_headerTarget", "_init_labelTarget", "_init_extra_labelTarget", "_init_rangeTrack", "_init_extra_rangeTrack", "_init_valueTarget", "_init_extra_valueTarget", "_init_singleThumb", "_init_extra_singleThumb", "_init_rangeMinThumb", "_init_extra_rangeMinThumb", "_init_rangeMaxThumb", "_init_extra_rangeMaxThumb", "_applyDecs", "n", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "r", "b", "e", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "SLIDER_DEFAULT_VALUE", "SLIDER_DEFAULT_RANGE_MIN", "SLIDER_DEFAULT_RANGE_MAX", "SLIDER_DEFAULT_MAX", "constrainSliderPair", "range", "low", "high", "minDistance", "active", "nextLow", "nextHigh", "gap", "normalizeSliderInputValues", "options", "resolveSliderValues", "createNumericRange", "formatSliderReadout", "values", "step", "valuePrecision", "precision", "resolveValuePrecision", "formatNumericValue", "seedSliderView", "variant", "min", "max", "inputValues", "committed", "sliderTrackCssVars", "start", "end", "startPercent", "endPercent", "fillSize", "_RuiSlider", "RuiSlider", "FormAssociatedElement", "customElement", "prop", "numberArrayTransform", "bindTo", "event", "query", "onUpdated", "onEvent", "data", "state", "entry", "rangeMinAttr", "rangeMaxAttr", "value", "id", "key", "current", "index", "valuesAlignOnStep", "nextVariant", "hasVisibleReadout", "tabindex", "orientation", "rangeBounds", "label", "visible", "thumb", "track", "vars", "name", "targets", "titles", "target", "title", "event2", "rect", "ratio", "next", "thumbElement", "fromThumb", "valueFromSliderKey", "jsx", "jsxs", "cx", "parts", "RuiSliderValue", "children", "className", "props", "jsx", "cx", "SliderTrack", "disabled", "min", "max", "label", "variant", "committed", "readoutPrecision", "trackStyle", "single", "thumbLabel", "start", "end", "startText", "formatNumericValue", "endText", "jsxs", "RuiSlider", "orientation", "showValue", "valueTitle", "name", "step", "value", "valuePrecision", "minDistance", "seed", "seedSliderView", "valueReadout", "hasVisibleReadout", "SliderRoot"]
7
7
  }
@@ -6,14 +6,14 @@ rui-slider {
6
6
  --rui-slider-width: 100%;
7
7
  --rui-slider-height: auto;
8
8
  --rui-slider-gap: var(--space-inline);
9
- --rui-slider-track-color: var(--surface);
9
+ --rui-slider-track-color: var(--rui-track-color, var(--rui-track-fill));
10
10
  --rui-slider-fill-color: var(--primary);
11
11
  --rui-slider-track-radius: var(--radius-control);
12
12
  --rui-slider-thumb-size: 1.25rem;
13
13
  --rui-slider-thumb-border-width: 2px;
14
14
  --rui-slider-thumb-border-color: var(--primary);
15
15
  --rui-slider-thumb-background: var(--background);
16
- --rui-slider-thumb-shadow: 0 2px 8px rgb(0 0 0 / 0.12);
16
+ --rui-slider-thumb-shadow: var(--shadow-control);
17
17
  --rui-slider-thumb-radius: var(--radius-control);
18
18
  --rui-slider-value-color: var(--on-surface);
19
19
  --rui-slider-focus-ring: var(--focus-ring);
@@ -85,7 +85,7 @@ rui-slider:has(.rui-slider--vertical) {
85
85
  position: relative;
86
86
  min-width: 0px;
87
87
  border-radius: var(--rui-slider-track-radius, var(--radius-control));
88
- background: var(--rui-slider-track-color, var(--surface));
88
+ background: var(--rui-slider-track-color, var(--rui-track-fill));
89
89
  block-size: var(--rui-slider-track-size, 0.375rem);
90
90
  inline-size: 100%;
91
91
  max-inline-size: var(--rui-slider-track-length, 100%);
@@ -122,7 +122,7 @@ rui-slider:has(.rui-slider--vertical) {
122
122
  border: var(--rui-slider-thumb-border-width, 2px) solid var(--rui-slider-thumb-border-color, var(--primary));
123
123
  border-radius: var(--rui-slider-thumb-radius, var(--radius-control));
124
124
  background: var(--rui-slider-thumb-background, var(--background));
125
- box-shadow: var(--rui-slider-thumb-shadow, 0 2px 8px rgb(0 0 0 / 0.12));
125
+ box-shadow: var(--rui-slider-thumb-shadow, var(--shadow-control));
126
126
  }
127
127
  .rui-slider__thumb::before {
128
128
  position: absolute;
@@ -139,7 +139,7 @@ rui-slider:has(.rui-slider--vertical) {
139
139
  outline: 2px solid transparent;
140
140
  outline-offset: 2px;
141
141
  }
142
- box-shadow: var(--rui-slider-thumb-shadow, 0 2px 8px rgb(0 0 0 / 0.12)),
142
+ box-shadow: var(--rui-slider-thumb-shadow, var(--shadow-control)),
143
143
  0 0 0 var(--rui-slider-focus-ring-width, 2px) var(--rui-slider-focus-ring, var(--focus-ring));
144
144
  }
145
145
  .rui-slider__thumb[data-thumb='min'] {
@@ -1,20 +1,30 @@
1
1
  import type { JsxCustomElementAttributes, JsxElementProps } from '@ecopages/jsx';
2
- import type { RuiSlider as RuiSliderElement, RuiSliderProps } from './slider.script';
2
+ import { type RuiSlider as RuiSliderElement, type RuiSliderProps } from './slider.script';
3
3
  import './slider.script';
4
4
  export type RuiSliderValueProps = JsxElementProps<HTMLSpanElement>;
5
5
  /**
6
- * Live value readout for `RuiSlider`. The element keeps this node in sync
7
- * imperatively while dragging.
6
+ * Live value readout for `RuiSlider`. Stamps `[data-ref="value"]`.
7
+ * The host keeps this node in sync imperatively while dragging.
8
8
  *
9
9
  * @cssclass rui-slider__value - Numeric readout (`aria-hidden="true"`).
10
10
  */
11
11
  export declare function RuiSliderValue({ children, class: className, ...props }: RuiSliderValueProps): import("@ecopages/jsx").JsxRenderable;
12
- export type RuiSliderViewProps = JsxCustomElementAttributes<RuiSliderElement, RuiSliderProps & {
13
- values?: [number, number];
14
- }>;
12
+ export type RuiSliderViewProps = JsxCustomElementAttributes<RuiSliderElement, RuiSliderProps>;
15
13
  /**
16
- * Single- or dual-thumb slider styled with CSS variables on the track and thumbs.
17
- * When `children` is omitted, the view supplies a default `RuiSliderValue` that
18
- * the element shows or hides through `showValue`.
14
+ * Single- or dual-thumb slider. Stamps the full `[data-ref]` tree under `[data-ref="root"]`.
15
+ * When `children` is omitted, supplies a default `RuiSliderValue` with `[data-default-value]`
16
+ * that the host shows or hides through `showValue`. The default readout and track geometry
17
+ * are seeded from the current value so SSR matches the hydrated control.
18
+ *
19
+ * @cssclass rui-slider - Root; wraps the label, track, and value readout.
20
+ * @cssclass rui-slider--single - Single-thumb layout.
21
+ * @cssclass rui-slider--range - Dual-thumb layout.
22
+ * @cssclass rui-slider--vertical - Vertical track layout.
23
+ * @cssclass rui-slider__header - Label + readout row.
24
+ * @cssclass rui-slider__label - Optional visible label.
25
+ * @cssclass rui-slider__range - Track wrapper.
26
+ * @cssclass rui-slider__range-track - Track surface (`data-ref="rangeTrack"`).
27
+ * @cssclass rui-slider__range-fill - Filled span between origin and value(s).
28
+ * @cssclass rui-slider__thumb - Thumb button (`role="slider"`, `data-thumb`).
19
29
  */
20
- export declare function RuiSlider({ values, variant, orientation, label, showValue, valueTitle, disabled, name, min, max, children, ...props }: RuiSliderViewProps): import("@ecopages/jsx").JsxRenderable;
30
+ export declare function RuiSlider({ variant, orientation, label, showValue, valueTitle, disabled, name, min, max, step, value, valuePrecision, minDistance, children, ...props }: RuiSliderViewProps): import("@ecopages/jsx").JsxRenderable;
@@ -1,14 +1,14 @@
1
- import { RadiantElement } from '@ecopages/radiant';
1
+ import { FormAssociatedElement, type FormValue } from '@ecopages/radiant/form-associated-element';
2
2
  import type { EventEmitter } from '@ecopages/radiant/tools/event-emitter';
3
+ import { type ViewNumericValue } from '../shared/multi-value';
4
+ import { type NumericRange } from '../shared/numeric-range';
3
5
  export type RuiSliderVariant = 'single' | 'range';
4
6
  export type RuiSliderOrientation = 'horizontal' | 'vertical';
5
7
  export type RuiSliderThumb = 'value' | 'min' | 'max';
6
8
  export type RuiSliderProps = {
7
9
  variant?: RuiSliderVariant;
8
10
  orientation?: RuiSliderOrientation;
9
- value?: number;
10
- rangeMin?: number;
11
- rangeMax?: number;
11
+ value?: ViewNumericValue;
12
12
  min?: number;
13
13
  max?: number;
14
14
  step?: number;
@@ -28,16 +28,94 @@ export type RuiSliderProps = {
28
28
  valueTitle?: boolean;
29
29
  };
30
30
  export type RuiSliderChangeDetail = {
31
- value: number;
32
- } | {
33
- values: [number, number];
31
+ value: number[];
34
32
  };
33
+ /**
34
+ * Host `@prop` defaults. The view reuses these so SSR readout and track
35
+ * geometry match hydration.
36
+ */
37
+ export declare const SLIDER_DEFAULT_VALUE = 50;
38
+ export declare const SLIDER_DEFAULT_RANGE_MIN = 25;
39
+ export declare const SLIDER_DEFAULT_RANGE_MAX = 75;
40
+ export declare const SLIDER_DEFAULT_MAX = 100;
41
+ /** Normalizes view-level slider value inputs into a numeric array. */
42
+ export declare function normalizeSliderInputValues(options: {
43
+ variant?: RuiSliderVariant;
44
+ value?: ViewNumericValue;
45
+ }): number[];
46
+ /** Clamped values the view stamps for SSR and the host paints from props. */
47
+ export declare function resolveSliderValues(options: {
48
+ variant?: RuiSliderVariant;
49
+ values: number[];
50
+ min: number;
51
+ max: number;
52
+ step: number;
53
+ minDistance?: number;
54
+ }): number[];
55
+ /** Formats the live readout, tooltips, and `aria-valuetext`. */
56
+ export declare function formatSliderReadout(values: number[], step: number, valuePrecision?: number): string;
57
+ /** Clamped values, readout, and track CSS vars the view stamps for SSR. */
58
+ export declare function seedSliderView(options: {
59
+ variant?: RuiSliderVariant;
60
+ value?: ViewNumericValue;
61
+ min?: number;
62
+ max?: number;
63
+ step?: number;
64
+ minDistance?: number;
65
+ valuePrecision?: number;
66
+ }): {
67
+ variant: RuiSliderVariant;
68
+ min: number;
69
+ max: number;
70
+ step: number;
71
+ minDistance: number;
72
+ committed: number[];
73
+ readoutPrecision: number;
74
+ readoutText: string;
75
+ trackStyle: Record<string, string>;
76
+ isRange: boolean;
77
+ valuePrecision: number | undefined;
78
+ };
79
+ /** Inline track CSS variables for fill and thumb positions. */
80
+ export declare function sliderTrackCssVars(values: number[], range: NumericRange): Record<string, string>;
35
81
  /**
36
82
  * `<rui-slider>` — select a value from a continuous or discrete range.
37
83
  *
84
+ * The custom element is a behavior host: it does not render slider markup.
85
+ * Import the script and place light-DOM children that match the contract below,
86
+ * or use `RuiSlider` / `RuiSliderValue`, which stamp the same targets.
87
+ *
38
88
  * Single and range modes use a DOM track and `role="slider"` thumbs styled via CSS
39
89
  * variables — no `<canvas>` rendering.
40
90
  *
91
+ * ## Light-DOM contract
92
+ *
93
+ * Required:
94
+ * - `[data-ref="root"]` — root wrapper. Host toggles `rui-slider--single`,
95
+ * `rui-slider--range`, and `rui-slider--vertical` classes.
96
+ * - `[data-ref="rangeTrack"]` — pointer target and fill geometry host. Host sets
97
+ * inline `--rui-slider-*` CSS variables and optional `title` when `valueTitle`.
98
+ * The view seeds those variables so fill and thumbs match the value before hydration.
99
+ * - `[data-thumb]` — thumb buttons inside the track (`value`, `min`, or `max`).
100
+ * Host sets `hidden`, `disabled`, `tabindex`, `aria-label`, `aria-orientation`,
101
+ * `aria-valuemin`, `aria-valuemax`, `aria-valuenow`, `aria-valuetext`,
102
+ * `aria-readonly`, and range-specific `aria-valuemin` / `aria-valuemax` on thumbs.
103
+ *
104
+ * Optional:
105
+ * - `[data-ref="header"]` — label + readout row. Host toggles `hidden`.
106
+ * - `[data-ref="label"]` — visible label. Host sets `hidden` and `textContent` from `label`.
107
+ * - `[data-ref="value"]` — live readout. Host updates `textContent`. The view seeds
108
+ * the formatted value for SSR.
109
+ * - `[data-default-value]` — default readout stamped by the view when `children` is omitted.
110
+ * Host toggles `hidden` via `showValue`.
111
+ * - `[data-ref="singleThumb"]`, `[data-ref="rangeMinThumb"]`, `[data-ref="rangeMaxThumb"]`
112
+ * — map to `[data-thumb]` targets above.
113
+ *
114
+ * Do not set thumb `tabindex`, `aria-*` value attrs, or track CSS variables — the host
115
+ * owns those. Author `label` on the host for accessible names when no visible label node.
116
+ *
117
+ * Nested hosts: none.
118
+ *
41
119
  * @see https://www.w3.org/WAI/ARIA/apg/patterns/slider/
42
120
  * @see https://www.w3.org/WAI/ARIA/apg/patterns/slider-multithumb/
43
121
  *
@@ -45,9 +123,7 @@ export type RuiSliderChangeDetail = {
45
123
  *
46
124
  * @attr {('single'|'range')} variant - Single-thumb or dual-thumb range. Default: `single`.
47
125
  * @attr {('horizontal'|'vertical')} orientation - Track axis. Default: `horizontal`.
48
- * @attr {number} value - Selected value (single mode). Reflects to markup. Default: `50`.
49
- * @attr {number} range-min - Lower thumb value (range mode). Reflects to markup. Default: `25`.
50
- * @attr {number} range-max - Upper thumb value (range mode). Reflects to markup. Default: `75`.
126
+ * @attr {string} value - Comma-separated thumb values (`50` or `25,75`). Property is `number[]`.
51
127
  * @attr {number} min - Range minimum. Default: `0`.
52
128
  * @attr {number} max - Range maximum. Default: `100`.
53
129
  * @attr {number} step - Arrow-key and pointer snap interval. Default: `1`.
@@ -56,7 +132,7 @@ export type RuiSliderChangeDetail = {
56
132
  * @attr {boolean} disabled - Disables interaction. Default: `false`.
57
133
  * @attr {boolean} read-only - Blocks value changes while leaving thumbs focusable. Default: `false`.
58
134
  * @attr {string} label - Accessible name for the slider. Default: `''`.
59
- * @attr {string} name - Form field name. Range mode also writes `{name}-max`. Default: `''`.
135
+ * @attr {string} name - Form field name on this host. Range mode also submits `{name}-max`. Default: `''`.
60
136
  * @attr {boolean} show-value - Shows the default value readout below the track. Default: `false`.
61
137
  * @attr {boolean} value-title - Mirrors the live value in control `title` tooltips on hover. Default: `false`.
62
138
  *
@@ -65,48 +141,44 @@ export type RuiSliderChangeDetail = {
65
141
  * @cssprop --rui-slider-width - Root control width. Default: `100%` (`auto` when vertical).
66
142
  * @cssprop --rui-slider-height - Root control height. Default: `auto`.
67
143
  * @cssprop --rui-slider-gap - Spacing between label, track, and value. Default: `--space-inline`.
68
- * @cssprop --rui-slider-track-color - Range track background. Default: `--surface`.
144
+ * @cssprop --rui-track-mix - Unfilled track mix against `--on-background`. Inherited. Default: `22%`.
145
+ * @cssprop --rui-track-fill - Unfilled track color from that mix. Inherited.
146
+ * @cssprop --rui-track-color - Unfilled track color for slider and knob. Inherited; unset uses `--rui-track-fill`.
147
+ * @cssprop --rui-slider-track-color - Range track background. Default: `--rui-track-color` or `--rui-track-fill`.
69
148
  * @cssprop --rui-slider-fill-color - Range selected fill. Default: `--primary`.
70
149
  * @cssprop --rui-slider-track-radius - Track and fill corner radius. Default: `--radius-control`.
71
150
  * @cssprop --rui-slider-thumb-size - Range thumb diameter. Default: `1.25rem`.
72
151
  * @cssprop --rui-slider-thumb-border-width - Range thumb border width. Default: `2px`.
73
152
  * @cssprop --rui-slider-thumb-border-color - Range thumb border color. Default: `--primary`.
74
153
  * @cssprop --rui-slider-thumb-background - Range thumb fill. Default: `--background`.
75
- * @cssprop --rui-slider-thumb-shadow - Range thumb shadow. Default: `0 2px 8px rgb(0 0 0 / 0.12)`.
154
+ * @cssprop --rui-slider-thumb-shadow - Range thumb shadow. Default: `--shadow-control`.
76
155
  * @cssprop --rui-slider-thumb-radius - Thumb corner radius. Default: `--radius-control`.
77
156
  * @cssprop --rui-slider-value-color - Value readout color. Default: `--on-surface`.
78
157
  * @cssprop --rui-slider-focus-ring - Focus ring color. Default: `--focus-ring`.
79
158
  * @cssprop --rui-slider-focus-ring-width - Focus ring width. Default: `2px`.
80
159
  *
81
- * @fires rui-change - Emitted when the committed value changes; `detail.value` (single) or
82
- * `detail.values` `[min, max]` (range). Pointer drags emit on each distinct snap.
160
+ * @fires rui-change - Emitted when the committed value changes; `detail.value` is `number[]`
161
+ * (`[50]` single, `[25, 75]` range). Pointer drags emit on each distinct snap.
83
162
  *
84
163
  * @remarks
85
- * The composed surface is authored in `RuiSlider` / `RuiSliderValue`. The element
86
- * queries `data-ref` targets and updates live values imperatively.
87
164
  * `valuePrecision` formats the readout only. Committed values stay on the stepped model;
88
- * round or transform them in application code when needed.
165
+ * round or transform them in application code when needed. BEM classes live on the view;
166
+ * the host never queries them.
89
167
  */
90
- export declare class RuiSlider extends RadiantElement {
168
+ export declare class RuiSlider extends FormAssociatedElement {
91
169
  variant: RuiSliderVariant;
92
170
  orientation: RuiSliderOrientation;
93
- value: number;
94
- rangeMin: number;
95
- rangeMax: number;
171
+ value: number[];
96
172
  min: number;
97
173
  max: number;
98
174
  step: number;
99
175
  valuePrecision: number;
100
176
  minDistance: number;
101
- disabled: boolean;
102
177
  readOnly: boolean;
103
178
  label: string;
104
- name: string;
105
179
  showValue: boolean;
106
180
  valueTitle: boolean;
107
181
  changeEvent: EventEmitter<RuiSliderChangeDetail>;
108
- inputTarget: HTMLInputElement;
109
- maxInputTarget: HTMLInputElement;
110
182
  rootTarget: HTMLElement;
111
183
  headerTarget: HTMLElement;
112
184
  labelTarget: HTMLElement;
@@ -120,6 +192,11 @@ export declare class RuiSlider extends RadiantElement {
120
192
  private pending;
121
193
  private lastEmitted;
122
194
  protected onConnected(): void;
195
+ protected formValue(): FormValue;
196
+ protected formState(): FormValue;
197
+ protected restoreFormState(state: FormValue): void;
198
+ /** Reads authored `range-min` / `range-max` once when `value` is absent. */
199
+ private adoptLegacyRangeAttributes;
123
200
  onPropsUpdated(): void;
124
201
  private get isRange();
125
202
  private get isVertical();
@@ -142,7 +219,6 @@ export declare class RuiSlider extends RadiantElement {
142
219
  private syncThumbChrome;
143
220
  private getThumbChrome;
144
221
  private paint;
145
- private syncInputs;
146
222
  private syncValueTitle;
147
223
  private getValueTitles;
148
224
  private valueFromPointer;