@universal-material/web 3.8.0 → 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 +7 -6
- package/app-bar/top-app-bar.d.ts.map +1 -1
- package/app-bar/top-app-bar.js +71 -35
- 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 +2 -2
- package/badge/badge.d.ts.map +1 -1
- package/badge/badge.js +6 -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 +4469 -1277
- package/button/button-base.d.ts +2 -2
- package/button/button-base.d.ts.map +1 -1
- package/button/button-base.js +5 -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 +7 -7
- package/button/button.d.ts.map +1 -1
- package/button/button.js +14 -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 +7 -7
- package/button/icon-button.d.ts.map +1 -1
- package/button/icon-button.js +8 -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 +3 -3
- package/button-field/button-field.d.ts.map +1 -1
- package/button-field/button-field.js +9 -9
- package/button-field/button-field.js.map +1 -1
- package/calendar/calendar-base.d.ts +1 -1
- package/calendar/calendar-base.d.ts.map +1 -1
- package/calendar/calendar-base.js +10 -10
- package/calendar/calendar-base.js.map +1 -1
- package/calendar/calendar.d.ts +2 -2
- package/calendar/calendar.d.ts.map +1 -1
- package/calendar/calendar.js +8 -8
- package/calendar/calendar.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 +2 -2
- package/card/card-content.d.ts.map +1 -1
- package/card/card-content.js +5 -5
- package/card/card-content.js.map +1 -1
- package/card/card-media.d.ts +2 -2
- package/card/card-media.d.ts.map +1 -1
- package/card/card-media.js +5 -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 +3 -3
- package/checkbox/checkbox.d.ts.map +1 -1
- package/checkbox/checkbox.js +7 -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 +5 -5
- package/chip/chip.d.ts.map +1 -1
- package/chip/chip.js +20 -20
- package/chip/chip.js.map +1 -1
- package/chip-field/chip-field.d.ts +3 -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 +16615 -12152
- package/datepicker/datepicker.d.ts +6 -4
- package/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker.js +33 -19
- 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/range-datepicker.d.ts +6 -4
- package/datepicker/range-datepicker.d.ts.map +1 -1
- package/datepicker/range-datepicker.js +33 -19
- package/datepicker/range-datepicker.js.map +1 -1
- 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 +2 -2
- package/dialog/dialog.d.ts.map +1 -1
- package/dialog/dialog.js +14 -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 +3 -3
- package/field/field-base.d.ts.map +1 -1
- package/field/field-base.js +20 -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 +3 -3
- package/field/field.d.ts.map +1 -1
- package/field/field.js +6 -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 +24 -1
- package/index.d.ts.map +1 -1
- package/index.js +24 -1
- package/index.js.map +1 -1
- package/list/list-item.d.ts +16 -2
- package/list/list-item.d.ts.map +1 -1
- package/list/list-item.js +26 -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 +3 -3
- package/menu/menu-item.d.ts.map +1 -1
- package/menu/menu-item.js +10 -10
- package/menu/menu-item.js.map +1 -1
- package/menu/menu.d.ts +2 -2
- package/menu/menu.d.ts.map +1 -1
- package/menu/menu.js +13 -13
- package/menu/menu.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-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.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 +19 -3
- package/progress/circular-progress.d.ts +2 -2
- package/progress/circular-progress.d.ts.map +1 -1
- package/progress/circular-progress.js +6 -6
- package/progress/circular-progress.js.map +1 -1
- package/progress/progress-bar.d.ts +2 -2
- package/progress/progress-bar.d.ts.map +1 -1
- package/progress/progress-bar.js +6 -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 +3 -3
- package/radio/radio.d.ts.map +1 -1
- package/radio/radio.js +6 -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 +3 -3
- package/search/search.d.ts.map +1 -1
- package/search/search.js +7 -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 +3 -3
- package/select/option.d.ts.map +1 -1
- package/select/option.js +8 -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 +18 -12
- package/select/select.d.ts.map +1 -1
- package/select/select.js +77 -31
- package/select/select.js.map +1 -1
- package/shared/button-wrapper.d.ts +1 -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 +2 -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 +6 -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 +10 -1
- package/shared/selection-control/selection-control-list-item.js.map +1 -1
- package/shared/selection-control/selection-control.d.ts +1 -1
- package/shared/selection-control/selection-control.d.ts.map +1 -1
- package/shared/selection-control/selection-control.js +15 -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 +34 -2
- package/shared/text-field-base/text-field-base.d.ts.map +1 -1
- package/shared/text-field-base/text-field-base.js +63 -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 +4 -4
- package/snackbar/snackbar.d.ts.map +1 -1
- package/snackbar/snackbar.js +28 -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 +6 -6
- package/tab-bar/tab-bar.d.ts.map +1 -1
- package/tab-bar/tab-bar.js +40 -23
- package/tab-bar/tab-bar.js.map +1 -1
- package/tab-bar/tab.d.ts +5 -5
- package/tab-bar/tab.d.ts.map +1 -1
- package/tab-bar/tab.js +9 -9
- package/tab-bar/tab.js.map +1 -1
- package/text-area/text-area.d.ts +3 -3
- package/text-area/text-area.d.ts.map +1 -1
- package/text-area/text-area.js +9 -9
- package/text-area/text-area.js.map +1 -1
- package/text-field/text-field.d.ts +15 -3
- package/text-field/text-field.d.ts.map +1 -1
- package/text-field/text-field.js +46 -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.d.ts +7 -7
- package/typeahead/typeahead.d.ts.map +1 -1
- package/typeahead/typeahead.js +22 -18
- package/typeahead/typeahead.js.map +1 -1
- package/vscode.html-custom-data.json +870 -481
package/shared/button-wrapper.js
CHANGED
|
@@ -7,7 +7,7 @@ import { styles } from './button-wrapper.styles.js';
|
|
|
7
7
|
import { redispatchEvent } from './events/redispatch-event.js';
|
|
8
8
|
import '../elevation/elevation.js';
|
|
9
9
|
import '../ripple/ripple.js';
|
|
10
|
-
export class
|
|
10
|
+
export class ButtonWrapper extends LitElement {
|
|
11
11
|
constructor() {
|
|
12
12
|
super(...arguments);
|
|
13
13
|
/**
|
|
@@ -109,23 +109,23 @@ export class UmButtonWrapper extends LitElement {
|
|
|
109
109
|
}
|
|
110
110
|
__decorate([
|
|
111
111
|
property({ type: Boolean, reflect: true })
|
|
112
|
-
],
|
|
112
|
+
], ButtonWrapper.prototype, "disabled", void 0);
|
|
113
113
|
__decorate([
|
|
114
114
|
state()
|
|
115
|
-
],
|
|
115
|
+
], ButtonWrapper.prototype, "renderRipple", void 0);
|
|
116
116
|
__decorate([
|
|
117
117
|
property()
|
|
118
|
-
],
|
|
118
|
+
], ButtonWrapper.prototype, "href", void 0);
|
|
119
119
|
__decorate([
|
|
120
120
|
property()
|
|
121
|
-
],
|
|
121
|
+
], ButtonWrapper.prototype, "target", void 0);
|
|
122
122
|
__decorate([
|
|
123
123
|
property()
|
|
124
|
-
],
|
|
124
|
+
], ButtonWrapper.prototype, "name", void 0);
|
|
125
125
|
__decorate([
|
|
126
126
|
query('.button')
|
|
127
|
-
],
|
|
127
|
+
], ButtonWrapper.prototype, "buttonElement", void 0);
|
|
128
128
|
__decorate([
|
|
129
129
|
query('u-ripple')
|
|
130
|
-
],
|
|
130
|
+
], ButtonWrapper.prototype, "_ripple", void 0);
|
|
131
131
|
//# sourceMappingURL=button-wrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-wrapper.js","sourceRoot":"","sources":["../../src/shared/button-wrapper.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAsB,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGvD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,2BAA2B,CAAC;AACnC,OAAO,qBAAqB,CAAC;AAE7B,MAAM,OAAgB,
|
|
1
|
+
{"version":3,"file":"button-wrapper.js","sourceRoot":"","sources":["../../src/shared/button-wrapper.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultGroup } from '@lit/reactive-element/css-tag';\n\nimport { html, HTMLTemplateResult, LitElement, nothing } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { Ripple } from '../ripple/ripple.js';\nimport { styles as baseStyles } from './base.styles.js';\nimport { styles } from './button-wrapper.styles.js';\nimport { redispatchEvent } from './events/redispatch-event.js';\n\nimport '../elevation/elevation.js';\nimport '../ripple/ripple.js';\n\nexport abstract class ButtonWrapper extends LitElement {\n static override styles: CSSResultGroup = [baseStyles, styles];\n\n /**\n * Whether the button is disabled or not.\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @state() renderRipple = true;\n\n /**\n * The URL that the link button points to.\n */\n @property() href: string | undefined;\n\n /**\n * Where to display the linked `href` URL for a link button. Common options\n * include `_blank` to open in a new tab.\n */\n @property() target: string | undefined;\n\n /**\n * The form field name associated with the button when submitting a form\n */\n @property() name: string | undefined;\n\n @query('.button') readonly buttonElement!: HTMLElement;\n @query('u-ripple') private readonly _ripple!: Ripple;\n\n protected innerRole: string | null = null;\n\n get pathname(): string {\n return (this.buttonElement as HTMLAnchorElement)?.pathname;\n }\n\n protected override render(): HTMLTemplateResult {\n\n const contents = typeof this.href === 'string'\n ? this.#renderLink()\n : this.#renderButton();\n\n const containerClasses = classMap(this._getContainerClasses());\n\n return html`<div class=\"container ${containerClasses}\" part=\"container\"> ${contents}</div>`;\n }\n\n protected _getContainerClasses(): Record<string, boolean> {\n return { disabled: this.disabled };\n }\n\n #renderButton() {\n return html`\n <div class=\"content\">${this._renderContent()}</div>\n <button\n id=\"button\"\n class=\"button focus-ring\"\n ?disabled=${this.disabled}\n aria-label=${this.getAriaLabel() || nothing}\n aria-labelledby=\"${this.getAriaLabel() ? nothing : 'text'}\"\n .role=${this.innerRole}\n type=\"button\"\n @click=${this.#innerClickHandler}>\n <u-ripple ?disabled=${this.disabled || !this.renderRipple}></u-ripple>\n <u-elevation></u-elevation>\n </button>\n `;\n }\n\n #renderLink() {\n return html`\n <div class=\"content\">${this._renderContent()}</div>\n <a\n id=\"link\"\n class=\"button\"\n href=${this.disabled ? nothing : this.href}\n aria-disabled=${this.disabled || nothing}\n aria-label=${this.ariaLabel || nothing}\n aria-labelledby=\"${this.ariaLabel ? nothing : 'text'}\"\n .role=${this.innerRole}\n target=${this.target || nothing}\n @click=${this.#innerClickHandler}>\n <u-elevation></u-elevation>\n <u-ripple ?disabled=${this.disabled || !this.renderRipple}></u-ripple>\n </a>\n `;\n }\n\n protected abstract _renderContent(): HTMLTemplateResult;\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.addEventListener('focus', this.#innerFocusHandler);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n\n this.removeEventListener('focus', this.#innerFocusHandler);\n }\n\n override focus() {\n this.buttonElement?.focus();\n }\n\n override blur() {\n this.buttonElement?.blur();\n }\n\n protected getAriaLabel(): string | null {\n return this.ariaLabel;\n }\n\n #innerFocusHandler(): void {\n const tabIndexAttributeValue = this.getAttribute('tabindex');\n\n if (tabIndexAttributeValue !== '0') {\n return;\n }\n\n this.removeAttribute('tabindex');\n setTimeout(() => this.buttonElement?.focus());\n }\n\n #innerClickHandler(event: MouseEvent): void {\n if (this.disabled) {\n return;\n }\n\n const preventDefault = !redispatchEvent(this, event);\n\n if (preventDefault) {\n return;\n }\n\n if (!(event as PointerEvent).pointerType) {\n this._ripple.createRipple();\n }\n\n this._handleClick(event);\n }\n\n protected _handleClick(_: UIEvent): void {\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare abstract class
|
|
1
|
+
import { TextFieldBase } from '../text-field-base/text-field-base.js';
|
|
2
|
+
export declare abstract class NativeTextFieldWrapper extends TextFieldBase {
|
|
3
3
|
#private;
|
|
4
4
|
protected _value: string;
|
|
5
5
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-text-field-wrapper.d.ts","sourceRoot":"","sources":["../../../src/shared/char-count-text-field/native-text-field-wrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"native-text-field-wrapper.d.ts","sourceRoot":"","sources":["../../../src/shared/char-count-text-field/native-text-field-wrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,8BAAsB,sBAAuB,SAAQ,aAAa;;IAChE,SAAS,CAAC,MAAM,SAAM;IAEtB;;OAEG;IACH,IACI,KAAK,IAIQ,MAAM,CAFtB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAKtB;IAED;;OAEG;IAC0B,YAAY,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IAI7E;;;OAGG;IACH,IACI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAG1B;IAED;;OAEG;IACmC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAQ;IAExD,KAAK;IAId,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,mBAAmB,CAAC;IAEvD,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,aAAa;IAMzC,SAAS,CAAC,YAAY;CAavB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { property } from 'lit/decorators.js';
|
|
3
|
-
import {
|
|
4
|
-
export class
|
|
3
|
+
import { TextFieldBase } from '../text-field-base/text-field-base.js';
|
|
4
|
+
export class NativeTextFieldWrapper extends TextFieldBase {
|
|
5
5
|
constructor() {
|
|
6
6
|
super(...arguments);
|
|
7
7
|
this._value = '';
|
|
@@ -56,14 +56,14 @@ export class UmNativeTextFieldWrapper extends UmTextFieldBase {
|
|
|
56
56
|
}
|
|
57
57
|
__decorate([
|
|
58
58
|
property()
|
|
59
|
-
],
|
|
59
|
+
], NativeTextFieldWrapper.prototype, "value", null);
|
|
60
60
|
__decorate([
|
|
61
61
|
property({ reflect: true })
|
|
62
|
-
],
|
|
62
|
+
], NativeTextFieldWrapper.prototype, "autocomplete", void 0);
|
|
63
63
|
__decorate([
|
|
64
64
|
property({ type: Number, reflect: true })
|
|
65
|
-
],
|
|
65
|
+
], NativeTextFieldWrapper.prototype, "maxlength", null);
|
|
66
66
|
__decorate([
|
|
67
67
|
property({ reflect: true })
|
|
68
|
-
],
|
|
68
|
+
], NativeTextFieldWrapper.prototype, "role", void 0);
|
|
69
69
|
//# sourceMappingURL=native-text-field-wrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-text-field-wrapper.js","sourceRoot":"","sources":["../../../src/shared/char-count-text-field/native-text-field-wrapper.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"native-text-field-wrapper.js","sourceRoot":"","sources":["../../../src/shared/char-count-text-field/native-text-field-wrapper.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,MAAM,OAAgB,sBAAuB,SAAQ,aAAa;IAAlE;;QACY,WAAM,GAAG,EAAE,CAAC;QAsCtB;;WAEG;QACmC,SAAI,GAAkB,IAAI,CAAC;IA2BnE,CAAC;IAlEC;;OAEG;IAEH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC;QACpB,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAOD,UAAU,CAAqB;IAE/B;;;OAGG;IAEH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,SAAS,CAAC,KAAa;QACzB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAOQ,KAAK;QACZ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAIS,cAAc,CAAC,CAAgB;QACvC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;IAES,YAAY;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,aAAa,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;IACjC,CAAC;CACF;AA9DC;IADC,QAAQ,EAAE;mDAGV;AAY4B;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4DAAiD;AAS7E;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDAGzC;AAUqC;IAArC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDAAqC","sourcesContent":["import { property } from 'lit/decorators.js';\n\nimport { TextFieldBase } from '../text-field-base/text-field-base.js';\n\nexport abstract class NativeTextFieldWrapper extends TextFieldBase {\n protected _value = '';\n\n /**\n * The current text value of the field, submitted with the associated form\n */\n @property()\n get value() {\n return this._value;\n }\n\n set value(value: string) {\n this._value = value;\n this.empty = !value;\n this.elementInternals.setFormValue(value);\n this.#updateCounter();\n }\n\n /**\n * Mirrors the native `autocomplete` attribute on the underlying input\n */\n @property({ reflect: true }) autocomplete: 'on' | 'off' | string | undefined;\n\n #maxlength: number | undefined;\n\n /**\n * Maximum number of characters the field accepts. When set, drives the\n * automatic character counter shown in the supporting text.\n */\n @property({ type: Number, reflect: true })\n get maxlength(): number | undefined {\n return this.#maxlength;\n }\n\n set maxlength(value: number) {\n this.#maxlength = value;\n this.#updateCounter();\n }\n\n /**\n * The ARIA role applied to the inner input element\n */\n @property({ reflect: true }) override role: string | null = null;\n\n override focus() {\n this.input.focus();\n }\n\n abstract input: HTMLInputElement | HTMLTextAreaElement;\n\n protected _handleKeyDown(e: KeyboardEvent) {\n if (e.key === 'Enter') {\n this.elementInternals.form?.requestSubmit();\n }\n }\n\n protected _handleInput() {\n this.value = this.input.value;\n this.#updateCounter();\n }\n\n #updateCounter() {\n if (this.maxlength) {\n this._innerCounter = `${this.value.length}/${this.maxlength}`;\n return;\n }\n\n this._innerCounter = undefined;\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export declare class MenuFieldNavigationController<TField extends
|
|
1
|
+
import { MenuItem } from '../../menu/menu-item.js';
|
|
2
|
+
import { MenuField } from './menu-field.js';
|
|
3
|
+
export declare class MenuFieldNavigationController<TField extends MenuField, TMenuItem extends MenuItem> {
|
|
4
4
|
#private;
|
|
5
5
|
protected focusedMenu: TMenuItem | null;
|
|
6
6
|
protected readonly getHost: () => TField;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-field-navigation-controller.d.ts","sourceRoot":"","sources":["../../../src/shared/menu-field/menu-field-navigation-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"menu-field-navigation-controller.d.ts","sourceRoot":"","sources":["../../../src/shared/menu-field/menu-field-navigation-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,6BAA6B,CAAC,MAAM,SAAS,SAAS,EAAE,SAAS,SAAS,QAAQ;;IAE7F,SAAS,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC/C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,MAAM,CAAC;IAEzC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiC;gBAExD,IAAI,EAAE,MAAM;IAKxB,MAAM,CAAC,OAAO,EAAE,WAAW;IAQ3B,MAAM;IAQN,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IA4CtD,OAAO,CAAC,QAAQ;IAwBhB,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM;IAYrF,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAO,EAAE,MAAM,UAAO;IAetE,QAAQ;IAUR,OAAO,CAAC,gBAAgB;IAUxB,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM;IAG7C,SAAS,CAAC,SAAS;CAEpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-field-navigation-controller.js","sourceRoot":"","sources":["../../../src/shared/menu-field/menu-field-navigation-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"menu-field-navigation-controller.js","sourceRoot":"","sources":["../../../src/shared/menu-field/menu-field-navigation-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { MenuItem } from '../../menu/menu-item.js';\nimport { MenuField } from './menu-field.js';\n\nexport class MenuFieldNavigationController<TField extends MenuField, TMenuItem extends MenuItem> {\n #element: HTMLElement | null = null;\n protected focusedMenu: TMenuItem | null = null;\n protected readonly getHost: () => TField;\n\n private readonly _bindHandleKeyDown: (event: KeyboardEvent) => void;\n\n constructor(host: TField) {\n this.getHost = () => host;\n this._bindHandleKeyDown = this.handleKeyDown.bind(this);\n }\n\n attach(element: HTMLElement) {\n this.detach();\n\n element?.addEventListener('keydown', this._bindHandleKeyDown, { capture: true });\n this.getHost()._menu?.addEventListener('close', this.#handleMenuClose);\n this.#element = element;\n }\n\n detach() {\n this.#element?.removeEventListener('keydown', this._bindHandleKeyDown);\n this.getHost()._menu?.removeEventListener('close', this.#handleMenuClose);\n this.#element = null;\n }\n\n readonly #handleMenuClose = () => this.blurMenu();\n\n protected handleKeyDown(event: KeyboardEvent): boolean {\n if (this.getHost()._menu?.open !== true) {\n return false;\n }\n\n const isEscape = event.key === 'Escape';\n\n if (isEscape) {\n this.getHost()._menu.close();\n }\n\n if (event.key === 'Home') {\n this.navigateTo(event, (this.getHost()._menuItems[0] as TMenuItem), 0);\n return true;\n }\n\n if (event.key === 'End') {\n this.navigateTo(\n event,\n (this.getHost()._menuItems[this.getHost()._menuItems.length - 1] as TMenuItem),\n this.getHost()._menuItems.length - 1,\n );\n return true;\n }\n\n const isDown = event.key === 'ArrowDown';\n const isUp = event.key === 'ArrowUp';\n\n if (isDown || isUp) {\n this.navigate(event, isDown);\n return true;\n }\n\n const isEnter = event.key === 'Enter';\n const isTab = event.key === 'Tab';\n\n if (isEnter || isTab) {\n this.selectActiveItem(event);\n return true;\n }\n\n return false;\n }\n\n private navigate(event: KeyboardEvent, forwards: boolean) {\n const menuItems = this.getHost()._menuItems;\n\n if (!menuItems.length) {\n return;\n }\n\n event.preventDefault();\n\n const activeMenu = this.focusedMenu;\n\n const activeMenuIndex = activeMenu ? menuItems.indexOf(activeMenu) : -1;\n\n const nextMenu = forwards\n ? menuItems[activeMenuIndex + 1] as TMenuItem ?? menuItems[0]\n : menuItems[activeMenuIndex - 1] as TMenuItem ?? menuItems[menuItems.length - 1];\n\n if (!nextMenu) {\n return;\n }\n\n this.navigateTo(event, nextMenu, menuItems.indexOf(nextMenu));\n }\n\n protected navigateTo(event: KeyboardEvent, menu: TMenuItem | undefined, index: number) {\n event.preventDefault();\n\n this.blurMenu();\n\n if (!menu) {\n return;\n }\n\n this.focusMenu(menu, index);\n }\n\n focusMenu(menu: TMenuItem, index: number, active = true, scroll = true) {\n if (this.focusedMenu) {\n this.focusedMenu.active = false;\n }\n\n this.focusedMenu = menu;\n menu.active = active;\n\n if (scroll) {\n menu.scrollIntoView({ block: 'nearest' });\n }\n\n this.afterFocus(menu, index);\n }\n\n blurMenu() {\n if (!this.focusedMenu) {\n return;\n }\n\n this.focusedMenu.active = false;\n this.focusedMenu = null;\n this.afterBlur();\n }\n\n private selectActiveItem(event: KeyboardEvent) {\n if (!this.focusedMenu) {\n return;\n }\n\n event.preventDefault();\n this.focusedMenu.click();\n this.getHost()._menu.open = false;\n }\n\n protected afterFocus(_: TMenuItem, __: number) {\n }\n\n protected afterBlur() {\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export interface
|
|
4
|
-
_menu:
|
|
5
|
-
get _menuItems():
|
|
1
|
+
import { MenuItem } from '../../menu/menu-item.js';
|
|
2
|
+
import { Menu } from '../../menu/menu.js';
|
|
3
|
+
export interface MenuField {
|
|
4
|
+
_menu: Menu;
|
|
5
|
+
get _menuItems(): MenuItem[];
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=menu-field.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-field.d.ts","sourceRoot":"","sources":["../../../src/shared/menu-field/menu-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"menu-field.d.ts","sourceRoot":"","sources":["../../../src/shared/menu-field/menu-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;CAC9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-field.js","sourceRoot":"","sources":["../../../src/shared/menu-field/menu-field.ts"],"names":[],"mappings":"","sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"menu-field.js","sourceRoot":"","sources":["../../../src/shared/menu-field/menu-field.ts"],"names":[],"mappings":"","sourcesContent":["import { MenuItem } from '../../menu/menu-item.js';\nimport { Menu } from '../../menu/menu.js';\n\nexport interface MenuField {\n _menu: Menu;\n get _menuItems(): MenuItem[];\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { MixinBase, MixinReturn } from '../mixin.js';
|
|
2
|
-
import {
|
|
3
|
-
export declare const mixinSelectionControlListItem: <T extends MixinBase<
|
|
2
|
+
import { SelectionControl } from './selection-control.js';
|
|
3
|
+
export declare const mixinSelectionControlListItem: <T extends MixinBase<SelectionControl>>(base: T) => MixinReturn<T>;
|
|
4
4
|
//# sourceMappingURL=selection-control-list-item.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection-control-list-item.d.ts","sourceRoot":"","sources":["../../../src/shared/selection-control/selection-control-list-item.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"selection-control-list-item.d.ts","sourceRoot":"","sources":["../../../src/shared/selection-control/selection-control-list-item.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,eAAO,MAAM,6BAA6B,GAAI,CAAC,SAAS,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,KAAG,WAAW,CAAC,CAAC,CA+C3G,CAAC"}
|
|
@@ -12,6 +12,12 @@ export const mixinSelectionControlListItem = (base) => {
|
|
|
12
12
|
* Defaults to a trailing position.
|
|
13
13
|
*/
|
|
14
14
|
this.leading = false;
|
|
15
|
+
/**
|
|
16
|
+
* Pull the row flush with surrounding content (negative inline margin equal
|
|
17
|
+
* to the inline padding) so it aligns with adjacent labels / section headings.
|
|
18
|
+
* Forwarded to the inner `u-list-item`.
|
|
19
|
+
*/
|
|
20
|
+
this.noInset = false;
|
|
15
21
|
this.inputDescribedById = 'description';
|
|
16
22
|
this.inputLabelledById = 'label';
|
|
17
23
|
}
|
|
@@ -31,7 +37,7 @@ export const mixinSelectionControlListItem = (base) => {
|
|
|
31
37
|
render() {
|
|
32
38
|
return html `
|
|
33
39
|
<label>
|
|
34
|
-
<u-list-item ?selectable=${!this.disabled}>
|
|
40
|
+
<u-list-item ?selectable=${!this.disabled} ?no-inset=${this.noInset}>
|
|
35
41
|
<div slot="${this.leading ? 'leading-icon' : 'trailing-icon'}">${super.render()}</div>
|
|
36
42
|
<span id="label"><slot></slot></span>
|
|
37
43
|
<span id="description" slot="supporting-text"><slot name="supporting-text"></slot></span>
|
|
@@ -43,6 +49,9 @@ export const mixinSelectionControlListItem = (base) => {
|
|
|
43
49
|
__decorate([
|
|
44
50
|
property({ type: Boolean })
|
|
45
51
|
], SelectionControlListItem.prototype, "leading", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
property({ type: Boolean, attribute: 'no-inset' })
|
|
54
|
+
], SelectionControlListItem.prototype, "noInset", void 0);
|
|
46
55
|
return SelectionControlListItem;
|
|
47
56
|
};
|
|
48
57
|
//# sourceMappingURL=selection-control-list-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection-control-list-item.js","sourceRoot":"","sources":["../../../src/shared/selection-control/selection-control-list-item.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAkC,MAAM,KAAK,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK7C,aAAa;AACb,MAAM,CAAC,MAAM,6BAA6B,GAAG,
|
|
1
|
+
{"version":3,"file":"selection-control-list-item.js","sourceRoot":"","sources":["../../../src/shared/selection-control/selection-control-list-item.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAkC,MAAM,KAAK,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK7C,aAAa;AACb,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAwC,IAAO,EAAkB,EAAE;IAC9G,aAAa;IACb,MAAe,wBAAyB,SAAQ,IAAI;QAApD;;YAeE;;;eAGG;YAC0B,YAAO,GAAG,KAAK,CAAC;YAE7C;;;;eAIG;YACiD,YAAO,GAAG,KAAK,CAAC;YAEjD,uBAAkB,GAAG,aAAa,CAAC;YACnC,sBAAiB,GAAG,OAAO,CAAC;QAajD,CAAC;iBAzCQ,WAAM,GAAG;YACb,IAAqC,CAAC,MAAM,IAAI,EAAE;YACnD,GAAG,CAAA;;;;;;;;;OASF;SACF,AAZY,CAYX;QAkBO,MAAM;YACb,OAAO,IAAI,CAAA;;qCAEoB,CAAC,IAAI,CAAC,QAAQ,cAAc,IAAI,CAAC,OAAO;yBACpD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,KAAK,KAAK,CAAC,MAAM,EAAE;;;;;OAKpF,CAAC;QACJ,CAAC;;IAtB4B;QAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6DAAiB;IAOO;QAAnD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;6DAAiB;IAkBtE,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC","sourcesContent":["import { css, html, HTMLTemplateResult, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { MixinBase, MixinReturn } from '../mixin.js';\nimport { SelectionControl } from './selection-control.js';\n\n// @ts-ignore\nexport const mixinSelectionControlListItem = <T extends MixinBase<SelectionControl>>(base: T): MixinReturn<T> => {\n // @ts-ignore\n abstract class SelectionControlListItem extends base {\n static styles = [\n (base as unknown as typeof LitElement).styles ?? [],\n css`\n :host {\n --u-list-item-block-padding: 0;\n display: block;\n }\n\n :host(:not([disabled])) {\n cursor: pointer;\n }\n `,\n ];\n\n /**\n * Whether to render the selection control before the label.\n * Defaults to a trailing position.\n */\n @property({ type: Boolean }) leading = false;\n\n /**\n * Pull the row flush with surrounding content (negative inline margin equal\n * to the inline padding) so it aligns with adjacent labels / section headings.\n * Forwarded to the inner `u-list-item`.\n */\n @property({ type: Boolean, attribute: 'no-inset' }) noInset = false;\n\n protected override inputDescribedById = 'description';\n protected override inputLabelledById = 'label';\n\n override render(): HTMLTemplateResult {\n return html`\n <label>\n <u-list-item ?selectable=${!this.disabled} ?no-inset=${this.noInset}>\n <div slot=\"${this.leading ? 'leading-icon' : 'trailing-icon'}\">${super.render()}</div>\n <span id=\"label\"><slot></slot></span>\n <span id=\"description\" slot=\"supporting-text\"><slot name=\"supporting-text\"></slot></span>\n </u-list-item>\n </label>\n `;\n }\n }\n\n return SelectionControlListItem;\n};\n"]}
|
|
@@ -3,7 +3,7 @@ import { CSSResultGroup } from '@lit/reactive-element/css-tag';
|
|
|
3
3
|
import { HTMLTemplateResult, LitElement } from 'lit';
|
|
4
4
|
import '../../ripple/ripple.js';
|
|
5
5
|
export declare const isActivationClick: (event: Event) => boolean;
|
|
6
|
-
export declare abstract class
|
|
6
|
+
export declare abstract class SelectionControl extends LitElement {
|
|
7
7
|
#private;
|
|
8
8
|
static styles: CSSResultGroup;
|
|
9
9
|
static readonly formAssociated = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection-control.d.ts","sourceRoot":"","sources":["../../../src/shared/selection-control/selection-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAW,MAAM,KAAK,CAAC;AAOpE,OAAO,wBAAwB,CAAC;AAEhC,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,YAmB7C,CAAC;AA2BF,8BAAsB,
|
|
1
|
+
{"version":3,"file":"selection-control.d.ts","sourceRoot":"","sources":["../../../src/shared/selection-control/selection-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAW,MAAM,KAAK,CAAC;AAOpE,OAAO,wBAAwB,CAAC;AAEhC,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,YAmB7C,CAAC;AA2BF,8BAAsB,gBAAiB,SAAQ,UAAU;;IACvD,OAAgB,MAAM,EAAE,cAAc,CAAwB;IAE9D,MAAM,CAAC,QAAQ,CAAC,cAAc,QAAQ;IAEtC,OAAgB,iBAAiB,EAAE,cAAc,CAG/C;IAEF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD;;OAEG;IAC0B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAM;IAE3D;;OAEG;IACyC,QAAQ,UAAS;IAC7C,KAAK,EAAG,gBAAgB,CAAC;IAEzC,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;IAEQ,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY;IAMrC,SAAS,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAc;IACvD,SAAS,CAAC,YAAY,UAAQ;IAC9B,SAAS,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAa;IAC7D,SAAS,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAa;IAE5D,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,kBAAkB;IAExD;;OAEG;IACS,KAAK,SAAQ;IAEzB;;OAEG;IACH,IACI,OAAO,IAIU,OAAO,CAF3B;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAQ3B;IAEkD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAE9F,SAAS;IAKA,YAAY,CAAC,iBAAiB,EAAE,cAAc;IAe9C,iBAAiB;IAMjB,oBAAoB;cAKV,MAAM,IAAI,kBAAkB;IAuC/C,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK;CAKhC"}
|
|
@@ -42,7 +42,7 @@ const squelchEventsForMicrotask = async () => {
|
|
|
42
42
|
await null;
|
|
43
43
|
isSquelchingEvents = false;
|
|
44
44
|
};
|
|
45
|
-
export class
|
|
45
|
+
export class SelectionControl extends LitElement {
|
|
46
46
|
static { this.styles = [baseStyles, styles]; }
|
|
47
47
|
static { this.formAssociated = true; }
|
|
48
48
|
static { this.shadowRootOptions = {
|
|
@@ -93,6 +93,14 @@ export class UmSelectionControl extends LitElement {
|
|
|
93
93
|
}
|
|
94
94
|
firstUpdated(changedProperties) {
|
|
95
95
|
super.firstUpdated(changedProperties);
|
|
96
|
+
// Honor the initial `checked` boolean attribute. It is captured separately as
|
|
97
|
+
// `_checkedAttribute` (the `checked` accessor can't read the not-yet-rendered
|
|
98
|
+
// input), so seed `#checked` from it — otherwise this method resets
|
|
99
|
+
// `input.checked` to the un-seeded default and a markup `checked` never applies.
|
|
100
|
+
if (this._checkedAttribute && !this.#checked) {
|
|
101
|
+
this.#checked = true;
|
|
102
|
+
this.elementInternals.setFormValue(this.value);
|
|
103
|
+
}
|
|
96
104
|
this.input.checked = this.#checked;
|
|
97
105
|
}
|
|
98
106
|
connectedCallback() {
|
|
@@ -145,20 +153,20 @@ export class UmSelectionControl extends LitElement {
|
|
|
145
153
|
}
|
|
146
154
|
__decorate([
|
|
147
155
|
property({ reflect: true })
|
|
148
|
-
],
|
|
156
|
+
], SelectionControl.prototype, "name", void 0);
|
|
149
157
|
__decorate([
|
|
150
158
|
property({ type: Boolean, reflect: true })
|
|
151
|
-
],
|
|
159
|
+
], SelectionControl.prototype, "disabled", void 0);
|
|
152
160
|
__decorate([
|
|
153
161
|
query('input')
|
|
154
|
-
],
|
|
162
|
+
], SelectionControl.prototype, "input", void 0);
|
|
155
163
|
__decorate([
|
|
156
164
|
property()
|
|
157
|
-
],
|
|
165
|
+
], SelectionControl.prototype, "value", void 0);
|
|
158
166
|
__decorate([
|
|
159
167
|
property({ type: Boolean })
|
|
160
|
-
],
|
|
168
|
+
], SelectionControl.prototype, "checked", null);
|
|
161
169
|
__decorate([
|
|
162
170
|
property({ type: Boolean, attribute: 'checked' })
|
|
163
|
-
],
|
|
171
|
+
], SelectionControl.prototype, "_checkedAttribute", void 0);
|
|
164
172
|
//# sourceMappingURL=selection-control.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection-control.js","sourceRoot":"","sources":["../../../src/shared/selection-control/selection-control.ts"],"names":[],"mappings":"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","sourcesContent":["import { PropertyValues } from '@lit/reactive-element';\nimport { CSSResultGroup } from '@lit/reactive-element/css-tag';\n\nimport { html, HTMLTemplateResult, LitElement, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n\nimport { styles as baseStyles } from '../base.styles.js';\nimport { redispatchEvent } from '../events/redispatch-event.js';\nimport { styles } from './selection-control.styles.js';\n\nimport '../../ripple/ripple.js';\n\nexport const isActivationClick = (event: Event) => {\n // Event must start at the event target.\n if (event.currentTarget !== event.target) {\n return false;\n }\n\n // Event must not be retargeted from shadowRoot.\n if (event.composedPath()[0] !== event.target) {\n return false;\n }\n\n // Target must not be disabled; this should only occur for a synthetically\n // dispatched click.\n if ((event.target as EventTarget & { disabled: boolean }).disabled) {\n return false;\n }\n\n // This is an activation if the event should not be squelched.\n return !squelchEvent(event);\n};\n\n// TODO(https://bugzilla.mozilla.org/show_bug.cgi?id=1804576)\n// Remove when Firefox bug is addressed.\nconst squelchEvent = (event: Event) => {\n const squelched = isSquelchingEvents;\n\n if (squelched) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n squelchEventsForMicrotask();\n return squelched;\n};\n\n// Ignore events for one microtask only.\nlet isSquelchingEvents = false;\n\nconst squelchEventsForMicrotask = async () => {\n isSquelchingEvents = true;\n // Need to pause for just one microtask.\n /* eslint-disable @typescript-eslint/await-thenable */\n await null;\n isSquelchingEvents = false;\n};\n\nexport abstract class UmSelectionControl extends LitElement {\n static override styles: CSSResultGroup = [baseStyles, styles];\n\n static readonly formAssociated = true;\n\n static override shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n protected readonly elementInternals: ElementInternals;\n\n /**\n * The form field name used when submitting the control's value\n */\n @property({ reflect: true }) name: string | undefined = '';\n\n /**\n * Whether the control is disabled and prevents user interaction\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n @query('input') input!: HTMLInputElement;\n\n get form(): HTMLFormElement | null {\n return this.elementInternals.form;\n }\n\n override focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n #checked = false;\n\n protected inputType: 'checkbox' | 'radio' = 'checkbox';\n protected renderRipple = true;\n protected inputDescribedById: string | undefined = undefined;\n protected inputLabelledById: string | undefined = undefined;\n\n protected abstract renderIndicator(): HTMLTemplateResult;\n\n /**\n * The element value to use in form submission when checked.\n */\n @property() value = 'on';\n\n /**\n * Whether the control is checked\n */\n @property({ type: Boolean })\n get checked() {\n return this.input ? this.input.checked : this.#checked;\n }\n\n set checked(checked: boolean) {\n this.#checked = checked;\n\n if (this.input) {\n this.input.checked = checked;\n }\n\n this.elementInternals.setFormValue(checked ? this.value : null);\n }\n\n @property({ type: Boolean, attribute: 'checked' }) private readonly _checkedAttribute = false;\n\n protected constructor() {\n super();\n this.elementInternals = this.attachInternals();\n }\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n\n this.input.checked = this.#checked;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.addEventListener('click', this._handleClick);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('click', this._handleClick);\n }\n\n protected override render(): HTMLTemplateResult {\n const ripple = html`\n <u-ripple ?disabled=${this.disabled} @click=${this.#handleRippleClick}></u-ripple>\n `;\n\n return html`\n <div class=\"container\">\n ${this.renderRipple ? ripple : nothing}\n <input\n id=\"input\"\n type=${this.inputType}\n class=\"focus-ring\"\n .checked=${this._checkedAttribute}\n .disabled=${this.disabled}\n aria-labelledby=\"${this.inputLabelledById || nothing}\"\n aria-describedby=\"${this.inputDescribedById || nothing}\"\n @input=${this.#handleInput}\n @change=${this.#handleChange} />\n <div class=\"indicator-container\">${this.renderIndicator()}</div>\n </div>\n `;\n }\n\n #handleInput(event: Event) {\n const target = event.target as HTMLInputElement;\n this.checked = target.checked;\n // <input> 'input' event bubbles and is composed, don't re-dispatch it.\n }\n\n #handleChange(event: Event) {\n // <input> 'change' event is not composed, re-dispatch it.\n redispatchEvent(this, event);\n }\n\n #handleRippleClick(e: Event) {\n e.preventDefault();\n this.input.click();\n }\n\n protected _handleClick(e: Event) {\n if (isActivationClick(e)) {\n this.input.click();\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"selection-control.js","sourceRoot":"","sources":["../../../src/shared/selection-control/selection-control.ts"],"names":[],"mappings":"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","sourcesContent":["import { PropertyValues } from '@lit/reactive-element';\nimport { CSSResultGroup } from '@lit/reactive-element/css-tag';\n\nimport { html, HTMLTemplateResult, LitElement, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n\nimport { styles as baseStyles } from '../base.styles.js';\nimport { redispatchEvent } from '../events/redispatch-event.js';\nimport { styles } from './selection-control.styles.js';\n\nimport '../../ripple/ripple.js';\n\nexport const isActivationClick = (event: Event) => {\n // Event must start at the event target.\n if (event.currentTarget !== event.target) {\n return false;\n }\n\n // Event must not be retargeted from shadowRoot.\n if (event.composedPath()[0] !== event.target) {\n return false;\n }\n\n // Target must not be disabled; this should only occur for a synthetically\n // dispatched click.\n if ((event.target as EventTarget & { disabled: boolean }).disabled) {\n return false;\n }\n\n // This is an activation if the event should not be squelched.\n return !squelchEvent(event);\n};\n\n// TODO(https://bugzilla.mozilla.org/show_bug.cgi?id=1804576)\n// Remove when Firefox bug is addressed.\nconst squelchEvent = (event: Event) => {\n const squelched = isSquelchingEvents;\n\n if (squelched) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n squelchEventsForMicrotask();\n return squelched;\n};\n\n// Ignore events for one microtask only.\nlet isSquelchingEvents = false;\n\nconst squelchEventsForMicrotask = async () => {\n isSquelchingEvents = true;\n // Need to pause for just one microtask.\n /* eslint-disable @typescript-eslint/await-thenable */\n await null;\n isSquelchingEvents = false;\n};\n\nexport abstract class SelectionControl extends LitElement {\n static override styles: CSSResultGroup = [baseStyles, styles];\n\n static readonly formAssociated = true;\n\n static override shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n protected readonly elementInternals: ElementInternals;\n\n /**\n * The form field name used when submitting the control's value\n */\n @property({ reflect: true }) name: string | undefined = '';\n\n /**\n * Whether the control is disabled and prevents user interaction\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n @query('input') input!: HTMLInputElement;\n\n get form(): HTMLFormElement | null {\n return this.elementInternals.form;\n }\n\n override focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n #checked = false;\n\n protected inputType: 'checkbox' | 'radio' = 'checkbox';\n protected renderRipple = true;\n protected inputDescribedById: string | undefined = undefined;\n protected inputLabelledById: string | undefined = undefined;\n\n protected abstract renderIndicator(): HTMLTemplateResult;\n\n /**\n * The element value to use in form submission when checked.\n */\n @property() value = 'on';\n\n /**\n * Whether the control is checked\n */\n @property({ type: Boolean })\n get checked() {\n return this.input ? this.input.checked : this.#checked;\n }\n\n set checked(checked: boolean) {\n this.#checked = checked;\n\n if (this.input) {\n this.input.checked = checked;\n }\n\n this.elementInternals.setFormValue(checked ? this.value : null);\n }\n\n @property({ type: Boolean, attribute: 'checked' }) private readonly _checkedAttribute = false;\n\n protected constructor() {\n super();\n this.elementInternals = this.attachInternals();\n }\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n\n // Honor the initial `checked` boolean attribute. It is captured separately as\n // `_checkedAttribute` (the `checked` accessor can't read the not-yet-rendered\n // input), so seed `#checked` from it — otherwise this method resets\n // `input.checked` to the un-seeded default and a markup `checked` never applies.\n if (this._checkedAttribute && !this.#checked) {\n this.#checked = true;\n this.elementInternals.setFormValue(this.value);\n }\n\n this.input.checked = this.#checked;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.addEventListener('click', this._handleClick);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('click', this._handleClick);\n }\n\n protected override render(): HTMLTemplateResult {\n const ripple = html`\n <u-ripple ?disabled=${this.disabled} @click=${this.#handleRippleClick}></u-ripple>\n `;\n\n return html`\n <div class=\"container\">\n ${this.renderRipple ? ripple : nothing}\n <input\n id=\"input\"\n type=${this.inputType}\n class=\"focus-ring\"\n .checked=${this._checkedAttribute}\n .disabled=${this.disabled}\n aria-labelledby=\"${this.inputLabelledById || nothing}\"\n aria-describedby=\"${this.inputDescribedById || nothing}\"\n @input=${this.#handleInput}\n @change=${this.#handleChange} />\n <div class=\"indicator-container\">${this.renderIndicator()}</div>\n </div>\n `;\n }\n\n #handleInput(event: Event) {\n const target = event.target as HTMLInputElement;\n this.checked = target.checked;\n // <input> 'input' event bubbles and is composed, don't re-dispatch it.\n }\n\n #handleChange(event: Event) {\n // <input> 'change' event is not composed, re-dispatch it.\n redispatchEvent(this, event);\n }\n\n #handleRippleClick(e: Event) {\n e.preventDefault();\n this.input.click();\n }\n\n protected _handleClick(e: Event) {\n if (isActivationClick(e)) {\n this.input.click();\n }\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CSSResultGroup } from '@lit/reactive-element/css-tag';
|
|
2
2
|
import { HTMLTemplateResult, LitElement } from 'lit';
|
|
3
|
-
export declare abstract class
|
|
3
|
+
export declare abstract class SetBase extends LitElement {
|
|
4
4
|
static styles: CSSResultGroup;
|
|
5
5
|
/**
|
|
6
6
|
* Set the alignment of the set at the `start`, `center` or at the `end`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-base.d.ts","sourceRoot":"","sources":["../../../src/shared/sets/set-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAK3D,8BAAsB,
|
|
1
|
+
{"version":3,"file":"set-base.d.ts","sourceRoot":"","sources":["../../../src/shared/sets/set-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAK3D,8BAAsB,OAAQ,SAAQ,UAAU;IAE9C,OAAgB,MAAM,EAAE,cAAc,CAAY;IAElD;;OAEG;IAC0B,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAW;IAEpE,MAAM,IAAI,kBAAkB;CAItC"}
|
package/shared/sets/set-base.js
CHANGED
|
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { html, LitElement } from 'lit';
|
|
3
3
|
import { property } from 'lit/decorators.js';
|
|
4
4
|
import { styles } from './set-base.styles.js';
|
|
5
|
-
export class
|
|
5
|
+
export class SetBase extends LitElement {
|
|
6
6
|
constructor() {
|
|
7
7
|
super(...arguments);
|
|
8
8
|
/**
|
|
@@ -18,5 +18,5 @@ export class UmSetBase extends LitElement {
|
|
|
18
18
|
}
|
|
19
19
|
__decorate([
|
|
20
20
|
property({ reflect: true })
|
|
21
|
-
],
|
|
21
|
+
], SetBase.prototype, "alignment", void 0);
|
|
22
22
|
//# sourceMappingURL=set-base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-base.js","sourceRoot":"","sources":["../../../src/shared/sets/set-base.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAsB,UAAU,EAAE,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,OAAgB,
|
|
1
|
+
{"version":3,"file":"set-base.js","sourceRoot":"","sources":["../../../src/shared/sets/set-base.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAsB,UAAU,EAAE,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,OAAgB,OAAQ,SAAQ,UAAU;IAAhD;;QAIE;;WAEG;QAC0B,cAAS,GAA+B,OAAO,CAAC;IAM/E,CAAC;aAXiB,WAAM,GAAmB,CAAC,MAAM,CAAC,AAA3B,CAA4B;IAOzC,MAAM;QACb,OAAO,IAAI,CAAA;oBACK,CAAC;IACnB,CAAC;;AAL4B;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0CAAiD","sourcesContent":["import { CSSResultGroup } from '@lit/reactive-element/css-tag';\n\nimport { html, HTMLTemplateResult, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { styles } from './set-base.styles.js';\n\nexport abstract class SetBase extends LitElement {\n\n static override styles: CSSResultGroup = [styles];\n\n /**\n * Set the alignment of the set at the `start`, `center` or at the `end`.\n */\n @property({ reflect: true }) alignment: 'start' | 'center' | 'end' = 'start';\n\n override render(): HTMLTemplateResult {\n return html`\n <slot></slot>`;\n }\n}\n"]}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
import { PropertyValues } from '@lit/reactive-element';
|
|
1
2
|
import { CSSResultGroup } from '@lit/reactive-element/css-tag';
|
|
2
|
-
import {
|
|
3
|
-
|
|
3
|
+
import { FieldBase } from '../../field/field-base.js';
|
|
4
|
+
/** The validity flags a subclass reports, plus the message/anchor for the bubble. */
|
|
5
|
+
export interface FieldValidity {
|
|
6
|
+
flags: ValidityStateFlags;
|
|
7
|
+
message: string;
|
|
8
|
+
anchor?: HTMLElement;
|
|
9
|
+
}
|
|
10
|
+
export declare abstract class TextFieldBase extends FieldBase {
|
|
4
11
|
static readonly formAssociated = true;
|
|
5
12
|
static styles: CSSResultGroup;
|
|
6
13
|
static shadowRootOptions: ShadowRootInit;
|
|
@@ -12,8 +19,33 @@ export declare abstract class UmTextFieldBase extends UmFieldBase {
|
|
|
12
19
|
* The placeholder text shown when the field is empty
|
|
13
20
|
*/
|
|
14
21
|
placeholder: string;
|
|
22
|
+
/**
|
|
23
|
+
* Whether the field must have a value to satisfy constraint validation.
|
|
24
|
+
* Drives `checkValidity()`/`reportValidity()` and blocks native form submit.
|
|
25
|
+
*/
|
|
26
|
+
required: boolean;
|
|
15
27
|
get form(): HTMLFormElement | null;
|
|
28
|
+
/** The live `ValidityState` of the field (mirrors a native form control). */
|
|
29
|
+
get validity(): ValidityState;
|
|
30
|
+
/** The message shown by `reportValidity()` when the field is invalid. */
|
|
31
|
+
get validationMessage(): string;
|
|
16
32
|
protected readonly elementInternals: ElementInternals;
|
|
17
33
|
constructor();
|
|
34
|
+
/**
|
|
35
|
+
* Reports the current validity. Subclasses override to delegate to a native
|
|
36
|
+
* input (`u-text-field`) or compute their own (`u-select`). The default only
|
|
37
|
+
* enforces `required` against the empty state.
|
|
38
|
+
*/
|
|
39
|
+
protected _getValidity(): FieldValidity;
|
|
40
|
+
/** Pushes the subclass's validity into the ElementInternals form state. */
|
|
41
|
+
protected _syncValidity(): void;
|
|
42
|
+
/** Returns whether the field is valid (fires an `invalid` event if not). */
|
|
43
|
+
checkValidity(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Like `checkValidity()`, but also surfaces the native validation bubble and
|
|
46
|
+
* reflects the result onto the visual `invalid` state.
|
|
47
|
+
*/
|
|
48
|
+
reportValidity(): boolean;
|
|
49
|
+
protected updated(changed: PropertyValues): void;
|
|
18
50
|
}
|
|
19
51
|
//# sourceMappingURL=text-field-base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-field-base.d.ts","sourceRoot":"","sources":["../../../src/shared/text-field-base/text-field-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAK/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"text-field-base.d.ts","sourceRoot":"","sources":["../../../src/shared/text-field-base/text-field-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAK/D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,qFAAqF;AACrF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,8BAAsB,aAAc,SAAQ,SAAS;IACnD,MAAM,CAAC,QAAQ,CAAC,cAAc,QAAQ;IAEtC,OAAgB,MAAM,EAAE,cAAc,CAA8B;IAEpE,OAAgB,iBAAiB,EAAE,cAAc,CAG/C;IAEF;;OAEG;IACM,KAAK,UAAQ;IAEtB;;OAEG;IAC0B,WAAW,SAAM;IAE9C;;;OAGG;IACyC,QAAQ,UAAS;IAE7D,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;IAED,6EAA6E;IAC7E,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,yEAAyE;IACzE,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;;IAOtD;;;;OAIG;IACH,SAAS,CAAC,YAAY,IAAI,aAAa;IASvC,2EAA2E;IAC3E,SAAS,CAAC,aAAa,IAAI,IAAI;IAa/B,4EAA4E;IAC5E,aAAa,IAAI,OAAO;IAKxB;;;OAGG;IACH,cAAc,IAAI,OAAO;cAON,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;CAK1D"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { LitElement } from 'lit';
|
|
3
3
|
import { property } from 'lit/decorators.js';
|
|
4
|
-
import {
|
|
4
|
+
import { FieldBase } from '../../field/field-base.js';
|
|
5
5
|
import { styles } from './text-field-base.styles.js';
|
|
6
|
-
export class
|
|
6
|
+
export class TextFieldBase extends FieldBase {
|
|
7
7
|
static { this.formAssociated = true; }
|
|
8
|
-
static { this.styles = [
|
|
8
|
+
static { this.styles = [FieldBase.styles, styles]; }
|
|
9
9
|
static { this.shadowRootOptions = {
|
|
10
10
|
...LitElement.shadowRootOptions,
|
|
11
11
|
delegatesFocus: true,
|
|
@@ -13,6 +13,14 @@ export class UmTextFieldBase extends UmFieldBase {
|
|
|
13
13
|
get form() {
|
|
14
14
|
return this.elementInternals.form;
|
|
15
15
|
}
|
|
16
|
+
/** The live `ValidityState` of the field (mirrors a native form control). */
|
|
17
|
+
get validity() {
|
|
18
|
+
return this.elementInternals.validity;
|
|
19
|
+
}
|
|
20
|
+
/** The message shown by `reportValidity()` when the field is invalid. */
|
|
21
|
+
get validationMessage() {
|
|
22
|
+
return this.elementInternals.validationMessage;
|
|
23
|
+
}
|
|
16
24
|
constructor() {
|
|
17
25
|
super();
|
|
18
26
|
/**
|
|
@@ -23,10 +31,61 @@ export class UmTextFieldBase extends UmFieldBase {
|
|
|
23
31
|
* The placeholder text shown when the field is empty
|
|
24
32
|
*/
|
|
25
33
|
this.placeholder = '';
|
|
34
|
+
/**
|
|
35
|
+
* Whether the field must have a value to satisfy constraint validation.
|
|
36
|
+
* Drives `checkValidity()`/`reportValidity()` and blocks native form submit.
|
|
37
|
+
*/
|
|
38
|
+
this.required = false;
|
|
26
39
|
this.elementInternals = this.attachInternals();
|
|
27
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Reports the current validity. Subclasses override to delegate to a native
|
|
43
|
+
* input (`u-text-field`) or compute their own (`u-select`). The default only
|
|
44
|
+
* enforces `required` against the empty state.
|
|
45
|
+
*/
|
|
46
|
+
_getValidity() {
|
|
47
|
+
const valueMissing = this.required && this.empty;
|
|
48
|
+
return {
|
|
49
|
+
flags: { valueMissing },
|
|
50
|
+
message: valueMissing ? 'Please fill out this field.' : '',
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/** Pushes the subclass's validity into the ElementInternals form state. */
|
|
54
|
+
_syncValidity() {
|
|
55
|
+
const { flags, message, anchor } = this._getValidity();
|
|
56
|
+
const isValid = !Object.values(flags).some(Boolean);
|
|
57
|
+
if (isValid) {
|
|
58
|
+
this.elementInternals.setValidity({});
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
// A non-empty message is required when any flag is set.
|
|
62
|
+
this.elementInternals.setValidity(flags, message || 'Invalid value.', anchor);
|
|
63
|
+
}
|
|
64
|
+
/** Returns whether the field is valid (fires an `invalid` event if not). */
|
|
65
|
+
checkValidity() {
|
|
66
|
+
this._syncValidity();
|
|
67
|
+
return this.elementInternals.checkValidity();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Like `checkValidity()`, but also surfaces the native validation bubble and
|
|
71
|
+
* reflects the result onto the visual `invalid` state.
|
|
72
|
+
*/
|
|
73
|
+
reportValidity() {
|
|
74
|
+
this._syncValidity();
|
|
75
|
+
const valid = this.elementInternals.reportValidity();
|
|
76
|
+
this.invalid = !valid;
|
|
77
|
+
return valid;
|
|
78
|
+
}
|
|
79
|
+
updated(changed) {
|
|
80
|
+
super.updated(changed);
|
|
81
|
+
// Keep the form-level validity current so native submit honors constraints.
|
|
82
|
+
this._syncValidity();
|
|
83
|
+
}
|
|
28
84
|
}
|
|
29
85
|
__decorate([
|
|
30
86
|
property({ reflect: true })
|
|
31
|
-
],
|
|
87
|
+
], TextFieldBase.prototype, "placeholder", void 0);
|
|
88
|
+
__decorate([
|
|
89
|
+
property({ type: Boolean, reflect: true })
|
|
90
|
+
], TextFieldBase.prototype, "required", void 0);
|
|
32
91
|
//# sourceMappingURL=text-field-base.js.map
|