@universal-material/web 3.0.139 → 3.0.140
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/.editorconfig +8 -0
- package/.eleventy.cjs +21 -0
- package/.vscode/extensions.json +9 -0
- package/CHANGELOG.md +98 -0
- package/LICENSE +28 -0
- package/add-custom-elements-schemas.cjs +75 -0
- package/change-compiler-to-add-custom-elements.js +26 -0
- package/change-schematics-to-generate-pug.js +32 -0
- package/docs/angular.json +110 -0
- package/docs/src/app/app.component.pug +199 -0
- package/docs/src/app/app.component.scss +109 -0
- package/docs/src/app/app.component.ts +158 -0
- package/docs/src/app/app.config.ts +26 -0
- package/docs/src/app/app.routes.ts +140 -0
- package/docs/src/app/components/button-set/button-set.component.pug +13 -0
- package/docs/src/app/components/button-set/button-set.component.scss +0 -0
- package/docs/src/app/components/button-set/button-set.component.ts +29 -0
- package/docs/src/app/components/button-set/examples/alignment.html +29 -0
- package/docs/src/app/components/button-set/examples/stack.html +5 -0
- package/docs/src/app/components/button-set/examples/usage.html +35 -0
- package/docs/src/app/components/cards/cards.component.pug +15 -0
- package/docs/src/app/components/cards/cards.component.scss +0 -0
- package/docs/src/app/components/cards/cards.component.ts +29 -0
- package/docs/src/app/components/cards/examples/card-media.html +39 -0
- package/docs/src/app/components/cards/examples/card-with-actions.html +40 -0
- package/docs/src/app/components/cards/examples/simple-card.html +5 -0
- package/docs/src/app/components/checkbox/checkbox.component.pug +5 -0
- package/docs/src/app/components/checkbox/checkbox.component.scss +0 -0
- package/docs/src/app/components/checkbox/checkbox.component.ts +23 -0
- package/docs/src/app/components/checkbox/examples/usage.html +33 -0
- package/docs/src/app/components/chip-field/chip-field.component.pug +17 -0
- package/docs/src/app/components/chip-field/chip-field.component.scss +0 -0
- package/docs/src/app/components/chip-field/chip-field.component.ts +42 -0
- package/docs/src/app/components/chip-field/examples/object-values.html +15 -0
- package/docs/src/app/components/chip-field/examples/simple.html +1 -0
- package/docs/src/app/components/chips/chips.component.pug +69 -0
- package/docs/src/app/components/chips/chips.component.scss +0 -0
- package/docs/src/app/components/chips/chips.component.ts +131 -0
- package/docs/src/app/components/common-buttons/common-buttons.component.pug +23 -0
- package/docs/src/app/components/common-buttons/common-buttons.component.scss +0 -0
- package/docs/src/app/components/common-buttons/common-buttons.component.ts +35 -0
- package/docs/src/app/components/common-buttons/examples/anchor-buttons.html +6 -0
- package/docs/src/app/components/common-buttons/examples/buttons-icons.html +24 -0
- package/docs/src/app/components/common-buttons/examples/buttons-trailing-icons.html +25 -0
- package/docs/src/app/components/common-buttons/examples/buttons-variants.html +6 -0
- package/docs/src/app/components/common-buttons/examples/filled-colors.html +4 -0
- package/docs/src/app/components/context-test/context-test.component.pug +11 -0
- package/docs/src/app/components/context-test/context-test.component.scss +0 -0
- package/docs/src/app/components/context-test/context-test.component.ts +23 -0
- package/docs/src/app/components/datepicker/datepicker.component.pug +1 -0
- package/docs/src/app/components/datepicker/datepicker.component.scss +0 -0
- package/docs/src/app/components/datepicker/datepicker.component.ts +20 -0
- package/docs/src/app/components/dialogs/dialogs.component.pug +24 -0
- package/docs/src/app/components/dialogs/dialogs.component.scss +0 -0
- package/docs/src/app/components/dialogs/dialogs.component.ts +33 -0
- package/docs/src/app/components/dialogs/examples/example.html +3 -0
- package/docs/src/app/components/expansion-panel/expansion-panel.component.pug +1 -0
- package/docs/src/app/components/expansion-panel/expansion-panel.component.scss +0 -0
- package/docs/src/app/components/expansion-panel/expansion-panel.component.ts +20 -0
- package/docs/src/app/components/fab/examples/button-colors.html +18 -0
- package/docs/src/app/components/fab/examples/button-sizes.html +11 -0
- package/docs/src/app/components/fab/examples/extended-buttons.html +18 -0
- package/docs/src/app/components/fab/examples/floating-action-area.html +5 -0
- package/docs/src/app/components/fab/examples/floating-menu.html +10 -0
- package/docs/src/app/components/fab/examples/lowered-buttons.html +6 -0
- package/docs/src/app/components/fab/fab.component.pug +27 -0
- package/docs/src/app/components/fab/fab.component.scss +0 -0
- package/docs/src/app/components/fab/fab.component.ts +38 -0
- package/docs/src/app/components/icon-buttons/examples/anchor-buttons.html +15 -0
- package/docs/src/app/components/icon-buttons/examples/buttons-variants.html +15 -0
- package/docs/src/app/components/icon-buttons/examples/toggle-buttons-manual.html +4 -0
- package/docs/src/app/components/icon-buttons/examples/toggle-buttons.html +48 -0
- package/docs/src/app/components/icon-buttons/icon-buttons.component.pug +19 -0
- package/docs/src/app/components/icon-buttons/icon-buttons.component.scss +0 -0
- package/docs/src/app/components/icon-buttons/icon-buttons.component.ts +32 -0
- package/docs/src/app/components/lists/examples/list-avatars.html +14 -0
- package/docs/src/app/components/lists/examples/list-custom-dividers.html +23 -0
- package/docs/src/app/components/lists/examples/list-dividers.html +17 -0
- package/docs/src/app/components/lists/examples/list-dynamic.html +26 -0
- package/docs/src/app/components/lists/examples/list-hover.html +17 -0
- package/docs/src/app/components/lists/examples/list-icons.html +17 -0
- package/docs/src/app/components/lists/examples/list-indexed.html +123 -0
- package/docs/src/app/components/lists/examples/list-sections.html +16 -0
- package/docs/src/app/components/lists/examples/list-three-lines.html +20 -0
- package/docs/src/app/components/lists/examples/list-two-lines.html +20 -0
- package/docs/src/app/components/lists/examples/list-with-action.html +26 -0
- package/docs/src/app/components/lists/examples/list-with-activated-item.html +17 -0
- package/docs/src/app/components/lists/examples/simple-list.html +17 -0
- package/docs/src/app/components/lists/lists.component.pug +19 -0
- package/docs/src/app/components/lists/lists.component.scss +0 -0
- package/docs/src/app/components/lists/lists.component.ts +20 -0
- package/docs/src/app/components/menus/examples/down-end.html +15 -0
- package/docs/src/app/components/menus/examples/down-left.html +10 -0
- package/docs/src/app/components/menus/examples/down-right.html +10 -0
- package/docs/src/app/components/menus/examples/down-start.html +10 -0
- package/docs/src/app/components/menus/examples/down.html +10 -0
- package/docs/src/app/components/menus/examples/up-end.html +10 -0
- package/docs/src/app/components/menus/examples/up-left.html +10 -0
- package/docs/src/app/components/menus/examples/up-right.html +10 -0
- package/docs/src/app/components/menus/examples/up-start.html +10 -0
- package/docs/src/app/components/menus/examples/up.html +10 -0
- package/docs/src/app/components/menus/menus.component.pug +43 -0
- package/docs/src/app/components/menus/menus.component.scss +15 -0
- package/docs/src/app/components/menus/menus.component.ts +60 -0
- package/docs/src/app/components/navigation-item.model.ts +4 -0
- package/docs/src/app/components/progress/examples/circular-progress.html +13 -0
- package/docs/src/app/components/progress/examples/determinate-progress.html +3 -0
- package/docs/src/app/components/progress/examples/indeterminate-progress.html +3 -0
- package/docs/src/app/components/progress/examples/progress-color.html +3 -0
- package/docs/src/app/components/progress/progress.component.pug +34 -0
- package/docs/src/app/components/progress/progress.component.scss +0 -0
- package/docs/src/app/components/progress/progress.component.ts +34 -0
- package/docs/src/app/components/ripple/examples/usage.html +9 -0
- package/docs/src/app/components/ripple/ripple.component.pug +7 -0
- package/docs/src/app/components/ripple/ripple.component.scss +0 -0
- package/docs/src/app/components/ripple/ripple.component.ts +23 -0
- package/docs/src/app/components/select/select.component.pug +175 -0
- package/docs/src/app/components/select/select.component.scss +3 -0
- package/docs/src/app/components/select/select.component.ts +35 -0
- package/docs/src/app/components/selection-controls/examples/checkbox.html +22 -0
- package/docs/src/app/components/selection-controls/examples/radio-button.html +36 -0
- package/docs/src/app/components/selection-controls/examples/switch.html +12 -0
- package/docs/src/app/components/selection-controls/selection-controls.component.pug +13 -0
- package/docs/src/app/components/selection-controls/selection-controls.component.scss +0 -0
- package/docs/src/app/components/selection-controls/selection-controls.component.ts +29 -0
- package/docs/src/app/components/sliders/examples/example.html +42 -0
- package/docs/src/app/components/sliders/sliders.component.pug +5 -0
- package/docs/src/app/components/sliders/sliders.component.scss +0 -0
- package/docs/src/app/components/sliders/sliders.component.ts +23 -0
- package/docs/src/app/components/snackbars/examples/example.html +35 -0
- package/docs/src/app/components/snackbars/snackbars.component.pug +5 -0
- package/docs/src/app/components/snackbars/snackbars.component.scss +0 -0
- package/docs/src/app/components/snackbars/snackbars.component.ts +23 -0
- package/docs/src/app/components/steppers/steppers.component.pug +1 -0
- package/docs/src/app/components/steppers/steppers.component.scss +0 -0
- package/docs/src/app/components/steppers/steppers.component.ts +20 -0
- package/docs/src/app/components/tables/examples/overview.html +49 -0
- package/docs/src/app/components/tables/examples/table-hover.html +67 -0
- package/docs/src/app/components/tables/tables.component.pug +74 -0
- package/docs/src/app/components/tables/tables.component.scss +0 -0
- package/docs/src/app/components/tables/tables.component.ts +29 -0
- package/docs/src/app/components/tabs/examples/example.html +45 -0
- package/docs/src/app/components/tabs/tabs.component.pug +14 -0
- package/docs/src/app/components/tabs/tabs.component.scss +0 -0
- package/docs/src/app/components/tabs/tabs.component.ts +32 -0
- package/docs/src/app/components/text-fields/text-fields.component.pug +122 -0
- package/docs/src/app/components/text-fields/text-fields.component.scss +3 -0
- package/docs/src/app/components/text-fields/text-fields.component.ts +130 -0
- package/docs/src/app/components/toolbars/examples/simple-toolbar.html +33 -0
- package/docs/src/app/components/toolbars/toolbars.component.pug +5 -0
- package/docs/src/app/components/toolbars/toolbars.component.scss +0 -0
- package/docs/src/app/components/toolbars/toolbars.component.ts +23 -0
- package/docs/src/app/components/typeahead/examples/handling-selection.html +27 -0
- package/docs/src/app/components/typeahead/examples/object-results.html +9 -0
- package/docs/src/app/components/typeahead/examples/simple.html +8 -0
- package/docs/src/app/components/typeahead/typeahead.component.pug +43 -0
- package/docs/src/app/components/typeahead/typeahead.component.scss +0 -0
- package/docs/src/app/components/typeahead/typeahead.component.ts +52 -0
- package/docs/src/app/content/typography/examples/typos.html +17 -0
- package/docs/src/app/content/typography/typography.component.pug +4 -0
- package/docs/src/app/content/typography/typography.component.scss +0 -0
- package/docs/src/app/content/typography/typography.component.ts +21 -0
- package/docs/src/app/docs/apis-table/apis-table.component.pug +26 -0
- package/docs/src/app/docs/apis-table/apis-table.component.scss +9 -0
- package/docs/src/app/docs/apis-table/apis-table.component.ts +26 -0
- package/docs/src/app/docs/example/example.component.pug +17 -0
- package/docs/src/app/docs/example/example.component.scss +21 -0
- package/docs/src/app/docs/example/example.component.ts +39 -0
- package/docs/src/app/docs/link-active.directive.ts +38 -0
- package/docs/src/app/docs/shared/title-to-hash.ts +7 -0
- package/docs/src/app/docs/submenu/submenu.component.pug +7 -0
- package/docs/src/app/docs/submenu/submenu.component.scss +9 -0
- package/docs/src/app/docs/submenu/submenu.component.ts +21 -0
- package/docs/src/app/docs/title/title.component.pug +5 -0
- package/docs/src/app/docs/title/title.component.scss +3 -0
- package/docs/src/app/docs/title/title.component.ts +19 -0
- package/docs/src/app/dummy/dummy.component.pug +1 -0
- package/docs/src/app/dummy/dummy.component.scss +0 -0
- package/docs/src/app/dummy/dummy.component.ts +14 -0
- package/docs/src/app/introduction/introduction.component.pug +26 -0
- package/docs/src/app/introduction/introduction.component.scss +7 -0
- package/docs/src/app/introduction/introduction.component.ts +58 -0
- package/docs/src/app/layout/container/container.component.pug +77 -0
- package/docs/src/app/layout/container/container.component.scss +0 -0
- package/docs/src/app/layout/container/container.component.ts +32 -0
- package/docs/src/app/layout/container/examples/default-container.html +3 -0
- package/docs/src/app/layout/container/examples/fluid-container.html +3 -0
- package/docs/src/app/layout/container/overview.md +5 -0
- package/docs/src/app/layout/grid/examples/overview.html +12 -0
- package/docs/src/app/layout/grid/grid.component.pug +47 -0
- package/docs/src/app/layout/grid/grid.component.scss +0 -0
- package/docs/src/app/layout/grid/grid.component.ts +26 -0
- package/docs/src/app/shared/states.model.ts +61 -0
- package/docs/src/app/utilities/background-colors/background-colors.component.pug +9 -0
- package/docs/src/app/utilities/background-colors/background-colors.component.scss +0 -0
- package/docs/src/app/utilities/background-colors/background-colors.component.ts +27 -0
- package/docs/src/app/utilities/background-colors/examples/colors.html +31 -0
- package/docs/src/app/utilities/dividers/dividers.component.pug +37 -0
- package/docs/src/app/utilities/dividers/dividers.component.scss +0 -0
- package/docs/src/app/utilities/dividers/dividers.component.ts +29 -0
- package/docs/src/app/utilities/dividers/examples/no-margin.html +9 -0
- package/docs/src/app/utilities/dividers/examples/usage.html +21 -0
- package/docs/src/app/utilities/text-and-background-colors/examples/colors.html +30 -0
- package/docs/src/app/utilities/text-and-background-colors/text-and-background-colors.component.pug +9 -0
- package/docs/src/app/utilities/text-and-background-colors/text-and-background-colors.component.scss +0 -0
- package/docs/src/app/utilities/text-and-background-colors/text-and-background-colors.component.ts +26 -0
- package/docs/src/app/utilities/text-colors/examples/colors.html +39 -0
- package/docs/src/app/utilities/text-colors/text-colors.component.pug +9 -0
- package/docs/src/app/utilities/text-colors/text-colors.component.scss +0 -0
- package/docs/src/app/utilities/text-colors/text-colors.component.ts +28 -0
- package/docs/src/app/utilities/text-emphasis/examples/usage.html +17 -0
- package/docs/src/app/utilities/text-emphasis/text-emphasis.component.pug +5 -0
- package/docs/src/app/utilities/text-emphasis/text-emphasis.component.scss +0 -0
- package/docs/src/app/utilities/text-emphasis/text-emphasis.component.ts +19 -0
- package/docs/src/favicon.ico +0 -0
- package/docs/src/index.html +20 -0
- package/docs/src/main.ts +13 -0
- package/docs/src/styles.scss +129 -0
- package/docs/tsconfig.app.json +14 -0
- package/docs/tsconfig.json +40 -0
- package/eslint.config.mjs +457 -0
- package/gulp-tasks/docs-api.js +76 -0
- package/gulp-tasks/docs.js +59 -0
- package/gulp-tasks/sass.js +31 -0
- package/gulp-tasks/scripts.js +52 -0
- package/gulpfile.js +3 -0
- package/index.html +11 -0
- package/package.json +1 -1
- package/remove-scripts-from-package.js +9 -0
- package/rollup.config.js +42 -0
- package/src/app-bar/top-app-bar.styles.scss +108 -0
- package/src/app-bar/top-app-bar.ts +198 -0
- package/src/button/button-base.styles.scss +12 -0
- package/src/button/button-base.ts +57 -0
- package/src/button/button-set.styles.scss +16 -0
- package/src/button/button-set.ts +23 -0
- package/src/button/button.styles.scss +104 -0
- package/src/button/button.ts +60 -0
- package/src/button/fab.styles.scss +90 -0
- package/src/button/fab.ts +54 -0
- package/src/button/icon-button.styles.scss +80 -0
- package/src/button/icon-button.ts +75 -0
- package/src/button-field/button-field.styles.scss +13 -0
- package/src/button-field/button-field.ts +53 -0
- package/src/calendar/calendar-adapter.ts +5 -0
- package/src/calendar/calendar-base.styles.scss +82 -0
- package/src/calendar/calendar-base.ts +225 -0
- package/src/calendar/calendar.styles.scss +0 -0
- package/src/calendar/calendar.ts +44 -0
- package/src/calendar/default-calendar-adapter.ts +40 -0
- package/src/calendar/range-calendar.styles.scss +119 -0
- package/src/calendar/range-calendar.ts +135 -0
- package/src/card/card-content.styles.scss +15 -0
- package/src/card/card-content.ts +45 -0
- package/src/card/card-media.styles.scss +9 -0
- package/src/card/card-media.ts +24 -0
- package/src/card/card.styles.scss +30 -0
- package/src/card/card.ts +38 -0
- package/src/checkbox/checkbox-list-item.ts +15 -0
- package/src/checkbox/checkbox.styles.scss +69 -0
- package/src/checkbox/checkbox.ts +64 -0
- package/src/chip/chip-set.styles.scss +3 -0
- package/src/chip/chip-set.ts +15 -0
- package/src/chip/chip.styles.scss +185 -0
- package/src/chip/chip.ts +186 -0
- package/src/chip-field/chip-field.styles.scss +22 -0
- package/src/chip-field/chip-field.ts +182 -0
- package/src/config.ts +28 -0
- package/src/datepicker/datepicker.styles.scss +0 -0
- package/src/datepicker/datepicker.ts +0 -0
- package/src/dialog/confirm-dialog-builder.ts +43 -0
- package/src/dialog/dialog-builder.ts +57 -0
- package/src/dialog/dialog-button-def.ts +6 -0
- package/src/dialog/dialog.styles.scss +176 -0
- package/src/dialog/dialog.ts +255 -0
- package/src/dialog/message-dialog-builder.ts +25 -0
- package/src/elevation/elevation.styles.scss +31 -0
- package/src/elevation/elevation.ts +20 -0
- package/src/field/field-base.styles.scss +429 -0
- package/src/field/field-base.ts +184 -0
- package/src/field/field-defaults-context.ts +5 -0
- package/src/field/field-defaults.ts +5 -0
- package/src/field/field-variant.ts +1 -0
- package/src/field/field.ts +48 -0
- package/src/index.ts +81 -0
- package/src/list/list-item.styles.scss +38 -0
- package/src/list/list-item.ts +39 -0
- package/src/list/list.styles.scss +4 -0
- package/src/list/list.ts +19 -0
- package/src/menu/menu-item.styles.scss +50 -0
- package/src/menu/menu-item.ts +101 -0
- package/src/menu/menu.styles.scss +70 -0
- package/src/menu/menu.ts +423 -0
- package/src/navigation/_side-navigation-base.styles.scss +101 -0
- package/src/navigation/drawer-item.styles.scss +49 -0
- package/src/navigation/drawer-item.ts +94 -0
- package/src/navigation/drawer.styles.scss +21 -0
- package/src/navigation/drawer.ts +27 -0
- package/src/navigation/side-navigation-swiper.styles.scss +53 -0
- package/src/navigation/side-navigation.styles.scss +47 -0
- package/src/navigation/side-navigation.ts +149 -0
- package/src/progress/circular-progress.styles.scss +83 -0
- package/src/progress/circular-progress.ts +83 -0
- package/src/progress/progress-bar.styles.scss +159 -0
- package/src/progress/progress-bar.ts +50 -0
- package/src/radio/radio-list-item.ts +15 -0
- package/src/radio/radio.styles.scss +34 -0
- package/src/radio/radio.ts +164 -0
- package/src/ripple/ripple.styles.scss +81 -0
- package/src/ripple/ripple.ts +158 -0
- package/src/select/extended-option.ts +3 -0
- package/src/select/extended-select.ts +6 -0
- package/src/select/option.styles.scss +16 -0
- package/src/select/option.ts +165 -0
- package/src/select/select-navigation-controller.ts +113 -0
- package/src/select/select.styles.scss +36 -0
- package/src/select/select.ts +333 -0
- package/src/shared/base.styles.scss +29 -0
- package/src/shared/button-wrapper.styles.scss +64 -0
- package/src/shared/button-wrapper.ts +144 -0
- package/src/shared/char-count-text-field/native-text-field-wrapper.ts +54 -0
- package/src/shared/compare-text.ts +6 -0
- package/src/shared/events/dispatch-event.ts +0 -0
- package/src/shared/events/redispatch-event.ts +16 -0
- package/src/shared/extract-template-html.ts +9 -0
- package/src/shared/menu-field/menu-field-navigation-controller.ts +152 -0
- package/src/shared/menu-field/menu-field.ts +7 -0
- package/src/shared/mixin-attribute-properties.ts +33 -0
- package/src/shared/mixin.ts +11 -0
- package/src/shared/normalize-text.ts +9 -0
- package/src/shared/selection-control/checkbox-base.ts +5 -0
- package/src/shared/selection-control/selection-control-list-item.ts +44 -0
- package/src/shared/selection-control/selection-control.styles.scss +74 -0
- package/src/shared/selection-control/selection-control.ts +180 -0
- package/src/shared/sets/set-base.styles.scss +18 -0
- package/src/shared/sets/set-base.ts +21 -0
- package/src/shared/text-field-base/text-field-base.styles.scss +11 -0
- package/src/shared/text-field-base/text-field-base.ts +36 -0
- package/src/snackbar/snackbar.styles.scss +88 -0
- package/src/snackbar/snackbar.ts +156 -0
- package/src/switch/switch-list-item.ts +15 -0
- package/src/switch/switch.styles.scss +87 -0
- package/src/switch/switch.ts +32 -0
- package/src/tab-bar/tab-bar.styles.scss +77 -0
- package/src/tab-bar/tab-bar.ts +232 -0
- package/src/tab-bar/tab.styles.scss +53 -0
- package/src/tab-bar/tab.ts +113 -0
- package/src/text-area/text-area.styles.scss +46 -0
- package/src/text-area/text-area.ts +46 -0
- package/src/text-field/text-field.styles.scss +55 -0
- package/src/text-field/text-field.ts +57 -0
- package/src/theme/color.ts +6 -0
- package/src/theme/css-var-builder.ts +39 -0
- package/src/theme/index.ts +1 -0
- package/src/theme/neutral-colors.ts +26 -0
- package/src/theme/theme-builder.ts +197 -0
- package/src/theme/theme-color.ts +7 -0
- package/src/typeahead/highlight.styles.scss +3 -0
- package/src/typeahead/highlight.ts +79 -0
- package/src/typeahead/typeahead.styles.scss +9 -0
- package/src/typeahead/typeahead.ts +440 -0
- package/tsconfig.json +49 -0
- package/vendor/ngx-pug-builders-19.0.0.tgz +0 -0
- package/web-dev-server.config.js +25 -0
- package/web-test-runner.config.js +120 -0
- package/app-bar/top-app-bar.d.ts +0 -47
- package/app-bar/top-app-bar.d.ts.map +0 -1
- package/app-bar/top-app-bar.js +0 -174
- package/app-bar/top-app-bar.js.map +0 -1
- package/app-bar/top-app-bar.styles.d.ts +0 -2
- package/app-bar/top-app-bar.styles.d.ts.map +0 -1
- package/app-bar/top-app-bar.styles.js +0 -117
- package/app-bar/top-app-bar.styles.js.map +0 -1
- package/button/button-base.d.ts +0 -12
- package/button/button-base.d.ts.map +0 -1
- package/button/button-base.js +0 -46
- package/button/button-base.js.map +0 -1
- package/button/button-base.styles.d.ts +0 -2
- package/button/button-base.styles.d.ts.map +0 -1
- package/button/button-base.styles.js +0 -16
- package/button/button-base.styles.js.map +0 -1
- package/button/button-set.d.ts +0 -15
- package/button/button-set.d.ts.map +0 -1
- package/button/button-set.js +0 -23
- package/button/button-set.js.map +0 -1
- package/button/button-set.styles.d.ts +0 -2
- package/button/button-set.styles.d.ts.map +0 -1
- package/button/button-set.styles.js +0 -20
- package/button/button-set.styles.js.map +0 -1
- package/button/button.d.ts +0 -33
- package/button/button.d.ts.map +0 -1
- package/button/button.js +0 -55
- package/button/button.js.map +0 -1
- package/button/button.styles.d.ts +0 -2
- package/button/button.styles.d.ts.map +0 -1
- package/button/button.styles.js +0 -103
- package/button/button.styles.js.map +0 -1
- package/button/fab.d.ts +0 -31
- package/button/fab.d.ts.map +0 -1
- package/button/fab.js +0 -57
- package/button/fab.js.map +0 -1
- package/button/fab.styles.d.ts +0 -2
- package/button/fab.styles.d.ts.map +0 -1
- package/button/fab.styles.js +0 -89
- package/button/fab.styles.js.map +0 -1
- package/button/icon-button.d.ts +0 -34
- package/button/icon-button.d.ts.map +0 -1
- package/button/icon-button.js +0 -75
- package/button/icon-button.js.map +0 -1
- package/button/icon-button.styles.d.ts +0 -2
- package/button/icon-button.styles.d.ts.map +0 -1
- package/button/icon-button.styles.js +0 -77
- package/button/icon-button.styles.js.map +0 -1
- package/button-field/button-field.d.ts +0 -18
- package/button-field/button-field.d.ts.map +0 -1
- package/button-field/button-field.js +0 -54
- package/button-field/button-field.js.map +0 -1
- package/button-field/button-field.styles.d.ts +0 -2
- package/button-field/button-field.styles.d.ts.map +0 -1
- package/button-field/button-field.styles.js +0 -17
- package/button-field/button-field.styles.js.map +0 -1
- package/calendar/calendar-adapter.d.ts +0 -6
- package/calendar/calendar-adapter.d.ts.map +0 -1
- package/calendar/calendar-adapter.js +0 -2
- package/calendar/calendar-adapter.js.map +0 -1
- package/calendar/calendar-base.d.ts +0 -30
- package/calendar/calendar-base.d.ts.map +0 -1
- package/calendar/calendar-base.js +0 -188
- package/calendar/calendar-base.js.map +0 -1
- package/calendar/calendar-base.styles.d.ts +0 -2
- package/calendar/calendar-base.styles.d.ts.map +0 -1
- package/calendar/calendar-base.styles.js +0 -81
- package/calendar/calendar-base.styles.js.map +0 -1
- package/calendar/calendar.d.ts +0 -11
- package/calendar/calendar.d.ts.map +0 -1
- package/calendar/calendar.js +0 -43
- package/calendar/calendar.js.map +0 -1
- package/calendar/calendar.styles.d.ts +0 -2
- package/calendar/calendar.styles.d.ts.map +0 -1
- package/calendar/calendar.styles.js +0 -5
- package/calendar/calendar.styles.js.map +0 -1
- package/calendar/default-calendar-adapter.d.ts +0 -10
- package/calendar/default-calendar-adapter.d.ts.map +0 -1
- package/calendar/default-calendar-adapter.js +0 -32
- package/calendar/default-calendar-adapter.js.map +0 -1
- package/calendar/range-calendar.d.ts +0 -16
- package/calendar/range-calendar.d.ts.map +0 -1
- package/calendar/range-calendar.js +0 -113
- package/calendar/range-calendar.js.map +0 -1
- package/calendar/range-calendar.styles.d.ts +0 -2
- package/calendar/range-calendar.styles.d.ts.map +0 -1
- package/calendar/range-calendar.styles.js +0 -41
- package/calendar/range-calendar.styles.js.map +0 -1
- package/card/card-content.d.ts +0 -13
- package/card/card-content.d.ts.map +0 -1
- package/card/card-content.js +0 -39
- package/card/card-content.js.map +0 -1
- package/card/card-content.styles.d.ts +0 -2
- package/card/card-content.styles.d.ts.map +0 -1
- package/card/card-content.styles.js +0 -19
- package/card/card-content.styles.js.map +0 -1
- package/card/card-media.d.ts +0 -12
- package/card/card-media.d.ts.map +0 -1
- package/card/card-media.js +0 -24
- package/card/card-media.js.map +0 -1
- package/card/card-media.styles.d.ts +0 -2
- package/card/card-media.styles.d.ts.map +0 -1
- package/card/card-media.styles.js +0 -13
- package/card/card-media.styles.js.map +0 -1
- package/card/card.d.ts +0 -19
- package/card/card.d.ts.map +0 -1
- package/card/card.js +0 -36
- package/card/card.js.map +0 -1
- package/card/card.styles.d.ts +0 -2
- package/card/card.styles.d.ts.map +0 -1
- package/card/card.styles.js +0 -31
- package/card/card.styles.js.map +0 -1
- package/checkbox/checkbox-list-item.d.ts +0 -11
- package/checkbox/checkbox-list-item.d.ts.map +0 -1
- package/checkbox/checkbox-list-item.js +0 -11
- package/checkbox/checkbox-list-item.js.map +0 -1
- package/checkbox/checkbox.d.ts +0 -21
- package/checkbox/checkbox.d.ts.map +0 -1
- package/checkbox/checkbox.js +0 -53
- package/checkbox/checkbox.js.map +0 -1
- package/checkbox/checkbox.styles.d.ts +0 -2
- package/checkbox/checkbox.styles.d.ts.map +0 -1
- package/checkbox/checkbox.styles.js +0 -62
- package/checkbox/checkbox.styles.js.map +0 -1
- package/chip/chip-set.d.ts +0 -10
- package/chip/chip-set.d.ts.map +0 -1
- package/chip/chip-set.js +0 -12
- package/chip/chip-set.js.map +0 -1
- package/chip/chip-set.styles.d.ts +0 -2
- package/chip/chip-set.styles.d.ts.map +0 -1
- package/chip/chip-set.styles.js +0 -7
- package/chip/chip-set.styles.js.map +0 -1
- package/chip/chip.d.ts +0 -64
- package/chip/chip.d.ts.map +0 -1
- package/chip/chip.js +0 -187
- package/chip/chip.js.map +0 -1
- package/chip/chip.styles.d.ts +0 -2
- package/chip/chip.styles.d.ts.map +0 -1
- package/chip/chip.styles.js +0 -168
- package/chip/chip.styles.js.map +0 -1
- package/chip-field/chip-field.d.ts +0 -42
- package/chip-field/chip-field.d.ts.map +0 -1
- package/chip-field/chip-field.js +0 -145
- package/chip-field/chip-field.js.map +0 -1
- package/chip-field/chip-field.styles.d.ts +0 -2
- package/chip-field/chip-field.styles.d.ts.map +0 -1
- package/chip-field/chip-field.styles.js +0 -22
- package/chip-field/chip-field.styles.js.map +0 -1
- package/config.d.ts +0 -16
- package/config.d.ts.map +0 -1
- package/config.js +0 -25
- package/config.js.map +0 -1
- package/custom-elements.json +0 -21401
- package/datepicker/datepicker.d.ts +0 -1
- package/datepicker/datepicker.d.ts.map +0 -1
- package/datepicker/datepicker.js +0 -2
- package/datepicker/datepicker.js.map +0 -1
- package/datepicker/datepicker.styles.d.ts +0 -2
- package/datepicker/datepicker.styles.d.ts.map +0 -1
- package/datepicker/datepicker.styles.js +0 -5
- package/datepicker/datepicker.styles.js.map +0 -1
- package/dialog/confirm-dialog-builder.d.ts +0 -12
- package/dialog/confirm-dialog-builder.d.ts.map +0 -1
- package/dialog/confirm-dialog-builder.js +0 -26
- package/dialog/confirm-dialog-builder.js.map +0 -1
- package/dialog/dialog-builder.d.ts +0 -15
- package/dialog/dialog-builder.d.ts.map +0 -1
- package/dialog/dialog-builder.js +0 -42
- package/dialog/dialog-builder.js.map +0 -1
- package/dialog/dialog-button-def.d.ts +0 -6
- package/dialog/dialog-button-def.d.ts.map +0 -1
- package/dialog/dialog-button-def.js +0 -2
- package/dialog/dialog-button-def.js.map +0 -1
- package/dialog/dialog.d.ts +0 -44
- package/dialog/dialog.d.ts.map +0 -1
- package/dialog/dialog.js +0 -216
- package/dialog/dialog.js.map +0 -1
- package/dialog/dialog.styles.d.ts +0 -2
- package/dialog/dialog.styles.d.ts.map +0 -1
- package/dialog/dialog.styles.js +0 -165
- package/dialog/dialog.styles.js.map +0 -1
- package/dialog/message-dialog-builder.d.ts +0 -10
- package/dialog/message-dialog-builder.d.ts.map +0 -1
- package/dialog/message-dialog-builder.js +0 -16
- package/dialog/message-dialog-builder.js.map +0 -1
- package/elevation/elevation.d.ts +0 -11
- package/elevation/elevation.d.ts.map +0 -1
- package/elevation/elevation.js +0 -16
- package/elevation/elevation.js.map +0 -1
- package/elevation/elevation.styles.d.ts +0 -2
- package/elevation/elevation.styles.d.ts.map +0 -1
- package/elevation/elevation.styles.js +0 -28
- package/elevation/elevation.styles.js.map +0 -1
- package/field/field-base.d.ts +0 -68
- package/field/field-base.d.ts.map +0 -1
- package/field/field-base.js +0 -174
- package/field/field-base.js.map +0 -1
- package/field/field-base.styles.d.ts +0 -2
- package/field/field-base.styles.d.ts.map +0 -1
- package/field/field-base.styles.js +0 -372
- package/field/field-base.styles.js.map +0 -1
- package/field/field-defaults-context.d.ts +0 -5
- package/field/field-defaults-context.d.ts.map +0 -1
- package/field/field-defaults-context.js +0 -3
- package/field/field-defaults-context.js.map +0 -1
- package/field/field-defaults.d.ts +0 -5
- package/field/field-defaults.d.ts.map +0 -1
- package/field/field-defaults.js +0 -2
- package/field/field-defaults.js.map +0 -1
- package/field/field-variant.d.ts +0 -2
- package/field/field-variant.d.ts.map +0 -1
- package/field/field-variant.js +0 -2
- package/field/field-variant.js.map +0 -1
- package/field/field.d.ts +0 -15
- package/field/field.d.ts.map +0 -1
- package/field/field.js +0 -44
- package/field/field.js.map +0 -1
- package/index.d.ts +0 -80
- package/index.d.ts.map +0 -1
- package/index.js +0 -80
- package/index.js.map +0 -1
- package/list/list-item.d.ts +0 -13
- package/list/list-item.d.ts.map +0 -1
- package/list/list-item.js +0 -38
- package/list/list-item.js.map +0 -1
- package/list/list-item.styles.d.ts +0 -2
- package/list/list-item.styles.d.ts.map +0 -1
- package/list/list-item.styles.js +0 -48
- package/list/list-item.styles.js.map +0 -1
- package/list/list.d.ts +0 -11
- package/list/list.d.ts.map +0 -1
- package/list/list.js +0 -15
- package/list/list.js.map +0 -1
- package/list/list.styles.d.ts +0 -2
- package/list/list.styles.d.ts.map +0 -1
- package/list/list.styles.js +0 -8
- package/list/list.styles.js.map +0 -1
- package/menu/menu-item.d.ts +0 -40
- package/menu/menu-item.d.ts.map +0 -1
- package/menu/menu-item.js +0 -98
- package/menu/menu-item.js.map +0 -1
- package/menu/menu-item.styles.d.ts +0 -2
- package/menu/menu-item.styles.d.ts.map +0 -1
- package/menu/menu-item.styles.js +0 -54
- package/menu/menu-item.styles.js.map +0 -1
- package/menu/menu.d.ts +0 -48
- package/menu/menu.d.ts.map +0 -1
- package/menu/menu.js +0 -328
- package/menu/menu.js.map +0 -1
- package/menu/menu.styles.d.ts +0 -2
- package/menu/menu.styles.d.ts.map +0 -1
- package/menu/menu.styles.js +0 -69
- package/menu/menu.styles.js.map +0 -1
- package/navigation/drawer-item.d.ts +0 -40
- package/navigation/drawer-item.d.ts.map +0 -1
- package/navigation/drawer-item.js +0 -94
- package/navigation/drawer-item.js.map +0 -1
- package/navigation/drawer-item.styles.d.ts +0 -2
- package/navigation/drawer-item.styles.d.ts.map +0 -1
- package/navigation/drawer-item.styles.js +0 -52
- package/navigation/drawer-item.styles.js.map +0 -1
- package/navigation/drawer.d.ts +0 -11
- package/navigation/drawer.d.ts.map +0 -1
- package/navigation/drawer.js +0 -23
- package/navigation/drawer.js.map +0 -1
- package/navigation/drawer.styles.d.ts +0 -2
- package/navigation/drawer.styles.d.ts.map +0 -1
- package/navigation/drawer.styles.js +0 -22
- package/navigation/drawer.styles.js.map +0 -1
- package/navigation/side-navigation-swiper.styles.d.ts +0 -2
- package/navigation/side-navigation-swiper.styles.d.ts.map +0 -1
- package/navigation/side-navigation-swiper.styles.js +0 -131
- package/navigation/side-navigation-swiper.styles.js.map +0 -1
- package/navigation/side-navigation.d.ts +0 -33
- package/navigation/side-navigation.d.ts.map +0 -1
- package/navigation/side-navigation.js +0 -138
- package/navigation/side-navigation.js.map +0 -1
- package/navigation/side-navigation.styles.d.ts +0 -2
- package/navigation/side-navigation.styles.d.ts.map +0 -1
- package/navigation/side-navigation.styles.js +0 -124
- package/navigation/side-navigation.styles.js.map +0 -1
- package/progress/circular-progress.d.ts +0 -14
- package/progress/circular-progress.d.ts.map +0 -1
- package/progress/circular-progress.js +0 -80
- package/progress/circular-progress.js.map +0 -1
- package/progress/circular-progress.styles.d.ts +0 -2
- package/progress/circular-progress.styles.d.ts.map +0 -1
- package/progress/circular-progress.styles.js +0 -75
- package/progress/circular-progress.styles.js.map +0 -1
- package/progress/progress-bar.d.ts +0 -14
- package/progress/progress-bar.d.ts.map +0 -1
- package/progress/progress-bar.js +0 -49
- package/progress/progress-bar.js.map +0 -1
- package/progress/progress-bar.styles.d.ts +0 -2
- package/progress/progress-bar.styles.d.ts.map +0 -1
- package/progress/progress-bar.styles.js +0 -152
- package/progress/progress-bar.styles.js.map +0 -1
- package/radio/radio-list-item.d.ts +0 -11
- package/radio/radio-list-item.d.ts.map +0 -1
- package/radio/radio-list-item.js +0 -11
- package/radio/radio-list-item.js.map +0 -1
- package/radio/radio.d.ts +0 -24
- package/radio/radio.d.ts.map +0 -1
- package/radio/radio.js +0 -125
- package/radio/radio.js.map +0 -1
- package/radio/radio.styles.d.ts +0 -2
- package/radio/radio.styles.d.ts.map +0 -1
- package/radio/radio.styles.js +0 -33
- package/radio/radio.styles.js.map +0 -1
- package/ripple/ripple.d.ts +0 -28
- package/ripple/ripple.d.ts.map +0 -1
- package/ripple/ripple.js +0 -120
- package/ripple/ripple.js.map +0 -1
- package/ripple/ripple.styles.d.ts +0 -2
- package/ripple/ripple.styles.d.ts.map +0 -1
- package/ripple/ripple.styles.js +0 -74
- package/ripple/ripple.styles.js.map +0 -1
- package/select/extended-option.d.ts +0 -5
- package/select/extended-option.d.ts.map +0 -1
- package/select/extended-option.js +0 -2
- package/select/extended-option.js.map +0 -1
- package/select/extended-select.d.ts +0 -6
- package/select/extended-select.d.ts.map +0 -1
- package/select/extended-select.js +0 -2
- package/select/extended-select.js.map +0 -1
- package/select/option.d.ts +0 -27
- package/select/option.d.ts.map +0 -1
- package/select/option.js +0 -132
- package/select/option.js.map +0 -1
- package/select/option.styles.d.ts +0 -2
- package/select/option.styles.d.ts.map +0 -1
- package/select/option.styles.js +0 -15
- package/select/option.styles.js.map +0 -1
- package/select/select-navigation-controller.d.ts +0 -14
- package/select/select-navigation-controller.d.ts.map +0 -1
- package/select/select-navigation-controller.js +0 -82
- package/select/select-navigation-controller.js.map +0 -1
- package/select/select.d.ts +0 -47
- package/select/select.d.ts.map +0 -1
- package/select/select.js +0 -268
- package/select/select.js.map +0 -1
- package/select/select.styles.d.ts +0 -2
- package/select/select.styles.d.ts.map +0 -1
- package/select/select.styles.js +0 -39
- package/select/select.styles.js.map +0 -1
- package/shared/base.styles.d.ts +0 -2
- package/shared/base.styles.d.ts.map +0 -1
- package/shared/base.styles.js +0 -31
- package/shared/base.styles.js.map +0 -1
- package/shared/button-wrapper.d.ts +0 -39
- package/shared/button-wrapper.d.ts.map +0 -1
- package/shared/button-wrapper.js +0 -123
- package/shared/button-wrapper.js.map +0 -1
- package/shared/button-wrapper.styles.d.ts +0 -2
- package/shared/button-wrapper.styles.d.ts.map +0 -1
- package/shared/button-wrapper.styles.js +0 -63
- package/shared/button-wrapper.styles.js.map +0 -1
- package/shared/char-count-text-field/native-text-field-wrapper.d.ts +0 -15
- package/shared/char-count-text-field/native-text-field-wrapper.d.ts.map +0 -1
- package/shared/char-count-text-field/native-text-field-wrapper.js +0 -54
- package/shared/char-count-text-field/native-text-field-wrapper.js.map +0 -1
- package/shared/compare-text.d.ts +0 -2
- package/shared/compare-text.d.ts.map +0 -1
- package/shared/compare-text.js +0 -5
- package/shared/compare-text.js.map +0 -1
- package/shared/events/dispatch-event.d.ts +0 -1
- package/shared/events/dispatch-event.d.ts.map +0 -1
- package/shared/events/dispatch-event.js +0 -2
- package/shared/events/dispatch-event.js.map +0 -1
- package/shared/events/redispatch-event.d.ts +0 -2
- package/shared/events/redispatch-event.d.ts.map +0 -1
- package/shared/events/redispatch-event.js +0 -14
- package/shared/events/redispatch-event.js.map +0 -1
- package/shared/extract-template-html.d.ts +0 -2
- package/shared/extract-template-html.d.ts.map +0 -1
- package/shared/extract-template-html.js +0 -8
- package/shared/extract-template-html.js.map +0 -1
- package/shared/menu-field/menu-field-navigation-controller.d.ts +0 -20
- package/shared/menu-field/menu-field-navigation-controller.d.ts.map +0 -1
- package/shared/menu-field/menu-field-navigation-controller.js +0 -108
- package/shared/menu-field/menu-field-navigation-controller.js.map +0 -1
- package/shared/menu-field/menu-field.d.ts +0 -7
- package/shared/menu-field/menu-field.d.ts.map +0 -1
- package/shared/menu-field/menu-field.js +0 -2
- package/shared/menu-field/menu-field.js.map +0 -1
- package/shared/mixin-attribute-properties.d.ts +0 -4
- package/shared/mixin-attribute-properties.d.ts.map +0 -1
- package/shared/mixin-attribute-properties.js +0 -27
- package/shared/mixin-attribute-properties.js.map +0 -1
- package/shared/mixin.d.ts +0 -3
- package/shared/mixin.d.ts.map +0 -1
- package/shared/mixin.js +0 -2
- package/shared/mixin.js.map +0 -1
- package/shared/normalize-text.d.ts +0 -2
- package/shared/normalize-text.d.ts.map +0 -1
- package/shared/normalize-text.js +0 -9
- package/shared/normalize-text.js.map +0 -1
- package/shared/selection-control/checkbox-base.d.ts +0 -1
- package/shared/selection-control/checkbox-base.d.ts.map +0 -1
- package/shared/selection-control/checkbox-base.js +0 -7
- package/shared/selection-control/checkbox-base.js.map +0 -1
- package/shared/selection-control/selection-control-list-item.d.ts +0 -4
- package/shared/selection-control/selection-control-list-item.d.ts.map +0 -1
- package/shared/selection-control/selection-control-list-item.js +0 -44
- package/shared/selection-control/selection-control-list-item.js.map +0 -1
- package/shared/selection-control/selection-control.d.ts +0 -36
- package/shared/selection-control/selection-control.d.ts.map +0 -1
- package/shared/selection-control/selection-control.js +0 -155
- package/shared/selection-control/selection-control.js.map +0 -1
- package/shared/selection-control/selection-control.styles.d.ts +0 -2
- package/shared/selection-control/selection-control.styles.d.ts.map +0 -1
- package/shared/selection-control/selection-control.styles.js +0 -67
- package/shared/selection-control/selection-control.styles.js.map +0 -1
- package/shared/sets/set-base.d.ts +0 -11
- package/shared/sets/set-base.d.ts.map +0 -1
- package/shared/sets/set-base.js +0 -22
- package/shared/sets/set-base.js.map +0 -1
- package/shared/sets/set-base.styles.d.ts +0 -2
- package/shared/sets/set-base.styles.d.ts.map +0 -1
- package/shared/sets/set-base.styles.js +0 -22
- package/shared/sets/set-base.styles.js.map +0 -1
- package/shared/text-field-base/text-field-base.d.ts +0 -16
- package/shared/text-field-base/text-field-base.d.ts.map +0 -1
- package/shared/text-field-base/text-field-base.js +0 -29
- package/shared/text-field-base/text-field-base.js.map +0 -1
- package/shared/text-field-base/text-field-base.styles.d.ts +0 -2
- package/shared/text-field-base/text-field-base.styles.d.ts.map +0 -1
- package/shared/text-field-base/text-field-base.styles.js +0 -11
- package/shared/text-field-base/text-field-base.styles.js.map +0 -1
- package/snackbar/snackbar.d.ts +0 -40
- package/snackbar/snackbar.d.ts.map +0 -1
- package/snackbar/snackbar.js +0 -133
- package/snackbar/snackbar.js.map +0 -1
- package/snackbar/snackbar.styles.d.ts +0 -2
- package/snackbar/snackbar.styles.d.ts.map +0 -1
- package/snackbar/snackbar.styles.js +0 -81
- package/snackbar/snackbar.styles.js.map +0 -1
- package/switch/switch-list-item.d.ts +0 -11
- package/switch/switch-list-item.d.ts.map +0 -1
- package/switch/switch-list-item.js +0 -11
- package/switch/switch-list-item.js.map +0 -1
- package/switch/switch.d.ts +0 -14
- package/switch/switch.d.ts.map +0 -1
- package/switch/switch.js +0 -26
- package/switch/switch.js.map +0 -1
- package/switch/switch.styles.d.ts +0 -2
- package/switch/switch.styles.d.ts.map +0 -1
- package/switch/switch.styles.js +0 -78
- package/switch/switch.styles.js.map +0 -1
- package/tab-bar/tab-bar.d.ts +0 -28
- package/tab-bar/tab-bar.d.ts.map +0 -1
- package/tab-bar/tab-bar.js +0 -200
- package/tab-bar/tab-bar.js.map +0 -1
- package/tab-bar/tab-bar.styles.d.ts +0 -2
- package/tab-bar/tab-bar.styles.d.ts.map +0 -1
- package/tab-bar/tab-bar.styles.js +0 -72
- package/tab-bar/tab-bar.styles.js.map +0 -1
- package/tab-bar/tab.d.ts +0 -22
- package/tab-bar/tab.d.ts.map +0 -1
- package/tab-bar/tab.js +0 -91
- package/tab-bar/tab.js.map +0 -1
- package/tab-bar/tab.styles.d.ts +0 -2
- package/tab-bar/tab.styles.d.ts.map +0 -1
- package/tab-bar/tab.styles.js +0 -56
- package/tab-bar/tab.styles.js.map +0 -1
- package/text-area/text-area.d.ts +0 -15
- package/text-area/text-area.d.ts.map +0 -1
- package/text-area/text-area.js +0 -46
- package/text-area/text-area.js.map +0 -1
- package/text-area/text-area.styles.d.ts +0 -2
- package/text-area/text-area.styles.d.ts.map +0 -1
- package/text-area/text-area.styles.js +0 -39
- package/text-area/text-area.styles.js.map +0 -1
- package/text-field/text-field.d.ts +0 -19
- package/text-field/text-field.d.ts.map +0 -1
- package/text-field/text-field.js +0 -66
- package/text-field/text-field.js.map +0 -1
- package/text-field/text-field.styles.d.ts +0 -2
- package/text-field/text-field.styles.d.ts.map +0 -1
- package/text-field/text-field.styles.js +0 -41
- package/text-field/text-field.styles.js.map +0 -1
- package/theme/color.d.ts +0 -7
- package/theme/color.d.ts.map +0 -1
- package/theme/color.js +0 -2
- package/theme/color.js.map +0 -1
- package/theme/css-var-builder.d.ts +0 -10
- package/theme/css-var-builder.d.ts.map +0 -1
- package/theme/css-var-builder.js +0 -27
- package/theme/css-var-builder.js.map +0 -1
- package/theme/index.d.ts +0 -2
- package/theme/index.d.ts.map +0 -1
- package/theme/index.js +0 -2
- package/theme/index.js.map +0 -1
- package/theme/neutral-colors.d.ts +0 -4
- package/theme/neutral-colors.d.ts.map +0 -1
- package/theme/neutral-colors.js +0 -24
- package/theme/neutral-colors.js.map +0 -1
- package/theme/theme-builder.d.ts +0 -26
- package/theme/theme-builder.d.ts.map +0 -1
- package/theme/theme-builder.js +0 -146
- package/theme/theme-builder.js.map +0 -1
- package/theme/theme-color.d.ts +0 -6
- package/theme/theme-color.d.ts.map +0 -1
- package/theme/theme-color.js +0 -2
- package/theme/theme-color.js.map +0 -1
- package/typeahead/highlight.d.ts +0 -24
- package/typeahead/highlight.d.ts.map +0 -1
- package/typeahead/highlight.js +0 -69
- package/typeahead/highlight.js.map +0 -1
- package/typeahead/highlight.styles.d.ts +0 -2
- package/typeahead/highlight.styles.d.ts.map +0 -1
- package/typeahead/highlight.styles.js +0 -7
- package/typeahead/highlight.styles.js.map +0 -1
- package/typeahead/typeahead.d.ts +0 -94
- package/typeahead/typeahead.d.ts.map +0 -1
- package/typeahead/typeahead.js +0 -362
- package/typeahead/typeahead.js.map +0 -1
- package/typeahead/typeahead.styles.d.ts +0 -2
- package/typeahead/typeahead.styles.d.ts.map +0 -1
- package/typeahead/typeahead.styles.js +0 -11
- package/typeahead/typeahead.styles.js.map +0 -1
- /package/{scss → src/scss}/_api.scss +0 -0
- /package/{scss → src/scss}/_colors.scss +0 -0
- /package/{scss → src/scss}/_css-vars.scss +0 -0
- /package/{scss → src/scss}/_functions.scss +0 -0
- /package/{scss → src/scss}/_global.scss +0 -0
- /package/{scss → src/scss}/_layout.scss +0 -0
- /package/{scss → src/scss}/_mixins.scss +0 -0
- /package/{scss → src/scss}/_reboot.scss +0 -0
- /package/{scss → src/scss}/_utilities.scss +0 -0
- /package/{scss → src/scss}/_variables.scss +0 -0
- /package/{scss → src/scss}/colors/_text-bg.scss +0 -0
- /package/{scss → src/scss}/colors/_text.scss +0 -0
- /package/{scss → src/scss}/functions/_font.scss +0 -0
- /package/{scss → src/scss}/layout/_container.scss +0 -0
- /package/{scss → src/scss}/layout/_grid.scss +0 -0
- /package/{scss → src/scss}/layout/_margin-and-gutters.scss +0 -0
- /package/{scss → src/scss}/mixins/_breakpoints.scss +0 -0
- /package/{scss → src/scss}/mixins/_colors.scss +0 -0
- /package/{scss → src/scss}/mixins/_text-bg.scss +0 -0
- /package/{scss → src/scss}/mixins/_typo.scss +0 -0
- /package/{scss → src/scss}/table/_table.scss +0 -0
- /package/{scss → src/scss}/typo/_font.scss +0 -0
- /package/{scss → src/scss}/typo/_typo.scss +0 -0
- /package/{scss → src/scss}/typo/_variables.scss +0 -0
- /package/{scss → src/scss}/universal-material.scss +0 -0
- /package/{scss → src/scss}/utilities/_divider.scss +0 -0
- /package/{scss → src/scss}/utilities/_scheme.scss +0 -0
- /package/{scss → src/scss}/utilities/_spacing.scss +0 -0
- /package/{scss → src/scss}/utilities/_text.scss +0 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { PropertyValues } from '@lit/reactive-element';
|
|
2
|
+
|
|
3
|
+
import { html, HTMLTemplateResult } from 'lit';
|
|
4
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
5
|
+
|
|
6
|
+
import { UmSelectionControl } from '../shared/selection-control/selection-control.js';
|
|
7
|
+
import { styles } from './radio.styles.js';
|
|
8
|
+
|
|
9
|
+
@customElement('u-radio')
|
|
10
|
+
export class UmRadio extends UmSelectionControl {
|
|
11
|
+
static override styles = [UmSelectionControl.styles, styles];
|
|
12
|
+
|
|
13
|
+
@property({ type: Boolean, attribute: 'hide-state-layer', reflect: true }) hideStateLayer = false;
|
|
14
|
+
|
|
15
|
+
protected override inputType: 'radio' | 'checkbox' = 'radio';
|
|
16
|
+
|
|
17
|
+
protected override renderIndicator(): HTMLTemplateResult {
|
|
18
|
+
return html`
|
|
19
|
+
<div class="indicator"></div>
|
|
20
|
+
`;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
override get checked() {
|
|
24
|
+
return super.checked;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
override set checked(value: boolean) {
|
|
28
|
+
super.checked = value;
|
|
29
|
+
|
|
30
|
+
if (!value) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
this.uncheckSiblings();
|
|
35
|
+
|
|
36
|
+
if (this.input) {
|
|
37
|
+
this.input.tabIndex = 0;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
get #siblings(): UmRadio[] {
|
|
42
|
+
if (!this.name) {
|
|
43
|
+
return [this];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return Array.from((this.getRootNode() as Element).querySelectorAll<UmRadio>(`${this.tagName}[name="${this.name}"]`));
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
constructor() {
|
|
50
|
+
super();
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
override firstUpdated(changedProperties: PropertyValues) {
|
|
54
|
+
super.firstUpdated(changedProperties);
|
|
55
|
+
|
|
56
|
+
this.ensureOnlyOneChecked();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
override connectedCallback() {
|
|
60
|
+
super.connectedCallback();
|
|
61
|
+
this.addEventListener('keydown', this.#handleKeyDown);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
override disconnectedCallback() {
|
|
65
|
+
super.disconnectedCallback();
|
|
66
|
+
this.removeEventListener('keydown', this.#handleKeyDown);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
#handleKeyDown(event: KeyboardEvent) {
|
|
70
|
+
const isDown = event.key === 'ArrowDown';
|
|
71
|
+
const isUp = event.key === 'ArrowUp';
|
|
72
|
+
const isLeft = event.key === 'ArrowLeft';
|
|
73
|
+
const isRight = event.key === 'ArrowRight';
|
|
74
|
+
|
|
75
|
+
if (!isLeft && !isRight && !isDown && !isUp) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Don't try to select another sibling if there aren't any.
|
|
80
|
+
const siblings = this.#siblings;
|
|
81
|
+
|
|
82
|
+
if (!siblings.length) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
event.preventDefault();
|
|
87
|
+
|
|
88
|
+
const isRtl = getComputedStyle(this).direction === 'rtl';
|
|
89
|
+
const forwards = isRtl ? isLeft || isDown : isRight || isDown;
|
|
90
|
+
const factor = forwards ? 1 : -1;
|
|
91
|
+
|
|
92
|
+
const thisIndex = siblings.indexOf(this);
|
|
93
|
+
let nextIndex = thisIndex + factor;
|
|
94
|
+
|
|
95
|
+
while (nextIndex !== thisIndex) {
|
|
96
|
+
if (nextIndex >= siblings.length) {
|
|
97
|
+
// Return to start if moving past the last item.
|
|
98
|
+
nextIndex = 0;
|
|
99
|
+
} else if (nextIndex < 0) {
|
|
100
|
+
// Go to end if moving before the first item.
|
|
101
|
+
nextIndex = siblings.length - 1;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
const nextSibling = siblings[nextIndex];
|
|
105
|
+
|
|
106
|
+
if (nextSibling.disabled) {
|
|
107
|
+
nextIndex += factor;
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
const clickCanceled = !nextSibling.dispatchEvent(
|
|
112
|
+
new Event('click', {
|
|
113
|
+
bubbles: true,
|
|
114
|
+
cancelable: true,
|
|
115
|
+
}),
|
|
116
|
+
);
|
|
117
|
+
|
|
118
|
+
nextSibling.input.focus();
|
|
119
|
+
|
|
120
|
+
if (clickCanceled) {
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
nextSibling.checked = true;
|
|
125
|
+
nextSibling.dispatchEvent(new Event('change', { bubbles: true }));
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
private ensureOnlyOneChecked() {
|
|
131
|
+
if (!this.name) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
const radios = Array.from(document.querySelectorAll<UmRadio>(`${this.tagName}[name="${this.name}"]`));
|
|
136
|
+
const lastChecked = radios.reverse().find(r => r.checked);
|
|
137
|
+
|
|
138
|
+
if (!lastChecked) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
lastChecked.checked = true;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
private uncheckSiblings() {
|
|
146
|
+
for (const radio of this.#siblings) {
|
|
147
|
+
if (radio === this) {
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
if (radio.input) {
|
|
152
|
+
radio.input.tabIndex = -1;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
radio.checked = false;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
declare global {
|
|
161
|
+
interface HTMLElementTagNameMap {
|
|
162
|
+
'u-radio': UmRadio;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
@use '../scss/variables';
|
|
2
|
+
@use '../scss/api';
|
|
3
|
+
|
|
4
|
+
:host,
|
|
5
|
+
.ripple-container::before {
|
|
6
|
+
--_ripple-hover-color: var(--u-ripple-hover-color, var(--u-ripple-color, var(--u-state-layer-color, currentColor)));
|
|
7
|
+
--_ripple-pressed-color: var(--u-ripple-pressed-color, var(--u-ripple-color, var(--u-state-layer-color, currentColor)));
|
|
8
|
+
--_ripple-hover-opacity: var(--u-ripple-pressed-opacity, #{api.get-state-layer-opacity-var(hover)});
|
|
9
|
+
--_ripple-pressed-opacity: var(--u-ripple-pressed-opacity, .2);
|
|
10
|
+
|
|
11
|
+
display: block;
|
|
12
|
+
inset: 0;
|
|
13
|
+
isolation: isolate;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.ripple-container {
|
|
17
|
+
position: relative;
|
|
18
|
+
width: 100%;
|
|
19
|
+
height: 100%;
|
|
20
|
+
overflow: hidden;
|
|
21
|
+
border-radius: var(--u-ripple-border-radius, inherit);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.ripple-container::before {
|
|
25
|
+
content: '';
|
|
26
|
+
background: var(--_ripple-hover-color);
|
|
27
|
+
opacity: 0;
|
|
28
|
+
transition: opacity 200ms;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@media (hover: hover) {
|
|
32
|
+
:host(:not([disabled]):hover) .ripple-container::before {
|
|
33
|
+
content: '';
|
|
34
|
+
background: var(--_ripple-hover-color);
|
|
35
|
+
opacity: var(--_ripple-hover-opacity);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
:host,
|
|
40
|
+
.ripple-container::before,
|
|
41
|
+
.ripple {
|
|
42
|
+
position: absolute;
|
|
43
|
+
border-radius: inherit;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.ripple {
|
|
47
|
+
top: 50%;
|
|
48
|
+
left: 50%;
|
|
49
|
+
background: var(--_ripple-pressed-color);
|
|
50
|
+
border-radius: 50%;
|
|
51
|
+
box-shadow: 0 0 64px 64px var(--_ripple-pressed-color);
|
|
52
|
+
opacity: var(--_ripple-pressed-opacity);
|
|
53
|
+
transform: scale3d(0, 0, 1);
|
|
54
|
+
pointer-events: none;
|
|
55
|
+
will-change: transform;
|
|
56
|
+
|
|
57
|
+
&.show {
|
|
58
|
+
transition:
|
|
59
|
+
transform calc(var(--_ripple-transition-duration) / var(--u-ripple-speed, 1)) variables.$awesome-cubic-bezier,
|
|
60
|
+
opacity calc(750ms / var(--u-ripple-speed, 1));
|
|
61
|
+
transform: scale3d(1, 1, 1);
|
|
62
|
+
}
|
|
63
|
+
&.show-forced {
|
|
64
|
+
transition:
|
|
65
|
+
transform calc(var(--_ripple-transition-duration) / var(--u-ripple-speed, 1)) variables.$awesome-cubic-bezier,
|
|
66
|
+
opacity calc(200ms / var(--u-ripple-speed, 1)) 300ms;
|
|
67
|
+
transform: scale3d(2, 2, 1);
|
|
68
|
+
opacity: 0;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
&.dismiss {
|
|
72
|
+
opacity: 0;
|
|
73
|
+
transform: scale3d(2, 2, 1);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
::slotted(*) {
|
|
78
|
+
position: absolute !important;
|
|
79
|
+
inset: 0;
|
|
80
|
+
border-radius: inherit;
|
|
81
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { html, HTMLTemplateResult, LitElement } from 'lit';
|
|
2
|
+
import { customElement, property, query } from 'lit/decorators.js';
|
|
3
|
+
|
|
4
|
+
import { styles } from './ripple.styles.js';
|
|
5
|
+
|
|
6
|
+
@customElement('u-ripple')
|
|
7
|
+
export class UmRipple extends LitElement {
|
|
8
|
+
|
|
9
|
+
static override styles = styles;
|
|
10
|
+
|
|
11
|
+
private isTouching = false;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Disables the ripple.
|
|
15
|
+
*/
|
|
16
|
+
@property({ type: Boolean, reflect: true }) disabled = false;
|
|
17
|
+
|
|
18
|
+
@query('.ripple-container') private readonly rippleContainer!: HTMLElement;
|
|
19
|
+
|
|
20
|
+
constructor() {
|
|
21
|
+
super();
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
override render(): HTMLTemplateResult {
|
|
25
|
+
return html`<div class="ripple-container"></div><slot></slot>`;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
override connectedCallback() {
|
|
29
|
+
super.connectedCallback();
|
|
30
|
+
|
|
31
|
+
this.attachEvents();
|
|
32
|
+
this.ariaHidden = 'true';
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
override disconnectedCallback() {
|
|
36
|
+
super.disconnectedCallback();
|
|
37
|
+
|
|
38
|
+
this.dettachEvents();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
private attachEvents(): void {
|
|
42
|
+
|
|
43
|
+
this.addEventListener('mousedown', this.handleMouseDown);
|
|
44
|
+
this.addEventListener('touchstart', this.handleTouchStart);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
private dettachEvents(): void {
|
|
48
|
+
|
|
49
|
+
this.removeEventListener('mousedown', this.handleMouseDown);
|
|
50
|
+
this.removeEventListener('touchstart', this.handleTouchStart);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
private handleMouseDown(e: MouseEvent): void {
|
|
54
|
+
|
|
55
|
+
if (this.isTouching || !this.canCreateRipple()) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
this.createRipple(e.clientX, e.clientY, 'mouseup');
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
private handleTouchStart(e: TouchEvent): void {
|
|
63
|
+
|
|
64
|
+
if (!this.canCreateRipple()) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
this.isTouching = true;
|
|
69
|
+
|
|
70
|
+
const dismiss = this.createRipple(e.touches[0].clientX, e.touches[0].clientY, 'touchend')!;
|
|
71
|
+
|
|
72
|
+
this.addEventListener('touchmove', dismiss);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
private canCreateRipple(): boolean {
|
|
76
|
+
return !this.disabled;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
createRipple(targetX: number | null = null, targetY: number | null = null, releaseEventName: string | null = null): (() => void) | null {
|
|
80
|
+
const preClientRect = this.rippleContainer.getBoundingClientRect();
|
|
81
|
+
targetX ??= preClientRect.x + this.rippleContainer.clientWidth / 2;
|
|
82
|
+
targetY ??= preClientRect.y + this.rippleContainer.clientHeight / 2;
|
|
83
|
+
|
|
84
|
+
const ripple = document.createElement('DIV');
|
|
85
|
+
ripple.classList.add('ripple');
|
|
86
|
+
this.rippleContainer.appendChild(ripple);
|
|
87
|
+
|
|
88
|
+
requestAnimationFrame(() => {
|
|
89
|
+
const clientRect = this.getBoundingClientRect();
|
|
90
|
+
const largestDimensionSize = Math.max(this.clientWidth, this.clientHeight);
|
|
91
|
+
const rippleSize = largestDimensionSize * 2;
|
|
92
|
+
|
|
93
|
+
UmRipple._setElementSquareSizeAndCenter(ripple, rippleSize);
|
|
94
|
+
ripple.style.setProperty('--_ripple-transition-duration', `${1080 * Math.pow(rippleSize, 0.3)}ms`);
|
|
95
|
+
|
|
96
|
+
const x = (targetX - clientRect.left) + ((rippleSize - this.rippleContainer.clientWidth) / 2);
|
|
97
|
+
const y = (targetY - clientRect.top) + ((rippleSize - this.rippleContainer.clientHeight) / 2);
|
|
98
|
+
|
|
99
|
+
ripple.style.transformOrigin = `${x}px ${y}px`;
|
|
100
|
+
ripple.classList.add(releaseEventName ? 'show' : 'show-forced');
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
const interval = setInterval(() => {
|
|
104
|
+
|
|
105
|
+
if (!ripple.classList.contains('dismiss') && !ripple.classList.contains('show-forced')) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
const animations = ripple.getAnimations();
|
|
110
|
+
|
|
111
|
+
if (animations.length) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
clearInterval(interval);
|
|
116
|
+
ripple.remove();
|
|
117
|
+
}, 1000);
|
|
118
|
+
|
|
119
|
+
if (!releaseEventName) {
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return this.createDismissEvent(ripple, releaseEventName);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
private createDismissEvent(ripple: HTMLElement, releaseEventName: string): () => void {
|
|
127
|
+
const dismiss = () => {
|
|
128
|
+
ripple.classList.add('dismiss');
|
|
129
|
+
|
|
130
|
+
this.isTouching = false;
|
|
131
|
+
|
|
132
|
+
this.removeEventListener('dragover', dismiss);
|
|
133
|
+
this.removeEventListener('mouseleave', dismiss);
|
|
134
|
+
window.removeEventListener(releaseEventName, dismiss);
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
this.addEventListener('dragover', dismiss);
|
|
138
|
+
this.addEventListener('mouseleave', dismiss);
|
|
139
|
+
window.addEventListener(releaseEventName, dismiss);
|
|
140
|
+
|
|
141
|
+
return dismiss;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
private static _setElementSquareSizeAndCenter(element: HTMLElement, size: number) {
|
|
145
|
+
element.style.top = '50%';
|
|
146
|
+
element.style.left = '50%';
|
|
147
|
+
element.style.width = `${size}px`;
|
|
148
|
+
element.style.height = `${size}px`;
|
|
149
|
+
element.style.marginLeft = `${-size / 2}px`;
|
|
150
|
+
element.style.marginTop = `${-size / 2}px`;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
declare global {
|
|
155
|
+
interface HTMLElementTagNameMap {
|
|
156
|
+
'u-ripple': UmRipple;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
@use "../scss/api";
|
|
2
|
+
|
|
3
|
+
:host(.selected) {
|
|
4
|
+
background-color: var(--u-select-option-selected-bg-color, #{api.get-color-transparency-mix(api.get-color-var(primary), 12%)});
|
|
5
|
+
|
|
6
|
+
.icon,
|
|
7
|
+
.content {
|
|
8
|
+
color: var(--u-select-option-selected-text-color, #{api.get-color-var(primary)});
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
:host(:not(.selected):not([has-trailing-icon])) {
|
|
13
|
+
.trailing {
|
|
14
|
+
display: none;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { svg, TemplateResult } from 'lit';
|
|
2
|
+
import { customElement, property, state } from 'lit/decorators.js';
|
|
3
|
+
|
|
4
|
+
import { UmMenuItem } from '../menu/menu-item.js';
|
|
5
|
+
import { ExtendedOption } from './extended-option.js';
|
|
6
|
+
import { styles } from './option.styles.js';
|
|
7
|
+
import { UmSelect } from './select.js';
|
|
8
|
+
|
|
9
|
+
import './select.js';
|
|
10
|
+
|
|
11
|
+
@customElement('u-option')
|
|
12
|
+
export class UmOption extends UmMenuItem {
|
|
13
|
+
static override styles = [UmMenuItem.styles, styles];
|
|
14
|
+
|
|
15
|
+
_nativeOption: ExtendedOption = (() => {
|
|
16
|
+
const option = document.createElement('option') as ExtendedOption;
|
|
17
|
+
option._parent = this;
|
|
18
|
+
|
|
19
|
+
if (this.hasAttribute('selected')) {
|
|
20
|
+
option.setAttribute('selected', '');
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
option.textContent = this.textContent;
|
|
24
|
+
|
|
25
|
+
return option;
|
|
26
|
+
})();
|
|
27
|
+
|
|
28
|
+
@property({ reflect: true })
|
|
29
|
+
get value(): string {
|
|
30
|
+
return this._nativeOption.value;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
set value(value: string) {
|
|
34
|
+
this._nativeOption.value = value;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@state()
|
|
38
|
+
get selected(): boolean {
|
|
39
|
+
return this._nativeOption.selected;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
set selected(selected: boolean) {
|
|
43
|
+
if (this.selected === selected) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
this._nativeOption.selected = selected;
|
|
48
|
+
|
|
49
|
+
if (selected) {
|
|
50
|
+
this.classList.add('selected');
|
|
51
|
+
} else {
|
|
52
|
+
this.classList.remove('selected');
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (!this._select) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// this._select._button.setAttribute('aria-labelledby', this._listItem.id);
|
|
60
|
+
this._select.empty = !this._nativeOption.textContent?.trim();
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
protected override renderDefaultTrailingIcon(): TemplateResult {
|
|
64
|
+
return svg`
|
|
65
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 -960 960 960" width="1em" fill="currentColor">
|
|
66
|
+
<path d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z"/>
|
|
67
|
+
</svg>`;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@property({ type: Boolean, attribute: 'selected' })
|
|
71
|
+
// @ts-ignore
|
|
72
|
+
private get _selectedAttribute(): boolean {
|
|
73
|
+
return this._nativeOption.hasAttribute('selected');
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// @ts-ignore
|
|
77
|
+
private set _selectedAttribute(selected: boolean) {
|
|
78
|
+
if (selected) {
|
|
79
|
+
this._nativeOption.setAttribute('selected', '');
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
this._nativeOption.removeAttribute('selected');
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
_select!: UmSelect | null;
|
|
87
|
+
|
|
88
|
+
override connectedCallback() {
|
|
89
|
+
super.connectedCallback();
|
|
90
|
+
this.addEventListener('click', this.#handleClick);
|
|
91
|
+
this.setAttribute('tabindex', '-1');
|
|
92
|
+
|
|
93
|
+
this.#attach();
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
override disconnectedCallback() {
|
|
97
|
+
super.disconnectedCallback();
|
|
98
|
+
this.removeEventListener('click', this.#handleClick);
|
|
99
|
+
|
|
100
|
+
if (this._select === this.parentElement) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
this._nativeOption.remove();
|
|
105
|
+
|
|
106
|
+
if (!this._select) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
this._select.value = this._select.value;
|
|
111
|
+
this._select = null;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
async #attach(): Promise<void> {
|
|
115
|
+
if (this._select === this.parentElement) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
this._select = this.parentElement instanceof UmSelect ? this.parentElement : null;
|
|
120
|
+
|
|
121
|
+
await this.#setNativeOption();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
#handleClick(e: Event) {
|
|
125
|
+
if (!this._select) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
e.stopPropagation();
|
|
130
|
+
|
|
131
|
+
this.setSelectedByUser();
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
setSelectedByUser() {
|
|
135
|
+
if (!this._select) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
this._select.selectedOptions[0]?.classList.remove('selected');
|
|
140
|
+
this.selected = true;
|
|
141
|
+
|
|
142
|
+
this._select.value = this._select.value;
|
|
143
|
+
this._select.dispatchEvent(new InputEvent('input', { bubbles: true, composed: true }));
|
|
144
|
+
this._select.dispatchEvent(new Event('change', { bubbles: true }));
|
|
145
|
+
|
|
146
|
+
this._select._menu?.close();
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
#updateContent() {
|
|
150
|
+
this._nativeOption.textContent = this.textContent;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
async #setNativeOption(): Promise<void> {
|
|
154
|
+
await this.updateComplete;
|
|
155
|
+
this.#updateContent();
|
|
156
|
+
|
|
157
|
+
this._select?._updateOptions();
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
declare global {
|
|
162
|
+
interface HTMLElementTagNameMap {
|
|
163
|
+
'u-option': UmOption;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { normalizedStartsWith } from '../shared/compare-text.js';
|
|
2
|
+
import { MenuFieldNavigationController } from '../shared/menu-field/menu-field-navigation-controller.js';
|
|
3
|
+
import { UmOption } from './option.js';
|
|
4
|
+
import { UmSelect } from './select.js';
|
|
5
|
+
|
|
6
|
+
const getCleanTypeaheadStatus = () => ({
|
|
7
|
+
typing: false,
|
|
8
|
+
repeating: false,
|
|
9
|
+
buffer: '',
|
|
10
|
+
timeoutId: 0,
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
export class SelectNavigationController extends MenuFieldNavigationController<UmSelect, UmOption> {
|
|
14
|
+
#typeaheadStatus = getCleanTypeaheadStatus();
|
|
15
|
+
|
|
16
|
+
protected override handleKeyDown(event: KeyboardEvent): boolean {
|
|
17
|
+
if (this.host._menu.open) {
|
|
18
|
+
const handled = super.handleKeyDown(event);
|
|
19
|
+
|
|
20
|
+
return handled || this.handleType(event);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const isDown = event.key === 'ArrowDown';
|
|
24
|
+
const isUp = event.key === 'ArrowUp';
|
|
25
|
+
|
|
26
|
+
if (!isDown && !isUp) {
|
|
27
|
+
return this.handleType(event);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
event.preventDefault();
|
|
31
|
+
this.host._menu.show();
|
|
32
|
+
|
|
33
|
+
if (!this.host.selectedOptions.length) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const option = this.host.selectedOptions[0];
|
|
38
|
+
this.navigateTo(event, option, this.host._menuItems.indexOf(option));
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
override attach(element: HTMLElement) {
|
|
43
|
+
super.attach(element);
|
|
44
|
+
this.host._menu.addEventListener('menu-item-mouseenter', this.#handleMouseFocus);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
override detach() {
|
|
48
|
+
super.detach();
|
|
49
|
+
this.host._menu.removeEventListener('menu-item-mouseenter', this.#handleMouseFocus);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
readonly #handleMouseFocus = (e: Event) => {
|
|
53
|
+
this.blurMenu();
|
|
54
|
+
const option = e.target as UmOption;
|
|
55
|
+
this.focusMenu(option, this.host._menuItems.indexOf(option), false, false);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
protected override afterFocus(_: UmOption, index: number) {
|
|
59
|
+
this.host._button.setAttribute('aria-activedescendant', `item-${index + 1}`);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
protected override afterBlur() {
|
|
63
|
+
this.host._button.removeAttribute('aria-activedescendant');
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
private handleType(event: KeyboardEvent) {
|
|
67
|
+
if (event.key.length > 1) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (this.#typeaheadStatus.timeoutId) {
|
|
72
|
+
clearTimeout(this.#typeaheadStatus.timeoutId);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const lastFocusedMenu = this.focusedMenu;
|
|
76
|
+
|
|
77
|
+
this.#typeaheadStatus.buffer += event.key;
|
|
78
|
+
|
|
79
|
+
this.#typeaheadStatus.timeoutId = setTimeout(() => this.#typeaheadStatus = getCleanTypeaheadStatus(), 1000);
|
|
80
|
+
|
|
81
|
+
const term =
|
|
82
|
+
this.#typeaheadStatus.buffer.replaceAll(event.key, '') === '' ? event.key : this.#typeaheadStatus.buffer;
|
|
83
|
+
this.findNextElementByTerm(term, lastFocusedMenu);
|
|
84
|
+
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
private findNextElementByTerm(term: string, lastFocusedMenu: UmOption | null): void {
|
|
89
|
+
const options = this.host._options;
|
|
90
|
+
const lastFocusedMenuIndex = lastFocusedMenu ? options.indexOf(lastFocusedMenu) : -1;
|
|
91
|
+
|
|
92
|
+
let nextMenu =
|
|
93
|
+
lastFocusedMenuIndex > -1 ? this.host._options[lastFocusedMenuIndex + 1] as UmOption | undefined : null;
|
|
94
|
+
|
|
95
|
+
if (!nextMenu || !normalizedStartsWith(nextMenu.textContent, term)) {
|
|
96
|
+
nextMenu = options.find(o => normalizedStartsWith(o.textContent, term));
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (!nextMenu) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const nextMenuIndex = options.indexOf(nextMenu);
|
|
104
|
+
|
|
105
|
+
if (this.host._menu.open) {
|
|
106
|
+
this.blurMenu();
|
|
107
|
+
this.focusMenu(nextMenu, nextMenuIndex);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
nextMenu.setSelectedByUser();
|
|
112
|
+
}
|
|
113
|
+
}
|