@editora/ui-core 0.1.25 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +132 -0
- package/dist/accordion.cjs.js +13 -12
- package/dist/accordion.esm.js +13 -12
- package/dist/alert-dialog.cjs.js +92 -53
- package/dist/alert-dialog.esm.js +211 -159
- package/dist/alert.cjs.js +42 -33
- package/dist/alert.esm.js +80 -71
- package/dist/animated-beam.cjs.js +42 -50
- package/dist/animated-beam.esm.js +47 -55
- package/dist/animated-list.cjs.js +11 -27
- package/dist/animated-list.esm.js +12 -28
- package/dist/animated-text.cjs.js +9 -9
- package/dist/animated-text.esm.js +9 -9
- package/dist/app-header.cjs.js +17 -12
- package/dist/app-header.esm.js +18 -13
- package/dist/aspect-ratio.cjs.js +10 -12
- package/dist/aspect-ratio.esm.js +11 -13
- package/dist/avatar.cjs.js +16 -20
- package/dist/avatar.esm.js +16 -20
- package/dist/badge.cjs.js +27 -22
- package/dist/badge.esm.js +32 -27
- package/dist/block-controls.cjs.js +11 -12
- package/dist/block-controls.esm.js +8 -9
- package/dist/box.cjs.js +2 -3
- package/dist/box.esm.js +2 -3
- package/dist/breadcrumb.cjs.js +12 -18
- package/dist/breadcrumb.esm.js +11 -17
- package/dist/button.cjs.js +1 -1
- package/dist/button.esm.js +1 -1
- package/dist/{calendar-D-mXMgqc.js → calendar-CzpWDxLc.js} +56 -46
- package/dist/{calendar-B3PUKHQm.mjs → calendar-DkSDFg33.mjs} +127 -117
- package/dist/calendar.cjs.js +1 -1
- package/dist/calendar.esm.js +1 -1
- package/dist/card.cjs.js +6 -7
- package/dist/card.esm.js +5 -6
- package/dist/chart.cjs.js +58 -52
- package/dist/chart.esm.js +101 -95
- package/dist/checkbox.cjs.js +19 -15
- package/dist/checkbox.esm.js +19 -15
- package/dist/collapsible.cjs.js +9 -13
- package/dist/collapsible.esm.js +9 -13
- package/dist/color-picker.cjs.js +38 -19
- package/dist/color-picker.esm.js +134 -115
- package/dist/combobox.cjs.js +60 -57
- package/dist/combobox.esm.js +96 -92
- package/dist/command-palette.cjs.js +1 -0
- package/dist/command-palette.esm.js +1 -0
- package/dist/command.cjs.js +32 -14
- package/dist/command.esm.js +46 -28
- package/dist/components/date-time-utils.d.ts.map +1 -1
- package/dist/components/ui-accordion.d.ts.map +1 -1
- package/dist/components/ui-alert-dialog.d.ts +2 -0
- package/dist/components/ui-alert-dialog.d.ts.map +1 -1
- package/dist/components/ui-alert.d.ts.map +1 -1
- package/dist/components/ui-animated-beam.d.ts.map +1 -1
- package/dist/components/ui-animated-list.d.ts.map +1 -1
- package/dist/components/ui-app-header.d.ts.map +1 -1
- package/dist/components/ui-aspect-ratio.d.ts.map +1 -1
- package/dist/components/ui-avatar.d.ts.map +1 -1
- package/dist/components/ui-badge.d.ts.map +1 -1
- package/dist/components/ui-block-controls.d.ts.map +1 -1
- package/dist/components/ui-box.d.ts.map +1 -1
- package/dist/components/ui-breadcrumb.d.ts.map +1 -1
- package/dist/components/ui-button.d.ts.map +1 -1
- package/dist/components/ui-calendar.d.ts.map +1 -1
- package/dist/components/ui-card.d.ts.map +1 -1
- package/dist/components/ui-chart.d.ts.map +1 -1
- package/dist/components/ui-checkbox.d.ts.map +1 -1
- package/dist/components/ui-collapsible.d.ts.map +1 -1
- package/dist/components/ui-color-picker.d.ts.map +1 -1
- package/dist/components/ui-combobox.d.ts.map +1 -1
- package/dist/components/ui-command-palette.d.ts.map +1 -1
- package/dist/components/ui-command.d.ts.map +1 -1
- package/dist/components/ui-container.d.ts.map +1 -1
- package/dist/components/ui-context-menu.d.ts.map +1 -1
- package/dist/components/ui-data-table.d.ts +7 -0
- package/dist/components/ui-data-table.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.map +1 -1
- package/dist/components/ui-date-time-picker.d.ts.map +1 -1
- package/dist/components/ui-dialog.d.ts +2 -0
- package/dist/components/ui-dialog.d.ts.map +1 -1
- package/dist/components/ui-dock.d.ts.map +1 -1
- package/dist/components/ui-drawer.d.ts.map +1 -1
- package/dist/components/ui-dropdown.d.ts.map +1 -1
- package/dist/components/ui-empty-state.d.ts.map +1 -1
- package/dist/components/ui-field.d.ts.map +1 -1
- package/dist/components/ui-fieldset.d.ts.map +1 -1
- package/dist/components/ui-file-upload.d.ts.map +1 -1
- package/dist/components/ui-floating-toolbar.d.ts.map +1 -1
- package/dist/components/ui-form.d.ts.map +1 -1
- package/dist/components/ui-gantt.d.ts.map +1 -1
- package/dist/components/ui-hover-card.d.ts.map +1 -1
- package/dist/components/ui-icon-cloud.d.ts.map +1 -1
- package/dist/components/ui-inline-edit.d.ts.map +1 -1
- package/dist/components/ui-input.d.ts.map +1 -1
- package/dist/components/ui-marquee.d.ts.map +1 -1
- package/dist/components/ui-menu.d.ts.map +1 -1
- package/dist/components/ui-menubar.d.ts.map +1 -1
- package/dist/components/ui-meter.d.ts.map +1 -1
- package/dist/components/ui-multi-select.d.ts.map +1 -1
- package/dist/components/ui-number-field.d.ts.map +1 -1
- package/dist/components/ui-orbiter.d.ts.map +1 -1
- package/dist/components/ui-pagination.d.ts.map +1 -1
- package/dist/components/ui-password-field.d.ts.map +1 -1
- package/dist/components/ui-pin-input.d.ts.map +1 -1
- package/dist/components/ui-popover.d.ts.map +1 -1
- package/dist/components/ui-progress.d.ts.map +1 -1
- package/dist/components/ui-radio-group.d.ts.map +1 -1
- package/dist/components/ui-radio.d.ts.map +1 -1
- package/dist/components/ui-rating.d.ts +1 -0
- package/dist/components/ui-rating.d.ts.map +1 -1
- package/dist/components/ui-scroll-area.d.ts.map +1 -1
- package/dist/components/ui-section.d.ts.map +1 -1
- package/dist/components/ui-select.d.ts.map +1 -1
- package/dist/components/ui-selection-popup.d.ts.map +1 -1
- package/dist/components/ui-sidebar.d.ts.map +1 -1
- package/dist/components/ui-slider.d.ts.map +1 -1
- package/dist/components/ui-sortable.d.ts.map +1 -1
- package/dist/components/ui-spinning-text.d.ts.map +1 -1
- package/dist/components/ui-split-button.d.ts.map +1 -1
- package/dist/components/ui-splitter.d.ts.map +1 -1
- package/dist/components/ui-stepper.d.ts.map +1 -1
- package/dist/components/ui-switch.d.ts.map +1 -1
- package/dist/components/ui-tabs.d.ts.map +1 -1
- package/dist/components/ui-tags-input.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/components/ui-toggle-group.d.ts +2 -0
- package/dist/components/ui-toggle-group.d.ts.map +1 -1
- package/dist/components/ui-toggle.d.ts.map +1 -1
- package/dist/components/ui-toolbar.d.ts +2 -0
- package/dist/components/ui-toolbar.d.ts.map +1 -1
- package/dist/components/ui-tooltip.d.ts.map +1 -1
- package/dist/components/ui-transfer-list.d.ts.map +1 -1
- package/dist/components/ui-tree-item.d.ts.map +1 -1
- package/dist/components/ui-tree.d.ts.map +1 -1
- package/dist/components/ui-wizard.d.ts.map +1 -1
- package/dist/container.cjs.js +6 -12
- package/dist/container.esm.js +8 -14
- package/dist/context-menu.cjs.js +8 -8
- package/dist/context-menu.esm.js +42 -41
- package/dist/data-table.cjs.js +21 -18
- package/dist/data-table.esm.js +210 -190
- package/dist/date-field.cjs.js +9 -9
- package/dist/date-field.esm.js +19 -19
- package/dist/date-picker.cjs.js +29 -20
- package/dist/date-picker.esm.js +59 -50
- package/dist/date-range-picker.cjs.js +24 -19
- package/dist/date-range-picker.esm.js +86 -81
- package/dist/date-range-time-picker.cjs.js +27 -20
- package/dist/date-range-time-picker.esm.js +24 -17
- package/dist/date-time-picker.cjs.js +24 -17
- package/dist/date-time-picker.esm.js +89 -82
- package/dist/date-time-utils-C-4eHTyy.js +1 -0
- package/dist/{date-time-utils-BTlxnz5j.mjs → date-time-utils-zAx4ghvC.mjs} +75 -68
- package/dist/description.cjs.js +4 -4
- package/dist/description.esm.js +4 -4
- package/dist/dialog.cjs.js +59 -43
- package/dist/dialog.esm.js +86 -53
- package/dist/direction-provider.cjs.js +1 -1
- package/dist/direction-provider.esm.js +1 -1
- package/dist/dock.cjs.js +16 -30
- package/dist/dock.esm.js +26 -40
- package/dist/drawer.cjs.js +8 -12
- package/dist/drawer.esm.js +6 -10
- package/dist/dropdown.cjs.js +8 -6
- package/dist/dropdown.esm.js +33 -30
- package/dist/empty-state.cjs.js +17 -15
- package/dist/empty-state.esm.js +13 -11
- package/dist/field-error.cjs.js +1 -1
- package/dist/field-error.esm.js +7 -7
- package/dist/field.cjs.js +23 -14
- package/dist/field.esm.js +30 -21
- package/dist/fieldset.cjs.js +16 -9
- package/dist/fieldset.esm.js +19 -12
- package/dist/file-upload.cjs.js +79 -37
- package/dist/file-upload.esm.js +154 -112
- package/dist/flex.cjs.js +2 -2
- package/dist/flex.esm.js +8 -8
- package/dist/floating-toolbar.cjs.js +6 -7
- package/dist/floating-toolbar.esm.js +8 -9
- package/dist/form.cjs.js +24 -27
- package/dist/form.esm.js +24 -27
- package/dist/gantt.cjs.js +13 -11
- package/dist/gantt.esm.js +13 -11
- package/dist/grid.cjs.js +1 -1
- package/dist/grid.esm.js +1 -1
- package/dist/hover-card.cjs.js +8 -8
- package/dist/hover-card.esm.js +18 -15
- package/dist/icon-cloud.cjs.js +19 -36
- package/dist/icon-cloud.esm.js +41 -58
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +108 -104
- package/dist/inline-edit.cjs.js +50 -22
- package/dist/inline-edit.esm.js +77 -49
- package/dist/input.cjs.js +45 -38
- package/dist/input.esm.js +60 -53
- package/dist/label.cjs.js +6 -6
- package/dist/label.esm.js +6 -6
- package/dist/layout.cjs.js +3 -3
- package/dist/layout.esm.js +3 -3
- package/dist/marquee.cjs.js +7 -10
- package/dist/marquee.esm.js +7 -10
- package/dist/masonry-grid.cjs.js +2 -2
- package/dist/masonry-grid.esm.js +11 -11
- package/dist/{menu-item-styles-IGSFLAHu.mjs → menu-item-styles-CdqxPUuw.mjs} +15 -15
- package/dist/{menu-item-styles-B4onAr4C.js → menu-item-styles-DUdyjQ7i.js} +10 -10
- package/dist/menu.cjs.js +8 -24
- package/dist/menu.esm.js +52 -72
- package/dist/menubar.cjs.js +9 -31
- package/dist/menubar.esm.js +127 -153
- package/dist/meter.cjs.js +4 -9
- package/dist/meter.esm.js +6 -11
- package/dist/multi-select.cjs.js +53 -40
- package/dist/multi-select.esm.js +87 -73
- package/dist/navigation-menu.cjs.js +10 -10
- package/dist/navigation-menu.esm.js +33 -33
- package/dist/number-field.cjs.js +28 -17
- package/dist/number-field.esm.js +37 -26
- package/dist/number-ticker.cjs.js +4 -4
- package/dist/number-ticker.esm.js +10 -10
- package/dist/odometer.cjs.js +9 -9
- package/dist/odometer.esm.js +17 -17
- package/dist/orbiter.cjs.js +11 -28
- package/dist/orbiter.esm.js +28 -45
- package/dist/overlay-motion-B56x1GoY.js +49 -0
- package/dist/overlay-motion-BX3dPLay.mjs +120 -0
- package/dist/pagination.cjs.js +28 -25
- package/dist/pagination.esm.js +54 -51
- package/dist/password-field.cjs.js +39 -34
- package/dist/password-field.esm.js +63 -58
- package/dist/pin-input.cjs.js +18 -14
- package/dist/pin-input.esm.js +24 -20
- package/dist/placement-grid.cjs.js +1 -1
- package/dist/placement-grid.esm.js +1 -1
- package/dist/plugin-panel.cjs.js +1 -1
- package/dist/plugin-panel.esm.js +1 -1
- package/dist/popover.cjs.js +16 -28
- package/dist/popover.esm.js +29 -45
- package/dist/portal-DeaM1tYY.mjs +121 -0
- package/dist/portal-XbYR3m_q.js +1 -0
- package/dist/portal.cjs.js +1 -1
- package/dist/portal.d.ts +3 -1
- package/dist/portal.d.ts.map +1 -1
- package/dist/portal.esm.js +1 -1
- package/dist/{positioner-D0VGxtYU.mjs → positioner-BE8Nbho2.mjs} +5 -3
- package/dist/{positioner-D_fqyx_j.js → positioner-DZ1FW6A9.js} +1 -1
- package/dist/positioner.cjs.js +1 -1
- package/dist/positioner.esm.js +1 -1
- package/dist/presence.cjs.js +1 -1
- package/dist/presence.esm.js +1 -1
- package/dist/primitives/overlay-motion.d.ts +47 -0
- package/dist/primitives/overlay-motion.d.ts.map +1 -0
- package/dist/primitives/positioner.d.ts.map +1 -1
- package/dist/progress.cjs.js +11 -16
- package/dist/progress.esm.js +37 -42
- package/dist/quick-actions.cjs.js +14 -14
- package/dist/quick-actions.esm.js +12 -12
- package/dist/radio-group.cjs.js +50 -26
- package/dist/radio-group.esm.js +53 -29
- package/dist/radio.cjs.js +16 -13
- package/dist/radio.esm.js +16 -13
- package/dist/rating.cjs.js +11 -15
- package/dist/rating.esm.js +48 -50
- package/dist/{runtime-CFnK53iC.mjs → runtime-BRT7E4A8.mjs} +563 -531
- package/dist/runtime-CXw4SGV9.js +5 -0
- package/dist/runtime.cjs.js +1 -1
- package/dist/runtime.d.ts +3 -2
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.esm.js +36 -32
- package/dist/scroll-area.cjs.js +3 -4
- package/dist/scroll-area.esm.js +3 -4
- package/dist/section.cjs.js +2 -4
- package/dist/section.esm.js +2 -4
- package/dist/select.cjs.js +42 -75
- package/dist/select.esm.js +57 -89
- package/dist/selection-popup.cjs.js +3 -4
- package/dist/selection-popup.esm.js +3 -4
- package/dist/semantic-tokens.d.ts +17 -0
- package/dist/semantic-tokens.d.ts.map +1 -0
- package/dist/separator.cjs.js +6 -6
- package/dist/separator.esm.js +7 -7
- package/dist/sidebar.cjs.js +29 -28
- package/dist/sidebar.esm.js +32 -31
- package/dist/skeleton.cjs.js +2 -2
- package/dist/skeleton.esm.js +2 -2
- package/dist/slider.cjs.js +22 -26
- package/dist/slider.esm.js +25 -29
- package/dist/slot.cjs.js +1 -1
- package/dist/slot.esm.js +1 -1
- package/dist/sortable.cjs.js +10 -11
- package/dist/sortable.esm.js +10 -11
- package/dist/spinning-text.cjs.js +4 -13
- package/dist/spinning-text.esm.js +4 -13
- package/dist/split-button.cjs.js +7 -7
- package/dist/split-button.esm.js +17 -16
- package/dist/splitter.cjs.js +52 -10
- package/dist/splitter.esm.js +55 -13
- package/dist/stepper.cjs.js +31 -65
- package/dist/stepper.esm.js +32 -66
- package/dist/switch.cjs.js +20 -22
- package/dist/switch.esm.js +20 -22
- package/dist/table.cjs.js +5 -5
- package/dist/table.esm.js +20 -20
- package/dist/tabs.cjs.js +101 -26
- package/dist/tabs.esm.js +187 -112
- package/dist/tags-input.cjs.js +43 -17
- package/dist/tags-input.esm.js +75 -49
- package/dist/textarea.cjs.js +34 -35
- package/dist/textarea.esm.js +50 -51
- package/dist/theme.d.ts +25 -1
- package/dist/theme.d.ts.map +1 -1
- package/dist/time-field.cjs.js +8 -8
- package/dist/time-field.esm.js +29 -29
- package/dist/time-picker.cjs.js +17 -14
- package/dist/time-picker.esm.js +28 -25
- package/dist/timeline.cjs.js +10 -10
- package/dist/timeline.esm.js +7 -7
- package/dist/toast.cjs.js +2 -2
- package/dist/toast.esm.js +2 -2
- package/dist/toggle-group.cjs.js +13 -13
- package/dist/toggle-group.esm.js +66 -61
- package/dist/toggle.cjs.js +52 -34
- package/dist/toggle.esm.js +80 -62
- package/dist/toolbar.cjs.js +14 -14
- package/dist/toolbar.esm.js +41 -33
- package/dist/tooltip.cjs.js +3 -3
- package/dist/tooltip.esm.js +39 -33
- package/dist/transfer-list.cjs.js +37 -38
- package/dist/transfer-list.esm.js +32 -33
- package/dist/{tree-B_oQput6.mjs → tree-33fVNnaf.mjs} +6 -5
- package/dist/{tree-SivHxcAy.js → tree-Dc02MChE.js} +6 -5
- package/dist/tree-item.cjs.js +9 -8
- package/dist/tree-item.esm.js +13 -12
- package/dist/tree.cjs.js +1 -1
- package/dist/tree.esm.js +1 -1
- package/dist/{ui-button-Co8Sid6t.mjs → ui-button-C3OmI7Sn.mjs} +152 -154
- package/dist/{ui-button-BPrzJScZ.js → ui-button-CnLwXBnx.js} +107 -109
- package/dist/wizard.cjs.js +51 -39
- package/dist/wizard.esm.js +51 -39
- package/package.json +1 -1
- package/dist/date-time-utils-y3AvNvGe.js +0 -1
- package/dist/portal-DgpQ3Jo1.js +0 -1
- package/dist/portal-bR42gHvG.mjs +0 -118
- package/dist/runtime-DwE-tizc.js +0 -1
package/dist/toggle-group.esm.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { E as _ } from "./ElementBase-BeZT54Hj.mjs";
|
|
2
|
-
import { r as
|
|
2
|
+
import { r as v, s as p, g as m, f, m as x } from "./roving-focus-group-Dbm1Jko_.mjs";
|
|
3
3
|
const w = `
|
|
4
4
|
:host {
|
|
5
|
-
--ui-toggle-group-gap:
|
|
6
|
-
--ui-toggle-group-padding:
|
|
7
|
-
--ui-toggle-group-radius:
|
|
8
|
-
--ui-toggle-group-bg:
|
|
9
|
-
--ui-toggle-group-border:
|
|
5
|
+
--ui-toggle-group-gap: 4px;
|
|
6
|
+
--ui-toggle-group-padding: 0px;
|
|
7
|
+
--ui-toggle-group-radius: var(--ui-control-radius-2, var(--ui-radius, 6px));
|
|
8
|
+
--ui-toggle-group-bg: transparent;
|
|
9
|
+
--ui-toggle-group-border: transparent;
|
|
10
10
|
--ui-toggle-group-shadow:
|
|
11
11
|
none;
|
|
12
12
|
|
|
@@ -56,15 +56,15 @@ const w = `
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
:host([size="sm"]) {
|
|
59
|
-
--ui-toggle-group-gap:
|
|
60
|
-
--ui-toggle-group-padding:
|
|
61
|
-
--ui-toggle-group-radius:
|
|
59
|
+
--ui-toggle-group-gap: 4px;
|
|
60
|
+
--ui-toggle-group-padding: 0px;
|
|
61
|
+
--ui-toggle-group-radius: var(--ui-control-radius-1, var(--ui-radius, 6px));
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
:host([size="lg"]) {
|
|
65
|
-
--ui-toggle-group-gap:
|
|
66
|
-
--ui-toggle-group-padding:
|
|
67
|
-
--ui-toggle-group-radius:
|
|
65
|
+
--ui-toggle-group-gap: 4px;
|
|
66
|
+
--ui-toggle-group-padding: 0px;
|
|
67
|
+
--ui-toggle-group-radius: var(--ui-control-radius-3, var(--ui-radius, 6px));
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
:host([density="compact"]) {
|
|
@@ -222,8 +222,8 @@ class k extends _ {
|
|
|
222
222
|
return Array.isArray(t) ? new Set(t.map((e) => String(e))) : t ? /* @__PURE__ */ new Set([String(t)]) : /* @__PURE__ */ new Set();
|
|
223
223
|
}
|
|
224
224
|
_setGroupValue(t, e = !0) {
|
|
225
|
-
const i = A(t, this.multiple),
|
|
226
|
-
if (!this.multiple && !i && !
|
|
225
|
+
const i = A(t, this.multiple), n = this.getAttribute("value") || "";
|
|
226
|
+
if (!this.multiple && !i && !n || n === i) {
|
|
227
227
|
this._syncChildren();
|
|
228
228
|
return;
|
|
229
229
|
}
|
|
@@ -235,28 +235,33 @@ class k extends _ {
|
|
|
235
235
|
};
|
|
236
236
|
this.dispatchEvent(new CustomEvent("input", { detail: r, bubbles: !0, composed: !0 })), this.dispatchEvent(new CustomEvent("change", { detail: r, bubbles: !0, composed: !0 }));
|
|
237
237
|
}
|
|
238
|
+
/** A contrast group is a dark surface: its toggles that set no variant of their own follow it. */
|
|
239
|
+
_inheritVariant(t) {
|
|
240
|
+
const e = this.getAttribute("variant") === "contrast";
|
|
241
|
+
e && !t.hasAttribute("variant") ? (t.setAttribute("variant", "contrast"), t.setAttribute("data-inherited-variant", "")) : !e && t.hasAttribute("data-inherited-variant") && (t.removeAttribute("variant"), t.removeAttribute("data-inherited-variant"));
|
|
242
|
+
}
|
|
238
243
|
_syncChildren() {
|
|
239
|
-
const t = this._toggles(), e = this.hasAttribute("disabled"), i = this._selectedSet(),
|
|
240
|
-
const
|
|
241
|
-
|
|
242
|
-
}, c = (
|
|
243
|
-
|
|
244
|
+
const t = this._toggles(), e = this.hasAttribute("disabled"), i = this._selectedSet(), n = this.multiple, r = (d, s, a) => {
|
|
245
|
+
const o = d.hasAttribute(s);
|
|
246
|
+
a && !o && d.setAttribute(s, ""), !a && o && d.removeAttribute(s);
|
|
247
|
+
}, c = (d, s, a) => {
|
|
248
|
+
d.getAttribute(s) !== a && d.setAttribute(s, a);
|
|
244
249
|
};
|
|
245
|
-
let
|
|
250
|
+
let g = -1, l = -1;
|
|
246
251
|
this._isSyncing = !0;
|
|
247
252
|
try {
|
|
248
|
-
t.forEach((s,
|
|
249
|
-
const
|
|
250
|
-
r(s, "data-group-item", !0), y ? (r(s, "disabled", !0), r(s, "data-group-disabled", e && !h)) : s.hasAttribute("data-group-disabled") && (r(s, "disabled", !1), r(s, "data-group-disabled", !1));
|
|
251
|
-
const b = i.has(
|
|
252
|
-
r(s, "pressed", b), c(s, "role",
|
|
253
|
+
t.forEach((s, a) => {
|
|
254
|
+
const o = this._toggleValue(s, a), h = s.hasAttribute("data-disabled") || s.getAttribute("aria-disabled") === "true", y = e || h;
|
|
255
|
+
r(s, "data-group-item", !0), this._inheritVariant(s), y ? (r(s, "disabled", !0), r(s, "data-group-disabled", e && !h)) : s.hasAttribute("data-group-disabled") && (r(s, "disabled", !1), r(s, "data-group-disabled", !1));
|
|
256
|
+
const b = i.has(o);
|
|
257
|
+
r(s, "pressed", b), c(s, "role", n ? "checkbox" : "radio"), c(s, "aria-checked", b ? "true" : "false"), b && l < 0 && (l = a), !s.hasAttribute("disabled") && g < 0 && (g = a);
|
|
253
258
|
});
|
|
254
|
-
const
|
|
259
|
+
const d = v(t, {
|
|
255
260
|
activeIndex: this._focusIndex,
|
|
256
|
-
selectedIndex:
|
|
261
|
+
selectedIndex: l >= 0 ? l : g,
|
|
257
262
|
getDisabled: (s) => s.hasAttribute("disabled")
|
|
258
263
|
});
|
|
259
|
-
this._focusIndex =
|
|
264
|
+
this._focusIndex = d, p(t, t[d] || null, { activeAttribute: null });
|
|
260
265
|
} finally {
|
|
261
266
|
this._isSyncing = !1;
|
|
262
267
|
}
|
|
@@ -264,70 +269,70 @@ class k extends _ {
|
|
|
264
269
|
_onToggleEvent(t) {
|
|
265
270
|
const e = t.target;
|
|
266
271
|
if (!e || e.tagName.toLowerCase() !== "ui-toggle" || this.hasAttribute("disabled")) return;
|
|
267
|
-
const
|
|
268
|
-
if (
|
|
269
|
-
const r = this._toggleValue(e,
|
|
270
|
-
if (this._focusIndex =
|
|
271
|
-
const
|
|
272
|
-
c ?
|
|
272
|
+
const n = this._toggles().indexOf(e);
|
|
273
|
+
if (n < 0) return;
|
|
274
|
+
const r = this._toggleValue(e, n), c = t.detail?.pressed ?? e.hasAttribute("pressed");
|
|
275
|
+
if (this._focusIndex = n, this.multiple) {
|
|
276
|
+
const l = this._selectedSet();
|
|
277
|
+
c ? l.add(r) : l.delete(r), this._setGroupValue(Array.from(l), !0);
|
|
273
278
|
return;
|
|
274
279
|
}
|
|
275
|
-
const
|
|
280
|
+
const g = this.hasAttribute("allow-empty") && !this.hasAttribute("required");
|
|
276
281
|
if (c) {
|
|
277
282
|
this._setGroupValue(r, !0);
|
|
278
283
|
return;
|
|
279
284
|
}
|
|
280
|
-
if (
|
|
285
|
+
if (g) this._setGroupValue("", !0);
|
|
281
286
|
else {
|
|
282
|
-
const
|
|
283
|
-
this._setGroupValue(
|
|
287
|
+
const l = String(this.value || "");
|
|
288
|
+
this._setGroupValue(l || r, !1);
|
|
284
289
|
}
|
|
285
290
|
}
|
|
286
291
|
_onKeyDown(t) {
|
|
287
292
|
const e = t.target;
|
|
288
293
|
if (!e || e.tagName.toLowerCase() !== "ui-toggle") return;
|
|
289
|
-
const i = this.getAttribute("orientation") === "vertical" ? "vertical" : "horizontal",
|
|
294
|
+
const i = this.getAttribute("orientation") === "vertical" ? "vertical" : "horizontal", n = this.getAttribute("activation") === "manual" ? "manual" : "auto", r = this._toggles().filter((a) => !a.hasAttribute("disabled"));
|
|
290
295
|
if (r.length < 2) return;
|
|
291
296
|
const c = r.indexOf(e);
|
|
292
297
|
if (c < 0) return;
|
|
293
|
-
const
|
|
294
|
-
const
|
|
298
|
+
const g = this._isHorizontalRtl(), l = (a) => {
|
|
299
|
+
const o = x(r, c, a, {
|
|
295
300
|
wrap: !0,
|
|
296
|
-
fallbackIndex:
|
|
301
|
+
fallbackIndex: v(r, { activeIndex: c, getDisabled: () => !1 }),
|
|
297
302
|
getDisabled: () => !1
|
|
298
303
|
});
|
|
299
|
-
if (
|
|
300
|
-
const h = r[
|
|
301
|
-
this._focusIndex = this._toggles().indexOf(h), p(r, h, { activeAttribute: null }), f(h),
|
|
302
|
-
},
|
|
303
|
-
if (
|
|
304
|
-
t.preventDefault(),
|
|
304
|
+
if (o < 0) return;
|
|
305
|
+
const h = r[o];
|
|
306
|
+
this._focusIndex = this._toggles().indexOf(h), p(r, h, { activeAttribute: null }), f(h), n === "auto" && h.toggle?.(!0);
|
|
307
|
+
}, d = i === "horizontal" && (t.key === "ArrowRight" && !g || t.key === "ArrowLeft" && g) || i === "vertical" && t.key === "ArrowDown", s = i === "horizontal" && (t.key === "ArrowLeft" && !g || t.key === "ArrowRight" && g) || i === "vertical" && t.key === "ArrowUp";
|
|
308
|
+
if (d) {
|
|
309
|
+
t.preventDefault(), l(1);
|
|
305
310
|
return;
|
|
306
311
|
}
|
|
307
312
|
if (s) {
|
|
308
|
-
t.preventDefault(),
|
|
313
|
+
t.preventDefault(), l(-1);
|
|
309
314
|
return;
|
|
310
315
|
}
|
|
311
316
|
if (t.key === "Home") {
|
|
312
317
|
t.preventDefault();
|
|
313
|
-
const
|
|
314
|
-
if (
|
|
315
|
-
const
|
|
316
|
-
this._focusIndex = this._toggles().indexOf(
|
|
318
|
+
const a = m(r, "first", () => !1);
|
|
319
|
+
if (a < 0) return;
|
|
320
|
+
const o = r[a];
|
|
321
|
+
this._focusIndex = this._toggles().indexOf(o), p(r, o, { activeAttribute: null }), f(o), n === "auto" && o.toggle?.(!0);
|
|
317
322
|
return;
|
|
318
323
|
}
|
|
319
324
|
if (t.key === "End") {
|
|
320
325
|
t.preventDefault();
|
|
321
|
-
const
|
|
322
|
-
if (
|
|
323
|
-
const
|
|
324
|
-
this._focusIndex = this._toggles().indexOf(
|
|
326
|
+
const a = m(r, "last", () => !1);
|
|
327
|
+
if (a < 0) return;
|
|
328
|
+
const o = r[a];
|
|
329
|
+
this._focusIndex = this._toggles().indexOf(o), p(r, o, { activeAttribute: null }), f(o), n === "auto" && o.toggle?.(!0);
|
|
325
330
|
}
|
|
326
331
|
}
|
|
327
332
|
render() {
|
|
328
333
|
const t = this.multiple ? "group" : "radiogroup";
|
|
329
334
|
this.getAttribute("orientation");
|
|
330
|
-
const e = this.getAttribute("aria-label") || "Toggle group", i = this.hasAttribute("required"),
|
|
335
|
+
const e = this.getAttribute("aria-label") || "Toggle group", i = this.hasAttribute("required"), n = this.hasAttribute("disabled");
|
|
331
336
|
this.setContent(`
|
|
332
337
|
<style>${w}</style>
|
|
333
338
|
<div
|
|
@@ -335,7 +340,7 @@ class k extends _ {
|
|
|
335
340
|
part="group"
|
|
336
341
|
role="${t}"
|
|
337
342
|
aria-label="${E(e)}"
|
|
338
|
-
aria-disabled="${
|
|
343
|
+
aria-disabled="${n ? "true" : "false"}"
|
|
339
344
|
aria-required="${i ? "true" : "false"}"
|
|
340
345
|
>
|
|
341
346
|
<slot></slot>
|
|
@@ -347,8 +352,8 @@ class k extends _ {
|
|
|
347
352
|
if (!t) return;
|
|
348
353
|
const e = this.multiple ? "group" : "radiogroup";
|
|
349
354
|
this.getAttribute("orientation");
|
|
350
|
-
const i = this.getAttribute("aria-label") || "Toggle group",
|
|
351
|
-
t.getAttribute("role") !== e && t.setAttribute("role", e), t.getAttribute("aria-label") !== i && t.setAttribute("aria-label", i), t.removeAttribute("aria-orientation"), t.setAttribute("aria-disabled", r ? "true" : "false"), t.setAttribute("aria-required",
|
|
355
|
+
const i = this.getAttribute("aria-label") || "Toggle group", n = this.hasAttribute("required"), r = this.hasAttribute("disabled");
|
|
356
|
+
t.getAttribute("role") !== e && t.setAttribute("role", e), t.getAttribute("aria-label") !== i && t.setAttribute("aria-label", i), t.removeAttribute("aria-orientation"), t.setAttribute("aria-disabled", r ? "true" : "false"), t.setAttribute("aria-required", n ? "true" : "false");
|
|
352
357
|
}
|
|
353
358
|
_isHorizontalRtl() {
|
|
354
359
|
if (this.getAttribute("orientation") === "vertical") return !1;
|
package/dist/toggle.cjs.js
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("./ElementBase-DxbvhLJs.js"),c=`
|
|
2
2
|
:host {
|
|
3
|
-
--ui-toggle-radius:
|
|
4
|
-
--ui-toggle-border: color-mix(in srgb, var(--ui-color-border, #cbd5e1) 74%, transparent);
|
|
5
|
-
--ui-toggle-bg:
|
|
6
|
-
--ui-toggle-color: var(--ui-color-text, #0f172a);
|
|
3
|
+
--ui-toggle-radius: var(--ui-control-radius-2, var(--ui-radius, 6px));
|
|
4
|
+
--ui-toggle-border: var(--ui-color-line, color-mix(in srgb, var(--ui-color-border, #cbd5e1) 74%, transparent));
|
|
5
|
+
--ui-toggle-bg: transparent;
|
|
6
|
+
--ui-toggle-color: var(--ui-color-text-strong, var(--ui-color-text, #0f172a));
|
|
7
7
|
--ui-toggle-active-bg: var(--ui-color-primary, #2563eb);
|
|
8
|
-
--ui-toggle-
|
|
9
|
-
--ui-toggle-active-
|
|
8
|
+
--ui-toggle-pressed-bg: var(--ui-color-accent-fill, color-mix(in srgb, var(--ui-toggle-active-bg) 16%, transparent));
|
|
9
|
+
--ui-toggle-active-color: var(--ui-color-text-strong, var(--ui-color-text, #0f172a));
|
|
10
|
+
--ui-toggle-active-border: var(--ui-color-accent-line, color-mix(in srgb, var(--ui-toggle-active-bg) 40%, transparent));
|
|
10
11
|
--ui-toggle-muted: var(--ui-color-muted, #526175);
|
|
11
12
|
--ui-toggle-focus: var(--ui-color-focus-ring, #2563eb);
|
|
12
13
|
--ui-toggle-shadow:
|
|
13
14
|
none;
|
|
14
|
-
--ui-toggle-padding-x: 12px;
|
|
15
|
-
--ui-toggle-padding-y:
|
|
16
|
-
--ui-toggle-height:
|
|
15
|
+
--ui-toggle-padding-x: calc(var(--ui-control-padding-inline-2, 12px) - 1px);
|
|
16
|
+
--ui-toggle-padding-y: 0px;
|
|
17
|
+
--ui-toggle-height: var(--ui-control-height-2, 32px);
|
|
18
|
+
--ui-toggle-font-size: var(--ui-control-font-size-2, 14px);
|
|
17
19
|
--ui-toggle-gap: 8px;
|
|
18
20
|
|
|
19
21
|
color-scheme: light dark;
|
|
@@ -23,6 +25,7 @@
|
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
.control {
|
|
28
|
+
box-sizing: border-box;
|
|
26
29
|
min-inline-size: 0;
|
|
27
30
|
min-block-size: var(--ui-toggle-height);
|
|
28
31
|
display: inline-flex;
|
|
@@ -39,7 +42,7 @@
|
|
|
39
42
|
user-select: none;
|
|
40
43
|
outline: none;
|
|
41
44
|
text-decoration: none;
|
|
42
|
-
font: 600
|
|
45
|
+
font: 600 var(--ui-toggle-font-size)/1 "Inter", "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
43
46
|
letter-spacing: 0.01em;
|
|
44
47
|
transition:
|
|
45
48
|
background-color 150ms ease,
|
|
@@ -50,29 +53,27 @@
|
|
|
50
53
|
}
|
|
51
54
|
|
|
52
55
|
.control:hover {
|
|
53
|
-
background: color-mix(in srgb, var(--ui-toggle-active-bg) 8%, var(--ui-toggle-bg));
|
|
54
|
-
border-color: color-mix(in srgb, var(--ui-toggle-active-bg) 30%, var(--ui-toggle-border));
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.control:active {
|
|
58
|
-
transform: translateY(0.5px);
|
|
56
|
+
background: var(--ui-color-fill, color-mix(in srgb, var(--ui-toggle-active-bg) 8%, var(--ui-toggle-bg)));
|
|
59
57
|
}
|
|
60
58
|
|
|
61
59
|
:host(:focus-visible) .control {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
var(--ui-toggle-shadow);
|
|
60
|
+
outline: var(--ui-ring-width, 2px) solid var(--ui-ring-color, var(--ui-toggle-focus));
|
|
61
|
+
outline-offset: var(--ui-ring-offset, 2px);
|
|
65
62
|
}
|
|
66
63
|
|
|
67
64
|
:host([pressed]) .control,
|
|
68
65
|
.control[aria-pressed="true"] {
|
|
69
|
-
background: var(--ui-toggle-
|
|
66
|
+
background: var(--ui-toggle-pressed-bg);
|
|
70
67
|
border-color: var(--ui-toggle-active-border);
|
|
71
68
|
color: var(--ui-toggle-active-color);
|
|
72
69
|
}
|
|
73
70
|
|
|
74
71
|
:host([pressed]) .control:hover {
|
|
75
|
-
background: color-
|
|
72
|
+
background: var(--ui-color-accent-fill-hover, var(--ui-toggle-pressed-bg));
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.icon:empty {
|
|
76
|
+
display: none !important;
|
|
76
77
|
}
|
|
77
78
|
|
|
78
79
|
.icon {
|
|
@@ -106,17 +107,17 @@
|
|
|
106
107
|
}
|
|
107
108
|
|
|
108
109
|
:host([size="sm"]) {
|
|
109
|
-
--ui-toggle-padding-x:
|
|
110
|
-
--ui-toggle-
|
|
111
|
-
--ui-toggle-
|
|
112
|
-
--ui-toggle-radius:
|
|
110
|
+
--ui-toggle-padding-x: calc(var(--ui-control-padding-inline-1, 8px) - 1px);
|
|
111
|
+
--ui-toggle-height: var(--ui-control-height-1, 24px);
|
|
112
|
+
--ui-toggle-font-size: var(--ui-control-font-size-1, 12px);
|
|
113
|
+
--ui-toggle-radius: var(--ui-control-radius-1, var(--ui-radius, 6px));
|
|
113
114
|
}
|
|
114
115
|
|
|
115
116
|
:host([size="lg"]) {
|
|
116
|
-
--ui-toggle-padding-x:
|
|
117
|
-
--ui-toggle-
|
|
118
|
-
--ui-toggle-
|
|
119
|
-
--ui-toggle-radius:
|
|
117
|
+
--ui-toggle-padding-x: calc(var(--ui-control-padding-inline-3, 16px) - 1px);
|
|
118
|
+
--ui-toggle-height: var(--ui-control-height-3, 40px);
|
|
119
|
+
--ui-toggle-font-size: var(--ui-control-font-size-3, 16px);
|
|
120
|
+
--ui-toggle-radius: var(--ui-control-radius-3, var(--ui-radius, 6px));
|
|
120
121
|
}
|
|
121
122
|
|
|
122
123
|
:host([shape="square"]) {
|
|
@@ -159,6 +160,14 @@
|
|
|
159
160
|
background: transparent;
|
|
160
161
|
}
|
|
161
162
|
|
|
163
|
+
/* A tone tints the pressed state in its own colour (the default soft fill is the theme accent). */
|
|
164
|
+
:host([tone="success"]),
|
|
165
|
+
:host([tone="warning"]),
|
|
166
|
+
:host([tone="danger"]) {
|
|
167
|
+
--ui-toggle-pressed-bg: color-mix(in srgb, var(--ui-toggle-active-bg) 16%, transparent);
|
|
168
|
+
--ui-toggle-active-border: color-mix(in srgb, var(--ui-toggle-active-bg) 44%, transparent);
|
|
169
|
+
}
|
|
170
|
+
|
|
162
171
|
:host([tone="success"]) {
|
|
163
172
|
--ui-toggle-active-bg: var(--ui-color-success, #15803d);
|
|
164
173
|
}
|
|
@@ -171,7 +180,16 @@
|
|
|
171
180
|
--ui-toggle-active-bg: var(--ui-color-danger, #dc2626);
|
|
172
181
|
}
|
|
173
182
|
|
|
174
|
-
/* The contrast variant draws dark text on
|
|
183
|
+
/* The contrast variant draws dark text on a solid light pressed fill (not the soft theme tint). */
|
|
184
|
+
:host([variant="contrast"]) {
|
|
185
|
+
--ui-toggle-pressed-bg: var(--ui-toggle-active-bg);
|
|
186
|
+
--ui-toggle-active-border: var(--ui-toggle-active-bg);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
:host([variant="contrast"][pressed]) .control:hover {
|
|
190
|
+
background: color-mix(in srgb, var(--ui-toggle-active-bg) 86%, #ffffff);
|
|
191
|
+
}
|
|
192
|
+
|
|
175
193
|
:host([variant="contrast"][tone="success"]) { --ui-toggle-active-bg: #86efac; }
|
|
176
194
|
:host([variant="contrast"][tone="warning"]) { --ui-toggle-active-bg: #fcd34d; }
|
|
177
195
|
:host([variant="contrast"][tone="danger"]) { --ui-toggle-active-bg: #fca5a5; }
|
|
@@ -223,15 +241,15 @@
|
|
|
223
241
|
--ui-toggle-shadow: none;
|
|
224
242
|
}
|
|
225
243
|
}
|
|
226
|
-
`,
|
|
244
|
+
`,n=new Set(["icon-on","icon-off","aria-label"]);function u(o){if(o==null)return!1;const e=String(o).toLowerCase();return e!=="false"&&e!=="0"&&e!=="off"}function a(o){return String(o).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}class l extends g.ElementBase{constructor(){super(),this._control=null,this._onClick=this._onClick.bind(this),this._onKeyDown=this._onKeyDown.bind(this)}static get observedAttributes(){return["pressed","disabled","loading","headless","size","variant","tone","shape","elevation","name","value","required","icon-on","icon-off","aria-label","tabindex"]}connectedCallback(){super.connectedCallback(),this.root.addEventListener("click",this._onClick),this.root.addEventListener("keydown",this._onKeyDown),this._syncAria()}disconnectedCallback(){this.root.removeEventListener("click",this._onClick),this.root.removeEventListener("keydown",this._onKeyDown),super.disconnectedCallback()}attributeChangedCallback(e,t,i){if(t!==i){if(n.has(e)){super.attributeChangedCallback(e,t,i);return}this._syncAria()}}get pressed(){return this.hasAttribute("pressed")}set pressed(e){e?this.setAttribute("pressed",""):this.removeAttribute("pressed")}get disabled(){return this.hasAttribute("disabled")||this.hasAttribute("loading")}set disabled(e){e?this.setAttribute("disabled",""):this.removeAttribute("disabled")}toggle(e){if(this.disabled)return;const t=typeof e=="boolean"?e:!this.pressed;if(t===this.pressed){this._syncAria();return}this.pressed=t,this._syncAria();const i={pressed:t,value:this.getAttribute("value")||"",name:this.getAttribute("name")||"",required:u(this.getAttribute("required"))};this.dispatchEvent(new CustomEvent("input",{detail:i,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:i,bubbles:!0,composed:!0}))}_syncAria(){const e=this.pressed,t=this.disabled,i=this.hasAttribute("loading");this.hasAttribute("data-group-item")?this.hasAttribute("aria-pressed")&&this.removeAttribute("aria-pressed"):(this.setAttribute("role","button"),this.setAttribute("aria-pressed",e?"true":"false")),this.setAttribute("aria-disabled",t?"true":"false"),this.setAttribute("aria-busy",i?"true":"false");const r=this.getAttribute("tabindex");if(t)this.hasAttribute("data-ui-prev-tabindex")||this.setAttribute("data-ui-prev-tabindex",r??""),r!=="-1"&&this.setAttribute("tabindex","-1");else{const s=this.getAttribute("data-ui-prev-tabindex");s!=null?(s?this.setAttribute("tabindex",s):this.removeAttribute("tabindex"),this.removeAttribute("data-ui-prev-tabindex")):r==null&&this.setAttribute("tabindex","0")}this._control&&this._control.toggleAttribute("data-disabled",t)}_onClick(e){const t=e.target;t&&t.closest(".control")&&this.toggle()}_onKeyDown(e){this.disabled||(e.key===" "||e.key==="Enter")&&(e.preventDefault(),this.toggle())}render(){this.pressed;const e=this.disabled,t=this.getAttribute("icon-on")||"",i=this.getAttribute("icon-off")||"";this.getAttribute("aria-label"),this.setContent(`
|
|
227
245
|
<style>${c}</style>
|
|
228
246
|
<span
|
|
229
247
|
class="control"
|
|
230
248
|
part="control"
|
|
231
249
|
${e?"data-disabled":""}
|
|
232
250
|
>
|
|
233
|
-
<span class="icon icon-off" part="icon-off" aria-hidden="true">${
|
|
234
|
-
<span class="icon icon-on" part="icon-on" aria-hidden="true">${
|
|
251
|
+
<span class="icon icon-off" part="icon-off" aria-hidden="true">${a(i)}</span>
|
|
252
|
+
<span class="icon icon-on" part="icon-on" aria-hidden="true">${a(t)}</span>
|
|
235
253
|
<span class="label" part="label"><slot></slot></span>
|
|
236
254
|
</span>
|
|
237
|
-
`),this._control=this.root.querySelector(".control"),this._syncAria()}shouldRenderOnAttributeChange(e,t,i){return
|
|
255
|
+
`),this._control=this.root.querySelector(".control"),this._syncAria()}shouldRenderOnAttributeChange(e,t,i){return n.has(e)}}typeof customElements<"u"&&!customElements.get("ui-toggle")&&customElements.define("ui-toggle",l);exports.UIToggle=l;
|