@editora/ui-core 0.2.1 → 0.3.0
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-DxbvhLJs.js → ElementBase-CbUsP3D6.js} +1 -1
- package/dist/{ElementBase-BeZT54Hj.mjs → ElementBase-D5QsC5Vw.mjs} +10 -1
- package/dist/ElementBase.d.ts +7 -0
- package/dist/ElementBase.d.ts.map +1 -1
- package/dist/accordion.cjs.js +1 -1
- package/dist/accordion.esm.js +1 -1
- package/dist/add-icons-CVeHOsWl.js +1 -0
- package/dist/add-icons-DBUZJ0g7.mjs +14 -0
- package/dist/add-icons.cjs.js +1 -0
- package/dist/add-icons.d.ts +16 -0
- package/dist/add-icons.d.ts.map +1 -0
- package/dist/add-icons.esm.js +4 -0
- package/dist/alert-dialog.cjs.js +24 -24
- package/dist/alert-dialog.esm.js +112 -107
- package/dist/alert.cjs.js +8 -8
- package/dist/alert.esm.js +22 -22
- package/dist/animated-beam.cjs.js +1 -1
- package/dist/animated-beam.esm.js +1 -1
- package/dist/animated-list.cjs.js +1 -1
- package/dist/animated-list.esm.js +1 -1
- package/dist/animated-text.cjs.js +1 -1
- package/dist/animated-text.esm.js +1 -1
- package/dist/app-header.cjs.js +15 -3
- package/dist/app-header.esm.js +31 -4
- package/dist/aspect-ratio.cjs.js +1 -1
- package/dist/aspect-ratio.esm.js +1 -1
- package/dist/avatar.cjs.js +1 -1
- package/dist/avatar.esm.js +1 -1
- package/dist/badge.cjs.js +1 -1
- package/dist/badge.esm.js +1 -1
- package/dist/block-controls.cjs.js +1 -1
- package/dist/block-controls.esm.js +1 -1
- package/dist/box.cjs.js +1 -1
- package/dist/box.esm.js +1 -1
- package/dist/breadcrumb.cjs.js +4 -4
- package/dist/breadcrumb.esm.js +93 -84
- package/dist/button.cjs.js +520 -1
- package/dist/button.esm.js +682 -2
- package/dist/{calendar-CzpWDxLc.js → calendar-BsVqtpjM.js} +6 -6
- package/dist/{calendar-DkSDFg33.mjs → calendar-CFafqZVA.mjs} +6 -6
- package/dist/calendar.cjs.js +1 -1
- package/dist/calendar.esm.js +1 -1
- package/dist/card.cjs.js +6 -5
- package/dist/card.esm.js +52 -39
- package/dist/chart.cjs.js +2 -2
- package/dist/chart.esm.js +2 -2
- package/dist/checkbox.cjs.js +4 -4
- package/dist/checkbox.esm.js +36 -15
- package/dist/clone-source-BxK2pEVw.mjs +11 -0
- package/dist/clone-source-C7E_ri5f.js +1 -0
- package/dist/collapsible.cjs.js +1 -1
- package/dist/collapsible.esm.js +1 -1
- package/dist/color-picker.cjs.js +2 -2
- package/dist/color-picker.esm.js +3 -3
- package/dist/combobox.cjs.js +4 -4
- package/dist/combobox.esm.js +22 -19
- package/dist/command-palette.cjs.js +1 -1
- package/dist/command-palette.esm.js +1 -1
- package/dist/command.cjs.js +1 -1
- package/dist/command.esm.js +1 -1
- 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-app-header.d.ts +1 -0
- package/dist/components/ui-app-header.d.ts.map +1 -1
- package/dist/components/ui-breadcrumb.d.ts.map +1 -1
- package/dist/components/ui-card.d.ts +7 -0
- package/dist/components/ui-card.d.ts.map +1 -1
- package/dist/components/ui-checkbox.d.ts +6 -0
- package/dist/components/ui-checkbox.d.ts.map +1 -1
- package/dist/components/ui-combobox.d.ts.map +1 -1
- package/dist/components/ui-date-time-picker.d.ts.map +1 -1
- package/dist/components/ui-dialog.d.ts +1 -0
- package/dist/components/ui-dialog.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-hover-card.d.ts.map +1 -1
- package/dist/components/ui-icon.d.ts +1 -0
- package/dist/components/ui-icon.d.ts.map +1 -1
- package/dist/components/ui-input.d.ts +16 -0
- package/dist/components/ui-input.d.ts.map +1 -1
- package/dist/components/ui-layout.d.ts +20 -0
- package/dist/components/ui-layout.d.ts.map +1 -1
- package/dist/components/ui-menu.d.ts +1 -0
- package/dist/components/ui-menu.d.ts.map +1 -1
- package/dist/components/ui-menubar.d.ts.map +1 -1
- package/dist/components/ui-multi-select.d.ts +6 -0
- package/dist/components/ui-multi-select.d.ts.map +1 -1
- package/dist/components/ui-number-field.d.ts +6 -0
- package/dist/components/ui-number-field.d.ts.map +1 -1
- package/dist/components/ui-pagination.d.ts.map +1 -1
- package/dist/components/ui-password-field.d.ts +11 -0
- package/dist/components/ui-password-field.d.ts.map +1 -1
- package/dist/components/ui-popover.d.ts.map +1 -1
- package/dist/components/ui-positioner.d.ts.map +1 -1
- package/dist/components/ui-radio-group.d.ts +6 -0
- package/dist/components/ui-radio-group.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-select.d.ts +7 -0
- package/dist/components/ui-select.d.ts.map +1 -1
- package/dist/components/ui-sidebar.d.ts +1 -0
- package/dist/components/ui-sidebar.d.ts.map +1 -1
- package/dist/components/ui-slider.d.ts +6 -0
- package/dist/components/ui-slider.d.ts.map +1 -1
- package/dist/components/ui-sortable.d.ts +1 -0
- package/dist/components/ui-sortable.d.ts.map +1 -1
- package/dist/components/ui-switch.d.ts +6 -0
- package/dist/components/ui-switch.d.ts.map +1 -1
- package/dist/components/ui-tabs.d.ts +2 -0
- package/dist/components/ui-tabs.d.ts.map +1 -1
- package/dist/components/ui-textarea.d.ts +6 -0
- package/dist/components/ui-textarea.d.ts.map +1 -1
- package/dist/components/ui-toast.d.ts.map +1 -1
- package/dist/components/ui-tooltip.d.ts.map +1 -1
- package/dist/container.cjs.js +1 -1
- package/dist/container.esm.js +1 -1
- package/dist/context-menu.cjs.js +2 -2
- package/dist/context-menu.esm.js +2 -2
- package/dist/control-group.cjs.js +1 -1
- package/dist/control-group.esm.js +1 -1
- package/dist/data-table.cjs.js +5 -5
- package/dist/data-table.esm.js +7 -7
- package/dist/date-field.cjs.js +1 -1
- package/dist/date-field.esm.js +3 -3
- package/dist/date-picker.cjs.js +2 -2
- package/dist/date-picker.esm.js +17 -17
- package/dist/date-range-picker.cjs.js +2 -2
- package/dist/date-range-picker.esm.js +4 -4
- package/dist/date-range-time-picker.cjs.js +3 -3
- package/dist/date-range-time-picker.esm.js +16 -16
- package/dist/date-time-picker.cjs.js +26 -23
- package/dist/date-time-picker.esm.js +49 -46
- package/dist/{date-time-utils-zAx4ghvC.mjs → date-time-utils-CJUksWj3.mjs} +1 -1
- package/dist/{date-time-utils-C-4eHTyy.js → date-time-utils-D3hQQ5Om.js} +1 -1
- package/dist/description.cjs.js +1 -1
- package/dist/description.esm.js +1 -1
- package/dist/dialog.cjs.js +7 -7
- package/dist/dialog.esm.js +51 -47
- package/dist/direction-provider.cjs.js +1 -1
- package/dist/direction-provider.esm.js +1 -1
- package/dist/dismissable-layer.cjs.js +1 -1
- package/dist/dismissable-layer.esm.js +1 -1
- package/dist/dock.cjs.js +1 -1
- package/dist/dock.esm.js +1 -1
- package/dist/drawer.cjs.js +5 -5
- package/dist/drawer.esm.js +18 -17
- package/dist/dropdown.cjs.js +7 -7
- package/dist/dropdown.esm.js +39 -38
- package/dist/empty-state.cjs.js +12 -2
- package/dist/empty-state.esm.js +17 -7
- package/dist/field-error.cjs.js +1 -1
- package/dist/field-error.esm.js +1 -1
- package/dist/field.cjs.js +2 -2
- package/dist/field.esm.js +2 -2
- package/dist/fieldset.cjs.js +1 -1
- package/dist/fieldset.esm.js +1 -1
- package/dist/file-upload.cjs.js +1 -1
- package/dist/file-upload.esm.js +1 -1
- package/dist/flex.cjs.js +1 -1
- package/dist/flex.esm.js +1 -1
- package/dist/floating-toolbar.cjs.js +2 -2
- package/dist/floating-toolbar.esm.js +2 -2
- package/dist/focus-scope-Dl0qk5GP.mjs +177 -0
- package/dist/focus-scope-Doz0bnE1.js +1 -0
- package/dist/focus-scope.cjs.js +1 -1
- package/dist/focus-scope.esm.js +2 -2
- package/dist/form-control-B90_3kYN.js +1 -0
- package/dist/form-control-D9wWUMBl.mjs +86 -0
- package/dist/form.cjs.js +2 -2
- package/dist/form.esm.js +2 -2
- package/dist/gantt.cjs.js +2 -2
- package/dist/gantt.esm.js +2 -2
- package/dist/grid.cjs.js +1 -1
- package/dist/grid.esm.js +1 -1
- package/dist/hover-card.cjs.js +5 -5
- package/dist/hover-card.esm.js +19 -18
- package/dist/icon-cloud.cjs.js +1 -1
- package/dist/icon-cloud.esm.js +1 -1
- package/dist/icon.cjs.js +207 -1
- package/dist/icon.esm.js +294 -2
- package/dist/icons-CpCpPXV5.js +1 -0
- package/dist/icons-DWYbbhb0.mjs +115 -0
- package/dist/icons.d.ts +11 -1
- package/dist/icons.d.ts.map +1 -1
- package/dist/implicit-submit-B6M5Uc56.js +1 -0
- package/dist/implicit-submit-Lr0-q2LR.mjs +44 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +309 -299
- package/dist/inline-edit.cjs.js +1 -1
- package/dist/inline-edit.esm.js +1 -1
- package/dist/input.cjs.js +62 -20
- package/dist/input.esm.js +164 -58
- package/dist/label.cjs.js +1 -1
- package/dist/label.esm.js +1 -1
- package/dist/layout.cjs.js +145 -4
- package/dist/layout.esm.js +278 -40
- package/dist/marquee.cjs.js +1 -1
- package/dist/marquee.esm.js +1 -1
- package/dist/masonry-grid.cjs.js +1 -1
- package/dist/masonry-grid.esm.js +1 -1
- package/dist/menu.cjs.js +8 -8
- package/dist/menu.esm.js +51 -47
- package/dist/menubar.cjs.js +9 -9
- package/dist/menubar.esm.js +41 -40
- package/dist/meter.cjs.js +1 -1
- package/dist/meter.esm.js +1 -1
- package/dist/multi-select.cjs.js +7 -7
- package/dist/multi-select.esm.js +55 -34
- package/dist/navigate-CXebafwF.mjs +18 -0
- package/dist/navigate-ChJVIIuS.js +1 -0
- package/dist/navigation-menu.cjs.js +1 -1
- package/dist/navigation-menu.esm.js +1 -1
- package/dist/number-attribute-BAF07JrU.mjs +8 -0
- package/dist/number-attribute-C4Rrl7d3.js +1 -0
- package/dist/number-field.cjs.js +8 -8
- package/dist/number-field.esm.js +90 -69
- package/dist/number-ticker.cjs.js +1 -1
- package/dist/number-ticker.esm.js +1 -1
- package/dist/odometer.cjs.js +1 -1
- package/dist/odometer.esm.js +1 -1
- package/dist/orbiter.cjs.js +1 -1
- package/dist/orbiter.esm.js +1 -1
- package/dist/pagination.cjs.js +24 -23
- package/dist/pagination.esm.js +61 -46
- package/dist/{panel-group-BVHJEdfx.js → panel-group-BIzzpQ5i.js} +1 -1
- package/dist/{panel-group-BxO_eNW6.mjs → panel-group-CFLjzRWI.mjs} +1 -1
- package/dist/panel-group.cjs.js +1 -1
- package/dist/panel-group.esm.js +1 -1
- package/dist/panel.cjs.js +1 -1
- package/dist/panel.esm.js +1 -1
- package/dist/password-field.cjs.js +36 -16
- package/dist/password-field.esm.js +113 -44
- package/dist/pin-input.cjs.js +1 -1
- package/dist/pin-input.esm.js +1 -1
- 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 +2 -2
- package/dist/popover.esm.js +28 -26
- package/dist/portal.cjs.js +1 -1
- package/dist/portal.esm.js +1 -1
- package/dist/positioner.cjs.js +2 -2
- package/dist/positioner.esm.js +35 -38
- package/dist/preload.cjs.js +221 -0
- package/dist/preload.css +220 -0
- package/dist/preload.d.ts +17 -0
- package/dist/preload.d.ts.map +1 -0
- package/dist/preload.esm.js +224 -0
- package/dist/presence.cjs.js +1 -1
- package/dist/presence.esm.js +1 -1
- package/dist/primitives/clone-source.d.ts +3 -0
- package/dist/primitives/clone-source.d.ts.map +1 -0
- package/dist/primitives/focus-scope.d.ts +6 -0
- package/dist/primitives/focus-scope.d.ts.map +1 -1
- package/dist/primitives/form-control.d.ts +68 -0
- package/dist/primitives/form-control.d.ts.map +1 -0
- package/dist/primitives/implicit-submit.d.ts +17 -0
- package/dist/primitives/implicit-submit.d.ts.map +1 -0
- package/dist/primitives/navigate.d.ts +27 -0
- package/dist/primitives/navigate.d.ts.map +1 -0
- package/dist/primitives/number-attribute.d.ts +7 -0
- package/dist/primitives/number-attribute.d.ts.map +1 -0
- package/dist/primitives/slotted-input.d.ts +19 -0
- package/dist/primitives/slotted-input.d.ts.map +1 -0
- package/dist/progress.cjs.js +3 -3
- package/dist/progress.esm.js +3 -3
- package/dist/quick-actions.cjs.js +5 -5
- package/dist/quick-actions.esm.js +3 -3
- package/dist/radio-group.cjs.js +9 -9
- package/dist/radio-group.esm.js +47 -24
- package/dist/radio.cjs.js +1 -1
- package/dist/radio.esm.js +1 -1
- package/dist/rating.cjs.js +6 -6
- package/dist/rating.esm.js +21 -10
- package/dist/{runtime-BRT7E4A8.mjs → runtime-CORXjP7e.mjs} +379 -357
- package/dist/runtime-uCly3ECd.js +5 -0
- package/dist/runtime.cjs.js +1 -1
- package/dist/runtime.esm.js +1 -1
- package/dist/scroll-area.cjs.js +1 -1
- package/dist/scroll-area.esm.js +1 -1
- package/dist/section.cjs.js +1 -1
- package/dist/section.esm.js +1 -1
- package/dist/select.cjs.js +21 -21
- package/dist/select.esm.js +111 -71
- package/dist/selection-popup.cjs.js +2 -2
- package/dist/selection-popup.esm.js +2 -2
- package/dist/semantic-tokens.d.ts.map +1 -1
- package/dist/separator.cjs.js +1 -1
- package/dist/separator.esm.js +1 -1
- package/dist/sidebar.cjs.js +15 -15
- package/dist/sidebar.esm.js +48 -42
- package/dist/skeleton.cjs.js +1 -1
- package/dist/skeleton.esm.js +1 -1
- package/dist/slider.cjs.js +11 -11
- package/dist/slider.esm.js +40 -23
- package/dist/slot.cjs.js +1 -1
- package/dist/slot.esm.js +1 -1
- package/dist/slotted-input-BVq2QQg2.js +1 -0
- package/dist/slotted-input-atWznLfm.mjs +13 -0
- package/dist/sortable.cjs.js +25 -25
- package/dist/sortable.esm.js +29 -21
- package/dist/spinning-text.cjs.js +1 -1
- package/dist/spinning-text.esm.js +1 -1
- package/dist/split-button.cjs.js +1 -1
- package/dist/split-button.esm.js +1 -1
- package/dist/splitter.cjs.js +1 -1
- package/dist/splitter.esm.js +1 -1
- package/dist/standalone/add-icons.d.ts +2 -0
- package/dist/standalone/add-icons.d.ts.map +1 -0
- package/dist/standalone/preload.d.ts +2 -0
- package/dist/standalone/preload.d.ts.map +1 -0
- package/dist/stepper.cjs.js +3 -3
- package/dist/stepper.esm.js +3 -3
- package/dist/switch.cjs.js +9 -9
- package/dist/switch.esm.js +56 -35
- package/dist/table.cjs.js +1 -1
- package/dist/table.esm.js +1 -1
- package/dist/tabs.cjs.js +14 -14
- package/dist/tabs.esm.js +129 -115
- package/dist/tags-input.cjs.js +1 -1
- package/dist/tags-input.esm.js +1 -1
- package/dist/textarea.cjs.js +33 -11
- package/dist/textarea.esm.js +74 -35
- package/dist/theme.d.ts +6 -0
- package/dist/theme.d.ts.map +1 -1
- package/dist/time-field.cjs.js +1 -1
- package/dist/time-field.esm.js +2 -2
- package/dist/time-picker.cjs.js +1 -1
- package/dist/time-picker.esm.js +3 -3
- package/dist/timeline.cjs.js +2 -2
- package/dist/timeline.esm.js +2 -2
- package/dist/toast.cjs.js +4 -4
- package/dist/toast.esm.js +17 -16
- package/dist/toggle-group.cjs.js +1 -1
- package/dist/toggle-group.esm.js +1 -1
- package/dist/toggle.cjs.js +3 -3
- package/dist/toggle.esm.js +9 -9
- package/dist/toolbar.cjs.js +1 -1
- package/dist/toolbar.esm.js +1 -1
- package/dist/tooltip.cjs.js +2 -2
- package/dist/tooltip.esm.js +12 -14
- package/dist/transfer-list.cjs.js +1 -1
- package/dist/transfer-list.esm.js +1 -1
- package/dist/{tree-33fVNnaf.mjs → tree-CD2k2lIC.mjs} +1 -1
- package/dist/{tree-Dc02MChE.js → tree-ChQfhxya.js} +1 -1
- package/dist/tree-item.cjs.js +1 -1
- package/dist/tree-item.esm.js +1 -1
- package/dist/tree.cjs.js +1 -1
- package/dist/tree.esm.js +1 -1
- package/dist/visually-hidden.cjs.js +1 -1
- package/dist/visually-hidden.esm.js +1 -1
- package/dist/wizard.cjs.js +4 -4
- package/dist/wizard.esm.js +4 -4
- package/package.json +3 -2
- package/dist/focus-scope-Bwug2gDv.js +0 -1
- package/dist/focus-scope-CmEsG5UZ.mjs +0 -138
- package/dist/runtime-CXw4SGV9.js +0 -5
- package/dist/ui-button-C3OmI7Sn.mjs +0 -684
- package/dist/ui-button-CnLwXBnx.js +0 -520
- package/dist/ui-icon-D3avtxX_.js +0 -207
- package/dist/ui-icon-DLhB08Fo.mjs +0 -361
package/dist/label.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("./ElementBase-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("./ElementBase-CbUsP3D6.js"),u=`
|
|
2
2
|
:host {
|
|
3
3
|
--ui-label-color: var(--ui-color-text, var(--ui-text, #0f172a));
|
|
4
4
|
--ui-label-muted: var(--ui-color-muted, var(--ui-muted, #526175));
|
package/dist/label.esm.js
CHANGED
package/dist/layout.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const _=require("./ElementBase-CbUsP3D6.js"),g=`
|
|
2
2
|
:host {
|
|
3
3
|
--ui-layout-bg: var(--ui-color-background, #f8fafc);
|
|
4
4
|
--ui-layout-surface: var(--color-panel-solid, var(--ui-color-surface, #ffffff));
|
|
@@ -207,6 +207,146 @@
|
|
|
207
207
|
display: none !important;
|
|
208
208
|
}
|
|
209
209
|
|
|
210
|
+
/* App shell: the layout is the page frame itself. No outer box, full viewport height, panels
|
|
211
|
+
unframed so the components in them (AppHeader, Sidebar, Card) bring their own chrome instead
|
|
212
|
+
of sitting in boxes inside boxes; only the content area scrolls. */
|
|
213
|
+
:host([variant="shell"]) .layout {
|
|
214
|
+
height: var(--ui-layout-shell-height, 100dvh);
|
|
215
|
+
max-width: none;
|
|
216
|
+
padding: 0;
|
|
217
|
+
gap: 0;
|
|
218
|
+
border: 0;
|
|
219
|
+
border-radius: 0;
|
|
220
|
+
box-shadow: none;
|
|
221
|
+
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
:host([variant="shell"]) .header,
|
|
225
|
+
:host([variant="shell"]) .footer,
|
|
226
|
+
:host([variant="shell"]) .panel {
|
|
227
|
+
border: 0;
|
|
228
|
+
border-radius: 0;
|
|
229
|
+
background: transparent;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/* Components in the shell are flush with it: the shell draws one divider per edge, and the
|
|
233
|
+
AppHeader / Sidebar inside it drop their own outer border and radius (they read these
|
|
234
|
+
inherited --base-* tokens). */
|
|
235
|
+
:host([variant="shell"]) .header {
|
|
236
|
+
padding: 0;
|
|
237
|
+
border-block-end: var(--ui-layout-border);
|
|
238
|
+
--base-app-header-radius: 0;
|
|
239
|
+
--base-app-header-border: 0 solid transparent;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
:host([variant="shell"]) .sidebar-panel,
|
|
243
|
+
:host([data-drawer]) .sidebar-panel {
|
|
244
|
+
--base-sidebar-radius: 0;
|
|
245
|
+
--base-sidebar-border: 0 solid transparent;
|
|
246
|
+
--base-sidebar-outline: none;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
:host([variant="shell"]) .sidebar-panel {
|
|
250
|
+
border-inline-end: var(--ui-layout-border);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
:host([variant="shell"][sidebar-side="end"]) .sidebar-panel {
|
|
254
|
+
border-inline-end: 0;
|
|
255
|
+
border-inline-start: var(--ui-layout-border);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
:host([variant="shell"]) .aside-panel {
|
|
259
|
+
border-inline-start: var(--ui-layout-border);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
:host([variant="shell"]) .footer {
|
|
263
|
+
border-block-start: var(--ui-layout-border);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
:host([variant="shell"]) .body {
|
|
267
|
+
min-height: 0;
|
|
268
|
+
gap: 0;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
:host([variant="shell"]) .panel {
|
|
272
|
+
min-height: 0;
|
|
273
|
+
padding: 0;
|
|
274
|
+
overflow: auto;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
:host([variant="shell"]) .content-panel {
|
|
278
|
+
padding: var(--ui-layout-content-padding);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
:host([variant="shell"]) .sidebar-panel ::slotted(*),
|
|
282
|
+
:host([variant="shell"]) .aside-panel ::slotted(*) {
|
|
283
|
+
block-size: 100%;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
/* Off-canvas sidebar on narrow screens (variant="shell", or mobile-sidebar="drawer"). */
|
|
287
|
+
.backdrop {
|
|
288
|
+
display: none;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
:host([data-drawer]) .body {
|
|
292
|
+
grid-template-columns: minmax(0, 1fr) !important;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
:host([data-drawer]) .sidebar-panel {
|
|
296
|
+
position: fixed;
|
|
297
|
+
inset-block: 0;
|
|
298
|
+
inset-inline-start: 0;
|
|
299
|
+
z-index: var(--ui-layout-drawer-z, 1000);
|
|
300
|
+
inline-size: var(--ui-layout-drawer-width, auto);
|
|
301
|
+
max-inline-size: 86vw;
|
|
302
|
+
max-block-size: none;
|
|
303
|
+
min-height: 0;
|
|
304
|
+
padding: 0;
|
|
305
|
+
overflow: auto;
|
|
306
|
+
border: 0;
|
|
307
|
+
border-radius: 0;
|
|
308
|
+
background: var(--ui-layout-surface);
|
|
309
|
+
box-shadow: 0 24px 48px rgba(2, 6, 23, 0.24);
|
|
310
|
+
transform: translateX(-100%);
|
|
311
|
+
visibility: hidden;
|
|
312
|
+
transition: transform 200ms ease, visibility 0s linear 200ms;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
:host([data-drawer][sidebar-side="end"]) .sidebar-panel {
|
|
316
|
+
inset-inline-start: auto;
|
|
317
|
+
inset-inline-end: 0;
|
|
318
|
+
transform: translateX(100%);
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
:host([data-drawer][sidebar-open]) .sidebar-panel {
|
|
322
|
+
transform: none;
|
|
323
|
+
visibility: visible;
|
|
324
|
+
transition: transform 200ms ease;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
:host([data-drawer][sidebar-open]) .backdrop {
|
|
328
|
+
display: block;
|
|
329
|
+
position: fixed;
|
|
330
|
+
inset: 0;
|
|
331
|
+
z-index: calc(var(--ui-layout-drawer-z, 1000) - 1);
|
|
332
|
+
background: var(--ui-layout-backdrop, rgba(15, 23, 42, 0.45));
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
:host([data-drawer]) .sidebar-panel ::slotted(*) {
|
|
336
|
+
block-size: 100%;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
:host([data-drawer]) .sidebar-panel {
|
|
340
|
+
border: 0 !important;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
@media (prefers-reduced-motion: reduce) {
|
|
344
|
+
:host([data-drawer]) .sidebar-panel,
|
|
345
|
+
:host([data-drawer][sidebar-open]) .sidebar-panel {
|
|
346
|
+
transition: none;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
|
|
210
350
|
@media (max-width: 980px) {
|
|
211
351
|
.body {
|
|
212
352
|
grid-template-columns: minmax(0, 1fr) !important;
|
|
@@ -241,8 +381,8 @@
|
|
|
241
381
|
box-shadow: none;
|
|
242
382
|
}
|
|
243
383
|
}
|
|
244
|
-
`;function
|
|
245
|
-
<style>${
|
|
384
|
+
`;function h(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 v(o){if(o==null)return!1;const t=String(o).trim().toLowerCase();return t!=="false"&&t!=="0"}function p(o,t){const e=o?.trim();return e?/^-?\d+(\.\d+)?$/.test(e)?`${e}px`:e:t}function x(){let o=typeof document<"u"?document.activeElement:null;for(;o?.shadowRoot?.activeElement;)o=o.shadowRoot.activeElement;return o}const m='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';function w(o){const t=e=>{for(const a of Array.from(e.querySelectorAll("*"))){if(a.matches(m))return a;if(a.shadowRoot){const i=t(a.shadowRoot);if(i)return i}}return null};for(const e of o?.assignedElements({flatten:!0})||[]){if(e.matches(m))return e;const a=t(e)||(e.shadowRoot?t(e.shadowRoot):null);if(a)return a}return null}class y extends _.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._media=null,this._mediaQuery="",this._narrow=!1,this._restoreFocus=null,this._drawerWasOpen=!1,this._onSlotChange=this._onSlotChange.bind(this),this._onMediaChange=this._onMediaChange.bind(this),this._onHostKeyDown=this._onHostKeyDown.bind(this),this._onMenuTrigger=this._onMenuTrigger.bind(this),this._onRootClick=this._onRootClick.bind(this),this._onSidebarActivate=this._onSidebarActivate.bind(this)}static get observedAttributes(){return["mode","variant","density","max-width","sidebar-side","collapsed","headless","sidebar-width","aside-width","sidebar-open","mobile-sidebar","drawer-breakpoint"]}connectedCallback(){super.connectedCallback(),this._watchViewport(),this.addEventListener("keydown",this._onHostKeyDown),this.addEventListener("menu-trigger",this._onMenuTrigger),this.addEventListener("select",this._onSidebarActivate),this.addEventListener("click",this._onSidebarActivate),this.root.addEventListener("click",this._onRootClick),queueMicrotask(()=>this._syncShell({emit:!1}))}disconnectedCallback(){this._detachSlotHandlers(),this._media?.removeEventListener?.("change",this._onMediaChange),this._media=null,this.removeEventListener("keydown",this._onHostKeyDown),this.removeEventListener("menu-trigger",this._onMenuTrigger),this.removeEventListener("select",this._onSidebarActivate),this.removeEventListener("click",this._onSidebarActivate),this.root.removeEventListener("click",this._onRootClick),super.disconnectedCallback()}get drawerActive(){return this.hasAttribute("data-drawer")}get sidebarOpen(){return this.hasAttribute("sidebar-open")}set sidebarOpen(t){this.toggleAttribute("sidebar-open",!!t)}openSidebar(){this._setSidebarOpen(!0,"api")}closeSidebar(){this._setSidebarOpen(!1,"api")}_drawerWanted(){const t=this.getAttribute("mobile-sidebar");return t==="drawer"?!0:t==="stack"?!1:this.getAttribute("variant")==="shell"}_watchViewport(){if(typeof window>"u"||typeof window.matchMedia!="function")return;const t=Number(this.getAttribute("drawer-breakpoint")),a=`(max-width: ${Number.isFinite(t)&&t>0?t:980}px)`;this._media&&this._mediaQuery===a||(this._media?.removeEventListener?.("change",this._onMediaChange),this._mediaQuery=a,this._media=window.matchMedia(a),this._media.addEventListener?.("change",this._onMediaChange),this._narrow=!!this._media.matches)}_onMediaChange(){this._narrow=!!this._media?.matches,this._syncShell({emit:!0})}_setSidebarOpen(t,e){this.sidebarOpen!==t&&(this.toggleAttribute("sidebar-open",t),this.dispatchEvent(new CustomEvent("sidebar-open-change",{detail:{open:t,source:e},bubbles:!0,composed:!0})))}_onMenuTrigger(){this.drawerActive&&this._setSidebarOpen(!this.sidebarOpen,"menu")}_onHostKeyDown(t){t.key!=="Escape"||!this.drawerActive||!this.sidebarOpen||t.defaultPrevented||(t.preventDefault(),this._setSidebarOpen(!1,"escape"))}_onRootClick(t){t.target?.classList?.contains("backdrop")&&this._setSidebarOpen(!1,"backdrop")}_onSidebarActivate(t){!this.drawerActive||!this.sidebarOpen||!t.composedPath().some(a=>a instanceof HTMLElement&&a.getAttribute("slot")==="sidebar"&&a.parentElement===this)||t.type==="click"&&!t.composedPath().find(i=>i instanceof HTMLAnchorElement&&i.hasAttribute("href"))||this._setSidebarOpen(!1,"navigate")}_syncDrawer(t){const e=this._drawerWanted()&&this._narrow&&t.hasSidebarContent;this.toggleAttribute("data-drawer",e),!e&&this.sidebarOpen&&this._setSidebarOpen(!1,"viewport");const a=e&&this.sidebarOpen,i=this._sidebarPanel;if(i&&(e?(i.hidden=!1,i.setAttribute("role","dialog"),i.setAttribute("aria-modal","true"),i.setAttribute("aria-label",this.getAttribute("sidebar-label")||"Navigation"),i.setAttribute("tabindex","-1"),a?i.removeAttribute("inert"):i.setAttribute("inert","")):(i.removeAttribute("role"),i.removeAttribute("aria-modal"),i.removeAttribute("aria-label"),i.removeAttribute("tabindex"),i.removeAttribute("inert"))),[this._headerEl,this._contentPanel,this._asidePanel,this._footerEl].forEach(r=>{r&&(a?r.setAttribute("inert",""):r.removeAttribute("inert"))}),(this._headerSlot?.assignedElements({flatten:!0})||[]).forEach(r=>{(r.matches("ui-app-header")?[r]:Array.from(r.querySelectorAll("ui-app-header"))).forEach(s=>{e?s.setAttribute("menu-expanded",a?"true":"false"):s.removeAttribute("menu-expanded")})}),a&&!this._drawerWasOpen){const r=x();this._restoreFocus=r&&r!==document.body?r:null;const u=w(this._sidebarSlot)||i;queueMicrotask(()=>u?.focus({preventScroll:!0}))}else if(!a&&this._drawerWasOpen){const r=this._restoreFocus;this._restoreFocus=null,r?.isConnected&&r.focus({preventScroll:!0})}this._drawerWasOpen=a}collapse(){this.setAttribute("collapsed","")}expand(){this.removeAttribute("collapsed")}toggleSidebar(){if(this.drawerActive){this._setSidebarOpen(!this.sidebarOpen,"api");return}this.collapsed?this.expand():this.collapse()}get collapsed(){return v(this.getAttribute("collapsed"))}set collapsed(t){t?this.setAttribute("collapsed",""):this.removeAttribute("collapsed")}attributeChangedCallback(t,e,a){if(e!==a){if(t==="drawer-breakpoint"&&this.isConnected&&this._watchViewport(),t==="variant"||t==="density"||t==="max-width"||t==="headless"){super.attributeChangedCallback(t,e,a),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(),e=this._sidebarSide(),a=this.collapsed,i=h(this._headerSlot),r=h(this._footerSlot),u=h(this._sidebarSlot),s=h(this._asideSlot),c=h(this._contentSlot)||h(this._defaultSlot),n=u&&(!a||t==="stack")&&!(t==="split"&&s),d=s,f=c||n||d,b=t==="stack";let l="content-only";return b||(t==="split"?d&&c?l="split-with-aside":n&&c&&(l=e==="end"?"split-with-sidebar-end":"split-with-sidebar-start"):n&&d?l=e==="end"?"dashboard-end":"dashboard-start":n?l=e==="end"?"dashboard-end-no-aside":"dashboard-start-no-aside":d&&(l=e==="end"?"dashboard-end-no-sidebar":"dashboard-start-no-sidebar")),{mode:t,sidebarSide:e,collapsed:a,hasHeader:i,hasFooter:r,hasSidebarContent:u,hasAsideContent:s,hasContent:c,sidebarVisible:n,asideVisible:d,bodyVisible:f,layout:l,stack:b,sidebarTrack:n?p(this.getAttribute("sidebar-width"),this.getAttribute("variant")==="shell"?"auto":"clamp(220px, 22vw, 320px)"):"0px",asideTrack:d?p(this.getAttribute("aside-width"),"clamp(240px, 26vw, 360px)"):"0px"}}_syncShell(t){const e=this._computeShellState();if(!e||!this._bodyEl)return;this._headerEl&&(this._headerEl.hidden=!e.hasHeader),this._footerEl&&(this._footerEl.hidden=!e.hasFooter),this.style.setProperty("--ui-layout-sidebar-track",e.sidebarTrack),this.style.setProperty("--ui-layout-aside-track",e.asideTrack),this._sidebarPanel&&(this._sidebarPanel.hidden=!e.sidebarVisible),this._contentPanel&&(this._contentPanel.hidden=!e.hasContent),this._asidePanel&&(this._asidePanel.hidden=!e.asideVisible),this._bodyEl.hidden=!e.bodyVisible,this._bodyEl.dataset.layout=e.layout,this._bodyEl.dataset.mode=e.mode,this._bodyEl.dataset.sidebarSide=e.sidebarSide,e.stack?this._bodyEl.classList.add("stack"):this._bodyEl.classList.remove("stack"),this._syncDrawer(e);const a=this._signature(e);t.emit&&a!==this._lastLayoutSignature&&this._emitLayoutChange(e),this._lastLayoutSignature=a}shouldRenderOnAttributeChange(t,e,a){return!1}render(){this.setContent(`
|
|
385
|
+
<style>${g}</style>
|
|
246
386
|
<div class="layout" part="layout">
|
|
247
387
|
<header class="header" part="header">
|
|
248
388
|
<slot name="header"></slot>
|
|
@@ -251,6 +391,7 @@
|
|
|
251
391
|
<section class="panel sidebar-panel" part="sidebar">
|
|
252
392
|
<slot name="sidebar"></slot>
|
|
253
393
|
</section>
|
|
394
|
+
<div class="backdrop" part="backdrop" aria-hidden="true"></div>
|
|
254
395
|
<section class="panel content-panel" part="content">
|
|
255
396
|
<slot name="content"></slot>
|
|
256
397
|
<slot></slot>
|
|
@@ -263,4 +404,4 @@
|
|
|
263
404
|
<slot name="footer"></slot>
|
|
264
405
|
</footer>
|
|
265
406
|
</div>
|
|
266
|
-
`),this._layoutNode=this.root.querySelector(".layout"),this._headerEl=this.root.querySelector(".header"),this._bodyEl=this.root.querySelector(".body"),this._footerEl=this.root.querySelector(".footer"),this._sidebarPanel=this.root.querySelector(".sidebar-panel"),this._contentPanel=this.root.querySelector(".content-panel"),this._asidePanel=this.root.querySelector(".aside-panel"),this._attachSlotHandlers(),queueMicrotask(()=>this._syncShell({emit:!1}))}}typeof customElements<"u"&&!customElements.get("ui-layout")&&customElements.define("ui-layout",
|
|
407
|
+
`),this._layoutNode=this.root.querySelector(".layout"),this._headerEl=this.root.querySelector(".header"),this._bodyEl=this.root.querySelector(".body"),this._footerEl=this.root.querySelector(".footer"),this._sidebarPanel=this.root.querySelector(".sidebar-panel"),this._contentPanel=this.root.querySelector(".content-panel"),this._asidePanel=this.root.querySelector(".aside-panel"),this._attachSlotHandlers(),queueMicrotask(()=>this._syncShell({emit:!1}))}}typeof customElements<"u"&&!customElements.get("ui-layout")&&customElements.define("ui-layout",y);exports.UILayout=y;
|
package/dist/layout.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as
|
|
2
|
-
const
|
|
1
|
+
import { E as f } from "./ElementBase-D5QsC5Vw.mjs";
|
|
2
|
+
const _ = `
|
|
3
3
|
:host {
|
|
4
4
|
--ui-layout-bg: var(--ui-color-background, #f8fafc);
|
|
5
5
|
--ui-layout-surface: var(--color-panel-solid, var(--ui-color-surface, #ffffff));
|
|
@@ -208,6 +208,146 @@ const f = `
|
|
|
208
208
|
display: none !important;
|
|
209
209
|
}
|
|
210
210
|
|
|
211
|
+
/* App shell: the layout is the page frame itself. No outer box, full viewport height, panels
|
|
212
|
+
unframed so the components in them (AppHeader, Sidebar, Card) bring their own chrome instead
|
|
213
|
+
of sitting in boxes inside boxes; only the content area scrolls. */
|
|
214
|
+
:host([variant="shell"]) .layout {
|
|
215
|
+
height: var(--ui-layout-shell-height, 100dvh);
|
|
216
|
+
max-width: none;
|
|
217
|
+
padding: 0;
|
|
218
|
+
gap: 0;
|
|
219
|
+
border: 0;
|
|
220
|
+
border-radius: 0;
|
|
221
|
+
box-shadow: none;
|
|
222
|
+
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
:host([variant="shell"]) .header,
|
|
226
|
+
:host([variant="shell"]) .footer,
|
|
227
|
+
:host([variant="shell"]) .panel {
|
|
228
|
+
border: 0;
|
|
229
|
+
border-radius: 0;
|
|
230
|
+
background: transparent;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/* Components in the shell are flush with it: the shell draws one divider per edge, and the
|
|
234
|
+
AppHeader / Sidebar inside it drop their own outer border and radius (they read these
|
|
235
|
+
inherited --base-* tokens). */
|
|
236
|
+
:host([variant="shell"]) .header {
|
|
237
|
+
padding: 0;
|
|
238
|
+
border-block-end: var(--ui-layout-border);
|
|
239
|
+
--base-app-header-radius: 0;
|
|
240
|
+
--base-app-header-border: 0 solid transparent;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
:host([variant="shell"]) .sidebar-panel,
|
|
244
|
+
:host([data-drawer]) .sidebar-panel {
|
|
245
|
+
--base-sidebar-radius: 0;
|
|
246
|
+
--base-sidebar-border: 0 solid transparent;
|
|
247
|
+
--base-sidebar-outline: none;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
:host([variant="shell"]) .sidebar-panel {
|
|
251
|
+
border-inline-end: var(--ui-layout-border);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
:host([variant="shell"][sidebar-side="end"]) .sidebar-panel {
|
|
255
|
+
border-inline-end: 0;
|
|
256
|
+
border-inline-start: var(--ui-layout-border);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
:host([variant="shell"]) .aside-panel {
|
|
260
|
+
border-inline-start: var(--ui-layout-border);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
:host([variant="shell"]) .footer {
|
|
264
|
+
border-block-start: var(--ui-layout-border);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
:host([variant="shell"]) .body {
|
|
268
|
+
min-height: 0;
|
|
269
|
+
gap: 0;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
:host([variant="shell"]) .panel {
|
|
273
|
+
min-height: 0;
|
|
274
|
+
padding: 0;
|
|
275
|
+
overflow: auto;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
:host([variant="shell"]) .content-panel {
|
|
279
|
+
padding: var(--ui-layout-content-padding);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
:host([variant="shell"]) .sidebar-panel ::slotted(*),
|
|
283
|
+
:host([variant="shell"]) .aside-panel ::slotted(*) {
|
|
284
|
+
block-size: 100%;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/* Off-canvas sidebar on narrow screens (variant="shell", or mobile-sidebar="drawer"). */
|
|
288
|
+
.backdrop {
|
|
289
|
+
display: none;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
:host([data-drawer]) .body {
|
|
293
|
+
grid-template-columns: minmax(0, 1fr) !important;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
:host([data-drawer]) .sidebar-panel {
|
|
297
|
+
position: fixed;
|
|
298
|
+
inset-block: 0;
|
|
299
|
+
inset-inline-start: 0;
|
|
300
|
+
z-index: var(--ui-layout-drawer-z, 1000);
|
|
301
|
+
inline-size: var(--ui-layout-drawer-width, auto);
|
|
302
|
+
max-inline-size: 86vw;
|
|
303
|
+
max-block-size: none;
|
|
304
|
+
min-height: 0;
|
|
305
|
+
padding: 0;
|
|
306
|
+
overflow: auto;
|
|
307
|
+
border: 0;
|
|
308
|
+
border-radius: 0;
|
|
309
|
+
background: var(--ui-layout-surface);
|
|
310
|
+
box-shadow: 0 24px 48px rgba(2, 6, 23, 0.24);
|
|
311
|
+
transform: translateX(-100%);
|
|
312
|
+
visibility: hidden;
|
|
313
|
+
transition: transform 200ms ease, visibility 0s linear 200ms;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
:host([data-drawer][sidebar-side="end"]) .sidebar-panel {
|
|
317
|
+
inset-inline-start: auto;
|
|
318
|
+
inset-inline-end: 0;
|
|
319
|
+
transform: translateX(100%);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
:host([data-drawer][sidebar-open]) .sidebar-panel {
|
|
323
|
+
transform: none;
|
|
324
|
+
visibility: visible;
|
|
325
|
+
transition: transform 200ms ease;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
:host([data-drawer][sidebar-open]) .backdrop {
|
|
329
|
+
display: block;
|
|
330
|
+
position: fixed;
|
|
331
|
+
inset: 0;
|
|
332
|
+
z-index: calc(var(--ui-layout-drawer-z, 1000) - 1);
|
|
333
|
+
background: var(--ui-layout-backdrop, rgba(15, 23, 42, 0.45));
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
:host([data-drawer]) .sidebar-panel ::slotted(*) {
|
|
337
|
+
block-size: 100%;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
:host([data-drawer]) .sidebar-panel {
|
|
341
|
+
border: 0 !important;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
@media (prefers-reduced-motion: reduce) {
|
|
345
|
+
:host([data-drawer]) .sidebar-panel,
|
|
346
|
+
:host([data-drawer][sidebar-open]) .sidebar-panel {
|
|
347
|
+
transition: none;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
|
|
211
351
|
@media (max-width: 980px) {
|
|
212
352
|
.body {
|
|
213
353
|
grid-template-columns: minmax(0, 1fr) !important;
|
|
@@ -243,21 +383,45 @@ const f = `
|
|
|
243
383
|
}
|
|
244
384
|
}
|
|
245
385
|
`;
|
|
246
|
-
function
|
|
386
|
+
function h(o) {
|
|
247
387
|
return o ? o.assignedNodes({ flatten: !0 }).some((t) => t.nodeType === Node.ELEMENT_NODE ? !0 : t.nodeType === Node.TEXT_NODE ? !!t.textContent?.trim() : !1) : !1;
|
|
248
388
|
}
|
|
249
|
-
function
|
|
389
|
+
function g(o) {
|
|
250
390
|
if (o == null) return !1;
|
|
251
391
|
const t = String(o).trim().toLowerCase();
|
|
252
392
|
return t !== "false" && t !== "0";
|
|
253
393
|
}
|
|
254
|
-
function
|
|
255
|
-
const
|
|
256
|
-
return
|
|
394
|
+
function p(o, t) {
|
|
395
|
+
const e = o?.trim();
|
|
396
|
+
return e ? /^-?\d+(\.\d+)?$/.test(e) ? `${e}px` : e : t;
|
|
257
397
|
}
|
|
258
|
-
|
|
398
|
+
function v() {
|
|
399
|
+
let o = typeof document < "u" ? document.activeElement : null;
|
|
400
|
+
for (; o?.shadowRoot?.activeElement; ) o = o.shadowRoot.activeElement;
|
|
401
|
+
return o;
|
|
402
|
+
}
|
|
403
|
+
const m = 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';
|
|
404
|
+
function x(o) {
|
|
405
|
+
const t = (e) => {
|
|
406
|
+
for (const a of Array.from(e.querySelectorAll("*"))) {
|
|
407
|
+
if (a.matches(m)) return a;
|
|
408
|
+
if (a.shadowRoot) {
|
|
409
|
+
const i = t(a.shadowRoot);
|
|
410
|
+
if (i) return i;
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
return null;
|
|
414
|
+
};
|
|
415
|
+
for (const e of o?.assignedElements({ flatten: !0 }) || []) {
|
|
416
|
+
if (e.matches(m)) return e;
|
|
417
|
+
const a = t(e) || (e.shadowRoot ? t(e.shadowRoot) : null);
|
|
418
|
+
if (a) return a;
|
|
419
|
+
}
|
|
420
|
+
return null;
|
|
421
|
+
}
|
|
422
|
+
class w extends f {
|
|
259
423
|
constructor() {
|
|
260
|
-
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);
|
|
424
|
+
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._media = null, this._mediaQuery = "", this._narrow = !1, this._restoreFocus = null, this._drawerWasOpen = !1, this._onSlotChange = this._onSlotChange.bind(this), this._onMediaChange = this._onMediaChange.bind(this), this._onHostKeyDown = this._onHostKeyDown.bind(this), this._onMenuTrigger = this._onMenuTrigger.bind(this), this._onRootClick = this._onRootClick.bind(this), this._onSidebarActivate = this._onSidebarActivate.bind(this);
|
|
261
425
|
}
|
|
262
426
|
static get observedAttributes() {
|
|
263
427
|
return [
|
|
@@ -269,14 +433,82 @@ class g extends m {
|
|
|
269
433
|
"collapsed",
|
|
270
434
|
"headless",
|
|
271
435
|
"sidebar-width",
|
|
272
|
-
"aside-width"
|
|
436
|
+
"aside-width",
|
|
437
|
+
"sidebar-open",
|
|
438
|
+
"mobile-sidebar",
|
|
439
|
+
"drawer-breakpoint"
|
|
273
440
|
];
|
|
274
441
|
}
|
|
275
442
|
connectedCallback() {
|
|
276
|
-
super.connectedCallback(), queueMicrotask(() => this._syncShell({ emit: !1 }));
|
|
443
|
+
super.connectedCallback(), this._watchViewport(), this.addEventListener("keydown", this._onHostKeyDown), this.addEventListener("menu-trigger", this._onMenuTrigger), this.addEventListener("select", this._onSidebarActivate), this.addEventListener("click", this._onSidebarActivate), this.root.addEventListener("click", this._onRootClick), queueMicrotask(() => this._syncShell({ emit: !1 }));
|
|
277
444
|
}
|
|
278
445
|
disconnectedCallback() {
|
|
279
|
-
this._detachSlotHandlers(), super.disconnectedCallback();
|
|
446
|
+
this._detachSlotHandlers(), this._media?.removeEventListener?.("change", this._onMediaChange), this._media = null, this.removeEventListener("keydown", this._onHostKeyDown), this.removeEventListener("menu-trigger", this._onMenuTrigger), this.removeEventListener("select", this._onSidebarActivate), this.removeEventListener("click", this._onSidebarActivate), this.root.removeEventListener("click", this._onRootClick), super.disconnectedCallback();
|
|
447
|
+
}
|
|
448
|
+
/** True while the sidebar is an off-canvas drawer (narrow viewport and drawer behaviour on). */
|
|
449
|
+
get drawerActive() {
|
|
450
|
+
return this.hasAttribute("data-drawer");
|
|
451
|
+
}
|
|
452
|
+
get sidebarOpen() {
|
|
453
|
+
return this.hasAttribute("sidebar-open");
|
|
454
|
+
}
|
|
455
|
+
set sidebarOpen(t) {
|
|
456
|
+
this.toggleAttribute("sidebar-open", !!t);
|
|
457
|
+
}
|
|
458
|
+
openSidebar() {
|
|
459
|
+
this._setSidebarOpen(!0, "api");
|
|
460
|
+
}
|
|
461
|
+
closeSidebar() {
|
|
462
|
+
this._setSidebarOpen(!1, "api");
|
|
463
|
+
}
|
|
464
|
+
_drawerWanted() {
|
|
465
|
+
const t = this.getAttribute("mobile-sidebar");
|
|
466
|
+
return t === "drawer" ? !0 : t === "stack" ? !1 : this.getAttribute("variant") === "shell";
|
|
467
|
+
}
|
|
468
|
+
_watchViewport() {
|
|
469
|
+
if (typeof window > "u" || typeof window.matchMedia != "function") return;
|
|
470
|
+
const t = Number(this.getAttribute("drawer-breakpoint")), a = `(max-width: ${Number.isFinite(t) && t > 0 ? t : 980}px)`;
|
|
471
|
+
this._media && this._mediaQuery === a || (this._media?.removeEventListener?.("change", this._onMediaChange), this._mediaQuery = a, this._media = window.matchMedia(a), this._media.addEventListener?.("change", this._onMediaChange), this._narrow = !!this._media.matches);
|
|
472
|
+
}
|
|
473
|
+
_onMediaChange() {
|
|
474
|
+
this._narrow = !!this._media?.matches, this._syncShell({ emit: !0 });
|
|
475
|
+
}
|
|
476
|
+
_setSidebarOpen(t, e) {
|
|
477
|
+
this.sidebarOpen !== t && (this.toggleAttribute("sidebar-open", t), this.dispatchEvent(new CustomEvent("sidebar-open-change", { detail: { open: t, source: e }, bubbles: !0, composed: !0 })));
|
|
478
|
+
}
|
|
479
|
+
_onMenuTrigger() {
|
|
480
|
+
this.drawerActive && this._setSidebarOpen(!this.sidebarOpen, "menu");
|
|
481
|
+
}
|
|
482
|
+
_onHostKeyDown(t) {
|
|
483
|
+
t.key !== "Escape" || !this.drawerActive || !this.sidebarOpen || t.defaultPrevented || (t.preventDefault(), this._setSidebarOpen(!1, "escape"));
|
|
484
|
+
}
|
|
485
|
+
_onRootClick(t) {
|
|
486
|
+
t.target?.classList?.contains("backdrop") && this._setSidebarOpen(!1, "backdrop");
|
|
487
|
+
}
|
|
488
|
+
// Picking a link or item in the drawer closes it, as navigation drawers do.
|
|
489
|
+
_onSidebarActivate(t) {
|
|
490
|
+
!this.drawerActive || !this.sidebarOpen || !t.composedPath().some((a) => a instanceof HTMLElement && a.getAttribute("slot") === "sidebar" && a.parentElement === this) || t.type === "click" && !t.composedPath().find((i) => i instanceof HTMLAnchorElement && i.hasAttribute("href")) || this._setSidebarOpen(!1, "navigate");
|
|
491
|
+
}
|
|
492
|
+
_syncDrawer(t) {
|
|
493
|
+
const e = this._drawerWanted() && this._narrow && t.hasSidebarContent;
|
|
494
|
+
this.toggleAttribute("data-drawer", e), !e && this.sidebarOpen && this._setSidebarOpen(!1, "viewport");
|
|
495
|
+
const a = e && this.sidebarOpen, i = this._sidebarPanel;
|
|
496
|
+
if (i && (e ? (i.hidden = !1, i.setAttribute("role", "dialog"), i.setAttribute("aria-modal", "true"), i.setAttribute("aria-label", this.getAttribute("sidebar-label") || "Navigation"), i.setAttribute("tabindex", "-1"), a ? i.removeAttribute("inert") : i.setAttribute("inert", "")) : (i.removeAttribute("role"), i.removeAttribute("aria-modal"), i.removeAttribute("aria-label"), i.removeAttribute("tabindex"), i.removeAttribute("inert"))), [this._headerEl, this._contentPanel, this._asidePanel, this._footerEl].forEach((r) => {
|
|
497
|
+
r && (a ? r.setAttribute("inert", "") : r.removeAttribute("inert"));
|
|
498
|
+
}), (this._headerSlot?.assignedElements({ flatten: !0 }) || []).forEach((r) => {
|
|
499
|
+
(r.matches("ui-app-header") ? [r] : Array.from(r.querySelectorAll("ui-app-header"))).forEach((s) => {
|
|
500
|
+
e ? s.setAttribute("menu-expanded", a ? "true" : "false") : s.removeAttribute("menu-expanded");
|
|
501
|
+
});
|
|
502
|
+
}), a && !this._drawerWasOpen) {
|
|
503
|
+
const r = v();
|
|
504
|
+
this._restoreFocus = r && r !== document.body ? r : null;
|
|
505
|
+
const u = x(this._sidebarSlot) || i;
|
|
506
|
+
queueMicrotask(() => u?.focus({ preventScroll: !0 }));
|
|
507
|
+
} else if (!a && this._drawerWasOpen) {
|
|
508
|
+
const r = this._restoreFocus;
|
|
509
|
+
this._restoreFocus = null, r?.isConnected && r.focus({ preventScroll: !0 });
|
|
510
|
+
}
|
|
511
|
+
this._drawerWasOpen = a;
|
|
280
512
|
}
|
|
281
513
|
collapse() {
|
|
282
514
|
this.setAttribute("collapsed", "");
|
|
@@ -285,18 +517,22 @@ class g extends m {
|
|
|
285
517
|
this.removeAttribute("collapsed");
|
|
286
518
|
}
|
|
287
519
|
toggleSidebar() {
|
|
520
|
+
if (this.drawerActive) {
|
|
521
|
+
this._setSidebarOpen(!this.sidebarOpen, "api");
|
|
522
|
+
return;
|
|
523
|
+
}
|
|
288
524
|
this.collapsed ? this.expand() : this.collapse();
|
|
289
525
|
}
|
|
290
526
|
get collapsed() {
|
|
291
|
-
return
|
|
527
|
+
return g(this.getAttribute("collapsed"));
|
|
292
528
|
}
|
|
293
529
|
set collapsed(t) {
|
|
294
530
|
t ? this.setAttribute("collapsed", "") : this.removeAttribute("collapsed");
|
|
295
531
|
}
|
|
296
|
-
attributeChangedCallback(t,
|
|
297
|
-
if (
|
|
298
|
-
if (t === "variant" || t === "density" || t === "max-width" || t === "headless") {
|
|
299
|
-
super.attributeChangedCallback(t,
|
|
532
|
+
attributeChangedCallback(t, e, a) {
|
|
533
|
+
if (e !== a) {
|
|
534
|
+
if (t === "drawer-breakpoint" && this.isConnected && this._watchViewport(), t === "variant" || t === "density" || t === "max-width" || t === "headless") {
|
|
535
|
+
super.attributeChangedCallback(t, e, a), queueMicrotask(() => this._syncShell({ emit: !1 }));
|
|
300
536
|
return;
|
|
301
537
|
}
|
|
302
538
|
queueMicrotask(() => this._syncShell({ emit: !0 }));
|
|
@@ -340,39 +576,40 @@ class g extends m {
|
|
|
340
576
|
}
|
|
341
577
|
_computeShellState() {
|
|
342
578
|
if (!this.isConnected || !this._layoutNode || !this._bodyEl) return null;
|
|
343
|
-
const t = this._mode(),
|
|
579
|
+
const t = this._mode(), e = this._sidebarSide(), a = this.collapsed, i = h(this._headerSlot), r = h(this._footerSlot), u = h(this._sidebarSlot), s = h(this._asideSlot), c = h(this._contentSlot) || h(this._defaultSlot), n = u && (!a || t === "stack") && !(t === "split" && s), d = s, y = c || n || d, b = t === "stack";
|
|
344
580
|
let l = "content-only";
|
|
345
|
-
return
|
|
581
|
+
return b || (t === "split" ? d && c ? l = "split-with-aside" : n && c && (l = e === "end" ? "split-with-sidebar-end" : "split-with-sidebar-start") : n && d ? l = e === "end" ? "dashboard-end" : "dashboard-start" : n ? l = e === "end" ? "dashboard-end-no-aside" : "dashboard-start-no-aside" : d && (l = e === "end" ? "dashboard-end-no-sidebar" : "dashboard-start-no-sidebar")), {
|
|
346
582
|
mode: t,
|
|
347
|
-
sidebarSide:
|
|
348
|
-
collapsed:
|
|
349
|
-
hasHeader:
|
|
350
|
-
hasFooter:
|
|
583
|
+
sidebarSide: e,
|
|
584
|
+
collapsed: a,
|
|
585
|
+
hasHeader: i,
|
|
586
|
+
hasFooter: r,
|
|
351
587
|
hasSidebarContent: u,
|
|
352
|
-
hasAsideContent:
|
|
353
|
-
hasContent:
|
|
354
|
-
sidebarVisible:
|
|
355
|
-
asideVisible:
|
|
356
|
-
bodyVisible:
|
|
588
|
+
hasAsideContent: s,
|
|
589
|
+
hasContent: c,
|
|
590
|
+
sidebarVisible: n,
|
|
591
|
+
asideVisible: d,
|
|
592
|
+
bodyVisible: y,
|
|
357
593
|
layout: l,
|
|
358
|
-
stack:
|
|
359
|
-
|
|
360
|
-
|
|
594
|
+
stack: b,
|
|
595
|
+
// In the shell the column follows the sidebar's own width (no gap before the divider).
|
|
596
|
+
sidebarTrack: n ? p(this.getAttribute("sidebar-width"), this.getAttribute("variant") === "shell" ? "auto" : "clamp(220px, 22vw, 320px)") : "0px",
|
|
597
|
+
asideTrack: d ? p(this.getAttribute("aside-width"), "clamp(240px, 26vw, 360px)") : "0px"
|
|
361
598
|
};
|
|
362
599
|
}
|
|
363
600
|
_syncShell(t) {
|
|
364
|
-
const
|
|
365
|
-
if (!
|
|
366
|
-
this._headerEl && (this._headerEl.hidden = !
|
|
367
|
-
const
|
|
368
|
-
t.emit &&
|
|
601
|
+
const e = this._computeShellState();
|
|
602
|
+
if (!e || !this._bodyEl) return;
|
|
603
|
+
this._headerEl && (this._headerEl.hidden = !e.hasHeader), this._footerEl && (this._footerEl.hidden = !e.hasFooter), this.style.setProperty("--ui-layout-sidebar-track", e.sidebarTrack), this.style.setProperty("--ui-layout-aside-track", e.asideTrack), this._sidebarPanel && (this._sidebarPanel.hidden = !e.sidebarVisible), this._contentPanel && (this._contentPanel.hidden = !e.hasContent), this._asidePanel && (this._asidePanel.hidden = !e.asideVisible), this._bodyEl.hidden = !e.bodyVisible, this._bodyEl.dataset.layout = e.layout, this._bodyEl.dataset.mode = e.mode, this._bodyEl.dataset.sidebarSide = e.sidebarSide, e.stack ? this._bodyEl.classList.add("stack") : this._bodyEl.classList.remove("stack"), this._syncDrawer(e);
|
|
604
|
+
const a = this._signature(e);
|
|
605
|
+
t.emit && a !== this._lastLayoutSignature && this._emitLayoutChange(e), this._lastLayoutSignature = a;
|
|
369
606
|
}
|
|
370
|
-
shouldRenderOnAttributeChange(t,
|
|
607
|
+
shouldRenderOnAttributeChange(t, e, a) {
|
|
371
608
|
return !1;
|
|
372
609
|
}
|
|
373
610
|
render() {
|
|
374
611
|
this.setContent(`
|
|
375
|
-
<style>${
|
|
612
|
+
<style>${_}</style>
|
|
376
613
|
<div class="layout" part="layout">
|
|
377
614
|
<header class="header" part="header">
|
|
378
615
|
<slot name="header"></slot>
|
|
@@ -381,6 +618,7 @@ class g extends m {
|
|
|
381
618
|
<section class="panel sidebar-panel" part="sidebar">
|
|
382
619
|
<slot name="sidebar"></slot>
|
|
383
620
|
</section>
|
|
621
|
+
<div class="backdrop" part="backdrop" aria-hidden="true"></div>
|
|
384
622
|
<section class="panel content-panel" part="content">
|
|
385
623
|
<slot name="content"></slot>
|
|
386
624
|
<slot></slot>
|
|
@@ -396,7 +634,7 @@ class g extends m {
|
|
|
396
634
|
`), this._layoutNode = this.root.querySelector(".layout"), this._headerEl = this.root.querySelector(".header"), this._bodyEl = this.root.querySelector(".body"), this._footerEl = this.root.querySelector(".footer"), this._sidebarPanel = this.root.querySelector(".sidebar-panel"), this._contentPanel = this.root.querySelector(".content-panel"), this._asidePanel = this.root.querySelector(".aside-panel"), this._attachSlotHandlers(), queueMicrotask(() => this._syncShell({ emit: !1 }));
|
|
397
635
|
}
|
|
398
636
|
}
|
|
399
|
-
typeof customElements < "u" && !customElements.get("ui-layout") && customElements.define("ui-layout",
|
|
637
|
+
typeof customElements < "u" && !customElements.get("ui-layout") && customElements.define("ui-layout", w);
|
|
400
638
|
export {
|
|
401
|
-
|
|
639
|
+
w as UILayout
|
|
402
640
|
};
|
package/dist/marquee.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
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-CbUsP3D6.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
3
|
--ui-marquee-gap: ${l};
|
|
4
4
|
--ui-marquee-fade-size: ${f};
|
package/dist/marquee.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as h } from "./ElementBase-
|
|
1
|
+
import { E as h } from "./ElementBase-D5QsC5Vw.mjs";
|
|
2
2
|
const l = "24px", p = "48px", f = 60, b = /* @__PURE__ */ new Set(["none", "sm", "md", "lg", "full"]), g = /* @__PURE__ */ new Set(["direction", "speed", "gap", "size", "padding"]), v = `
|
|
3
3
|
:host {
|
|
4
4
|
--ui-marquee-gap: ${l};
|
package/dist/masonry-grid.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("./ElementBase-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("./ElementBase-CbUsP3D6.js"),b={sm:"var(--ui-breakpoint-sm, 640px)",md:"var(--ui-breakpoint-md, 768px)",lg:"var(--ui-breakpoint-lg, 1024px)",xl:"var(--ui-breakpoint-xl, 1280px)"},p=["display","columns","columnwidth","gap","columngap","itemgap","fill"],v={xs:"var(--ui-space-xs, 4px)",sm:"var(--ui-space-sm, 8px)",md:"var(--ui-space-md, 12px)",lg:"var(--ui-space-lg, 20px)",xl:"var(--ui-space-xl, 28px)"},x=`
|
|
2
2
|
:host {
|
|
3
3
|
--ui-masonry-display: block;
|
|
4
4
|
--ui-masonry-columns: auto;
|