@editora/ui-core 0.1.19 → 0.1.21
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/dist/{ElementBase-1b301e7f.js → ElementBase-EV6mVBUV.js} +1 -1
- package/dist/{ElementBase-909688f3.mjs → ElementBase-YlTLMsGk.mjs} +3 -3
- package/dist/accordion.cjs.js +3 -3
- package/dist/accordion.esm.js +39 -62
- package/dist/alert-dialog.cjs.js +19 -19
- package/dist/alert-dialog.esm.js +69 -87
- package/dist/alert.cjs.js +1 -1
- package/dist/alert.esm.js +4 -7
- package/dist/anchor.cjs.js +2 -2
- package/dist/anchor.esm.js +3 -3
- package/dist/animated-beam.cjs.js +83 -83
- package/dist/animated-beam.esm.js +250 -277
- package/dist/animated-list.cjs.js +4 -4
- package/dist/animated-list.esm.js +47 -61
- package/dist/animated-text.cjs.js +2 -2
- package/dist/animated-text.esm.js +13 -24
- package/dist/app-header.cjs.js +3 -3
- package/dist/app-header.esm.js +11 -13
- package/dist/aspect-ratio.cjs.js +1 -1
- package/dist/aspect-ratio.esm.js +4 -7
- package/dist/avatar.cjs.js +1 -1
- package/dist/avatar.esm.js +7 -13
- package/dist/badge.cjs.js +1 -1
- package/dist/badge.esm.js +4 -7
- package/dist/block-controls.cjs.js +2 -2
- package/dist/block-controls.esm.js +19 -35
- package/dist/box.cjs.js +1 -1
- package/dist/box.esm.js +8 -15
- package/dist/breadcrumb.cjs.js +2 -2
- package/dist/breadcrumb.esm.js +20 -37
- package/dist/button.cjs.js +1 -521
- package/dist/button.esm.js +2 -671
- package/dist/{calendar-2c11b824.mjs → calendar-DLY4acgn.mjs} +293 -342
- package/dist/{calendar-a8735e40.js → calendar-Dkof-FTK.js} +25 -25
- package/dist/calendar.cjs.js +1 -1
- package/dist/calendar.esm.js +8 -9
- package/dist/card.cjs.js +4 -4
- package/dist/card.esm.js +13 -19
- package/dist/chart.cjs.js +64 -64
- package/dist/chart.esm.js +223 -254
- package/dist/checkbox.cjs.js +1 -1
- package/dist/checkbox.esm.js +2 -3
- package/dist/collapsible.cjs.js +1 -1
- package/dist/collapsible.esm.js +5 -9
- package/dist/{collection-a1aac0c6.mjs → collection-C7URGjEI.mjs} +8 -14
- package/dist/collection.cjs.js +1 -1
- package/dist/collection.esm.js +30 -29
- package/dist/color-picker.cjs.js +10 -10
- package/dist/color-picker.esm.js +190 -253
- package/dist/combobox.cjs.js +13 -13
- package/dist/combobox.esm.js +93 -126
- package/dist/command-palette.cjs.js +3 -3
- package/dist/command-palette.esm.js +19 -30
- package/dist/command.cjs.js +4 -4
- package/dist/command.esm.js +41 -53
- package/dist/components/ui-collection.d.ts.map +1 -1
- package/dist/components/ui-multi-select.d.ts.map +1 -1
- package/dist/components/ui-orbiter.d.ts.map +1 -1
- package/dist/components/ui-portal.d.ts.map +1 -1
- package/dist/components/ui-positioner.d.ts.map +1 -1
- package/dist/components/ui-skeleton.d.ts.map +1 -1
- package/dist/components/ui-sortable.d.ts +8 -0
- package/dist/components/ui-sortable.d.ts.map +1 -1
- package/dist/components/ui-split-button.d.ts +1 -0
- package/dist/components/ui-split-button.d.ts.map +1 -1
- package/dist/components/ui-tabs.d.ts.map +1 -1
- package/dist/components/ui-textarea.d.ts.map +1 -1
- package/dist/components/ui-time-picker.d.ts.map +1 -1
- package/dist/container.cjs.js +2 -2
- package/dist/container.esm.js +2 -3
- package/dist/context-menu.cjs.js +8 -8
- package/dist/context-menu.esm.js +157 -219
- package/dist/control-group.cjs.js +1 -1
- package/dist/control-group.esm.js +2 -3
- package/dist/data-table.cjs.js +4 -4
- package/dist/data-table.esm.js +299 -381
- package/dist/date-field.cjs.js +3 -3
- package/dist/date-field.esm.js +68 -80
- package/dist/date-picker.cjs.js +9 -9
- package/dist/date-picker.esm.js +69 -97
- package/dist/date-range-picker.cjs.js +3 -3
- package/dist/date-range-picker.esm.js +32 -56
- package/dist/date-range-time-picker.cjs.js +9 -9
- package/dist/date-range-time-picker.esm.js +111 -140
- package/dist/date-time-picker.cjs.js +7 -7
- package/dist/date-time-picker.esm.js +115 -147
- package/dist/date-time-utils-Dmost5Ee.js +1 -0
- package/dist/date-time-utils-y1N2gvG2.mjs +268 -0
- package/dist/description.cjs.js +1 -1
- package/dist/description.esm.js +3 -5
- package/dist/dialog.cjs.js +12 -12
- package/dist/dialog.esm.js +44 -63
- package/dist/direction-provider.cjs.js +1 -1
- package/dist/direction-provider.esm.js +2 -3
- package/dist/{dismissable-layer-9c7e6b58.mjs → dismissable-layer-BmPIoK80.mjs} +29 -33
- package/dist/dismissable-layer-DNfrKA20.js +1 -0
- package/dist/dismissable-layer.cjs.js +2 -2
- package/dist/dismissable-layer.esm.js +4 -6
- package/dist/dock.cjs.js +5 -5
- package/dist/dock.esm.js +134 -155
- package/dist/drawer.cjs.js +2 -2
- package/dist/drawer.esm.js +18 -35
- package/dist/dropdown.cjs.js +2 -2
- package/dist/dropdown.esm.js +119 -149
- package/dist/dropzone.cjs.js +1 -1
- package/dist/dropzone.esm.js +0 -1
- package/dist/empty-state.cjs.js +1 -1
- package/dist/empty-state.esm.js +1 -1
- package/dist/field-error.cjs.js +1 -1
- package/dist/field-error.esm.js +3 -5
- package/dist/field.cjs.js +5 -5
- package/dist/field.esm.js +27 -34
- package/dist/fieldset.cjs.js +4 -4
- package/dist/fieldset.esm.js +19 -24
- package/dist/file-upload.cjs.js +4 -4
- package/dist/file-upload.esm.js +69 -93
- package/dist/flex.cjs.js +1 -1
- package/dist/flex.esm.js +5 -9
- package/dist/floating-toolbar.cjs.js +4 -4
- package/dist/floating-toolbar.esm.js +60 -85
- package/dist/focus-scope-Bwug2gDv.js +1 -0
- package/dist/{focus-scope-103833ee.mjs → focus-scope-CmEsG5UZ.mjs} +39 -48
- package/dist/focus-scope.cjs.js +2 -2
- package/dist/focus-scope.esm.js +15 -20
- package/dist/form.cjs.js +2 -2
- package/dist/form.esm.js +26 -53
- package/dist/gantt.cjs.js +43 -43
- package/dist/gantt.esm.js +295 -322
- package/dist/grid.cjs.js +1 -1
- package/dist/grid.esm.js +5 -9
- package/dist/hover-card.cjs.js +4 -4
- package/dist/hover-card.esm.js +22 -28
- package/dist/icon-cloud.cjs.js +7 -7
- package/dist/icon-cloud.esm.js +48 -62
- package/dist/icon.cjs.js +1 -1
- package/dist/icon.esm.js +2 -4
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +378 -390
- package/dist/inline-edit.cjs.js +11 -11
- package/dist/inline-edit.esm.js +32 -36
- package/dist/input.cjs.js +17 -17
- package/dist/input.esm.js +50 -63
- package/dist/label.cjs.js +2 -2
- package/dist/label.esm.js +8 -17
- package/dist/layout.cjs.js +2 -2
- package/dist/layout.esm.js +20 -26
- package/dist/listbox-B6QgECax.js +46 -0
- package/dist/listbox-DJamVeFj.mjs +200 -0
- package/dist/listbox.cjs.js +1 -1
- package/dist/listbox.esm.js +2 -4
- package/dist/marquee.cjs.js +5 -5
- package/dist/marquee.esm.js +33 -50
- package/dist/masonry-grid.cjs.js +1 -1
- package/dist/masonry-grid.esm.js +5 -9
- package/dist/menu.cjs.js +3 -3
- package/dist/menu.esm.js +106 -126
- package/dist/menubar.cjs.js +5 -5
- package/dist/menubar.esm.js +118 -164
- package/dist/meter.cjs.js +2 -2
- package/dist/meter.esm.js +4 -4
- package/dist/multi-select.cjs.js +5 -5
- package/dist/multi-select.esm.js +125 -137
- package/dist/navigation-menu.cjs.js +4 -4
- package/dist/navigation-menu.esm.js +44 -55
- package/dist/number-field.cjs.js +2 -2
- package/dist/number-field.esm.js +73 -98
- package/dist/number-ticker.cjs.js +3 -3
- package/dist/number-ticker.esm.js +22 -43
- package/dist/odometer.cjs.js +1 -1
- package/dist/odometer.esm.js +5 -9
- package/dist/orbiter.cjs.js +13 -13
- package/dist/orbiter.esm.js +79 -90
- package/dist/{overlayManager-5bbd4dc3.mjs → overlayManager-BJjU1VA8.mjs} +4 -5
- package/dist/{overlayManager-0eda4e08.js → overlayManager-CSy3fJmJ.js} +1 -1
- package/dist/pagination.cjs.js +2 -2
- package/dist/pagination.esm.js +14 -18
- package/dist/{panel-group-a376cc5e.mjs → panel-group-8sVNnGxg.mjs} +24 -46
- package/dist/panel-group-CaD0_KQf.js +36 -0
- package/dist/panel-group.cjs.js +1 -1
- package/dist/panel-group.esm.js +2 -5
- package/dist/panel.cjs.js +4 -4
- package/dist/panel.esm.js +8 -10
- package/dist/password-field.cjs.js +9 -9
- package/dist/password-field.esm.js +62 -82
- package/dist/pin-input.cjs.js +3 -3
- package/dist/pin-input.esm.js +33 -39
- package/dist/placement-grid.cjs.js +4 -4
- package/dist/placement-grid.esm.js +108 -131
- package/dist/plugin-panel.cjs.js +7 -7
- package/dist/plugin-panel.esm.js +13 -15
- package/dist/popover.cjs.js +2 -2
- package/dist/popover.esm.js +21 -31
- package/dist/portal-DgpQ3Jo1.js +1 -0
- package/dist/{portal-fe73e5cc.mjs → portal-bR42gHvG.mjs} +43 -48
- package/dist/portal.cjs.js +3 -3
- package/dist/portal.esm.js +20 -28
- package/dist/{positioner-e9770c66.mjs → positioner-D0VGxtYU.mjs} +189 -209
- package/dist/positioner-D_fqyx_j.js +1 -0
- package/dist/positioner.cjs.js +2 -2
- package/dist/positioner.esm.js +22 -28
- package/dist/presence.cjs.js +1 -1
- package/dist/presence.esm.js +7 -13
- package/dist/primitives/auto-scroll.d.ts +9 -0
- package/dist/primitives/auto-scroll.d.ts.map +1 -0
- package/dist/primitives/selector.d.ts +4 -0
- package/dist/primitives/selector.d.ts.map +1 -0
- package/dist/progress.cjs.js +1 -1
- package/dist/progress.esm.js +5 -9
- package/dist/quick-actions.cjs.js +6 -6
- package/dist/quick-actions.esm.js +52 -62
- package/dist/radio-group.cjs.js +13 -13
- package/dist/radio-group.esm.js +39 -51
- package/dist/radio.cjs.js +1 -1
- package/dist/radio.esm.js +5 -9
- package/dist/rating.cjs.js +1 -1
- package/dist/rating.esm.js +12 -23
- package/dist/{roving-focus-group-4350c9a7.mjs → roving-focus-group-Dbm1Jko_.mjs} +3 -6
- package/dist/roving-focus-group.cjs.js +1 -1
- package/dist/roving-focus-group.esm.js +3 -5
- package/dist/runtime-CTaOSmBj.js +1 -0
- package/dist/{runtime-161f68a2.mjs → runtime-D1gFh1fS.mjs} +338 -366
- package/dist/runtime.cjs.js +1 -1
- package/dist/runtime.esm.js +6 -6
- package/dist/scroll-area.cjs.js +3 -3
- package/dist/scroll-area.esm.js +38 -46
- package/dist/{scroll-lock-31da444f.mjs → scroll-lock-LfqXXqsu.mjs} +5 -9
- package/dist/section.cjs.js +1 -1
- package/dist/section.esm.js +1 -1
- package/dist/select.cjs.js +7 -7
- package/dist/select.esm.js +67 -97
- package/dist/selection-popup.cjs.js +1 -1
- package/dist/selection-popup.esm.js +8 -15
- package/dist/selector-BvAh35ve.js +1 -0
- package/dist/selector-WI8pD7YO.mjs +18 -0
- package/dist/separator.cjs.js +1 -1
- package/dist/separator.esm.js +1 -1
- package/dist/sidebar.cjs.js +18 -18
- package/dist/sidebar.esm.js +117 -139
- package/dist/skeleton.cjs.js +11 -11
- package/dist/skeleton.esm.js +27 -24
- package/dist/slider.cjs.js +1 -1
- package/dist/slider.esm.js +6 -11
- package/dist/slot.cjs.js +4 -4
- package/dist/slot.esm.js +16 -19
- package/dist/sortable.cjs.js +79 -65
- package/dist/sortable.esm.js +714 -734
- package/dist/spinning-text.cjs.js +12 -12
- package/dist/spinning-text.esm.js +80 -92
- package/dist/split-button.cjs.js +4 -4
- package/dist/split-button.esm.js +77 -62
- package/dist/splitter.cjs.js +1 -1
- package/dist/splitter.esm.js +1 -1
- package/dist/stepper.cjs.js +8 -8
- package/dist/stepper.esm.js +32 -52
- package/dist/switch.cjs.js +7 -7
- package/dist/switch.esm.js +23 -31
- package/dist/table.cjs.js +2 -2
- package/dist/table.esm.js +46 -56
- package/dist/tabs.cjs.js +8 -8
- package/dist/tabs.esm.js +89 -109
- package/dist/tags-input.cjs.js +4 -4
- package/dist/tags-input.esm.js +45 -62
- package/dist/textarea.cjs.js +10 -10
- package/dist/textarea.esm.js +49 -52
- package/dist/time-field.cjs.js +4 -4
- package/dist/time-field.esm.js +70 -84
- package/dist/time-picker.cjs.js +22 -22
- package/dist/time-picker.esm.js +88 -110
- package/dist/timeline.cjs.js +1 -1
- package/dist/timeline.esm.js +3 -5
- package/dist/toast.cjs.js +2 -2
- package/dist/toast.esm.js +33 -47
- package/dist/toggle-group.cjs.js +6 -6
- package/dist/toggle-group.esm.js +85 -105
- package/dist/toggle.cjs.js +1 -1
- package/dist/toggle.esm.js +3 -5
- package/dist/toolbar.cjs.js +1 -1
- package/dist/toolbar.esm.js +13 -24
- package/dist/tooltip.cjs.js +2 -2
- package/dist/tooltip.esm.js +31 -42
- package/dist/transfer-list.cjs.js +31 -31
- package/dist/transfer-list.esm.js +114 -127
- package/dist/{tree-dcd74a4a.mjs → tree-B3kE8ESs.mjs} +55 -62
- package/dist/tree-Dx_kv_ih.js +39 -0
- package/dist/tree-item.cjs.js +2 -2
- package/dist/tree-item.esm.js +2 -3
- package/dist/tree.cjs.js +1 -1
- package/dist/tree.esm.js +2 -5
- package/dist/ui-button-Q0GNNWKC.mjs +665 -0
- package/dist/ui-button-rXQOS9QJ.js +521 -0
- package/dist/{icon-9e9da03b.js → ui-icon-BzVNC_lr.js} +4 -4
- package/dist/{icon-e2a85cc1.mjs → ui-icon-YI6lyuqU.mjs} +58 -65
- package/dist/visually-hidden.cjs.js +1 -1
- package/dist/visually-hidden.esm.js +1 -1
- package/dist/wizard.cjs.js +14 -14
- package/dist/wizard.esm.js +85 -105
- package/package.json +2 -2
- package/dist/date-time-utils-66480de4.js +0 -1
- package/dist/date-time-utils-a2c7af25.mjs +0 -307
- package/dist/dismissable-layer-193e3bed.js +0 -1
- package/dist/focus-scope-2b12b4e7.js +0 -1
- package/dist/listbox-308789a0.mjs +0 -210
- package/dist/listbox-ef2f708e.js +0 -46
- package/dist/panel-group-40254cdd.js +0 -36
- package/dist/portal-c69756c0.js +0 -1
- package/dist/positioner-33529bb8.js +0 -1
- package/dist/runtime-3f13807b.js +0 -1
- package/dist/tree-0a7a8d05.js +0 -39
- /package/dist/{collection-a2969ad2.js → collection-qv8A8rq4.js} +0 -0
- /package/dist/{menu-item-styles-27fdbac4.mjs → menu-item-styles-CZiPwPwl.mjs} +0 -0
- /package/dist/{menu-item-styles-83ad1e22.js → menu-item-styles-CbNUEwP2.js} +0 -0
- /package/dist/{roving-focus-group-5c059bf9.js → roving-focus-group-BdJ_4Njm.js} +0 -0
- /package/dist/{scroll-lock-d7b0df21.js → scroll-lock-BX6e3Ced.js} +0 -0
package/dist/marquee.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { E as h } from "./ElementBase-
|
|
2
|
-
const
|
|
1
|
+
import { E as h } from "./ElementBase-YlTLMsGk.mjs";
|
|
2
|
+
const l = "24px", p = "48px", f = 60, b = /* @__PURE__ */ new Set(["none", "sm", "md", "lg", "full"]), g = /* @__PURE__ */ new Set(["direction", "speed", "gap", "size", "padding"]), v = `
|
|
3
3
|
:host {
|
|
4
|
-
--ui-marquee-gap: ${
|
|
4
|
+
--ui-marquee-gap: ${l};
|
|
5
5
|
--ui-marquee-fade-size: ${p};
|
|
6
6
|
--ui-marquee-duration: 12s;
|
|
7
7
|
--ui-marquee-distance: 0px;
|
|
@@ -88,7 +88,7 @@ const c = "24px", p = "48px", f = 60, b = /* @__PURE__ */ new Set(["none", "sm",
|
|
|
88
88
|
|
|
89
89
|
:host([size="md"]),
|
|
90
90
|
:host([size="2"]) {
|
|
91
|
-
--ui-marquee-gap: ${
|
|
91
|
+
--ui-marquee-gap: ${l};
|
|
92
92
|
--ui-marquee-padding-inline: 18px;
|
|
93
93
|
--ui-marquee-padding-block: 12px;
|
|
94
94
|
--ui-marquee-min-block-size: 56px;
|
|
@@ -502,14 +502,12 @@ function q(i) {
|
|
|
502
502
|
return i === "right" || i === "up" || i === "down" ? i : "left";
|
|
503
503
|
}
|
|
504
504
|
function _(i, e) {
|
|
505
|
-
if (i == null || i === "")
|
|
506
|
-
return e;
|
|
505
|
+
if (i == null || i === "") return e;
|
|
507
506
|
const r = Number(i);
|
|
508
507
|
return Number.isFinite(r) && r > 0 ? r : e;
|
|
509
508
|
}
|
|
510
|
-
function
|
|
511
|
-
if (i == null || i.trim() === "")
|
|
512
|
-
return null;
|
|
509
|
+
function u(i) {
|
|
510
|
+
if (i == null || i.trim() === "") return null;
|
|
513
511
|
const e = i.trim();
|
|
514
512
|
return /^-?\d+(\.\d+)?$/.test(e) ? `${e}px` : e;
|
|
515
513
|
}
|
|
@@ -517,8 +515,7 @@ function x(i) {
|
|
|
517
515
|
return !!(i && b.has(i.trim().toLowerCase()));
|
|
518
516
|
}
|
|
519
517
|
function y(i) {
|
|
520
|
-
|
|
521
|
-
return i.nodeType === Node.TEXT_NODE ? !!((e = i.textContent) != null && e.trim()) : i.nodeType === Node.ELEMENT_NODE;
|
|
518
|
+
return i.nodeType === Node.TEXT_NODE ? !!i.textContent?.trim() : i.nodeType === Node.ELEMENT_NODE;
|
|
522
519
|
}
|
|
523
520
|
function m(i) {
|
|
524
521
|
if (i.tabIndex = -1, "inert" in i)
|
|
@@ -534,8 +531,7 @@ function m(i) {
|
|
|
534
531
|
i.setAttribute("aria-hidden", "true"), i.removeAttribute("autofocus");
|
|
535
532
|
}
|
|
536
533
|
function z(i) {
|
|
537
|
-
if (i.nodeType !== Node.ELEMENT_NODE)
|
|
538
|
-
return;
|
|
534
|
+
if (i.nodeType !== Node.ELEMENT_NODE) return;
|
|
539
535
|
const e = i;
|
|
540
536
|
if (e.removeAttribute("id"), e.removeAttribute("slot"), e.setAttribute("data-marquee-clone", ""), m(e), e instanceof HTMLAnchorElement && e.removeAttribute("href"), e instanceof HTMLMediaElement) {
|
|
541
537
|
e.muted = !0, e.controls = !1, e.autoplay = !1, e.loop = !0;
|
|
@@ -557,8 +553,7 @@ function z(i) {
|
|
|
557
553
|
function k(i) {
|
|
558
554
|
if (i.nodeType === Node.TEXT_NODE)
|
|
559
555
|
return document.createTextNode(i.textContent || "");
|
|
560
|
-
if (i.nodeType !== Node.ELEMENT_NODE)
|
|
561
|
-
return null;
|
|
556
|
+
if (i.nodeType !== Node.ELEMENT_NODE) return null;
|
|
562
557
|
const e = i.cloneNode(!0);
|
|
563
558
|
return z(e), e;
|
|
564
559
|
}
|
|
@@ -660,13 +655,8 @@ class E extends h {
|
|
|
660
655
|
}
|
|
661
656
|
}
|
|
662
657
|
_ensureResizeObserver() {
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
return;
|
|
666
|
-
this._resizeObserver || (this._resizeObserver = new ResizeObserver(this._onResize)), this._resizeObserver.disconnect(), this._viewportEl && this._resizeObserver.observe(this._viewportEl), this._sourceEl && this._resizeObserver.observe(this._sourceEl), this._resizeObserver.observe(this), (((r = this._slotEl) == null ? void 0 : r.assignedElements({ flatten: !0 })) || []).forEach((t) => {
|
|
667
|
-
var a;
|
|
668
|
-
return (a = this._resizeObserver) == null ? void 0 : a.observe(t);
|
|
669
|
-
});
|
|
658
|
+
if (!this.isConnected || typeof ResizeObserver > "u") return;
|
|
659
|
+
this._resizeObserver || (this._resizeObserver = new ResizeObserver(this._onResize)), this._resizeObserver.disconnect(), this._viewportEl && this._resizeObserver.observe(this._viewportEl), this._sourceEl && this._resizeObserver.observe(this._sourceEl), this._resizeObserver.observe(this), (this._slotEl?.assignedElements({ flatten: !0 }) || []).forEach((r) => this._resizeObserver?.observe(r));
|
|
670
660
|
}
|
|
671
661
|
_onSlotChange() {
|
|
672
662
|
this._ensureResizeObserver(), this._scheduleMeasurement(!0);
|
|
@@ -686,38 +676,35 @@ class E extends h {
|
|
|
686
676
|
}));
|
|
687
677
|
}
|
|
688
678
|
_syncLayout(e = !1) {
|
|
689
|
-
if (!this._viewportEl || !this._sourceEl || !this._cloneRootEl)
|
|
690
|
-
return;
|
|
679
|
+
if (!this._viewportEl || !this._sourceEl || !this._cloneRootEl) return;
|
|
691
680
|
const r = q(this.getAttribute("direction"));
|
|
692
681
|
this.hasAttribute("direction") || this.setAttribute("direction", r);
|
|
693
|
-
const t = this._measureCssLength(this.style.getPropertyValue("--ui-marquee-gap") ||
|
|
694
|
-
if (n <= 0 ||
|
|
682
|
+
const t = this._measureCssLength(this.style.getPropertyValue("--ui-marquee-gap") || l), a = _(this.getAttribute("speed"), f), n = this._measureSourceSize(r), s = this._measureViewportSize(r);
|
|
683
|
+
if (n <= 0 || s <= 0) {
|
|
695
684
|
this._cloneRootEl.innerHTML = "", this._cloneCount = 0, this._setRuntimeState("idle"), this.style.setProperty("--ui-marquee-distance", "0px"), this.style.setProperty("--ui-marquee-duration", "0s");
|
|
696
685
|
return;
|
|
697
686
|
}
|
|
698
|
-
const
|
|
699
|
-
(e ||
|
|
700
|
-
const d = Math.max(
|
|
701
|
-
this.style.setProperty("--ui-marquee-distance", `${
|
|
687
|
+
const o = Math.max(n + t, n), c = Math.max(1, Math.ceil((s + t) / Math.max(o, 1)) + 1);
|
|
688
|
+
(e || c !== this._cloneCount || !this._cloneRootEl.childElementCount) && this._syncClones(c);
|
|
689
|
+
const d = Math.max(o / a, 0.1);
|
|
690
|
+
this.style.setProperty("--ui-marquee-distance", `${o}px`), this.style.setProperty("--ui-marquee-duration", `${d}s`), this._setRuntimeState(this._isMotionPaused() ? "paused" : "running");
|
|
702
691
|
}
|
|
703
692
|
_syncClones(e) {
|
|
704
|
-
|
|
705
|
-
if (!this._cloneRootEl)
|
|
706
|
-
return;
|
|
693
|
+
if (!this._cloneRootEl) return;
|
|
707
694
|
this._cloneRootEl.innerHTML = "", this._cloneCount = e;
|
|
708
|
-
const r =
|
|
709
|
-
for (let
|
|
695
|
+
const r = this._slotEl?.assignedNodes({ flatten: !0 }).filter(y) || [];
|
|
696
|
+
for (let t = 0; t < e; t += 1) {
|
|
697
|
+
const a = document.createElement("div");
|
|
698
|
+
a.className = "lane lane--clone", a.setAttribute("part", "lane lane-clone"), a.setAttribute("aria-hidden", "true");
|
|
710
699
|
const n = document.createElement("div");
|
|
711
|
-
n.className = "
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
u && o.appendChild(u);
|
|
716
|
-
}), n.appendChild(o), this._cloneRootEl.appendChild(n);
|
|
700
|
+
n.className = "clone-content", n.setAttribute("part", "clone-content"), r.forEach((s) => {
|
|
701
|
+
const o = k(s);
|
|
702
|
+
o && n.appendChild(o);
|
|
703
|
+
}), a.appendChild(n), this._cloneRootEl.appendChild(a);
|
|
717
704
|
}
|
|
718
705
|
}
|
|
719
706
|
_syncHostStyles() {
|
|
720
|
-
const e =
|
|
707
|
+
const e = u(this.getAttribute("gap")), r = u(this.getAttribute("fade-size")), t = u(this.getAttribute("padding")), a = u(this.getAttribute("radius"));
|
|
721
708
|
e ? this.style.setProperty("--ui-marquee-gap", e) : this.style.removeProperty("--ui-marquee-gap"), r ? this.style.setProperty("--ui-marquee-fade-size", r) : this.style.removeProperty("--ui-marquee-fade-size"), t ? this.style.setProperty("--ui-marquee-padding", t) : this.style.removeProperty("--ui-marquee-padding"), a && !x(this.getAttribute("radius")) ? this.style.setProperty("--ui-marquee-radius", a) : this.style.removeProperty("--ui-marquee-radius"), this._syncPlaybackState();
|
|
722
709
|
}
|
|
723
710
|
_syncPlaybackState() {
|
|
@@ -727,24 +714,20 @@ class E extends h {
|
|
|
727
714
|
this.getAttribute("data-state") !== e && this.setAttribute("data-state", e);
|
|
728
715
|
}
|
|
729
716
|
_isMotionPaused() {
|
|
730
|
-
|
|
731
|
-
return this.hasAttribute("paused") ? !0 : !!((e = this._mediaQuery) != null && e.matches);
|
|
717
|
+
return this.hasAttribute("paused") ? !0 : !!this._mediaQuery?.matches;
|
|
732
718
|
}
|
|
733
719
|
_measureViewportSize(e) {
|
|
734
720
|
return this._viewportEl ? e === "up" || e === "down" ? this._viewportEl.clientHeight || this._viewportEl.getBoundingClientRect().height || 0 : this._viewportEl.clientWidth || this._viewportEl.getBoundingClientRect().width || 0 : 0;
|
|
735
721
|
}
|
|
736
722
|
_measureSourceSize(e) {
|
|
737
|
-
if (!this._sourceEl)
|
|
738
|
-
return 0;
|
|
723
|
+
if (!this._sourceEl) return 0;
|
|
739
724
|
const r = this._sourceEl.getBoundingClientRect();
|
|
740
725
|
return e === "up" || e === "down" ? Math.max(this._sourceEl.scrollHeight, this._sourceEl.offsetHeight, r.height || 0) : Math.max(this._sourceEl.scrollWidth, this._sourceEl.offsetWidth, r.width || 0);
|
|
741
726
|
}
|
|
742
727
|
_measureCssLength(e) {
|
|
743
728
|
const r = e.trim();
|
|
744
|
-
if (!r)
|
|
745
|
-
|
|
746
|
-
if (/^-?\d+(\.\d+)?px$/.test(r) || /^-?\d+(\.\d+)?$/.test(r))
|
|
747
|
-
return parseFloat(r);
|
|
729
|
+
if (!r) return 0;
|
|
730
|
+
if (/^-?\d+(\.\d+)?px$/.test(r) || /^-?\d+(\.\d+)?$/.test(r)) return parseFloat(r);
|
|
748
731
|
const t = document.createElement("div");
|
|
749
732
|
t.style.position = "absolute", t.style.visibility = "hidden", t.style.pointerEvents = "none", t.style.inlineSize = r, this.appendChild(t);
|
|
750
733
|
const a = parseFloat(getComputedStyle(t).inlineSize || getComputedStyle(t).width || "0");
|
package/dist/masonry-grid.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("./ElementBase-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("./ElementBase-EV6mVBUV.js"),b={sm:"var(--ui-breakpoint-sm, 640px)",md:"var(--ui-breakpoint-md, 768px)",lg:"var(--ui-breakpoint-lg, 1024px)",xl:"var(--ui-breakpoint-xl, 1280px)"},p=["display","columns","columnwidth","gap","columngap","itemgap","fill"],v={xs:"var(--ui-space-xs, 4px)",sm:"var(--ui-space-sm, 8px)",md:"var(--ui-space-md, 12px)",lg:"var(--ui-space-lg, 20px)",xl:"var(--ui-space-xl, 28px)"},x=`
|
|
2
2
|
:host {
|
|
3
3
|
--ui-masonry-display: block;
|
|
4
4
|
--ui-masonry-columns: auto;
|
package/dist/masonry-grid.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as f } from "./ElementBase-
|
|
1
|
+
import { E as f } from "./ElementBase-YlTLMsGk.mjs";
|
|
2
2
|
const g = {
|
|
3
3
|
sm: "var(--ui-breakpoint-sm, 640px)",
|
|
4
4
|
md: "var(--ui-breakpoint-md, 768px)",
|
|
@@ -74,11 +74,9 @@ const g = {
|
|
|
74
74
|
}
|
|
75
75
|
`;
|
|
76
76
|
function d(t) {
|
|
77
|
-
if (!t)
|
|
78
|
-
return null;
|
|
77
|
+
if (!t) return null;
|
|
79
78
|
const s = t.trim();
|
|
80
|
-
if (!s.startsWith("{"))
|
|
81
|
-
return null;
|
|
79
|
+
if (!s.startsWith("{")) return null;
|
|
82
80
|
try {
|
|
83
81
|
const e = JSON.parse(s);
|
|
84
82
|
return !e || typeof e != "object" ? null : e;
|
|
@@ -130,8 +128,7 @@ class x extends f {
|
|
|
130
128
|
_applyInlineStyles() {
|
|
131
129
|
this._appliedInlineProps.forEach((s) => this.style.removeProperty(s)), this._appliedInlineProps.clear(), p.forEach((s) => {
|
|
132
130
|
const e = this.getAttribute(s);
|
|
133
|
-
if (!e || d(e))
|
|
134
|
-
return;
|
|
131
|
+
if (!e || d(e)) return;
|
|
135
132
|
const l = y(s, e);
|
|
136
133
|
Object.entries(l).forEach(([o, c]) => {
|
|
137
134
|
this.style.setProperty(o, c), this._appliedInlineProps.add(o);
|
|
@@ -147,8 +144,7 @@ class x extends f {
|
|
|
147
144
|
};
|
|
148
145
|
p.forEach((n) => {
|
|
149
146
|
const a = this.getAttribute(n), i = d(a);
|
|
150
|
-
if (!i)
|
|
151
|
-
return;
|
|
147
|
+
if (!i) return;
|
|
152
148
|
const r = (m, h) => {
|
|
153
149
|
Object.assign(m, y(n, h));
|
|
154
150
|
};
|
package/dist/menu.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("./ElementBase-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("./ElementBase-EV6mVBUV.js"),y=require("./portal-DgpQ3Jo1.js"),x=require("./dismissable-layer-DNfrKA20.js"),A=require("./positioner-D_fqyx_j.js"),E=require("./menu-item-styles-CbNUEwP2.js");function g(r){return r==="top"||r==="left"||r==="right"?r:"bottom"}function k(r){return r==="sm"||r==="1"||r==="compact"?"sm":r==="lg"||r==="3"||r==="comfortable"?"lg":"md"}function S(r){return!r||r==="default"?null:r==="none"?"0px":r==="sm"?"8px":r==="md"?"12px":r==="lg"?"16px":r==="full"?"999px":r==="square"?"6px":r==="soft"?"14px":/^\d+(\.\d+)?$/.test(r)?`${r}px`:/^\d+(\.\d+)?(px|rem|em|%)$/.test(r)?r:null}function l(r,e){return r.getAttribute(e)||""}function h(r,e){if(r==null)return e;const t=String(r).toLowerCase();return t!=="false"&&t!=="0"}function u(){return['[role="menuitem"]','[role="menuitemcheckbox"]','[role="menuitemradio"]',".item","[data-menu-item]"].join(", ")}function m(r){return r.hasAttribute("disabled")||r.getAttribute("aria-disabled")==="true"||!!r.disabled}function p(r){const e=typeof r.composedPath=="function"?r.composedPath():[];for(const i of e)if(i instanceof HTMLElement&&i.matches(u()))return i;const t=r.target;return t instanceof HTMLElement?t.closest(u()):null}const w=new Set(["variant","density","shape","elevation","tone","size","radius"]),I=["--ui-menu-bg","--ui-menu-color","--ui-menu-border-color","--ui-menu-border","--ui-menu-shadow","--ui-menu-radius","--ui-menu-padding","--ui-menu-min-width","--ui-menu-ring","--ui-menu-backdrop","--ui-menu-z","--ui-menu-item-radius","--ui-menu-item-gap","--ui-menu-item-min-height","--ui-menu-item-pad-y","--ui-menu-item-pad-x","--ui-menu-item-font-size","--ui-menu-item-line-height","--ui-menu-separator-margin","--ui-menu-item-hover-bg","--ui-menu-item-active-color"],C=`
|
|
2
2
|
:host {
|
|
3
3
|
--ui-menu-bg: var(--base-menu-bg, var(--color-panel-solid, var(--ui-color-surface, var(--ui-surface, #ffffff))));
|
|
4
4
|
--ui-menu-color: var(--ui-color-text, var(--ui-text, #0f172a));
|
|
@@ -262,7 +262,7 @@
|
|
|
262
262
|
box-shadow: none;
|
|
263
263
|
}
|
|
264
264
|
}
|
|
265
|
-
`;class _ extends v.ElementBase{constructor(){super(),this._isOpen=!1,this._portalEl=null,this._positioner=null,this._dismissableLayer=null,this._restoreFocusEl=null,this._typeaheadBuffer="",this._typeaheadTimer=null,this._globalListenersBound=!1,this._menuClickHandler=null,this._menuId=`ui-menu-${Math.random().toString(36).slice(2,10)}`,this._onHostClick=this._onHostClick.bind(this),this._onDocumentKeyDown=this._onDocumentKeyDown.bind(this),this._onDocumentScroll=this._onDocumentScroll.bind(this),this._onSlotChange=this._onSlotChange.bind(this)}static get observedAttributes(){return["open","disabled","placement","variant","size","density","radius","shape","elevation","tone","close-on-select","close-on-scroll","typeahead"]}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this._onHostClick),this.root.addEventListener("slotchange",this._onSlotChange),this._syncOpenState(),this._syncTriggerA11y()}disconnectedCallback(){this.removeEventListener("click",this._onHostClick),this.root.removeEventListener("slotchange",this._onSlotChange),this._unbindGlobalListeners(),this._teardownPortal(),super.disconnectedCallback()}attributeChangedCallback(e,i,t){if(i!==t){if(e==="open"){this._syncOpenState();return}if(!(e==="close-on-select"||e==="close-on-scroll"||e==="typeahead")){if(e==="disabled"){this.hasAttribute("disabled")&&this.close(),this._syncTriggerA11y();return}if(e==="placement"&&this._isOpen){this._rebuildPositioner();return}w.has(e)&&this._isOpen&&this._syncPortalVisualState()}}}open(){this.hasAttribute("disabled")||this.setAttribute("open","")}close(){this.removeAttribute("open")}toggle(){this.hasAttribute("open")?this.close():this.open()}get closeOnSelect(){return h(this.getAttribute("close-on-select"),!0)}set closeOnSelect(e){this.setAttribute("close-on-select",e?"true":"false")}get closeOnScroll(){return h(this.getAttribute("close-on-scroll"),!0)}set closeOnScroll(e){this.setAttribute("close-on-scroll",e?"true":"false")}get typeahead(){return h(this.getAttribute("typeahead"),!0)}set typeahead(e){this.setAttribute("typeahead",e?"true":"false")}_getTrigger(){return this.querySelector('[slot="trigger"]')}_getContentSource(){return this.querySelector('[slot="content"]')}_getItemSources(){return Array.from(this.querySelectorAll('[slot="item"]'))}_onSlotChange(){this._isOpen&&this._rebuildPortalContent()}_syncTriggerA11y(){const e=this._getTrigger();if(e){if(e.setAttribute("aria-haspopup","menu"),e.setAttribute("aria-expanded",this._isOpen?"true":"false"),e.setAttribute("aria-controls",this._menuId),this.hasAttribute("disabled")){e.setAttribute("aria-disabled","true"),e.setAttribute("tabindex","-1");return}e.getAttribute("aria-disabled")==="true"&&e.removeAttribute("aria-disabled"),e.getAttribute("tabindex")==="-1"&&e.removeAttribute("tabindex")}}_syncOpenState(){var t;const e=this.hasAttribute("open")&&!this.hasAttribute("disabled");if(e===this._isOpen){this._syncTriggerA11y(),e&&!this._portalEl?this._mountPortal():e&&((t=this._positioner)==null||t.update());return}if(this._isOpen=e,this._syncTriggerA11y(),e){this._bindGlobalListeners(),this._restoreFocusEl=document.activeElement,this._mountPortal(),this.dispatchEvent(new CustomEvent("open",{bubbles:!0})),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:{open:!0}})),requestAnimationFrame(()=>this._focusFirstItem());return}this._unbindGlobalListeners(),this._teardownPortal(),this.dispatchEvent(new CustomEvent("close",{bubbles:!0})),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:{open:!1}}));const i=this._getTrigger();if(i)try{i.focus({preventScroll:!0})}catch{i.focus()}this._restoreFocusEl=null}_bindGlobalListeners(){this._globalListenersBound||(document.addEventListener("keydown",this._onDocumentKeyDown),document.addEventListener("scroll",this._onDocumentScroll,{passive:!0,capture:!0}),this._globalListenersBound=!0)}_unbindGlobalListeners(){this._globalListenersBound&&(document.removeEventListener("keydown",this._onDocumentKeyDown),document.removeEventListener("scroll",this._onDocumentScroll,!0),this._globalListenersBound=!1)}_clearActiveState(){this._portalEl&&this._portalEl.querySelectorAll(u()).forEach(e=>e.removeAttribute("data-active"))}_queryItems(){return this._portalEl?Array.from(this._portalEl.querySelectorAll(u())).filter(e=>!m(e)):[]}_focusItem(e){if(e){this._clearActiveState(),e.setAttribute("data-active","true");try{e.focus({preventScroll:!0})}catch{e.focus()}typeof e.scrollIntoView=="function"&&e.scrollIntoView({block:"nearest"})}}_focusFirstItem(){this._focusItem(this._queryItems()[0]||null)}_focusLastItem(){const e=this._queryItems();this._focusItem(e[e.length-1]||null)}_moveFocus(e){const i=this._queryItems();if(!i.length)return;const t=document.activeElement,r=t?i.findIndex(o=>o===t||o.contains(t)):-1,a=r===-1?0:Math.max(0,Math.min(i.length-1,r+e));this._focusItem(i[a]||null)}_resetTypeahead(){this._typeaheadBuffer="",this._typeaheadTimer!=null&&(window.clearTimeout(this._typeaheadTimer),this._typeaheadTimer=null)}_isTypeaheadKey(e){return e.ctrlKey||e.metaKey||e.altKey?!1:e.key.length===1&&/\S/.test(e.key)}_handleTypeahead(e){if(!this.typeahead||!this._isTypeaheadKey(e))return!1;this._typeaheadBuffer=`${this._typeaheadBuffer}${e.key.toLowerCase()}`.slice(0,24),this._typeaheadTimer!=null&&window.clearTimeout(this._typeaheadTimer),this._typeaheadTimer=window.setTimeout(()=>this._resetTypeahead(),420);const i=document.activeElement,t=this._queryItems();if(!t.length)return!1;const r=i?t.findIndex(s=>s===i||s.contains(i)):-1,o=(r>=0?[...t.slice(r+1),...t.slice(0,r+1)]:t).find(s=>(s.textContent||"").trim().toLowerCase().startsWith(this._typeaheadBuffer));return o?(e.preventDefault(),this._focusItem(o),!0):!1}_applySelectionBehavior(e){const i=e.getAttribute("role");if(i==="menuitemcheckbox"){const r=e.getAttribute("aria-checked")==="true";e.setAttribute("aria-checked",r?"false":"true"),e.setAttribute("data-state",r?"unchecked":"checked");return}if(i!=="menuitemradio"||!this._portalEl)return;const t=e.getAttribute("data-group")||e.getAttribute("name")||"";this._portalEl.querySelectorAll('[role="menuitemradio"]').forEach(r=>{const a=r.getAttribute("data-group")||r.getAttribute("name")||"";t&&a!==t||(r.setAttribute("aria-checked",r===e?"true":"false"),r.setAttribute("data-state",r===e?"checked":"unchecked"))})}_handleItemSelect(e){var r;this._applySelectionBehavior(e);const i=e.getAttribute("data-index"),t=i!=null&&!Number.isNaN(Number(i))?Number(i):void 0;this.dispatchEvent(new CustomEvent("select",{bubbles:!0,detail:{index:t,value:e.getAttribute("data-value")||e.getAttribute("value")||void 0,label:e.getAttribute("aria-label")||((r=e.textContent)==null?void 0:r.trim())||void 0,checked:e.getAttribute("aria-checked")==="true",item:e}})),this.closeOnSelect?this.close():this._focusItem(e)}_buildLegacyItems(e){const i=this._getItemSources();return i.forEach((t,r)=>{const a=t.cloneNode(!0);a.removeAttribute("slot"),a.getAttribute("role")||a.setAttribute("role","menuitem"),a.classList.contains("item")||a.classList.add("item"),a.hasAttribute("tabindex")||a.setAttribute("tabindex","-1"),a.hasAttribute("data-index")||a.setAttribute("data-index",String(r)),e.appendChild(a)}),i.length}_hydrateMenuItems(e){const i=Array.from(e.querySelectorAll(u()));return i.forEach((t,r)=>{t.getAttribute("role")||t.setAttribute("role","menuitem"),t.hasAttribute("tabindex")||t.setAttribute("tabindex","-1"),t.classList.contains("item")||t.classList.add("item"),t.hasAttribute("data-index")||t.setAttribute("data-index",String(r))}),i.length}_applyPortalTokens(e){const i=window.getComputedStyle(this);I.forEach(t=>{const r=i.getPropertyValue(t).trim();r?e.style.setProperty(t,r):e.style.removeProperty(t)})}_applyPortalVariantData(e){const i=l(this,"variant"),t=k(this.getAttribute("size")||this.getAttribute("density")),r=l(this,"density"),a=this.getAttribute("radius"),o=l(this,"shape"),s=l(this,"elevation"),c=l(this,"tone"),f=i==="default"||i===""?"":i==="line"?"outline":i==="glass"?"soft":i;f?e.setAttribute("data-variant",f):e.removeAttribute("data-variant"),t!=="md"?e.setAttribute("data-size",t):e.removeAttribute("data-size"),r&&r!=="default"?e.setAttribute("data-density",r):e.removeAttribute("data-density"),s&&s!=="default"?e.setAttribute("data-elevation",s):e.removeAttribute("data-elevation");const b=c==="default"||c==="brand"||c===""?"":c;b?e.setAttribute("data-tone",b):e.removeAttribute("data-tone");const d=S(a||o||null);d?(e.style.setProperty("--ui-menu-radius",d),e.style.setProperty("--ui-menu-item-radius",d==="999px"?"999px":`calc(${d} - 2px)`)):(e.style.removeProperty("--ui-menu-radius"),e.style.removeProperty("--ui-menu-item-radius"))}_syncPortalVisualState(){this._portalEl&&(this._applyPortalTokens(this._portalEl),this._applyPortalVariantData(this._portalEl),this._portalEl.setAttribute("aria-hidden","false"),this._portalEl.setAttribute("aria-busy","false"),this._portalEl.style.display="block",this._portalEl.style.visibility="visible",this._portalEl.style.opacity="1",this._portalEl.style.transform="translateY(0px) scale(1)",this._portalEl.style.pointerEvents="auto")}_attachMenuEvents(e){this._menuClickHandler=i=>{const t=p(i);!t||m(t)||this._handleItemSelect(t)},e.addEventListener("click",this._menuClickHandler),e.addEventListener("mouseover",i=>{const t=p(i);!t||m(t)||this._focusItem(t)}),e.addEventListener("focusin",i=>{const t=p(i);!t||m(t)||this._focusItem(t)}),e.addEventListener("mouseleave",()=>this._clearActiveState())}_buildPortalElement(){const e=document.createElement("div");e.className="surface menu",e.id=this._menuId,e.setAttribute("part","menu"),e.setAttribute("role","menu"),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","false"),e.setAttribute("aria-busy","false"),e.setAttribute("data-placement",g(this.getAttribute("placement")));const i=document.createElement("style");i.textContent=T,e.appendChild(i);const t=this._getContentSource();let r=0;if(t){const a=t.cloneNode(!0);a.removeAttribute("slot"),e.appendChild(a)}else r=this._buildLegacyItems(e);if(r=this._hydrateMenuItems(e)||r,r===0){const a=document.createElement("div");a.className="empty-state",a.textContent="No items",e.appendChild(a)}return this._applyPortalTokens(e),this._applyPortalVariantData(e),e.style.display="block",e.style.visibility="visible",e.style.opacity="1",e.style.transform="translateY(0px) scale(1)",e.style.pointerEvents="auto",this._attachMenuEvents(e),e}_rebuildPortalContent(){if(!this._portalEl)return;const e=this._portalEl.parentElement;if(!e)return;const i=this._portalEl,t=this._buildPortalElement();e.replaceChild(t,i),this._portalEl=t,this._rebuildPositioner()}_rebuildPositioner(){var i;const e=this._getTrigger();!this._portalEl||!e||((i=this._positioner)==null||i.destroy(),this._positioner=A.createPositioner({anchor:e,floating:this._portalEl,placement:g(this.getAttribute("placement")),offset:6,flip:!0,shift:!0,fitViewport:!0,observeScroll:!1}))}_mountPortal(){var i;const e=this._getTrigger();if(e){if(this._portalEl)this._syncPortalVisualState();else{this._portalEl=this._buildPortalElement();const t=y.createPortalContainer();if(!t){this._portalEl=null;return}t.appendChild(this._portalEl)}this._rebuildPositioner(),(i=this._dismissableLayer)==null||i.destroy(),this._dismissableLayer=x.createDismissableLayer({node:this._portalEl,trigger:e,closeOnEscape:!0,closeOnPointerOutside:!0,onDismiss:()=>this.close()})}}_teardownPortal(){var e,i,t;if((e=this._dismissableLayer)==null||e.destroy(),this._dismissableLayer=null,(i=this._positioner)==null||i.destroy(),this._positioner=null,(t=this._portalEl)!=null&&t.parentElement)try{this._portalEl.parentElement.removeChild(this._portalEl)}catch{}this._portalEl=null,this._menuClickHandler=null,this._resetTypeahead()}_isEventInsideTrigger(e){const i=this._getTrigger();return!!i&&e.composedPath().includes(i)}_isEventInsideMenu(e){return!!this._portalEl&&e.composedPath().includes(this._portalEl)}_isInternalScrollEvent(e){var a;const i=typeof e.composedPath=="function"?e.composedPath():[];if(this._portalEl&&i.includes(this._portalEl))return!0;const t=this._getTrigger();if(t&&i.includes(t))return!0;const r=e.target;return!!(r instanceof Node&&((a=this._portalEl)!=null&&a.contains(r)||t!=null&&t.contains(r)))}_onHostClick(e){this.hasAttribute("disabled")||this._isEventInsideTrigger(e)&&(e.preventDefault(),this.toggle())}_onDocumentScroll(e){!this._isOpen||!this.closeOnScroll||this._isInternalScrollEvent(e)||this.close()}_onDocumentKeyDown(e){var i;if(!this._isOpen){if(e.key!=="ArrowDown"&&e.key!=="ArrowUp"||!this._isEventInsideTrigger(e))return;e.preventDefault(),this.open(),requestAnimationFrame(()=>{e.key==="ArrowUp"?this._focusLastItem():this._focusFirstItem()});return}if(!(!this._isEventInsideTrigger(e)&&!this._isEventInsideMenu(e))&&!this._handleTypeahead(e)){if(e.key==="Escape"){e.preventDefault(),e.stopPropagation(),this.close();return}if(e.key==="ArrowDown"){e.preventDefault(),this._moveFocus(1);return}if(e.key==="ArrowUp"){e.preventDefault(),this._moveFocus(-1);return}if(e.key==="Home"){e.preventDefault(),this._focusFirstItem();return}if(e.key==="End"){e.preventDefault(),this._focusLastItem();return}if(e.key==="Tab"){this.close();return}if(e.key==="Enter"||e.key===" "){const t=document.activeElement;if(!t||!((i=this._portalEl)!=null&&i.contains(t)))return;const r=t.closest(u());if(!r||m(r))return;e.preventDefault(),this._handleItemSelect(r)}}}render(){var e;this.setContent(`
|
|
265
|
+
`;class _ extends v.ElementBase{constructor(){super(),this._isOpen=!1,this._portalEl=null,this._positioner=null,this._dismissableLayer=null,this._restoreFocusEl=null,this._typeaheadBuffer="",this._typeaheadTimer=null,this._globalListenersBound=!1,this._menuClickHandler=null,this._menuId=`ui-menu-${Math.random().toString(36).slice(2,10)}`,this._onHostClick=this._onHostClick.bind(this),this._onDocumentKeyDown=this._onDocumentKeyDown.bind(this),this._onDocumentScroll=this._onDocumentScroll.bind(this),this._onSlotChange=this._onSlotChange.bind(this)}static get observedAttributes(){return["open","disabled","placement","variant","size","density","radius","shape","elevation","tone","close-on-select","close-on-scroll","typeahead"]}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this._onHostClick),this.root.addEventListener("slotchange",this._onSlotChange),this._syncOpenState(),this._syncTriggerA11y()}disconnectedCallback(){this.removeEventListener("click",this._onHostClick),this.root.removeEventListener("slotchange",this._onSlotChange),this._unbindGlobalListeners(),this._teardownPortal(),super.disconnectedCallback()}attributeChangedCallback(e,t,i){if(t!==i){if(e==="open"){this._syncOpenState();return}if(!(e==="close-on-select"||e==="close-on-scroll"||e==="typeahead")){if(e==="disabled"){this.hasAttribute("disabled")&&this.close(),this._syncTriggerA11y();return}if(e==="placement"&&this._isOpen){this._rebuildPositioner();return}w.has(e)&&this._isOpen&&this._syncPortalVisualState()}}}open(){this.hasAttribute("disabled")||this.setAttribute("open","")}close(){this.removeAttribute("open")}toggle(){this.hasAttribute("open")?this.close():this.open()}get closeOnSelect(){return h(this.getAttribute("close-on-select"),!0)}set closeOnSelect(e){this.setAttribute("close-on-select",e?"true":"false")}get closeOnScroll(){return h(this.getAttribute("close-on-scroll"),!0)}set closeOnScroll(e){this.setAttribute("close-on-scroll",e?"true":"false")}get typeahead(){return h(this.getAttribute("typeahead"),!0)}set typeahead(e){this.setAttribute("typeahead",e?"true":"false")}_getTrigger(){return this.querySelector('[slot="trigger"]')}_getContentSource(){return this.querySelector('[slot="content"]')}_getItemSources(){return Array.from(this.querySelectorAll('[slot="item"]'))}_onSlotChange(){this._isOpen&&this._rebuildPortalContent()}_syncTriggerA11y(){const e=this._getTrigger();if(e){if(e.setAttribute("aria-haspopup","menu"),e.setAttribute("aria-expanded",this._isOpen?"true":"false"),e.setAttribute("aria-controls",this._menuId),this.hasAttribute("disabled")){e.setAttribute("aria-disabled","true"),e.setAttribute("tabindex","-1");return}e.getAttribute("aria-disabled")==="true"&&e.removeAttribute("aria-disabled"),e.getAttribute("tabindex")==="-1"&&e.removeAttribute("tabindex")}}_syncOpenState(){const e=this.hasAttribute("open")&&!this.hasAttribute("disabled");if(e===this._isOpen){this._syncTriggerA11y(),e&&!this._portalEl?this._mountPortal():e&&this._positioner?.update();return}if(this._isOpen=e,this._syncTriggerA11y(),e){this._bindGlobalListeners(),this._restoreFocusEl=document.activeElement,this._mountPortal(),this.dispatchEvent(new CustomEvent("open",{bubbles:!0})),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:{open:!0}})),requestAnimationFrame(()=>this._focusFirstItem());return}this._unbindGlobalListeners(),this._teardownPortal(),this.dispatchEvent(new CustomEvent("close",{bubbles:!0})),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:{open:!1}}));const t=this._getTrigger();if(t)try{t.focus({preventScroll:!0})}catch{t.focus()}this._restoreFocusEl=null}_bindGlobalListeners(){this._globalListenersBound||(document.addEventListener("keydown",this._onDocumentKeyDown),document.addEventListener("scroll",this._onDocumentScroll,{passive:!0,capture:!0}),this._globalListenersBound=!0)}_unbindGlobalListeners(){this._globalListenersBound&&(document.removeEventListener("keydown",this._onDocumentKeyDown),document.removeEventListener("scroll",this._onDocumentScroll,!0),this._globalListenersBound=!1)}_clearActiveState(){this._portalEl&&this._portalEl.querySelectorAll(u()).forEach(e=>e.removeAttribute("data-active"))}_queryItems(){return this._portalEl?Array.from(this._portalEl.querySelectorAll(u())).filter(e=>!m(e)):[]}_focusItem(e){if(e){this._clearActiveState(),e.setAttribute("data-active","true");try{e.focus({preventScroll:!0})}catch{e.focus()}typeof e.scrollIntoView=="function"&&e.scrollIntoView({block:"nearest"})}}_focusFirstItem(){this._focusItem(this._queryItems()[0]||null)}_focusLastItem(){const e=this._queryItems();this._focusItem(e[e.length-1]||null)}_moveFocus(e){const t=this._queryItems();if(!t.length)return;const i=document.activeElement,n=i?t.findIndex(o=>o===i||o.contains(i)):-1,a=n===-1?0:Math.max(0,Math.min(t.length-1,n+e));this._focusItem(t[a]||null)}_resetTypeahead(){this._typeaheadBuffer="",this._typeaheadTimer!=null&&(window.clearTimeout(this._typeaheadTimer),this._typeaheadTimer=null)}_isTypeaheadKey(e){return e.ctrlKey||e.metaKey||e.altKey?!1:e.key.length===1&&/\S/.test(e.key)}_handleTypeahead(e){if(!this.typeahead||!this._isTypeaheadKey(e))return!1;this._typeaheadBuffer=`${this._typeaheadBuffer}${e.key.toLowerCase()}`.slice(0,24),this._typeaheadTimer!=null&&window.clearTimeout(this._typeaheadTimer),this._typeaheadTimer=window.setTimeout(()=>this._resetTypeahead(),420);const t=document.activeElement,i=this._queryItems();if(!i.length)return!1;const n=t?i.findIndex(s=>s===t||s.contains(t)):-1,o=(n>=0?[...i.slice(n+1),...i.slice(0,n+1)]:i).find(s=>(s.textContent||"").trim().toLowerCase().startsWith(this._typeaheadBuffer));return o?(e.preventDefault(),this._focusItem(o),!0):!1}_applySelectionBehavior(e){const t=e.getAttribute("role");if(t==="menuitemcheckbox"){const n=e.getAttribute("aria-checked")==="true";e.setAttribute("aria-checked",n?"false":"true"),e.setAttribute("data-state",n?"unchecked":"checked");return}if(t!=="menuitemradio"||!this._portalEl)return;const i=e.getAttribute("data-group")||e.getAttribute("name")||"";this._portalEl.querySelectorAll('[role="menuitemradio"]').forEach(n=>{const a=n.getAttribute("data-group")||n.getAttribute("name")||"";i&&a!==i||(n.setAttribute("aria-checked",n===e?"true":"false"),n.setAttribute("data-state",n===e?"checked":"unchecked"))})}_handleItemSelect(e){this._applySelectionBehavior(e);const t=e.getAttribute("data-index"),i=t!=null&&!Number.isNaN(Number(t))?Number(t):void 0;this.dispatchEvent(new CustomEvent("select",{bubbles:!0,detail:{index:i,value:e.getAttribute("data-value")||e.getAttribute("value")||void 0,label:e.getAttribute("aria-label")||e.textContent?.trim()||void 0,checked:e.getAttribute("aria-checked")==="true",item:e}})),this.closeOnSelect?this.close():this._focusItem(e)}_buildLegacyItems(e){const t=this._getItemSources();return t.forEach((i,n)=>{const a=i.cloneNode(!0);a.removeAttribute("slot"),a.getAttribute("role")||a.setAttribute("role","menuitem"),a.classList.contains("item")||a.classList.add("item"),a.hasAttribute("tabindex")||a.setAttribute("tabindex","-1"),a.hasAttribute("data-index")||a.setAttribute("data-index",String(n)),e.appendChild(a)}),t.length}_hydrateMenuItems(e){const t=Array.from(e.querySelectorAll(u()));return t.forEach((i,n)=>{i.getAttribute("role")||i.setAttribute("role","menuitem"),i.hasAttribute("tabindex")||i.setAttribute("tabindex","-1"),i.classList.contains("item")||i.classList.add("item"),i.hasAttribute("data-index")||i.setAttribute("data-index",String(n))}),t.length}_applyPortalTokens(e){const t=window.getComputedStyle(this);I.forEach(i=>{const n=t.getPropertyValue(i).trim();n?e.style.setProperty(i,n):e.style.removeProperty(i)})}_applyPortalVariantData(e){const t=l(this,"variant"),i=k(this.getAttribute("size")||this.getAttribute("density")),n=l(this,"density"),a=this.getAttribute("radius"),o=l(this,"shape"),s=l(this,"elevation"),c=l(this,"tone"),f=t==="default"||t===""?"":t==="line"?"outline":t==="glass"?"soft":t;f?e.setAttribute("data-variant",f):e.removeAttribute("data-variant"),i!=="md"?e.setAttribute("data-size",i):e.removeAttribute("data-size"),n&&n!=="default"?e.setAttribute("data-density",n):e.removeAttribute("data-density"),s&&s!=="default"?e.setAttribute("data-elevation",s):e.removeAttribute("data-elevation");const b=c==="default"||c==="brand"||c===""?"":c;b?e.setAttribute("data-tone",b):e.removeAttribute("data-tone");const d=S(a||o||null);d?(e.style.setProperty("--ui-menu-radius",d),e.style.setProperty("--ui-menu-item-radius",d==="999px"?"999px":`calc(${d} - 2px)`)):(e.style.removeProperty("--ui-menu-radius"),e.style.removeProperty("--ui-menu-item-radius"))}_syncPortalVisualState(){this._portalEl&&(this._applyPortalTokens(this._portalEl),this._applyPortalVariantData(this._portalEl),this._portalEl.setAttribute("aria-hidden","false"),this._portalEl.setAttribute("aria-busy","false"),this._portalEl.style.display="block",this._portalEl.style.visibility="visible",this._portalEl.style.opacity="1",this._portalEl.style.transform="translateY(0px) scale(1)",this._portalEl.style.pointerEvents="auto")}_attachMenuEvents(e){this._menuClickHandler=t=>{const i=p(t);!i||m(i)||this._handleItemSelect(i)},e.addEventListener("click",this._menuClickHandler),e.addEventListener("mouseover",t=>{const i=p(t);!i||m(i)||this._focusItem(i)}),e.addEventListener("focusin",t=>{const i=p(t);!i||m(i)||this._focusItem(i)}),e.addEventListener("mouseleave",()=>this._clearActiveState())}_buildPortalElement(){const e=document.createElement("div");e.className="surface menu",e.id=this._menuId,e.setAttribute("part","menu"),e.setAttribute("role","menu"),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","false"),e.setAttribute("aria-busy","false"),e.setAttribute("data-placement",g(this.getAttribute("placement")));const t=document.createElement("style");t.textContent=T,e.appendChild(t);const i=this._getContentSource();let n=0;if(i){const a=i.cloneNode(!0);a.removeAttribute("slot"),e.appendChild(a)}else n=this._buildLegacyItems(e);if(n=this._hydrateMenuItems(e)||n,n===0){const a=document.createElement("div");a.className="empty-state",a.textContent="No items",e.appendChild(a)}return this._applyPortalTokens(e),this._applyPortalVariantData(e),e.style.display="block",e.style.visibility="visible",e.style.opacity="1",e.style.transform="translateY(0px) scale(1)",e.style.pointerEvents="auto",this._attachMenuEvents(e),e}_rebuildPortalContent(){if(!this._portalEl)return;const e=this._portalEl.parentElement;if(!e)return;const t=this._portalEl,i=this._buildPortalElement();e.replaceChild(i,t),this._portalEl=i,this._rebuildPositioner()}_rebuildPositioner(){const e=this._getTrigger();!this._portalEl||!e||(this._positioner?.destroy(),this._positioner=A.createPositioner({anchor:e,floating:this._portalEl,placement:g(this.getAttribute("placement")),offset:6,flip:!0,shift:!0,fitViewport:!0,observeScroll:!1}))}_mountPortal(){const e=this._getTrigger();if(e){if(this._portalEl)this._syncPortalVisualState();else{this._portalEl=this._buildPortalElement();const t=y.createPortalContainer();if(!t){this._portalEl=null;return}t.appendChild(this._portalEl)}this._rebuildPositioner(),this._dismissableLayer?.destroy(),this._dismissableLayer=x.createDismissableLayer({node:this._portalEl,trigger:e,closeOnEscape:!0,closeOnPointerOutside:!0,onDismiss:()=>this.close()})}}_teardownPortal(){if(this._dismissableLayer?.destroy(),this._dismissableLayer=null,this._positioner?.destroy(),this._positioner=null,this._portalEl?.parentElement)try{this._portalEl.parentElement.removeChild(this._portalEl)}catch{}this._portalEl=null,this._menuClickHandler=null,this._resetTypeahead()}_isEventInsideTrigger(e){const t=this._getTrigger();return!!t&&e.composedPath().includes(t)}_isEventInsideMenu(e){return!!this._portalEl&&e.composedPath().includes(this._portalEl)}_isInternalScrollEvent(e){const t=typeof e.composedPath=="function"?e.composedPath():[];if(this._portalEl&&t.includes(this._portalEl))return!0;const i=this._getTrigger();if(i&&t.includes(i))return!0;const n=e.target;return!!(n instanceof Node&&(this._portalEl?.contains(n)||i?.contains(n)))}_onHostClick(e){this.hasAttribute("disabled")||this._isEventInsideTrigger(e)&&(e.preventDefault(),this.toggle())}_onDocumentScroll(e){!this._isOpen||!this.closeOnScroll||this._isInternalScrollEvent(e)||this.close()}_onDocumentKeyDown(e){if(!this._isOpen){if(e.key!=="ArrowDown"&&e.key!=="ArrowUp"||!this._isEventInsideTrigger(e))return;e.preventDefault(),this.open(),requestAnimationFrame(()=>{e.key==="ArrowUp"?this._focusLastItem():this._focusFirstItem()});return}if(!(!this._isEventInsideTrigger(e)&&!this._isEventInsideMenu(e))&&!this._handleTypeahead(e)){if(e.key==="Escape"){e.preventDefault(),e.stopPropagation(),this.close();return}if(e.key==="ArrowDown"){e.preventDefault(),this._moveFocus(1);return}if(e.key==="ArrowUp"){e.preventDefault(),this._moveFocus(-1);return}if(e.key==="Home"){e.preventDefault(),this._focusFirstItem();return}if(e.key==="End"){e.preventDefault(),this._focusLastItem();return}if(e.key==="Tab"){this.close();return}if(e.key==="Enter"||e.key===" "){const t=document.activeElement;if(!t||!this._portalEl?.contains(t))return;const i=t.closest(u());if(!i||m(i))return;e.preventDefault(),this._handleItemSelect(i)}}}render(){this.setContent(`
|
|
266
266
|
<style>${C}</style>
|
|
267
267
|
<div class="trigger" part="trigger">
|
|
268
268
|
<slot name="trigger"></slot>
|
|
@@ -272,4 +272,4 @@
|
|
|
272
272
|
<slot name="content"></slot>
|
|
273
273
|
</div>
|
|
274
274
|
<slot></slot>
|
|
275
|
-
`),this._syncTriggerA11y(),this._isOpen&&!this._portalEl?this._mountPortal():this._isOpen&&
|
|
275
|
+
`),this._syncTriggerA11y(),this._isOpen&&!this._portalEl?this._mountPortal():this._isOpen&&this._positioner?.update()}shouldRenderOnAttributeChange(){return!1}}typeof customElements<"u"&&!customElements.get("ui-menu")&&customElements.define("ui-menu",_);exports.UIMenu=_;
|