@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/label.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as s } from "./ElementBase-
|
|
1
|
+
import { E as s } from "./ElementBase-YlTLMsGk.mjs";
|
|
2
2
|
const n = `
|
|
3
3
|
:host {
|
|
4
4
|
--ui-label-color: var(--ui-color-text, var(--ui-text, #0f172a));
|
|
@@ -187,17 +187,12 @@ function a(i) {
|
|
|
187
187
|
return i.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
188
188
|
}
|
|
189
189
|
function u(i) {
|
|
190
|
-
if (!i)
|
|
191
|
-
return !1;
|
|
190
|
+
if (!i) return !1;
|
|
192
191
|
const e = i.assignedNodes({ flatten: !0 });
|
|
193
|
-
return e.length ? e.some((o) =>
|
|
194
|
-
var t;
|
|
195
|
-
return o.nodeType === Node.TEXT_NODE ? !!((t = o.textContent) != null && t.trim()) : o.nodeType === Node.ELEMENT_NODE;
|
|
196
|
-
}) : !1;
|
|
192
|
+
return e.length ? e.some((o) => o.nodeType === Node.TEXT_NODE ? !!o.textContent?.trim() : o.nodeType === Node.ELEMENT_NODE) : !1;
|
|
197
193
|
}
|
|
198
194
|
function l(i) {
|
|
199
|
-
if (i.hasAttribute("disabled") || i.getAttribute("aria-disabled") === "true")
|
|
200
|
-
return !1;
|
|
195
|
+
if (i.hasAttribute("disabled") || i.getAttribute("aria-disabled") === "true") return !1;
|
|
201
196
|
const e = window.getComputedStyle(i);
|
|
202
197
|
return !(e.display === "none" || e.visibility === "hidden");
|
|
203
198
|
}
|
|
@@ -229,8 +224,7 @@ class c extends s {
|
|
|
229
224
|
const e = this.getAttribute("for");
|
|
230
225
|
if (e) {
|
|
231
226
|
const t = document.getElementById(e);
|
|
232
|
-
if (t instanceof HTMLElement && l(t))
|
|
233
|
-
return t;
|
|
227
|
+
if (t instanceof HTMLElement && l(t)) return t;
|
|
234
228
|
}
|
|
235
229
|
const o = [
|
|
236
230
|
this.nextElementSibling,
|
|
@@ -238,13 +232,11 @@ class c extends s {
|
|
|
238
232
|
this.closest('[role="group"], form, ui-form, fieldset, .field, [data-field]')
|
|
239
233
|
];
|
|
240
234
|
for (const t of o) {
|
|
241
|
-
if (!t)
|
|
242
|
-
continue;
|
|
235
|
+
if (!t) continue;
|
|
243
236
|
const r = t.querySelector(
|
|
244
237
|
'ui-input, ui-textarea, ui-select, ui-combobox, input, textarea, select, button, [tabindex]:not([tabindex="-1"])'
|
|
245
238
|
);
|
|
246
|
-
if (r && l(r))
|
|
247
|
-
return r;
|
|
239
|
+
if (r && l(r)) return r;
|
|
248
240
|
}
|
|
249
241
|
return null;
|
|
250
242
|
}
|
|
@@ -258,8 +250,7 @@ class c extends s {
|
|
|
258
250
|
}
|
|
259
251
|
}
|
|
260
252
|
_onRootClick(e) {
|
|
261
|
-
if (this.hasAttribute("disabled"))
|
|
262
|
-
return;
|
|
253
|
+
if (this.hasAttribute("disabled")) return;
|
|
263
254
|
const o = e.composedPath(), t = this.root.querySelector(".label");
|
|
264
255
|
!t || !o.includes(t) || (this._focusControl(), this.dispatchEvent(new CustomEvent("click", { bubbles: !0 })));
|
|
265
256
|
}
|
package/dist/layout.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"),x=`
|
|
2
2
|
:host {
|
|
3
3
|
--ui-layout-bg: var(--ui-color-background, #f8fafc);
|
|
4
4
|
--ui-layout-surface: var(--ui-color-surface, #ffffff);
|
|
@@ -241,7 +241,7 @@
|
|
|
241
241
|
box-shadow: none;
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
|
-
`;function r(
|
|
244
|
+
`;function r(o){return o?o.assignedNodes({flatten:!0}).some(t=>t.nodeType===Node.ELEMENT_NODE?!0:t.nodeType===Node.TEXT_NODE?!!t.textContent?.trim():!1):!1}function g(o){if(o==null)return!1;const t=String(o).trim().toLowerCase();return t!=="false"&&t!=="0"}function c(o,t){const a=o?.trim();return a?/^-?\d+(\.\d+)?$/.test(a)?`${a}px`:a:t}class p extends f.ElementBase{constructor(){super(),this._layoutNode=null,this._headerEl=null,this._bodyEl=null,this._footerEl=null,this._sidebarPanel=null,this._contentPanel=null,this._asidePanel=null,this._headerSlot=null,this._sidebarSlot=null,this._contentSlot=null,this._defaultSlot=null,this._asideSlot=null,this._footerSlot=null,this._lastLayoutSignature="",this._onSlotChange=this._onSlotChange.bind(this)}static get observedAttributes(){return["mode","variant","density","max-width","sidebar-side","collapsed","headless","sidebar-width","aside-width"]}connectedCallback(){super.connectedCallback(),queueMicrotask(()=>this._syncShell({emit:!1}))}disconnectedCallback(){this._detachSlotHandlers(),super.disconnectedCallback()}collapse(){this.setAttribute("collapsed","")}expand(){this.removeAttribute("collapsed")}toggleSidebar(){this.collapsed?this.expand():this.collapse()}get collapsed(){return g(this.getAttribute("collapsed"))}set collapsed(t){t?this.setAttribute("collapsed",""):this.removeAttribute("collapsed")}attributeChangedCallback(t,a,e){if(a!==e){if(t==="variant"||t==="density"||t==="max-width"||t==="headless"){super.attributeChangedCallback(t,a,e),queueMicrotask(()=>this._syncShell({emit:!1}));return}queueMicrotask(()=>this._syncShell({emit:!0}))}}_mode(){const t=this.getAttribute("mode");return t==="split"||t==="stack"?t:"dashboard"}_sidebarSide(){return this.getAttribute("sidebar-side")==="end"?"end":"start"}_attachSlotHandlers(){this._detachSlotHandlers(),this._headerSlot=this.root.querySelector('slot[name="header"]'),this._sidebarSlot=this.root.querySelector('slot[name="sidebar"]'),this._contentSlot=this.root.querySelector('slot[name="content"]'),this._defaultSlot=this.root.querySelector("slot:not([name])"),this._asideSlot=this.root.querySelector('slot[name="aside"]'),this._footerSlot=this.root.querySelector('slot[name="footer"]'),[this._headerSlot,this._sidebarSlot,this._contentSlot,this._defaultSlot,this._asideSlot,this._footerSlot].forEach(t=>t?.addEventListener("slotchange",this._onSlotChange))}_detachSlotHandlers(){[this._headerSlot,this._sidebarSlot,this._contentSlot,this._defaultSlot,this._asideSlot,this._footerSlot].forEach(t=>t?.removeEventListener("slotchange",this._onSlotChange)),this._headerSlot=null,this._sidebarSlot=null,this._contentSlot=null,this._defaultSlot=null,this._asideSlot=null,this._footerSlot=null}_onSlotChange(){this._syncShell({emit:!0})}_emitLayoutChange(t){this.dispatchEvent(new CustomEvent("layoutchange",{detail:t,bubbles:!0,composed:!0}))}_signature(t){return JSON.stringify(t)}_computeShellState(){if(!this.isConnected||!this._layoutNode||!this._bodyEl)return null;const t=this._mode(),a=this._sidebarSide(),e=this.collapsed,y=r(this._headerSlot),b=r(this._footerSlot),u=r(this._sidebarSlot),n=r(this._asideSlot),d=r(this._contentSlot)||r(this._defaultSlot),i=u&&(!e||t==="stack")&&!(t==="split"&&n),s=n,m=d||i||s,h=t==="stack";let l="content-only";return h||(t==="split"?s&&d?l="split-with-aside":i&&d&&(l=a==="end"?"split-with-sidebar-end":"split-with-sidebar-start"):i&&s?l=a==="end"?"dashboard-end":"dashboard-start":i?l=a==="end"?"dashboard-end-no-aside":"dashboard-start-no-aside":s&&(l=a==="end"?"dashboard-end-no-sidebar":"dashboard-start-no-sidebar")),{mode:t,sidebarSide:a,collapsed:e,hasHeader:y,hasFooter:b,hasSidebarContent:u,hasAsideContent:n,hasContent:d,sidebarVisible:i,asideVisible:s,bodyVisible:m,layout:l,stack:h,sidebarTrack:i?c(this.getAttribute("sidebar-width"),"clamp(220px, 22vw, 320px)"):"0px",asideTrack:s?c(this.getAttribute("aside-width"),"clamp(240px, 26vw, 360px)"):"0px"}}_syncShell(t){const a=this._computeShellState();if(!a||!this._bodyEl)return;this._headerEl&&(this._headerEl.hidden=!a.hasHeader),this._footerEl&&(this._footerEl.hidden=!a.hasFooter),this.style.setProperty("--ui-layout-sidebar-track",a.sidebarTrack),this.style.setProperty("--ui-layout-aside-track",a.asideTrack),this._sidebarPanel&&(this._sidebarPanel.hidden=!a.sidebarVisible),this._contentPanel&&(this._contentPanel.hidden=!a.hasContent),this._asidePanel&&(this._asidePanel.hidden=!a.asideVisible),this._bodyEl.hidden=!a.bodyVisible,this._bodyEl.dataset.layout=a.layout,this._bodyEl.dataset.mode=a.mode,this._bodyEl.dataset.sidebarSide=a.sidebarSide,a.stack?this._bodyEl.classList.add("stack"):this._bodyEl.classList.remove("stack");const e=this._signature(a);t.emit&&e!==this._lastLayoutSignature&&this._emitLayoutChange(a),this._lastLayoutSignature=e}shouldRenderOnAttributeChange(t,a,e){return!1}render(){this.setContent(`
|
|
245
245
|
<style>${x}</style>
|
|
246
246
|
<div class="layout" part="layout">
|
|
247
247
|
<header class="header" part="header">
|
package/dist/layout.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as m } from "./ElementBase-
|
|
1
|
+
import { E as m } from "./ElementBase-YlTLMsGk.mjs";
|
|
2
2
|
const f = `
|
|
3
3
|
:host {
|
|
4
4
|
--ui-layout-bg: var(--ui-color-background, #f8fafc);
|
|
@@ -243,20 +243,16 @@ const f = `
|
|
|
243
243
|
}
|
|
244
244
|
}
|
|
245
245
|
`;
|
|
246
|
-
function r(
|
|
247
|
-
return
|
|
248
|
-
var a;
|
|
249
|
-
return t.nodeType === Node.ELEMENT_NODE ? !0 : t.nodeType === Node.TEXT_NODE ? !!((a = t.textContent) != null && a.trim()) : !1;
|
|
250
|
-
}) : !1;
|
|
246
|
+
function r(o) {
|
|
247
|
+
return o ? o.assignedNodes({ flatten: !0 }).some((t) => t.nodeType === Node.ELEMENT_NODE ? !0 : t.nodeType === Node.TEXT_NODE ? !!t.textContent?.trim() : !1) : !1;
|
|
251
248
|
}
|
|
252
|
-
function x(
|
|
253
|
-
if (
|
|
254
|
-
|
|
255
|
-
const t = String(e).trim().toLowerCase();
|
|
249
|
+
function x(o) {
|
|
250
|
+
if (o == null) return !1;
|
|
251
|
+
const t = String(o).trim().toLowerCase();
|
|
256
252
|
return t !== "false" && t !== "0";
|
|
257
253
|
}
|
|
258
|
-
function c(
|
|
259
|
-
const a =
|
|
254
|
+
function c(o, t) {
|
|
255
|
+
const a = o?.trim();
|
|
260
256
|
return a ? /^-?\d+(\.\d+)?$/.test(a) ? `${a}px` : a : t;
|
|
261
257
|
}
|
|
262
258
|
class g extends m {
|
|
@@ -297,10 +293,10 @@ class g extends m {
|
|
|
297
293
|
set collapsed(t) {
|
|
298
294
|
t ? this.setAttribute("collapsed", "") : this.removeAttribute("collapsed");
|
|
299
295
|
}
|
|
300
|
-
attributeChangedCallback(t, a,
|
|
301
|
-
if (a !==
|
|
296
|
+
attributeChangedCallback(t, a, e) {
|
|
297
|
+
if (a !== e) {
|
|
302
298
|
if (t === "variant" || t === "density" || t === "max-width" || t === "headless") {
|
|
303
|
-
super.attributeChangedCallback(t, a,
|
|
299
|
+
super.attributeChangedCallback(t, a, e), queueMicrotask(() => this._syncShell({ emit: !1 }));
|
|
304
300
|
return;
|
|
305
301
|
}
|
|
306
302
|
queueMicrotask(() => this._syncShell({ emit: !0 }));
|
|
@@ -321,7 +317,7 @@ class g extends m {
|
|
|
321
317
|
this._defaultSlot,
|
|
322
318
|
this._asideSlot,
|
|
323
319
|
this._footerSlot
|
|
324
|
-
].forEach((t) => t
|
|
320
|
+
].forEach((t) => t?.addEventListener("slotchange", this._onSlotChange));
|
|
325
321
|
}
|
|
326
322
|
_detachSlotHandlers() {
|
|
327
323
|
[
|
|
@@ -331,7 +327,7 @@ class g extends m {
|
|
|
331
327
|
this._defaultSlot,
|
|
332
328
|
this._asideSlot,
|
|
333
329
|
this._footerSlot
|
|
334
|
-
].forEach((t) => t
|
|
330
|
+
].forEach((t) => t?.removeEventListener("slotchange", this._onSlotChange)), this._headerSlot = null, this._sidebarSlot = null, this._contentSlot = null, this._defaultSlot = null, this._asideSlot = null, this._footerSlot = null;
|
|
335
331
|
}
|
|
336
332
|
_onSlotChange() {
|
|
337
333
|
this._syncShell({ emit: !0 });
|
|
@@ -343,14 +339,13 @@ class g extends m {
|
|
|
343
339
|
return JSON.stringify(t);
|
|
344
340
|
}
|
|
345
341
|
_computeShellState() {
|
|
346
|
-
if (!this.isConnected || !this._layoutNode || !this._bodyEl)
|
|
347
|
-
|
|
348
|
-
const t = this._mode(), a = this._sidebarSide(), o = this.collapsed, p = r(this._headerSlot), y = r(this._footerSlot), u = r(this._sidebarSlot), n = r(this._asideSlot), d = r(this._contentSlot) || r(this._defaultSlot), i = u && (!o || t === "stack") && !(t === "split" && n), s = n, b = d || i || s, h = t === "stack";
|
|
342
|
+
if (!this.isConnected || !this._layoutNode || !this._bodyEl) return null;
|
|
343
|
+
const t = this._mode(), a = this._sidebarSide(), e = this.collapsed, p = r(this._headerSlot), y = r(this._footerSlot), u = r(this._sidebarSlot), n = r(this._asideSlot), d = r(this._contentSlot) || r(this._defaultSlot), i = u && (!e || t === "stack") && !(t === "split" && n), s = n, b = d || i || s, h = t === "stack";
|
|
349
344
|
let l = "content-only";
|
|
350
345
|
return h || (t === "split" ? s && d ? l = "split-with-aside" : i && d && (l = a === "end" ? "split-with-sidebar-end" : "split-with-sidebar-start") : i && s ? l = a === "end" ? "dashboard-end" : "dashboard-start" : i ? l = a === "end" ? "dashboard-end-no-aside" : "dashboard-start-no-aside" : s && (l = a === "end" ? "dashboard-end-no-sidebar" : "dashboard-start-no-sidebar")), {
|
|
351
346
|
mode: t,
|
|
352
347
|
sidebarSide: a,
|
|
353
|
-
collapsed:
|
|
348
|
+
collapsed: e,
|
|
354
349
|
hasHeader: p,
|
|
355
350
|
hasFooter: y,
|
|
356
351
|
hasSidebarContent: u,
|
|
@@ -367,13 +362,12 @@ class g extends m {
|
|
|
367
362
|
}
|
|
368
363
|
_syncShell(t) {
|
|
369
364
|
const a = this._computeShellState();
|
|
370
|
-
if (!a || !this._bodyEl)
|
|
371
|
-
return;
|
|
365
|
+
if (!a || !this._bodyEl) return;
|
|
372
366
|
this._headerEl && (this._headerEl.hidden = !a.hasHeader), this._footerEl && (this._footerEl.hidden = !a.hasFooter), this.style.setProperty("--ui-layout-sidebar-track", a.sidebarTrack), this.style.setProperty("--ui-layout-aside-track", a.asideTrack), this._sidebarPanel && (this._sidebarPanel.hidden = !a.sidebarVisible), this._contentPanel && (this._contentPanel.hidden = !a.hasContent), this._asidePanel && (this._asidePanel.hidden = !a.asideVisible), this._bodyEl.hidden = !a.bodyVisible, this._bodyEl.dataset.layout = a.layout, this._bodyEl.dataset.mode = a.mode, this._bodyEl.dataset.sidebarSide = a.sidebarSide, a.stack ? this._bodyEl.classList.add("stack") : this._bodyEl.classList.remove("stack");
|
|
373
|
-
const
|
|
374
|
-
t.emit &&
|
|
367
|
+
const e = this._signature(a);
|
|
368
|
+
t.emit && e !== this._lastLayoutSignature && this._emitLayoutChange(a), this._lastLayoutSignature = e;
|
|
375
369
|
}
|
|
376
|
-
shouldRenderOnAttributeChange(t, a,
|
|
370
|
+
shouldRenderOnAttributeChange(t, a, e) {
|
|
377
371
|
return !1;
|
|
378
372
|
}
|
|
379
373
|
render() {
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";const b=require("./collection-qv8A8rq4.js"),y=require("./collection.cjs.js");function E(s){return!!(s&&typeof s=="object"&&"disabled"in s&&s.disabled)}function w(s,t,e=E){return t==="first"?b.findFirstEnabledIndex(s,e):b.findLastEnabledIndex(s,e)}function C(s,t={}){const e=t.getDisabled||E,i=t.activeIndex??-1,c=t.selectedIndex??-1;return i>=0&&i<s.length&&!e(s[i])?i:c>=0&&c<s.length&&!e(s[c])?c:b.findFirstEnabledIndex(s,e)}function T(s,t,e,i={}){const c=typeof i.fallbackIndex=="number"?i.fallbackIndex:t;return b.findNextEnabledIndex(s,t>=0?t:c,e,i)}function X(s,t,e={}){return b.findTypeaheadMatch(s,t,e)}function S(s,t={block:"nearest",inline:"nearest"}){if(!s)return;const e=s.ownerDocument,i=e?.defaultView;if(!e||!i)return;const c=(a,r)=>{const o=i.getComputedStyle(a),u=r==="y"?o.overflowY||o.overflow:o.overflowX||o.overflow;return/(auto|scroll|overlay)/.test(u)};let n=s.parentElement;for(;n;){const a=c(n,"y")&&n.scrollHeight>n.clientHeight;if(c(n,"x")&&n.scrollWidth>n.clientWidth||a)break;n=n.parentElement}if(!n)return;const l=s.getBoundingClientRect(),h=n.getBoundingClientRect(),d=l.top-h.top+n.scrollTop,f=d+l.height,v=l.left-h.left+n.scrollLeft,D=v+l.width,I=(a,r,o,u,W)=>{const m=W||"nearest",p=o-r;return m==="start"?r:m==="end"?o-u:m==="center"?r-(u-p)/2:p>=u||r<a?r:o>a+u?o-u:a},q=I(n.scrollTop,d,f,n.clientHeight,t.block),M=I(n.scrollLeft,v,D,n.clientWidth,t.inline),R=Math.max(0,n.scrollHeight-n.clientHeight),H=Math.max(0,n.scrollWidth-n.clientWidth),A=Math.max(0,Math.min(R,q)),g=Math.max(0,Math.min(H,M));Math.abs(n.scrollTop-A)>.5&&(n.scrollTop=A),Math.abs(n.scrollLeft-g)>.5&&(n.scrollLeft=g)}function B(s,t){s&&(t?s.setAttribute("aria-activedescendant",t):s.removeAttribute("aria-activedescendant"))}const x="data-ui-listbox-base-style",L=`
|
|
2
|
+
ui-listbox {
|
|
3
|
+
display: block;
|
|
4
|
+
min-inline-size: 0;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
ui-listbox[role="menu"] {
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
gap: 0;
|
|
11
|
+
min-inline-size: 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
ui-listbox .option-text,
|
|
15
|
+
ui-listbox [data-option-text] {
|
|
16
|
+
min-inline-size: 0;
|
|
17
|
+
display: grid;
|
|
18
|
+
gap: 1px;
|
|
19
|
+
flex: 1 1 auto;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
ui-listbox .option-label,
|
|
23
|
+
ui-listbox [data-option-label] {
|
|
24
|
+
display: block;
|
|
25
|
+
min-inline-size: 0;
|
|
26
|
+
overflow: hidden;
|
|
27
|
+
text-overflow: ellipsis;
|
|
28
|
+
white-space: nowrap;
|
|
29
|
+
font-size: inherit;
|
|
30
|
+
line-height: inherit;
|
|
31
|
+
letter-spacing: inherit;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
ui-listbox .option-description,
|
|
35
|
+
ui-listbox [data-option-description] {
|
|
36
|
+
display: block;
|
|
37
|
+
min-inline-size: 0;
|
|
38
|
+
overflow: hidden;
|
|
39
|
+
text-overflow: ellipsis;
|
|
40
|
+
white-space: nowrap;
|
|
41
|
+
color: color-mix(in srgb, currentColor 58%, transparent);
|
|
42
|
+
font-size: 0.92em;
|
|
43
|
+
line-height: 1.35;
|
|
44
|
+
letter-spacing: inherit;
|
|
45
|
+
}
|
|
46
|
+
`;function k(s,t){s.removeAttribute(t)}function z(s){const t=s.getAttribute("tabindex");return t!=null?t!=="-1"||s.matches(":focus"):typeof s.focus=="function"}class _ extends y.UICollection{constructor(){super(...arguments),this._onClickBound=this._onClick.bind(this)}connectedCallback(){this._ensureBaseStyle(),super.connectedCallback(),this.addEventListener("click",this._onClickBound)}disconnectedCallback(){this.removeEventListener("click",this._onClickBound),super.disconnectedCallback()}static get observedAttributes(){return[...y.UICollection.observedAttributes,"active-attribute"]}get activeAttribute(){return this.getAttribute("active-attribute")||"data-active"}set activeAttribute(t){t?this.setAttribute("active-attribute",t):this.removeAttribute("active-attribute")}getActiveItem(t={}){const e=this.activeAttribute;return this.queryItems(t).find(i=>i.getAttribute(e)==="true")||null}clearActive(t={}){const e=this.activeAttribute;this.queryItems(t).forEach(i=>{k(i,e),i.hasAttribute("disabled")||i.setAttribute("tabindex","-1")})}setActiveItem(t,e={}){const i=this.queryItems(e),c=this.activeAttribute,n=t&&i.includes(t)?t:null;if(i.forEach(l=>{l===n?(l.setAttribute(c,"true"),z(l)&&l.setAttribute("tabindex","0")):(k(l,c),l.hasAttribute("disabled")||l.setAttribute("tabindex","-1"))}),B(e.owner||null,n?.id||null),!n)return null;if(e.scroll!==!1&&S(n,{block:"nearest",inline:"nearest"}),e.focus)try{n.focus({preventScroll:e.scroll===!1})}catch{n.focus()}return n}focusBoundary(t,e={}){const i=this.queryItems(e),c=w(i,t,n=>this.isItemDisabled(n));return c<0?null:this.setActiveItem(i[c],e)}move(t,e={}){const i=this.queryItems(e);if(!i.length)return null;const c=e.current||this.getActiveItem(e),n=c?i.indexOf(c):-1,h=C(i,{activeIndex:n,selectedIndex:n,getDisabled:f=>this.isItemDisabled(f)}),d=T(i,n,t,{wrap:e.wrap!==!1,fallbackIndex:h,getDisabled:f=>this.isItemDisabled(f)});return d<0?null:this.setActiveItem(i[d],e)}typeahead(t,e={}){const i=e.current||this.getActiveItem(e),c=this.queryEnabledItems(e),n=i?c.indexOf(i):-1,l=this.findTypeaheadMatch(t,{container:e.container,startIndex:n});return l?this.setActiveItem(l,e):null}_ensureBaseStyle(){const t=this.getRootNode();if(t instanceof ShadowRoot){if(t.querySelector(`style[${x}]`))return;const i=document.createElement("style");i.setAttribute(x,""),i.textContent=L,t.append(i);return}if(typeof document>"u"||document.head.querySelector(`style[${x}]`))return;const e=document.createElement("style");e.setAttribute(x,""),e.textContent=L,document.head.append(e)}_onClick(t){const e=t.target;if(!e)return;const i=e.closest(this.itemSelector);if(!i||!this.contains(i)||this.isItemDisabled(i))return;const c=this.setActiveItem(i,{focus:!1,scroll:!1});c&&this.dispatchEvent(new CustomEvent("select",{detail:{value:c.getAttribute("data-value")||c.getAttribute("value")||c.textContent||"",item:c},bubbles:!0,composed:!0}))}}typeof customElements<"u"&&!customElements.get("ui-listbox")&&customElements.define("ui-listbox",_);exports.UIListbox=_;exports.findListboxTypeaheadIndex=X;exports.getListboxBoundaryIndex=w;exports.moveListboxActiveIndex=T;exports.resolveListboxActiveIndex=C;exports.scrollListboxItemIntoView=S;exports.syncActiveDescendant=B;
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { f as E, b as D, c as M, d as q } from "./collection-C7URGjEI.mjs";
|
|
2
|
+
import { UICollection as A } from "./collection.esm.js";
|
|
3
|
+
function L(s) {
|
|
4
|
+
return !!(s && typeof s == "object" && "disabled" in s && s.disabled);
|
|
5
|
+
}
|
|
6
|
+
function R(s, t, e = L) {
|
|
7
|
+
return t === "first" ? E(s, e) : D(s, e);
|
|
8
|
+
}
|
|
9
|
+
function H(s, t = {}) {
|
|
10
|
+
const e = t.getDisabled || L, i = t.activeIndex ?? -1, l = t.selectedIndex ?? -1;
|
|
11
|
+
return i >= 0 && i < s.length && !e(s[i]) ? i : l >= 0 && l < s.length && !e(s[l]) ? l : E(s, e);
|
|
12
|
+
}
|
|
13
|
+
function W(s, t, e, i = {}) {
|
|
14
|
+
const l = typeof i.fallbackIndex == "number" ? i.fallbackIndex : t;
|
|
15
|
+
return M(s, t >= 0 ? t : l, e, i);
|
|
16
|
+
}
|
|
17
|
+
function N(s, t, e = {}) {
|
|
18
|
+
return q(s, t, e);
|
|
19
|
+
}
|
|
20
|
+
function X(s, t = { block: "nearest", inline: "nearest" }) {
|
|
21
|
+
if (!s) return;
|
|
22
|
+
const e = s.ownerDocument, i = e?.defaultView;
|
|
23
|
+
if (!e || !i) return;
|
|
24
|
+
const l = (a, r) => {
|
|
25
|
+
const o = i.getComputedStyle(a), u = r === "y" ? o.overflowY || o.overflow : o.overflowX || o.overflow;
|
|
26
|
+
return /(auto|scroll|overlay)/.test(u);
|
|
27
|
+
};
|
|
28
|
+
let n = s.parentElement;
|
|
29
|
+
for (; n; ) {
|
|
30
|
+
const a = l(n, "y") && n.scrollHeight > n.clientHeight;
|
|
31
|
+
if (l(n, "x") && n.scrollWidth > n.clientWidth || a) break;
|
|
32
|
+
n = n.parentElement;
|
|
33
|
+
}
|
|
34
|
+
if (!n) return;
|
|
35
|
+
const c = s.getBoundingClientRect(), b = n.getBoundingClientRect(), d = c.top - b.top + n.scrollTop, f = d + c.height, m = c.left - b.left + n.scrollLeft, w = m + c.width, v = (a, r, o, u, _) => {
|
|
36
|
+
const x = _ || "nearest", p = o - r;
|
|
37
|
+
return x === "start" ? r : x === "end" ? o - u : x === "center" ? r - (u - p) / 2 : p >= u || r < a ? r : o > a + u ? o - u : a;
|
|
38
|
+
}, C = v(n.scrollTop, d, f, n.clientHeight, t.block), T = v(n.scrollLeft, m, w, n.clientWidth, t.inline), S = Math.max(0, n.scrollHeight - n.clientHeight), B = Math.max(0, n.scrollWidth - n.clientWidth), g = Math.max(0, Math.min(S, C)), I = Math.max(0, Math.min(B, T));
|
|
39
|
+
Math.abs(n.scrollTop - g) > 0.5 && (n.scrollTop = g), Math.abs(n.scrollLeft - I) > 0.5 && (n.scrollLeft = I);
|
|
40
|
+
}
|
|
41
|
+
function z(s, t) {
|
|
42
|
+
s && (t ? s.setAttribute("aria-activedescendant", t) : s.removeAttribute("aria-activedescendant"));
|
|
43
|
+
}
|
|
44
|
+
const h = "data-ui-listbox-base-style", y = `
|
|
45
|
+
ui-listbox {
|
|
46
|
+
display: block;
|
|
47
|
+
min-inline-size: 0;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
ui-listbox[role="menu"] {
|
|
51
|
+
display: flex;
|
|
52
|
+
flex-direction: column;
|
|
53
|
+
gap: 0;
|
|
54
|
+
min-inline-size: 0;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
ui-listbox .option-text,
|
|
58
|
+
ui-listbox [data-option-text] {
|
|
59
|
+
min-inline-size: 0;
|
|
60
|
+
display: grid;
|
|
61
|
+
gap: 1px;
|
|
62
|
+
flex: 1 1 auto;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
ui-listbox .option-label,
|
|
66
|
+
ui-listbox [data-option-label] {
|
|
67
|
+
display: block;
|
|
68
|
+
min-inline-size: 0;
|
|
69
|
+
overflow: hidden;
|
|
70
|
+
text-overflow: ellipsis;
|
|
71
|
+
white-space: nowrap;
|
|
72
|
+
font-size: inherit;
|
|
73
|
+
line-height: inherit;
|
|
74
|
+
letter-spacing: inherit;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
ui-listbox .option-description,
|
|
78
|
+
ui-listbox [data-option-description] {
|
|
79
|
+
display: block;
|
|
80
|
+
min-inline-size: 0;
|
|
81
|
+
overflow: hidden;
|
|
82
|
+
text-overflow: ellipsis;
|
|
83
|
+
white-space: nowrap;
|
|
84
|
+
color: color-mix(in srgb, currentColor 58%, transparent);
|
|
85
|
+
font-size: 0.92em;
|
|
86
|
+
line-height: 1.35;
|
|
87
|
+
letter-spacing: inherit;
|
|
88
|
+
}
|
|
89
|
+
`;
|
|
90
|
+
function k(s, t) {
|
|
91
|
+
s.removeAttribute(t);
|
|
92
|
+
}
|
|
93
|
+
function O(s) {
|
|
94
|
+
const t = s.getAttribute("tabindex");
|
|
95
|
+
return t != null ? t !== "-1" || s.matches(":focus") : typeof s.focus == "function";
|
|
96
|
+
}
|
|
97
|
+
class Y extends A {
|
|
98
|
+
constructor() {
|
|
99
|
+
super(...arguments), this._onClickBound = this._onClick.bind(this);
|
|
100
|
+
}
|
|
101
|
+
connectedCallback() {
|
|
102
|
+
this._ensureBaseStyle(), super.connectedCallback(), this.addEventListener("click", this._onClickBound);
|
|
103
|
+
}
|
|
104
|
+
disconnectedCallback() {
|
|
105
|
+
this.removeEventListener("click", this._onClickBound), super.disconnectedCallback();
|
|
106
|
+
}
|
|
107
|
+
static get observedAttributes() {
|
|
108
|
+
return [...A.observedAttributes, "active-attribute"];
|
|
109
|
+
}
|
|
110
|
+
get activeAttribute() {
|
|
111
|
+
return this.getAttribute("active-attribute") || "data-active";
|
|
112
|
+
}
|
|
113
|
+
set activeAttribute(t) {
|
|
114
|
+
t ? this.setAttribute("active-attribute", t) : this.removeAttribute("active-attribute");
|
|
115
|
+
}
|
|
116
|
+
getActiveItem(t = {}) {
|
|
117
|
+
const e = this.activeAttribute;
|
|
118
|
+
return this.queryItems(t).find((i) => i.getAttribute(e) === "true") || null;
|
|
119
|
+
}
|
|
120
|
+
clearActive(t = {}) {
|
|
121
|
+
const e = this.activeAttribute;
|
|
122
|
+
this.queryItems(t).forEach((i) => {
|
|
123
|
+
k(i, e), i.hasAttribute("disabled") || i.setAttribute("tabindex", "-1");
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
setActiveItem(t, e = {}) {
|
|
127
|
+
const i = this.queryItems(e), l = this.activeAttribute, n = t && i.includes(t) ? t : null;
|
|
128
|
+
if (i.forEach((c) => {
|
|
129
|
+
c === n ? (c.setAttribute(l, "true"), O(c) && c.setAttribute("tabindex", "0")) : (k(c, l), c.hasAttribute("disabled") || c.setAttribute("tabindex", "-1"));
|
|
130
|
+
}), z(e.owner || null, n?.id || null), !n) return null;
|
|
131
|
+
if (e.scroll !== !1 && X(n, { block: "nearest", inline: "nearest" }), e.focus)
|
|
132
|
+
try {
|
|
133
|
+
n.focus({ preventScroll: e.scroll === !1 });
|
|
134
|
+
} catch {
|
|
135
|
+
n.focus();
|
|
136
|
+
}
|
|
137
|
+
return n;
|
|
138
|
+
}
|
|
139
|
+
focusBoundary(t, e = {}) {
|
|
140
|
+
const i = this.queryItems(e), l = R(i, t, (n) => this.isItemDisabled(n));
|
|
141
|
+
return l < 0 ? null : this.setActiveItem(i[l], e);
|
|
142
|
+
}
|
|
143
|
+
move(t, e = {}) {
|
|
144
|
+
const i = this.queryItems(e);
|
|
145
|
+
if (!i.length) return null;
|
|
146
|
+
const l = e.current || this.getActiveItem(e), n = l ? i.indexOf(l) : -1, b = H(i, {
|
|
147
|
+
activeIndex: n,
|
|
148
|
+
selectedIndex: n,
|
|
149
|
+
getDisabled: (f) => this.isItemDisabled(f)
|
|
150
|
+
}), d = W(i, n, t, {
|
|
151
|
+
wrap: e.wrap !== !1,
|
|
152
|
+
fallbackIndex: b,
|
|
153
|
+
getDisabled: (f) => this.isItemDisabled(f)
|
|
154
|
+
});
|
|
155
|
+
return d < 0 ? null : this.setActiveItem(i[d], e);
|
|
156
|
+
}
|
|
157
|
+
typeahead(t, e = {}) {
|
|
158
|
+
const i = e.current || this.getActiveItem(e), l = this.queryEnabledItems(e), n = i ? l.indexOf(i) : -1, c = this.findTypeaheadMatch(t, { container: e.container, startIndex: n });
|
|
159
|
+
return c ? this.setActiveItem(c, e) : null;
|
|
160
|
+
}
|
|
161
|
+
_ensureBaseStyle() {
|
|
162
|
+
const t = this.getRootNode();
|
|
163
|
+
if (t instanceof ShadowRoot) {
|
|
164
|
+
if (t.querySelector(`style[${h}]`)) return;
|
|
165
|
+
const i = document.createElement("style");
|
|
166
|
+
i.setAttribute(h, ""), i.textContent = y, t.append(i);
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
if (typeof document > "u" || document.head.querySelector(`style[${h}]`)) return;
|
|
170
|
+
const e = document.createElement("style");
|
|
171
|
+
e.setAttribute(h, ""), e.textContent = y, document.head.append(e);
|
|
172
|
+
}
|
|
173
|
+
_onClick(t) {
|
|
174
|
+
const e = t.target;
|
|
175
|
+
if (!e) return;
|
|
176
|
+
const i = e.closest(this.itemSelector);
|
|
177
|
+
if (!i || !this.contains(i) || this.isItemDisabled(i)) return;
|
|
178
|
+
const l = this.setActiveItem(i, { focus: !1, scroll: !1 });
|
|
179
|
+
l && this.dispatchEvent(
|
|
180
|
+
new CustomEvent("select", {
|
|
181
|
+
detail: {
|
|
182
|
+
value: l.getAttribute("data-value") || l.getAttribute("value") || l.textContent || "",
|
|
183
|
+
item: l
|
|
184
|
+
},
|
|
185
|
+
bubbles: !0,
|
|
186
|
+
composed: !0
|
|
187
|
+
})
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
typeof customElements < "u" && !customElements.get("ui-listbox") && customElements.define("ui-listbox", Y);
|
|
192
|
+
export {
|
|
193
|
+
Y as U,
|
|
194
|
+
z as a,
|
|
195
|
+
N as f,
|
|
196
|
+
R as g,
|
|
197
|
+
W as m,
|
|
198
|
+
H as r,
|
|
199
|
+
X as s
|
|
200
|
+
};
|
package/dist/listbox.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./listbox-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./listbox-B6QgECax.js");exports.UIListbox=e.UIListbox;
|
package/dist/listbox.esm.js
CHANGED
package/dist/marquee.cjs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("./ElementBase-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("./ElementBase-EV6mVBUV.js"),l="24px",f="48px",b=60,g=new Set(["none","sm","md","lg","full"]),v=new Set(["direction","speed","gap","size","padding"]),q=`
|
|
2
2
|
:host {
|
|
3
|
-
--ui-marquee-gap: ${
|
|
3
|
+
--ui-marquee-gap: ${l};
|
|
4
4
|
--ui-marquee-fade-size: ${f};
|
|
5
5
|
--ui-marquee-duration: 12s;
|
|
6
6
|
--ui-marquee-distance: 0px;
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
|
|
88
88
|
:host([size="md"]),
|
|
89
89
|
:host([size="2"]) {
|
|
90
|
-
--ui-marquee-gap: ${
|
|
90
|
+
--ui-marquee-gap: ${l};
|
|
91
91
|
--ui-marquee-padding-inline: 18px;
|
|
92
92
|
--ui-marquee-padding-block: 12px;
|
|
93
93
|
--ui-marquee-min-block-size: 56px;
|
|
@@ -496,7 +496,7 @@
|
|
|
496
496
|
mask-image: none !important;
|
|
497
497
|
}
|
|
498
498
|
}
|
|
499
|
-
`;function _(i){return i==="right"||i==="up"||i==="down"?i:"left"}function x(i,e){if(i==null||i==="")return e;const r=Number(i);return Number.isFinite(r)&&r>0?r:e}function
|
|
499
|
+
`;function _(i){return i==="right"||i==="up"||i==="down"?i:"left"}function x(i,e){if(i==null||i==="")return e;const r=Number(i);return Number.isFinite(r)&&r>0?r:e}function u(i){if(i==null||i.trim()==="")return null;const e=i.trim();return/^-?\d+(\.\d+)?$/.test(e)?`${e}px`:e}function y(i){return!!(i&&g.has(i.trim().toLowerCase()))}function z(i){return i.nodeType===Node.TEXT_NODE?!!i.textContent?.trim():i.nodeType===Node.ELEMENT_NODE}function m(i){if(i.tabIndex=-1,"inert"in i)try{i.inert=!0}catch{}if("disabled"in i)try{i.disabled=!0}catch{}i.setAttribute("aria-hidden","true"),i.removeAttribute("autofocus")}function k(i){if(i.nodeType!==Node.ELEMENT_NODE)return;const e=i;if(e.removeAttribute("id"),e.removeAttribute("slot"),e.setAttribute("data-marquee-clone",""),m(e),e instanceof HTMLAnchorElement&&e.removeAttribute("href"),e instanceof HTMLMediaElement){e.muted=!0,e.controls=!1,e.autoplay=!1,e.loop=!0;try{e.pause()}catch{}}e.querySelectorAll("*").forEach(t=>{if(t.removeAttribute("id"),t.removeAttribute("slot"),t.setAttribute("data-marquee-clone",""),m(t),t instanceof HTMLAnchorElement&&t.removeAttribute("href"),t instanceof HTMLMediaElement){t.muted=!0,t.controls=!1,t.autoplay=!1,t.loop=!0;try{t.pause()}catch{}}})}function E(i){if(i.nodeType===Node.TEXT_NODE)return document.createTextNode(i.textContent||"");if(i.nodeType!==Node.ELEMENT_NODE)return null;const e=i.cloneNode(!0);return k(e),e}class d extends p.ElementBase{constructor(){super(),this._slotEl=null,this._viewportEl=null,this._sourceEl=null,this._trackEl=null,this._cloneRootEl=null,this._resizeObserver=null,this._lightDomObserver=null,this._mediaQuery=null,this._measureFrame=null,this._cloneCount=0,this._onSlotChange=this._onSlotChange.bind(this),this._onContentMutation=this._onContentMutation.bind(this),this._onResize=this._onResize.bind(this),this._onReducedMotionChange=this._onReducedMotionChange.bind(this)}static get observedAttributes(){return["direction","speed","gap","fade","fade-size","paused","pause-on-hover","pause-on-focus","variant","tone","size","radius","elevation","padding"]}connectedCallback(){super.connectedCallback(),this._observeLightDom(),this._bindReducedMotion(),this._syncHostStyles()}disconnectedCallback(){if(this._slotEl&&(this._slotEl.removeEventListener("slotchange",this._onSlotChange),this._slotEl=null),this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null),this._lightDomObserver&&(this._lightDomObserver.disconnect(),this._lightDomObserver=null),this._mediaQuery){try{this._mediaQuery.removeEventListener("change",this._onReducedMotionChange)}catch{this._mediaQuery.removeListener(this._onReducedMotionChange)}this._mediaQuery=null}this._measureFrame!=null&&(this._cancelFrame(this._measureFrame),this._measureFrame=null),super.disconnectedCallback()}play(){this.removeAttribute("paused"),this._syncPlaybackState()}pause(){this.setAttribute("paused",""),this._syncPlaybackState()}refresh(){this._scheduleMeasurement(!0)}attributeChangedCallback(e,r,t){if(!(r===t||!e||!this.isConnected)){if((e==="gap"||e==="fade-size"||e==="radius"||e==="padding")&&this._syncHostStyles(),e==="paused"){this._syncPlaybackState();return}v.has(e)&&this._scheduleMeasurement(e!=="speed")}}shouldRenderOnAttributeChange(){return!1}render(){this.setContent(`
|
|
500
500
|
<style>${q}</style>
|
|
501
501
|
<div class="root" part="root">
|
|
502
502
|
<div class="viewport" part="viewport">
|
|
@@ -510,4 +510,4 @@
|
|
|
510
510
|
</div>
|
|
511
511
|
</div>
|
|
512
512
|
</div>
|
|
513
|
-
`),this._bindElements(),this._syncHostStyles(),this._scheduleMeasurement()}_bindElements(){const e=this.root.querySelector("slot");e&&e!==this._slotEl&&(this._slotEl&&this._slotEl.removeEventListener("slotchange",this._onSlotChange),e.addEventListener("slotchange",this._onSlotChange),this._slotEl=e),this._viewportEl=this.root.querySelector(".viewport"),this._sourceEl=this.root.querySelector(".source"),this._trackEl=this.root.querySelector(".track"),this._cloneRootEl=this.root.querySelector(".clone-root"),this._ensureResizeObserver()}_observeLightDom(){this._lightDomObserver||typeof MutationObserver>"u"||(this._lightDomObserver=new MutationObserver(this._onContentMutation),this._lightDomObserver.observe(this,{childList:!0,subtree:!0,characterData:!0,attributes:!0}))}_bindReducedMotion(){if(!(this._mediaQuery||typeof window>"u"||typeof window.matchMedia!="function")){this._mediaQuery=window.matchMedia("(prefers-reduced-motion: reduce)");try{this._mediaQuery.addEventListener("change",this._onReducedMotionChange)}catch{this._mediaQuery.addListener(this._onReducedMotionChange)}this._syncPlaybackState()}}_ensureResizeObserver(){
|
|
513
|
+
`),this._bindElements(),this._syncHostStyles(),this._scheduleMeasurement()}_bindElements(){const e=this.root.querySelector("slot");e&&e!==this._slotEl&&(this._slotEl&&this._slotEl.removeEventListener("slotchange",this._onSlotChange),e.addEventListener("slotchange",this._onSlotChange),this._slotEl=e),this._viewportEl=this.root.querySelector(".viewport"),this._sourceEl=this.root.querySelector(".source"),this._trackEl=this.root.querySelector(".track"),this._cloneRootEl=this.root.querySelector(".clone-root"),this._ensureResizeObserver()}_observeLightDom(){this._lightDomObserver||typeof MutationObserver>"u"||(this._lightDomObserver=new MutationObserver(this._onContentMutation),this._lightDomObserver.observe(this,{childList:!0,subtree:!0,characterData:!0,attributes:!0}))}_bindReducedMotion(){if(!(this._mediaQuery||typeof window>"u"||typeof window.matchMedia!="function")){this._mediaQuery=window.matchMedia("(prefers-reduced-motion: reduce)");try{this._mediaQuery.addEventListener("change",this._onReducedMotionChange)}catch{this._mediaQuery.addListener(this._onReducedMotionChange)}this._syncPlaybackState()}}_ensureResizeObserver(){if(!this.isConnected||typeof ResizeObserver>"u")return;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))}_onSlotChange(){this._ensureResizeObserver(),this._scheduleMeasurement(!0)}_onContentMutation(){this._ensureResizeObserver(),this._scheduleMeasurement(!0)}_onResize(){this._scheduleMeasurement()}_onReducedMotionChange(){this._syncPlaybackState()}_scheduleMeasurement(e=!1){this.isConnected&&(this._measureFrame!=null&&(this._cancelFrame(this._measureFrame),this._measureFrame=null),this._measureFrame=this._requestFrame(()=>{this._measureFrame=null,this._syncLayout(e)}))}_syncLayout(e=!1){if(!this._viewportEl||!this._sourceEl||!this._cloneRootEl)return;const r=_(this.getAttribute("direction"));this.hasAttribute("direction")||this.setAttribute("direction",r);const t=this._measureCssLength(this.style.getPropertyValue("--ui-marquee-gap")||l),a=x(this.getAttribute("speed"),b),n=this._measureSourceSize(r),s=this._measureViewportSize(r);if(n<=0||s<=0){this._cloneRootEl.innerHTML="",this._cloneCount=0,this._setRuntimeState("idle"),this.style.setProperty("--ui-marquee-distance","0px"),this.style.setProperty("--ui-marquee-duration","0s");return}const o=Math.max(n+t,n),c=Math.max(1,Math.ceil((s+t)/Math.max(o,1))+1);(e||c!==this._cloneCount||!this._cloneRootEl.childElementCount)&&this._syncClones(c);const h=Math.max(o/a,.1);this.style.setProperty("--ui-marquee-distance",`${o}px`),this.style.setProperty("--ui-marquee-duration",`${h}s`),this._setRuntimeState(this._isMotionPaused()?"paused":"running")}_syncClones(e){if(!this._cloneRootEl)return;this._cloneRootEl.innerHTML="",this._cloneCount=e;const r=this._slotEl?.assignedNodes({flatten:!0}).filter(z)||[];for(let t=0;t<e;t+=1){const a=document.createElement("div");a.className="lane lane--clone",a.setAttribute("part","lane lane-clone"),a.setAttribute("aria-hidden","true");const n=document.createElement("div");n.className="clone-content",n.setAttribute("part","clone-content"),r.forEach(s=>{const o=E(s);o&&n.appendChild(o)}),a.appendChild(n),this._cloneRootEl.appendChild(a)}}_syncHostStyles(){const e=u(this.getAttribute("gap")),r=u(this.getAttribute("fade-size")),t=u(this.getAttribute("padding")),a=u(this.getAttribute("radius"));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&&!y(this.getAttribute("radius"))?this.style.setProperty("--ui-marquee-radius",a):this.style.removeProperty("--ui-marquee-radius"),this._syncPlaybackState()}_syncPlaybackState(){this._trackEl&&this._setRuntimeState(this._isMotionPaused()?"paused":"running")}_setRuntimeState(e){this.getAttribute("data-state")!==e&&this.setAttribute("data-state",e)}_isMotionPaused(){return this.hasAttribute("paused")?!0:!!this._mediaQuery?.matches}_measureViewportSize(e){return this._viewportEl?e==="up"||e==="down"?this._viewportEl.clientHeight||this._viewportEl.getBoundingClientRect().height||0:this._viewportEl.clientWidth||this._viewportEl.getBoundingClientRect().width||0:0}_measureSourceSize(e){if(!this._sourceEl)return 0;const r=this._sourceEl.getBoundingClientRect();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)}_measureCssLength(e){const r=e.trim();if(!r)return 0;if(/^-?\d+(\.\d+)?px$/.test(r)||/^-?\d+(\.\d+)?$/.test(r))return parseFloat(r);const t=document.createElement("div");t.style.position="absolute",t.style.visibility="hidden",t.style.pointerEvents="none",t.style.inlineSize=r,this.appendChild(t);const a=parseFloat(getComputedStyle(t).inlineSize||getComputedStyle(t).width||"0");return t.remove(),Number.isFinite(a)?a:0}_requestFrame(e){return typeof requestAnimationFrame=="function"?requestAnimationFrame(e):window.setTimeout(()=>e(performance.now()),16)}_cancelFrame(e){if(typeof cancelAnimationFrame=="function"){cancelAnimationFrame(e);return}window.clearTimeout(e)}}typeof customElements<"u"&&!customElements.get("ui-marquee")&&customElements.define("ui-marquee",d);exports.UIMarquee=d;
|