@editora/ui-core 0.1.18 → 0.1.20
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 -669
- 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 +4 -7
- package/dist/color-picker.cjs.js +9 -9
- package/dist/color-picker.esm.js +189 -252
- 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-button.d.ts +1 -0
- package/dist/components/ui-button.d.ts.map +1 -1
- package/dist/components/ui-date-picker.d.ts.map +1 -1
- package/dist/components/ui-date-range-picker.d.ts.map +1 -1
- package/dist/components/ui-date-range-time-picker.d.ts +1 -0
- package/dist/components/ui-date-range-time-picker.d.ts.map +1 -1
- package/dist/components/ui-date-time-picker.d.ts +1 -0
- package/dist/components/ui-date-time-picker.d.ts.map +1 -1
- package/dist/components/ui-orbiter.d.ts.map +1 -1
- package/dist/components/ui-skeleton.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-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 +30 -9
- package/dist/date-picker.esm.js +90 -97
- package/dist/date-range-picker.cjs.js +22 -3
- package/dist/date-range-picker.esm.js +103 -108
- package/dist/date-range-time-picker.cjs.js +28 -12
- package/dist/date-range-time-picker.esm.js +137 -150
- package/dist/date-time-picker.cjs.js +25 -9
- package/dist/date-time-picker.esm.js +139 -155
- 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 +4 -4
- package/dist/multi-select.esm.js +120 -140
- 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 +2 -2
- package/dist/portal.esm.js +10 -19
- 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 +11 -18
- package/dist/presence.cjs.js +1 -1
- package/dist/presence.esm.js +7 -13
- 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/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 +45 -45
- package/dist/sortable.esm.js +421 -524
- 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 +3 -3
- package/dist/tabs.esm.js +35 -55
- package/dist/tags-input.cjs.js +4 -4
- package/dist/tags-input.esm.js +45 -62
- package/dist/textarea.cjs.js +6 -6
- package/dist/textarea.esm.js +32 -41
- package/dist/time-field.cjs.js +4 -4
- package/dist/time-field.esm.js +70 -84
- package/dist/time-picker.cjs.js +29 -21
- package/dist/time-picker.esm.js +96 -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 +19 -19
- package/dist/transfer-list.esm.js +98 -111
- 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 +3 -3
- 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
|
@@ -1,72 +1,67 @@
|
|
|
1
|
-
import { E as x } from "./ElementBase-
|
|
1
|
+
import { E as x } from "./ElementBase-YlTLMsGk.mjs";
|
|
2
2
|
import { hasIcon as h, renderIconSvg as k } from "@editora/icons";
|
|
3
|
-
const
|
|
4
|
-
function c(
|
|
5
|
-
return String(
|
|
3
|
+
const a = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map();
|
|
4
|
+
function c(i) {
|
|
5
|
+
return String(i || "").trim().toLowerCase().replace(/\s+/g, "-").replace(/_/g, "-");
|
|
6
6
|
}
|
|
7
|
-
function y(
|
|
8
|
-
if (!e)
|
|
9
|
-
|
|
10
|
-
const i = e.variant || "outline", t = e.iconWeight || "", n = e.secondaryColor || "", o = e.strokeWidth == null ? "" : String(e.strokeWidth), a = e.absoluteStrokeWidth ? "1" : "0", g = e.strokeLinecap || "", f = e.strokeLinejoin || "", m = e.rotate == null ? "" : String(e.rotate), p = e.flip || "", v = e.rtl ? "1" : "0";
|
|
7
|
+
function y(i, e) {
|
|
8
|
+
if (!e) return `${i}::default`;
|
|
9
|
+
const r = e.variant || "outline", t = e.iconWeight || "", n = e.secondaryColor || "", o = e.strokeWidth == null ? "" : String(e.strokeWidth), s = e.absoluteStrokeWidth ? "1" : "0", b = e.strokeLinecap || "", g = e.strokeLinejoin || "", f = e.rotate == null ? "" : String(e.rotate), m = e.flip || "", v = e.rtl ? "1" : "0";
|
|
11
10
|
return [
|
|
12
|
-
r,
|
|
13
11
|
i,
|
|
12
|
+
r,
|
|
14
13
|
t,
|
|
15
14
|
n,
|
|
16
15
|
o,
|
|
17
|
-
|
|
16
|
+
s,
|
|
17
|
+
b,
|
|
18
18
|
g,
|
|
19
19
|
f,
|
|
20
20
|
m,
|
|
21
|
-
p,
|
|
22
21
|
v
|
|
23
22
|
].join("::");
|
|
24
23
|
}
|
|
25
|
-
function I(
|
|
26
|
-
const
|
|
27
|
-
|
|
24
|
+
function I(i, e) {
|
|
25
|
+
const r = c(i);
|
|
26
|
+
r && a.set(r, e);
|
|
28
27
|
}
|
|
29
|
-
function S(
|
|
30
|
-
const e = c(
|
|
31
|
-
e &&
|
|
28
|
+
function S(i) {
|
|
29
|
+
const e = c(i);
|
|
30
|
+
e && a.delete(e);
|
|
32
31
|
}
|
|
33
32
|
function L() {
|
|
34
|
-
|
|
33
|
+
a.clear();
|
|
35
34
|
}
|
|
36
|
-
function $(
|
|
37
|
-
const e = c(
|
|
38
|
-
return e ?
|
|
35
|
+
function $(i) {
|
|
36
|
+
const e = c(i);
|
|
37
|
+
return e ? a.has(e) ? !0 : h(e) : !1;
|
|
39
38
|
}
|
|
40
|
-
function j(
|
|
41
|
-
return
|
|
39
|
+
function j(i, e) {
|
|
40
|
+
return p(i, { variant: e });
|
|
42
41
|
}
|
|
43
|
-
function
|
|
44
|
-
const
|
|
45
|
-
if (!
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if (
|
|
49
|
-
|
|
50
|
-
if (
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
strokeLinejoin: e == null ? void 0 : e.strokeLinejoin,
|
|
63
|
-
rotate: e == null ? void 0 : e.rotate,
|
|
64
|
-
flip: e == null ? void 0 : e.flip,
|
|
65
|
-
rtl: e == null ? void 0 : e.rtl,
|
|
42
|
+
function p(i, e) {
|
|
43
|
+
const r = c(i);
|
|
44
|
+
if (!r) return "";
|
|
45
|
+
const t = a.get(r);
|
|
46
|
+
if (t) return t;
|
|
47
|
+
if (!h(r)) return "";
|
|
48
|
+
const n = y(r, e), o = l.get(n);
|
|
49
|
+
if (o) return o;
|
|
50
|
+
const s = k(r, {
|
|
51
|
+
variant: e?.variant || "outline",
|
|
52
|
+
iconWeight: e?.iconWeight,
|
|
53
|
+
secondaryColor: e?.secondaryColor,
|
|
54
|
+
strokeWidth: e?.strokeWidth,
|
|
55
|
+
absoluteStrokeWidth: e?.absoluteStrokeWidth,
|
|
56
|
+
strokeLinecap: e?.strokeLinecap,
|
|
57
|
+
strokeLinejoin: e?.strokeLinejoin,
|
|
58
|
+
rotate: e?.rotate,
|
|
59
|
+
flip: e?.flip,
|
|
60
|
+
rtl: e?.rtl,
|
|
66
61
|
color: "currentColor",
|
|
67
62
|
decorative: !0
|
|
68
63
|
});
|
|
69
|
-
return
|
|
64
|
+
return s && l.set(n, s), s;
|
|
70
65
|
}
|
|
71
66
|
const z = `
|
|
72
67
|
:host {
|
|
@@ -266,19 +261,17 @@ const z = `
|
|
|
266
261
|
}
|
|
267
262
|
}
|
|
268
263
|
`;
|
|
269
|
-
function u(
|
|
270
|
-
return
|
|
264
|
+
function u(i) {
|
|
265
|
+
return i.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
271
266
|
}
|
|
272
|
-
function w(
|
|
273
|
-
if (!
|
|
274
|
-
|
|
275
|
-
const e = r.trim();
|
|
267
|
+
function w(i) {
|
|
268
|
+
if (!i) return null;
|
|
269
|
+
const e = i.trim();
|
|
276
270
|
return e ? /^\d+(\.\d+)?$/.test(e) ? `${e}px` : e : null;
|
|
277
271
|
}
|
|
278
|
-
function d(
|
|
279
|
-
if (!
|
|
280
|
-
|
|
281
|
-
const e = Number(r);
|
|
272
|
+
function d(i) {
|
|
273
|
+
if (!i) return;
|
|
274
|
+
const e = Number(i);
|
|
282
275
|
return Number.isFinite(e) ? e : void 0;
|
|
283
276
|
}
|
|
284
277
|
class C extends x {
|
|
@@ -314,8 +307,8 @@ class C extends x {
|
|
|
314
307
|
_syncDynamicVars() {
|
|
315
308
|
const e = w(this.getAttribute("size"));
|
|
316
309
|
e ? this.style.setProperty("--ui-icon-size", e) : this.style.removeProperty("--ui-icon-size");
|
|
317
|
-
const
|
|
318
|
-
|
|
310
|
+
const r = this.getAttribute("color");
|
|
311
|
+
r ? this.style.setProperty("--ui-icon-color", r) : this.style.removeProperty("--ui-icon-color");
|
|
319
312
|
const t = this.getAttribute("stroke-width");
|
|
320
313
|
t ? this.style.setProperty("--ui-icon-stroke-width", t) : this.style.removeProperty("--ui-icon-stroke-width");
|
|
321
314
|
}
|
|
@@ -324,7 +317,7 @@ class C extends x {
|
|
|
324
317
|
this.setContent("<style></style><slot></slot>");
|
|
325
318
|
return;
|
|
326
319
|
}
|
|
327
|
-
const e = this.getAttribute("name") || "",
|
|
320
|
+
const e = this.getAttribute("name") || "", r = this.getAttribute("label") || "", t = this.hasAttribute("decorative"), n = e ? p(e, {
|
|
328
321
|
variant: this.getAttribute("icon-variant") || void 0,
|
|
329
322
|
iconWeight: this.getAttribute("icon-weight") || void 0,
|
|
330
323
|
secondaryColor: this.getAttribute("secondary-color") || void 0,
|
|
@@ -335,10 +328,10 @@ class C extends x {
|
|
|
335
328
|
rotate: d(this.getAttribute("rotate")),
|
|
336
329
|
flip: this.getAttribute("flip") || void 0,
|
|
337
330
|
rtl: this.hasAttribute("rtl")
|
|
338
|
-
}) : "", o = !!n,
|
|
331
|
+
}) : "", o = !!n, s = t ? 'aria-hidden="true" role="presentation"' : `role="img" aria-label="${u(r || e || "icon")}"`;
|
|
339
332
|
this.setContent(`
|
|
340
333
|
<style>${z}</style>
|
|
341
|
-
<span class="icon" part="icon" ${
|
|
334
|
+
<span class="icon" part="icon" ${s}>
|
|
342
335
|
<span class="glyph" part="glyph">
|
|
343
336
|
${o ? n : `<span class="fallback" part="fallback">${u((e || "?").slice(0, 1).toUpperCase())}</span>`}
|
|
344
337
|
${o ? "" : "<slot></slot>"}
|
|
@@ -352,16 +345,16 @@ class C extends x {
|
|
|
352
345
|
})
|
|
353
346
|
), this._lastName = e);
|
|
354
347
|
}
|
|
355
|
-
shouldRenderOnAttributeChange(e,
|
|
348
|
+
shouldRenderOnAttributeChange(e, r, t) {
|
|
356
349
|
return !0;
|
|
357
350
|
}
|
|
358
351
|
}
|
|
359
352
|
typeof customElements < "u" && !customElements.get("ui-icon") && customElements.define("ui-icon", C);
|
|
360
353
|
export {
|
|
361
354
|
C as U,
|
|
362
|
-
|
|
355
|
+
j as a,
|
|
363
356
|
L as c,
|
|
364
|
-
|
|
357
|
+
p as g,
|
|
365
358
|
$ as h,
|
|
366
359
|
I as r,
|
|
367
360
|
S as u
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("./ElementBase-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("./ElementBase-EV6mVBUV.js"),a=`
|
|
2
2
|
:host {
|
|
3
3
|
display: contents;
|
|
4
4
|
color-scheme: light dark;
|
package/dist/wizard.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const k=require("./ElementBase-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const k=require("./ElementBase-EV6mVBUV.js"),$=`
|
|
2
2
|
:host {
|
|
3
3
|
--ui-wizard-bg: color-mix(in srgb, var(--ui-color-surface, #ffffff) 96%, transparent);
|
|
4
4
|
--ui-wizard-surface: color-mix(in srgb, var(--ui-color-surface, #ffffff) 99%, transparent);
|
|
@@ -608,7 +608,7 @@
|
|
|
608
608
|
color: Highlight;
|
|
609
609
|
}
|
|
610
610
|
}
|
|
611
|
-
`;function c(v){return v.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function m(v){if(v==null)return!1;const t=String(v).toLowerCase();return t!=="false"&&t!=="0"&&t!=="off"}let C=0;class w extends k.ElementBase{constructor(){super(),this._observer=null,this._instanceId=++C,this._isSyncingValueAttribute=!1,this._visited=new Set,this._lastDirection="none",this._stepButtons=[],this._progressEl=null,this._progressRow=null,this._statusStepEl=null,this._statusValueEl=null,this._prevBtn=null,this._nextBtn=null,this._onClick=this._onClick.bind(this),this._onKeyDown=this._onKeyDown.bind(this)}static get observedAttributes(){return["value","linear","show-stepper","stepper-position","hide-controls","variant","headless","keep-mounted","lazy-mount","animate","next-label","prev-label","finish-label","aria-label","orientation","density","shape","show-progress","busy","title","description","empty-label"]}connectedCallback(){super.connectedCallback(),this.root.addEventListener("click",this._onClick),this.root.addEventListener("keydown",this._onKeyDown),this._observer=new MutationObserver(t=>{t.some(i=>{if(i.type==="childList")return i.target===this;if(i.type!=="attributes")return!1;const a=i.target,r=i.attributeName||"";if(r==="slot")return a.getAttribute("slot")==="step"||a.matches('[slot="step"]');const s=a.closest('[slot="step"]');return!s||a!==s?!1:r==="data-value"||r==="data-title"||r==="data-description"||r==="data-optional"||r==="data-disabled"||r==="data-state"||r==="data-invalid"||r==="disabled"||r==="invalid"})&&this.requestRender()}),this._observer.observe(this,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["slot","data-value","data-title","data-description","data-optional","data-disabled","data-state","data-invalid","disabled","invalid"]})}disconnectedCallback(){this.root.removeEventListener("click",this._onClick),this.root.removeEventListener("keydown",this._onKeyDown),this._observer&&(this._observer.disconnect(),this._observer=null),super.disconnectedCallback()}attributeChangedCallback(t,e,i){if(e!==i){if(t==="value"){this._isSyncingValueAttribute||this._syncValueUi();return}this.isConnected&&this.requestRender()}}get value(){return this.getAttribute("value")||""}set value(t){const e=String(t||"");e?this.setAttribute("value",e):this.removeAttribute("value")}_isBusy(){return m(this.getAttribute("busy"))||this.hasAttribute("busy")}_isAnimationEnabled(){const t=this.getAttribute("animate");return t==null?!0:m(t)||t===""}_steps(){return Array.from(this.children).filter(e=>e instanceof HTMLElement&&e.getAttribute("slot")==="step").map((e,i)=>{const a=(e.getAttribute("data-state")||"").trim().toLowerCase(),r=a==="complete"||a==="success"||a==="warning"||a==="error"?a:"default";return{index:i,value:e.getAttribute("data-value")||String(i+1),title:e.getAttribute("data-title")||e.getAttribute("title")||`Step ${i+1}`,description:e.getAttribute("data-description")||"",optional:m(e.getAttribute("data-optional")),disabled:e.hasAttribute("disabled")||m(e.getAttribute("data-disabled")),state:r,node:e}})}_tabId(t){return`ui-wizard-${this._instanceId}-tab-${t}`}_panelId(t){return`ui-wizard-${this._instanceId}-panel-${t}`}_activeIndex(t){if(!t.length)return-1;const e=this.getAttribute("value")||"";if(e){const a=t.findIndex(r=>r.value===e);if(a>=0)return a}const i=t.find(a=>!a.disabled)||t[0];return i&&this.getAttribute("value")!==i.value&&this.setAttribute("value",i.value),t.findIndex(a=>a.value===i.value)}_visualStatus(t,e,i){return t.state==="error"?"error":t.state==="warning"?"warning":t.state==="success"?"success":t.state==="complete"||e<i?"complete":e===i?"current":"upcoming"}_markVisited(t,e){const i=t[e];i&&this._visited.add(i.value)}_dispatchBlockedNext(t,e,i,a){const r=e[i],s=e[a];this.dispatchEvent(new CustomEvent("blocked-next",{detail:{reason:t,currentIndex:i,nextIndex:a,currentValue:(r==null?void 0:r.value)||"",nextValue:(s==null?void 0:s.value)||""},bubbles:!0,composed:!0}))}_isStepInvalid(t,e){if(!t||t.node.hasAttribute("invalid")||m(t.node.getAttribute("data-invalid")))return!0;const i=new CustomEvent("validate-step",{detail:{index:e,value:t.value,title:t.title,node:t.node},bubbles:!0,composed:!0,cancelable:!0});return!this.dispatchEvent(i)}validateCurrentStep(){const t=this._steps();if(!t.length)return!1;const e=this._activeIndex(t);return e<0?!1:!this._isStepInvalid(t[e],e)}_syncPanels(t,e){const i=this.hasAttribute("keep-mounted"),a=this._isAnimationEnabled();this._markVisited(t,e),t.forEach((r,s)=>{const l=s===e,n=this._panelId(s),o=this._tabId(s),d=this._visited.has(r.value);r.node.id=n,r.node.setAttribute("role","tabpanel"),r.node.setAttribute("aria-labelledby",o),r.node.setAttribute("tabindex",l?"0":"-1"),r.node.setAttribute("data-active",l?"true":"false"),r.node.setAttribute("aria-hidden",l?"false":"true"),r.node.setAttribute("data-keep-mounted",i?"true":"false"),r.node.setAttribute("data-visible",l?"true":"false"),r.node.setAttribute("data-visited",d?"true":"false"),r.node.setAttribute("data-nav-direction",a?this._lastDirection:"none"),i?r.node.hidden=!1:r.node.hidden=!l})}_attemptChange(t,e,i,a){if(this._isBusy())return this._dispatchBlockedNext("busy",t,e,i),!1;if(i===e)return!0;if(i<0||i>=t.length)return this._dispatchBlockedNext("bounds",t,e,i),!1;const r=t[i];if(!r||r.disabled)return this._dispatchBlockedNext("disabled",t,e,i),!1;if(this.hasAttribute("linear")&&i>e+1)return this._dispatchBlockedNext("linear",t,e,i),!1;const s=t[e],l=i>e;if(l&&s&&this._isStepInvalid(s,e))return this._dispatchBlockedNext("validation",t,e,i),!1;const n=new CustomEvent("before-change",{detail:{currentIndex:e,nextIndex:i,currentValue:(s==null?void 0:s.value)||"",nextValue:r.value,trigger:a},bubbles:!0,composed:!0,cancelable:!0});if(!this.dispatchEvent(n))return!1;this._lastDirection=l?"forward":"backward",this.value=r.value;const o={index:i,value:r.value,title:r.title,trigger:a};return this.dispatchEvent(new CustomEvent("input",{detail:o,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:o,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("step-change",{detail:o,bubbles:!0,composed:!0})),!0}goTo(t){const e=this._steps();if(!e.length)return!1;const i=this._activeIndex(e),a=typeof t=="number"?t:e.findIndex(r=>r.value===String(t));return this._attemptChange(e,i,a,"api")}next(){var i,a;const t=this._steps();if(!t.length)return!1;const e=this._activeIndex(t);if(e>=t.length-1){if(this._isBusy())return!1;const r={index:e,value:((i=t[e])==null?void 0:i.value)||"",title:((a=t[e])==null?void 0:a.title)||""};return this.dispatchEvent(new CustomEvent("complete",{detail:r,bubbles:!0,composed:!0})),!0}return this._attemptChange(t,e,e+1,"next")}prev(){const t=this._steps();if(!t.length)return!1;const e=this._activeIndex(t);return this._attemptChange(t,e,e-1,"prev")}_onClick(t){const e=t.target;if(!e)return;if(e.closest(".btn-prev")){this.prev();return}if(e.closest(".btn-next")){this.next();return}const i=e.closest(".step");if(!i)return;const a=Number(i.getAttribute("data-index"));if(!Number.isInteger(a))return;const r=this._steps(),s=this._activeIndex(r);this._attemptChange(r,s,a,"stepper")}_onKeyDown(t){const e=this.getAttribute("orientation")==="vertical"?"vertical":"horizontal",i=e==="horizontal"&&getComputedStyle(this).direction==="rtl",a=e==="vertical"?"ArrowDown":i?"ArrowLeft":"ArrowRight",r=e==="vertical"?"ArrowUp":i?"ArrowRight":"ArrowLeft";if(t.altKey&&t.key===a){t.preventDefault(),this.next();return}if(t.altKey&&t.key===r){t.preventDefault(),this.prev();return}const s=t.target,l=s==null?void 0:s.closest(".step");if(!l)return;const n=this._stepButtons.filter(d=>!d.disabled);if(!n.length)return;const o=n.indexOf(l);if(!(o<0)){if(t.key===a){t.preventDefault(),n[(o+1)%n.length].focus();return}if(t.key===r){t.preventDefault(),n[(o-1+n.length)%n.length].focus();return}if(t.key==="Home"||t.key==="End"){t.preventDefault(),(t.key==="Home"?n[0]:n[n.length-1]).focus();return}(t.key===" "||t.key==="Enter")&&(t.preventDefault(),l.click())}}_syncValueUi(){var l;if(!this.isConnected)return;if(!this.root.querySelector(".frame")){this.requestRender();return}const t=this._steps();if(!t.length)return;this._isSyncingValueAttribute=!0;let e=-1;try{e=this._activeIndex(t)}finally{this._isSyncingValueAttribute=!1}this._syncPanels(t,e),this._stepButtons.forEach((n,o)=>{const d=o===e,p=this._visualStatus(t[o],o,e);n.setAttribute("data-active",d?"true":"false"),n.setAttribute("data-status",p),n.setAttribute("aria-selected",d?"true":"false"),n.setAttribute("tabindex",d?"0":"-1");const b=n.querySelector(".step-badge");b&&(p==="complete"||p==="success"?b.textContent="✓":p==="warning"?b.textContent="!":p==="error"?b.textContent="×":b.textContent=String(o+1));const h=n.closest(".step-item");h&&(h.setAttribute("data-status",p),h.setAttribute("data-complete",o<e?"true":"false"),h.setAttribute("data-current",d?"true":"false"))});const i=t.length,a=i<=1||e<0?0:Math.round(e/(i-1)*100);this._progressEl&&this._progressEl.style.setProperty("--ui-wizard-progress",`${a}%`),this._statusStepEl&&(this._statusStepEl.textContent=`Step ${Math.max(1,e+1)} of ${i}`),this._statusValueEl&&(this._statusValueEl.textContent=`${a}%`);const r=this._isBusy();if(this._prevBtn&&(this._prevBtn.disabled=e<=0||r),this._nextBtn){const n=e>=i-1,o=this.getAttribute("next-label")||"Next",d=this.getAttribute("finish-label")||"Finish";this._nextBtn.textContent=n?d:o,this._nextBtn.setAttribute("data-loading",r?"true":"false"),this._nextBtn.disabled=r||e<0||((l=t[e])==null?void 0:l.disabled)===!0}const s=this.root.querySelector(".frame");s&&s.setAttribute("aria-busy",r?"true":"false"),this._progressRow&&(this.getAttribute("show-progress")!=="false"&&i>0?this._progressRow.removeAttribute("hidden"):this._progressRow.setAttribute("hidden",""))}render(){const t=this._steps(),e=this._activeIndex(t);this._markVisited(t,e),this._syncPanels(t,e);const i=this.getAttribute("title")||"",a=this.getAttribute("description")||"",r=this.getAttribute("show-stepper")!=="false"&&t.length>0,s=this.getAttribute("show-progress")!=="false"&&t.length>0,l=this.getAttribute("stepper-position")==="bottom"?"bottom":"top",n=this.hasAttribute("hide-controls")||t.length===0,o=this.getAttribute("prev-label")||"Previous",d=this.getAttribute("next-label")||"Next",p=this.getAttribute("finish-label")||"Finish",b=this.getAttribute("empty-label")||'No wizard steps configured. Add elements with slot="step".',h=r?`
|
|
611
|
+
`;function c(g){return g.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function v(g){if(g==null)return!1;const t=String(g).toLowerCase();return t!=="false"&&t!=="0"&&t!=="off"}let C=0;class w extends k.ElementBase{constructor(){super(),this._observer=null,this._instanceId=++C,this._isSyncingValueAttribute=!1,this._visited=new Set,this._lastDirection="none",this._stepButtons=[],this._progressEl=null,this._progressRow=null,this._statusStepEl=null,this._statusValueEl=null,this._prevBtn=null,this._nextBtn=null,this._onClick=this._onClick.bind(this),this._onKeyDown=this._onKeyDown.bind(this)}static get observedAttributes(){return["value","linear","show-stepper","stepper-position","hide-controls","variant","headless","keep-mounted","lazy-mount","animate","next-label","prev-label","finish-label","aria-label","orientation","density","shape","show-progress","busy","title","description","empty-label"]}connectedCallback(){super.connectedCallback(),this.root.addEventListener("click",this._onClick),this.root.addEventListener("keydown",this._onKeyDown),this._observer=new MutationObserver(t=>{t.some(i=>{if(i.type==="childList")return i.target===this;if(i.type!=="attributes")return!1;const a=i.target,r=i.attributeName||"";if(r==="slot")return a.getAttribute("slot")==="step"||a.matches('[slot="step"]');const o=a.closest('[slot="step"]');return!o||a!==o?!1:r==="data-value"||r==="data-title"||r==="data-description"||r==="data-optional"||r==="data-disabled"||r==="data-state"||r==="data-invalid"||r==="disabled"||r==="invalid"})&&this.requestRender()}),this._observer.observe(this,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["slot","data-value","data-title","data-description","data-optional","data-disabled","data-state","data-invalid","disabled","invalid"]})}disconnectedCallback(){this.root.removeEventListener("click",this._onClick),this.root.removeEventListener("keydown",this._onKeyDown),this._observer&&(this._observer.disconnect(),this._observer=null),super.disconnectedCallback()}attributeChangedCallback(t,e,i){if(e!==i){if(t==="value"){this._isSyncingValueAttribute||this._syncValueUi();return}this.isConnected&&this.requestRender()}}get value(){return this.getAttribute("value")||""}set value(t){const e=String(t||"");e?this.setAttribute("value",e):this.removeAttribute("value")}_isBusy(){return v(this.getAttribute("busy"))||this.hasAttribute("busy")}_isAnimationEnabled(){const t=this.getAttribute("animate");return t==null?!0:v(t)||t===""}_steps(){return Array.from(this.children).filter(e=>e instanceof HTMLElement&&e.getAttribute("slot")==="step").map((e,i)=>{const a=(e.getAttribute("data-state")||"").trim().toLowerCase(),r=a==="complete"||a==="success"||a==="warning"||a==="error"?a:"default";return{index:i,value:e.getAttribute("data-value")||String(i+1),title:e.getAttribute("data-title")||e.getAttribute("title")||`Step ${i+1}`,description:e.getAttribute("data-description")||"",optional:v(e.getAttribute("data-optional")),disabled:e.hasAttribute("disabled")||v(e.getAttribute("data-disabled")),state:r,node:e}})}_tabId(t){return`ui-wizard-${this._instanceId}-tab-${t}`}_panelId(t){return`ui-wizard-${this._instanceId}-panel-${t}`}_activeIndex(t){if(!t.length)return-1;const e=this.getAttribute("value")||"";if(e){const a=t.findIndex(r=>r.value===e);if(a>=0)return a}const i=t.find(a=>!a.disabled)||t[0];return i&&this.getAttribute("value")!==i.value&&this.setAttribute("value",i.value),t.findIndex(a=>a.value===i.value)}_visualStatus(t,e,i){return t.state==="error"?"error":t.state==="warning"?"warning":t.state==="success"?"success":t.state==="complete"||e<i?"complete":e===i?"current":"upcoming"}_markVisited(t,e){const i=t[e];i&&this._visited.add(i.value)}_dispatchBlockedNext(t,e,i,a){const r=e[i],o=e[a];this.dispatchEvent(new CustomEvent("blocked-next",{detail:{reason:t,currentIndex:i,nextIndex:a,currentValue:r?.value||"",nextValue:o?.value||""},bubbles:!0,composed:!0}))}_isStepInvalid(t,e){if(!t||t.node.hasAttribute("invalid")||v(t.node.getAttribute("data-invalid")))return!0;const i=new CustomEvent("validate-step",{detail:{index:e,value:t.value,title:t.title,node:t.node},bubbles:!0,composed:!0,cancelable:!0});return!this.dispatchEvent(i)}validateCurrentStep(){const t=this._steps();if(!t.length)return!1;const e=this._activeIndex(t);return e<0?!1:!this._isStepInvalid(t[e],e)}_syncPanels(t,e){const i=this.hasAttribute("keep-mounted"),a=this._isAnimationEnabled();this._markVisited(t,e),t.forEach((r,o)=>{const s=o===e,n=this._panelId(o),l=this._tabId(o),d=this._visited.has(r.value);r.node.id=n,r.node.setAttribute("role","tabpanel"),r.node.setAttribute("aria-labelledby",l),r.node.setAttribute("tabindex",s?"0":"-1"),r.node.setAttribute("data-active",s?"true":"false"),r.node.setAttribute("aria-hidden",s?"false":"true"),r.node.setAttribute("data-keep-mounted",i?"true":"false"),r.node.setAttribute("data-visible",s?"true":"false"),r.node.setAttribute("data-visited",d?"true":"false"),r.node.setAttribute("data-nav-direction",a?this._lastDirection:"none"),i?r.node.hidden=!1:r.node.hidden=!s})}_attemptChange(t,e,i,a){if(this._isBusy())return this._dispatchBlockedNext("busy",t,e,i),!1;if(i===e)return!0;if(i<0||i>=t.length)return this._dispatchBlockedNext("bounds",t,e,i),!1;const r=t[i];if(!r||r.disabled)return this._dispatchBlockedNext("disabled",t,e,i),!1;if(this.hasAttribute("linear")&&i>e+1)return this._dispatchBlockedNext("linear",t,e,i),!1;const o=t[e],s=i>e;if(s&&o&&this._isStepInvalid(o,e))return this._dispatchBlockedNext("validation",t,e,i),!1;const n=new CustomEvent("before-change",{detail:{currentIndex:e,nextIndex:i,currentValue:o?.value||"",nextValue:r.value,trigger:a},bubbles:!0,composed:!0,cancelable:!0});if(!this.dispatchEvent(n))return!1;this._lastDirection=s?"forward":"backward",this.value=r.value;const l={index:i,value:r.value,title:r.title,trigger:a};return this.dispatchEvent(new CustomEvent("input",{detail:l,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:l,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("step-change",{detail:l,bubbles:!0,composed:!0})),!0}goTo(t){const e=this._steps();if(!e.length)return!1;const i=this._activeIndex(e),a=typeof t=="number"?t:e.findIndex(r=>r.value===String(t));return this._attemptChange(e,i,a,"api")}next(){const t=this._steps();if(!t.length)return!1;const e=this._activeIndex(t);if(e>=t.length-1){if(this._isBusy())return!1;const i={index:e,value:t[e]?.value||"",title:t[e]?.title||""};return this.dispatchEvent(new CustomEvent("complete",{detail:i,bubbles:!0,composed:!0})),!0}return this._attemptChange(t,e,e+1,"next")}prev(){const t=this._steps();if(!t.length)return!1;const e=this._activeIndex(t);return this._attemptChange(t,e,e-1,"prev")}_onClick(t){const e=t.target;if(!e)return;if(e.closest(".btn-prev")){this.prev();return}if(e.closest(".btn-next")){this.next();return}const i=e.closest(".step");if(!i)return;const a=Number(i.getAttribute("data-index"));if(!Number.isInteger(a))return;const r=this._steps(),o=this._activeIndex(r);this._attemptChange(r,o,a,"stepper")}_onKeyDown(t){const e=this.getAttribute("orientation")==="vertical"?"vertical":"horizontal",i=e==="horizontal"&&getComputedStyle(this).direction==="rtl",a=e==="vertical"?"ArrowDown":i?"ArrowLeft":"ArrowRight",r=e==="vertical"?"ArrowUp":i?"ArrowRight":"ArrowLeft";if(t.altKey&&t.key===a){t.preventDefault(),this.next();return}if(t.altKey&&t.key===r){t.preventDefault(),this.prev();return}const s=t.target?.closest(".step");if(!s)return;const n=this._stepButtons.filter(d=>!d.disabled);if(!n.length)return;const l=n.indexOf(s);if(!(l<0)){if(t.key===a){t.preventDefault(),n[(l+1)%n.length].focus();return}if(t.key===r){t.preventDefault(),n[(l-1+n.length)%n.length].focus();return}if(t.key==="Home"||t.key==="End"){t.preventDefault(),(t.key==="Home"?n[0]:n[n.length-1]).focus();return}(t.key===" "||t.key==="Enter")&&(t.preventDefault(),s.click())}}_syncValueUi(){if(!this.isConnected)return;if(!this.root.querySelector(".frame")){this.requestRender();return}const t=this._steps();if(!t.length)return;this._isSyncingValueAttribute=!0;let e=-1;try{e=this._activeIndex(t)}finally{this._isSyncingValueAttribute=!1}this._syncPanels(t,e),this._stepButtons.forEach((s,n)=>{const l=n===e,d=this._visualStatus(t[n],n,e);s.setAttribute("data-active",l?"true":"false"),s.setAttribute("data-status",d),s.setAttribute("aria-selected",l?"true":"false"),s.setAttribute("tabindex",l?"0":"-1");const p=s.querySelector(".step-badge");p&&(d==="complete"||d==="success"?p.textContent="✓":d==="warning"?p.textContent="!":d==="error"?p.textContent="×":p.textContent=String(n+1));const h=s.closest(".step-item");h&&(h.setAttribute("data-status",d),h.setAttribute("data-complete",n<e?"true":"false"),h.setAttribute("data-current",l?"true":"false"))});const i=t.length,a=i<=1||e<0?0:Math.round(e/(i-1)*100);this._progressEl&&this._progressEl.style.setProperty("--ui-wizard-progress",`${a}%`),this._statusStepEl&&(this._statusStepEl.textContent=`Step ${Math.max(1,e+1)} of ${i}`),this._statusValueEl&&(this._statusValueEl.textContent=`${a}%`);const r=this._isBusy();if(this._prevBtn&&(this._prevBtn.disabled=e<=0||r),this._nextBtn){const s=e>=i-1,n=this.getAttribute("next-label")||"Next",l=this.getAttribute("finish-label")||"Finish";this._nextBtn.textContent=s?l:n,this._nextBtn.setAttribute("data-loading",r?"true":"false"),this._nextBtn.disabled=r||e<0||t[e]?.disabled===!0}const o=this.root.querySelector(".frame");o&&o.setAttribute("aria-busy",r?"true":"false"),this._progressRow&&(this.getAttribute("show-progress")!=="false"&&i>0?this._progressRow.removeAttribute("hidden"):this._progressRow.setAttribute("hidden",""))}render(){const t=this._steps(),e=this._activeIndex(t);this._markVisited(t,e),this._syncPanels(t,e);const i=this.getAttribute("title")||"",a=this.getAttribute("description")||"",r=this.getAttribute("show-stepper")!=="false"&&t.length>0,o=this.getAttribute("show-progress")!=="false"&&t.length>0,s=this.getAttribute("stepper-position")==="bottom"?"bottom":"top",n=this.hasAttribute("hide-controls")||t.length===0,l=this.getAttribute("prev-label")||"Previous",d=this.getAttribute("next-label")||"Next",p=this.getAttribute("finish-label")||"Finish",h=this.getAttribute("empty-label")||'No wizard steps configured. Add elements with slot="step".',m=r?`
|
|
612
612
|
<div
|
|
613
613
|
class="stepper"
|
|
614
614
|
part="stepper"
|
|
@@ -616,8 +616,8 @@
|
|
|
616
616
|
aria-orientation="${this.getAttribute("orientation")==="vertical"?"vertical":"horizontal"}"
|
|
617
617
|
aria-label="${c(this.getAttribute("aria-label")||"Wizard steps")}"
|
|
618
618
|
>
|
|
619
|
-
${t.map((
|
|
620
|
-
<div class="step-item" part="step-item" data-index="${u}" data-last="${u===t.length-1?"true":"false"}" data-status="${
|
|
619
|
+
${t.map((b,u)=>{const f=this._visualStatus(b,u,e),y=this._tabId(u),_=this._panelId(u),A=f==="complete"||f==="success"?"✓":f==="warning"?"!":f==="error"?"×":String(u+1);return`
|
|
620
|
+
<div class="step-item" part="step-item" data-index="${u}" data-last="${u===t.length-1?"true":"false"}" data-status="${f}" data-complete="${u<e?"true":"false"}" data-current="${u===e?"true":"false"}">
|
|
621
621
|
<button
|
|
622
622
|
type="button"
|
|
623
623
|
class="step"
|
|
@@ -627,16 +627,16 @@
|
|
|
627
627
|
aria-controls="${_}"
|
|
628
628
|
data-index="${u}"
|
|
629
629
|
data-active="${u===e?"true":"false"}"
|
|
630
|
-
data-status="${
|
|
630
|
+
data-status="${f}"
|
|
631
631
|
aria-selected="${u===e?"true":"false"}"
|
|
632
|
-
aria-disabled="${
|
|
632
|
+
aria-disabled="${b.disabled?"true":"false"}"
|
|
633
633
|
tabindex="${u===e?"0":"-1"}"
|
|
634
|
-
${
|
|
634
|
+
${b.disabled?"disabled":""}
|
|
635
635
|
>
|
|
636
636
|
<span class="step-badge" part="step-badge">${A}</span>
|
|
637
637
|
<span class="step-main" part="step-main">
|
|
638
|
-
<span class="step-title" part="step-title">${c(
|
|
639
|
-
${
|
|
638
|
+
<span class="step-title" part="step-title">${c(b.title)}${b.optional?" (optional)":""}</span>
|
|
639
|
+
${b.description?`<span class="step-description" part="step-description">${c(b.description)}</span>`:""}
|
|
640
640
|
</span>
|
|
641
641
|
</button>
|
|
642
642
|
</div>
|
|
@@ -648,7 +648,7 @@
|
|
|
648
648
|
<h3 class="title" part="title" ${i?"":"hidden"}>${c(i)}</h3>
|
|
649
649
|
<p class="description" part="description" ${a?"":"hidden"}>${c(a)}</p>
|
|
650
650
|
|
|
651
|
-
<div class="status" part="status" ${
|
|
651
|
+
<div class="status" part="status" ${o?"":"hidden"}>
|
|
652
652
|
<div class="status-row">
|
|
653
653
|
<span class="status-step" part="status-step"></span>
|
|
654
654
|
<span class="status-value" part="status-value"></span>
|
|
@@ -656,19 +656,19 @@
|
|
|
656
656
|
<div class="progress" part="progress"></div>
|
|
657
657
|
</div>
|
|
658
658
|
|
|
659
|
-
${
|
|
659
|
+
${s==="top"?m:""}
|
|
660
660
|
|
|
661
661
|
<div class="panel" part="panel" ${t.length?"":"hidden"}>
|
|
662
662
|
<slot name="step"></slot>
|
|
663
663
|
</div>
|
|
664
|
-
<p class="empty" part="empty" ${t.length?"hidden":""}>${c(
|
|
664
|
+
<p class="empty" part="empty" ${t.length?"hidden":""}>${c(h)}</p>
|
|
665
665
|
|
|
666
|
-
${
|
|
666
|
+
${s==="bottom"?m:""}
|
|
667
667
|
|
|
668
668
|
<div class="controls" part="controls" ${n?"hidden":""}>
|
|
669
669
|
<div class="group" part="controls-start"><slot name="controls-start"></slot></div>
|
|
670
670
|
<div class="group" part="controls-end">
|
|
671
|
-
<button type="button" class="btn btn-prev" part="button-prev" ${x?"disabled":""}>${c(
|
|
671
|
+
<button type="button" class="btn btn-prev" part="button-prev" ${x?"disabled":""}>${c(l)}</button>
|
|
672
672
|
<button type="button" class="btn primary btn-next" part="button-next" data-loading="${this._isBusy()?"true":"false"}">${c(z?p:d)}</button>
|
|
673
673
|
<slot name="controls-end"></slot>
|
|
674
674
|
</div>
|