igniteui-webcomponents 4.11.0 → 5.0.0-rc.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 +79 -0
- package/README.md +168 -110
- package/components/accordion/accordion.d.ts +2 -2
- package/components/accordion/accordion.js +25 -35
- package/components/accordion/accordion.js.map +1 -1
- package/components/avatar/avatar.d.ts +1 -3
- package/components/avatar/avatar.js +1 -3
- package/components/avatar/avatar.js.map +1 -1
- package/components/avatar/themes/avatar.base.css.js +1 -1
- package/components/avatar/themes/avatar.base.css.js.map +1 -1
- package/components/badge/badge.d.ts +2 -1
- package/components/badge/badge.js.map +1 -1
- package/components/badge/themes/badge.base.css.js +1 -1
- package/components/badge/themes/badge.base.css.js.map +1 -1
- package/components/button/button-base.d.ts +3 -4
- package/components/button/button-base.js +1 -9
- package/components/button/button-base.js.map +1 -1
- package/components/button/button.d.ts +3 -7
- package/components/button/button.js +4 -5
- package/components/button/button.js.map +1 -1
- package/components/button/icon-button.d.ts +2 -2
- package/components/button/icon-button.js +0 -3
- package/components/button/icon-button.js.map +1 -1
- package/components/button/themes/button/button.base.css.js +1 -1
- package/components/button/themes/button/button.base.css.js.map +1 -1
- package/components/button/themes/icon-button/icon-button.base.css.js +1 -1
- package/components/button/themes/icon-button/icon-button.base.css.js.map +1 -1
- package/components/button-group/themes/button.base.css.js +1 -1
- package/components/button-group/themes/button.base.css.js.map +1 -1
- package/components/button-group/themes/group.base.css.js +1 -1
- package/components/button-group/themes/group.base.css.js.map +1 -1
- package/components/calendar/base.d.ts +65 -0
- package/components/calendar/base.js +150 -0
- package/components/calendar/base.js.map +1 -0
- package/components/calendar/calendar.d.ts +113 -61
- package/components/calendar/calendar.js +417 -514
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/days-view/days-view.d.ts +43 -46
- package/components/calendar/days-view/days-view.js +269 -340
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/calendar/helpers.d.ts +30 -0
- package/components/calendar/helpers.js +99 -0
- package/components/calendar/helpers.js.map +1 -0
- package/components/calendar/model.d.ts +55 -0
- package/components/calendar/model.js +94 -0
- package/components/calendar/model.js.map +1 -0
- package/components/calendar/months-view/months-view.d.ts +12 -12
- package/components/calendar/months-view/months-view.js +72 -79
- package/components/calendar/months-view/months-view.js.map +1 -1
- package/components/calendar/themes/calendar.base.css.js +1 -1
- package/components/calendar/themes/calendar.base.css.js.map +1 -1
- package/components/calendar/types.d.ts +16 -0
- package/components/calendar/types.js +10 -0
- package/components/calendar/types.js.map +1 -0
- package/components/calendar/years-view/years-view.d.ts +13 -12
- package/components/calendar/years-view/years-view.js +58 -73
- package/components/calendar/years-view/years-view.js.map +1 -1
- package/components/card/themes/card.actions.base.css.js +1 -1
- package/components/card/themes/card.actions.base.css.js.map +1 -1
- package/components/card/themes/card.content.base.css.js +1 -1
- package/components/card/themes/card.content.base.css.js.map +1 -1
- package/components/card/themes/card.header.base.css.js +1 -1
- package/components/card/themes/card.header.base.css.js.map +1 -1
- package/components/card/themes/card.media.base.css.js +1 -1
- package/components/card/themes/card.media.base.css.js.map +1 -1
- package/components/card/themes/container.base.css.js +1 -1
- package/components/card/themes/container.base.css.js.map +1 -1
- package/components/checkbox/checkbox-base.d.ts +8 -5
- package/components/checkbox/checkbox-base.js +8 -15
- package/components/checkbox/checkbox-base.js.map +1 -1
- package/components/checkbox/checkbox.d.ts +2 -4
- package/components/checkbox/checkbox.js.map +1 -1
- package/components/checkbox/switch.d.ts +1 -3
- package/components/checkbox/switch.js.map +1 -1
- package/components/checkbox/themes/checkbox.base.css.js +1 -1
- package/components/checkbox/themes/checkbox.base.css.js.map +1 -1
- package/components/checkbox/themes/switch.base.css.js +1 -1
- package/components/checkbox/themes/switch.base.css.js.map +1 -1
- package/components/checkbox/validators.d.ts +3 -0
- package/components/checkbox/validators.js +5 -0
- package/components/checkbox/validators.js.map +1 -0
- package/components/chip/chip.d.ts +4 -3
- package/components/chip/chip.js +11 -19
- 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/shared/chip.common.css.js +1 -1
- package/components/chip/themes/shared/chip.common.css.js.map +1 -1
- package/components/combo/combo.d.ts +36 -54
- package/components/combo/combo.js +36 -59
- package/components/combo/combo.js.map +1 -1
- package/components/combo/themes/combo-header.base.css.js +1 -1
- package/components/combo/themes/combo-header.base.css.js.map +1 -1
- package/components/combo/themes/combo-item.base.css.js +1 -1
- package/components/combo/themes/combo-item.base.css.js.map +1 -1
- package/components/combo/themes/combo.base.css.js +1 -1
- package/components/combo/themes/combo.base.css.js.map +1 -1
- package/components/combo/types.d.ts +2 -2
- package/components/combo/types.js.map +1 -1
- package/components/combo/validators.d.ts +3 -0
- package/components/combo/validators.js +9 -0
- package/components/combo/validators.js.map +1 -0
- package/components/common/controllers/key-bindings.d.ts +1 -0
- package/components/common/controllers/key-bindings.js.map +1 -1
- package/components/common/controllers/mutation-observer.d.ts +1 -0
- package/components/common/controllers/mutation-observer.js.map +1 -1
- package/components/common/controllers/root-click.d.ts +4 -2
- package/components/common/controllers/root-click.js +13 -7
- package/components/common/controllers/root-click.js.map +1 -1
- package/components/common/definitions/defineAllComponents.js +0 -2
- package/components/common/definitions/defineAllComponents.js.map +1 -1
- package/components/common/localization/intl-formatters.d.ts +17 -0
- package/components/common/localization/intl-formatters.js +46 -0
- package/components/common/localization/intl-formatters.js.map +1 -0
- package/components/common/mixins/alert.d.ts +3 -3
- package/components/common/mixins/alert.js +6 -4
- package/components/common/mixins/alert.js.map +1 -1
- package/components/common/mixins/combo-box.d.ts +4 -3
- package/components/common/mixins/combo-box.js +16 -10
- package/components/common/mixins/combo-box.js.map +1 -1
- package/components/common/mixins/form-associated.d.ts +1 -1
- package/components/common/mixins/form-associated.js +4 -2
- package/components/common/mixins/form-associated.js.map +1 -1
- package/components/common/util.d.ts +26 -0
- package/components/common/util.js +34 -0
- package/components/common/util.js.map +1 -1
- package/components/date-picker/date-picker.d.ts +7 -10
- package/components/date-picker/date-picker.js +16 -33
- package/components/date-picker/date-picker.js.map +1 -1
- package/components/date-picker/themes/date-picker.base.css.js +1 -1
- package/components/date-picker/themes/date-picker.base.css.js.map +1 -1
- package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
- package/components/date-picker/validators.d.ts +3 -0
- package/components/date-picker/validators.js +15 -0
- package/components/date-picker/validators.js.map +1 -0
- package/components/date-time-input/date-time-input.d.ts +3 -22
- package/components/date-time-input/date-time-input.js +8 -36
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/date-time-input/date-util.js +3 -1
- package/components/date-time-input/date-util.js.map +1 -1
- package/components/date-time-input/validators.d.ts +3 -0
- package/components/date-time-input/validators.js +18 -0
- package/components/date-time-input/validators.js.map +1 -0
- package/components/dialog/dialog.d.ts +12 -25
- package/components/dialog/dialog.js +55 -77
- package/components/dialog/dialog.js.map +1 -1
- package/components/dialog/themes/dialog.base.css.js +1 -1
- package/components/dialog/themes/dialog.base.css.js.map +1 -1
- package/components/dialog/themes/shared/dialog.common.css.js +1 -1
- package/components/dialog/themes/shared/dialog.common.css.js.map +1 -1
- package/components/divider/divider.js.map +1 -1
- package/components/divider/themes/divider.base.css.js +1 -1
- package/components/divider/themes/divider.base.css.js.map +1 -1
- package/components/dropdown/dropdown-group.d.ts +1 -1
- package/components/dropdown/dropdown-group.js +5 -3
- package/components/dropdown/dropdown-group.js.map +1 -1
- package/components/dropdown/dropdown.d.ts +4 -11
- package/components/dropdown/dropdown.js +10 -23
- package/components/dropdown/dropdown.js.map +1 -1
- package/components/dropdown/themes/dropdown-group.base.css.js +1 -1
- package/components/dropdown/themes/dropdown-group.base.css.js.map +1 -1
- package/components/dropdown/themes/dropdown-header.base.css.js +1 -1
- package/components/dropdown/themes/dropdown-header.base.css.js.map +1 -1
- package/components/dropdown/themes/dropdown-item.base.css.js +1 -1
- package/components/dropdown/themes/dropdown-item.base.css.js.map +1 -1
- package/components/dropdown/themes/dropdown.base.css.js +1 -1
- package/components/dropdown/themes/dropdown.base.css.js.map +1 -1
- package/components/expansion-panel/expansion-panel.d.ts +10 -10
- package/components/expansion-panel/expansion-panel.js +39 -39
- package/components/expansion-panel/expansion-panel.js.map +1 -1
- package/components/expansion-panel/themes/expansion-panel.base.css.js +1 -1
- package/components/expansion-panel/themes/expansion-panel.base.css.js.map +1 -1
- package/components/icon/icon-references.d.ts +28 -0
- package/components/icon/icon-references.js +151 -0
- package/components/icon/icon-references.js.map +1 -0
- package/components/icon/icon-state.broadcast.d.ts +10 -0
- package/components/icon/icon-state.broadcast.js +36 -0
- package/components/icon/icon-state.broadcast.js.map +1 -0
- package/components/icon/icon.d.ts +3 -3
- package/components/icon/icon.js +13 -7
- package/components/icon/icon.js.map +1 -1
- package/components/icon/icon.registry.d.ts +14 -14
- package/components/icon/icon.registry.js +70 -26
- package/components/icon/icon.registry.js.map +1 -1
- package/components/icon/internal-icons-lib.d.ts +2 -2
- package/components/icon/internal-icons-lib.js +2 -2
- package/components/icon/internal-icons-lib.js.map +1 -1
- package/components/icon/registry/default-map.d.ts +12 -0
- package/components/icon/registry/default-map.js +31 -0
- package/components/icon/registry/default-map.js.map +1 -0
- package/components/icon/registry/parser.d.ts +6 -0
- package/components/icon/registry/parser.js +21 -0
- package/components/icon/registry/parser.js.map +1 -0
- package/components/icon/registry/types.d.ts +34 -0
- package/components/icon/registry/types.js +7 -0
- package/components/icon/registry/types.js.map +1 -0
- package/components/icon/themes/icon.base.css.js +1 -1
- package/components/icon/themes/icon.base.css.js.map +1 -1
- package/components/input/input-base.d.ts +8 -21
- package/components/input/input-base.js +12 -41
- package/components/input/input-base.js.map +1 -1
- package/components/input/input.d.ts +3 -29
- package/components/input/input.js +4 -78
- package/components/input/input.js.map +1 -1
- package/components/input/themes/input.base.css.js +1 -1
- package/components/input/themes/input.base.css.js.map +1 -1
- package/components/input/validators.d.ts +4 -0
- package/components/input/validators.js +30 -0
- package/components/input/validators.js.map +1 -0
- package/components/list/list.d.ts +1 -3
- package/components/list/list.js +1 -2
- package/components/list/list.js.map +1 -1
- package/components/list/themes/container.base.css.js +1 -1
- package/components/list/themes/container.base.css.js.map +1 -1
- package/components/mask-input/mask-input-base.d.ts +3 -2
- package/components/mask-input/mask-input-base.js.map +1 -1
- package/components/mask-input/mask-input.d.ts +1 -4
- package/components/mask-input/mask-input.js +7 -17
- package/components/mask-input/mask-input.js.map +1 -1
- package/components/mask-input/validators.d.ts +3 -0
- package/components/mask-input/validators.js +11 -0
- package/components/mask-input/validators.js.map +1 -0
- package/components/nav-drawer/nav-drawer-item.d.ts +1 -5
- package/components/nav-drawer/nav-drawer-item.js +9 -10
- package/components/nav-drawer/nav-drawer-item.js.map +1 -1
- package/components/nav-drawer/nav-drawer.d.ts +4 -3
- package/components/nav-drawer/nav-drawer.js +18 -7
- package/components/nav-drawer/nav-drawer.js.map +1 -1
- package/components/nav-drawer/themes/container.base.css.js +1 -1
- package/components/nav-drawer/themes/container.base.css.js.map +1 -1
- package/components/nav-drawer/themes/header-item.base.css.js +1 -1
- package/components/nav-drawer/themes/header-item.base.css.js.map +1 -1
- package/components/nav-drawer/themes/item.base.css.js +1 -1
- package/components/nav-drawer/themes/item.base.css.js.map +1 -1
- package/components/navbar/themes/navbar.base.css.js +1 -1
- package/components/navbar/themes/navbar.base.css.js.map +1 -1
- package/components/popover/themes/light/popover.base.css.js +1 -1
- package/components/popover/themes/light/popover.base.css.js.map +1 -1
- package/components/progress/base.d.ts +2 -1
- package/components/progress/base.js.map +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
- package/components/radio/radio.d.ts +9 -9
- package/components/radio/radio.js +17 -31
- package/components/radio/radio.js.map +1 -1
- package/components/radio/themes/radio.base.css.js +1 -1
- package/components/radio/themes/radio.base.css.js.map +1 -1
- package/components/radio/validators.d.ts +3 -0
- package/components/radio/validators.js +13 -0
- package/components/radio/validators.js.map +1 -0
- package/components/radio-group/radio-group.base.css.js +1 -1
- package/components/radio-group/radio-group.base.css.js.map +1 -1
- package/components/radio-group/radio-group.js.map +1 -1
- package/components/rating/rating.d.ts +1 -9
- package/components/rating/rating.js +6 -16
- package/components/rating/rating.js.map +1 -1
- package/components/rating/themes/rating-symbol.base.css.js +1 -1
- package/components/rating/themes/rating-symbol.base.css.js.map +1 -1
- package/components/rating/themes/rating.base.css.js +1 -1
- package/components/rating/themes/rating.base.css.js.map +1 -1
- package/components/ripple/ripple.material.css.js +1 -1
- package/components/ripple/ripple.material.css.js.map +1 -1
- package/components/select/select.d.ts +5 -33
- package/components/select/select.js +23 -66
- package/components/select/select.js.map +1 -1
- package/components/select/themes/select.base.css.js +1 -1
- package/components/select/themes/select.base.css.js.map +1 -1
- package/components/select/validators.d.ts +3 -0
- package/components/select/validators.js +5 -0
- package/components/select/validators.js.map +1 -0
- package/components/slider/range-slider.d.ts +0 -16
- package/components/slider/range-slider.js +0 -18
- package/components/slider/range-slider.js.map +1 -1
- package/components/slider/themes/slider.base.css.js +1 -1
- package/components/slider/themes/slider.base.css.js.map +1 -1
- package/components/snackbar/snackbar.js +3 -7
- package/components/snackbar/snackbar.js.map +1 -1
- package/components/snackbar/themes/snackbar.base.css.js +1 -1
- package/components/snackbar/themes/snackbar.base.css.js.map +1 -1
- package/components/stepper/animations.d.ts +7 -1
- package/components/stepper/animations.js +63 -15
- package/components/stepper/animations.js.map +1 -1
- package/components/stepper/step.d.ts +3 -1
- package/components/stepper/step.js +17 -6
- package/components/stepper/step.js.map +1 -1
- package/components/stepper/themes/step/step.base.css.js +1 -1
- package/components/stepper/themes/step/step.base.css.js.map +1 -1
- package/components/stepper/themes/stepper/stepper.base.css.js +1 -1
- package/components/stepper/themes/stepper/stepper.base.css.js.map +1 -1
- package/components/stepper/themes/stepper/stepper.bootstrap.css.js +1 -1
- package/components/stepper/themes/stepper/stepper.bootstrap.css.js.map +1 -1
- package/components/stepper/themes/stepper/stepper.fluent.css.js +1 -1
- package/components/stepper/themes/stepper/stepper.fluent.css.js.map +1 -1
- package/components/stepper/themes/stepper/stepper.indigo.css.js +1 -1
- package/components/stepper/themes/stepper/stepper.indigo.css.js.map +1 -1
- package/components/tabs/tabs.js +2 -3
- package/components/tabs/tabs.js.map +1 -1
- package/components/tabs/themes/tab.base.css.js +1 -1
- package/components/tabs/themes/tab.base.css.js.map +1 -1
- package/components/tabs/themes/tabs.base.css.js +1 -1
- package/components/tabs/themes/tabs.base.css.js.map +1 -1
- package/components/textarea/textarea.d.ts +13 -16
- package/components/textarea/textarea.js +10 -12
- package/components/textarea/textarea.js.map +1 -1
- package/components/textarea/themes/textarea.base.css.js +1 -1
- package/components/textarea/themes/textarea.base.css.js.map +1 -1
- package/components/textarea/validators.d.ts +3 -0
- package/components/textarea/validators.js +7 -0
- package/components/textarea/validators.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/tree/themes/container.base.css.js +1 -1
- package/components/tree/themes/container.base.css.js.map +1 -1
- package/components/tree/themes/item.base.css.js +1 -1
- package/components/tree/themes/item.base.css.js.map +1 -1
- package/components/tree/tree-item.d.ts +4 -4
- package/components/tree/tree-item.js +11 -23
- package/components/tree/tree-item.js.map +1 -1
- package/components/tree/tree.d.ts +3 -4
- package/components/tree/tree.js +1 -37
- package/components/tree/tree.js.map +1 -1
- package/components/types.d.ts +3 -0
- package/components/types.js +2 -0
- package/components/types.js.map +1 -0
- package/custom-elements.json +30656 -31315
- package/igniteui-webcomponents.css-data.json +5 -928
- package/igniteui-webcomponents.html-data.json +4 -2699
- package/index.d.ts +5 -4
- package/index.js +2 -3
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/theming/config.js +3 -3
- package/theming/config.js.map +1 -1
- package/theming/theming-controller.d.ts +4 -6
- package/theming/theming-controller.js +30 -34
- package/theming/theming-controller.js.map +1 -1
- package/theming/theming-decorator.d.ts +29 -11
- package/theming/theming-decorator.js +21 -7
- package/theming/theming-decorator.js.map +1 -1
- package/theming/theming-event.js.map +1 -1
- package/theming/types.d.ts +5 -0
- package/theming/types.js.map +1 -1
- package/theming/utils.d.ts +1 -1
- package/theming/utils.js +8 -8
- package/theming/utils.js.map +1 -1
- package/web-types.json +12 -7621
- package/components/calendar/common/calendar-base.d.ts +0 -40
- package/components/calendar/common/calendar-base.js +0 -118
- package/components/calendar/common/calendar-base.js.map +0 -1
- package/components/calendar/common/calendar.model.d.ts +0 -128
- package/components/calendar/common/calendar.model.js +0 -246
- package/components/calendar/common/calendar.model.js.map +0 -1
- package/components/calendar/common/utils.d.ts +0 -12
- package/components/calendar/common/utils.js +0 -54
- package/components/calendar/common/utils.js.map +0 -1
- package/components/common/decorators/alternateName.d.ts +0 -7
- package/components/common/decorators/alternateName.js +0 -4
- package/components/common/decorators/alternateName.js.map +0 -1
- package/components/common/decorators/blazorSuppress.d.ts +0 -5
- package/components/common/decorators/blazorSuppress.js +0 -4
- package/components/common/decorators/blazorSuppress.js.map +0 -1
- package/components/common/decorators/blazorTwoWayBind.d.ts +0 -7
- package/components/common/decorators/blazorTwoWayBind.js +0 -4
- package/components/common/decorators/blazorTwoWayBind.js.map +0 -1
- package/components/common/mixins/sizable.d.ts +0 -13
- package/components/common/mixins/sizable.js +0 -27
- package/components/common/mixins/sizable.js.map +0 -1
- package/components/form/form.d.ts +0 -48
- package/components/form/form.js +0 -158
- package/components/form/form.js.map +0 -1
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import { themeSymbol } from '../../theming/theming-decorator.js';
|
|
2
1
|
import { IgcBaseComboBoxLikeComponent } from '../common/mixins/combo-box.js';
|
|
3
2
|
import type { AbstractConstructor } from '../common/mixins/constructor.js';
|
|
4
|
-
import { type Validator } from '../common/validators.js';
|
|
5
3
|
import IgcInputComponent from '../input/input.js';
|
|
6
4
|
import { type IgcPlacement } from '../popover/popover.js';
|
|
7
5
|
import IgcSelectGroupComponent from './select-group.js';
|
|
8
6
|
import IgcSelectItemComponent from './select-item.js';
|
|
9
7
|
export interface IgcSelectEventMap {
|
|
10
8
|
igcChange: CustomEvent<IgcSelectItemComponent>;
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
focus: FocusEvent;
|
|
10
|
+
blur: FocusEvent;
|
|
13
11
|
igcOpening: CustomEvent<void>;
|
|
14
12
|
igcOpened: CustomEvent<void>;
|
|
15
13
|
igcClosing: CustomEvent<void>;
|
|
@@ -30,8 +28,6 @@ declare const IgcSelectComponent_base: import("../common/mixins/constructor.js")
|
|
|
30
28
|
* @slot toggle-icon - Renders content inside the suffix container.
|
|
31
29
|
* @slot toggle-icon-expanded - Renders content for the toggle icon when the component is in open state.
|
|
32
30
|
*
|
|
33
|
-
* @fires igcFocus - Emitted when the select gains focus.
|
|
34
|
-
* @fires igcBlur - Emitted when the select loses focus.
|
|
35
31
|
* @fires igcChange - Emitted when the control's checked state changes.
|
|
36
32
|
* @fires igcOpening - Emitted just before the list of options is opened.
|
|
37
33
|
* @fires igcOpened - Emitted after the list of options is opened.
|
|
@@ -50,17 +46,14 @@ export default class IgcSelectComponent extends IgcSelectComponent_base {
|
|
|
50
46
|
static readonly tagName = "igc-select";
|
|
51
47
|
static styles: import("lit").CSSResult[];
|
|
52
48
|
static register(): void;
|
|
53
|
-
private readonly [themeSymbol];
|
|
54
49
|
private _value;
|
|
55
50
|
private _searchTerm;
|
|
56
51
|
private _lastKeyTime;
|
|
57
|
-
private _rootClickController;
|
|
58
52
|
private _rootScrollController;
|
|
59
|
-
private get isMaterialTheme();
|
|
60
53
|
private get _activeItems();
|
|
61
54
|
protected _selectedItem: IgcSelectItemComponent | null;
|
|
62
55
|
protected _activeItem: IgcSelectItemComponent;
|
|
63
|
-
protected
|
|
56
|
+
protected get __validators(): import("../common/validators.js").Validator<IgcSelectComponent>[];
|
|
64
57
|
protected input: IgcInputComponent;
|
|
65
58
|
protected helperText: Array<HTMLElement>;
|
|
66
59
|
protected inputSuffix: Array<HTMLElement>;
|
|
@@ -106,31 +99,11 @@ export default class IgcSelectComponent extends IgcSelectComponent_base {
|
|
|
106
99
|
* @attr
|
|
107
100
|
*/
|
|
108
101
|
placement: IgcPlacement;
|
|
109
|
-
/**
|
|
110
|
-
* @deprecated since version 4.3.0
|
|
111
|
-
* @hidden @internal @private
|
|
112
|
-
*/
|
|
113
|
-
positionStrategy: 'absolute' | 'fixed';
|
|
114
102
|
/**
|
|
115
103
|
* Determines the behavior of the component during scrolling of the parent container.
|
|
116
104
|
* @attr scroll-strategy
|
|
117
105
|
*/
|
|
118
106
|
scrollStrategy: 'scroll' | 'block' | 'close';
|
|
119
|
-
/**
|
|
120
|
-
* Whether the dropdown's width should be the same as the target's one.
|
|
121
|
-
* @deprecated since version 4.3.0
|
|
122
|
-
* @hidden @internal @private
|
|
123
|
-
* @attr same-width
|
|
124
|
-
*/
|
|
125
|
-
sameWidth: boolean;
|
|
126
|
-
/**
|
|
127
|
-
* Whether the component should be flipped to the opposite side of the target once it's about to overflow the visible area.
|
|
128
|
-
* When true, once enough space is detected on its preferred side, it will flip back.
|
|
129
|
-
* @deprecated since version 4.3.0
|
|
130
|
-
* @hidden @internal @private
|
|
131
|
-
* @attr
|
|
132
|
-
*/
|
|
133
|
-
flip: boolean;
|
|
134
107
|
/** Returns the items of the igc-select component. */
|
|
135
108
|
get items(): IgcSelectItemComponent[];
|
|
136
109
|
/** Returns the groups of the igc-select component. */
|
|
@@ -140,6 +113,7 @@ export default class IgcSelectComponent extends IgcSelectComponent_base {
|
|
|
140
113
|
protected scrollStrategyChanged(): void;
|
|
141
114
|
protected openChange(): void;
|
|
142
115
|
constructor();
|
|
116
|
+
protected createRenderRoot(): HTMLElement | DocumentFragment;
|
|
143
117
|
protected firstUpdated(): Promise<void>;
|
|
144
118
|
private handleFocusIn;
|
|
145
119
|
private handleFocusOut;
|
|
@@ -157,8 +131,7 @@ export default class IgcSelectComponent extends IgcSelectComponent_base {
|
|
|
157
131
|
private onTabKey;
|
|
158
132
|
protected onHomeKey(): void;
|
|
159
133
|
protected onEndKey(): void;
|
|
160
|
-
|
|
161
|
-
protected inputSlotChanged(): void;
|
|
134
|
+
protected handleClosing(): void;
|
|
162
135
|
private activateItem;
|
|
163
136
|
private setSelectedItem;
|
|
164
137
|
private _selectItem;
|
|
@@ -167,7 +140,6 @@ export default class IgcSelectComponent extends IgcSelectComponent_base {
|
|
|
167
140
|
private clearSelectedItem;
|
|
168
141
|
private focusItemOnOpen;
|
|
169
142
|
protected getItem(value: string): IgcSelectItemComponent | undefined;
|
|
170
|
-
private _stopPropagation;
|
|
171
143
|
/** Sets focus on the component. */
|
|
172
144
|
focus(options?: FocusOptions): void;
|
|
173
145
|
/** Removes focus from the component. */
|
|
@@ -8,20 +8,16 @@ var IgcSelectComponent_1;
|
|
|
8
8
|
import { html } from 'lit';
|
|
9
9
|
import { property, query, queryAssignedElements, state, } from 'lit/decorators.js';
|
|
10
10
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
11
|
-
import {
|
|
11
|
+
import { themes } from '../../theming/theming-decorator.js';
|
|
12
12
|
import { addKeybindings, altKey, arrowDown, arrowLeft, arrowRight, arrowUp, endKey, enterKey, escapeKey, homeKey, spaceBar, tabKey, } from '../common/controllers/key-bindings.js';
|
|
13
|
-
import { addRootClickHandler } from '../common/controllers/root-click.js';
|
|
14
13
|
import { addRootScrollHandler } from '../common/controllers/root-scroll.js';
|
|
15
|
-
import { alternateName } from '../common/decorators/alternateName.js';
|
|
16
14
|
import { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';
|
|
17
|
-
import { blazorSuppress } from '../common/decorators/blazorSuppress.js';
|
|
18
15
|
import { watch } from '../common/decorators/watch.js';
|
|
19
16
|
import { registerComponent } from '../common/definitions/register.js';
|
|
20
17
|
import { IgcBaseComboBoxLikeComponent, getActiveItems, getItems, getNextActiveItem, getPreviousActiveItem, setInitialSelectionState, } from '../common/mixins/combo-box.js';
|
|
21
18
|
import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
|
|
22
19
|
import { FormAssociatedRequiredMixin } from '../common/mixins/form-associated-required.js';
|
|
23
20
|
import { findElementFromEventPath, partNameMap } from '../common/util.js';
|
|
24
|
-
import { requiredValidator } from '../common/validators.js';
|
|
25
21
|
import IgcIconComponent from '../icon/icon.js';
|
|
26
22
|
import IgcInputComponent from '../input/input.js';
|
|
27
23
|
import IgcPopoverComponent from '../popover/popover.js';
|
|
@@ -31,16 +27,17 @@ import IgcSelectItemComponent from './select-item.js';
|
|
|
31
27
|
import { styles } from './themes/select.base.css.js';
|
|
32
28
|
import { styles as shared } from './themes/shared/select.common.css.js';
|
|
33
29
|
import { all } from './themes/themes.js';
|
|
30
|
+
import { selectValidators } from './validators.js';
|
|
34
31
|
let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends FormAssociatedRequiredMixin(EventEmitterMixin(IgcBaseComboBoxLikeComponent)) {
|
|
35
32
|
static register() {
|
|
36
33
|
registerComponent(IgcSelectComponent_1, IgcIconComponent, IgcInputComponent, IgcPopoverComponent, IgcSelectGroupComponent, IgcSelectHeaderComponent, IgcSelectItemComponent);
|
|
37
34
|
}
|
|
38
|
-
get isMaterialTheme() {
|
|
39
|
-
return this[themeSymbol] === 'material';
|
|
40
|
-
}
|
|
41
35
|
get _activeItems() {
|
|
42
36
|
return Array.from(getActiveItems(this, IgcSelectItemComponent.tagName));
|
|
43
37
|
}
|
|
38
|
+
get __validators() {
|
|
39
|
+
return selectValidators;
|
|
40
|
+
}
|
|
44
41
|
get hasExpandedIcon() {
|
|
45
42
|
return this._expandedIconSlot.length > 0;
|
|
46
43
|
}
|
|
@@ -81,21 +78,15 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
|
|
|
81
78
|
super();
|
|
82
79
|
this._searchTerm = '';
|
|
83
80
|
this._lastKeyTime = 0;
|
|
84
|
-
this._rootClickController = addRootClickHandler(this, {
|
|
85
|
-
hideCallback: () => this._hide(true),
|
|
86
|
-
});
|
|
87
81
|
this._rootScrollController = addRootScrollHandler(this, {
|
|
88
|
-
hideCallback:
|
|
82
|
+
hideCallback: this.handleClosing,
|
|
89
83
|
});
|
|
90
84
|
this._selectedItem = null;
|
|
91
|
-
this.validators = [requiredValidator];
|
|
92
85
|
this.outlined = false;
|
|
93
86
|
this.distance = 0;
|
|
94
87
|
this.placement = 'bottom-start';
|
|
95
|
-
this.positionStrategy = 'fixed';
|
|
96
88
|
this.scrollStrategy = 'scroll';
|
|
97
|
-
this.
|
|
98
|
-
this.flip = true;
|
|
89
|
+
this._rootClickController.update({ hideCallback: this.handleClosing });
|
|
99
90
|
addKeybindings(this, {
|
|
100
91
|
skip: () => this.disabled,
|
|
101
92
|
bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },
|
|
@@ -116,6 +107,11 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
|
|
|
116
107
|
this.addEventListener('focusin', this.handleFocusIn);
|
|
117
108
|
this.addEventListener('focusout', this.handleFocusOut);
|
|
118
109
|
}
|
|
110
|
+
createRenderRoot() {
|
|
111
|
+
const root = super.createRenderRoot();
|
|
112
|
+
root.addEventListener('slotchange', () => this.requestUpdate());
|
|
113
|
+
return root;
|
|
114
|
+
}
|
|
119
115
|
async firstUpdated() {
|
|
120
116
|
await this.updateComplete;
|
|
121
117
|
const selected = setInitialSelectionState(this.items);
|
|
@@ -136,14 +132,12 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
|
|
|
136
132
|
if (this.contains(relatedTarget) || this.open) {
|
|
137
133
|
return;
|
|
138
134
|
}
|
|
139
|
-
this.emitEvent('igcFocus');
|
|
140
135
|
}
|
|
141
136
|
handleFocusOut({ relatedTarget }) {
|
|
142
137
|
if (this.contains(relatedTarget)) {
|
|
143
138
|
return;
|
|
144
139
|
}
|
|
145
140
|
this.checkValidity();
|
|
146
|
-
this.emitEvent('igcBlur');
|
|
147
141
|
}
|
|
148
142
|
handleClick(event) {
|
|
149
143
|
const item = findElementFromEventPath(IgcSelectItemComponent.tagName, event);
|
|
@@ -224,8 +218,8 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
|
|
|
224
218
|
const item = this._activeItems.at(-1);
|
|
225
219
|
this.open ? this._navigateToActiveItem(item) : this._selectItem(item);
|
|
226
220
|
}
|
|
227
|
-
|
|
228
|
-
this.
|
|
221
|
+
handleClosing() {
|
|
222
|
+
this._hide(true);
|
|
229
223
|
}
|
|
230
224
|
activateItem(item) {
|
|
231
225
|
if (this._activeItem) {
|
|
@@ -293,9 +287,6 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
|
|
|
293
287
|
getItem(value) {
|
|
294
288
|
return this.items.find((item) => item.value === value);
|
|
295
289
|
}
|
|
296
|
-
_stopPropagation(e) {
|
|
297
|
-
e.stopPropagation();
|
|
298
|
-
}
|
|
299
290
|
focus(options) {
|
|
300
291
|
this.input.focus(options);
|
|
301
292
|
}
|
|
@@ -329,41 +320,27 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
|
|
|
329
320
|
const suffixName = this.hasSuffixes ? 'suffix' : '';
|
|
330
321
|
return html `
|
|
331
322
|
<span slot=${prefixName}>
|
|
332
|
-
<slot name="prefix"
|
|
323
|
+
<slot name="prefix"></slot>
|
|
333
324
|
</span>
|
|
334
325
|
|
|
335
326
|
<span slot=${suffixName}>
|
|
336
|
-
<slot name="suffix"
|
|
327
|
+
<slot name="suffix"></slot>
|
|
337
328
|
</span>
|
|
338
329
|
`;
|
|
339
330
|
}
|
|
340
331
|
renderToggleIcon() {
|
|
341
332
|
const parts = partNameMap({ 'toggle-icon': true, filled: this.value });
|
|
342
333
|
const iconHidden = this.open && this.hasExpandedIcon;
|
|
343
|
-
const iconExpandedHidden = !this.hasExpandedIcon
|
|
344
|
-
const openIcon = this.isMaterialTheme
|
|
345
|
-
? 'keyboard_arrow_up'
|
|
346
|
-
: 'arrow_drop_up';
|
|
347
|
-
const closeIcon = this.isMaterialTheme
|
|
348
|
-
? 'keyboard_arrow_down'
|
|
349
|
-
: 'arrow_drop_down';
|
|
334
|
+
const iconExpandedHidden = !(this.hasExpandedIcon && this.open);
|
|
350
335
|
return html `
|
|
351
336
|
<span slot="suffix" part=${parts} aria-hidden="true">
|
|
352
|
-
<slot
|
|
353
|
-
name="toggle-icon"
|
|
354
|
-
?hidden=${iconHidden}
|
|
355
|
-
@slotchange=${this.inputSlotChanged}
|
|
356
|
-
>
|
|
337
|
+
<slot name="toggle-icon" ?hidden=${iconHidden}>
|
|
357
338
|
<igc-icon
|
|
358
|
-
name=${this.open ?
|
|
359
|
-
collection="
|
|
339
|
+
name=${this.open ? 'input_collapse' : 'input_expand'}
|
|
340
|
+
collection="default"
|
|
360
341
|
></igc-icon>
|
|
361
342
|
</slot>
|
|
362
|
-
<slot
|
|
363
|
-
name="toggle-icon-expanded"
|
|
364
|
-
?hidden=${iconExpandedHidden}
|
|
365
|
-
@slotchange=${this.inputSlotChanged}
|
|
366
|
-
></slot>
|
|
343
|
+
<slot name="toggle-icon-expanded" ?hidden=${iconExpandedHidden}></slot>
|
|
367
344
|
</span>
|
|
368
345
|
`;
|
|
369
346
|
}
|
|
@@ -375,7 +352,7 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
|
|
|
375
352
|
slot="anchor"
|
|
376
353
|
?hidden=${!this.hasHelperText}
|
|
377
354
|
>
|
|
378
|
-
<slot name="helper-text"
|
|
355
|
+
<slot name="helper-text"></slot>
|
|
379
356
|
</div>
|
|
380
357
|
`;
|
|
381
358
|
}
|
|
@@ -400,8 +377,6 @@ let IgcSelectComponent = IgcSelectComponent_1 = class IgcSelectComponent extends
|
|
|
400
377
|
.invalid=${this.invalid}
|
|
401
378
|
.outlined=${this.outlined}
|
|
402
379
|
@click=${this.handleAnchorClick}
|
|
403
|
-
@igcFocus=${this._stopPropagation}
|
|
404
|
-
@igcBlur=${this._stopPropagation}
|
|
405
380
|
>
|
|
406
381
|
${this.renderInputSlots()} ${this.renderToggleIcon()}
|
|
407
382
|
</igc-input>
|
|
@@ -483,32 +458,14 @@ __decorate([
|
|
|
483
458
|
__decorate([
|
|
484
459
|
property({ attribute: 'scroll-strategy' })
|
|
485
460
|
], IgcSelectComponent.prototype, "scrollStrategy", void 0);
|
|
486
|
-
__decorate([
|
|
487
|
-
property({ type: Boolean, attribute: 'same-width' })
|
|
488
|
-
], IgcSelectComponent.prototype, "sameWidth", void 0);
|
|
489
|
-
__decorate([
|
|
490
|
-
property({ type: Boolean })
|
|
491
|
-
], IgcSelectComponent.prototype, "flip", void 0);
|
|
492
461
|
__decorate([
|
|
493
462
|
watch('scrollStrategy', { waitUntilFirstUpdate: true })
|
|
494
463
|
], IgcSelectComponent.prototype, "scrollStrategyChanged", null);
|
|
495
464
|
__decorate([
|
|
496
465
|
watch('open', { waitUntilFirstUpdate: true })
|
|
497
466
|
], IgcSelectComponent.prototype, "openChange", null);
|
|
498
|
-
__decorate([
|
|
499
|
-
alternateName('focusComponent')
|
|
500
|
-
], IgcSelectComponent.prototype, "focus", null);
|
|
501
|
-
__decorate([
|
|
502
|
-
alternateName('blurComponent')
|
|
503
|
-
], IgcSelectComponent.prototype, "blur", null);
|
|
504
|
-
__decorate([
|
|
505
|
-
blazorSuppress()
|
|
506
|
-
], IgcSelectComponent.prototype, "navigateTo", null);
|
|
507
|
-
__decorate([
|
|
508
|
-
blazorSuppress()
|
|
509
|
-
], IgcSelectComponent.prototype, "select", null);
|
|
510
467
|
IgcSelectComponent = IgcSelectComponent_1 = __decorate([
|
|
511
|
-
themes(all
|
|
468
|
+
themes(all),
|
|
512
469
|
blazorAdditionalDependencies('IgcIconComponent, IgcInputComponent, IgcSelectGroupComponent, IgcSelectHeaderComponent, IgcSelectItemComponent')
|
|
513
470
|
], IgcSelectComponent);
|
|
514
471
|
export default IgcSelectComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/components/select/select.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { themeSymbol, themes } from '../../theming/theming-decorator.js';\nimport type { Theme } from '../../theming/types.js';\nimport {\n addKeybindings,\n altKey,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n endKey,\n enterKey,\n escapeKey,\n homeKey,\n spaceBar,\n tabKey,\n} from '../common/controllers/key-bindings.js';\nimport { addRootClickHandler } from '../common/controllers/root-click.js';\nimport { addRootScrollHandler } from '../common/controllers/root-scroll.js';\nimport { alternateName } from '../common/decorators/alternateName.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n IgcBaseComboBoxLikeComponent,\n getActiveItems,\n getItems,\n getNextActiveItem,\n getPreviousActiveItem,\n setInitialSelectionState,\n} from '../common/mixins/combo-box.js';\nimport type { AbstractConstructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormAssociatedRequiredMixin } from '../common/mixins/form-associated-required.js';\nimport { findElementFromEventPath, partNameMap } from '../common/util.js';\nimport { type Validator, requiredValidator } from '../common/validators.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport IgcInputComponent from '../input/input.js';\nimport IgcPopoverComponent, { type IgcPlacement } from '../popover/popover.js';\nimport IgcSelectGroupComponent from './select-group.js';\nimport IgcSelectHeaderComponent from './select-header.js';\nimport IgcSelectItemComponent from './select-item.js';\nimport { styles } from './themes/select.base.css.js';\nimport { styles as shared } from './themes/shared/select.common.css.js';\nimport { all } from './themes/themes.js';\n\nexport interface IgcSelectEventMap {\n igcChange: CustomEvent<IgcSelectItemComponent>;\n igcBlur: CustomEvent<void>;\n igcFocus: CustomEvent<void>;\n igcOpening: CustomEvent<void>;\n igcOpened: CustomEvent<void>;\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n}\n\n/**\n * Represents a control that provides a menu of options.\n *\n * @element igc-select\n *\n * @slot - Renders the list of select items.\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot header - Renders a container before the list of options.\n * @slot footer - Renders a container after the list of options.\n * @slot helper-text - Renders content below the input.\n * @slot toggle-icon - Renders content inside the suffix container.\n * @slot toggle-icon-expanded - Renders content for the toggle icon when the component is in open state.\n *\n * @fires igcFocus - Emitted when the select gains focus.\n * @fires igcBlur - Emitted when the select loses focus.\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcOpening - Emitted just before the list of options is opened.\n * @fires igcOpened - Emitted after the list of options is opened.\n * @fires igcClosing - Emitter just before the list of options is closed.\n * @fires igcClosed - Emitted after the list of options is closed.\n *\n * @csspart list - The list wrapping container for the items of the igc-select.\n * @csspart input - The encapsulated igc-input of the igc-select.\n * @csspart label - The encapsulated text label of the igc-select.\n * @csspart prefix - The prefix wrapper of the input of the igc-select.\n * @csspart suffix - The suffix wrapper of the input of the igc-select.\n * @csspart toggle-icon - The toggle icon wrapper of the igc-select.\n * @csspart helper-text - The helper text wrapper of the igc-select.\n */\n@themes(all, true)\n@blazorAdditionalDependencies(\n 'IgcIconComponent, IgcInputComponent, IgcSelectGroupComponent, IgcSelectHeaderComponent, IgcSelectItemComponent'\n)\nexport default class IgcSelectComponent extends FormAssociatedRequiredMixin(\n EventEmitterMixin<\n IgcSelectEventMap,\n AbstractConstructor<IgcBaseComboBoxLikeComponent>\n >(IgcBaseComboBoxLikeComponent)\n) {\n public static readonly tagName = 'igc-select';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcSelectComponent,\n IgcIconComponent,\n IgcInputComponent,\n IgcPopoverComponent,\n IgcSelectGroupComponent,\n IgcSelectHeaderComponent,\n IgcSelectItemComponent\n );\n }\n\n private declare readonly [themeSymbol]: Theme;\n private _value!: string;\n private _searchTerm = '';\n private _lastKeyTime = 0;\n\n private _rootClickController = addRootClickHandler(this, {\n hideCallback: () => this._hide(true),\n });\n\n private _rootScrollController = addRootScrollHandler(this, {\n hideCallback: () => this._hide(true),\n });\n\n private get isMaterialTheme() {\n return this[themeSymbol] === 'material';\n }\n\n private get _activeItems() {\n return Array.from(\n getActiveItems<IgcSelectItemComponent>(\n this,\n IgcSelectItemComponent.tagName\n )\n );\n }\n\n @state()\n protected _selectedItem: IgcSelectItemComponent | null = null;\n\n @state()\n protected _activeItem!: IgcSelectItemComponent;\n\n protected override validators: Validator<this>[] = [requiredValidator];\n\n @query(IgcInputComponent.tagName, true)\n protected input!: IgcInputComponent;\n\n @queryAssignedElements({ slot: 'helper-text' })\n protected helperText!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'suffix' })\n protected inputSuffix!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'prefix' })\n protected inputPrefix!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'toggle-icon-expanded' })\n protected _expandedIconSlot!: Array<HTMLElement>;\n\n protected get hasExpandedIcon() {\n return this._expandedIconSlot.length > 0;\n }\n\n protected get hasPrefixes() {\n return this.inputPrefix.length > 0;\n }\n\n protected get hasSuffixes() {\n return this.inputSuffix.length > 0;\n }\n\n protected get hasHelperText() {\n return this.helperText.length > 0;\n }\n\n /**\n * The value attribute of the control.\n * @attr\n */\n @property()\n public get value(): string {\n return this._value;\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail.value\", false) */\n public set value(value: string) {\n this._updateValue(value);\n const item = this.getItem(this._value);\n item ? this.setSelectedItem(item) : this.clearSelectedItem();\n }\n\n /**\n * The outlined attribute of the control.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public outlined = false;\n\n /**\n * The autofocus attribute of the control.\n * @attr\n */\n @property({ type: Boolean })\n public override autofocus!: boolean;\n\n /**\n * The distance of the select dropdown from its input.\n * @attr\n */\n @property({ type: Number })\n public distance = 0;\n\n /**\n * The label attribute of the control.\n * @attr\n */\n @property()\n public label!: string;\n\n /**\n * The placeholder attribute of the control.\n * @attr\n */\n @property()\n public placeholder!: string;\n\n /** The preferred placement of the select dropdown around its input.\n * @type {'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'right' | 'right-start' | 'right-end' | 'left' | 'left-start' | 'left-end'}\n * @attr\n */\n @property()\n public placement: IgcPlacement = 'bottom-start';\n\n /**\n * @deprecated since version 4.3.0\n * @hidden @internal @private\n */\n public positionStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * Determines the behavior of the component during scrolling of the parent container.\n * @attr scroll-strategy\n */\n @property({ attribute: 'scroll-strategy' })\n public scrollStrategy: 'scroll' | 'block' | 'close' = 'scroll';\n\n /**\n * Whether the dropdown's width should be the same as the target's one.\n * @deprecated since version 4.3.0\n * @hidden @internal @private\n * @attr same-width\n */\n @property({ type: Boolean, attribute: 'same-width' })\n public sameWidth = true;\n\n /**\n * Whether the component should be flipped to the opposite side of the target once it's about to overflow the visible area.\n * When true, once enough space is detected on its preferred side, it will flip back.\n * @deprecated since version 4.3.0\n * @hidden @internal @private\n * @attr\n */\n @property({ type: Boolean })\n public flip = true;\n\n /** Returns the items of the igc-select component. */\n public get items() {\n return Array.from(\n getItems<IgcSelectItemComponent>(this, IgcSelectItemComponent.tagName)\n );\n }\n\n /** Returns the groups of the igc-select component. */\n public get groups() {\n return Array.from(\n getItems<IgcSelectGroupComponent>(this, IgcSelectGroupComponent.tagName)\n );\n }\n\n /** Returns the selected item from the dropdown or null. */\n public get selectedItem() {\n return this._selectedItem;\n }\n\n @watch('scrollStrategy', { waitUntilFirstUpdate: true })\n protected scrollStrategyChanged() {\n this._rootScrollController.update({ resetListeners: true });\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n protected openChange() {\n this._rootClickController.update();\n this._rootScrollController.update();\n }\n\n constructor() {\n super();\n\n addKeybindings(this, {\n skip: () => this.disabled,\n bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },\n })\n .set([altKey, arrowDown], this.altArrowDown)\n .set([altKey, arrowUp], this.altArrowUp)\n .set(arrowDown, this.onArrowDown)\n .set(arrowUp, this.onArrowUp)\n .set(arrowLeft, this.onArrowUp)\n .set(arrowRight, this.onArrowDown)\n .set(tabKey, this.onTabKey, { preventDefault: false })\n .set(escapeKey, this.onEscapeKey)\n .set(homeKey, this.onHomeKey)\n .set(endKey, this.onEndKey)\n .set(spaceBar, this.onSpaceBarKey)\n .set(enterKey, this.onEnterKey);\n\n this.addEventListener('keydown', this.handleSearch);\n this.addEventListener('focusin', this.handleFocusIn);\n this.addEventListener('focusout', this.handleFocusOut);\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n const selected = setInitialSelectionState(this.items);\n\n if (this.value && !selected) {\n this._selectItem(this.getItem(this.value), false);\n }\n\n if (selected && selected.value !== this.value) {\n this._defaultValue = selected.value;\n this._selectItem(selected, false);\n }\n\n if (this.autofocus) {\n this.focus();\n }\n\n this.updateValidity();\n }\n\n private handleFocusIn({ relatedTarget }: FocusEvent) {\n this._dirty = true;\n\n if (this.contains(relatedTarget as Node) || this.open) {\n return;\n }\n\n this.emitEvent('igcFocus');\n }\n\n private handleFocusOut({ relatedTarget }: FocusEvent) {\n if (this.contains(relatedTarget as Node)) {\n return;\n }\n\n this.checkValidity();\n this.emitEvent('igcBlur');\n }\n\n private handleClick(event: MouseEvent) {\n const item = findElementFromEventPath<IgcSelectItemComponent>(\n IgcSelectItemComponent.tagName,\n event\n );\n if (item && this._activeItems.includes(item)) {\n this._selectItem(item);\n }\n }\n\n private handleChange(item: IgcSelectItemComponent) {\n return this.emitEvent('igcChange', { detail: item });\n }\n\n private handleSearch(event: KeyboardEvent) {\n if (!/^.$/u.test(event.key)) {\n return;\n }\n\n event.preventDefault();\n const now = Date.now();\n\n if (now - this._lastKeyTime > 500) {\n this._searchTerm = '';\n }\n\n this._lastKeyTime = now;\n this._searchTerm += event.key.toLocaleLowerCase();\n\n const item = this._activeItems.find((item) =>\n item.textContent?.trim().toLocaleLowerCase().startsWith(this._searchTerm)\n );\n\n if (item) {\n this.open ? this.activateItem(item) : this._selectItem(item);\n this._activeItem.focus();\n }\n }\n\n protected override handleAnchorClick(): void {\n super.handleAnchorClick();\n this.focusItemOnOpen();\n }\n\n private onEnterKey() {\n this.open && this._activeItem\n ? this._selectItem(this._activeItem)\n : this.handleAnchorClick();\n }\n\n private onSpaceBarKey() {\n if (!this.open) {\n this.handleAnchorClick();\n }\n }\n\n private onArrowDown() {\n const item = getNextActiveItem(this.items, this._activeItem);\n this.open ? this._navigateToActiveItem(item) : this._selectItem(item);\n }\n\n private onArrowUp() {\n const item = getPreviousActiveItem(this.items, this._activeItem);\n this.open ? this._navigateToActiveItem(item) : this._selectItem(item);\n }\n\n private altArrowDown() {\n if (!this.open) {\n this._show(true);\n this.focusItemOnOpen();\n }\n }\n\n private async altArrowUp() {\n if (this.open && (await this._hide(true))) {\n this.input.focus();\n }\n }\n\n protected async onEscapeKey() {\n if (await this._hide(true)) {\n this.input.focus();\n }\n }\n\n private onTabKey(event: KeyboardEvent) {\n if (this.open) {\n event.preventDefault();\n this._selectItem(this._activeItem);\n this._hide(true);\n }\n }\n\n protected onHomeKey() {\n const item = this._activeItems.at(0);\n this.open ? this._navigateToActiveItem(item) : this._selectItem(item);\n }\n\n protected onEndKey() {\n const item = this._activeItems.at(-1);\n this.open ? this._navigateToActiveItem(item) : this._selectItem(item);\n }\n\n /** Monitor input slot changes and request update */\n protected inputSlotChanged() {\n this.requestUpdate();\n }\n\n private activateItem(item: IgcSelectItemComponent) {\n if (this._activeItem) {\n this._activeItem.active = false;\n }\n\n this._activeItem = item;\n this._activeItem.active = true;\n }\n\n private setSelectedItem(item: IgcSelectItemComponent) {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n\n this._selectedItem = item;\n this._selectedItem.selected = true;\n\n return this._selectedItem;\n }\n\n private _selectItem(item?: IgcSelectItemComponent, emit = true) {\n if (!item) {\n this.clearSelectedItem();\n this._updateValue();\n return null;\n }\n\n const items = this.items;\n const [previous, current] = [\n items.indexOf(this._selectedItem!),\n items.indexOf(item),\n ];\n\n if (previous === current) {\n return this._selectedItem;\n }\n\n const newItem = this.setSelectedItem(item);\n this.activateItem(newItem);\n this._updateValue(newItem.value);\n\n if (emit) this.handleChange(newItem);\n if (emit && this.open) this.input.focus();\n if (emit && !this.keepOpenOnSelect) this._hide(true);\n\n return this._selectedItem;\n }\n\n private _navigateToActiveItem(item?: IgcSelectItemComponent) {\n if (item) {\n this.activateItem(item);\n this._activeItem.focus({ preventScroll: true });\n item.scrollIntoView({ behavior: 'auto', block: 'nearest' });\n }\n }\n\n private _updateValue(value?: string) {\n this._value = value as string;\n this.setFormValue(this._value ? this._value : null);\n this.updateValidity();\n this.setInvalidState();\n }\n\n private clearSelectedItem() {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n this._selectedItem = null;\n }\n\n private async focusItemOnOpen() {\n await this.updateComplete;\n (this._selectedItem || this._activeItem)?.focus();\n }\n\n protected getItem(value: string) {\n return this.items.find((item) => item.value === value);\n }\n\n private _stopPropagation(e: Event) {\n e.stopPropagation();\n }\n\n /** Sets focus on the component. */\n @alternateName('focusComponent')\n public override focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the component. */\n @alternateName('blurComponent')\n public override blur() {\n this.input.blur();\n super.blur();\n }\n\n /** Checks the validity of the control and moves the focus to it if it is not valid. */\n public override reportValidity() {\n const valid = super.reportValidity();\n if (!valid) this.input.focus();\n return valid;\n }\n\n /** Navigates to the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string): IgcSelectItemComponent | null;\n /** Navigates to the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public navigateTo(index: number): IgcSelectItemComponent | null;\n /** Navigates to the specified item. If it exists, returns the found item, otherwise - null. */\n @blazorSuppress()\n public navigateTo(value: string | number): IgcSelectItemComponent | null {\n const item =\n typeof value === 'string' ? this.getItem(value) : this.items[value];\n\n if (item) {\n this._navigateToActiveItem(item);\n }\n\n return item ?? null;\n }\n\n /** Selects the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public select(value: string): IgcSelectItemComponent | null;\n /** Selects the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public select(index: number): IgcSelectItemComponent | null;\n /** Selects the specified item. If it exists, returns the found item, otherwise - null. */\n @blazorSuppress()\n public select(value: string | number): IgcSelectItemComponent | null {\n const item =\n typeof value === 'string' ? this.getItem(value) : this.items[value];\n return item ? this._selectItem(item, false) : null;\n }\n\n /** Resets the current value and selection of the component. */\n public clearSelection() {\n this._updateValue();\n this.clearSelectedItem();\n }\n\n protected renderInputSlots() {\n const prefixName = this.hasPrefixes ? 'prefix' : '';\n const suffixName = this.hasSuffixes ? 'suffix' : '';\n\n return html`\n <span slot=${prefixName}>\n <slot name=\"prefix\" @slotchange=${this.inputSlotChanged}></slot>\n </span>\n\n <span slot=${suffixName}>\n <slot name=\"suffix\" @slotchange=${this.inputSlotChanged}></slot>\n </span>\n `;\n }\n\n protected renderToggleIcon() {\n const parts = partNameMap({ 'toggle-icon': true, filled: this.value! });\n const iconHidden = this.open && this.hasExpandedIcon;\n const iconExpandedHidden = !this.hasExpandedIcon || !this.open;\n\n const openIcon = this.isMaterialTheme\n ? 'keyboard_arrow_up'\n : 'arrow_drop_up';\n const closeIcon = this.isMaterialTheme\n ? 'keyboard_arrow_down'\n : 'arrow_drop_down';\n\n return html`\n <span slot=\"suffix\" part=${parts} aria-hidden=\"true\">\n <slot\n name=\"toggle-icon\"\n ?hidden=${iconHidden}\n @slotchange=${this.inputSlotChanged}\n >\n <igc-icon\n name=${this.open ? openIcon : closeIcon}\n collection=\"internal\"\n ></igc-icon>\n </slot>\n <slot\n name=\"toggle-icon-expanded\"\n ?hidden=${iconExpandedHidden}\n @slotchange=${this.inputSlotChanged}\n ></slot>\n </span>\n `;\n }\n\n protected renderHelperText() {\n return html`\n <div\n id=\"helper-text\"\n part=\"helper-text\"\n slot=\"anchor\"\n ?hidden=${!this.hasHelperText}\n >\n <slot name=\"helper-text\" @slotchange=${this.inputSlotChanged}></slot>\n </div>\n `;\n }\n\n protected renderInputAnchor() {\n const value = this.selectedItem?.textContent?.trim();\n\n return html`\n <igc-input\n id=\"input\"\n slot=\"anchor\"\n role=\"combobox\"\n readonly\n aria-controls=\"dropdown\"\n aria-describedby=\"helper-text\"\n aria-expanded=${this.open ? 'true' : 'false'}\n exportparts=\"container: input, input: native-input, label, prefix, suffix\"\n tabIndex=${this.disabled ? -1 : 0}\n value=${ifDefined(value)}\n placeholder=${ifDefined(this.placeholder)}\n label=${ifDefined(this.label)}\n .disabled=${this.disabled}\n .required=${this.required}\n .invalid=${this.invalid}\n .outlined=${this.outlined}\n @click=${this.handleAnchorClick}\n @igcFocus=${this._stopPropagation}\n @igcBlur=${this._stopPropagation}\n >\n ${this.renderInputSlots()} ${this.renderToggleIcon()}\n </igc-input>\n\n ${this.renderHelperText()}\n `;\n }\n\n protected renderDropdown() {\n return html`<div part=\"base\" .inert=${!this.open}>\n <div\n id=\"dropdown\"\n role=\"listbox\"\n part=\"list\"\n aria-labelledby=\"input\"\n @click=${this.handleClick}\n >\n <slot name=\"header\"></slot>\n <slot></slot>\n <slot name=\"footer\"></slot>\n </div>\n </div>`;\n }\n\n protected override render() {\n return html`<igc-popover\n ?open=${this.open}\n flip\n shift\n same-width\n .offset=${this.distance}\n .placement=${this.placement}\n >${this.renderInputAnchor()} ${this.renderDropdown()}\n </igc-popover>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-select': IgcSelectComponent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/components/select/select.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EACL,QAAQ,EACR,KAAK,EACL,qBAAqB,EACrB,KAAK,GACN,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,MAAM,EACN,SAAS,EACT,SAAS,EACT,UAAU,EACV,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,MAAM,GACP,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,sDAAsD,CAAC;AACpG,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,QAAQ,EACR,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAC/C,OAAO,iBAAiB,MAAM,mBAAmB,CAAC;AAClD,OAAO,mBAA0C,MAAM,uBAAuB,CAAC;AAC/E,OAAO,uBAAuB,MAAM,mBAAmB,CAAC;AACxD,OAAO,wBAAwB,MAAM,oBAAoB,CAAC;AAC1D,OAAO,sBAAsB,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AA6CpC,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,2BAA2B,CACzE,iBAAiB,CAGf,4BAA4B,CAAC,CAChC;IAKQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CACf,oBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAUD,IAAY,YAAY;QACtB,OAAO,KAAK,CAAC,IAAI,CACf,cAAc,CACZ,IAAI,EACJ,sBAAsB,CAAC,OAAO,CAC/B,CACF,CAAC;IACJ,CAAC;IAQD,IAAuB,YAAY;QACjC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAiBD,IAAc,eAAe;QAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,IAAc,WAAW;QACvB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAc,WAAW;QACvB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAc,aAAa;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,CAAC;IAOD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAGD,IAAW,KAAK,CAAC,KAAa;QAC5B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC/D,CAAC;IAoDD,IAAW,KAAK;QACd,OAAO,KAAK,CAAC,IAAI,CACf,QAAQ,CAAyB,IAAI,EAAE,sBAAsB,CAAC,OAAO,CAAC,CACvE,CAAC;IACJ,CAAC;IAGD,IAAW,MAAM;QACf,OAAO,KAAK,CAAC,IAAI,CACf,QAAQ,CAA0B,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC,CACzE,CAAC;IACJ,CAAC;IAGD,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAGS,qBAAqB;QAC7B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAGS,UAAU;QAClB,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;IACtC,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QAzJF,gBAAW,GAAG,EAAE,CAAC;QACjB,iBAAY,GAAG,CAAC,CAAC;QAEjB,0BAAqB,GAAG,oBAAoB,CAAC,IAAI,EAAE;YACzD,YAAY,EAAE,IAAI,CAAC,aAAa;SACjC,CAAC,CAAC;QAYO,kBAAa,GAAkC,IAAI,CAAC;QA6DvD,aAAQ,GAAG,KAAK,CAAC;QAcjB,aAAQ,GAAG,CAAC,CAAC;QAqBb,cAAS,GAAiB,cAAc,CAAC;QAOzC,mBAAc,GAAiC,QAAQ,CAAC;QAmC7D,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAEvE,cAAc,CAAC,IAAI,EAAE;YACnB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ;YACzB,eAAe,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE;SACvE,CAAC;aACC,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC;aAC3C,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC;aACvC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;aAChC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;aAC5B,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;aAC9B,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC;aACjC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;aACrD,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;aAChC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;aAC5B,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;aAC1B,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC;aACjC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAElC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACzD,CAAC;IAEkB,gBAAgB;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAEkB,KAAK,CAAC,YAAY;QACnC,MAAM,IAAI,CAAC,cAAc,CAAC;QAC1B,MAAM,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtD,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9C,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,aAAa,CAAC,EAAE,aAAa,EAAc;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAqB,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACtD,OAAO;QACT,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,EAAE,aAAa,EAAc;QAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAqB,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,WAAW,CAAC,KAAiB;QACnC,MAAM,IAAI,GAAG,wBAAwB,CACnC,sBAAsB,CAAC,OAAO,EAC9B,KAAK,CACN,CAAC;QACF,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,IAA4B;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAEO,YAAY,CAAC,KAAoB;QACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAElD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3C,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC1E,CAAC;QAEF,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEkB,iBAAiB;QAClC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW;YAC3B,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;YACpC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC/B,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IAEO,SAAS;QACf,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAES,KAAK,CAAC,WAAW;QACzB,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,KAAoB;QACnC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAES,SAAS;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IAES,QAAQ;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IAES,aAAa;QACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAEO,YAAY,CAAC,IAA4B;QAC/C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC;IACjC,CAAC;IAEO,eAAe,CAAC,IAA4B;QAClD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;QAEnC,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEO,WAAW,CAAC,IAA6B,EAAE,IAAI,GAAG,IAAI;QAC5D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG;YAC1B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAc,CAAC;YAClC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;SACpB,CAAC;QAEF,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEjC,IAAI,IAAI;YAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEO,qBAAqB,CAAC,IAA6B;QACzD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,KAAc;QACjC,IAAI,CAAC,MAAM,GAAG,KAAe,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,MAAM,IAAI,CAAC,cAAc,CAAC;QAC1B,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC;IACpD,CAAC;IAES,OAAO,CAAC,KAAa;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACzD,CAAC;IAIe,KAAK,CAAC,OAAsB;QAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAIe,IAAI;QAClB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAGe,cAAc;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAUM,UAAU,CAAC,KAAsB;QACtC,MAAM,IAAI,GACR,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEtE,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,IAAI,IAAI,CAAC;IACtB,CAAC;IAUM,MAAM,CAAC,KAAsB;QAClC,MAAM,IAAI,GACR,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;IAGM,cAAc;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAES,gBAAgB;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpD,OAAO,IAAI,CAAA;mBACI,UAAU;;;;mBAIV,UAAU;;;KAGxB,CAAC;IACJ,CAAC;IAES,gBAAgB;QACxB,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAM,EAAE,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC;QACrD,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhE,OAAO,IAAI,CAAA;iCACkB,KAAK;2CACK,UAAU;;mBAElC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc;;;;oDAIZ,kBAAkB;;KAEjE,CAAC;IACJ,CAAC;IAES,gBAAgB;QACxB,OAAO,IAAI,CAAA;;;;;kBAKG,CAAC,IAAI,CAAC,aAAa;;;;KAIhC,CAAC;IACJ,CAAC;IAES,iBAAiB;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAErD,OAAO,IAAI,CAAA;;;;;;;;wBAQS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;mBAEjC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzB,SAAS,CAAC,KAAK,CAAC;sBACV,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;gBACjC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;oBACjB,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,QAAQ;mBACd,IAAI,CAAC,OAAO;oBACX,IAAI,CAAC,QAAQ;iBAChB,IAAI,CAAC,iBAAiB;;UAE7B,IAAI,CAAC,gBAAgB,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE;;;QAGpD,IAAI,CAAC,gBAAgB,EAAE;KAC1B,CAAC;IACJ,CAAC;IAES,cAAc;QACtB,OAAO,IAAI,CAAA,2BAA2B,CAAC,IAAI,CAAC,IAAI;;;;;;iBAMnC,IAAI,CAAC,WAAW;;;;;;WAMtB,CAAC;IACV,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;cACD,IAAI,CAAC,IAAI;;;;gBAIP,IAAI,CAAC,QAAQ;mBACV,IAAI,CAAC,SAAS;SACxB,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE;mBACvC,CAAC;IAClB,CAAC;;AAzkBsB,0BAAO,GAAG,YAAY,AAAf,CAAgB;AAChC,yBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAiC9B;IADT,KAAK,EAAE;yDACsD;AAGpD;IADT,KAAK,EAAE;uDACuC;AAOrC;IADT,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC;iDACH;AAG1B;IADT,qBAAqB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;sDACL;AAGhC;IADT,qBAAqB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;uDACC;AAGjC;IADT,qBAAqB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;uDACC;AAGjC;IADT,qBAAqB,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;6DACP;AAuBjD;IADC,QAAQ,EAAE;+CAGV;AAcM;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACnB;AAOR;IADf,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACQ;AAO7B;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDACP;AAOb;IADN,QAAQ,EAAE;iDACW;AAOf;IADN,QAAQ,EAAE;uDACiB;AAOrB;IADN,QAAQ,EAAE;qDACqC;AAOzC;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;0DACoB;AAsBrD;IADT,KAAK,CAAC,gBAAgB,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;+DAGvD;AAGS;IADT,KAAK,CAAC,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;oDAI7C;AA7KkB,kBAAkB;IAJtC,MAAM,CAAC,GAAG,CAAC;IACX,4BAA4B,CAC3B,gHAAgH,CACjH;GACoB,kBAAkB,CAglBtC;eAhlBoB,kBAAkB","sourcesContent":["import { html } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport {\n addKeybindings,\n altKey,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n endKey,\n enterKey,\n escapeKey,\n homeKey,\n spaceBar,\n tabKey,\n} from '../common/controllers/key-bindings.js';\nimport { addRootScrollHandler } from '../common/controllers/root-scroll.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n IgcBaseComboBoxLikeComponent,\n getActiveItems,\n getItems,\n getNextActiveItem,\n getPreviousActiveItem,\n setInitialSelectionState,\n} from '../common/mixins/combo-box.js';\nimport type { AbstractConstructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormAssociatedRequiredMixin } from '../common/mixins/form-associated-required.js';\nimport { findElementFromEventPath, partNameMap } from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport IgcInputComponent from '../input/input.js';\nimport IgcPopoverComponent, { type IgcPlacement } from '../popover/popover.js';\nimport IgcSelectGroupComponent from './select-group.js';\nimport IgcSelectHeaderComponent from './select-header.js';\nimport IgcSelectItemComponent from './select-item.js';\nimport { styles } from './themes/select.base.css.js';\nimport { styles as shared } from './themes/shared/select.common.css.js';\nimport { all } from './themes/themes.js';\nimport { selectValidators } from './validators.js';\n\nexport interface IgcSelectEventMap {\n igcChange: CustomEvent<IgcSelectItemComponent>;\n // For analyzer meta only:\n focus: FocusEvent;\n blur: FocusEvent;\n igcOpening: CustomEvent<void>;\n igcOpened: CustomEvent<void>;\n igcClosing: CustomEvent<void>;\n igcClosed: CustomEvent<void>;\n}\n\n/**\n * Represents a control that provides a menu of options.\n *\n * @element igc-select\n *\n * @slot - Renders the list of select items.\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot header - Renders a container before the list of options.\n * @slot footer - Renders a container after the list of options.\n * @slot helper-text - Renders content below the input.\n * @slot toggle-icon - Renders content inside the suffix container.\n * @slot toggle-icon-expanded - Renders content for the toggle icon when the component is in open state.\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcOpening - Emitted just before the list of options is opened.\n * @fires igcOpened - Emitted after the list of options is opened.\n * @fires igcClosing - Emitter just before the list of options is closed.\n * @fires igcClosed - Emitted after the list of options is closed.\n *\n * @csspart list - The list wrapping container for the items of the igc-select.\n * @csspart input - The encapsulated igc-input of the igc-select.\n * @csspart label - The encapsulated text label of the igc-select.\n * @csspart prefix - The prefix wrapper of the input of the igc-select.\n * @csspart suffix - The suffix wrapper of the input of the igc-select.\n * @csspart toggle-icon - The toggle icon wrapper of the igc-select.\n * @csspart helper-text - The helper text wrapper of the igc-select.\n */\n@themes(all)\n@blazorAdditionalDependencies(\n 'IgcIconComponent, IgcInputComponent, IgcSelectGroupComponent, IgcSelectHeaderComponent, IgcSelectItemComponent'\n)\nexport default class IgcSelectComponent extends FormAssociatedRequiredMixin(\n EventEmitterMixin<\n IgcSelectEventMap,\n AbstractConstructor<IgcBaseComboBoxLikeComponent>\n >(IgcBaseComboBoxLikeComponent)\n) {\n public static readonly tagName = 'igc-select';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcSelectComponent,\n IgcIconComponent,\n IgcInputComponent,\n IgcPopoverComponent,\n IgcSelectGroupComponent,\n IgcSelectHeaderComponent,\n IgcSelectItemComponent\n );\n }\n\n private _value!: string;\n private _searchTerm = '';\n private _lastKeyTime = 0;\n\n private _rootScrollController = addRootScrollHandler(this, {\n hideCallback: this.handleClosing,\n });\n\n private get _activeItems() {\n return Array.from(\n getActiveItems<IgcSelectItemComponent>(\n this,\n IgcSelectItemComponent.tagName\n )\n );\n }\n\n @state()\n protected _selectedItem: IgcSelectItemComponent | null = null;\n\n @state()\n protected _activeItem!: IgcSelectItemComponent;\n\n protected override get __validators() {\n return selectValidators;\n }\n\n @query(IgcInputComponent.tagName, true)\n protected input!: IgcInputComponent;\n\n @queryAssignedElements({ slot: 'helper-text' })\n protected helperText!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'suffix' })\n protected inputSuffix!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'prefix' })\n protected inputPrefix!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'toggle-icon-expanded' })\n protected _expandedIconSlot!: Array<HTMLElement>;\n\n protected get hasExpandedIcon() {\n return this._expandedIconSlot.length > 0;\n }\n\n protected get hasPrefixes() {\n return this.inputPrefix.length > 0;\n }\n\n protected get hasSuffixes() {\n return this.inputSuffix.length > 0;\n }\n\n protected get hasHelperText() {\n return this.helperText.length > 0;\n }\n\n /**\n * The value attribute of the control.\n * @attr\n */\n @property()\n public get value(): string {\n return this._value;\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail.value\", false) */\n public set value(value: string) {\n this._updateValue(value);\n const item = this.getItem(this._value);\n item ? this.setSelectedItem(item) : this.clearSelectedItem();\n }\n\n /**\n * The outlined attribute of the control.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public outlined = false;\n\n /**\n * The autofocus attribute of the control.\n * @attr\n */\n @property({ type: Boolean })\n public override autofocus!: boolean;\n\n /**\n * The distance of the select dropdown from its input.\n * @attr\n */\n @property({ type: Number })\n public distance = 0;\n\n /**\n * The label attribute of the control.\n * @attr\n */\n @property()\n public label!: string;\n\n /**\n * The placeholder attribute of the control.\n * @attr\n */\n @property()\n public placeholder!: string;\n\n /** The preferred placement of the select dropdown around its input.\n * @type {'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'right' | 'right-start' | 'right-end' | 'left' | 'left-start' | 'left-end'}\n * @attr\n */\n @property()\n public placement: IgcPlacement = 'bottom-start';\n\n /**\n * Determines the behavior of the component during scrolling of the parent container.\n * @attr scroll-strategy\n */\n @property({ attribute: 'scroll-strategy' })\n public scrollStrategy: 'scroll' | 'block' | 'close' = 'scroll';\n\n /** Returns the items of the igc-select component. */\n public get items() {\n return Array.from(\n getItems<IgcSelectItemComponent>(this, IgcSelectItemComponent.tagName)\n );\n }\n\n /** Returns the groups of the igc-select component. */\n public get groups() {\n return Array.from(\n getItems<IgcSelectGroupComponent>(this, IgcSelectGroupComponent.tagName)\n );\n }\n\n /** Returns the selected item from the dropdown or null. */\n public get selectedItem() {\n return this._selectedItem;\n }\n\n @watch('scrollStrategy', { waitUntilFirstUpdate: true })\n protected scrollStrategyChanged() {\n this._rootScrollController.update({ resetListeners: true });\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n protected openChange() {\n this._rootClickController.update();\n this._rootScrollController.update();\n }\n\n constructor() {\n super();\n\n this._rootClickController.update({ hideCallback: this.handleClosing });\n\n addKeybindings(this, {\n skip: () => this.disabled,\n bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },\n })\n .set([altKey, arrowDown], this.altArrowDown)\n .set([altKey, arrowUp], this.altArrowUp)\n .set(arrowDown, this.onArrowDown)\n .set(arrowUp, this.onArrowUp)\n .set(arrowLeft, this.onArrowUp)\n .set(arrowRight, this.onArrowDown)\n .set(tabKey, this.onTabKey, { preventDefault: false })\n .set(escapeKey, this.onEscapeKey)\n .set(homeKey, this.onHomeKey)\n .set(endKey, this.onEndKey)\n .set(spaceBar, this.onSpaceBarKey)\n .set(enterKey, this.onEnterKey);\n\n this.addEventListener('keydown', this.handleSearch);\n this.addEventListener('focusin', this.handleFocusIn);\n this.addEventListener('focusout', this.handleFocusOut);\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n const selected = setInitialSelectionState(this.items);\n\n if (this.value && !selected) {\n this._selectItem(this.getItem(this.value), false);\n }\n\n if (selected && selected.value !== this.value) {\n this._defaultValue = selected.value;\n this._selectItem(selected, false);\n }\n\n if (this.autofocus) {\n this.focus();\n }\n\n this.updateValidity();\n }\n\n private handleFocusIn({ relatedTarget }: FocusEvent) {\n this._dirty = true;\n\n if (this.contains(relatedTarget as Node) || this.open) {\n return;\n }\n }\n\n private handleFocusOut({ relatedTarget }: FocusEvent) {\n if (this.contains(relatedTarget as Node)) {\n return;\n }\n\n this.checkValidity();\n }\n\n private handleClick(event: MouseEvent) {\n const item = findElementFromEventPath<IgcSelectItemComponent>(\n IgcSelectItemComponent.tagName,\n event\n );\n if (item && this._activeItems.includes(item)) {\n this._selectItem(item);\n }\n }\n\n private handleChange(item: IgcSelectItemComponent) {\n return this.emitEvent('igcChange', { detail: item });\n }\n\n private handleSearch(event: KeyboardEvent) {\n if (!/^.$/u.test(event.key)) {\n return;\n }\n\n event.preventDefault();\n const now = Date.now();\n\n if (now - this._lastKeyTime > 500) {\n this._searchTerm = '';\n }\n\n this._lastKeyTime = now;\n this._searchTerm += event.key.toLocaleLowerCase();\n\n const item = this._activeItems.find((item) =>\n item.textContent?.trim().toLocaleLowerCase().startsWith(this._searchTerm)\n );\n\n if (item) {\n this.open ? this.activateItem(item) : this._selectItem(item);\n this._activeItem.focus();\n }\n }\n\n protected override handleAnchorClick(): void {\n super.handleAnchorClick();\n this.focusItemOnOpen();\n }\n\n private onEnterKey() {\n this.open && this._activeItem\n ? this._selectItem(this._activeItem)\n : this.handleAnchorClick();\n }\n\n private onSpaceBarKey() {\n if (!this.open) {\n this.handleAnchorClick();\n }\n }\n\n private onArrowDown() {\n const item = getNextActiveItem(this.items, this._activeItem);\n this.open ? this._navigateToActiveItem(item) : this._selectItem(item);\n }\n\n private onArrowUp() {\n const item = getPreviousActiveItem(this.items, this._activeItem);\n this.open ? this._navigateToActiveItem(item) : this._selectItem(item);\n }\n\n private altArrowDown() {\n if (!this.open) {\n this._show(true);\n this.focusItemOnOpen();\n }\n }\n\n private async altArrowUp() {\n if (this.open && (await this._hide(true))) {\n this.input.focus();\n }\n }\n\n protected async onEscapeKey() {\n if (await this._hide(true)) {\n this.input.focus();\n }\n }\n\n private onTabKey(event: KeyboardEvent) {\n if (this.open) {\n event.preventDefault();\n this._selectItem(this._activeItem);\n this._hide(true);\n }\n }\n\n protected onHomeKey() {\n const item = this._activeItems.at(0);\n this.open ? this._navigateToActiveItem(item) : this._selectItem(item);\n }\n\n protected onEndKey() {\n const item = this._activeItems.at(-1);\n this.open ? this._navigateToActiveItem(item) : this._selectItem(item);\n }\n\n protected handleClosing() {\n this._hide(true);\n }\n\n private activateItem(item: IgcSelectItemComponent) {\n if (this._activeItem) {\n this._activeItem.active = false;\n }\n\n this._activeItem = item;\n this._activeItem.active = true;\n }\n\n private setSelectedItem(item: IgcSelectItemComponent) {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n\n this._selectedItem = item;\n this._selectedItem.selected = true;\n\n return this._selectedItem;\n }\n\n private _selectItem(item?: IgcSelectItemComponent, emit = true) {\n if (!item) {\n this.clearSelectedItem();\n this._updateValue();\n return null;\n }\n\n const items = this.items;\n const [previous, current] = [\n items.indexOf(this._selectedItem!),\n items.indexOf(item),\n ];\n\n if (previous === current) {\n return this._selectedItem;\n }\n\n const newItem = this.setSelectedItem(item);\n this.activateItem(newItem);\n this._updateValue(newItem.value);\n\n if (emit) this.handleChange(newItem);\n if (emit && this.open) this.input.focus();\n if (emit && !this.keepOpenOnSelect) this._hide(true);\n\n return this._selectedItem;\n }\n\n private _navigateToActiveItem(item?: IgcSelectItemComponent) {\n if (item) {\n this.activateItem(item);\n this._activeItem.focus({ preventScroll: true });\n item.scrollIntoView({ behavior: 'auto', block: 'nearest' });\n }\n }\n\n private _updateValue(value?: string) {\n this._value = value as string;\n this.setFormValue(this._value ? this._value : null);\n this.updateValidity();\n this.setInvalidState();\n }\n\n private clearSelectedItem() {\n if (this._selectedItem) {\n this._selectedItem.selected = false;\n }\n this._selectedItem = null;\n }\n\n private async focusItemOnOpen() {\n await this.updateComplete;\n (this._selectedItem || this._activeItem)?.focus();\n }\n\n protected getItem(value: string) {\n return this.items.find((item) => item.value === value);\n }\n\n /* alternateName: focusComponent */\n /** Sets focus on the component. */\n public override focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /* alternateName: blurComponent */\n /** Removes focus from the component. */\n public override blur() {\n this.input.blur();\n super.blur();\n }\n\n /** Checks the validity of the control and moves the focus to it if it is not valid. */\n public override reportValidity() {\n const valid = super.reportValidity();\n if (!valid) this.input.focus();\n return valid;\n }\n\n /* blazorSuppress */\n /** Navigates to the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string): IgcSelectItemComponent | null;\n /* blazorSuppress */\n /** Navigates to the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public navigateTo(index: number): IgcSelectItemComponent | null;\n /* blazorSuppress */\n /** Navigates to the specified item. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string | number): IgcSelectItemComponent | null {\n const item =\n typeof value === 'string' ? this.getItem(value) : this.items[value];\n\n if (item) {\n this._navigateToActiveItem(item);\n }\n\n return item ?? null;\n }\n\n /* blazorSuppress */\n /** Selects the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public select(value: string): IgcSelectItemComponent | null;\n /* blazorSuppress */\n /** Selects the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public select(index: number): IgcSelectItemComponent | null;\n /* blazorSuppress */\n /** Selects the specified item. If it exists, returns the found item, otherwise - null. */\n public select(value: string | number): IgcSelectItemComponent | null {\n const item =\n typeof value === 'string' ? this.getItem(value) : this.items[value];\n return item ? this._selectItem(item, false) : null;\n }\n\n /** Resets the current value and selection of the component. */\n public clearSelection() {\n this._updateValue();\n this.clearSelectedItem();\n }\n\n protected renderInputSlots() {\n const prefixName = this.hasPrefixes ? 'prefix' : '';\n const suffixName = this.hasSuffixes ? 'suffix' : '';\n\n return html`\n <span slot=${prefixName}>\n <slot name=\"prefix\"></slot>\n </span>\n\n <span slot=${suffixName}>\n <slot name=\"suffix\"></slot>\n </span>\n `;\n }\n\n protected renderToggleIcon() {\n const parts = partNameMap({ 'toggle-icon': true, filled: this.value! });\n const iconHidden = this.open && this.hasExpandedIcon;\n const iconExpandedHidden = !(this.hasExpandedIcon && this.open);\n\n return html`\n <span slot=\"suffix\" part=${parts} aria-hidden=\"true\">\n <slot name=\"toggle-icon\" ?hidden=${iconHidden}>\n <igc-icon\n name=${this.open ? 'input_collapse' : 'input_expand'}\n collection=\"default\"\n ></igc-icon>\n </slot>\n <slot name=\"toggle-icon-expanded\" ?hidden=${iconExpandedHidden}></slot>\n </span>\n `;\n }\n\n protected renderHelperText() {\n return html`\n <div\n id=\"helper-text\"\n part=\"helper-text\"\n slot=\"anchor\"\n ?hidden=${!this.hasHelperText}\n >\n <slot name=\"helper-text\"></slot>\n </div>\n `;\n }\n\n protected renderInputAnchor() {\n const value = this.selectedItem?.textContent?.trim();\n\n return html`\n <igc-input\n id=\"input\"\n slot=\"anchor\"\n role=\"combobox\"\n readonly\n aria-controls=\"dropdown\"\n aria-describedby=\"helper-text\"\n aria-expanded=${this.open ? 'true' : 'false'}\n exportparts=\"container: input, input: native-input, label, prefix, suffix\"\n tabIndex=${this.disabled ? -1 : 0}\n value=${ifDefined(value)}\n placeholder=${ifDefined(this.placeholder)}\n label=${ifDefined(this.label)}\n .disabled=${this.disabled}\n .required=${this.required}\n .invalid=${this.invalid}\n .outlined=${this.outlined}\n @click=${this.handleAnchorClick}\n >\n ${this.renderInputSlots()} ${this.renderToggleIcon()}\n </igc-input>\n\n ${this.renderHelperText()}\n `;\n }\n\n protected renderDropdown() {\n return html`<div part=\"base\" .inert=${!this.open}>\n <div\n id=\"dropdown\"\n role=\"listbox\"\n part=\"list\"\n aria-labelledby=\"input\"\n @click=${this.handleClick}\n >\n <slot name=\"header\"></slot>\n <slot></slot>\n <slot name=\"footer\"></slot>\n </div>\n </div>`;\n }\n\n protected override render() {\n return html`<igc-popover\n ?open=${this.open}\n flip\n shift\n same-width\n .offset=${this.distance}\n .placement=${this.placement}\n >${this.renderInputAnchor()} ${this.renderDropdown()}\n </igc-popover>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-select': IgcSelectComponent;\n }\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host
|
|
2
|
+
export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size);height:var(--ig-scrollbar-size);background:var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background)}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--ig-font-family)}[part=base]{overflow:hidden auto;min-width:7rem;z-index:10005}:host{display:block}[role=combobox]{outline-style:none}:host([disabled]) [role=combobox]{pointer-events:none}igc-input,igc-icon{--component-size: var(--select-size) !important;cursor:pointer}igc-input::part(input){cursor:pointer}igc-input::part(input)::-moz-selection{background:rgba(0,0,0,0)}igc-input::part(input)::selection{background:rgba(0,0,0,0)}[part=helper-text]{line-height:1}[part=helper-text] ::slotted([slot=helper-text]){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);line-height:inherit}[name=prefix]::slotted(*),[name=suffix]::slotted(*){display:-webkit-box;display:-ms-flexbox;display:flex}`;
|
|
3
3
|
//# sourceMappingURL=select.base.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.base.css.js","sourceRoot":"","sources":["../../../../src/components/select/themes/select.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,i9DAAi9D,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host
|
|
1
|
+
{"version":3,"file":"select.base.css.js","sourceRoot":"","sources":["../../../../src/components/select/themes/select.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,i9DAAi9D,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size);height:var(--ig-scrollbar-size);background:var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background)}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--ig-font-family)}[part=base]{overflow:hidden auto;min-width:7rem;z-index:10005}:host{display:block}[role=combobox]{outline-style:none}:host([disabled]) [role=combobox]{pointer-events:none}igc-input,igc-icon{--component-size: var(--select-size) !important;cursor:pointer}igc-input::part(input){cursor:pointer}igc-input::part(input)::-moz-selection{background:rgba(0,0,0,0)}igc-input::part(input)::selection{background:rgba(0,0,0,0)}[part=helper-text]{line-height:1}[part=helper-text] ::slotted([slot=helper-text]){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);line-height:inherit}[name=prefix]::slotted(*),[name=suffix]::slotted(*){display:-webkit-box;display:-ms-flexbox;display:flex}`;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/components/select/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5E,MAAM,CAAC,MAAM,gBAAgB,GAAoC;IAC/D,iBAAiB;CAClB,CAAC","sourcesContent":["import { type Validator, requiredValidator } from '../common/validators.js';\nimport type IgcSelectComponent from './select.js';\n\nexport const selectValidators: Validator<IgcSelectComponent>[] = [\n requiredValidator,\n];\n"]}
|
|
@@ -67,22 +67,6 @@ export default class IgcRangeSliderComponent extends IgcRangeSliderComponent_bas
|
|
|
67
67
|
* @attr thumb-label-upper
|
|
68
68
|
*/
|
|
69
69
|
thumbLabelUpper: string;
|
|
70
|
-
/**
|
|
71
|
-
* The aria label of the lower thumb.
|
|
72
|
-
* @attr aria-label-lower
|
|
73
|
-
*
|
|
74
|
-
* @deprecated since v4.8.0. Use the `thumbLabelLower` property instead.
|
|
75
|
-
*/
|
|
76
|
-
set ariaLabelLower(value: string);
|
|
77
|
-
get ariaLabelLower(): string;
|
|
78
|
-
/**
|
|
79
|
-
* The aria label of the upper thumb.
|
|
80
|
-
* @attr aria-label-upper
|
|
81
|
-
*
|
|
82
|
-
* @deprecated since v4.8.0. Use the `thumbLabelUpper` property instead.
|
|
83
|
-
*/
|
|
84
|
-
set ariaLabelUpper(value: string);
|
|
85
|
-
get ariaLabelUpper(): string;
|
|
86
70
|
protected get activeValue(): number;
|
|
87
71
|
protected normalizeValue(): void;
|
|
88
72
|
protected getTrackStyle(): {
|
|
@@ -34,18 +34,6 @@ class IgcRangeSliderComponent extends EventEmitterMixin(IgcSliderBaseComponent)
|
|
|
34
34
|
get upper() {
|
|
35
35
|
return this._upper;
|
|
36
36
|
}
|
|
37
|
-
set ariaLabelLower(value) {
|
|
38
|
-
this.thumbLabelLower = value;
|
|
39
|
-
}
|
|
40
|
-
get ariaLabelLower() {
|
|
41
|
-
return this.thumbLabelLower;
|
|
42
|
-
}
|
|
43
|
-
set ariaLabelUpper(value) {
|
|
44
|
-
this.thumbLabelUpper = value;
|
|
45
|
-
}
|
|
46
|
-
get ariaLabelUpper() {
|
|
47
|
-
return this.thumbLabelUpper;
|
|
48
|
-
}
|
|
49
37
|
get activeValue() {
|
|
50
38
|
return this.activeThumb === this.thumbFrom ? this.lower : this.upper;
|
|
51
39
|
}
|
|
@@ -195,10 +183,4 @@ __decorate([
|
|
|
195
183
|
__decorate([
|
|
196
184
|
property({ attribute: 'thumb-label-upper' })
|
|
197
185
|
], IgcRangeSliderComponent.prototype, "thumbLabelUpper", void 0);
|
|
198
|
-
__decorate([
|
|
199
|
-
property({ attribute: 'aria-label-lower' })
|
|
200
|
-
], IgcRangeSliderComponent.prototype, "ariaLabelLower", null);
|
|
201
|
-
__decorate([
|
|
202
|
-
property({ attribute: 'aria-label-upper' })
|
|
203
|
-
], IgcRangeSliderComponent.prototype, "ariaLabelUpper", null);
|
|
204
186
|
//# sourceMappingURL=range-slider.js.map
|