@odx/angular 1.0.0-rc.7 → 1.0.0-rc.9
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/README.md +6 -6
- package/cdk/a11y/README.md +3 -0
- package/cdk/a11y/index.d.ts +2 -0
- package/cdk/a11y/lib/a11y.module.d.ts +11 -0
- package/cdk/a11y/lib/directives/index.d.ts +3 -0
- package/cdk/a11y/lib/directives/interactive.directive.d.ts +11 -0
- package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +11 -0
- package/cdk/a11y/lib/directives/list-focus-manager.directive.d.ts +12 -0
- package/cdk/active-indicator/lib/active-indicator.directive.d.ts +3 -2
- package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +1 -1
- package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +1 -1
- package/cdk/connected-overlay/lib/models/connected-overlay-options.d.ts +1 -0
- package/cdk/custom-form-control/lib/control.directive.d.ts +1 -1
- package/cdk/custom-form-control/lib/custom-form-control.d.ts +1 -1
- package/cdk/dynamic-view/lib/dynamic-view.component.d.ts +1 -1
- package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +1 -1
- package/cdk/expandable/index.d.ts +1 -0
- package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +2 -2
- package/cdk/expandable/lib/directives/extandable-container.directive.d.ts +2 -2
- package/cdk/expandable/lib/expandable.tokens.d.ts +3 -0
- package/cdk/expandable/lib/facade/expandable-container.d.ts +4 -4
- package/cdk/expandable/lib/facade/expandable-item.d.ts +6 -6
- package/cdk/radio-group-control/lib/radio-control.directive.d.ts +1 -1
- package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +1 -1
- package/components/accordion/lib/accordion.component.d.ts +1 -1
- package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +1 -1
- package/components/accordion/lib/directives/accordion-item-title.d.ts +1 -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/directives/area-header-content.directive.d.ts +1 -1
- package/components/area-header/directives/area-header-subtitle.directive.d.ts +1 -1
- package/components/avatar/lib/avatar.component.d.ts +1 -1
- package/components/badge/lib/badge.component.d.ts +1 -1
- package/components/badge/lib/badge.directive.d.ts +1 -1
- package/components/bar/README.md +3 -0
- package/components/bar/index.d.ts +5 -0
- package/components/bar/lib/bar.component.d.ts +6 -0
- package/components/bar/lib/bar.module.d.ts +10 -0
- package/components/bar/lib/directives/bar-button.directive.d.ts +10 -0
- package/components/bar/lib/directives/bar-label.directive.d.ts +6 -0
- package/components/bar/lib/models/bar-button-variant.d.ts +5 -0
- package/components/breadcrumbs/README.md +3 -0
- package/components/breadcrumbs/index.d.ts +1 -0
- package/components/breadcrumbs/lib/breadcrumbs.component.d.ts +17 -0
- package/components/button/lib/button.component.d.ts +3 -4
- package/components/button-group/lib/button-group.component.d.ts +1 -1
- package/components/checkbox/lib/checkbox.component.d.ts +2 -1
- package/components/checkbox/lib/checkbox.validator.d.ts +1 -1
- package/components/chip/lib/chip.component.d.ts +1 -1
- package/components/circular-progress/lib/circular-progress.component.d.ts +1 -1
- package/components/content-box/lib/content-box.component.d.ts +1 -1
- package/components/content-box/lib/directives/content-box-footer-directive.d.ts +1 -1
- package/components/content-box/lib/directives/content-box-header-directive.d.ts +1 -1
- package/components/dropdown/index.d.ts +2 -0
- package/components/dropdown/lib/dropdown.component.d.ts +2 -1
- package/components/dropdown/lib/dropdown.directive.d.ts +13 -4
- package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +1 -0
- package/components/dropdown/lib/helpers/index.d.ts +1 -0
- package/components/dropdown/lib/models/close-dropdown-event.d.ts +4 -0
- package/components/dropdown/lib/models/dropdown-options.d.ts +1 -1
- package/components/dropdown/lib/models/index.d.ts +1 -0
- package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +1 -1
- package/components/form-field/lib/components/form-group/form-group.component.d.ts +1 -1
- package/components/form-field/lib/directives/form-field-control.directive.d.ts +1 -1
- package/components/form-field/lib/directives/form-field-error.directive.d.ts +1 -1
- package/components/form-field/lib/directives/form-field-hint.directive.d.ts +1 -1
- package/components/form-field/lib/directives/form-field-label.directive.d.ts +1 -1
- package/components/form-field/lib/directives/form.directive.d.ts +1 -1
- package/components/form-field/lib/form-field.component.d.ts +2 -1
- package/components/header/lib/directives/header-avatar.directive.d.ts +1 -1
- package/components/header/lib/directives/header-title.directive.d.ts +1 -1
- package/components/header/lib/header.component.d.ts +1 -1
- package/components/header/lib/header.module.d.ts +2 -3
- package/components/icon/lib/icon.component.d.ts +1 -1
- package/components/icon/lib/models/icon-size.d.ts +2 -1
- package/components/inline-message/index.d.ts +1 -1
- package/components/inline-message/lib/inline-message.component.d.ts +2 -2
- package/components/inline-message/lib/models/index.d.ts +1 -0
- package/components/launch-tile/README.md +3 -0
- package/components/launch-tile/index.d.ts +3 -0
- package/components/launch-tile/lib/components/index.d.ts +2 -0
- package/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.d.ts +5 -0
- package/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.d.ts +5 -0
- package/components/launch-tile/lib/launch-tile.component.d.ts +13 -0
- package/components/launch-tile/lib/launch-tile.module.d.ts +14 -0
- package/components/link/link.directive.d.ts +2 -4
- package/components/list/lib/components/index.d.ts +1 -1
- package/components/list/lib/components/{list-item.component.d.ts → list-item/list-item.component.d.ts} +2 -4
- package/components/list/lib/list.component.d.ts +2 -1
- package/components/list/lib/list.module.d.ts +1 -1
- package/components/loading-spinner/lib/loading-spinner.component.d.ts +1 -1
- package/components/loading-spinner/lib/loading-spinner.directive.d.ts +2 -2
- package/components/logo/logo.directive.d.ts +1 -1
- package/components/main-menu/lib/directives/main-menu-button.directive.d.ts +1 -1
- package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +2 -4
- package/components/main-menu/lib/main-menu.component.d.ts +1 -1
- package/components/menu/README.md +3 -0
- package/components/menu/index.d.ts +4 -0
- package/components/menu/lib/directives/index.d.ts +1 -0
- package/components/menu/lib/directives/menu-item.directive.d.ts +9 -0
- package/components/menu/lib/menu.component.d.ts +8 -0
- package/components/menu/lib/menu.directive.d.ts +16 -0
- package/components/menu/lib/menu.module.d.ts +10 -0
- package/components/modal/lib/components/basic-modal/basic-modal.component.d.ts +10 -0
- package/components/modal/lib/components/index.d.ts +2 -0
- package/components/modal/lib/components/modal-footer/modal-footer.component.d.ts +1 -1
- package/components/modal/lib/components/modal-header/modal-header.component.d.ts +1 -1
- package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +11 -0
- package/components/modal/lib/directives/modal-close.directive.d.ts +2 -2
- package/components/modal/lib/directives/modal-content.directive.d.ts +1 -1
- package/components/modal/lib/directives/modal-dismiss.directive.d.ts +1 -1
- package/components/modal/lib/helpers/inject-modal-ref.d.ts +1 -1
- package/components/modal/lib/modal.component.d.ts +7 -3
- package/components/modal/lib/modal.directive.d.ts +1 -1
- package/components/modal/lib/modal.module.d.ts +9 -8
- package/components/modal/lib/modal.service.d.ts +2 -1
- package/components/modal/lib/models/basic-modal-options.d.ts +17 -0
- package/components/modal/lib/models/index.d.ts +2 -0
- package/components/modal/lib/models/modal-hero-variant.d.ts +7 -0
- package/components/progress/lib/progress.component.d.ts +2 -2
- package/components/radio-group/lib/components/radio-button/radio-button.component.d.ts +2 -2
- package/components/radio-group/lib/radio-group.component.d.ts +1 -1
- package/components/rail-navigation/lib/components/rail-navigation-item.component.d.ts +2 -4
- package/components/rail-navigation/lib/rail-navigation.component.d.ts +1 -1
- package/components/select/lib/components/option/option.component.d.ts +1 -1
- package/components/select/lib/directives/select-search-field.directive.d.ts +1 -1
- package/components/select/lib/select.component.d.ts +4 -4
- package/components/slider/lib/slider.directive.d.ts +2 -3
- package/components/spinbox/lib/spinbox.component.d.ts +2 -2
- package/components/switch/lib/switch.component.d.ts +2 -1
- package/components/switch/lib/switch.validator.d.ts +1 -1
- package/components/tab-bar/README.md +3 -0
- package/components/tab-bar/index.d.ts +4 -0
- package/components/tab-bar/lib/components/index.d.ts +1 -0
- package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +20 -0
- package/components/tab-bar/lib/models/index.d.ts +1 -0
- package/components/tab-bar/lib/models/tab-change-event.d.ts +5 -0
- package/components/tab-bar/lib/tab-bar.component.d.ts +31 -0
- package/components/tab-bar/lib/tab-bar.config.d.ts +3 -0
- package/components/tab-bar/lib/tab-bar.module.d.ts +9 -0
- package/components/toast/README.md +3 -0
- package/components/toast/index.d.ts +5 -0
- package/components/toast/lib/components/index.d.ts +2 -0
- package/components/toast/lib/components/toast-container/toast-container.component.d.ts +23 -0
- package/components/toast/lib/components/toast-item/toast-item.component.d.ts +20 -0
- package/components/toast/lib/models/index.d.ts +5 -0
- package/components/toast/lib/models/toast-action.d.ts +7 -0
- package/components/toast/lib/models/toast-ref.d.ts +7 -0
- package/components/toast/lib/models/toast-variant.d.ts +7 -0
- package/components/toast/lib/models/toast.d.ts +10 -0
- package/components/toast/lib/models/toast.options.d.ts +4 -0
- package/components/toast/lib/toast.config.d.ts +3 -0
- package/components/toast/lib/toast.module.d.ts +13 -0
- package/components/toast/lib/toast.service.d.ts +16 -0
- package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +1 -1
- package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +2 -2
- package/components/tooltip/lib/tooltip.component.d.ts +1 -1
- package/components/tooltip/lib/tooltip.directive.d.ts +1 -1
- package/esm2020/animations/lib/expand.mjs +6 -4
- package/esm2020/cdk/a11y/index.mjs +3 -0
- package/esm2020/cdk/a11y/lib/a11y.module.mjs +19 -0
- package/esm2020/cdk/a11y/lib/directives/index.mjs +4 -0
- package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +49 -0
- package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +28 -0
- package/esm2020/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +40 -0
- package/esm2020/cdk/a11y/odx-angular-cdk-a11y.mjs +5 -0
- package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +11 -10
- package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +4 -4
- package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +8 -4
- package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +4 -4
- package/esm2020/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +3 -3
- package/esm2020/cdk/connected-overlay/lib/models/connected-overlay-options.mjs +3 -2
- package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +4 -4
- package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +4 -4
- package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +4 -4
- package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +4 -4
- package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +4 -4
- package/esm2020/cdk/expandable/index.mjs +2 -1
- package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +7 -8
- package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +5 -7
- package/esm2020/cdk/expandable/lib/expandable.module.mjs +5 -5
- package/esm2020/cdk/expandable/lib/expandable.tokens.mjs +3 -0
- package/esm2020/cdk/expandable/lib/facade/expandable-container.mjs +2 -3
- package/esm2020/cdk/expandable/lib/facade/expandable-item.mjs +2 -3
- package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +4 -4
- package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +4 -4
- package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +5 -5
- package/esm2020/components/accordion/lib/accordion.component.mjs +6 -6
- package/esm2020/components/accordion/lib/accordion.module.mjs +5 -5
- package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +8 -6
- package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +4 -4
- package/esm2020/components/action-group/action-group.component.mjs +4 -4
- package/esm2020/components/area-header/area-header.component.mjs +4 -4
- package/esm2020/components/area-header/area-header.module.mjs +5 -5
- package/esm2020/components/area-header/directives/area-header-content.directive.mjs +4 -4
- package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +4 -4
- package/esm2020/components/avatar/lib/avatar.component.mjs +4 -4
- package/esm2020/components/badge/lib/badge.component.mjs +4 -4
- package/esm2020/components/badge/lib/badge.directive.mjs +4 -4
- package/esm2020/components/bar/index.mjs +6 -0
- package/esm2020/components/bar/lib/bar.component.mjs +21 -0
- package/esm2020/components/bar/lib/bar.module.mjs +20 -0
- package/esm2020/components/bar/lib/directives/bar-button.directive.mjs +39 -0
- package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +24 -0
- package/esm2020/components/bar/lib/models/bar-button-variant.mjs +5 -0
- package/esm2020/components/bar/odx-angular-components-bar.mjs +5 -0
- package/esm2020/components/breadcrumbs/index.mjs +2 -0
- package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +50 -0
- package/esm2020/components/breadcrumbs/odx-angular-components-breadcrumbs.mjs +5 -0
- package/esm2020/components/button/lib/button.component.mjs +8 -12
- package/esm2020/components/button-group/lib/button-group.component.mjs +4 -4
- package/esm2020/components/checkbox/lib/checkbox.component.mjs +7 -6
- package/esm2020/components/checkbox/lib/checkbox.module.mjs +5 -5
- package/esm2020/components/checkbox/lib/checkbox.validator.mjs +4 -4
- package/esm2020/components/chip/lib/chip.component.mjs +4 -4
- package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +5 -5
- package/esm2020/components/content-box/lib/content-box.component.mjs +4 -4
- package/esm2020/components/content-box/lib/content-box.module.mjs +5 -5
- package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +4 -4
- package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +4 -4
- package/esm2020/components/dropdown/index.mjs +3 -1
- package/esm2020/components/dropdown/lib/dropdown.component.mjs +15 -6
- package/esm2020/components/dropdown/lib/dropdown.directive.mjs +48 -17
- package/esm2020/components/dropdown/lib/dropdown.module.mjs +5 -5
- package/esm2020/components/dropdown/lib/helpers/close-current-dropdown.mjs +5 -0
- package/esm2020/components/dropdown/lib/helpers/index.mjs +2 -0
- package/esm2020/components/dropdown/lib/models/close-dropdown-event.mjs +7 -0
- package/esm2020/components/dropdown/lib/models/dropdown-options.mjs +2 -1
- package/esm2020/components/dropdown/lib/models/index.mjs +2 -1
- package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +4 -4
- package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +4 -4
- package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +4 -4
- package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +4 -4
- package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +4 -4
- package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +4 -4
- package/esm2020/components/form-field/lib/directives/form.directive.mjs +4 -4
- package/esm2020/components/form-field/lib/form-field.component.mjs +8 -7
- package/esm2020/components/form-field/lib/form-field.module.mjs +5 -5
- package/esm2020/components/form-field/lib/form-field.service.mjs +4 -4
- package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +4 -4
- package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +4 -4
- package/esm2020/components/header/lib/directives/header-title.directive.mjs +4 -4
- package/esm2020/components/header/lib/header.component.mjs +5 -6
- package/esm2020/components/header/lib/header.module.mjs +7 -11
- package/esm2020/components/icon/lib/icon.component.mjs +4 -4
- package/esm2020/components/icon/lib/models/icon-size.mjs +2 -1
- package/esm2020/components/inline-message/index.mjs +2 -2
- package/esm2020/components/inline-message/lib/inline-message.component.mjs +5 -5
- package/esm2020/components/inline-message/lib/models/index.mjs +2 -0
- package/esm2020/components/launch-tile/index.mjs +4 -0
- package/esm2020/components/launch-tile/lib/components/index.mjs +3 -0
- package/esm2020/components/launch-tile/lib/components/launch-tile-footer/launch-tile-footer.component.mjs +13 -0
- package/esm2020/components/launch-tile/lib/components/launch-tile-subtitle/launch-tile-subtitle.component.mjs +13 -0
- package/esm2020/components/launch-tile/lib/launch-tile.component.mjs +51 -0
- package/esm2020/components/launch-tile/lib/launch-tile.module.mjs +23 -0
- package/esm2020/components/launch-tile/odx-angular-components-launch-tile.mjs +5 -0
- package/esm2020/components/link/link.directive.mjs +7 -14
- package/esm2020/components/list/lib/components/index.mjs +2 -2
- package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +40 -0
- package/esm2020/components/list/lib/list.component.mjs +17 -9
- package/esm2020/components/list/lib/list.module.mjs +6 -6
- package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +4 -4
- package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +9 -9
- package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +5 -5
- package/esm2020/components/logo/logo.directive.mjs +4 -4
- package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +4 -4
- package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +7 -13
- package/esm2020/components/main-menu/lib/main-menu.component.mjs +8 -8
- package/esm2020/components/main-menu/lib/main-menu.module.mjs +5 -5
- package/esm2020/components/main-menu/lib/main-menu.service.mjs +4 -4
- package/esm2020/components/menu/index.mjs +5 -0
- package/esm2020/components/menu/lib/directives/index.mjs +2 -0
- package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +39 -0
- package/esm2020/components/menu/lib/menu.component.mjs +35 -0
- package/esm2020/components/menu/lib/menu.directive.mjs +51 -0
- package/esm2020/components/menu/lib/menu.module.mjs +20 -0
- package/esm2020/components/menu/odx-angular-components-menu.mjs +5 -0
- package/esm2020/components/modal/lib/components/basic-modal/basic-modal.component.mjs +42 -0
- package/esm2020/components/modal/lib/components/index.mjs +3 -1
- package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +4 -4
- package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +4 -4
- package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +39 -0
- package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +10 -5
- package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +4 -4
- package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +4 -4
- package/esm2020/components/modal/lib/helpers/inject-modal-ref.mjs +1 -1
- package/esm2020/components/modal/lib/modal.component.mjs +19 -9
- package/esm2020/components/modal/lib/modal.directive.mjs +4 -4
- package/esm2020/components/modal/lib/modal.module.mjs +33 -7
- package/esm2020/components/modal/lib/modal.service.mjs +14 -5
- package/esm2020/components/modal/lib/models/basic-modal-options.mjs +2 -0
- package/esm2020/components/modal/lib/models/index.mjs +3 -1
- package/esm2020/components/modal/lib/models/modal-hero-variant.mjs +7 -0
- package/esm2020/components/modal/lib/services/open-modal-manager.service.mjs +4 -4
- package/esm2020/components/progress/lib/progress.component.mjs +6 -6
- package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +8 -9
- package/esm2020/components/radio-group/lib/radio-group.component.mjs +6 -6
- package/esm2020/components/radio-group/lib/radio-group.module.mjs +5 -5
- package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +7 -12
- package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +4 -4
- package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +5 -5
- package/esm2020/components/select/lib/components/option/option.component.mjs +5 -5
- package/esm2020/components/select/lib/directives/select-search-field.directive.mjs +4 -4
- package/esm2020/components/select/lib/pipes/select-search-filter.pipe.mjs +4 -4
- package/esm2020/components/select/lib/select.component.mjs +15 -19
- package/esm2020/components/select/lib/select.module.mjs +5 -5
- package/esm2020/components/slider/lib/slider.directive.mjs +7 -10
- package/esm2020/components/spinbox/lib/spinbox.component.mjs +5 -5
- package/esm2020/components/switch/lib/switch.component.mjs +7 -6
- package/esm2020/components/switch/lib/switch.module.mjs +5 -5
- package/esm2020/components/switch/lib/switch.validator.mjs +4 -4
- package/esm2020/components/tab-bar/index.mjs +5 -0
- package/esm2020/components/tab-bar/lib/components/index.mjs +2 -0
- package/esm2020/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +70 -0
- package/esm2020/components/tab-bar/lib/models/index.mjs +2 -0
- package/esm2020/components/tab-bar/lib/models/tab-change-event.mjs +2 -0
- package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +115 -0
- package/esm2020/components/tab-bar/lib/tab-bar.config.mjs +3 -0
- package/esm2020/components/tab-bar/lib/tab-bar.module.mjs +19 -0
- package/esm2020/components/tab-bar/odx-angular-components-tab-bar.mjs +5 -0
- package/esm2020/components/toast/index.mjs +6 -0
- package/esm2020/components/toast/lib/components/index.mjs +3 -0
- package/esm2020/components/toast/lib/components/toast-container/toast-container.component.mjs +87 -0
- package/esm2020/components/toast/lib/components/toast-item/toast-item.component.mjs +74 -0
- package/esm2020/components/toast/lib/models/index.mjs +6 -0
- package/esm2020/components/toast/lib/models/toast-action.mjs +2 -0
- package/esm2020/components/toast/lib/models/toast-ref.mjs +2 -0
- package/esm2020/components/toast/lib/models/toast-variant.mjs +7 -0
- package/esm2020/components/toast/lib/models/toast.mjs +2 -0
- package/esm2020/components/toast/lib/models/toast.options.mjs +2 -0
- package/esm2020/components/toast/lib/toast.config.mjs +6 -0
- package/esm2020/components/toast/lib/toast.module.mjs +26 -0
- package/esm2020/components/toast/lib/toast.service.mjs +38 -0
- package/esm2020/components/toast/odx-angular-components-toast.mjs +5 -0
- package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +6 -10
- package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +15 -7
- package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +5 -5
- package/esm2020/components/tooltip/lib/tooltip.component.mjs +4 -4
- package/esm2020/components/tooltip/lib/tooltip.directive.mjs +4 -4
- package/esm2020/lib/controllers/controller.mjs +6 -6
- package/esm2020/lib/controllers/disabled.controller.mjs +21 -42
- package/esm2020/lib/controllers/readonly.controller.mjs +6 -6
- package/esm2020/lib/core.module.mjs +7 -7
- package/esm2020/lib/directives/click-outside.directive.mjs +7 -6
- package/esm2020/lib/directives/index.mjs +4 -1
- package/esm2020/lib/directives/let.directive.mjs +36 -0
- package/esm2020/lib/directives/with-disabled-state.directive.mjs +41 -0
- package/esm2020/lib/directives/with-tabindex.directive.mjs +23 -0
- package/esm2020/lib/services/window-ref.mjs +9 -5
- package/esm2020/rxjs/index.mjs +2 -1
- package/esm2020/rxjs/lib/form-query-list.mjs +5 -0
- package/esm2020/utils/lib/helpers/dom.mjs +8 -1
- package/esm2020/utils/lib/helpers/event-manager.mjs +4 -4
- package/esm2020/utils/lib/helpers/get-unique-id.mjs +7 -0
- package/esm2020/utils/lib/helpers/index.mjs +3 -1
- package/esm2020/utils/lib/helpers/provide-module-config.mjs +1 -1
- package/esm2020/utils/lib/helpers/queue.mjs +24 -0
- package/fesm2015/odx-angular-animations.mjs +5 -3
- package/fesm2015/odx-angular-animations.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-a11y.mjs +132 -0
- package/fesm2015/odx-angular-cdk-a11y.mjs.map +1 -0
- package/fesm2015/odx-angular-cdk-active-indicator.mjs +12 -9
- package/fesm2015/odx-angular-cdk-active-indicator.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-checkbox-control.mjs +3 -3
- package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-connected-overlay.mjs +14 -9
- package/fesm2015/odx-angular-cdk-connected-overlay.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-custom-form-control.mjs +6 -6
- package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-dynamic-view.mjs +9 -9
- package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-expandable.mjs +16 -22
- package/fesm2015/odx-angular-cdk-expandable.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-radio-group-control.mjs +10 -10
- package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
- package/fesm2015/odx-angular-components-accordion.mjs +19 -17
- package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
- package/fesm2015/odx-angular-components-action-group.mjs +3 -3
- package/fesm2015/odx-angular-components-action-group.mjs.map +1 -1
- package/fesm2015/odx-angular-components-area-header.mjs +13 -13
- package/fesm2015/odx-angular-components-area-header.mjs.map +1 -1
- package/fesm2015/odx-angular-components-avatar.mjs +3 -3
- package/fesm2015/odx-angular-components-avatar.mjs.map +1 -1
- package/fesm2015/odx-angular-components-badge.mjs +6 -6
- package/fesm2015/odx-angular-components-badge.mjs.map +1 -1
- package/fesm2015/odx-angular-components-bar.mjs +96 -0
- package/fesm2015/odx-angular-components-bar.mjs.map +1 -0
- package/fesm2015/odx-angular-components-breadcrumbs.mjs +56 -0
- package/fesm2015/odx-angular-components-breadcrumbs.mjs.map +1 -0
- package/fesm2015/odx-angular-components-button-group.mjs +3 -3
- package/fesm2015/odx-angular-components-button-group.mjs.map +1 -1
- package/fesm2015/odx-angular-components-button.mjs +7 -11
- package/fesm2015/odx-angular-components-button.mjs.map +1 -1
- package/fesm2015/odx-angular-components-checkbox.mjs +13 -12
- package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
- package/fesm2015/odx-angular-components-chip.mjs +3 -3
- package/fesm2015/odx-angular-components-chip.mjs.map +1 -1
- package/fesm2015/odx-angular-components-circular-progress.mjs +4 -4
- 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 +92 -40
- package/fesm2015/odx-angular-components-dropdown.mjs.map +1 -1
- package/fesm2015/odx-angular-components-form-field.mjs +37 -36
- package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
- package/fesm2015/odx-angular-components-header.mjs +16 -20
- package/fesm2015/odx-angular-components-header.mjs.map +1 -1
- package/fesm2015/odx-angular-components-icon.mjs +4 -3
- package/fesm2015/odx-angular-components-icon.mjs.map +1 -1
- package/fesm2015/odx-angular-components-inline-message.mjs +3 -3
- package/fesm2015/odx-angular-components-inline-message.mjs.map +1 -1
- package/fesm2015/odx-angular-components-launch-tile.mjs +95 -0
- package/fesm2015/odx-angular-components-launch-tile.mjs.map +1 -0
- package/fesm2015/odx-angular-components-link.mjs +6 -14
- package/fesm2015/odx-angular-components-link.mjs.map +1 -1
- package/fesm2015/odx-angular-components-list.mjs +22 -25
- package/fesm2015/odx-angular-components-list.mjs.map +1 -1
- package/fesm2015/odx-angular-components-loading-spinner.mjs +15 -15
- package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -1
- package/fesm2015/odx-angular-components-logo.mjs +3 -3
- package/fesm2015/odx-angular-components-logo.mjs.map +1 -1
- package/fesm2015/odx-angular-components-main-menu.mjs +22 -30
- package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2015/odx-angular-components-menu.mjs +127 -0
- package/fesm2015/odx-angular-components-menu.mjs.map +1 -0
- package/fesm2015/odx-angular-components-modal.mjs +161 -55
- package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
- package/fesm2015/odx-angular-components-progress.mjs +5 -5
- package/fesm2015/odx-angular-components-progress.mjs.map +1 -1
- package/fesm2015/odx-angular-components-radio-group.mjs +15 -16
- package/fesm2015/odx-angular-components-radio-group.mjs.map +1 -1
- package/fesm2015/odx-angular-components-rail-navigation.mjs +13 -19
- package/fesm2015/odx-angular-components-rail-navigation.mjs.map +1 -1
- package/fesm2015/odx-angular-components-select.mjs +28 -32
- package/fesm2015/odx-angular-components-select.mjs.map +1 -1
- package/fesm2015/odx-angular-components-slider.mjs +6 -9
- package/fesm2015/odx-angular-components-slider.mjs.map +1 -1
- package/fesm2015/odx-angular-components-spinbox.mjs +5 -5
- package/fesm2015/odx-angular-components-spinbox.mjs.map +1 -1
- package/fesm2015/odx-angular-components-switch.mjs +13 -12
- package/fesm2015/odx-angular-components-switch.mjs.map +1 -1
- package/fesm2015/odx-angular-components-tab-bar.mjs +200 -0
- package/fesm2015/odx-angular-components-tab-bar.mjs.map +1 -0
- package/fesm2015/odx-angular-components-toast.mjs +221 -0
- package/fesm2015/odx-angular-components-toast.mjs.map +1 -0
- package/fesm2015/odx-angular-components-toggle-button-group.mjs +23 -19
- package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -1
- package/fesm2015/odx-angular-components-tooltip.mjs +6 -6
- package/fesm2015/odx-angular-components-tooltip.mjs.map +1 -1
- package/fesm2015/odx-angular-rxjs.mjs +6 -2
- package/fesm2015/odx-angular-rxjs.mjs.map +1 -1
- package/fesm2015/odx-angular-utils.mjs +41 -5
- package/fesm2015/odx-angular-utils.mjs.map +1 -1
- package/fesm2015/odx-angular.mjs +140 -64
- package/fesm2015/odx-angular.mjs.map +1 -1
- package/fesm2020/odx-angular-animations.mjs +5 -3
- package/fesm2020/odx-angular-animations.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-a11y.mjs +128 -0
- package/fesm2020/odx-angular-cdk-a11y.mjs.map +1 -0
- package/fesm2020/odx-angular-cdk-active-indicator.mjs +10 -9
- package/fesm2020/odx-angular-cdk-active-indicator.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-checkbox-control.mjs +3 -3
- package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-connected-overlay.mjs +14 -9
- package/fesm2020/odx-angular-cdk-connected-overlay.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-custom-form-control.mjs +6 -6
- package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-dynamic-view.mjs +9 -9
- package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-expandable.mjs +16 -22
- package/fesm2020/odx-angular-cdk-expandable.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-radio-group-control.mjs +10 -10
- package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
- package/fesm2020/odx-angular-components-accordion.mjs +19 -17
- package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
- package/fesm2020/odx-angular-components-action-group.mjs +3 -3
- package/fesm2020/odx-angular-components-action-group.mjs.map +1 -1
- package/fesm2020/odx-angular-components-area-header.mjs +13 -13
- package/fesm2020/odx-angular-components-area-header.mjs.map +1 -1
- package/fesm2020/odx-angular-components-avatar.mjs +3 -3
- package/fesm2020/odx-angular-components-avatar.mjs.map +1 -1
- package/fesm2020/odx-angular-components-badge.mjs +6 -6
- package/fesm2020/odx-angular-components-badge.mjs.map +1 -1
- package/fesm2020/odx-angular-components-bar.mjs +96 -0
- package/fesm2020/odx-angular-components-bar.mjs.map +1 -0
- package/fesm2020/odx-angular-components-breadcrumbs.mjs +56 -0
- package/fesm2020/odx-angular-components-breadcrumbs.mjs.map +1 -0
- package/fesm2020/odx-angular-components-button-group.mjs +3 -3
- package/fesm2020/odx-angular-components-button-group.mjs.map +1 -1
- package/fesm2020/odx-angular-components-button.mjs +7 -11
- package/fesm2020/odx-angular-components-button.mjs.map +1 -1
- package/fesm2020/odx-angular-components-checkbox.mjs +13 -12
- package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
- package/fesm2020/odx-angular-components-chip.mjs +3 -3
- package/fesm2020/odx-angular-components-chip.mjs.map +1 -1
- package/fesm2020/odx-angular-components-circular-progress.mjs +4 -4
- 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 +91 -40
- package/fesm2020/odx-angular-components-dropdown.mjs.map +1 -1
- package/fesm2020/odx-angular-components-form-field.mjs +37 -36
- package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
- package/fesm2020/odx-angular-components-header.mjs +16 -20
- package/fesm2020/odx-angular-components-header.mjs.map +1 -1
- package/fesm2020/odx-angular-components-icon.mjs +4 -3
- package/fesm2020/odx-angular-components-icon.mjs.map +1 -1
- package/fesm2020/odx-angular-components-inline-message.mjs +3 -3
- package/fesm2020/odx-angular-components-inline-message.mjs.map +1 -1
- package/fesm2020/odx-angular-components-launch-tile.mjs +94 -0
- package/fesm2020/odx-angular-components-launch-tile.mjs.map +1 -0
- package/fesm2020/odx-angular-components-link.mjs +6 -13
- package/fesm2020/odx-angular-components-link.mjs.map +1 -1
- package/fesm2020/odx-angular-components-list.mjs +22 -24
- package/fesm2020/odx-angular-components-list.mjs.map +1 -1
- package/fesm2020/odx-angular-components-loading-spinner.mjs +15 -15
- package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -1
- package/fesm2020/odx-angular-components-logo.mjs +3 -3
- package/fesm2020/odx-angular-components-logo.mjs.map +1 -1
- package/fesm2020/odx-angular-components-main-menu.mjs +22 -29
- package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2020/odx-angular-components-menu.mjs +129 -0
- package/fesm2020/odx-angular-components-menu.mjs.map +1 -0
- package/fesm2020/odx-angular-components-modal.mjs +166 -55
- package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
- package/fesm2020/odx-angular-components-progress.mjs +5 -5
- package/fesm2020/odx-angular-components-progress.mjs.map +1 -1
- package/fesm2020/odx-angular-components-radio-group.mjs +15 -16
- package/fesm2020/odx-angular-components-radio-group.mjs.map +1 -1
- package/fesm2020/odx-angular-components-rail-navigation.mjs +13 -18
- package/fesm2020/odx-angular-components-rail-navigation.mjs.map +1 -1
- package/fesm2020/odx-angular-components-select.mjs +28 -32
- package/fesm2020/odx-angular-components-select.mjs.map +1 -1
- package/fesm2020/odx-angular-components-slider.mjs +6 -9
- package/fesm2020/odx-angular-components-slider.mjs.map +1 -1
- package/fesm2020/odx-angular-components-spinbox.mjs +5 -5
- package/fesm2020/odx-angular-components-spinbox.mjs.map +1 -1
- package/fesm2020/odx-angular-components-switch.mjs +13 -12
- package/fesm2020/odx-angular-components-switch.mjs.map +1 -1
- package/fesm2020/odx-angular-components-tab-bar.mjs +195 -0
- package/fesm2020/odx-angular-components-tab-bar.mjs.map +1 -0
- package/fesm2020/odx-angular-components-toast.mjs +220 -0
- package/fesm2020/odx-angular-components-toast.mjs.map +1 -0
- package/fesm2020/odx-angular-components-toggle-button-group.mjs +23 -19
- package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -1
- package/fesm2020/odx-angular-components-tooltip.mjs +6 -6
- package/fesm2020/odx-angular-components-tooltip.mjs.map +1 -1
- package/fesm2020/odx-angular-rxjs.mjs +6 -2
- package/fesm2020/odx-angular-rxjs.mjs.map +1 -1
- package/fesm2020/odx-angular-utils.mjs +42 -5
- package/fesm2020/odx-angular-utils.mjs.map +1 -1
- package/fesm2020/odx-angular.mjs +137 -63
- package/fesm2020/odx-angular.mjs.map +1 -1
- package/lib/controllers/controller.d.ts +1 -1
- package/lib/controllers/disabled.controller.d.ts +4 -9
- package/lib/controllers/readonly.controller.d.ts +4 -2
- package/lib/core.module.d.ts +3 -2
- package/lib/directives/click-outside.directive.d.ts +1 -1
- package/lib/directives/index.d.ts +3 -0
- package/lib/directives/let.directive.d.ts +17 -0
- package/lib/directives/with-disabled-state.directive.d.ts +13 -0
- package/lib/directives/with-tabindex.directive.d.ts +7 -0
- package/lib/services/window-ref.d.ts +2 -0
- package/package.json +67 -11
- package/rxjs/index.d.ts +1 -0
- package/rxjs/lib/form-query-list.d.ts +3 -0
- package/utils/lib/helpers/dom.d.ts +1 -0
- package/utils/lib/helpers/get-unique-id.d.ts +1 -0
- package/utils/lib/helpers/index.d.ts +2 -0
- package/utils/lib/helpers/provide-module-config.d.ts +1 -1
- package/utils/lib/helpers/queue.d.ts +11 -0
- package/esm2020/components/list/lib/components/list-item.component.mjs +0 -46
package/fesm2020/odx-angular.mjs
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ChangeDetectorRef, Directive, InjectionToken, forwardRef, Input, EventEmitter, Output, NgModule, Injectable } from '@angular/core';
|
|
3
|
-
import { pluckFromArray, isPresent, booleanToOptionalAttributeString } from '@odx/angular/utils';
|
|
4
|
-
import { merge, tap, Subject, shareReplay, map, distinctUntilChanged, startWith } from 'rxjs';
|
|
2
|
+
import { inject, ChangeDetectorRef, Directive, InjectionToken, forwardRef, Input, EventEmitter, Output, NgModule, reflectComponentType, Injectable } from '@angular/core';
|
|
3
|
+
import { pluckFromArray, isPresent, Transform, deferFn, booleanToOptionalAttributeString } from '@odx/angular/utils';
|
|
4
|
+
import { merge, EMPTY, tap, Subject, shareReplay, map, distinctUntilChanged, startWith } from 'rxjs';
|
|
5
|
+
import { __decorate, __metadata } from 'tslib';
|
|
5
6
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
6
7
|
import { CommonModule, DOCUMENT } from '@angular/common';
|
|
7
8
|
import { fromEvents } from '@odx/angular/rxjs';
|
|
8
9
|
|
|
9
10
|
function controllerChanges(controllers) {
|
|
10
11
|
const changes$ = pluckFromArray(controllers.filter(isPresent), 'change$');
|
|
11
|
-
return merge(...changes$);
|
|
12
|
+
return changes$.length > 0 ? merge(...changes$) : EMPTY;
|
|
12
13
|
}
|
|
13
14
|
function detectControllerChanges(...controllers) {
|
|
14
15
|
const changeDetector = inject(ChangeDetectorRef);
|
|
@@ -35,45 +36,21 @@ class Controller {
|
|
|
35
36
|
this.change$$.next();
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
|
-
Controller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
39
|
-
Controller.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
39
|
+
Controller.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: Controller, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
40
|
+
Controller.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: Controller, usesOnChanges: true, ngImport: i0 });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: Controller, decorators: [{
|
|
41
42
|
type: Directive
|
|
42
43
|
}] });
|
|
43
44
|
|
|
44
|
-
const ELEMENTS_WITH_DISABLED_ATTRIBUTE = {
|
|
45
|
-
button: true,
|
|
46
|
-
fieldset: true,
|
|
47
|
-
input: true,
|
|
48
|
-
optgroup: true,
|
|
49
|
-
option: true,
|
|
50
|
-
select: true,
|
|
51
|
-
textarea: true,
|
|
52
|
-
};
|
|
53
45
|
const DISABLED_CONTROLLER = new InjectionToken('@odx/angular::DisabledWatchedController');
|
|
54
46
|
const DISABLED_INTERNAL_CONTROLLER = new InjectionToken('@odx/angular::DisabledController', {
|
|
55
|
-
factory: () => new DisabledController(
|
|
47
|
+
factory: () => new DisabledController(),
|
|
56
48
|
});
|
|
57
49
|
class DisabledController extends Controller {
|
|
58
|
-
constructor(
|
|
59
|
-
super();
|
|
60
|
-
this.isDisabled =
|
|
61
|
-
this.
|
|
62
|
-
this.isDisabled$ = this.change$.pipe(map(() => this.isDisabled), distinctUntilChanged(), shareReplay({ refCount: true }));
|
|
63
|
-
this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';
|
|
64
|
-
}
|
|
65
|
-
set disabled(value) {
|
|
66
|
-
const coercedValue = coerceBooleanProperty(value);
|
|
67
|
-
if (this.isDisabled !== coercedValue) {
|
|
68
|
-
this.isDisabled = coercedValue;
|
|
69
|
-
this.hasDisabledAttribute = this.isDisabled && ELEMENTS_WITH_DISABLED_ATTRIBUTE[this.nodeName];
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
get disabled() {
|
|
73
|
-
return this.isDisabled;
|
|
74
|
-
}
|
|
75
|
-
get ariaDisabled() {
|
|
76
|
-
return booleanToOptionalAttributeString(this.hasDisabledAttribute);
|
|
50
|
+
constructor() {
|
|
51
|
+
super(...arguments);
|
|
52
|
+
this.isDisabled$ = this.change$.pipe(map(() => this.disabled), distinctUntilChanged(), shareReplay({ refCount: true }));
|
|
53
|
+
this.disabled = false;
|
|
77
54
|
}
|
|
78
55
|
static inject() {
|
|
79
56
|
return inject(DISABLED_CONTROLLER, { optional: true });
|
|
@@ -86,18 +63,24 @@ class DisabledController extends Controller {
|
|
|
86
63
|
};
|
|
87
64
|
}
|
|
88
65
|
setDisabledState(state) {
|
|
89
|
-
this.disabled
|
|
90
|
-
|
|
66
|
+
if (this.disabled !== state) {
|
|
67
|
+
this.disabled = state;
|
|
68
|
+
this.ngOnChanges();
|
|
69
|
+
}
|
|
91
70
|
}
|
|
92
71
|
}
|
|
93
|
-
DisabledController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
94
|
-
DisabledController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
72
|
+
DisabledController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: DisabledController, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
73
|
+
DisabledController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: DisabledController, isStandalone: true, selector: "[disabled]", inputs: { disabled: "disabled" }, providers: [
|
|
95
74
|
{
|
|
96
75
|
provide: DISABLED_INTERNAL_CONTROLLER,
|
|
97
76
|
useExisting: forwardRef(() => DisabledController),
|
|
98
77
|
},
|
|
99
78
|
], usesInheritance: true, ngImport: i0 });
|
|
100
|
-
|
|
79
|
+
__decorate([
|
|
80
|
+
Transform(coerceBooleanProperty),
|
|
81
|
+
__metadata("design:type", Object)
|
|
82
|
+
], DisabledController.prototype, "disabled", void 0);
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: DisabledController, decorators: [{
|
|
101
84
|
type: Directive,
|
|
102
85
|
args: [{
|
|
103
86
|
standalone: true,
|
|
@@ -108,12 +91,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
108
91
|
useExisting: forwardRef(() => DisabledController),
|
|
109
92
|
},
|
|
110
93
|
],
|
|
111
|
-
host: {
|
|
112
|
-
'[attr.aria-disabled]': 'ariaDisabled',
|
|
113
|
-
'[attr.disabled]': 'hasDisabledAttribute || null',
|
|
114
|
-
},
|
|
115
94
|
}]
|
|
116
|
-
}],
|
|
95
|
+
}], propDecorators: { disabled: [{
|
|
117
96
|
type: Input
|
|
118
97
|
}] } });
|
|
119
98
|
|
|
@@ -155,14 +134,14 @@ class ReadonlyController extends Controller {
|
|
|
155
134
|
};
|
|
156
135
|
}
|
|
157
136
|
}
|
|
158
|
-
ReadonlyController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
159
|
-
ReadonlyController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
137
|
+
ReadonlyController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ReadonlyController, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
138
|
+
ReadonlyController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: ReadonlyController, isStandalone: true, selector: "[readonly]", inputs: { readonly: "readonly" }, host: { properties: { "attr.readonly": "hasReadonlyAttribute || null" } }, providers: [
|
|
160
139
|
{
|
|
161
140
|
provide: READONLY_INTERNAL_CONTROLLER,
|
|
162
141
|
useExisting: forwardRef(() => ReadonlyController),
|
|
163
142
|
},
|
|
164
143
|
], usesInheritance: true, ngImport: i0 });
|
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ReadonlyController, decorators: [{
|
|
166
145
|
type: Directive,
|
|
167
146
|
args: [{
|
|
168
147
|
standalone: true,
|
|
@@ -214,18 +193,18 @@ class ClickOutsideDirective {
|
|
|
214
193
|
}
|
|
215
194
|
}
|
|
216
195
|
registerHandler() {
|
|
217
|
-
|
|
196
|
+
deferFn(() => {
|
|
218
197
|
this.listener ?? (this.listener = this.renderer.listen('document', 'click', (event) => {
|
|
219
198
|
if (this.odxClickOutsideActive && this.element?.nativeElement.isConnected && !this.element?.nativeElement.contains(event.target)) {
|
|
220
199
|
this.odxClickOutside.emit(event);
|
|
221
200
|
}
|
|
222
201
|
}));
|
|
223
|
-
}
|
|
202
|
+
});
|
|
224
203
|
}
|
|
225
204
|
}
|
|
226
|
-
ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
227
|
-
ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
228
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
205
|
+
ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
206
|
+
ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: ClickOutsideDirective, isStandalone: true, selector: "[odxClickOutside]", inputs: { odxClickOutsideActive: "odxClickOutsideActive" }, outputs: { odxClickOutside: "odxClickOutside" }, usesOnChanges: true, ngImport: i0 });
|
|
207
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ClickOutsideDirective, decorators: [{
|
|
229
208
|
type: Directive,
|
|
230
209
|
args: [{
|
|
231
210
|
standalone: true,
|
|
@@ -237,14 +216,105 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
237
216
|
type: Output
|
|
238
217
|
}] } });
|
|
239
218
|
|
|
219
|
+
class LetContext {
|
|
220
|
+
constructor(directive) {
|
|
221
|
+
this.$implicit = directive.value;
|
|
222
|
+
this.odxLet = directive.value;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
class LetDirective {
|
|
226
|
+
constructor(viewContainer, templateRef) {
|
|
227
|
+
this.viewRef = viewContainer.createEmbeddedView(templateRef, new LetContext(this));
|
|
228
|
+
}
|
|
229
|
+
static ngTemplateContextGuard(_dir, _ctx) {
|
|
230
|
+
return true;
|
|
231
|
+
}
|
|
232
|
+
ngOnChanges(changes) {
|
|
233
|
+
if (changes.value) {
|
|
234
|
+
const value = changes.value.currentValue;
|
|
235
|
+
this.viewRef.context.$implicit = value;
|
|
236
|
+
this.viewRef.context.odxLet = value;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
LetDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: LetDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
241
|
+
LetDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: LetDirective, isStandalone: true, selector: "ng-template[odxLet]", inputs: { value: ["odxLet", "value"] }, usesOnChanges: true, ngImport: i0 });
|
|
242
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: LetDirective, decorators: [{
|
|
243
|
+
type: Directive,
|
|
244
|
+
args: [{
|
|
245
|
+
standalone: true,
|
|
246
|
+
selector: 'ng-template[odxLet]',
|
|
247
|
+
}]
|
|
248
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { value: [{
|
|
249
|
+
type: Input,
|
|
250
|
+
args: ['odxLet']
|
|
251
|
+
}] } });
|
|
252
|
+
|
|
253
|
+
const ELEMENTS_WITH_DISABLED_ATTRIBUTE = {
|
|
254
|
+
button: true,
|
|
255
|
+
fieldset: true,
|
|
256
|
+
input: true,
|
|
257
|
+
optgroup: true,
|
|
258
|
+
option: true,
|
|
259
|
+
select: true,
|
|
260
|
+
textarea: true,
|
|
261
|
+
};
|
|
262
|
+
class WithDisabledState {
|
|
263
|
+
constructor(element) {
|
|
264
|
+
this.disabledController = DisabledController.inject();
|
|
265
|
+
this.hasDisabledAttribute = ELEMENTS_WITH_DISABLED_ATTRIBUTE[element.nativeElement.nodeName.toLowerCase() ?? ''];
|
|
266
|
+
this.hasAriaRole = element.nativeElement.hasAttribute('role');
|
|
267
|
+
}
|
|
268
|
+
get isDisabled() {
|
|
269
|
+
return !!this.disabledController?.disabled;
|
|
270
|
+
}
|
|
271
|
+
get ariaDisabled() {
|
|
272
|
+
return booleanToOptionalAttributeString(this.hasAriaRole && this.isDisabled);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
WithDisabledState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: WithDisabledState, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
276
|
+
WithDisabledState.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: WithDisabledState, isStandalone: true, host: { properties: { "class.is-disabled": "isDisabled", "attr.aria-disabled": "ariaDisabled", "attr.disabled": "hasDisabledAttribute && isDisabled || null" } }, providers: [DisabledController.connect()], ngImport: i0 });
|
|
277
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: WithDisabledState, decorators: [{
|
|
278
|
+
type: Directive,
|
|
279
|
+
args: [{
|
|
280
|
+
standalone: true,
|
|
281
|
+
providers: [DisabledController.connect()],
|
|
282
|
+
host: {
|
|
283
|
+
'[class.is-disabled]': 'isDisabled',
|
|
284
|
+
'[attr.aria-disabled]': 'ariaDisabled',
|
|
285
|
+
'[attr.disabled]': 'hasDisabledAttribute && isDisabled || null',
|
|
286
|
+
},
|
|
287
|
+
}]
|
|
288
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
289
|
+
|
|
290
|
+
class WithTabIndex {
|
|
291
|
+
constructor() {
|
|
292
|
+
this.disabledController = DisabledController.inject();
|
|
293
|
+
}
|
|
294
|
+
get isDisabled() {
|
|
295
|
+
return !!this.disabledController?.disabled;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
WithTabIndex.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: WithTabIndex, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
299
|
+
WithTabIndex.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: WithTabIndex, isStandalone: true, host: { properties: { "attr.tabindex": "isDisabled ? -1 : 0" } }, ngImport: i0 });
|
|
300
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: WithTabIndex, decorators: [{
|
|
301
|
+
type: Directive,
|
|
302
|
+
args: [{
|
|
303
|
+
standalone: true,
|
|
304
|
+
host: {
|
|
305
|
+
'[attr.tabindex]': 'isDisabled ? -1 : 0',
|
|
306
|
+
},
|
|
307
|
+
}]
|
|
308
|
+
}] });
|
|
309
|
+
|
|
240
310
|
const controllers = [DisabledController, ReadonlyController];
|
|
241
|
-
const modules = [ClickOutsideDirective];
|
|
311
|
+
const modules = [ClickOutsideDirective, LetDirective];
|
|
242
312
|
class CoreModule {
|
|
243
313
|
}
|
|
244
|
-
CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
245
|
-
CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
246
|
-
CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
247
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
314
|
+
CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: CoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
315
|
+
CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: CoreModule, imports: [DisabledController, ReadonlyController, ClickOutsideDirective, LetDirective], exports: [CommonModule, DisabledController, ReadonlyController, ClickOutsideDirective, LetDirective] });
|
|
316
|
+
CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: CoreModule, imports: [CommonModule] });
|
|
317
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: CoreModule, decorators: [{
|
|
248
318
|
type: NgModule,
|
|
249
319
|
args: [{
|
|
250
320
|
imports: [...controllers, ...modules],
|
|
@@ -269,10 +339,14 @@ class WindowRef {
|
|
|
269
339
|
reloadPage() {
|
|
270
340
|
return this.location.reload();
|
|
271
341
|
}
|
|
342
|
+
queryByComponent(type) {
|
|
343
|
+
const componentType = reflectComponentType(type);
|
|
344
|
+
return componentType ? this.nativeWindow.document.querySelector(componentType.selector) : null;
|
|
345
|
+
}
|
|
272
346
|
}
|
|
273
|
-
WindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
274
|
-
WindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
275
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
347
|
+
WindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: WindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
348
|
+
WindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: WindowRef, providedIn: 'root' });
|
|
349
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: WindowRef, decorators: [{
|
|
276
350
|
type: Injectable,
|
|
277
351
|
args: [{
|
|
278
352
|
providedIn: 'root',
|
|
@@ -303,5 +377,5 @@ const ODX_STRINGIFY = new InjectionToken('@odx/angular::Stringify', {
|
|
|
303
377
|
* Generated bundle index. Do not edit.
|
|
304
378
|
*/
|
|
305
379
|
|
|
306
|
-
export { ClickOutsideDirective, Controller, CoreModule, DISABLED_CONTROLLER, DisabledController, ODX_IDENTITY_MATCHER, ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER, ReadonlyController, WindowRef, detectControllerChanges };
|
|
380
|
+
export { ClickOutsideDirective, Controller, CoreModule, DISABLED_CONTROLLER, DISABLED_INTERNAL_CONTROLLER, DisabledController, LetContext, LetDirective, ODX_IDENTITY_MATCHER, ODX_STRINGIFY, ODX_STRING_SEARCH_HANDLER, READONLY_CONTROLLER, READONLY_INTERNAL_CONTROLLER, ReadonlyController, WindowRef, WithDisabledState, WithTabIndex, detectControllerChanges };
|
|
307
381
|
//# sourceMappingURL=odx-angular.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular.mjs","sources":["../../../../libs/angular/src/lib/controllers/controller.ts","../../../../libs/angular/src/lib/controllers/disabled.controller.ts","../../../../libs/angular/src/lib/controllers/readonly.controller.ts","../../../../libs/angular/src/lib/directives/click-outside.directive.ts","../../../../libs/angular/src/lib/core.module.ts","../../../../libs/angular/src/lib/services/window-ref.ts","../../../../libs/angular/src/lib/tokens/identity-matcher.ts","../../../../libs/angular/src/lib/tokens/string-search-handler.ts","../../../../libs/angular/src/lib/tokens/stringify.ts","../../../../libs/angular/src/odx-angular.ts"],"sourcesContent":["import { ChangeDetectorRef, Directive, inject, OnChanges, OnDestroy } from '@angular/core';\nimport { isPresent, pluckFromArray } from '@odx/angular/utils';\nimport { merge, Observable, shareReplay, Subject, tap } from 'rxjs';\n\nfunction controllerChanges(controllers: Array<Controller | undefined | null>): Observable<void> {\n const changes$ = pluckFromArray(controllers.filter(isPresent), 'change$');\n\n return merge(...changes$);\n}\n\nexport function detectControllerChanges(...controllers: Array<Controller | undefined | null>): Observable<void> {\n const changeDetector = inject(ChangeDetectorRef);\n\n return controllerChanges(controllers).pipe(tap(() => changeDetector.markForCheck()));\n}\n\n@Directive()\nexport abstract class Controller implements OnChanges, OnDestroy {\n private readonly change$$ = new Subject<void>();\n\n public readonly change$ = this.change$$.pipe(shareReplay({ refCount: true }));\n\n public static setup(controller: Controller | null, changeDetector: ChangeDetectorRef): Controller | null {\n controllerChanges([controller])\n .pipe(tap(() => changeDetector.markForCheck()))\n .subscribe();\n\n return controller;\n }\n\n public ngOnChanges(): void {\n this.triggerControllerChange();\n }\n\n public ngOnDestroy(): void {\n this.change$$.complete();\n }\n\n protected triggerControllerChange() {\n this.change$$.next();\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectorRef, Directive, ElementRef, forwardRef, inject, InjectionToken, Input, Provider } from '@angular/core';\nimport { booleanToOptionalAttributeString } from '@odx/angular/utils';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\n\nconst ELEMENTS_WITH_DISABLED_ATTRIBUTE = {\n button: true,\n fieldset: true,\n input: true,\n optgroup: true,\n option: true,\n select: true,\n textarea: true,\n} as Record<string, boolean>;\n\nexport const DISABLED_CONTROLLER = new InjectionToken<DisabledController>('@odx/angular::DisabledWatchedController');\nconst DISABLED_INTERNAL_CONTROLLER = new InjectionToken<DisabledController | null>('@odx/angular::DisabledController', {\n factory: () => new DisabledController(null),\n});\n\n@Directive({\n standalone: true,\n selector: '[disabled]',\n providers: [\n {\n provide: DISABLED_INTERNAL_CONTROLLER,\n useExisting: forwardRef(() => DisabledController),\n },\n ],\n host: {\n '[attr.aria-disabled]': 'ariaDisabled',\n '[attr.disabled]': 'hasDisabledAttribute || null',\n },\n})\nexport class DisabledController extends Controller {\n public static ngAcceptInputType_disabled: BooleanInput;\n\n private readonly nodeName: string;\n private isDisabled = false;\n\n protected hasDisabledAttribute = false;\n public readonly isDisabled$ = this.change$.pipe(\n map(() => this.isDisabled),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n @Input()\n public set disabled(value: unknown) {\n const coercedValue = coerceBooleanProperty(value);\n if (this.isDisabled !== coercedValue) {\n this.isDisabled = coercedValue;\n this.hasDisabledAttribute = this.isDisabled && ELEMENTS_WITH_DISABLED_ATTRIBUTE[this.nodeName];\n }\n }\n public get disabled(): boolean {\n return this.isDisabled;\n }\n\n public get ariaDisabled(): string | null {\n return booleanToOptionalAttributeString(this.hasDisabledAttribute);\n }\n\n constructor(element: ElementRef<HTMLElement> | null) {\n super();\n this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';\n }\n\n public static inject(): DisabledController | null {\n return inject(DISABLED_CONTROLLER, { optional: true });\n }\n\n public static connect(): Provider {\n return {\n provide: DISABLED_CONTROLLER,\n useFactory: Controller.setup,\n deps: [DISABLED_INTERNAL_CONTROLLER, ChangeDetectorRef],\n };\n }\n\n public setDisabledState(state: boolean): void {\n this.disabled = state;\n this.ngOnChanges();\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectorRef, Directive, ElementRef, forwardRef, inject, InjectionToken, Input, Provider } from '@angular/core';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\n\nconst ELEMENTS_WITH_READONLY_ATTRIBUTE = {\n input: true,\n textarea: true,\n select: true,\n} as Record<string, boolean>;\n\nconst READONLY_CONTROLLER = new InjectionToken<ReadonlyController>('@odx/angular::ReadonlyWatchedController');\nconst READONLY_INTERNAL_CONTROLLER = new InjectionToken<ReadonlyController | null>('@odx/angular::ReadonlyController', {\n factory: () => new ReadonlyController(null),\n});\n\n@Directive({\n standalone: true,\n selector: '[readonly]',\n providers: [\n {\n provide: READONLY_INTERNAL_CONTROLLER,\n useExisting: forwardRef(() => ReadonlyController),\n },\n ],\n host: {\n '[attr.readonly]': 'hasReadonlyAttribute || null',\n },\n})\nexport class ReadonlyController extends Controller {\n public static ngAcceptInputType_readonly: BooleanInput;\n\n private readonly nodeName: string;\n private isReadonly = false;\n\n protected hasReadonlyAttribute = false;\n\n public readonly isReadonly$ = this.change$.pipe(\n map(() => this.isReadonly),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n @Input()\n public set readonly(value: unknown) {\n const coercedValue = coerceBooleanProperty(value);\n if (this.isReadonly !== coercedValue) {\n this.isReadonly = coercedValue;\n this.hasReadonlyAttribute = this.isReadonly && ELEMENTS_WITH_READONLY_ATTRIBUTE[this.nodeName];\n }\n }\n public get readonly(): boolean {\n return this.isReadonly;\n }\n\n constructor(element: ElementRef<HTMLElement> | null) {\n super();\n this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';\n }\n\n public static inject(): ReadonlyController | null {\n return inject(READONLY_CONTROLLER, { optional: true });\n }\n\n public static connect(): Provider {\n return {\n provide: READONLY_CONTROLLER,\n useFactory: Controller.setup,\n deps: [READONLY_INTERNAL_CONTROLLER, ChangeDetectorRef],\n };\n }\n}\n","import { Directive, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, Renderer2 } from '@angular/core';\nimport { NgChanges } from '@odx/angular/utils';\n\n@Directive({\n standalone: true,\n selector: '[odxClickOutside]',\n})\nexport class ClickOutsideDirective implements OnChanges, OnInit, OnDestroy {\n private listener?: () => void;\n\n @Input()\n public odxClickOutsideActive = true;\n\n @Output()\n public readonly odxClickOutside = new EventEmitter<MouseEvent>();\n\n constructor(private readonly element: ElementRef<HTMLElement>, private readonly renderer: Renderer2) {\n this.odxClickOutsideActive = true;\n }\n\n public ngOnInit(): void {\n if (this.odxClickOutsideActive) {\n this.registerHandler();\n }\n }\n\n public ngOnChanges({ odxClickOutsideActive: clickOutsideActive }: NgChanges<ClickOutsideDirective>): void {\n if (!clickOutsideActive?.firstChange && clickOutsideActive?.previousValue !== clickOutsideActive?.currentValue) {\n if (clickOutsideActive?.currentValue) {\n this.registerHandler();\n } else {\n this.destroy();\n }\n }\n }\n\n public ngOnDestroy(): void {\n this.destroy();\n }\n\n private destroy() {\n if (this.listener) {\n this.listener();\n this.listener = undefined;\n }\n }\n\n private registerHandler() {\n setTimeout(() => {\n this.listener ??= this.renderer.listen('document', 'click', (event) => {\n if (this.odxClickOutsideActive && this.element?.nativeElement.isConnected && !this.element?.nativeElement.contains(event.target)) {\n this.odxClickOutside.emit(event);\n }\n });\n }, 0);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DisabledController, ReadonlyController } from './controllers';\nimport { ClickOutsideDirective } from './directives';\n\nconst controllers = [DisabledController, ReadonlyController];\nconst modules = [ClickOutsideDirective];\n\n@NgModule({\n imports: [...controllers, ...modules],\n exports: [CommonModule, ...controllers, ...modules],\n})\nexport class CoreModule {}\n","import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\nimport { fromEvents } from '@odx/angular/rxjs';\nimport { distinctUntilChanged, map, shareReplay, startWith } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WindowRef {\n public readonly nativeWindow = inject(DOCUMENT).defaultView ?? window;\n public readonly isOnline$ = fromEvents(this.nativeWindow, 'offline', 'online').pipe(\n startWith(null),\n map(() => this.nativeWindow.navigator.onLine),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n public get location(): Location {\n return this.nativeWindow.location;\n }\n\n public getLanguage(): string {\n return this.nativeWindow.navigator.language;\n }\n\n public getOrigin(): string {\n return this.location.origin;\n }\n\n public reloadPage(): void {\n return this.location.reload();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport type IdentityMatcher<T> = (item1: T, item2: T) => boolean;\n\nconst ODX_DEFAULT_IDENTITY_MATCHER: IdentityMatcher<unknown> = (item1, item2) => item1 === item2;\n\nexport const ODX_IDENTITY_MATCHER = new InjectionToken<IdentityMatcher<unknown>>('@odx/angular::StringHandler', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_IDENTITY_MATCHER,\n});\n","import { InjectionToken } from '@angular/core';\n\nexport type StringSearchHandler = (item: string, query: string) => boolean;\n\nconst ODX_DEFAULT_STRING_SEARCH_HANDLER: StringSearchHandler = (item, query) => {\n return item.toLocaleLowerCase().includes(query.toLocaleLowerCase());\n};\n\nexport const ODX_STRING_SEARCH_HANDLER = new InjectionToken<StringSearchHandler>('@odx/angular::StringHandler', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_STRING_SEARCH_HANDLER,\n});\n","import { InjectionToken } from '@angular/core';\nimport { isPresent } from '@odx/angular/utils';\n\nexport type StringifyFn<T> = (item: T) => string;\n\nconst ODX_DEFAULT_STRINGIFY: StringifyFn<unknown> = (item) => (isPresent(item) ? String(item) : '');\n\nexport const ODX_STRINGIFY = new InjectionToken<StringifyFn<unknown>>('@odx/angular::Stringify', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_STRINGIFY,\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"odx-angular.mjs","sources":["../../../../libs/angular/src/lib/controllers/controller.ts","../../../../libs/angular/src/lib/controllers/disabled.controller.ts","../../../../libs/angular/src/lib/controllers/readonly.controller.ts","../../../../libs/angular/src/lib/directives/click-outside.directive.ts","../../../../libs/angular/src/lib/directives/let.directive.ts","../../../../libs/angular/src/lib/directives/with-disabled-state.directive.ts","../../../../libs/angular/src/lib/directives/with-tabindex.directive.ts","../../../../libs/angular/src/lib/core.module.ts","../../../../libs/angular/src/lib/services/window-ref.ts","../../../../libs/angular/src/lib/tokens/identity-matcher.ts","../../../../libs/angular/src/lib/tokens/string-search-handler.ts","../../../../libs/angular/src/lib/tokens/stringify.ts","../../../../libs/angular/src/odx-angular.ts"],"sourcesContent":["import { ChangeDetectorRef, Directive, inject, OnChanges, OnDestroy } from '@angular/core';\nimport { isPresent, pluckFromArray } from '@odx/angular/utils';\nimport { EMPTY, merge, Observable, shareReplay, Subject, tap } from 'rxjs';\n\nfunction controllerChanges(controllers: Array<Controller | undefined | null>): Observable<void> {\n const changes$ = pluckFromArray(controllers.filter(isPresent), 'change$');\n\n return changes$.length > 0 ? merge(...changes$) : EMPTY;\n}\n\nexport function detectControllerChanges(...controllers: Array<Controller | undefined | null>): Observable<void> {\n const changeDetector = inject(ChangeDetectorRef);\n\n return controllerChanges(controllers).pipe(tap(() => changeDetector.markForCheck()));\n}\n\n@Directive()\nexport abstract class Controller implements OnChanges, OnDestroy {\n private readonly change$$ = new Subject<void>();\n\n public readonly change$ = this.change$$.pipe(shareReplay({ refCount: true }));\n\n public static setup(controller: Controller | null, changeDetector: ChangeDetectorRef): Controller | null {\n controllerChanges([controller])\n .pipe(tap(() => changeDetector.markForCheck()))\n .subscribe();\n\n return controller;\n }\n\n public ngOnChanges(): void {\n this.triggerControllerChange();\n }\n\n public ngOnDestroy(): void {\n this.change$$.complete();\n }\n\n protected triggerControllerChange() {\n this.change$$.next();\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectorRef, Directive, forwardRef, inject, InjectionToken, Input, Provider } from '@angular/core';\nimport { Transform } from '@odx/angular/utils';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\n\nexport const DISABLED_CONTROLLER = new InjectionToken<DisabledController>('@odx/angular::DisabledWatchedController');\nexport const DISABLED_INTERNAL_CONTROLLER = new InjectionToken<DisabledController | null>('@odx/angular::DisabledController', {\n factory: () => new DisabledController(),\n});\n\n@Directive({\n standalone: true,\n selector: '[disabled]',\n providers: [\n {\n provide: DISABLED_INTERNAL_CONTROLLER,\n useExisting: forwardRef(() => DisabledController),\n },\n ],\n})\nexport class DisabledController extends Controller {\n public static ngAcceptInputType_disabled: BooleanInput;\n\n public readonly isDisabled$ = this.change$.pipe(\n map(() => this.disabled),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n @Transform(coerceBooleanProperty)\n @Input()\n public disabled = false;\n\n public static inject(): DisabledController | null {\n return inject(DISABLED_CONTROLLER, { optional: true });\n }\n\n public static connect(): Provider {\n return {\n provide: DISABLED_CONTROLLER,\n useFactory: Controller.setup,\n deps: [DISABLED_INTERNAL_CONTROLLER, ChangeDetectorRef],\n };\n }\n\n public setDisabledState(state: boolean): void {\n if (this.disabled !== state) {\n this.disabled = state;\n this.ngOnChanges();\n }\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectorRef, Directive, ElementRef, forwardRef, inject, InjectionToken, Input, Provider } from '@angular/core';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { Controller } from './controller';\n\nconst ELEMENTS_WITH_READONLY_ATTRIBUTE = {\n input: true,\n textarea: true,\n select: true,\n} as Record<string, boolean>;\n\nexport const READONLY_CONTROLLER = new InjectionToken<ReadonlyController>('@odx/angular::ReadonlyWatchedController');\nexport const READONLY_INTERNAL_CONTROLLER = new InjectionToken<ReadonlyController | null>('@odx/angular::ReadonlyController', {\n factory: () => new ReadonlyController(null),\n});\n\n@Directive({\n standalone: true,\n selector: '[readonly]',\n providers: [\n {\n provide: READONLY_INTERNAL_CONTROLLER,\n useExisting: forwardRef(() => ReadonlyController),\n },\n ],\n host: {\n '[attr.readonly]': 'hasReadonlyAttribute || null',\n },\n})\nexport class ReadonlyController extends Controller {\n public static ngAcceptInputType_readonly: BooleanInput;\n\n private readonly nodeName: string;\n private isReadonly = false;\n\n protected hasReadonlyAttribute = false;\n\n public readonly isReadonly$ = this.change$.pipe(\n map(() => this.isReadonly),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n @Input()\n public set readonly(value: unknown) {\n const coercedValue = coerceBooleanProperty(value);\n if (this.isReadonly !== coercedValue) {\n this.isReadonly = coercedValue;\n this.hasReadonlyAttribute = this.isReadonly && ELEMENTS_WITH_READONLY_ATTRIBUTE[this.nodeName];\n }\n }\n public get readonly(): boolean {\n return this.isReadonly;\n }\n\n constructor(element: ElementRef<HTMLElement> | null) {\n super();\n this.nodeName = element?.nativeElement.nodeName.toLowerCase() ?? '';\n }\n\n public static inject(): ReadonlyController | null {\n return inject(READONLY_CONTROLLER, { optional: true });\n }\n\n public static connect(): Provider {\n return {\n provide: READONLY_CONTROLLER,\n useFactory: Controller.setup,\n deps: [READONLY_INTERNAL_CONTROLLER, ChangeDetectorRef],\n };\n }\n}\n","import { Directive, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, Renderer2 } from '@angular/core';\nimport { deferFn, NgChanges } from '@odx/angular/utils';\n\n@Directive({\n standalone: true,\n selector: '[odxClickOutside]',\n})\nexport class ClickOutsideDirective implements OnChanges, OnInit, OnDestroy {\n private listener?: () => void;\n\n @Input()\n public odxClickOutsideActive = true;\n\n @Output()\n public readonly odxClickOutside = new EventEmitter<MouseEvent>();\n\n constructor(private readonly element: ElementRef<HTMLElement>, private readonly renderer: Renderer2) {\n this.odxClickOutsideActive = true;\n }\n\n public ngOnInit(): void {\n if (this.odxClickOutsideActive) {\n this.registerHandler();\n }\n }\n\n public ngOnChanges({ odxClickOutsideActive: clickOutsideActive }: NgChanges<ClickOutsideDirective>): void {\n if (!clickOutsideActive?.firstChange && clickOutsideActive?.previousValue !== clickOutsideActive?.currentValue) {\n if (clickOutsideActive?.currentValue) {\n this.registerHandler();\n } else {\n this.destroy();\n }\n }\n }\n\n public ngOnDestroy(): void {\n this.destroy();\n }\n\n private destroy() {\n if (this.listener) {\n this.listener();\n this.listener = undefined;\n }\n }\n\n private registerHandler() {\n deferFn(() => {\n this.listener ??= this.renderer.listen('document', 'click', (event) => {\n if (this.odxClickOutsideActive && this.element?.nativeElement.isConnected && !this.element?.nativeElement.contains(event.target)) {\n this.odxClickOutside.emit(event);\n }\n });\n });\n }\n}\n","import { Directive, EmbeddedViewRef, Input, OnChanges, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { NgChanges } from '@odx/angular/utils';\n\nexport class LetContext<T> {\n public $implicit: T;\n public odxLet: T;\n\n constructor(directive: LetDirective<T>) {\n this.$implicit = directive.value;\n this.odxLet = directive.value;\n }\n}\n\n@Directive({\n standalone: true,\n selector: 'ng-template[odxLet]',\n})\nexport class LetDirective<T> implements OnChanges {\n private readonly viewRef: EmbeddedViewRef<LetContext<T>>;\n\n @Input('odxLet')\n public value!: T;\n\n constructor(viewContainer: ViewContainerRef, templateRef: TemplateRef<LetContext<T>>) {\n this.viewRef = viewContainer.createEmbeddedView(templateRef, new LetContext<T>(this));\n }\n\n public static ngTemplateContextGuard<T>(_dir: LetDirective<T>, _ctx: unknown): _ctx is LetContext<T> {\n return true;\n }\n\n public ngOnChanges(changes: NgChanges<LetDirective<unknown>>) {\n if (changes.value) {\n const value = changes.value.currentValue as T;\n this.viewRef.context.$implicit = value;\n this.viewRef.context.odxLet = value;\n }\n }\n}\n","import { Directive, ElementRef } from '@angular/core';\nimport { booleanToOptionalAttributeString } from '@odx/angular/utils';\nimport { DisabledController } from '../controllers';\n\nconst ELEMENTS_WITH_DISABLED_ATTRIBUTE = {\n button: true,\n fieldset: true,\n input: true,\n optgroup: true,\n option: true,\n select: true,\n textarea: true,\n} as Record<string, boolean>;\n\n@Directive({\n standalone: true,\n providers: [DisabledController.connect()],\n host: {\n '[class.is-disabled]': 'isDisabled',\n '[attr.aria-disabled]': 'ariaDisabled',\n '[attr.disabled]': 'hasDisabledAttribute && isDisabled || null',\n },\n})\nexport class WithDisabledState {\n protected readonly hasAriaRole: boolean;\n protected readonly hasDisabledAttribute: boolean;\n protected readonly disabledController = DisabledController.inject();\n\n protected get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n public get ariaDisabled(): string | null {\n return booleanToOptionalAttributeString(this.hasAriaRole && this.isDisabled);\n }\n\n constructor(element: ElementRef<HTMLElement>) {\n this.hasDisabledAttribute = ELEMENTS_WITH_DISABLED_ATTRIBUTE[element.nativeElement.nodeName.toLowerCase() ?? ''];\n this.hasAriaRole = element.nativeElement.hasAttribute('role');\n }\n}\n","import { Directive } from '@angular/core';\nimport { DisabledController } from '../controllers';\n\n@Directive({\n standalone: true,\n host: {\n '[attr.tabindex]': 'isDisabled ? -1 : 0',\n },\n})\nexport class WithTabIndex {\n private readonly disabledController = DisabledController.inject();\n\n protected get isDisabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DisabledController, ReadonlyController } from './controllers';\nimport { ClickOutsideDirective, LetDirective } from './directives';\n\nconst controllers = [DisabledController, ReadonlyController];\nconst modules = [ClickOutsideDirective, LetDirective];\n\n@NgModule({\n imports: [...controllers, ...modules],\n exports: [CommonModule, ...controllers, ...modules],\n})\nexport class CoreModule {}\n","import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable, reflectComponentType, Type } from '@angular/core';\nimport { fromEvents } from '@odx/angular/rxjs';\nimport { distinctUntilChanged, map, shareReplay, startWith } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WindowRef {\n public readonly nativeWindow = inject(DOCUMENT).defaultView ?? window;\n public readonly isOnline$ = fromEvents(this.nativeWindow, 'offline', 'online').pipe(\n startWith(null),\n map(() => this.nativeWindow.navigator.onLine),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n\n public get location(): Location {\n return this.nativeWindow.location;\n }\n\n public getLanguage(): string {\n return this.nativeWindow.navigator.language;\n }\n\n public getOrigin(): string {\n return this.location.origin;\n }\n\n public reloadPage(): void {\n return this.location.reload();\n }\n\n public queryByComponent<T>(type: Type<T>): HTMLElement | null {\n const componentType = reflectComponentType(type);\n\n return componentType ? this.nativeWindow.document.querySelector(componentType.selector) : null;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport type IdentityMatcher<T> = (item1: T, item2: T) => boolean;\n\nconst ODX_DEFAULT_IDENTITY_MATCHER: IdentityMatcher<unknown> = (item1, item2) => item1 === item2;\n\nexport const ODX_IDENTITY_MATCHER = new InjectionToken<IdentityMatcher<unknown>>('@odx/angular::StringHandler', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_IDENTITY_MATCHER,\n});\n","import { InjectionToken } from '@angular/core';\n\nexport type StringSearchHandler = (item: string, query: string) => boolean;\n\nconst ODX_DEFAULT_STRING_SEARCH_HANDLER: StringSearchHandler = (item, query) => {\n return item.toLocaleLowerCase().includes(query.toLocaleLowerCase());\n};\n\nexport const ODX_STRING_SEARCH_HANDLER = new InjectionToken<StringSearchHandler>('@odx/angular::StringHandler', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_STRING_SEARCH_HANDLER,\n});\n","import { InjectionToken } from '@angular/core';\nimport { isPresent } from '@odx/angular/utils';\n\nexport type StringifyFn<T> = (item: T) => string;\n\nconst ODX_DEFAULT_STRINGIFY: StringifyFn<unknown> = (item) => (isPresent(item) ? String(item) : '');\n\nexport const ODX_STRINGIFY = new InjectionToken<StringifyFn<unknown>>('@odx/angular::Stringify', {\n providedIn: 'root',\n factory: () => ODX_DEFAULT_STRINGIFY,\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -10,5 +10,5 @@ export declare abstract class Controller implements OnChanges, OnDestroy {
|
|
|
10
10
|
ngOnDestroy(): void;
|
|
11
11
|
protected triggerControllerChange(): void;
|
|
12
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<Controller, never>;
|
|
13
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<Controller, never, never, {}, {}, never, never, false>;
|
|
13
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<Controller, never, never, {}, {}, never, never, false, never>;
|
|
14
14
|
}
|
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
import { BooleanInput } from '@angular/cdk/coercion';
|
|
2
|
-
import {
|
|
2
|
+
import { InjectionToken, Provider } from '@angular/core';
|
|
3
3
|
import { Controller } from './controller';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare const DISABLED_CONTROLLER: InjectionToken<DisabledController>;
|
|
6
|
+
export declare const DISABLED_INTERNAL_CONTROLLER: InjectionToken<DisabledController | null>;
|
|
6
7
|
export declare class DisabledController extends Controller {
|
|
7
8
|
static ngAcceptInputType_disabled: BooleanInput;
|
|
8
|
-
private readonly nodeName;
|
|
9
|
-
private isDisabled;
|
|
10
|
-
protected hasDisabledAttribute: boolean;
|
|
11
9
|
readonly isDisabled$: import("rxjs").Observable<boolean>;
|
|
12
|
-
|
|
13
|
-
get disabled(): boolean;
|
|
14
|
-
get ariaDisabled(): string | null;
|
|
15
|
-
constructor(element: ElementRef<HTMLElement> | null);
|
|
10
|
+
disabled: boolean;
|
|
16
11
|
static inject(): DisabledController | null;
|
|
17
12
|
static connect(): Provider;
|
|
18
13
|
setDisabledState(state: boolean): void;
|
|
19
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<DisabledController, never>;
|
|
20
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DisabledController, "[disabled]", never, { "disabled": "disabled"; }, {}, never, never, true>;
|
|
15
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DisabledController, "[disabled]", never, { "disabled": "disabled"; }, {}, never, never, true, never>;
|
|
21
16
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { BooleanInput } from '@angular/cdk/coercion';
|
|
2
|
-
import { ElementRef, Provider } from '@angular/core';
|
|
2
|
+
import { ElementRef, InjectionToken, Provider } from '@angular/core';
|
|
3
3
|
import { Controller } from './controller';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
export declare const READONLY_CONTROLLER: InjectionToken<ReadonlyController>;
|
|
6
|
+
export declare const READONLY_INTERNAL_CONTROLLER: InjectionToken<ReadonlyController | null>;
|
|
5
7
|
export declare class ReadonlyController extends Controller {
|
|
6
8
|
static ngAcceptInputType_readonly: BooleanInput;
|
|
7
9
|
private readonly nodeName;
|
|
@@ -14,5 +16,5 @@ export declare class ReadonlyController extends Controller {
|
|
|
14
16
|
static inject(): ReadonlyController | null;
|
|
15
17
|
static connect(): Provider;
|
|
16
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<ReadonlyController, never>;
|
|
17
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ReadonlyController, "[readonly]", never, { "readonly": "readonly"; }, {}, never, never, true>;
|
|
19
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ReadonlyController, "[readonly]", never, { "readonly": "readonly"; }, {}, never, never, true, never>;
|
|
18
20
|
}
|
package/lib/core.module.d.ts
CHANGED
|
@@ -2,9 +2,10 @@ import * as i0 from "@angular/core";
|
|
|
2
2
|
import * as i1 from "./controllers/disabled.controller";
|
|
3
3
|
import * as i2 from "./controllers/readonly.controller";
|
|
4
4
|
import * as i3 from "./directives/click-outside.directive";
|
|
5
|
-
import * as i4 from "
|
|
5
|
+
import * as i4 from "./directives/let.directive";
|
|
6
|
+
import * as i5 from "@angular/common";
|
|
6
7
|
export declare class CoreModule {
|
|
7
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<CoreModule, never>;
|
|
8
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<CoreModule, never, [typeof i1.DisabledController, typeof i2.ReadonlyController, typeof i3.ClickOutsideDirective], [typeof
|
|
9
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CoreModule, never, [typeof i1.DisabledController, typeof i2.ReadonlyController, typeof i3.ClickOutsideDirective, typeof i4.LetDirective], [typeof i5.CommonModule, typeof i1.DisabledController, typeof i2.ReadonlyController, typeof i3.ClickOutsideDirective, typeof i4.LetDirective]>;
|
|
9
10
|
static ɵinj: i0.ɵɵInjectorDeclaration<CoreModule>;
|
|
10
11
|
}
|
|
@@ -14,5 +14,5 @@ export declare class ClickOutsideDirective implements OnChanges, OnInit, OnDestr
|
|
|
14
14
|
private destroy;
|
|
15
15
|
private registerHandler;
|
|
16
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClickOutsideDirective, never>;
|
|
17
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ClickOutsideDirective, "[odxClickOutside]", never, { "odxClickOutsideActive": "odxClickOutsideActive"; }, { "odxClickOutside": "odxClickOutside"; }, never, never, true>;
|
|
17
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ClickOutsideDirective, "[odxClickOutside]", never, { "odxClickOutsideActive": "odxClickOutsideActive"; }, { "odxClickOutside": "odxClickOutside"; }, never, never, true, never>;
|
|
18
18
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { OnChanges, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { NgChanges } from '@odx/angular/utils';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class LetContext<T> {
|
|
5
|
+
$implicit: T;
|
|
6
|
+
odxLet: T;
|
|
7
|
+
constructor(directive: LetDirective<T>);
|
|
8
|
+
}
|
|
9
|
+
export declare class LetDirective<T> implements OnChanges {
|
|
10
|
+
private readonly viewRef;
|
|
11
|
+
value: T;
|
|
12
|
+
constructor(viewContainer: ViewContainerRef, templateRef: TemplateRef<LetContext<T>>);
|
|
13
|
+
static ngTemplateContextGuard<T>(_dir: LetDirective<T>, _ctx: unknown): _ctx is LetContext<T>;
|
|
14
|
+
ngOnChanges(changes: NgChanges<LetDirective<unknown>>): void;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LetDirective<any>, never>;
|
|
16
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<LetDirective<any>, "ng-template[odxLet]", never, { "value": "odxLet"; }, {}, never, never, true, never>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
|
+
import { DisabledController } from '../controllers';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class WithDisabledState {
|
|
5
|
+
protected readonly hasAriaRole: boolean;
|
|
6
|
+
protected readonly hasDisabledAttribute: boolean;
|
|
7
|
+
protected readonly disabledController: DisabledController | null;
|
|
8
|
+
protected get isDisabled(): boolean;
|
|
9
|
+
get ariaDisabled(): string | null;
|
|
10
|
+
constructor(element: ElementRef<HTMLElement>);
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WithDisabledState, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WithDisabledState, never, never, {}, {}, never, never, true, never>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class WithTabIndex {
|
|
3
|
+
private readonly disabledController;
|
|
4
|
+
protected get isDisabled(): boolean;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WithTabIndex, never>;
|
|
6
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WithTabIndex, never, never, {}, {}, never, never, true, never>;
|
|
7
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Type } from '@angular/core';
|
|
1
2
|
import * as i0 from "@angular/core";
|
|
2
3
|
export declare class WindowRef {
|
|
3
4
|
readonly nativeWindow: Window & typeof globalThis;
|
|
@@ -6,6 +7,7 @@ export declare class WindowRef {
|
|
|
6
7
|
getLanguage(): string;
|
|
7
8
|
getOrigin(): string;
|
|
8
9
|
reloadPage(): void;
|
|
10
|
+
queryByComponent<T>(type: Type<T>): HTMLElement | null;
|
|
9
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<WindowRef, never>;
|
|
10
12
|
static ɵprov: i0.ɵɵInjectableDeclaration<WindowRef>;
|
|
11
13
|
}
|