@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/select/select.script.tsx", "../../../../src/components/ui/shared/field-label.ts", "../../../../src/components/ui/shared/floating-position.ts", "../../../../src/components/ui/shared/portal.ts", "../../../../src/components/ui/shared/popover-controller.ts", "../../../../src/components/ui/shared/collection-navigation.ts", "../../../../src/components/ui/shared/listbox-popover-behavior.ts", "../../../../src/components/ui/shared/multi-value.ts", "../../../../src/components/ui/select/select.tsx", "../../../../src/aria.ts", "../../../../src/lib/cx.ts", "../../../../src/lib/omit-props.ts", "../../../../src/lib/icons/chevron-down.tsx", "../../../../src/components/ui/listbox/listbox.tsx"],
4
- "sourcesContent": ["let _initProto, _initClass, _init_value, _init_extra_value, _init_label, _init_extra_label, _init_placeholder, _init_extra_placeholder, _init_disabled, _init_extra_disabled, _init_selectionMode, _init_extra_selectionMode, _init_shouldCloseOnSelect, _init_extra_shouldCloseOnSelect, _init_changeEvent, _init_extra_changeEvent, _init_rootTarget, _init_extra_rootTarget;\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 { findAssociatedLabel, syncFieldLabel } from \"../shared/field-label\";\nimport { ListboxPopoverBehavior } from \"../shared/listbox-popover-behavior\";\nimport { parseMultiValue, serializeMultiValue } from \"../shared/multi-value\";\nlet _RuiSelect;\nclass RuiSelect extends RadiantElement {\n static {\n ({\n e: [_init_value, _init_extra_value, _init_label, _init_extra_label, _init_placeholder, _init_extra_placeholder, _init_disabled, _init_extra_disabled, _init_selectionMode, _init_extra_selectionMode, _init_shouldCloseOnSelect, _init_extra_shouldCloseOnSelect, _init_changeEvent, _init_extra_changeEvent, _init_rootTarget, _init_extra_rootTarget, _initProto],\n c: [_RuiSelect, _initClass]\n } = _applyDecs(this, [customElement(\"rui-select\")], [[prop({\n type: String,\n reflect: true,\n defaultValue: \"\"\n }), 0, \"value\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"placeholder\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"disabled\"], [prop({\n type: String,\n attribute: \"selection-mode\",\n defaultValue: \"single\"\n }), 0, \"selectionMode\"], [prop({\n type: Boolean,\n attribute: \"should-close-on-select\"\n }), 0, \"shouldCloseOnSelect\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [query({\n ref: \"root\"\n }), 0, \"rootTarget\"], [onUpdated([\"value\", \"label\", \"placeholder\", \"disabled\", \"selectionMode\", \"shouldCloseOnSelect\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: \"[data-select-trigger], [data-select-toggle]\",\n type: \"click\"\n }), 2, \"onTriggerClick\"], [onEvent({\n selector: \"[data-select-trigger]\",\n type: \"keydown\",\n options: {\n capture: true\n }\n }), 2, \"onTriggerKeydown\"], [onEvent({\n selector: \"[data-select-listbox] [data-autocomplete-input]\",\n type: \"keydown\",\n options: {\n capture: true\n }\n }), 2, \"onSearchKeydown\"], [onEvent({\n selector: \"[data-select-listbox] [data-autocomplete-input]\",\n type: \"input\"\n }), 2, \"onSearchInput\"], [onEvent({\n selector: \"[data-select-value] rui-tag-group\",\n type: \"rui-remove\"\n }), 2, \"onTagRemove\"], [onEvent({\n selector: \"[data-select-value] [data-tag]\",\n type: \"click\"\n }), 2, \"onTagClick\"], [onEvent({\n selector: '[data-select-listbox] [role=\"option\"]',\n type: \"pointerover\"\n }), 2, \"onOptionPointerOver\"], [onEvent({\n selector: '[data-select-listbox] [role=\"option\"]',\n type: \"mousedown\"\n }), 2, \"onOptionMouseDown\"], [onEvent({\n selector: '[data-select-listbox] [role=\"option\"]',\n type: \"click\"\n }), 2, \"onOptionClick\"], [onEvent({\n ref: \"root\",\n type: \"focusout\"\n }), 2, \"onFocusOut\"], [onEvent({\n document: true,\n type: \"pointerdown\"\n }), 2, \"onDocumentPointerDown\"]], 0, void 0, RadiantElement));\n }\n constructor(...args) {\n super(...args);\n _init_extra_rootTarget(this);\n }\n value = (_initProto(this), _init_value(this));\n label = (_init_extra_value(this), _init_label(this));\n placeholder = (_init_extra_label(this), _init_placeholder(this));\n disabled = (_init_extra_placeholder(this), _init_disabled(this));\n selectionMode = (_init_extra_disabled(this), _init_selectionMode(this));\n shouldCloseOnSelect = (_init_extra_selectionMode(this), _init_shouldCloseOnSelect(this));\n changeEvent = (_init_extra_shouldCloseOnSelect(this), _init_changeEvent(this));\n open = (_init_extra_changeEvent(this), false);\n uid = Math.random().toString(36).slice(2, 9);\n listboxBehavior = new ListboxPopoverBehavior({\n getAnchor: () => this.rootTarget,\n getFloating: () => this.getListboxPopup(),\n getOpen: () => this.open,\n getOptions: () => this.getOptions(),\n getActiveDescendantHost: () => this.getActiveDescendantHost(),\n getOptionIdPrefix: () => `rui-select-option-${this.uid}`\n });\n rootTarget = _init_rootTarget(this);\n get listboxId() {\n return `rui-select-list-${this.uid}`;\n }\n get triggerId() {\n return `rui-select-trigger-${this.uid}`;\n }\n isMultiple() {\n return this.selectionMode === \"multiple\";\n }\n closesOnSelect() {\n if (this.shouldCloseOnSelect != null) {\n return this.shouldCloseOnSelect;\n }\n return !this.isMultiple();\n }\n getSelectedValues() {\n if (!this.value) {\n return [];\n }\n return parseMultiValue(this.value);\n }\n setSelectedValues(values) {\n this.value = serializeMultiValue(values);\n }\n getSearchInput() {\n return this.querySelector(\"[data-select-listbox] [data-autocomplete-input]\");\n }\n hasSearchInput() {\n return this.getSearchInput() != null;\n }\n /** Element that receives `aria-activedescendant` while the popup is open. */\n getActiveDescendantHost() {\n if (this.open && this.hasSearchInput()) {\n return this.getSearchInput();\n }\n return this.getTrigger();\n }\n resetSearchFilter() {\n const search = this.getSearchInput();\n if (!search || search.value === \"\") {\n return;\n }\n search.value = \"\";\n search.dispatchEvent(new Event(\"input\", {\n bubbles: true\n }));\n }\n syncSearchInput() {\n const search = this.getSearchInput();\n const trigger = this.getTrigger();\n const listbox = this.getListbox();\n if (!search || !listbox || !trigger) {\n return;\n }\n if (this.open) {\n search.setAttribute(\"role\", \"combobox\");\n search.setAttribute(\"aria-autocomplete\", \"list\");\n search.setAttribute(\"aria-expanded\", \"true\");\n search.setAttribute(\"aria-controls\", this.listboxId);\n trigger.removeAttribute(\"aria-activedescendant\");\n return;\n }\n search.removeAttribute(\"role\");\n search.removeAttribute(\"aria-autocomplete\");\n search.removeAttribute(\"aria-expanded\");\n search.removeAttribute(\"aria-controls\");\n search.removeAttribute(\"aria-activedescendant\");\n }\n focusPopupInput() {\n queueMicrotask(() => {\n this.getSearchInput()?.focus();\n });\n }\n /**\n * Resolves the multi-select chip host inside the value slot.\n *\n * @remarks\n * During Storybook/SSR upgrade, `querySelector` can return the host before\n * `rui-tag-group` is defined \u2014 treat that as absent until `setItems` exists.\n */\n getTagGroup() {\n const tagGroup = this.querySelector(\"[data-select-value] rui-tag-group\");\n if (!tagGroup || typeof tagGroup.setItems !== \"function\") {\n return null;\n }\n return tagGroup;\n }\n hasTagGroup() {\n return this.getTagGroup() != null;\n }\n syncTagGroup() {\n const tagGroup = this.getTagGroup();\n const valueElement = this.getValueElement();\n if (!tagGroup || !valueElement) {\n return;\n }\n const selected = this.getSelectedValues();\n const items = selected.flatMap(value => {\n const option = this.getOptions().find(item => this.getOptionValue(item) === value);\n return option ? [{\n value,\n label: this.getOptionLabel(option)\n }] : [];\n });\n tagGroup.embedded = true;\n tagGroup.setItems(items);\n tagGroup.value = this.value;\n this.syncTagGroupPlaceholder(valueElement, selected.length);\n }\n syncTagGroupPlaceholder(valueElement, selectedCount) {\n let placeholder = valueElement.querySelector(\"[data-select-placeholder]\");\n if (!this.placeholder) {\n placeholder?.remove();\n return;\n }\n if (!placeholder) {\n placeholder = document.createElement(\"span\");\n placeholder.setAttribute(\"data-select-placeholder\", \"true\");\n valueElement.insertBefore(placeholder, valueElement.firstChild);\n }\n placeholder.textContent = this.placeholder;\n placeholder.hidden = selectedCount > 0;\n valueElement.toggleAttribute(\"data-placeholder\", selectedCount === 0);\n }\n removeSelectedValue(value) {\n const selected = new Set(this.getSelectedValues());\n if (!selected.has(value)) {\n return;\n }\n selected.delete(value);\n this.setSelectedValues([...selected]);\n this.syncValueDisplay();\n this.syncOptionSelection();\n this.syncTagGroup();\n this.changeEvent.emit({\n value: this.value\n });\n }\n getTrigger() {\n return this.querySelector(\"[data-select-trigger]\");\n }\n getToggle() {\n return this.querySelector(\"[data-select-toggle]\");\n }\n getValueElement() {\n return this.querySelector(\"[data-select-value]\");\n }\n getListboxPopup() {\n return this.querySelector(\"[data-select-listbox]\");\n }\n getListbox() {\n const host = this.querySelector(\"rui-listbox\");\n if (host) {\n return host.querySelector('[role=\"listbox\"]');\n }\n return this.getListboxPopup();\n }\n getListboxHost() {\n return this.querySelector(\"rui-listbox\");\n }\n getOptions() {\n const listbox = this.getListbox();\n if (!listbox) {\n return [];\n }\n return Array.from(listbox.querySelectorAll('[role=\"option\"]'));\n }\n getOptionLabel(option) {\n return option.getAttribute(\"data-label\") || option.textContent?.trim() || \"\";\n }\n getOptionValue(option) {\n return option.getAttribute(\"data-value\") || this.getOptionLabel(option);\n }\n ensureOptionIds() {\n this.listboxBehavior.ensureOptionIds();\n }\n getAccessibleName() {\n const labelElement = findAssociatedLabel(this);\n return labelElement?.textContent?.trim() || this.label || \"Options\";\n }\n syncLabel() {\n const trigger = this.getTrigger();\n syncFieldLabel(this, trigger, {\n controlId: this.triggerId,\n label: this.label,\n labelId: `rui-select-label-${this.uid}`\n });\n }\n syncTrigger() {\n const trigger = this.getTrigger();\n const listbox = this.getListbox();\n const popup = this.getListboxPopup();\n if (!trigger || !listbox) {\n return;\n }\n if (!trigger.id) {\n trigger.id = this.triggerId;\n }\n if (!listbox.id) {\n listbox.id = this.listboxId;\n }\n trigger.setAttribute(\"role\", \"combobox\");\n trigger.setAttribute(\"aria-haspopup\", \"listbox\");\n trigger.setAttribute(\"aria-autocomplete\", \"none\");\n trigger.setAttribute(\"aria-expanded\", String(this.open));\n trigger.setAttribute(\"aria-controls\", this.listboxId);\n listbox.setAttribute(\"aria-label\", this.getAccessibleName());\n if (this.isMultiple()) {\n listbox.setAttribute(\"aria-multiselectable\", \"true\");\n } else {\n listbox.removeAttribute(\"aria-multiselectable\");\n }\n if (popup) {\n popup.removeAttribute(\"role\");\n popup.removeAttribute(\"aria-label\");\n popup.removeAttribute(\"aria-multiselectable\");\n }\n if (this.disabled) {\n trigger.disabled = true;\n }\n this.syncToggle();\n this.syncSearchInput();\n }\n syncToggle() {\n const toggle = this.getToggle();\n if (!toggle) {\n return;\n }\n toggle.setAttribute(\"aria-expanded\", String(this.open));\n toggle.disabled = this.disabled;\n }\n syncListboxHost() {\n const host = this.getListboxHost();\n if (!host) {\n return;\n }\n host.embedded = true;\n if (!this.isMultiple()) {\n host.value = this.value;\n }\n }\n syncValueDisplay() {\n if (this.hasTagGroup()) {\n this.syncTagGroup();\n return;\n }\n const valueElement = this.getValueElement();\n if (!valueElement || valueElement.childElementCount > 0) {\n return;\n }\n const selected = this.getSelectedValues();\n if (selected.length === 0) {\n valueElement.textContent = \"\";\n valueElement.toggleAttribute(\"data-placeholder\", true);\n if (this.placeholder) {\n valueElement.textContent = this.placeholder;\n }\n return;\n }\n valueElement.toggleAttribute(\"data-placeholder\", false);\n if (this.isMultiple()) {\n const labels = selected.map(value => {\n const match2 = this.getOptions().find(option => this.getOptionValue(option) === value);\n return match2 ? this.getOptionLabel(match2) : value;\n });\n valueElement.textContent = labels.join(\", \");\n return;\n }\n const match = this.getOptions().find(option => this.getOptionValue(option) === selected[0]);\n valueElement.textContent = match ? this.getOptionLabel(match) : selected[0];\n }\n syncOptionSelection() {\n const selected = new Set(this.getSelectedValues());\n for (const option of this.getOptions()) {\n const value = this.getOptionValue(option);\n const isSelected = selected.has(value);\n option.setAttribute(\"aria-selected\", String(isSelected));\n }\n }\n setOpen(next, options = {}) {\n const activate = options.activate ?? \"none\";\n this.open = next;\n const trigger = this.getTrigger();\n const popup = this.getListboxPopup();\n if (!trigger || !popup) {\n return;\n }\n trigger.setAttribute(\"aria-expanded\", String(next));\n popup.toggleAttribute(\"hidden\", !next);\n if (!next) {\n this.listboxBehavior.clearActiveOption();\n this.resetSearchFilter();\n this.syncSearchInput();\n this.listboxBehavior.syncPopoverPosition();\n return;\n }\n this.ensureOptionIds();\n this.syncSearchInput();\n this.listboxBehavior.syncPopoverPosition();\n if (this.hasSearchInput()) {\n this.focusPopupInput();\n }\n if (activate === \"first\") {\n const visible = this.listboxBehavior.getVisibleOptions();\n this.listboxBehavior.setActiveOption(visible.length ? 0 : -1);\n return;\n }\n if (activate === \"last\") {\n const visible = this.listboxBehavior.getVisibleOptions();\n this.listboxBehavior.setActiveOption(visible.length ? visible.length - 1 : -1);\n return;\n }\n this.listboxBehavior.clearActiveOption();\n }\n selectOption(option) {\n if (option.getAttribute(\"aria-disabled\") === \"true\") {\n return;\n }\n const optionValue = this.getOptionValue(option);\n if (this.isMultiple()) {\n const selected = new Set(this.getSelectedValues());\n if (selected.has(optionValue)) {\n selected.delete(optionValue);\n } else {\n selected.add(optionValue);\n }\n this.setSelectedValues([...selected]);\n } else {\n this.value = optionValue;\n }\n this.syncValueDisplay();\n this.syncOptionSelection();\n this.changeEvent.emit({\n value: this.value\n });\n if (this.closesOnSelect()) {\n this.resetSearchFilter();\n this.setOpen(false);\n this.getTrigger()?.focus();\n }\n }\n handleListboxKeydown(event2) {\n this.listboxBehavior.handleKeydown(event2, {\n isOpen: this.open,\n canUseSpace: !this.hasSearchInput(),\n closesOnTab: this.closesOnSelect(),\n enterWhenClosed: \"open\",\n enterWithoutActive: \"ignore\",\n onOpen: (activation = \"none\") => this.setOpen(true, {\n activate: activation\n }),\n onClose: reason => {\n this.setOpen(false);\n if (reason === \"arrow\" || reason === \"escape\") {\n this.getTrigger()?.focus();\n }\n },\n onSelectActive: () => {\n const option = this.listboxBehavior.getVisibleOptions()[this.listboxBehavior.activeOptionIndex];\n if (option) {\n this.selectOption(option);\n }\n }\n });\n }\n handleTriggerKeydown(event2) {\n this.handleListboxKeydown(event2);\n }\n initialize() {\n this.ensureOptionIds();\n this.syncLabel();\n this.syncTrigger();\n this.syncListboxHost();\n this.syncValueDisplay();\n this.syncOptionSelection();\n this.setOpen(false);\n }\n onConnected() {\n this.initialize();\n }\n disconnectedCallback() {\n this.listboxBehavior.destroy();\n super.disconnectedCallback();\n }\n onPropsUpdated() {\n this.syncLabel();\n this.syncTrigger();\n this.syncListboxHost();\n this.syncValueDisplay();\n this.syncOptionSelection();\n }\n onTriggerClick(event2) {\n event2.preventDefault();\n const trigger = this.getTrigger();\n if (!trigger || trigger.disabled) {\n return;\n }\n if (this.open) {\n this.setOpen(false);\n } else {\n this.setOpen(true);\n }\n if (this.open && this.hasSearchInput()) {\n this.focusPopupInput();\n return;\n }\n trigger.focus();\n }\n onTriggerKeydown(event2) {\n this.handleTriggerKeydown(event2);\n }\n onSearchKeydown(event2) {\n this.handleListboxKeydown(event2);\n }\n onSearchInput() {\n if (!this.open) {\n return;\n }\n this.listboxBehavior.clearActiveOption();\n }\n onTagRemove(event2) {\n const detail = event2.detail;\n if (!detail?.value) {\n return;\n }\n this.removeSelectedValue(detail.value);\n }\n onTagClick(event2) {\n const target = event2.target;\n if (target.closest(\"[data-tag-remove]\")) {\n return;\n }\n event2.stopPropagation();\n }\n onOptionPointerOver(event2) {\n if (!this.open) {\n return;\n }\n const option = event2.target.closest('[role=\"option\"]');\n if (!option || option.getAttribute(\"aria-disabled\") === \"true\" || option.hidden) {\n return;\n }\n const visible = this.listboxBehavior.getVisibleOptions();\n const index = visible.indexOf(option);\n if (index >= 0) {\n this.listboxBehavior.setActiveOption(index);\n }\n }\n onOptionMouseDown(event2) {\n event2.preventDefault();\n }\n onOptionClick(event2) {\n const option = event2.target.closest('[role=\"option\"]');\n if (option) {\n this.selectOption(option);\n }\n }\n onFocusOut(event2) {\n if (!this.listboxBehavior.shouldDismissFocus(event2.relatedTarget)) {\n return;\n }\n this.setOpen(false);\n }\n onDocumentPointerDown(event2) {\n if (!this.open) {\n return;\n }\n if (!this.listboxBehavior.shouldDismissPointer(event2.target)) {\n return;\n }\n this.setOpen(false);\n }\n static {\n _initClass();\n }\n}\nexport { _RuiSelect as RuiSelect };", "export function findAssociatedLabel(owner) {\n const previous = owner.previousElementSibling;\n if (previous?.tagName.toLowerCase() === \"label\") {\n return previous;\n }\n return owner.parentElement?.querySelector(\"[data-rui-field-label], label.rui-label\") ?? null;\n}\nexport function syncFieldLabel(owner, control, options) {\n if (!control || control.hasAttribute(\"data-rui-field-managed\")) {\n return;\n }\n const labelElement = findAssociatedLabel(owner);\n if (labelElement) {\n if (!labelElement.id) {\n labelElement.id = options.labelId;\n }\n if (!labelElement.htmlFor) {\n labelElement.htmlFor = options.controlId;\n }\n control.setAttribute(\"aria-labelledby\", labelElement.id);\n control.removeAttribute(\"aria-label\");\n return;\n }\n if (options.label) {\n control.setAttribute(\"aria-label\", options.label);\n control.removeAttribute(\"aria-labelledby\");\n return;\n }\n control.removeAttribute(\"aria-label\");\n control.removeAttribute(\"aria-labelledby\");\n}", "const OPPOSITE = {\n top: \"bottom\",\n bottom: \"top\",\n left: \"right\",\n right: \"left\"\n};\nconst DEFAULT_VIEWPORT_PADDING = 8;\nfunction parsePlacement(placement) {\n const dash = placement.indexOf(\"-\");\n if (dash === -1) return {\n side: placement,\n align: \"center\"\n };\n const side = placement.slice(0, dash);\n const align = placement.slice(dash + 1);\n return {\n side,\n align: align === \"start\" || align === \"end\" ? align : \"center\"\n };\n}\nfunction primaryAxis(side) {\n return side === \"top\" || side === \"bottom\" ? \"y\" : \"x\";\n}\nfunction coordsFor(anchor, size, side, align, gap) {\n const {\n width,\n height\n } = size;\n let x = 0;\n let y = 0;\n switch (side) {\n case \"top\":\n y = anchor.top - height - gap;\n break;\n case \"bottom\":\n y = anchor.bottom + gap;\n break;\n case \"left\":\n x = anchor.left - width - gap;\n break;\n case \"right\":\n x = anchor.right + gap;\n break;\n }\n if (primaryAxis(side) === \"y\") {\n if (align === \"start\") x = anchor.left;else if (align === \"end\") x = anchor.right - width;else x = anchor.left + (anchor.width - width) / 2;\n } else {\n if (align === \"start\") y = anchor.top;else if (align === \"end\") y = anchor.bottom - height;else y = anchor.top + (anchor.height - height) / 2;\n }\n return {\n x,\n y\n };\n}\nfunction overflowOnPrimary(coords, size, side, viewport) {\n const {\n padding,\n width: vw,\n height: vh\n } = viewport;\n if (side === \"top\") return Math.max(0, padding - coords.y);\n if (side === \"bottom\") return Math.max(0, coords.y + size.height - (vh - padding));\n if (side === \"left\") return Math.max(0, padding - coords.x);\n return Math.max(0, coords.x + size.width - (vw - padding));\n}\nfunction freeSpaceOnSide(anchor, size, side, viewport) {\n const {\n padding,\n width: vw,\n height: vh\n } = viewport;\n if (side === \"top\") return anchor.top - padding - size.height;\n if (side === \"bottom\") return vh - padding - size.height - anchor.bottom;\n if (side === \"left\") return anchor.left - padding - size.width;\n return vw - padding - size.width - anchor.right;\n}\nfunction toPlacement(side, align) {\n if (align === \"center\") {\n return side;\n }\n return `${side}-${align}`;\n}\nfunction clampCrossAxis(coords, size, side, viewport) {\n const {\n padding,\n width: vw,\n height: vh\n } = viewport;\n if (primaryAxis(side) === \"y\") {\n const maxX = Math.max(padding, vw - padding - size.width);\n return {\n x: Math.min(Math.max(coords.x, padding), maxX),\n y: coords.y\n };\n }\n const maxY = Math.max(padding, vh - padding - size.height);\n return {\n x: coords.x,\n y: Math.min(Math.max(coords.y, padding), maxY)\n };\n}\nexport function computeFloatingCoords(anchor, size, placement, gap, viewport = {\n width: typeof window === \"undefined\" ? 0 : window.innerWidth,\n height: typeof window === \"undefined\" ? 0 : window.innerHeight,\n padding: DEFAULT_VIEWPORT_PADDING\n}) {\n return computeFloatingPosition(anchor, size, placement, gap, viewport).coords;\n}\nexport function computeFloatingPosition(anchor, size, placement, gap, viewport = {\n width: typeof window === \"undefined\" ? 0 : window.innerWidth,\n height: typeof window === \"undefined\" ? 0 : window.innerHeight,\n padding: DEFAULT_VIEWPORT_PADDING\n}) {\n const {\n side: preferred,\n align\n } = parsePlacement(placement);\n const preferredCoords = coordsFor(anchor, size, preferred, align, gap);\n const preferredOverflow = overflowOnPrimary(preferredCoords, size, preferred, viewport);\n let side = preferred;\n let coords = preferredCoords;\n if (preferredOverflow > 0) {\n const flipped = OPPOSITE[preferred];\n const flippedCoords = coordsFor(anchor, size, flipped, align, gap);\n const preferredFree = freeSpaceOnSide(anchor, size, preferred, viewport);\n const flippedFree = freeSpaceOnSide(anchor, size, flipped, viewport);\n if (flippedFree > preferredFree) {\n side = flipped;\n coords = flippedCoords;\n }\n }\n return {\n coords: clampCrossAxis(coords, size, side, viewport),\n placement: toPlacement(side, align)\n };\n}\nexport function applyFloatingPosition(anchor, floating, placement, gap, options = {}) {\n const {\n coords,\n placement: resolved\n } = computeFloatingPosition(anchor.getBoundingClientRect(), {\n width: floating.offsetWidth,\n height: floating.offsetHeight\n }, placement, gap);\n Object.assign(floating.style, {\n position: \"fixed\",\n left: `${coords.x}px`,\n top: `${coords.y}px`,\n right: \"auto\",\n bottom: \"auto\",\n visibility: \"visible\"\n });\n if (options.matchAnchorWidth) {\n floating.style.width = `${anchor.offsetWidth}px`;\n }\n floating.setAttribute(\"data-placement\", resolved);\n return resolved;\n}\nexport function attachFloating({\n anchor,\n floating,\n getPlacement,\n gap,\n matchAnchorWidth\n}) {\n const update = () => {\n if (floating.hidden) return;\n applyFloatingPosition(anchor, floating, getPlacement(), gap, {\n matchAnchorWidth\n });\n };\n update();\n window.addEventListener(\"resize\", update);\n window.addEventListener(\"scroll\", update, true);\n const observer = new ResizeObserver(update);\n observer.observe(anchor);\n observer.observe(floating);\n return () => {\n window.removeEventListener(\"resize\", update);\n window.removeEventListener(\"scroll\", update, true);\n observer.disconnect();\n };\n}", "export function mountPortal(node, container = document.body) {\n const parent = node.parentNode;\n if (!parent) {\n return {\n unmount: () => {}\n };\n }\n const placeholder = document.createComment(\"rui-portal\");\n parent.insertBefore(placeholder, node);\n container.appendChild(node);\n return {\n unmount: () => {\n const restoreParent = placeholder.parentNode;\n if (!restoreParent) {\n return;\n }\n restoreParent.insertBefore(node, placeholder);\n placeholder.remove();\n }\n };\n}", "import { attachFloating } from \"./floating-position\";\nimport { mountPortal } from \"./portal\";\nexport function popoverContains(anchor, floating, node) {\n if (!node) {\n return false;\n }\n return Boolean(anchor?.contains(node) || floating?.contains(node));\n}\nexport function shouldDismissPopoverFocus(anchor, floating, relatedTarget) {\n if (!(relatedTarget instanceof Node)) {\n return true;\n }\n return !popoverContains(anchor, floating, relatedTarget);\n}\nexport function shouldDismissPopoverPointer(anchor, floating, target) {\n return !popoverContains(anchor, floating, target);\n}\nexport class PopoverController {\n config;\n cleanupFloating = null;\n portalHandle = null;\n floatingElement = null;\n constructor(config) {\n this.config = config;\n }\n updateConfig(patch) {\n this.config = {\n ...this.config,\n ...patch\n };\n }\n sync() {\n const floating = this.resolveFloating();\n if (!floating) {\n return;\n }\n const open = this.config.getOpen();\n if (!open) {\n this.teardown();\n floating.toggleAttribute(\"hidden\", true);\n return;\n }\n const anchor = this.config.getAnchor();\n if (!anchor) {\n return;\n }\n floating.toggleAttribute(\"hidden\", false);\n const usePortal = this.config.portal !== false;\n if (usePortal) {\n if (!this.portalHandle) {\n this.portalHandle = mountPortal(floating, this.config.portalContainer ?? document.body);\n }\n } else if (this.portalHandle) {\n this.portalHandle.unmount();\n this.portalHandle = null;\n }\n this.teardownFloating();\n this.cleanupFloating = attachFloating({\n anchor,\n floating,\n getPlacement: this.config.getPlacement,\n gap: this.config.gap ?? 8,\n matchAnchorWidth: this.config.matchAnchorWidth\n });\n }\n contains(node) {\n return popoverContains(this.config.getAnchor(), this.resolveFloating(), node);\n }\n getFloatingElement() {\n return this.resolveFloating();\n }\n teardown() {\n this.teardownFloating();\n if (this.portalHandle) {\n this.portalHandle.unmount();\n this.portalHandle = null;\n }\n }\n destroy() {\n this.teardown();\n this.floatingElement = null;\n }\n resolveFloating() {\n const configuredFloating = this.config.getFloating();\n if (configuredFloating) {\n this.floatingElement = configuredFloating;\n }\n return configuredFloating ?? this.floatingElement;\n }\n teardownFloating() {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n }\n}", "export function getVisibleCollectionOptions(options) {\n return options.filter(option => !option.hidden && option.getAttribute(\"aria-disabled\") !== \"true\");\n}\nexport function wrapCollectionIndex(index, direction, length) {\n if (length === 0) {\n return -1;\n }\n if (direction === 1) {\n return index >= length - 1 ? 0 : index + 1;\n }\n return index <= 0 ? length - 1 : index - 1;\n}\nexport function clearCollectionActive(options, activeHost) {\n activeHost?.removeAttribute(\"aria-activedescendant\");\n for (const option of options) {\n option.removeAttribute(\"data-active\");\n }\n}\nexport function setCollectionActive(options, visibleOptions, index, activeHost, idPrefix) {\n clearCollectionActive(options, activeHost);\n const active = visibleOptions[index];\n if (!active || !activeHost) {\n return null;\n }\n if (!active.id) {\n active.id = `${idPrefix}-${index}`;\n }\n active.setAttribute(\"data-active\", \"true\");\n activeHost.setAttribute(\"aria-activedescendant\", active.id);\n active.scrollIntoView({\n block: \"nearest\"\n });\n return active;\n}", "import { PopoverController, shouldDismissPopoverFocus, shouldDismissPopoverPointer } from \"./popover-controller\";\nimport { clearCollectionActive, getVisibleCollectionOptions, setCollectionActive, wrapCollectionIndex } from \"./collection-navigation\";\nexport class ListboxPopoverBehavior {\n config;\n popoverController;\n activeIndex = -1;\n visualFocus = false;\n constructor(config) {\n this.config = config;\n this.popoverController = new PopoverController({\n getAnchor: config.getAnchor,\n getFloating: config.getFloating,\n getOpen: config.getOpen,\n getPlacement: () => \"bottom-start\",\n gap: 4,\n portal: false,\n matchAnchorWidth: true\n });\n }\n get activeOptionIndex() {\n return this.activeIndex;\n }\n get hasVisualFocus() {\n return this.visualFocus;\n }\n ensureOptionIds() {\n this.config.getOptions().forEach((option, index) => {\n if (!option.id) {\n option.id = `${this.config.getOptionIdPrefix()}-${index}`;\n }\n });\n }\n getVisibleOptions() {\n return getVisibleCollectionOptions(this.config.getOptions());\n }\n clearActiveOption() {\n this.activeIndex = -1;\n this.visualFocus = false;\n clearCollectionActive(this.config.getOptions(), this.config.getActiveDescendantHost());\n }\n setActiveOption(index) {\n const visible = this.getVisibleOptions();\n if (index < 0 || index >= visible.length) {\n this.clearActiveOption();\n return;\n }\n this.activeIndex = index;\n this.visualFocus = true;\n setCollectionActive(this.config.getOptions(), visible, index, this.config.getActiveDescendantHost(), this.config.getOptionIdPrefix());\n }\n moveActive(direction, onOpen) {\n const visible = this.getVisibleOptions();\n if (!visible.length) {\n return;\n }\n if (!this.config.getOpen()) {\n onOpen(direction === 1 ? \"first\" : \"last\");\n return;\n }\n if (this.visualFocus) {\n this.setActiveOption(wrapCollectionIndex(this.activeIndex, direction, visible.length));\n return;\n }\n this.setActiveOption(direction === 1 ? 0 : visible.length - 1);\n }\n /** Handles the APG keys shared by select-only and autocomplete listboxes. */\n handleKeydown(event, options) {\n if (event.ctrlKey || event.shiftKey || event.metaKey) return;\n const handler = this.keydownHandlers[event.key];\n handler?.call(this, event, options);\n }\n keydownHandlers = {\n ArrowDown: this.handleArrowKey,\n ArrowUp: this.handleArrowKey,\n Escape: this.handleEscapeKey,\n Enter: this.handleActivationKey,\n \" \": this.handleActivationKey,\n Tab: this.handleTabKey\n };\n handleArrowKey(event, options) {\n event.preventDefault();\n event.stopPropagation();\n const direction = event.key === \"ArrowDown\" ? 1 : -1;\n if (event.altKey) {\n this.handleModifiedArrow(direction, options);\n return;\n }\n this.moveActive(direction, activation => options.onOpen(activation));\n }\n handleModifiedArrow(direction, options) {\n if (direction === 1 && !options.isOpen) options.onOpen();\n if (direction === -1 && options.isOpen) options.onClose(\"arrow\");\n }\n handleEscapeKey(event, options) {\n event.preventDefault();\n if (options.isOpen) options.onClose(\"escape\");else options.onEscapeWhenClosed?.();\n }\n handleActivationKey(event, options) {\n if (event.key === \" \" && !options.canUseSpace) return;\n if (!options.isOpen && options.enterWhenClosed === \"open\") {\n event.preventDefault();\n options.onOpen();\n return;\n }\n if (!options.isOpen) return;\n if (this.hasActiveOption()) {\n event.preventDefault();\n options.onSelectActive();\n return;\n }\n if (event.key === \"Enter\" && options.enterWithoutActive === \"close\") {\n event.preventDefault();\n options.onClose(\"enter\");\n }\n }\n handleTabKey(_event, options) {\n if (!options.isOpen) return;\n if (this.hasActiveOption() && options.closesOnTab) options.onSelectActive();else options.onClose(\"tab\");\n }\n hasActiveOption() {\n return this.visualFocus && Boolean(this.getVisibleOptions()[this.activeIndex]);\n }\n syncPopoverPosition() {\n this.popoverController.sync();\n }\n shouldDismissFocus(relatedTarget) {\n return shouldDismissPopoverFocus(this.config.getAnchor(), this.popoverController.getFloatingElement(), relatedTarget);\n }\n shouldDismissPointer(target) {\n return shouldDismissPopoverPointer(this.config.getAnchor(), this.popoverController.getFloatingElement(), target);\n }\n destroy() {\n this.popoverController.destroy();\n }\n}", "export function parseMultiValue(value) {\n if (!value) {\n return [];\n }\n return value.split(\",\").map(item => item.trim()).filter(Boolean);\n}\nexport function serializeMultiValue(values) {\n return values.join(\",\");\n}", "import { Fragment, jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { withDefaultAriaLabel } from \"@/aria\";\nimport { cx } from \"@/lib/cx\";\nimport { omitProps } from \"@/lib/omit-props\";\nimport { RuiIconChevronDown } from \"@/lib/icons\";\nimport { RuiListbox } from \"../listbox\";\nimport \"./select.script\";\nexport function RuiSelectControl({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-select__control\", className),\n children\n });\n}\nexport function RuiSelectTrigger({\n children,\n class: className,\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...omitProps(props, \"attr:type\"),\n type: \"button\",\n \"data-select-trigger\": true,\n \"data-rui-control\": true,\n \"data-rui-control-type\": \"text\",\n class: cx(\"rui-select__trigger\", className),\n disabled,\n children\n });\n}\nexport function RuiSelectToggle({\n children,\n class: className,\n aria,\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n aria: withDefaultAriaLabel(aria, \"Show options\"),\n type: \"button\",\n \"data-select-toggle\": true,\n class: cx(\"rui-control-toggle\", className),\n disabled,\n tabIndex: -1,\n children: children ?? /* @__PURE__ */jsx(RuiIconChevronDown, {})\n });\n}\nexport function RuiSelectValue({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"span\", {\n ...props,\n \"data-select-value\": true,\n class: cx(\"rui-select__value\", className),\n children\n });\n}\nexport function RuiSelectListbox({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-select-listbox\": true,\n class: cx(\"rui-select__listbox rui-popover rui-popover--listbox rui-floating\", className),\n children\n });\n}\nexport function RuiSelectSearch({\n placeholder,\n class: className,\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"input\", {\n ...props,\n type: \"search\",\n \"data-autocomplete-input\": true,\n class: cx(\"rui-select__search\", className),\n placeholder,\n disabled,\n autocomplete: \"off\"\n });\n}\nfunction resolveSelectDisplayText(options, value, placeholder) {\n const selected = typeof value === \"string\" ? value.trim() : \"\";\n const fallback = typeof placeholder === \"string\" ? placeholder : \"\";\n if (!selected) {\n return fallback;\n }\n const match = options?.find(option => option.value === selected);\n if (!match) {\n return selected;\n }\n return typeof match.label === \"string\" ? match.label : selected;\n}\nfunction SelectShell({\n children\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n class: \"rui-select\",\n \"data-ref\": \"root\",\n children\n });\n}\nexport function RuiSelect({\n options,\n children,\n ...props\n}) {\n const displayText = options != null ? resolveSelectDisplayText(options, props.value, props.placeholder) : \"\";\n return /* @__PURE__ */jsx(\"rui-select\", {\n ...props,\n children: /* @__PURE__ */jsx(SelectShell, {\n children: options == null ? children : /* @__PURE__ */jsxs(Fragment, {\n children: [/* @__PURE__ */jsxs(RuiSelectControl, {\n children: [/* @__PURE__ */jsx(RuiSelectTrigger, {\n children: /* @__PURE__ */jsx(RuiSelectValue, {\n children: displayText\n })\n }), /* @__PURE__ */jsx(RuiSelectToggle, {})]\n }), /* @__PURE__ */jsx(RuiSelectListbox, {\n children: /* @__PURE__ */jsx(RuiListbox, {\n embedded: true,\n options\n })\n })]\n })\n })\n });\n}", "export function withDefaultAriaLabel(aria, fallback) {\n if (fallback === void 0 || aria?.label !== void 0) {\n return aria;\n }\n return {\n ...aria,\n label: fallback\n };\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}", "export function omitProps(props, ...keys) {\n const next = {\n ...props\n };\n for (const key of keys) {\n delete next[key];\n }\n return next;\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nexport function RuiIconChevronDown({\n class: className,\n size = \"sm\",\n ...props\n}) {\n return /* @__PURE__ */jsx(\"svg\", {\n ...props,\n class: cx(\"rui-icon\", size === \"md\" && \"rui-icon--md\", className),\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */jsx(\"path\", {\n d: \"m6 9 6 6 6-6\"\n })\n });\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport \"./listbox.script\";\nexport function RuiListboxOption({\n value,\n label,\n children,\n class: className,\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-listbox__option\", className),\n role: \"option\",\n \"data-value\": value,\n \"data-label\": label,\n \"aria-disabled\": disabled ? \"true\" : void 0,\n tabindex: -1,\n children\n });\n}\nfunction listboxIsBordered(embedded, bordered) {\n if (bordered != null) {\n return bordered;\n }\n return !embedded;\n}\nfunction ListboxShell({\n bordered,\n children,\n disabled,\n label\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n class: cx(\"rui-listbox\", bordered && \"rui-listbox--bordered\"),\n role: \"listbox\",\n \"data-rui-control\": true,\n \"data-rui-control-type\": \"text\",\n \"aria-label\": label || void 0,\n \"aria-disabled\": disabled ? \"true\" : void 0,\n children\n });\n}\nexport function RuiListbox({\n options,\n children,\n embedded,\n bordered,\n label,\n disabled,\n ...props\n}) {\n const isBordered = listboxIsBordered(embedded, bordered);\n if (options != null) {\n return /* @__PURE__ */jsx(\"rui-listbox\", {\n ...props,\n embedded,\n bordered,\n label,\n disabled,\n children: /* @__PURE__ */jsx(ListboxShell, {\n bordered: isBordered,\n disabled,\n label,\n children: options.map(option => /* @__PURE__ */jsx(RuiListboxOption, {\n value: option.value,\n label: typeof option.label === \"string\" ? option.label : void 0,\n disabled: option.disabled,\n children: option.label\n }))\n })\n });\n }\n return /* @__PURE__ */jsx(\"rui-listbox\", {\n ...props,\n embedded,\n bordered,\n label,\n disabled,\n children: /* @__PURE__ */jsx(ListboxShell, {\n bordered: isBordered,\n disabled,\n label,\n children\n })\n });\n}"],
5
- "mappings": "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",
6
- "names": ["RadiantElement", "customElement", "event", "onEvent", "onUpdated", "prop", "query", "findAssociatedLabel", "owner", "previous", "syncFieldLabel", "control", "options", "labelElement", "OPPOSITE", "DEFAULT_VIEWPORT_PADDING", "parsePlacement", "placement", "dash", "side", "align", "primaryAxis", "coordsFor", "anchor", "size", "gap", "width", "height", "x", "y", "overflowOnPrimary", "coords", "viewport", "padding", "vw", "vh", "freeSpaceOnSide", "toPlacement", "clampCrossAxis", "maxX", "maxY", "computeFloatingPosition", "anchor", "size", "placement", "gap", "viewport", "DEFAULT_VIEWPORT_PADDING", "preferred", "align", "parsePlacement", "preferredCoords", "coordsFor", "preferredOverflow", "overflowOnPrimary", "side", "coords", "flipped", "OPPOSITE", "flippedCoords", "preferredFree", "freeSpaceOnSide", "clampCrossAxis", "toPlacement", "applyFloatingPosition", "floating", "options", "resolved", "attachFloating", "getPlacement", "matchAnchorWidth", "update", "observer", "mountPortal", "node", "container", "parent", "placeholder", "restoreParent", "popoverContains", "anchor", "floating", "node", "shouldDismissPopoverFocus", "relatedTarget", "shouldDismissPopoverPointer", "target", "PopoverController", "config", "patch", "mountPortal", "attachFloating", "configuredFloating", "getVisibleCollectionOptions", "options", "option", "wrapCollectionIndex", "index", "direction", "length", "clearCollectionActive", "activeHost", "setCollectionActive", "visibleOptions", "idPrefix", "active", "ListboxPopoverBehavior", "config", "PopoverController", "option", "index", "getVisibleCollectionOptions", "clearCollectionActive", "visible", "setCollectionActive", "direction", "onOpen", "wrapCollectionIndex", "event", "options", "activation", "_event", "relatedTarget", "shouldDismissPopoverFocus", "target", "shouldDismissPopoverPointer", "parseMultiValue", "value", "item", "serializeMultiValue", "values", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_label", "_init_extra_label", "_init_placeholder", "_init_extra_placeholder", "_init_disabled", "_init_extra_disabled", "_init_selectionMode", "_init_extra_selectionMode", "_init_shouldCloseOnSelect", "_init_extra_shouldCloseOnSelect", "_init_changeEvent", "_init_extra_changeEvent", "_init_rootTarget", "_init_extra_rootTarget", "_applyDecs", "e", "n", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "r", "o", "b", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiSelect", "RuiSelect", "RadiantElement", "customElement", "prop", "event", "query", "onUpdated", "onEvent", "args", "ListboxPopoverBehavior", "parseMultiValue", "values", "serializeMultiValue", "search", "trigger", "listbox", "tagGroup", "valueElement", "selected", "items", "value", "option", "item", "selectedCount", "placeholder", "host", "findAssociatedLabel", "syncFieldLabel", "popup", "toggle", "labels", "match2", "match", "isSelected", "next", "options", "activate", "visible", "optionValue", "event2", "activation", "reason", "detail", "index", "Fragment", "jsx", "jsxs", "withDefaultAriaLabel", "aria", "fallback", "cx", "parts", "omitProps", "props", "keys", "next", "key", "jsx", "RuiIconChevronDown", "className", "size", "props", "jsx", "cx", "jsx", "RuiListboxOption", "value", "label", "children", "className", "disabled", "props", "jsx", "cx", "listboxIsBordered", "embedded", "bordered", "ListboxShell", "RuiListbox", "options", "isBordered", "option", "RuiSelectControl", "children", "className", "props", "jsx", "cx", "RuiSelectTrigger", "disabled", "omitProps", "RuiSelectToggle", "aria", "withDefaultAriaLabel", "RuiIconChevronDown", "RuiSelectValue", "RuiSelectListbox", "RuiSelectSearch", "placeholder", "resolveSelectDisplayText", "options", "value", "selected", "fallback", "match", "option", "SelectShell", "RuiSelect", "displayText", "jsxs", "Fragment", "RuiListbox"]
3
+ "sources": ["../../../../src/components/ui/select/select.script.tsx", "../../../../src/lib/unique-id.ts", "../../../../src/components/ui/shared/field-label.ts", "../../../../src/components/ui/shared/listbox-option.ts", "../../../../src/components/ui/shared/listbox-host-controller.ts", "../../../../src/components/ui/shared/floating-position.ts", "../../../../src/components/ui/shared/portal.ts", "../../../../src/components/ui/shared/popover-controller.ts", "../../../../src/components/ui/shared/collection-navigation.ts", "../../../../src/components/ui/shared/listbox-popover-behavior.ts", "../../../../src/components/ui/shared/multi-value.ts", "../../../../src/components/ui/select/select.tsx", "../../../../src/aria.ts", "../../../../src/lib/cx.ts", "../../../../src/lib/icons/check.tsx", "../../../../src/lib/icons/chevron-down.tsx", "../../../../src/lib/icons/x.tsx", "../../../../src/components/ui/listbox/listbox.script.tsx", "../../../../src/lib/roving-tabindex.ts", "../../../../src/components/ui/listbox/listbox.tsx", "../../../../src/components/ui/tag-group/tag-group.script.tsx", "../../../../src/components/ui/tag-group/tag-group.tsx"],
4
+ "sourcesContent": ["let _initProto, _initClass, _init_value, _init_extra_value, _init_label, _init_extra_label, _init_placeholder, _init_extra_placeholder, _init_disabled, _init_extra_disabled, _init_selectionMode, _init_extra_selectionMode, _init_shouldCloseOnSelect, _init_extra_shouldCloseOnSelect, _init_triggerKind, _init_extra_triggerKind, _init_changeEvent, _init_extra_changeEvent, _init_rootTarget, _init_extra_rootTarget;\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, bindTo, customElement, event, onEvent, onUpdated, prop, query } from \"@ecopages/radiant\";\nimport { uniqueId } from \"@/lib/unique-id\";\nimport { findAssociatedLabel, syncFieldLabel } from \"../shared/field-label\";\nimport { ListboxHostController } from \"../shared/listbox-host-controller\";\nimport { getListboxOptionValue } from \"../shared/listbox-option\";\nimport { ListboxPopoverBehavior } from \"../shared/listbox-popover-behavior\";\nimport { multiValuePropOptions } from \"../shared/multi-value\";\nlet _RuiSelect;\nclass RuiSelect extends RadiantElement {\n static {\n ({\n e: [_init_value, _init_extra_value, _init_label, _init_extra_label, _init_placeholder, _init_extra_placeholder, _init_disabled, _init_extra_disabled, _init_selectionMode, _init_extra_selectionMode, _init_shouldCloseOnSelect, _init_extra_shouldCloseOnSelect, _init_triggerKind, _init_extra_triggerKind, _init_changeEvent, _init_extra_changeEvent, _init_rootTarget, _init_extra_rootTarget, _initProto],\n c: [_RuiSelect, _initClass]\n } = _applyDecs(this, [customElement(\"rui-select\")], [[[prop({\n ...multiValuePropOptions,\n defaultValue: []\n }), bindTo({\n selector: \"[data-select-clear]\",\n bool: \"hidden\",\n map: value => value.length === 0\n })], 0, \"value\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"placeholder\"], [[prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), bindTo([{\n selector: \"[data-select-trigger]\",\n attr: \"aria-disabled\",\n map: disabled => disabled ? \"true\" : void 0\n }, {\n selector: \"[data-select-trigger]\",\n prop: \"tabIndex\",\n map: disabled => disabled ? -1 : 0\n }, {\n selector: \"[data-select-toggle]\",\n prop: \"disabled\"\n }, {\n selector: \"[data-select-clear]\",\n prop: \"disabled\"\n }])], 0, \"disabled\"], [prop({\n type: String,\n attribute: \"selection-mode\",\n defaultValue: \"single\"\n }), 0, \"selectionMode\"], [prop({\n type: Boolean,\n attribute: \"should-close-on-select\"\n }), 0, \"shouldCloseOnSelect\"], [prop({\n type: String,\n attribute: \"trigger-kind\",\n reflect: true,\n defaultValue: \"manual\"\n }), 0, \"triggerKind\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [query({\n ref: \"root\"\n }), 0, \"rootTarget\"], [onUpdated([\"value\", \"label\", \"placeholder\", \"disabled\", \"triggerKind\", \"selectionMode\", \"shouldCloseOnSelect\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: \"[data-select-trigger], [data-select-toggle]\",\n type: \"pointerdown\"\n }), 2, \"onTriggerPointerDown\"], [onEvent({\n selector: \"[data-select-trigger], [data-select-toggle]\",\n type: \"click\"\n }), 2, \"onTriggerClick\"], [onEvent({\n selector: \"[data-select-trigger]\",\n type: \"keydown\",\n options: {\n capture: true\n }\n }), 2, \"onTriggerKeydown\"], [onEvent({\n selector: \"[data-select-listbox] [data-autocomplete-input]\",\n type: \"keydown\",\n options: {\n capture: true\n }\n }), 2, \"onSearchKeydown\"], [onEvent({\n selector: \"[data-select-listbox] [data-autocomplete-input]\",\n type: \"input\"\n }), 2, \"onSearchInput\"], [onEvent({\n selector: \"[data-select-value] rui-tag-group\",\n type: \"rui-remove\"\n }), 2, \"onTagRemove\"], [onEvent({\n selector: \"[data-select-clear]\",\n type: \"click\"\n }), 2, \"onClearClick\"], [onEvent({\n selector: \"[data-select-value] [data-tag]\",\n type: \"click\"\n }), 2, \"onTagClick\"], [onEvent({\n selector: '[data-select-listbox] [role=\"option\"]',\n type: \"pointerover\"\n }), 2, \"onOptionPointerOver\"], [onEvent({\n selector: '[data-select-listbox] [role=\"option\"]',\n type: \"mousedown\"\n }), 2, \"onOptionMouseDown\"], [onEvent({\n selector: '[data-select-listbox] [role=\"option\"]',\n type: \"click\"\n }), 2, \"onOptionClick\"], [onEvent({\n ref: \"root\",\n type: \"focusin\"\n }), 2, \"onRootFocusIn\"], [onEvent({\n ref: \"root\",\n type: \"focusout\"\n }), 2, \"onFocusOut\"], [onEvent({\n document: true,\n type: \"pointerdown\"\n }), 2, \"onDocumentPointerDown\"]], 0, void 0, RadiantElement));\n }\n constructor(...args) {\n super(...args);\n _init_extra_rootTarget(this);\n }\n value = (_initProto(this), _init_value(this));\n label = (_init_extra_value(this), _init_label(this));\n placeholder = (_init_extra_label(this), _init_placeholder(this));\n disabled = (_init_extra_placeholder(this), _init_disabled(this));\n selectionMode = (_init_extra_disabled(this), _init_selectionMode(this));\n shouldCloseOnSelect = (_init_extra_selectionMode(this), _init_shouldCloseOnSelect(this));\n triggerKind = (_init_extra_shouldCloseOnSelect(this), _init_triggerKind(this));\n changeEvent = (_init_extra_triggerKind(this), _init_changeEvent(this));\n open = (_init_extra_changeEvent(this), false);\n uid = uniqueId(\"rui-select\");\n collection = new ListboxHostController({\n getRoot: () => this,\n getSelectionMode: () => this.selectionMode,\n getValue: () => this.value,\n setValue: value => {\n this.value = value;\n },\n getPopup: () => this.getListboxPopup(),\n tagGroupSelector: \"[data-select-value] rui-tag-group\"\n });\n listboxBehavior = new ListboxPopoverBehavior({\n getAnchor: () => this.rootTarget,\n getFloating: () => this.getListboxPopup(),\n getOpen: () => this.open,\n getOptions: () => this.collection.getOptions(),\n getActiveDescendantHost: () => this.getActiveDescendantHost(),\n getOptionIdPrefix: () => `${this.uid}-option`\n });\n rootTarget = _init_rootTarget(this);\n get listboxId() {\n return `${this.uid}-list`;\n }\n get triggerId() {\n return `${this.uid}-trigger`;\n }\n isMultiple() {\n return this.selectionMode === \"multiple\";\n }\n closesOnSelect() {\n if (this.shouldCloseOnSelect != null) {\n return this.shouldCloseOnSelect;\n }\n return !this.isMultiple();\n }\n getSearchInput() {\n return this.querySelector(\"[data-select-listbox] [data-autocomplete-input]\");\n }\n hasSearchInput() {\n return this.getSearchInput() != null;\n }\n /** Element that receives `aria-activedescendant` while the popup is open. */\n getActiveDescendantHost() {\n if (this.open && this.hasSearchInput()) {\n return this.getSearchInput();\n }\n return this.getTrigger();\n }\n resetSearchFilter() {\n const search = this.getSearchInput();\n if (!search || search.value === \"\") {\n return;\n }\n search.value = \"\";\n search.dispatchEvent(new Event(\"input\", {\n bubbles: true\n }));\n }\n syncSearchInput() {\n const search = this.getSearchInput();\n const trigger = this.getTrigger();\n const listbox = this.collection.getListbox();\n if (!search || !listbox || !trigger) {\n return;\n }\n if (this.open) {\n search.setAttribute(\"role\", \"combobox\");\n search.setAttribute(\"aria-autocomplete\", \"list\");\n search.setAttribute(\"aria-expanded\", \"true\");\n search.setAttribute(\"aria-controls\", this.listboxId);\n trigger.removeAttribute(\"aria-activedescendant\");\n return;\n }\n search.removeAttribute(\"role\");\n search.removeAttribute(\"aria-autocomplete\");\n search.removeAttribute(\"aria-expanded\");\n search.removeAttribute(\"aria-controls\");\n search.removeAttribute(\"aria-activedescendant\");\n }\n focusPopupInput() {\n queueMicrotask(() => {\n this.getSearchInput()?.focus();\n });\n }\n hasTagGroup() {\n return this.collection.getTagGroup() != null;\n }\n syncTagGroup() {\n const valueElement = this.getValueElement();\n this.collection.syncTagGroup();\n if (!valueElement || !this.hasTagGroup()) {\n return;\n }\n this.syncTagGroupPlaceholder(valueElement, this.collection.getSelectedValues().length);\n }\n syncTagGroupPlaceholder(valueElement, selectedCount) {\n let placeholder = valueElement.querySelector(\"[data-select-placeholder]\");\n if (!this.placeholder) {\n placeholder?.remove();\n return;\n }\n if (!placeholder) {\n placeholder = document.createElement(\"span\");\n placeholder.setAttribute(\"data-select-placeholder\", \"true\");\n valueElement.insertBefore(placeholder, valueElement.firstChild);\n }\n placeholder.textContent = this.placeholder;\n placeholder.hidden = selectedCount > 0;\n valueElement.toggleAttribute(\"data-placeholder\", selectedCount === 0);\n }\n removeSelectedValue(value) {\n if (!this.collection.removeValue(value)) {\n return;\n }\n this.syncValueDisplay();\n this.collection.syncOptionSelection();\n this.syncTagGroup();\n this.changeEvent.emit({\n value: this.value\n });\n }\n clearSelection() {\n if (!this.collection.clearValues()) return;\n this.syncValueDisplay();\n this.collection.syncOptionSelection();\n this.syncTagGroup();\n this.changeEvent.emit({\n value: []\n });\n this.getTrigger()?.focus();\n }\n getTrigger() {\n return this.querySelector(\"[data-select-trigger]\");\n }\n isTriggerFocusTarget(target) {\n const trigger = this.getTrigger();\n if (!trigger || !(target instanceof Node)) {\n return false;\n }\n if (!trigger.contains(target)) {\n return false;\n }\n return !(target instanceof Element && target.closest(\"[data-tag-remove]\"));\n }\n getToggle() {\n return this.querySelector(\"[data-select-toggle]\");\n }\n getValueElement() {\n return this.querySelector(\"[data-select-value]\");\n }\n getListboxPopup() {\n return this.querySelector(\"[data-select-listbox]\");\n }\n ensureOptionIds() {\n this.listboxBehavior.ensureOptionIds();\n }\n getAccessibleName() {\n const labelElement = findAssociatedLabel(this);\n return labelElement?.textContent?.trim() || this.label || \"Options\";\n }\n syncLabel() {\n const trigger = this.getTrigger();\n syncFieldLabel(this, trigger, {\n controlId: this.triggerId,\n label: this.label,\n labelId: `${this.uid}-label`\n });\n }\n syncTrigger() {\n const trigger = this.getTrigger();\n const listbox = this.collection.getListbox();\n const popup = this.getListboxPopup();\n if (!trigger || !listbox) {\n return;\n }\n if (!trigger.id) {\n trigger.id = this.triggerId;\n }\n if (!listbox.id) {\n listbox.id = this.listboxId;\n }\n trigger.setAttribute(\"role\", \"combobox\");\n trigger.setAttribute(\"aria-haspopup\", \"listbox\");\n trigger.setAttribute(\"aria-autocomplete\", \"none\");\n trigger.setAttribute(\"aria-expanded\", String(this.open));\n trigger.setAttribute(\"aria-controls\", this.listboxId);\n listbox.setAttribute(\"aria-label\", this.getAccessibleName());\n this.collection.syncMultiselectable(listbox);\n if (popup) {\n popup.removeAttribute(\"role\");\n popup.removeAttribute(\"aria-label\");\n popup.removeAttribute(\"aria-multiselectable\");\n }\n this.syncToggle();\n this.syncSearchInput();\n }\n syncToggle() {\n const toggle = this.getToggle();\n if (!toggle) {\n return;\n }\n toggle.setAttribute(\"aria-expanded\", String(this.open));\n }\n syncValueDisplay() {\n if (this.hasTagGroup()) {\n this.syncTagGroup();\n return;\n }\n const valueElement = this.getValueElement();\n if (!valueElement || valueElement.childElementCount > 0) {\n return;\n }\n const selected = this.collection.getSelectedValues();\n if (selected.length === 0) {\n valueElement.textContent = \"\";\n valueElement.toggleAttribute(\"data-placeholder\", true);\n if (this.placeholder) {\n valueElement.textContent = this.placeholder;\n }\n return;\n }\n valueElement.toggleAttribute(\"data-placeholder\", false);\n if (this.isMultiple()) {\n valueElement.textContent = selected.map(value => this.collection.labelForValue(value)).join(\", \");\n return;\n }\n valueElement.textContent = this.collection.labelForValue(selected[0]);\n }\n setOpen(next, options = {}) {\n const activate = options.activate ?? \"none\";\n this.open = next;\n const trigger = this.getTrigger();\n const popup = this.getListboxPopup();\n if (!trigger || !popup) {\n return;\n }\n trigger.setAttribute(\"aria-expanded\", String(next));\n popup.toggleAttribute(\"hidden\", !next);\n if (!next) {\n this.listboxBehavior.clearActiveOption();\n this.resetSearchFilter();\n this.syncSearchInput();\n this.listboxBehavior.syncPopoverPosition();\n return;\n }\n this.ensureOptionIds();\n this.syncSearchInput();\n this.listboxBehavior.syncPopoverPosition();\n if (this.hasSearchInput()) {\n this.focusPopupInput();\n }\n if (activate === \"first\") {\n const visible = this.listboxBehavior.getVisibleOptions();\n this.listboxBehavior.setActiveOption(visible.length ? 0 : -1);\n return;\n }\n if (activate === \"last\") {\n const visible = this.listboxBehavior.getVisibleOptions();\n this.listboxBehavior.setActiveOption(visible.length ? visible.length - 1 : -1);\n return;\n }\n this.listboxBehavior.clearActiveOption();\n }\n selectOption(option) {\n if (!this.collection.isSelectableOption(option)) {\n return;\n }\n this.collection.toggleValue(getListboxOptionValue(option));\n this.syncValueDisplay();\n this.collection.syncOptionSelection();\n this.changeEvent.emit({\n value: this.value\n });\n if (this.closesOnSelect()) {\n this.resetSearchFilter();\n this.setOpen(false);\n this.getTrigger()?.focus();\n }\n }\n handleListboxKeydown(event2) {\n this.listboxBehavior.handleKeydown(event2, {\n isOpen: this.open,\n canUseSpace: !this.hasSearchInput(),\n closesOnTab: this.closesOnSelect(),\n enterWhenClosed: \"open\",\n enterWithoutActive: \"ignore\",\n onOpen: (activation = \"none\") => this.setOpen(true, {\n activate: activation\n }),\n onClose: reason => {\n this.setOpen(false);\n if (reason === \"arrow\" || reason === \"escape\") {\n this.getTrigger()?.focus();\n }\n },\n onSelectActive: () => {\n const option = this.listboxBehavior.getVisibleOptions()[this.listboxBehavior.activeOptionIndex];\n if (option) {\n this.selectOption(option);\n }\n }\n });\n }\n handleTriggerKeydown(event2) {\n this.handleListboxKeydown(event2);\n }\n initialize() {\n this.ensureOptionIds();\n this.syncLabel();\n this.syncTrigger();\n this.collection.syncListboxHost();\n this.syncValueDisplay();\n this.collection.syncOptionSelection();\n this.setOpen(false);\n }\n onConnected() {\n this.initialize();\n }\n disconnectedCallback() {\n this.listboxBehavior.destroy();\n super.disconnectedCallback();\n }\n onPropsUpdated() {\n this.syncLabel();\n this.syncTrigger();\n this.collection.syncListboxHost();\n this.syncValueDisplay();\n this.collection.syncOptionSelection();\n }\n onTriggerPointerDown(event2) {\n if (this.triggerKind === \"focus\") {\n event2.preventDefault();\n }\n }\n onTriggerClick(event2) {\n event2.preventDefault();\n const trigger = this.getTrigger();\n if (!trigger || this.disabled) {\n return;\n }\n if (this.open) {\n this.setOpen(false);\n } else {\n this.setOpen(true);\n }\n if (this.open && this.hasSearchInput()) {\n this.focusPopupInput();\n return;\n }\n trigger.focus();\n }\n onTriggerKeydown(event2) {\n this.handleTriggerKeydown(event2);\n }\n onSearchKeydown(event2) {\n this.handleListboxKeydown(event2);\n }\n onSearchInput() {\n if (!this.open) {\n return;\n }\n this.listboxBehavior.clearActiveOption();\n }\n onTagRemove(event2) {\n const detail = event2.detail;\n if (!detail?.value) {\n return;\n }\n this.removeSelectedValue(detail.value);\n }\n onClearClick(event2) {\n event2.preventDefault();\n event2.stopPropagation();\n this.clearSelection();\n }\n onTagClick(event2) {\n const target = event2.target;\n if (target.closest(\"[data-tag-remove]\")) {\n return;\n }\n event2.stopPropagation();\n }\n onOptionPointerOver(event2) {\n if (!this.open) {\n return;\n }\n const option = this.collection.findOption(event2.target);\n if (!this.collection.isSelectableOption(option)) {\n return;\n }\n const visible = this.listboxBehavior.getVisibleOptions();\n const index = visible.indexOf(option);\n if (index >= 0) {\n this.listboxBehavior.setActiveOption(index);\n }\n }\n onOptionMouseDown(event2) {\n event2.preventDefault();\n }\n onOptionClick(event2) {\n const option = this.collection.findOption(event2.target);\n if (option) {\n this.selectOption(option);\n }\n }\n onRootFocusIn(event2) {\n if (this.triggerKind !== \"focus\" || this.disabled || this.open || !this.isTriggerFocusTarget(event2.target)) {\n return;\n }\n if (event2.relatedTarget instanceof Node && this.contains(event2.relatedTarget)) {\n return;\n }\n this.setOpen(true);\n }\n onFocusOut(event2) {\n if (!this.listboxBehavior.shouldDismissFocus(event2.relatedTarget)) {\n return;\n }\n this.setOpen(false);\n }\n onDocumentPointerDown(event2) {\n if (!this.open) {\n return;\n }\n if (!this.listboxBehavior.shouldDismissPointer(event2.target)) {\n return;\n }\n this.setOpen(false);\n }\n static {\n _initClass();\n }\n}\nexport { _RuiSelect as RuiSelect };", "const CSS_SAFE_ID = /^[A-Za-z][A-Za-z0-9_-]*$/;\nexport function isCssSafeId(value) {\n return CSS_SAFE_ID.test(value);\n}\nfunction cssSafePrefix(prefix) {\n const trimmed = prefix.trim();\n if (isCssSafeId(trimmed)) {\n return trimmed;\n }\n const prefixed = `rui-${trimmed}`;\n if (trimmed && isCssSafeId(prefixed)) {\n return prefixed;\n }\n return \"rui\";\n}\nexport function uniqueId(prefix) {\n const token = typeof crypto.randomUUID === \"function\" ? crypto.randomUUID().replace(/-/g, \"\") : Array.from(crypto.getRandomValues(new Uint8Array(16)), byte => byte.toString(16).padStart(2, \"0\")).join(\"\");\n return `${cssSafePrefix(prefix)}-${token}`;\n}", "export function findAssociatedLabel(owner) {\n const previous = owner.previousElementSibling;\n if (previous?.tagName.toLowerCase() === \"label\") {\n return previous;\n }\n return owner.parentElement?.querySelector(\"[data-rui-field-label]\") ?? null;\n}\nexport function bindVisibleLabel(label, control, options) {\n if (!label.id) {\n label.id = options.labelId;\n }\n if (!label.htmlFor) {\n label.htmlFor = options.controlId;\n }\n control.setAttribute(\"aria-labelledby\", label.id);\n control.removeAttribute(\"aria-label\");\n}\nexport function syncFieldLabel(owner, control, options) {\n if (!control || control.hasAttribute(\"data-rui-field-managed\")) {\n return;\n }\n const labelElement = findAssociatedLabel(owner);\n if (labelElement) {\n bindVisibleLabel(labelElement, control, options);\n return;\n }\n if (options.label) {\n control.setAttribute(\"aria-label\", options.label);\n control.removeAttribute(\"aria-labelledby\");\n return;\n }\n control.removeAttribute(\"aria-label\");\n control.removeAttribute(\"aria-labelledby\");\n}", "const OPTION_INDICATOR_ATTR = \"data-listbox-option-indicator\";\nexport function getListboxOptionLabel(option) {\n const label = option.getAttribute(\"data-label\");\n if (label) {\n return label;\n }\n return collectLabelText(option).trim();\n}\nexport function getListboxOptionValue(option) {\n return option.getAttribute(\"data-value\") || getListboxOptionLabel(option);\n}\nfunction collectLabelText(node) {\n if (isOptionIndicator(node)) {\n return \"\";\n }\n if (node.nodeType === Node.TEXT_NODE) {\n return node.textContent ?? \"\";\n }\n let text = \"\";\n for (const child of node.childNodes) {\n text += collectLabelText(child);\n }\n return text;\n}\nfunction isOptionIndicator(node) {\n return node instanceof HTMLElement && node.hasAttribute(OPTION_INDICATOR_ATTR);\n}", "import { getListboxOptionLabel, getListboxOptionValue } from \"./listbox-option\";\nexport class ListboxHostController {\n config;\n constructor(config) {\n this.config = config;\n }\n getListboxHost() {\n return this.config.getRoot()?.querySelector(\"rui-listbox\") ?? null;\n }\n getListbox() {\n const host = this.getListboxHost();\n if (host) {\n return host.querySelector('[role=\"listbox\"]') ?? host;\n }\n return this.config.getPopup?.() ?? null;\n }\n getOptions() {\n const listbox = this.getListbox();\n if (!listbox) {\n return [];\n }\n return Array.from(listbox.querySelectorAll('[role=\"option\"]'));\n }\n getSelectedValues() {\n return this.config.getValue();\n }\n setSelectedValues(values) {\n this.config.setValue(values);\n }\n toggleValue(optionValue) {\n if (this.config.getSelectionMode() === \"multiple\") {\n const selected = new Set(this.getSelectedValues());\n if (selected.has(optionValue)) {\n selected.delete(optionValue);\n } else {\n selected.add(optionValue);\n }\n this.setSelectedValues([...selected]);\n return;\n }\n this.setSelectedValues([optionValue]);\n }\n removeValue(optionValue) {\n const selected = new Set(this.getSelectedValues());\n if (!selected.delete(optionValue)) {\n return false;\n }\n this.setSelectedValues([...selected]);\n return true;\n }\n clearValues() {\n if (this.getSelectedValues().length === 0) {\n return false;\n }\n this.setSelectedValues([]);\n return true;\n }\n findOption(eventTarget) {\n if (!(eventTarget instanceof Element)) {\n return null;\n }\n const option = eventTarget.closest('[role=\"option\"]');\n return option ?? null;\n }\n isSelectableOption(option) {\n return option != null && option.getAttribute(\"aria-disabled\") !== \"true\" && !option.hidden;\n }\n syncListboxHost() {\n const host = this.getListboxHost();\n if (!host) {\n return;\n }\n host.embedded = true;\n host.selectionMode = this.config.getSelectionMode();\n host.value = this.config.getValue();\n }\n syncOptionSelection() {\n const selected = new Set(this.getSelectedValues());\n for (const option of this.getOptions()) {\n option.setAttribute(\"aria-selected\", String(selected.has(getListboxOptionValue(option))));\n }\n }\n syncMultiselectable(listbox) {\n if (!listbox) {\n return;\n }\n if (this.config.getSelectionMode() === \"multiple\") {\n listbox.setAttribute(\"aria-multiselectable\", \"true\");\n return;\n }\n listbox.removeAttribute(\"aria-multiselectable\");\n }\n getTagGroup() {\n const selector = this.config.tagGroupSelector;\n if (!selector) {\n return null;\n }\n const tagGroup = this.config.getRoot()?.querySelector(selector) ?? null;\n if (!tagGroup || typeof tagGroup.setItems !== \"function\") {\n return null;\n }\n return tagGroup;\n }\n syncTagGroup() {\n const tagGroup = this.getTagGroup();\n if (!tagGroup) {\n return;\n }\n const items = this.getSelectedValues().flatMap(value => {\n const option = this.getOptions().find(item => getListboxOptionValue(item) === value);\n return option ? [{\n value,\n label: getListboxOptionLabel(option)\n }] : [];\n });\n tagGroup.embedded = true;\n tagGroup.setItems(items);\n tagGroup.value = this.config.getValue();\n }\n labelForValue(value) {\n const match = this.getOptions().find(option => getListboxOptionValue(option) === value);\n return match ? getListboxOptionLabel(match) : value;\n }\n}", "const OPPOSITE = {\n top: \"bottom\",\n bottom: \"top\",\n left: \"right\",\n right: \"left\"\n};\nconst DEFAULT_VIEWPORT_PADDING = 8;\nconst matchAnchorWidthStylesApplied = /* @__PURE__ */new WeakMap();\nfunction clearMatchAnchorWidthStyles(floating) {\n if (!matchAnchorWidthStylesApplied.has(floating)) {\n return;\n }\n floating.style.width = \"\";\n floating.style.minWidth = \"\";\n floating.style.maxWidth = \"\";\n floating.style.boxSizing = \"\";\n matchAnchorWidthStylesApplied.delete(floating);\n}\nfunction parsePlacement(placement) {\n const dash = placement.indexOf(\"-\");\n if (dash === -1) return {\n side: placement,\n align: \"center\"\n };\n const side = placement.slice(0, dash);\n const align = placement.slice(dash + 1);\n return {\n side,\n align: align === \"start\" || align === \"end\" ? align : \"center\"\n };\n}\nfunction primaryAxis(side) {\n return side === \"top\" || side === \"bottom\" ? \"y\" : \"x\";\n}\nfunction coordsFor(anchor, size, side, align, gap) {\n const {\n width,\n height\n } = size;\n let x = 0;\n let y = 0;\n switch (side) {\n case \"top\":\n y = anchor.top - height - gap;\n break;\n case \"bottom\":\n y = anchor.bottom + gap;\n break;\n case \"left\":\n x = anchor.left - width - gap;\n break;\n case \"right\":\n x = anchor.right + gap;\n break;\n }\n if (primaryAxis(side) === \"y\") {\n if (align === \"start\") x = anchor.left;else if (align === \"end\") x = anchor.right - width;else x = anchor.left + (anchor.width - width) / 2;\n } else {\n if (align === \"start\") y = anchor.top;else if (align === \"end\") y = anchor.bottom - height;else y = anchor.top + (anchor.height - height) / 2;\n }\n return {\n x,\n y\n };\n}\nfunction overflowOnPrimary(coords, size, side, viewport) {\n const {\n padding,\n width: vw,\n height: vh\n } = viewport;\n if (side === \"top\") return Math.max(0, padding - coords.y);\n if (side === \"bottom\") return Math.max(0, coords.y + size.height - (vh - padding));\n if (side === \"left\") return Math.max(0, padding - coords.x);\n return Math.max(0, coords.x + size.width - (vw - padding));\n}\nfunction freeSpaceOnSide(anchor, size, side, viewport) {\n const {\n padding,\n width: vw,\n height: vh\n } = viewport;\n if (side === \"top\") return anchor.top - padding - size.height;\n if (side === \"bottom\") return vh - padding - size.height - anchor.bottom;\n if (side === \"left\") return anchor.left - padding - size.width;\n return vw - padding - size.width - anchor.right;\n}\nfunction toPlacement(side, align) {\n if (align === \"center\") {\n return side;\n }\n return `${side}-${align}`;\n}\nfunction clampCrossAxis(coords, size, side, viewport) {\n const {\n padding,\n width: vw,\n height: vh\n } = viewport;\n if (primaryAxis(side) === \"y\") {\n const maxX = Math.max(padding, vw - padding - size.width);\n return {\n x: Math.min(Math.max(coords.x, padding), maxX),\n y: Math.max(padding, coords.y)\n };\n }\n const maxY = Math.max(padding, vh - padding - size.height);\n return {\n x: Math.max(padding, coords.x),\n y: Math.min(Math.max(coords.y, padding), maxY)\n };\n}\nexport function computeFloatingCoords(anchor, size, placement, gap, viewport = {\n width: typeof window === \"undefined\" ? 0 : window.innerWidth,\n height: typeof window === \"undefined\" ? 0 : window.innerHeight,\n padding: DEFAULT_VIEWPORT_PADDING\n}) {\n return computeFloatingPosition(anchor, size, placement, gap, viewport).coords;\n}\nexport function computeFloatingPosition(anchor, size, placement, gap, viewport = {\n width: typeof window === \"undefined\" ? 0 : window.innerWidth,\n height: typeof window === \"undefined\" ? 0 : window.innerHeight,\n padding: DEFAULT_VIEWPORT_PADDING\n}) {\n const {\n side: preferred,\n align\n } = parsePlacement(placement);\n const preferredCoords = coordsFor(anchor, size, preferred, align, gap);\n const preferredOverflow = overflowOnPrimary(preferredCoords, size, preferred, viewport);\n let side = preferred;\n let coords = preferredCoords;\n if (preferredOverflow > 0) {\n const flipped = OPPOSITE[preferred];\n const flippedCoords = coordsFor(anchor, size, flipped, align, gap);\n const preferredFree = freeSpaceOnSide(anchor, size, preferred, viewport);\n const flippedFree = freeSpaceOnSide(anchor, size, flipped, viewport);\n if (flippedFree > preferredFree) {\n side = flipped;\n coords = flippedCoords;\n }\n }\n return {\n coords: clampCrossAxis(coords, size, side, viewport),\n placement: toPlacement(side, align)\n };\n}\nexport function applyFloatingPosition(anchor, floating, placement, gap, options = {}) {\n const matchAnchorWidth = options.matchAnchorWidth === true;\n const anchorWidth = anchor.offsetWidth;\n const size = matchAnchorWidth ? {\n width: anchorWidth,\n height: floating.offsetHeight\n } : {\n width: floating.offsetWidth,\n height: floating.offsetHeight\n };\n if (matchAnchorWidth) {\n floating.style.width = `${anchorWidth}px`;\n floating.style.minWidth = `${anchorWidth}px`;\n floating.style.maxWidth = `${anchorWidth}px`;\n floating.style.boxSizing = \"border-box\";\n matchAnchorWidthStylesApplied.set(floating, true);\n } else {\n clearMatchAnchorWidthStyles(floating);\n }\n const {\n coords,\n placement: resolved\n } = computeFloatingPosition(anchor.getBoundingClientRect(), size, placement, gap);\n Object.assign(floating.style, {\n position: \"fixed\",\n left: `${coords.x}px`,\n top: `${coords.y}px`,\n right: \"auto\",\n bottom: \"auto\",\n visibility: \"visible\"\n });\n floating.setAttribute(\"data-placement\", resolved);\n return resolved;\n}\nexport function attachFloating({\n anchor,\n floating,\n getPlacement,\n gap,\n matchAnchorWidth\n}) {\n const update = () => {\n if (floating.hidden) return;\n applyFloatingPosition(anchor, floating, getPlacement(), gap, {\n matchAnchorWidth\n });\n };\n update();\n window.addEventListener(\"resize\", update);\n window.addEventListener(\"scroll\", update, true);\n const observer = new ResizeObserver(update);\n observer.observe(anchor);\n observer.observe(floating);\n return () => {\n window.removeEventListener(\"resize\", update);\n window.removeEventListener(\"scroll\", update, true);\n observer.disconnect();\n };\n}", "export function mountPortal(node, container = document.body) {\n const parent = node.parentNode;\n if (!parent) {\n return {\n unmount: () => {}\n };\n }\n const placeholder = document.createComment(\"rui-portal\");\n parent.insertBefore(placeholder, node);\n container.appendChild(node);\n return {\n unmount: () => {\n const restoreParent = placeholder.parentNode;\n if (!restoreParent) {\n return;\n }\n restoreParent.insertBefore(node, placeholder);\n placeholder.remove();\n }\n };\n}", "import { attachFloating } from \"./floating-position\";\nimport { mountPortal } from \"./portal\";\nexport function popoverContains(anchor, floating, node) {\n if (!node) {\n return false;\n }\n return Boolean(anchor?.contains(node) || floating?.contains(node));\n}\nexport function shouldDismissPopoverFocus(anchor, floating, relatedTarget) {\n if (!(relatedTarget instanceof Node)) {\n return true;\n }\n return !popoverContains(anchor, floating, relatedTarget);\n}\nexport function shouldDismissPopoverPointer(anchor, floating, target) {\n return !popoverContains(anchor, floating, target);\n}\nexport class PopoverController {\n config;\n cleanupFloating = null;\n portalHandle = null;\n floatingElement = null;\n constructor(config) {\n this.config = config;\n }\n updateConfig(patch) {\n this.config = {\n ...this.config,\n ...patch\n };\n }\n sync() {\n const floating = this.resolveFloating();\n if (!floating) {\n return;\n }\n const open = this.config.getOpen();\n if (!open) {\n this.teardown();\n floating.toggleAttribute(\"hidden\", true);\n return;\n }\n const anchor = this.config.getAnchor();\n if (!anchor) {\n return;\n }\n floating.toggleAttribute(\"hidden\", false);\n const usePortal = this.config.portal !== false;\n if (usePortal) {\n if (!this.portalHandle) {\n this.portalHandle = mountPortal(floating, this.config.portalContainer ?? document.body);\n }\n } else if (this.portalHandle) {\n this.portalHandle.unmount();\n this.portalHandle = null;\n }\n this.teardownFloating();\n this.cleanupFloating = attachFloating({\n anchor,\n floating,\n getPlacement: this.config.getPlacement,\n gap: this.config.gap ?? 8,\n matchAnchorWidth: this.config.matchAnchorWidth\n });\n }\n contains(node) {\n return popoverContains(this.config.getAnchor(), this.resolveFloating(), node);\n }\n getFloatingElement() {\n return this.resolveFloating();\n }\n teardown() {\n this.teardownFloating();\n if (this.portalHandle) {\n this.portalHandle.unmount();\n this.portalHandle = null;\n }\n }\n destroy() {\n this.teardown();\n this.floatingElement = null;\n }\n resolveFloating() {\n const configuredFloating = this.config.getFloating();\n if (configuredFloating) {\n this.floatingElement = configuredFloating;\n }\n return configuredFloating ?? this.floatingElement;\n }\n teardownFloating() {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n }\n}", "export function getVisibleCollectionOptions(options) {\n return options.filter(option => !option.hidden && option.getAttribute(\"aria-disabled\") !== \"true\");\n}\nexport function wrapCollectionIndex(index, direction, length) {\n if (length === 0) {\n return -1;\n }\n if (direction === 1) {\n return index >= length - 1 ? 0 : index + 1;\n }\n return index <= 0 ? length - 1 : index - 1;\n}\nexport function clearCollectionActive(options, activeHost) {\n activeHost?.removeAttribute(\"aria-activedescendant\");\n for (const option of options) {\n option.removeAttribute(\"data-active\");\n }\n}\nexport function setCollectionActive(options, visibleOptions, index, activeHost, idPrefix) {\n clearCollectionActive(options, activeHost);\n const active = visibleOptions[index];\n if (!active || !activeHost) {\n return null;\n }\n if (!active.id) {\n active.id = `${idPrefix}-${index}`;\n }\n active.setAttribute(\"data-active\", \"true\");\n activeHost.setAttribute(\"aria-activedescendant\", active.id);\n active.scrollIntoView({\n block: \"nearest\"\n });\n return active;\n}", "import { PopoverController, shouldDismissPopoverFocus, shouldDismissPopoverPointer } from \"./popover-controller\";\nimport { clearCollectionActive, getVisibleCollectionOptions, setCollectionActive, wrapCollectionIndex } from \"./collection-navigation\";\nexport class ListboxPopoverBehavior {\n config;\n popoverController;\n activeIndex = -1;\n visualFocus = false;\n constructor(config) {\n this.config = config;\n this.popoverController = new PopoverController({\n getAnchor: config.getAnchor,\n getFloating: config.getFloating,\n getOpen: config.getOpen,\n getPlacement: () => \"bottom-start\",\n gap: 4,\n portal: false,\n matchAnchorWidth: true\n });\n }\n get activeOptionIndex() {\n return this.activeIndex;\n }\n get hasVisualFocus() {\n return this.visualFocus;\n }\n ensureOptionIds() {\n this.config.getOptions().forEach((option, index) => {\n if (!option.id) {\n option.id = `${this.config.getOptionIdPrefix()}-${index}`;\n }\n });\n }\n getVisibleOptions() {\n return getVisibleCollectionOptions(this.config.getOptions());\n }\n clearActiveOption() {\n this.activeIndex = -1;\n this.visualFocus = false;\n clearCollectionActive(this.config.getOptions(), this.config.getActiveDescendantHost());\n }\n setActiveOption(index) {\n const visible = this.getVisibleOptions();\n if (index < 0 || index >= visible.length) {\n this.clearActiveOption();\n return;\n }\n this.activeIndex = index;\n this.visualFocus = true;\n setCollectionActive(this.config.getOptions(), visible, index, this.config.getActiveDescendantHost(), this.config.getOptionIdPrefix());\n }\n moveActive(direction, onOpen) {\n const visible = this.getVisibleOptions();\n if (!visible.length) {\n return;\n }\n if (!this.config.getOpen()) {\n onOpen(direction === 1 ? \"first\" : \"last\");\n return;\n }\n if (this.visualFocus) {\n this.setActiveOption(wrapCollectionIndex(this.activeIndex, direction, visible.length));\n return;\n }\n this.setActiveOption(direction === 1 ? 0 : visible.length - 1);\n }\n /** Handles the APG keys shared by select-only and autocomplete listboxes. */\n handleKeydown(event, options) {\n if (event.ctrlKey || event.shiftKey || event.metaKey) return;\n const handler = this.keydownHandlers[event.key];\n handler?.call(this, event, options);\n }\n keydownHandlers = {\n ArrowDown: this.handleArrowKey,\n ArrowUp: this.handleArrowKey,\n Escape: this.handleEscapeKey,\n Enter: this.handleActivationKey,\n \" \": this.handleActivationKey,\n Tab: this.handleTabKey\n };\n handleArrowKey(event, options) {\n event.preventDefault();\n event.stopPropagation();\n const direction = event.key === \"ArrowDown\" ? 1 : -1;\n if (event.altKey) {\n this.handleModifiedArrow(direction, options);\n return;\n }\n this.moveActive(direction, activation => options.onOpen(activation));\n }\n handleModifiedArrow(direction, options) {\n if (direction === 1 && !options.isOpen) options.onOpen();\n if (direction === -1 && options.isOpen) options.onClose(\"arrow\");\n }\n handleEscapeKey(event, options) {\n event.preventDefault();\n if (options.isOpen) options.onClose(\"escape\");else options.onEscapeWhenClosed?.();\n }\n handleActivationKey(event, options) {\n if (event.key === \" \" && !options.canUseSpace) return;\n if (!options.isOpen && options.enterWhenClosed === \"open\") {\n event.preventDefault();\n options.onOpen();\n return;\n }\n if (!options.isOpen) return;\n if (this.hasActiveOption()) {\n event.preventDefault();\n options.onSelectActive();\n return;\n }\n if (event.key === \"Enter\" && options.enterWithoutActive === \"close\") {\n event.preventDefault();\n options.onClose(\"enter\");\n }\n }\n handleTabKey(_event, options) {\n if (!options.isOpen) return;\n if (this.hasActiveOption() && options.closesOnTab) options.onSelectActive();else options.onClose(\"tab\");\n }\n hasActiveOption() {\n return this.visualFocus && Boolean(this.getVisibleOptions()[this.activeIndex]);\n }\n syncPopoverPosition() {\n this.popoverController.sync();\n }\n shouldDismissFocus(relatedTarget) {\n return shouldDismissPopoverFocus(this.config.getAnchor(), this.popoverController.getFloatingElement(), relatedTarget);\n }\n shouldDismissPointer(target) {\n return shouldDismissPopoverPointer(this.config.getAnchor(), this.popoverController.getFloatingElement(), target);\n }\n destroy() {\n this.popoverController.destroy();\n }\n}", "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}", "import { Fragment, jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { withDefaultAriaLabel } from \"@/aria\";\nimport { cx } from \"@/lib/cx\";\nimport { RuiIconChevronDown, RuiIconX } from \"@/lib/icons\";\nimport { RuiListbox } from \"../listbox\";\nimport { parseViewValue } from \"../shared/multi-value\";\nimport { RuiTagGroup } from \"../tag-group\";\nimport \"./select.script\";\nexport function RuiSelectControl({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-select__control\", className),\n children\n });\n}\nexport function RuiSelectTrigger({\n children,\n class: className,\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-select-trigger\": true,\n \"data-rui-control\": true,\n \"data-rui-control-type\": \"text\",\n class: cx(\"rui-select__trigger\", className),\n tabIndex: disabled ? -1 : 0,\n \"aria-disabled\": disabled ? \"true\" : void 0,\n children\n });\n}\nexport function RuiSelectToggle({\n children,\n class: className,\n aria,\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n aria: withDefaultAriaLabel(aria, \"Show options\"),\n type: \"button\",\n \"data-select-toggle\": true,\n class: cx(\"rui-control-toggle\", className),\n disabled,\n tabIndex: -1,\n children: children ?? /* @__PURE__ */jsx(RuiIconChevronDown, {})\n });\n}\nexport function RuiSelectClear({\n children,\n class: className,\n aria,\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n aria: withDefaultAriaLabel(aria, \"Clear selection\"),\n type: \"button\",\n \"data-select-clear\": true,\n class: cx(\"rui-control-clear\", className),\n disabled,\n children: children ?? /* @__PURE__ */jsx(RuiIconX, {})\n });\n}\nexport function RuiSelectValue({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"span\", {\n ...props,\n \"data-select-value\": true,\n class: cx(\"rui-select__value\", className),\n children\n });\n}\nexport function RuiSelectListbox({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-select-listbox\": true,\n class: cx(\"rui-select__listbox rui-popover rui-popover--listbox rui-floating\", className),\n children\n });\n}\nexport function RuiSelectSearch({\n placeholder,\n class: className,\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"input\", {\n ...props,\n type: \"search\",\n \"data-autocomplete-input\": true,\n class: cx(\"rui-select__search\", className),\n placeholder,\n disabled,\n autocomplete: \"off\"\n });\n}\nfunction resolveSelectDisplayText(options, value, placeholder) {\n const selected = parseViewValue(value)[0] ?? \"\";\n const fallback = typeof placeholder === \"string\" ? placeholder : \"\";\n if (!selected) {\n return fallback;\n }\n const match = options?.find(option => option.value === selected);\n if (!match) {\n return selected;\n }\n return typeof match.label === \"string\" ? match.label : selected;\n}\nfunction SelectShell({\n children\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n class: \"rui-select\",\n \"data-ref\": \"root\",\n children\n });\n}\nexport function RuiSelect({\n options,\n children,\n value,\n ...props\n}) {\n const selectedValues = parseViewValue(value);\n const isMultiple = props.selectionMode === \"multiple\";\n const displayText = options != null ? resolveSelectDisplayText(options, value, props.placeholder) : \"\";\n const selectedTags = options?.filter(option => selectedValues.includes(option.value)).map(option => ({\n value: option.value,\n label: option.label\n }));\n return /* @__PURE__ */jsx(\"rui-select\", {\n ...props,\n value: selectedValues,\n children: /* @__PURE__ */jsx(SelectShell, {\n children: options == null ? children : /* @__PURE__ */jsxs(Fragment, {\n children: [/* @__PURE__ */jsxs(RuiSelectControl, {\n children: [/* @__PURE__ */jsx(RuiSelectTrigger, {\n disabled: props.disabled,\n children: /* @__PURE__ */jsx(RuiSelectValue, {\n children: isMultiple ? /* @__PURE__ */jsx(RuiTagGroup, {\n tags: selectedTags ?? [],\n label: \"Selected options\"\n }) : displayText\n })\n }), /* @__PURE__ */jsx(RuiSelectToggle, {})]\n }), /* @__PURE__ */jsx(RuiSelectListbox, {\n children: /* @__PURE__ */jsx(RuiListbox, {\n embedded: true,\n options,\n selectionMode: props.selectionMode,\n value: selectedValues\n })\n })]\n })\n })\n });\n}", "export function withDefaultAriaLabel(aria, fallback) {\n if (fallback === void 0 || aria?.label !== void 0) {\n return aria;\n }\n return {\n ...aria,\n label: fallback\n };\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nexport function RuiIconCheck({\n class: className,\n size = \"sm\",\n ...props\n}) {\n return /* @__PURE__ */jsx(\"svg\", {\n ...props,\n class: cx(\"rui-icon\", size === \"md\" && \"rui-icon--md\", className),\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */jsx(\"path\", {\n d: \"m5 12 4 4L19 6\"\n })\n });\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nexport function RuiIconChevronDown({\n class: className,\n size = \"sm\",\n ...props\n}) {\n return /* @__PURE__ */jsx(\"svg\", {\n ...props,\n class: cx(\"rui-icon\", size === \"md\" && \"rui-icon--md\", className),\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */jsx(\"path\", {\n d: \"m6 9 6 6 6-6\"\n })\n });\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\nexport function RuiIconX({\n class: className,\n size = \"sm\",\n ...props\n}) {\n return /* @__PURE__ */jsxs(\"svg\", {\n ...props,\n class: cx(\"rui-icon\", size === \"md\" && \"rui-icon--md\", className),\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": \"true\",\n children: [/* @__PURE__ */jsx(\"path\", {\n d: \"m18 6-12 12\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"m6 6 12 12\"\n })]\n });\n}\nexport function createRuiIconX() {\n const icon = document.createElementNS(SVG_NAMESPACE, \"svg\");\n icon.setAttribute(\"class\", \"rui-icon\");\n icon.setAttribute(\"viewBox\", \"0 0 24 24\");\n icon.setAttribute(\"fill\", \"none\");\n icon.setAttribute(\"stroke\", \"currentColor\");\n icon.setAttribute(\"stroke-width\", \"2\");\n icon.setAttribute(\"stroke-linecap\", \"round\");\n icon.setAttribute(\"stroke-linejoin\", \"round\");\n icon.setAttribute(\"aria-hidden\", \"true\");\n for (const d of [\"m18 6-12 12\", \"m6 6 12 12\"]) {\n const path = document.createElementNS(SVG_NAMESPACE, \"path\");\n path.setAttribute(\"d\", d);\n icon.append(path);\n }\n return icon;\n}", "let _initProto, _initClass, _init_value, _init_extra_value, _init_label, _init_extra_label, _init_disabled, _init_extra_disabled, _init_selectionMode, _init_extra_selectionMode, _init_embedded, _init_extra_embedded, _init_bordered, _init_extra_bordered, _init_changeEvent, _init_extra_changeEvent;\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, bindTo, customElement, event, onEvent, onUpdated, prop } from \"@ecopages/radiant\";\nimport { navigateRovingTabindex } from \"@/lib/roving-tabindex\";\nimport { uniqueId } from \"@/lib/unique-id\";\nimport { syncFieldLabel } from \"../shared/field-label\";\nimport { getListboxOptionValue } from \"../shared/listbox-option\";\nimport { multiValuePropOptions } from \"../shared/multi-value\";\nlet _RuiListbox;\nclass RuiListbox extends RadiantElement {\n static {\n ({\n e: [_init_value, _init_extra_value, _init_label, _init_extra_label, _init_disabled, _init_extra_disabled, _init_selectionMode, _init_extra_selectionMode, _init_embedded, _init_extra_embedded, _init_bordered, _init_extra_bordered, _init_changeEvent, _init_extra_changeEvent, _initProto],\n c: [_RuiListbox, _initClass]\n } = _applyDecs(this, [customElement(\"rui-listbox\")], [[prop({\n ...multiValuePropOptions,\n defaultValue: []\n }), 0, \"value\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"disabled\"], [[prop({\n type: String,\n attribute: \"selection-mode\",\n defaultValue: \"single\"\n }), bindTo({\n selector: '[role=\"listbox\"]',\n attr: \"aria-multiselectable\",\n map: mode => mode === \"multiple\" ? \"true\" : void 0\n })], 0, \"selectionMode\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"embedded\"], [prop({\n type: Boolean,\n reflect: true\n }), 0, \"bordered\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [onUpdated([\"value\", \"label\", \"disabled\", \"embedded\", \"selectionMode\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: '[role=\"option\"]',\n type: \"click\"\n }), 2, \"onOptionClick\"], [onEvent({\n selector: '[role=\"option\"]',\n type: \"keydown\"\n }), 2, \"onOptionKeydown\"]], 0, void 0, RadiantElement));\n }\n value = (_initProto(this), _init_value(this));\n label = (_init_extra_value(this), _init_label(this));\n disabled = (_init_extra_label(this), _init_disabled(this));\n selectionMode = (_init_extra_disabled(this), _init_selectionMode(this));\n embedded = (_init_extra_selectionMode(this), _init_embedded(this));\n bordered = (_init_extra_embedded(this), _init_bordered(this));\n changeEvent = (_init_extra_bordered(this), _init_changeEvent(this));\n uid = (_init_extra_changeEvent(this), uniqueId(\"rui-listbox\"));\n onConnected() {\n this.syncLabel();\n this.sync();\n }\n onPropsUpdated() {\n this.syncLabel();\n this.sync();\n }\n getOptions() {\n return Array.from(this.querySelectorAll('[role=\"option\"]'));\n }\n syncLabel() {\n if (this.embedded) return;\n const list = this.querySelector('[role=\"listbox\"]');\n if (!list) return;\n if (!list.id) list.id = `${this.uid}-list`;\n syncFieldLabel(this, list, {\n controlId: list.id,\n label: this.label,\n labelId: `${this.uid}-label`\n });\n }\n getSelectedValues() {\n return this.value;\n }\n setSelectedValues(values) {\n this.value = values;\n }\n tabIndexFor(option, tabStop) {\n if (this.embedded) {\n return -1;\n }\n return option === tabStop ? 0 : -1;\n }\n sync() {\n const options = this.getOptions();\n const selected = new Set(this.getSelectedValues());\n const tabStop = options.find(option => selected.has(getListboxOptionValue(option))) ?? options[0];\n for (const option of options) {\n const isSelected = selected.has(getListboxOptionValue(option));\n option.setAttribute(\"aria-selected\", String(isSelected));\n option.tabIndex = this.tabIndexFor(option, tabStop);\n }\n }\n select(option) {\n if (this.disabled || option.getAttribute(\"aria-disabled\") === \"true\") return;\n const value = getListboxOptionValue(option);\n if (this.selectionMode === \"multiple\") {\n const selected = new Set(this.getSelectedValues());\n if (selected.has(value)) selected.delete(value);else selected.add(value);\n this.setSelectedValues([...selected]);\n } else {\n this.setSelectedValues([value]);\n }\n this.sync();\n this.changeEvent.emit({\n value: this.value\n });\n option.focus();\n }\n onOptionClick(event2) {\n if (this.embedded) {\n return;\n }\n const option = event2.target.closest('[role=\"option\"]');\n if (option && this.contains(option)) this.select(option);\n }\n onOptionKeydown(event2) {\n if (this.embedded) {\n return;\n }\n const options = this.getOptions();\n const current = event2.target.closest('[role=\"option\"]');\n if (!current) return;\n if (event2.key === \"Enter\" || event2.key === \" \") {\n event2.preventDefault();\n this.select(current);\n return;\n }\n const result = navigateRovingTabindex({\n items: options,\n current,\n key: event2.key,\n orientation: \"vertical\"\n });\n if (!result.handled) return;\n event2.preventDefault();\n if (this.selectionMode === \"multiple\") {\n result.item.focus();\n return;\n }\n this.select(result.item);\n }\n static {\n _initClass();\n }\n}\nexport { _RuiListbox as RuiListbox };", "export function applyRovingTabindex(items, activeIndex) {\n items.forEach((item, index) => {\n const next = index === activeIndex ? 0 : -1;\n if (item.tabIndex !== next) {\n item.tabIndex = next;\n }\n });\n}\nexport function focusRovingItem(items, index) {\n if (!items.length) return null;\n const next = Math.max(0, Math.min(items.length - 1, index));\n applyRovingTabindex(items, next);\n items[next]?.focus();\n return items[next] ?? null;\n}\nfunction deltaForKey(key, orientation) {\n if (key === \"Home\") return \"first\";\n if (key === \"End\") return \"last\";\n if (orientation === \"horizontal\") {\n if (key === \"ArrowRight\") return \"next\";\n if (key === \"ArrowLeft\") return \"prev\";\n return null;\n }\n if (key === \"ArrowDown\") return \"next\";\n if (key === \"ArrowUp\") return \"prev\";\n return null;\n}\nexport function navigateRovingTabindex(options) {\n const {\n items,\n current,\n key,\n orientation = \"horizontal\",\n wrap = true\n } = options;\n if (!items.length || !current) return {\n handled: false\n };\n const index = items.indexOf(current);\n if (index < 0) return {\n handled: false\n };\n const delta = deltaForKey(key, orientation);\n if (!delta) return {\n handled: false\n };\n let next = index;\n if (delta === \"first\") next = 0;else if (delta === \"last\") next = items.length - 1;else if (delta === \"next\") next = wrap ? (index + 1) % items.length : Math.min(items.length - 1, index + 1);else next = wrap ? (index - 1 + items.length) % items.length : Math.max(0, index - 1);\n const item = focusRovingItem(items, next);\n if (!item) return {\n handled: false\n };\n return {\n handled: true,\n index: next,\n item\n };\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport { RuiIconCheck } from \"@/lib/icons\";\nimport { parseViewValue } from \"../shared/multi-value\";\nimport \"./listbox.script\";\nexport function RuiListboxOption({\n value,\n label,\n children,\n class: className,\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-listbox__option\", className),\n role: \"option\",\n \"data-value\": value,\n \"data-label\": label,\n \"aria-disabled\": disabled ? \"true\" : void 0,\n tabindex: -1,\n children\n });\n}\nexport function RuiListboxOptionIndicator({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"span\", {\n ...props,\n \"data-listbox-option-indicator\": true,\n \"aria-hidden\": \"true\",\n class: cx(\"rui-listbox__option-indicator\", className),\n children: children ?? /* @__PURE__ */jsx(RuiIconCheck, {})\n });\n}\nfunction listboxIsBordered(embedded, bordered) {\n if (bordered != null) {\n return bordered;\n }\n return !embedded;\n}\nfunction ListboxShell({\n bordered,\n children,\n disabled,\n embedded,\n label,\n selectionMode = \"single\"\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n class: cx(\"rui-listbox\", bordered && \"rui-listbox--bordered\"),\n role: \"listbox\",\n \"data-rui-control\": embedded ? void 0 : true,\n \"data-rui-control-type\": embedded ? void 0 : \"text\",\n \"aria-label\": label || void 0,\n \"aria-disabled\": disabled ? \"true\" : void 0,\n \"aria-multiselectable\": selectionMode === \"multiple\" ? \"true\" : void 0,\n children\n });\n}\nexport function RuiListbox({\n options,\n children,\n value,\n embedded,\n bordered,\n label,\n disabled,\n selectionMode = \"single\",\n ...props\n}) {\n const isBordered = listboxIsBordered(embedded, bordered);\n const selectedValues = parseViewValue(value);\n const selected = new Set(selectedValues);\n return /* @__PURE__ */jsx(\"rui-listbox\", {\n ...props,\n value: selectedValues,\n embedded,\n bordered,\n label,\n disabled,\n selectionMode,\n children: /* @__PURE__ */jsx(ListboxShell, {\n bordered: isBordered,\n disabled,\n embedded,\n label,\n selectionMode,\n children: options != null ? options.map(option => /* @__PURE__ */jsxs(RuiListboxOption, {\n value: option.value,\n label: typeof option.label === \"string\" ? option.label : void 0,\n disabled: option.disabled,\n \"aria-selected\": selected.has(option.value) ? \"true\" : void 0,\n children: [option.label, selectionMode === \"multiple\" ? /* @__PURE__ */jsx(RuiListboxOptionIndicator, {}) : null]\n })) : children\n })\n });\n}", "let _initProto, _initClass, _init_value, _init_extra_value, _init_label, _init_extra_label, _init_disabled, _init_extra_disabled, _init_selectionMode, _init_extra_selectionMode, _init_embedded, _init_extra_embedded, _init_changeEvent, _init_extra_changeEvent, _init_removeEvent, _init_extra_removeEvent, _init_derivedItems, _init_extra_derivedItems;\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, state } from \"@ecopages/radiant\";\nimport { createRuiIconX } from \"@/lib/icons/x\";\nimport { navigateRovingTabindex } from \"@/lib/roving-tabindex\";\nimport { uniqueId } from \"@/lib/unique-id\";\nimport { multiValuePropOptions } from \"../shared/multi-value\";\nlet _RuiTagGroup;\nclass RuiTagGroup extends RadiantElement {\n static {\n ({\n e: [_init_value, _init_extra_value, _init_label, _init_extra_label, _init_disabled, _init_extra_disabled, _init_selectionMode, _init_extra_selectionMode, _init_embedded, _init_extra_embedded, _init_changeEvent, _init_extra_changeEvent, _init_removeEvent, _init_extra_removeEvent, _init_derivedItems, _init_extra_derivedItems, _initProto],\n c: [_RuiTagGroup, _initClass]\n } = _applyDecs(this, [customElement(\"rui-tag-group\")], [[prop({\n ...multiValuePropOptions,\n defaultValue: []\n }), 0, \"value\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"disabled\"], [prop({\n type: String,\n attribute: \"selection-mode\",\n defaultValue: \"multiple\"\n }), 0, \"selectionMode\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"embedded\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [event({\n name: \"rui-remove\",\n bubbles: true,\n composed: true\n }), 0, \"removeEvent\"], [state, 0, \"derivedItems\"], [onUpdated([\"value\", \"label\", \"disabled\", \"selectionMode\", \"embedded\", \"derivedItems\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: \"[data-tag]\",\n type: \"click\"\n }), 2, \"onTagClick\"], [onEvent({\n selector: \"[data-tag-remove]\",\n type: \"click\"\n }), 2, \"onRemoveClick\"], [onEvent({\n selector: \"[data-tag]\",\n type: \"keydown\"\n }), 2, \"onTagKeydown\"]], 0, void 0, RadiantElement));\n }\n constructor(...args) {\n super(...args);\n _init_extra_derivedItems(this);\n }\n value = (_initProto(this), _init_value(this));\n label = (_init_extra_value(this), _init_label(this));\n disabled = (_init_extra_label(this), _init_disabled(this));\n selectionMode = (_init_extra_disabled(this), _init_selectionMode(this));\n embedded = (_init_extra_selectionMode(this), _init_embedded(this));\n changeEvent = (_init_extra_embedded(this), _init_changeEvent(this));\n removeEvent = (_init_extra_changeEvent(this), _init_removeEvent(this));\n uid = (_init_extra_removeEvent(this), uniqueId(\"rui-tag-group\"));\n derivedItems = _init_derivedItems(this, null);\n isMultiple() {\n return this.selectionMode === \"multiple\";\n }\n getSelectedValues() {\n return this.value;\n }\n setSelectedValues(values) {\n this.value = values;\n }\n getList() {\n const managed = this.querySelector(\"[data-rui-managed-list]\");\n if (managed) {\n return managed;\n }\n if (this.derivedItems != null) {\n return null;\n }\n return this.querySelector(\"[data-tag-list]\");\n }\n getTags() {\n const list = this.getList();\n if (!list) {\n return [];\n }\n return Array.from(list.querySelectorAll(\"[data-tag]\"));\n }\n getVisibleTags() {\n return this.getTags().filter(tag => !tag.hidden && tag.getAttribute(\"aria-disabled\") !== \"true\");\n }\n getTagValue(tag) {\n return tag.getAttribute(\"data-value\") || tag.textContent?.trim() || \"\";\n }\n getTagLabel(tag) {\n return tag.getAttribute(\"data-label\") || tag.textContent?.trim() || \"\";\n }\n ensureTagIds() {\n this.getTags().forEach((tag, index) => {\n if (!tag.id) {\n tag.id = `${this.uid}-tag-${index}`;\n }\n });\n }\n syncList() {\n const list = this.getList();\n if (!list) {\n return;\n }\n if (!list.id) {\n list.id = `${this.uid}-list`;\n }\n list.setAttribute(\"role\", \"list\");\n list.setAttribute(\"aria-label\", this.label || \"Tags\");\n if (this.disabled) {\n list.setAttribute(\"aria-disabled\", \"true\");\n } else {\n list.removeAttribute(\"aria-disabled\");\n }\n }\n syncTags() {\n const selected = new Set(this.getSelectedValues());\n const tags = this.getTags();\n tags.forEach((tag, index) => {\n tag.setAttribute(\"role\", \"listitem\");\n const value = this.getTagValue(tag);\n const isSelected = selected.has(value);\n tag.setAttribute(\"aria-selected\", String(isSelected));\n tag.tabIndex = index === 0 ? 0 : -1;\n const removeButton = tag.querySelector(\"[data-tag-remove]\");\n if (removeButton) {\n removeButton.type = \"button\";\n removeButton.tabIndex = -1;\n removeButton.setAttribute(\"aria-label\", `Remove ${this.getTagLabel(tag)}`);\n }\n });\n }\n selectTag(tag) {\n if (this.disabled || this.embedded || tag.getAttribute(\"aria-disabled\") === \"true\") {\n return;\n }\n const tagValue = this.getTagValue(tag);\n if (this.isMultiple()) {\n const selected = new Set(this.getSelectedValues());\n if (selected.has(tagValue)) {\n selected.delete(tagValue);\n } else {\n selected.add(tagValue);\n }\n this.setSelectedValues([...selected]);\n } else {\n this.value = [tagValue];\n }\n this.syncTags();\n this.changeEvent.emit({\n value: this.value\n });\n }\n removeTag(tag) {\n const tagValue = this.getTagValue(tag);\n const selected = new Set(this.getSelectedValues());\n selected.delete(tagValue);\n this.setSelectedValues([...selected]);\n this.syncTags();\n this.removeEvent.emit({\n value: tagValue\n });\n this.changeEvent.emit({\n value: this.value\n });\n }\n initialize() {\n this.syncManagedList();\n this.ensureTagIds();\n this.syncList();\n this.syncTags();\n }\n onConnected() {\n this.initialize();\n }\n onPropsUpdated() {\n this.syncManagedList();\n this.syncList();\n this.syncTags();\n }\n /**\n * Re-read authored `[data-tag]` children after the parent mutates them in place.\n */\n resync() {\n this.ensureTagIds();\n this.syncList();\n this.syncTags();\n }\n /**\n * Replace authored tags with a CE-owned list. Requires `[data-ref=\"root\"]`.\n *\n * @remarks Hides the authored `[data-tag-list]` and sets `value` to every\n * item. Pass `[]` to clear the managed list.\n */\n setItems(items) {\n this.derivedItems = items;\n this.value = items.map(item => item.value);\n }\n /**\n * Imperative twin of the view's `RuiTag` / `RuiTagRemove` markup for\n * CE-managed items (same `data-*` hooks, classes, and remove icon).\n */\n createManagedTag(item) {\n const tag = document.createElement(\"span\");\n tag.setAttribute(\"data-tag\", \"\");\n tag.setAttribute(\"data-value\", item.value);\n tag.setAttribute(\"data-label\", item.label);\n tag.className = \"rui-tag\";\n tag.textContent = item.label;\n tag.setAttribute(\"aria-label\", item.label);\n const remove = document.createElement(\"button\");\n remove.type = \"button\";\n remove.setAttribute(\"data-tag-remove\", \"\");\n remove.className = \"rui-tag__remove\";\n remove.setAttribute(\"aria-label\", `Remove ${item.label}`);\n remove.append(createRuiIconX());\n tag.append(remove);\n return tag;\n }\n syncManagedList() {\n const root = this.querySelector('[data-ref=\"root\"]');\n if (!root || this.derivedItems == null) {\n return;\n }\n const authored = root.querySelector(\"[data-tag-list]:not([data-rui-managed-list])\");\n authored?.toggleAttribute(\"hidden\", true);\n let managed = root.querySelector(\"[data-rui-managed-list]\");\n if (this.derivedItems.length === 0) {\n managed?.remove();\n return;\n }\n if (!managed) {\n managed = document.createElement(\"div\");\n managed.setAttribute(\"data-tag-list\", \"\");\n managed.setAttribute(\"data-rui-managed-list\", \"\");\n managed.className = \"rui-tag-group__list\";\n root.appendChild(managed);\n }\n managed.replaceChildren(...this.derivedItems.map(item => this.createManagedTag(item)));\n this.ensureTagIds();\n this.syncList();\n this.syncTags();\n }\n onTagClick(event2) {\n const target = event2.target;\n if (target.closest(\"[data-tag-remove]\")) {\n return;\n }\n const tag = target.closest(\"[data-tag]\");\n if (tag && this.contains(tag)) {\n this.selectTag(tag);\n }\n }\n onRemoveClick(event2) {\n event2.stopPropagation();\n const button = event2.target;\n const tag = button.closest(\"[data-tag]\");\n if (tag && this.contains(tag)) {\n this.removeTag(tag);\n }\n }\n onTagKeydown(event2) {\n const tags = this.getVisibleTags();\n const current = event2.target.closest(\"[data-tag]\");\n if (!current) {\n return;\n }\n if (event2.key === \"Enter\" || event2.key === \" \") {\n event2.preventDefault();\n if (!this.embedded) {\n this.selectTag(current);\n }\n return;\n }\n if (event2.key === \"Backspace\" || event2.key === \"Delete\") {\n const removeButton = current.querySelector(\"[data-tag-remove]\");\n if (removeButton) {\n event2.preventDefault();\n this.removeTag(current);\n }\n return;\n }\n const result = navigateRovingTabindex({\n items: tags,\n current,\n key: event2.key,\n orientation: \"horizontal\"\n });\n if (result.handled) {\n event2.preventDefault();\n }\n }\n static {\n _initClass();\n }\n}\nexport { _RuiTagGroup as RuiTagGroup };", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { withDefaultAriaLabel } from \"@/aria\";\nimport { cx } from \"@/lib/cx\";\nimport { RuiIconX } from \"@/lib/icons\";\nimport \"./tag-group.script\";\nexport function RuiTagList({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-tag-list\": true,\n class: cx(\"rui-tag-group__list\", className),\n children\n });\n}\nexport function RuiTag({\n value,\n label,\n children,\n class: className,\n disabled,\n aria,\n ...props\n}) {\n return /* @__PURE__ */jsxs(\"span\", {\n ...props,\n \"data-tag\": true,\n \"data-value\": value,\n \"data-label\": label,\n class: cx(\"rui-tag\", className),\n aria: withDefaultAriaLabel(aria, label),\n \"aria-disabled\": disabled ? \"true\" : void 0,\n children: [children, /* @__PURE__ */jsx(RuiTagRemove, {})]\n });\n}\nexport function RuiTagRemove({\n children,\n class: className,\n aria,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n aria: withDefaultAriaLabel(aria, \"Remove\"),\n type: \"button\",\n \"data-tag-remove\": true,\n class: cx(\"rui-tag__remove\", className),\n children: children ?? /* @__PURE__ */jsx(RuiIconX, {})\n });\n}\nfunction TagGroupShell({\n children\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n class: \"rui-tag-group\",\n \"data-ref\": \"root\",\n children\n });\n}\nexport function RuiTagGroup({\n tags,\n children,\n value,\n ...props\n}) {\n if (tags != null) {\n return /* @__PURE__ */jsx(\"rui-tag-group\", {\n ...props,\n value,\n children: /* @__PURE__ */jsx(TagGroupShell, {\n children: /* @__PURE__ */jsx(RuiTagList, {\n children: tags.map(tag => /* @__PURE__ */jsx(RuiTag, {\n value: tag.value,\n label: typeof tag.label === \"string\" ? tag.label : void 0,\n disabled: tag.disabled,\n children: tag.label\n }))\n })\n })\n });\n }\n return /* @__PURE__ */jsx(\"rui-tag-group\", {\n ...props,\n value,\n children: /* @__PURE__ */jsx(TagGroupShell, {\n children\n })\n });\n}"],
5
+ "mappings": "AAMA,OAAS,kBAAAA,GAAgB,UAAAC,GAAQ,iBAAAC,GAAe,SAAAC,GAAO,WAAAC,EAAS,aAAAC,GAAW,QAAAC,GAAM,SAAAC,OAAa,oBCN9F,IAAMC,GAAc,2BACb,SAASC,GAAYC,EAAO,CACjC,OAAOF,GAAY,KAAKE,CAAK,CAC/B,CACA,SAASC,GAAcC,EAAQ,CAC7B,IAAMC,EAAUD,EAAO,KAAK,EAC5B,GAAIH,GAAYI,CAAO,EACrB,OAAOA,EAET,IAAMC,EAAW,OAAOD,CAAO,GAC/B,OAAIA,GAAWJ,GAAYK,CAAQ,EAC1BA,EAEF,KACT,CACO,SAASC,GAASH,EAAQ,CAC/B,IAAMI,EAAQ,OAAO,OAAO,YAAe,WAAa,OAAO,WAAW,EAAE,QAAQ,KAAM,EAAE,EAAI,MAAM,KAAK,OAAO,gBAAgB,IAAI,WAAW,EAAE,CAAC,EAAGC,GAAQA,EAAK,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAAC,EAAE,KAAK,EAAE,EAC1M,MAAO,GAAGN,GAAcC,CAAM,CAAC,IAAII,CAAK,EAC1C,CClBO,SAASE,GAAoBC,EAAO,CACzC,IAAMC,EAAWD,EAAM,uBACvB,OAAIC,GAAU,QAAQ,YAAY,IAAM,QAC/BA,EAEFD,EAAM,eAAe,cAAc,wBAAwB,GAAK,IACzE,CACO,SAASE,GAAiBC,EAAOC,EAASC,EAAS,CACnDF,EAAM,KACTA,EAAM,GAAKE,EAAQ,SAEhBF,EAAM,UACTA,EAAM,QAAUE,EAAQ,WAE1BD,EAAQ,aAAa,kBAAmBD,EAAM,EAAE,EAChDC,EAAQ,gBAAgB,YAAY,CACtC,CACO,SAASE,GAAeN,EAAOI,EAASC,EAAS,CACtD,GAAI,CAACD,GAAWA,EAAQ,aAAa,wBAAwB,EAC3D,OAEF,IAAMG,EAAeR,GAAoBC,CAAK,EAC9C,GAAIO,EAAc,CAChBL,GAAiBK,EAAcH,EAASC,CAAO,EAC/C,MACF,CACA,GAAIA,EAAQ,MAAO,CACjBD,EAAQ,aAAa,aAAcC,EAAQ,KAAK,EAChDD,EAAQ,gBAAgB,iBAAiB,EACzC,MACF,CACAA,EAAQ,gBAAgB,YAAY,EACpCA,EAAQ,gBAAgB,iBAAiB,CAC3C,CCjCA,IAAMI,GAAwB,gCACvB,SAASC,GAAsBC,EAAQ,CAC5C,IAAMC,EAAQD,EAAO,aAAa,YAAY,EAC9C,OAAIC,GAGGC,GAAiBF,CAAM,EAAE,KAAK,CACvC,CACO,SAASG,EAAsBH,EAAQ,CAC5C,OAAOA,EAAO,aAAa,YAAY,GAAKD,GAAsBC,CAAM,CAC1E,CACA,SAASE,GAAiBE,EAAM,CAC9B,GAAIC,GAAkBD,CAAI,EACxB,MAAO,GAET,GAAIA,EAAK,WAAa,KAAK,UACzB,OAAOA,EAAK,aAAe,GAE7B,IAAIE,EAAO,GACX,QAAWC,KAASH,EAAK,WACvBE,GAAQJ,GAAiBK,CAAK,EAEhC,OAAOD,CACT,CACA,SAASD,GAAkBD,EAAM,CAC/B,OAAOA,aAAgB,aAAeA,EAAK,aAAaN,EAAqB,CAC/E,CCzBO,IAAMU,GAAN,KAA4B,CACjC,OACA,YAAYC,EAAQ,CAClB,KAAK,OAASA,CAChB,CACA,gBAAiB,CACf,OAAO,KAAK,OAAO,QAAQ,GAAG,cAAc,aAAa,GAAK,IAChE,CACA,YAAa,CACX,IAAMC,EAAO,KAAK,eAAe,EACjC,OAAIA,EACKA,EAAK,cAAc,kBAAkB,GAAKA,EAE5C,KAAK,OAAO,WAAW,GAAK,IACrC,CACA,YAAa,CACX,IAAMC,EAAU,KAAK,WAAW,EAChC,OAAKA,EAGE,MAAM,KAAKA,EAAQ,iBAAiB,iBAAiB,CAAC,EAFpD,CAAC,CAGZ,CACA,mBAAoB,CAClB,OAAO,KAAK,OAAO,SAAS,CAC9B,CACA,kBAAkBC,EAAQ,CACxB,KAAK,OAAO,SAASA,CAAM,CAC7B,CACA,YAAYC,EAAa,CACvB,GAAI,KAAK,OAAO,iBAAiB,IAAM,WAAY,CACjD,IAAMC,EAAW,IAAI,IAAI,KAAK,kBAAkB,CAAC,EAC7CA,EAAS,IAAID,CAAW,EAC1BC,EAAS,OAAOD,CAAW,EAE3BC,EAAS,IAAID,CAAW,EAE1B,KAAK,kBAAkB,CAAC,GAAGC,CAAQ,CAAC,EACpC,MACF,CACA,KAAK,kBAAkB,CAACD,CAAW,CAAC,CACtC,CACA,YAAYA,EAAa,CACvB,IAAMC,EAAW,IAAI,IAAI,KAAK,kBAAkB,CAAC,EACjD,OAAKA,EAAS,OAAOD,CAAW,GAGhC,KAAK,kBAAkB,CAAC,GAAGC,CAAQ,CAAC,EAC7B,IAHE,EAIX,CACA,aAAc,CACZ,OAAI,KAAK,kBAAkB,EAAE,SAAW,EAC/B,IAET,KAAK,kBAAkB,CAAC,CAAC,EAClB,GACT,CACA,WAAWC,EAAa,CACtB,OAAMA,aAAuB,QAGdA,EAAY,QAAQ,iBAAiB,GACnC,KAHR,IAIX,CACA,mBAAmBC,EAAQ,CACzB,OAAOA,GAAU,MAAQA,EAAO,aAAa,eAAe,IAAM,QAAU,CAACA,EAAO,MACtF,CACA,iBAAkB,CAChB,IAAMN,EAAO,KAAK,eAAe,EAC5BA,IAGLA,EAAK,SAAW,GAChBA,EAAK,cAAgB,KAAK,OAAO,iBAAiB,EAClDA,EAAK,MAAQ,KAAK,OAAO,SAAS,EACpC,CACA,qBAAsB,CACpB,IAAMI,EAAW,IAAI,IAAI,KAAK,kBAAkB,CAAC,EACjD,QAAWE,KAAU,KAAK,WAAW,EACnCA,EAAO,aAAa,gBAAiB,OAAOF,EAAS,IAAIG,EAAsBD,CAAM,CAAC,CAAC,CAAC,CAE5F,CACA,oBAAoBL,EAAS,CAC3B,GAAKA,EAGL,IAAI,KAAK,OAAO,iBAAiB,IAAM,WAAY,CACjDA,EAAQ,aAAa,uBAAwB,MAAM,EACnD,MACF,CACAA,EAAQ,gBAAgB,sBAAsB,EAChD,CACA,aAAc,CACZ,IAAMO,EAAW,KAAK,OAAO,iBAC7B,GAAI,CAACA,EACH,OAAO,KAET,IAAMC,EAAW,KAAK,OAAO,QAAQ,GAAG,cAAcD,CAAQ,GAAK,KACnE,MAAI,CAACC,GAAY,OAAOA,EAAS,UAAa,WACrC,KAEFA,CACT,CACA,cAAe,CACb,IAAMA,EAAW,KAAK,YAAY,EAClC,GAAI,CAACA,EACH,OAEF,IAAMC,EAAQ,KAAK,kBAAkB,EAAE,QAAQC,GAAS,CACtD,IAAML,EAAS,KAAK,WAAW,EAAE,KAAKM,GAAQL,EAAsBK,CAAI,IAAMD,CAAK,EACnF,OAAOL,EAAS,CAAC,CACf,MAAAK,EACA,MAAOE,GAAsBP,CAAM,CACrC,CAAC,EAAI,CAAC,CACR,CAAC,EACDG,EAAS,SAAW,GACpBA,EAAS,SAASC,CAAK,EACvBD,EAAS,MAAQ,KAAK,OAAO,SAAS,CACxC,CACA,cAAcE,EAAO,CACnB,IAAMG,EAAQ,KAAK,WAAW,EAAE,KAAKR,GAAUC,EAAsBD,CAAM,IAAMK,CAAK,EACtF,OAAOG,EAAQD,GAAsBC,CAAK,EAAIH,CAChD,CACF,EC3HA,IAAMI,GAAW,CACf,IAAK,SACL,OAAQ,MACR,KAAM,QACN,MAAO,MACT,EACMC,GAA2B,EAC3BC,GAA+C,IAAI,QACzD,SAASC,GAA4BC,EAAU,CACxCF,GAA8B,IAAIE,CAAQ,IAG/CA,EAAS,MAAM,MAAQ,GACvBA,EAAS,MAAM,SAAW,GAC1BA,EAAS,MAAM,SAAW,GAC1BA,EAAS,MAAM,UAAY,GAC3BF,GAA8B,OAAOE,CAAQ,EAC/C,CACA,SAASC,GAAeC,EAAW,CACjC,IAAMC,EAAOD,EAAU,QAAQ,GAAG,EAClC,GAAIC,IAAS,GAAI,MAAO,CACtB,KAAMD,EACN,MAAO,QACT,EACA,IAAME,EAAOF,EAAU,MAAM,EAAGC,CAAI,EAC9BE,EAAQH,EAAU,MAAMC,EAAO,CAAC,EACtC,MAAO,CACL,KAAAC,EACA,MAAOC,IAAU,SAAWA,IAAU,MAAQA,EAAQ,QACxD,CACF,CACA,SAASC,GAAYF,EAAM,CACzB,OAAOA,IAAS,OAASA,IAAS,SAAW,IAAM,GACrD,CACA,SAASG,GAAUC,EAAQC,EAAML,EAAMC,EAAOK,EAAK,CACjD,GAAM,CACJ,MAAAC,EACA,OAAAC,CACF,EAAIH,EACAI,EAAI,EACJC,EAAI,EACR,OAAQV,EAAM,CACZ,IAAK,MACHU,EAAIN,EAAO,IAAMI,EAASF,EAC1B,MACF,IAAK,SACHI,EAAIN,EAAO,OAASE,EACpB,MACF,IAAK,OACHG,EAAIL,EAAO,KAAOG,EAAQD,EAC1B,MACF,IAAK,QACHG,EAAIL,EAAO,MAAQE,EACnB,KACJ,CACA,OAAIJ,GAAYF,CAAI,IAAM,IACpBC,IAAU,QAASQ,EAAIL,EAAO,KAAcH,IAAU,MAAOQ,EAAIL,EAAO,MAAQG,EAAWE,EAAIL,EAAO,MAAQA,EAAO,MAAQG,GAAS,EAEtIN,IAAU,QAASS,EAAIN,EAAO,IAAaH,IAAU,MAAOS,EAAIN,EAAO,OAASI,EAAYE,EAAIN,EAAO,KAAOA,EAAO,OAASI,GAAU,EAEvI,CACL,EAAAC,EACA,EAAAC,CACF,CACF,CACA,SAASC,GAAkBC,EAAQP,EAAML,EAAMa,EAAU,CACvD,GAAM,CACJ,QAAAC,EACA,MAAOC,EACP,OAAQC,CACV,EAAIH,EACJ,OAAIb,IAAS,MAAc,KAAK,IAAI,EAAGc,EAAUF,EAAO,CAAC,EACrDZ,IAAS,SAAiB,KAAK,IAAI,EAAGY,EAAO,EAAIP,EAAK,QAAUW,EAAKF,EAAQ,EAC7Ed,IAAS,OAAe,KAAK,IAAI,EAAGc,EAAUF,EAAO,CAAC,EACnD,KAAK,IAAI,EAAGA,EAAO,EAAIP,EAAK,OAASU,EAAKD,EAAQ,CAC3D,CACA,SAASG,GAAgBb,EAAQC,EAAML,EAAMa,EAAU,CACrD,GAAM,CACJ,QAAAC,EACA,MAAOC,EACP,OAAQC,CACV,EAAIH,EACJ,OAAIb,IAAS,MAAcI,EAAO,IAAMU,EAAUT,EAAK,OACnDL,IAAS,SAAiBgB,EAAKF,EAAUT,EAAK,OAASD,EAAO,OAC9DJ,IAAS,OAAeI,EAAO,KAAOU,EAAUT,EAAK,MAClDU,EAAKD,EAAUT,EAAK,MAAQD,EAAO,KAC5C,CACA,SAASc,GAAYlB,EAAMC,EAAO,CAChC,OAAIA,IAAU,SACLD,EAEF,GAAGA,CAAI,IAAIC,CAAK,EACzB,CACA,SAASkB,GAAeP,EAAQP,EAAML,EAAMa,EAAU,CACpD,GAAM,CACJ,QAAAC,EACA,MAAOC,EACP,OAAQC,CACV,EAAIH,EACJ,GAAIX,GAAYF,CAAI,IAAM,IAAK,CAC7B,IAAMoB,EAAO,KAAK,IAAIN,EAASC,EAAKD,EAAUT,EAAK,KAAK,EACxD,MAAO,CACL,EAAG,KAAK,IAAI,KAAK,IAAIO,EAAO,EAAGE,CAAO,EAAGM,CAAI,EAC7C,EAAG,KAAK,IAAIN,EAASF,EAAO,CAAC,CAC/B,CACF,CACA,IAAMS,EAAO,KAAK,IAAIP,EAASE,EAAKF,EAAUT,EAAK,MAAM,EACzD,MAAO,CACL,EAAG,KAAK,IAAIS,EAASF,EAAO,CAAC,EAC7B,EAAG,KAAK,IAAI,KAAK,IAAIA,EAAO,EAAGE,CAAO,EAAGO,CAAI,CAC/C,CACF,CAQO,SAASC,GAAwBC,EAAQC,EAAMC,EAAWC,EAAKC,EAAW,CAC/E,MAAO,OAAO,OAAW,IAAc,EAAI,OAAO,WAClD,OAAQ,OAAO,OAAW,IAAc,EAAI,OAAO,YACnD,QAASC,EACX,EAAG,CACD,GAAM,CACJ,KAAMC,EACN,MAAAC,CACF,EAAIC,GAAeN,CAAS,EACtBO,EAAkBC,GAAUV,EAAQC,EAAMK,EAAWC,EAAOJ,CAAG,EAC/DQ,EAAoBC,GAAkBH,EAAiBR,EAAMK,EAAWF,CAAQ,EAClFS,EAAOP,EACPQ,EAASL,EACb,GAAIE,EAAoB,EAAG,CACzB,IAAMI,EAAUC,GAASV,CAAS,EAC5BW,EAAgBP,GAAUV,EAAQC,EAAMc,EAASR,EAAOJ,CAAG,EAC3De,EAAgBC,GAAgBnB,EAAQC,EAAMK,EAAWF,CAAQ,EACnDe,GAAgBnB,EAAQC,EAAMc,EAASX,CAAQ,EACjDc,IAChBL,EAAOE,EACPD,EAASG,EAEb,CACA,MAAO,CACL,OAAQG,GAAeN,EAAQb,EAAMY,EAAMT,CAAQ,EACnD,UAAWiB,GAAYR,EAAMN,CAAK,CACpC,CACF,CACO,SAASe,GAAsBtB,EAAQuB,EAAUrB,EAAWC,EAAKqB,EAAU,CAAC,EAAG,CACpF,IAAMC,EAAmBD,EAAQ,mBAAqB,GAChDE,EAAc1B,EAAO,YACrBC,EAAOwB,EAAmB,CAC9B,MAAOC,EACP,OAAQH,EAAS,YACnB,EAAI,CACF,MAAOA,EAAS,YAChB,OAAQA,EAAS,YACnB,EACIE,GACFF,EAAS,MAAM,MAAQ,GAAGG,CAAW,KACrCH,EAAS,MAAM,SAAW,GAAGG,CAAW,KACxCH,EAAS,MAAM,SAAW,GAAGG,CAAW,KACxCH,EAAS,MAAM,UAAY,aAC3BI,GAA8B,IAAIJ,EAAU,EAAI,GAEhDK,GAA4BL,CAAQ,EAEtC,GAAM,CACJ,OAAAT,EACA,UAAWe,CACb,EAAI9B,GAAwBC,EAAO,sBAAsB,EAAGC,EAAMC,EAAWC,CAAG,EAChF,cAAO,OAAOoB,EAAS,MAAO,CAC5B,SAAU,QACV,KAAM,GAAGT,EAAO,CAAC,KACjB,IAAK,GAAGA,EAAO,CAAC,KAChB,MAAO,OACP,OAAQ,OACR,WAAY,SACd,CAAC,EACDS,EAAS,aAAa,iBAAkBM,CAAQ,EACzCA,CACT,CACO,SAASC,GAAe,CAC7B,OAAA9B,EACA,SAAAuB,EACA,aAAAQ,EACA,IAAA5B,EACA,iBAAAsB,CACF,EAAG,CACD,IAAMO,EAAS,IAAM,CACfT,EAAS,QACbD,GAAsBtB,EAAQuB,EAAUQ,EAAa,EAAG5B,EAAK,CAC3D,iBAAAsB,CACF,CAAC,CACH,EACAO,EAAO,EACP,OAAO,iBAAiB,SAAUA,CAAM,EACxC,OAAO,iBAAiB,SAAUA,EAAQ,EAAI,EAC9C,IAAMC,EAAW,IAAI,eAAeD,CAAM,EAC1C,OAAAC,EAAS,QAAQjC,CAAM,EACvBiC,EAAS,QAAQV,CAAQ,EAClB,IAAM,CACX,OAAO,oBAAoB,SAAUS,CAAM,EAC3C,OAAO,oBAAoB,SAAUA,EAAQ,EAAI,EACjDC,EAAS,WAAW,CACtB,CACF,CC7MO,SAASC,GAAYC,EAAMC,EAAY,SAAS,KAAM,CAC3D,IAAMC,EAASF,EAAK,WACpB,GAAI,CAACE,EACH,MAAO,CACL,QAAS,IAAM,CAAC,CAClB,EAEF,IAAMC,EAAc,SAAS,cAAc,YAAY,EACvD,OAAAD,EAAO,aAAaC,EAAaH,CAAI,EACrCC,EAAU,YAAYD,CAAI,EACnB,CACL,QAAS,IAAM,CACb,IAAMI,EAAgBD,EAAY,WAC7BC,IAGLA,EAAc,aAAaJ,EAAMG,CAAW,EAC5CA,EAAY,OAAO,EACrB,CACF,CACF,CClBO,SAASE,GAAgBC,EAAQC,EAAUC,EAAM,CACtD,OAAKA,EAGE,GAAQF,GAAQ,SAASE,CAAI,GAAKD,GAAU,SAASC,CAAI,GAFvD,EAGX,CACO,SAASC,GAA0BH,EAAQC,EAAUG,EAAe,CACzE,OAAMA,aAAyB,KAGxB,CAACL,GAAgBC,EAAQC,EAAUG,CAAa,EAF9C,EAGX,CACO,SAASC,GAA4BL,EAAQC,EAAUK,EAAQ,CACpE,MAAO,CAACP,GAAgBC,EAAQC,EAAUK,CAAM,CAClD,CACO,IAAMC,GAAN,KAAwB,CAC7B,OACA,gBAAkB,KAClB,aAAe,KACf,gBAAkB,KAClB,YAAYC,EAAQ,CAClB,KAAK,OAASA,CAChB,CACA,aAAaC,EAAO,CAClB,KAAK,OAAS,CACZ,GAAG,KAAK,OACR,GAAGA,CACL,CACF,CACA,MAAO,CACL,IAAMR,EAAW,KAAK,gBAAgB,EACtC,GAAI,CAACA,EACH,OAGF,GAAI,CADS,KAAK,OAAO,QAAQ,EACtB,CACT,KAAK,SAAS,EACdA,EAAS,gBAAgB,SAAU,EAAI,EACvC,MACF,CACA,IAAMD,EAAS,KAAK,OAAO,UAAU,EACrC,GAAI,CAACA,EACH,OAEFC,EAAS,gBAAgB,SAAU,EAAK,EACtB,KAAK,OAAO,SAAW,GAElC,KAAK,eACR,KAAK,aAAeS,GAAYT,EAAU,KAAK,OAAO,iBAAmB,SAAS,IAAI,GAE/E,KAAK,eACd,KAAK,aAAa,QAAQ,EAC1B,KAAK,aAAe,MAEtB,KAAK,iBAAiB,EACtB,KAAK,gBAAkBU,GAAe,CACpC,OAAAX,EACA,SAAAC,EACA,aAAc,KAAK,OAAO,aAC1B,IAAK,KAAK,OAAO,KAAO,EACxB,iBAAkB,KAAK,OAAO,gBAChC,CAAC,CACH,CACA,SAASC,EAAM,CACb,OAAOH,GAAgB,KAAK,OAAO,UAAU,EAAG,KAAK,gBAAgB,EAAGG,CAAI,CAC9E,CACA,oBAAqB,CACnB,OAAO,KAAK,gBAAgB,CAC9B,CACA,UAAW,CACT,KAAK,iBAAiB,EAClB,KAAK,eACP,KAAK,aAAa,QAAQ,EAC1B,KAAK,aAAe,KAExB,CACA,SAAU,CACR,KAAK,SAAS,EACd,KAAK,gBAAkB,IACzB,CACA,iBAAkB,CAChB,IAAMU,EAAqB,KAAK,OAAO,YAAY,EACnD,OAAIA,IACF,KAAK,gBAAkBA,GAElBA,GAAsB,KAAK,eACpC,CACA,kBAAmB,CACjB,KAAK,kBAAkB,EACvB,KAAK,gBAAkB,IACzB,CACF,EC7FO,SAASC,GAA4BC,EAAS,CACnD,OAAOA,EAAQ,OAAOC,GAAU,CAACA,EAAO,QAAUA,EAAO,aAAa,eAAe,IAAM,MAAM,CACnG,CACO,SAASC,GAAoBC,EAAOC,EAAWC,EAAQ,CAC5D,OAAIA,IAAW,EACN,GAELD,IAAc,EACTD,GAASE,EAAS,EAAI,EAAIF,EAAQ,EAEpCA,GAAS,EAAIE,EAAS,EAAIF,EAAQ,CAC3C,CACO,SAASG,GAAsBN,EAASO,EAAY,CACzDA,GAAY,gBAAgB,uBAAuB,EACnD,QAAWN,KAAUD,EACnBC,EAAO,gBAAgB,aAAa,CAExC,CACO,SAASO,GAAoBR,EAASS,EAAgBN,EAAOI,EAAYG,EAAU,CACxFJ,GAAsBN,EAASO,CAAU,EACzC,IAAMI,EAASF,EAAeN,CAAK,EACnC,MAAI,CAACQ,GAAU,CAACJ,EACP,MAEJI,EAAO,KACVA,EAAO,GAAK,GAAGD,CAAQ,IAAIP,CAAK,IAElCQ,EAAO,aAAa,cAAe,MAAM,EACzCJ,EAAW,aAAa,wBAAyBI,EAAO,EAAE,EAC1DA,EAAO,eAAe,CACpB,MAAO,SACT,CAAC,EACMA,EACT,CC/BO,IAAMC,GAAN,KAA6B,CAClC,OACA,kBACA,YAAc,GACd,YAAc,GACd,YAAYC,EAAQ,CAClB,KAAK,OAASA,EACd,KAAK,kBAAoB,IAAIC,GAAkB,CAC7C,UAAWD,EAAO,UAClB,YAAaA,EAAO,YACpB,QAASA,EAAO,QAChB,aAAc,IAAM,eACpB,IAAK,EACL,OAAQ,GACR,iBAAkB,EACpB,CAAC,CACH,CACA,IAAI,mBAAoB,CACtB,OAAO,KAAK,WACd,CACA,IAAI,gBAAiB,CACnB,OAAO,KAAK,WACd,CACA,iBAAkB,CAChB,KAAK,OAAO,WAAW,EAAE,QAAQ,CAACE,EAAQC,IAAU,CAC7CD,EAAO,KACVA,EAAO,GAAK,GAAG,KAAK,OAAO,kBAAkB,CAAC,IAAIC,CAAK,GAE3D,CAAC,CACH,CACA,mBAAoB,CAClB,OAAOC,GAA4B,KAAK,OAAO,WAAW,CAAC,CAC7D,CACA,mBAAoB,CAClB,KAAK,YAAc,GACnB,KAAK,YAAc,GACnBC,GAAsB,KAAK,OAAO,WAAW,EAAG,KAAK,OAAO,wBAAwB,CAAC,CACvF,CACA,gBAAgBF,EAAO,CACrB,IAAMG,EAAU,KAAK,kBAAkB,EACvC,GAAIH,EAAQ,GAAKA,GAASG,EAAQ,OAAQ,CACxC,KAAK,kBAAkB,EACvB,MACF,CACA,KAAK,YAAcH,EACnB,KAAK,YAAc,GACnBI,GAAoB,KAAK,OAAO,WAAW,EAAGD,EAASH,EAAO,KAAK,OAAO,wBAAwB,EAAG,KAAK,OAAO,kBAAkB,CAAC,CACtI,CACA,WAAWK,EAAWC,EAAQ,CAC5B,IAAMH,EAAU,KAAK,kBAAkB,EACvC,GAAKA,EAAQ,OAGb,IAAI,CAAC,KAAK,OAAO,QAAQ,EAAG,CAC1BG,EAAOD,IAAc,EAAI,QAAU,MAAM,EACzC,MACF,CACA,GAAI,KAAK,YAAa,CACpB,KAAK,gBAAgBE,GAAoB,KAAK,YAAaF,EAAWF,EAAQ,MAAM,CAAC,EACrF,MACF,CACA,KAAK,gBAAgBE,IAAc,EAAI,EAAIF,EAAQ,OAAS,CAAC,EAC/D,CAEA,cAAcK,EAAOC,EAAS,CAC5B,GAAID,EAAM,SAAWA,EAAM,UAAYA,EAAM,QAAS,OACtC,KAAK,gBAAgBA,EAAM,GAAG,GACrC,KAAK,KAAMA,EAAOC,CAAO,CACpC,CACA,gBAAkB,CAChB,UAAW,KAAK,eAChB,QAAS,KAAK,eACd,OAAQ,KAAK,gBACb,MAAO,KAAK,oBACZ,IAAK,KAAK,oBACV,IAAK,KAAK,YACZ,EACA,eAAeD,EAAOC,EAAS,CAC7BD,EAAM,eAAe,EACrBA,EAAM,gBAAgB,EACtB,IAAMH,EAAYG,EAAM,MAAQ,YAAc,EAAI,GAClD,GAAIA,EAAM,OAAQ,CAChB,KAAK,oBAAoBH,EAAWI,CAAO,EAC3C,MACF,CACA,KAAK,WAAWJ,EAAWK,GAAcD,EAAQ,OAAOC,CAAU,CAAC,CACrE,CACA,oBAAoBL,EAAWI,EAAS,CAClCJ,IAAc,GAAK,CAACI,EAAQ,QAAQA,EAAQ,OAAO,EACnDJ,IAAc,IAAMI,EAAQ,QAAQA,EAAQ,QAAQ,OAAO,CACjE,CACA,gBAAgBD,EAAOC,EAAS,CAC9BD,EAAM,eAAe,EACjBC,EAAQ,OAAQA,EAAQ,QAAQ,QAAQ,EAAOA,EAAQ,qBAAqB,CAClF,CACA,oBAAoBD,EAAOC,EAAS,CAClC,GAAI,EAAAD,EAAM,MAAQ,KAAO,CAACC,EAAQ,aAClC,IAAI,CAACA,EAAQ,QAAUA,EAAQ,kBAAoB,OAAQ,CACzDD,EAAM,eAAe,EACrBC,EAAQ,OAAO,EACf,MACF,CACA,GAAKA,EAAQ,OACb,IAAI,KAAK,gBAAgB,EAAG,CAC1BD,EAAM,eAAe,EACrBC,EAAQ,eAAe,EACvB,MACF,CACID,EAAM,MAAQ,SAAWC,EAAQ,qBAAuB,UAC1DD,EAAM,eAAe,EACrBC,EAAQ,QAAQ,OAAO,IAE3B,CACA,aAAaE,EAAQF,EAAS,CACvBA,EAAQ,SACT,KAAK,gBAAgB,GAAKA,EAAQ,YAAaA,EAAQ,eAAe,EAAOA,EAAQ,QAAQ,KAAK,EACxG,CACA,iBAAkB,CAChB,OAAO,KAAK,aAAe,EAAQ,KAAK,kBAAkB,EAAE,KAAK,WAAW,CAC9E,CACA,qBAAsB,CACpB,KAAK,kBAAkB,KAAK,CAC9B,CACA,mBAAmBG,EAAe,CAChC,OAAOC,GAA0B,KAAK,OAAO,UAAU,EAAG,KAAK,kBAAkB,mBAAmB,EAAGD,CAAa,CACtH,CACA,qBAAqBE,EAAQ,CAC3B,OAAOC,GAA4B,KAAK,OAAO,UAAU,EAAG,KAAK,kBAAkB,mBAAmB,EAAGD,CAAM,CACjH,CACA,SAAU,CACR,KAAK,kBAAkB,QAAQ,CACjC,CACF,ECtIO,SAASE,GAAgBC,EAAO,CACrC,OAAKA,EAGEC,GAAcD,EAAM,MAAM,GAAG,CAAC,EAF5B,CAAC,CAGZ,CACO,SAASE,GAAoBC,EAAQ,CAC1C,OAAOA,EAAO,KAAK,GAAG,CACxB,CACO,IAAMC,GAAsB,CACjC,cAAeJ,GAASD,GAAgBC,CAAK,EAC7C,YAAaG,GAAUA,EAAO,OAAS,EAAID,GAAoBC,CAAM,EAAI,KACzE,aAAcH,GACR,MAAM,QAAQA,CAAK,EACdC,GAAcD,EAAM,IAAI,MAAM,CAAC,EAEpC,OAAOA,GAAU,SACZD,GAAgBC,CAAK,EAEvB,CAAC,CAEZ,EACaK,GAAwB,CACnC,KAAM,MACN,QAAS,GACT,UAAWD,EACb,EACO,SAASE,GAAeN,EAAO,CACpC,OAAOI,GAAoB,eAAeJ,CAAK,GAAK,CAAC,CACvD,CA0BA,SAASO,GAAcC,EAAQ,CAC7B,MAAO,CAAC,GAAG,IAAI,IAAIA,EAAO,IAAIC,GAAQA,EAAK,KAAK,CAAC,EAAE,OAAO,OAAO,CAAC,CAAC,CACrE,CVzDA,IAAIC,GAAYC,GAAYC,GAAaC,GAAmBC,GAAaC,GAAmBC,GAAmBC,GAAyBC,GAAgBC,GAAsBC,GAAqBC,GAA2BC,GAA2BC,GAAiCC,GAAmBC,GAAyBC,GAAmBC,GAAyBC,GAAkBC,GACpY,SAASC,GAAWC,EAAGC,EAAGC,EAAG,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,EAAIf,EAAE,OAAQ,SAASgB,EAAEhB,EAAGC,EAAGgB,EAAG,CAAE,OAAO,SAAUf,EAAGC,EAAG,CAAEF,IAAME,EAAID,EAAGA,EAAIH,GAAI,QAASK,EAAI,EAAGA,EAAIJ,EAAE,OAAQI,IAAKD,EAAIH,EAAEI,CAAC,EAAE,MAAMF,EAAGe,EAAI,CAACd,CAAC,EAAI,CAAC,CAAC,EAAG,OAAOc,EAAId,EAAID,CAAG,CAAG,CAAE,SAASgB,EAAEnB,EAAGC,EAAGC,EAAGgB,EAAG,CAAE,GAAkB,OAAOlB,GAArB,aAA2BkB,GAAgBlB,IAAX,QAAe,MAAM,IAAI,UAAUC,EAAI,UAAYC,GAAK,MAAQ,eAAiBgB,EAAI,GAAK,gBAAgB,EAAG,OAAOlB,CAAG,CAAE,SAASoB,EAASpB,EAAGC,EAAGC,EAAGgB,EAAGf,EAAGC,EAAGG,EAAGC,EAAGC,EAAGC,EAAGC,EAAG,CAAE,SAASC,EAAEZ,EAAG,CAAE,GAAI,CAACW,EAAEX,CAAC,EAAG,MAAM,IAAI,UAAU,qDAAqD,CAAG,CAAE,IAAIc,EAAI,CAAC,EAAE,OAAOb,EAAE,CAAC,CAAC,EAAGe,GAAIf,EAAE,CAAC,EAAGoB,EAAI,CAACd,EAAGe,EAAUnB,IAAN,EAASoB,GAAUpB,IAAN,EAASqB,GAAUrB,IAAN,EAASsB,EAAUtB,IAAN,EAAS,SAASuB,EAAEzB,EAAGC,EAAGgB,GAAG,CAAE,OAAO,SAAUf,EAAGC,GAAG,CAAE,OAAOF,IAAME,GAAID,EAAGA,EAAIH,GAAIkB,IAAKA,GAAEf,CAAC,EAAGwB,EAAE1B,CAAC,EAAE,KAAKE,EAAGC,EAAC,CAAG,CAAG,CAAE,GAAI,CAACiB,EAAG,CAAE,IAAIM,EAAI,CAAC,EAAGC,EAAI,CAAC,EAAGC,EAAIN,GAAI,MAAQC,IAAKF,EAAI,MAAQ,QAAS,GAAIb,GAAKC,GAAKY,EAAIK,EAAI,CAAE,IAAKG,GAAiB,UAAY,CAAE,OAAOd,GAAE,IAAI,CAAG,EAAGE,EAAG,KAAK,EAAG,IAAK,SAAUlB,EAAG,CAAEC,EAAE,CAAC,EAAE,KAAMD,CAAC,CAAG,CAAE,EAAI2B,EAAEE,CAAC,EAAIb,GAAGN,GAAKoB,GAAiBH,EAAEE,CAAC,EAAGX,EAAGO,EAAI,GAAKI,CAAC,GAAKnB,IAAMiB,EAAI,OAAO,yBAAyB3B,EAAGkB,CAAC,GAAI,CAACR,GAAK,CAACD,EAAG,CAAE,IAAKH,EAAIS,EAAE,CAACP,CAAC,EAAEU,CAAC,KAAaZ,EAAIH,KAAX,EAAe,MAAM,MAAM,+CAAiDwB,EAAEE,CAAC,EAAE,KAAO,wBAAwB,EAAGd,EAAE,CAACP,CAAC,EAAEU,CAAC,EAAIf,EAAI,EAAI,EAAIA,CAAG,CAAE,CAAE,QAAS4B,EAAI/B,EAAGgC,EAAIlB,EAAE,OAAS,EAAGkB,GAAK,EAAGA,GAAK9B,EAAI,EAAI,EAAG,CAAE,IAAI+B,GAAId,EAAEL,EAAEkB,CAAC,EAAG,cAAe,KAAM,EAAE,EAAGE,GAAIhC,EAAIY,EAAEkB,EAAI,CAAC,EAAI,OAAQG,EAAI,CAAC,EAAGC,EAAI,CAAE,KAAM,CAAC,QAAS,WAAY,SAAU,SAAU,SAAU,OAAO,EAAEjC,CAAC,EAAG,KAAMe,EAAG,SAAUb,EAAG,eAAgB,SAAUL,EAAGC,EAAG,CAAE,GAAID,EAAE,EAAG,MAAM,IAAI,UAAU,gEAAgE,EAAGmB,EAAElB,EAAG,iBAAkB,KAAM,EAAE,EAAGG,EAAE,KAAKH,CAAC,CAAG,EAAE,KAAK,KAAMkC,CAAC,CAAE,EAAG,GAAId,EAAGf,EAAI2B,GAAE,KAAKC,GAAGH,EAAGK,CAAC,EAAGD,EAAE,EAAI,EAAGhB,EAAEb,EAAG,mBAAoB,QAAQ,IAAMyB,EAAIzB,WAAY8B,EAAE,OAAS5B,EAAG4B,EAAE,QAAU3B,EAAGH,EAAI8B,EAAE,OAAS,CAAE,IAAK3B,EAAIE,EAAE,KAAK,EAAI,SAAUX,EAAG,CAAE,OAAOkB,KAAKlB,CAAG,CAAE,EAAGwB,KAAMlB,EAAE,IAAMG,EAAIgB,EAAI,SAAUzB,EAAG,CAAE,OAAOY,EAAEZ,CAAC,EAAG2B,EAAE,KAAO,EAAID,EAAE,MAAO,EAAGd,CAAC,EAAI,SAAUZ,EAAG,CAAE,OAAOA,EAAEkB,CAAC,CAAG,GAAIO,GAAKF,KAAMjB,EAAE,IAAMG,EAAIiB,EAAE,MAAO,EAAGd,CAAC,EAAI,SAAUZ,EAAGC,EAAG,CAAED,EAAEkB,CAAC,EAAIjB,CAAG,GAAI8B,EAAIE,GAAE,KAAKC,GAAGZ,EAAI,CAAE,IAAKK,EAAE,IAAK,IAAKA,EAAE,GAAI,EAAIA,EAAEE,CAAC,EAAGO,CAAC,EAAGD,EAAE,EAAI,EAAGb,GAAK,GAAgB,OAAOS,GAAnB,UAAwBA,GAAIzB,EAAIa,EAAEY,EAAE,IAAK,cAAc,KAAOJ,EAAE,IAAMrB,IAAKA,EAAIa,EAAEY,EAAE,IAAK,cAAc,KAAOJ,EAAE,IAAMrB,IAAKA,EAAIa,EAAEY,EAAE,KAAM,eAAe,IAAMH,EAAE,QAAQtB,CAAC,UAAsByB,IAAX,OAAc,MAAM,IAAI,UAAU,0FAA0F,OAAUZ,EAAEY,GAAIrB,EAAI,QAAU,UAAY,cAAe,QAAQ,IAAMA,EAAIkB,EAAE,QAAQG,CAAC,EAAIJ,EAAEE,CAAC,EAAIE,EAAI,CAAE,OAAO5B,EAAI,GAAKI,EAAE,KAAKU,EAAEW,EAAGpB,EAAG,CAAC,EAAGS,EAAEb,EAAGI,EAAG,CAAC,CAAC,EAAGE,GAAKW,IAAMZ,EAAIa,EAAIf,EAAE,OAAO,GAAI,EAAGmB,EAAE,MAAOlB,CAAC,EAAGkB,EAAE,MAAOlB,CAAC,CAAC,EAAID,EAAE,KAAKkB,EAAIE,EAAEE,CAAC,EAAIV,EAAE,KAAK,KAAKQ,EAAEE,CAAC,CAAC,CAAC,EAAIhB,EAAEb,EAAGkB,EAAGS,CAAC,GAAII,CAAG,CAAE,SAASV,EAAErB,EAAG,CAAE,OAAOa,EAAEb,EAAGY,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,SAAUV,EAAG,CAAEA,GAAKS,EAAE,KAAKQ,EAAEjB,CAAC,CAAC,CAAG,EAAGW,EAAI,SAAUV,EAAGiB,EAAG,CAAE,QAASd,EAAI,EAAGA,EAAIF,EAAE,OAAQE,IAAK,CAAE,IAAIC,EAAIH,EAAEE,CAAC,EAAG,EAAIC,EAAE,CAAC,EAAGK,EAAI,EAAI,EAAG,IAAK,EAAI,IAAMT,GAAK,CAACS,GAAKQ,EAAG,CAAE,IAAIP,EAAIN,EAAE,CAAC,EAAGO,EAAI,CAAC,CAACP,EAAE,CAAC,EAAGQ,EAAI,GAAK,EAAGO,EAASnB,EAAID,EAAIA,EAAE,UAAWK,EAAGQ,EAAGD,EAAI,IAAMD,EAAI0B,GAAe1B,CAAC,EAAGD,EAAGA,EAAI,EAAI,CAAC,EAAIT,EAAIO,EAAIA,GAAK,CAAC,EAAID,EAAIA,GAAK,CAAC,EAAGE,EAAG,CAAC,CAACR,EAAGW,EAAGM,EAAGjB,GAAKW,EAAI,SAAUX,EAAG,CAAE,OAAOqC,GAAYrC,CAAC,IAAMD,CAAG,EAAIG,CAAC,CAAG,CAAE,CAAE,EAAGQ,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGD,EAAEH,CAAC,EAAGG,EAAEF,CAAC,EAAGF,EAAIG,EAAGO,GAAKK,EAAErB,CAAC,EAAG,CAAE,EAAGM,EAAG,IAAI,GAAI,CAAE,IAAIJ,EAAI,CAAC,EAAG,OAAOc,GAAK,CAACK,EAAErB,EAAIoB,EAASpB,EAAG,CAACC,CAAC,EAAG,EAAGD,EAAE,KAAM,EAAGE,CAAC,CAAC,EAAGe,EAAEf,EAAG,CAAC,CAAC,CAAG,CAAE,CAAG,CACn/G,SAASmC,GAAe,EAAG,CAAE,IAAIjC,EAAImC,GAAa,EAAG,QAAQ,EAAG,OAAmB,OAAOnC,GAAnB,SAAuBA,EAAIA,EAAI,EAAI,CAC1G,SAASmC,GAAa,EAAGrB,EAAG,CAAE,GAAgB,OAAO,GAAnB,UAAwB,CAAC,EAAG,OAAO,EAAG,IAAIlB,EAAI,EAAE,OAAO,WAAW,EAAG,GAAeA,IAAX,OAAc,CAAE,IAAII,EAAIJ,EAAE,KAAK,EAAGkB,GAAK,SAAS,EAAG,GAAgB,OAAOd,GAAnB,SAAsB,OAAOA,EAAG,MAAM,IAAI,UAAU,8CAA8C,CAAG,CAAE,OAAqBc,IAAb,SAAiB,OAAS,QAAQ,CAAC,CAAG,CACvT,SAASY,GAAiB9B,EAAGC,EAAGC,EAAG,CAAc,OAAOD,GAAnB,WAAyBA,GAAKA,EAAIA,EAAE,aAAe,IAAMA,EAAI,IAAM,IAAK,GAAI,CAAE,OAAO,eAAeD,EAAG,OAAQ,CAAE,aAAc,GAAI,MAAOE,EAAIA,EAAI,IAAMD,EAAIA,CAAE,CAAC,CAAG,MAAY,CAAC,CAAE,OAAOD,CAAG,CAChO,SAASsC,GAAYtC,EAAG,CAAE,GAAI,OAAOA,CAAC,IAAMA,EAAG,MAAM,UAAU,qDAAgEA,IAAT,KAAa,OAAOA,EAAI,OAAO,EAAG,OAAOA,CAAG,CAQlK,IAAIwC,GACEC,GAAN,cAAwBC,EAAe,CACrC,MAAO,EACJ,CACC,EAAG,CAAC7D,GAAaC,GAAmBC,GAAaC,GAAmBC,GAAmBC,GAAyBC,GAAgBC,GAAsBC,GAAqBC,GAA2BC,GAA2BC,GAAiCC,GAAmBC,GAAyBC,GAAmBC,GAAyBC,GAAkBC,GAAwBnB,EAAU,EAC9Y,EAAG,CAAC6D,GAAY5D,EAAU,CAC5B,EAAImB,GAAW,KAAM,CAAC4C,GAAc,YAAY,CAAC,EAAG,CAAC,CAAC,CAACC,GAAK,CAC1D,GAAGC,GACH,aAAc,CAAC,CACjB,CAAC,EAAGC,GAAO,CACT,SAAU,sBACV,KAAM,SACN,IAAKC,GAASA,EAAM,SAAW,CACjC,CAAC,CAAC,EAAG,EAAG,OAAO,EAAG,CAACH,GAAK,CACtB,KAAM,OACN,aAAc,EAChB,CAAC,EAAG,EAAG,OAAO,EAAG,CAACA,GAAK,CACrB,KAAM,OACN,aAAc,EAChB,CAAC,EAAG,EAAG,aAAa,EAAG,CAAC,CAACA,GAAK,CAC5B,KAAM,QACN,QAAS,GACT,aAAc,EAChB,CAAC,EAAGE,GAAO,CAAC,CACV,SAAU,wBACV,KAAM,gBACN,IAAKE,GAAYA,EAAW,OAAS,MACvC,EAAG,CACD,SAAU,wBACV,KAAM,WACN,IAAKA,GAAYA,EAAW,GAAK,CACnC,EAAG,CACD,SAAU,uBACV,KAAM,UACR,EAAG,CACD,SAAU,sBACV,KAAM,UACR,CAAC,CAAC,CAAC,EAAG,EAAG,UAAU,EAAG,CAACJ,GAAK,CAC1B,KAAM,OACN,UAAW,iBACX,aAAc,QAChB,CAAC,EAAG,EAAG,eAAe,EAAG,CAACA,GAAK,CAC7B,KAAM,QACN,UAAW,wBACb,CAAC,EAAG,EAAG,qBAAqB,EAAG,CAACA,GAAK,CACnC,KAAM,OACN,UAAW,eACX,QAAS,GACT,aAAc,QAChB,CAAC,EAAG,EAAG,aAAa,EAAG,CAACK,GAAM,CAC5B,KAAM,aACN,QAAS,GACT,SAAU,EACZ,CAAC,EAAG,EAAG,aAAa,EAAG,CAACC,GAAM,CAC5B,IAAK,MACP,CAAC,EAAG,EAAG,YAAY,EAAG,CAACC,GAAU,CAAC,QAAS,QAAS,cAAe,WAAY,cAAe,gBAAiB,qBAAqB,CAAC,EAAG,EAAG,gBAAgB,EAAG,CAACC,EAAQ,CACrK,SAAU,8CACV,KAAM,aACR,CAAC,EAAG,EAAG,sBAAsB,EAAG,CAACA,EAAQ,CACvC,SAAU,8CACV,KAAM,OACR,CAAC,EAAG,EAAG,gBAAgB,EAAG,CAACA,EAAQ,CACjC,SAAU,wBACV,KAAM,UACN,QAAS,CACP,QAAS,EACX,CACF,CAAC,EAAG,EAAG,kBAAkB,EAAG,CAACA,EAAQ,CACnC,SAAU,kDACV,KAAM,UACN,QAAS,CACP,QAAS,EACX,CACF,CAAC,EAAG,EAAG,iBAAiB,EAAG,CAACA,EAAQ,CAClC,SAAU,kDACV,KAAM,OACR,CAAC,EAAG,EAAG,eAAe,EAAG,CAACA,EAAQ,CAChC,SAAU,oCACV,KAAM,YACR,CAAC,EAAG,EAAG,aAAa,EAAG,CAACA,EAAQ,CAC9B,SAAU,sBACV,KAAM,OACR,CAAC,EAAG,EAAG,cAAc,EAAG,CAACA,EAAQ,CAC/B,SAAU,iCACV,KAAM,OACR,CAAC,EAAG,EAAG,YAAY,EAAG,CAACA,EAAQ,CAC7B,SAAU,wCACV,KAAM,aACR,CAAC,EAAG,EAAG,qBAAqB,EAAG,CAACA,EAAQ,CACtC,SAAU,wCACV,KAAM,WACR,CAAC,EAAG,EAAG,mBAAmB,EAAG,CAACA,EAAQ,CACpC,SAAU,wCACV,KAAM,OACR,CAAC,EAAG,EAAG,eAAe,EAAG,CAACA,EAAQ,CAChC,IAAK,OACL,KAAM,SACR,CAAC,EAAG,EAAG,eAAe,EAAG,CAACA,EAAQ,CAChC,IAAK,OACL,KAAM,UACR,CAAC,EAAG,EAAG,YAAY,EAAG,CAACA,EAAQ,CAC7B,SAAU,GACV,KAAM,aACR,CAAC,EAAG,EAAG,uBAAuB,CAAC,EAAG,EAAG,OAAQV,EAAc,EAC7D,CACA,eAAeW,EAAM,CACnB,MAAM,GAAGA,CAAI,EACbvD,GAAuB,IAAI,CAC7B,CACA,OAASnB,GAAW,IAAI,EAAGE,GAAY,IAAI,GAC3C,OAASC,GAAkB,IAAI,EAAGC,GAAY,IAAI,GAClD,aAAeC,GAAkB,IAAI,EAAGC,GAAkB,IAAI,GAC9D,UAAYC,GAAwB,IAAI,EAAGC,GAAe,IAAI,GAC9D,eAAiBC,GAAqB,IAAI,EAAGC,GAAoB,IAAI,GACrE,qBAAuBC,GAA0B,IAAI,EAAGC,GAA0B,IAAI,GACtF,aAAeC,GAAgC,IAAI,EAAGC,GAAkB,IAAI,GAC5E,aAAeC,GAAwB,IAAI,EAAGC,GAAkB,IAAI,GACpE,MAAQC,GAAwB,IAAI,EAAG,IACvC,IAAM0D,GAAS,YAAY,EAC3B,WAAa,IAAIC,GAAsB,CACrC,QAAS,IAAM,KACf,iBAAkB,IAAM,KAAK,cAC7B,SAAU,IAAM,KAAK,MACrB,SAAUR,GAAS,CACjB,KAAK,MAAQA,CACf,EACA,SAAU,IAAM,KAAK,gBAAgB,EACrC,iBAAkB,mCACpB,CAAC,EACD,gBAAkB,IAAIS,GAAuB,CAC3C,UAAW,IAAM,KAAK,WACtB,YAAa,IAAM,KAAK,gBAAgB,EACxC,QAAS,IAAM,KAAK,KACpB,WAAY,IAAM,KAAK,WAAW,WAAW,EAC7C,wBAAyB,IAAM,KAAK,wBAAwB,EAC5D,kBAAmB,IAAM,GAAG,KAAK,GAAG,SACtC,CAAC,EACD,WAAa3D,GAAiB,IAAI,EAClC,IAAI,WAAY,CACd,MAAO,GAAG,KAAK,GAAG,OACpB,CACA,IAAI,WAAY,CACd,MAAO,GAAG,KAAK,GAAG,UACpB,CACA,YAAa,CACX,OAAO,KAAK,gBAAkB,UAChC,CACA,gBAAiB,CACf,OAAI,KAAK,qBAAuB,KACvB,KAAK,oBAEP,CAAC,KAAK,WAAW,CAC1B,CACA,gBAAiB,CACf,OAAO,KAAK,cAAc,iDAAiD,CAC7E,CACA,gBAAiB,CACf,OAAO,KAAK,eAAe,GAAK,IAClC,CAEA,yBAA0B,CACxB,OAAI,KAAK,MAAQ,KAAK,eAAe,EAC5B,KAAK,eAAe,EAEtB,KAAK,WAAW,CACzB,CACA,mBAAoB,CAClB,IAAM4D,EAAS,KAAK,eAAe,EAC/B,CAACA,GAAUA,EAAO,QAAU,KAGhCA,EAAO,MAAQ,GACfA,EAAO,cAAc,IAAI,MAAM,QAAS,CACtC,QAAS,EACX,CAAC,CAAC,EACJ,CACA,iBAAkB,CAChB,IAAMA,EAAS,KAAK,eAAe,EAC7BC,EAAU,KAAK,WAAW,EAC1BC,EAAU,KAAK,WAAW,WAAW,EAC3C,GAAI,GAACF,GAAU,CAACE,GAAW,CAACD,GAG5B,IAAI,KAAK,KAAM,CACbD,EAAO,aAAa,OAAQ,UAAU,EACtCA,EAAO,aAAa,oBAAqB,MAAM,EAC/CA,EAAO,aAAa,gBAAiB,MAAM,EAC3CA,EAAO,aAAa,gBAAiB,KAAK,SAAS,EACnDC,EAAQ,gBAAgB,uBAAuB,EAC/C,MACF,CACAD,EAAO,gBAAgB,MAAM,EAC7BA,EAAO,gBAAgB,mBAAmB,EAC1CA,EAAO,gBAAgB,eAAe,EACtCA,EAAO,gBAAgB,eAAe,EACtCA,EAAO,gBAAgB,uBAAuB,EAChD,CACA,iBAAkB,CAChB,eAAe,IAAM,CACnB,KAAK,eAAe,GAAG,MAAM,CAC/B,CAAC,CACH,CACA,aAAc,CACZ,OAAO,KAAK,WAAW,YAAY,GAAK,IAC1C,CACA,cAAe,CACb,IAAMG,EAAe,KAAK,gBAAgB,EAC1C,KAAK,WAAW,aAAa,EACzB,GAACA,GAAgB,CAAC,KAAK,YAAY,IAGvC,KAAK,wBAAwBA,EAAc,KAAK,WAAW,kBAAkB,EAAE,MAAM,CACvF,CACA,wBAAwBA,EAAcC,EAAe,CACnD,IAAIC,EAAcF,EAAa,cAAc,2BAA2B,EACxE,GAAI,CAAC,KAAK,YAAa,CACrBE,GAAa,OAAO,EACpB,MACF,CACKA,IACHA,EAAc,SAAS,cAAc,MAAM,EAC3CA,EAAY,aAAa,0BAA2B,MAAM,EAC1DF,EAAa,aAAaE,EAAaF,EAAa,UAAU,GAEhEE,EAAY,YAAc,KAAK,YAC/BA,EAAY,OAASD,EAAgB,EACrCD,EAAa,gBAAgB,mBAAoBC,IAAkB,CAAC,CACtE,CACA,oBAAoBd,EAAO,CACpB,KAAK,WAAW,YAAYA,CAAK,IAGtC,KAAK,iBAAiB,EACtB,KAAK,WAAW,oBAAoB,EACpC,KAAK,aAAa,EAClB,KAAK,YAAY,KAAK,CACpB,MAAO,KAAK,KACd,CAAC,EACH,CACA,gBAAiB,CACV,KAAK,WAAW,YAAY,IACjC,KAAK,iBAAiB,EACtB,KAAK,WAAW,oBAAoB,EACpC,KAAK,aAAa,EAClB,KAAK,YAAY,KAAK,CACpB,MAAO,CAAC,CACV,CAAC,EACD,KAAK,WAAW,GAAG,MAAM,EAC3B,CACA,YAAa,CACX,OAAO,KAAK,cAAc,uBAAuB,CACnD,CACA,qBAAqBgB,EAAQ,CAC3B,IAAML,EAAU,KAAK,WAAW,EAIhC,MAHI,CAACA,GAAW,EAAEK,aAAkB,OAGhC,CAACL,EAAQ,SAASK,CAAM,EACnB,GAEF,EAAEA,aAAkB,SAAWA,EAAO,QAAQ,mBAAmB,EAC1E,CACA,WAAY,CACV,OAAO,KAAK,cAAc,sBAAsB,CAClD,CACA,iBAAkB,CAChB,OAAO,KAAK,cAAc,qBAAqB,CACjD,CACA,iBAAkB,CAChB,OAAO,KAAK,cAAc,uBAAuB,CACnD,CACA,iBAAkB,CAChB,KAAK,gBAAgB,gBAAgB,CACvC,CACA,mBAAoB,CAElB,OADqBC,GAAoB,IAAI,GACxB,aAAa,KAAK,GAAK,KAAK,OAAS,SAC5D,CACA,WAAY,CACV,IAAMN,EAAU,KAAK,WAAW,EAChCO,GAAe,KAAMP,EAAS,CAC5B,UAAW,KAAK,UAChB,MAAO,KAAK,MACZ,QAAS,GAAG,KAAK,GAAG,QACtB,CAAC,CACH,CACA,aAAc,CACZ,IAAMA,EAAU,KAAK,WAAW,EAC1BC,EAAU,KAAK,WAAW,WAAW,EACrCO,EAAQ,KAAK,gBAAgB,EAC/B,CAACR,GAAW,CAACC,IAGZD,EAAQ,KACXA,EAAQ,GAAK,KAAK,WAEfC,EAAQ,KACXA,EAAQ,GAAK,KAAK,WAEpBD,EAAQ,aAAa,OAAQ,UAAU,EACvCA,EAAQ,aAAa,gBAAiB,SAAS,EAC/CA,EAAQ,aAAa,oBAAqB,MAAM,EAChDA,EAAQ,aAAa,gBAAiB,OAAO,KAAK,IAAI,CAAC,EACvDA,EAAQ,aAAa,gBAAiB,KAAK,SAAS,EACpDC,EAAQ,aAAa,aAAc,KAAK,kBAAkB,CAAC,EAC3D,KAAK,WAAW,oBAAoBA,CAAO,EACvCO,IACFA,EAAM,gBAAgB,MAAM,EAC5BA,EAAM,gBAAgB,YAAY,EAClCA,EAAM,gBAAgB,sBAAsB,GAE9C,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACvB,CACA,YAAa,CACX,IAAMC,EAAS,KAAK,UAAU,EACzBA,GAGLA,EAAO,aAAa,gBAAiB,OAAO,KAAK,IAAI,CAAC,CACxD,CACA,kBAAmB,CACjB,GAAI,KAAK,YAAY,EAAG,CACtB,KAAK,aAAa,EAClB,MACF,CACA,IAAMP,EAAe,KAAK,gBAAgB,EAC1C,GAAI,CAACA,GAAgBA,EAAa,kBAAoB,EACpD,OAEF,IAAMQ,EAAW,KAAK,WAAW,kBAAkB,EACnD,GAAIA,EAAS,SAAW,EAAG,CACzBR,EAAa,YAAc,GAC3BA,EAAa,gBAAgB,mBAAoB,EAAI,EACjD,KAAK,cACPA,EAAa,YAAc,KAAK,aAElC,MACF,CAEA,GADAA,EAAa,gBAAgB,mBAAoB,EAAK,EAClD,KAAK,WAAW,EAAG,CACrBA,EAAa,YAAcQ,EAAS,IAAIrB,GAAS,KAAK,WAAW,cAAcA,CAAK,CAAC,EAAE,KAAK,IAAI,EAChG,MACF,CACAa,EAAa,YAAc,KAAK,WAAW,cAAcQ,EAAS,CAAC,CAAC,CACtE,CACA,QAAQC,EAAMC,EAAU,CAAC,EAAG,CAC1B,IAAMC,EAAWD,EAAQ,UAAY,OACrC,KAAK,KAAOD,EACZ,IAAMX,EAAU,KAAK,WAAW,EAC1BQ,EAAQ,KAAK,gBAAgB,EACnC,GAAI,GAACR,GAAW,CAACQ,GAKjB,IAFAR,EAAQ,aAAa,gBAAiB,OAAOW,CAAI,CAAC,EAClDH,EAAM,gBAAgB,SAAU,CAACG,CAAI,EACjC,CAACA,EAAM,CACT,KAAK,gBAAgB,kBAAkB,EACvC,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,oBAAoB,EACzC,MACF,CAOA,GANA,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,oBAAoB,EACrC,KAAK,eAAe,GACtB,KAAK,gBAAgB,EAEnBE,IAAa,QAAS,CACxB,IAAMC,EAAU,KAAK,gBAAgB,kBAAkB,EACvD,KAAK,gBAAgB,gBAAgBA,EAAQ,OAAS,EAAI,EAAE,EAC5D,MACF,CACA,GAAID,IAAa,OAAQ,CACvB,IAAMC,EAAU,KAAK,gBAAgB,kBAAkB,EACvD,KAAK,gBAAgB,gBAAgBA,EAAQ,OAASA,EAAQ,OAAS,EAAI,EAAE,EAC7E,MACF,CACA,KAAK,gBAAgB,kBAAkB,EACzC,CACA,aAAaC,EAAQ,CACd,KAAK,WAAW,mBAAmBA,CAAM,IAG9C,KAAK,WAAW,YAAYC,EAAsBD,CAAM,CAAC,EACzD,KAAK,iBAAiB,EACtB,KAAK,WAAW,oBAAoB,EACpC,KAAK,YAAY,KAAK,CACpB,MAAO,KAAK,KACd,CAAC,EACG,KAAK,eAAe,IACtB,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EAAK,EAClB,KAAK,WAAW,GAAG,MAAM,GAE7B,CACA,qBAAqBE,EAAQ,CAC3B,KAAK,gBAAgB,cAAcA,EAAQ,CACzC,OAAQ,KAAK,KACb,YAAa,CAAC,KAAK,eAAe,EAClC,YAAa,KAAK,eAAe,EACjC,gBAAiB,OACjB,mBAAoB,SACpB,OAAQ,CAACC,EAAa,SAAW,KAAK,QAAQ,GAAM,CAClD,SAAUA,CACZ,CAAC,EACD,QAASC,GAAU,CACjB,KAAK,QAAQ,EAAK,GACdA,IAAW,SAAWA,IAAW,WACnC,KAAK,WAAW,GAAG,MAAM,CAE7B,EACA,eAAgB,IAAM,CACpB,IAAMJ,EAAS,KAAK,gBAAgB,kBAAkB,EAAE,KAAK,gBAAgB,iBAAiB,EAC1FA,GACF,KAAK,aAAaA,CAAM,CAE5B,CACF,CAAC,CACH,CACA,qBAAqBE,EAAQ,CAC3B,KAAK,qBAAqBA,CAAM,CAClC,CACA,YAAa,CACX,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,gBAAgB,EAChC,KAAK,iBAAiB,EACtB,KAAK,WAAW,oBAAoB,EACpC,KAAK,QAAQ,EAAK,CACpB,CACA,aAAc,CACZ,KAAK,WAAW,CAClB,CACA,sBAAuB,CACrB,KAAK,gBAAgB,QAAQ,EAC7B,MAAM,qBAAqB,CAC7B,CACA,gBAAiB,CACf,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,gBAAgB,EAChC,KAAK,iBAAiB,EACtB,KAAK,WAAW,oBAAoB,CACtC,CACA,qBAAqBA,EAAQ,CACvB,KAAK,cAAgB,SACvBA,EAAO,eAAe,CAE1B,CACA,eAAeA,EAAQ,CACrBA,EAAO,eAAe,EACtB,IAAMjB,EAAU,KAAK,WAAW,EAChC,GAAI,GAACA,GAAW,KAAK,UAQrB,IALI,KAAK,KACP,KAAK,QAAQ,EAAK,EAElB,KAAK,QAAQ,EAAI,EAEf,KAAK,MAAQ,KAAK,eAAe,EAAG,CACtC,KAAK,gBAAgB,EACrB,MACF,CACAA,EAAQ,MAAM,EAChB,CACA,iBAAiBiB,EAAQ,CACvB,KAAK,qBAAqBA,CAAM,CAClC,CACA,gBAAgBA,EAAQ,CACtB,KAAK,qBAAqBA,CAAM,CAClC,CACA,eAAgB,CACT,KAAK,MAGV,KAAK,gBAAgB,kBAAkB,CACzC,CACA,YAAYA,EAAQ,CAClB,IAAMG,EAASH,EAAO,OACjBG,GAAQ,OAGb,KAAK,oBAAoBA,EAAO,KAAK,CACvC,CACA,aAAaH,EAAQ,CACnBA,EAAO,eAAe,EACtBA,EAAO,gBAAgB,EACvB,KAAK,eAAe,CACtB,CACA,WAAWA,EAAQ,CACFA,EAAO,OACX,QAAQ,mBAAmB,GAGtCA,EAAO,gBAAgB,CACzB,CACA,oBAAoBA,EAAQ,CAC1B,GAAI,CAAC,KAAK,KACR,OAEF,IAAMF,EAAS,KAAK,WAAW,WAAWE,EAAO,MAAM,EACvD,GAAI,CAAC,KAAK,WAAW,mBAAmBF,CAAM,EAC5C,OAGF,IAAMM,EADU,KAAK,gBAAgB,kBAAkB,EACjC,QAAQN,CAAM,EAChCM,GAAS,GACX,KAAK,gBAAgB,gBAAgBA,CAAK,CAE9C,CACA,kBAAkBJ,EAAQ,CACxBA,EAAO,eAAe,CACxB,CACA,cAAcA,EAAQ,CACpB,IAAMF,EAAS,KAAK,WAAW,WAAWE,EAAO,MAAM,EACnDF,GACF,KAAK,aAAaA,CAAM,CAE5B,CACA,cAAcE,EAAQ,CAChB,KAAK,cAAgB,SAAW,KAAK,UAAY,KAAK,MAAQ,CAAC,KAAK,qBAAqBA,EAAO,MAAM,GAGtGA,EAAO,yBAAyB,MAAQ,KAAK,SAASA,EAAO,aAAa,GAG9E,KAAK,QAAQ,EAAI,CACnB,CACA,WAAWA,EAAQ,CACZ,KAAK,gBAAgB,mBAAmBA,EAAO,aAAa,GAGjE,KAAK,QAAQ,EAAK,CACpB,CACA,sBAAsBA,EAAQ,CACvB,KAAK,MAGL,KAAK,gBAAgB,qBAAqBA,EAAO,MAAM,GAG5D,KAAK,QAAQ,EAAK,CACpB,CACA,MAAO,CACL/F,GAAW,CACb,CACF,EWnjBA,OAAS,YAAAoG,GAAU,OAAAC,EAAK,QAAAC,OAAY,4BCA7B,SAASC,GAAqBC,EAAMC,EAAU,CACnD,OAAIA,IAAa,QAAUD,GAAM,QAAU,OAClCA,EAEF,CACL,GAAGA,EACH,MAAOC,CACT,CACF,CCRO,SAASC,KAAMC,EAAO,CAC3B,OAAOA,EAAM,OAAO,OAAO,EAAE,KAAK,GAAG,CACvC,CCFA,OAAS,OAAAC,OAAW,4BAEb,SAASC,GAAa,CAC3B,MAAOC,EACP,KAAAC,EAAO,KACP,GAAGC,CACL,EAAG,CACD,OAAsBC,GAAI,MAAO,CAC/B,GAAGD,EACH,MAAOE,EAAG,WAAYH,IAAS,MAAQ,eAAgBD,CAAS,EAChE,QAAS,YACT,KAAM,OACN,OAAQ,eACR,eAAgB,IAChB,iBAAkB,QAClB,kBAAmB,QACnB,cAAe,OACf,SAAyBG,GAAI,OAAQ,CACnC,EAAG,gBACL,CAAC,CACH,CAAC,CACH,CCrBA,OAAS,OAAAE,OAAW,4BAEb,SAASC,GAAmB,CACjC,MAAOC,EACP,KAAAC,EAAO,KACP,GAAGC,CACL,EAAG,CACD,OAAsBC,GAAI,MAAO,CAC/B,GAAGD,EACH,MAAOE,EAAG,WAAYH,IAAS,MAAQ,eAAgBD,CAAS,EAChE,QAAS,YACT,KAAM,OACN,OAAQ,eACR,eAAgB,IAChB,iBAAkB,QAClB,kBAAmB,QACnB,cAAe,OACf,SAAyBG,GAAI,OAAQ,CACnC,EAAG,cACL,CAAC,CACH,CAAC,CACH,CCrBA,OAAS,OAAAE,GAAK,QAAAC,OAAY,4BAE1B,IAAMC,GAAgB,6BACf,SAASC,GAAS,CACvB,MAAOC,EACP,KAAAC,EAAO,KACP,GAAGC,CACL,EAAG,CACD,OAAsBC,GAAK,MAAO,CAChC,GAAGD,EACH,MAAOE,EAAG,WAAYH,IAAS,MAAQ,eAAgBD,CAAS,EAChE,QAAS,YACT,KAAM,OACN,OAAQ,eACR,eAAgB,IAChB,iBAAkB,QAClB,kBAAmB,QACnB,cAAe,OACf,SAAU,CAAgBK,GAAI,OAAQ,CACpC,EAAG,aACL,CAAC,EAAkBA,GAAI,OAAQ,CAC7B,EAAG,YACL,CAAC,CAAC,CACJ,CAAC,CACH,CACO,SAASC,IAAiB,CAC/B,IAAMC,EAAO,SAAS,gBAAgBT,GAAe,KAAK,EAC1DS,EAAK,aAAa,QAAS,UAAU,EACrCA,EAAK,aAAa,UAAW,WAAW,EACxCA,EAAK,aAAa,OAAQ,MAAM,EAChCA,EAAK,aAAa,SAAU,cAAc,EAC1CA,EAAK,aAAa,eAAgB,GAAG,EACrCA,EAAK,aAAa,iBAAkB,OAAO,EAC3CA,EAAK,aAAa,kBAAmB,OAAO,EAC5CA,EAAK,aAAa,cAAe,MAAM,EACvC,QAAWC,IAAK,CAAC,cAAe,YAAY,EAAG,CAC7C,IAAMC,EAAO,SAAS,gBAAgBX,GAAe,MAAM,EAC3DW,EAAK,aAAa,IAAKD,CAAC,EACxBD,EAAK,OAAOE,CAAI,CAClB,CACA,OAAOF,CACT,CCnCA,OAAS,kBAAAG,GAAgB,UAAAC,GAAQ,iBAAAC,GAAe,SAAAC,GAAO,WAAAC,GAAS,aAAAC,GAAW,QAAAC,OAAY,oBCNhF,SAASC,GAAoBC,EAAOC,EAAa,CACtDD,EAAM,QAAQ,CAACE,EAAMC,IAAU,CAC7B,IAAMC,EAAOD,IAAUF,EAAc,EAAI,GACrCC,EAAK,WAAaE,IACpBF,EAAK,SAAWE,EAEpB,CAAC,CACH,CACO,SAASC,GAAgBL,EAAOG,EAAO,CAC5C,GAAI,CAACH,EAAM,OAAQ,OAAO,KAC1B,IAAMI,EAAO,KAAK,IAAI,EAAG,KAAK,IAAIJ,EAAM,OAAS,EAAGG,CAAK,CAAC,EAC1D,OAAAJ,GAAoBC,EAAOI,CAAI,EAC/BJ,EAAMI,CAAI,GAAG,MAAM,EACZJ,EAAMI,CAAI,GAAK,IACxB,CACA,SAASE,GAAYC,EAAKC,EAAa,CACrC,OAAID,IAAQ,OAAe,QACvBA,IAAQ,MAAc,OACtBC,IAAgB,aACdD,IAAQ,aAAqB,OAC7BA,IAAQ,YAAoB,OACzB,KAELA,IAAQ,YAAoB,OAC5BA,IAAQ,UAAkB,OACvB,IACT,CACO,SAASE,GAAuBC,EAAS,CAC9C,GAAM,CACJ,MAAAV,EACA,QAAAW,EACA,IAAAJ,EACA,YAAAC,EAAc,aACd,KAAAI,EAAO,EACT,EAAIF,EACJ,GAAI,CAACV,EAAM,QAAU,CAACW,EAAS,MAAO,CACpC,QAAS,EACX,EACA,IAAMR,EAAQH,EAAM,QAAQW,CAAO,EACnC,GAAIR,EAAQ,EAAG,MAAO,CACpB,QAAS,EACX,EACA,IAAMU,EAAQP,GAAYC,EAAKC,CAAW,EAC1C,GAAI,CAACK,EAAO,MAAO,CACjB,QAAS,EACX,EACA,IAAIT,EAAOD,EACPU,IAAU,QAAST,EAAO,EAAWS,IAAU,OAAQT,EAAOJ,EAAM,OAAS,EAAWa,IAAU,OAAQT,EAAOQ,GAAQT,EAAQ,GAAKH,EAAM,OAAS,KAAK,IAAIA,EAAM,OAAS,EAAGG,EAAQ,CAAC,EAAOC,EAAOQ,GAAQT,EAAQ,EAAIH,EAAM,QAAUA,EAAM,OAAS,KAAK,IAAI,EAAGG,EAAQ,CAAC,EACnR,IAAMD,EAAOG,GAAgBL,EAAOI,CAAI,EACxC,OAAKF,EAGE,CACL,QAAS,GACT,MAAOE,EACP,KAAAF,CACF,EAPkB,CAChB,QAAS,EACX,CAMF,CDzDA,IAAIY,GAAYC,GAAYC,GAAaC,GAAmBC,GAAaC,GAAmBC,GAAgBC,GAAsBC,GAAqBC,GAA2BC,GAAgBC,GAAsBC,GAAgBC,GAAsBC,GAAmBC,GACjR,SAASC,GAAWC,EAAGC,EAAGC,EAAG,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,EAAIf,EAAE,OAAQ,SAASgB,EAAEhB,EAAGC,EAAGgB,EAAG,CAAE,OAAO,SAAUf,EAAGC,EAAG,CAAEF,IAAME,EAAID,EAAGA,EAAIH,GAAI,QAASK,EAAI,EAAGA,EAAIJ,EAAE,OAAQI,IAAKD,EAAIH,EAAEI,CAAC,EAAE,MAAMF,EAAGe,EAAI,CAACd,CAAC,EAAI,CAAC,CAAC,EAAG,OAAOc,EAAId,EAAID,CAAG,CAAG,CAAE,SAASgB,EAAEnB,EAAGC,EAAGC,EAAGgB,EAAG,CAAE,GAAkB,OAAOlB,GAArB,aAA2BkB,GAAgBlB,IAAX,QAAe,MAAM,IAAI,UAAUC,EAAI,UAAYC,GAAK,MAAQ,eAAiBgB,EAAI,GAAK,gBAAgB,EAAG,OAAOlB,CAAG,CAAE,SAASoB,EAASpB,EAAGC,EAAGC,EAAGgB,EAAGf,EAAGC,EAAGG,EAAGC,EAAGC,EAAGC,EAAGC,EAAG,CAAE,SAASC,EAAEZ,EAAG,CAAE,GAAI,CAACW,EAAEX,CAAC,EAAG,MAAM,IAAI,UAAU,qDAAqD,CAAG,CAAE,IAAIc,EAAI,CAAC,EAAE,OAAOb,EAAE,CAAC,CAAC,EAAGe,GAAIf,EAAE,CAAC,EAAGoB,EAAI,CAACd,EAAGe,EAAUnB,IAAN,EAASoB,GAAUpB,IAAN,EAASqB,GAAUrB,IAAN,EAASsB,EAAUtB,IAAN,EAAS,SAASuB,EAAEzB,EAAGC,EAAGgB,GAAG,CAAE,OAAO,SAAUf,EAAGC,GAAG,CAAE,OAAOF,IAAME,GAAID,EAAGA,EAAIH,GAAIkB,IAAKA,GAAEf,CAAC,EAAGwB,EAAE1B,CAAC,EAAE,KAAKE,EAAGC,EAAC,CAAG,CAAG,CAAE,GAAI,CAACiB,EAAG,CAAE,IAAIM,EAAI,CAAC,EAAGC,EAAI,CAAC,EAAGC,EAAIN,GAAI,MAAQC,IAAKF,EAAI,MAAQ,QAAS,GAAIb,GAAKC,GAAKY,EAAIK,EAAI,CAAE,IAAKG,GAAiB,UAAY,CAAE,OAAOd,GAAE,IAAI,CAAG,EAAGE,EAAG,KAAK,EAAG,IAAK,SAAUlB,EAAG,CAAEC,EAAE,CAAC,EAAE,KAAMD,CAAC,CAAG,CAAE,EAAI2B,EAAEE,CAAC,EAAIb,GAAGN,GAAKoB,GAAiBH,EAAEE,CAAC,EAAGX,EAAGO,EAAI,GAAKI,CAAC,GAAKnB,IAAMiB,EAAI,OAAO,yBAAyB3B,EAAGkB,CAAC,GAAI,CAACR,GAAK,CAACD,EAAG,CAAE,IAAKH,EAAIS,EAAE,CAACP,CAAC,EAAEU,CAAC,KAAaZ,EAAIH,KAAX,EAAe,MAAM,MAAM,+CAAiDwB,EAAEE,CAAC,EAAE,KAAO,wBAAwB,EAAGd,EAAE,CAACP,CAAC,EAAEU,CAAC,EAAIf,EAAI,EAAI,EAAIA,CAAG,CAAE,CAAE,QAAS4B,EAAI/B,EAAGgC,EAAIlB,EAAE,OAAS,EAAGkB,GAAK,EAAGA,GAAK9B,EAAI,EAAI,EAAG,CAAE,IAAI+B,GAAId,EAAEL,EAAEkB,CAAC,EAAG,cAAe,KAAM,EAAE,EAAGE,GAAIhC,EAAIY,EAAEkB,EAAI,CAAC,EAAI,OAAQG,EAAI,CAAC,EAAGC,EAAI,CAAE,KAAM,CAAC,QAAS,WAAY,SAAU,SAAU,SAAU,OAAO,EAAEjC,CAAC,EAAG,KAAMe,EAAG,SAAUb,EAAG,eAAgB,SAAUL,EAAGC,EAAG,CAAE,GAAID,EAAE,EAAG,MAAM,IAAI,UAAU,gEAAgE,EAAGmB,EAAElB,EAAG,iBAAkB,KAAM,EAAE,EAAGG,EAAE,KAAKH,CAAC,CAAG,EAAE,KAAK,KAAMkC,CAAC,CAAE,EAAG,GAAId,EAAGf,EAAI2B,GAAE,KAAKC,GAAGH,EAAGK,CAAC,EAAGD,EAAE,EAAI,EAAGhB,EAAEb,EAAG,mBAAoB,QAAQ,IAAMyB,EAAIzB,WAAY8B,EAAE,OAAS5B,EAAG4B,EAAE,QAAU3B,EAAGH,EAAI8B,EAAE,OAAS,CAAE,IAAK3B,EAAIE,EAAE,KAAK,EAAI,SAAUX,EAAG,CAAE,OAAOkB,KAAKlB,CAAG,CAAE,EAAGwB,KAAMlB,EAAE,IAAMG,EAAIgB,EAAI,SAAUzB,EAAG,CAAE,OAAOY,EAAEZ,CAAC,EAAG2B,EAAE,KAAO,EAAID,EAAE,MAAO,EAAGd,CAAC,EAAI,SAAUZ,EAAG,CAAE,OAAOA,EAAEkB,CAAC,CAAG,GAAIO,GAAKF,KAAMjB,EAAE,IAAMG,EAAIiB,EAAE,MAAO,EAAGd,CAAC,EAAI,SAAUZ,EAAGC,EAAG,CAAED,EAAEkB,CAAC,EAAIjB,CAAG,GAAI8B,EAAIE,GAAE,KAAKC,GAAGZ,EAAI,CAAE,IAAKK,EAAE,IAAK,IAAKA,EAAE,GAAI,EAAIA,EAAEE,CAAC,EAAGO,CAAC,EAAGD,EAAE,EAAI,EAAGb,GAAK,GAAgB,OAAOS,GAAnB,UAAwBA,GAAIzB,EAAIa,EAAEY,EAAE,IAAK,cAAc,KAAOJ,EAAE,IAAMrB,IAAKA,EAAIa,EAAEY,EAAE,IAAK,cAAc,KAAOJ,EAAE,IAAMrB,IAAKA,EAAIa,EAAEY,EAAE,KAAM,eAAe,IAAMH,EAAE,QAAQtB,CAAC,UAAsByB,IAAX,OAAc,MAAM,IAAI,UAAU,0FAA0F,OAAUZ,EAAEY,GAAIrB,EAAI,QAAU,UAAY,cAAe,QAAQ,IAAMA,EAAIkB,EAAE,QAAQG,CAAC,EAAIJ,EAAEE,CAAC,EAAIE,EAAI,CAAE,OAAO5B,EAAI,GAAKI,EAAE,KAAKU,EAAEW,EAAGpB,EAAG,CAAC,EAAGS,EAAEb,EAAGI,EAAG,CAAC,CAAC,EAAGE,GAAKW,IAAMZ,EAAIa,EAAIf,EAAE,OAAO,GAAI,EAAGmB,EAAE,MAAOlB,CAAC,EAAGkB,EAAE,MAAOlB,CAAC,CAAC,EAAID,EAAE,KAAKkB,EAAIE,EAAEE,CAAC,EAAIV,EAAE,KAAK,KAAKQ,EAAEE,CAAC,CAAC,CAAC,EAAIhB,EAAEb,EAAGkB,EAAGS,CAAC,GAAII,CAAG,CAAE,SAASV,EAAErB,EAAG,CAAE,OAAOa,EAAEb,EAAGY,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,SAAUV,EAAG,CAAEA,GAAKS,EAAE,KAAKQ,EAAEjB,CAAC,CAAC,CAAG,EAAGW,EAAI,SAAUV,EAAGiB,EAAG,CAAE,QAASd,EAAI,EAAGA,EAAIF,EAAE,OAAQE,IAAK,CAAE,IAAIC,EAAIH,EAAEE,CAAC,EAAG,EAAIC,EAAE,CAAC,EAAGK,EAAI,EAAI,EAAG,IAAK,EAAI,IAAMT,GAAK,CAACS,GAAKQ,EAAG,CAAE,IAAIP,EAAIN,EAAE,CAAC,EAAGO,EAAI,CAAC,CAACP,EAAE,CAAC,EAAGQ,EAAI,GAAK,EAAGO,EAASnB,EAAID,EAAIA,EAAE,UAAWK,EAAGQ,EAAGD,EAAI,IAAMD,EAAI0B,GAAe1B,CAAC,EAAGD,EAAGA,EAAI,EAAI,CAAC,EAAIT,EAAIO,EAAIA,GAAK,CAAC,EAAID,EAAIA,GAAK,CAAC,EAAGE,EAAG,CAAC,CAACR,EAAGW,EAAGM,EAAGjB,GAAKW,EAAI,SAAUX,EAAG,CAAE,OAAOqC,GAAYrC,CAAC,IAAMD,CAAG,EAAIG,CAAC,CAAG,CAAE,CAAE,EAAGQ,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGD,EAAEH,CAAC,EAAGG,EAAEF,CAAC,EAAGF,EAAIG,EAAGO,GAAKK,EAAErB,CAAC,EAAG,CAAE,EAAGM,EAAG,IAAI,GAAI,CAAE,IAAIJ,EAAI,CAAC,EAAG,OAAOc,GAAK,CAACK,EAAErB,EAAIoB,EAASpB,EAAG,CAACC,CAAC,EAAG,EAAGD,EAAE,KAAM,EAAGE,CAAC,CAAC,EAAGe,EAAEf,EAAG,CAAC,CAAC,CAAG,CAAE,CAAG,CACn/G,SAASmC,GAAe,EAAG,CAAE,IAAIjC,EAAImC,GAAa,EAAG,QAAQ,EAAG,OAAmB,OAAOnC,GAAnB,SAAuBA,EAAIA,EAAI,EAAI,CAC1G,SAASmC,GAAa,EAAGrB,EAAG,CAAE,GAAgB,OAAO,GAAnB,UAAwB,CAAC,EAAG,OAAO,EAAG,IAAIlB,EAAI,EAAE,OAAO,WAAW,EAAG,GAAeA,IAAX,OAAc,CAAE,IAAII,EAAIJ,EAAE,KAAK,EAAGkB,GAAK,SAAS,EAAG,GAAgB,OAAOd,GAAnB,SAAsB,OAAOA,EAAG,MAAM,IAAI,UAAU,8CAA8C,CAAG,CAAE,OAAqBc,IAAb,SAAiB,OAAS,QAAQ,CAAC,CAAG,CACvT,SAASY,GAAiB9B,EAAGC,EAAGC,EAAG,CAAc,OAAOD,GAAnB,WAAyBA,GAAKA,EAAIA,EAAE,aAAe,IAAMA,EAAI,IAAM,IAAK,GAAI,CAAE,OAAO,eAAeD,EAAG,OAAQ,CAAE,aAAc,GAAI,MAAOE,EAAIA,EAAI,IAAMD,EAAIA,CAAE,CAAC,CAAG,MAAY,CAAC,CAAE,OAAOD,CAAG,CAChO,SAASsC,GAAYtC,EAAG,CAAE,GAAI,OAAOA,CAAC,IAAMA,EAAG,MAAM,UAAU,qDAAgEA,IAAT,KAAa,OAAOA,EAAI,OAAO,EAAG,OAAOA,CAAG,CAOlK,IAAIwC,GACEC,GAAN,cAAyBC,EAAe,CACtC,MAAO,EACJ,CACC,EAAG,CAACzD,GAAaC,GAAmBC,GAAaC,GAAmBC,GAAgBC,GAAsBC,GAAqBC,GAA2BC,GAAgBC,GAAsBC,GAAgBC,GAAsBC,GAAmBC,GAAyBf,EAAU,EAC5R,EAAG,CAACyD,GAAaxD,EAAU,CAC7B,EAAIe,GAAW,KAAM,CAAC4C,GAAc,aAAa,CAAC,EAAG,CAAC,CAACC,GAAK,CAC1D,GAAGC,GACH,aAAc,CAAC,CACjB,CAAC,EAAG,EAAG,OAAO,EAAG,CAACD,GAAK,CACrB,KAAM,OACN,aAAc,EAChB,CAAC,EAAG,EAAG,OAAO,EAAG,CAACA,GAAK,CACrB,KAAM,QACN,QAAS,GACT,aAAc,EAChB,CAAC,EAAG,EAAG,UAAU,EAAG,CAAC,CAACA,GAAK,CACzB,KAAM,OACN,UAAW,iBACX,aAAc,QAChB,CAAC,EAAGE,GAAO,CACT,SAAU,mBACV,KAAM,uBACN,IAAKC,GAAQA,IAAS,WAAa,OAAS,MAC9C,CAAC,CAAC,EAAG,EAAG,eAAe,EAAG,CAACH,GAAK,CAC9B,KAAM,QACN,QAAS,GACT,aAAc,EAChB,CAAC,EAAG,EAAG,UAAU,EAAG,CAACA,GAAK,CACxB,KAAM,QACN,QAAS,EACX,CAAC,EAAG,EAAG,UAAU,EAAG,CAACI,GAAM,CACzB,KAAM,aACN,QAAS,GACT,SAAU,EACZ,CAAC,EAAG,EAAG,aAAa,EAAG,CAACC,GAAU,CAAC,QAAS,QAAS,WAAY,WAAY,eAAe,CAAC,EAAG,EAAG,gBAAgB,EAAG,CAACC,GAAQ,CAC7H,SAAU,kBACV,KAAM,OACR,CAAC,EAAG,EAAG,eAAe,EAAG,CAACA,GAAQ,CAChC,SAAU,kBACV,KAAM,SACR,CAAC,EAAG,EAAG,iBAAiB,CAAC,EAAG,EAAG,OAAQR,EAAc,EACvD,CACA,OAAS3D,GAAW,IAAI,EAAGE,GAAY,IAAI,GAC3C,OAASC,GAAkB,IAAI,EAAGC,GAAY,IAAI,GAClD,UAAYC,GAAkB,IAAI,EAAGC,GAAe,IAAI,GACxD,eAAiBC,GAAqB,IAAI,EAAGC,GAAoB,IAAI,GACrE,UAAYC,GAA0B,IAAI,EAAGC,GAAe,IAAI,GAChE,UAAYC,GAAqB,IAAI,EAAGC,GAAe,IAAI,GAC3D,aAAeC,GAAqB,IAAI,EAAGC,GAAkB,IAAI,GACjE,KAAOC,GAAwB,IAAI,EAAGqD,GAAS,aAAa,GAC5D,aAAc,CACZ,KAAK,UAAU,EACf,KAAK,KAAK,CACZ,CACA,gBAAiB,CACf,KAAK,UAAU,EACf,KAAK,KAAK,CACZ,CACA,YAAa,CACX,OAAO,MAAM,KAAK,KAAK,iBAAiB,iBAAiB,CAAC,CAC5D,CACA,WAAY,CACV,GAAI,KAAK,SAAU,OACnB,IAAMC,EAAO,KAAK,cAAc,kBAAkB,EAC7CA,IACAA,EAAK,KAAIA,EAAK,GAAK,GAAG,KAAK,GAAG,SACnCC,GAAe,KAAMD,EAAM,CACzB,UAAWA,EAAK,GAChB,MAAO,KAAK,MACZ,QAAS,GAAG,KAAK,GAAG,QACtB,CAAC,EACH,CACA,mBAAoB,CAClB,OAAO,KAAK,KACd,CACA,kBAAkBE,EAAQ,CACxB,KAAK,MAAQA,CACf,CACA,YAAYC,EAAQC,EAAS,CAC3B,OAAI,KAAK,SACA,GAEFD,IAAWC,EAAU,EAAI,EAClC,CACA,MAAO,CACL,IAAMC,EAAU,KAAK,WAAW,EAC1BC,EAAW,IAAI,IAAI,KAAK,kBAAkB,CAAC,EAC3CF,EAAUC,EAAQ,KAAKF,GAAUG,EAAS,IAAIC,EAAsBJ,CAAM,CAAC,CAAC,GAAKE,EAAQ,CAAC,EAChG,QAAWF,KAAUE,EAAS,CAC5B,IAAMG,EAAaF,EAAS,IAAIC,EAAsBJ,CAAM,CAAC,EAC7DA,EAAO,aAAa,gBAAiB,OAAOK,CAAU,CAAC,EACvDL,EAAO,SAAW,KAAK,YAAYA,EAAQC,CAAO,CACpD,CACF,CACA,OAAOD,EAAQ,CACb,GAAI,KAAK,UAAYA,EAAO,aAAa,eAAe,IAAM,OAAQ,OACtE,IAAMM,EAAQF,EAAsBJ,CAAM,EAC1C,GAAI,KAAK,gBAAkB,WAAY,CACrC,IAAMG,EAAW,IAAI,IAAI,KAAK,kBAAkB,CAAC,EAC7CA,EAAS,IAAIG,CAAK,EAAGH,EAAS,OAAOG,CAAK,EAAOH,EAAS,IAAIG,CAAK,EACvE,KAAK,kBAAkB,CAAC,GAAGH,CAAQ,CAAC,CACtC,MACE,KAAK,kBAAkB,CAACG,CAAK,CAAC,EAEhC,KAAK,KAAK,EACV,KAAK,YAAY,KAAK,CACpB,MAAO,KAAK,KACd,CAAC,EACDN,EAAO,MAAM,CACf,CACA,cAAcO,EAAQ,CACpB,GAAI,KAAK,SACP,OAEF,IAAMP,EAASO,EAAO,OAAO,QAAQ,iBAAiB,EAClDP,GAAU,KAAK,SAASA,CAAM,GAAG,KAAK,OAAOA,CAAM,CACzD,CACA,gBAAgBO,EAAQ,CACtB,GAAI,KAAK,SACP,OAEF,IAAML,EAAU,KAAK,WAAW,EAC1BM,EAAUD,EAAO,OAAO,QAAQ,iBAAiB,EACvD,GAAI,CAACC,EAAS,OACd,GAAID,EAAO,MAAQ,SAAWA,EAAO,MAAQ,IAAK,CAChDA,EAAO,eAAe,EACtB,KAAK,OAAOC,CAAO,EACnB,MACF,CACA,IAAMC,EAASC,GAAuB,CACpC,MAAOR,EACP,QAAAM,EACA,IAAKD,EAAO,IACZ,YAAa,UACf,CAAC,EACD,GAAKE,EAAO,QAEZ,IADAF,EAAO,eAAe,EAClB,KAAK,gBAAkB,WAAY,CACrCE,EAAO,KAAK,MAAM,EAClB,MACF,CACA,KAAK,OAAOA,EAAO,IAAI,EACzB,CACA,MAAO,CACLhF,GAAW,CACb,CACF,EE/JA,OAAS,OAAAkF,GAAK,QAAAC,OAAY,4BAKnB,SAASC,GAAiB,CAC/B,MAAAC,EACA,MAAAC,EACA,SAAAC,EACA,MAAOC,EACP,SAAAC,EACA,GAAGC,CACL,EAAG,CACD,OAAsBC,GAAI,MAAO,CAC/B,GAAGD,EACH,MAAOE,EAAG,sBAAuBJ,CAAS,EAC1C,KAAM,SACN,aAAcH,EACd,aAAcC,EACd,gBAAiBG,EAAW,OAAS,OACrC,SAAU,GACV,SAAAF,CACF,CAAC,CACH,CACO,SAASM,GAA0B,CACxC,SAAAN,EACA,MAAOC,EACP,GAAGE,CACL,EAAG,CACD,OAAsBC,GAAI,OAAQ,CAChC,GAAGD,EACH,gCAAiC,GACjC,cAAe,OACf,MAAOE,EAAG,gCAAiCJ,CAAS,EACpD,SAAUD,GAA2BI,GAAIG,GAAc,CAAC,CAAC,CAC3D,CAAC,CACH,CACA,SAASC,GAAkBC,EAAUC,EAAU,CAC7C,OAAIA,GAGG,CAACD,CACV,CACA,SAASE,GAAa,CACpB,SAAAD,EACA,SAAAV,EACA,SAAAE,EACA,SAAAO,EACA,MAAAV,EACA,cAAAa,EAAgB,QAClB,EAAG,CACD,OAAsBR,GAAI,MAAO,CAC/B,MAAOC,EAAG,cAAeK,GAAY,uBAAuB,EAC5D,KAAM,UACN,mBAAoBD,EAAW,OAAS,GACxC,wBAAyBA,EAAW,OAAS,OAC7C,aAAcV,GAAS,OACvB,gBAAiBG,EAAW,OAAS,OACrC,uBAAwBU,IAAkB,WAAa,OAAS,OAChE,SAAAZ,CACF,CAAC,CACH,CACO,SAASa,GAAW,CACzB,QAAAC,EACA,SAAAd,EACA,MAAAF,EACA,SAAAW,EACA,SAAAC,EACA,MAAAX,EACA,SAAAG,EACA,cAAAU,EAAgB,SAChB,GAAGT,CACL,EAAG,CACD,IAAMY,EAAaP,GAAkBC,EAAUC,CAAQ,EACjDM,EAAiBC,GAAenB,CAAK,EACrCoB,EAAW,IAAI,IAAIF,CAAc,EACvC,OAAsBZ,GAAI,cAAe,CACvC,GAAGD,EACH,MAAOa,EACP,SAAAP,EACA,SAAAC,EACA,MAAAX,EACA,SAAAG,EACA,cAAAU,EACA,SAAyBR,GAAIO,GAAc,CACzC,SAAUI,EACV,SAAAb,EACA,SAAAO,EACA,MAAAV,EACA,cAAAa,EACA,SAAUE,GAAW,KAAOA,EAAQ,IAAIK,GAAyBC,GAAKvB,GAAkB,CACtF,MAAOsB,EAAO,MACd,MAAO,OAAOA,EAAO,OAAU,SAAWA,EAAO,MAAQ,OACzD,SAAUA,EAAO,SACjB,gBAAiBD,EAAS,IAAIC,EAAO,KAAK,EAAI,OAAS,OACvD,SAAU,CAACA,EAAO,MAAOP,IAAkB,WAA4BR,GAAIE,GAA2B,CAAC,CAAC,EAAI,IAAI,CAClH,CAAC,CAAC,EAAIN,CACR,CAAC,CACH,CAAC,CACH,CC7FA,OAAS,kBAAAqB,GAAgB,iBAAAC,GAAe,SAAAC,GAAO,WAAAC,GAAS,aAAAC,GAAW,QAAAC,GAAM,SAAAC,OAAa,oBANtF,IAAIC,GAAYC,GAAYC,GAAaC,GAAmBC,GAAaC,GAAmBC,GAAgBC,GAAsBC,GAAqBC,GAA2BC,GAAgBC,GAAsBC,GAAmBC,GAAyBC,GAAmBC,GAAyBC,GAAoBC,GACpU,SAASC,GAAWC,EAAGC,EAAGC,EAAG,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,EAAIf,EAAE,OAAQ,SAASgB,EAAEhB,EAAGC,EAAGgB,EAAG,CAAE,OAAO,SAAUf,EAAGC,EAAG,CAAEF,IAAME,EAAID,EAAGA,EAAIH,GAAI,QAASK,EAAI,EAAGA,EAAIJ,EAAE,OAAQI,IAAKD,EAAIH,EAAEI,CAAC,EAAE,MAAMF,EAAGe,EAAI,CAACd,CAAC,EAAI,CAAC,CAAC,EAAG,OAAOc,EAAId,EAAID,CAAG,CAAG,CAAE,SAASgB,EAAEnB,EAAGC,EAAGC,EAAGgB,EAAG,CAAE,GAAkB,OAAOlB,GAArB,aAA2BkB,GAAgBlB,IAAX,QAAe,MAAM,IAAI,UAAUC,EAAI,UAAYC,GAAK,MAAQ,eAAiBgB,EAAI,GAAK,gBAAgB,EAAG,OAAOlB,CAAG,CAAE,SAASoB,EAASpB,EAAGC,EAAGC,EAAGgB,EAAGf,EAAGC,EAAGG,EAAGC,EAAGC,EAAGC,EAAGC,EAAG,CAAE,SAASC,EAAEZ,EAAG,CAAE,GAAI,CAACW,EAAEX,CAAC,EAAG,MAAM,IAAI,UAAU,qDAAqD,CAAG,CAAE,IAAIc,EAAI,CAAC,EAAE,OAAOb,EAAE,CAAC,CAAC,EAAGe,GAAIf,EAAE,CAAC,EAAGoB,EAAI,CAACd,EAAGe,EAAUnB,IAAN,EAASoB,GAAUpB,IAAN,EAASqB,GAAUrB,IAAN,EAASsB,EAAUtB,IAAN,EAAS,SAASuB,EAAEzB,EAAGC,EAAGgB,GAAG,CAAE,OAAO,SAAUf,EAAGC,GAAG,CAAE,OAAOF,IAAME,GAAID,EAAGA,EAAIH,GAAIkB,IAAKA,GAAEf,CAAC,EAAGwB,EAAE1B,CAAC,EAAE,KAAKE,EAAGC,EAAC,CAAG,CAAG,CAAE,GAAI,CAACiB,EAAG,CAAE,IAAIM,EAAI,CAAC,EAAGC,EAAI,CAAC,EAAGC,EAAIN,GAAI,MAAQC,IAAKF,EAAI,MAAQ,QAAS,GAAIb,GAAKC,GAAKY,EAAIK,EAAI,CAAE,IAAKG,GAAiB,UAAY,CAAE,OAAOd,GAAE,IAAI,CAAG,EAAGE,EAAG,KAAK,EAAG,IAAK,SAAUlB,EAAG,CAAEC,EAAE,CAAC,EAAE,KAAMD,CAAC,CAAG,CAAE,EAAI2B,EAAEE,CAAC,EAAIb,GAAGN,GAAKoB,GAAiBH,EAAEE,CAAC,EAAGX,EAAGO,EAAI,GAAKI,CAAC,GAAKnB,IAAMiB,EAAI,OAAO,yBAAyB3B,EAAGkB,CAAC,GAAI,CAACR,GAAK,CAACD,EAAG,CAAE,IAAKH,EAAIS,EAAE,CAACP,CAAC,EAAEU,CAAC,KAAaZ,EAAIH,KAAX,EAAe,MAAM,MAAM,+CAAiDwB,EAAEE,CAAC,EAAE,KAAO,wBAAwB,EAAGd,EAAE,CAACP,CAAC,EAAEU,CAAC,EAAIf,EAAI,EAAI,EAAIA,CAAG,CAAE,CAAE,QAAS4B,EAAI/B,EAAGgC,EAAIlB,EAAE,OAAS,EAAGkB,GAAK,EAAGA,GAAK9B,EAAI,EAAI,EAAG,CAAE,IAAI+B,GAAId,EAAEL,EAAEkB,CAAC,EAAG,cAAe,KAAM,EAAE,EAAGE,GAAIhC,EAAIY,EAAEkB,EAAI,CAAC,EAAI,OAAQG,EAAI,CAAC,EAAGC,EAAI,CAAE,KAAM,CAAC,QAAS,WAAY,SAAU,SAAU,SAAU,OAAO,EAAEjC,CAAC,EAAG,KAAMe,EAAG,SAAUb,EAAG,eAAgB,SAAUL,EAAGC,EAAG,CAAE,GAAID,EAAE,EAAG,MAAM,IAAI,UAAU,gEAAgE,EAAGmB,EAAElB,EAAG,iBAAkB,KAAM,EAAE,EAAGG,EAAE,KAAKH,CAAC,CAAG,EAAE,KAAK,KAAMkC,CAAC,CAAE,EAAG,GAAId,EAAGf,EAAI2B,GAAE,KAAKC,GAAGH,EAAGK,CAAC,EAAGD,EAAE,EAAI,EAAGhB,EAAEb,EAAG,mBAAoB,QAAQ,IAAMyB,EAAIzB,WAAY8B,EAAE,OAAS5B,EAAG4B,EAAE,QAAU3B,EAAGH,EAAI8B,EAAE,OAAS,CAAE,IAAK3B,EAAIE,EAAE,KAAK,EAAI,SAAUX,EAAG,CAAE,OAAOkB,KAAKlB,CAAG,CAAE,EAAGwB,KAAMlB,EAAE,IAAMG,EAAIgB,EAAI,SAAUzB,EAAG,CAAE,OAAOY,EAAEZ,CAAC,EAAG2B,EAAE,KAAO,EAAID,EAAE,MAAO,EAAGd,CAAC,EAAI,SAAUZ,EAAG,CAAE,OAAOA,EAAEkB,CAAC,CAAG,GAAIO,GAAKF,KAAMjB,EAAE,IAAMG,EAAIiB,EAAE,MAAO,EAAGd,CAAC,EAAI,SAAUZ,EAAGC,EAAG,CAAED,EAAEkB,CAAC,EAAIjB,CAAG,GAAI8B,EAAIE,GAAE,KAAKC,GAAGZ,EAAI,CAAE,IAAKK,EAAE,IAAK,IAAKA,EAAE,GAAI,EAAIA,EAAEE,CAAC,EAAGO,CAAC,EAAGD,EAAE,EAAI,EAAGb,GAAK,GAAgB,OAAOS,GAAnB,UAAwBA,GAAIzB,EAAIa,EAAEY,EAAE,IAAK,cAAc,KAAOJ,EAAE,IAAMrB,IAAKA,EAAIa,EAAEY,EAAE,IAAK,cAAc,KAAOJ,EAAE,IAAMrB,IAAKA,EAAIa,EAAEY,EAAE,KAAM,eAAe,IAAMH,EAAE,QAAQtB,CAAC,UAAsByB,IAAX,OAAc,MAAM,IAAI,UAAU,0FAA0F,OAAUZ,EAAEY,GAAIrB,EAAI,QAAU,UAAY,cAAe,QAAQ,IAAMA,EAAIkB,EAAE,QAAQG,CAAC,EAAIJ,EAAEE,CAAC,EAAIE,EAAI,CAAE,OAAO5B,EAAI,GAAKI,EAAE,KAAKU,EAAEW,EAAGpB,EAAG,CAAC,EAAGS,EAAEb,EAAGI,EAAG,CAAC,CAAC,EAAGE,GAAKW,IAAMZ,EAAIa,EAAIf,EAAE,OAAO,GAAI,EAAGmB,EAAE,MAAOlB,CAAC,EAAGkB,EAAE,MAAOlB,CAAC,CAAC,EAAID,EAAE,KAAKkB,EAAIE,EAAEE,CAAC,EAAIV,EAAE,KAAK,KAAKQ,EAAEE,CAAC,CAAC,CAAC,EAAIhB,EAAEb,EAAGkB,EAAGS,CAAC,GAAII,CAAG,CAAE,SAASV,EAAErB,EAAG,CAAE,OAAOa,EAAEb,EAAGY,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,SAAUV,EAAG,CAAEA,GAAKS,EAAE,KAAKQ,EAAEjB,CAAC,CAAC,CAAG,EAAGW,EAAI,SAAUV,EAAGiB,EAAG,CAAE,QAASd,EAAI,EAAGA,EAAIF,EAAE,OAAQE,IAAK,CAAE,IAAIC,EAAIH,EAAEE,CAAC,EAAG,EAAIC,EAAE,CAAC,EAAGK,EAAI,EAAI,EAAG,IAAK,EAAI,IAAMT,GAAK,CAACS,GAAKQ,EAAG,CAAE,IAAIP,EAAIN,EAAE,CAAC,EAAGO,EAAI,CAAC,CAACP,EAAE,CAAC,EAAGQ,EAAI,GAAK,EAAGO,EAASnB,EAAID,EAAIA,EAAE,UAAWK,EAAGQ,EAAGD,EAAI,IAAMD,EAAI0B,GAAe1B,CAAC,EAAGD,EAAGA,EAAI,EAAI,CAAC,EAAIT,EAAIO,EAAIA,GAAK,CAAC,EAAID,EAAIA,GAAK,CAAC,EAAGE,EAAG,CAAC,CAACR,EAAGW,EAAGM,EAAGjB,GAAKW,EAAI,SAAUX,EAAG,CAAE,OAAOqC,GAAYrC,CAAC,IAAMD,CAAG,EAAIG,CAAC,CAAG,CAAE,CAAE,EAAGQ,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGD,EAAEH,CAAC,EAAGG,EAAEF,CAAC,EAAGF,EAAIG,EAAGO,GAAKK,EAAErB,CAAC,EAAG,CAAE,EAAGM,EAAG,IAAI,GAAI,CAAE,IAAIJ,EAAI,CAAC,EAAG,OAAOc,GAAK,CAACK,EAAErB,EAAIoB,EAASpB,EAAG,CAACC,CAAC,EAAG,EAAGD,EAAE,KAAM,EAAGE,CAAC,CAAC,EAAGe,EAAEf,EAAG,CAAC,CAAC,CAAG,CAAE,CAAG,CACn/G,SAASmC,GAAe,EAAG,CAAE,IAAIjC,EAAImC,GAAa,EAAG,QAAQ,EAAG,OAAmB,OAAOnC,GAAnB,SAAuBA,EAAIA,EAAI,EAAI,CAC1G,SAASmC,GAAa,EAAGrB,EAAG,CAAE,GAAgB,OAAO,GAAnB,UAAwB,CAAC,EAAG,OAAO,EAAG,IAAIlB,EAAI,EAAE,OAAO,WAAW,EAAG,GAAeA,IAAX,OAAc,CAAE,IAAII,EAAIJ,EAAE,KAAK,EAAGkB,GAAK,SAAS,EAAG,GAAgB,OAAOd,GAAnB,SAAsB,OAAOA,EAAG,MAAM,IAAI,UAAU,8CAA8C,CAAG,CAAE,OAAqBc,IAAb,SAAiB,OAAS,QAAQ,CAAC,CAAG,CACvT,SAASY,GAAiB9B,EAAGC,EAAGC,EAAG,CAAc,OAAOD,GAAnB,WAAyBA,GAAKA,EAAIA,EAAE,aAAe,IAAMA,EAAI,IAAM,IAAK,GAAI,CAAE,OAAO,eAAeD,EAAG,OAAQ,CAAE,aAAc,GAAI,MAAOE,EAAIA,EAAI,IAAMD,EAAIA,CAAE,CAAC,CAAG,MAAY,CAAC,CAAE,OAAOD,CAAG,CAChO,SAASsC,GAAYtC,EAAG,CAAE,GAAI,OAAOA,CAAC,IAAMA,EAAG,MAAM,UAAU,qDAAgEA,IAAT,KAAa,OAAOA,EAAI,OAAO,EAAG,OAAOA,CAAG,CAMlK,IAAIwC,GACEC,GAAN,cAA0BC,EAAe,CACvC,MAAO,EACJ,CACC,EAAG,CAAC3D,GAAaC,GAAmBC,GAAaC,GAAmBC,GAAgBC,GAAsBC,GAAqBC,GAA2BC,GAAgBC,GAAsBC,GAAmBC,GAAyBC,GAAmBC,GAAyBC,GAAoBC,GAA0BjB,EAAU,EAChV,EAAG,CAAC2D,GAAc1D,EAAU,CAC9B,EAAIiB,GAAW,KAAM,CAAC4C,GAAc,eAAe,CAAC,EAAG,CAAC,CAACC,GAAK,CAC5D,GAAGC,GACH,aAAc,CAAC,CACjB,CAAC,EAAG,EAAG,OAAO,EAAG,CAACD,GAAK,CACrB,KAAM,OACN,aAAc,EAChB,CAAC,EAAG,EAAG,OAAO,EAAG,CAACA,GAAK,CACrB,KAAM,QACN,QAAS,GACT,aAAc,EAChB,CAAC,EAAG,EAAG,UAAU,EAAG,CAACA,GAAK,CACxB,KAAM,OACN,UAAW,iBACX,aAAc,UAChB,CAAC,EAAG,EAAG,eAAe,EAAG,CAACA,GAAK,CAC7B,KAAM,QACN,QAAS,GACT,aAAc,EAChB,CAAC,EAAG,EAAG,UAAU,EAAG,CAACE,GAAM,CACzB,KAAM,aACN,QAAS,GACT,SAAU,EACZ,CAAC,EAAG,EAAG,aAAa,EAAG,CAACA,GAAM,CAC5B,KAAM,aACN,QAAS,GACT,SAAU,EACZ,CAAC,EAAG,EAAG,aAAa,EAAG,CAACC,GAAO,EAAG,cAAc,EAAG,CAACC,GAAU,CAAC,QAAS,QAAS,WAAY,gBAAiB,WAAY,cAAc,CAAC,EAAG,EAAG,gBAAgB,EAAG,CAACC,GAAQ,CACzK,SAAU,aACV,KAAM,OACR,CAAC,EAAG,EAAG,YAAY,EAAG,CAACA,GAAQ,CAC7B,SAAU,oBACV,KAAM,OACR,CAAC,EAAG,EAAG,eAAe,EAAG,CAACA,GAAQ,CAChC,SAAU,aACV,KAAM,SACR,CAAC,EAAG,EAAG,cAAc,CAAC,EAAG,EAAG,OAAQP,EAAc,EACpD,CACA,eAAeQ,EAAM,CACnB,MAAM,GAAGA,CAAI,EACbpD,GAAyB,IAAI,CAC/B,CACA,OAASjB,GAAW,IAAI,EAAGE,GAAY,IAAI,GAC3C,OAASC,GAAkB,IAAI,EAAGC,GAAY,IAAI,GAClD,UAAYC,GAAkB,IAAI,EAAGC,GAAe,IAAI,GACxD,eAAiBC,GAAqB,IAAI,EAAGC,GAAoB,IAAI,GACrE,UAAYC,GAA0B,IAAI,EAAGC,GAAe,IAAI,GAChE,aAAeC,GAAqB,IAAI,EAAGC,GAAkB,IAAI,GACjE,aAAeC,GAAwB,IAAI,EAAGC,GAAkB,IAAI,GACpE,KAAOC,GAAwB,IAAI,EAAGuD,GAAS,eAAe,GAC9D,aAAetD,GAAmB,KAAM,IAAI,EAC5C,YAAa,CACX,OAAO,KAAK,gBAAkB,UAChC,CACA,mBAAoB,CAClB,OAAO,KAAK,KACd,CACA,kBAAkBuD,EAAQ,CACxB,KAAK,MAAQA,CACf,CACA,SAAU,CACR,IAAMC,EAAU,KAAK,cAAc,yBAAyB,EAC5D,OAAIA,IAGA,KAAK,cAAgB,KAChB,KAEF,KAAK,cAAc,iBAAiB,EAC7C,CACA,SAAU,CACR,IAAMC,EAAO,KAAK,QAAQ,EAC1B,OAAKA,EAGE,MAAM,KAAKA,EAAK,iBAAiB,YAAY,CAAC,EAF5C,CAAC,CAGZ,CACA,gBAAiB,CACf,OAAO,KAAK,QAAQ,EAAE,OAAOC,GAAO,CAACA,EAAI,QAAUA,EAAI,aAAa,eAAe,IAAM,MAAM,CACjG,CACA,YAAYA,EAAK,CACf,OAAOA,EAAI,aAAa,YAAY,GAAKA,EAAI,aAAa,KAAK,GAAK,EACtE,CACA,YAAYA,EAAK,CACf,OAAOA,EAAI,aAAa,YAAY,GAAKA,EAAI,aAAa,KAAK,GAAK,EACtE,CACA,cAAe,CACb,KAAK,QAAQ,EAAE,QAAQ,CAACA,EAAKC,IAAU,CAChCD,EAAI,KACPA,EAAI,GAAK,GAAG,KAAK,GAAG,QAAQC,CAAK,GAErC,CAAC,CACH,CACA,UAAW,CACT,IAAMF,EAAO,KAAK,QAAQ,EACrBA,IAGAA,EAAK,KACRA,EAAK,GAAK,GAAG,KAAK,GAAG,SAEvBA,EAAK,aAAa,OAAQ,MAAM,EAChCA,EAAK,aAAa,aAAc,KAAK,OAAS,MAAM,EAChD,KAAK,SACPA,EAAK,aAAa,gBAAiB,MAAM,EAEzCA,EAAK,gBAAgB,eAAe,EAExC,CACA,UAAW,CACT,IAAMG,EAAW,IAAI,IAAI,KAAK,kBAAkB,CAAC,EACpC,KAAK,QAAQ,EACrB,QAAQ,CAACF,EAAKC,IAAU,CAC3BD,EAAI,aAAa,OAAQ,UAAU,EACnC,IAAMG,EAAQ,KAAK,YAAYH,CAAG,EAC5BI,EAAaF,EAAS,IAAIC,CAAK,EACrCH,EAAI,aAAa,gBAAiB,OAAOI,CAAU,CAAC,EACpDJ,EAAI,SAAWC,IAAU,EAAI,EAAI,GACjC,IAAMI,EAAeL,EAAI,cAAc,mBAAmB,EACtDK,IACFA,EAAa,KAAO,SACpBA,EAAa,SAAW,GACxBA,EAAa,aAAa,aAAc,UAAU,KAAK,YAAYL,CAAG,CAAC,EAAE,EAE7E,CAAC,CACH,CACA,UAAUA,EAAK,CACb,GAAI,KAAK,UAAY,KAAK,UAAYA,EAAI,aAAa,eAAe,IAAM,OAC1E,OAEF,IAAMM,EAAW,KAAK,YAAYN,CAAG,EACrC,GAAI,KAAK,WAAW,EAAG,CACrB,IAAME,EAAW,IAAI,IAAI,KAAK,kBAAkB,CAAC,EAC7CA,EAAS,IAAII,CAAQ,EACvBJ,EAAS,OAAOI,CAAQ,EAExBJ,EAAS,IAAII,CAAQ,EAEvB,KAAK,kBAAkB,CAAC,GAAGJ,CAAQ,CAAC,CACtC,MACE,KAAK,MAAQ,CAACI,CAAQ,EAExB,KAAK,SAAS,EACd,KAAK,YAAY,KAAK,CACpB,MAAO,KAAK,KACd,CAAC,CACH,CACA,UAAUN,EAAK,CACb,IAAMM,EAAW,KAAK,YAAYN,CAAG,EAC/BE,EAAW,IAAI,IAAI,KAAK,kBAAkB,CAAC,EACjDA,EAAS,OAAOI,CAAQ,EACxB,KAAK,kBAAkB,CAAC,GAAGJ,CAAQ,CAAC,EACpC,KAAK,SAAS,EACd,KAAK,YAAY,KAAK,CACpB,MAAOI,CACT,CAAC,EACD,KAAK,YAAY,KAAK,CACpB,MAAO,KAAK,KACd,CAAC,CACH,CACA,YAAa,CACX,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,CAChB,CACA,aAAc,CACZ,KAAK,WAAW,CAClB,CACA,gBAAiB,CACf,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,SAAS,CAChB,CAIA,QAAS,CACP,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,CAChB,CAOA,SAASC,EAAO,CACd,KAAK,aAAeA,EACpB,KAAK,MAAQA,EAAM,IAAIC,GAAQA,EAAK,KAAK,CAC3C,CAKA,iBAAiBA,EAAM,CACrB,IAAMR,EAAM,SAAS,cAAc,MAAM,EACzCA,EAAI,aAAa,WAAY,EAAE,EAC/BA,EAAI,aAAa,aAAcQ,EAAK,KAAK,EACzCR,EAAI,aAAa,aAAcQ,EAAK,KAAK,EACzCR,EAAI,UAAY,UAChBA,EAAI,YAAcQ,EAAK,MACvBR,EAAI,aAAa,aAAcQ,EAAK,KAAK,EACzC,IAAMC,EAAS,SAAS,cAAc,QAAQ,EAC9C,OAAAA,EAAO,KAAO,SACdA,EAAO,aAAa,kBAAmB,EAAE,EACzCA,EAAO,UAAY,kBACnBA,EAAO,aAAa,aAAc,UAAUD,EAAK,KAAK,EAAE,EACxDC,EAAO,OAAOC,GAAe,CAAC,EAC9BV,EAAI,OAAOS,CAAM,EACVT,CACT,CACA,iBAAkB,CAChB,IAAMW,EAAO,KAAK,cAAc,mBAAmB,EACnD,GAAI,CAACA,GAAQ,KAAK,cAAgB,KAChC,OAEeA,EAAK,cAAc,8CAA8C,GACxE,gBAAgB,SAAU,EAAI,EACxC,IAAIb,EAAUa,EAAK,cAAc,yBAAyB,EAC1D,GAAI,KAAK,aAAa,SAAW,EAAG,CAClCb,GAAS,OAAO,EAChB,MACF,CACKA,IACHA,EAAU,SAAS,cAAc,KAAK,EACtCA,EAAQ,aAAa,gBAAiB,EAAE,EACxCA,EAAQ,aAAa,wBAAyB,EAAE,EAChDA,EAAQ,UAAY,sBACpBa,EAAK,YAAYb,CAAO,GAE1BA,EAAQ,gBAAgB,GAAG,KAAK,aAAa,IAAIU,GAAQ,KAAK,iBAAiBA,CAAI,CAAC,CAAC,EACrF,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,CAChB,CACA,WAAWI,EAAQ,CACjB,IAAMC,EAASD,EAAO,OACtB,GAAIC,EAAO,QAAQ,mBAAmB,EACpC,OAEF,IAAMb,EAAMa,EAAO,QAAQ,YAAY,EACnCb,GAAO,KAAK,SAASA,CAAG,GAC1B,KAAK,UAAUA,CAAG,CAEtB,CACA,cAAcY,EAAQ,CACpBA,EAAO,gBAAgB,EAEvB,IAAMZ,EADSY,EAAO,OACH,QAAQ,YAAY,EACnCZ,GAAO,KAAK,SAASA,CAAG,GAC1B,KAAK,UAAUA,CAAG,CAEtB,CACA,aAAaY,EAAQ,CACnB,IAAME,EAAO,KAAK,eAAe,EAC3BC,EAAUH,EAAO,OAAO,QAAQ,YAAY,EAClD,GAAI,CAACG,EACH,OAEF,GAAIH,EAAO,MAAQ,SAAWA,EAAO,MAAQ,IAAK,CAChDA,EAAO,eAAe,EACjB,KAAK,UACR,KAAK,UAAUG,CAAO,EAExB,MACF,CACA,GAAIH,EAAO,MAAQ,aAAeA,EAAO,MAAQ,SAAU,CACpCG,EAAQ,cAAc,mBAAmB,IAE5DH,EAAO,eAAe,EACtB,KAAK,UAAUG,CAAO,GAExB,MACF,CACeC,GAAuB,CACpC,MAAOF,EACP,QAAAC,EACA,IAAKH,EAAO,IACZ,YAAa,YACf,CAAC,EACU,SACTA,EAAO,eAAe,CAE1B,CACA,MAAO,CACLrF,GAAW,CACb,CACF,ECjTA,OAAS,OAAA0F,EAAK,QAAAC,OAAY,4BAKnB,SAASC,GAAW,CACzB,SAAAC,EACA,MAAOC,EACP,GAAGC,CACL,EAAG,CACD,OAAsBC,EAAI,MAAO,CAC/B,GAAGD,EACH,gBAAiB,GACjB,MAAOE,EAAG,sBAAuBH,CAAS,EAC1C,SAAAD,CACF,CAAC,CACH,CACO,SAASK,GAAO,CACrB,MAAAC,EACA,MAAAC,EACA,SAAAP,EACA,MAAOC,EACP,SAAAO,EACA,KAAAC,EACA,GAAGP,CACL,EAAG,CACD,OAAsBQ,GAAK,OAAQ,CACjC,GAAGR,EACH,WAAY,GACZ,aAAcI,EACd,aAAcC,EACd,MAAOH,EAAG,UAAWH,CAAS,EAC9B,KAAMU,GAAqBF,EAAMF,CAAK,EACtC,gBAAiBC,EAAW,OAAS,OACrC,SAAU,CAACR,EAAyBG,EAAIS,GAAc,CAAC,CAAC,CAAC,CAC3D,CAAC,CACH,CACO,SAASA,GAAa,CAC3B,SAAAZ,EACA,MAAOC,EACP,KAAAQ,EACA,GAAGP,CACL,EAAG,CACD,OAAsBC,EAAI,SAAU,CAClC,GAAGD,EACH,KAAMS,GAAqBF,EAAM,QAAQ,EACzC,KAAM,SACN,kBAAmB,GACnB,MAAOL,EAAG,kBAAmBH,CAAS,EACtC,SAAUD,GAA2BG,EAAIU,GAAU,CAAC,CAAC,CACvD,CAAC,CACH,CACA,SAASC,GAAc,CACrB,SAAAd,CACF,EAAG,CACD,OAAsBG,EAAI,MAAO,CAC/B,MAAO,gBACP,WAAY,OACZ,SAAAH,CACF,CAAC,CACH,CACO,SAASe,GAAY,CAC1B,KAAAC,EACA,SAAAhB,EACA,MAAAM,EACA,GAAGJ,CACL,EAAG,CACD,OAAIc,GAAQ,KACYb,EAAI,gBAAiB,CACzC,GAAGD,EACH,MAAAI,EACA,SAAyBH,EAAIW,GAAe,CAC1C,SAAyBX,EAAIJ,GAAY,CACvC,SAAUiB,EAAK,IAAIC,GAAsBd,EAAIE,GAAQ,CACnD,MAAOY,EAAI,MACX,MAAO,OAAOA,EAAI,OAAU,SAAWA,EAAI,MAAQ,OACnD,SAAUA,EAAI,SACd,SAAUA,EAAI,KAChB,CAAC,CAAC,CACJ,CAAC,CACH,CAAC,CACH,CAAC,EAEmBd,EAAI,gBAAiB,CACzC,GAAGD,EACH,MAAAI,EACA,SAAyBH,EAAIW,GAAe,CAC1C,SAAAd,CACF,CAAC,CACH,CAAC,CACH,CVlFO,SAASkB,GAAiB,CAC/B,SAAAC,EACA,MAAOC,EACP,GAAGC,CACL,EAAG,CACD,OAAsBC,EAAI,MAAO,CAC/B,GAAGD,EACH,MAAOE,EAAG,sBAAuBH,CAAS,EAC1C,SAAAD,CACF,CAAC,CACH,CACO,SAASK,GAAiB,CAC/B,SAAAL,EACA,MAAOC,EACP,SAAAK,EACA,GAAGJ,CACL,EAAG,CACD,OAAsBC,EAAI,MAAO,CAC/B,GAAGD,EACH,sBAAuB,GACvB,mBAAoB,GACpB,wBAAyB,OACzB,MAAOE,EAAG,sBAAuBH,CAAS,EAC1C,SAAUK,EAAW,GAAK,EAC1B,gBAAiBA,EAAW,OAAS,OACrC,SAAAN,CACF,CAAC,CACH,CACO,SAASO,GAAgB,CAC9B,SAAAP,EACA,MAAOC,EACP,KAAAO,EACA,SAAAF,EACA,GAAGJ,CACL,EAAG,CACD,OAAsBC,EAAI,SAAU,CAClC,GAAGD,EACH,KAAMO,GAAqBD,EAAM,cAAc,EAC/C,KAAM,SACN,qBAAsB,GACtB,MAAOJ,EAAG,qBAAsBH,CAAS,EACzC,SAAAK,EACA,SAAU,GACV,SAAUN,GAA2BG,EAAIO,GAAoB,CAAC,CAAC,CACjE,CAAC,CACH,CACO,SAASC,GAAe,CAC7B,SAAAX,EACA,MAAOC,EACP,KAAAO,EACA,SAAAF,EACA,GAAGJ,CACL,EAAG,CACD,OAAsBC,EAAI,SAAU,CAClC,GAAGD,EACH,KAAMO,GAAqBD,EAAM,iBAAiB,EAClD,KAAM,SACN,oBAAqB,GACrB,MAAOJ,EAAG,oBAAqBH,CAAS,EACxC,SAAAK,EACA,SAAUN,GAA2BG,EAAIS,GAAU,CAAC,CAAC,CACvD,CAAC,CACH,CACO,SAASC,GAAe,CAC7B,SAAAb,EACA,MAAOC,EACP,GAAGC,CACL,EAAG,CACD,OAAsBC,EAAI,OAAQ,CAChC,GAAGD,EACH,oBAAqB,GACrB,MAAOE,EAAG,oBAAqBH,CAAS,EACxC,SAAAD,CACF,CAAC,CACH,CACO,SAASc,GAAiB,CAC/B,SAAAd,EACA,MAAOC,EACP,GAAGC,CACL,EAAG,CACD,OAAsBC,EAAI,MAAO,CAC/B,GAAGD,EACH,sBAAuB,GACvB,MAAOE,EAAG,oEAAqEH,CAAS,EACxF,SAAAD,CACF,CAAC,CACH,CACO,SAASe,GAAgB,CAC9B,YAAAC,EACA,MAAOf,EACP,SAAAK,EACA,GAAGJ,CACL,EAAG,CACD,OAAsBC,EAAI,QAAS,CACjC,GAAGD,EACH,KAAM,SACN,0BAA2B,GAC3B,MAAOE,EAAG,qBAAsBH,CAAS,EACzC,YAAAe,EACA,SAAAV,EACA,aAAc,KAChB,CAAC,CACH,CACA,SAASW,GAAyBC,EAASC,EAAOH,EAAa,CAC7D,IAAMI,EAAWC,GAAeF,CAAK,EAAE,CAAC,GAAK,GACvCG,EAAW,OAAON,GAAgB,SAAWA,EAAc,GACjE,GAAI,CAACI,EACH,OAAOE,EAET,IAAMC,EAAQL,GAAS,KAAKM,GAAUA,EAAO,QAAUJ,CAAQ,EAC/D,OAAKG,GAGE,OAAOA,EAAM,OAAU,SAAWA,EAAM,MAFtCH,CAGX,CACA,SAASK,GAAY,CACnB,SAAAzB,CACF,EAAG,CACD,OAAsBG,EAAI,MAAO,CAC/B,MAAO,aACP,WAAY,OACZ,SAAAH,CACF,CAAC,CACH,CACO,SAAS0B,GAAU,CACxB,QAAAR,EACA,SAAAlB,EACA,MAAAmB,EACA,GAAGjB,CACL,EAAG,CACD,IAAMyB,EAAiBN,GAAeF,CAAK,EACrCS,EAAa1B,EAAM,gBAAkB,WACrC2B,EAAcX,GAAW,KAAOD,GAAyBC,EAASC,EAAOjB,EAAM,WAAW,EAAI,GAC9F4B,EAAeZ,GAAS,OAAOM,GAAUG,EAAe,SAASH,EAAO,KAAK,CAAC,EAAE,IAAIA,IAAW,CACnG,MAAOA,EAAO,MACd,MAAOA,EAAO,KAChB,EAAE,EACF,OAAsBrB,EAAI,aAAc,CACtC,GAAGD,EACH,MAAOyB,EACP,SAAyBxB,EAAIsB,GAAa,CACxC,SAAUP,GAAW,KAAOlB,EAA0B+B,GAAKC,GAAU,CACnE,SAAU,CAAgBD,GAAKhC,GAAkB,CAC/C,SAAU,CAAgBI,EAAIE,GAAkB,CAC9C,SAAUH,EAAM,SAChB,SAAyBC,EAAIU,GAAgB,CAC3C,SAAUe,EAA4BzB,EAAI8B,GAAa,CACrD,KAAMH,GAAgB,CAAC,EACvB,MAAO,kBACT,CAAC,EAAID,CACP,CAAC,CACH,CAAC,EAAkB1B,EAAII,GAAiB,CAAC,CAAC,CAAC,CAC7C,CAAC,EAAkBJ,EAAIW,GAAkB,CACvC,SAAyBX,EAAI+B,GAAY,CACvC,SAAU,GACV,QAAAhB,EACA,cAAehB,EAAM,cACrB,MAAOyB,CACT,CAAC,CACH,CAAC,CAAC,CACJ,CAAC,CACH,CAAC,CACH,CAAC,CACH",
6
+ "names": ["RadiantElement", "bindTo", "customElement", "event", "onEvent", "onUpdated", "prop", "query", "CSS_SAFE_ID", "isCssSafeId", "value", "cssSafePrefix", "prefix", "trimmed", "prefixed", "uniqueId", "token", "byte", "findAssociatedLabel", "owner", "previous", "bindVisibleLabel", "label", "control", "options", "syncFieldLabel", "labelElement", "OPTION_INDICATOR_ATTR", "getListboxOptionLabel", "option", "label", "collectLabelText", "getListboxOptionValue", "node", "isOptionIndicator", "text", "child", "ListboxHostController", "config", "host", "listbox", "values", "optionValue", "selected", "eventTarget", "option", "getListboxOptionValue", "selector", "tagGroup", "items", "value", "item", "getListboxOptionLabel", "match", "OPPOSITE", "DEFAULT_VIEWPORT_PADDING", "matchAnchorWidthStylesApplied", "clearMatchAnchorWidthStyles", "floating", "parsePlacement", "placement", "dash", "side", "align", "primaryAxis", "coordsFor", "anchor", "size", "gap", "width", "height", "x", "y", "overflowOnPrimary", "coords", "viewport", "padding", "vw", "vh", "freeSpaceOnSide", "toPlacement", "clampCrossAxis", "maxX", "maxY", "computeFloatingPosition", "anchor", "size", "placement", "gap", "viewport", "DEFAULT_VIEWPORT_PADDING", "preferred", "align", "parsePlacement", "preferredCoords", "coordsFor", "preferredOverflow", "overflowOnPrimary", "side", "coords", "flipped", "OPPOSITE", "flippedCoords", "preferredFree", "freeSpaceOnSide", "clampCrossAxis", "toPlacement", "applyFloatingPosition", "floating", "options", "matchAnchorWidth", "anchorWidth", "matchAnchorWidthStylesApplied", "clearMatchAnchorWidthStyles", "resolved", "attachFloating", "getPlacement", "update", "observer", "mountPortal", "node", "container", "parent", "placeholder", "restoreParent", "popoverContains", "anchor", "floating", "node", "shouldDismissPopoverFocus", "relatedTarget", "shouldDismissPopoverPointer", "target", "PopoverController", "config", "patch", "mountPortal", "attachFloating", "configuredFloating", "getVisibleCollectionOptions", "options", "option", "wrapCollectionIndex", "index", "direction", "length", "clearCollectionActive", "activeHost", "setCollectionActive", "visibleOptions", "idPrefix", "active", "ListboxPopoverBehavior", "config", "PopoverController", "option", "index", "getVisibleCollectionOptions", "clearCollectionActive", "visible", "setCollectionActive", "direction", "onOpen", "wrapCollectionIndex", "event", "options", "activation", "_event", "relatedTarget", "shouldDismissPopoverFocus", "target", "shouldDismissPopoverPointer", "parseMultiValue", "value", "uniqueTrimmed", "serializeMultiValue", "values", "multiValueTransform", "multiValuePropOptions", "parseViewValue", "uniqueTrimmed", "values", "item", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_label", "_init_extra_label", "_init_placeholder", "_init_extra_placeholder", "_init_disabled", "_init_extra_disabled", "_init_selectionMode", "_init_extra_selectionMode", "_init_shouldCloseOnSelect", "_init_extra_shouldCloseOnSelect", "_init_triggerKind", "_init_extra_triggerKind", "_init_changeEvent", "_init_extra_changeEvent", "_init_rootTarget", "_init_extra_rootTarget", "_applyDecs", "e", "t", "n", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "r", "b", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiSelect", "RuiSelect", "RadiantElement", "customElement", "prop", "multiValuePropOptions", "bindTo", "value", "disabled", "event", "query", "onUpdated", "onEvent", "args", "uniqueId", "ListboxHostController", "ListboxPopoverBehavior", "search", "trigger", "listbox", "valueElement", "selectedCount", "placeholder", "target", "findAssociatedLabel", "syncFieldLabel", "popup", "toggle", "selected", "next", "options", "activate", "visible", "option", "getListboxOptionValue", "event2", "activation", "reason", "detail", "index", "Fragment", "jsx", "jsxs", "withDefaultAriaLabel", "aria", "fallback", "cx", "parts", "jsx", "RuiIconCheck", "className", "size", "props", "jsx", "cx", "jsx", "RuiIconChevronDown", "className", "size", "props", "jsx", "cx", "jsx", "jsxs", "SVG_NAMESPACE", "RuiIconX", "className", "size", "props", "jsxs", "cx", "jsx", "createRuiIconX", "icon", "d", "path", "RadiantElement", "bindTo", "customElement", "event", "onEvent", "onUpdated", "prop", "applyRovingTabindex", "items", "activeIndex", "item", "index", "next", "focusRovingItem", "deltaForKey", "key", "orientation", "navigateRovingTabindex", "options", "current", "wrap", "delta", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_label", "_init_extra_label", "_init_disabled", "_init_extra_disabled", "_init_selectionMode", "_init_extra_selectionMode", "_init_embedded", "_init_extra_embedded", "_init_bordered", "_init_extra_bordered", "_init_changeEvent", "_init_extra_changeEvent", "_applyDecs", "e", "t", "n", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "r", "b", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiListbox", "RuiListbox", "RadiantElement", "customElement", "prop", "multiValuePropOptions", "bindTo", "mode", "event", "onUpdated", "onEvent", "uniqueId", "list", "syncFieldLabel", "values", "option", "tabStop", "options", "selected", "getListboxOptionValue", "isSelected", "value", "event2", "current", "result", "navigateRovingTabindex", "jsx", "jsxs", "RuiListboxOption", "value", "label", "children", "className", "disabled", "props", "jsx", "cx", "RuiListboxOptionIndicator", "RuiIconCheck", "listboxIsBordered", "embedded", "bordered", "ListboxShell", "selectionMode", "RuiListbox", "options", "isBordered", "selectedValues", "parseViewValue", "selected", "option", "jsxs", "RadiantElement", "customElement", "event", "onEvent", "onUpdated", "prop", "state", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_label", "_init_extra_label", "_init_disabled", "_init_extra_disabled", "_init_selectionMode", "_init_extra_selectionMode", "_init_embedded", "_init_extra_embedded", "_init_changeEvent", "_init_extra_changeEvent", "_init_removeEvent", "_init_extra_removeEvent", "_init_derivedItems", "_init_extra_derivedItems", "_applyDecs", "e", "t", "n", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "r", "b", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiTagGroup", "RuiTagGroup", "RadiantElement", "customElement", "prop", "multiValuePropOptions", "event", "state", "onUpdated", "onEvent", "args", "uniqueId", "values", "managed", "list", "tag", "index", "selected", "value", "isSelected", "removeButton", "tagValue", "items", "item", "remove", "createRuiIconX", "root", "event2", "target", "tags", "current", "navigateRovingTabindex", "jsx", "jsxs", "RuiTagList", "children", "className", "props", "jsx", "cx", "RuiTag", "value", "label", "disabled", "aria", "jsxs", "withDefaultAriaLabel", "RuiTagRemove", "RuiIconX", "TagGroupShell", "RuiTagGroup", "tags", "tag", "RuiSelectControl", "children", "className", "props", "jsx", "cx", "RuiSelectTrigger", "disabled", "RuiSelectToggle", "aria", "withDefaultAriaLabel", "RuiIconChevronDown", "RuiSelectClear", "RuiIconX", "RuiSelectValue", "RuiSelectListbox", "RuiSelectSearch", "placeholder", "resolveSelectDisplayText", "options", "value", "selected", "parseViewValue", "fallback", "match", "option", "SelectShell", "RuiSelect", "selectedValues", "isMultiple", "displayText", "selectedTags", "jsxs", "Fragment", "RuiTagGroup", "RuiListbox"]
7
7
  }