@universal-material/web 3.7.2 → 3.9.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/.claude-plugin/plugin.json +12 -0
- package/README.md +12 -0
- package/app-bar/top-app-bar.d.ts +20 -4
- package/app-bar/top-app-bar.d.ts.map +1 -1
- package/app-bar/top-app-bar.js +84 -33
- package/app-bar/top-app-bar.js.map +1 -1
- package/app-bar/top-app-bar.styles.d.ts.map +1 -1
- package/app-bar/top-app-bar.styles.js +18 -1
- package/app-bar/top-app-bar.styles.js.map +1 -1
- package/badge/badge.d.ts +5 -2
- package/badge/badge.d.ts.map +1 -1
- package/badge/badge.js +9 -6
- package/badge/badge.js.map +1 -1
- package/badge/badge.styles.d.ts.map +1 -1
- package/badge/badge.styles.js +1 -0
- package/badge/badge.styles.js.map +1 -1
- package/bundle.min.js +5480 -2170
- package/button/button-base.d.ts +9 -2
- package/button/button-base.d.ts.map +1 -1
- package/button/button-base.js +12 -5
- package/button/button-base.js.map +1 -1
- package/button/button-set.d.ts +3 -3
- package/button/button-set.d.ts.map +1 -1
- package/button/button-set.js +7 -7
- package/button/button-set.js.map +1 -1
- package/button/button.d.ts +10 -7
- package/button/button.d.ts.map +1 -1
- package/button/button.js +17 -14
- package/button/button.js.map +1 -1
- package/button/fab-menu-color-context.d.ts +2 -2
- package/button/fab-menu-color-context.d.ts.map +1 -1
- package/button/fab-menu-color-context.js.map +1 -1
- package/button/fab-menu-item.d.ts +3 -3
- package/button/fab-menu-item.d.ts.map +1 -1
- package/button/fab-menu-item.js +11 -11
- package/button/fab-menu-item.js.map +1 -1
- package/button/fab-menu.d.ts +20 -5
- package/button/fab-menu.d.ts.map +1 -1
- package/button/fab-menu.js +48 -11
- package/button/fab-menu.js.map +1 -1
- package/button/fab.d.ts +22 -7
- package/button/fab.d.ts.map +1 -1
- package/button/fab.js +49 -11
- package/button/fab.js.map +1 -1
- package/button/icon-button.d.ts +13 -7
- package/button/icon-button.d.ts.map +1 -1
- package/button/icon-button.js +14 -8
- package/button/icon-button.js.map +1 -1
- package/button/toggle-button.d.ts +6 -6
- package/button/toggle-button.d.ts.map +1 -1
- package/button/toggle-button.js +10 -10
- package/button/toggle-button.js.map +1 -1
- package/button-field/button-field.d.ts +6 -3
- package/button-field/button-field.d.ts.map +1 -1
- package/button-field/button-field.js +12 -9
- package/button-field/button-field.js.map +1 -1
- package/calendar/calendar-adapter.d.ts +3 -0
- package/calendar/calendar-adapter.d.ts.map +1 -1
- package/calendar/calendar-adapter.js.map +1 -1
- package/calendar/calendar-base.d.ts +18 -1
- package/calendar/calendar-base.d.ts.map +1 -1
- package/calendar/calendar-base.js +188 -25
- package/calendar/calendar-base.js.map +1 -1
- package/calendar/calendar.d.ts +6 -2
- package/calendar/calendar.d.ts.map +1 -1
- package/calendar/calendar.js +12 -8
- package/calendar/calendar.js.map +1 -1
- package/calendar/default-calendar-adapter.d.ts +3 -0
- package/calendar/default-calendar-adapter.d.ts.map +1 -1
- package/calendar/default-calendar-adapter.js +17 -5
- package/calendar/default-calendar-adapter.js.map +1 -1
- package/calendar/range-calendar.d.ts +2 -2
- package/calendar/range-calendar.d.ts.map +1 -1
- package/calendar/range-calendar.js +9 -9
- package/calendar/range-calendar.js.map +1 -1
- package/card/card-content.d.ts +7 -2
- package/card/card-content.d.ts.map +1 -1
- package/card/card-content.js +10 -5
- package/card/card-content.js.map +1 -1
- package/card/card-media.d.ts +5 -2
- package/card/card-media.d.ts.map +1 -1
- package/card/card-media.js +8 -5
- package/card/card-media.js.map +1 -1
- package/card/card.d.ts +4 -4
- package/card/card.d.ts.map +1 -1
- package/card/card.js +5 -5
- package/card/card.js.map +1 -1
- package/checkbox/checkbox-list-item.d.ts +4 -4
- package/checkbox/checkbox-list-item.d.ts.map +1 -1
- package/checkbox/checkbox-list-item.js +5 -5
- package/checkbox/checkbox-list-item.js.map +1 -1
- package/checkbox/checkbox.d.ts +10 -3
- package/checkbox/checkbox.d.ts.map +1 -1
- package/checkbox/checkbox.js +14 -7
- package/checkbox/checkbox.js.map +1 -1
- package/chip/chip-set.d.ts +3 -3
- package/chip/chip-set.d.ts.map +1 -1
- package/chip/chip-set.js +6 -6
- package/chip/chip-set.js.map +1 -1
- package/chip/chip.d.ts +8 -5
- package/chip/chip.d.ts.map +1 -1
- package/chip/chip.js +23 -20
- package/chip/chip.js.map +1 -1
- package/chip-field/chip-field.d.ts +6 -3
- package/chip-field/chip-field.d.ts.map +1 -1
- package/chip-field/chip-field.js +9 -9
- package/chip-field/chip-field.js.map +1 -1
- package/collapse/collapse.d.ts +26 -0
- package/collapse/collapse.d.ts.map +1 -0
- package/collapse/collapse.js +62 -0
- package/collapse/collapse.js.map +1 -0
- package/collapse/collapse.styles.d.ts +2 -0
- package/collapse/collapse.styles.d.ts.map +1 -0
- package/collapse/collapse.styles.js +8 -0
- package/collapse/collapse.styles.js.map +1 -0
- package/config.js.map +1 -1
- package/css/universal-material.css +2 -1
- package/css/universal-material.min.css +2 -1
- package/custom-elements.json +17175 -9684
- package/datepicker/datepicker.d.ts +54 -3
- package/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker.js +202 -6
- package/datepicker/datepicker.js.map +1 -1
- package/datepicker/datepicker.styles.d.ts.map +1 -1
- package/datepicker/datepicker.styles.js +25 -0
- package/datepicker/datepicker.styles.js.map +1 -1
- package/datepicker/format.d.ts +19 -0
- package/datepicker/format.d.ts.map +1 -0
- package/datepicker/format.js +47 -0
- package/datepicker/format.js.map +1 -0
- package/datepicker/range-datepicker.d.ts +58 -0
- package/datepicker/range-datepicker.d.ts.map +1 -0
- package/datepicker/range-datepicker.js +212 -0
- package/datepicker/range-datepicker.js.map +1 -0
- package/dialog/confirm-dialog-builder.d.ts +3 -3
- package/dialog/confirm-dialog-builder.d.ts.map +1 -1
- package/dialog/confirm-dialog-builder.js.map +1 -1
- package/dialog/dialog-builder.d.ts +5 -4
- package/dialog/dialog-builder.d.ts.map +1 -1
- package/dialog/dialog-builder.js +10 -3
- package/dialog/dialog-builder.js.map +1 -1
- package/dialog/dialog-button-def.d.ts +3 -3
- package/dialog/dialog-button-def.d.ts.map +1 -1
- package/dialog/dialog-button-def.js.map +1 -1
- package/dialog/dialog.d.ts +10 -2
- package/dialog/dialog.d.ts.map +1 -1
- package/dialog/dialog.js +22 -14
- package/dialog/dialog.js.map +1 -1
- package/dialog/message-dialog-builder.d.ts +2 -2
- package/dialog/message-dialog-builder.d.ts.map +1 -1
- package/dialog/message-dialog-builder.js.map +1 -1
- package/elevation/elevation.d.ts +2 -2
- package/elevation/elevation.d.ts.map +1 -1
- package/elevation/elevation.js +4 -4
- package/elevation/elevation.js.map +1 -1
- package/expansion-panel/expansion-panel-container.d.ts +24 -0
- package/expansion-panel/expansion-panel-container.d.ts.map +1 -0
- package/expansion-panel/expansion-panel-container.js +54 -0
- package/expansion-panel/expansion-panel-container.js.map +1 -0
- package/expansion-panel/expansion-panel-container.styles.d.ts +2 -0
- package/expansion-panel/expansion-panel-container.styles.d.ts.map +1 -0
- package/expansion-panel/expansion-panel-container.styles.js +9 -0
- package/expansion-panel/expansion-panel-container.styles.js.map +1 -0
- package/expansion-panel/expansion-panel.d.ts +37 -0
- package/expansion-panel/expansion-panel.d.ts.map +1 -0
- package/expansion-panel/expansion-panel.js +89 -0
- package/expansion-panel/expansion-panel.js.map +1 -0
- package/expansion-panel/expansion-panel.styles.d.ts +2 -0
- package/expansion-panel/expansion-panel.styles.d.ts.map +1 -0
- package/expansion-panel/expansion-panel.styles.js +66 -0
- package/expansion-panel/expansion-panel.styles.js.map +1 -0
- package/field/field-base.d.ts +17 -3
- package/field/field-base.d.ts.map +1 -1
- package/field/field-base.js +30 -20
- package/field/field-base.js.map +1 -1
- package/field/field-defaults-context.d.ts +2 -2
- package/field/field-defaults-context.d.ts.map +1 -1
- package/field/field-defaults-context.js.map +1 -1
- package/field/field-defaults.d.ts +3 -3
- package/field/field-defaults.d.ts.map +1 -1
- package/field/field-defaults.js.map +1 -1
- package/field/field-variant.d.ts +1 -1
- package/field/field-variant.d.ts.map +1 -1
- package/field/field-variant.js.map +1 -1
- package/field/field.d.ts +7 -3
- package/field/field.d.ts.map +1 -1
- package/field/field.js +10 -6
- package/field/field.js.map +1 -1
- package/icon/icon.d.ts +2 -2
- package/icon/icon.d.ts.map +1 -1
- package/icon/icon.js +4 -4
- package/icon/icon.js.map +1 -1
- package/index.d.ts +29 -1
- package/index.d.ts.map +1 -1
- package/index.js +29 -1
- package/index.js.map +1 -1
- package/list/list-item.d.ts +19 -2
- package/list/list-item.d.ts.map +1 -1
- package/list/list-item.js +29 -6
- package/list/list-item.js.map +1 -1
- package/list/list-item.styles.d.ts.map +1 -1
- package/list/list-item.styles.js +13 -0
- package/list/list-item.styles.js.map +1 -1
- package/list/list.d.ts +2 -2
- package/list/list.d.ts.map +1 -1
- package/list/list.js +4 -4
- package/list/list.js.map +1 -1
- package/menu/menu-item.d.ts +9 -3
- package/menu/menu-item.d.ts.map +1 -1
- package/menu/menu-item.js +16 -10
- package/menu/menu-item.js.map +1 -1
- package/menu/menu.d.ts +18 -2
- package/menu/menu.d.ts.map +1 -1
- package/menu/menu.js +37 -18
- package/menu/menu.js.map +1 -1
- package/menu/menu.styles.d.ts.map +1 -1
- package/menu/menu.styles.js +5 -0
- package/menu/menu.styles.js.map +1 -1
- package/navigation/drawer-headline.d.ts +2 -2
- package/navigation/drawer-headline.d.ts.map +1 -1
- package/navigation/drawer-headline.js +6 -6
- package/navigation/drawer-headline.js.map +1 -1
- package/navigation/drawer-headline.styles.js +1 -1
- package/navigation/drawer-headline.styles.js.map +1 -1
- package/navigation/drawer-item.d.ts +3 -3
- package/navigation/drawer-item.d.ts.map +1 -1
- package/navigation/drawer-item.js +17 -12
- package/navigation/drawer-item.js.map +1 -1
- package/navigation/drawer.d.ts +2 -2
- package/navigation/drawer.d.ts.map +1 -1
- package/navigation/drawer.js +4 -4
- package/navigation/drawer.js.map +1 -1
- package/navigation/side-navigation.d.ts +9 -2
- package/navigation/side-navigation.d.ts.map +1 -1
- package/navigation/side-navigation.js +15 -8
- package/navigation/side-navigation.js.map +1 -1
- package/navigation-bar/navigation-bar-item.d.ts +40 -0
- package/navigation-bar/navigation-bar-item.d.ts.map +1 -0
- package/navigation-bar/navigation-bar-item.js +113 -0
- package/navigation-bar/navigation-bar-item.js.map +1 -0
- package/navigation-bar/navigation-bar-item.styles.d.ts +2 -0
- package/navigation-bar/navigation-bar-item.styles.d.ts.map +1 -0
- package/navigation-bar/navigation-bar-item.styles.js +101 -0
- package/navigation-bar/navigation-bar-item.styles.js.map +1 -0
- package/navigation-bar/navigation-bar.d.ts +40 -0
- package/navigation-bar/navigation-bar.d.ts.map +1 -0
- package/navigation-bar/navigation-bar.js +85 -0
- package/navigation-bar/navigation-bar.js.map +1 -0
- package/navigation-bar/navigation-bar.styles.d.ts +2 -0
- package/navigation-bar/navigation-bar.styles.d.ts.map +1 -0
- package/navigation-bar/navigation-bar.styles.js +44 -0
- package/navigation-bar/navigation-bar.styles.js.map +1 -0
- package/navigation-rail/navigation-rail-headline.d.ts +23 -0
- package/navigation-rail/navigation-rail-headline.d.ts.map +1 -0
- package/navigation-rail/navigation-rail-headline.js +28 -0
- package/navigation-rail/navigation-rail-headline.js.map +1 -0
- package/navigation-rail/navigation-rail-headline.styles.d.ts +2 -0
- package/navigation-rail/navigation-rail-headline.styles.d.ts.map +1 -0
- package/navigation-rail/navigation-rail-headline.styles.js +19 -0
- package/navigation-rail/navigation-rail-headline.styles.js.map +1 -0
- package/navigation-rail/navigation-rail-item.d.ts +58 -0
- package/navigation-rail/navigation-rail-item.d.ts.map +1 -0
- package/navigation-rail/navigation-rail-item.js +160 -0
- package/navigation-rail/navigation-rail-item.js.map +1 -0
- package/navigation-rail/navigation-rail-item.styles.d.ts +2 -0
- package/navigation-rail/navigation-rail-item.styles.d.ts.map +1 -0
- package/navigation-rail/navigation-rail-item.styles.js +182 -0
- package/navigation-rail/navigation-rail-item.styles.js.map +1 -0
- package/navigation-rail/navigation-rail.d.ts +66 -0
- package/navigation-rail/navigation-rail.d.ts.map +1 -0
- package/navigation-rail/navigation-rail.js +223 -0
- package/navigation-rail/navigation-rail.js.map +1 -0
- package/navigation-rail/navigation-rail.styles.d.ts +2 -0
- package/navigation-rail/navigation-rail.styles.d.ts.map +1 -0
- package/navigation-rail/navigation-rail.styles.js +220 -0
- package/navigation-rail/navigation-rail.styles.js.map +1 -0
- package/overflow-menu/overflow-menu-item.d.ts +8 -0
- package/overflow-menu/overflow-menu-item.d.ts.map +1 -1
- package/overflow-menu/overflow-menu-item.js +8 -0
- package/overflow-menu/overflow-menu-item.js.map +1 -1
- package/overflow-menu/overflow-menu.d.ts +8 -2
- package/overflow-menu/overflow-menu.d.ts.map +1 -1
- package/overflow-menu/overflow-menu.js +10 -1
- package/overflow-menu/overflow-menu.js.map +1 -1
- package/package.json +21 -5
- package/progress/circular-progress.d.ts +9 -2
- package/progress/circular-progress.d.ts.map +1 -1
- package/progress/circular-progress.js +9 -6
- package/progress/circular-progress.js.map +1 -1
- package/progress/progress-bar.d.ts +9 -2
- package/progress/progress-bar.d.ts.map +1 -1
- package/progress/progress-bar.js +9 -6
- package/progress/progress-bar.js.map +1 -1
- package/radio/radio-list-item.d.ts +4 -4
- package/radio/radio-list-item.d.ts.map +1 -1
- package/radio/radio-list-item.js +5 -5
- package/radio/radio-list-item.js.map +1 -1
- package/radio/radio.d.ts +6 -3
- package/radio/radio.d.ts.map +1 -1
- package/radio/radio.js +9 -6
- package/radio/radio.js.map +1 -1
- package/ripple/ripple.d.ts +2 -2
- package/ripple/ripple.d.ts.map +1 -1
- package/ripple/ripple.js +9 -9
- package/ripple/ripple.js.map +1 -1
- package/scaffold/pane.d.ts +127 -0
- package/scaffold/pane.d.ts.map +1 -0
- package/scaffold/pane.js +220 -0
- package/scaffold/pane.js.map +1 -0
- package/scaffold/pane.styles.d.ts +2 -0
- package/scaffold/pane.styles.d.ts.map +1 -0
- package/scaffold/pane.styles.js +1909 -0
- package/scaffold/pane.styles.js.map +1 -0
- package/scaffold/scaffold.d.ts +45 -0
- package/scaffold/scaffold.d.ts.map +1 -0
- package/scaffold/scaffold.js +170 -0
- package/scaffold/scaffold.js.map +1 -0
- package/scaffold/scaffold.styles.d.ts +2 -0
- package/scaffold/scaffold.styles.d.ts.map +1 -0
- package/scaffold/scaffold.styles.js +69 -0
- package/scaffold/scaffold.styles.js.map +1 -0
- package/scaffold/scroll-container-context.d.ts +4 -0
- package/scaffold/scroll-container-context.d.ts.map +1 -0
- package/scaffold/scroll-container-context.js +3 -0
- package/scaffold/scroll-container-context.js.map +1 -0
- package/scss/utilities/_divider.scss +4 -0
- package/search/search.d.ts +6 -3
- package/search/search.d.ts.map +1 -1
- package/search/search.js +10 -7
- package/search/search.js.map +1 -1
- package/search/search.styles.d.ts.map +1 -1
- package/search/search.styles.js +7 -2
- package/search/search.styles.js.map +1 -1
- package/select/option.d.ts +9 -3
- package/select/option.d.ts.map +1 -1
- package/select/option.js +14 -8
- package/select/option.js.map +1 -1
- package/select/select-navigation-controller.d.ts +4 -4
- package/select/select-navigation-controller.d.ts.map +1 -1
- package/select/select-navigation-controller.js.map +1 -1
- package/select/select.d.ts +22 -12
- package/select/select.d.ts.map +1 -1
- package/select/select.js +81 -31
- package/select/select.js.map +1 -1
- package/shared/button-wrapper.d.ts +4 -1
- package/shared/button-wrapper.d.ts.map +1 -1
- package/shared/button-wrapper.js +8 -8
- package/shared/button-wrapper.js.map +1 -1
- package/shared/char-count-text-field/native-text-field-wrapper.d.ts +15 -2
- package/shared/char-count-text-field/native-text-field-wrapper.d.ts.map +1 -1
- package/shared/char-count-text-field/native-text-field-wrapper.js +16 -6
- package/shared/char-count-text-field/native-text-field-wrapper.js.map +1 -1
- package/shared/menu-field/menu-field-navigation-controller.d.ts +3 -3
- package/shared/menu-field/menu-field-navigation-controller.d.ts.map +1 -1
- package/shared/menu-field/menu-field-navigation-controller.js.map +1 -1
- package/shared/menu-field/menu-field.d.ts +5 -5
- package/shared/menu-field/menu-field.d.ts.map +1 -1
- package/shared/menu-field/menu-field.js.map +1 -1
- package/shared/selection-control/selection-control-list-item.d.ts +2 -2
- package/shared/selection-control/selection-control-list-item.d.ts.map +1 -1
- package/shared/selection-control/selection-control-list-item.js +14 -1
- package/shared/selection-control/selection-control-list-item.js.map +1 -1
- package/shared/selection-control/selection-control.d.ts +10 -1
- package/shared/selection-control/selection-control.d.ts.map +1 -1
- package/shared/selection-control/selection-control.js +24 -7
- package/shared/selection-control/selection-control.js.map +1 -1
- package/shared/sets/set-base.d.ts +1 -1
- package/shared/sets/set-base.d.ts.map +1 -1
- package/shared/sets/set-base.js +2 -2
- package/shared/sets/set-base.js.map +1 -1
- package/shared/text-field-base/text-field-base.d.ts +37 -2
- package/shared/text-field-base/text-field-base.d.ts.map +1 -1
- package/shared/text-field-base/text-field-base.js +66 -4
- package/shared/text-field-base/text-field-base.js.map +1 -1
- package/skills/badge/SKILL.md +43 -0
- package/skills/buttons/SKILL.md +115 -0
- package/skills/card/SKILL.md +162 -0
- package/skills/chips/SKILL.md +95 -0
- package/skills/collapse/SKILL.md +37 -0
- package/skills/datepicker/SKILL.md +110 -0
- package/skills/dialog/SKILL.md +92 -0
- package/skills/drawer/SKILL.md +94 -0
- package/skills/expansion-panel/SKILL.md +65 -0
- package/skills/fab/SKILL.md +79 -0
- package/skills/list/SKILL.md +105 -0
- package/skills/menu/SKILL.md +120 -0
- package/skills/navigation-bar/SKILL.md +87 -0
- package/skills/navigation-rail/SKILL.md +127 -0
- package/skills/overview/SKILL.md +44 -0
- package/skills/progress/SKILL.md +63 -0
- package/skills/scaffold/SKILL.md +392 -0
- package/skills/search/SKILL.md +65 -0
- package/skills/select/SKILL.md +120 -0
- package/skills/selection-controls/SKILL.md +88 -0
- package/skills/setup/SKILL.md +58 -0
- package/skills/slider/SKILL.md +119 -0
- package/skills/snackbar/SKILL.md +70 -0
- package/skills/tab-bar/SKILL.md +55 -0
- package/skills/text-field/SKILL.md +114 -0
- package/skills/theming/SKILL.md +80 -0
- package/skills/top-app-bar/SKILL.md +64 -0
- package/skills/typeahead/SKILL.md +113 -0
- package/slider/slider.d.ts +73 -0
- package/slider/slider.d.ts.map +1 -0
- package/slider/slider.js +506 -0
- package/slider/slider.js.map +1 -0
- package/slider/slider.styles.d.ts +2 -0
- package/slider/slider.styles.d.ts.map +1 -0
- package/slider/slider.styles.js +292 -0
- package/slider/slider.styles.js.map +1 -0
- package/snackbar/snackbar.d.ts +13 -4
- package/snackbar/snackbar.d.ts.map +1 -1
- package/snackbar/snackbar.js +37 -28
- package/snackbar/snackbar.js.map +1 -1
- package/snackbar/snackbar.styles.js +1 -1
- package/snackbar/snackbar.styles.js.map +1 -1
- package/switch/switch-list-item.d.ts +4 -4
- package/switch/switch-list-item.d.ts.map +1 -1
- package/switch/switch-list-item.js +5 -5
- package/switch/switch-list-item.js.map +1 -1
- package/switch/switch.d.ts +3 -3
- package/switch/switch.d.ts.map +1 -1
- package/switch/switch.js +5 -5
- package/switch/switch.js.map +1 -1
- package/tab-bar/tab-bar.d.ts +9 -6
- package/tab-bar/tab-bar.d.ts.map +1 -1
- package/tab-bar/tab-bar.js +43 -23
- package/tab-bar/tab-bar.js.map +1 -1
- package/tab-bar/tab.d.ts +10 -5
- package/tab-bar/tab.d.ts.map +1 -1
- package/tab-bar/tab.js +14 -9
- package/tab-bar/tab.js.map +1 -1
- package/text-area/text-area.d.ts +6 -3
- package/text-area/text-area.d.ts.map +1 -1
- package/text-area/text-area.js +12 -9
- package/text-area/text-area.js.map +1 -1
- package/text-field/text-field.d.ts +31 -3
- package/text-field/text-field.d.ts.map +1 -1
- package/text-field/text-field.js +53 -13
- package/text-field/text-field.js.map +1 -1
- package/typeahead/highlight.d.ts +2 -2
- package/typeahead/highlight.d.ts.map +1 -1
- package/typeahead/highlight.js +7 -7
- package/typeahead/highlight.js.map +1 -1
- package/typeahead/typeahead-template-render.d.ts +4 -0
- package/typeahead/typeahead-template-render.d.ts.map +1 -1
- package/typeahead/typeahead-template-render.js +4 -0
- package/typeahead/typeahead-template-render.js.map +1 -1
- package/typeahead/typeahead.d.ts +14 -7
- package/typeahead/typeahead.d.ts.map +1 -1
- package/typeahead/typeahead.js +29 -18
- package/typeahead/typeahead.js.map +1 -1
- package/vscode.html-custom-data.json +1146 -326
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pane.styles.js","sourceRoot":"","sources":["../../src/scaffold/pane.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAk3DzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: block;\n min-height: 0;\n --u-pane-transition: 300ms cubic-bezier(0.19, 1, 0.22, 1);\n --_u-pane-variant-bg: transparent;\n --_u-pane-variant-radius: 0;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n --_u-pane-shape-corner-end: 0;\n }\n\n .container {\n height: 100%;\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n box-sizing: border-box;\n background-color: var(--_u-pane-bg-color);\n border-radius: var(--_u-pane-shape-corner);\n box-shadow: var(--_u-pane-box-shadow);\n }\n\n .header {\n flex: 0 0 auto;\n }\n\n .content {\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n }\n\n :host([variant=filled]) {\n --_u-pane-variant-bg: var(--u-pane-filled-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-variant-radius: var(--u-pane-filled-shape-corner,\n var(--u-shape-corner-medium, 12px));\n }\n\n :host([variant=transparent]) {\n --_u-pane-variant-bg: transparent;\n --_u-pane-variant-radius: 0;\n }\n\n @media (max-width: 839.98px) {\n :host([variant=filled]) {\n --_u-pane-variant-radius: 0;\n }\n }\n .scrim {\n position: fixed;\n inset: 0;\n background-color: var(--u-pane-scrim-color, var(--u-color-scrim, rgb(0, 0, 0)));\n opacity: 0;\n pointer-events: none;\n transition: opacity var(--u-pane-transition);\n display: none;\n }\n\n :host([mode=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n\n :host([mode=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n\n :host([mode=fixed]) .scrim {\n display: none;\n }\n\n :host([mode=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n\n :host([mode=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n\n :host([mode=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n\n @starting-style {\n :host([mode=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host([mode=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host([mode=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n\n :host([mode=collapsible]) .scrim {\n display: none;\n }\n\n :host([mode=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n\n :host([mode=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n\n :host([mode=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n\n :host([mode=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n\n :host([mode=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n\n :host([mode=sidebar]) .scrim {\n display: block;\n }\n\n :host([mode=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n\n :host([mode=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n\n :host([mode=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n\n :host([mode=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n\n :host([mode=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n\n :host([mode=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n\n :host([mode=fullscreen]) .scrim {\n display: none;\n }\n\n @media (min-width: 600px) {\n :host(:where(:not([query-context=container]))[mode-sm=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n :host(:where(:not([query-context=container]))[mode-sm=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[mode-sm=fixed]) .scrim {\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-sm=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n :host(:where(:not([query-context=container]))[mode-sm=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-sm=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n @starting-style {\n :host(:where(:not([query-context=container]))[mode-sm=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host(:where(:not([query-context=container]))[mode-sm=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host(:where(:not([query-context=container]))[mode-sm=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[mode-sm=collapsible]) .scrim {\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-sm=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n :host(:where(:not([query-context=container]))[mode-sm=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n :host(:where(:not([query-context=container]))[mode-sm=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[mode-sm=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[mode-sm=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where(:not([query-context=container]))[mode-sm=sidebar]) .scrim {\n display: block;\n }\n :host(:where(:not([query-context=container]))[mode-sm=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n :host(:where(:not([query-context=container]))[mode-sm=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n :host(:where(:not([query-context=container]))[mode-sm=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n :host(:where(:not([query-context=container]))[mode-sm=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[mode-sm=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n :host(:where(:not([query-context=container]))[mode-sm=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where(:not([query-context=container]))[mode-sm=fullscreen]) .scrim {\n display: none;\n }\n }\n @container (min-width: 600px) {\n :host(:where([query-context=container])[mode-sm=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n :host(:where([query-context=container])[mode-sm=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where([query-context=container])[mode-sm=fixed]) .scrim {\n display: none;\n }\n :host(:where([query-context=container])[mode-sm=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n :host(:where([query-context=container])[mode-sm=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n :host(:where([query-context=container])[mode-sm=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n @starting-style {\n :host(:where([query-context=container])[mode-sm=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host(:where([query-context=container])[mode-sm=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host(:where([query-context=container])[mode-sm=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where([query-context=container])[mode-sm=collapsible]) .scrim {\n display: none;\n }\n :host(:where([query-context=container])[mode-sm=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n :host(:where([query-context=container])[mode-sm=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n :host(:where([query-context=container])[mode-sm=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[mode-sm=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[mode-sm=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where([query-context=container])[mode-sm=sidebar]) .scrim {\n display: block;\n }\n :host(:where([query-context=container])[mode-sm=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n :host(:where([query-context=container])[mode-sm=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n :host(:where([query-context=container])[mode-sm=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n :host(:where([query-context=container])[mode-sm=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[mode-sm=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n :host(:where([query-context=container])[mode-sm=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where([query-context=container])[mode-sm=fullscreen]) .scrim {\n display: none;\n }\n }\n @media (min-width: 840px) {\n :host(:where(:not([query-context=container]))[mode-md=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n :host(:where(:not([query-context=container]))[mode-md=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[mode-md=fixed]) .scrim {\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-md=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n :host(:where(:not([query-context=container]))[mode-md=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-md=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n @starting-style {\n :host(:where(:not([query-context=container]))[mode-md=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host(:where(:not([query-context=container]))[mode-md=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host(:where(:not([query-context=container]))[mode-md=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[mode-md=collapsible]) .scrim {\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-md=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n :host(:where(:not([query-context=container]))[mode-md=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n :host(:where(:not([query-context=container]))[mode-md=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[mode-md=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[mode-md=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where(:not([query-context=container]))[mode-md=sidebar]) .scrim {\n display: block;\n }\n :host(:where(:not([query-context=container]))[mode-md=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n :host(:where(:not([query-context=container]))[mode-md=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n :host(:where(:not([query-context=container]))[mode-md=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n :host(:where(:not([query-context=container]))[mode-md=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[mode-md=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n :host(:where(:not([query-context=container]))[mode-md=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where(:not([query-context=container]))[mode-md=fullscreen]) .scrim {\n display: none;\n }\n }\n @container (min-width: 840px) {\n :host(:where([query-context=container])[mode-md=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n :host(:where([query-context=container])[mode-md=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where([query-context=container])[mode-md=fixed]) .scrim {\n display: none;\n }\n :host(:where([query-context=container])[mode-md=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n :host(:where([query-context=container])[mode-md=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n :host(:where([query-context=container])[mode-md=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n @starting-style {\n :host(:where([query-context=container])[mode-md=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host(:where([query-context=container])[mode-md=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host(:where([query-context=container])[mode-md=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where([query-context=container])[mode-md=collapsible]) .scrim {\n display: none;\n }\n :host(:where([query-context=container])[mode-md=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n :host(:where([query-context=container])[mode-md=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n :host(:where([query-context=container])[mode-md=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[mode-md=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[mode-md=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where([query-context=container])[mode-md=sidebar]) .scrim {\n display: block;\n }\n :host(:where([query-context=container])[mode-md=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n :host(:where([query-context=container])[mode-md=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n :host(:where([query-context=container])[mode-md=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n :host(:where([query-context=container])[mode-md=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[mode-md=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n :host(:where([query-context=container])[mode-md=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where([query-context=container])[mode-md=fullscreen]) .scrim {\n display: none;\n }\n }\n @media (min-width: 1200px) {\n :host(:where(:not([query-context=container]))[mode-lg=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n :host(:where(:not([query-context=container]))[mode-lg=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[mode-lg=fixed]) .scrim {\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-lg=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n :host(:where(:not([query-context=container]))[mode-lg=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-lg=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n @starting-style {\n :host(:where(:not([query-context=container]))[mode-lg=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host(:where(:not([query-context=container]))[mode-lg=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host(:where(:not([query-context=container]))[mode-lg=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[mode-lg=collapsible]) .scrim {\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-lg=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n :host(:where(:not([query-context=container]))[mode-lg=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n :host(:where(:not([query-context=container]))[mode-lg=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[mode-lg=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[mode-lg=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where(:not([query-context=container]))[mode-lg=sidebar]) .scrim {\n display: block;\n }\n :host(:where(:not([query-context=container]))[mode-lg=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n :host(:where(:not([query-context=container]))[mode-lg=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n :host(:where(:not([query-context=container]))[mode-lg=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n :host(:where(:not([query-context=container]))[mode-lg=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[mode-lg=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n :host(:where(:not([query-context=container]))[mode-lg=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where(:not([query-context=container]))[mode-lg=fullscreen]) .scrim {\n display: none;\n }\n }\n @container (min-width: 1200px) {\n :host(:where([query-context=container])[mode-lg=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n :host(:where([query-context=container])[mode-lg=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where([query-context=container])[mode-lg=fixed]) .scrim {\n display: none;\n }\n :host(:where([query-context=container])[mode-lg=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n :host(:where([query-context=container])[mode-lg=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n :host(:where([query-context=container])[mode-lg=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n @starting-style {\n :host(:where([query-context=container])[mode-lg=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host(:where([query-context=container])[mode-lg=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host(:where([query-context=container])[mode-lg=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where([query-context=container])[mode-lg=collapsible]) .scrim {\n display: none;\n }\n :host(:where([query-context=container])[mode-lg=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n :host(:where([query-context=container])[mode-lg=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n :host(:where([query-context=container])[mode-lg=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[mode-lg=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[mode-lg=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where([query-context=container])[mode-lg=sidebar]) .scrim {\n display: block;\n }\n :host(:where([query-context=container])[mode-lg=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n :host(:where([query-context=container])[mode-lg=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n :host(:where([query-context=container])[mode-lg=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n :host(:where([query-context=container])[mode-lg=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[mode-lg=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n :host(:where([query-context=container])[mode-lg=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where([query-context=container])[mode-lg=fullscreen]) .scrim {\n display: none;\n }\n }\n @media (min-width: 1600px) {\n :host(:where(:not([query-context=container]))[mode-xl=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n :host(:where(:not([query-context=container]))[mode-xl=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[mode-xl=fixed]) .scrim {\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-xl=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n :host(:where(:not([query-context=container]))[mode-xl=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-xl=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n @starting-style {\n :host(:where(:not([query-context=container]))[mode-xl=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host(:where(:not([query-context=container]))[mode-xl=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host(:where(:not([query-context=container]))[mode-xl=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[mode-xl=collapsible]) .scrim {\n display: none;\n }\n :host(:where(:not([query-context=container]))[mode-xl=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n :host(:where(:not([query-context=container]))[mode-xl=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n :host(:where(:not([query-context=container]))[mode-xl=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[mode-xl=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[mode-xl=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where(:not([query-context=container]))[mode-xl=sidebar]) .scrim {\n display: block;\n }\n :host(:where(:not([query-context=container]))[mode-xl=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n :host(:where(:not([query-context=container]))[mode-xl=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n :host(:where(:not([query-context=container]))[mode-xl=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n :host(:where(:not([query-context=container]))[mode-xl=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[mode-xl=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n :host(:where(:not([query-context=container]))[mode-xl=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where(:not([query-context=container]))[mode-xl=fullscreen]) .scrim {\n display: none;\n }\n }\n @container (min-width: 1600px) {\n :host(:where([query-context=container])[mode-xl=fixed]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n }\n :host(:where([query-context=container])[mode-xl=fixed]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where([query-context=container])[mode-xl=fixed]) .scrim {\n display: none;\n }\n :host(:where([query-context=container])[mode-xl=collapsible]) {\n display: block;\n position: relative;\n flex: 0 1 auto;\n height: auto;\n inset: auto;\n z-index: auto;\n pointer-events: auto;\n opacity: 1;\n margin-inline-start: 0;\n margin-inline-end: 0;\n transition: margin-inline-start var(--u-pane-transition), margin-inline-end var(--u-pane-transition), display var(--u-pane-transition) allow-discrete;\n --_u-pane-bg-color: var(--_u-pane-variant-bg);\n --_u-pane-shape-corner: var(--_u-pane-variant-radius);\n --_u-pane-box-shadow: none;\n --_u-pane-collapsed-offset: calc(\n -1 * (var(--u-pane-width, 100%) + var(--u-pane-gap, 16px))\n );\n }\n :host(:where([query-context=container])[mode-xl=collapsible]:where(:not([open]))) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n display: none;\n }\n :host(:where([query-context=container])[mode-xl=collapsible]:where([data-align=end]:not([open]))) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n @starting-style {\n :host(:where([query-context=container])[mode-xl=collapsible]:where([open])) {\n margin-inline-start: var(--_u-pane-collapsed-offset);\n }\n :host(:where([query-context=container])[mode-xl=collapsible]:where([data-align=end][open])) {\n margin-inline-start: 0;\n margin-inline-end: var(--_u-pane-collapsed-offset);\n }\n }\n :host(:where([query-context=container])[mode-xl=collapsible]) .container {\n position: relative;\n inset: auto;\n width: auto;\n transition: none;\n opacity: 1;\n }\n :host(:where([query-context=container])[mode-xl=collapsible]) .scrim {\n display: none;\n }\n :host(:where([query-context=container])[mode-xl=sidebar]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-z-index, 1030);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-low, rgb(247, 242, 250)));\n --_u-pane-shape-corner: var(--u-pane-overlay-corner-shape, var(--u-shape-corner-large, 16px));\n --_u-pane-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);\n --_u-pane-drawer-width: min(var(--u-pane-mobile-width, 360px), 85%);\n --_u-pane-slide-distance: calc(var(--_u-pane-drawer-width) * -1);\n }\n :host(:where([query-context=container])[mode-xl=sidebar]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: var(--_u-pane-drawer-width);\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n border-radius: var(--_u-pane-shape-corner);\n }\n :host(:where([query-context=container])[mode-xl=sidebar]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[mode-xl=sidebar]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[mode-xl=sidebar]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where([query-context=container])[mode-xl=sidebar]) .scrim {\n display: block;\n }\n :host(:where([query-context=container])[mode-xl=sidebar]:where([open])) .scrim {\n opacity: var(--u-pane-scrim-opacity, 0.4);\n pointer-events: auto;\n }\n :host(:where([query-context=container])[mode-xl=fullscreen]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--u-pane-fullscreen-z-index, 1040);\n pointer-events: none;\n flex: none;\n width: auto;\n height: auto;\n opacity: 1;\n transition: none;\n --_u-pane-bg-color: var(--u-pane-overlay-bg-color,\n var(--u-color-surface-container-lowest, rgb(255, 255, 255)));\n --_u-pane-shape-corner: 0;\n --_u-pane-shape-corner-end: 0;\n --_u-pane-box-shadow: none;\n --_u-pane-drawer-width: 100%;\n --_u-pane-slide-distance: -100%;\n }\n :host(:where([query-context=container])[mode-xl=fullscreen]) .container {\n position: absolute;\n inset-block: 0;\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n width: 100%;\n transition: inset var(--u-pane-transition);\n pointer-events: auto;\n }\n :host(:where([query-context=container])[mode-xl=fullscreen]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[mode-xl=fullscreen]:where([data-align=end])) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n }\n :host(:where([query-context=container])[mode-xl=fullscreen]:where([data-align=end][open])) .container {\n inset-inline-end: 0;\n }\n :host(:where([query-context=container])[mode-xl=fullscreen]) .scrim {\n display: none;\n }\n }\n :host([animation=none]),\n :host([animation=none]) .container,\n :host([animation=none]) .scrim {\n transition: none;\n }\n\n :host([animation=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n\n :host([animation=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n\n :host([animation=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n\n :host([animation=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n\n :host([animation=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n\n :host([animation=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n\n @media (min-width: 600px) {\n :host(:where(:not([query-context=container]))[animation-sm=none]),\n :host(:where(:not([query-context=container]))[animation-sm=none]) .container,\n :host(:where(:not([query-context=container]))[animation-sm=none]) .scrim {\n transition: none;\n }\n :host(:where(:not([query-context=container]))[animation-sm=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[animation-sm=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n :host(:where(:not([query-context=container]))[animation-sm=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[animation-sm=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[animation-sm=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[animation-sm=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n }\n @container (min-width: 600px) {\n :host(:where([query-context=container])[animation-sm=none]),\n :host(:where([query-context=container])[animation-sm=none]) .container,\n :host(:where([query-context=container])[animation-sm=none]) .scrim {\n transition: none;\n }\n :host(:where([query-context=container])[animation-sm=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n :host(:where([query-context=container])[animation-sm=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n :host(:where([query-context=container])[animation-sm=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[animation-sm=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[animation-sm=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[animation-sm=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n }\n @media (min-width: 840px) {\n :host(:where(:not([query-context=container]))[animation-md=none]),\n :host(:where(:not([query-context=container]))[animation-md=none]) .container,\n :host(:where(:not([query-context=container]))[animation-md=none]) .scrim {\n transition: none;\n }\n :host(:where(:not([query-context=container]))[animation-md=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[animation-md=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n :host(:where(:not([query-context=container]))[animation-md=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[animation-md=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[animation-md=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[animation-md=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n }\n @container (min-width: 840px) {\n :host(:where([query-context=container])[animation-md=none]),\n :host(:where([query-context=container])[animation-md=none]) .container,\n :host(:where([query-context=container])[animation-md=none]) .scrim {\n transition: none;\n }\n :host(:where([query-context=container])[animation-md=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n :host(:where([query-context=container])[animation-md=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n :host(:where([query-context=container])[animation-md=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[animation-md=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[animation-md=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[animation-md=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n }\n @media (min-width: 1200px) {\n :host(:where(:not([query-context=container]))[animation-lg=none]),\n :host(:where(:not([query-context=container]))[animation-lg=none]) .container,\n :host(:where(:not([query-context=container]))[animation-lg=none]) .scrim {\n transition: none;\n }\n :host(:where(:not([query-context=container]))[animation-lg=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[animation-lg=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n :host(:where(:not([query-context=container]))[animation-lg=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[animation-lg=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[animation-lg=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[animation-lg=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n }\n @container (min-width: 1200px) {\n :host(:where([query-context=container])[animation-lg=none]),\n :host(:where([query-context=container])[animation-lg=none]) .container,\n :host(:where([query-context=container])[animation-lg=none]) .scrim {\n transition: none;\n }\n :host(:where([query-context=container])[animation-lg=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n :host(:where([query-context=container])[animation-lg=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n :host(:where([query-context=container])[animation-lg=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[animation-lg=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[animation-lg=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[animation-lg=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n }\n @media (min-width: 1600px) {\n :host(:where(:not([query-context=container]))[animation-xl=none]),\n :host(:where(:not([query-context=container]))[animation-xl=none]) .container,\n :host(:where(:not([query-context=container]))[animation-xl=none]) .scrim {\n transition: none;\n }\n :host(:where(:not([query-context=container]))[animation-xl=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n :host(:where(:not([query-context=container]))[animation-xl=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n :host(:where(:not([query-context=container]))[animation-xl=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[animation-xl=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where(:not([query-context=container]))[animation-xl=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where(:not([query-context=container]))[animation-xl=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n }\n @container (min-width: 1600px) {\n :host(:where([query-context=container])[animation-xl=none]),\n :host(:where([query-context=container])[animation-xl=none]) .container,\n :host(:where([query-context=container])[animation-xl=none]) .scrim {\n transition: none;\n }\n :host(:where([query-context=container])[animation-xl=fade]) .container {\n inset-inline-start: 0;\n inset-inline-end: auto;\n transition: opacity var(--u-pane-transition);\n opacity: 1;\n }\n :host(:where([query-context=container])[animation-xl=fade]:where(:not([open]))) .container {\n opacity: 0;\n }\n :host(:where([query-context=container])[animation-xl=exit-start]) .container {\n inset-inline-start: var(--_u-pane-slide-distance);\n inset-inline-end: auto;\n transition: inset var(--u-pane-transition);\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: var(--_u-pane-shape-corner-end);\n border-end-end-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[animation-xl=exit-start]:where([open])) .container {\n inset-inline-start: 0;\n }\n :host(:where([query-context=container])[animation-xl=exit-end]) .container {\n inset-inline-start: auto;\n inset-inline-end: var(--_u-pane-slide-distance);\n transition: inset var(--u-pane-transition);\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-start-start-radius: var(--_u-pane-shape-corner-end);\n border-end-start-radius: var(--_u-pane-shape-corner-end);\n }\n :host(:where([query-context=container])[animation-xl=exit-end]:where([open])) .container {\n inset-inline-end: 0;\n }\n }\n`;\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { HTMLTemplateResult, LitElement, PropertyValues } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* Layout container that hosts the top app bar, navigation bar, a
|
|
4
|
+
* flex-row body that accepts plain content and any number of
|
|
5
|
+
* `u-pane` children, and a floating FAB. Panes auto-arrange via
|
|
6
|
+
* `display: flex` + `gap` on the body row; their behaviour (fixed,
|
|
7
|
+
* collapsible, sidebar, fullscreen) is owned by `u-pane` itself.
|
|
8
|
+
*
|
|
9
|
+
* The scaffold has one piece of pane-aware bookkeeping: it watches the
|
|
10
|
+
* children and writes `data-align="start|end"` on each `u-pane`
|
|
11
|
+
* depending on whether the pane appears before (`start`) or after
|
|
12
|
+
* (`end`) the first non-pane child in the light DOM. The pane reads
|
|
13
|
+
* that attribute to pick the slide direction in `sidebar` / `fullscreen`
|
|
14
|
+
* modes. When there is no non-pane content, every pane defaults to
|
|
15
|
+
* `start`.
|
|
16
|
+
*
|
|
17
|
+
* The scaffold establishes a `container-type: inline-size` named
|
|
18
|
+
* container (`u-scaffold`) so panes with `query-context="container"`
|
|
19
|
+
* can react to the scaffold's own size rather than the viewport.
|
|
20
|
+
*
|
|
21
|
+
* @slot top-bar - the top app bar.
|
|
22
|
+
* @slot - panes (`u-pane`) and the page content as siblings. Non-pane
|
|
23
|
+
* children act as the body and flex to fill the remaining space.
|
|
24
|
+
* @slot bottom-bar - the navigation bar (or any bottom-anchored bar).
|
|
25
|
+
* @slot fab - floating action button area, anchored above the bottom bar.
|
|
26
|
+
*
|
|
27
|
+
* @csspart top-bar
|
|
28
|
+
* @csspart bottom-bar
|
|
29
|
+
* @csspart fab
|
|
30
|
+
* @csspart body-row
|
|
31
|
+
*/
|
|
32
|
+
export declare class Scaffold extends LitElement {
|
|
33
|
+
#private;
|
|
34
|
+
static styles: import("lit").CSSResult[];
|
|
35
|
+
private readonly _bottomBar;
|
|
36
|
+
protected render(): HTMLTemplateResult;
|
|
37
|
+
protected firstUpdated(changedProperties: PropertyValues): void;
|
|
38
|
+
disconnectedCallback(): void;
|
|
39
|
+
}
|
|
40
|
+
declare global {
|
|
41
|
+
interface HTMLElementTagNameMap {
|
|
42
|
+
'u-scaffold': Scaffold;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=scaffold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/scaffold/scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAM3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBACa,QAAS,SAAQ,UAAU;;IACtC,OAAgB,MAAM,4BAAwB;IAG9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;cAKvB,MAAM,IAAI,kBAAkB;cAqB5B,YAAY,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAiB/D,oBAAoB,IAAI,IAAI;CAsGtC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,QAAQ,CAAC;KACxB;CACF"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { html, LitElement } from 'lit';
|
|
3
|
+
import { customElement, query } from 'lit/decorators.js';
|
|
4
|
+
import { styles as baseStyles } from '../shared/base.styles.js';
|
|
5
|
+
import { styles } from './scaffold.styles.js';
|
|
6
|
+
/**
|
|
7
|
+
* Layout container that hosts the top app bar, navigation bar, a
|
|
8
|
+
* flex-row body that accepts plain content and any number of
|
|
9
|
+
* `u-pane` children, and a floating FAB. Panes auto-arrange via
|
|
10
|
+
* `display: flex` + `gap` on the body row; their behaviour (fixed,
|
|
11
|
+
* collapsible, sidebar, fullscreen) is owned by `u-pane` itself.
|
|
12
|
+
*
|
|
13
|
+
* The scaffold has one piece of pane-aware bookkeeping: it watches the
|
|
14
|
+
* children and writes `data-align="start|end"` on each `u-pane`
|
|
15
|
+
* depending on whether the pane appears before (`start`) or after
|
|
16
|
+
* (`end`) the first non-pane child in the light DOM. The pane reads
|
|
17
|
+
* that attribute to pick the slide direction in `sidebar` / `fullscreen`
|
|
18
|
+
* modes. When there is no non-pane content, every pane defaults to
|
|
19
|
+
* `start`.
|
|
20
|
+
*
|
|
21
|
+
* The scaffold establishes a `container-type: inline-size` named
|
|
22
|
+
* container (`u-scaffold`) so panes with `query-context="container"`
|
|
23
|
+
* can react to the scaffold's own size rather than the viewport.
|
|
24
|
+
*
|
|
25
|
+
* @slot top-bar - the top app bar.
|
|
26
|
+
* @slot - panes (`u-pane`) and the page content as siblings. Non-pane
|
|
27
|
+
* children act as the body and flex to fill the remaining space.
|
|
28
|
+
* @slot bottom-bar - the navigation bar (or any bottom-anchored bar).
|
|
29
|
+
* @slot fab - floating action button area, anchored above the bottom bar.
|
|
30
|
+
*
|
|
31
|
+
* @csspart top-bar
|
|
32
|
+
* @csspart bottom-bar
|
|
33
|
+
* @csspart fab
|
|
34
|
+
* @csspart body-row
|
|
35
|
+
*/
|
|
36
|
+
let Scaffold = class Scaffold extends LitElement {
|
|
37
|
+
static { this.styles = [baseStyles, styles]; }
|
|
38
|
+
#bottomBarObserver = null;
|
|
39
|
+
#paneChildObserver = null;
|
|
40
|
+
render() {
|
|
41
|
+
return html `
|
|
42
|
+
<div class="layout">
|
|
43
|
+
<div class="top-bar-row" part="top-bar">
|
|
44
|
+
<slot name="top-bar" @slotchange=${this.#autoSetAbsolutePosition}></slot>
|
|
45
|
+
</div>
|
|
46
|
+
<div class="body-row" part="body-row">
|
|
47
|
+
<slot @slotchange=${this.#syncPaneAlignment}></slot>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="bottom-bar-row" part="bottom-bar">
|
|
50
|
+
<slot
|
|
51
|
+
name="bottom-bar"
|
|
52
|
+
@slotchange=${this.#handleBottomBarSlotChange}></slot>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
<div class="fab" part="fab">
|
|
56
|
+
<slot name="fab"></slot>
|
|
57
|
+
</div>
|
|
58
|
+
`;
|
|
59
|
+
}
|
|
60
|
+
firstUpdated(changedProperties) {
|
|
61
|
+
super.firstUpdated(changedProperties);
|
|
62
|
+
this.#measureBottomBar();
|
|
63
|
+
if (typeof ResizeObserver !== 'undefined') {
|
|
64
|
+
this.#bottomBarObserver = new ResizeObserver(() => this.#measureBottomBar());
|
|
65
|
+
this.#bottomBarObserver.observe(this._bottomBar);
|
|
66
|
+
}
|
|
67
|
+
this.#syncPaneAlignment();
|
|
68
|
+
this.#paneChildObserver = new MutationObserver(() => this.#syncPaneAlignment());
|
|
69
|
+
this.#paneChildObserver.observe(this, {
|
|
70
|
+
childList: true,
|
|
71
|
+
subtree: false,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
disconnectedCallback() {
|
|
75
|
+
super.disconnectedCallback();
|
|
76
|
+
this.#bottomBarObserver?.disconnect();
|
|
77
|
+
this.#bottomBarObserver = null;
|
|
78
|
+
this.#paneChildObserver?.disconnect();
|
|
79
|
+
this.#paneChildObserver = null;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Walk the light-DOM children once and stamp `data-align="start|end"`
|
|
83
|
+
* on each `u-pane` based on its position in the body row.
|
|
84
|
+
*
|
|
85
|
+
* - If non-pane body content is present: panes appearing before it are
|
|
86
|
+
* `start`, panes appearing after are `end`.
|
|
87
|
+
* - If there is no body content: the last pane is `end` (so a trailing
|
|
88
|
+
* detail pane animates from the correct side in modal modes), and
|
|
89
|
+
* every other pane is `start`. A single pane stays `start`.
|
|
90
|
+
*
|
|
91
|
+
* The pane's CSS uses `data-align` as the default slide direction for
|
|
92
|
+
* `animation="exit"` (the default). Consumers can override per-pane
|
|
93
|
+
* with `animation="exit-start"` / `animation="exit-end"`.
|
|
94
|
+
*/
|
|
95
|
+
#syncPaneAlignment = () => {
|
|
96
|
+
const children = Array.from(this.children);
|
|
97
|
+
let bodyIndex = -1;
|
|
98
|
+
const paneIndices = [];
|
|
99
|
+
for (let i = 0; i < children.length; i++) {
|
|
100
|
+
const child = children[i];
|
|
101
|
+
const slot = child.getAttribute('slot');
|
|
102
|
+
// Bars and FABs live in named slots — ignore them when locating
|
|
103
|
+
// the body row contents.
|
|
104
|
+
if (slot === 'top-bar' || slot === 'bottom-bar' || slot === 'fab') {
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (child.tagName === 'U-PANE') {
|
|
108
|
+
paneIndices.push(i);
|
|
109
|
+
}
|
|
110
|
+
else if (bodyIndex === -1) {
|
|
111
|
+
bodyIndex = i;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
const hasBody = bodyIndex !== -1;
|
|
115
|
+
const lastPaneIndex = paneIndices.length > 1
|
|
116
|
+
? paneIndices[paneIndices.length - 1]
|
|
117
|
+
: -1;
|
|
118
|
+
for (const i of paneIndices) {
|
|
119
|
+
let align;
|
|
120
|
+
if (hasBody) {
|
|
121
|
+
align = i > bodyIndex ? 'end' : 'start';
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
align = i === lastPaneIndex ? 'end' : 'start';
|
|
125
|
+
}
|
|
126
|
+
const child = children[i];
|
|
127
|
+
if (child.getAttribute('data-align') !== align) {
|
|
128
|
+
child.setAttribute('data-align', align);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
#handleBottomBarSlotChange = (event) => {
|
|
133
|
+
this.#autoSetAbsolutePosition(event);
|
|
134
|
+
this.#measureBottomBar();
|
|
135
|
+
};
|
|
136
|
+
#measureBottomBar = () => {
|
|
137
|
+
if (!this._bottomBar) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const height = this._bottomBar.offsetHeight;
|
|
141
|
+
this.style.setProperty('--_u-scaffold-bottom-bar-height', `${height}px`);
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* Ensures a slotted top/bottom bar uses `position="absolute"` so it
|
|
145
|
+
* anchors against the scaffold host. Only overrides the default
|
|
146
|
+
* `'fixed'` positioning — any explicit `'static'` or `'absolute'` set by
|
|
147
|
+
* the consumer (or at runtime) is respected.
|
|
148
|
+
*/
|
|
149
|
+
#autoSetAbsolutePosition = (event) => {
|
|
150
|
+
const slot = event.target;
|
|
151
|
+
for (const el of slot.assignedElements({ flatten: true })) {
|
|
152
|
+
const tag = el.tagName;
|
|
153
|
+
if (tag !== 'U-TOP-APP-BAR' && tag !== 'U-NAVIGATION-BAR') {
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
156
|
+
const bar = el;
|
|
157
|
+
if (bar.position === 'fixed') {
|
|
158
|
+
bar.position = 'absolute';
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
__decorate([
|
|
164
|
+
query('.bottom-bar-row', true)
|
|
165
|
+
], Scaffold.prototype, "_bottomBar", void 0);
|
|
166
|
+
Scaffold = __decorate([
|
|
167
|
+
customElement('u-scaffold')
|
|
168
|
+
], Scaffold);
|
|
169
|
+
export { Scaffold };
|
|
170
|
+
//# sourceMappingURL=scaffold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/scaffold/scaffold.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAsB,UAAU,EAAkB,MAAM,KAAK,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEI,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;aACtB,WAAM,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,AAAvB,CAAwB;IAK9C,kBAAkB,GAA0B,IAAI,CAAC;IACjD,kBAAkB,GAA4B,IAAI,CAAC;IAEhC,MAAM;QACvB,OAAO,IAAI,CAAA;;;6CAG8B,IAAI,CAAC,wBAAwB;;;8BAG5C,IAAI,CAAC,kBAAkB;;;;;0BAK3B,IAAI,CAAC,0BAA0B;;;;;;KAMpD,CAAC;IACJ,CAAC;IAEkB,YAAY,CAAC,iBAAiC;QAC/D,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,kBAAkB,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE;YACpC,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAEQ,oBAAoB;QAC3B,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACM,kBAAkB,GAAG,GAAS,EAAE;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;QACnB,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAExC,gEAAgE;YAChE,yBAAyB;YACzB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBAClE,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC/B,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC5B,SAAS,GAAG,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;YAC1C,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEP,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,KAAsB,CAAC;YAE3B,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YAChD,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC/C,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEO,0BAA0B,GAAG,CAAC,KAAY,EAAQ,EAAE;QAC3D,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC,CAAC;IAEO,iBAAiB,GAAG,GAAS,EAAE;QACtC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iCAAiC,EAAE,GAAG,MAAM,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAC;IAEF;;;;;OAKG;IACM,wBAAwB,GAAG,CAAC,KAAY,EAAQ,EAAE;QACzD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAC;QAE7C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC1D,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;YAEvB,IAAI,GAAG,KAAK,eAAe,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;gBAC1D,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,EAA6D,CAAC;YAE1E,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC7B,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;;AAhJe;IADhB,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC;4CACW;AAJ/B,QAAQ;IADpB,aAAa,CAAC,YAAY,CAAC;GACf,QAAQ,CAqJpB","sourcesContent":["import { html, HTMLTemplateResult, LitElement, PropertyValues } from 'lit';\nimport { customElement, query } from 'lit/decorators.js';\n\nimport { styles as baseStyles } from '../shared/base.styles.js';\nimport { styles } from './scaffold.styles.js';\n\n/**\n * Layout container that hosts the top app bar, navigation bar, a\n * flex-row body that accepts plain content and any number of\n * `u-pane` children, and a floating FAB. Panes auto-arrange via\n * `display: flex` + `gap` on the body row; their behaviour (fixed,\n * collapsible, sidebar, fullscreen) is owned by `u-pane` itself.\n *\n * The scaffold has one piece of pane-aware bookkeeping: it watches the\n * children and writes `data-align=\"start|end\"` on each `u-pane`\n * depending on whether the pane appears before (`start`) or after\n * (`end`) the first non-pane child in the light DOM. The pane reads\n * that attribute to pick the slide direction in `sidebar` / `fullscreen`\n * modes. When there is no non-pane content, every pane defaults to\n * `start`.\n *\n * The scaffold establishes a `container-type: inline-size` named\n * container (`u-scaffold`) so panes with `query-context=\"container\"`\n * can react to the scaffold's own size rather than the viewport.\n *\n * @slot top-bar - the top app bar.\n * @slot - panes (`u-pane`) and the page content as siblings. Non-pane\n * children act as the body and flex to fill the remaining space.\n * @slot bottom-bar - the navigation bar (or any bottom-anchored bar).\n * @slot fab - floating action button area, anchored above the bottom bar.\n *\n * @csspart top-bar\n * @csspart bottom-bar\n * @csspart fab\n * @csspart body-row\n */\n@customElement('u-scaffold')\nexport class Scaffold extends LitElement {\n static override styles = [baseStyles, styles];\n\n @query('.bottom-bar-row', true)\n private readonly _bottomBar!: HTMLElement;\n\n #bottomBarObserver: ResizeObserver | null = null;\n #paneChildObserver: MutationObserver | null = null;\n\n protected override render(): HTMLTemplateResult {\n return html`\n <div class=\"layout\">\n <div class=\"top-bar-row\" part=\"top-bar\">\n <slot name=\"top-bar\" @slotchange=${this.#autoSetAbsolutePosition}></slot>\n </div>\n <div class=\"body-row\" part=\"body-row\">\n <slot @slotchange=${this.#syncPaneAlignment}></slot>\n </div>\n <div class=\"bottom-bar-row\" part=\"bottom-bar\">\n <slot\n name=\"bottom-bar\"\n @slotchange=${this.#handleBottomBarSlotChange}></slot>\n </div>\n </div>\n <div class=\"fab\" part=\"fab\">\n <slot name=\"fab\"></slot>\n </div>\n `;\n }\n\n protected override firstUpdated(changedProperties: PropertyValues): void {\n super.firstUpdated(changedProperties);\n this.#measureBottomBar();\n\n if (typeof ResizeObserver !== 'undefined') {\n this.#bottomBarObserver = new ResizeObserver(() => this.#measureBottomBar());\n this.#bottomBarObserver.observe(this._bottomBar);\n }\n\n this.#syncPaneAlignment();\n this.#paneChildObserver = new MutationObserver(() => this.#syncPaneAlignment());\n this.#paneChildObserver.observe(this, {\n childList: true,\n subtree: false,\n });\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#bottomBarObserver?.disconnect();\n this.#bottomBarObserver = null;\n this.#paneChildObserver?.disconnect();\n this.#paneChildObserver = null;\n }\n\n /**\n * Walk the light-DOM children once and stamp `data-align=\"start|end\"`\n * on each `u-pane` based on its position in the body row.\n *\n * - If non-pane body content is present: panes appearing before it are\n * `start`, panes appearing after are `end`.\n * - If there is no body content: the last pane is `end` (so a trailing\n * detail pane animates from the correct side in modal modes), and\n * every other pane is `start`. A single pane stays `start`.\n *\n * The pane's CSS uses `data-align` as the default slide direction for\n * `animation=\"exit\"` (the default). Consumers can override per-pane\n * with `animation=\"exit-start\"` / `animation=\"exit-end\"`.\n */\n readonly #syncPaneAlignment = (): void => {\n const children = Array.from(this.children);\n let bodyIndex = -1;\n const paneIndices: number[] = [];\n\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n const slot = child.getAttribute('slot');\n\n // Bars and FABs live in named slots — ignore them when locating\n // the body row contents.\n if (slot === 'top-bar' || slot === 'bottom-bar' || slot === 'fab') {\n continue;\n }\n\n if (child.tagName === 'U-PANE') {\n paneIndices.push(i);\n } else if (bodyIndex === -1) {\n bodyIndex = i;\n }\n }\n\n const hasBody = bodyIndex !== -1;\n const lastPaneIndex = paneIndices.length > 1\n ? paneIndices[paneIndices.length - 1]\n : -1;\n\n for (const i of paneIndices) {\n let align: 'start' | 'end';\n\n if (hasBody) {\n align = i > bodyIndex ? 'end' : 'start';\n } else {\n align = i === lastPaneIndex ? 'end' : 'start';\n }\n\n const child = children[i];\n if (child.getAttribute('data-align') !== align) {\n child.setAttribute('data-align', align);\n }\n }\n };\n\n readonly #handleBottomBarSlotChange = (event: Event): void => {\n this.#autoSetAbsolutePosition(event);\n this.#measureBottomBar();\n };\n\n readonly #measureBottomBar = (): void => {\n if (!this._bottomBar) {\n return;\n }\n\n const height = this._bottomBar.offsetHeight;\n this.style.setProperty('--_u-scaffold-bottom-bar-height', `${height}px`);\n };\n\n /**\n * Ensures a slotted top/bottom bar uses `position=\"absolute\"` so it\n * anchors against the scaffold host. Only overrides the default\n * `'fixed'` positioning — any explicit `'static'` or `'absolute'` set by\n * the consumer (or at runtime) is respected.\n */\n readonly #autoSetAbsolutePosition = (event: Event): void => {\n const slot = event.target as HTMLSlotElement;\n\n for (const el of slot.assignedElements({ flatten: true })) {\n const tag = el.tagName;\n\n if (tag !== 'U-TOP-APP-BAR' && tag !== 'U-NAVIGATION-BAR') {\n continue;\n }\n\n const bar = el as Element & { position: 'fixed' | 'absolute' | 'static' };\n\n if (bar.position === 'fixed') {\n bar.position = 'absolute';\n }\n }\n };\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-scaffold': Scaffold;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.styles.d.ts","sourceRoot":"","sources":["../../src/scaffold/scaffold.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAkElB,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const styles = css `
|
|
3
|
+
:host {
|
|
4
|
+
display: block;
|
|
5
|
+
position: relative;
|
|
6
|
+
width: 100%;
|
|
7
|
+
height: 100%;
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
contain: layout paint style;
|
|
10
|
+
isolation: isolate;
|
|
11
|
+
background-color: var(--u-scaffold-container-color, var(--u-color-body, transparent));
|
|
12
|
+
container-type: inline-size;
|
|
13
|
+
container-name: u-scaffold;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@media (min-width: 840px) {
|
|
17
|
+
:host {
|
|
18
|
+
--u-pane-padding: 16px;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
.layout {
|
|
22
|
+
display: flex;
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
width: 100%;
|
|
25
|
+
height: 100%;
|
|
26
|
+
min-height: 0;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.top-bar-row,
|
|
30
|
+
.bottom-bar-row {
|
|
31
|
+
position: relative;
|
|
32
|
+
flex: 0 0 auto;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.body-row {
|
|
36
|
+
position: relative;
|
|
37
|
+
display: flex;
|
|
38
|
+
flex-direction: row;
|
|
39
|
+
gap: var(--u-pane-gap, 16px);
|
|
40
|
+
flex: 1 1 auto;
|
|
41
|
+
min-height: 0;
|
|
42
|
+
width: 100%;
|
|
43
|
+
padding: 0 var(--u-pane-padding, 0);
|
|
44
|
+
padding-block-end: var(--u-pane-padding, 0);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
::slotted(:not(u-pane)) {
|
|
48
|
+
flex: 1 1 0;
|
|
49
|
+
min-width: 0;
|
|
50
|
+
min-height: 0;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.fab {
|
|
54
|
+
position: absolute;
|
|
55
|
+
inset-inline-end: var(--u-scaffold-fab-inline-offset, 16px);
|
|
56
|
+
inset-block-end: calc(var(--u-scaffold-fab-block-offset, 16px) + var(--_u-scaffold-bottom-bar-height, 0px));
|
|
57
|
+
z-index: 5;
|
|
58
|
+
pointer-events: none;
|
|
59
|
+
display: flex;
|
|
60
|
+
align-items: flex-end;
|
|
61
|
+
justify-content: flex-end;
|
|
62
|
+
--u-fab-menu-toggle-margin: 0;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.fab ::slotted(u-fab) {
|
|
66
|
+
pointer-events: auto;
|
|
67
|
+
}
|
|
68
|
+
`;
|
|
69
|
+
//# sourceMappingURL=scaffold.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.styles.js","sourceRoot":"","sources":["../../src/scaffold/scaffold.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n contain: layout paint style;\n isolation: isolate;\n background-color: var(--u-scaffold-container-color, var(--u-color-body, transparent));\n container-type: inline-size;\n container-name: u-scaffold;\n }\n\n @media (min-width: 840px) {\n :host {\n --u-pane-padding: 16px;\n }\n }\n .layout {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 0;\n }\n\n .top-bar-row,\n .bottom-bar-row {\n position: relative;\n flex: 0 0 auto;\n }\n\n .body-row {\n position: relative;\n display: flex;\n flex-direction: row;\n gap: var(--u-pane-gap, 16px);\n flex: 1 1 auto;\n min-height: 0;\n width: 100%;\n padding: 0 var(--u-pane-padding, 0);\n padding-block-end: var(--u-pane-padding, 0);\n }\n\n ::slotted(:not(u-pane)) {\n flex: 1 1 0;\n min-width: 0;\n min-height: 0;\n }\n\n .fab {\n position: absolute;\n inset-inline-end: var(--u-scaffold-fab-inline-offset, 16px);\n inset-block-end: calc(var(--u-scaffold-fab-block-offset, 16px) + var(--_u-scaffold-bottom-bar-height, 0px));\n z-index: 5;\n pointer-events: none;\n display: flex;\n align-items: flex-end;\n justify-content: flex-end;\n --u-fab-menu-toggle-margin: 0;\n }\n\n .fab ::slotted(u-fab) {\n pointer-events: auto;\n }\n`;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll-container-context.d.ts","sourceRoot":"","sources":["../../src/scaffold/scroll-container-context.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB;;CACuC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll-container-context.js","sourceRoot":"","sources":["../../src/scaffold/scroll-container-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,sBAAsB,GACjC,aAAa,CAA0B,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC","sourcesContent":["import { createContext } from '@lit/context';\n\nexport const scrollContainerContext =\n createContext<HTMLElement | undefined>(Symbol('scrollContainerContext'));\n"]}
|
|
@@ -6,6 +6,10 @@
|
|
|
6
6
|
height: var(--u-divider-thickness, 1px);
|
|
7
7
|
background-color: var(--u-divider-color, currentColor);
|
|
8
8
|
opacity: var(--u-divider-opacity, .4);
|
|
9
|
+
// Dividers are 1px and should never shrink. Without this, dropping a
|
|
10
|
+
// divider into a flex-column container (e.g. the expanded nav-rail's
|
|
11
|
+
// overflowing item list) collapses it to 0.
|
|
12
|
+
flex-shrink: 0;
|
|
9
13
|
}
|
|
10
14
|
|
|
11
15
|
.u-divider {
|
package/search/search.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { PropertyValues } from '@lit/reactive-element';
|
|
2
2
|
import { HTMLTemplateResult } from 'lit';
|
|
3
|
-
import {
|
|
4
|
-
export declare class
|
|
3
|
+
import { NativeTextFieldWrapper } from '../shared/char-count-text-field/native-text-field-wrapper.js';
|
|
4
|
+
export declare class Search extends NativeTextFieldWrapper {
|
|
5
5
|
#private;
|
|
6
6
|
static styles: import("lit").CSSResult[];
|
|
7
|
+
/**
|
|
8
|
+
* The positioning strategy of the search bar
|
|
9
|
+
*/
|
|
7
10
|
position: 'fixed' | 'absolute' | 'static';
|
|
8
11
|
input: HTMLInputElement;
|
|
9
12
|
protected renderControl(): HTMLTemplateResult;
|
|
@@ -12,7 +15,7 @@ export declare class UmSearch extends UmNativeTextFieldWrapper {
|
|
|
12
15
|
}
|
|
13
16
|
declare global {
|
|
14
17
|
interface HTMLElementTagNameMap {
|
|
15
|
-
'u-search':
|
|
18
|
+
'u-search': Search;
|
|
16
19
|
}
|
|
17
20
|
}
|
|
18
21
|
//# sourceMappingURL=search.d.ts.map
|
package/search/search.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/search/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAQ,kBAAkB,EAAW,MAAM,KAAK,CAAC;AAMxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/search/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAQ,kBAAkB,EAAW,MAAM,KAAK,CAAC;AAMxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAC;AAGtG,qBACa,MAAO,SAAQ,sBAAsB;;IAEhD,OAAgB,MAAM,4BAAwB;IAE9C;;OAEG;IAEH,QAAQ,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAW;IAEpC,KAAK,EAAG,gBAAgB,CAAC;cAItB,aAAa,IAAI,kBAAkB;IAI7C,MAAM,IAAI,kBAAkB;IA0C5B,YAAY,CAAC,iBAAiB,EAAE,cAAc;CAUxD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,MAAM,CAAC;KACpB;CACF"}
|
package/search/search.js
CHANGED
|
@@ -4,11 +4,14 @@ import { customElement, property, query } from 'lit/decorators.js';
|
|
|
4
4
|
import { classMap } from 'lit/directives/class-map.js';
|
|
5
5
|
import { live } from 'lit/directives/live.js';
|
|
6
6
|
import { styles as baseStyles } from '../shared/base.styles.js';
|
|
7
|
-
import {
|
|
7
|
+
import { NativeTextFieldWrapper } from '../shared/char-count-text-field/native-text-field-wrapper.js';
|
|
8
8
|
import { styles } from './search.styles.js';
|
|
9
|
-
let
|
|
9
|
+
let Search = class Search extends NativeTextFieldWrapper {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments);
|
|
12
|
+
/**
|
|
13
|
+
* The positioning strategy of the search bar
|
|
14
|
+
*/
|
|
12
15
|
this.position = 'fixed';
|
|
13
16
|
this.#containerSizeObserver = null;
|
|
14
17
|
}
|
|
@@ -67,12 +70,12 @@ let UmSearch = class UmSearch extends UmNativeTextFieldWrapper {
|
|
|
67
70
|
};
|
|
68
71
|
__decorate([
|
|
69
72
|
property({ reflect: true })
|
|
70
|
-
],
|
|
73
|
+
], Search.prototype, "position", void 0);
|
|
71
74
|
__decorate([
|
|
72
75
|
query('input')
|
|
73
|
-
],
|
|
74
|
-
|
|
76
|
+
], Search.prototype, "input", void 0);
|
|
77
|
+
Search = __decorate([
|
|
75
78
|
customElement('u-search')
|
|
76
|
-
],
|
|
77
|
-
export {
|
|
79
|
+
], Search);
|
|
80
|
+
export { Search };
|
|
78
81
|
//# sourceMappingURL=search.js.map
|
package/search/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/search/search.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAsB,OAAO,EAAE,MAAM,KAAK,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/search/search.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAsB,OAAO,EAAE,MAAM,KAAK,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAC;AACtG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGrC,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,sBAAsB;IAA3C;;QAIL;;WAEG;QAEH,aAAQ,GAAoC,OAAO,CAAC;QAIpD,2BAAsB,GAA0B,IAAI,CAAC;IA0DvD,CAAC;aApEiB,WAAM,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,AAAvB,CAAwB;IAU9C,sBAAsB,CAA+B;IAElC,aAAa;QAC9B,OAAO,IAAI,CAAA,EAAE,CAAC;IAChB,CAAC;IAEQ,MAAM;QACb,MAAM,OAAO,GAAG,QAAQ,CAAC;YACvB,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAA;oBACK,OAAO;;;qDAG0B,IAAI,CAAC,4BAA4B;;;;;iBAKrE,IAAI,CAAC,EAAE,IAAI,OAAO;yBACV,IAAI,CAAC,UAAU;2BACb,IAAI,CAAC,YAAY,IAAI,OAAO;6BAC1B,IAAI,CAAC,cAAc,IAAI,OAAO;yBAClC,IAAI,CAAC,SAAS;mBACpB,IAAI,CAAC,IAAI,IAAI,OAAO;wBACf,IAAI,CAAC,SAAS,IAAI,OAAO;2BACtB,IAAI,CAAC,WAAW,IAAI,OAAO;qBACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;qBACjB,IAAI,CAAC,YAAY;uBACf,IAAI,CAAC,cAAc;;;sDAGY,IAAI,CAAC,6BAA6B;;;;WAI7E,CAAC;IACV,CAAC;IAED,4BAA4B;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,6BAA6B;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/D,CAAC;IAEQ,YAAY,CAAC,iBAAiC;QACrD,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACtC,IAAI,CAAC,sBAAsB,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC;IAED,yBAAyB;QACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,CAAC,CAAC;IACnF,CAAC;;AA7DD;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wCACwB;AAEpC;IAAf,KAAK,CAAC,OAAO,CAAC;qCAA0B;AAV9B,MAAM;IADlB,aAAa,CAAC,UAAU,CAAC;GACb,MAAM,CAsElB","sourcesContent":["import { PropertyValues } from '@lit/reactive-element';\n\nimport { html, HTMLTemplateResult, nothing } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { live } from 'lit/directives/live.js';\n\nimport { styles as baseStyles } from '../shared/base.styles.js';\nimport { NativeTextFieldWrapper } from '../shared/char-count-text-field/native-text-field-wrapper.js';\nimport { styles } from './search.styles.js';\n\n@customElement('u-search')\nexport class Search extends NativeTextFieldWrapper {\n\n static override styles = [baseStyles, styles];\n\n /**\n * The positioning strategy of the search bar\n */\n @property({ reflect: true })\n position: 'fixed' | 'absolute' | 'static' = 'fixed';\n\n @query('input') input!: HTMLInputElement;\n\n #containerSizeObserver: ResizeObserver | null = null;\n\n protected override renderControl(): HTMLTemplateResult {\n return html``;\n }\n\n override render(): HTMLTemplateResult {\n const classes = classMap({\n 'inner-container': true,\n });\n\n return html`<div class=\"container\">\n <div class=\"${classes}\">\n <div class=\"content\">\n <div class=\"icon leading-icon\" part=\"icon leading\">\n <slot name=\"leading-icon\" @slotchange=\"${this.#handleLeadingIconSlotChange}\"></slot>\n </div>\n <input\n class=\"input\"\n part=\"input\"\n id=${this.id || nothing}\n spellcheck=${this.spellcheck}\n autocomplete=${this.autocomplete ?? nothing}\n autocapitalize=${this.autocapitalize || nothing}\n ?autofocus=${this.autofocus}\n role=${this.role ?? nothing}\n maxlength=${this.maxlength ?? nothing}\n .placeholder=${this.placeholder ?? nothing}\n .value=${live(this._value)}\n @input=${this._handleInput}\n @keydown=${this._handleKeyDown} />\n \n <div class=\"icon trailing-icon\" part=\"icon trailing\">\n <slot name=\"trailing-icon\" @slotchange=\"${this.#handleTrailingIconSlotChange}\"></slot>\n </div>\n </div>\n </div>\n </div>`;\n }\n\n #handleLeadingIconSlotChange() {\n this.hasLeadingIcon = this.assignedLeadingIcons.length > 0;\n }\n\n #handleTrailingIconSlotChange() {\n this.hasTrailingIcon = this.assignedTrailingIcons.length > 0;\n }\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n this.#containerSizeObserver = new ResizeObserver(() => this.#setContentHeightProperty());\n this.#containerSizeObserver.observe(this._container);\n this.#setContentHeightProperty();\n }\n\n #setContentHeightProperty() {\n this.style.setProperty('--_content-height', `${this._container.clientHeight}px`);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-search': Search;\n }\n}\n"]}
|