@ecopages/radiant-ui 0.1.0-beta.7 → 0.1.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/components/ui/alert/alert.css +88 -50
- package/dist/components/ui/alert/alert.d.ts +43 -5
- package/dist/components/ui/alert/alert.script.d.ts +51 -4
- package/dist/components/ui/alert/index.d.ts +2 -2
- package/dist/components/ui/alert/index.js +1 -1
- package/dist/components/ui/alert/index.js.map +4 -4
- package/dist/components/ui/autocomplete/autocomplete.css +4 -4
- package/dist/components/ui/autocomplete/autocomplete.d.ts +15 -5
- package/dist/components/ui/autocomplete/autocomplete.script.d.ts +9 -0
- package/dist/components/ui/autocomplete/index.js +1 -1
- package/dist/components/ui/autocomplete/index.js.map +4 -4
- package/dist/components/ui/avatar/avatar.d.ts +15 -1
- package/dist/components/ui/avatar/index.js +1 -1
- package/dist/components/ui/avatar/index.js.map +4 -4
- package/dist/components/ui/breadcrumb/breadcrumb.d.ts +32 -6
- package/dist/components/ui/breadcrumb/index.js +1 -1
- package/dist/components/ui/breadcrumb/index.js.map +4 -4
- package/dist/{styles/components → components/ui/button}/button.css +45 -31
- package/dist/components/ui/button/button.d.ts +21 -4
- package/dist/components/ui/button-group/button-group.d.ts +7 -1
- package/dist/components/ui/button-group/index.js +1 -1
- package/dist/components/ui/button-group/index.js.map +4 -4
- package/dist/components/ui/calendar/calendar.css +7 -7
- package/dist/components/ui/calendar/calendar.d.ts +3 -2
- package/dist/components/ui/calendar/calendar.script.d.ts +39 -1
- package/dist/components/ui/calendar/index.js +1 -1
- package/dist/components/ui/calendar/index.js.map +4 -4
- package/dist/components/ui/carousel/carousel.d.ts +32 -6
- package/dist/components/ui/carousel/carousel.script.d.ts +44 -0
- 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.css +1 -1
- package/dist/components/ui/checkbox/checkbox.d.ts +3 -2
- package/dist/components/ui/checkbox/checkbox.script.d.ts +4 -0
- package/dist/components/ui/checkbox/index.js +1 -1
- package/dist/components/ui/checkbox/index.js.map +4 -4
- package/dist/components/ui/chip/chip.d.ts +8 -0
- package/dist/components/ui/chip/index.js +1 -1
- package/dist/components/ui/chip/index.js.map +4 -4
- package/dist/components/ui/chip-list/chip-list.d.ts +10 -2
- package/dist/components/ui/chip-list/index.js +1 -1
- package/dist/components/ui/chip-list/index.js.map +4 -4
- package/dist/components/ui/combobox/combobox.css +39 -1
- package/dist/components/ui/combobox/combobox.d.ts +15 -5
- package/dist/components/ui/combobox/combobox.script.d.ts +13 -1
- 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/cycle-toggle.css +15 -0
- package/dist/components/ui/cycle-toggle/cycle-toggle.d.ts +29 -0
- package/dist/components/ui/cycle-toggle/cycle-toggle.script.d.ts +61 -0
- package/dist/components/ui/cycle-toggle/index.d.ts +5 -0
- package/dist/components/ui/cycle-toggle/index.js +2 -0
- package/dist/components/ui/cycle-toggle/index.js.map +7 -0
- package/dist/components/ui/cycle-toggle/theme-preference-icons.d.ts +12 -0
- package/dist/components/ui/date-field/date-field.css +37 -0
- package/dist/components/ui/date-field/date-field.d.ts +22 -3
- package/dist/components/ui/date-field/date-field.script.d.ts +29 -5
- package/dist/components/ui/date-field/index.d.ts +1 -1
- 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-range-picker/date-range-picker.css +37 -0
- package/dist/components/ui/date-range-picker/date-range-picker.d.ts +37 -4
- package/dist/components/ui/date-range-picker/date-range-picker.script.d.ts +31 -5
- package/dist/components/ui/date-range-picker/index.d.ts +1 -1
- 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 +1 -1
- package/dist/components/ui/dialog/dialog.d.ts +30 -5
- package/dist/components/ui/dialog/dialog.script.d.ts +3 -0
- 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-group.css +1 -1
- package/dist/components/ui/disclosure/disclosure-group.script.d.ts +6 -0
- package/dist/components/ui/disclosure/disclosure.d.ts +26 -7
- package/dist/components/ui/disclosure/disclosure.script.d.ts +5 -0
- package/dist/components/ui/disclosure/index.js +1 -1
- package/dist/components/ui/disclosure/index.js.map +4 -4
- package/dist/components/ui/feed/feed.d.ts +37 -7
- package/dist/components/ui/feed/index.js +1 -1
- package/dist/components/ui/feed/index.js.map +4 -4
- package/dist/components/ui/field/field-description.d.ts +5 -1
- package/dist/components/ui/field/field-error.d.ts +5 -0
- package/dist/components/ui/field/field.d.ts +8 -1
- package/dist/components/ui/field/field.script.d.ts +35 -0
- 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 +6 -0
- package/dist/components/ui/form/form.d.ts +2 -1
- package/dist/components/ui/form/form.script.d.ts +16 -1
- package/dist/components/ui/form/index.d.ts +1 -1
- package/dist/components/ui/form/index.js +1 -1
- package/dist/components/ui/form/index.js.map +4 -4
- package/dist/components/ui/grid/grid.d.ts +12 -2
- package/dist/components/ui/grid/grid.script.d.ts +14 -0
- package/dist/components/ui/grid/index.js +1 -1
- package/dist/components/ui/grid/index.js.map +4 -4
- package/dist/components/ui/heading/heading.d.ts +26 -4
- package/dist/components/ui/heading/index.js +1 -1
- package/dist/components/ui/heading/index.js.map +4 -4
- package/dist/components/ui/headline/headline.d.ts +9 -1
- package/dist/components/ui/headline/index.js +1 -1
- package/dist/components/ui/headline/index.js.map +4 -4
- package/dist/components/ui/input/index.d.ts +1 -1
- 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 +2 -7
- package/dist/components/ui/input/input.d.ts +7 -2
- package/dist/components/ui/label/index.js +1 -1
- package/dist/components/ui/label/index.js.map +4 -4
- package/dist/components/ui/label/label.d.ts +8 -1
- 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.css +2 -5
- package/dist/components/ui/listbox/listbox.d.ts +7 -3
- package/dist/components/ui/listbox/listbox.script.d.ts +14 -1
- package/dist/components/ui/menu-button/index.d.ts +1 -1
- 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.css +2 -2
- package/dist/components/ui/menu-button/menu-button.d.ts +27 -5
- package/dist/components/ui/menu-button/menu-button.script.d.ts +8 -3
- package/dist/components/ui/menubar/index.js +1 -1
- package/dist/components/ui/menubar/index.js.map +4 -4
- package/dist/components/ui/menubar/menubar.css +4 -4
- package/dist/components/ui/menubar/menubar.d.ts +14 -2
- package/dist/components/ui/menubar/menubar.script.d.ts +10 -1
- package/dist/components/ui/meter/index.js +1 -1
- package/dist/components/ui/meter/index.js.map +4 -4
- package/dist/components/ui/meter/meter.css +1 -1
- package/dist/components/ui/meter/meter.d.ts +7 -2
- package/dist/components/ui/meter/meter.script.d.ts +21 -0
- 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 +2 -2
- package/dist/components/ui/navigation-menu/navigation-menu.d.ts +3 -2
- package/dist/components/ui/navigation-menu/navigation-menu.script.d.ts +4 -0
- package/dist/components/ui/number-field/index.d.ts +1 -1
- 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 +18 -3
- package/dist/components/ui/number-field/number-field.d.ts +36 -8
- package/dist/components/ui/number-field/number-field.script.d.ts +28 -1
- 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.d.ts +5 -4
- package/dist/components/ui/popover/popover.script.d.ts +4 -0
- package/dist/components/ui/radio-group/index.d.ts +1 -1
- 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.d.ts +29 -4
- package/dist/components/ui/radio-group/radio-group.script.d.ts +14 -9
- 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 +48 -6
- package/dist/components/ui/select/select.d.ts +29 -8
- package/dist/components/ui/select/select.script.d.ts +7 -0
- 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.script.d.ts +4 -0
- package/dist/components/ui/sidebar/sidebar.css +41 -24
- package/dist/components/ui/sidebar/sidebar.d.ts +68 -14
- package/dist/components/ui/sidebar/sidebar.docs.css +5 -2
- package/dist/components/ui/sidebar/sidebar.script.d.ts +9 -0
- 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.d.ts +2 -1
- package/dist/components/ui/slider/slider.script.d.ts +29 -1
- 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 +3 -3
- package/dist/components/ui/switch/switch.d.ts +11 -2
- package/dist/components/ui/switch/switch.script.d.ts +5 -0
- package/dist/components/ui/tabs/index.js +1 -1
- package/dist/components/ui/tabs/index.js.map +4 -4
- package/dist/components/ui/tabs/tabs.css +9 -10
- package/dist/components/ui/tabs/tabs.d.ts +30 -9
- 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.css +2 -11
- package/dist/components/ui/tag-group/tag-group.d.ts +18 -5
- package/dist/components/ui/tag-group/tag-group.script.d.ts +9 -2
- package/dist/components/ui/textarea/index.d.ts +1 -1
- 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.d.ts +7 -2
- package/dist/components/ui/toast/index.d.ts +1 -1
- package/dist/components/ui/toast/index.js +1 -1
- package/dist/components/ui/toast/index.js.map +4 -4
- package/dist/components/ui/toast/stack-layout.d.ts +18 -0
- package/dist/components/ui/toast/toast-context.d.ts +10 -0
- package/dist/components/ui/toast/toast.css +30 -9
- package/dist/components/ui/toast/toast.d.ts +12 -2
- package/dist/components/ui/toast/toast.script.d.ts +60 -4
- package/dist/components/ui/toast/toaster.script.d.ts +71 -2
- package/dist/components/ui/toc/index.js +1 -1
- package/dist/components/ui/toc/index.js.map +4 -4
- package/dist/components/ui/toc/toc.css +3 -0
- package/dist/components/ui/toc/toc.d.ts +2 -1
- package/dist/components/ui/toc/toc.script.d.ts +15 -0
- package/dist/components/ui/toolbar/index.js +1 -1
- package/dist/components/ui/toolbar/index.js.map +4 -4
- package/dist/components/ui/toolbar/toolbar.d.ts +3 -2
- package/dist/components/ui/toolbar/toolbar.script.d.ts +8 -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.d.ts +3 -2
- package/dist/components/ui/tooltip/tooltip.script.d.ts +3 -0
- package/dist/components/ui/tree/index.js +1 -1
- package/dist/components/ui/tree/index.js.map +4 -4
- package/dist/components/ui/tree/tree.d.ts +12 -2
- package/dist/components/ui/tree/tree.script.d.ts +18 -1
- package/dist/components/ui/treegrid/index.js +1 -1
- package/dist/components/ui/treegrid/index.js.map +4 -4
- package/dist/components/ui/treegrid/treegrid.d.ts +15 -2
- package/dist/components/ui/treegrid/treegrid.script.d.ts +22 -1
- package/dist/components/ui/window-splitter/index.js +1 -1
- package/dist/components/ui/window-splitter/index.js.map +4 -4
- package/dist/components/ui/window-splitter/window-splitter.css +1 -1
- package/dist/components/ui/window-splitter/window-splitter.d.ts +3 -2
- package/dist/components/ui/window-splitter/window-splitter.script.d.ts +22 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +4 -4
- package/dist/lib/cycle-value.d.ts +8 -0
- package/dist/lib/intl-number/range.d.ts +8 -0
- package/dist/styles/radiant-ui-core.css +110 -341
- package/dist/styles/radiant-ui.css +413 -377
- package/dist/styles/styles.css +839 -2731
- package/dist/styles/tailwind.css +626 -530
- package/dist/styles/tokens/colors/aurora.css +2 -2
- package/dist/styles/tokens/colors/basalt.css +2 -1
- package/dist/styles/tokens/colors/glacier.css +2 -1
- package/dist/styles/tokens/presets/colors/aurora.css +42 -14
- package/dist/styles/tokens/presets/colors/basalt.css +28 -0
- package/dist/styles/tokens/presets/colors/ember.css +28 -0
- package/dist/styles/tokens/presets/colors/glacier.css +28 -0
- package/dist/styles/tokens/semantic.css +22 -2
- package/dist/styles/tokens/spacing/compact.css +12 -12
- package/package.json +21 -8
- package/dist/components/ui/dialog/dialog-registry.test.d.ts +0 -1
- package/dist/components/ui/field/field-ssr-hydration.test.d.ts +0 -1
- package/dist/components/ui/form/form-field.test.d.ts +0 -4
- package/dist/components/ui/form/form-store.test.d.ts +0 -1
- package/dist/components/ui/shared/collection-navigation.test.d.ts +0 -1
- package/dist/components/ui/shared/floating-position.test.d.ts +0 -1
- package/dist/components/ui/shared/listbox-popover-behavior.test.d.ts +0 -1
- package/dist/components/ui/shared/popover-controller.test.d.ts +0 -1
- package/dist/components/ui/shared/portal.test.d.ts +0 -1
- package/dist/components/ui/sidebar/sidebar.ssr.test.d.ts +0 -2
- package/dist/components/ui/sidebar/sidebar.test.d.ts +0 -1
- package/dist/components/ui/toast/toast.test.d.ts +0 -2
- package/dist/components/ui/toc/toc-helpers.test.d.ts +0 -1
- package/dist/components/ui/toc/toc.ssr.test.d.ts +0 -1
- package/dist/components/ui/toc/toc.test.d.ts +0 -1
- package/dist/lib/intl-date/parts.test.d.ts +0 -1
- package/dist/lib/intl-date/segments.test.d.ts +0 -1
- package/dist/lib/intl-date/selection.test.d.ts +0 -1
- package/dist/lib/mask/date-mask.test.d.ts +0 -1
- package/dist/lib/mask/input-mask.test.d.ts +0 -1
- package/dist/lib/radiant-view.d.ts +0 -43
- package/dist/lib/text-filter.test.d.ts +0 -1
- package/dist/styles/tokens/presets/radius.css +0 -45
- package/dist/styles/tokens/presets/spacing.css +0 -57
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/components/ui/listbox/listbox.script.tsx", "../../../../src/lib/roving-tabindex.ts", "../../../../src/components/ui/listbox/listbox.tsx", "../../../../src/lib/cx.ts"
|
|
4
|
-
"sourcesContent": ["let _initProto, _initClass, _init_value, _init_extra_value, _init_label, _init_extra_label, _init_disabled, _init_extra_disabled, _init_embedded, _init_extra_embedded, _init_bordered, _init_extra_bordered, _init_changeEvent, _init_extra_changeEvent;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { RadiantElement, customElement, event, onEvent, onUpdated, prop } from \"@ecopages/radiant\";\nimport { navigateRovingTabindex } from \"@/lib/roving-tabindex\";\nlet _RuiListbox;\nclass RuiListbox extends RadiantElement {\n static {\n ({\n e: [_init_value, _init_extra_value, _init_label, _init_extra_label, _init_disabled, _init_extra_disabled, _init_embedded, _init_extra_embedded, _init_bordered, _init_extra_bordered, _init_changeEvent, _init_extra_changeEvent, _initProto],\n c: [_RuiListbox, _initClass]\n } = _applyDecs(this, [customElement(\"rui-listbox\")], [[prop({\n type: String,\n reflect: true,\n defaultValue: \"\"\n }), 0, \"value\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"disabled\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"embedded\"], [prop({\n type: Boolean,\n reflect: true\n }), 0, \"bordered\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [onUpdated([\"value\", \"disabled\", \"embedded\", \"bordered\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: '[role=\"option\"]',\n type: \"click\"\n }), 2, \"onOptionClick\"], [onEvent({\n selector: '[role=\"option\"]',\n type: \"keydown\"\n }), 2, \"onOptionKeydown\"]], 0, void 0, RadiantElement));\n }\n value = (_initProto(this), _init_value(this));\n label = (_init_extra_value(this), _init_label(this));\n disabled = (_init_extra_label(this), _init_disabled(this));\n embedded = (_init_extra_disabled(this), _init_embedded(this));\n bordered = (_init_extra_embedded(this), _init_bordered(this));\n changeEvent = (_init_extra_bordered(this), _init_changeEvent(this));\n resolvedAriaLabel = (_init_extra_changeEvent(this), this.$.label.map(label => label || void 0));\n resolvedAriaDisabled = this.$.disabled.map(disabled => disabled ? \"true\" : void 0);\n connectedCallback() {\n super.connectedCallback();\n queueMicrotask(() => {\n this.sync();\n this.syncPresentation();\n });\n }\n onPropsUpdated() {\n this.sync();\n this.syncPresentation();\n }\n getOptions() {\n return Array.from(this.querySelectorAll('[role=\"option\"]'));\n }\n sync() {\n const options = this.getOptions();\n for (const option of options) {\n const selected = option.getAttribute(\"data-value\") === this.value;\n option.setAttribute(\"aria-selected\", String(selected));\n option.tabIndex = this.embedded ? -1 : selected || !this.value && option === options[0] ? 0 : -1;\n }\n }\n select(option) {\n if (this.disabled || option.getAttribute(\"aria-disabled\") === \"true\") return;\n this.value = option.getAttribute(\"data-value\") || option.textContent?.trim() || \"\";\n this.sync();\n this.changeEvent.emit({\n value: this.value\n });\n option.focus();\n }\n onOptionClick(event2) {\n if (this.embedded) {\n return;\n }\n const option = event2.target.closest('[role=\"option\"]');\n if (option && this.contains(option)) this.select(option);\n }\n onOptionKeydown(event2) {\n if (this.embedded) {\n return;\n }\n const options = this.getOptions();\n const current = event2.target.closest('[role=\"option\"]');\n if (!current) return;\n if (event2.key === \"Enter\" || event2.key === \" \") {\n event2.preventDefault();\n this.select(current);\n return;\n }\n const result = navigateRovingTabindex({\n items: options,\n current,\n key: event2.key,\n orientation: \"vertical\"\n });\n if (!result.handled) return;\n event2.preventDefault();\n this.select(result.item);\n }\n isBordered() {\n if (this.bordered != null) {\n return this.bordered;\n }\n return !this.embedded;\n }\n syncPresentation() {\n const root = this.querySelector(\".rui-listbox\");\n if (!root) {\n return;\n }\n root.classList.toggle(\"rui-listbox--bordered\", this.isBordered());\n }\n render() {\n const bordered = this.isBordered();\n return /* @__PURE__ */jsx(\"div\", {\n class: `rui-listbox${bordered ? \" rui-listbox--bordered\" : \"\"}`,\n role: \"listbox\",\n \"data-rui-control\": true,\n \"data-rui-control-type\": \"text\",\n \"aria-label\": this.resolvedAriaLabel,\n \"aria-disabled\": this.resolvedAriaDisabled,\n children: /* @__PURE__ */jsx(\"slot\", {})\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiListbox as RuiListbox };", "export function applyRovingTabindex(items, activeIndex) {\n items.forEach((item, index) => {\n item.tabIndex = index === activeIndex ? 0 : -1;\n });\n}\nexport function focusRovingItem(items, index) {\n if (!items.length) return null;\n const next = Math.max(0, Math.min(items.length - 1, index));\n applyRovingTabindex(items, next);\n items[next]?.focus();\n return items[next] ?? null;\n}\nfunction deltaForKey(key, orientation) {\n if (key === \"Home\") return \"first\";\n if (key === \"End\") return \"last\";\n if (orientation === \"horizontal\") {\n if (key === \"ArrowRight\") return \"next\";\n if (key === \"ArrowLeft\") return \"prev\";\n return null;\n }\n if (key === \"ArrowDown\") return \"next\";\n if (key === \"ArrowUp\") return \"prev\";\n return null;\n}\nexport function navigateRovingTabindex(options) {\n const {\n items,\n current,\n key,\n orientation = \"horizontal\",\n wrap = true\n } = options;\n if (!items.length || !current) return {\n handled: false\n };\n const index = items.indexOf(current);\n if (index < 0) return {\n handled: false\n };\n const delta = deltaForKey(key, orientation);\n if (!delta) return {\n handled: false\n };\n let next = index;\n if (delta === \"first\") next = 0;else if (delta === \"last\") next = items.length - 1;else if (delta === \"next\") next = wrap ? (index + 1) % items.length : Math.min(items.length - 1, index + 1);else next = wrap ? (index - 1 + items.length) % items.length : Math.max(0, index - 1);\n const item = focusRovingItem(items, next);\n if (!item) return {\n handled: false\n };\n return {\n handled: true,\n index: next,\n item\n };\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport { defineRadiantView } from \"@/lib/radiant-view\";\nimport { RuiListbox as RuiListboxElement } from \"./listbox.script\";\nexport function RuiListboxOption({\n value,\n label,\n children,\n class: className,\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-listbox__option\", className),\n role: \"option\",\n \"data-value\": value,\n \"data-label\": label,\n \"aria-disabled\": disabled ? \"true\" : void 0,\n tabindex: -1,\n children\n });\n}\nexport const RuiListbox = defineRadiantView(RuiListboxElement, ({\n options,\n children,\n ...props\n}) => {\n if (options != null) {\n return /* @__PURE__ */jsx(\"rui-listbox\", {\n ...props,\n children: options.map(option => /* @__PURE__ */jsx(RuiListboxOption, {\n value: option.value,\n label: typeof option.label === \"string\" ? option.label : void 0,\n disabled: option.disabled,\n children: option.label\n }))\n });\n }\n return /* @__PURE__ */jsx(\"rui-listbox\", {\n ...props,\n children\n });\n}, {\n stylesheets: [\"./listbox.css\"]\n});", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}", "const RADIANT_VIEW_ELEMENT = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.viewElement\");\nconst RADIANT_SCRIPT_MODULE = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.scriptModule\");\nconst RADIANT_SCRIPT_EXPORT = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.scriptExport\");\nconst RADIANT_VIEW_MODULE = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.viewModule\");\nfunction linkViewToElement(view, element) {\n view[RADIANT_VIEW_ELEMENT] = element;\n const ssrModule = element[RADIANT_SCRIPT_MODULE];\n if (ssrModule) {\n view[RADIANT_SCRIPT_MODULE] = ssrModule;\n view[RADIANT_SCRIPT_EXPORT] = element[RADIANT_SCRIPT_EXPORT] ?? element.name;\n }\n}\nexport function defineRadiantView(element, render, _options) {\n const view = args => render(args);\n linkViewToElement(view, element);\n return view;\n}\nexport function attachRadiantStylesheets(target, _stylesheets, moduleUrl) {\n const view = target;\n view[RADIANT_VIEW_MODULE] = moduleUrl;\n return target;\n}\nexport function syncRadiantViewMetadata(view) {\n const element = view[RADIANT_VIEW_ELEMENT];\n if (element) {\n linkViewToElement(view, element);\n }\n}"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["jsx", "RadiantElement", "customElement", "event", "onEvent", "onUpdated", "prop", "applyRovingTabindex", "items", "activeIndex", "item", "index", "focusRovingItem", "next", "deltaForKey", "key", "orientation", "navigateRovingTabindex", "options", "current", "wrap", "delta", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_label", "_init_extra_label", "_init_disabled", "_init_extra_disabled", "_init_embedded", "_init_extra_embedded", "_init_bordered", "_init_extra_bordered", "_init_changeEvent", "_init_extra_changeEvent", "_applyDecs", "e", "t", "n", "r", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "b", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiListbox", "RuiListbox", "RadiantElement", "customElement", "prop", "event", "onUpdated", "onEvent", "label", "disabled", "options", "option", "selected", "event2", "current", "result", "navigateRovingTabindex", "root", "bordered", "jsx", "jsx", "cx", "parts", "
|
|
3
|
+
"sources": ["../../../../src/components/ui/listbox/listbox.script.tsx", "../../../../src/lib/roving-tabindex.ts", "../../../../src/components/ui/listbox/listbox.tsx", "../../../../src/lib/cx.ts"],
|
|
4
|
+
"sourcesContent": ["let _initProto, _initClass, _init_value, _init_extra_value, _init_label, _init_extra_label, _init_disabled, _init_extra_disabled, _init_embedded, _init_extra_embedded, _init_bordered, _init_extra_bordered, _init_changeEvent, _init_extra_changeEvent;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { RadiantElement, customElement, event, onEvent, onUpdated, prop } from \"@ecopages/radiant\";\nimport { navigateRovingTabindex } from \"@/lib/roving-tabindex\";\nlet _RuiListbox;\nclass RuiListbox extends RadiantElement {\n static {\n ({\n e: [_init_value, _init_extra_value, _init_label, _init_extra_label, _init_disabled, _init_extra_disabled, _init_embedded, _init_extra_embedded, _init_bordered, _init_extra_bordered, _init_changeEvent, _init_extra_changeEvent, _initProto],\n c: [_RuiListbox, _initClass]\n } = _applyDecs(this, [customElement(\"rui-listbox\")], [[prop({\n type: String,\n reflect: true,\n defaultValue: \"\"\n }), 0, \"value\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"disabled\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"embedded\"], [prop({\n type: Boolean,\n reflect: true\n }), 0, \"bordered\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [onUpdated([\"value\", \"disabled\", \"embedded\", \"bordered\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: '[role=\"option\"]',\n type: \"click\"\n }), 2, \"onOptionClick\"], [onEvent({\n selector: '[role=\"option\"]',\n type: \"keydown\"\n }), 2, \"onOptionKeydown\"]], 0, void 0, RadiantElement));\n }\n value = (_initProto(this), _init_value(this));\n label = (_init_extra_value(this), _init_label(this));\n disabled = (_init_extra_label(this), _init_disabled(this));\n embedded = (_init_extra_disabled(this), _init_embedded(this));\n bordered = (_init_extra_embedded(this), _init_bordered(this));\n changeEvent = (_init_extra_bordered(this), _init_changeEvent(this));\n resolvedAriaLabel = (_init_extra_changeEvent(this), this.$.label.map(label => label || void 0));\n resolvedAriaDisabled = this.$.disabled.map(disabled => disabled ? \"true\" : void 0);\n connectedCallback() {\n super.connectedCallback();\n queueMicrotask(() => {\n this.sync();\n this.syncPresentation();\n });\n }\n onPropsUpdated() {\n this.sync();\n this.syncPresentation();\n }\n getOptions() {\n return Array.from(this.querySelectorAll('[role=\"option\"]'));\n }\n sync() {\n const options = this.getOptions();\n for (const option of options) {\n const selected = option.getAttribute(\"data-value\") === this.value;\n option.setAttribute(\"aria-selected\", String(selected));\n option.tabIndex = this.embedded ? -1 : selected || !this.value && option === options[0] ? 0 : -1;\n }\n }\n select(option) {\n if (this.disabled || option.getAttribute(\"aria-disabled\") === \"true\") return;\n this.value = option.getAttribute(\"data-value\") || option.textContent?.trim() || \"\";\n this.sync();\n this.changeEvent.emit({\n value: this.value\n });\n option.focus();\n }\n onOptionClick(event2) {\n if (this.embedded) {\n return;\n }\n const option = event2.target.closest('[role=\"option\"]');\n if (option && this.contains(option)) this.select(option);\n }\n onOptionKeydown(event2) {\n if (this.embedded) {\n return;\n }\n const options = this.getOptions();\n const current = event2.target.closest('[role=\"option\"]');\n if (!current) return;\n if (event2.key === \"Enter\" || event2.key === \" \") {\n event2.preventDefault();\n this.select(current);\n return;\n }\n const result = navigateRovingTabindex({\n items: options,\n current,\n key: event2.key,\n orientation: \"vertical\"\n });\n if (!result.handled) return;\n event2.preventDefault();\n this.select(result.item);\n }\n isBordered() {\n if (this.bordered != null) {\n return this.bordered;\n }\n return !this.embedded;\n }\n syncPresentation() {\n const root = this.querySelector(\".rui-listbox\");\n if (!root) {\n return;\n }\n root.classList.toggle(\"rui-listbox--bordered\", this.isBordered());\n }\n render() {\n const bordered = this.isBordered();\n return /* @__PURE__ */jsx(\"div\", {\n class: `rui-listbox${bordered ? \" rui-listbox--bordered\" : \"\"}`,\n role: \"listbox\",\n \"data-rui-control\": true,\n \"data-rui-control-type\": \"text\",\n \"aria-label\": this.resolvedAriaLabel,\n \"aria-disabled\": this.resolvedAriaDisabled,\n children: /* @__PURE__ */jsx(\"slot\", {})\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiListbox as RuiListbox };", "export function applyRovingTabindex(items, activeIndex) {\n items.forEach((item, index) => {\n item.tabIndex = index === activeIndex ? 0 : -1;\n });\n}\nexport function focusRovingItem(items, index) {\n if (!items.length) return null;\n const next = Math.max(0, Math.min(items.length - 1, index));\n applyRovingTabindex(items, next);\n items[next]?.focus();\n return items[next] ?? null;\n}\nfunction deltaForKey(key, orientation) {\n if (key === \"Home\") return \"first\";\n if (key === \"End\") return \"last\";\n if (orientation === \"horizontal\") {\n if (key === \"ArrowRight\") return \"next\";\n if (key === \"ArrowLeft\") return \"prev\";\n return null;\n }\n if (key === \"ArrowDown\") return \"next\";\n if (key === \"ArrowUp\") return \"prev\";\n return null;\n}\nexport function navigateRovingTabindex(options) {\n const {\n items,\n current,\n key,\n orientation = \"horizontal\",\n wrap = true\n } = options;\n if (!items.length || !current) return {\n handled: false\n };\n const index = items.indexOf(current);\n if (index < 0) return {\n handled: false\n };\n const delta = deltaForKey(key, orientation);\n if (!delta) return {\n handled: false\n };\n let next = index;\n if (delta === \"first\") next = 0;else if (delta === \"last\") next = items.length - 1;else if (delta === \"next\") next = wrap ? (index + 1) % items.length : Math.min(items.length - 1, index + 1);else next = wrap ? (index - 1 + items.length) % items.length : Math.max(0, index - 1);\n const item = focusRovingItem(items, next);\n if (!item) return {\n handled: false\n };\n return {\n handled: true,\n index: next,\n item\n };\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport \"./listbox.script\";\nexport function RuiListboxOption({\n value,\n label,\n children,\n class: className,\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-listbox__option\", className),\n role: \"option\",\n \"data-value\": value,\n \"data-label\": label,\n \"aria-disabled\": disabled ? \"true\" : void 0,\n tabindex: -1,\n children\n });\n}\nexport function RuiListbox({\n options,\n children,\n ...props\n}) {\n if (options != null) {\n return /* @__PURE__ */jsx(\"rui-listbox\", {\n ...props,\n children: options.map(option => /* @__PURE__ */jsx(RuiListboxOption, {\n value: option.value,\n label: typeof option.label === \"string\" ? option.label : void 0,\n disabled: option.disabled,\n children: option.label\n }))\n });\n }\n return /* @__PURE__ */jsx(\"rui-listbox\", {\n ...props,\n children\n });\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "RadiantElement", "customElement", "event", "onEvent", "onUpdated", "prop", "applyRovingTabindex", "items", "activeIndex", "item", "index", "focusRovingItem", "next", "deltaForKey", "key", "orientation", "navigateRovingTabindex", "options", "current", "wrap", "delta", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_label", "_init_extra_label", "_init_disabled", "_init_extra_disabled", "_init_embedded", "_init_extra_embedded", "_init_bordered", "_init_extra_bordered", "_init_changeEvent", "_init_extra_changeEvent", "_applyDecs", "e", "t", "n", "r", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "b", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiListbox", "RuiListbox", "RadiantElement", "customElement", "prop", "event", "onUpdated", "onEvent", "label", "disabled", "options", "option", "selected", "event2", "current", "result", "navigateRovingTabindex", "root", "bordered", "jsx", "jsx", "cx", "parts", "RuiListboxOption", "value", "label", "children", "className", "disabled", "props", "jsx", "cx", "RuiListbox", "options", "option"]
|
|
7
7
|
}
|
|
@@ -21,8 +21,8 @@ rui-listbox {
|
|
|
21
21
|
.rui-listbox__option {
|
|
22
22
|
cursor: pointer;
|
|
23
23
|
border-radius: var(--radius-control, var(--radius-control));
|
|
24
|
-
padding-inline: var(--spacing-
|
|
25
|
-
padding-block: var(--spacing-
|
|
24
|
+
padding-inline: var(--spacing-control-x, var(--space-control-x));
|
|
25
|
+
padding-block: var(--spacing-control-y, var(--space-control-y));
|
|
26
26
|
font-size: var(--text-sm, var(--text-sm));
|
|
27
27
|
line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
|
|
28
28
|
color: var(--color-on-background, var(--on-background));
|
|
@@ -40,9 +40,6 @@ rui-listbox {
|
|
|
40
40
|
}
|
|
41
41
|
.rui-listbox__option[aria-selected='true']:not([aria-disabled='true']) {
|
|
42
42
|
background-color: var(--color-primary, var(--primary));
|
|
43
|
-
@media (forced-colors: active) {
|
|
44
|
-
background-image: none;
|
|
45
|
-
}
|
|
46
43
|
background-image: var(--sheen-image);
|
|
47
44
|
@media (forced-colors: active) {
|
|
48
45
|
background-image: none;
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
import type { JsxHtmlPropsWithChildren, JsxRenderable } from '@ecopages/jsx';
|
|
2
2
|
import type { RuiListboxProps } from './listbox.script';
|
|
3
|
+
import './listbox.script';
|
|
3
4
|
export type RuiListboxOptionProps = JsxHtmlPropsWithChildren<{
|
|
4
5
|
value: string;
|
|
5
6
|
/** Text used for accessibility and parent display when selected. Defaults to `children` text. */
|
|
6
7
|
label?: string;
|
|
7
8
|
disabled?: boolean;
|
|
8
9
|
}>;
|
|
9
|
-
/** Option placed inside `RuiListbox`.
|
|
10
|
+
/** Option placed inside `RuiListbox`.
|
|
11
|
+
*
|
|
12
|
+
* @cssclass rui-listbox__option - Selectable list option.
|
|
13
|
+
*/
|
|
10
14
|
export declare function RuiListboxOption({ value, label, children, class: className, disabled, ...props }: RuiListboxOptionProps): JsxRenderable;
|
|
11
15
|
export type RuiListboxOptionData = {
|
|
12
16
|
value: string;
|
|
13
17
|
label: JsxRenderable;
|
|
14
18
|
disabled?: boolean;
|
|
15
19
|
};
|
|
16
|
-
export declare
|
|
20
|
+
export declare function RuiListbox({ options, children, ...props }: JsxHtmlPropsWithChildren<RuiListboxProps & {
|
|
17
21
|
slot?: string;
|
|
18
22
|
options?: RuiListboxOptionData[];
|
|
19
|
-
}
|
|
23
|
+
}>): JsxRenderable;
|
|
@@ -26,8 +26,21 @@ type RuiListboxBindings = {
|
|
|
26
26
|
* Implements the APG Listbox pattern with roving tabindex on `[role="option"]`.
|
|
27
27
|
*
|
|
28
28
|
* @see https://www.w3.org/WAI/ARIA/apg/patterns/listbox/
|
|
29
|
+
*
|
|
29
30
|
* @element rui-listbox
|
|
30
|
-
*
|
|
31
|
+
*
|
|
32
|
+
* @attr {string} value - Selected option value. Default: `''`.
|
|
33
|
+
* @attr {string} label - Accessible name for the list. Default: `''`.
|
|
34
|
+
* @attr {boolean} disabled - Disable all selection. Default: `false`.
|
|
35
|
+
* @attr {boolean} embedded - Parent-owned listbox: border chrome omitted, selection handled by the parent. Default: `false`.
|
|
36
|
+
* @attr {boolean} bordered - Override the border (`true` standalone, `false` embedded). Default: follows `embedded`.
|
|
37
|
+
*
|
|
38
|
+
* @slot - Option elements (`RuiListboxOption`), each with `role="option"`.
|
|
39
|
+
*
|
|
40
|
+
* @fires rui-change - Emitted when an option is selected; detail carries `value`.
|
|
41
|
+
*
|
|
42
|
+
* @cssclass rui-listbox - Scrollable option list surface (`role="listbox"`).
|
|
43
|
+
* @cssclass rui-listbox--bordered - Bordered standalone listbox.
|
|
31
44
|
*/
|
|
32
45
|
export declare class RuiListbox extends RadiantElement<RuiListboxBindings> {
|
|
33
46
|
value: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { RuiMenuButton as RuiMenuButtonElement, type RuiMenuButtonProps, type RuiMenuButtonSelectDetail, } from './menu-button.script';
|
|
2
|
-
export { RuiMenuButton, type RuiMenuItem } from './menu-button';
|
|
2
|
+
export { RuiMenuButton, RuiMenuButtonContent, RuiMenuButtonItem, RuiMenuButtonTrigger, type RuiMenuItem, } from './menu-button';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as W,jsxs as Ct}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as Dt,bound as Nt,customElement as Qt,event as Mt,onEvent as I,onUpdated as Zt,prop as It,query as St}from"@ecopages/radiant";var Ht={top:"bottom",bottom:"top",left:"right",right:"left"},Wt=8;function Vt(e){let t=e.indexOf("-");if(t===-1)return{side:e,align:"center"};let n=e.slice(0,t),r=e.slice(t+1);return{side:n,align:r==="start"||r==="end"?r:"center"}}function ut(e){return e==="top"||e==="bottom"?"y":"x"}function st(e,t,n,r,i){let{width:o,height:a}=t,s=0,d=0;switch(n){case"top":d=e.top-a-i;break;case"bottom":d=e.bottom+i;break;case"left":s=e.left-o-i;break;case"right":s=e.right+i;break}return ut(n)==="y"?r==="start"?s=e.left:r==="end"?s=e.right-o:s=e.left+(e.width-o)/2:r==="start"?d=e.top:r==="end"?d=e.bottom-a:d=e.top+(e.height-a)/2,{x:s,y:d}}function Lt(e,t,n,r){let{padding:i,width:o,height:a}=r;return n==="top"?Math.max(0,i-e.y):n==="bottom"?Math.max(0,e.y+t.height-(a-i)):n==="left"?Math.max(0,i-e.x):Math.max(0,e.x+t.width-(o-i))}function at(e,t,n,r){let{padding:i,width:o,height:a}=r;return n==="top"?e.top-i-t.height:n==="bottom"?a-i-t.height-e.bottom:n==="left"?e.left-i-t.width:o-i-t.width-e.right}function Ut(e,t){return t==="center"?e:`${e}-${t}`}function $t(e,t,n,r){let{padding:i,width:o,height:a}=r;if(ut(n)==="y"){let d=Math.max(i,o-i-t.width);return{x:Math.min(Math.max(e.x,i),d),y:e.y}}let s=Math.max(i,a-i-t.height);return{x:e.x,y:Math.min(Math.max(e.y,i),s)}}function Kt(e,t,n,r,i={width:typeof window>"u"?0:window.innerWidth,height:typeof window>"u"?0:window.innerHeight,padding:Wt}){let{side:o,align:a}=Vt(n),s=st(e,t,o,a,r),d=Lt(s,t,o,i),E=o,T=s;if(d>0){let k=Ht[o],A=st(e,t,k,a,r),S=at(e,t,o,i);at(e,t,k,i)>S&&(E=k,T=A)}return{coords:$t(T,t,E,i),placement:Ut(E,a)}}function qt(e,t,n,r,i={}){let{coords:o,placement:a}=Kt(e.getBoundingClientRect(),{width:t.offsetWidth,height:t.offsetHeight},n,r);return Object.assign(t.style,{position:"fixed",left:`${o.x}px`,top:`${o.y}px`,right:"auto",bottom:"auto",visibility:"visible"}),i.matchAnchorWidth&&(t.style.width=`${e.offsetWidth}px`),t.setAttribute("data-placement",a),a}function lt({anchor:e,floating:t,getPlacement:n,gap:r,matchAnchorWidth:i}){let o=()=>{t.hidden||qt(e,t,n(),r,{matchAnchorWidth:i})};o(),window.addEventListener("resize",o),window.addEventListener("scroll",o,!0);let a=new ResizeObserver(o);return a.observe(e),a.observe(t),()=>{window.removeEventListener("resize",o),window.removeEventListener("scroll",o,!0),a.disconnect()}}function ct(e,t=document.body){let n=e.parentNode;if(!n)return{unmount:()=>{}};let r=document.createComment("rui-portal");return n.insertBefore(r,e),t.appendChild(e),{unmount:()=>{let i=r.parentNode;i&&(i.insertBefore(e,r),r.remove())}}}function pt(e,t,n){return n?!!(e?.contains(n)||t?.contains(n)):!1}function ft(e,t,n){return!pt(e,t,n)}var H=class{config;cleanupFloating=null;portalHandle=null;floatingElement=null;constructor(t){this.config=t}updateConfig(t){this.config={...this.config,...t}}sync(){let t=this.resolveFloating();if(!t)return;if(!this.config.getOpen()){this.teardown(),t.hidden=!0;return}let r=this.config.getAnchor();if(!r)return;t.hidden=!1,this.config.portal!==!1?this.portalHandle||(this.portalHandle=ct(t,this.config.portalContainer??document.body)):this.portalHandle&&(this.portalHandle.unmount(),this.portalHandle=null),this.teardownFloating(),this.cleanupFloating=lt({anchor:r,floating:t,getPlacement:this.config.getPlacement,gap:this.config.gap??8,matchAnchorWidth:this.config.matchAnchorWidth})}contains(t){return pt(this.config.getAnchor(),this.resolveFloating(),t)}getFloatingElement(){return this.resolveFloating()}teardown(){this.teardownFloating(),this.portalHandle&&(this.portalHandle.unmount(),this.portalHandle=null)}destroy(){this.teardown(),this.floatingElement=null}resolveFloating(){let t=this.config.getFloating();return t&&(this.floatingElement=t),t??this.floatingElement}teardownFloating(){this.cleanupFloating?.(),this.cleanupFloating=null}};var dt,ht,gt,mt,bt,vt,yt,wt,xt,_t,Et,Tt,kt,At;function Gt(e,t,n,r,i,o){var a,s,d,E,T,k,A,S=Symbol.metadata||Symbol.for("Symbol.metadata"),L=Object.defineProperty,U=Object.create,Y=[U(null),U(null)],J=t.length;function F(u,b,g){return function(l,c){b&&(c=l,l=e);for(var v=0;v<u.length;v++)c=u[v].apply(l,g?[c]:[]);return g?c:l}}function x(u,b,g,l){if(typeof u!="function"&&(l||u!==void 0))throw new TypeError(b+" must "+(g||"be")+" a function"+(l?"":" or undefined"));return u}function N(u,b,g,l,c,v,O,m,y,w,Z){function $(f){if(!Z(f))throw new TypeError("Attempted to access private element on non-instance")}var K=[].concat(b[0]),z=b[3],q=!O,D=c===1,tt=c===3,et=c===4,P=c===2;function R(f,C,it){return function(B,ot){return C&&(ot=B,B=u),it&&it(B),p[f].call(B,ot)}}if(!q){var p={},G=[],_=tt?"get":et||D?"set":"value";if(y?(w||D?p={get:Ot(function(){return z(this)},l,"get"),set:function(f){b[4](this,f)}}:p[_]=z,w||Ot(p[_],l,P?"":_)):w||(p=Object.getOwnPropertyDescriptor(u,l)),!w&&!y){if((s=Y[+m][l])&&(s^c)!==7)throw Error("Decorating two elements with the same name ("+p[_].name+") is not supported yet");Y[+m][l]=c<3?1:c}}for(var h=u,j=K.length-1;j>=0;j-=g?2:1){var nt=x(K[j],"A decorator","be",!0),rt=g?K[j-1]:void 0,X={},M={kind:["field","accessor","method","getter","setter","class"][c],name:l,metadata:a,addInitializer:function(f,C){if(f.v)throw new TypeError("attempted to call addInitializer after decoration was finished");x(C,"An initializer","be",!0),v.push(C)}.bind(null,X)};if(q)s=nt.call(rt,h,M),X.v=1,x(s,"class decorators","return")&&(h=s);else if(M.static=m,M.private=y,s=M.access={has:y?Z.bind():function(f){return l in f}},et||(s.get=y?P?function(f){return $(f),p.value}:R("get",0,$):function(f){return f[l]}),P||tt||(s.set=y?R("set",0,$):function(f,C){f[l]=C}),h=nt.call(rt,D?{get:p.get,set:p.set}:p[_],M),X.v=1,D){if(typeof h=="object"&&h)(s=x(h.get,"accessor.get"))&&(p.get=s),(s=x(h.set,"accessor.set"))&&(p.set=s),(s=x(h.init,"accessor.init"))&&G.unshift(s);else if(h!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else x(h,(w?"field":"method")+" decorators","return")&&(w?G.unshift(h):p[_]=h)}return c<2&&O.push(F(G,m,1),F(v,m,0)),w||q||(y?D?O.splice(-1,0,R("get",m),R("set",m)):O.push(P?p[_]:x.call.bind(p[_])):L(u,l,p)),h}function Q(u){return L(u,S,{configurable:!0,enumerable:!0,value:a})}return o!==void 0&&(a=o[S]),a=U(a??null),T=[],k=function(u){u&&T.push(F(u))},A=function(u,b){for(var g=0;g<n.length;g++){var l=n[g],c=l[1],v=7&c;if((8&c)==u&&!v==b){var O=l[2],m=!!l[3],y=16&c;N(u?e:e.prototype,l,y,m?"#"+O:Xt(O),v,v<2?[]:u?E=E||[]:d=d||[],T,!!u,m,b,u&&m?function(w){return Jt(w)===e}:i)}}},A(8,0),A(0,0),A(8,1),A(0,1),k(d),k(E),s=T,J||Q(e),{e:s,get c(){var u=[];return J&&[Q(e=N(e,[t],r,e.name,5,u)),F(u,1)]}}}function Xt(e){var t=Yt(e,"string");return typeof t=="symbol"?t:t+""}function Yt(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ot(e,t,n){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch{}return e}function Jt(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 zt=6,V,Ft=class extends Dt{static{({e:[gt,mt,bt,vt,yt,wt,xt,_t,Et,Tt,kt,At,dt],c:[V,ht]}=Gt(this,[Qt("rui-menu-button")],[[It({type:Boolean,reflect:!0,defaultValue:!1}),0,"open"],[It({type:String,defaultValue:"bottom-start"}),0,"placement"],[St({ref:"trigger"}),0,"triggerTarget"],[St({ref:"menu"}),0,"menuTarget"],[Mt({name:"rui-change",bubbles:!0,composed:!0}),0,"changeEvent"],[Mt({name:"rui-close",bubbles:!0,composed:!0}),0,"closeEvent"],[[Nt,Zt(["open","placement"])],2,"syncOpenState"],[I({document:!0,type:"pointerdown"}),2,"onDocumentPointerDown"],[I({ref:"trigger",type:"click"}),2,"onTriggerClick"],[I({ref:"trigger",type:"keydown"}),2,"onTriggerKeydown"],[I({ref:"menu",type:"keydown"}),2,"onMenuKeydown"],[I({selector:'[role="menuitem"]',type:"click"}),2,"onItemClick"]],0,void 0,Dt))}open=(dt(this),gt(this));placement=(mt(this),bt(this));triggerTarget=(vt(this),yt(this));menuTarget=(wt(this),xt(this));changeEvent=(_t(this),Et(this));closeEvent=(Tt(this),kt(this));menuId=(At(this),`rui-menu-${Math.random().toString(36).slice(2,9)}`);popoverController=null;pendingFocus=null;connectedCallback(){super.connectedCallback(),queueMicrotask(()=>this.syncOpenState())}disconnectedCallback(){this.popoverController?.destroy(),this.popoverController=null,super.disconnectedCallback()}getItems(){return Array.from(this.menuTarget?.querySelectorAll('[role="menuitem"]')??[]).filter(t=>!t.hidden&&t.getAttribute("aria-disabled")!=="true")}ensurePopoverController(){return this.popoverController||(this.popoverController=new H({getAnchor:()=>this.triggerTarget,getFloating:()=>this.menuTarget,getOpen:()=>this.open,getPlacement:()=>this.placement,gap:zt,portal:!1})),this.popoverController}syncOpenState(){if(!this.triggerTarget||!this.menuTarget)return;this.menuTarget.id=this.menuId,this.triggerTarget.setAttribute("aria-controls",this.menuId),this.triggerTarget.setAttribute("aria-haspopup","menu"),this.triggerTarget.setAttribute("aria-expanded",String(this.open)),this.menuTarget.hidden=!this.open;let t=this.ensurePopoverController();t.updateConfig({getPlacement:()=>this.placement,getOpen:()=>this.open}),t.sync();let n=this.pendingFocus;if(this.pendingFocus=null,!!n){if(n==="first"&&this.getItems()[0]?.focus(),n==="last"){let r=this.getItems();r[r.length-1]?.focus()}n==="trigger"&&this.triggerTarget?.focus()}}setOpen(t,n=null){let r=this.open;this.pendingFocus=n,this.open=t,r&&!t&&this.closeEvent.emit(),r===t&&this.syncOpenState()}onDocumentPointerDown(t){if(!this.open)return;let n=t.target;ft(this.triggerTarget,this.menuTarget,n)&&this.setOpen(!1)}onTriggerClick(){this.setOpen(!this.open,this.open?null:"first")}onTriggerKeydown(t){switch(t.key){case"ArrowDown":case"Enter":case" ":t.preventDefault(),this.setOpen(!0,"first");break;case"ArrowUp":t.preventDefault(),this.setOpen(!0,"last");break;default:break}}onMenuKeydown(t){let n=this.getItems(),r=document.activeElement,i=r?n.indexOf(r):-1;switch(t.key){case"ArrowDown":{t.preventDefault(),n[(i+1)%n.length]?.focus();break}case"ArrowUp":{t.preventDefault(),n[(i-1+n.length)%n.length]?.focus();break}case"Home":t.preventDefault(),n[0]?.focus();break;case"End":t.preventDefault(),n[n.length-1]?.focus();break;case"Escape":t.preventDefault(),this.setOpen(!1,"trigger");break;case"Tab":this.setOpen(!1);break;case"Enter":case" ":r&&n.includes(r)&&(t.preventDefault(),this.activateItem(r));break;default:break}}onItemClick(t){let n=t.target.closest('[role="menuitem"]');!n||!this.contains(n)||this.activateItem(n)}activateItem(t){let n=t.getAttribute("data-value")||t.textContent?.trim()||"";this.changeEvent.emit({value:n}),this.setOpen(!1,"trigger")}render(){return Ct("div",{class:"rui-menu-button",children:[Ct("button",{type:"button","data-ref":"trigger",class:"rui-button rui-button--primary rui-button--md rui-menu-button__trigger","aria-haspopup":"menu","aria-expanded":"false",children:[W("slot",{name:"trigger"}),W("span",{class:"rui-menu-button__chevron","aria-hidden":"true"})]}),W("div",{"data-ref":"menu",class:"rui-menu-button__menu rui-popover rui-floating",role:"menu",hidden:!0,children:W("slot",{})})]})}static{ht()}};import{jsx as Bt,jsxs as ne}from"@ecopages/jsx/jsx-runtime";var te=Symbol.for("@ecopages/storybook-radiant.viewElement"),Pt=Symbol.for("@ecopages/storybook-radiant.scriptModule"),Rt=Symbol.for("@ecopages/storybook-radiant.scriptExport");function ee(e,t){e[te]=t;let n=t[Pt];n&&(e[Pt]=n,e[Rt]=t[Rt]??t.name)}function jt(e,t,n){let r=i=>t(i);return ee(r,e),r}var re=jt(V,({trigger:e,items:t,...n})=>ne("rui-menu-button",{...n,children:[Bt("span",{slot:"trigger",children:e}),t.map(r=>Bt("button",{type:"button",class:"rui-menu-button__item",role:"menuitem","data-value":r.value,"aria-disabled":r.disabled?"true":void 0,tabindex:-1,children:r.label}))]}),{stylesheets:["./menu-button.css"]});export{re as RuiMenuButton,V as RuiMenuButtonElement};
|
|
1
|
+
import{RadiantElement as Mt,bound as zt,customElement as Nt,event as Dt,onEvent as H,onUpdated as te,prop as Ft,query as Pt}from"@ecopages/radiant";var Wt={top:"bottom",bottom:"top",left:"right",right:"left"},Lt=8;function Kt(e){let t=e.indexOf("-");if(t===-1)return{side:e,align:"center"};let n=e.slice(0,t),r=e.slice(t+1);return{side:n,align:r==="start"||r==="end"?r:"center"}}function lt(e){return e==="top"||e==="bottom"?"y":"x"}function at(e,t,n,r,i){let{width:o,height:a}=t,s=0,c=0;switch(n){case"top":c=e.top-a-i;break;case"bottom":c=e.bottom+i;break;case"left":s=e.left-o-i;break;case"right":s=e.right+i;break}return lt(n)==="y"?r==="start"?s=e.left:r==="end"?s=e.right-o:s=e.left+(e.width-o)/2:r==="start"?c=e.top:r==="end"?c=e.bottom-a:c=e.top+(e.height-a)/2,{x:s,y:c}}function Ut(e,t,n,r){let{padding:i,width:o,height:a}=r;return n==="top"?Math.max(0,i-e.y):n==="bottom"?Math.max(0,e.y+t.height-(a-i)):n==="left"?Math.max(0,i-e.x):Math.max(0,e.x+t.width-(o-i))}function ut(e,t,n,r){let{padding:i,width:o,height:a}=r;return n==="top"?e.top-i-t.height:n==="bottom"?a-i-t.height-e.bottom:n==="left"?e.left-i-t.width:o-i-t.width-e.right}function qt(e,t){return t==="center"?e:`${e}-${t}`}function Vt(e,t,n,r){let{padding:i,width:o,height:a}=r;if(lt(n)==="y"){let c=Math.max(i,o-i-t.width);return{x:Math.min(Math.max(e.x,i),c),y:e.y}}let s=Math.max(i,a-i-t.height);return{x:e.x,y:Math.min(Math.max(e.y,i),s)}}function Gt(e,t,n,r,i={width:typeof window>"u"?0:window.innerWidth,height:typeof window>"u"?0:window.innerHeight,padding:Lt}){let{side:o,align:a}=Kt(n),s=at(e,t,o,a,r),c=Ut(s,t,o,i),_=o,m=s;if(c>0){let w=Wt[o],E=at(e,t,w,a,r),P=ut(e,t,o,i);ut(e,t,w,i)>P&&(_=w,m=E)}return{coords:Vt(m,t,_,i),placement:qt(_,a)}}function Xt(e,t,n,r,i={}){let{coords:o,placement:a}=Gt(e.getBoundingClientRect(),{width:t.offsetWidth,height:t.offsetHeight},n,r);return Object.assign(t.style,{position:"fixed",left:`${o.x}px`,top:`${o.y}px`,right:"auto",bottom:"auto",visibility:"visible"}),i.matchAnchorWidth&&(t.style.width=`${e.offsetWidth}px`),t.setAttribute("data-placement",a),a}function ct({anchor:e,floating:t,getPlacement:n,gap:r,matchAnchorWidth:i}){let o=()=>{t.hidden||Xt(e,t,n(),r,{matchAnchorWidth:i})};o(),window.addEventListener("resize",o),window.addEventListener("scroll",o,!0);let a=new ResizeObserver(o);return a.observe(e),a.observe(t),()=>{window.removeEventListener("resize",o),window.removeEventListener("scroll",o,!0),a.disconnect()}}function ft(e,t=document.body){let n=e.parentNode;if(!n)return{unmount:()=>{}};let r=document.createComment("rui-portal");return n.insertBefore(r,e),t.appendChild(e),{unmount:()=>{let i=r.parentNode;i&&(i.insertBefore(e,r),r.remove())}}}function dt(e,t,n){return n?!!(e?.contains(n)||t?.contains(n)):!1}function ht(e,t,n){return!dt(e,t,n)}var G=class{config;cleanupFloating=null;portalHandle=null;floatingElement=null;constructor(t){this.config=t}updateConfig(t){this.config={...this.config,...t}}sync(){let t=this.resolveFloating();if(!t)return;if(!this.config.getOpen()){this.teardown(),t.hidden=!0;return}let r=this.config.getAnchor();if(!r)return;t.hidden=!1,this.config.portal!==!1?this.portalHandle||(this.portalHandle=ft(t,this.config.portalContainer??document.body)):this.portalHandle&&(this.portalHandle.unmount(),this.portalHandle=null),this.teardownFloating(),this.cleanupFloating=ct({anchor:r,floating:t,getPlacement:this.config.getPlacement,gap:this.config.gap??8,matchAnchorWidth:this.config.matchAnchorWidth})}contains(t){return dt(this.config.getAnchor(),this.resolveFloating(),t)}getFloatingElement(){return this.resolveFloating()}teardown(){this.teardownFloating(),this.portalHandle&&(this.portalHandle.unmount(),this.portalHandle=null)}destroy(){this.teardown(),this.floatingElement=null}resolveFloating(){let t=this.config.getFloating();return t&&(this.floatingElement=t),t??this.floatingElement}teardownFloating(){this.cleanupFloating?.(),this.cleanupFloating=null}};var pt,gt,mt,bt,vt,wt,yt,xt,_t,Et,kt,Tt,Ct,Ot;function Yt(e,t,n,r,i,o){var a,s,c,_,m,w,E,P=Symbol.metadata||Symbol.for("Symbol.metadata"),O=Object.defineProperty,A=Object.create,I=[A(null),A(null)],$=t.length;function B(u,b,p){return function(l,f){b&&(f=l,l=e);for(var x=0;x<u.length;x++)f=u[x].apply(l,p?[f]:[]);return p?f:l}}function y(u,b,p,l){if(typeof u!="function"&&(l||u!==void 0))throw new TypeError(b+" must "+(p||"be")+" a function"+(l?"":" or undefined"));return u}function W(u,b,p,l,f,x,D,v,k,T,N){function X(h){if(!N(h))throw new TypeError("Attempted to access private element on non-instance")}var Y=[].concat(b[0]),tt=b[3],J=!D,S=f===1,et=f===3,nt=f===4,K=f===2;function U(h,R,ot){return function(V,st){return R&&(st=V,V=u),ot&&ot(V),d[h].call(V,st)}}if(!J){var d={},Q=[],M=et?"get":nt||S?"set":"value";if(k?(T||S?d={get:At(function(){return tt(this)},l,"get"),set:function(h){b[4](this,h)}}:d[M]=tt,T||At(d[M],l,K?"":M)):T||(d=Object.getOwnPropertyDescriptor(u,l)),!T&&!k){if((s=I[+v][l])&&(s^f)!==7)throw Error("Decorating two elements with the same name ("+d[M].name+") is not supported yet");I[+v][l]=f<3?1:f}}for(var g=u,q=Y.length-1;q>=0;q-=p?2:1){var rt=y(Y[q],"A decorator","be",!0),it=p?Y[q-1]:void 0,Z={},j={kind:["field","accessor","method","getter","setter","class"][f],name:l,metadata:a,addInitializer:function(h,R){if(h.v)throw new TypeError("attempted to call addInitializer after decoration was finished");y(R,"An initializer","be",!0),x.push(R)}.bind(null,Z)};if(J)s=rt.call(it,g,j),Z.v=1,y(s,"class decorators","return")&&(g=s);else if(j.static=v,j.private=k,s=j.access={has:k?N.bind():function(h){return l in h}},nt||(s.get=k?K?function(h){return X(h),d.value}:U("get",0,X):function(h){return h[l]}),K||et||(s.set=k?U("set",0,X):function(h,R){h[l]=R}),g=rt.call(it,S?{get:d.get,set:d.set}:d[M],j),Z.v=1,S){if(typeof g=="object"&&g)(s=y(g.get,"accessor.get"))&&(d.get=s),(s=y(g.set,"accessor.set"))&&(d.set=s),(s=y(g.init,"accessor.init"))&&Q.unshift(s);else if(g!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else y(g,(T?"field":"method")+" decorators","return")&&(T?Q.unshift(g):d[M]=g)}return f<2&&D.push(B(Q,v,1),B(x,v,0)),T||J||(k?S?D.splice(-1,0,U("get",v),U("set",v)):D.push(K?d[M]:y.call.bind(d[M])):O(u,l,d)),g}function L(u){return O(u,P,{configurable:!0,enumerable:!0,value:a})}return o!==void 0&&(a=o[P]),a=A(a??null),m=[],w=function(u){u&&m.push(B(u))},E=function(u,b){for(var p=0;p<n.length;p++){var l=n[p],f=l[1],x=7&f;if((8&f)==u&&!x==b){var D=l[2],v=!!l[3],k=16&f;W(u?e:e.prototype,l,k,v?"#"+D:Jt(D),x,x<2?[]:u?_=_||[]:c=c||[],m,!!u,v,b,u&&v?function(T){return Zt(T)===e}:i)}}},E(8,0),E(0,0),E(8,1),E(0,1),w(c),w(_),s=m,$||L(e),{e:s,get c(){var u=[];return $&&[L(e=W(e,[t],r,e.name,5,u)),B(u,1)]}}}function Jt(e){var t=Qt(e,"string");return typeof t=="symbol"?t:t+""}function Qt(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function At(e,t,n){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch{}return e}function Zt(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 ee=6,Bt,It=class extends Mt{static{({e:[mt,bt,vt,wt,yt,xt,_t,Et,kt,Tt,Ct,Ot,pt],c:[Bt,gt]}=Yt(this,[Nt("rui-menu-button")],[[Ft({type:Boolean,reflect:!0,defaultValue:!1}),0,"open"],[Ft({type:String,defaultValue:"bottom-start"}),0,"placement"],[Pt({ref:"trigger"}),0,"triggerTarget"],[Pt({ref:"menu"}),0,"menuTarget"],[Dt({name:"rui-change",bubbles:!0,composed:!0}),0,"changeEvent"],[Dt({name:"rui-close",bubbles:!0,composed:!0}),0,"closeEvent"],[[zt,te(["open","placement"])],2,"syncOpenState"],[H({document:!0,type:"pointerdown"}),2,"onDocumentPointerDown"],[H({ref:"trigger",type:"click"}),2,"onTriggerClick"],[H({ref:"trigger",type:"keydown"}),2,"onTriggerKeydown"],[H({ref:"menu",type:"keydown"}),2,"onMenuKeydown"],[H({selector:'[role="menuitem"]',type:"click"}),2,"onItemClick"]],0,void 0,Mt))}open=(pt(this),mt(this));placement=(bt(this),vt(this));triggerTarget=(wt(this),yt(this));menuTarget=(xt(this),_t(this));changeEvent=(Et(this),kt(this));closeEvent=(Tt(this),Ct(this));menuId=(Ot(this),`rui-menu-${Math.random().toString(36).slice(2,9)}`);popoverController=null;pendingFocus=null;connectedCallback(){super.connectedCallback(),queueMicrotask(()=>this.syncOpenState())}disconnectedCallback(){this.popoverController?.destroy(),this.popoverController=null,super.disconnectedCallback()}getItems(){return Array.from(this.menuTarget?.querySelectorAll('[role="menuitem"]')??[]).filter(t=>!t.hidden&&t.getAttribute("aria-disabled")!=="true")}ensurePopoverController(){return this.popoverController||(this.popoverController=new G({getAnchor:()=>this.triggerTarget,getFloating:()=>this.menuTarget,getOpen:()=>this.open,getPlacement:()=>this.placement,gap:ee,portal:!1})),this.popoverController}syncOpenState(){if(!this.triggerTarget||!this.menuTarget)return;this.menuTarget.id=this.menuId,this.triggerTarget.setAttribute("aria-controls",this.menuId),this.triggerTarget.setAttribute("aria-haspopup","menu"),this.triggerTarget.setAttribute("aria-expanded",String(this.open)),this.menuTarget.hidden=!this.open;let t=this.ensurePopoverController();t.updateConfig({getPlacement:()=>this.placement,getOpen:()=>this.open}),t.sync();let n=this.pendingFocus;if(this.pendingFocus=null,!!n){if(n==="first"&&this.getItems()[0]?.focus(),n==="last"){let r=this.getItems();r[r.length-1]?.focus()}n==="trigger"&&this.triggerTarget?.focus()}}setOpen(t,n=null){let r=this.open;this.pendingFocus=n,this.open=t,r&&!t&&this.closeEvent.emit(),r===t&&this.syncOpenState()}onDocumentPointerDown(t){if(!this.open)return;let n=t.target;ht(this.triggerTarget,this.menuTarget,n)&&this.setOpen(!1)}onTriggerClick(){this.setOpen(!this.open,this.open?null:"first")}onTriggerKeydown(t){switch(t.key){case"ArrowDown":case"Enter":case" ":t.preventDefault(),this.setOpen(!0,"first");break;case"ArrowUp":t.preventDefault(),this.setOpen(!0,"last");break;default:break}}onMenuKeydown(t){let n=this.getItems(),r=document.activeElement,i=r?n.indexOf(r):-1;switch(t.key){case"ArrowDown":{t.preventDefault(),n[(i+1)%n.length]?.focus();break}case"ArrowUp":{t.preventDefault(),n[(i-1+n.length)%n.length]?.focus();break}case"Home":t.preventDefault(),n[0]?.focus();break;case"End":t.preventDefault(),n[n.length-1]?.focus();break;case"Escape":t.preventDefault(),this.setOpen(!1,"trigger");break;case"Tab":this.setOpen(!1);break;case"Enter":case" ":r&&n.includes(r)&&(t.preventDefault(),this.activateItem(r));break;default:break}}onItemClick(t){let n=t.target.closest('[role="menuitem"]');!n||!this.contains(n)||this.activateItem(n)}activateItem(t){let n=t.getAttribute("data-value")||t.textContent?.trim()||"";this.changeEvent.emit({value:n}),this.setOpen(!1,"trigger")}static{gt()}};import{jsx as F,jsxs as St}from"@ecopages/jsx/jsx-runtime";function C(...e){return e.filter(Boolean).join(" ")}import{jsx as Rt}from"@ecopages/jsx/jsx-runtime";function ne(e,t,n){if(e!==void 0)return e;if(t)return n}function z(e){if(e.href!==void 0){let{href:O,target:A,rel:I,download:$,"aria-label":B,"aria-current":y,"on:click":W,children:L,class:u,variant:b,size:p,...l}=e;return Rt("a",{...l,href:O,target:A,rel:I,download:$,class:C("rui-button",`rui-button--${b??"filled"}`,`rui-button--${p??"md"}`,u),"aria-label":B,"aria-current":y,"on:click":W,children:L})}let{variant:t,size:n,class:r,children:i,"aria-label":o,type:a="button",disabled:s,pressed:c,defaultPressed:_=!1,toggle:m=!1,"on:click":w,...E}=e,P=O=>{if(m&&c===void 0){let A=O.currentTarget,I=A.getAttribute("aria-pressed")!=="true";A.setAttribute("aria-pressed",String(I))}w?.(O)};return Rt("button",{...E,type:a,class:C("rui-button",`rui-button--${t??"filled"}`,`rui-button--${n??"md"}`,r),disabled:s,"aria-label":o,"aria-pressed":ne(c,m,_),"data-toggle":m&&c===void 0?"":void 0,"on:click":m||w?P:void 0,children:i})}function jt({children:e,class:t,variant:n="filled",size:r="md",...i}){return St(z,{...i,variant:n,size:r,"data-ref":"trigger",class:C("rui-menu-button__trigger",t),"aria-haspopup":"menu",children:[e,F("span",{class:"rui-menu-button__chevron","aria-hidden":"true"})]})}function Ht({children:e,class:t,...n}){return F("div",{...n,"data-ref":"menu",class:C("rui-menu-button__menu","rui-popover","rui-floating",t),role:"menu",hidden:!0,children:e})}function $t({children:e,value:t,disabled:n,class:r,...i}){return F("button",{...i,type:"button",class:C("rui-menu-button__item",r),role:"menuitem","data-value":t,"aria-disabled":n?"true":void 0,disabled:n,tabIndex:-1,children:e})}function re({trigger:e,items:t,children:n,class:r,...i}){return e==null&&t==null?F("rui-menu-button",{...i,class:C("rui-menu-button",r),children:n}):St("rui-menu-button",{...i,class:C("rui-menu-button",r),children:[F(jt,{children:e}),F(Ht,{children:t?.map(o=>F($t,{value:o.value,disabled:o.disabled,children:o.label}))})]})}export{re as RuiMenuButton,Ht as RuiMenuButtonContent,Bt as RuiMenuButtonElement,$t as RuiMenuButtonItem,jt as RuiMenuButtonTrigger};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/components/ui/menu-button/menu-button.script.tsx", "../../../../src/components/ui/shared/floating-position.ts", "../../../../src/components/ui/shared/portal.ts", "../../../../src/components/ui/shared/popover-controller.ts", "../../../../src/components/ui/menu-button/menu-button.tsx", "../../../../src/lib/
|
|
4
|
-
"sourcesContent": ["let _initProto, _initClass, _init_open, _init_extra_open, _init_placement, _init_extra_placement, _init_triggerTarget, _init_extra_triggerTarget, _init_menuTarget, _init_extra_menuTarget, _init_changeEvent, _init_extra_changeEvent, _init_closeEvent, _init_extra_closeEvent;\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, bound, customElement, event, onEvent, onUpdated, prop, query } from \"@ecopages/radiant\";\nimport { PopoverController, shouldDismissPopoverPointer } from \"../shared/popover-controller\";\nconst MENU_GAP = 6;\nlet _RuiMenuButton;\nclass RuiMenuButton extends RadiantElement {\n static {\n ({\n e: [_init_open, _init_extra_open, _init_placement, _init_extra_placement, _init_triggerTarget, _init_extra_triggerTarget, _init_menuTarget, _init_extra_menuTarget, _init_changeEvent, _init_extra_changeEvent, _init_closeEvent, _init_extra_closeEvent, _initProto],\n c: [_RuiMenuButton, _initClass]\n } = _applyDecs(this, [customElement(\"rui-menu-button\")], [[prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"open\"], [prop({\n type: String,\n defaultValue: \"bottom-start\"\n }), 0, \"placement\"], [query({\n ref: \"trigger\"\n }), 0, \"triggerTarget\"], [query({\n ref: \"menu\"\n }), 0, \"menuTarget\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [event({\n name: \"rui-close\",\n bubbles: true,\n composed: true\n }), 0, \"closeEvent\"], [[bound, onUpdated([\"open\", \"placement\"])], 2, \"syncOpenState\"], [onEvent({\n document: true,\n type: \"pointerdown\"\n }), 2, \"onDocumentPointerDown\"], [onEvent({\n ref: \"trigger\",\n type: \"click\"\n }), 2, \"onTriggerClick\"], [onEvent({\n ref: \"trigger\",\n type: \"keydown\"\n }), 2, \"onTriggerKeydown\"], [onEvent({\n ref: \"menu\",\n type: \"keydown\"\n }), 2, \"onMenuKeydown\"], [onEvent({\n selector: '[role=\"menuitem\"]',\n type: \"click\"\n }), 2, \"onItemClick\"]], 0, void 0, RadiantElement));\n }\n open = (_initProto(this), _init_open(this));\n placement = (_init_extra_open(this), _init_placement(this));\n triggerTarget = (_init_extra_placement(this), _init_triggerTarget(this));\n menuTarget = (_init_extra_triggerTarget(this), _init_menuTarget(this));\n changeEvent = (_init_extra_menuTarget(this), _init_changeEvent(this));\n closeEvent = (_init_extra_changeEvent(this), _init_closeEvent(this));\n menuId = (_init_extra_closeEvent(this), `rui-menu-${Math.random().toString(36).slice(2, 9)}`);\n popoverController = null;\n pendingFocus = null;\n connectedCallback() {\n super.connectedCallback();\n queueMicrotask(() => this.syncOpenState());\n }\n disconnectedCallback() {\n this.popoverController?.destroy();\n this.popoverController = null;\n super.disconnectedCallback();\n }\n getItems() {\n return Array.from(this.menuTarget?.querySelectorAll('[role=\"menuitem\"]') ?? []).filter(item => !item.hidden && item.getAttribute(\"aria-disabled\") !== \"true\");\n }\n ensurePopoverController() {\n if (!this.popoverController) {\n this.popoverController = new PopoverController({\n getAnchor: () => this.triggerTarget,\n getFloating: () => this.menuTarget,\n getOpen: () => this.open,\n getPlacement: () => this.placement,\n gap: MENU_GAP,\n portal: false\n });\n }\n return this.popoverController;\n }\n syncOpenState() {\n if (!this.triggerTarget || !this.menuTarget) return;\n this.menuTarget.id = this.menuId;\n this.triggerTarget.setAttribute(\"aria-controls\", this.menuId);\n this.triggerTarget.setAttribute(\"aria-haspopup\", \"menu\");\n this.triggerTarget.setAttribute(\"aria-expanded\", String(this.open));\n this.menuTarget.hidden = !this.open;\n const controller = this.ensurePopoverController();\n controller.updateConfig({\n getPlacement: () => this.placement,\n getOpen: () => this.open\n });\n controller.sync();\n const focus = this.pendingFocus;\n this.pendingFocus = null;\n if (!focus) return;\n if (focus === \"first\") this.getItems()[0]?.focus();\n if (focus === \"last\") {\n const items = this.getItems();\n items[items.length - 1]?.focus();\n }\n if (focus === \"trigger\") this.triggerTarget?.focus();\n }\n setOpen(next, focus = null) {\n const wasOpen = this.open;\n this.pendingFocus = focus;\n this.open = next;\n if (wasOpen && !next) this.closeEvent.emit();\n if (wasOpen === next) this.syncOpenState();\n }\n onDocumentPointerDown(event2) {\n if (!this.open) return;\n const target = event2.target;\n if (!shouldDismissPopoverPointer(this.triggerTarget, this.menuTarget, target)) return;\n this.setOpen(false);\n }\n onTriggerClick() {\n this.setOpen(!this.open, this.open ? null : \"first\");\n }\n onTriggerKeydown(event2) {\n switch (event2.key) {\n case \"ArrowDown\":\n case \"Enter\":\n case \" \":\n event2.preventDefault();\n this.setOpen(true, \"first\");\n break;\n case \"ArrowUp\":\n event2.preventDefault();\n this.setOpen(true, \"last\");\n break;\n default:\n break;\n }\n }\n onMenuKeydown(event2) {\n const items = this.getItems();\n const current = document.activeElement;\n const index = current ? items.indexOf(current) : -1;\n switch (event2.key) {\n case \"ArrowDown\":\n {\n event2.preventDefault();\n const next = items[(index + 1) % items.length];\n next?.focus();\n break;\n }\n case \"ArrowUp\":\n {\n event2.preventDefault();\n const prev = items[(index - 1 + items.length) % items.length];\n prev?.focus();\n break;\n }\n case \"Home\":\n event2.preventDefault();\n items[0]?.focus();\n break;\n case \"End\":\n event2.preventDefault();\n items[items.length - 1]?.focus();\n break;\n case \"Escape\":\n event2.preventDefault();\n this.setOpen(false, \"trigger\");\n break;\n case \"Tab\":\n this.setOpen(false);\n break;\n case \"Enter\":\n case \" \":\n if (current && items.includes(current)) {\n event2.preventDefault();\n this.activateItem(current);\n }\n break;\n default:\n break;\n }\n }\n onItemClick(event2) {\n const item = event2.target.closest('[role=\"menuitem\"]');\n if (!item || !this.contains(item)) return;\n this.activateItem(item);\n }\n activateItem(item) {\n const value = item.getAttribute(\"data-value\") || item.textContent?.trim() || \"\";\n this.changeEvent.emit({\n value\n });\n this.setOpen(false, \"trigger\");\n }\n render() {\n return /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-menu-button\",\n children: [/* @__PURE__ */jsxs(\"button\", {\n type: \"button\",\n \"data-ref\": \"trigger\",\n class: \"rui-button rui-button--primary rui-button--md rui-menu-button__trigger\",\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": \"false\",\n children: [/* @__PURE__ */jsx(\"slot\", {\n name: \"trigger\"\n }), /* @__PURE__ */jsx(\"span\", {\n class: \"rui-menu-button__chevron\",\n \"aria-hidden\": \"true\"\n })]\n }), /* @__PURE__ */jsx(\"div\", {\n \"data-ref\": \"menu\",\n class: \"rui-menu-button__menu rui-popover rui-floating\",\n role: \"menu\",\n hidden: true,\n children: /* @__PURE__ */jsx(\"slot\", {})\n })]\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiMenuButton as RuiMenuButton };", "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.hidden = true;\n return;\n }\n const anchor = this.config.getAnchor();\n if (!anchor) {\n return;\n }\n floating.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 { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { defineRadiantView } from \"@/lib/radiant-view\";\nimport { RuiMenuButton as RuiMenuButtonElement } from \"./menu-button.script\";\nexport const RuiMenuButton = defineRadiantView(RuiMenuButtonElement, ({\n trigger,\n items,\n ...props\n}) => /* @__PURE__ */jsxs(\"rui-menu-button\", {\n ...props,\n children: [/* @__PURE__ */jsx(\"span\", {\n slot: \"trigger\",\n children: trigger\n }), items.map(item => /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-menu-button__item\",\n role: \"menuitem\",\n \"data-value\": item.value,\n \"aria-disabled\": item.disabled ? \"true\" : void 0,\n tabindex: -1,\n children: item.label\n }))]\n}), {\n stylesheets: [\"./menu-button.css\"]\n});", "const RADIANT_VIEW_ELEMENT = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.viewElement\");\nconst RADIANT_SCRIPT_MODULE = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.scriptModule\");\nconst RADIANT_SCRIPT_EXPORT = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.scriptExport\");\nconst RADIANT_VIEW_MODULE = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.viewModule\");\nfunction linkViewToElement(view, element) {\n view[RADIANT_VIEW_ELEMENT] = element;\n const ssrModule = element[RADIANT_SCRIPT_MODULE];\n if (ssrModule) {\n view[RADIANT_SCRIPT_MODULE] = ssrModule;\n view[RADIANT_SCRIPT_EXPORT] = element[RADIANT_SCRIPT_EXPORT] ?? element.name;\n }\n}\nexport function defineRadiantView(element, render, _options) {\n const view = args => render(args);\n linkViewToElement(view, element);\n return view;\n}\nexport function attachRadiantStylesheets(target, _stylesheets, moduleUrl) {\n const view = target;\n view[RADIANT_VIEW_MODULE] = moduleUrl;\n return target;\n}\nexport function syncRadiantViewMetadata(view) {\n const element = view[RADIANT_VIEW_ELEMENT];\n if (element) {\n linkViewToElement(view, element);\n }\n}"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["
|
|
3
|
+
"sources": ["../../../../src/components/ui/menu-button/menu-button.script.tsx", "../../../../src/components/ui/shared/floating-position.ts", "../../../../src/components/ui/shared/portal.ts", "../../../../src/components/ui/shared/popover-controller.ts", "../../../../src/components/ui/menu-button/menu-button.tsx", "../../../../src/lib/cx.ts", "../../../../src/components/ui/button/button.tsx"],
|
|
4
|
+
"sourcesContent": ["let _initProto, _initClass, _init_open, _init_extra_open, _init_placement, _init_extra_placement, _init_triggerTarget, _init_extra_triggerTarget, _init_menuTarget, _init_extra_menuTarget, _init_changeEvent, _init_extra_changeEvent, _init_closeEvent, _init_extra_closeEvent;\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, bound, customElement, event, onEvent, onUpdated, prop, query } from \"@ecopages/radiant\";\nimport { PopoverController, shouldDismissPopoverPointer } from \"../shared/popover-controller\";\nconst MENU_GAP = 6;\nlet _RuiMenuButton;\nclass RuiMenuButton extends RadiantElement {\n static {\n ({\n e: [_init_open, _init_extra_open, _init_placement, _init_extra_placement, _init_triggerTarget, _init_extra_triggerTarget, _init_menuTarget, _init_extra_menuTarget, _init_changeEvent, _init_extra_changeEvent, _init_closeEvent, _init_extra_closeEvent, _initProto],\n c: [_RuiMenuButton, _initClass]\n } = _applyDecs(this, [customElement(\"rui-menu-button\")], [[prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"open\"], [prop({\n type: String,\n defaultValue: \"bottom-start\"\n }), 0, \"placement\"], [query({\n ref: \"trigger\"\n }), 0, \"triggerTarget\"], [query({\n ref: \"menu\"\n }), 0, \"menuTarget\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [event({\n name: \"rui-close\",\n bubbles: true,\n composed: true\n }), 0, \"closeEvent\"], [[bound, onUpdated([\"open\", \"placement\"])], 2, \"syncOpenState\"], [onEvent({\n document: true,\n type: \"pointerdown\"\n }), 2, \"onDocumentPointerDown\"], [onEvent({\n ref: \"trigger\",\n type: \"click\"\n }), 2, \"onTriggerClick\"], [onEvent({\n ref: \"trigger\",\n type: \"keydown\"\n }), 2, \"onTriggerKeydown\"], [onEvent({\n ref: \"menu\",\n type: \"keydown\"\n }), 2, \"onMenuKeydown\"], [onEvent({\n selector: '[role=\"menuitem\"]',\n type: \"click\"\n }), 2, \"onItemClick\"]], 0, void 0, RadiantElement));\n }\n open = (_initProto(this), _init_open(this));\n placement = (_init_extra_open(this), _init_placement(this));\n triggerTarget = (_init_extra_placement(this), _init_triggerTarget(this));\n menuTarget = (_init_extra_triggerTarget(this), _init_menuTarget(this));\n changeEvent = (_init_extra_menuTarget(this), _init_changeEvent(this));\n closeEvent = (_init_extra_changeEvent(this), _init_closeEvent(this));\n menuId = (_init_extra_closeEvent(this), `rui-menu-${Math.random().toString(36).slice(2, 9)}`);\n popoverController = null;\n pendingFocus = null;\n connectedCallback() {\n super.connectedCallback();\n queueMicrotask(() => this.syncOpenState());\n }\n disconnectedCallback() {\n this.popoverController?.destroy();\n this.popoverController = null;\n super.disconnectedCallback();\n }\n getItems() {\n return Array.from(this.menuTarget?.querySelectorAll('[role=\"menuitem\"]') ?? []).filter(item => !item.hidden && item.getAttribute(\"aria-disabled\") !== \"true\");\n }\n ensurePopoverController() {\n if (!this.popoverController) {\n this.popoverController = new PopoverController({\n getAnchor: () => this.triggerTarget,\n getFloating: () => this.menuTarget,\n getOpen: () => this.open,\n getPlacement: () => this.placement,\n gap: MENU_GAP,\n portal: false\n });\n }\n return this.popoverController;\n }\n syncOpenState() {\n if (!this.triggerTarget || !this.menuTarget) return;\n this.menuTarget.id = this.menuId;\n this.triggerTarget.setAttribute(\"aria-controls\", this.menuId);\n this.triggerTarget.setAttribute(\"aria-haspopup\", \"menu\");\n this.triggerTarget.setAttribute(\"aria-expanded\", String(this.open));\n this.menuTarget.hidden = !this.open;\n const controller = this.ensurePopoverController();\n controller.updateConfig({\n getPlacement: () => this.placement,\n getOpen: () => this.open\n });\n controller.sync();\n const focus = this.pendingFocus;\n this.pendingFocus = null;\n if (!focus) return;\n if (focus === \"first\") this.getItems()[0]?.focus();\n if (focus === \"last\") {\n const items = this.getItems();\n items[items.length - 1]?.focus();\n }\n if (focus === \"trigger\") this.triggerTarget?.focus();\n }\n setOpen(next, focus = null) {\n const wasOpen = this.open;\n this.pendingFocus = focus;\n this.open = next;\n if (wasOpen && !next) this.closeEvent.emit();\n if (wasOpen === next) this.syncOpenState();\n }\n onDocumentPointerDown(event2) {\n if (!this.open) return;\n const target = event2.target;\n if (!shouldDismissPopoverPointer(this.triggerTarget, this.menuTarget, target)) return;\n this.setOpen(false);\n }\n onTriggerClick() {\n this.setOpen(!this.open, this.open ? null : \"first\");\n }\n onTriggerKeydown(event2) {\n switch (event2.key) {\n case \"ArrowDown\":\n case \"Enter\":\n case \" \":\n event2.preventDefault();\n this.setOpen(true, \"first\");\n break;\n case \"ArrowUp\":\n event2.preventDefault();\n this.setOpen(true, \"last\");\n break;\n default:\n break;\n }\n }\n onMenuKeydown(event2) {\n const items = this.getItems();\n const current = document.activeElement;\n const index = current ? items.indexOf(current) : -1;\n switch (event2.key) {\n case \"ArrowDown\":\n {\n event2.preventDefault();\n const next = items[(index + 1) % items.length];\n next?.focus();\n break;\n }\n case \"ArrowUp\":\n {\n event2.preventDefault();\n const prev = items[(index - 1 + items.length) % items.length];\n prev?.focus();\n break;\n }\n case \"Home\":\n event2.preventDefault();\n items[0]?.focus();\n break;\n case \"End\":\n event2.preventDefault();\n items[items.length - 1]?.focus();\n break;\n case \"Escape\":\n event2.preventDefault();\n this.setOpen(false, \"trigger\");\n break;\n case \"Tab\":\n this.setOpen(false);\n break;\n case \"Enter\":\n case \" \":\n if (current && items.includes(current)) {\n event2.preventDefault();\n this.activateItem(current);\n }\n break;\n default:\n break;\n }\n }\n onItemClick(event2) {\n const item = event2.target.closest('[role=\"menuitem\"]');\n if (!item || !this.contains(item)) return;\n this.activateItem(item);\n }\n activateItem(item) {\n const value = item.getAttribute(\"data-value\") || item.textContent?.trim() || \"\";\n this.changeEvent.emit({\n value\n });\n this.setOpen(false, \"trigger\");\n }\n static {\n _initClass();\n }\n}\nexport { _RuiMenuButton as RuiMenuButton };", "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.hidden = true;\n return;\n }\n const anchor = this.config.getAnchor();\n if (!anchor) {\n return;\n }\n floating.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 { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport { RuiButton } from \"../button\";\nimport \"./menu-button.script\";\nexport function RuiMenuButtonTrigger({\n children,\n class: className,\n variant = \"filled\",\n size = \"md\",\n ...props\n}) {\n return /* @__PURE__ */jsxs(RuiButton, {\n ...props,\n variant,\n size,\n \"data-ref\": \"trigger\",\n class: cx(\"rui-menu-button__trigger\", className),\n \"aria-haspopup\": \"menu\",\n children: [children, /* @__PURE__ */jsx(\"span\", {\n class: \"rui-menu-button__chevron\",\n \"aria-hidden\": \"true\"\n })]\n });\n}\nexport function RuiMenuButtonContent({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-ref\": \"menu\",\n class: cx(\"rui-menu-button__menu\", \"rui-popover\", \"rui-floating\", className),\n role: \"menu\",\n hidden: true,\n children\n });\n}\nexport function RuiMenuButtonItem({\n children,\n value,\n disabled,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n type: \"button\",\n class: cx(\"rui-menu-button__item\", className),\n role: \"menuitem\",\n \"data-value\": value,\n \"aria-disabled\": disabled ? \"true\" : void 0,\n disabled,\n tabIndex: -1,\n children\n });\n}\nexport function RuiMenuButton({\n trigger,\n items,\n children,\n class: className,\n ...props\n}) {\n if (trigger == null && items == null) {\n return /* @__PURE__ */jsx(\"rui-menu-button\", {\n ...props,\n class: cx(\"rui-menu-button\", className),\n children\n });\n }\n return /* @__PURE__ */jsxs(\"rui-menu-button\", {\n ...props,\n class: cx(\"rui-menu-button\", className),\n children: [/* @__PURE__ */jsx(RuiMenuButtonTrigger, {\n children: trigger\n }), /* @__PURE__ */jsx(RuiMenuButtonContent, {\n children: items?.map(item => /* @__PURE__ */jsx(RuiMenuButtonItem, {\n value: item.value,\n disabled: item.disabled,\n children: item.label\n }))\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\";\nfunction resolveAriaPressed(pressed, toggle, defaultPressed) {\n if (pressed !== void 0) {\n return pressed;\n }\n if (toggle) {\n return defaultPressed;\n }\n return void 0;\n}\nexport function RuiButton(props) {\n if (props.href !== void 0) {\n const {\n href,\n target,\n rel,\n download,\n \"aria-label\": ariaLabel2,\n \"aria-current\": ariaCurrent,\n \"on:click\": onClick2,\n children: children2,\n class: className2,\n variant: variant2,\n size: size2,\n ...host2\n } = props;\n return /* @__PURE__ */jsx(\"a\", {\n ...host2,\n href,\n target,\n rel,\n download,\n class: cx(\"rui-button\", `rui-button--${variant2 ?? \"filled\"}`, `rui-button--${size2 ?? \"md\"}`, className2),\n \"aria-label\": ariaLabel2,\n \"aria-current\": ariaCurrent,\n \"on:click\": onClick2,\n children: children2\n });\n }\n const {\n variant,\n size,\n class: className,\n children,\n \"aria-label\": ariaLabel,\n type = \"button\",\n disabled,\n pressed,\n defaultPressed = false,\n toggle = false,\n \"on:click\": onClick,\n ...host\n } = props;\n const handleClick = event => {\n if (toggle && pressed === void 0) {\n const button = event.currentTarget;\n const next = button.getAttribute(\"aria-pressed\") !== \"true\";\n button.setAttribute(\"aria-pressed\", String(next));\n }\n onClick?.(event);\n };\n return /* @__PURE__ */jsx(\"button\", {\n ...host,\n type,\n class: cx(\"rui-button\", `rui-button--${variant ?? \"filled\"}`, `rui-button--${size ?? \"md\"}`, className),\n disabled,\n \"aria-label\": ariaLabel,\n \"aria-pressed\": resolveAriaPressed(pressed, toggle, defaultPressed),\n \"data-toggle\": toggle && pressed === void 0 ? \"\" : void 0,\n \"on:click\": toggle || onClick ? handleClick : void 0,\n children\n });\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["RadiantElement", "bound", "customElement", "event", "onEvent", "onUpdated", "prop", "query", "OPPOSITE", "DEFAULT_VIEWPORT_PADDING", "parsePlacement", "placement", "dash", "side", "align", "primaryAxis", "coordsFor", "anchor", "size", "gap", "width", "height", "x", "y", "overflowOnPrimary", "coords", "viewport", "padding", "vw", "vh", "freeSpaceOnSide", "toPlacement", "clampCrossAxis", "maxX", "maxY", "computeFloatingPosition", "anchor", "size", "placement", "gap", "viewport", "DEFAULT_VIEWPORT_PADDING", "preferred", "align", "parsePlacement", "preferredCoords", "coordsFor", "preferredOverflow", "overflowOnPrimary", "side", "coords", "flipped", "OPPOSITE", "flippedCoords", "preferredFree", "freeSpaceOnSide", "clampCrossAxis", "toPlacement", "applyFloatingPosition", "floating", "options", "resolved", "attachFloating", "getPlacement", "matchAnchorWidth", "update", "observer", "mountPortal", "node", "container", "parent", "placeholder", "restoreParent", "popoverContains", "anchor", "floating", "node", "shouldDismissPopoverPointer", "anchor", "floating", "target", "popoverContains", "PopoverController", "config", "patch", "mountPortal", "attachFloating", "node", "configuredFloating", "_initProto", "_initClass", "_init_open", "_init_extra_open", "_init_placement", "_init_extra_placement", "_init_triggerTarget", "_init_extra_triggerTarget", "_init_menuTarget", "_init_extra_menuTarget", "_init_changeEvent", "_init_extra_changeEvent", "_init_closeEvent", "_init_extra_closeEvent", "_applyDecs", "o", "i", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "n", "r", "a", "b", "e", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "MENU_GAP", "_RuiMenuButton", "RuiMenuButton", "RadiantElement", "customElement", "prop", "query", "event", "bound", "onUpdated", "onEvent", "item", "PopoverController", "controller", "focus", "items", "next", "wasOpen", "event2", "target", "shouldDismissPopoverPointer", "current", "index", "value", "jsx", "jsxs", "cx", "parts", "jsx", "resolveAriaPressed", "pressed", "toggle", "defaultPressed", "RuiButton", "props", "href", "target", "rel", "download", "ariaLabel2", "ariaCurrent", "onClick2", "children2", "className2", "variant2", "size2", "host2", "jsx", "cx", "variant", "size", "className", "children", "ariaLabel", "type", "disabled", "onClick", "host", "handleClick", "event", "button", "next", "RuiMenuButtonTrigger", "children", "className", "variant", "size", "props", "jsxs", "RuiButton", "cx", "jsx", "RuiMenuButtonContent", "RuiMenuButtonItem", "value", "disabled", "RuiMenuButton", "trigger", "items", "item"]
|
|
7
7
|
}
|
|
@@ -68,8 +68,8 @@ rui-menu-button {
|
|
|
68
68
|
border-style: var(--tw-border-style);
|
|
69
69
|
border-width: 0px;
|
|
70
70
|
background-color: transparent;
|
|
71
|
-
padding-inline: var(--spacing-
|
|
72
|
-
padding-block: var(--spacing-
|
|
71
|
+
padding-inline: var(--spacing-control-x, var(--space-control-x));
|
|
72
|
+
padding-block: var(--spacing-control-y, var(--space-control-y));
|
|
73
73
|
text-align: left;
|
|
74
74
|
font-size: var(--text-sm, var(--text-sm));
|
|
75
75
|
line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
|
|
@@ -1,12 +1,34 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { JsxHtmlPropsWithChildren, JsxRenderable } from '@ecopages/jsx';
|
|
2
|
+
import { type RuiButtonControlProps } from '../button';
|
|
2
3
|
import type { RuiMenuButtonProps } from './menu-button.script';
|
|
4
|
+
import './menu-button.script';
|
|
3
5
|
export type RuiMenuItem = {
|
|
4
6
|
value: string;
|
|
5
7
|
label: JsxRenderable;
|
|
6
8
|
disabled?: boolean;
|
|
7
9
|
};
|
|
8
|
-
export
|
|
10
|
+
export type RuiMenuButtonTriggerProps = JsxHtmlPropsWithChildren<Pick<RuiButtonControlProps, 'variant' | 'size' | 'type' | 'disabled' | 'aria-label'>>;
|
|
11
|
+
/** Trigger button for opening a menu-button popup. */
|
|
12
|
+
export declare function RuiMenuButtonTrigger({ children, class: className, variant, size, ...props }: RuiMenuButtonTriggerProps): JsxRenderable;
|
|
13
|
+
export type RuiMenuButtonContentProps = JsxHtmlPropsWithChildren;
|
|
14
|
+
/** Floating menu surface containing `RuiMenuButtonItem` elements. */
|
|
15
|
+
export declare function RuiMenuButtonContent({ children, class: className, ...props }: RuiMenuButtonContentProps): JsxRenderable;
|
|
16
|
+
export type RuiMenuButtonItemProps = JsxHtmlPropsWithChildren<{
|
|
17
|
+
value: string;
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
}>;
|
|
20
|
+
/** Action item inside `RuiMenuButtonContent`. */
|
|
21
|
+
export declare function RuiMenuButtonItem({ children, value, disabled, class: className, ...props }: RuiMenuButtonItemProps): JsxRenderable;
|
|
22
|
+
/**
|
|
23
|
+
* Importable JSX helper around `<rui-menu-button>`.
|
|
24
|
+
*
|
|
25
|
+
* Accepts a `trigger` label and `items`; renders the popup items as
|
|
26
|
+
* `role="menuitem"` buttons.
|
|
27
|
+
*
|
|
28
|
+
* @cssclass rui-menu-button__item - Menu item (`role="menuitem"`).
|
|
29
|
+
*/
|
|
30
|
+
export declare function RuiMenuButton({ trigger, items, children, class: className, ...props }: JsxHtmlPropsWithChildren<RuiMenuButtonProps & {
|
|
9
31
|
slot?: string;
|
|
10
|
-
trigger
|
|
11
|
-
items
|
|
12
|
-
}
|
|
32
|
+
trigger?: JsxRenderable;
|
|
33
|
+
items?: RuiMenuItem[];
|
|
34
|
+
}>): JsxRenderable;
|
|
@@ -32,10 +32,16 @@ export type RuiMenuButtonSelectDetail = {
|
|
|
32
32
|
* - `Escape`: close and return focus to the trigger
|
|
33
33
|
*
|
|
34
34
|
* @element rui-menu-button
|
|
35
|
-
* @
|
|
36
|
-
* @
|
|
35
|
+
* @attr {boolean} open - Whether the menu starts open. Default: `false`.
|
|
36
|
+
* @attr {('top'|'top-start'|'top-end'|'right'|'right-start'|'right-end'|'bottom'|'bottom-start'|'bottom-end'|'left'|'left-start'|'left-end')} placement - Placement of the menu surface relative to its trigger. Default: `bottom-start`.
|
|
37
|
+
* Compose with `RuiMenuButtonTrigger`, `RuiMenuButtonContent`, and
|
|
38
|
+
* `RuiMenuButtonItem`. The `trigger` / `items` API supplies that composition.
|
|
37
39
|
* @fires rui-change - Emitted when a menu item is activated; `detail.value` is the item's `data-value` or text.
|
|
38
40
|
* @fires rui-close - Emitted when the menu closes.
|
|
41
|
+
* @cssclass rui-menu-button - Root wrapper around trigger and menu.
|
|
42
|
+
* @cssclass rui-menu-button__trigger - Menu button trigger (`rui-button--primary`).
|
|
43
|
+
* @cssclass rui-menu-button__chevron - Chevron indicator.
|
|
44
|
+
* @cssclass rui-menu-button__menu - Popup menu surface (`role="menu"`).
|
|
39
45
|
*/
|
|
40
46
|
export declare class RuiMenuButton extends RadiantElement {
|
|
41
47
|
open: boolean;
|
|
@@ -59,5 +65,4 @@ export declare class RuiMenuButton extends RadiantElement {
|
|
|
59
65
|
onMenuKeydown(event: KeyboardEvent): void;
|
|
60
66
|
onItemClick(event: Event): void;
|
|
61
67
|
private activateItem;
|
|
62
|
-
render(): import("@ecopages/jsx").JsxRenderable;
|
|
63
68
|
}
|