igniteui-webcomponents 3.1.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -0
- package/README.md +56 -1
- package/components/accordion/accordion.d.ts +36 -0
- package/components/accordion/accordion.js +127 -0
- package/components/accordion/accordion.js.map +1 -0
- package/components/{nav-drawer/styles/indigo/nav-drawer-header-item.indigo.css.d.ts → accordion/themes/accordion.base.css.d.ts} +0 -0
- package/components/accordion/themes/accordion.base.css.js +3 -0
- package/components/accordion/themes/accordion.base.css.js.map +1 -0
- package/components/badge/themes/light/badge.bootstrap.css.js +1 -1
- package/components/badge/themes/light/badge.bootstrap.css.js.map +1 -1
- package/components/button/button-base.d.ts +6 -1
- package/components/button/button-base.js +4 -0
- package/components/button/button-base.js.map +1 -1
- package/components/button/icon-button.d.ts +0 -1
- package/components/button/icon-button.js +13 -9
- package/components/button/icon-button.js.map +1 -1
- package/components/button/themes/button/light/button.base.css.js +1 -1
- package/components/button/themes/button/light/button.base.css.js.map +1 -1
- package/components/button/themes/button/light/button.material.css.js +1 -1
- package/components/button/themes/button/light/button.material.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.base.css.js +1 -1
- package/components/button/themes/icon-button/light/icon-button.base.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js +1 -1
- package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.fluent.css.js +1 -1
- package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.indigo.css.js +1 -1
- package/components/button/themes/icon-button/light/icon-button.indigo.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.material.css.js +1 -1
- package/components/button/themes/icon-button/light/icon-button.material.css.js.map +1 -1
- package/components/calendar/calendar.d.ts +1 -5
- package/components/calendar/calendar.js +6 -4
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/common/calendar-base.js +16 -12
- package/components/calendar/common/calendar-base.js.map +1 -1
- package/components/calendar/common/calendar.model.js.map +1 -1
- package/components/calendar/days-view/days-view.d.ts +2 -1
- package/components/calendar/days-view/days-view.js +2 -2
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/calendar/months-view/months-view.d.ts +2 -1
- package/components/calendar/months-view/months-view.js +2 -2
- package/components/calendar/months-view/months-view.js.map +1 -1
- package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js +1 -1
- package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js.map +1 -1
- package/components/calendar/years-view/years-view.d.ts +2 -1
- package/components/calendar/years-view/years-view.js +2 -2
- package/components/calendar/years-view/years-view.js.map +1 -1
- package/components/card/card.header.js +2 -0
- package/components/card/card.header.js.map +1 -1
- package/components/card/card.js +6 -0
- package/components/card/card.js.map +1 -1
- package/components/card/themes/light/card.header.bootstrap.css.js +1 -1
- package/components/card/themes/light/card.header.bootstrap.css.js.map +1 -1
- package/components/{nav-drawer/styles/indigo/nav-drawer-item.indigo.css.d.ts → card/themes/light/card.header.fluent.css.d.ts} +0 -0
- package/components/card/themes/light/card.header.fluent.css.js +3 -0
- package/components/card/themes/light/card.header.fluent.css.js.map +1 -0
- package/components/checkbox/checkbox-base.d.ts +1 -1
- package/components/checkbox/checkbox.d.ts +1 -0
- package/components/checkbox/checkbox.js +6 -5
- package/components/checkbox/checkbox.js.map +1 -1
- package/components/checkbox/switch.d.ts +1 -0
- package/components/checkbox/switch.js +6 -5
- package/components/checkbox/switch.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.base.css.js +1 -1
- package/components/checkbox/themes/light/checkbox.base.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.bootstrap.css.js +1 -1
- package/components/checkbox/themes/light/checkbox.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.fluent.css.js +1 -1
- package/components/checkbox/themes/light/checkbox.fluent.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.indigo.css.js +1 -1
- package/components/checkbox/themes/light/checkbox.indigo.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.material.css.js +1 -1
- package/components/checkbox/themes/light/checkbox.material.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.base.css.js +1 -1
- package/components/checkbox/themes/light/switch.base.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.fluent.css.js +1 -1
- package/components/checkbox/themes/light/switch.fluent.css.js.map +1 -1
- package/components/chip/chip.d.ts +1 -2
- package/components/chip/chip.js +3 -1
- package/components/chip/chip.js.map +1 -1
- package/components/chip/themes/chip.base.css.js +1 -1
- package/components/chip/themes/chip.base.css.js.map +1 -1
- package/components/chip/themes/chip.bootstrap.css.js +1 -1
- package/components/chip/themes/chip.bootstrap.css.js.map +1 -1
- package/components/chip/themes/chip.fluent.css.js +1 -1
- package/components/chip/themes/chip.fluent.css.js.map +1 -1
- package/components/chip/themes/chip.indigo.css.js +1 -1
- package/components/chip/themes/chip.indigo.css.js.map +1 -1
- package/components/chip/themes/chip.material.css.js +1 -1
- package/components/chip/themes/chip.material.css.js.map +1 -1
- package/components/common/decorators/blazorAdditionalDependencies.d.ts +5 -0
- package/components/common/decorators/blazorAdditionalDependencies.js +6 -0
- package/components/common/decorators/blazorAdditionalDependencies.js.map +1 -0
- package/components/common/decorators/index.d.ts +1 -0
- package/components/common/decorators/index.js +1 -0
- package/components/common/decorators/index.js.map +1 -1
- package/components/common/definitions/defineAllComponents.js +18 -0
- package/components/common/definitions/defineAllComponents.js.map +1 -1
- package/components/common/i18n/calendar.resources.js.map +1 -1
- package/components/common/mixins/constructor.d.ts +1 -0
- package/components/common/mixins/constructor.js.map +1 -1
- package/components/common/mixins/event-emitter.d.ts +2 -2
- package/components/common/mixins/event-emitter.js +2 -2
- package/components/common/mixins/event-emitter.js.map +1 -1
- package/components/common/types.d.ts +1 -0
- package/components/common/types.js +2 -0
- package/components/common/types.js.map +1 -0
- package/components/common/util.d.ts +18 -0
- package/components/common/util.js +17 -0
- package/components/common/util.js.map +1 -1
- package/components/date-time-input/date-time-input.d.ts +110 -0
- package/components/date-time-input/date-time-input.js +505 -0
- package/components/date-time-input/date-time-input.js.map +1 -0
- package/components/date-time-input/date-util.d.ts +89 -0
- package/components/date-time-input/date-util.js +597 -0
- package/components/date-time-input/date-util.js.map +1 -0
- package/components/dropdown/dropdown-group.d.ts +3 -2
- package/components/dropdown/dropdown-group.js +9 -10
- package/components/dropdown/dropdown-group.js.map +1 -1
- package/components/dropdown/dropdown.d.ts +25 -21
- package/components/dropdown/dropdown.js +63 -79
- package/components/dropdown/dropdown.js.map +1 -1
- package/components/expansion-panel/expansion-panel.d.ts +73 -0
- package/components/expansion-panel/expansion-panel.js +173 -0
- package/components/expansion-panel/expansion-panel.js.map +1 -0
- package/components/{nav-drawer/styles/indigo/nav-drawer.indigo.css.d.ts → expansion-panel/themes/light/expansion-panel.base.css.d.ts} +0 -0
- package/components/expansion-panel/themes/light/expansion-panel.base.css.js +3 -0
- package/components/expansion-panel/themes/light/expansion-panel.base.css.js.map +1 -0
- package/components/{nav-drawer/styles/nav-drawer-header-item.base.css.d.ts → expansion-panel/themes/light/expansion-panel.bootstrap.css.d.ts} +0 -0
- package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js +3 -0
- package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js.map +1 -0
- package/components/{nav-drawer/styles/nav-drawer-item.base.css.d.ts → expansion-panel/themes/light/expansion-panel.fluent.css.d.ts} +0 -0
- package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js +3 -0
- package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js.map +1 -0
- package/components/{nav-drawer/styles/nav-drawer.base.css.d.ts → expansion-panel/themes/light/expansion-panel.indigo.css.d.ts} +0 -0
- package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js +3 -0
- package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js.map +1 -0
- package/components/form/form.d.ts +1 -1
- package/components/form/form.js +12 -2
- package/components/form/form.js.map +1 -1
- package/components/icon/icon.js +3 -7
- package/components/icon/icon.js.map +1 -1
- package/components/icon/icon.material.css.js +1 -1
- package/components/icon/icon.material.css.js.map +1 -1
- package/components/icon/icon.registry.js +5 -0
- package/components/icon/icon.registry.js.map +1 -1
- package/components/input/input-base.d.ts +7 -3
- package/components/input/input-base.js +16 -11
- package/components/input/input-base.js.map +1 -1
- package/components/input/input.d.ts +1 -4
- package/components/input/input.js +8 -4
- package/components/input/input.js.map +1 -1
- package/components/input/themes/light/input.base.css.js +1 -1
- package/components/input/themes/light/input.base.css.js.map +1 -1
- package/components/input/themes/light/input.bootstrap.css.js +1 -1
- package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
- package/components/list/list.js +4 -0
- package/components/list/list.js.map +1 -1
- package/components/list/themes/light/list-item.bootstrap.css.js +1 -1
- package/components/list/themes/light/list-item.bootstrap.css.js.map +1 -1
- package/components/list/themes/light/list-item.fluent.css.js +1 -1
- package/components/list/themes/light/list-item.fluent.css.js.map +1 -1
- package/components/list/themes/light/list-item.indigo.css.js +1 -1
- package/components/list/themes/light/list-item.indigo.css.js.map +1 -1
- package/components/list/themes/light/list.base.css.js +1 -1
- package/components/list/themes/light/list.base.css.js.map +1 -1
- package/components/mask-input/mask-input-base.d.ts +38 -0
- package/components/mask-input/mask-input-base.js +110 -0
- package/components/mask-input/mask-input-base.js.map +1 -0
- package/components/mask-input/mask-input.d.ts +71 -0
- package/components/mask-input/mask-input.js +182 -0
- package/components/mask-input/mask-input.js.map +1 -0
- package/components/mask-input/mask-parser.d.ts +30 -0
- package/components/mask-input/mask-parser.js +167 -0
- package/components/mask-input/mask-parser.js.map +1 -0
- package/components/nav-drawer/nav-drawer-header-item.js +4 -3
- package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
- package/components/nav-drawer/nav-drawer-item.d.ts +1 -0
- package/components/nav-drawer/nav-drawer-item.js +9 -5
- package/components/nav-drawer/nav-drawer-item.js.map +1 -1
- package/components/nav-drawer/nav-drawer.js +6 -2
- package/components/nav-drawer/nav-drawer.js.map +1 -1
- package/components/{snackbar/themes/snackbar.base.css.d.ts → nav-drawer/themes/dark/nav-drawer-item.base.css.d.ts} +0 -0
- package/components/nav-drawer/themes/dark/nav-drawer-item.base.css.js +3 -0
- package/components/nav-drawer/themes/dark/nav-drawer-item.base.css.js.map +1 -0
- package/components/{snackbar/themes/snackbar.bootstrap.css.d.ts → nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.d.ts} +0 -0
- package/components/nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.js +3 -0
- package/components/nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.js.map +1 -0
- package/components/{snackbar/themes/snackbar.fluent.css.d.ts → nav-drawer/themes/dark/nav-drawer-item.fluent.css.d.ts} +0 -0
- package/components/nav-drawer/themes/dark/nav-drawer-item.fluent.css.js +3 -0
- package/components/nav-drawer/themes/dark/nav-drawer-item.fluent.css.js.map +1 -0
- package/components/{snackbar/themes/snackbar.indigo.css.d.ts → nav-drawer/themes/dark/nav-drawer-item.indigo.css.d.ts} +0 -0
- package/components/nav-drawer/themes/dark/nav-drawer-item.indigo.css.js +3 -0
- package/components/nav-drawer/themes/dark/nav-drawer-item.indigo.css.js.map +1 -0
- package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.d.ts +1 -0
- package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.js +3 -0
- package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.js.map +1 -0
- package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.d.ts +1 -0
- package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.js +3 -0
- package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.js.map +1 -0
- package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.d.ts +1 -0
- package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.js +3 -0
- package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.js.map +1 -0
- package/components/nav-drawer/themes/light/indigo/nav-drawer-header-item.indigo.css.d.ts +1 -0
- package/components/nav-drawer/{styles → themes/light}/indigo/nav-drawer-header-item.indigo.css.js +0 -0
- package/components/nav-drawer/themes/light/indigo/nav-drawer-header-item.indigo.css.js.map +1 -0
- package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.d.ts +1 -0
- package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js +3 -0
- package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js.map +1 -0
- package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.d.ts +1 -0
- package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js +3 -0
- package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js.map +1 -0
- package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.d.ts +1 -0
- package/components/nav-drawer/{styles → themes/light}/nav-drawer-header-item.base.css.js +1 -1
- package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js.map +1 -0
- package/components/nav-drawer/themes/light/nav-drawer-item.base.css.d.ts +1 -0
- package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js +3 -0
- package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js.map +1 -0
- package/components/nav-drawer/themes/light/nav-drawer.base.css.d.ts +1 -0
- package/components/nav-drawer/{styles → themes/light}/nav-drawer.base.css.js +1 -1
- package/components/nav-drawer/themes/light/nav-drawer.base.css.js.map +1 -0
- package/components/navbar/navbar.js +2 -1
- package/components/navbar/navbar.js.map +1 -1
- package/components/navbar/themes/light/navbar.base.css.js +1 -1
- package/components/navbar/themes/light/navbar.base.css.js.map +1 -1
- package/components/navbar/themes/light/navbar.bootstrap.css.js +1 -1
- package/components/navbar/themes/light/navbar.bootstrap.css.js.map +1 -1
- package/components/navbar/themes/light/navbar.fluent.css.d.ts +1 -0
- package/components/navbar/themes/light/navbar.fluent.css.js +3 -0
- package/components/navbar/themes/light/navbar.fluent.css.js.map +1 -0
- package/components/progress/circular-progress.d.ts +1 -1
- package/components/progress/circular-progress.js +3 -0
- package/components/progress/circular-progress.js.map +1 -1
- package/components/radio/radio.d.ts +2 -1
- package/components/radio/radio.js +6 -5
- package/components/radio/radio.js.map +1 -1
- package/components/radio/themes/light/radio.base.css.js +1 -1
- package/components/radio/themes/light/radio.base.css.js.map +1 -1
- package/components/radio/themes/light/radio.fluent.css.js +1 -1
- package/components/radio/themes/light/radio.fluent.css.js.map +1 -1
- package/components/rating/rating-symbol.base.css.d.ts +1 -0
- package/components/rating/rating-symbol.base.css.js +3 -0
- package/components/rating/rating-symbol.base.css.js.map +1 -0
- package/components/rating/rating-symbol.d.ts +8 -2
- package/components/rating/rating-symbol.js +12 -3
- package/components/rating/rating-symbol.js.map +1 -1
- package/components/rating/rating.base.css.js +1 -1
- package/components/rating/rating.base.css.js.map +1 -1
- package/components/rating/rating.bootstrap.css.js +1 -1
- package/components/rating/rating.bootstrap.css.js.map +1 -1
- package/components/rating/rating.d.ts +19 -14
- package/components/rating/rating.fluent.css.js +1 -1
- package/components/rating/rating.fluent.css.js.map +1 -1
- package/components/rating/rating.indigo.css.js +1 -1
- package/components/rating/rating.indigo.css.js.map +1 -1
- package/components/rating/rating.js +86 -44
- package/components/rating/rating.js.map +1 -1
- package/components/slider/range-slider.d.ts +1 -1
- package/components/slider/range-slider.js.map +1 -1
- package/components/slider/slider-base.js +4 -1
- package/components/slider/slider-base.js.map +1 -1
- package/components/slider/slider.d.ts +1 -1
- package/components/slider/themes/light/slider.base.css.js +1 -1
- package/components/slider/themes/light/slider.base.css.js.map +1 -1
- package/components/slider/themes/light/slider.bootstrap.css.js +1 -1
- package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
- package/components/slider/themes/light/slider.fluent.css.js +1 -1
- package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
- package/components/slider/themes/light/slider.indigo.css.js +1 -1
- package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
- package/components/slider/themes/light/slider.material.css.js +1 -1
- package/components/slider/themes/light/slider.material.css.js.map +1 -1
- package/components/snackbar/snackbar.d.ts +1 -1
- package/components/snackbar/snackbar.js +8 -4
- package/components/snackbar/snackbar.js.map +1 -1
- package/components/snackbar/themes/dark/snackbar.indigo.css.d.ts +1 -0
- package/components/snackbar/themes/dark/snackbar.indigo.css.js +3 -0
- package/components/snackbar/themes/dark/snackbar.indigo.css.js.map +1 -0
- package/components/snackbar/themes/light/snackbar.base.css.d.ts +1 -0
- package/components/snackbar/themes/light/snackbar.base.css.js +3 -0
- package/components/snackbar/themes/light/snackbar.base.css.js.map +1 -0
- package/components/snackbar/themes/light/snackbar.bootstrap.css.d.ts +1 -0
- package/components/snackbar/themes/light/snackbar.bootstrap.css.js +3 -0
- package/components/snackbar/themes/light/snackbar.bootstrap.css.js.map +1 -0
- package/components/snackbar/themes/light/snackbar.fluent.css.d.ts +1 -0
- package/components/snackbar/themes/light/snackbar.fluent.css.js +3 -0
- package/components/snackbar/themes/light/snackbar.fluent.css.js.map +1 -0
- package/components/snackbar/themes/light/snackbar.indigo.css.d.ts +1 -0
- package/components/snackbar/themes/light/snackbar.indigo.css.js +3 -0
- package/components/snackbar/themes/light/snackbar.indigo.css.js.map +1 -0
- package/components/tabs/tab-panel.d.ts +20 -0
- package/components/tabs/tab-panel.js +20 -0
- package/components/tabs/tab-panel.js.map +1 -0
- package/components/tabs/tab.d.ts +37 -0
- package/components/tabs/tab.js +71 -0
- package/components/tabs/tab.js.map +1 -0
- package/components/tabs/tabs.d.ts +79 -0
- package/components/tabs/tabs.js +316 -0
- package/components/tabs/tabs.js.map +1 -0
- package/components/tabs/themes/dark/tab.dark.base.css.d.ts +1 -0
- package/components/tabs/themes/dark/tab.dark.base.css.js +3 -0
- package/components/tabs/themes/dark/tab.dark.base.css.js.map +1 -0
- package/components/tabs/themes/dark/tab.dark.bootstrap.css.d.ts +1 -0
- package/components/tabs/themes/dark/tab.dark.bootstrap.css.js +3 -0
- package/components/tabs/themes/dark/tab.dark.bootstrap.css.js.map +1 -0
- package/components/tabs/themes/light/tab-panel.base.css.d.ts +1 -0
- package/components/tabs/themes/light/tab-panel.base.css.js +3 -0
- package/components/tabs/themes/light/tab-panel.base.css.js.map +1 -0
- package/components/tabs/themes/light/tab.base.css.d.ts +1 -0
- package/components/tabs/themes/light/tab.base.css.js +3 -0
- package/components/tabs/themes/light/tab.base.css.js.map +1 -0
- package/components/tabs/themes/light/tab.bootstrap.css.d.ts +1 -0
- package/components/tabs/themes/light/tab.bootstrap.css.js +3 -0
- package/components/tabs/themes/light/tab.bootstrap.css.js.map +1 -0
- package/components/tabs/themes/light/tab.fluent.css.d.ts +1 -0
- package/components/tabs/themes/light/tab.fluent.css.js +3 -0
- package/components/tabs/themes/light/tab.fluent.css.js.map +1 -0
- package/components/tabs/themes/light/tab.indigo.css.d.ts +1 -0
- package/components/tabs/themes/light/tab.indigo.css.js +3 -0
- package/components/tabs/themes/light/tab.indigo.css.js.map +1 -0
- package/components/tabs/themes/light/tabs.base.css.d.ts +1 -0
- package/components/tabs/themes/light/tabs.base.css.js +3 -0
- package/components/tabs/themes/light/tabs.base.css.js.map +1 -0
- package/components/tabs/themes/light/tabs.bootstrap.css.d.ts +1 -0
- package/components/tabs/themes/light/tabs.bootstrap.css.js +3 -0
- package/components/tabs/themes/light/tabs.bootstrap.css.js.map +1 -0
- package/components/tabs/themes/light/tabs.fluent.css.d.ts +1 -0
- package/components/tabs/themes/light/tabs.fluent.css.js +3 -0
- package/components/tabs/themes/light/tabs.fluent.css.js.map +1 -0
- package/components/tabs/themes/light/tabs.indigo.css.d.ts +1 -0
- package/components/tabs/themes/light/tabs.indigo.css.js +3 -0
- package/components/tabs/themes/light/tabs.indigo.css.js.map +1 -0
- package/components/tabs/utils.d.ts +14 -0
- package/components/tabs/utils.js +32 -0
- package/components/tabs/utils.js.map +1 -0
- package/components/toast/themes/toast.base.css.js +1 -1
- package/components/toast/themes/toast.base.css.js.map +1 -1
- package/components/toggle/toggle.controller.d.ts +17 -2
- package/components/toggle/toggle.controller.js +16 -11
- package/components/toggle/toggle.controller.js.map +1 -1
- package/components/toggle/toggle.directive.d.ts +1 -1
- package/components/toggle/toggle.directive.js +6 -4
- package/components/toggle/toggle.directive.js.map +1 -1
- package/components/tree/themes/dark/tree-item.bootstrap.css.d.ts +1 -0
- package/components/tree/themes/dark/tree-item.bootstrap.css.js +3 -0
- package/components/tree/themes/dark/tree-item.bootstrap.css.js.map +1 -0
- package/components/tree/themes/dark/tree-item.fluent.css.d.ts +1 -0
- package/components/tree/themes/dark/tree-item.fluent.css.js +3 -0
- package/components/tree/themes/dark/tree-item.fluent.css.js.map +1 -0
- package/components/tree/themes/dark/tree-item.indigo.css.d.ts +1 -0
- package/components/tree/themes/dark/tree-item.indigo.css.js +3 -0
- package/components/tree/themes/dark/tree-item.indigo.css.js.map +1 -0
- package/components/tree/themes/light/tree-item.base.css.d.ts +1 -0
- package/components/tree/themes/light/tree-item.base.css.js +3 -0
- package/components/tree/themes/light/tree-item.base.css.js.map +1 -0
- package/components/tree/themes/light/tree-item.bootstrap.css.d.ts +1 -0
- package/components/tree/themes/light/tree-item.bootstrap.css.js +3 -0
- package/components/tree/themes/light/tree-item.bootstrap.css.js.map +1 -0
- package/components/tree/themes/light/tree-item.fluent.css.d.ts +1 -0
- package/components/tree/themes/light/tree-item.fluent.css.js +3 -0
- package/components/tree/themes/light/tree-item.fluent.css.js.map +1 -0
- package/components/tree/themes/light/tree-item.indigo.css.d.ts +1 -0
- package/components/tree/themes/light/tree-item.indigo.css.js +3 -0
- package/components/tree/themes/light/tree-item.indigo.css.js.map +1 -0
- package/components/tree/themes/light/tree.base.css.d.ts +1 -0
- package/components/tree/themes/light/tree.base.css.js +3 -0
- package/components/tree/themes/light/tree.base.css.js.map +1 -0
- package/components/tree/tree-item.d.ts +116 -0
- package/components/tree/tree-item.js +465 -0
- package/components/tree/tree-item.js.map +1 -0
- package/components/tree/tree.common.d.ts +17 -0
- package/components/tree/tree.common.js +2 -0
- package/components/tree/tree.common.js.map +1 -0
- package/components/tree/tree.d.ts +71 -0
- package/components/tree/tree.js +169 -0
- package/components/tree/tree.js.map +1 -0
- package/components/tree/tree.navigation.d.ts +41 -0
- package/components/tree/tree.navigation.js +260 -0
- package/components/tree/tree.navigation.js.map +1 -0
- package/components/tree/tree.selection.d.ts +55 -0
- package/components/tree/tree.selection.js +265 -0
- package/components/tree/tree.selection.js.map +1 -0
- package/custom-elements.json +2754 -1522
- package/index.d.ts +12 -8
- package/index.js +9 -7
- package/index.js.map +1 -1
- package/package.json +10 -8
- package/themes/dark/bootstrap.css +1 -1
- package/themes/dark/fluent.css +1 -1
- package/themes/dark/indigo.css +1 -1
- package/themes/dark/material.css +1 -1
- package/themes/light/bootstrap.css +1 -1
- package/themes/light/fluent.css +1 -1
- package/vscode-html-custom-data.json +515 -72
- package/components/nav-drawer/styles/indigo/nav-drawer-header-item.indigo.css.js.map +0 -1
- package/components/nav-drawer/styles/indigo/nav-drawer-item.indigo.css.js +0 -3
- package/components/nav-drawer/styles/indigo/nav-drawer-item.indigo.css.js.map +0 -1
- package/components/nav-drawer/styles/indigo/nav-drawer.indigo.css.js +0 -3
- package/components/nav-drawer/styles/indigo/nav-drawer.indigo.css.js.map +0 -1
- package/components/nav-drawer/styles/nav-drawer-header-item.base.css.js.map +0 -1
- package/components/nav-drawer/styles/nav-drawer-item.base.css.js +0 -3
- package/components/nav-drawer/styles/nav-drawer-item.base.css.js.map +0 -1
- package/components/nav-drawer/styles/nav-drawer.base.css.js.map +0 -1
- package/components/snackbar/themes/snackbar.base.css.js +0 -3
- package/components/snackbar/themes/snackbar.base.css.js.map +0 -1
- package/components/snackbar/themes/snackbar.bootstrap.css.js +0 -3
- package/components/snackbar/themes/snackbar.bootstrap.css.js.map +0 -1
- package/components/snackbar/themes/snackbar.fluent.css.js +0 -3
- package/components/snackbar/themes/snackbar.fluent.css.js.map +0 -1
- package/components/snackbar/themes/snackbar.indigo.css.js +0 -3
- package/components/snackbar/themes/snackbar.indigo.css.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-util.js","sourceRoot":"","sources":["../../../src/components/date-time-input/date-util.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDate } from '../calendar/common/utils.js';\nimport { MaskParser } from '../mask-input/mask-parser.js';\n\nexport const enum FormatDesc {\n Numeric = 'numeric',\n TwoDigits = '2-digit',\n}\n\nexport enum DateParts {\n Day = 'day',\n Month = 'month',\n Year = 'year',\n Date = 'date',\n Hours = 'hours',\n Minutes = 'minutes',\n Seconds = 'seconds',\n AmPm = 'amPm',\n Literal = 'literal',\n}\n\nexport enum DatePart {\n Month = 'month',\n Year = 'year',\n Date = 'date',\n Hours = 'hours',\n Minutes = 'minutes',\n Seconds = 'seconds',\n AmPm = 'amPm',\n}\n\n/** @ignore */\nexport interface DatePartInfo {\n type: DateParts;\n start: number;\n end: number;\n format: string;\n}\n\nexport interface DatePartDeltas {\n date?: number;\n month?: number;\n year?: number;\n hours?: number;\n minutes?: number;\n seconds?: number;\n}\n\nexport abstract class DateTimeUtil {\n public static readonly DEFAULT_INPUT_FORMAT = 'MM/dd/yyyy';\n public static readonly DEFAULT_TIME_INPUT_FORMAT = 'hh:mm tt';\n private static readonly SEPARATOR = 'literal';\n private static readonly DEFAULT_LOCALE = 'en';\n private static _parser = new MaskParser();\n\n public static parseValueFromMask(\n inputData: string,\n dateTimeParts: DatePartInfo[],\n promptChar?: string\n ): Date | null {\n const parts: { [key in DateParts]: number } = {} as any;\n dateTimeParts.forEach((dp) => {\n let value = parseInt(\n DateTimeUtil.getCleanVal(inputData, dp, promptChar),\n 10\n );\n if (!value) {\n value =\n dp.type === DateParts.Date || dp.type === DateParts.Month ? 1 : 0;\n }\n parts[dp.type] = value;\n });\n parts[DateParts.Month] -= 1;\n\n if (parts[DateParts.Month] < 0 || 11 < parts[DateParts.Month]) {\n return null;\n }\n\n // TODO: Century threshold\n if (parts[DateParts.Year] < 50) {\n parts[DateParts.Year] += 2000;\n }\n\n if (\n parts[DateParts.Date] >\n DateTimeUtil.daysInMonth(parts[DateParts.Year], parts[DateParts.Month])\n ) {\n return null;\n }\n\n if (\n parts[DateParts.Hours] > 23 ||\n parts[DateParts.Minutes] > 59 ||\n parts[DateParts.Seconds] > 59\n ) {\n return null;\n }\n\n const amPm = dateTimeParts.find((p) => p.type === DateParts.AmPm);\n if (amPm) {\n parts[DateParts.Hours] %= 12;\n }\n\n if (\n amPm &&\n DateTimeUtil.getCleanVal(inputData, amPm, promptChar).toLowerCase() ===\n 'pm'\n ) {\n parts[DateParts.Hours] += 12;\n }\n\n return new Date(\n parts[DateParts.Year] || 2000,\n parts[DateParts.Month] || 0,\n parts[DateParts.Date] || 1,\n parts[DateParts.Hours] || 0,\n parts[DateParts.Minutes] || 0,\n parts[DateParts.Seconds] || 0\n );\n }\n\n public static getDefaultMask(locale: string): string {\n locale = locale || DateTimeUtil.DEFAULT_LOCALE;\n const parts = DateTimeUtil.getDefaultLocaleMask(locale);\n\n if (parts !== undefined) {\n parts.forEach((p: any) => {\n if (p.type !== DateParts.Year && p.type !== DateTimeUtil.SEPARATOR) {\n p.formatType = FormatDesc.TwoDigits;\n }\n });\n\n return DateTimeUtil.getMask(parts);\n }\n\n return '';\n }\n\n public static parseDateTimeFormat(\n mask: string,\n locale: string = DateTimeUtil.DEFAULT_LOCALE,\n noLeadingZero = false\n ): DatePartInfo[] {\n const format = mask || DateTimeUtil.getDefaultMask(locale);\n const dateTimeParts: DatePartInfo[] = [];\n const formatArray = Array.from(format);\n let currentPart: DatePartInfo | null = null;\n let position = 0;\n\n for (let i = 0; i < formatArray.length; i++, position++) {\n const type = DateTimeUtil.determineDatePart(formatArray[i]);\n if (currentPart) {\n if (currentPart.type === type) {\n currentPart.format += formatArray[i];\n if (i < formatArray.length - 1) {\n continue;\n }\n }\n\n DateTimeUtil.addCurrentPart(currentPart, dateTimeParts, noLeadingZero);\n position = currentPart.end;\n }\n\n currentPart = {\n start: position,\n end: position + formatArray[i].length,\n type,\n format: formatArray[i],\n };\n }\n\n // make sure the last member of a format like H:m:s is not omitted\n if (\n !dateTimeParts.filter((p) => p.format.includes(currentPart!.format))\n .length\n ) {\n DateTimeUtil.addCurrentPart(currentPart!, dateTimeParts, noLeadingZero);\n }\n // formats like \"y\" or \"yyy\" are treated like \"yyyy\" while editing\n const yearPart = dateTimeParts.filter((p) => p.type === DateParts.Year)[0];\n if (yearPart && yearPart.format !== 'yy') {\n yearPart.end += 4 - yearPart.format.length;\n yearPart.format = 'yyyy';\n }\n\n return dateTimeParts;\n }\n\n public static parseIsoDate(value: string): Date | null {\n let regex = /^\\d{4}/g;\n const timeLiteral = 'T';\n if (regex.test(value)) {\n return new Date(\n value + `${value.indexOf(timeLiteral) === -1 ? 'T00:00:00' : ''}`\n );\n }\n\n regex = /^\\d{2}/g;\n if (regex.test(value)) {\n const dateNow = new Date().toISOString();\n // eslint-disable-next-line prefer-const\n let [datePart, _timePart] = dateNow.split(timeLiteral);\n return new Date(`${datePart}T${value}`);\n }\n\n return null;\n }\n\n public static isValidDate(value: any): value is Date {\n if (isDate(value)) {\n return !isNaN(value.getTime());\n }\n\n return false;\n }\n\n public static formatDate(\n value: Date,\n locale: string,\n format: string,\n noLeadingZero = false\n ): string {\n const options: any = {};\n let formattedDate = '';\n\n switch (format) {\n case 'short':\n case 'long':\n case 'medium':\n case 'full':\n options['dateStyle'] = format;\n options['timeStyle'] = format;\n break;\n case 'shortDate':\n case 'longDate':\n case 'mediumDate':\n case 'fullDate':\n options['dateStyle'] = format.toLowerCase().split('date')[0];\n break;\n case 'shortTime':\n case 'longTime':\n case 'mediumTime':\n case 'fullTime':\n options['timeStyle'] = format.toLowerCase().split('time')[0];\n break;\n default:\n return this.setDisplayFormatOptions(\n value,\n format,\n locale,\n noLeadingZero\n );\n }\n\n let formatter;\n try {\n formatter = new Intl.DateTimeFormat(locale, options);\n } catch {\n formatter = new Intl.DateTimeFormat(this.DEFAULT_LOCALE, options);\n }\n\n formattedDate = formatter.format(value);\n\n return formattedDate;\n }\n\n public static getPartValue(\n datePartInfo: DatePartInfo,\n partLength: number,\n _dateValue: Date | null\n ): string {\n let maskedValue: any;\n const datePart = datePartInfo.type;\n\n switch (datePart) {\n case DateParts.Date:\n maskedValue = _dateValue!.getDate();\n break;\n case DateParts.Month:\n // months are zero based\n maskedValue = _dateValue!.getMonth() + 1;\n break;\n case DateParts.Year:\n if (partLength === 2) {\n maskedValue = this.prependValue(\n parseInt(_dateValue!.getFullYear().toString().slice(-2), 10),\n partLength,\n '0'\n );\n } else {\n maskedValue = _dateValue!.getFullYear();\n }\n break;\n case DateParts.Hours:\n if (datePartInfo.format.indexOf('h') !== -1) {\n maskedValue = this.prependValue(\n this.toTwelveHourFormat(_dateValue!.getHours().toString()),\n partLength,\n '0'\n );\n } else {\n maskedValue = _dateValue!.getHours();\n }\n break;\n case DateParts.Minutes:\n maskedValue = _dateValue!.getMinutes();\n break;\n case DateParts.Seconds:\n maskedValue = _dateValue!.getSeconds();\n break;\n case DateParts.AmPm:\n maskedValue = _dateValue!.getHours() >= 12 ? 'PM' : 'AM';\n break;\n }\n\n if (datePartInfo.type !== DateParts.AmPm) {\n return this.prependValue(maskedValue, partLength, '0');\n }\n\n return maskedValue;\n }\n\n public static spinYear(delta: number, newDate: Date): Date {\n const maxDate = DateTimeUtil.daysInMonth(\n newDate.getFullYear() + delta,\n newDate.getMonth()\n );\n if (newDate.getDate() > maxDate) {\n // clip to max to avoid leap year change shifting the entire value\n newDate.setDate(maxDate);\n }\n newDate.setFullYear(newDate.getFullYear() + delta);\n\n return newDate;\n }\n\n public static spinMonth(\n delta: number,\n newDate: Date,\n spinLoop: boolean\n ): void {\n const maxDate = DateTimeUtil.daysInMonth(\n newDate.getFullYear(),\n newDate.getMonth() + delta\n );\n if (newDate.getDate() > maxDate) {\n newDate.setDate(maxDate);\n }\n\n const maxMonth = 11;\n const minMonth = 0;\n let month = newDate.getMonth() + delta;\n if (month > maxMonth) {\n month = spinLoop ? (month % maxMonth) - 1 : maxMonth;\n } else if (month < minMonth) {\n month = spinLoop ? maxMonth + (month % maxMonth) + 1 : minMonth;\n }\n\n newDate.setMonth(month);\n }\n\n public static spinDate(\n delta: number,\n newDate: Date,\n spinLoop: boolean\n ): void {\n const maxDate = DateTimeUtil.daysInMonth(\n newDate.getFullYear(),\n newDate.getMonth()\n );\n let date = newDate.getDate() + delta;\n if (date > maxDate) {\n date = spinLoop ? date % maxDate : maxDate;\n } else if (date < 1) {\n date = spinLoop ? maxDate + (date % maxDate) : 1;\n }\n\n newDate.setDate(date);\n }\n\n public static spinHours(\n delta: number,\n newDate: Date,\n spinLoop: boolean\n ): void {\n const maxHour = 23;\n const minHour = 0;\n let hours = newDate.getHours() + delta;\n if (hours > maxHour) {\n hours = spinLoop ? (hours % maxHour) - 1 : maxHour;\n } else if (hours < minHour) {\n hours = spinLoop ? maxHour + (hours % maxHour) + 1 : minHour;\n }\n\n newDate.setHours(hours);\n }\n\n public static spinMinutes(\n delta: number,\n newDate: Date,\n spinLoop: boolean\n ): void {\n const maxMinutes = 59;\n const minMinutes = 0;\n let minutes = newDate.getMinutes() + delta;\n if (minutes > maxMinutes) {\n minutes = spinLoop ? (minutes % maxMinutes) - 1 : maxMinutes;\n } else if (minutes < minMinutes) {\n minutes = spinLoop ? maxMinutes + (minutes % maxMinutes) + 1 : minMinutes;\n }\n\n newDate.setMinutes(minutes);\n }\n\n public static spinSeconds(\n delta: number,\n newDate: Date,\n spinLoop: boolean\n ): void {\n const maxSeconds = 59;\n const minSeconds = 0;\n let seconds = newDate.getSeconds() + delta;\n if (seconds > maxSeconds) {\n seconds = spinLoop ? (seconds % maxSeconds) - 1 : maxSeconds;\n } else if (seconds < minSeconds) {\n seconds = spinLoop ? maxSeconds + (seconds % maxSeconds) + 1 : minSeconds;\n }\n\n newDate.setSeconds(seconds);\n }\n\n public static spinAmPm(\n newDate: Date,\n currentDate: Date,\n amPmFromMask: string\n ): Date {\n switch (amPmFromMask) {\n case 'AM':\n newDate = new Date(newDate.setHours(newDate.getHours() + 12));\n break;\n case 'PM':\n newDate = new Date(newDate.setHours(newDate.getHours() - 12));\n break;\n }\n if (newDate.getDate() !== currentDate.getDate()) {\n return currentDate;\n }\n\n return newDate;\n }\n\n public static greaterThanMaxValue(\n value: Date,\n maxValue: Date,\n includeTime = true,\n includeDate = true\n ): boolean {\n if (includeTime && includeDate) {\n return value.getTime() > maxValue.getTime();\n }\n\n const _value = new Date(value.getTime());\n const _maxValue = new Date(maxValue.getTime());\n if (!includeTime) {\n _value.setHours(0, 0, 0, 0);\n _maxValue.setHours(0, 0, 0, 0);\n }\n if (!includeDate) {\n _value.setFullYear(0, 0, 0);\n _maxValue.setFullYear(0, 0, 0);\n }\n\n return _value.getTime() > _maxValue.getTime();\n }\n\n /**\n * Determines whether the provided value is less than the provided min value.\n *\n * @param includeTime set to false if you want to exclude time portion of the two dates\n * @param includeDate set to false if you want to exclude the date portion of the two dates\n * @returns true if provided value is less than provided minValue\n */\n public static lessThanMinValue(\n value: Date,\n minValue: Date,\n includeTime = true,\n includeDate = true\n ): boolean {\n if (includeTime && includeDate) {\n return value.getTime() < minValue.getTime();\n }\n\n const _value = new Date(value.getTime());\n const _minValue = new Date(minValue.getTime());\n if (!includeTime) {\n _value.setHours(0, 0, 0, 0);\n _minValue.setHours(0, 0, 0, 0);\n }\n if (!includeDate) {\n _value.setFullYear(0, 0, 0);\n _minValue.setFullYear(0, 0, 0);\n }\n\n return _value.getTime() < _minValue.getTime();\n }\n\n /**\n * Validates a value within a given min and max value range.\n *\n * @param value The value to validate\n * @param minValue The lowest possible value that `value` can take\n * @param maxValue The largest possible value that `value` can take\n */\n public static validateMinMax(\n value: Date,\n minValue: Date | string,\n maxValue: Date | string,\n includeTime = true,\n includeDate = true\n ) {\n // if (!value) {\n // return null;\n // }\n const errors = {};\n const min = DateTimeUtil.isValidDate(minValue)\n ? minValue\n : DateTimeUtil.parseIsoDate(minValue);\n const max = DateTimeUtil.isValidDate(maxValue)\n ? maxValue\n : DateTimeUtil.parseIsoDate(maxValue);\n if (\n min &&\n value &&\n DateTimeUtil.lessThanMinValue(value, min, includeTime, includeDate)\n ) {\n Object.assign(errors, { minValue: true });\n }\n if (\n max &&\n value &&\n DateTimeUtil.greaterThanMaxValue(value, max, includeTime, includeDate)\n ) {\n Object.assign(errors, { maxValue: true });\n }\n\n return errors;\n }\n\n private static setDisplayFormatOptions(\n value: Date,\n format: string,\n locale: string,\n noLeadingZero = false\n ) {\n const options: any = {};\n const parts = this.parseDateTimeFormat(format, locale, noLeadingZero);\n\n const datePartFormatOptionMap = new Map([\n [DateParts.Date, 'day'],\n [DateParts.Month, 'month'],\n [DateParts.Year, 'year'],\n [DateParts.Hours, 'hour'],\n [DateParts.Minutes, 'minute'],\n [DateParts.Seconds, 'second'],\n [DateParts.AmPm, 'dayPeriod'],\n ]);\n\n const dateFormatMap = new Map([\n ['d', 'numeric'],\n ['dd', '2-digit'],\n ['M', 'numeric'],\n ['MM', '2-digit'],\n ['MMM', 'short'],\n ['MMMM', 'long'],\n ['MMMMM', 'narrow'],\n ['y', 'numeric'],\n ['yy', '2-digit'],\n ['yyy', 'numeric'],\n ['yyyy', 'numeric'],\n ['h', 'numeric'],\n ['hh', '2-digit'],\n ['H', 'numeric'],\n ['HH', '2-digit'],\n ['m', 'numeric'],\n ['mm', '2-digit'],\n ['s', 'numeric'],\n ['ss', '2-digit'],\n ['ttt', 'short'],\n ['tttt', 'long'],\n ['ttttt', 'narrow'],\n ]);\n\n for (const part of parts) {\n if (part.type !== DateParts.Literal) {\n const option = datePartFormatOptionMap.get(part.type);\n const format =\n dateFormatMap.get(part.format) ||\n dateFormatMap.get(part.format.substring(0, 2));\n\n if (option && format) {\n options[option] = format;\n\n if (part.type === DateParts.Hours) {\n part.format.charAt(0) === 'h'\n ? (options['hour12'] = true)\n : (options['hour12'] = false);\n }\n }\n\n // Need to be set if we have 't' or 'tt'.\n if (part.type === DateParts.AmPm && part.format.length <= 2) {\n options['hour'] = '2-digit';\n options['hour12'] = true;\n }\n }\n }\n\n let formatter;\n try {\n formatter = new Intl.DateTimeFormat(\n locale,\n options as Intl.DateTimeFormatOptions\n );\n } catch {\n formatter = new Intl.DateTimeFormat(this.DEFAULT_LOCALE, options);\n }\n\n const formattedParts = formatter.formatToParts(value);\n\n let result = '';\n\n for (const part of parts) {\n if (part.type === DateParts.Literal) {\n result += part.format;\n continue;\n }\n\n const option = datePartFormatOptionMap.get(part.type)!;\n result += formattedParts.filter((p) => p.type === option)[0]?.value || '';\n }\n\n return result;\n }\n\n private static getMask(dateStruct: any[]): string {\n const mask = [];\n\n for (const part of dateStruct) {\n switch (part.formatType) {\n case FormatDesc.Numeric: {\n if (part.type === DateParts.Day) {\n mask.push('d');\n } else if (part.type === DateParts.Month) {\n mask.push('M');\n } else {\n mask.push('yyyy');\n }\n break;\n }\n case FormatDesc.TwoDigits: {\n if (part.type === DateParts.Day) {\n mask.push('dd');\n } else if (part.type === DateParts.Month) {\n mask.push('MM');\n } else {\n mask.push('yy');\n }\n }\n }\n\n if (part.type === DateTimeUtil.SEPARATOR) {\n mask.push(part.value);\n }\n }\n\n return mask.join('');\n }\n\n private static addCurrentPart(\n currentPart: DatePartInfo,\n dateTimeParts: DatePartInfo[],\n noLeadingZero = false\n ): void {\n DateTimeUtil.ensureLeadingZero(currentPart, noLeadingZero);\n currentPart.end = currentPart.start + currentPart.format.length;\n dateTimeParts.push(currentPart);\n }\n\n private static ensureLeadingZero(part: DatePartInfo, noLeadingZero = false) {\n switch (part.type) {\n case DateParts.Date:\n case DateParts.Month:\n case DateParts.Hours:\n case DateParts.Minutes:\n case DateParts.Seconds:\n if (part.format.length === 1 && !noLeadingZero) {\n part.format = part.format.repeat(2);\n }\n break;\n }\n }\n\n private static determineDatePart(char: string): DateParts {\n switch (char) {\n case 'd':\n case 'D':\n return DateParts.Date;\n case 'M':\n return DateParts.Month;\n case 'y':\n case 'Y':\n return DateParts.Year;\n case 'h':\n case 'H':\n return DateParts.Hours;\n case 'm':\n return DateParts.Minutes;\n case 's':\n case 'S':\n return DateParts.Seconds;\n case 't':\n case 'T':\n return DateParts.AmPm;\n default:\n return DateParts.Literal;\n }\n }\n\n private static getDefaultLocaleMask(locale: string) {\n const dateStruct: any = [];\n let formatter;\n try {\n formatter = new Intl.DateTimeFormat(locale);\n } catch {\n return;\n }\n\n const formatToParts = formatter.formatToParts(new Date());\n\n for (const part of formatToParts) {\n if (part.type === DateTimeUtil.SEPARATOR) {\n dateStruct.push({\n type: DateTimeUtil.SEPARATOR,\n value: part.value,\n });\n } else {\n dateStruct.push({\n type: part.type,\n });\n }\n }\n\n const formatterOptions = formatter.resolvedOptions();\n\n for (const part of dateStruct) {\n switch (part.type) {\n case DateParts.Day: {\n part.formatType = formatterOptions.day;\n break;\n }\n case DateParts.Month: {\n part.formatType = formatterOptions.month;\n break;\n }\n case DateParts.Year: {\n part.formatType = formatterOptions.year;\n break;\n }\n }\n }\n\n DateTimeUtil.fillDatePartsPositions(dateStruct);\n return dateStruct;\n }\n\n private static fillDatePartsPositions(dateArray: any[]): void {\n let currentPos = 0;\n\n for (const part of dateArray) {\n // Day|Month part positions\n if (part.type === DateParts.Day || part.type === DateParts.Month) {\n // Offset 2 positions for number\n part.position = [currentPos, currentPos + 2];\n currentPos += 2;\n } else if (part.type === DateParts.Year) {\n // Year part positions\n switch (part.formatType) {\n case FormatDesc.Numeric: {\n // Offset 4 positions for full year\n part.position = [currentPos, currentPos + 4];\n currentPos += 4;\n break;\n }\n case FormatDesc.TwoDigits: {\n // Offset 2 positions for short year\n part.position = [currentPos, currentPos + 2];\n currentPos += 2;\n break;\n }\n }\n } else if (part.type === DateTimeUtil.SEPARATOR) {\n // Separator positions\n part.position = [currentPos, currentPos + 1];\n currentPos++;\n }\n }\n }\n\n private static getCleanVal(\n inputData: string,\n datePart: DatePartInfo,\n prompt?: string\n ): string {\n return DateTimeUtil.trimEmptyPlaceholders(\n inputData.substring(datePart.start, datePart.end),\n prompt\n );\n }\n\n private static trimEmptyPlaceholders(value: string, prompt?: string): string {\n const result = value.replace(new RegExp(prompt || '_', 'g'), '');\n return result;\n }\n\n private static daysInMonth(fullYear: number, month: number): number {\n return new Date(fullYear, month + 1, 0).getDate();\n }\n\n private static prependValue(\n value: number,\n partLength: number,\n prependChar: string\n ): string {\n return (prependChar + value.toString()).slice(-partLength);\n }\n\n private static toTwelveHourFormat(value: string): number {\n let hour = parseInt(\n value.replace(new RegExp(this._parser.prompt, 'g'), '0'),\n 10\n );\n if (hour > 12) {\n hour -= 12;\n } else if (hour === 0) {\n hour = 12;\n }\n\n return hour;\n }\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
2
|
import type IgcDropdownItemComponent from './dropdown-item';
|
|
3
|
+
import { SizableInterface } from '../common/mixins/sizable.js';
|
|
3
4
|
/**
|
|
4
5
|
* @element igc-dropdown-group - A container for a group of `igc-dropdown-item` components.
|
|
5
6
|
*
|
|
@@ -11,11 +12,11 @@ import type IgcDropdownItemComponent from './dropdown-item';
|
|
|
11
12
|
export default class IgcDropdownGroupComponent extends LitElement {
|
|
12
13
|
static readonly tagName = "igc-dropdown-group";
|
|
13
14
|
static styles: import("lit").CSSResult;
|
|
15
|
+
protected parent: SizableInterface;
|
|
14
16
|
/** All child `igc-dropdown-item`s. */
|
|
15
17
|
items: Array<IgcDropdownItemComponent>;
|
|
16
|
-
/** @private */
|
|
17
|
-
size: 'small' | 'medium' | 'large';
|
|
18
18
|
connectedCallback(): void;
|
|
19
|
+
protected getParent(): import("./dropdown.js").default;
|
|
19
20
|
protected render(): import("lit-html").TemplateResult<1>;
|
|
20
21
|
}
|
|
21
22
|
declare global {
|
|
@@ -5,22 +5,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { html, LitElement } from 'lit';
|
|
8
|
-
import {
|
|
8
|
+
import { queryAssignedElements } from 'lit/decorators.js';
|
|
9
9
|
import { themes } from '../../theming/theming-decorator.js';
|
|
10
10
|
import { styles } from './themes/light/dropdown-group.base.css.js';
|
|
11
11
|
import { styles as fluent } from './themes/light/dropdown-group.fluent.css.js';
|
|
12
|
+
import { blazorSuppress } from '../common/decorators/blazorSuppress.js';
|
|
12
13
|
let IgcDropdownGroupComponent = class IgcDropdownGroupComponent extends LitElement {
|
|
13
|
-
constructor() {
|
|
14
|
-
super(...arguments);
|
|
15
|
-
this.size = 'large';
|
|
16
|
-
}
|
|
17
14
|
connectedCallback() {
|
|
18
15
|
super.connectedCallback();
|
|
19
16
|
this.setAttribute('role', 'group');
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
this.parent = this.getParent();
|
|
18
|
+
}
|
|
19
|
+
getParent() {
|
|
20
|
+
return this.closest('igc-dropdown');
|
|
22
21
|
}
|
|
23
22
|
render() {
|
|
23
|
+
var _a, _b;
|
|
24
|
+
this.setAttribute('size', (_b = (_a = this.parent) === null || _a === void 0 ? void 0 : _a.size) !== null && _b !== void 0 ? _b : 'large');
|
|
24
25
|
return html `
|
|
25
26
|
<label part="label"><slot name="label"></slot></label>
|
|
26
27
|
<slot></slot>
|
|
@@ -30,11 +31,9 @@ let IgcDropdownGroupComponent = class IgcDropdownGroupComponent extends LitEleme
|
|
|
30
31
|
IgcDropdownGroupComponent.tagName = 'igc-dropdown-group';
|
|
31
32
|
IgcDropdownGroupComponent.styles = styles;
|
|
32
33
|
__decorate([
|
|
34
|
+
blazorSuppress(),
|
|
33
35
|
queryAssignedElements({ flatten: true, selector: 'igc-dropdown-item' })
|
|
34
36
|
], IgcDropdownGroupComponent.prototype, "items", void 0);
|
|
35
|
-
__decorate([
|
|
36
|
-
property({ reflect: true })
|
|
37
|
-
], IgcDropdownGroupComponent.prototype, "size", void 0);
|
|
38
37
|
IgcDropdownGroupComponent = __decorate([
|
|
39
38
|
themes({ fluent })
|
|
40
39
|
], IgcDropdownGroupComponent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-group.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dropdown-group.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-group.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAYxE,IAAqB,yBAAyB,GAA9C,MAAqB,yBAA0B,SAAQ,UAAU;IAW/C,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAES,SAAS;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAE,CAAC;IACvC,CAAC;IAEkB,MAAM;;QACvB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,mCAAI,OAAO,CAAC,CAAC;QAExD,OAAO,IAAI,CAAA;;;KAGV,CAAC;IACJ,CAAC;CACF,CAAA;AA7BwB,iCAAO,GAAG,oBAAqB,CAAA;AAE/B,gCAAM,GAAG,MAAO,CAAA;AAMvC;IAFC,cAAc,EAAE;IAChB,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;wDACzB;AAT5B,yBAAyB;IAD7C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;GACE,yBAAyB,CA8B7C;eA9BoB,yBAAyB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { queryAssignedElements } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { styles } from './themes/light/dropdown-group.base.css.js';\nimport { styles as fluent } from './themes/light/dropdown-group.fluent.css.js';\nimport type IgcDropdownItemComponent from './dropdown-item';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\nimport { SizableInterface } from '../common/mixins/sizable.js';\n\n/**\n * @element igc-dropdown-group - A container for a group of `igc-dropdown-item` components.\n *\n * @slot label - Contains the group's label.\n * @slot - Intended to contain the items belonging to this group.\n *\n * @csspart label - The native label element.\n */\n@themes({ fluent })\nexport default class IgcDropdownGroupComponent extends LitElement {\n public static readonly tagName = 'igc-dropdown-group';\n\n public static override styles = styles;\n protected parent!: SizableInterface;\n\n /** All child `igc-dropdown-item`s. */\n @blazorSuppress()\n @queryAssignedElements({ flatten: true, selector: 'igc-dropdown-item' })\n public items!: Array<IgcDropdownItemComponent>;\n\n public override connectedCallback() {\n super.connectedCallback();\n\n this.setAttribute('role', 'group');\n this.parent = this.getParent();\n }\n\n protected getParent() {\n return this.closest('igc-dropdown')!;\n }\n\n protected override render() {\n this.setAttribute('size', this.parent?.size ?? 'large');\n\n return html`\n <label part=\"label\"><slot name=\"label\"></slot></label>\n <slot></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown-group': IgcDropdownGroupComponent;\n }\n}\n"]}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
2
|
import { Constructor } from '../common/mixins/constructor.js';
|
|
3
3
|
import type { IgcPlacement, IgcToggleComponent, IgcToggleEventMap } from '../toggle/types';
|
|
4
|
+
import IgcDropdownGroupComponent from './dropdown-group.js';
|
|
4
5
|
import IgcDropdownItemComponent from './dropdown-item.js';
|
|
5
|
-
import type IgcDropdownGroupComponent from './dropdown-group';
|
|
6
|
-
export declare enum DropdownActionKey {
|
|
7
|
-
ESCAPE = "escape",
|
|
8
|
-
ENTER = "enter"
|
|
9
|
-
}
|
|
10
6
|
export interface IgcDropdownEventMap extends IgcToggleEventMap {
|
|
11
7
|
igcChange: CustomEvent<IgcDropdownItemComponent>;
|
|
12
8
|
}
|
|
13
|
-
declare const IgcDropdownComponent_base: Constructor<import("../common/mixins/sizable.js").SizableInterface> &
|
|
9
|
+
declare const IgcDropdownComponent_base: Constructor<import("../common/mixins/sizable.js").SizableInterface> & import("../common/mixins/constructor.js").AbstractConstructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcDropdownEventMap>> & Constructor<LitElement>;
|
|
14
10
|
/**
|
|
15
11
|
* Represents a DropDown component.
|
|
16
12
|
*
|
|
@@ -35,7 +31,8 @@ export default class IgcDropdownComponent extends IgcDropdownComponent_base impl
|
|
|
35
31
|
private selectedItem;
|
|
36
32
|
private activeItem;
|
|
37
33
|
private target;
|
|
38
|
-
private
|
|
34
|
+
private readonly keyDownHandlers;
|
|
35
|
+
protected get allItems(): IgcDropdownItemComponent[];
|
|
39
36
|
private targetNodes;
|
|
40
37
|
protected content: HTMLElement;
|
|
41
38
|
protected scrollContainer: HTMLElement;
|
|
@@ -68,21 +65,28 @@ export default class IgcDropdownComponent extends IgcDropdownComponent_base impl
|
|
|
68
65
|
protected updateOptions(): void;
|
|
69
66
|
protected sizeChange(): void;
|
|
70
67
|
constructor();
|
|
71
|
-
firstUpdated(): void
|
|
68
|
+
firstUpdated(): Promise<void>;
|
|
72
69
|
protected getUpdateComplete(): Promise<boolean>;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
70
|
+
protected setInitialSelection(): void;
|
|
71
|
+
protected handleKeyDown: (event: KeyboardEvent) => void;
|
|
72
|
+
protected onHomeKey(): void;
|
|
73
|
+
protected onEndKey(): void;
|
|
74
|
+
protected onEscapeKey(): void;
|
|
75
|
+
protected onEnterKey(): void;
|
|
76
|
+
protected handleClick(event: MouseEvent): void;
|
|
77
|
+
protected handleTargetClick: () => Promise<void>;
|
|
78
|
+
protected handleOpening(): boolean;
|
|
79
|
+
protected handleClosing(): boolean;
|
|
80
|
+
protected handleChange(item: IgcDropdownItemComponent): void;
|
|
81
|
+
protected handleSlotChange(): void;
|
|
82
|
+
protected handleFocusout(event: Event): void;
|
|
83
|
+
protected getItem(value: string): {
|
|
84
|
+
item: IgcDropdownItemComponent;
|
|
85
|
+
index: number;
|
|
86
|
+
};
|
|
87
|
+
protected activateItem(value: IgcDropdownItemComponent): void;
|
|
88
|
+
protected selectItem(item: IgcDropdownItemComponent, emit?: boolean): IgcDropdownItemComponent | null;
|
|
89
|
+
protected navigate(direction: -1 | 1, currentIndex?: number): void;
|
|
86
90
|
private navigateItem;
|
|
87
91
|
private scrollToHiddenItem;
|
|
88
92
|
private getNearestSiblingFocusableItemIndex;
|
|
@@ -11,21 +11,29 @@ import { styles } from './themes/light/dropdown.base.css.js';
|
|
|
11
11
|
import { styles as bootstrap } from './themes/light/dropdown.bootstrap.css.js';
|
|
12
12
|
import { styles as fluent } from './themes/light/dropdown.fluent.css.js';
|
|
13
13
|
import { styles as indigo } from './themes/light/dropdown.indigo.css.js';
|
|
14
|
-
import IgcDropdownItemComponent from './dropdown-item.js';
|
|
15
14
|
import { IgcToggleController } from '../toggle/toggle.controller.js';
|
|
16
15
|
import { styleMap } from 'lit/directives/style-map.js';
|
|
17
16
|
import { SizableMixin } from '../common/mixins/sizable.js';
|
|
18
17
|
import { themes } from '../../theming/theming-decorator.js';
|
|
19
18
|
import { watch } from '../common/decorators/watch.js';
|
|
20
19
|
import { blazorSuppress } from '../common/decorators/blazorSuppress.js';
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
import { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';
|
|
21
|
+
import { defineComponents } from '../common/definitions/defineComponents.js';
|
|
22
|
+
import IgcDropdownGroupComponent from './dropdown-group.js';
|
|
23
|
+
import IgcDropdownHeaderComponent from './dropdown-header.js';
|
|
24
|
+
import IgcDropdownItemComponent from './dropdown-item.js';
|
|
25
|
+
defineComponents(IgcDropdownGroupComponent, IgcDropdownHeaderComponent, IgcDropdownItemComponent);
|
|
26
26
|
let IgcDropdownComponent = class IgcDropdownComponent extends SizableMixin(EventEmitterMixin(LitElement)) {
|
|
27
27
|
constructor() {
|
|
28
28
|
super();
|
|
29
|
+
this.keyDownHandlers = new Map(Object.entries({
|
|
30
|
+
Escape: this.onEscapeKey,
|
|
31
|
+
Enter: this.onEnterKey,
|
|
32
|
+
ArrowUp: this.onArrowUpKeyDown,
|
|
33
|
+
ArrowDown: this.onArrowDownKeyDown,
|
|
34
|
+
Home: this.onHomeKey,
|
|
35
|
+
End: this.onEndKey,
|
|
36
|
+
}));
|
|
29
37
|
this.keepOpenOnSelect = false;
|
|
30
38
|
this.open = false;
|
|
31
39
|
this.placement = 'bottom-start';
|
|
@@ -36,62 +44,35 @@ let IgcDropdownComponent = class IgcDropdownComponent extends SizableMixin(Event
|
|
|
36
44
|
this.keepOpenOnOutsideClick = false;
|
|
37
45
|
this.sameWidth = false;
|
|
38
46
|
this.handleKeyDown = (event) => {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const navKeys = [
|
|
45
|
-
'esc',
|
|
46
|
-
'escape',
|
|
47
|
-
'enter',
|
|
48
|
-
'arrowup',
|
|
49
|
-
'up',
|
|
50
|
-
'arrowdown',
|
|
51
|
-
'down',
|
|
52
|
-
];
|
|
53
|
-
if (navKeys.indexOf(key) === -1) {
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
47
|
+
var _a;
|
|
48
|
+
const path = event.composedPath();
|
|
49
|
+
if (!(path.includes(this.target) || path.includes(this.content)))
|
|
50
|
+
return;
|
|
51
|
+
if (this.keyDownHandlers.has(event.key)) {
|
|
56
52
|
event.preventDefault();
|
|
57
53
|
event.stopPropagation();
|
|
58
|
-
|
|
59
|
-
case 'esc':
|
|
60
|
-
case 'escape':
|
|
61
|
-
this.handleItemActionKey(DropdownActionKey.ESCAPE);
|
|
62
|
-
break;
|
|
63
|
-
case 'enter':
|
|
64
|
-
this.handleItemActionKey(DropdownActionKey.ENTER);
|
|
65
|
-
break;
|
|
66
|
-
case 'arrowup':
|
|
67
|
-
case 'up':
|
|
68
|
-
this.onArrowUpKeyDown();
|
|
69
|
-
break;
|
|
70
|
-
case 'arrowdown':
|
|
71
|
-
case 'down':
|
|
72
|
-
this.onArrowDownKeyDown();
|
|
73
|
-
break;
|
|
74
|
-
default:
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
54
|
+
(_a = this.keyDownHandlers.get(event.key)) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
77
55
|
}
|
|
78
56
|
};
|
|
79
|
-
this.handleTargetClick = () => {
|
|
57
|
+
this.handleTargetClick = async () => {
|
|
80
58
|
if (!this.open) {
|
|
81
59
|
if (!this.handleOpening())
|
|
82
60
|
return;
|
|
83
61
|
this.show();
|
|
62
|
+
await this.updateComplete;
|
|
84
63
|
this.emitEvent('igcOpened');
|
|
85
64
|
}
|
|
86
65
|
else {
|
|
87
66
|
this._hide();
|
|
88
67
|
}
|
|
89
68
|
};
|
|
90
|
-
this.toggleController = new IgcToggleController(this,
|
|
69
|
+
this.toggleController = new IgcToggleController(this, {
|
|
70
|
+
target: this.target,
|
|
71
|
+
closeCallback: () => this._hide(),
|
|
72
|
+
});
|
|
91
73
|
}
|
|
92
74
|
get allItems() {
|
|
93
|
-
|
|
94
|
-
return [...this.items, ...groupItems];
|
|
75
|
+
return [...this.items, ...this.groups.flatMap((group) => group.items)];
|
|
95
76
|
}
|
|
96
77
|
toggleDirectiveChange() {
|
|
97
78
|
var _a;
|
|
@@ -112,44 +93,50 @@ let IgcDropdownComponent = class IgcDropdownComponent extends SizableMixin(Event
|
|
|
112
93
|
updateOptions() {
|
|
113
94
|
if (!this.toggleController)
|
|
114
95
|
return;
|
|
115
|
-
this.toggleController.
|
|
96
|
+
this.toggleController.update();
|
|
116
97
|
}
|
|
117
98
|
sizeChange() {
|
|
118
|
-
this.groups.forEach((g) =>
|
|
99
|
+
this.groups.forEach((g) => g.requestUpdate());
|
|
119
100
|
}
|
|
120
|
-
firstUpdated() {
|
|
101
|
+
async firstUpdated() {
|
|
121
102
|
if (this.targetNodes.length) {
|
|
122
103
|
this.target = this.targetNodes[0];
|
|
123
104
|
this.target.setAttribute('aria-haspopup', 'listbox');
|
|
124
105
|
}
|
|
106
|
+
await this.updateComplete;
|
|
107
|
+
this.setInitialSelection();
|
|
125
108
|
}
|
|
126
109
|
async getUpdateComplete() {
|
|
127
110
|
const result = await super.getUpdateComplete();
|
|
128
111
|
await this.toggleController.rendered;
|
|
129
112
|
return result;
|
|
130
113
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
break;
|
|
137
|
-
case DropdownActionKey.ESCAPE:
|
|
138
|
-
break;
|
|
114
|
+
setInitialSelection() {
|
|
115
|
+
const item = this.allItems.filter((item) => item.selected).at(-1);
|
|
116
|
+
this.allItems.forEach((item) => (item.selected = false));
|
|
117
|
+
if (item) {
|
|
118
|
+
this.selectItem(item, false);
|
|
139
119
|
}
|
|
140
|
-
|
|
141
|
-
|
|
120
|
+
}
|
|
121
|
+
onHomeKey() {
|
|
122
|
+
this.navigateTo(this.allItems.filter((item) => !item.disabled).at(0).value);
|
|
123
|
+
}
|
|
124
|
+
onEndKey() {
|
|
125
|
+
this.navigateTo(this.allItems.filter((item) => !item.disabled).at(-1).value);
|
|
126
|
+
}
|
|
127
|
+
onEscapeKey() {
|
|
128
|
+
this._hide();
|
|
129
|
+
}
|
|
130
|
+
onEnterKey() {
|
|
131
|
+
this.selectItem(this.activeItem);
|
|
142
132
|
}
|
|
143
133
|
handleClick(event) {
|
|
144
|
-
const
|
|
134
|
+
const item = event
|
|
145
135
|
.composedPath()
|
|
146
136
|
.find((e) => e instanceof IgcDropdownItemComponent);
|
|
147
|
-
if (!
|
|
137
|
+
if (!item || item.disabled)
|
|
148
138
|
return;
|
|
149
|
-
this.selectItem(
|
|
150
|
-
this.handleChange(newSelectedItem);
|
|
151
|
-
if (!this.keepOpenOnSelect)
|
|
152
|
-
this._hide();
|
|
139
|
+
this.selectItem(item);
|
|
153
140
|
}
|
|
154
141
|
handleOpening() {
|
|
155
142
|
const args = { cancelable: true };
|
|
@@ -186,25 +173,25 @@ let IgcDropdownComponent = class IgcDropdownComponent extends SizableMixin(Event
|
|
|
186
173
|
activateItem(value) {
|
|
187
174
|
if (!value)
|
|
188
175
|
return;
|
|
189
|
-
if (this.activeItem
|
|
176
|
+
if (this.activeItem) {
|
|
190
177
|
this.activeItem.active = false;
|
|
191
178
|
}
|
|
192
179
|
this.activeItem = value;
|
|
193
180
|
this.activeItem.active = true;
|
|
194
181
|
}
|
|
195
182
|
selectItem(item, emit = true) {
|
|
196
|
-
|
|
197
|
-
if (!item) {
|
|
183
|
+
if (!item)
|
|
198
184
|
return null;
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
oldItem.selected = false;
|
|
185
|
+
if (this.selectedItem) {
|
|
186
|
+
this.selectedItem.selected = false;
|
|
202
187
|
}
|
|
203
188
|
this.activateItem(item);
|
|
204
189
|
this.selectedItem = item;
|
|
205
190
|
this.selectedItem.selected = true;
|
|
206
191
|
if (emit)
|
|
207
192
|
this.handleChange(this.selectedItem);
|
|
193
|
+
if (emit && !this.keepOpenOnSelect)
|
|
194
|
+
this._hide();
|
|
208
195
|
return this.selectedItem;
|
|
209
196
|
}
|
|
210
197
|
navigate(direction, currentIndex) {
|
|
@@ -264,13 +251,14 @@ let IgcDropdownComponent = class IgcDropdownComponent extends SizableMixin(Event
|
|
|
264
251
|
onArrowUpKeyDown() {
|
|
265
252
|
this.navigatePrev();
|
|
266
253
|
}
|
|
267
|
-
_hide(emit = true) {
|
|
254
|
+
async _hide(emit = true) {
|
|
268
255
|
if (emit && !this.handleClosing())
|
|
269
256
|
return;
|
|
270
257
|
if (!this.open)
|
|
271
258
|
return;
|
|
272
259
|
this.open = false;
|
|
273
260
|
if (emit) {
|
|
261
|
+
await this.updateComplete;
|
|
274
262
|
this.emitEvent('igcClosed');
|
|
275
263
|
}
|
|
276
264
|
}
|
|
@@ -285,12 +273,7 @@ let IgcDropdownComponent = class IgcDropdownComponent extends SizableMixin(Event
|
|
|
285
273
|
this._hide(false);
|
|
286
274
|
}
|
|
287
275
|
toggle(target) {
|
|
288
|
-
|
|
289
|
-
this.show(target);
|
|
290
|
-
}
|
|
291
|
-
else {
|
|
292
|
-
this.hide();
|
|
293
|
-
}
|
|
276
|
+
this.open ? this.hide() : this.show(target);
|
|
294
277
|
}
|
|
295
278
|
navigateTo(value) {
|
|
296
279
|
const index = typeof value === 'string' ? this.getItem(value).index : value;
|
|
@@ -401,7 +384,8 @@ __decorate([
|
|
|
401
384
|
blazorSuppress()
|
|
402
385
|
], IgcDropdownComponent.prototype, "select", null);
|
|
403
386
|
IgcDropdownComponent = __decorate([
|
|
404
|
-
themes({ bootstrap, fluent, indigo })
|
|
387
|
+
themes({ bootstrap, fluent, indigo }),
|
|
388
|
+
blazorAdditionalDependencies('IgcDropdownItemComponent, IgcDropdownHeaderComponent, IgcDropdownGroupComponent')
|
|
405
389
|
], IgcDropdownComponent);
|
|
406
390
|
export default IgcDropdownComponent;
|
|
407
391
|
//# sourceMappingURL=dropdown.js.map
|