@odx/angular 1.0.0-rc.9 → 1.0.1
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/cdk/a11y/lib/directives/interactive.directive.d.ts +2 -2
- package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +1 -2
- package/cdk/active-indicator/lib/models/active-indicator-direction.d.ts +1 -1
- package/cdk/active-indicator/lib/models/active-indicator-position.d.ts +1 -1
- package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +3 -1
- package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +2 -2
- package/cdk/connected-overlay/lib/helpers/index.d.ts +0 -2
- package/cdk/connected-overlay/lib/models/connected-overlay-options.d.ts +3 -2
- package/cdk/custom-form-control/lib/custom-form-control.d.ts +5 -1
- package/cdk/dynamic-view/lib/facade/dynamic-content.d.ts +3 -3
- package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +1 -0
- package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +2 -1
- package/components/action-group/action-group.component.d.ts +1 -1
- package/components/area-header/area-header.component.d.ts +1 -1
- package/components/area-header/models/area-header-size.d.ts +1 -1
- package/components/avatar/lib/avatar.component.d.ts +3 -2
- package/components/avatar/lib/models/avatar-size.d.ts +1 -1
- package/components/avatar/lib/models/avatar-variant.d.ts +5 -0
- package/components/avatar/lib/models/index.d.ts +1 -0
- package/components/badge/lib/badge.component.d.ts +7 -17
- package/components/badge/lib/badge.directive.d.ts +16 -12
- package/components/badge/lib/models/badge-variant.d.ts +1 -1
- package/components/badge/lib/models/index.d.ts +0 -1
- package/components/bar/lib/models/bar-button-variant.d.ts +1 -1
- package/components/button/index.d.ts +1 -0
- package/components/button/lib/directives/index.d.ts +1 -0
- package/components/button/lib/directives/responsive-button.directive.d.ts +6 -0
- package/components/button/lib/models/button-size.d.ts +1 -1
- package/components/button/lib/models/button-variant.d.ts +1 -1
- package/components/card/README.md +3 -0
- package/components/card/index.d.ts +5 -0
- package/components/card/lib/card.component.d.ts +20 -0
- package/components/card/lib/card.module.d.ts +16 -0
- package/components/card/lib/components/card-footer/card-footer.component.d.ts +5 -0
- package/components/card/lib/components/index.d.ts +2 -0
- package/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.d.ts +5 -0
- package/components/card/lib/directives/card-content.directive.d.ts +5 -0
- package/components/card/lib/directives/card-title.directive.d.ts +5 -0
- package/components/card/lib/directives/index.d.ts +2 -0
- package/components/card/lib/models/card-variant.d.ts +6 -0
- package/components/card/lib/models/index.d.ts +1 -0
- package/components/chip/lib/models/chip-size.d.ts +1 -1
- package/components/chip/lib/models/chip-variant.d.ts +1 -1
- package/components/circular-progress/lib/circular-progress.component.d.ts +2 -1
- package/components/circular-progress/lib/models/circular-progress-size.d.ts +1 -1
- package/components/content-box/lib/content-box.module.d.ts +2 -2
- package/components/content-box/lib/directives/index.d.ts +2 -2
- package/components/dropdown/lib/dropdown.directive.d.ts +3 -2
- package/components/dropdown/lib/models/dropdown-options.d.ts +1 -1
- package/components/form-field/index.d.ts +1 -0
- package/components/form-field/lib/form-field.component.d.ts +8 -3
- package/components/form-field/lib/form-field.config.d.ts +3 -2
- package/components/form-field/lib/form-field.module.d.ts +0 -4
- package/components/form-field/lib/models/form-field-error-resolver.d.ts +1 -1
- package/components/form-field/lib/models/form-field-error.d.ts +1 -0
- package/components/form-field/lib/models/form-field-variant.d.ts +5 -0
- package/components/form-field/lib/models/index.d.ts +1 -0
- package/components/form-field/lib/services/form-field-error.service.d.ts +1 -0
- package/components/header/lib/directives/header-avatar.directive.d.ts +5 -2
- package/components/header/lib/header.component.d.ts +1 -1
- package/components/icon/index.d.ts +1 -0
- package/components/icon/lib/icon.component.d.ts +3 -5
- package/components/icon/lib/icon.config.d.ts +4 -0
- package/components/icon/lib/models/icon-size.d.ts +1 -1
- package/components/inline-message/lib/models/inline-message-variant.d.ts +1 -1
- package/components/list/lib/components/expandable-list-item/expandable-list-item.component.d.ts +14 -0
- package/components/list/lib/components/index.d.ts +1 -0
- package/components/list/lib/list.component.d.ts +4 -2
- package/components/list/lib/list.module.d.ts +3 -2
- package/components/loading-spinner/lib/loading-spinner.directive.d.ts +3 -1
- package/components/logo/models/logo-size.d.ts +1 -1
- package/components/logo/models/logo-variant.d.ts +1 -1
- package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +2 -0
- package/components/mainfilter-group/README.md +3 -0
- package/components/mainfilter-group/index.d.ts +1 -0
- package/components/mainfilter-group/lib/mainfilter-group.component.d.ts +6 -0
- package/components/menu/lib/directives/menu-item.directive.d.ts +1 -2
- package/components/menu/lib/menu.component.d.ts +4 -1
- package/components/menu/lib/menu.directive.d.ts +5 -4
- package/components/modal/index.d.ts +1 -1
- package/components/modal/lib/modal.config.d.ts +2 -2
- package/components/modal/lib/modal.module.d.ts +0 -4
- package/components/modal/lib/modal.service.d.ts +7 -3
- package/components/modal/lib/models/basic-modal-options.d.ts +1 -1
- package/components/modal/lib/models/modal-hero-variant.d.ts +1 -1
- package/components/modal/lib/models/modal-options.d.ts +2 -1
- package/components/modal/lib/models/modal-ref.d.ts +6 -4
- package/components/modal/lib/models/modal-size.d.ts +2 -1
- package/components/modal/lib/models/modal-type.d.ts +1 -1
- package/components/modal/lib/models/modal-variant.d.ts +1 -1
- package/components/navigation-back/README.md +3 -0
- package/components/navigation-back/index.d.ts +1 -0
- package/components/navigation-back/lib/navigation-back.component.d.ts +6 -0
- package/components/select/lib/abstract/select-control-option.d.ts +2 -0
- package/components/select/lib/abstract/select-control.d.ts +1 -0
- package/components/select/lib/components/option/option.component.d.ts +6 -2
- package/components/select/lib/select.component.d.ts +10 -5
- package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +5 -2
- package/components/toast/lib/components/toast-item/toast-item.component.d.ts +1 -1
- package/components/toast/lib/models/toast-variant.d.ts +1 -1
- package/components/toast/lib/toast.config.d.ts +2 -2
- package/components/toast/lib/toast.module.d.ts +0 -4
- package/components/toast/lib/toast.service.d.ts +1 -1
- package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +4 -1
- package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +8 -3
- package/components/tooltip/lib/models/tooltip-size.d.ts +1 -1
- package/components/tooltip/lib/models/tooltip-trigger.d.ts +1 -1
- package/components/tooltip/lib/tooltip.component.d.ts +3 -2
- package/components/tooltip/lib/tooltip.directive.d.ts +3 -3
- package/esm2020/animations/lib/expand.mjs +3 -3
- package/esm2020/cdk/a11y/lib/a11y.module.mjs +4 -4
- package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +4 -4
- package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +5 -7
- package/esm2020/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +3 -3
- package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +3 -3
- package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +16 -12
- package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +8 -8
- package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +5 -5
- package/esm2020/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +4 -6
- package/esm2020/cdk/connected-overlay/lib/helpers/index.mjs +1 -3
- package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-options.mjs +3 -2
- package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +3 -3
- package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +44 -20
- package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +3 -3
- package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +7 -5
- package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +3 -3
- package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +15 -4
- package/esm2020/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +2 -2
- package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +3 -3
- package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +3 -3
- package/esm2020/cdk/expandable/lib/expandable.module.mjs +4 -4
- package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +10 -10
- package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +14 -10
- package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
- package/esm2020/components/accordion/lib/accordion.component.mjs +6 -6
- package/esm2020/components/accordion/lib/accordion.module.mjs +4 -4
- package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +5 -5
- package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
- package/esm2020/components/action-group/action-group.component.mjs +5 -5
- package/esm2020/components/area-header/area-header.component.mjs +7 -6
- package/esm2020/components/area-header/area-header.module.mjs +4 -4
- package/esm2020/components/area-header/directives/area-header-content.directive.mjs +3 -3
- package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
- package/esm2020/components/avatar/lib/avatar.component.mjs +14 -8
- package/esm2020/components/avatar/lib/models/avatar-variant.mjs +5 -0
- package/esm2020/components/avatar/lib/models/index.mjs +2 -1
- package/esm2020/components/badge/lib/badge.component.mjs +18 -65
- package/esm2020/components/badge/lib/badge.directive.mjs +50 -25
- package/esm2020/components/badge/lib/models/index.mjs +1 -2
- package/esm2020/components/bar/lib/bar.component.mjs +3 -3
- package/esm2020/components/bar/lib/bar.module.mjs +4 -4
- package/esm2020/components/bar/lib/directives/bar-button.directive.mjs +6 -7
- package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +3 -3
- package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
- package/esm2020/components/button/index.mjs +2 -1
- package/esm2020/components/button/lib/button.component.mjs +8 -10
- package/esm2020/components/button/lib/directives/index.mjs +2 -0
- package/esm2020/components/button/lib/directives/responsive-button.directive.mjs +24 -0
- package/esm2020/components/button-group/lib/button-group.component.mjs +3 -3
- package/esm2020/components/card/index.mjs +6 -0
- package/esm2020/components/card/lib/card.component.mjs +67 -0
- package/esm2020/components/card/lib/card.module.mjs +53 -0
- package/esm2020/components/card/lib/components/card-footer/card-footer.component.mjs +13 -0
- package/esm2020/components/card/lib/components/index.mjs +3 -0
- package/esm2020/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +13 -0
- package/esm2020/components/card/lib/directives/card-content.directive.mjs +17 -0
- package/esm2020/components/card/lib/directives/card-title.directive.mjs +17 -0
- package/esm2020/components/card/lib/directives/index.mjs +3 -0
- package/esm2020/components/card/lib/models/card-variant.mjs +6 -0
- package/esm2020/components/card/lib/models/index.mjs +2 -0
- package/esm2020/components/card/odx-angular-components-card.mjs +5 -0
- package/esm2020/components/checkbox/lib/checkbox.component.mjs +5 -5
- package/esm2020/components/checkbox/lib/checkbox.module.mjs +4 -4
- package/esm2020/components/checkbox/lib/checkbox.validator.mjs +3 -3
- package/esm2020/components/chip/lib/chip.component.mjs +5 -5
- package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +8 -6
- package/esm2020/components/content-box/lib/content-box.component.mjs +3 -3
- package/esm2020/components/content-box/lib/content-box.module.mjs +7 -7
- package/esm2020/components/content-box/lib/directives/{content-box-footer-directive.mjs → content-box-footer.directive.mjs} +4 -4
- package/esm2020/components/content-box/lib/directives/{content-box-header-directive.mjs → content-box-header.directive.mjs} +4 -4
- package/esm2020/components/content-box/lib/directives/index.mjs +3 -3
- package/esm2020/components/dropdown/lib/dropdown.component.mjs +3 -3
- package/esm2020/components/dropdown/lib/dropdown.directive.mjs +10 -7
- package/esm2020/components/dropdown/lib/dropdown.module.mjs +4 -4
- package/esm2020/components/dropdown/lib/models/dropdown-options.mjs +3 -2
- package/esm2020/components/form-field/index.mjs +2 -1
- package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
- package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
- package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +6 -6
- package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
- package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
- package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
- package/esm2020/components/form-field/lib/directives/form.directive.mjs +3 -3
- package/esm2020/components/form-field/lib/form-field.component.mjs +32 -15
- package/esm2020/components/form-field/lib/form-field.config.mjs +4 -3
- package/esm2020/components/form-field/lib/form-field.module.mjs +5 -13
- package/esm2020/components/form-field/lib/form-field.service.mjs +3 -3
- package/esm2020/components/form-field/lib/models/form-field-error.mjs +1 -1
- package/esm2020/components/form-field/lib/models/form-field-variant.mjs +5 -0
- package/esm2020/components/form-field/lib/models/index.mjs +2 -1
- package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +16 -16
- package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +13 -6
- package/esm2020/components/header/lib/directives/header-title.directive.mjs +3 -3
- package/esm2020/components/header/lib/header.component.mjs +5 -5
- package/esm2020/components/header/lib/header.module.mjs +4 -4
- package/esm2020/components/icon/index.mjs +2 -1
- package/esm2020/components/icon/lib/icon.component.mjs +12 -21
- package/esm2020/components/icon/lib/icon.config.mjs +5 -0
- package/esm2020/components/inline-message/lib/inline-message.component.mjs +8 -9
- package/esm2020/components/link/link.directive.mjs +3 -3
- package/esm2020/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +49 -0
- package/esm2020/components/list/lib/components/index.mjs +2 -1
- package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +3 -3
- package/esm2020/components/list/lib/list.component.mjs +22 -11
- package/esm2020/components/list/lib/list.module.mjs +7 -7
- package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +3 -3
- package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +13 -6
- package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +4 -4
- package/esm2020/components/logo/logo.directive.mjs +8 -6
- package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
- package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +13 -5
- package/esm2020/components/main-menu/lib/main-menu.component.mjs +5 -5
- package/esm2020/components/main-menu/lib/main-menu.module.mjs +4 -4
- package/esm2020/components/main-menu/lib/main-menu.service.mjs +3 -3
- package/esm2020/components/mainfilter-group/index.mjs +2 -0
- package/esm2020/components/mainfilter-group/lib/mainfilter-group.component.mjs +21 -0
- package/esm2020/components/mainfilter-group/odx-angular-components-mainfilter-group.mjs +5 -0
- package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +6 -8
- package/esm2020/components/menu/lib/menu.component.mjs +22 -11
- package/esm2020/components/menu/lib/menu.directive.mjs +11 -4
- package/esm2020/components/menu/lib/menu.module.mjs +4 -4
- package/esm2020/components/modal/index.mjs +2 -2
- package/esm2020/components/modal/lib/components/basic-modal/basic-modal.component.mjs +3 -3
- package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
- package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +5 -5
- package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +5 -5
- package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +3 -3
- package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +3 -3
- package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
- package/esm2020/components/modal/lib/modal.component.mjs +5 -5
- package/esm2020/components/modal/lib/modal.config.mjs +4 -3
- package/esm2020/components/modal/lib/modal.directive.mjs +3 -3
- package/esm2020/components/modal/lib/modal.module.mjs +5 -13
- package/esm2020/components/modal/lib/modal.service.mjs +37 -26
- package/esm2020/components/modal/lib/models/modal-options.mjs +1 -1
- package/esm2020/components/modal/lib/models/modal-ref.mjs +20 -12
- package/esm2020/components/modal/lib/models/modal-size.mjs +2 -1
- package/esm2020/components/navigation-back/index.mjs +2 -0
- package/esm2020/components/navigation-back/lib/navigation-back.component.mjs +22 -0
- package/esm2020/components/navigation-back/odx-angular-components-navigation-back.mjs +5 -0
- package/esm2020/components/progress/lib/progress.component.mjs +3 -3
- package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -3
- package/esm2020/components/radio-group/lib/radio-group.component.mjs +7 -7
- package/esm2020/components/radio-group/lib/radio-group.module.mjs +4 -4
- package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +5 -5
- package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +3 -3
- package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +4 -4
- package/esm2020/components/select/lib/abstract/select-control-option.mjs +1 -1
- package/esm2020/components/select/lib/abstract/select-control.mjs +1 -1
- package/esm2020/components/select/lib/components/option/option.component.mjs +37 -20
- package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +3 -3
- package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +3 -3
- package/esm2020/components/select/lib/select.component.mjs +82 -35
- package/esm2020/components/select/lib/select.module.mjs +4 -4
- package/esm2020/components/slider/lib/slider.directive.mjs +3 -3
- package/esm2020/components/spinbox/lib/spinbox.component.mjs +8 -8
- package/esm2020/components/switch/lib/switch.component.mjs +5 -5
- package/esm2020/components/switch/lib/switch.module.mjs +4 -4
- package/esm2020/components/switch/lib/switch.validator.mjs +3 -3
- package/esm2020/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +15 -6
- package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +7 -7
- package/esm2020/components/tab-bar/lib/tab-bar.module.mjs +4 -4
- package/esm2020/components/toast/lib/components/toast-container/toast-container.component.mjs +3 -3
- package/esm2020/components/toast/lib/components/toast-item/toast-item.component.mjs +9 -8
- package/esm2020/components/toast/lib/toast.config.mjs +3 -3
- package/esm2020/components/toast/lib/toast.module.mjs +5 -13
- package/esm2020/components/toast/lib/toast.service.mjs +7 -7
- package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +13 -7
- package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +23 -12
- package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
- package/esm2020/components/tooltip/lib/tooltip.component.mjs +4 -4
- package/esm2020/components/tooltip/lib/tooltip.directive.mjs +11 -12
- package/esm2020/internal/decorators/css-component.mjs +3 -8
- package/esm2020/internal/decorators/css-modifier.mjs +21 -18
- package/esm2020/internal/helpers/decorator-property-name.mjs +4 -0
- package/esm2020/internal/helpers/deepmerge.mjs +6 -0
- package/esm2020/internal/helpers/index.mjs +3 -1
- package/esm2020/internal/helpers/with-mutiple-descriptors.mjs +22 -13
- package/esm2020/lib/controllers/controller.mjs +3 -3
- package/esm2020/lib/controllers/disabled.controller.mjs +26 -20
- package/esm2020/lib/controllers/readonly.controller.mjs +30 -21
- package/esm2020/lib/core.module.mjs +9 -8
- package/esm2020/lib/directives/click-outside.directive.mjs +29 -17
- package/esm2020/lib/directives/delegate-focus.directive.mjs +40 -0
- package/esm2020/lib/directives/index.mjs +2 -2
- package/esm2020/lib/directives/with-disabled-state.directive.mjs +9 -9
- package/esm2020/lib/directives/with-tabindex.directive.mjs +3 -3
- package/esm2020/lib/services/window-ref.mjs +13 -6
- package/esm2020/theming/index.mjs +5 -0
- package/esm2020/theming/lib/helpers/index.mjs +4 -0
- package/esm2020/theming/lib/helpers/prefers-dark-theme.mjs +4 -0
- package/esm2020/theming/lib/helpers/resolve-theme.mjs +5 -0
- package/esm2020/theming/lib/helpers/theme-storage.mjs +19 -0
- package/esm2020/theming/lib/models/index.mjs +2 -0
- package/esm2020/theming/lib/models/theme.mjs +6 -0
- package/esm2020/theming/lib/theming.config.mjs +21 -0
- package/esm2020/theming/lib/theming.service.mjs +42 -0
- package/esm2020/theming/odx-angular-theming.mjs +5 -0
- package/esm2020/utils/lib/decorators/transform.mjs +3 -3
- package/esm2020/utils/lib/helpers/build-url.mjs +4 -0
- package/esm2020/utils/lib/helpers/dom.mjs +2 -2
- package/esm2020/utils/lib/helpers/event-manager.mjs +3 -3
- package/esm2020/utils/lib/helpers/get-axis.mjs +14 -0
- package/esm2020/utils/lib/helpers/get-opposite-side.mjs +15 -0
- package/esm2020/utils/lib/helpers/get-side.mjs +4 -0
- package/esm2020/utils/lib/helpers/index.mjs +6 -2
- package/esm2020/utils/lib/helpers/provide-config.mjs +25 -0
- package/esm2020/utils/lib/helpers/queue.mjs +36 -11
- package/esm2020/utils/lib/types/axis.mjs +5 -0
- package/esm2020/utils/lib/types/index.mjs +4 -1
- package/esm2020/utils/lib/types/position.mjs +15 -0
- package/esm2020/utils/lib/types/side.mjs +7 -0
- package/fesm2015/odx-angular-animations.mjs +2 -2
- package/fesm2015/odx-angular-animations.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-a11y.mjs +13 -14
- package/fesm2015/odx-angular-cdk-a11y.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-active-indicator.mjs +3 -3
- package/fesm2015/odx-angular-cdk-checkbox-control.mjs +16 -12
- package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-connected-overlay.mjs +13 -31
- package/fesm2015/odx-angular-cdk-connected-overlay.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-custom-form-control.mjs +47 -24
- package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-dynamic-view.mjs +26 -12
- package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-expandable.mjs +10 -10
- package/fesm2015/odx-angular-cdk-radio-group-control.mjs +26 -23
- package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
- package/fesm2015/odx-angular-components-accordion.mjs +16 -16
- package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
- package/fesm2015/odx-angular-components-action-group.mjs +4 -4
- package/fesm2015/odx-angular-components-action-group.mjs.map +1 -1
- package/fesm2015/odx-angular-components-area-header.mjs +16 -15
- package/fesm2015/odx-angular-components-area-header.mjs.map +1 -1
- package/fesm2015/odx-angular-components-avatar.mjs +18 -7
- package/fesm2015/odx-angular-components-avatar.mjs.map +1 -1
- package/fesm2015/odx-angular-components-badge.mjs +63 -97
- package/fesm2015/odx-angular-components-badge.mjs.map +1 -1
- package/fesm2015/odx-angular-components-bar.mjs +15 -16
- package/fesm2015/odx-angular-components-bar.mjs.map +1 -1
- package/fesm2015/odx-angular-components-breadcrumbs.mjs +3 -3
- package/fesm2015/odx-angular-components-button-group.mjs +3 -3
- package/fesm2015/odx-angular-components-button.mjs +31 -11
- package/fesm2015/odx-angular-components-button.mjs.map +1 -1
- package/fesm2015/odx-angular-components-card.mjs +174 -0
- package/fesm2015/odx-angular-components-card.mjs.map +1 -0
- package/fesm2015/odx-angular-components-checkbox.mjs +11 -11
- package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
- package/fesm2015/odx-angular-components-chip.mjs +4 -4
- package/fesm2015/odx-angular-components-chip.mjs.map +1 -1
- package/fesm2015/odx-angular-components-circular-progress.mjs +7 -5
- package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -1
- package/fesm2015/odx-angular-components-content-box.mjs +13 -13
- package/fesm2015/odx-angular-components-content-box.mjs.map +1 -1
- package/fesm2015/odx-angular-components-dropdown.mjs +18 -14
- package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -1
- package/fesm2015/odx-angular-components-form-field.mjs +80 -64
- package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
- package/fesm2015/odx-angular-components-header.mjs +23 -17
- package/fesm2015/odx-angular-components-header.mjs.map +1 -1
- package/fesm2015/odx-angular-components-icon.mjs +16 -22
- package/fesm2015/odx-angular-components-icon.mjs.map +1 -1
- package/fesm2015/odx-angular-components-inline-message.mjs +7 -8
- package/fesm2015/odx-angular-components-inline-message.mjs.map +1 -1
- package/fesm2015/odx-angular-components-link.mjs +3 -3
- package/fesm2015/odx-angular-components-list.mjs +70 -20
- package/fesm2015/odx-angular-components-list.mjs.map +1 -1
- package/fesm2015/odx-angular-components-loading-spinner.mjs +21 -13
- package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -1
- package/fesm2015/odx-angular-components-logo.mjs +7 -5
- package/fesm2015/odx-angular-components-logo.mjs.map +1 -1
- package/fesm2015/odx-angular-components-main-menu.mjs +57 -49
- package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2015/odx-angular-components-mainfilter-group.mjs +27 -0
- package/fesm2015/odx-angular-components-mainfilter-group.mjs.map +1 -0
- package/fesm2015/odx-angular-components-menu.mjs +41 -24
- package/fesm2015/odx-angular-components-menu.mjs.map +1 -1
- package/fesm2015/odx-angular-components-modal.mjs +91 -118
- package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
- package/fesm2015/odx-angular-components-navigation-back.mjs +28 -0
- package/fesm2015/odx-angular-components-navigation-back.mjs.map +1 -0
- package/fesm2015/odx-angular-components-progress.mjs +3 -3
- package/fesm2015/odx-angular-components-radio-group.mjs +13 -13
- package/fesm2015/odx-angular-components-radio-group.mjs.map +1 -1
- package/fesm2015/odx-angular-components-rail-navigation.mjs +11 -11
- package/fesm2015/odx-angular-components-rail-navigation.mjs.map +1 -1
- package/fesm2015/odx-angular-components-select.mjs +126 -68
- package/fesm2015/odx-angular-components-select.mjs.map +1 -1
- package/fesm2015/odx-angular-components-slider.mjs +3 -3
- package/fesm2015/odx-angular-components-spinbox.mjs +8 -8
- package/fesm2015/odx-angular-components-spinbox.mjs.map +1 -1
- package/fesm2015/odx-angular-components-switch.mjs +11 -11
- package/fesm2015/odx-angular-components-switch.mjs.map +1 -1
- package/fesm2015/odx-angular-components-tab-bar.mjs +25 -16
- package/fesm2015/odx-angular-components-tab-bar.mjs.map +1 -1
- package/fesm2015/odx-angular-components-toast.mjs +23 -29
- package/fesm2015/odx-angular-components-toast.mjs.map +1 -1
- package/fesm2015/odx-angular-components-toggle-button-group.mjs +40 -20
- package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -1
- package/fesm2015/odx-angular-components-tooltip.mjs +13 -14
- package/fesm2015/odx-angular-components-tooltip.mjs.map +1 -1
- package/fesm2015/odx-angular-internal.mjs +69 -53
- package/fesm2015/odx-angular-internal.mjs.map +1 -1
- package/fesm2015/odx-angular-theming.mjs +99 -0
- package/fesm2015/odx-angular-theming.mjs.map +1 -0
- package/fesm2015/odx-angular-utils.mjs +119 -25
- package/fesm2015/odx-angular-utils.mjs.map +1 -1
- package/fesm2015/odx-angular.mjs +147 -108
- package/fesm2015/odx-angular.mjs.map +1 -1
- package/fesm2020/odx-angular-animations.mjs +2 -2
- package/fesm2020/odx-angular-animations.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-a11y.mjs +13 -14
- package/fesm2020/odx-angular-cdk-a11y.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-active-indicator.mjs +3 -3
- package/fesm2020/odx-angular-cdk-checkbox-control.mjs +16 -12
- package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-connected-overlay.mjs +13 -31
- package/fesm2020/odx-angular-cdk-connected-overlay.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-custom-form-control.mjs +47 -24
- package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-dynamic-view.mjs +25 -12
- package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-expandable.mjs +10 -10
- package/fesm2020/odx-angular-cdk-radio-group-control.mjs +26 -23
- package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
- package/fesm2020/odx-angular-components-accordion.mjs +16 -16
- package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
- package/fesm2020/odx-angular-components-action-group.mjs +4 -4
- package/fesm2020/odx-angular-components-action-group.mjs.map +1 -1
- package/fesm2020/odx-angular-components-area-header.mjs +16 -15
- package/fesm2020/odx-angular-components-area-header.mjs.map +1 -1
- package/fesm2020/odx-angular-components-avatar.mjs +18 -7
- package/fesm2020/odx-angular-components-avatar.mjs.map +1 -1
- package/fesm2020/odx-angular-components-badge.mjs +60 -90
- package/fesm2020/odx-angular-components-badge.mjs.map +1 -1
- package/fesm2020/odx-angular-components-bar.mjs +15 -16
- package/fesm2020/odx-angular-components-bar.mjs.map +1 -1
- package/fesm2020/odx-angular-components-breadcrumbs.mjs +3 -3
- package/fesm2020/odx-angular-components-button-group.mjs +3 -3
- package/fesm2020/odx-angular-components-button.mjs +31 -11
- package/fesm2020/odx-angular-components-button.mjs.map +1 -1
- package/fesm2020/odx-angular-components-card.mjs +173 -0
- package/fesm2020/odx-angular-components-card.mjs.map +1 -0
- package/fesm2020/odx-angular-components-checkbox.mjs +11 -11
- package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
- package/fesm2020/odx-angular-components-chip.mjs +4 -4
- package/fesm2020/odx-angular-components-chip.mjs.map +1 -1
- package/fesm2020/odx-angular-components-circular-progress.mjs +7 -5
- package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -1
- package/fesm2020/odx-angular-components-content-box.mjs +13 -13
- package/fesm2020/odx-angular-components-content-box.mjs.map +1 -1
- package/fesm2020/odx-angular-components-dropdown.mjs +18 -14
- package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -1
- package/fesm2020/odx-angular-components-form-field.mjs +79 -64
- package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
- package/fesm2020/odx-angular-components-header.mjs +23 -17
- package/fesm2020/odx-angular-components-header.mjs.map +1 -1
- package/fesm2020/odx-angular-components-icon.mjs +16 -22
- package/fesm2020/odx-angular-components-icon.mjs.map +1 -1
- package/fesm2020/odx-angular-components-inline-message.mjs +7 -8
- package/fesm2020/odx-angular-components-inline-message.mjs.map +1 -1
- package/fesm2020/odx-angular-components-link.mjs +3 -3
- package/fesm2020/odx-angular-components-list.mjs +69 -20
- package/fesm2020/odx-angular-components-list.mjs.map +1 -1
- package/fesm2020/odx-angular-components-loading-spinner.mjs +20 -13
- package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -1
- package/fesm2020/odx-angular-components-logo.mjs +7 -5
- package/fesm2020/odx-angular-components-logo.mjs.map +1 -1
- package/fesm2020/odx-angular-components-main-menu.mjs +56 -49
- package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2020/odx-angular-components-mainfilter-group.mjs +27 -0
- package/fesm2020/odx-angular-components-mainfilter-group.mjs.map +1 -0
- package/fesm2020/odx-angular-components-menu.mjs +41 -24
- package/fesm2020/odx-angular-components-menu.mjs.map +1 -1
- package/fesm2020/odx-angular-components-modal.mjs +90 -116
- package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
- package/fesm2020/odx-angular-components-navigation-back.mjs +28 -0
- package/fesm2020/odx-angular-components-navigation-back.mjs.map +1 -0
- package/fesm2020/odx-angular-components-progress.mjs +3 -3
- package/fesm2020/odx-angular-components-radio-group.mjs +13 -13
- package/fesm2020/odx-angular-components-radio-group.mjs.map +1 -1
- package/fesm2020/odx-angular-components-rail-navigation.mjs +11 -11
- package/fesm2020/odx-angular-components-rail-navigation.mjs.map +1 -1
- package/fesm2020/odx-angular-components-select.mjs +126 -62
- package/fesm2020/odx-angular-components-select.mjs.map +1 -1
- package/fesm2020/odx-angular-components-slider.mjs +3 -3
- package/fesm2020/odx-angular-components-spinbox.mjs +7 -7
- package/fesm2020/odx-angular-components-spinbox.mjs.map +1 -1
- package/fesm2020/odx-angular-components-switch.mjs +11 -11
- package/fesm2020/odx-angular-components-switch.mjs.map +1 -1
- package/fesm2020/odx-angular-components-tab-bar.mjs +24 -16
- package/fesm2020/odx-angular-components-tab-bar.mjs.map +1 -1
- package/fesm2020/odx-angular-components-toast.mjs +23 -29
- package/fesm2020/odx-angular-components-toast.mjs.map +1 -1
- package/fesm2020/odx-angular-components-toggle-button-group.mjs +37 -20
- package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -1
- package/fesm2020/odx-angular-components-tooltip.mjs +13 -14
- package/fesm2020/odx-angular-components-tooltip.mjs.map +1 -1
- package/fesm2020/odx-angular-internal.mjs +67 -51
- package/fesm2020/odx-angular-internal.mjs.map +1 -1
- package/fesm2020/odx-angular-theming.mjs +96 -0
- package/fesm2020/odx-angular-theming.mjs.map +1 -0
- package/fesm2020/odx-angular-utils.mjs +115 -27
- package/fesm2020/odx-angular-utils.mjs.map +1 -1
- package/fesm2020/odx-angular.mjs +142 -103
- package/fesm2020/odx-angular.mjs.map +1 -1
- package/internal/decorators/css-component.d.ts +1 -2
- package/internal/decorators/css-modifier.d.ts +0 -1
- package/internal/helpers/decorator-property-name.d.ts +1 -0
- package/internal/helpers/deepmerge.d.ts +10 -0
- package/internal/helpers/index.d.ts +2 -0
- package/internal/helpers/with-mutiple-descriptors.d.ts +1 -1
- package/lib/controllers/disabled.controller.d.ts +5 -2
- package/lib/controllers/readonly.controller.d.ts +1 -0
- package/lib/core.module.d.ts +3 -3
- package/lib/directives/click-outside.directive.d.ts +5 -4
- package/lib/directives/delegate-focus.directive.d.ts +11 -0
- package/lib/directives/index.d.ts +1 -1
- package/lib/services/window-ref.d.ts +3 -0
- package/lib/tokens/identity-matcher.d.ts +1 -1
- package/lib/tokens/string-search-handler.d.ts +1 -1
- package/lib/tokens/stringify.d.ts +1 -1
- package/package.json +37 -11
- package/theming/README.md +3 -0
- package/theming/index.d.ts +4 -0
- package/theming/lib/helpers/index.d.ts +3 -0
- package/theming/lib/helpers/prefers-dark-theme.d.ts +1 -0
- package/theming/lib/helpers/resolve-theme.d.ts +2 -0
- package/theming/lib/helpers/theme-storage.d.ts +4 -0
- package/theming/lib/models/index.d.ts +1 -0
- package/theming/lib/models/theme.d.ts +6 -0
- package/theming/lib/theming.config.d.ts +10 -0
- package/theming/lib/theming.service.d.ts +16 -0
- package/utils/lib/decorators/transform.d.ts +2 -2
- package/utils/lib/helpers/build-url.d.ts +1 -0
- package/utils/lib/helpers/get-axis.d.ts +2 -0
- package/utils/lib/helpers/get-opposite-side.d.ts +2 -0
- package/utils/lib/helpers/get-side.d.ts +2 -0
- package/utils/lib/helpers/index.d.ts +5 -1
- package/utils/lib/helpers/ng-changes.d.ts +1 -1
- package/utils/lib/helpers/provide-config.d.ts +12 -0
- package/utils/lib/helpers/queue.d.ts +13 -2
- package/utils/lib/types/axis.d.ts +5 -0
- package/utils/lib/types/get-properties.d.ts +2 -2
- package/utils/lib/types/index.d.ts +3 -0
- package/utils/lib/types/position.d.ts +15 -0
- package/utils/lib/types/side.d.ts +7 -0
- package/cdk/connected-overlay/lib/helpers/get-opposite-overlay-side.d.ts +0 -2
- package/cdk/connected-overlay/lib/helpers/get-overlay-side.d.ts +0 -2
- package/components/badge/lib/badge.config.d.ts +0 -3
- package/components/badge/lib/facade/badge-host.d.ts +0 -3
- package/components/badge/lib/facade/index.d.ts +0 -1
- package/components/badge/lib/models/badge-position.d.ts +0 -5
- package/components/launch-tile/README.md +0 -3
- package/components/launch-tile/index.d.ts +0 -3
- package/components/launch-tile/lib/components/index.d.ts +0 -2
- package/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.d.ts +0 -5
- package/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.d.ts +0 -5
- package/components/launch-tile/lib/launch-tile.component.d.ts +0 -13
- package/components/launch-tile/lib/launch-tile.module.d.ts +0 -14
- package/components/modal/lib/services/index.d.ts +0 -1
- package/components/modal/lib/services/open-modal-manager.service.d.ts +0 -15
- package/esm2020/cdk/connected-overlay/lib/helpers/get-opposite-overlay-side.mjs +0 -13
- package/esm2020/cdk/connected-overlay/lib/helpers/get-overlay-side.mjs +0 -4
- package/esm2020/components/badge/lib/badge.config.mjs +0 -3
- package/esm2020/components/badge/lib/facade/badge-host.mjs +0 -2
- package/esm2020/components/badge/lib/facade/index.mjs +0 -2
- package/esm2020/components/badge/lib/models/badge-position.mjs +0 -5
- package/esm2020/components/launch-tile/index.mjs +0 -4
- package/esm2020/components/launch-tile/lib/components/index.mjs +0 -3
- package/esm2020/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.mjs +0 -13
- package/esm2020/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.mjs +0 -13
- package/esm2020/components/launch-tile/lib/launch-tile.component.mjs +0 -51
- package/esm2020/components/launch-tile/lib/launch-tile.module.mjs +0 -23
- package/esm2020/components/launch-tile/odx-angular-components-launch-tile.mjs +0 -5
- package/esm2020/components/modal/lib/services/index.mjs +0 -2
- package/esm2020/components/modal/lib/services/open-modal-manager.service.mjs +0 -42
- package/esm2020/lib/directives/let.directive.mjs +0 -36
- package/esm2020/utils/lib/helpers/provide-module-config.mjs +0 -21
- package/fesm2015/odx-angular-components-launch-tile.mjs +0 -95
- package/fesm2015/odx-angular-components-launch-tile.mjs.map +0 -1
- package/fesm2020/odx-angular-components-launch-tile.mjs +0 -94
- package/fesm2020/odx-angular-components-launch-tile.mjs.map +0 -1
- package/lib/directives/let.directive.d.ts +0 -17
- package/utils/lib/helpers/provide-module-config.d.ts +0 -12
- /package/components/content-box/lib/directives/{content-box-footer-directive.d.ts → content-box-footer.directive.d.ts} +0 -0
- /package/components/content-box/lib/directives/{content-box-header-directive.d.ts → content-box-header.directive.d.ts} +0 -0
|
@@ -1,40 +1,45 @@
|
|
|
1
1
|
import { __decorate, __metadata } from 'tslib';
|
|
2
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
3
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { InjectionToken, inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, HostListener, Directive, Pipe, EventEmitter, ContentChildren, ViewChild, Output, ContentChild, NgModule } from '@angular/core';
|
|
4
|
+
import { InjectionToken, inject, ChangeDetectorRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, HostListener, Directive, Pipe, EventEmitter, forwardRef, ContentChildren, ViewChild, Output, ContentChild, NgModule } from '@angular/core';
|
|
4
5
|
import * as i2 from '@odx/angular';
|
|
5
|
-
import { DisabledController,
|
|
6
|
+
import { DisabledController, detectControllerChanges, CoreModule, ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER, ODX_IDENTITY_MATCHER, ReadonlyController } from '@odx/angular';
|
|
6
7
|
import { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { CheckboxComponent } from '@odx/angular/components/checkbox';
|
|
9
|
+
import { CSSComponent, CSSModifier } from '@odx/angular/internal';
|
|
10
|
+
import { untilDestroyed, injectElement, Transform, Pure, deferFn } from '@odx/angular/utils';
|
|
11
|
+
import * as i1 from '@angular/common';
|
|
12
|
+
import { fromEvent, map, distinctUntilChanged } from 'rxjs';
|
|
10
13
|
import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
|
|
11
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
12
14
|
import { CustomFormControl } from '@odx/angular/cdk/custom-form-control';
|
|
13
15
|
import { DropdownDirective } from '@odx/angular/components/dropdown';
|
|
14
16
|
import { IconComponent } from '@odx/angular/components/icon';
|
|
15
17
|
import { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';
|
|
16
|
-
import
|
|
18
|
+
import { fromQueryList } from '@odx/angular/rxjs';
|
|
17
19
|
|
|
18
20
|
const SELECT_CONTROL = new InjectionToken('@odx/angular/components/select::SelectControl');
|
|
19
21
|
|
|
20
22
|
let OptionComponent = class OptionComponent {
|
|
23
|
+
get disabled() {
|
|
24
|
+
return !!this.disabledController?.disabled;
|
|
25
|
+
}
|
|
21
26
|
constructor() {
|
|
22
27
|
this.disabledController = DisabledController.inject();
|
|
23
|
-
this.readonlyController = ReadonlyController.inject();
|
|
24
28
|
this.takeUntilDestroyed = untilDestroyed();
|
|
29
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
25
30
|
this.selectControl = inject(SELECT_CONTROL);
|
|
26
31
|
this.isActive = false;
|
|
27
32
|
this.element = injectElement();
|
|
28
33
|
this.isSelected = false;
|
|
29
34
|
this.value = null;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
this.notFoundMessage = false;
|
|
36
|
+
if (!this.selectControl.multiple) {
|
|
37
|
+
detectControllerChanges(this.selectControl)
|
|
38
|
+
.pipe(this.takeUntilDestroyed())
|
|
39
|
+
.subscribe(() => {
|
|
40
|
+
this.isSelected = this.selectControl.isOptionSelected(this);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
38
43
|
}
|
|
39
44
|
ngOnInit() {
|
|
40
45
|
this.isSelected = this.selectControl.isOptionSelected(this);
|
|
@@ -56,30 +61,42 @@ let OptionComponent = class OptionComponent {
|
|
|
56
61
|
setInactiveStyles() {
|
|
57
62
|
this.isActive = false;
|
|
58
63
|
}
|
|
64
|
+
switchCheckbox() {
|
|
65
|
+
if (this.selectControl.multiple) {
|
|
66
|
+
this.isSelected = !this.isSelected;
|
|
67
|
+
this.cdr.markForCheck();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
59
70
|
select(event) {
|
|
60
|
-
event.preventDefault();
|
|
61
71
|
event.stopPropagation();
|
|
72
|
+
event.preventDefault();
|
|
62
73
|
this.selectControl.selectOption(this);
|
|
63
74
|
}
|
|
64
75
|
};
|
|
65
|
-
OptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
66
|
-
OptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
76
|
+
OptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
77
|
+
OptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: OptionComponent, isStandalone: true, selector: "odx-option", inputs: { value: "value", notFoundMessage: "notFoundMessage" }, host: { attributes: { "role": "option" }, listeners: { "click": "select($event)" }, properties: { "attr.aria-selected": "isSelected", "attr.aria-disabled": "disabled || null", "class.is-disabled": "disabled", "class.is-selected": "isSelected", "class.is-active": "isActive" } }, providers: [DisabledController.connect()], ngImport: i0, template: "<odx-checkbox [checked]=\"isSelected\" *ngIf=\"selectControl.multiple && !notFoundMessage; else single\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</odx-checkbox>\n\n<ng-template #single>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CheckboxComponent, selector: "odx-checkbox", inputs: ["indeterminate"], outputs: ["indeterminateChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
78
|
+
__decorate([
|
|
79
|
+
Transform(coerceBooleanProperty),
|
|
80
|
+
__metadata("design:type", Object)
|
|
81
|
+
], OptionComponent.prototype, "notFoundMessage", void 0);
|
|
67
82
|
OptionComponent = __decorate([
|
|
68
83
|
CSSComponent('option'),
|
|
69
84
|
__metadata("design:paramtypes", [])
|
|
70
85
|
], OptionComponent);
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OptionComponent, decorators: [{
|
|
72
87
|
type: Component,
|
|
73
|
-
args: [{ standalone: true, selector: 'odx-option', imports: [CoreModule, DynamicViewDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DisabledController.connect()
|
|
88
|
+
args: [{ standalone: true, selector: 'odx-option', imports: [CoreModule, DynamicViewDirective, CheckboxComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DisabledController.connect()], host: {
|
|
74
89
|
'[attr.aria-selected]': 'isSelected',
|
|
75
90
|
'[attr.aria-disabled]': 'disabled || null',
|
|
76
91
|
'[class.is-disabled]': 'disabled',
|
|
77
92
|
'[class.is-selected]': 'isSelected',
|
|
78
93
|
'[class.is-active]': 'isActive',
|
|
79
94
|
role: 'option',
|
|
80
|
-
}, template: "<ng-content></ng-content>\n" }]
|
|
95
|
+
}, template: "<odx-checkbox [checked]=\"isSelected\" *ngIf=\"selectControl.multiple && !notFoundMessage; else single\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</odx-checkbox>\n\n<ng-template #single>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
81
96
|
}], ctorParameters: function () { return []; }, propDecorators: { value: [{
|
|
82
97
|
type: Input
|
|
98
|
+
}], notFoundMessage: [{
|
|
99
|
+
type: Input
|
|
83
100
|
}], select: [{
|
|
84
101
|
type: HostListener,
|
|
85
102
|
args: ['click', ['$event']]
|
|
@@ -103,12 +120,12 @@ let SelectSearchFieldDirective = class SelectSearchFieldDirective {
|
|
|
103
120
|
return this.element.nativeElement.value;
|
|
104
121
|
}
|
|
105
122
|
};
|
|
106
|
-
SelectSearchFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
107
|
-
SelectSearchFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.
|
|
123
|
+
SelectSearchFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectSearchFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
124
|
+
SelectSearchFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: SelectSearchFieldDirective, isStandalone: true, selector: "input[odxSelectSearchField]", inputs: { notFoundContent: ["odxSelectSearchField", "notFoundContent"] }, host: { listeners: { "keydown.delete": "reset()" }, properties: { "class.odx-form-field-control": "true" } }, ngImport: i0 });
|
|
108
125
|
SelectSearchFieldDirective = __decorate([
|
|
109
126
|
CSSComponent('select__search')
|
|
110
127
|
], SelectSearchFieldDirective);
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectSearchFieldDirective, decorators: [{
|
|
112
129
|
type: Directive,
|
|
113
130
|
args: [{
|
|
114
131
|
standalone: true,
|
|
@@ -153,15 +170,15 @@ class SelectSearchFilterPipe {
|
|
|
153
170
|
return items.filter((item) => search(stringify(item), query));
|
|
154
171
|
}
|
|
155
172
|
}
|
|
156
|
-
SelectSearchFilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
157
|
-
SelectSearchFilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.
|
|
173
|
+
SelectSearchFilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectSearchFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
174
|
+
SelectSearchFilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: SelectSearchFilterPipe, isStandalone: true, name: "odxSelectSearchFilter", pure: false });
|
|
158
175
|
__decorate([
|
|
159
176
|
Pure,
|
|
160
177
|
__metadata("design:type", Function),
|
|
161
178
|
__metadata("design:paramtypes", [Object, String, Function]),
|
|
162
179
|
__metadata("design:returntype", Object)
|
|
163
180
|
], SelectSearchFilterPipe.prototype, "filter", null);
|
|
164
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectSearchFilterPipe, decorators: [{
|
|
165
182
|
type: Pipe,
|
|
166
183
|
args: [{
|
|
167
184
|
pure: false,
|
|
@@ -172,8 +189,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
172
189
|
|
|
173
190
|
var SelectComponent_1;
|
|
174
191
|
let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFormControl {
|
|
192
|
+
get hasOptions() {
|
|
193
|
+
return !!this.options && this.options.length > 0;
|
|
194
|
+
}
|
|
195
|
+
get isOpen() {
|
|
196
|
+
return !!this.dropdown?.isOpen;
|
|
197
|
+
}
|
|
198
|
+
get selectedOptionContent() {
|
|
199
|
+
return this.selectedOption ? this.selectedOptionTemplate ?? this.selectedOptionText : null;
|
|
200
|
+
}
|
|
175
201
|
constructor() {
|
|
176
202
|
super(null);
|
|
203
|
+
this.changeDetector = inject(ChangeDetectorRef);
|
|
177
204
|
this.searchFieldEnabled = false;
|
|
178
205
|
this.smoothScrollEnabled = false;
|
|
179
206
|
this.selectedOption = null;
|
|
@@ -181,27 +208,21 @@ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFo
|
|
|
181
208
|
this.element = injectElement();
|
|
182
209
|
this.placeholder = '';
|
|
183
210
|
this.isLoading = false;
|
|
211
|
+
this.multiple = false;
|
|
184
212
|
this.selectedOptionTemplate = null;
|
|
185
213
|
this.identityMatcher = inject(ODX_IDENTITY_MATCHER);
|
|
186
214
|
this.change = new EventEmitter();
|
|
187
215
|
detectControllerChanges(this).subscribe();
|
|
188
216
|
}
|
|
189
|
-
get hasOptions() {
|
|
190
|
-
return !!this.options && this.options.length > 0;
|
|
191
|
-
}
|
|
192
|
-
get isOpen() {
|
|
193
|
-
return !!this.dropdown?.isOpen;
|
|
194
|
-
}
|
|
195
|
-
get selectedOptionContent() {
|
|
196
|
-
return this.selectedOption ? this.selectedOptionTemplate ?? this.selectedOptionText : null;
|
|
197
|
-
}
|
|
198
217
|
ngAfterViewInit() {
|
|
199
218
|
if (!this.options)
|
|
200
219
|
return;
|
|
201
220
|
this.keyManager = new ActiveDescendantKeyManager(this.options).withHomeAndEnd().skipPredicate((item) => item.disabled);
|
|
202
|
-
this.options
|
|
203
|
-
|
|
204
|
-
this.
|
|
221
|
+
fromQueryList(this.options).subscribe(() => {
|
|
222
|
+
this.updateSelectedOption();
|
|
223
|
+
if (this.isOpen) {
|
|
224
|
+
deferFn(() => this.activateSelectedOption());
|
|
225
|
+
}
|
|
205
226
|
});
|
|
206
227
|
this.searchField?.valueChange$.subscribe(() => this.triggerControllerChange());
|
|
207
228
|
}
|
|
@@ -213,12 +234,23 @@ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFo
|
|
|
213
234
|
}
|
|
214
235
|
selectOption(option) {
|
|
215
236
|
if (option && !option.disabled) {
|
|
216
|
-
this.
|
|
237
|
+
this.change.emit();
|
|
238
|
+
option.switchCheckbox();
|
|
239
|
+
const value = this.multiple
|
|
240
|
+
? this.options
|
|
241
|
+
?.toArray()
|
|
242
|
+
.filter(({ isSelected }) => isSelected)
|
|
243
|
+
.map(({ value }) => value)
|
|
244
|
+
: option.value;
|
|
245
|
+
this.updateValue(value ?? null);
|
|
217
246
|
}
|
|
218
|
-
this.dropdown?.close();
|
|
247
|
+
!this.multiple && this.dropdown?.close();
|
|
219
248
|
}
|
|
220
249
|
isOptionSelected(option) {
|
|
221
250
|
if (option && !option.disabled) {
|
|
251
|
+
if (this.multiple && Array.isArray(this.value)) {
|
|
252
|
+
return this.value.includes(option.value);
|
|
253
|
+
}
|
|
222
254
|
return this.identityMatcher(option.value, this.value);
|
|
223
255
|
}
|
|
224
256
|
return false;
|
|
@@ -228,7 +260,7 @@ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFo
|
|
|
228
260
|
element.nativeElement.scrollIntoView({ block: 'center', behavior });
|
|
229
261
|
}
|
|
230
262
|
openDropdown(event) {
|
|
231
|
-
if (this.isLoading)
|
|
263
|
+
if (this.isLoading || this.readonlyController?.readonly)
|
|
232
264
|
return;
|
|
233
265
|
if (this.isOpen && this.hasOptions) {
|
|
234
266
|
if (event.key === 'Enter' || event.key === 'Tab') {
|
|
@@ -240,6 +272,12 @@ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFo
|
|
|
240
272
|
}
|
|
241
273
|
this.keyManager?.onKeydown(event);
|
|
242
274
|
}
|
|
275
|
+
handleFocusOut(event) {
|
|
276
|
+
if (this.isOpen) {
|
|
277
|
+
event.stopImmediatePropagation();
|
|
278
|
+
}
|
|
279
|
+
this.onTouched();
|
|
280
|
+
}
|
|
243
281
|
activateSelectedOption() {
|
|
244
282
|
let activeIndex = this.options?.toArray().findIndex((option) => option.isSelected && !option.disabled);
|
|
245
283
|
if (!activeIndex || activeIndex === -1) {
|
|
@@ -250,12 +288,12 @@ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFo
|
|
|
250
288
|
onDropdownOpen() {
|
|
251
289
|
this.activateSelectedOption();
|
|
252
290
|
if (!this.searchFieldEnabled) {
|
|
253
|
-
|
|
254
|
-
deferFn(() => this.searchField?.focus());
|
|
291
|
+
deferFn(() => this.focusSelectSearchField());
|
|
255
292
|
}
|
|
256
293
|
}
|
|
257
294
|
onDropdownClose() {
|
|
258
295
|
this.disableSmoothScroll();
|
|
296
|
+
this.element.nativeElement.blur();
|
|
259
297
|
if (this.searchFieldEnabled) {
|
|
260
298
|
this.searchFieldEnabled = false;
|
|
261
299
|
this.element.nativeElement?.focus();
|
|
@@ -271,42 +309,63 @@ let SelectComponent = SelectComponent_1 = class SelectComponent extends CustomFo
|
|
|
271
309
|
this.smoothScrollEnabled = true;
|
|
272
310
|
}
|
|
273
311
|
updateSelectedOption() {
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
312
|
+
const options = this.options?.toArray();
|
|
313
|
+
this.selectedOption = options?.find((option) => option.isSelected) ?? null;
|
|
314
|
+
if (this.multiple) {
|
|
315
|
+
this.selectedOptionText =
|
|
316
|
+
options
|
|
317
|
+
?.filter(({ isSelected }) => isSelected)
|
|
318
|
+
.map((option) => this.stringify?.(option.value) ?? option.getLabel())
|
|
319
|
+
.join(', ') ?? null;
|
|
320
|
+
this.changeDetector.detectChanges();
|
|
321
|
+
return;
|
|
280
322
|
}
|
|
323
|
+
this.selectedOptionText = this.selectedOption ? this.stringify?.(this.selectedOption?.value) ?? this.selectedOption.getLabel() : null;
|
|
324
|
+
this.changeDetector.detectChanges();
|
|
325
|
+
}
|
|
326
|
+
focusSelectSearchField() {
|
|
327
|
+
this.searchFieldEnabled = !!this.searchField;
|
|
328
|
+
deferFn(() => this.searchField?.focus());
|
|
329
|
+
this.changeDetector.detectChanges();
|
|
281
330
|
}
|
|
282
331
|
};
|
|
283
|
-
SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
284
|
-
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
332
|
+
SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
333
|
+
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: SelectComponent, isStandalone: true, selector: "odx-select", inputs: { placeholder: "placeholder", isLoading: "isLoading", multiple: "multiple", selectedOptionTemplate: "selectedOptionTemplate", stringify: "stringify", identityMatcher: "identityMatcher" }, outputs: { change: "change" }, host: { listeners: { "click": "openDropdown($event)", "keydown": "openDropdown($event)", "focusout": "handleFocusOut($event)" }, properties: { "attr.aria-disabled": "isDisabled || null", "class.is-open": "isOpen", "tabindex": "searchFieldEnabled || isDisabled ? -1 : 0", "attr.aria-multiselectable": "multiple" } }, providers: [
|
|
334
|
+
DisabledController.connect(),
|
|
335
|
+
ReadonlyController.connect(),
|
|
285
336
|
{
|
|
286
337
|
provide: SELECT_CONTROL,
|
|
287
|
-
useExisting: SelectComponent_1,
|
|
338
|
+
useExisting: forwardRef(() => SelectComponent_1),
|
|
288
339
|
},
|
|
289
|
-
], queries: [{ propertyName: "searchField", first: true, predicate: SelectSearchFieldDirective, descendants: true }, { propertyName: "options", predicate: OptionComponent, descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: DropdownDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n aria-haspopup=\"listbox\"\n class=\"odx-select__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4 }\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n (odxDropdownBeforeOpen)=\"onDropdownOpen()\"\n (odxDropdownBeforeClose)=\"onDropdownClose()\"\n (odxDropdownAfterClose)=\"onDropdownClosed()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n>\n <ng-template [ngIf]=\"!searchFieldEnabled\" [ngIfElse]=\"searchFieldTemplate\">\n <div class=\"odx-select__value\" *ngIf=\"selectedOptionContent; else placeholderTemplate\">\n <ng-template [odxDynamicView]=\"selectedOptionContent\" [odxDynamicViewContext]=\"{ $implicit: value }\"></ng-template>\n </div>\n </ng-template>\n <ng-template #placeholderTemplate>\n <div class=\"odx-select__placeholder\">\n {{ placeholder }}\n </div>\n </ng-template>\n <ng-template #searchFieldTemplate>\n <ng-content select=\"[odxSelectSearchField]\"></ng-content>\n </ng-template>\n <odx-icon class=\"odx-select__indicator\" name=\"chevron-down\"></odx-icon>\n</div>\n<ng-template #dropdownContent>\n <div class=\"odx-select-dropdown\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\" [ngIfElse]=\"noOptionsTemplate\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template #noOptionsTemplate>\n <odx-option disabled>\n <ng-template [odxDynamicView]=\"searchField?.notFoundContent\"></ng-template>\n </odx-option>\n </ng-template>\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: DropdownDirective, selector: "[odxDropdown]", inputs: ["odxDropdown", "odxDropdownDisabled", "odxDropdownShowLoader", "odxDropdownOptions", "odxDropdownReferenceElement", "odxDropdownTriggerElement", "odxDropdownHost", "odxDropdownOpenTrigger", "odxDropdownCloseTrigger"], outputs: ["odxDropdownBeforeOpen", "odxDropdownAfterOpen", "odxDropdownBeforeClose", "odxDropdownAfterClose"], exportAs: ["odxDropdown"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "component", type: OptionComponent, selector: "odx-option", inputs: ["value"] }, { kind: "ngmodule", type: LoadingSpinnerModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
340
|
+
], queries: [{ propertyName: "searchField", first: true, predicate: SelectSearchFieldDirective, descendants: true }, { propertyName: "options", predicate: OptionComponent, descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: DropdownDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n aria-haspopup=\"listbox\"\n class=\"odx-select__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4, outerPadding: 10, position: 'bottom-start' }\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n (odxDropdownBeforeOpen)=\"onDropdownOpen()\"\n (odxDropdownBeforeClose)=\"onDropdownClose()\"\n (odxDropdownAfterClose)=\"onDropdownClosed()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n>\n <ng-template [ngIf]=\"!searchFieldEnabled\" [ngIfElse]=\"searchFieldTemplate\">\n <div class=\"odx-select__value\" *ngIf=\"selectedOptionContent; else placeholderTemplate\">\n <ng-template [odxDynamicView]=\"selectedOptionContent\" [odxDynamicViewContext]=\"{ $implicit: value }\"></ng-template>\n </div>\n </ng-template>\n <ng-template #placeholderTemplate>\n <div class=\"odx-select__placeholder\">\n {{ placeholder }}\n </div>\n </ng-template>\n <ng-template #searchFieldTemplate>\n <ng-content select=\"[odxSelectSearchField]\"></ng-content>\n </ng-template>\n <odx-icon class=\"odx-select__indicator\" name=\"chevron-down\" iconSet=\"core\"></odx-icon>\n</div>\n<ng-template #dropdownContent>\n <div class=\"odx-select-dropdown\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\" [ngIfElse]=\"noOptionsTemplate\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template #noOptionsTemplate>\n <odx-option disabled notFoundMessage>\n <ng-template [odxDynamicView]=\"searchField?.notFoundContent\"></ng-template>\n </odx-option>\n </ng-template>\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: DropdownDirective, selector: "[odxDropdown]", inputs: ["odxDropdown", "odxDropdownDisabled", "odxDropdownShowLoader", "odxDropdownOptions", "odxDropdownReferenceElement", "odxDropdownTriggerElement", "odxDropdownHost", "odxDropdownOpenTrigger", "odxDropdownCloseTrigger"], outputs: ["odxDropdownBeforeOpen", "odxDropdownAfterOpen", "odxDropdownBeforeClose", "odxDropdownAfterClose"], exportAs: ["odxDropdown"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "component", type: OptionComponent, selector: "odx-option", inputs: ["value", "notFoundMessage"] }, { kind: "ngmodule", type: LoadingSpinnerModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
290
341
|
__decorate([
|
|
291
342
|
Transform(coerceBooleanProperty),
|
|
292
343
|
__metadata("design:type", Object)
|
|
293
344
|
], SelectComponent.prototype, "isLoading", void 0);
|
|
345
|
+
__decorate([
|
|
346
|
+
CSSModifier(),
|
|
347
|
+
Transform(coerceBooleanProperty),
|
|
348
|
+
__metadata("design:type", Object)
|
|
349
|
+
], SelectComponent.prototype, "multiple", void 0);
|
|
294
350
|
SelectComponent = SelectComponent_1 = __decorate([
|
|
295
351
|
CSSComponent('select'),
|
|
296
352
|
__metadata("design:paramtypes", [])
|
|
297
353
|
], SelectComponent);
|
|
298
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
354
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectComponent, decorators: [{
|
|
299
355
|
type: Component,
|
|
300
356
|
args: [{ standalone: true, selector: 'odx-select', imports: [CoreModule, DropdownDirective, IconComponent, DynamicViewDirective, OptionComponent, LoadingSpinnerModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
357
|
+
DisabledController.connect(),
|
|
358
|
+
ReadonlyController.connect(),
|
|
301
359
|
{
|
|
302
360
|
provide: SELECT_CONTROL,
|
|
303
|
-
useExisting: SelectComponent,
|
|
361
|
+
useExisting: forwardRef(() => SelectComponent),
|
|
304
362
|
},
|
|
305
363
|
], host: {
|
|
306
364
|
'[attr.aria-disabled]': 'isDisabled || null',
|
|
307
365
|
'[class.is-open]': 'isOpen',
|
|
308
366
|
'[tabindex]': 'searchFieldEnabled || isDisabled ? -1 : 0',
|
|
309
|
-
|
|
367
|
+
'[attr.aria-multiselectable]': 'multiple',
|
|
368
|
+
}, template: "<div\n aria-haspopup=\"listbox\"\n class=\"odx-select__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4, outerPadding: 10, position: 'bottom-start' }\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n (odxDropdownBeforeOpen)=\"onDropdownOpen()\"\n (odxDropdownBeforeClose)=\"onDropdownClose()\"\n (odxDropdownAfterClose)=\"onDropdownClosed()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n>\n <ng-template [ngIf]=\"!searchFieldEnabled\" [ngIfElse]=\"searchFieldTemplate\">\n <div class=\"odx-select__value\" *ngIf=\"selectedOptionContent; else placeholderTemplate\">\n <ng-template [odxDynamicView]=\"selectedOptionContent\" [odxDynamicViewContext]=\"{ $implicit: value }\"></ng-template>\n </div>\n </ng-template>\n <ng-template #placeholderTemplate>\n <div class=\"odx-select__placeholder\">\n {{ placeholder }}\n </div>\n </ng-template>\n <ng-template #searchFieldTemplate>\n <ng-content select=\"[odxSelectSearchField]\"></ng-content>\n </ng-template>\n <odx-icon class=\"odx-select__indicator\" name=\"chevron-down\" iconSet=\"core\"></odx-icon>\n</div>\n<ng-template #dropdownContent>\n <div class=\"odx-select-dropdown\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\" [ngIfElse]=\"noOptionsTemplate\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template #noOptionsTemplate>\n <odx-option disabled notFoundMessage>\n <ng-template [odxDynamicView]=\"searchField?.notFoundContent\"></ng-template>\n </odx-option>\n </ng-template>\n </div>\n</ng-template>\n" }]
|
|
310
369
|
}], ctorParameters: function () { return []; }, propDecorators: { options: [{
|
|
311
370
|
type: ContentChildren,
|
|
312
371
|
args: [OptionComponent, { descendants: true, emitDistinctChangesOnly: true }]
|
|
@@ -317,6 +376,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
317
376
|
type: Input
|
|
318
377
|
}], isLoading: [{
|
|
319
378
|
type: Input
|
|
379
|
+
}], multiple: [{
|
|
380
|
+
type: Input
|
|
320
381
|
}], selectedOptionTemplate: [{
|
|
321
382
|
type: Input
|
|
322
383
|
}], stringify: [{
|
|
@@ -334,15 +395,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
334
395
|
}, {
|
|
335
396
|
type: HostListener,
|
|
336
397
|
args: ['keydown', ['$event']]
|
|
398
|
+
}], handleFocusOut: [{
|
|
399
|
+
type: HostListener,
|
|
400
|
+
args: ['focusout', ['$event']]
|
|
337
401
|
}] } });
|
|
338
402
|
|
|
339
403
|
const modules = [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent];
|
|
340
404
|
class SelectModule {
|
|
341
405
|
}
|
|
342
|
-
SelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
343
|
-
SelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
|
|
344
|
-
SelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.
|
|
345
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
406
|
+
SelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
407
|
+
SelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: SelectModule, imports: [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent], exports: [CoreModule, SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent] });
|
|
408
|
+
SelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectModule, imports: [SelectComponent, OptionComponent, CoreModule] });
|
|
409
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectModule, decorators: [{
|
|
346
410
|
type: NgModule,
|
|
347
411
|
args: [{
|
|
348
412
|
imports: modules,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-select.mjs","sources":["../../../../libs/angular/components/select/src/lib/select.tokens.ts","../../../../libs/angular/components/select/src/lib/components/option/option.component.ts","../../../../libs/angular/components/select/src/lib/components/option/option.component.html","../../../../libs/angular/components/select/src/lib/directives/select-search-field.directive.ts","../../../../libs/angular/components/select/src/lib/pipes/select-search-filter.pipe.ts","../../../../libs/angular/components/select/src/lib/select.component.ts","../../../../libs/angular/components/select/src/lib/select.component.html","../../../../libs/angular/components/select/src/lib/select.module.ts","../../../../libs/angular/components/select/src/odx-angular-components-select.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { SelectControl } from './abstract';\n\nexport const SELECT_CONTROL = new InjectionToken<SelectControl>('@odx/angular/components/select::SelectControl');\n","import { ChangeDetectionStrategy, Component, HostListener, inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, detectControllerChanges, DisabledController, ReadonlyController } from '@odx/angular';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { skip } from 'rxjs';\nimport { SelectControlOption } from '../../abstract';\nimport { SELECT_CONTROL } from '../../select.tokens';\n\n@CSSComponent('option')\n@Component({\n standalone: true,\n selector: 'odx-option',\n imports: [CoreModule, DynamicViewDirective],\n templateUrl: './option.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DisabledController.connect(), ReadonlyController.connect()],\n host: {\n '[attr.aria-selected]': 'isSelected',\n '[attr.aria-disabled]': 'disabled || null',\n '[class.is-disabled]': 'disabled',\n '[class.is-selected]': 'isSelected',\n '[class.is-active]': 'isActive',\n role: 'option',\n },\n})\nexport class OptionComponent<T = unknown> implements OnInit, SelectControlOption<T> {\n private readonly disabledController = DisabledController.inject();\n private readonly readonlyController = ReadonlyController.inject();\n private readonly takeUntilDestroyed = untilDestroyed();\n\n protected readonly selectControl = inject(SELECT_CONTROL);\n protected isActive = false;\n\n public readonly element = injectElement();\n public isSelected = false;\n\n @Input()\n public value: T | null = null;\n\n public get disabled(): boolean {\n return !!this.disabledController?.disabled || !!this.readonlyController?.readonly;\n }\n\n constructor() {\n detectControllerChanges(this.selectControl)\n .pipe(skip(1), this.takeUntilDestroyed())\n .subscribe(() => {\n this.isSelected = this.selectControl.isOptionSelected(this);\n });\n }\n\n public ngOnInit(): void {\n this.isSelected = this.selectControl.isOptionSelected(this);\n }\n\n public getLabel(): string {\n return this.element.nativeElement.textContent ?? '';\n }\n\n public setActiveStyles(): void {\n if (this.disabled) return;\n this.isActive = true;\n if (this.selectControl.isOpen) {\n this.selectControl.scrollOptionIntoView(this);\n } else {\n this.selectControl.selectOption(this);\n }\n }\n\n public setInactiveStyles(): void {\n this.isActive = false;\n }\n\n @HostListener('click', ['$event'])\n protected select(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this.selectControl.selectOption(this);\n }\n}\n","<ng-content></ng-content>\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { distinctUntilChanged, fromEvent, map } from 'rxjs';\n\n@CSSComponent('select__search')\n@Directive({\n standalone: true,\n selector: 'input[odxSelectSearchField]',\n host: {\n '[class.odx-form-field-control]': 'true',\n },\n})\nexport class SelectSearchFieldDirective {\n private readonly takeUntilDestroyed = untilDestroyed();\n\n public readonly element = injectElement<HTMLInputElement>();\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('odxSelectSearchField')\n public notFoundContent: DynamicContent | null = null;\n\n public valueChange$ = fromEvent(this.element.nativeElement, 'input').pipe(\n map(() => this.getValue()),\n distinctUntilChanged(),\n this.takeUntilDestroyed()\n );\n\n @HostListener('keydown.delete')\n public reset(): void {\n this.element.nativeElement.value = '';\n }\n\n public focus(): void {\n this.element.nativeElement.focus();\n }\n\n public getValue(): string {\n return this.element.nativeElement.value;\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER, StringSearchHandler } from '@odx/angular';\nimport { Pure } from '@odx/angular/utils';\nimport { SelectSearchFieldDirective } from '../directives';\nimport { SELECT_CONTROL } from '../select.tokens';\n\n@Pipe({\n pure: false,\n name: 'odxSelectSearchFilter',\n standalone: true,\n})\nexport class SelectSearchFilterPipe implements PipeTransform {\n private readonly searchController = inject(SELECT_CONTROL, { optional: true });\n private readonly stringify = inject(ODX_STRINGIFY);\n private readonly stringSearchHandler = inject(ODX_STRING_SEARCH_HANDLER);\n\n private get searchField(): SelectSearchFieldDirective | undefined {\n return this.searchController?.searchField;\n }\n\n public transform<T>(items: T[] | null, searchHandler?: StringSearchHandler): T[] | null {\n if (this.searchField) {\n return this.filter(items, this.searchField.getValue(), searchHandler);\n }\n return items;\n }\n\n @Pure\n private filter<T>(items: T[] | null, query: string, searchHandler?: StringSearchHandler): T[] | null {\n if (!items) {\n return null;\n }\n query = query.trim();\n if (query === '') {\n return items;\n }\n const search = searchHandler ?? this.stringSearchHandler;\n const stringify = this.searchController?.stringify ?? this.stringify;\n\n return items.filter((item) => search(stringify(item), query));\n }\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n HostListener,\n inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CoreModule, detectControllerChanges, IdentityMatcher, ODX_IDENTITY_MATCHER, StringifyFn } from '@odx/angular';\nimport { CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { DropdownDirective } from '@odx/angular/components/dropdown';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { deferFn, injectElement, Transform } from '@odx/angular/utils';\nimport { filter } from 'rxjs';\nimport { SelectControl, SelectControlOption } from './abstract';\nimport { OptionComponent } from './components';\nimport { SelectSearchFieldDirective } from './directives';\nimport { SELECT_CONTROL } from './select.tokens';\n\n@CSSComponent('select')\n@Component({\n standalone: true,\n selector: 'odx-select',\n imports: [CoreModule, DropdownDirective, IconComponent, DynamicViewDirective, OptionComponent, LoadingSpinnerModule],\n templateUrl: './select.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: SELECT_CONTROL,\n useExisting: SelectComponent,\n },\n ],\n host: {\n '[attr.aria-disabled]': 'isDisabled || null',\n '[class.is-open]': 'isOpen',\n '[tabindex]': 'searchFieldEnabled || isDisabled ? -1 : 0',\n },\n})\nexport class SelectComponent<T = unknown> extends CustomFormControl<T | null> implements AfterViewInit, SelectControl<T> {\n public static ngAcceptInputType_isLoading: BooleanInput;\n\n private keyManager?: ActiveDescendantKeyManager<OptionComponent<T>>;\n\n protected searchFieldEnabled = false;\n protected smoothScrollEnabled = false;\n protected selectedOption: OptionComponent<T> | null = null;\n protected selectedOptionText: string | null = null;\n\n protected get hasOptions(): boolean {\n return !!this.options && this.options.length > 0;\n }\n\n @ContentChildren(OptionComponent, { descendants: true, emitDistinctChangesOnly: true })\n protected options?: QueryList<OptionComponent<T>>;\n\n @ViewChild(DropdownDirective)\n protected dropdown?: DropdownDirective;\n\n public readonly element = injectElement();\n\n public get isOpen(): boolean {\n return !!this.dropdown?.isOpen;\n }\n\n public get selectedOptionContent(): TemplateRef<{ $implicit: T | null }> | string | null {\n return this.selectedOption ? this.selectedOptionTemplate ?? this.selectedOptionText : null;\n }\n\n @Input()\n public placeholder = '';\n\n @Transform(coerceBooleanProperty)\n @Input()\n public isLoading = false;\n\n @Input()\n public selectedOptionTemplate?: TemplateRef<{ $implicit: T }> | null = null;\n\n @Input()\n public stringify?: StringifyFn<T | null>;\n\n @Input()\n public identityMatcher: IdentityMatcher<T | null> = inject(ODX_IDENTITY_MATCHER);\n\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n public change = new EventEmitter<void>();\n\n @ContentChild(SelectSearchFieldDirective)\n public searchField?: SelectSearchFieldDirective;\n\n constructor() {\n super(null);\n\n detectControllerChanges(this).subscribe();\n }\n\n public ngAfterViewInit(): void {\n if (!this.options) return;\n this.keyManager = new ActiveDescendantKeyManager(this.options).withHomeAndEnd().skipPredicate((item) => item.disabled);\n this.options.changes.pipe(filter(() => this.isOpen)).subscribe(() => {\n deferFn(() => this.activateSelectedOption());\n this.triggerControllerChange();\n });\n this.searchField?.valueChange$.subscribe(() => this.triggerControllerChange());\n }\n\n public override registerOnChange(fn: (value: T | null) => void): void {\n super.registerOnChange((value) => {\n this.updateSelectedOption();\n fn(value);\n });\n }\n\n public selectOption(option?: SelectControlOption<T> | null): void {\n if (option && !option.disabled) {\n this.updateValue(option.value ?? null);\n }\n this.dropdown?.close();\n }\n\n public isOptionSelected(option: SelectControlOption<T>): boolean {\n if (option && !option.disabled) {\n return this.identityMatcher(option.value, this.value);\n }\n return false;\n }\n\n public scrollOptionIntoView({ element }: SelectControlOption<T>): void {\n const behavior = this.smoothScrollEnabled ? 'smooth' : undefined;\n element.nativeElement.scrollIntoView({ block: 'center', behavior });\n }\n\n @HostListener('click', ['$event'])\n @HostListener('keydown', ['$event'])\n protected openDropdown(event: KeyboardEvent) {\n if (this.isLoading) return;\n if (this.isOpen && this.hasOptions) {\n if (event.key === 'Enter' || event.key === 'Tab') {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.selectOption(this.keyManager?.activeItem);\n return;\n }\n }\n this.keyManager?.onKeydown(event);\n }\n\n protected activateSelectedOption(): void {\n let activeIndex = this.options?.toArray().findIndex((option) => option.isSelected && !option.disabled);\n if (!activeIndex || activeIndex === -1) {\n activeIndex = this.options?.toArray().findIndex((option) => !option.disabled) ?? -1;\n }\n this.keyManager?.setActiveItem(activeIndex);\n }\n\n protected onDropdownOpen(): void {\n this.activateSelectedOption();\n if (!this.searchFieldEnabled) {\n this.searchFieldEnabled = !!this.searchField;\n deferFn(() => this.searchField?.focus());\n }\n }\n\n protected onDropdownClose(): void {\n this.disableSmoothScroll();\n if (this.searchFieldEnabled) {\n this.searchFieldEnabled = false;\n this.element.nativeElement?.focus();\n }\n }\n\n protected onDropdownClosed(): void {\n this.searchField?.reset();\n }\n\n protected disableSmoothScroll(): void {\n this.smoothScrollEnabled = false;\n }\n\n protected enableSmoothScroll(): void {\n this.smoothScrollEnabled = true;\n }\n\n private updateSelectedOption(): void {\n this.selectedOption = this.options?.toArray()?.find((option) => option.isSelected) ?? null;\n if (this.selectedOption) {\n this.selectedOptionText = this.stringify?.(this.selectedOption?.value) ?? this.selectedOption.getLabel();\n } else {\n this.selectedOptionText = null;\n }\n }\n}\n","<div\n aria-haspopup=\"listbox\"\n class=\"odx-select__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4 }\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n (odxDropdownBeforeOpen)=\"onDropdownOpen()\"\n (odxDropdownBeforeClose)=\"onDropdownClose()\"\n (odxDropdownAfterClose)=\"onDropdownClosed()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n>\n <ng-template [ngIf]=\"!searchFieldEnabled\" [ngIfElse]=\"searchFieldTemplate\">\n <div class=\"odx-select__value\" *ngIf=\"selectedOptionContent; else placeholderTemplate\">\n <ng-template [odxDynamicView]=\"selectedOptionContent\" [odxDynamicViewContext]=\"{ $implicit: value }\"></ng-template>\n </div>\n </ng-template>\n <ng-template #placeholderTemplate>\n <div class=\"odx-select__placeholder\">\n {{ placeholder }}\n </div>\n </ng-template>\n <ng-template #searchFieldTemplate>\n <ng-content select=\"[odxSelectSearchField]\"></ng-content>\n </ng-template>\n <odx-icon class=\"odx-select__indicator\" name=\"chevron-down\"></odx-icon>\n</div>\n<ng-template #dropdownContent>\n <div class=\"odx-select-dropdown\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\" [ngIfElse]=\"noOptionsTemplate\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template #noOptionsTemplate>\n <odx-option disabled>\n <ng-template [odxDynamicView]=\"searchField?.notFoundContent\"></ng-template>\n </odx-option>\n </ng-template>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { OptionComponent } from './components';\nimport { SelectSearchFieldDirective } from './directives';\nimport { SelectSearchFilterPipe } from './pipes';\nimport { SelectComponent } from './select.component';\n\nconst modules = [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class SelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;MAGa,cAAc,GAAG,IAAI,cAAc,CAAgB,+CAA+C;;ACwBlG,IAAA,eAAe,GAArB,MAAM,eAAe,CAAA;AAkB1B,IAAA,WAAA,GAAA;AAjBiB,QAAA,IAAA,CAAA,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;AACjD,QAAA,IAAA,CAAA,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;QACjD,IAAkB,CAAA,kBAAA,GAAG,cAAc,EAAE,CAAC;AAEpC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;QAChD,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QAEX,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;QACnC,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QAGnB,IAAK,CAAA,KAAA,GAAa,IAAI,CAAC;AAO5B,QAAA,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;aACxC,SAAS,CAAC,MAAK;YACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC9D,SAAC,CAAC,CAAC;KACN;AAVD,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC;KACnF;IAUM,QAAQ,GAAA;QACb,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;KAC7D;IAEM,QAAQ,GAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,IAAI,EAAE,CAAC;KACrD;IAEM,eAAe,GAAA;QACpB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;AAC1B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;AAC7B,YAAA,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAC/C,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACvC,SAAA;KACF;IAEM,iBAAiB,GAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;KACvB;AAGS,IAAA,MAAM,CAAC,KAAY,EAAA;QAC3B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KACvC;;4GArDU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAVf,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,ECjBzE,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,6BACA,2CDYY,UAAU,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAcT,eAAe,GAAA,UAAA,CAAA;IAlB3B,YAAY,CAAC,QAAQ,CAAC;;AAkBV,CAAA,EAAA,eAAe,CAsD3B,CAAA;2FAtDY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAjB3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,YAAY,EACb,OAAA,EAAA,CAAC,UAAU,EAAE,oBAAoB,CAAC,EAE5B,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,EACjE,IAAA,EAAA;AACJ,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,sBAAsB,EAAE,kBAAkB;AAC1C,wBAAA,qBAAqB,EAAE,UAAU;AACjC,wBAAA,qBAAqB,EAAE,YAAY;AACnC,wBAAA,mBAAmB,EAAE,UAAU;AAC/B,wBAAA,IAAI,EAAE,QAAQ;AACf,qBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,CAAA;0EAcM,KAAK,EAAA,CAAA;sBADX,KAAK;gBAsCI,MAAM,EAAA,CAAA;sBADf,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AE7DtB,IAAA,0BAA0B,GAAhC,MAAM,0BAA0B,CAAA;AAAhC,IAAA,WAAA,GAAA;QACY,IAAkB,CAAA,kBAAA,GAAG,cAAc,EAAE,CAAC;QAEvC,IAAO,CAAA,OAAA,GAAG,aAAa,EAAoB,CAAC;;QAIrD,IAAe,CAAA,eAAA,GAA0B,IAAI,CAAC;AAE9C,QAAA,IAAA,CAAA,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CACvE,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,EAC1B,oBAAoB,EAAE,EACtB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;AAcH,KAAA;IAXQ,KAAK,GAAA;QACV,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;KACvC;IAEM,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KACpC;IAEM,QAAQ,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC;KACzC;;uHA1BU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2GAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,CAAA,sBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAA1B,0BAA0B,GAAA,UAAA,CAAA;IARtC,YAAY,CAAC,gBAAgB,CAAC;AAQlB,CAAA,EAAA,0BAA0B,CA2BtC,CAAA;2FA3BY,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAPtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,IAAI,EAAE;AACJ,wBAAA,gCAAgC,EAAE,MAAM;AACzC,qBAAA;AACF,iBAAA,CAAA;8BAQQ,eAAe,EAAA,CAAA;sBADrB,KAAK;uBAAC,sBAAsB,CAAA;gBAUtB,KAAK,EAAA,CAAA;sBADX,YAAY;uBAAC,gBAAgB,CAAA;;;MClBnB,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;QAMmB,IAAgB,CAAA,gBAAA,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AA2B1E,KAAA;AAzBC,IAAA,IAAY,WAAW,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC;KAC3C;IAEM,SAAS,CAAI,KAAiB,EAAE,aAAmC,EAAA;QACxE,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,CAAC;AACvE,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;AAGO,IAAA,MAAM,CAAI,KAAiB,EAAE,KAAa,EAAE,aAAmC,EAAA;QACrF,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACD,QAAA,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,KAAK,KAAK,EAAE,EAAE;AAChB,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AACD,QAAA,MAAM,MAAM,GAAG,aAAa,IAAI,IAAI,CAAC,mBAAmB,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;AAErE,QAAA,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;KAC/D;;mHA7BU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;iHAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,uBAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;AAgBjC,UAAA,CAAA;IAAC,IAAI;;;;AAaJ,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,CAAA,CAAA;2FA7BU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,KAAK;AACX,oBAAA,IAAI,EAAE,uBAAuB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAkBS,MAAM,EAAA,EAAA,EAAA,EAAA,CAAA;;;ACwBT,IAAM,eAAe,GAAA,iBAAA,GAArB,MAAM,eAA6B,SAAQ,iBAA2B,CAAA;AAqD3E,IAAA,WAAA,GAAA;QACE,KAAK,CAAC,IAAI,CAAC,CAAC;QAjDJ,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;QAC3B,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;QAC5B,IAAc,CAAA,cAAA,GAA8B,IAAI,CAAC;QACjD,IAAkB,CAAA,kBAAA,GAAkB,IAAI,CAAC;QAYnC,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;QAWnC,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;QAIjB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAGlB,IAAsB,CAAA,sBAAA,GAA0C,IAAI,CAAC;AAMrE,QAAA,IAAA,CAAA,eAAe,GAA8B,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAI1E,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAQ,CAAC;AAQvC,QAAA,uBAAuB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;KAC3C;AA/CD,IAAA,IAAc,UAAU,GAAA;AACtB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;KAClD;AAUD,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;KAChC;AAED,IAAA,IAAW,qBAAqB,GAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;KAC5F;IA+BM,eAAe,GAAA;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YAClE,OAAO,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,uBAAuB,EAAE,CAAC;AACjC,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;KAChF;AAEe,IAAA,gBAAgB,CAAC,EAA6B,EAAA;AAC5D,QAAA,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,KAAI;YAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,EAAE,CAAC,KAAK,CAAC,CAAC;AACZ,SAAC,CAAC,CAAC;KACJ;AAEM,IAAA,YAAY,CAAC,MAAsC,EAAA;AACxD,QAAA,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC9B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;AACxC,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;KACxB;AAEM,IAAA,gBAAgB,CAAC,MAA8B,EAAA;AACpD,QAAA,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC9B,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACvD,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;IAEM,oBAAoB,CAAC,EAAE,OAAO,EAA0B,EAAA;AAC7D,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,GAAG,QAAQ,GAAG,SAAS,CAAC;AACjE,QAAA,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;KACrE;AAIS,IAAA,YAAY,CAAC,KAAoB,EAAA;QACzC,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;AAC3B,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE;YAClC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;gBAChD,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;gBACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC/C,OAAO;AACR,aAAA;AACF,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;KACnC;IAES,sBAAsB,GAAA;QAC9B,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACvG,QAAA,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE;YACtC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACrF,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;KAC7C;IAES,cAAc,GAAA;QACtB,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YAC7C,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1C,SAAA;KACF;IAES,eAAe,GAAA;QACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AAChC,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC;AACrC,SAAA;KACF;IAES,gBAAgB,GAAA;AACxB,QAAA,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;KAC3B;IAES,mBAAmB,GAAA;AAC3B,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;KAClC;IAES,kBAAkB,GAAA;AAC1B,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;KACjC;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QAC3F,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;AAC1G,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAChC,SAAA;KACF;;4GAzJU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAZf,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,SAAA,EAAA,sBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,cAAc;AACvB,YAAA,WAAW,EAAE,iBAAe;AAC7B,SAAA;AACF,KAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAyDa,0BAA0B,EApCvB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAAA,eAAe,0FAGrB,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrE9B,mnDAwCA,EDJY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iBAAiB,uaAAE,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,EAAE,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,wBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,yEAAE,oBAAoB,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAiDnH,UAAA,CAAA;IAAC,SAAS,CAAC,qBAAqB,CAAC;;AAER,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAnCd,eAAe,GAAA,iBAAA,GAAA,UAAA,CAAA;IApB3B,YAAY,CAAC,QAAQ,CAAC;;AAoBV,CAAA,EAAA,eAAe,CA0J3B,CAAA;2FA1JY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAnB3B,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,YAAY,EAAA,OAAA,EACb,CAAC,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,oBAAoB,CAAC,EAAA,aAAA,EAErG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,cAAc;AACvB,4BAAA,WAAW,EAAiB,eAAA;AAC7B,yBAAA;qBACF,EACK,IAAA,EAAA;AACJ,wBAAA,sBAAsB,EAAE,oBAAoB;AAC5C,wBAAA,iBAAiB,EAAE,QAAQ;AAC3B,wBAAA,YAAY,EAAE,2CAA2C;AAC1D,qBAAA,EAAA,QAAA,EAAA,mnDAAA,EAAA,CAAA;0EAiBS,OAAO,EAAA,CAAA;sBADhB,eAAe;uBAAC,eAAe,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAA;gBAI5E,QAAQ,EAAA,CAAA;sBADjB,SAAS;uBAAC,iBAAiB,CAAA;gBAcrB,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAKC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,sBAAsB,EAAA,CAAA;sBAD5B,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAKC,MAAM,EAAA,CAAA;sBAFZ,MAAM;gBAKA,WAAW,EAAA,CAAA;sBADjB,YAAY;uBAAC,0BAA0B,CAAA;gBA+C9B,YAAY,EAAA,CAAA;sBAFrB,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;sBAChC,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AE7IrC,MAAM,OAAO,GAAG,CAAC,eAAe,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,eAAe,CAAC,CAAC;MAM1F,YAAY,CAAA;;yGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YANR,eAAe,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,eAAe,CAIzF,EAAA,OAAA,EAAA,CAAA,UAAU,EAJL,eAAe,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;AAMxF,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EANR,OAAA,EAAA,CAAA,eAAe,EAAsD,eAAe,EAIzF,UAAU,CAAA,EAAA,CAAA,CAAA;2FAET,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,OAAO;AAChB,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC;AAClC,iBAAA,CAAA;;;ACZD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"odx-angular-components-select.mjs","sources":["../../../../libs/angular/components/select/src/lib/select.tokens.ts","../../../../libs/angular/components/select/src/lib/components/option/option.component.ts","../../../../libs/angular/components/select/src/lib/components/option/option.component.html","../../../../libs/angular/components/select/src/lib/directives/select-search-field.directive.ts","../../../../libs/angular/components/select/src/lib/pipes/select-search-filter.pipe.ts","../../../../libs/angular/components/select/src/lib/select.component.ts","../../../../libs/angular/components/select/src/lib/select.component.html","../../../../libs/angular/components/select/src/lib/select.module.ts","../../../../libs/angular/components/select/src/odx-angular-components-select.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { SelectControl } from './abstract';\n\nexport const SELECT_CONTROL = new InjectionToken<SelectControl>('@odx/angular/components/select::SelectControl');\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener, inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, detectControllerChanges, DisabledController } from '@odx/angular';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { CheckboxComponent } from '@odx/angular/components/checkbox';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, Transform, untilDestroyed } from '@odx/angular/utils';\nimport { SelectControlOption } from '../../abstract';\nimport { SELECT_CONTROL } from '../../select.tokens';\n\n@CSSComponent('option')\n@Component({\n standalone: true,\n selector: 'odx-option',\n imports: [CoreModule, DynamicViewDirective, CheckboxComponent],\n templateUrl: './option.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DisabledController.connect()],\n host: {\n '[attr.aria-selected]': 'isSelected',\n '[attr.aria-disabled]': 'disabled || null',\n '[class.is-disabled]': 'disabled',\n '[class.is-selected]': 'isSelected',\n '[class.is-active]': 'isActive',\n role: 'option',\n },\n})\nexport class OptionComponent<T = unknown> implements OnInit, SelectControlOption<T> {\n public static ngAcceptInputType_notFoundMessage: BooleanInput;\n\n private readonly disabledController = DisabledController.inject();\n private readonly takeUntilDestroyed = untilDestroyed();\n private readonly cdr = inject(ChangeDetectorRef);\n\n protected readonly selectControl = inject(SELECT_CONTROL);\n protected isActive = false;\n\n public readonly element = injectElement();\n public isSelected = false;\n\n @Input()\n public value: T | null = null;\n\n @Transform(coerceBooleanProperty)\n @Input()\n public notFoundMessage = false;\n\n public get disabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n constructor() {\n if (!this.selectControl.multiple) {\n detectControllerChanges(this.selectControl)\n .pipe(this.takeUntilDestroyed())\n .subscribe(() => {\n this.isSelected = this.selectControl.isOptionSelected(this);\n });\n }\n }\n\n public ngOnInit(): void {\n this.isSelected = this.selectControl.isOptionSelected(this);\n }\n\n public getLabel(): string {\n return this.element.nativeElement.textContent ?? '';\n }\n\n public setActiveStyles(): void {\n if (this.disabled) return;\n this.isActive = true;\n if (this.selectControl.isOpen) {\n this.selectControl.scrollOptionIntoView(this);\n } else {\n this.selectControl.selectOption(this);\n }\n }\n\n public setInactiveStyles(): void {\n this.isActive = false;\n }\n\n public switchCheckbox(): void {\n if (this.selectControl.multiple) {\n this.isSelected = !this.isSelected;\n this.cdr.markForCheck();\n }\n }\n\n @HostListener('click', ['$event'])\n protected select(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n this.selectControl.selectOption(this);\n }\n}\n","<odx-checkbox [checked]=\"isSelected\" *ngIf=\"selectControl.multiple && !notFoundMessage; else single\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</odx-checkbox>\n\n<ng-template #single>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { distinctUntilChanged, fromEvent, map } from 'rxjs';\n\n@CSSComponent('select__search')\n@Directive({\n standalone: true,\n selector: 'input[odxSelectSearchField]',\n host: {\n '[class.odx-form-field-control]': 'true',\n },\n})\nexport class SelectSearchFieldDirective {\n private readonly takeUntilDestroyed = untilDestroyed();\n\n public readonly element = injectElement<HTMLInputElement>();\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('odxSelectSearchField')\n public notFoundContent: DynamicContent | null = null;\n\n public valueChange$ = fromEvent(this.element.nativeElement, 'input').pipe(\n map(() => this.getValue()),\n distinctUntilChanged(),\n this.takeUntilDestroyed()\n );\n\n @HostListener('keydown.delete')\n public reset(): void {\n this.element.nativeElement.value = '';\n }\n\n public focus(): void {\n this.element.nativeElement.focus();\n }\n\n public getValue(): string {\n return this.element.nativeElement.value;\n }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER, StringSearchHandler } from '@odx/angular';\nimport { Pure } from '@odx/angular/utils';\nimport { SelectSearchFieldDirective } from '../directives';\nimport { SELECT_CONTROL } from '../select.tokens';\n\n@Pipe({\n pure: false,\n name: 'odxSelectSearchFilter',\n standalone: true,\n})\nexport class SelectSearchFilterPipe implements PipeTransform {\n private readonly searchController = inject(SELECT_CONTROL, { optional: true });\n private readonly stringify = inject(ODX_STRINGIFY);\n private readonly stringSearchHandler = inject(ODX_STRING_SEARCH_HANDLER);\n\n private get searchField(): SelectSearchFieldDirective | undefined {\n return this.searchController?.searchField;\n }\n\n public transform<T>(items: T[] | null, searchHandler?: StringSearchHandler): T[] | null {\n if (this.searchField) {\n return this.filter(items, this.searchField.getValue(), searchHandler);\n }\n return items;\n }\n\n @Pure\n private filter<T>(items: T[] | null, query: string, searchHandler?: StringSearchHandler): T[] | null {\n if (!items) {\n return null;\n }\n query = query.trim();\n if (query === '') {\n return items;\n }\n const search = searchHandler ?? this.stringSearchHandler;\n const stringify = this.searchController?.stringify ?? this.stringify;\n\n return items.filter((item) => search(stringify(item), query));\n }\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n forwardRef,\n HostListener,\n inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CoreModule, detectControllerChanges, DisabledController, IdentityMatcher, ODX_IDENTITY_MATCHER, ReadonlyController, StringifyFn } from '@odx/angular';\nimport { CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { DropdownDirective } from '@odx/angular/components/dropdown';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { fromQueryList } from '@odx/angular/rxjs';\nimport { deferFn, injectElement, Transform } from '@odx/angular/utils';\nimport { SelectControl, SelectControlOption } from './abstract';\nimport { OptionComponent } from './components';\nimport { SelectSearchFieldDirective } from './directives';\nimport { SELECT_CONTROL } from './select.tokens';\n\n@CSSComponent('select')\n@Component({\n standalone: true,\n selector: 'odx-select',\n imports: [CoreModule, DropdownDirective, IconComponent, DynamicViewDirective, OptionComponent, LoadingSpinnerModule],\n templateUrl: './select.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n DisabledController.connect(),\n ReadonlyController.connect(),\n {\n provide: SELECT_CONTROL,\n useExisting: forwardRef(() => SelectComponent),\n },\n ],\n host: {\n '[attr.aria-disabled]': 'isDisabled || null',\n '[class.is-open]': 'isOpen',\n '[tabindex]': 'searchFieldEnabled || isDisabled ? -1 : 0',\n '[attr.aria-multiselectable]': 'multiple',\n },\n})\nexport class SelectComponent<T = unknown | unknown[]> extends CustomFormControl<T | null> implements AfterViewInit, SelectControl<T> {\n public static ngAcceptInputType_isLoading: BooleanInput;\n public static ngAcceptInputType_multiple: BooleanInput;\n\n private keyManager?: ActiveDescendantKeyManager<OptionComponent<T>>;\n private readonly changeDetector = inject(ChangeDetectorRef);\n\n protected searchFieldEnabled = false;\n protected smoothScrollEnabled = false;\n protected selectedOption: OptionComponent<T> | null = null;\n protected selectedOptionText: string | null = null;\n\n @ContentChildren(OptionComponent, { descendants: true, emitDistinctChangesOnly: true })\n protected options?: QueryList<OptionComponent<T>>;\n\n @ViewChild(DropdownDirective)\n protected dropdown?: DropdownDirective;\n\n public get hasOptions(): boolean {\n return !!this.options && this.options.length > 0;\n }\n\n public readonly element = injectElement();\n\n public get isOpen(): boolean {\n return !!this.dropdown?.isOpen;\n }\n\n public get selectedOptionContent(): TemplateRef<{ $implicit: T | null }> | string | null {\n return this.selectedOption ? this.selectedOptionTemplate ?? this.selectedOptionText : null;\n }\n\n @Input()\n public placeholder = '';\n\n @Transform(coerceBooleanProperty)\n @Input()\n public isLoading = false;\n\n @CSSModifier()\n @Transform(coerceBooleanProperty)\n @Input()\n public multiple = false;\n\n @Input()\n public selectedOptionTemplate?: TemplateRef<{ $implicit: T }> | null = null;\n\n @Input()\n public stringify?: StringifyFn<T | null>;\n\n @Input()\n public identityMatcher: IdentityMatcher<T | null> = inject(ODX_IDENTITY_MATCHER);\n\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n public change = new EventEmitter<void>();\n\n @ContentChild(SelectSearchFieldDirective)\n public searchField?: SelectSearchFieldDirective;\n\n constructor() {\n super(null);\n detectControllerChanges(this).subscribe();\n }\n\n public ngAfterViewInit(): void {\n if (!this.options) return;\n this.keyManager = new ActiveDescendantKeyManager(this.options).withHomeAndEnd().skipPredicate((item) => item.disabled);\n fromQueryList(this.options).subscribe(() => {\n this.updateSelectedOption();\n if (this.isOpen) {\n deferFn(() => this.activateSelectedOption());\n }\n });\n this.searchField?.valueChange$.subscribe(() => this.triggerControllerChange());\n }\n\n public override registerOnChange(fn: (value: T | null) => void): void {\n super.registerOnChange((value) => {\n this.updateSelectedOption();\n fn(value);\n });\n }\n\n public selectOption(option?: SelectControlOption<T | T[]> | null): void {\n if (option && !option.disabled) {\n this.change.emit();\n option.switchCheckbox();\n const value = this.multiple\n ? this.options\n ?.toArray()\n .filter(({ isSelected }) => isSelected)\n .map(({ value }) => value)\n : option.value;\n this.updateValue((value as T) ?? null);\n }\n\n !this.multiple && this.dropdown?.close();\n }\n\n public isOptionSelected(option: SelectControlOption<T | T[]>): boolean {\n if (option && !option.disabled) {\n if (this.multiple && Array.isArray(this.value)) {\n return (this.value as T[]).includes(option.value as T);\n }\n return this.identityMatcher(option.value as T, this.value);\n }\n return false;\n }\n\n public scrollOptionIntoView({ element }: SelectControlOption<T>): void {\n const behavior = this.smoothScrollEnabled ? 'smooth' : undefined;\n element.nativeElement.scrollIntoView({ block: 'center', behavior });\n }\n\n @HostListener('click', ['$event'])\n @HostListener('keydown', ['$event'])\n protected openDropdown(event: KeyboardEvent) {\n if (this.isLoading || this.readonlyController?.readonly) return;\n if (this.isOpen && this.hasOptions) {\n if (event.key === 'Enter' || event.key === 'Tab') {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.selectOption(this.keyManager?.activeItem);\n return;\n }\n }\n this.keyManager?.onKeydown(event);\n }\n\n @HostListener('focusout', ['$event'])\n protected handleFocusOut(event: FocusEvent): void {\n if (this.isOpen) {\n event.stopImmediatePropagation();\n }\n this.onTouched();\n }\n\n protected activateSelectedOption(): void {\n let activeIndex = this.options?.toArray().findIndex((option) => option.isSelected && !option.disabled);\n if (!activeIndex || activeIndex === -1) {\n activeIndex = this.options?.toArray().findIndex((option) => !option.disabled) ?? -1;\n }\n this.keyManager?.setActiveItem(activeIndex);\n }\n\n protected onDropdownOpen(): void {\n this.activateSelectedOption();\n if (!this.searchFieldEnabled) {\n deferFn(() => this.focusSelectSearchField());\n }\n }\n\n protected onDropdownClose(): void {\n this.disableSmoothScroll();\n this.element.nativeElement.blur();\n if (this.searchFieldEnabled) {\n this.searchFieldEnabled = false;\n this.element.nativeElement?.focus();\n }\n }\n\n protected onDropdownClosed(): void {\n this.searchField?.reset();\n }\n\n protected disableSmoothScroll(): void {\n this.smoothScrollEnabled = false;\n }\n\n protected enableSmoothScroll(): void {\n this.smoothScrollEnabled = true;\n }\n\n private updateSelectedOption(): void {\n const options = this.options?.toArray();\n this.selectedOption = options?.find((option) => option.isSelected) ?? null;\n if (this.multiple) {\n this.selectedOptionText =\n options\n ?.filter(({ isSelected }) => isSelected)\n .map((option) => this.stringify?.(option.value) ?? option.getLabel())\n .join(', ') ?? null;\n\n this.changeDetector.detectChanges();\n return;\n }\n this.selectedOptionText = this.selectedOption ? this.stringify?.(this.selectedOption?.value) ?? this.selectedOption.getLabel() : null;\n this.changeDetector.detectChanges();\n }\n\n private focusSelectSearchField(): void {\n this.searchFieldEnabled = !!this.searchField;\n deferFn(() => this.searchField?.focus());\n this.changeDetector.detectChanges();\n }\n}\n","<div\n aria-haspopup=\"listbox\"\n class=\"odx-select__trigger\"\n [odxDropdown]=\"dropdownContent\"\n [odxDropdownDisabled]=\"isDisabled || isReadonly\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, offset: 4, outerPadding: 10, position: 'bottom-start' }\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n [odxDropdownShowLoader]=\"isLoading\"\n (odxDropdownBeforeOpen)=\"onDropdownOpen()\"\n (odxDropdownBeforeClose)=\"onDropdownClose()\"\n (odxDropdownAfterClose)=\"onDropdownClosed()\"\n (odxDropdownAfterOpen)=\"enableSmoothScroll()\"\n>\n <ng-template [ngIf]=\"!searchFieldEnabled\" [ngIfElse]=\"searchFieldTemplate\">\n <div class=\"odx-select__value\" *ngIf=\"selectedOptionContent; else placeholderTemplate\">\n <ng-template [odxDynamicView]=\"selectedOptionContent\" [odxDynamicViewContext]=\"{ $implicit: value }\"></ng-template>\n </div>\n </ng-template>\n <ng-template #placeholderTemplate>\n <div class=\"odx-select__placeholder\">\n {{ placeholder }}\n </div>\n </ng-template>\n <ng-template #searchFieldTemplate>\n <ng-content select=\"[odxSelectSearchField]\"></ng-content>\n </ng-template>\n <odx-icon class=\"odx-select__indicator\" name=\"chevron-down\" iconSet=\"core\"></odx-icon>\n</div>\n<ng-template #dropdownContent>\n <div class=\"odx-select-dropdown\" role=\"listbox\">\n <ng-template [ngIf]=\"hasOptions\" [ngIfElse]=\"noOptionsTemplate\">\n <ng-content></ng-content>\n </ng-template>\n <ng-template #noOptionsTemplate>\n <odx-option disabled notFoundMessage>\n <ng-template [odxDynamicView]=\"searchField?.notFoundContent\"></ng-template>\n </odx-option>\n </ng-template>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { OptionComponent } from './components';\nimport { SelectSearchFieldDirective } from './directives';\nimport { SelectSearchFilterPipe } from './pipes';\nimport { SelectComponent } from './select.component';\n\nconst modules = [SelectComponent, SelectSearchFieldDirective, SelectSearchFilterPipe, OptionComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class SelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -23,12 +23,12 @@ let SliderDirective = class SliderDirective {
|
|
|
23
23
|
return (100 * (this.value - this.min)) / (this.max - this.min) || 0;
|
|
24
24
|
}
|
|
25
25
|
};
|
|
26
|
-
SliderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
27
|
-
SliderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.
|
|
26
|
+
SliderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SliderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
27
|
+
SliderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: SliderDirective, isStandalone: true, selector: "input[type=range][odxSlider]", host: { properties: { "style.--odx-slider-filled.%": "this.valuePercentage" } }, hostDirectives: [{ directive: i1.WithDisabledState }], ngImport: i0 });
|
|
28
28
|
SliderDirective = __decorate([
|
|
29
29
|
CSSComponent('slider')
|
|
30
30
|
], SliderDirective);
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SliderDirective, decorators: [{
|
|
32
32
|
type: Directive,
|
|
33
33
|
args: [{
|
|
34
34
|
standalone: true,
|