@odx/angular 1.0.2 → 1.0.4
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/LICENSE +5 -1
- package/README.md +2 -2
- package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +1 -0
- package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +0 -1
- package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +1 -0
- package/components/button/lib/button.component.d.ts +1 -1
- package/components/form-field/lib/form-field.service.d.ts +0 -1
- package/components/modal/lib/modal.service.d.ts +0 -1
- package/components/tooltip/lib/tooltip.directive.d.ts +0 -1
- package/esm2020/cdk/a11y/lib/a11y.module.mjs +4 -4
- package/esm2020/cdk/a11y/lib/directives/interactive.directive.mjs +3 -3
- package/esm2020/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +3 -3
- 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 +3 -3
- package/esm2020/cdk/connected-overlay/lib/connected-overlay.component.mjs +13 -8
- package/esm2020/cdk/connected-overlay/lib/connected-overlay.service.mjs +3 -3
- package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +3 -3
- package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +3 -3
- package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +3 -3
- package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +3 -3
- package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +3 -3
- package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +7 -7
- 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 +3 -3
- package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +3 -3
- package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
- package/esm2020/components/accordion/lib/accordion.component.mjs +3 -3
- package/esm2020/components/accordion/lib/accordion.module.mjs +4 -4
- package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +9 -8
- package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
- package/esm2020/components/action-group/action-group.component.mjs +3 -3
- package/esm2020/components/area-header/area-header.component.mjs +3 -3
- 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 +3 -3
- package/esm2020/components/badge/lib/badge.component.mjs +3 -3
- package/esm2020/components/badge/lib/badge.directive.mjs +3 -3
- 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 +3 -3
- package/esm2020/components/bar/lib/directives/bar-label.directive.mjs +3 -3
- package/esm2020/components/breadcrumbs/lib/breadcrumbs.component.mjs +5 -5
- package/esm2020/components/button/lib/button.component.mjs +5 -5
- package/esm2020/components/button/lib/directives/responsive-button.directive.mjs +3 -3
- package/esm2020/components/button-group/lib/button-group.component.mjs +3 -3
- package/esm2020/components/card/lib/card.component.mjs +3 -3
- package/esm2020/components/card/lib/card.module.mjs +4 -4
- package/esm2020/components/card/lib/components/card-footer/card-footer.component.mjs +3 -3
- package/esm2020/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +3 -3
- package/esm2020/components/card/lib/directives/card-content.directive.mjs +3 -3
- package/esm2020/components/card/lib/directives/card-title.directive.mjs +3 -3
- package/esm2020/components/checkbox/lib/checkbox.component.mjs +5 -4
- 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 +3 -3
- package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +3 -3
- package/esm2020/components/content-box/lib/content-box.component.mjs +3 -3
- package/esm2020/components/content-box/lib/content-box.module.mjs +4 -4
- package/esm2020/components/content-box/lib/directives/content-box-footer.directive.mjs +3 -3
- package/esm2020/components/content-box/lib/directives/content-box-header.directive.mjs +3 -3
- package/esm2020/components/dropdown/lib/dropdown.component.mjs +3 -3
- package/esm2020/components/dropdown/lib/dropdown.directive.mjs +3 -3
- package/esm2020/components/dropdown/lib/dropdown.module.mjs +4 -4
- 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 +3 -3
- 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 +3 -3
- package/esm2020/components/form-field/lib/form-field.module.mjs +4 -4
- package/esm2020/components/form-field/lib/form-field.service.mjs +7 -7
- package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +3 -3
- package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +3 -3
- package/esm2020/components/header/lib/directives/header-title.directive.mjs +3 -3
- package/esm2020/components/header/lib/header.component.mjs +3 -3
- package/esm2020/components/header/lib/header.module.mjs +4 -4
- package/esm2020/components/icon/lib/icon.component.mjs +3 -3
- package/esm2020/components/inline-message/lib/inline-message.component.mjs +3 -3
- package/esm2020/components/link/link.directive.mjs +3 -3
- package/esm2020/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +3 -3
- package/esm2020/components/list/lib/components/list-item/list-item.component.mjs +3 -3
- package/esm2020/components/list/lib/list.component.mjs +3 -3
- package/esm2020/components/list/lib/list.module.mjs +4 -4
- package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +3 -3
- package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +3 -3
- package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +4 -4
- package/esm2020/components/logo/logo.directive.mjs +3 -3
- 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 +3 -3
- package/esm2020/components/main-menu/lib/main-menu.component.mjs +3 -3
- 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/lib/mainfilter-group.component.mjs +3 -3
- package/esm2020/components/menu/lib/directives/menu-item.directive.mjs +3 -3
- package/esm2020/components/menu/lib/menu.component.mjs +3 -3
- package/esm2020/components/menu/lib/menu.directive.mjs +3 -3
- package/esm2020/components/menu/lib/menu.module.mjs +4 -4
- 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 +3 -3
- package/esm2020/components/modal/lib/components/modal-hero/modal-hero.component.mjs +3 -3
- 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 +3 -3
- package/esm2020/components/modal/lib/modal.directive.mjs +3 -3
- package/esm2020/components/modal/lib/modal.module.mjs +4 -4
- package/esm2020/components/modal/lib/modal.service.mjs +6 -7
- package/esm2020/components/navigation-back/lib/navigation-back.component.mjs +3 -3
- 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 +3 -3
- package/esm2020/components/radio-group/lib/radio-group.module.mjs +4 -4
- package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +3 -3
- 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/components/option/option.component.mjs +3 -3
- 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 +8 -6
- 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 +3 -3
- package/esm2020/components/switch/lib/switch.component.mjs +3 -3
- 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 +3 -3
- package/esm2020/components/tab-bar/lib/tab-bar.component.mjs +3 -3
- 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 +3 -3
- package/esm2020/components/toast/lib/toast.module.mjs +4 -4
- package/esm2020/components/toast/lib/toast.service.mjs +3 -3
- package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +3 -3
- package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +3 -3
- package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
- package/esm2020/components/tooltip/lib/tooltip.component.mjs +3 -3
- package/esm2020/components/tooltip/lib/tooltip.directive.mjs +10 -12
- package/esm2020/lib/controllers/controller.mjs +3 -3
- package/esm2020/lib/controllers/disabled.controller.mjs +3 -3
- package/esm2020/lib/controllers/readonly.controller.mjs +3 -3
- package/esm2020/lib/core.module.mjs +4 -4
- package/esm2020/lib/directives/click-outside.directive.mjs +3 -3
- package/esm2020/lib/directives/delegate-focus.directive.mjs +3 -3
- package/esm2020/lib/directives/with-disabled-state.directive.mjs +3 -3
- package/esm2020/lib/directives/with-tabindex.directive.mjs +3 -3
- package/esm2020/lib/services/window-ref.mjs +3 -3
- package/esm2020/theming/lib/theming.service.mjs +3 -3
- package/esm2020/utils/lib/helpers/event-manager.mjs +3 -3
- package/esm2020/utils/lib/helpers/get-unique-id.mjs +8 -6
- package/fesm2015/odx-angular-cdk-a11y.mjs +13 -13
- package/fesm2015/odx-angular-cdk-active-indicator.mjs +3 -3
- package/fesm2015/odx-angular-cdk-checkbox-control.mjs +3 -3
- package/fesm2015/odx-angular-cdk-connected-overlay.mjs +17 -10
- 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-dynamic-view.mjs +9 -9
- package/fesm2015/odx-angular-cdk-expandable.mjs +12 -13
- 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-components-accordion.mjs +18 -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-area-header.mjs +13 -13
- package/fesm2015/odx-angular-components-avatar.mjs +3 -3
- package/fesm2015/odx-angular-components-badge.mjs +6 -6
- package/fesm2015/odx-angular-components-bar.mjs +13 -13
- package/fesm2015/odx-angular-components-breadcrumbs.mjs +4 -4
- package/fesm2015/odx-angular-components-breadcrumbs.mjs.map +1 -1
- package/fesm2015/odx-angular-components-button-group.mjs +3 -3
- package/fesm2015/odx-angular-components-button.mjs +7 -7
- package/fesm2015/odx-angular-components-button.mjs.map +1 -1
- package/fesm2015/odx-angular-components-card.mjs +19 -19
- package/fesm2015/odx-angular-components-checkbox.mjs +11 -10
- package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
- package/fesm2015/odx-angular-components-chip.mjs +3 -3
- package/fesm2015/odx-angular-components-circular-progress.mjs +3 -3
- package/fesm2015/odx-angular-components-content-box.mjs +13 -13
- package/fesm2015/odx-angular-components-dropdown.mjs +10 -10
- package/fesm2015/odx-angular-components-form-field.mjs +36 -37
- package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
- package/fesm2015/odx-angular-components-header.mjs +13 -13
- package/fesm2015/odx-angular-components-icon.mjs +3 -3
- package/fesm2015/odx-angular-components-inline-message.mjs +3 -3
- package/fesm2015/odx-angular-components-link.mjs +3 -3
- package/fesm2015/odx-angular-components-list.mjs +13 -13
- package/fesm2015/odx-angular-components-loading-spinner.mjs +10 -10
- package/fesm2015/odx-angular-components-logo.mjs +3 -3
- package/fesm2015/odx-angular-components-main-menu.mjs +16 -16
- package/fesm2015/odx-angular-components-mainfilter-group.mjs +3 -3
- package/fesm2015/odx-angular-components-menu.mjs +13 -13
- package/fesm2015/odx-angular-components-modal.mjs +36 -37
- package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
- package/fesm2015/odx-angular-components-navigation-back.mjs +3 -3
- package/fesm2015/odx-angular-components-progress.mjs +3 -3
- package/fesm2015/odx-angular-components-radio-group.mjs +10 -10
- package/fesm2015/odx-angular-components-rail-navigation.mjs +10 -10
- package/fesm2015/odx-angular-components-select.mjs +20 -18
- 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 +3 -3
- package/fesm2015/odx-angular-components-switch.mjs +10 -10
- package/fesm2015/odx-angular-components-tab-bar.mjs +10 -10
- package/fesm2015/odx-angular-components-toast.mjs +13 -13
- package/fesm2015/odx-angular-components-toggle-button-group.mjs +10 -10
- package/fesm2015/odx-angular-components-tooltip.mjs +10 -12
- package/fesm2015/odx-angular-components-tooltip.mjs.map +1 -1
- package/fesm2015/odx-angular-theming.mjs +3 -3
- package/fesm2015/odx-angular-utils.mjs +11 -9
- package/fesm2015/odx-angular-utils.mjs.map +1 -1
- package/fesm2015/odx-angular.mjs +28 -28
- package/fesm2020/odx-angular-cdk-a11y.mjs +13 -13
- package/fesm2020/odx-angular-cdk-active-indicator.mjs +3 -3
- package/fesm2020/odx-angular-cdk-checkbox-control.mjs +3 -3
- package/fesm2020/odx-angular-cdk-connected-overlay.mjs +15 -10
- 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-dynamic-view.mjs +9 -9
- package/fesm2020/odx-angular-cdk-expandable.mjs +12 -13
- 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-components-accordion.mjs +18 -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-area-header.mjs +13 -13
- package/fesm2020/odx-angular-components-avatar.mjs +3 -3
- package/fesm2020/odx-angular-components-badge.mjs +6 -6
- package/fesm2020/odx-angular-components-bar.mjs +13 -13
- package/fesm2020/odx-angular-components-breadcrumbs.mjs +4 -4
- package/fesm2020/odx-angular-components-breadcrumbs.mjs.map +1 -1
- package/fesm2020/odx-angular-components-button-group.mjs +3 -3
- package/fesm2020/odx-angular-components-button.mjs +7 -7
- package/fesm2020/odx-angular-components-button.mjs.map +1 -1
- package/fesm2020/odx-angular-components-card.mjs +19 -19
- package/fesm2020/odx-angular-components-checkbox.mjs +11 -10
- package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
- package/fesm2020/odx-angular-components-chip.mjs +3 -3
- package/fesm2020/odx-angular-components-circular-progress.mjs +3 -3
- package/fesm2020/odx-angular-components-content-box.mjs +13 -13
- package/fesm2020/odx-angular-components-dropdown.mjs +10 -10
- package/fesm2020/odx-angular-components-form-field.mjs +36 -37
- package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
- package/fesm2020/odx-angular-components-header.mjs +13 -13
- package/fesm2020/odx-angular-components-icon.mjs +3 -3
- package/fesm2020/odx-angular-components-inline-message.mjs +3 -3
- package/fesm2020/odx-angular-components-link.mjs +3 -3
- package/fesm2020/odx-angular-components-list.mjs +13 -13
- package/fesm2020/odx-angular-components-loading-spinner.mjs +10 -10
- package/fesm2020/odx-angular-components-logo.mjs +3 -3
- package/fesm2020/odx-angular-components-main-menu.mjs +16 -16
- package/fesm2020/odx-angular-components-mainfilter-group.mjs +3 -3
- package/fesm2020/odx-angular-components-menu.mjs +13 -13
- package/fesm2020/odx-angular-components-modal.mjs +36 -37
- package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
- package/fesm2020/odx-angular-components-navigation-back.mjs +3 -3
- package/fesm2020/odx-angular-components-progress.mjs +3 -3
- package/fesm2020/odx-angular-components-radio-group.mjs +10 -10
- package/fesm2020/odx-angular-components-rail-navigation.mjs +10 -10
- package/fesm2020/odx-angular-components-select.mjs +20 -18
- 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 +3 -3
- package/fesm2020/odx-angular-components-switch.mjs +10 -10
- package/fesm2020/odx-angular-components-tab-bar.mjs +10 -10
- package/fesm2020/odx-angular-components-toast.mjs +13 -13
- package/fesm2020/odx-angular-components-toggle-button-group.mjs +10 -10
- package/fesm2020/odx-angular-components-tooltip.mjs +10 -12
- package/fesm2020/odx-angular-components-tooltip.mjs.map +1 -1
- package/fesm2020/odx-angular-theming.mjs +3 -3
- package/fesm2020/odx-angular-utils.mjs +11 -9
- package/fesm2020/odx-angular-utils.mjs.map +1 -1
- package/fesm2020/odx-angular.mjs +28 -28
- package/package.json +7 -5
- package/utils/lib/helpers/get-unique-id.d.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-form-field.mjs","sources":["../../../../libs/angular/components/form-field/src/lib/form-field.config.ts","../../../../libs/angular/components/form-field/src/lib/form-field.service.ts","../../../../libs/angular/components/form-field/src/lib/services/form-field-error.service.ts","../../../../libs/angular/components/form-field/src/lib/directives/form.directive.ts","../../../../libs/angular/components/form-field/src/lib/directives/form-field-control.directive.ts","../../../../libs/angular/components/form-field/src/lib/directives/form-field-error.directive.ts","../../../../libs/angular/components/form-field/src/lib/directives/form-field-hint.directive.ts","../../../../libs/angular/components/form-field/src/lib/directives/form-field-label.directive.ts","../../../../libs/angular/components/form-field/src/lib/components/form-field-info/form-field-info.component.ts","../../../../libs/angular/components/form-field/src/lib/components/form-field-info/form-field-info.component.html","../../../../libs/angular/components/form-field/src/lib/components/form-group/form-group.component.ts","../../../../libs/angular/components/form-field/src/lib/components/form-group/form-group.component.html","../../../../libs/angular/components/form-field/src/lib/models/form-field-variant.ts","../../../../libs/angular/components/form-field/src/lib/form-field.component.ts","../../../../libs/angular/components/form-field/src/lib/form-field.component.html","../../../../libs/angular/components/form-field/src/lib/form-field.module.ts","../../../../libs/angular/components/form-field/src/odx-angular-components-form-field.ts"],"sourcesContent":["import { createConfigTokens } from '@odx/angular/utils';\nimport { FormFieldErrorResolvers } from './models';\n\nexport interface FormFieldConfig {\n /**\n * Object of error resolvers used to resolve error messages globally\n * @default {}\n */\n errors: FormFieldErrorResolvers;\n /**\n * Detect form field control changes on `blur` and/or `change`\n * @default ['blur']\n */\n updateOn: Array<'blur' | 'change'>;\n ignoreErrors: string[];\n}\n\nexport const { FormFieldDefaultConfig, FormFieldConfig, injectFormFieldConfig, provideFormFieldConfig } = createConfigTokens(\n 'FormField',\n '@odx/angular/components/form-field',\n {\n errors: {},\n ignoreErrors: [],\n updateOn: ['blur'],\n } as FormFieldConfig\n);\n","import { ElementRef, Injectable, OnDestroy } from '@angular/core';\nimport { AbstractControl, Validators } from '@angular/forms';\nimport { Controller, DisabledController, ReadonlyController } from '@odx/angular';\nimport { BehaviorSubject, distinctUntilChanged, EMPTY, map, merge, Observable, of, shareReplay, startWith, switchMap, tap } from 'rxjs';\n\ninterface FieldControl {\n control: AbstractControl;\n nativeElement: HTMLElement;\n}\n\n@Injectable()\nexport class FormFieldService extends Controller implements OnDestroy {\n private static ID = 0;\n\n private readonly disabledController = DisabledController.inject();\n private readonly readonlyController = ReadonlyController.inject();\n private readonly control$$ = new BehaviorSubject<FieldControl | null>(null);\n\n public readonly control$ = this.control$$.pipe(shareReplay({ refCount: true }));\n public readonly controlId$ = this.control$.pipe(\n map((control) => (control ? control.nativeElement.id || `odx-form-field-${FormFieldService.ID++}` : null)),\n shareReplay({ refCount: true })\n );\n public readonly controlHintId$ = this.controlId$.pipe(\n map((id) => (id ? `${id}-hint` : null)),\n shareReplay({ refCount: true })\n );\n public readonly controlErrorId$ = this.controlId$.pipe(\n map((id) => (id ? `${id}-error` : null)),\n shareReplay({ refCount: true })\n );\n public readonly isDisabled$ = this.control$.pipe(\n switchMap((control) => (control ? merge(this.updateControlDisabledState(control), this.getControlDisabledState(control)) : of(false))),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n public readonly isRequired$ = this.control$.pipe(\n map((control) => (control ? control.nativeElement.hasAttribute('required') || control.control.hasValidator(Validators.required) : false)),\n shareReplay({ refCount: true })\n );\n public readonly isReadonly$ = this.control$.pipe(\n switchMap((control) => (control && this.readonlyController ? this.readonlyController.isReadonly$ : of(false)))\n );\n\n public override ngOnDestroy(): void {\n this.control$$.complete();\n super.ngOnDestroy();\n }\n\n public registerControl(control: AbstractControl, { nativeElement }: ElementRef<HTMLElement>): void {\n this.control$$.next({ control, nativeElement });\n }\n\n public removeControl(): void {\n this.control$$.next(null);\n }\n\n private updateControlDisabledState({ control }: FieldControl): Observable<boolean> {\n if (this.disabledController) {\n return this.disabledController.isDisabled$.pipe(\n tap((state) => {\n if (state) {\n control.disable();\n } else {\n control.enable();\n }\n })\n );\n }\n return EMPTY;\n }\n\n private getControlDisabledState({ control }: FieldControl): Observable<boolean> {\n return control.statusChanges.pipe(\n startWith(control.status),\n map((status) => status === 'DISABLED'),\n distinctUntilChanged()\n );\n }\n}\n","import { Injectable, OnDestroy, TemplateRef } from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\nimport { isTemplateRef } from '@odx/angular/utils';\nimport { BehaviorSubject, combineLatest, distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { injectFormFieldConfig } from '../form-field.config';\nimport { FormFieldError } from '../models';\n\nconst DEFAULT_CUSTOM_FORM_FIELD_ERROR = '@odx/angular/form-field/default-error';\nconst DEFAULT_ERROR_RESOLVER = () => '';\n\ninterface NgFormFieldError {\n key: string;\n context: unknown;\n}\n\ntype CustomFormFieldErrors = Record<string, TemplateRef<unknown>>;\n\n@Injectable()\nexport class FormFieldErrorService implements OnDestroy {\n private readonly config = injectFormFieldConfig();\n private readonly fieldError$$ = new BehaviorSubject<NgFormFieldError | null>(null);\n private readonly customErrors$$ = new BehaviorSubject<CustomFormFieldErrors>({});\n\n public readonly error$ = combineLatest([this.fieldError$$, this.customErrors$$]).pipe(\n map(([error, customErrors]) => this.resolveError(error, customErrors)),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n public readonly hasError$ = this.error$.pipe(map((error) => error !== null));\n\n public get hasError(): boolean {\n return this.fieldError$$.getValue() !== null;\n }\n\n public ngOnDestroy(): void {\n this.fieldError$$.next(null);\n this.customErrors$$.next({});\n this.fieldError$$.complete();\n this.customErrors$$.complete();\n }\n\n public setError(errors?: ValidationErrors | null): void {\n this.fieldError$$.next(this.getFirstError(errors ?? {}));\n }\n\n public registerCustomError(key: string | undefined, template: TemplateRef<unknown>): void {\n this.customErrors$$.next({ ...this.customErrors$$.getValue(), [key || DEFAULT_CUSTOM_FORM_FIELD_ERROR]: template });\n }\n\n private getFirstError(errors: ValidationErrors): NgFormFieldError | null {\n const [key, context] = Object.entries(errors ?? {}).find(([errorKey]) => !this.config.ignoreErrors.includes(errorKey)) ?? [];\n\n return key ? { key, context } : null;\n }\n\n private resolveError(error: NgFormFieldError | null, customErrors: CustomFormFieldErrors): FormFieldError | null {\n if (!error) return null;\n const { key, context } = error;\n const message = customErrors[key] ?? customErrors[DEFAULT_CUSTOM_FORM_FIELD_ERROR];\n if (isTemplateRef(message)) {\n return {\n key,\n message,\n context: { $implicit: context },\n };\n }\n\n const getMessage = this.config.errors[key] ?? DEFAULT_ERROR_RESOLVER;\n return { key, message: getMessage(context) };\n }\n}\n","import { Directive } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { fromEvent, share } from 'rxjs';\n\n@CSSComponent('form')\n@Directive({\n standalone: true,\n selector: 'form[odxForm]',\n})\nexport class FormDirective {\n private readonly takeUntilDestroyed = untilDestroyed();\n\n public readonly element = injectElement<HTMLFormElement>();\n public readonly submit$ = fromEvent<Event>(this.element.nativeElement, 'submit').pipe(this.takeUntilDestroyed(), share());\n public readonly reset$ = fromEvent<Event>(this.element.nativeElement, 'reset').pipe(this.takeUntilDestroyed(), share());\n}\n","import { Directive, inject, OnDestroy, OnInit } from '@angular/core';\nimport { AbstractControl, FormControl, NgControl } from '@angular/forms';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { booleanToOptionalAttributeString, injectElement, reactiveAttributeBinding, untilDestroyed } from '@odx/angular/utils';\nimport { EMPTY, fromEvent, map, merge, NEVER, Observable, of, startWith, switchMap, tap } from 'rxjs';\nimport { injectFormFieldConfig } from '../form-field.config';\nimport { FormFieldService } from '../form-field.service';\nimport { FormFieldErrorService } from '../services';\nimport { FormDirective } from './form.directive';\n\n@CSSComponent('form-field-control')\n@Directive({\n standalone: true,\n selector: '[odxFormFieldControl]',\n exportAs: 'odxFormFieldControl',\n})\nexport class FormFieldControlDirective implements OnInit, OnDestroy {\n private readonly config = injectFormFieldConfig();\n private readonly ngControl = inject(NgControl, { optional: true, self: true });\n private readonly form = inject(FormDirective, { optional: true, skipSelf: true });\n private readonly onFormReset$ = this.form?.reset$ ?? EMPTY;\n private readonly onFormSubmit$ = this.form?.submit$ ?? EMPTY;\n private readonly formFieldService = inject(FormFieldService);\n private readonly formFieldErrorService = inject(FormFieldErrorService);\n private readonly takeUntilDestroyed = untilDestroyed();\n public readonly element = injectElement();\n\n constructor() {\n reactiveAttributeBinding(this.formFieldService.controlId$, 'id');\n reactiveAttributeBinding(this.formFieldService.controlHintId$, 'aria-describedby');\n reactiveAttributeBinding(this.formFieldService.isReadonly$, 'readonly');\n reactiveAttributeBinding(this.formFieldService.isDisabled$.pipe(map(booleanToOptionalAttributeString)), 'aria-disabled');\n reactiveAttributeBinding(this.formFieldService.isReadonly$.pipe(map(booleanToOptionalAttributeString)), 'aria-readonly');\n reactiveAttributeBinding(this.formFieldService.isRequired$.pipe(map(booleanToOptionalAttributeString)), 'aria-required');\n reactiveAttributeBinding(this.formFieldErrorService.hasError$.pipe(map(booleanToOptionalAttributeString)), 'aria-invalid');\n reactiveAttributeBinding(\n this.formFieldErrorService.hasError$.pipe(switchMap((hasError) => (hasError ? this.formFieldService.controlErrorId$ : of(null)))),\n 'aria-errormessage'\n );\n }\n\n public ngOnInit() {\n const control = this.ngControl?.control;\n this.formFieldService.registerControl(control ?? new FormControl(), this.element);\n if (!control) return;\n\n const controlChanges$ = merge(this.registerOnBlur(control), this.registerOnChange(control), this.registerOnSubmit(control));\n const changes$ = merge(\n this.onFormReset$.pipe(tap(() => this.formFieldErrorService?.setError(null))),\n controlChanges$.pipe(tap(() => this.formFieldErrorService?.setError(control.errors)))\n );\n changes$.pipe(this.takeUntilDestroyed()).subscribe();\n }\n\n public ngOnDestroy(): void {\n this.formFieldService.removeControl();\n }\n\n private registerOnBlur({ valueChanges }: AbstractControl): Observable<unknown> {\n if (this.config.updateOn.includes('blur')) {\n return fromEvent(this.element.nativeElement, 'focusout').pipe(switchMap(() => valueChanges.pipe(startWith(true))));\n }\n return EMPTY;\n }\n\n private registerOnChange({ valueChanges }: AbstractControl): Observable<unknown> {\n if (this.config.updateOn.includes('change')) {\n return valueChanges;\n }\n return EMPTY;\n }\n\n private registerOnSubmit({ statusChanges, valueChanges }: AbstractControl): Observable<unknown> {\n return merge(this.onFormSubmit$, this.onFormReset$).pipe(\n switchMap(({ type }) => (type === 'submit' ? merge(statusChanges, valueChanges).pipe(startWith(true)) : NEVER))\n );\n }\n}\n","import { Directive, inject, Input, OnInit, TemplateRef } from '@angular/core';\nimport { FormFieldErrorService } from '../services';\n\n@Directive({\n standalone: true,\n selector: '[odxFormFieldError]',\n})\nexport class FormFieldErrorDirective implements OnInit {\n private readonly formFieldErrorService = inject(FormFieldErrorService, { skipSelf: true });\n private readonly template = inject(TemplateRef, { self: true });\n\n @Input('odxFormFieldError')\n public key?: string;\n\n public ngOnInit() {\n this.formFieldErrorService.registerCustomError(this.key, this.template);\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { reactiveAttributeBinding } from '@odx/angular/utils';\nimport { FormFieldService } from '../form-field.service';\n\n@Directive({\n standalone: true,\n selector: 'odx-form-field-hint',\n host: {\n '[class.odx-form-field__hint]': 'true',\n },\n})\nexport class FormFieldHintDirective {\n protected readonly formFieldService = inject(FormFieldService, { skipSelf: true });\n\n constructor() {\n reactiveAttributeBinding(inject(FormFieldService).controlHintId$, 'id');\n }\n}\n","import { Directive } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n@CSSComponent('form-field-label')\n@Directive({\n standalone: true,\n selector: 'odx-form-field-label',\n})\nexport class FormFieldLabelDirective {\n public readonly element = injectElement();\n}\n","import { Component, inject, Input, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { FormFieldHintDirective } from '../../directives';\nimport { FormFieldService } from '../../form-field.service';\nimport { FormFieldError } from '../../models';\n\n@Component({\n standalone: true,\n selector: 'odx-form-field-info',\n templateUrl: './form-field-info.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [CoreModule, DynamicViewDirective, FormFieldHintDirective],\n host: {\n '[class.odx-form-field__info]': 'true',\n },\n})\nexport class FormFieldInfoComponent {\n protected readonly formFieldService = inject(FormFieldService);\n\n @Input()\n public error: FormFieldError | null = null;\n}\n","<span class=\"odx-form-field-error\" [attr.id]=\"formFieldService.controlErrorId$ | async\" *ngIf=\"error; else hint\">\n <ng-template [odxDynamicView]=\"error.message\" [odxDynamicViewContext]=\"error.context\"></ng-template>\n</span>\n<ng-template #hint>\n <ng-content></ng-content>\n</ng-template>\n","import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, QueryList, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { combineLatest, map, Observable, startWith, switchMap } from 'rxjs';\nimport { FormFieldService } from '../../form-field.service';\nimport { FormFieldError } from '../../models';\nimport { FormFieldErrorService } from '../../services';\nimport { FormFieldInfoComponent } from '../form-field-info/form-field-info.component';\n\n@CSSComponent('form-group')\n@Component({\n standalone: true,\n selector: 'odx-form-group',\n templateUrl: './form-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CoreModule, FormFieldInfoComponent],\n providers: [FormFieldService],\n})\nexport class FormGroupComponent implements AfterContentInit {\n public readonly element = injectElement();\n public error$: Observable<FormFieldError | null> | null = null;\n\n @ContentChildren(FormFieldErrorService, { descendants: false })\n public formFieldErrorServices!: QueryList<FormFieldErrorService>;\n\n public ngAfterContentInit() {\n this.error$ = this.formFieldErrorServices.changes.pipe(\n startWith<QueryList<FormFieldErrorService>>(this.formFieldErrorServices),\n switchMap((services) => combineLatest(services.map((service) => service.error$))),\n map((errors) => errors.find((error) => error !== null) ?? null)\n );\n }\n}\n","<div class=\"odx-form-group__content\" odxLayout=\"grid auto vertical-end\">\n <ng-content select=\"odx-form-field\"> </ng-content>\n</div>\n<odx-form-field-info [error]=\"error$ | async\">\n <ng-content select=\"odx-form-field-hint\"></ng-content>\n</odx-form-field-info>\n","export type FormFieldVariant = (typeof FormFieldVariant)[keyof typeof FormFieldVariant];\n\nexport const FormFieldVariant = {\n FULL: 'full',\n SIMPLE: 'simple',\n} as const;\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, ContentChild, inject, Input, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, DisabledController, ReadonlyController } from '@odx/angular';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement, reactiveClassBinding } from '@odx/angular/utils';\nimport { BehaviorSubject, combineLatest, map } from 'rxjs';\nimport { FormFieldInfoComponent, FormGroupComponent } from './components';\nimport { FormFieldLabelDirective } from './directives';\nimport { FormFieldService } from './form-field.service';\nimport { FormFieldVariant } from './models';\nimport { FormFieldErrorService } from './services';\n\n@CSSComponent('form-field')\n@Component({\n standalone: true,\n selector: 'odx-form-field',\n imports: [CoreModule, FormFieldInfoComponent, FormFieldLabelDirective],\n templateUrl: './form-field.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [FormFieldService, FormFieldErrorService, DisabledController.connect(), ReadonlyController.connect()],\n})\nexport class FormFieldComponent {\n public static ngAcceptInputType_warnings: string | string[] | null;\n\n protected readonly hasWarning$$ = new BehaviorSubject(false);\n\n protected readonly formGroup = inject(FormGroupComponent, { optional: true, host: true });\n protected readonly formFieldService = inject(FormFieldService, { self: true });\n protected readonly formFieldErrorService = inject(FormFieldErrorService, { self: true });\n public readonly element = injectElement();\n\n @ContentChild(FormFieldLabelDirective)\n public labelDirective?: FormFieldLabelDirective;\n\n @Input()\n public label?: string | null = null;\n\n @Input()\n public set hasWarning(value: unknown) {\n this.hasWarning$$.next(coerceBooleanProperty(value));\n }\n public get hasWarning(): boolean {\n return this.hasWarning$$.getValue();\n }\n\n @CSSModifier()\n @Input()\n public variant: FormFieldVariant | null = FormFieldVariant.FULL;\n\n public get hasLabel(): boolean {\n return !!(this.labelDirective || this.label);\n }\n\n constructor() {\n const hasWarning$ = combineLatest([this.formFieldErrorService.error$, this.hasWarning$$]).pipe(map(([hasError, hasWarning]) => hasError && hasWarning));\n reactiveClassBinding(this.formFieldService.isRequired$, 'odx-form-field--required');\n reactiveClassBinding(this.formFieldService.isDisabled$, 'is-disabled');\n reactiveClassBinding(this.formFieldService.isReadonly$, 'is-readonly');\n reactiveClassBinding(this.formFieldErrorService.hasError$, 'has-error');\n reactiveClassBinding(hasWarning$, 'has-warning');\n }\n}\n","<label class=\"odx-form-field__label\" [attr.for]=\"formFieldService.controlId$ | async\" [attr.aria-owns]=\"formFieldService.controlId$ | async\" *ngIf=\"hasLabel\">\n <odx-form-field-label *ngIf=\"label; else labelTemplate\">\n {{ label }}\n </odx-form-field-label>\n <ng-template #labelTemplate>\n <ng-content select=\"odx-form-field-label\"></ng-content>\n </ng-template>\n</label>\n<div class=\"odx-form-field__inner\">\n <div class=\"odx-form-field__control\">\n <div class=\"odx-form-field__prefix\">\n <ng-content select=\"[odxFormFieldPrefix]\"></ng-content>\n </div>\n <ng-content></ng-content>\n <div class=\"odx-form-field__suffix\">\n <ng-content select=\"[odxFormFieldSuffix]\"></ng-content>\n </div>\n </div>\n <odx-form-field-info [error]=\"formFieldErrorService.error$ | async\" *ngIf=\"!formGroup\">\n <ng-content select=\"odx-form-field-hint\"></ng-content>\n </odx-form-field-info>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { FormGroupComponent } from './components';\nimport { FormDirective, FormFieldControlDirective, FormFieldErrorDirective, FormFieldHintDirective, FormFieldLabelDirective } from './directives';\nimport { FormFieldComponent } from './form-field.component';\n\nconst modules = [\n FormFieldComponent,\n FormGroupComponent,\n FormDirective,\n FormFieldControlDirective,\n FormFieldErrorDirective,\n FormFieldHintDirective,\n FormFieldLabelDirective,\n];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class FormFieldModule {}\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-components-form-field.mjs","sources":["../../../../libs/angular/components/form-field/src/lib/form-field.config.ts","../../../../libs/angular/components/form-field/src/lib/form-field.service.ts","../../../../libs/angular/components/form-field/src/lib/services/form-field-error.service.ts","../../../../libs/angular/components/form-field/src/lib/directives/form.directive.ts","../../../../libs/angular/components/form-field/src/lib/directives/form-field-control.directive.ts","../../../../libs/angular/components/form-field/src/lib/directives/form-field-error.directive.ts","../../../../libs/angular/components/form-field/src/lib/directives/form-field-hint.directive.ts","../../../../libs/angular/components/form-field/src/lib/directives/form-field-label.directive.ts","../../../../libs/angular/components/form-field/src/lib/components/form-field-info/form-field-info.component.ts","../../../../libs/angular/components/form-field/src/lib/components/form-field-info/form-field-info.component.html","../../../../libs/angular/components/form-field/src/lib/components/form-group/form-group.component.ts","../../../../libs/angular/components/form-field/src/lib/components/form-group/form-group.component.html","../../../../libs/angular/components/form-field/src/lib/models/form-field-variant.ts","../../../../libs/angular/components/form-field/src/lib/form-field.component.ts","../../../../libs/angular/components/form-field/src/lib/form-field.component.html","../../../../libs/angular/components/form-field/src/lib/form-field.module.ts","../../../../libs/angular/components/form-field/src/odx-angular-components-form-field.ts"],"sourcesContent":["import { createConfigTokens } from '@odx/angular/utils';\nimport { FormFieldErrorResolvers } from './models';\n\nexport interface FormFieldConfig {\n /**\n * Object of error resolvers used to resolve error messages globally\n * @default {}\n */\n errors: FormFieldErrorResolvers;\n /**\n * Detect form field control changes on `blur` and/or `change`\n * @default ['blur']\n */\n updateOn: Array<'blur' | 'change'>;\n ignoreErrors: string[];\n}\n\nexport const { FormFieldDefaultConfig, FormFieldConfig, injectFormFieldConfig, provideFormFieldConfig } = createConfigTokens(\n 'FormField',\n '@odx/angular/components/form-field',\n {\n errors: {},\n ignoreErrors: [],\n updateOn: ['blur'],\n } as FormFieldConfig\n);\n","import { ElementRef, Injectable, OnDestroy } from '@angular/core';\nimport { AbstractControl, Validators } from '@angular/forms';\nimport { Controller, DisabledController, ReadonlyController } from '@odx/angular';\nimport { getUniqueId } from '@odx/angular/utils';\nimport { BehaviorSubject, EMPTY, Observable, distinctUntilChanged, map, merge, of, shareReplay, startWith, switchMap, tap } from 'rxjs';\n\ninterface FieldControl {\n control: AbstractControl;\n nativeElement: HTMLElement;\n}\n\n@Injectable()\nexport class FormFieldService extends Controller implements OnDestroy {\n private readonly disabledController = DisabledController.inject();\n private readonly readonlyController = ReadonlyController.inject();\n private readonly control$$ = new BehaviorSubject<FieldControl | null>(null);\n\n public readonly control$ = this.control$$.pipe(shareReplay({ refCount: true }));\n public readonly controlId$ = this.control$.pipe(\n map((control) => (control ? control.nativeElement.id || getUniqueId('odx-form-field') : null)),\n shareReplay({ refCount: true })\n );\n public readonly controlHintId$ = this.controlId$.pipe(\n map((id) => (id ? `${id}-hint` : null)),\n shareReplay({ refCount: true })\n );\n public readonly controlErrorId$ = this.controlId$.pipe(\n map((id) => (id ? `${id}-error` : null)),\n shareReplay({ refCount: true })\n );\n public readonly isDisabled$ = this.control$.pipe(\n switchMap((control) => (control ? merge(this.updateControlDisabledState(control), this.getControlDisabledState(control)) : of(false))),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n public readonly isRequired$ = this.control$.pipe(\n map((control) => (control ? control.nativeElement.hasAttribute('required') || control.control.hasValidator(Validators.required) : false)),\n shareReplay({ refCount: true })\n );\n public readonly isReadonly$ = this.control$.pipe(\n switchMap((control) => (control && this.readonlyController ? this.readonlyController.isReadonly$ : of(false)))\n );\n\n public override ngOnDestroy(): void {\n this.control$$.complete();\n super.ngOnDestroy();\n }\n\n public registerControl(control: AbstractControl, { nativeElement }: ElementRef<HTMLElement>): void {\n this.control$$.next({ control, nativeElement });\n }\n\n public removeControl(): void {\n this.control$$.next(null);\n }\n\n private updateControlDisabledState({ control }: FieldControl): Observable<boolean> {\n if (this.disabledController) {\n return this.disabledController.isDisabled$.pipe(\n tap((state) => {\n if (state) {\n control.disable();\n } else {\n control.enable();\n }\n })\n );\n }\n return EMPTY;\n }\n\n private getControlDisabledState({ control }: FieldControl): Observable<boolean> {\n return control.statusChanges.pipe(\n startWith(control.status),\n map((status) => status === 'DISABLED'),\n distinctUntilChanged()\n );\n }\n}\n","import { Injectable, OnDestroy, TemplateRef } from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\nimport { isTemplateRef } from '@odx/angular/utils';\nimport { BehaviorSubject, combineLatest, distinctUntilChanged, map, shareReplay } from 'rxjs';\nimport { injectFormFieldConfig } from '../form-field.config';\nimport { FormFieldError } from '../models';\n\nconst DEFAULT_CUSTOM_FORM_FIELD_ERROR = '@odx/angular/form-field/default-error';\nconst DEFAULT_ERROR_RESOLVER = () => '';\n\ninterface NgFormFieldError {\n key: string;\n context: unknown;\n}\n\ntype CustomFormFieldErrors = Record<string, TemplateRef<unknown>>;\n\n@Injectable()\nexport class FormFieldErrorService implements OnDestroy {\n private readonly config = injectFormFieldConfig();\n private readonly fieldError$$ = new BehaviorSubject<NgFormFieldError | null>(null);\n private readonly customErrors$$ = new BehaviorSubject<CustomFormFieldErrors>({});\n\n public readonly error$ = combineLatest([this.fieldError$$, this.customErrors$$]).pipe(\n map(([error, customErrors]) => this.resolveError(error, customErrors)),\n distinctUntilChanged(),\n shareReplay({ refCount: true })\n );\n public readonly hasError$ = this.error$.pipe(map((error) => error !== null));\n\n public get hasError(): boolean {\n return this.fieldError$$.getValue() !== null;\n }\n\n public ngOnDestroy(): void {\n this.fieldError$$.next(null);\n this.customErrors$$.next({});\n this.fieldError$$.complete();\n this.customErrors$$.complete();\n }\n\n public setError(errors?: ValidationErrors | null): void {\n this.fieldError$$.next(this.getFirstError(errors ?? {}));\n }\n\n public registerCustomError(key: string | undefined, template: TemplateRef<unknown>): void {\n this.customErrors$$.next({ ...this.customErrors$$.getValue(), [key || DEFAULT_CUSTOM_FORM_FIELD_ERROR]: template });\n }\n\n private getFirstError(errors: ValidationErrors): NgFormFieldError | null {\n const [key, context] = Object.entries(errors ?? {}).find(([errorKey]) => !this.config.ignoreErrors.includes(errorKey)) ?? [];\n\n return key ? { key, context } : null;\n }\n\n private resolveError(error: NgFormFieldError | null, customErrors: CustomFormFieldErrors): FormFieldError | null {\n if (!error) return null;\n const { key, context } = error;\n const message = customErrors[key] ?? customErrors[DEFAULT_CUSTOM_FORM_FIELD_ERROR];\n if (isTemplateRef(message)) {\n return {\n key,\n message,\n context: { $implicit: context },\n };\n }\n\n const getMessage = this.config.errors[key] ?? DEFAULT_ERROR_RESOLVER;\n return { key, message: getMessage(context) };\n }\n}\n","import { Directive } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { fromEvent, share } from 'rxjs';\n\n@CSSComponent('form')\n@Directive({\n standalone: true,\n selector: 'form[odxForm]',\n})\nexport class FormDirective {\n private readonly takeUntilDestroyed = untilDestroyed();\n\n public readonly element = injectElement<HTMLFormElement>();\n public readonly submit$ = fromEvent<Event>(this.element.nativeElement, 'submit').pipe(this.takeUntilDestroyed(), share());\n public readonly reset$ = fromEvent<Event>(this.element.nativeElement, 'reset').pipe(this.takeUntilDestroyed(), share());\n}\n","import { Directive, inject, OnDestroy, OnInit } from '@angular/core';\nimport { AbstractControl, FormControl, NgControl } from '@angular/forms';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { booleanToOptionalAttributeString, injectElement, reactiveAttributeBinding, untilDestroyed } from '@odx/angular/utils';\nimport { EMPTY, fromEvent, map, merge, NEVER, Observable, of, startWith, switchMap, tap } from 'rxjs';\nimport { injectFormFieldConfig } from '../form-field.config';\nimport { FormFieldService } from '../form-field.service';\nimport { FormFieldErrorService } from '../services';\nimport { FormDirective } from './form.directive';\n\n@CSSComponent('form-field-control')\n@Directive({\n standalone: true,\n selector: '[odxFormFieldControl]',\n exportAs: 'odxFormFieldControl',\n})\nexport class FormFieldControlDirective implements OnInit, OnDestroy {\n private readonly config = injectFormFieldConfig();\n private readonly ngControl = inject(NgControl, { optional: true, self: true });\n private readonly form = inject(FormDirective, { optional: true, skipSelf: true });\n private readonly onFormReset$ = this.form?.reset$ ?? EMPTY;\n private readonly onFormSubmit$ = this.form?.submit$ ?? EMPTY;\n private readonly formFieldService = inject(FormFieldService);\n private readonly formFieldErrorService = inject(FormFieldErrorService);\n private readonly takeUntilDestroyed = untilDestroyed();\n public readonly element = injectElement();\n\n constructor() {\n reactiveAttributeBinding(this.formFieldService.controlId$, 'id');\n reactiveAttributeBinding(this.formFieldService.controlHintId$, 'aria-describedby');\n reactiveAttributeBinding(this.formFieldService.isReadonly$, 'readonly');\n reactiveAttributeBinding(this.formFieldService.isDisabled$.pipe(map(booleanToOptionalAttributeString)), 'aria-disabled');\n reactiveAttributeBinding(this.formFieldService.isReadonly$.pipe(map(booleanToOptionalAttributeString)), 'aria-readonly');\n reactiveAttributeBinding(this.formFieldService.isRequired$.pipe(map(booleanToOptionalAttributeString)), 'aria-required');\n reactiveAttributeBinding(this.formFieldErrorService.hasError$.pipe(map(booleanToOptionalAttributeString)), 'aria-invalid');\n reactiveAttributeBinding(\n this.formFieldErrorService.hasError$.pipe(switchMap((hasError) => (hasError ? this.formFieldService.controlErrorId$ : of(null)))),\n 'aria-errormessage'\n );\n }\n\n public ngOnInit() {\n const control = this.ngControl?.control;\n this.formFieldService.registerControl(control ?? new FormControl(), this.element);\n if (!control) return;\n\n const controlChanges$ = merge(this.registerOnBlur(control), this.registerOnChange(control), this.registerOnSubmit(control));\n const changes$ = merge(\n this.onFormReset$.pipe(tap(() => this.formFieldErrorService?.setError(null))),\n controlChanges$.pipe(tap(() => this.formFieldErrorService?.setError(control.errors)))\n );\n changes$.pipe(this.takeUntilDestroyed()).subscribe();\n }\n\n public ngOnDestroy(): void {\n this.formFieldService.removeControl();\n }\n\n private registerOnBlur({ valueChanges }: AbstractControl): Observable<unknown> {\n if (this.config.updateOn.includes('blur')) {\n return fromEvent(this.element.nativeElement, 'focusout').pipe(switchMap(() => valueChanges.pipe(startWith(true))));\n }\n return EMPTY;\n }\n\n private registerOnChange({ valueChanges }: AbstractControl): Observable<unknown> {\n if (this.config.updateOn.includes('change')) {\n return valueChanges;\n }\n return EMPTY;\n }\n\n private registerOnSubmit({ statusChanges, valueChanges }: AbstractControl): Observable<unknown> {\n return merge(this.onFormSubmit$, this.onFormReset$).pipe(\n switchMap(({ type }) => (type === 'submit' ? merge(statusChanges, valueChanges).pipe(startWith(true)) : NEVER))\n );\n }\n}\n","import { Directive, inject, Input, OnInit, TemplateRef } from '@angular/core';\nimport { FormFieldErrorService } from '../services';\n\n@Directive({\n standalone: true,\n selector: '[odxFormFieldError]',\n})\nexport class FormFieldErrorDirective implements OnInit {\n private readonly formFieldErrorService = inject(FormFieldErrorService, { skipSelf: true });\n private readonly template = inject(TemplateRef, { self: true });\n\n @Input('odxFormFieldError')\n public key?: string;\n\n public ngOnInit() {\n this.formFieldErrorService.registerCustomError(this.key, this.template);\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { reactiveAttributeBinding } from '@odx/angular/utils';\nimport { FormFieldService } from '../form-field.service';\n\n@Directive({\n standalone: true,\n selector: 'odx-form-field-hint',\n host: {\n '[class.odx-form-field__hint]': 'true',\n },\n})\nexport class FormFieldHintDirective {\n protected readonly formFieldService = inject(FormFieldService, { skipSelf: true });\n\n constructor() {\n reactiveAttributeBinding(inject(FormFieldService).controlHintId$, 'id');\n }\n}\n","import { Directive } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n@CSSComponent('form-field-label')\n@Directive({\n standalone: true,\n selector: 'odx-form-field-label',\n})\nexport class FormFieldLabelDirective {\n public readonly element = injectElement();\n}\n","import { Component, inject, Input, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { FormFieldHintDirective } from '../../directives';\nimport { FormFieldService } from '../../form-field.service';\nimport { FormFieldError } from '../../models';\n\n@Component({\n standalone: true,\n selector: 'odx-form-field-info',\n templateUrl: './form-field-info.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [CoreModule, DynamicViewDirective, FormFieldHintDirective],\n host: {\n '[class.odx-form-field__info]': 'true',\n },\n})\nexport class FormFieldInfoComponent {\n protected readonly formFieldService = inject(FormFieldService);\n\n @Input()\n public error: FormFieldError | null = null;\n}\n","<span class=\"odx-form-field-error\" [attr.id]=\"formFieldService.controlErrorId$ | async\" *ngIf=\"error; else hint\">\n <ng-template [odxDynamicView]=\"error.message\" [odxDynamicViewContext]=\"error.context\"></ng-template>\n</span>\n<ng-template #hint>\n <ng-content></ng-content>\n</ng-template>\n","import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, QueryList, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { combineLatest, map, Observable, startWith, switchMap } from 'rxjs';\nimport { FormFieldService } from '../../form-field.service';\nimport { FormFieldError } from '../../models';\nimport { FormFieldErrorService } from '../../services';\nimport { FormFieldInfoComponent } from '../form-field-info/form-field-info.component';\n\n@CSSComponent('form-group')\n@Component({\n standalone: true,\n selector: 'odx-form-group',\n templateUrl: './form-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CoreModule, FormFieldInfoComponent],\n providers: [FormFieldService],\n})\nexport class FormGroupComponent implements AfterContentInit {\n public readonly element = injectElement();\n public error$: Observable<FormFieldError | null> | null = null;\n\n @ContentChildren(FormFieldErrorService, { descendants: false })\n public formFieldErrorServices!: QueryList<FormFieldErrorService>;\n\n public ngAfterContentInit() {\n this.error$ = this.formFieldErrorServices.changes.pipe(\n startWith<QueryList<FormFieldErrorService>>(this.formFieldErrorServices),\n switchMap((services) => combineLatest(services.map((service) => service.error$))),\n map((errors) => errors.find((error) => error !== null) ?? null)\n );\n }\n}\n","<div class=\"odx-form-group__content\" odxLayout=\"grid auto vertical-end\">\n <ng-content select=\"odx-form-field\"> </ng-content>\n</div>\n<odx-form-field-info [error]=\"error$ | async\">\n <ng-content select=\"odx-form-field-hint\"></ng-content>\n</odx-form-field-info>\n","export type FormFieldVariant = (typeof FormFieldVariant)[keyof typeof FormFieldVariant];\n\nexport const FormFieldVariant = {\n FULL: 'full',\n SIMPLE: 'simple',\n} as const;\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, ContentChild, inject, Input, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, DisabledController, ReadonlyController } from '@odx/angular';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement, reactiveClassBinding } from '@odx/angular/utils';\nimport { BehaviorSubject, combineLatest, map } from 'rxjs';\nimport { FormFieldInfoComponent, FormGroupComponent } from './components';\nimport { FormFieldLabelDirective } from './directives';\nimport { FormFieldService } from './form-field.service';\nimport { FormFieldVariant } from './models';\nimport { FormFieldErrorService } from './services';\n\n@CSSComponent('form-field')\n@Component({\n standalone: true,\n selector: 'odx-form-field',\n imports: [CoreModule, FormFieldInfoComponent, FormFieldLabelDirective],\n templateUrl: './form-field.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [FormFieldService, FormFieldErrorService, DisabledController.connect(), ReadonlyController.connect()],\n})\nexport class FormFieldComponent {\n public static ngAcceptInputType_warnings: string | string[] | null;\n\n protected readonly hasWarning$$ = new BehaviorSubject(false);\n\n protected readonly formGroup = inject(FormGroupComponent, { optional: true, host: true });\n protected readonly formFieldService = inject(FormFieldService, { self: true });\n protected readonly formFieldErrorService = inject(FormFieldErrorService, { self: true });\n public readonly element = injectElement();\n\n @ContentChild(FormFieldLabelDirective)\n public labelDirective?: FormFieldLabelDirective;\n\n @Input()\n public label?: string | null = null;\n\n @Input()\n public set hasWarning(value: unknown) {\n this.hasWarning$$.next(coerceBooleanProperty(value));\n }\n public get hasWarning(): boolean {\n return this.hasWarning$$.getValue();\n }\n\n @CSSModifier()\n @Input()\n public variant: FormFieldVariant | null = FormFieldVariant.FULL;\n\n public get hasLabel(): boolean {\n return !!(this.labelDirective || this.label);\n }\n\n constructor() {\n const hasWarning$ = combineLatest([this.formFieldErrorService.error$, this.hasWarning$$]).pipe(map(([hasError, hasWarning]) => hasError && hasWarning));\n reactiveClassBinding(this.formFieldService.isRequired$, 'odx-form-field--required');\n reactiveClassBinding(this.formFieldService.isDisabled$, 'is-disabled');\n reactiveClassBinding(this.formFieldService.isReadonly$, 'is-readonly');\n reactiveClassBinding(this.formFieldErrorService.hasError$, 'has-error');\n reactiveClassBinding(hasWarning$, 'has-warning');\n }\n}\n","<label class=\"odx-form-field__label\" [attr.for]=\"formFieldService.controlId$ | async\" [attr.aria-owns]=\"formFieldService.controlId$ | async\" *ngIf=\"hasLabel\">\n <odx-form-field-label *ngIf=\"label; else labelTemplate\">\n {{ label }}\n </odx-form-field-label>\n <ng-template #labelTemplate>\n <ng-content select=\"odx-form-field-label\"></ng-content>\n </ng-template>\n</label>\n<div class=\"odx-form-field__inner\">\n <div class=\"odx-form-field__control\">\n <div class=\"odx-form-field__prefix\">\n <ng-content select=\"[odxFormFieldPrefix]\"></ng-content>\n </div>\n <ng-content></ng-content>\n <div class=\"odx-form-field__suffix\">\n <ng-content select=\"[odxFormFieldSuffix]\"></ng-content>\n </div>\n </div>\n <odx-form-field-info [error]=\"formFieldErrorService.error$ | async\" *ngIf=\"!formGroup\">\n <ng-content select=\"odx-form-field-hint\"></ng-content>\n </odx-form-field-info>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { FormGroupComponent } from './components';\nimport { FormDirective, FormFieldControlDirective, FormFieldErrorDirective, FormFieldHintDirective, FormFieldLabelDirective } from './directives';\nimport { FormFieldComponent } from './form-field.component';\n\nconst modules = [\n FormFieldComponent,\n FormGroupComponent,\n FormDirective,\n FormFieldControlDirective,\n FormFieldErrorDirective,\n FormFieldHintDirective,\n FormFieldLabelDirective,\n];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class FormFieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -19,9 +19,9 @@ class HeaderAvatarDirective {
|
|
|
19
19
|
this.button.variant = ButtonVariant.GHOST;
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
HeaderAvatarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
23
|
-
HeaderAvatarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
22
|
+
HeaderAvatarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderAvatarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
23
|
+
HeaderAvatarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: HeaderAvatarDirective, isStandalone: true, selector: "button[odxButton][odxHeaderAvatar]", host: { properties: { "class.odx-header__avatar": "true" } }, ngImport: i0 });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderAvatarDirective, decorators: [{
|
|
25
25
|
type: Directive,
|
|
26
26
|
args: [{
|
|
27
27
|
standalone: true,
|
|
@@ -34,9 +34,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
34
34
|
|
|
35
35
|
class HeaderTitleDirective {
|
|
36
36
|
}
|
|
37
|
-
HeaderTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
38
|
-
HeaderTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
37
|
+
HeaderTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
38
|
+
HeaderTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: HeaderTitleDirective, isStandalone: true, selector: "odx-header-title", host: { properties: { "class.odx-header__title": "true" } }, ngImport: i0 });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderTitleDirective, decorators: [{
|
|
40
40
|
type: Directive,
|
|
41
41
|
args: [{
|
|
42
42
|
selector: 'odx-header-title',
|
|
@@ -52,12 +52,12 @@ let HeaderComponent = class HeaderComponent {
|
|
|
52
52
|
this.element = injectElement();
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
|
-
HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
56
|
-
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
55
|
+
HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
+
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: HeaderComponent, isStandalone: true, selector: "odx-header", ngImport: i0, template: "<ng-content select=\"button[odxMainMenuButton]\"></ng-content>\n<odx-logo></odx-logo>\n<ng-content select=\"odx-header-title\"></ng-content>\n<ng-content select=\"odx-action-group, odx-auth\"></ng-content>\n<ng-content select=\"[odxHeaderAvatar]\"></ng-content>\n", dependencies: [{ kind: "directive", type: LogoDirective, selector: "odx-logo", inputs: ["size", "variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
57
57
|
HeaderComponent = __decorate([
|
|
58
58
|
CSSComponent('header')
|
|
59
59
|
], HeaderComponent);
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
61
61
|
type: Component,
|
|
62
62
|
args: [{ standalone: true, selector: 'odx-header', imports: [LogoDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"button[odxMainMenuButton]\"></ng-content>\n<odx-logo></odx-logo>\n<ng-content select=\"odx-header-title\"></ng-content>\n<ng-content select=\"odx-action-group, odx-auth\"></ng-content>\n<ng-content select=\"[odxHeaderAvatar]\"></ng-content>\n" }]
|
|
63
63
|
}] });
|
|
@@ -74,8 +74,8 @@ const modules = [
|
|
|
74
74
|
];
|
|
75
75
|
class HeaderModule {
|
|
76
76
|
}
|
|
77
|
-
HeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
78
|
-
HeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
|
77
|
+
HeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
78
|
+
HeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: HeaderModule, imports: [HeaderComponent,
|
|
79
79
|
HeaderTitleDirective,
|
|
80
80
|
HeaderAvatarDirective,
|
|
81
81
|
MainMenuModule,
|
|
@@ -90,13 +90,13 @@ HeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
|
90
90
|
IconComponent,
|
|
91
91
|
ButtonComponent,
|
|
92
92
|
AvatarComponent] });
|
|
93
|
-
HeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
|
93
|
+
HeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderModule, imports: [HeaderComponent,
|
|
94
94
|
MainMenuModule,
|
|
95
95
|
ActionGroupComponent,
|
|
96
96
|
IconComponent,
|
|
97
97
|
ButtonComponent,
|
|
98
98
|
AvatarComponent, CoreModule, MainMenuModule] });
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderModule, decorators: [{
|
|
100
100
|
type: NgModule,
|
|
101
101
|
args: [{
|
|
102
102
|
imports: modules,
|
|
@@ -26,8 +26,8 @@ let IconComponent = class IconComponent {
|
|
|
26
26
|
this.iconSet = injectIconConfig().defaultIconSet;
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
|
-
IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
30
|
-
IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
29
|
+
IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: IconComponent, isStandalone: true, selector: "odx-icon", inputs: { inline: "inline", size: "size", name: "name", iconSet: "iconSet" }, host: { attributes: { "translate": "no" }, properties: { "class.notranslate": "true", "attr.data-icon-name": "name", "attr.data-icon-set": "iconSet" } }, ngImport: i0, template: '<span></span>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
31
31
|
__decorate([
|
|
32
32
|
CSSModifier(),
|
|
33
33
|
Transform(coerceBooleanProperty),
|
|
@@ -40,7 +40,7 @@ __decorate([
|
|
|
40
40
|
IconComponent = __decorate([
|
|
41
41
|
CSSComponent('icon')
|
|
42
42
|
], IconComponent);
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IconComponent, decorators: [{
|
|
44
44
|
type: Component,
|
|
45
45
|
args: [{
|
|
46
46
|
selector: 'odx-icon',
|
|
@@ -30,8 +30,8 @@ let InlineMessageComponent = class InlineMessageComponent {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
|
-
InlineMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
34
|
-
InlineMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
33
|
+
InlineMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InlineMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
InlineMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: InlineMessageComponent, isStandalone: true, selector: "odx-inline-message", inputs: { variant: "variant" }, ngImport: i0, template: "<odx-icon size=\"medium\" [name]=\"icon\" iconSet=\"core\"></odx-icon>\n<div class=\"odx-inline-message__content\">\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
35
35
|
__decorate([
|
|
36
36
|
CSSModifier(),
|
|
37
37
|
__metadata("design:type", Object)
|
|
@@ -39,7 +39,7 @@ __decorate([
|
|
|
39
39
|
InlineMessageComponent = __decorate([
|
|
40
40
|
CSSComponent('inline-message')
|
|
41
41
|
], InlineMessageComponent);
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InlineMessageComponent, decorators: [{
|
|
43
43
|
type: Component,
|
|
44
44
|
args: [{ selector: 'odx-inline-message', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [IconComponent], template: "<odx-icon size=\"medium\" [name]=\"icon\" iconSet=\"core\"></odx-icon>\n<div class=\"odx-inline-message__content\">\n <ng-content></ng-content>\n</div>\n" }]
|
|
45
45
|
}], propDecorators: { variant: [{
|
|
@@ -11,12 +11,12 @@ let LinkDirective = class LinkDirective {
|
|
|
11
11
|
this.element = injectElement();
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
|
-
LinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
15
|
-
LinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
14
|
+
LinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LinkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
15
|
+
LinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: LinkDirective, isStandalone: true, selector: "a[odxLink]", hostDirectives: [{ directive: i1.WithDisabledState }, { directive: i1.WithTabIndex }], ngImport: i0 });
|
|
16
16
|
LinkDirective = __decorate([
|
|
17
17
|
CSSComponent('link')
|
|
18
18
|
], LinkDirective);
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LinkDirective, decorators: [{
|
|
20
20
|
type: Directive,
|
|
21
21
|
args: [{
|
|
22
22
|
selector: 'a[odxLink]',
|
|
@@ -27,8 +27,8 @@ let ExpandableListItemComponent = class ExpandableListItemComponent extends Expa
|
|
|
27
27
|
return !this.isDisabled && this.expanded;
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
|
-
ExpandableListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
31
|
-
ExpandableListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
30
|
+
ExpandableListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExpandableListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
+
ExpandableListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ExpandableListItemComponent, isStandalone: true, selector: "odx-expandable-list-item", inputs: { danger: "danger" }, host: { properties: { "class.odx-expandable-list-item--expanded": "isExpanded", "class.odx-expandable-list-item--danger": "danger", "attr.title": "null" } }, providers: [DisabledController.connect()], usesInheritance: true, ngImport: i0, template: "<div\n role=\"button\"\n class=\"odx-expandable-list-item__header odx-list-item\"\n [attr.tabindex]=\"isDisabled ? -1 : 0\"\n [class.is-disabled]=\"isDisabled\"\n [class.odx-list-item--danger]=\"danger\"\n [class.odx-list-item--selected]=\"isExpanded\"\n (odxCdkInteractive)=\"toggle()\"\n>\n <div class=\"odx-expandable-list-item__content\">\n <ng-content></ng-content>\n </div>\n <odx-icon name=\"chevron-down\" iconSet=\"core\" class=\"odx-expandable-list-item__expand-icon\"></odx-icon>\n</div>\n\n<div class=\"odx-expandable-list-item__slot\" @expandSlotAnimation *ngIf=\"isExpanded\">\n <ng-content select=\"odx-list\"></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: InteractiveDirective, selector: "[odxCdkInteractive]", outputs: ["odxCdkInteractive"] }, { kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }], animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
32
32
|
__decorate([
|
|
33
33
|
CSSModifier(),
|
|
34
34
|
Transform(coerceBooleanProperty),
|
|
@@ -37,7 +37,7 @@ __decorate([
|
|
|
37
37
|
ExpandableListItemComponent = __decorate([
|
|
38
38
|
CSSComponent('expandable-list-item')
|
|
39
39
|
], ExpandableListItemComponent);
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExpandableListItemComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
42
42
|
args: [{ standalone: true, selector: 'odx-expandable-list-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DisabledController.connect()], imports: [InteractiveDirective, CoreModule, IconComponent], host: {
|
|
43
43
|
'[class.odx-expandable-list-item--expanded]': 'isExpanded',
|
|
@@ -55,8 +55,8 @@ let ListItemComponent = class ListItemComponent {
|
|
|
55
55
|
this.selected = false;
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
|
-
ListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
59
|
-
ListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
58
|
+
ListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
+
ListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ListItemComponent, isStandalone: true, selector: "[odxListItem]", inputs: { danger: "danger", selected: "selected" }, hostDirectives: [{ directive: i1$1.WithDisabledState }, { directive: i1$1.WithTabIndex }], ngImport: i0, template: "<ng-content select=\"[odxListPrefix]\"></ng-content>\n<div class=\"odx-list-item__content\">\n <ng-content></ng-content>\n</div>\n<ng-content select=\"[odxListSuffix]\"></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
60
60
|
__decorate([
|
|
61
61
|
CSSModifier(),
|
|
62
62
|
Transform(coerceBooleanProperty),
|
|
@@ -70,7 +70,7 @@ __decorate([
|
|
|
70
70
|
ListItemComponent = __decorate([
|
|
71
71
|
CSSComponent('list-item')
|
|
72
72
|
], ListItemComponent);
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListItemComponent, decorators: [{
|
|
74
74
|
type: Component,
|
|
75
75
|
args: [{ standalone: true, selector: '[odxListItem]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [WithDisabledState, WithTabIndex], template: "<ng-content select=\"[odxListPrefix]\"></ng-content>\n<div class=\"odx-list-item__content\">\n <ng-content></ng-content>\n</div>\n<ng-content select=\"[odxListSuffix]\"></ng-content>\n" }]
|
|
76
76
|
}], propDecorators: { danger: [{
|
|
@@ -87,8 +87,8 @@ let ListComponent = ListComponent_1 = class ListComponent extends ExpandableCont
|
|
|
87
87
|
this.multiple = true;
|
|
88
88
|
}
|
|
89
89
|
};
|
|
90
|
-
ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
91
|
-
ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
90
|
+
ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
+
ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ListComponent, isStandalone: true, selector: "odx-list", inputs: { multiple: "multiple" }, providers: [{ provide: EXPANDABLE_CONTAINER, useExisting: forwardRef(() => ListComponent_1) }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[odxListItem], odx-expandable-list-item\"></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
92
92
|
__decorate([
|
|
93
93
|
Transform(coerceBooleanProperty),
|
|
94
94
|
__metadata("design:type", Object)
|
|
@@ -96,7 +96,7 @@ __decorate([
|
|
|
96
96
|
ListComponent = ListComponent_1 = __decorate([
|
|
97
97
|
CSSComponent('list')
|
|
98
98
|
], ListComponent);
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListComponent, decorators: [{
|
|
100
100
|
type: Component,
|
|
101
101
|
args: [{ selector: 'odx-list', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: EXPANDABLE_CONTAINER, useExisting: forwardRef(() => ListComponent) }], template: "<ng-content select=\"[odxListItem], odx-expandable-list-item\"></ng-content>\n" }]
|
|
102
102
|
}], propDecorators: { multiple: [{
|
|
@@ -106,10 +106,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
106
106
|
const modules = [ListComponent, ListItemComponent, ExpandableListItemComponent, IconComponent];
|
|
107
107
|
class ListModule {
|
|
108
108
|
}
|
|
109
|
-
ListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
110
|
-
ListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
|
111
|
-
ListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
109
|
+
ListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
110
|
+
ListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ListModule, imports: [ListComponent, ListItemComponent, ExpandableListItemComponent, IconComponent], exports: [ListComponent, ListItemComponent, ExpandableListItemComponent, IconComponent] });
|
|
111
|
+
ListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListModule, imports: [modules] });
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListModule, decorators: [{
|
|
113
113
|
type: NgModule,
|
|
114
114
|
args: [{
|
|
115
115
|
imports: modules,
|
|
@@ -71,8 +71,8 @@ class LoadingSpinnerDirective {
|
|
|
71
71
|
return this.windowRef.nativeWindow.getComputedStyle(this.hostElement.nativeElement).position === 'static';
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
-
LoadingSpinnerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
75
|
-
LoadingSpinnerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
74
|
+
LoadingSpinnerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoadingSpinnerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
75
|
+
LoadingSpinnerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: LoadingSpinnerDirective, isStandalone: true, selector: "[odxLoadingSpinner]", inputs: { autoColor: ["odxLoadingSpinnerAutoColor", "autoColor"], isLoading: ["odxLoadingSpinner", "isLoading"], minHeight: ["odxLoadingSpinnerMinHeight", "minHeight"] }, providers: [DisabledController.connect()], ngImport: i0 });
|
|
76
76
|
__decorate([
|
|
77
77
|
Transform(coerceBooleanProperty),
|
|
78
78
|
__metadata("design:type", Object)
|
|
@@ -82,7 +82,7 @@ __decorate([
|
|
|
82
82
|
__metadata("design:type", Object),
|
|
83
83
|
__metadata("design:paramtypes", [Object])
|
|
84
84
|
], LoadingSpinnerDirective.prototype, "minHeight", null);
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoadingSpinnerDirective, decorators: [{
|
|
86
86
|
type: Directive,
|
|
87
87
|
args: [{
|
|
88
88
|
standalone: true,
|
|
@@ -128,8 +128,8 @@ let LoadingSpinnerComponent = class LoadingSpinnerComponent {
|
|
|
128
128
|
return null;
|
|
129
129
|
}
|
|
130
130
|
};
|
|
131
|
-
LoadingSpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
132
|
-
LoadingSpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
131
|
+
LoadingSpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
132
|
+
LoadingSpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: LoadingSpinnerComponent, isStandalone: true, selector: "odx-loading-spinner", inputs: { autoColor: "autoColor" }, host: { listeners: { "@hostAnimation.done": "animationFinished($event)" }, properties: { "@hostAnimation": "true" } }, ngImport: i0, template: "<odx-circular-progress size=\"auto\" value=\"-1\"></odx-circular-progress>\n<div class=\"odx-loading-spinner__backdrop\" [style.backgroundColor]=\"backgroundColor\"></div>\n", dependencies: [{ kind: "component", type: CircularProgressComponent, selector: "odx-circular-progress", inputs: ["stroke", "size", "value"] }], animations: [trigger('hostAnimation', [transition(':enter', useAnimation(fadeIn())), transition(':leave', useAnimation(fadeOut()))])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
133
133
|
__decorate([
|
|
134
134
|
CSSModifier(),
|
|
135
135
|
__metadata("design:type", Object)
|
|
@@ -137,7 +137,7 @@ __decorate([
|
|
|
137
137
|
LoadingSpinnerComponent = __decorate([
|
|
138
138
|
CSSComponent('loading-spinner')
|
|
139
139
|
], LoadingSpinnerComponent);
|
|
140
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoadingSpinnerComponent, decorators: [{
|
|
141
141
|
type: Component,
|
|
142
142
|
args: [{ standalone: true, selector: 'odx-loading-spinner', imports: [CircularProgressComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
143
143
|
'[@hostAnimation]': 'true',
|
|
@@ -150,10 +150,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
150
150
|
const modules = [LoadingSpinnerComponent, LoadingSpinnerDirective];
|
|
151
151
|
class LoadingSpinnerModule {
|
|
152
152
|
}
|
|
153
|
-
LoadingSpinnerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
154
|
-
LoadingSpinnerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
|
155
|
-
LoadingSpinnerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
|
156
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
153
|
+
LoadingSpinnerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoadingSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
154
|
+
LoadingSpinnerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: LoadingSpinnerModule, imports: [LoadingSpinnerComponent, LoadingSpinnerDirective], exports: [CoreModule, LoadingSpinnerComponent, LoadingSpinnerDirective] });
|
|
155
|
+
LoadingSpinnerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoadingSpinnerModule, imports: [LoadingSpinnerComponent, CoreModule] });
|
|
156
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoadingSpinnerModule, decorators: [{
|
|
157
157
|
type: NgModule,
|
|
158
158
|
args: [{
|
|
159
159
|
imports: modules,
|
|
@@ -22,8 +22,8 @@ let LogoDirective = class LogoDirective {
|
|
|
22
22
|
this.variant = LogoVariant.DEFAULT;
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
|
-
LogoDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
26
|
-
LogoDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
25
|
+
LogoDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogoDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
26
|
+
LogoDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: LogoDirective, isStandalone: true, selector: "odx-logo", inputs: { size: "size", variant: "variant" }, host: { attributes: { "translate": "no", "role": "img" }, properties: { "class.notranslate": "true", "attr.aria-label": "\"Dr\u00E4ger logo\"", "attr.aria-roledescription": "\"logo\"" } }, ngImport: i0 });
|
|
27
27
|
__decorate([
|
|
28
28
|
CSSModifier(),
|
|
29
29
|
__metadata("design:type", String)
|
|
@@ -35,7 +35,7 @@ __decorate([
|
|
|
35
35
|
LogoDirective = __decorate([
|
|
36
36
|
CSSComponent('logo')
|
|
37
37
|
], LogoDirective);
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogoDirective, decorators: [{
|
|
39
39
|
type: Directive,
|
|
40
40
|
args: [{
|
|
41
41
|
selector: 'odx-logo',
|