@ecopages/radiant-ui 0.1.0-rc.8 → 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.
- package/README.md +9 -1
- package/dist/components/ui/autocomplete/autocomplete.css +1 -2
- package/dist/components/ui/avatar/avatar.css +10 -8
- package/dist/components/ui/avatar/avatar.d.ts +3 -1
- package/dist/components/ui/calendar/calendar.css +10 -5
- package/dist/components/ui/calendar/calendar.script.d.ts +1 -0
- package/dist/components/ui/calendar/index.js +1 -1
- package/dist/components/ui/calendar/index.js.map +3 -3
- package/dist/components/ui/carousel/carousel-autoplay.d.ts +22 -0
- package/dist/components/ui/carousel/carousel-swipe.d.ts +17 -0
- package/dist/components/ui/carousel/carousel-window.d.ts +63 -0
- package/dist/components/ui/carousel/carousel.css +71 -18
- package/dist/components/ui/carousel/carousel.d.ts +1 -1
- package/dist/components/ui/carousel/carousel.script.d.ts +49 -21
- package/dist/components/ui/carousel/index.js +1 -1
- package/dist/components/ui/carousel/index.js.map +4 -4
- package/dist/components/ui/checkbox/checkbox.script.d.ts +0 -3
- package/dist/components/ui/checkbox/index.js +1 -1
- package/dist/components/ui/checkbox/index.js.map +4 -4
- package/dist/components/ui/checkbox-group/checkbox-group.d.ts +0 -1
- package/dist/components/ui/checkbox-group/checkbox-group.script.d.ts +8 -7
- package/dist/components/ui/checkbox-group/index.js +1 -1
- package/dist/components/ui/checkbox-group/index.js.map +4 -4
- package/dist/components/ui/combobox/combobox.css +2 -2
- package/dist/components/ui/combobox/combobox.d.ts +1 -2
- package/dist/components/ui/combobox/combobox.script.d.ts +13 -6
- package/dist/components/ui/combobox/index.js +1 -1
- package/dist/components/ui/combobox/index.js.map +4 -4
- package/dist/components/ui/cycle-toggle/index.js +1 -1
- package/dist/components/ui/cycle-toggle/index.js.map +3 -3
- package/dist/components/ui/date-field/date-field.css +13 -17
- package/dist/components/ui/date-field/date-field.d.ts +7 -5
- package/dist/components/ui/date-field/date-field.script.d.ts +16 -48
- package/dist/components/ui/date-field/index.js +1 -1
- package/dist/components/ui/date-field/index.js.map +4 -4
- package/dist/components/ui/date-input/date-input-segment-dom.d.ts +24 -0
- package/dist/components/ui/date-input/date-input.css +50 -0
- package/dist/components/ui/date-input/date-input.d.ts +8 -0
- package/dist/components/ui/date-input/date-input.script.d.ts +137 -0
- package/dist/components/ui/date-input/index.d.ts +2 -0
- package/dist/components/ui/date-input/index.js +2 -0
- package/dist/components/ui/date-input/index.js.map +7 -0
- package/dist/components/ui/date-range-picker/date-range-picker.css +18 -19
- package/dist/components/ui/date-range-picker/date-range-picker.d.ts +8 -6
- package/dist/components/ui/date-range-picker/date-range-picker.script.d.ts +24 -47
- package/dist/components/ui/date-range-picker/index.js +1 -1
- package/dist/components/ui/date-range-picker/index.js.map +4 -4
- package/dist/components/ui/dialog/dialog.css +18 -14
- package/dist/components/ui/dialog/dialog.script.d.ts +10 -3
- package/dist/components/ui/dialog/index.js +1 -1
- package/dist/components/ui/dialog/index.js.map +4 -4
- package/dist/components/ui/disclosure/disclosure.css +3 -6
- package/dist/components/ui/disclosure/disclosure.d.ts +15 -5
- package/dist/components/ui/disclosure/disclosure.script.d.ts +2 -2
- package/dist/components/ui/disclosure/index.d.ts +1 -1
- package/dist/components/ui/disclosure/index.js +1 -1
- package/dist/components/ui/disclosure/index.js.map +4 -4
- package/dist/components/ui/field/field.d.ts +1 -1
- package/dist/components/ui/field/field.script.d.ts +27 -4
- package/dist/components/ui/field/index.js +1 -1
- package/dist/components/ui/field/index.js.map +4 -4
- package/dist/components/ui/form/control-protocol.d.ts +38 -1
- package/dist/components/ui/form/form-context.d.ts +3 -0
- package/dist/components/ui/form/form.script.d.ts +7 -0
- package/dist/components/ui/form/index.d.ts +2 -1
- package/dist/components/ui/form/index.js +1 -1
- package/dist/components/ui/form/index.js.map +4 -4
- package/dist/components/ui/hover-card/hover-card.css +12 -101
- package/dist/components/ui/hover-card/hover-card.script.d.ts +7 -0
- package/dist/components/ui/hover-card/index.js +1 -1
- package/dist/components/ui/hover-card/index.js.map +4 -4
- package/dist/components/ui/input/index.js +1 -1
- package/dist/components/ui/input/index.js.map +4 -4
- package/dist/components/ui/input/input.css +1 -1
- package/dist/components/ui/knob/index.js +1 -1
- package/dist/components/ui/knob/index.js.map +3 -3
- package/dist/components/ui/knob/knob.css +6 -1
- package/dist/components/ui/knob/knob.d.ts +1 -1
- package/dist/components/ui/knob/knob.script.d.ts +25 -10
- package/dist/components/ui/label/index.js +1 -1
- package/dist/components/ui/label/index.js.map +4 -4
- package/dist/components/ui/listbox/index.js +1 -1
- package/dist/components/ui/listbox/index.js.map +4 -4
- package/dist/components/ui/listbox/listbox.d.ts +1 -2
- package/dist/components/ui/listbox/listbox.script.d.ts +7 -5
- package/dist/components/ui/menu-button/index.js +1 -1
- package/dist/components/ui/menu-button/index.js.map +4 -4
- package/dist/components/ui/menu-button/menu-button.script.d.ts +1 -1
- package/dist/components/ui/menubar/index.js +1 -1
- package/dist/components/ui/menubar/index.js.map +4 -4
- package/dist/components/ui/meter/index.js +1 -1
- package/dist/components/ui/meter/index.js.map +3 -3
- package/dist/components/ui/meter/meter.css +27 -2
- package/dist/components/ui/meter/meter.script.d.ts +14 -4
- package/dist/components/ui/navigation-menu/index.d.ts +1 -1
- package/dist/components/ui/navigation-menu/index.js +1 -1
- package/dist/components/ui/navigation-menu/index.js.map +4 -4
- package/dist/components/ui/navigation-menu/navigation-menu.css +32 -34
- package/dist/components/ui/navigation-menu/navigation-menu.d.ts +33 -4
- package/dist/components/ui/navigation-menu/navigation-menu.script.d.ts +71 -9
- package/dist/components/ui/number-field/index.js +1 -1
- package/dist/components/ui/number-field/index.js.map +4 -4
- package/dist/components/ui/number-field/number-field.css +1 -1
- package/dist/components/ui/number-field/number-field.d.ts +1 -1
- package/dist/components/ui/number-field/number-field.script.d.ts +7 -9
- package/dist/components/ui/pagination/index.d.ts +1 -1
- package/dist/components/ui/pagination/index.js +1 -1
- package/dist/components/ui/pagination/index.js.map +3 -3
- package/dist/components/ui/pagination/pagination.css +50 -13
- package/dist/components/ui/pagination/pagination.d.ts +25 -6
- package/dist/components/ui/popover/index.js +1 -1
- package/dist/components/ui/popover/index.js.map +4 -4
- package/dist/components/ui/popover/popover.script.d.ts +5 -0
- package/dist/components/ui/radio-group/index.js +1 -1
- package/dist/components/ui/radio-group/index.js.map +4 -4
- package/dist/components/ui/radio-group/radio-group.script.d.ts +2 -1
- package/dist/components/ui/select/index.d.ts +1 -1
- package/dist/components/ui/select/index.js +1 -1
- package/dist/components/ui/select/index.js.map +4 -4
- package/dist/components/ui/select/select.css +4 -3
- package/dist/components/ui/select/select.d.ts +7 -5
- package/dist/components/ui/select/select.script.d.ts +32 -12
- package/dist/components/ui/shared/calendar-popover-behavior.d.ts +27 -0
- package/dist/components/ui/shared/listbox-host-controller.d.ts +5 -4
- package/dist/components/ui/shared/multi-value.d.ts +18 -8
- package/dist/components/ui/shared/numeric-range.d.ts +8 -0
- package/dist/components/ui/shared/popover.css +10 -99
- package/dist/components/ui/sidebar/index.d.ts +2 -1
- package/dist/components/ui/sidebar/index.js +1 -1
- package/dist/components/ui/sidebar/index.js.map +4 -4
- package/dist/components/ui/sidebar/sidebar-trigger.d.ts +12 -0
- package/dist/components/ui/sidebar/sidebar-trigger.script.d.ts +42 -29
- package/dist/components/ui/sidebar/sidebar.css +67 -61
- package/dist/components/ui/sidebar/sidebar.d.ts +1 -7
- package/dist/components/ui/sidebar/sidebar.script.d.ts +12 -7
- package/dist/components/ui/slider/index.js +1 -1
- package/dist/components/ui/slider/index.js.map +4 -4
- package/dist/components/ui/slider/slider.css +5 -5
- package/dist/components/ui/slider/slider.d.ts +5 -6
- package/dist/components/ui/slider/slider.script.d.ts +72 -29
- package/dist/components/ui/switch/index.js +1 -1
- package/dist/components/ui/switch/index.js.map +4 -4
- package/dist/components/ui/switch/switch.css +28 -22
- package/dist/components/ui/switch/switch.script.d.ts +10 -3
- package/dist/components/ui/table/index.js +1 -1
- package/dist/components/ui/table/index.js.map +4 -4
- package/dist/components/ui/table/table.d.ts +5 -3
- package/dist/components/ui/table/table.script.d.ts +25 -10
- package/dist/components/ui/tabs/tabs.css +18 -12
- package/dist/components/ui/tabs/tabs.script.d.ts +7 -0
- package/dist/components/ui/tag-group/index.js +1 -1
- package/dist/components/ui/tag-group/index.js.map +4 -4
- package/dist/components/ui/tag-group/tag-group.d.ts +7 -4
- package/dist/components/ui/tag-group/tag-group.script.d.ts +7 -5
- package/dist/components/ui/textarea/index.js +1 -1
- package/dist/components/ui/textarea/index.js.map +4 -4
- package/dist/components/ui/textarea/textarea.css +1 -1
- package/dist/components/ui/toast/index.js +1 -1
- package/dist/components/ui/toast/index.js.map +3 -3
- package/dist/components/ui/toast/toast.css +35 -32
- package/dist/components/ui/toast/toast.script.d.ts +2 -1
- package/dist/components/ui/toast/toaster.script.d.ts +6 -0
- package/dist/components/ui/tooltip/index.js +1 -1
- package/dist/components/ui/tooltip/index.js.map +4 -4
- package/dist/components/ui/tooltip/tooltip.css +14 -94
- package/dist/components/ui/tooltip/tooltip.script.d.ts +9 -1
- package/dist/components/ui/window-splitter/index.d.ts +1 -1
- package/dist/components/ui/window-splitter/index.js +1 -1
- package/dist/components/ui/window-splitter/index.js.map +3 -3
- package/dist/components/ui/window-splitter/window-splitter.d.ts +1 -1
- package/dist/components/ui/window-splitter/window-splitter.script.d.ts +5 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +4 -4
- package/dist/lib/icons/chevron-down.d.ts +0 -1
- package/dist/lib/intl-date/index.d.ts +4 -2
- package/dist/lib/intl-date/segment-editing.d.ts +34 -0
- package/dist/lib/intl-date/segments.d.ts +26 -4
- package/dist/lib/non-empty.d.ts +6 -0
- package/dist/lib/unique-id.d.ts +11 -0
- package/dist/lib/viewport/breakpoints.d.ts +6 -0
- package/dist/lib/viewport/mobile-layout.d.ts +15 -0
- package/dist/styles/primitives.css +10 -7
- package/dist/styles/radiant-ui-core.css +10 -0
- package/dist/styles/radiant-ui.css +40 -3
- package/dist/styles/style-dependencies.json +18 -6
- package/dist/styles/styles.css +456 -246
- package/dist/styles/tailwind.css +40 -93
- package/dist/styles/tokens/presets/colors/aurora.css +2 -0
- package/dist/styles/tokens/presets/colors/basalt.css +2 -0
- package/dist/styles/tokens/presets/colors/ember.css +2 -0
- package/dist/styles/tokens/presets/colors/glacier.css +2 -0
- package/dist/styles/tokens/semantic.css +1 -0
- package/dist/styles/tokens/system.css +11 -3
- package/dist/styles/tokens/typography/default.css +8 -0
- package/package.json +20 -10
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/components/ui/menubar/menubar.script.tsx", "../../../../src/lib/roving-tabindex.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/menu-tree.ts", "../../../../src/components/ui/menubar/menubar.tsx", "../../../../src/lib/cx.ts", "../../../../src/components/ui/separator/separator.tsx", "../../../../src/components/ui/shared/menu-entry.tsx"],
|
|
4
|
-
"sourcesContent": ["let _initProto, _initClass, _init_label, _init_extra_label, _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, customElement, event, onEvent, prop } from \"@ecopages/radiant\";\nimport { applyRovingTabindex, navigateRovingTabindex } from \"@/lib/roving-tabindex\";\nimport { PopoverController, shouldDismissPopoverPointer } from \"../shared/popover-controller\";\nimport { MenuTreeController } from \"../shared/menu-tree\";\nlet _RuiMenubar;\nclass RuiMenubar extends RadiantElement {\n static {\n ({\n e: [_init_label, _init_extra_label, _init_changeEvent, _init_extra_changeEvent, _initProto],\n c: [_RuiMenubar, _initClass]\n } = _applyDecs(this, [customElement(\"rui-menubar\")], [[prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [onEvent({\n document: true,\n type: \"pointerdown\"\n }), 2, \"onDocumentPointerDown\"], [onEvent({\n selector: '[data-ref=\"root\"] > [data-ref=\"menubar-root\"] > [role=\"menuitem\"]',\n type: \"keydown\"\n }), 2, \"onTopKeydown\"], [onEvent({\n selector: '[data-ref=\"root\"] > [data-ref=\"menubar-root\"] > [role=\"menuitem\"]',\n type: \"click\"\n }), 2, \"onTopClick\"], [onEvent({\n selector: '[role=\"menu\"] > [role=\"menuitem\"]',\n type: \"keydown\"\n }), 2, \"onMenuKeydown\"], [onEvent({\n selector: '[role=\"menu\"] > [role=\"menuitem\"]',\n type: \"click\"\n }), 2, \"onMenuItemClick\"], [onEvent({\n selector: '[role=\"menuitem\"]',\n type: \"pointerover\"\n }), 2, \"onPointerOver\"], [onEvent({\n selector: '[role=\"menuitem\"]',\n type: \"pointerout\"\n }), 2, \"onPointerOut\"], [onEvent({\n selector: '[role=\"menuitem\"]',\n type: \"focusout\"\n }), 2, \"onFocusOut\"]], 0, void 0, RadiantElement));\n }\n label = (_initProto(this), _init_label(this));\n changeEvent = (_init_extra_label(this), _init_changeEvent(this));\n openRoot = (_init_extra_changeEvent(this), null);\n popoverController = null;\n menuTree = null;\n getTopItems() {\n return Array.from(this.querySelectorAll('[data-ref=\"root\"] > [data-ref=\"menubar-root\"] > [role=\"menuitem\"]'));\n }\n getMenuFor(topItem) {\n const root = topItem.closest('[data-ref=\"menubar-root\"]');\n return root?.querySelector(':scope > [role=\"menu\"]') ?? null;\n }\n onConnected() {\n applyRovingTabindex(this.getTopItems(), 0);\n this.ensureMenuTree().sync();\n }\n disconnectedCallback() {\n this.menuTree?.destroy();\n this.menuTree = null;\n this.popoverController?.destroy();\n this.popoverController = null;\n super.disconnectedCallback();\n }\n ensureMenuTree() {\n if (!this.menuTree) {\n this.menuTree = new MenuTreeController({\n root: this,\n getRootMenu: () => this.getOpenMenuSurface(),\n onActivate: item => this.activateItem(item),\n onCloseRoot: returnFocus => this.closeOpenMenu(returnFocus)\n });\n }\n return this.menuTree;\n }\n getOpenMenuAnchor() {\n if (!this.openRoot) {\n return null;\n }\n return this.openRoot.querySelector(':scope > [role=\"menuitem\"]');\n }\n getOpenMenuSurface() {\n if (!this.openRoot) {\n return null;\n }\n return this.openRoot.querySelector(':scope > [role=\"menu\"]');\n }\n syncOpenMenuPosition() {\n const anchor = this.getOpenMenuAnchor();\n const menu = this.getOpenMenuSurface();\n if (!anchor || !menu) {\n return;\n }\n if (!this.popoverController) {\n this.popoverController = new PopoverController({\n getAnchor: () => this.getOpenMenuAnchor(),\n getFloating: () => this.getOpenMenuSurface(),\n getOpen: () => Boolean(this.openRoot),\n getPlacement: () => \"bottom-start\",\n gap: 6,\n portal: false\n });\n }\n this.popoverController.updateConfig({\n getAnchor: () => this.getOpenMenuAnchor(),\n getFloating: () => this.getOpenMenuSurface(),\n getOpen: () => Boolean(this.openRoot)\n });\n this.popoverController.sync();\n }\n closeOpenMenu(returnFocus = false) {\n if (!this.openRoot) return;\n this.menuTree?.closeAll();\n const top = this.openRoot.querySelector(':scope > [role=\"menuitem\"]');\n const menu = this.openRoot.querySelector(':scope > [role=\"menu\"]');\n if (top) top.setAttribute(\"aria-expanded\", \"false\");\n if (menu) menu.hidden = true;\n this.openRoot = null;\n this.popoverController?.teardown();\n if (returnFocus && top) top.focus();\n }\n openMenu(topItem, focus = \"first\") {\n const root = topItem.closest('[data-ref=\"menubar-root\"]');\n const menu = this.getMenuFor(topItem);\n if (!root || !menu) return;\n if (this.openRoot && this.openRoot !== root) this.closeOpenMenu();\n topItem.setAttribute(\"aria-expanded\", \"true\");\n menu.hidden = false;\n this.openRoot = root;\n this.syncOpenMenuPosition();\n this.ensureMenuTree().sync();\n if (focus === \"first\") {\n this.ensureMenuTree().getFocusableItems(menu)[0]?.focus();\n }\n }\n onDocumentPointerDown(event2) {\n if (!this.openRoot) return;\n if (!shouldDismissPopoverPointer(this.getOpenMenuAnchor(), this.getOpenMenuSurface(), event2.target)) {\n return;\n }\n this.closeOpenMenu();\n }\n onTopKeydown(event2) {\n const items = this.getTopItems();\n const current = event2.target.closest('[role=\"menuitem\"]');\n if (!current || !items.includes(current)) return;\n if (event2.key === \"ArrowDown\" || event2.key === \"Enter\" || event2.key === \" \") {\n if (this.getMenuFor(current)) {\n event2.preventDefault();\n this.openMenu(current, \"first\");\n }\n return;\n }\n if (event2.key === \"Escape\") {\n event2.preventDefault();\n this.closeOpenMenu(true);\n return;\n }\n const result = navigateRovingTabindex({\n items,\n current,\n key: event2.key,\n orientation: \"horizontal\"\n });\n if (!result.handled) return;\n event2.preventDefault();\n if (this.openRoot) {\n if (this.getMenuFor(result.item)) this.openMenu(result.item, \"first\");else this.closeOpenMenu();\n }\n }\n onTopClick(event2) {\n const current = event2.target.closest('[role=\"menuitem\"]');\n if (!current || !this.getTopItems().includes(current)) return;\n if (!this.getMenuFor(current)) {\n this.closeOpenMenu();\n return;\n }\n const expanded = current.getAttribute(\"aria-expanded\") === \"true\";\n if (expanded) this.closeOpenMenu();else this.openMenu(current, null);\n }\n onMenuKeydown(event2) {\n const menu = event2.target.closest('[role=\"menu\"]');\n const current = event2.target.closest('[role=\"menuitem\"]');\n if (!menu || !current || !this.contains(menu)) return;\n if (this.ensureMenuTree().handleKeydown(event2)) return;\n if (event2.key !== \"ArrowLeft\" && event2.key !== \"ArrowRight\") return;\n const top = this.getOpenMenuAnchor();\n if (!top) return;\n event2.preventDefault();\n const result = navigateRovingTabindex({\n items: this.getTopItems(),\n current: top,\n key: event2.key,\n orientation: \"horizontal\"\n });\n if (result.handled && this.getMenuFor(result.item)) this.openMenu(result.item, \"first\");\n }\n onMenuItemClick(event2) {\n this.ensureMenuTree().handleClick(event2);\n }\n onPointerOver(event2) {\n const target = event2.target;\n const top = target?.closest('[data-ref=\"menubar-root\"] > [role=\"menuitem\"]');\n if (top && this.getTopItems().includes(top) && this.openRoot && this.getMenuFor(top)) {\n const currentRoot = top.closest('[data-ref=\"menubar-root\"]');\n if (currentRoot && currentRoot !== this.openRoot) this.openMenu(top, null);\n return;\n }\n this.ensureMenuTree().handlePointerOver(event2);\n }\n onPointerOut(event2) {\n this.ensureMenuTree().handlePointerOut(event2);\n }\n onFocusOut(event2) {\n this.ensureMenuTree().handleFocusOut(event2);\n }\n activateItem(item) {\n const value = item.getAttribute(\"data-value\") || item.textContent?.trim() || \"\";\n this.changeEvent.emit({\n value\n });\n this.closeOpenMenu(true);\n }\n static {\n _initClass();\n }\n}\nexport { _RuiMenubar as RuiMenubar };", "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}", "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}", "import { PopoverController } from \"./popover-controller\";\nconst SUBMENU_DELAY = 200;\nconst SUBMENU_CLOSE_DELAY = 250;\nconst SUBMENU_GAP = 6;\nexport class MenuTreeController {\n config;\n popovers = /* @__PURE__ */new Map();\n openMenus = /* @__PURE__ */new Set();\n openTimers = /* @__PURE__ */new Map();\n closeTimers = /* @__PURE__ */new Map();\n constructor(config) {\n this.config = config;\n }\n sync() {\n for (const menu of this.getMenus()) {\n for (const item of this.getDirectItems(menu)) {\n const submenu = this.getSubmenu(item);\n if (!submenu) continue;\n item.setAttribute(\"aria-haspopup\", \"menu\");\n if (!item.hasAttribute(\"aria-expanded\")) item.setAttribute(\"aria-expanded\", \"false\");\n if (!submenu.id) submenu.id = `rui-submenu-${Math.random().toString(36).slice(2, 9)}`;\n item.setAttribute(\"aria-controls\", submenu.id);\n submenu.hidden = item.getAttribute(\"aria-expanded\") !== \"true\";\n }\n }\n }\n handlePointerOver(event) {\n const item = this.getDirectItem(event.target);\n if (!item || this.isDisabled(item)) return;\n this.cancelCloseFor(item);\n this.cancelAncestorCloseTimers(item);\n const submenu = this.getSubmenu(item);\n if (!submenu || item.getAttribute(\"aria-expanded\") === \"true\") return;\n this.closeSiblingBranches(item);\n this.cancelOpenFor(item);\n const timer = setTimeout(() => {\n this.openTimers.delete(item);\n this.openSubmenu(item, false);\n }, SUBMENU_DELAY);\n this.openTimers.set(item, timer);\n }\n handlePointerOut(event) {\n const item = this.getDirectItem(event.target);\n if (!item) return;\n const related = event.relatedTarget;\n const submenu = this.getSubmenu(item);\n if (submenu && related && submenu.contains(related)) return;\n if (related && item.contains(related)) return;\n this.cancelOpenFor(item);\n if (item.getAttribute(\"aria-expanded\") !== \"true\") return;\n this.scheduleClose(item);\n }\n handleFocusOut(event) {\n const item = this.getDirectItem(event.target);\n if (!item || item.getAttribute(\"aria-expanded\") !== \"true\") return;\n const submenu = this.getSubmenu(item);\n const related = event.relatedTarget;\n if (submenu && related && submenu.contains(related)) return;\n this.closeSubmenu(item, false);\n }\n handleKeydown(event) {\n const item = this.getDirectItem(event.target);\n const menu = item?.parentElement;\n if (!item || !menu || menu.getAttribute(\"role\") !== \"menu\") return false;\n const handler = this.keyHandlers[event.key];\n if (!handler) return false;\n const handled = handler.call(this, {\n item,\n items: this.getFocusableItems(menu),\n menu,\n submenu: this.getSubmenu(item)\n });\n if (handled && event.key !== \"Tab\") event.preventDefault();\n return handled;\n }\n keyHandlers = {\n ArrowDown: this.focusNextItem,\n ArrowUp: this.focusPreviousItem,\n Home: this.focusFirstItem,\n End: this.focusLastItem,\n ArrowRight: this.openNestedMenu,\n ArrowLeft: this.closeNestedMenu,\n Enter: this.activateOrOpenItem,\n \" \": this.activateOrOpenItem,\n Escape: this.closeRootMenu,\n Tab: this.closeMenuForTab\n };\n focusNextItem(context) {\n return this.focusRelativeItem(context, 1);\n }\n focusPreviousItem(context) {\n return this.focusRelativeItem(context, -1);\n }\n focusRelativeItem(context, direction) {\n const index = context.items.indexOf(context.item);\n if (index < 0 || !context.items.length) return false;\n context.items[(index + direction + context.items.length) % context.items.length]?.focus();\n return true;\n }\n focusFirstItem(context) {\n context.items[0]?.focus();\n return true;\n }\n focusLastItem(context) {\n context.items.at(-1)?.focus();\n return true;\n }\n openNestedMenu(context) {\n if (!context.submenu) return false;\n this.openSubmenu(context.item, true);\n return true;\n }\n closeNestedMenu(context) {\n if (this.getRootMenu() === context.menu) return false;\n const trigger = this.getTriggerForMenu(context.menu);\n if (trigger) this.closeSubmenu(trigger, true);\n return true;\n }\n activateOrOpenItem(context) {\n if (context.submenu) this.openSubmenu(context.item, true);else this.config.onActivate(context.item);\n return true;\n }\n closeRootMenu() {\n this.config.onCloseRoot(true);\n return true;\n }\n closeMenuForTab() {\n this.config.onCloseRoot(false);\n return true;\n }\n handleClick(event) {\n const item = this.getDirectItem(event.target);\n if (!item || this.isDisabled(item)) return false;\n if (this.getSubmenu(item)) {\n event.preventDefault();\n this.closeSiblingBranches(item);\n this.openSubmenu(item, false);\n return true;\n }\n this.config.onActivate(item);\n return true;\n }\n closeAll() {\n for (const menu of Array.from(this.openMenus)) {\n const trigger = this.getTriggerForMenu(menu);\n if (trigger) this.closeSubmenu(trigger, false);\n }\n this.clearTimers();\n }\n getFocusableItems(menu) {\n return this.getDirectItems(menu).filter(candidate => !this.isDisabled(candidate));\n }\n destroy() {\n this.closeAll();\n for (const controller of this.popovers.values()) controller.destroy();\n this.popovers.clear();\n }\n openSubmenu(item, focusFirst) {\n const submenu = this.getSubmenu(item);\n if (!submenu || this.isDisabled(item)) return;\n this.cancelOpenFor(item);\n this.cancelCloseFor(item);\n this.closeSiblingBranches(item);\n item.setAttribute(\"aria-expanded\", \"true\");\n submenu.hidden = false;\n this.openMenus.add(submenu);\n let popover = this.popovers.get(submenu);\n if (!popover) {\n popover = new PopoverController({\n getAnchor: () => item,\n getFloating: () => submenu,\n getOpen: () => item.getAttribute(\"aria-expanded\") === \"true\",\n getPlacement: () => \"right-start\",\n gap: SUBMENU_GAP,\n portal: false\n });\n this.popovers.set(submenu, popover);\n }\n popover.updateConfig({\n getAnchor: () => item,\n getOpen: () => item.getAttribute(\"aria-expanded\") === \"true\"\n });\n popover.sync();\n if (focusFirst) {\n this.getFocusableItems(submenu)[0]?.focus();\n }\n }\n closeSubmenu(item, returnFocus) {\n const submenu = this.getSubmenu(item);\n if (!submenu) return;\n for (const child of this.getDirectItems(submenu)) this.closeSubmenu(child, false);\n this.cancelOpenFor(item);\n this.cancelCloseFor(item);\n item.setAttribute(\"aria-expanded\", \"false\");\n submenu.hidden = true;\n this.openMenus.delete(submenu);\n this.popovers.get(submenu)?.teardown();\n if (returnFocus) item.focus();\n }\n closeSiblingBranches(item) {\n const menu = item.parentElement;\n if (!menu) return;\n for (const sibling of this.getDirectItems(menu)) {\n if (sibling !== item && sibling.getAttribute(\"aria-expanded\") === \"true\") this.closeSubmenu(sibling, false);\n }\n }\n scheduleClose(item) {\n this.cancelCloseFor(item);\n const timer = setTimeout(() => {\n this.closeTimers.delete(item);\n this.closeSubmenu(item, false);\n }, SUBMENU_CLOSE_DELAY);\n this.closeTimers.set(item, timer);\n }\n getMenus() {\n return Array.from(this.config.root.querySelectorAll('[role=\"menu\"]'));\n }\n getRootMenu() {\n return this.config.getRootMenu();\n }\n getDirectItems(menu) {\n return Array.from(menu.querySelectorAll('[role=\"menuitem\"]')).filter(item => item.closest('[role=\"menu\"]') === menu);\n }\n getDirectItem(target) {\n if (!(target instanceof HTMLElement)) return null;\n const item = target.closest('[role=\"menuitem\"]');\n return item && item.closest('[role=\"menu\"]') && this.config.root.contains(item) ? item : null;\n }\n getSubmenu(item) {\n const next = item.nextElementSibling;\n return next instanceof HTMLElement && next.getAttribute(\"role\") === \"menu\" ? next : null;\n }\n getTriggerForMenu(menu) {\n const previous = menu.previousElementSibling;\n return previous instanceof HTMLElement && previous.getAttribute(\"role\") === \"menuitem\" ? previous : null;\n }\n isDisabled(item) {\n return item.getAttribute(\"aria-disabled\") === \"true\" || item instanceof HTMLButtonElement && item.disabled;\n }\n cancelOpenFor(item) {\n const timer = this.openTimers.get(item);\n if (timer) clearTimeout(timer);\n this.openTimers.delete(item);\n }\n cancelCloseFor(item) {\n const timer = this.closeTimers.get(item);\n if (timer) clearTimeout(timer);\n this.closeTimers.delete(item);\n }\n cancelAncestorCloseTimers(item) {\n let menu = item.closest('[role=\"menu\"]');\n while (menu) {\n const trigger = this.getTriggerForMenu(menu);\n if (!trigger) return;\n this.cancelCloseFor(trigger);\n menu = trigger.closest('[role=\"menu\"]');\n }\n }\n clearTimers() {\n for (const timer of this.openTimers.values()) clearTimeout(timer);\n for (const timer of this.closeTimers.values()) clearTimeout(timer);\n this.openTimers.clear();\n this.closeTimers.clear();\n }\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport { RuiSeparator } from \"../separator\";\nimport { renderMenuEntries } from \"../shared/menu-entry\";\nimport \"./menubar.script\";\nexport function RuiMenubarMenu({\n label,\n children,\n disabled\n}) {\n const hasMenu = children != null;\n return /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-menubar__root\",\n \"data-ref\": \"menubar-root\",\n children: [/* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-menubar__item\",\n role: \"menuitem\",\n tabindex: -1,\n \"aria-haspopup\": hasMenu ? \"true\" : void 0,\n \"aria-expanded\": hasMenu ? \"false\" : void 0,\n \"aria-disabled\": disabled ? \"true\" : void 0,\n disabled,\n children: label\n }), hasMenu ? /* @__PURE__ */jsx(\"div\", {\n class: \"rui-menubar__menu rui-popover rui-floating\",\n \"data-ref\": \"menu\",\n role: \"menu\",\n hidden: true,\n children\n }) : null]\n });\n}\nexport function RuiMenubarMenuItem({\n children,\n value,\n disabled,\n hasSubmenu,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n type: \"button\",\n class: cx(\"rui-menubar__menu-item\", className),\n role: \"menuitem\",\n \"data-value\": value,\n \"aria-haspopup\": hasSubmenu ? \"menu\" : void 0,\n \"aria-disabled\": disabled ? \"true\" : void 0,\n disabled,\n tabIndex: -1,\n children\n });\n}\nexport function RuiMenubarSubmenuContent({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-ref\": \"submenu-menu\",\n class: cx(\"rui-menubar__menu\", \"rui-menubar__submenu\", \"rui-popover\", \"rui-floating\", className),\n role: \"menu\",\n hidden: true,\n children\n });\n}\nexport function RuiMenubar({\n items,\n label,\n children,\n ...props\n}) {\n const content = items != null ? items.map(item => /* @__PURE__ */jsx(RuiMenubarMenu, {\n label: item.label,\n disabled: item.disabled,\n children: item.items?.length ? renderMenuEntries(item.items, {\n Item: itemProps => /* @__PURE__ */jsx(RuiMenubarMenuItem, {\n ...itemProps\n }),\n Submenu: submenuProps => /* @__PURE__ */jsx(RuiMenubarSubmenuContent, {\n ...submenuProps\n }),\n Separator: separatorProps => /* @__PURE__ */jsx(RuiSeparator, {}, separatorProps.id)\n }) : null\n })) : children;\n return /* @__PURE__ */jsx(\"rui-menubar\", {\n ...props,\n label,\n children: /* @__PURE__ */jsx(\"div\", {\n class: \"rui-menubar\",\n \"data-ref\": \"root\",\n role: \"menubar\",\n \"aria-label\": label || void 0,\n children: content\n })\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 RuiSeparator({\n orientation = \"horizontal\",\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"hr\", {\n ...props,\n class: cx(\"rui-separator\", className),\n role: \"separator\",\n \"aria-orientation\": orientation,\n \"data-orientation\": orientation\n });\n}", "import { Fragment, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nexport function renderMenuEntries(items, views) {\n return items.map(item => {\n if (item.type === \"separator\") return views.Separator({\n id: item.id\n });\n const hasSubmenu = Boolean(item.items?.length);\n return /* @__PURE__ */jsxs(Fragment, {\n children: [views.Item({\n value: item.value,\n disabled: item.disabled,\n hasSubmenu,\n children: item.label\n }), hasSubmenu ? views.Submenu({\n children: renderMenuEntries(item.items ?? [], views)\n }) : null]\n });\n });\n}"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["RadiantElement", "customElement", "event", "onEvent", "prop", "applyRovingTabindex", "items", "activeIndex", "item", "index", "next", "focusRovingItem", "deltaForKey", "key", "orientation", "navigateRovingTabindex", "options", "current", "wrap", "delta", "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", "
|
|
3
|
+
"sources": ["../../../../src/components/ui/menubar/menubar.script.tsx", "../../../../src/lib/roving-tabindex.ts", "../../../../src/components/ui/shared/floating-position.ts", "../../../../src/components/ui/shared/portal.ts", "../../../../src/components/ui/shared/popover-controller.ts", "../../../../src/lib/unique-id.ts", "../../../../src/components/ui/shared/menu-tree.ts", "../../../../src/components/ui/menubar/menubar.tsx", "../../../../src/lib/cx.ts", "../../../../src/components/ui/separator/separator.tsx", "../../../../src/components/ui/shared/menu-entry.tsx"],
|
|
4
|
+
"sourcesContent": ["let _initProto, _initClass, _init_label, _init_extra_label, _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, customElement, event, onEvent, prop } from \"@ecopages/radiant\";\nimport { applyRovingTabindex, navigateRovingTabindex } from \"@/lib/roving-tabindex\";\nimport { PopoverController, shouldDismissPopoverPointer } from \"../shared/popover-controller\";\nimport { MenuTreeController } from \"../shared/menu-tree\";\nlet _RuiMenubar;\nclass RuiMenubar extends RadiantElement {\n static {\n ({\n e: [_init_label, _init_extra_label, _init_changeEvent, _init_extra_changeEvent, _initProto],\n c: [_RuiMenubar, _initClass]\n } = _applyDecs(this, [customElement(\"rui-menubar\")], [[prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [onEvent({\n document: true,\n type: \"pointerdown\"\n }), 2, \"onDocumentPointerDown\"], [onEvent({\n selector: '[data-ref=\"root\"] > [data-ref=\"menubar-root\"] > [role=\"menuitem\"]',\n type: \"keydown\"\n }), 2, \"onTopKeydown\"], [onEvent({\n selector: '[data-ref=\"root\"] > [data-ref=\"menubar-root\"] > [role=\"menuitem\"]',\n type: \"click\"\n }), 2, \"onTopClick\"], [onEvent({\n selector: '[role=\"menu\"] > [role=\"menuitem\"]',\n type: \"keydown\"\n }), 2, \"onMenuKeydown\"], [onEvent({\n selector: '[role=\"menu\"] > [role=\"menuitem\"]',\n type: \"click\"\n }), 2, \"onMenuItemClick\"], [onEvent({\n selector: '[role=\"menuitem\"]',\n type: \"pointerover\"\n }), 2, \"onPointerOver\"], [onEvent({\n selector: '[role=\"menuitem\"]',\n type: \"pointerout\"\n }), 2, \"onPointerOut\"], [onEvent({\n selector: '[role=\"menuitem\"]',\n type: \"focusout\"\n }), 2, \"onFocusOut\"]], 0, void 0, RadiantElement));\n }\n label = (_initProto(this), _init_label(this));\n changeEvent = (_init_extra_label(this), _init_changeEvent(this));\n openRoot = (_init_extra_changeEvent(this), null);\n popoverController = null;\n menuTree = null;\n getTopItems() {\n return Array.from(this.querySelectorAll('[data-ref=\"root\"] > [data-ref=\"menubar-root\"] > [role=\"menuitem\"]'));\n }\n getMenuFor(topItem) {\n const root = topItem.closest('[data-ref=\"menubar-root\"]');\n return root?.querySelector(':scope > [role=\"menu\"]') ?? null;\n }\n onConnected() {\n applyRovingTabindex(this.getTopItems(), 0);\n this.ensureMenuTree().sync();\n }\n disconnectedCallback() {\n this.menuTree?.destroy();\n this.menuTree = null;\n this.popoverController?.destroy();\n this.popoverController = null;\n super.disconnectedCallback();\n }\n ensureMenuTree() {\n if (!this.menuTree) {\n this.menuTree = new MenuTreeController({\n root: this,\n getRootMenu: () => this.getOpenMenuSurface(),\n onActivate: item => this.activateItem(item),\n onCloseRoot: returnFocus => this.closeOpenMenu(returnFocus)\n });\n }\n return this.menuTree;\n }\n getOpenMenuAnchor() {\n if (!this.openRoot) {\n return null;\n }\n return this.openRoot.querySelector(':scope > [role=\"menuitem\"]');\n }\n getOpenMenuSurface() {\n if (!this.openRoot) {\n return null;\n }\n return this.openRoot.querySelector(':scope > [role=\"menu\"]');\n }\n syncOpenMenuPosition() {\n const anchor = this.getOpenMenuAnchor();\n const menu = this.getOpenMenuSurface();\n if (!anchor || !menu) {\n return;\n }\n if (!this.popoverController) {\n this.popoverController = new PopoverController({\n getAnchor: () => this.getOpenMenuAnchor(),\n getFloating: () => this.getOpenMenuSurface(),\n getOpen: () => Boolean(this.openRoot),\n getPlacement: () => \"bottom-start\",\n gap: 6,\n portal: false\n });\n }\n this.popoverController.updateConfig({\n getAnchor: () => this.getOpenMenuAnchor(),\n getFloating: () => this.getOpenMenuSurface(),\n getOpen: () => Boolean(this.openRoot)\n });\n this.popoverController.sync();\n }\n closeOpenMenu(returnFocus = false) {\n if (!this.openRoot) return;\n this.menuTree?.closeAll();\n const top = this.openRoot.querySelector(':scope > [role=\"menuitem\"]');\n const menu = this.openRoot.querySelector(':scope > [role=\"menu\"]');\n if (top) top.setAttribute(\"aria-expanded\", \"false\");\n if (menu) menu.hidden = true;\n this.openRoot = null;\n this.popoverController?.teardown();\n if (returnFocus && top) top.focus();\n }\n openMenu(topItem, focus = \"first\") {\n const root = topItem.closest('[data-ref=\"menubar-root\"]');\n const menu = this.getMenuFor(topItem);\n if (!root || !menu) return;\n if (this.openRoot && this.openRoot !== root) this.closeOpenMenu();\n topItem.setAttribute(\"aria-expanded\", \"true\");\n menu.hidden = false;\n this.openRoot = root;\n this.syncOpenMenuPosition();\n this.ensureMenuTree().sync();\n if (focus === \"first\") {\n this.ensureMenuTree().getFocusableItems(menu)[0]?.focus();\n }\n }\n onDocumentPointerDown(event2) {\n if (!this.openRoot) return;\n if (!shouldDismissPopoverPointer(this.getOpenMenuAnchor(), this.getOpenMenuSurface(), event2.target)) {\n return;\n }\n this.closeOpenMenu();\n }\n onTopKeydown(event2) {\n const items = this.getTopItems();\n const current = event2.target.closest('[role=\"menuitem\"]');\n if (!current || !items.includes(current)) return;\n if (event2.key === \"ArrowDown\" || event2.key === \"Enter\" || event2.key === \" \") {\n if (this.getMenuFor(current)) {\n event2.preventDefault();\n this.openMenu(current, \"first\");\n }\n return;\n }\n if (event2.key === \"Escape\") {\n event2.preventDefault();\n this.closeOpenMenu(true);\n return;\n }\n const result = navigateRovingTabindex({\n items,\n current,\n key: event2.key,\n orientation: \"horizontal\"\n });\n if (!result.handled) return;\n event2.preventDefault();\n if (this.openRoot) {\n if (this.getMenuFor(result.item)) this.openMenu(result.item, \"first\");else this.closeOpenMenu();\n }\n }\n onTopClick(event2) {\n const current = event2.target.closest('[role=\"menuitem\"]');\n if (!current || !this.getTopItems().includes(current)) return;\n if (!this.getMenuFor(current)) {\n this.closeOpenMenu();\n return;\n }\n const expanded = current.getAttribute(\"aria-expanded\") === \"true\";\n if (expanded) this.closeOpenMenu();else this.openMenu(current, null);\n }\n onMenuKeydown(event2) {\n const menu = event2.target.closest('[role=\"menu\"]');\n const current = event2.target.closest('[role=\"menuitem\"]');\n if (!menu || !current || !this.contains(menu)) return;\n if (this.ensureMenuTree().handleKeydown(event2)) return;\n if (event2.key !== \"ArrowLeft\" && event2.key !== \"ArrowRight\") return;\n const top = this.getOpenMenuAnchor();\n if (!top) return;\n event2.preventDefault();\n const result = navigateRovingTabindex({\n items: this.getTopItems(),\n current: top,\n key: event2.key,\n orientation: \"horizontal\"\n });\n if (result.handled && this.getMenuFor(result.item)) this.openMenu(result.item, \"first\");\n }\n onMenuItemClick(event2) {\n this.ensureMenuTree().handleClick(event2);\n }\n onPointerOver(event2) {\n const target = event2.target;\n const top = target?.closest('[data-ref=\"menubar-root\"] > [role=\"menuitem\"]');\n if (top && this.getTopItems().includes(top) && this.openRoot && this.getMenuFor(top)) {\n const currentRoot = top.closest('[data-ref=\"menubar-root\"]');\n if (currentRoot && currentRoot !== this.openRoot) this.openMenu(top, null);\n return;\n }\n this.ensureMenuTree().handlePointerOver(event2);\n }\n onPointerOut(event2) {\n this.ensureMenuTree().handlePointerOut(event2);\n }\n onFocusOut(event2) {\n this.ensureMenuTree().handleFocusOut(event2);\n }\n activateItem(item) {\n const value = item.getAttribute(\"data-value\") || item.textContent?.trim() || \"\";\n this.changeEvent.emit({\n value\n });\n this.closeOpenMenu(true);\n }\n static {\n _initClass();\n }\n}\nexport { _RuiMenubar as RuiMenubar };", "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}", "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}", "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}", "import { PopoverController } from \"./popover-controller\";\nimport { uniqueId } from \"@/lib/unique-id\";\nconst SUBMENU_DELAY = 200;\nconst SUBMENU_CLOSE_DELAY = 250;\nconst SUBMENU_GAP = 6;\nexport class MenuTreeController {\n config;\n popovers = /* @__PURE__ */new Map();\n openMenus = /* @__PURE__ */new Set();\n openTimers = /* @__PURE__ */new Map();\n closeTimers = /* @__PURE__ */new Map();\n constructor(config) {\n this.config = config;\n }\n sync() {\n for (const menu of this.getMenus()) {\n for (const item of this.getDirectItems(menu)) {\n const submenu = this.getSubmenu(item);\n if (!submenu) continue;\n item.setAttribute(\"aria-haspopup\", \"menu\");\n if (!item.hasAttribute(\"aria-expanded\")) item.setAttribute(\"aria-expanded\", \"false\");\n if (!submenu.id) submenu.id = uniqueId(\"rui-submenu\");\n item.setAttribute(\"aria-controls\", submenu.id);\n submenu.hidden = item.getAttribute(\"aria-expanded\") !== \"true\";\n }\n }\n }\n handlePointerOver(event) {\n const item = this.getDirectItem(event.target);\n if (!item || this.isDisabled(item)) return;\n this.cancelCloseFor(item);\n this.cancelAncestorCloseTimers(item);\n const submenu = this.getSubmenu(item);\n if (!submenu || item.getAttribute(\"aria-expanded\") === \"true\") return;\n this.closeSiblingBranches(item);\n this.cancelOpenFor(item);\n const timer = setTimeout(() => {\n this.openTimers.delete(item);\n this.openSubmenu(item, false);\n }, SUBMENU_DELAY);\n this.openTimers.set(item, timer);\n }\n handlePointerOut(event) {\n const item = this.getDirectItem(event.target);\n if (!item) return;\n const related = event.relatedTarget;\n const submenu = this.getSubmenu(item);\n if (submenu && related && submenu.contains(related)) return;\n if (related && item.contains(related)) return;\n this.cancelOpenFor(item);\n if (item.getAttribute(\"aria-expanded\") !== \"true\") return;\n this.scheduleClose(item);\n }\n handleFocusOut(event) {\n const item = this.getDirectItem(event.target);\n if (!item || item.getAttribute(\"aria-expanded\") !== \"true\") return;\n const submenu = this.getSubmenu(item);\n const related = event.relatedTarget;\n if (submenu && related && submenu.contains(related)) return;\n this.closeSubmenu(item, false);\n }\n handleKeydown(event) {\n const item = this.getDirectItem(event.target);\n const menu = item?.parentElement;\n if (!item || !menu || menu.getAttribute(\"role\") !== \"menu\") return false;\n const handler = this.keyHandlers[event.key];\n if (!handler) return false;\n const handled = handler.call(this, {\n item,\n items: this.getFocusableItems(menu),\n menu,\n submenu: this.getSubmenu(item)\n });\n if (handled && event.key !== \"Tab\") event.preventDefault();\n return handled;\n }\n keyHandlers = {\n ArrowDown: this.focusNextItem,\n ArrowUp: this.focusPreviousItem,\n Home: this.focusFirstItem,\n End: this.focusLastItem,\n ArrowRight: this.openNestedMenu,\n ArrowLeft: this.closeNestedMenu,\n Enter: this.activateOrOpenItem,\n \" \": this.activateOrOpenItem,\n Escape: this.closeRootMenu,\n Tab: this.closeMenuForTab\n };\n focusNextItem(context) {\n return this.focusRelativeItem(context, 1);\n }\n focusPreviousItem(context) {\n return this.focusRelativeItem(context, -1);\n }\n focusRelativeItem(context, direction) {\n const index = context.items.indexOf(context.item);\n if (index < 0 || !context.items.length) return false;\n context.items[(index + direction + context.items.length) % context.items.length]?.focus();\n return true;\n }\n focusFirstItem(context) {\n context.items[0]?.focus();\n return true;\n }\n focusLastItem(context) {\n context.items.at(-1)?.focus();\n return true;\n }\n openNestedMenu(context) {\n if (!context.submenu) return false;\n this.openSubmenu(context.item, true);\n return true;\n }\n closeNestedMenu(context) {\n if (this.getRootMenu() === context.menu) return false;\n const trigger = this.getTriggerForMenu(context.menu);\n if (trigger) this.closeSubmenu(trigger, true);\n return true;\n }\n activateOrOpenItem(context) {\n if (context.submenu) this.openSubmenu(context.item, true);else this.config.onActivate(context.item);\n return true;\n }\n closeRootMenu() {\n this.config.onCloseRoot(true);\n return true;\n }\n closeMenuForTab() {\n this.config.onCloseRoot(false);\n return true;\n }\n handleClick(event) {\n const item = this.getDirectItem(event.target);\n if (!item || this.isDisabled(item)) return false;\n if (this.getSubmenu(item)) {\n event.preventDefault();\n this.closeSiblingBranches(item);\n this.openSubmenu(item, false);\n return true;\n }\n this.config.onActivate(item);\n return true;\n }\n closeAll() {\n for (const menu of Array.from(this.openMenus)) {\n const trigger = this.getTriggerForMenu(menu);\n if (trigger) this.closeSubmenu(trigger, false);\n }\n this.clearTimers();\n }\n getFocusableItems(menu) {\n return this.getDirectItems(menu).filter(candidate => !this.isDisabled(candidate));\n }\n destroy() {\n this.closeAll();\n for (const controller of this.popovers.values()) controller.destroy();\n this.popovers.clear();\n }\n openSubmenu(item, focusFirst) {\n const submenu = this.getSubmenu(item);\n if (!submenu || this.isDisabled(item)) return;\n this.cancelOpenFor(item);\n this.cancelCloseFor(item);\n this.closeSiblingBranches(item);\n item.setAttribute(\"aria-expanded\", \"true\");\n submenu.hidden = false;\n this.openMenus.add(submenu);\n let popover = this.popovers.get(submenu);\n if (!popover) {\n popover = new PopoverController({\n getAnchor: () => item,\n getFloating: () => submenu,\n getOpen: () => item.getAttribute(\"aria-expanded\") === \"true\",\n getPlacement: () => \"right-start\",\n gap: SUBMENU_GAP,\n portal: false\n });\n this.popovers.set(submenu, popover);\n }\n popover.updateConfig({\n getAnchor: () => item,\n getOpen: () => item.getAttribute(\"aria-expanded\") === \"true\"\n });\n popover.sync();\n if (focusFirst) {\n this.getFocusableItems(submenu)[0]?.focus();\n }\n }\n closeSubmenu(item, returnFocus) {\n const submenu = this.getSubmenu(item);\n if (!submenu) return;\n for (const child of this.getDirectItems(submenu)) this.closeSubmenu(child, false);\n this.cancelOpenFor(item);\n this.cancelCloseFor(item);\n item.setAttribute(\"aria-expanded\", \"false\");\n submenu.hidden = true;\n this.openMenus.delete(submenu);\n this.popovers.get(submenu)?.teardown();\n if (returnFocus) item.focus();\n }\n closeSiblingBranches(item) {\n const menu = item.parentElement;\n if (!menu) return;\n for (const sibling of this.getDirectItems(menu)) {\n if (sibling !== item && sibling.getAttribute(\"aria-expanded\") === \"true\") this.closeSubmenu(sibling, false);\n }\n }\n scheduleClose(item) {\n this.cancelCloseFor(item);\n const timer = setTimeout(() => {\n this.closeTimers.delete(item);\n this.closeSubmenu(item, false);\n }, SUBMENU_CLOSE_DELAY);\n this.closeTimers.set(item, timer);\n }\n getMenus() {\n return Array.from(this.config.root.querySelectorAll('[role=\"menu\"]'));\n }\n getRootMenu() {\n return this.config.getRootMenu();\n }\n getDirectItems(menu) {\n return Array.from(menu.querySelectorAll('[role=\"menuitem\"]')).filter(item => item.closest('[role=\"menu\"]') === menu);\n }\n getDirectItem(target) {\n if (!(target instanceof HTMLElement)) return null;\n const item = target.closest('[role=\"menuitem\"]');\n return item && item.closest('[role=\"menu\"]') && this.config.root.contains(item) ? item : null;\n }\n getSubmenu(item) {\n const next = item.nextElementSibling;\n return next instanceof HTMLElement && next.getAttribute(\"role\") === \"menu\" ? next : null;\n }\n getTriggerForMenu(menu) {\n const previous = menu.previousElementSibling;\n return previous instanceof HTMLElement && previous.getAttribute(\"role\") === \"menuitem\" ? previous : null;\n }\n isDisabled(item) {\n return item.getAttribute(\"aria-disabled\") === \"true\" || item instanceof HTMLButtonElement && item.disabled;\n }\n cancelOpenFor(item) {\n const timer = this.openTimers.get(item);\n if (timer) clearTimeout(timer);\n this.openTimers.delete(item);\n }\n cancelCloseFor(item) {\n const timer = this.closeTimers.get(item);\n if (timer) clearTimeout(timer);\n this.closeTimers.delete(item);\n }\n cancelAncestorCloseTimers(item) {\n let menu = item.closest('[role=\"menu\"]');\n while (menu) {\n const trigger = this.getTriggerForMenu(menu);\n if (!trigger) return;\n this.cancelCloseFor(trigger);\n menu = trigger.closest('[role=\"menu\"]');\n }\n }\n clearTimers() {\n for (const timer of this.openTimers.values()) clearTimeout(timer);\n for (const timer of this.closeTimers.values()) clearTimeout(timer);\n this.openTimers.clear();\n this.closeTimers.clear();\n }\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport { RuiSeparator } from \"../separator\";\nimport { renderMenuEntries } from \"../shared/menu-entry\";\nimport \"./menubar.script\";\nexport function RuiMenubarMenu({\n label,\n children,\n disabled\n}) {\n const hasMenu = children != null;\n return /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-menubar__root\",\n \"data-ref\": \"menubar-root\",\n children: [/* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-menubar__item\",\n role: \"menuitem\",\n tabindex: -1,\n \"aria-haspopup\": hasMenu ? \"true\" : void 0,\n \"aria-expanded\": hasMenu ? \"false\" : void 0,\n \"aria-disabled\": disabled ? \"true\" : void 0,\n disabled,\n children: label\n }), hasMenu ? /* @__PURE__ */jsx(\"div\", {\n class: \"rui-menubar__menu rui-popover rui-floating\",\n \"data-ref\": \"menu\",\n role: \"menu\",\n hidden: true,\n children\n }) : null]\n });\n}\nexport function RuiMenubarMenuItem({\n children,\n value,\n disabled,\n hasSubmenu,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n type: \"button\",\n class: cx(\"rui-menubar__menu-item\", className),\n role: \"menuitem\",\n \"data-value\": value,\n \"aria-haspopup\": hasSubmenu ? \"menu\" : void 0,\n \"aria-disabled\": disabled ? \"true\" : void 0,\n disabled,\n tabIndex: -1,\n children\n });\n}\nexport function RuiMenubarSubmenuContent({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-ref\": \"submenu-menu\",\n class: cx(\"rui-menubar__menu\", \"rui-menubar__submenu\", \"rui-popover\", \"rui-floating\", className),\n role: \"menu\",\n hidden: true,\n children\n });\n}\nexport function RuiMenubar({\n items,\n label,\n children,\n ...props\n}) {\n const content = items != null ? items.map(item => /* @__PURE__ */jsx(RuiMenubarMenu, {\n label: item.label,\n disabled: item.disabled,\n children: item.items?.length ? renderMenuEntries(item.items, {\n Item: itemProps => /* @__PURE__ */jsx(RuiMenubarMenuItem, {\n ...itemProps\n }),\n Submenu: submenuProps => /* @__PURE__ */jsx(RuiMenubarSubmenuContent, {\n ...submenuProps\n }),\n Separator: separatorProps => /* @__PURE__ */jsx(RuiSeparator, {}, separatorProps.id)\n }) : null\n })) : children;\n return /* @__PURE__ */jsx(\"rui-menubar\", {\n ...props,\n label,\n children: /* @__PURE__ */jsx(\"div\", {\n class: \"rui-menubar\",\n \"data-ref\": \"root\",\n role: \"menubar\",\n \"aria-label\": label || void 0,\n children: content\n })\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 RuiSeparator({\n orientation = \"horizontal\",\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"hr\", {\n ...props,\n class: cx(\"rui-separator\", className),\n role: \"separator\",\n \"aria-orientation\": orientation,\n \"data-orientation\": orientation\n });\n}", "import { Fragment, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nexport function renderMenuEntries(items, views) {\n return items.map(item => {\n if (item.type === \"separator\") return views.Separator({\n id: item.id\n });\n const hasSubmenu = Boolean(item.items?.length);\n return /* @__PURE__ */jsxs(Fragment, {\n children: [views.Item({\n value: item.value,\n disabled: item.disabled,\n hasSubmenu,\n children: item.label\n }), hasSubmenu ? views.Submenu({\n children: renderMenuEntries(item.items ?? [], views)\n }) : null]\n });\n });\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["RadiantElement", "customElement", "event", "onEvent", "prop", "applyRovingTabindex", "items", "activeIndex", "item", "index", "next", "focusRovingItem", "deltaForKey", "key", "orientation", "navigateRovingTabindex", "options", "current", "wrap", "delta", "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", "shouldDismissPopoverPointer", "anchor", "floating", "target", "popoverContains", "PopoverController", "config", "patch", "mountPortal", "attachFloating", "node", "configuredFloating", "CSS_SAFE_ID", "isCssSafeId", "value", "cssSafePrefix", "prefix", "trimmed", "prefixed", "uniqueId", "token", "byte", "SUBMENU_DELAY", "SUBMENU_CLOSE_DELAY", "SUBMENU_GAP", "MenuTreeController", "config", "menu", "item", "submenu", "uniqueId", "event", "timer", "related", "handler", "handled", "context", "direction", "index", "trigger", "candidate", "controller", "focusFirst", "popover", "PopoverController", "returnFocus", "child", "sibling", "target", "next", "previous", "_initProto", "_initClass", "_init_label", "_init_extra_label", "_init_changeEvent", "_init_extra_changeEvent", "_applyDecs", "e", "t", "n", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "r", "o", "i", "b", "applyDec", "w", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiMenubar", "RuiMenubar", "RadiantElement", "customElement", "prop", "event", "onEvent", "topItem", "applyRovingTabindex", "MenuTreeController", "item", "returnFocus", "anchor", "menu", "PopoverController", "top", "focus", "root", "event2", "shouldDismissPopoverPointer", "items", "current", "result", "navigateRovingTabindex", "currentRoot", "value", "jsx", "jsxs", "cx", "parts", "jsx", "RuiSeparator", "orientation", "className", "props", "jsx", "cx", "Fragment", "jsxs", "renderMenuEntries", "items", "views", "item", "hasSubmenu", "RuiMenubarMenu", "label", "children", "disabled", "hasMenu", "jsxs", "jsx", "RuiMenubarMenuItem", "value", "hasSubmenu", "className", "props", "cx", "RuiMenubarSubmenuContent", "RuiMenubar", "items", "content", "item", "renderMenuEntries", "itemProps", "submenuProps", "separatorProps", "RuiSeparator"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as q,jsxs as B}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as be,customElement as Se,onUpdated as Re,prop as I,state as $e}from"@ecopages/radiant";var ne,ae,oe,se,ue,le,ce,me,he,fe,pe,de;function xe(e,r,d,x,ge,G){var y,a,V,k,S,A,w,J=Symbol.metadata||Symbol.for("Symbol.metadata"),Q=Object.defineProperty,O=Object.create,W=[O(null),O(null)],X=r.length;function R(t,m,l){return function(i,n){m&&(n=i,i=e);for(var h=0;h<t.length;h++)n=t[h].apply(i,l?[n]:[]);return l?n:i}}function v(t,m,l,i){if(typeof t!="function"&&(i||t!==void 0))throw new TypeError(m+" must "+(l||"be")+" a function"+(i?"":" or undefined"));return t}function Y(t,m,l,i,n,h,_,c,f,p,H){function U(s){if(!H(s))throw new TypeError("Attempted to access private element on non-instance")}var z=[].concat(m[0]),F=m[3],L=!_,j=n===1,N=n===3,P=n===4,$=n===2;function M(s,g,re){return function(T,ie){return g&&(ie=T,T=t),re&&re(T),o[s].call(T,ie)}}if(!L){var o={},C=[],b=N?"get":P||j?"set":"value";if(f?(p||j?o={get:ve(function(){return F(this)},i,"get"),set:function(s){m[4](this,s)}}:o[b]=F,p||ve(o[b],i,$?"":b)):p||(o=Object.getOwnPropertyDescriptor(t,i)),!p&&!f){if((a=W[+c][i])&&(a^n)!==7)throw Error("Decorating two elements with the same name ("+o[b].name+") is not supported yet");W[+c][i]=n<3?1:n}}for(var u=t,D=z.length-1;D>=0;D-=l?2:1){var ee=v(z[D],"A decorator","be",!0),te=l?z[D-1]:void 0,K={},E={kind:["field","accessor","method","getter","setter","class"][n],name:i,metadata:y,addInitializer:function(s,g){if(s.v)throw new TypeError("attempted to call addInitializer after decoration was finished");v(g,"An initializer","be",!0),h.push(g)}.bind(null,K)};if(L)a=ee.call(te,u,E),K.v=1,v(a,"class decorators","return")&&(u=a);else if(E.static=c,E.private=f,a=E.access={has:f?H.bind():function(s){return i in s}},P||(a.get=f?$?function(s){return U(s),o.value}:M("get",0,U):function(s){return s[i]}),$||N||(a.set=f?M("set",0,U):function(s,g){s[i]=g}),u=ee.call(te,j?{get:o.get,set:o.set}:o[b],E),K.v=1,j){if(typeof u=="object"&&u)(a=v(u.get,"accessor.get"))&&(o.get=a),(a=v(u.set,"accessor.set"))&&(o.set=a),(a=v(u.init,"accessor.init"))&&C.unshift(a);else if(u!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else v(u,(p?"field":"method")+" decorators","return")&&(p?C.unshift(u):o[b]=u)}return n<2&&_.push(R(C,c,1),R(h,c,0)),p||L||(f?j?_.splice(-1,0,M("get",c),M("set",c)):_.push($?o[b]:v.call.bind(o[b])):Q(t,i,o)),u}function Z(t){return Q(t,J,{configurable:!0,enumerable:!0,value:y})}return G!==void 0&&(y=G[J]),y=O(y??null),S=[],A=function(t){t&&S.push(R(t))},w=function(t,m){for(var l=0;l<d.length;l++){var i=d[l],n=i[1],h=7&n;if((8&n)==t&&!h==m){var _=i[2],c=!!i[3],f=16&n;Y(t?e:e.prototype,i,f,c?"#"+_:we(_),h,h<2?[]:t?k=k||[]:V=V||[],S,!!t,c,m,t&&c?function(p){return Ee(p)===e}:ge)}}},w(8,0),w(0,0),w(8,1),w(0,1),A(V),A(k),a=S,X||Z(e),{e:a,get c(){var t=[];return X&&[Z(e=Y(e,[r],x,e.name,5,t)),R(t,1)]}}}function we(e){var r=je(e,"string");return typeof r=="symbol"?r:r+""}function je(e,r){if(typeof e!="object"||!e)return e;var d=e[Symbol.toPrimitive];if(d!==void 0){var x=d.call(e,r||"default");if(typeof x!="object")return x;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}function ve(e,r,d){typeof r=="symbol"&&(r=(r=r.description)?"["+r+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:d?d+" "+r:r})}catch{}return e}function Ee(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(e!==null?typeof e:"null"));return e}var ye,_e=class extends be{static{({e:[oe,se,ue,le,ce,me,he,fe,pe,de,ne],c:[ye,ae]}=xe(this,[Se("rui-meter")],[[I({type:Number,reflect:!0,defaultValue:0}),0,"value"],[I({type:Number,defaultValue:0}),0,"min"],[I({type:Number,defaultValue:100}),0,"max"],[I({type:String,defaultValue:""}),0,"label"],[$e,0,"percent"],[Re(["value","min","max"]),2,"onRangeUpdated"]],0,void 0,be))}value=(ne(this),oe(this));min=(se(this),ue(this));max=(le(this),ce(this));label=(me(this),he(this));percent=(fe(this),pe(this,0));resolvedAriaLabel=(de(this),this.$.label.map(r=>r||void 0));trackStyle=this.$.percent.map(r=>({"--rui-meter-percent":`${r}%`}));onRangeUpdated(){let r=this.max===this.min?0:Math.round((this.value-this.min)/(this.max-this.min)*100);this.percent=Math.min(100,Math.max(0,r))}render(){return B("div",{class:"rui-meter",children:[this.label?q("span",{class:"rui-meter__label",children:this.$.label}):null,B("meter",{class:"rui-meter__bar",min:this.$.min,max:this.$.max,value:this.$.value,"aria-label":this.resolvedAriaLabel,children:[this.$.percent,"%"]}),q("div",{class:"rui-meter__track",style:this.trackStyle,"aria-hidden":"true",children:q("div",{class:"rui-meter__fill"})}),B("span",{class:"rui-meter__value","aria-hidden":"true",children:[this.$.percent,"%"]})]})}static{ae()}};import{jsx as Me}from"@ecopages/jsx/jsx-runtime";function De(e){return Me("rui-meter",{...e})}export{De as RuiMeter,ye as RuiMeterElement};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/ui/meter/meter.script.tsx", "../../../../src/components/ui/meter/meter.tsx"],
|
|
4
|
-
"sourcesContent": ["let _initProto, _initClass, _init_value, _init_extra_value, _init_min, _init_extra_min, _init_max, _init_extra_max, _init_label, _init_extra_label, _init_percent, _init_extra_percent;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { RadiantElement, customElement, onUpdated, prop, state } from \"@ecopages/radiant\";\nlet _RuiMeter;\nclass RuiMeter extends RadiantElement {\n static {\n ({\n e: [_init_value, _init_extra_value, _init_min, _init_extra_min, _init_max, _init_extra_max, _init_label, _init_extra_label, _init_percent, _init_extra_percent, _initProto],\n c: [_RuiMeter, _initClass]\n } = _applyDecs(this, [customElement(\"rui-meter\")], [[prop({\n type: Number,\n reflect: true,\n defaultValue: 0\n }), 0, \"value\"], [prop({\n type: Number,\n defaultValue: 0\n }), 0, \"min\"], [prop({\n type: Number,\n defaultValue: 100\n }), 0, \"max\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [state, 0, \"percent\"], [onUpdated([\"value\", \"min\", \"max\"]), 2, \"onRangeUpdated\"]], 0, void 0, RadiantElement));\n }\n value = (_initProto(this), _init_value(this));\n min = (_init_extra_value(this), _init_min(this));\n max = (_init_extra_min(this), _init_max(this));\n label = (_init_extra_max(this), _init_label(this));\n percent = (_init_extra_label(this), _init_percent(this, 0));\n resolvedAriaLabel = (_init_extra_percent(this), this.$.label.map(label => label || void 0));\n onRangeUpdated() {\n
|
|
5
|
-
"mappings": "AAMA,OAAS,OAAAA,
|
|
6
|
-
"names": ["jsx", "jsxs", "RadiantElement", "customElement", "onUpdated", "prop", "state", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_min", "_init_extra_min", "_init_max", "_init_extra_max", "_init_label", "_init_extra_label", "_init_percent", "_init_extra_percent", "_applyDecs", "t", "n", "r", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "b", "e", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiMeter", "RuiMeter", "label", "jsx", "RuiMeter", "props", "jsx"]
|
|
4
|
+
"sourcesContent": ["let _initProto, _initClass, _init_value, _init_extra_value, _init_min, _init_extra_min, _init_max, _init_extra_max, _init_label, _init_extra_label, _init_percent, _init_extra_percent;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { RadiantElement, customElement, onUpdated, prop, state } from \"@ecopages/radiant\";\nlet _RuiMeter;\nclass RuiMeter extends RadiantElement {\n static {\n ({\n e: [_init_value, _init_extra_value, _init_min, _init_extra_min, _init_max, _init_extra_max, _init_label, _init_extra_label, _init_percent, _init_extra_percent, _initProto],\n c: [_RuiMeter, _initClass]\n } = _applyDecs(this, [customElement(\"rui-meter\")], [[prop({\n type: Number,\n reflect: true,\n defaultValue: 0\n }), 0, \"value\"], [prop({\n type: Number,\n defaultValue: 0\n }), 0, \"min\"], [prop({\n type: Number,\n defaultValue: 100\n }), 0, \"max\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [state, 0, \"percent\"], [onUpdated([\"value\", \"min\", \"max\"]), 2, \"onRangeUpdated\"]], 0, void 0, RadiantElement));\n }\n value = (_initProto(this), _init_value(this));\n min = (_init_extra_value(this), _init_min(this));\n max = (_init_extra_min(this), _init_max(this));\n label = (_init_extra_max(this), _init_label(this));\n percent = (_init_extra_label(this), _init_percent(this, 0));\n resolvedAriaLabel = (_init_extra_percent(this), this.$.label.map(label => label || void 0));\n trackStyle = this.$.percent.map(percent => ({\n \"--rui-meter-percent\": `${percent}%`\n }));\n onRangeUpdated() {\n const percent = this.max === this.min ? 0 : Math.round((this.value - this.min) / (this.max - this.min) * 100);\n this.percent = Math.min(100, Math.max(0, percent));\n }\n render() {\n return /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-meter\",\n children: [this.label ? /* @__PURE__ */jsx(\"span\", {\n class: \"rui-meter__label\",\n children: this.$.label\n }) : null, /* @__PURE__ */jsxs(\"meter\", {\n class: \"rui-meter__bar\",\n min: this.$.min,\n max: this.$.max,\n value: this.$.value,\n \"aria-label\": this.resolvedAriaLabel,\n children: [this.$.percent, \"%\"]\n }), /* @__PURE__ */jsx(\"div\", {\n class: \"rui-meter__track\",\n style: this.trackStyle,\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */jsx(\"div\", {\n class: \"rui-meter__fill\"\n })\n }), /* @__PURE__ */jsxs(\"span\", {\n class: \"rui-meter__value\",\n \"aria-hidden\": \"true\",\n children: [this.$.percent, \"%\"]\n })]\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiMeter as RuiMeter };", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport \"./meter.script\";\nexport function RuiMeter(props) {\n return /* @__PURE__ */jsx(\"rui-meter\", {\n ...props\n });\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "jsxs", "RadiantElement", "customElement", "onUpdated", "prop", "state", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_min", "_init_extra_min", "_init_max", "_init_extra_max", "_init_label", "_init_extra_label", "_init_percent", "_init_extra_percent", "_applyDecs", "t", "n", "r", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "b", "e", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiMeter", "RuiMeter", "label", "percent", "jsx", "RuiMeter", "props", "jsx"]
|
|
7
7
|
}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
2
|
@layer properties;
|
|
3
3
|
rui-meter {
|
|
4
|
+
--rui-meter-track-color: var(--rui-track-color, var(--rui-track-fill));
|
|
5
|
+
--rui-meter-fill-color: var(--primary);
|
|
6
|
+
--rui-meter-radius: var(--radius-control);
|
|
7
|
+
--rui-meter-height: 0.75rem;
|
|
8
|
+
--rui-meter-width: 12rem;
|
|
4
9
|
display: block;
|
|
5
10
|
}
|
|
6
11
|
@layer components {
|
|
@@ -12,8 +17,28 @@ rui-meter {
|
|
|
12
17
|
line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
|
|
13
18
|
}
|
|
14
19
|
.rui-meter__bar {
|
|
15
|
-
|
|
16
|
-
width:
|
|
20
|
+
position: absolute;
|
|
21
|
+
width: 1px;
|
|
22
|
+
height: 1px;
|
|
23
|
+
padding: 0;
|
|
24
|
+
margin: -1px;
|
|
25
|
+
overflow: hidden;
|
|
26
|
+
clip-path: inset(50%);
|
|
27
|
+
white-space: nowrap;
|
|
28
|
+
border-width: 0;
|
|
29
|
+
}
|
|
30
|
+
.rui-meter__track {
|
|
31
|
+
block-size: var(--rui-meter-height, 0.75rem);
|
|
32
|
+
inline-size: var(--rui-meter-width, 12rem);
|
|
33
|
+
overflow: hidden;
|
|
34
|
+
background: var(--rui-meter-track-color, var(--rui-track-fill));
|
|
35
|
+
border-radius: var(--rui-meter-radius, var(--radius-control));
|
|
36
|
+
}
|
|
37
|
+
.rui-meter__fill {
|
|
38
|
+
block-size: 100%;
|
|
39
|
+
inline-size: var(--rui-meter-percent, 0%);
|
|
40
|
+
background: var(--rui-meter-fill-color, var(--primary));
|
|
41
|
+
border-radius: var(--rui-meter-radius, var(--radius-control));
|
|
17
42
|
}
|
|
18
43
|
.rui-meter__value {
|
|
19
44
|
color: var(--color-on-surface, var(--on-surface));
|
|
@@ -15,7 +15,7 @@ type RuiMeterBindings = {
|
|
|
15
15
|
/**
|
|
16
16
|
* `<rui-meter>` — graphical display of a numeric value within a range.
|
|
17
17
|
*
|
|
18
|
-
* Derived Tree: the host `render()` owns the label, native `<meter>`, and percent
|
|
18
|
+
* Derived Tree: the host `render()` owns the label, native `<meter>`, visual track, and percent
|
|
19
19
|
* readout. Pass `value`, `min`, `max`, and `label` as attributes or props; there
|
|
20
20
|
* is no authored light-DOM child contract.
|
|
21
21
|
*
|
|
@@ -27,14 +27,23 @@ type RuiMeterBindings = {
|
|
|
27
27
|
* @attr {string} label - Text describing what is measured (accessible name). Default: `''`.
|
|
28
28
|
*
|
|
29
29
|
* @remarks
|
|
30
|
-
* The
|
|
30
|
+
* The visually hidden native `<meter>` retains range semantics. The track and fill
|
|
31
|
+
* are presentational and follow the derived percent;
|
|
31
32
|
* the numeric readout beside it is `aria-hidden`. Percent is derived reactively
|
|
32
|
-
* from `value` / `min` / `max
|
|
33
|
+
* from `value` / `min` / `max` and clamped to 0..100, matching the native `<meter>`.
|
|
33
34
|
*
|
|
34
35
|
* @cssclass rui-meter - Root row (label, bar, value).
|
|
35
36
|
* @cssclass rui-meter__label - Text describing the measurement.
|
|
36
|
-
* @cssclass rui-meter__bar - The native `<meter>`.
|
|
37
|
+
* @cssclass rui-meter__bar - The visually hidden native `<meter>`.
|
|
38
|
+
* @cssclass rui-meter__track - Presentational track.
|
|
39
|
+
* @cssclass rui-meter__fill - Presentational fill.
|
|
37
40
|
* @cssclass rui-meter__value - Numeric readout (`aria-hidden`).
|
|
41
|
+
*
|
|
42
|
+
* @cssprop --rui-meter-track-color - Bar track background. Default: `--rui-track-color` / `--rui-track-fill`.
|
|
43
|
+
* @cssprop --rui-meter-fill-color - Filled portion. Default: `--primary`.
|
|
44
|
+
* @cssprop --rui-meter-radius - Track and fill corner radius. Default: `--radius-control`.
|
|
45
|
+
* @cssprop --rui-meter-height - Bar block size. Default: `0.75rem`.
|
|
46
|
+
* @cssprop --rui-meter-width - Bar inline size. Default: `12rem`.
|
|
38
47
|
*/
|
|
39
48
|
export declare class RuiMeter extends RadiantElement<RuiMeterBindings> {
|
|
40
49
|
value: number;
|
|
@@ -43,6 +52,7 @@ export declare class RuiMeter extends RadiantElement<RuiMeterBindings> {
|
|
|
43
52
|
label: string;
|
|
44
53
|
percent: number;
|
|
45
54
|
private readonly resolvedAriaLabel;
|
|
55
|
+
private readonly trackStyle;
|
|
46
56
|
onRangeUpdated(): void;
|
|
47
57
|
render(): import("@ecopages/jsx").JsxRenderable;
|
|
48
58
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { RuiNavigationMenu, RuiNavigationMenuBar, RuiNavigationMenuPanels, RuiNavigationMenuTrigger, RuiNavigationMenuLink, RuiNavigationMenuPanel, type RuiNavigationMenuTriggerProps, type RuiNavigationMenuLinkProps, type RuiNavigationMenuPanelProps, } from './navigation-menu';
|
|
2
|
-
export { RuiNavigationMenu as RuiNavigationMenuElement, type RuiNavigationMenuProps } from './navigation-menu.script';
|
|
2
|
+
export { NAVIGATION_MENU_DEFAULT_CLOSE_DELAY, NAVIGATION_MENU_DEFAULT_HOVER_DELAY, RuiNavigationMenu as RuiNavigationMenuElement, type RuiNavigationMenuProps, } from './navigation-menu.script';
|