@odx/angular 11.5.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/breakpoints/lib/breakpoints.config.d.ts +1 -1
- package/breakpoints/lib/breakpoints.typings.d.ts +1 -2
- package/components/calendar/lib/calendar.config.d.ts +1 -1
- package/components/card/lib/card.config.d.ts +1 -1
- package/components/datepicker/lib/datepicker.config.d.ts +1 -1
- package/components/daterangepicker/lib/daterangepicker.config.d.ts +1 -1
- package/components/error-page/lib/error-page.config.d.ts +1 -1
- package/components/footer/lib/footer.config.d.ts +1 -1
- package/components/form-field/lib/form-field.config.d.ts +1 -1
- package/components/icon/lib/icon.config.d.ts +1 -1
- package/components/main-menu/lib/main-menu.config.d.ts +1 -1
- package/components/modal/lib/modal.config.d.ts +1 -1
- package/components/notification/lib/notification.config.d.ts +1 -1
- package/components/paginator/lib/paginator.config.d.ts +1 -1
- package/components/timepicker/lib/directives/timepicker-input-control.directive.d.ts +3 -3
- package/components/toast/lib/toast.config.d.ts +1 -1
- package/components/tooltip/lib/tooltip.config.d.ts +1 -1
- package/esm2022/breakpoints/lib/breakpoints.module.mjs +4 -4
- package/esm2022/breakpoints/lib/breakpoints.service.mjs +3 -3
- package/esm2022/breakpoints/lib/breakpoints.typings.mjs +1 -1
- package/esm2022/breakpoints/lib/directives/match-breakpoints.directive.mjs +3 -3
- package/esm2022/cdk/a11y/lib/a11y.module.mjs +4 -4
- package/esm2022/cdk/a11y/lib/directives/interactive.directive.mjs +3 -3
- package/esm2022/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +3 -3
- package/esm2022/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +3 -3
- package/esm2022/cdk/active-indicator/lib/active-indicator.directive.mjs +3 -3
- package/esm2022/cdk/autocomplete-control/lib/autocomplete-control.mjs +3 -3
- package/esm2022/cdk/checkbox-control/lib/checkbox-control.directive.mjs +3 -3
- package/esm2022/cdk/connected-overlay/lib/connected-overlay.component.mjs +3 -3
- package/esm2022/cdk/connected-overlay/lib/connected-overlay.service.mjs +3 -3
- package/esm2022/cdk/custom-form-control/lib/control.directive.mjs +3 -3
- package/esm2022/cdk/custom-form-control/lib/custom-form-control.mjs +3 -3
- package/esm2022/cdk/custom-form-control/lib/input-control.directive.mjs +3 -3
- package/esm2022/cdk/dynamic-view/lib/dynamic-view.component.mjs +3 -3
- package/esm2022/cdk/dynamic-view/lib/dynamic-view.directive.mjs +3 -3
- package/esm2022/cdk/dynamic-view/lib/dynamic-view.service.mjs +3 -3
- package/esm2022/cdk/event-plugins/lib/models/event-plugin.mjs +1 -1
- package/esm2022/cdk/event-plugins/lib/plugins/debounce-event-plugin.mjs +5 -5
- package/esm2022/cdk/event-plugins/lib/plugins/defer-event-plugin.mjs +5 -5
- package/esm2022/cdk/expandable/lib/directives/expandable-container.directive.mjs +3 -3
- package/esm2022/cdk/expandable/lib/directives/expandable-item.directive.mjs +3 -3
- package/esm2022/cdk/expandable/lib/expandable.module.mjs +4 -4
- package/esm2022/cdk/option-control/lib/option-control.mjs +3 -3
- package/esm2022/cdk/radio-group-control/lib/radio-control.directive.mjs +3 -3
- package/esm2022/cdk/radio-group-control/lib/radio-group-control.directive.mjs +3 -3
- package/esm2022/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
- package/esm2022/components/accordion/lib/accordion.component.mjs +3 -3
- package/esm2022/components/accordion/lib/accordion.module.mjs +4 -4
- package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +3 -3
- package/esm2022/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
- package/esm2022/components/action-group/action-group.component.mjs +3 -3
- package/esm2022/components/area-header/area-header.component.mjs +3 -3
- package/esm2022/components/area-header/area-header.module.mjs +4 -4
- package/esm2022/components/area-header/directives/area-header-content.directive.mjs +3 -3
- package/esm2022/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
- package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +3 -3
- package/esm2022/components/autocomplete/lib/autocomplete.module.mjs +4 -4
- package/esm2022/components/autocomplete/lib/components/option/autocomplete-option.component.mjs +3 -3
- package/esm2022/components/autocomplete/lib/directives/autocomplete-input-control.directive.mjs +3 -3
- package/esm2022/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.mjs +3 -3
- package/esm2022/components/avatar/lib/avatar.component.mjs +3 -3
- package/esm2022/components/badge/lib/badge.component.mjs +3 -3
- package/esm2022/components/badge/lib/badge.directive.mjs +3 -3
- package/esm2022/components/bar/lib/bar.component.mjs +3 -3
- package/esm2022/components/bar/lib/bar.module.mjs +4 -4
- package/esm2022/components/bar/lib/directives/bar-button.directive.mjs +3 -3
- package/esm2022/components/bar/lib/directives/bar-label.directive.mjs +3 -3
- package/esm2022/components/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
- package/esm2022/components/button/lib/button.component.mjs +3 -3
- package/esm2022/components/button/lib/directives/responsive-button.directive.mjs +3 -3
- package/esm2022/components/button-group/lib/button-group.component.mjs +3 -3
- package/esm2022/components/calendar/lib/calendar.component.mjs +3 -3
- package/esm2022/components/calendar/lib/calendar.service.mjs +3 -3
- package/esm2022/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +3 -3
- package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +3 -3
- package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +3 -3
- package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +3 -3
- package/esm2022/components/calendar/lib/daterange.service.mjs +3 -3
- package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +3 -3
- package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +3 -3
- package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +3 -3
- package/esm2022/components/calendar/lib/services/calendar-month.service.mjs +3 -3
- package/esm2022/components/calendar/lib/services/calendar-year.service.mjs +3 -3
- package/esm2022/components/calendar/lib/services/calendar-years.service.mjs +3 -3
- package/esm2022/components/card/lib/card.component.mjs +3 -3
- package/esm2022/components/card/lib/card.module.mjs +4 -4
- package/esm2022/components/card/lib/components/card-footer/card-footer.component.mjs +3 -3
- package/esm2022/components/card/lib/components/card-image/card-image.component.mjs +3 -3
- package/esm2022/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +3 -3
- package/esm2022/components/card/lib/directives/card-content.directive.mjs +3 -3
- package/esm2022/components/checkbox/lib/checkbox.component.mjs +3 -3
- package/esm2022/components/checkbox/lib/checkbox.module.mjs +4 -4
- package/esm2022/components/checkbox/lib/checkbox.validator.mjs +3 -3
- package/esm2022/components/chip/lib/components/chip/chip.component.mjs +3 -3
- package/esm2022/components/chip/lib/components/chip-list/chip-list.component.mjs +3 -3
- package/esm2022/components/chip/lib/components/chip-list-row/chip-list-row.component.mjs +3 -3
- package/esm2022/components/circular-progress/lib/circular-progress.component.mjs +3 -3
- package/esm2022/components/content-box/lib/content-box.component.mjs +3 -3
- package/esm2022/components/content-box/lib/content-box.module.mjs +4 -4
- package/esm2022/components/content-box/lib/directives/content-box-footer.directive.mjs +3 -3
- package/esm2022/components/content-box/lib/directives/content-box-header.directive.mjs +3 -3
- package/esm2022/components/datepicker/lib/datepicker.component.mjs +3 -3
- package/esm2022/components/datepicker/lib/datepicker.module.mjs +4 -4
- package/esm2022/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +4 -4
- package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +3 -3
- package/esm2022/components/daterangepicker/lib/daterangepicker.module.mjs +4 -4
- package/esm2022/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.mjs +4 -4
- package/esm2022/components/daterangepicker/lib/range.validator.mjs +3 -3
- package/esm2022/components/daterangepicker/lib/required.validator.mjs +3 -3
- package/esm2022/components/dropdown/lib/dropdown.component.mjs +3 -3
- package/esm2022/components/dropdown/lib/dropdown.directive.mjs +3 -3
- package/esm2022/components/dropdown/lib/dropdown.module.mjs +4 -4
- package/esm2022/components/error-page/lib/error-page.component.mjs +3 -3
- package/esm2022/components/footer/lib/footer.component.mjs +3 -3
- package/esm2022/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
- package/esm2022/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
- package/esm2022/components/form-field/lib/directives/form-field-control.directive.mjs +3 -3
- package/esm2022/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
- package/esm2022/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
- package/esm2022/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
- package/esm2022/components/form-field/lib/directives/form.directive.mjs +3 -3
- package/esm2022/components/form-field/lib/form-field.component.mjs +3 -3
- package/esm2022/components/form-field/lib/form-field.module.mjs +4 -4
- package/esm2022/components/form-field/lib/form-field.service.mjs +3 -3
- package/esm2022/components/form-field/lib/services/form-field-error.service.mjs +3 -3
- package/esm2022/components/header/lib/directives/header-avatar.directive.mjs +3 -3
- package/esm2022/components/header/lib/directives/header-title.directive.mjs +3 -3
- package/esm2022/components/header/lib/header.component.mjs +3 -3
- package/esm2022/components/header/lib/header.module.mjs +4 -4
- package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs +6 -6
- package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +3 -3
- package/esm2022/components/header-navigation/lib/header-navigation.module.mjs +4 -4
- package/esm2022/components/icon/lib/icon.component.mjs +3 -3
- package/esm2022/components/inline-message/lib/inline-message.component.mjs +3 -3
- package/esm2022/components/link/link.directive.mjs +3 -3
- package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +3 -3
- package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +3 -3
- package/esm2022/components/list/lib/list.component.mjs +3 -3
- package/esm2022/components/list/lib/list.module.mjs +4 -4
- package/esm2022/components/loading-spinner/lib/loading-spinner.component.mjs +3 -3
- package/esm2022/components/loading-spinner/lib/loading-spinner.directive.mjs +3 -3
- package/esm2022/components/loading-spinner/lib/loading-spinner.module.mjs +4 -4
- package/esm2022/components/logo/logo.directive.mjs +3 -3
- package/esm2022/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
- package/esm2022/components/main-menu/lib/directives/main-menu-close.directive.mjs +3 -3
- package/esm2022/components/main-menu/lib/directives/main-menu-item.directive.mjs +3 -3
- package/esm2022/components/main-menu/lib/main-menu.component.mjs +3 -3
- package/esm2022/components/main-menu/lib/main-menu.module.mjs +4 -4
- package/esm2022/components/main-menu/lib/main-menu.service.mjs +3 -3
- package/esm2022/components/mainfilter-group/lib/mainfilter-group.component.mjs +3 -3
- package/esm2022/components/menu/lib/directives/menu-item.directive.mjs +3 -3
- package/esm2022/components/menu/lib/menu.component.mjs +3 -3
- package/esm2022/components/menu/lib/menu.directive.mjs +3 -3
- package/esm2022/components/menu/lib/menu.module.mjs +4 -4
- package/esm2022/components/modal/lib/components/basic-modal/basic-modal.component.mjs +3 -3
- package/esm2022/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
- package/esm2022/components/modal/lib/components/modal-header/modal-header.component.mjs +3 -3
- package/esm2022/components/modal/lib/components/modal-hero/modal-hero.component.mjs +3 -3
- package/esm2022/components/modal/lib/directives/modal-close.directive.mjs +3 -3
- package/esm2022/components/modal/lib/directives/modal-content.directive.mjs +3 -3
- package/esm2022/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
- package/esm2022/components/modal/lib/directives/prevent-form-method-dialog.directive.mjs +3 -3
- package/esm2022/components/modal/lib/directives/prevent-method-dialog.directive.mjs +3 -3
- package/esm2022/components/modal/lib/modal.component.mjs +3 -3
- package/esm2022/components/modal/lib/modal.directive.mjs +3 -3
- package/esm2022/components/modal/lib/modal.module.mjs +4 -4
- package/esm2022/components/modal/lib/modal.service.mjs +3 -3
- package/esm2022/components/navigation-back/lib/navigation-back.component.mjs +3 -3
- package/esm2022/components/notification/lib/components/notification-center/notification-center.component.mjs +3 -3
- package/esm2022/components/notification/lib/components/notification-item/notification-item.component.mjs +3 -3
- package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +3 -3
- package/esm2022/components/notification/lib/notification.service.mjs +3 -3
- package/esm2022/components/notification/lib/services/notification-center.service.mjs +3 -3
- package/esm2022/components/paginator/lib/paginator.component.mjs +3 -3
- package/esm2022/components/paginator/lib/paginator.module.mjs +4 -4
- package/esm2022/components/progress/lib/progress.component.mjs +3 -3
- package/esm2022/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -3
- package/esm2022/components/radio-group/lib/radio-group.component.mjs +3 -3
- package/esm2022/components/radio-group/lib/radio-group.module.mjs +4 -4
- package/esm2022/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.mjs +3 -3
- package/esm2022/components/rail-navigation/lib/rail-navigation.component.mjs +3 -3
- package/esm2022/components/rail-navigation/lib/rail-navigation.module.mjs +4 -4
- package/esm2022/components/rich-list/lib/components/rich-list-content/rich-list-content.component.mjs +3 -3
- package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +3 -3
- package/esm2022/components/rich-list/lib/components/rich-list-item-header/rich-list-item-header.component.mjs +3 -3
- package/esm2022/components/rich-list/lib/rich-list.component.mjs +3 -3
- package/esm2022/components/rich-list/lib/rich-list.module.mjs +4 -4
- package/esm2022/components/search-bar/lib/search-bar-control.directive.mjs +3 -3
- package/esm2022/components/search-bar/lib/search-bar.component.mjs +3 -3
- package/esm2022/components/search-bar/lib/search-bar.module.mjs +4 -4
- package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +3 -3
- package/esm2022/components/select/lib/directives/select-input-control.directive.mjs +3 -3
- package/esm2022/components/select/lib/pipes/select-search-filter.pipe.mjs +3 -3
- package/esm2022/components/select/lib/select.component.mjs +3 -3
- package/esm2022/components/select/lib/select.module.mjs +4 -4
- package/esm2022/components/slider/lib/slider.directive.mjs +3 -3
- package/esm2022/components/spinbox/lib/spinbox.component.mjs +3 -3
- package/esm2022/components/switch/lib/switch.component.mjs +3 -3
- package/esm2022/components/switch/lib/switch.module.mjs +4 -4
- package/esm2022/components/switch/lib/switch.validator.mjs +3 -3
- package/esm2022/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +3 -3
- package/esm2022/components/tab-bar/lib/tab-bar.component.mjs +3 -3
- package/esm2022/components/tab-bar/lib/tab-bar.module.mjs +4 -4
- package/esm2022/components/table/lib/components/check-cell/check-cell.component.mjs +3 -3
- package/esm2022/components/table/lib/components/header-title/header-title.component.mjs +3 -3
- package/esm2022/components/table/lib/directives/table-cell.directive.mjs +3 -3
- package/esm2022/components/table/lib/directives/table-row.directive.mjs +3 -3
- package/esm2022/components/table/lib/table.component.mjs +3 -3
- package/esm2022/components/table/lib/table.module.mjs +4 -4
- package/esm2022/components/timepicker/lib/components/timepicker-option.component.mjs +3 -3
- package/esm2022/components/timepicker/lib/directives/timepicker-input-control.directive.mjs +5 -5
- package/esm2022/components/timepicker/lib/timepicker.component.mjs +3 -3
- package/esm2022/components/timepicker/lib/timepicker.module.mjs +4 -4
- package/esm2022/components/timepicker/lib/timepicker.service.mjs +3 -3
- package/esm2022/components/toast/lib/components/toast-container/toast-container.component.mjs +3 -3
- package/esm2022/components/toast/lib/components/toast-item/toast-item.component.mjs +3 -3
- package/esm2022/components/toast/lib/toast.module.mjs +4 -4
- package/esm2022/components/toast/lib/toast.service.mjs +3 -3
- package/esm2022/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +3 -3
- package/esm2022/components/toggle-button-group/lib/toggle-button-group.component.mjs +3 -3
- package/esm2022/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
- package/esm2022/components/tooltip/lib/tooltip.component.mjs +3 -3
- package/esm2022/components/tooltip/lib/tooltip.directive.mjs +3 -3
- package/esm2022/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +3 -3
- package/esm2022/components/wizard/lib/wizard.component.mjs +3 -3
- package/esm2022/components/wizard/lib/wizard.module.mjs +4 -4
- package/esm2022/internal/translate/lib/pipes/translate.pipe.mjs +3 -3
- package/esm2022/lib/controllers/controller.mjs +3 -3
- package/esm2022/lib/controllers/disabled.controller.mjs +3 -3
- package/esm2022/lib/controllers/readonly.controller.mjs +3 -3
- package/esm2022/lib/core.module.mjs +4 -4
- package/esm2022/lib/directives/click-outside.directive.mjs +3 -3
- package/esm2022/lib/directives/delegate-focus.directive.mjs +3 -3
- package/esm2022/lib/directives/with-disabled-state.directive.mjs +3 -3
- package/esm2022/lib/directives/with-tabindex.directive.mjs +3 -3
- package/esm2022/lib/services/window-ref.mjs +3 -3
- package/esm2022/localization/lib/localization.service.mjs +3 -3
- package/esm2022/theming/lib/theming.service.mjs +3 -3
- package/esm2022/utils/lib/helpers/dom.mjs +3 -2
- package/esm2022/utils/lib/helpers/event-manager.mjs +3 -3
- package/fesm2022/odx-angular-animations.mjs.map +1 -1
- package/fesm2022/odx-angular-breakpoints.mjs +10 -10
- package/fesm2022/odx-angular-breakpoints.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-a11y.mjs +13 -13
- package/fesm2022/odx-angular-cdk-a11y.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-active-indicator.mjs +3 -3
- package/fesm2022/odx-angular-cdk-active-indicator.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-autocomplete-control.mjs +3 -3
- package/fesm2022/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-checkbox-control.mjs +3 -3
- package/fesm2022/odx-angular-cdk-checkbox-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-connected-overlay.mjs +6 -6
- package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-custom-form-control.mjs +9 -9
- package/fesm2022/odx-angular-cdk-custom-form-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-dynamic-view.mjs +9 -9
- package/fesm2022/odx-angular-cdk-dynamic-view.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-event-plugins.mjs +8 -8
- package/fesm2022/odx-angular-cdk-event-plugins.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-expandable.mjs +10 -10
- package/fesm2022/odx-angular-cdk-expandable.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-option-control.mjs +3 -3
- package/fesm2022/odx-angular-cdk-option-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-radio-group-control.mjs +10 -10
- package/fesm2022/odx-angular-cdk-radio-group-control.mjs.map +1 -1
- package/fesm2022/odx-angular-components-accordion.mjs +13 -13
- package/fesm2022/odx-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/odx-angular-components-action-group.mjs +3 -3
- package/fesm2022/odx-angular-components-action-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-area-header.mjs +13 -13
- package/fesm2022/odx-angular-components-area-header.mjs.map +1 -1
- package/fesm2022/odx-angular-components-autocomplete.mjs +16 -16
- package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2022/odx-angular-components-avatar.mjs +3 -3
- package/fesm2022/odx-angular-components-avatar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-badge.mjs +6 -6
- package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
- package/fesm2022/odx-angular-components-bar.mjs +13 -13
- package/fesm2022/odx-angular-components-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-breadcrumbs.mjs +3 -3
- package/fesm2022/odx-angular-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/odx-angular-components-button-group.mjs +3 -3
- package/fesm2022/odx-angular-components-button-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-button.mjs +6 -6
- package/fesm2022/odx-angular-components-button.mjs.map +1 -1
- package/fesm2022/odx-angular-components-calendar.mjs +39 -39
- package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-card.mjs +19 -19
- package/fesm2022/odx-angular-components-card.mjs.map +1 -1
- package/fesm2022/odx-angular-components-checkbox.mjs +10 -10
- package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
- package/fesm2022/odx-angular-components-chip.mjs +9 -9
- package/fesm2022/odx-angular-components-chip.mjs.map +1 -1
- package/fesm2022/odx-angular-components-circular-progress.mjs +3 -3
- package/fesm2022/odx-angular-components-circular-progress.mjs.map +1 -1
- package/fesm2022/odx-angular-components-content-box.mjs +13 -13
- package/fesm2022/odx-angular-components-content-box.mjs.map +1 -1
- package/fesm2022/odx-angular-components-datepicker.mjs +10 -10
- package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-daterangepicker.mjs +16 -16
- package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-dropdown.mjs +10 -10
- package/fesm2022/odx-angular-components-dropdown.mjs.map +1 -1
- package/fesm2022/odx-angular-components-error-page.mjs +3 -3
- package/fesm2022/odx-angular-components-error-page.mjs.map +1 -1
- package/fesm2022/odx-angular-components-footer.mjs +3 -3
- package/fesm2022/odx-angular-components-footer.mjs.map +1 -1
- package/fesm2022/odx-angular-components-form-field.mjs +34 -34
- package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
- package/fesm2022/odx-angular-components-header-navigation.mjs +13 -13
- package/fesm2022/odx-angular-components-header-navigation.mjs.map +1 -1
- package/fesm2022/odx-angular-components-header.mjs +13 -13
- package/fesm2022/odx-angular-components-header.mjs.map +1 -1
- package/fesm2022/odx-angular-components-icon.mjs +3 -3
- package/fesm2022/odx-angular-components-icon.mjs.map +1 -1
- package/fesm2022/odx-angular-components-inline-message.mjs +3 -3
- package/fesm2022/odx-angular-components-inline-message.mjs.map +1 -1
- package/fesm2022/odx-angular-components-link.mjs +3 -3
- package/fesm2022/odx-angular-components-link.mjs.map +1 -1
- package/fesm2022/odx-angular-components-list.mjs +13 -13
- package/fesm2022/odx-angular-components-list.mjs.map +1 -1
- package/fesm2022/odx-angular-components-loading-spinner.mjs +10 -10
- package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
- package/fesm2022/odx-angular-components-logo.mjs +3 -3
- package/fesm2022/odx-angular-components-logo.mjs.map +1 -1
- package/fesm2022/odx-angular-components-main-menu.mjs +19 -19
- package/fesm2022/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2022/odx-angular-components-mainfilter-group.mjs +3 -3
- package/fesm2022/odx-angular-components-mainfilter-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-menu.mjs +13 -13
- package/fesm2022/odx-angular-components-menu.mjs.map +1 -1
- package/fesm2022/odx-angular-components-modal.mjs +40 -40
- package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
- package/fesm2022/odx-angular-components-navigation-back.mjs +3 -3
- package/fesm2022/odx-angular-components-navigation-back.mjs.map +1 -1
- package/fesm2022/odx-angular-components-notification-testing.mjs.map +1 -1
- package/fesm2022/odx-angular-components-notification.mjs +15 -15
- package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
- package/fesm2022/odx-angular-components-paginator.mjs +7 -7
- package/fesm2022/odx-angular-components-paginator.mjs.map +1 -1
- package/fesm2022/odx-angular-components-progress.mjs +3 -3
- package/fesm2022/odx-angular-components-progress.mjs.map +1 -1
- package/fesm2022/odx-angular-components-radio-group.mjs +10 -10
- package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-rail-navigation.mjs +10 -10
- package/fesm2022/odx-angular-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/odx-angular-components-rich-list.mjs +16 -16
- package/fesm2022/odx-angular-components-rich-list.mjs.map +1 -1
- package/fesm2022/odx-angular-components-search-bar.mjs +10 -10
- package/fesm2022/odx-angular-components-search-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-select.mjs +16 -16
- package/fesm2022/odx-angular-components-select.mjs.map +1 -1
- package/fesm2022/odx-angular-components-slider.mjs +3 -3
- package/fesm2022/odx-angular-components-slider.mjs.map +1 -1
- package/fesm2022/odx-angular-components-spinbox.mjs +3 -3
- package/fesm2022/odx-angular-components-spinbox.mjs.map +1 -1
- package/fesm2022/odx-angular-components-switch.mjs +10 -10
- package/fesm2022/odx-angular-components-switch.mjs.map +1 -1
- package/fesm2022/odx-angular-components-tab-bar.mjs +10 -10
- package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-table.mjs +19 -19
- package/fesm2022/odx-angular-components-table.mjs.map +1 -1
- package/fesm2022/odx-angular-components-timepicker.mjs +17 -17
- package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-toast.mjs +13 -13
- package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
- package/fesm2022/odx-angular-components-toggle-button-group.mjs +10 -10
- package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-tooltip.mjs +6 -6
- package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
- package/fesm2022/odx-angular-components-wizard.mjs +10 -10
- package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
- package/fesm2022/odx-angular-internal-translate.mjs +3 -3
- package/fesm2022/odx-angular-internal-translate.mjs.map +1 -1
- package/fesm2022/odx-angular-internal.mjs.map +1 -1
- package/fesm2022/odx-angular-localization.mjs +3 -3
- package/fesm2022/odx-angular-localization.mjs.map +1 -1
- package/fesm2022/odx-angular-rxjs.mjs.map +1 -1
- package/fesm2022/odx-angular-sdk.mjs.map +1 -1
- package/fesm2022/odx-angular-theming.mjs +3 -3
- package/fesm2022/odx-angular-theming.mjs.map +1 -1
- package/fesm2022/odx-angular-utils.mjs +5 -4
- package/fesm2022/odx-angular-utils.mjs.map +1 -1
- package/fesm2022/odx-angular.mjs +28 -28
- package/fesm2022/odx-angular.mjs.map +1 -1
- package/internal/lib/helpers/deepmerge.d.ts +1 -1
- package/localization/lib/localization.config.d.ts +1 -1
- package/package.json +13 -13
- package/theming/lib/theming.config.d.ts +1 -1
- package/utils/lib/helpers/dom.d.ts +1 -1
- package/utils/lib/helpers/provide-config.d.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-dropdown.mjs","sources":["../../../../libs/angular/components/dropdown/src/lib/models/close-dropdown-event.ts","../../../../libs/angular/components/dropdown/src/lib/models/dropdown-options.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.directive.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.component.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.component.html","../../../../libs/angular/components/dropdown/src/lib/dropdown.module.ts","../../../../libs/angular/components/dropdown/src/lib/helpers/close-current-dropdown.ts","../../../../libs/angular/components/dropdown/src/odx-angular-components-dropdown.ts"],"sourcesContent":["export class CloseDropdownEvent extends Event {\n public static readonly TYPE = 'odxDropdownClose';\n\n constructor() {\n super(CloseDropdownEvent.TYPE, { bubbles: true });\n }\n}\n","import { ConnectedOverlayOptions } from '@odx/angular/cdk/connected-overlay';\n\nexport type DropdownOptions = Pick<\n ConnectedOverlayOptions,\n 'position' | 'containerClass' | 'enableFallback' | 'matchReferenceWidth' | 'minHeight' | 'offset' | 'showArrow' | 'outerPadding'\n>;\n\nexport const DefaultDropdownOptions: DropdownOptions = {\n position: 'bottom',\n matchReferenceWidth: false,\n enableFallback: true,\n minHeight: 0,\n offset: 6,\n outerPadding: 12,\n};\n","import {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectorRef,\n Directive,\n EventEmitter,\n inject,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n ViewContainerRef,\n} from '@angular/core';\nimport { ConnectedOverlayOptions, ConnectedOverlayRef, ConnectedOverlayService } from '@odx/angular/cdk/connected-overlay';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { EventManager, GetProperties, hasChanged, injectElement, NgChanges } from '@odx/angular/utils';\nimport { DropdownComponent } from './dropdown.component';\nimport { DefaultDropdownOptions, DropdownOptions } from './models';\n\nexport const DEFAULT_DROPDOWN_OPEN_TRIGGERS = ['click', 'keydown.enter'];\nexport const DEFAULT_DROPDOWN_CLOSE_TRIGGERS = ['keyup.esc'];\n\n/**\n * Represents a directive that enables dropdown functionality in Angular.\n * This directive handles the opening and closing of a dropdown menu, as well as\n * managing the associated overlay and event handling.\n */\n@CSSComponent('dropdown-host')\n@Directive({\n standalone: true,\n selector: '[odxDropdown]',\n exportAs: 'odxDropdown',\n providers: [EventManager],\n host: {\n '[attr.aria-haspopup]': 'true',\n '[attr.aria-expanded]': 'isOpen',\n },\n})\nexport class DropdownDirective implements AfterViewInit, OnChanges, OnDestroy {\n private readonly changeDetector = inject(ChangeDetectorRef);\n private readonly connectedOverlayService = inject(ConnectedOverlayService);\n private readonly eventManager = inject(EventManager);\n private readonly viewContainer = inject(ViewContainerRef);\n private readonly injector = inject(Injector);\n private overlayRef: ConnectedOverlayRef | null = null;\n\n public readonly element = injectElement();\n\n /**\n * Gets a value indicating whether the dropdown is currently open.\n *\n * @returns {boolean}\n */\n public get isOpen(): boolean {\n return this.overlayRef !== null;\n }\n\n /**\n * The content to be displayed in the dropdown.\n * It can be either a static content or a dynamically loaded content.\n *\n * @type {DynamicContent | null}\n */\n @Input('odxDropdown')\n public content?: DynamicContent | null;\n\n /**\n * Indicates whether the dropdown is disabled or not.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ alias: 'odxDropdownDisabled', transform: booleanAttribute })\n public disabled = false;\n\n /**\n * Indicates whether the loader should be shown.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ alias: 'odxDropdownShowLoader', transform: booleanAttribute })\n public showLoader = false;\n\n /**\n * Determines whether the dropdown should close when a click event occurs outside of it.\n *\n * @type {boolean}\n * @default true\n */\n @Input({ alias: 'odxDropdownClickOutsideActive', transform: booleanAttribute })\n public clickOutsideActive = true;\n\n /**\n * The options to be used when creating the dropdown overlay.\n *\n * @type {Partial<DropdownOptions> | null}\n */\n @Input('odxDropdownOptions')\n public options?: Partial<DropdownOptions> | null;\n\n /**\n * The reference element to which the dropdown is anchored.\n *\n * @type {HTMLElement | null}\n */\n @Input('odxDropdownReferenceElement')\n public referenceElement?: HTMLElement | null;\n\n /**\n * The trigger element that opens the dropdown.\n *\n * @type {HTMLElement | null}\n */\n @Input('odxDropdownTriggerElement')\n public triggerElement?: HTMLElement | null;\n\n /**\n * The host element to which the dropdown is appended.\n *\n * @type {HTMLElement | ViewContainerRef | null}\n */\n @Input('odxDropdownHost')\n public host?: HTMLElement | ViewContainerRef | null = this.viewContainer;\n\n /**\n * The event triggers that open the dropdown.\n *\n * @type {string[] | null}\n * @default DEFAULT_DROPDOWN_OPEN_TRIGGERS\n */\n @Input('odxDropdownOpenTrigger')\n public openTrigger?: string[] | null = DEFAULT_DROPDOWN_OPEN_TRIGGERS;\n\n /**\n * The event triggers that close the dropdown.\n *\n * @type {string[] | null}\n * @default DEFAULT_DROPDOWN_CLOSE_TRIGGERS\n */\n @Input('odxDropdownCloseTrigger')\n public closeTrigger?: string[] | null = DEFAULT_DROPDOWN_CLOSE_TRIGGERS;\n\n /**\n * Event emitter that emits before the dropdown is opened.\n *\n * @emits {void}\n */\n @Output('odxDropdownBeforeOpen')\n public beforeOpen = new EventEmitter<void>();\n\n /**\n * Event emitter that emits after the dropdown is opened.\n *\n * @emits {void}\n */\n @Output('odxDropdownAfterOpen')\n public afterOpen = new EventEmitter<void>();\n\n /**\n * Event emitter that emits before the dropdown is closed.\n *\n * @emits {void}\n */\n @Output('odxDropdownBeforeClose')\n public beforeClose = new EventEmitter<void>();\n\n /**\n * Event emitter that emits after the dropdown is closed.\n *\n * @emits {void}\n */\n @Output('odxDropdownAfterClose')\n public afterClose = new EventEmitter<void>();\n\n public ngAfterViewInit(): void {\n this.eventManager.register(this.openTrigger ?? [], (event) => this.toggle(event), this.triggerElement ?? this.referenceElement);\n this.eventManager.register(this.closeTrigger ?? [], () => this.close(), 'document');\n }\n\n public ngOnDestroy(): void {\n this.close();\n }\n\n public ngOnChanges(changes: NgChanges<DropdownDirective>) {\n if (hasChanged(changes, 'disabled') && this.disabled) {\n this.close();\n }\n if (hasChanged(changes, ['options', 'content', 'showLoader', 'clickOutsideActive'])) {\n this.overlayRef?.update(this.createOverlayOptions());\n }\n }\n\n /**\n * Toggles the state of the dropdown.\n * If the dropdown is open, it will be closed. If it is closed, it will be opened.\n *\n * @param {Event | undefined} event - The optional event that triggered the toggle.\n */\n public toggle(event?: Event): void {\n if (this.isOpen) {\n this.close(event);\n } else {\n this.open(event);\n }\n }\n\n /**\n * Opens the dropdown.\n *\n * @param {Event | undefined} event - The optional event that triggered the open.\n */\n public open(event?: Event) {\n event?.preventDefault();\n if (this.isOpen || !this.content || this.disabled) return;\n this.overlayRef = this.connectedOverlayService.createOverlay(this.referenceElement ?? this.element.nativeElement, this.createOverlayOptions(), {\n host: this.referenceElement?.parentElement ?? this.host,\n injector: this.injector,\n });\n this.changeDetector.markForCheck();\n }\n\n /**\n * Closes the dropdown.\n *\n * @param {Event | undefined} event - The optional event that triggered the close.\n */\n public close(event?: Event) {\n event?.preventDefault();\n this.overlayRef?.close();\n this.overlayRef = null;\n this.changeDetector.markForCheck();\n }\n\n private createOverlayOptions(): Partial<ConnectedOverlayOptions> {\n const containerClass = ['odx-dropdown-overlay', this.options?.containerClass].filter(Boolean).join(' ');\n const context = {\n content: this.content,\n showLoader: this.showLoader,\n clickOutsideActive: this.clickOutsideActive,\n } as Partial<GetProperties<DropdownComponent>>;\n return {\n ...DefaultDropdownOptions,\n ...this.options,\n fallbackAxisSideDirection: 'end',\n containerClass,\n content: DropdownComponent,\n context,\n hooks: {\n beforeOpen: () => this.beforeOpen.emit(),\n afterOpen: () => this.afterOpen.emit(),\n beforeClose: () => this.beforeClose.emit(),\n afterClose: () => this.afterClose.emit(),\n },\n };\n }\n}\n","import { ChangeDetectionStrategy, Component, HostListener, inject, Injector, Input, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { A11yModule } from '@odx/angular/cdk/a11y';\nimport { DynamicContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { DropdownDirective } from './dropdown.directive';\nimport { CloseDropdownEvent } from './models';\n\n/**\n * Represents a dropdown component.\n */\n@CSSComponent('dropdown')\n@Component({\n standalone: true,\n selector: 'odx-dropdown',\n imports: [CoreModule, DynamicViewDirective, LoadingSpinnerModule, A11yModule],\n templateUrl: './dropdown.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownComponent {\n protected readonly host = inject(DropdownDirective);\n protected readonly injector = inject(Injector);\n public readonly element = injectElement();\n\n /**\n * The content to be displayed in the dropdown.\n *\n * @type {DynamicContent | null}\n */\n @Input()\n public content?: DynamicContent | null;\n\n /**\n * Indicates whether to show a loader while loading the dropdown content.\n *\n * @type {boolean | undefined}\n */\n @Input()\n public showLoader?: boolean;\n\n /**\n * Indicates whether clicking outside the dropdown should close it.\n *\n * @type {boolean | undefined}\n */\n @Input()\n public clickOutsideActive?: boolean;\n\n @HostListener(CloseDropdownEvent.TYPE)\n protected onDropdownClose(): void {\n this.host.close();\n }\n}\n","<div\n class=\"odx-dropdown__inner\"\n [odxLoadingSpinner]=\"showLoader\"\n [odxClickOutsideActive]=\"clickOutsideActive\"\n (odxClickOutside)=\"host.close()\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\" />\n</div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DropdownDirective } from './dropdown.directive';\n\nconst modules = [DropdownDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class DropdownModule {}\n","import { CloseDropdownEvent } from '../models';\n\n/**\n * @internal\n * Dispatches a CloseDropdownEvent for target to close the current dropdown.\n *\n * @param {Element} target - The target element to close the dropdown for.\n */\nexport function closeCurrentDropdown(target: Element): void {\n target.dispatchEvent(new CloseDropdownEvent());\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-components-dropdown.mjs","sources":["../../../../libs/angular/components/dropdown/src/lib/models/close-dropdown-event.ts","../../../../libs/angular/components/dropdown/src/lib/models/dropdown-options.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.directive.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.component.ts","../../../../libs/angular/components/dropdown/src/lib/dropdown.component.html","../../../../libs/angular/components/dropdown/src/lib/dropdown.module.ts","../../../../libs/angular/components/dropdown/src/lib/helpers/close-current-dropdown.ts","../../../../libs/angular/components/dropdown/src/odx-angular-components-dropdown.ts"],"sourcesContent":["export class CloseDropdownEvent extends Event {\n public static readonly TYPE = 'odxDropdownClose';\n\n constructor() {\n super(CloseDropdownEvent.TYPE, { bubbles: true });\n }\n}\n","import { ConnectedOverlayOptions } from '@odx/angular/cdk/connected-overlay';\n\nexport type DropdownOptions = Pick<\n ConnectedOverlayOptions,\n 'position' | 'containerClass' | 'enableFallback' | 'matchReferenceWidth' | 'minHeight' | 'offset' | 'showArrow' | 'outerPadding'\n>;\n\nexport const DefaultDropdownOptions: DropdownOptions = {\n position: 'bottom',\n matchReferenceWidth: false,\n enableFallback: true,\n minHeight: 0,\n offset: 6,\n outerPadding: 12,\n};\n","import {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectorRef,\n Directive,\n EventEmitter,\n inject,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n ViewContainerRef,\n} from '@angular/core';\nimport { ConnectedOverlayOptions, ConnectedOverlayRef, ConnectedOverlayService } from '@odx/angular/cdk/connected-overlay';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { EventManager, GetProperties, hasChanged, injectElement, NgChanges } from '@odx/angular/utils';\nimport { DropdownComponent } from './dropdown.component';\nimport { DefaultDropdownOptions, DropdownOptions } from './models';\n\nexport const DEFAULT_DROPDOWN_OPEN_TRIGGERS = ['click', 'keydown.enter'];\nexport const DEFAULT_DROPDOWN_CLOSE_TRIGGERS = ['keyup.esc'];\n\n/**\n * Represents a directive that enables dropdown functionality in Angular.\n * This directive handles the opening and closing of a dropdown menu, as well as\n * managing the associated overlay and event handling.\n */\n@CSSComponent('dropdown-host')\n@Directive({\n standalone: true,\n selector: '[odxDropdown]',\n exportAs: 'odxDropdown',\n providers: [EventManager],\n host: {\n '[attr.aria-haspopup]': 'true',\n '[attr.aria-expanded]': 'isOpen',\n },\n})\nexport class DropdownDirective implements AfterViewInit, OnChanges, OnDestroy {\n private readonly changeDetector = inject(ChangeDetectorRef);\n private readonly connectedOverlayService = inject(ConnectedOverlayService);\n private readonly eventManager = inject(EventManager);\n private readonly viewContainer = inject(ViewContainerRef);\n private readonly injector = inject(Injector);\n private overlayRef: ConnectedOverlayRef | null = null;\n\n public readonly element = injectElement();\n\n /**\n * Gets a value indicating whether the dropdown is currently open.\n *\n * @returns {boolean}\n */\n public get isOpen(): boolean {\n return this.overlayRef !== null;\n }\n\n /**\n * The content to be displayed in the dropdown.\n * It can be either a static content or a dynamically loaded content.\n *\n * @type {DynamicContent | null}\n */\n @Input('odxDropdown')\n public content?: DynamicContent | null;\n\n /**\n * Indicates whether the dropdown is disabled or not.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ alias: 'odxDropdownDisabled', transform: booleanAttribute })\n public disabled = false;\n\n /**\n * Indicates whether the loader should be shown.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ alias: 'odxDropdownShowLoader', transform: booleanAttribute })\n public showLoader = false;\n\n /**\n * Determines whether the dropdown should close when a click event occurs outside of it.\n *\n * @type {boolean}\n * @default true\n */\n @Input({ alias: 'odxDropdownClickOutsideActive', transform: booleanAttribute })\n public clickOutsideActive = true;\n\n /**\n * The options to be used when creating the dropdown overlay.\n *\n * @type {Partial<DropdownOptions> | null}\n */\n @Input('odxDropdownOptions')\n public options?: Partial<DropdownOptions> | null;\n\n /**\n * The reference element to which the dropdown is anchored.\n *\n * @type {HTMLElement | null}\n */\n @Input('odxDropdownReferenceElement')\n public referenceElement?: HTMLElement | null;\n\n /**\n * The trigger element that opens the dropdown.\n *\n * @type {HTMLElement | null}\n */\n @Input('odxDropdownTriggerElement')\n public triggerElement?: HTMLElement | null;\n\n /**\n * The host element to which the dropdown is appended.\n *\n * @type {HTMLElement | ViewContainerRef | null}\n */\n @Input('odxDropdownHost')\n public host?: HTMLElement | ViewContainerRef | null = this.viewContainer;\n\n /**\n * The event triggers that open the dropdown.\n *\n * @type {string[] | null}\n * @default DEFAULT_DROPDOWN_OPEN_TRIGGERS\n */\n @Input('odxDropdownOpenTrigger')\n public openTrigger?: string[] | null = DEFAULT_DROPDOWN_OPEN_TRIGGERS;\n\n /**\n * The event triggers that close the dropdown.\n *\n * @type {string[] | null}\n * @default DEFAULT_DROPDOWN_CLOSE_TRIGGERS\n */\n @Input('odxDropdownCloseTrigger')\n public closeTrigger?: string[] | null = DEFAULT_DROPDOWN_CLOSE_TRIGGERS;\n\n /**\n * Event emitter that emits before the dropdown is opened.\n *\n * @emits {void}\n */\n @Output('odxDropdownBeforeOpen')\n public beforeOpen = new EventEmitter<void>();\n\n /**\n * Event emitter that emits after the dropdown is opened.\n *\n * @emits {void}\n */\n @Output('odxDropdownAfterOpen')\n public afterOpen = new EventEmitter<void>();\n\n /**\n * Event emitter that emits before the dropdown is closed.\n *\n * @emits {void}\n */\n @Output('odxDropdownBeforeClose')\n public beforeClose = new EventEmitter<void>();\n\n /**\n * Event emitter that emits after the dropdown is closed.\n *\n * @emits {void}\n */\n @Output('odxDropdownAfterClose')\n public afterClose = new EventEmitter<void>();\n\n public ngAfterViewInit(): void {\n this.eventManager.register(this.openTrigger ?? [], (event) => this.toggle(event), this.triggerElement ?? this.referenceElement);\n this.eventManager.register(this.closeTrigger ?? [], () => this.close(), 'document');\n }\n\n public ngOnDestroy(): void {\n this.close();\n }\n\n public ngOnChanges(changes: NgChanges<DropdownDirective>) {\n if (hasChanged(changes, 'disabled') && this.disabled) {\n this.close();\n }\n if (hasChanged(changes, ['options', 'content', 'showLoader', 'clickOutsideActive'])) {\n this.overlayRef?.update(this.createOverlayOptions());\n }\n }\n\n /**\n * Toggles the state of the dropdown.\n * If the dropdown is open, it will be closed. If it is closed, it will be opened.\n *\n * @param {Event | undefined} event - The optional event that triggered the toggle.\n */\n public toggle(event?: Event): void {\n if (this.isOpen) {\n this.close(event);\n } else {\n this.open(event);\n }\n }\n\n /**\n * Opens the dropdown.\n *\n * @param {Event | undefined} event - The optional event that triggered the open.\n */\n public open(event?: Event) {\n event?.preventDefault();\n if (this.isOpen || !this.content || this.disabled) return;\n this.overlayRef = this.connectedOverlayService.createOverlay(this.referenceElement ?? this.element.nativeElement, this.createOverlayOptions(), {\n host: this.referenceElement?.parentElement ?? this.host,\n injector: this.injector,\n });\n this.changeDetector.markForCheck();\n }\n\n /**\n * Closes the dropdown.\n *\n * @param {Event | undefined} event - The optional event that triggered the close.\n */\n public close(event?: Event) {\n event?.preventDefault();\n this.overlayRef?.close();\n this.overlayRef = null;\n this.changeDetector.markForCheck();\n }\n\n private createOverlayOptions(): Partial<ConnectedOverlayOptions> {\n const containerClass = ['odx-dropdown-overlay', this.options?.containerClass].filter(Boolean).join(' ');\n const context = {\n content: this.content,\n showLoader: this.showLoader,\n clickOutsideActive: this.clickOutsideActive,\n } as Partial<GetProperties<DropdownComponent>>;\n return {\n ...DefaultDropdownOptions,\n ...this.options,\n fallbackAxisSideDirection: 'end',\n containerClass,\n content: DropdownComponent,\n context,\n hooks: {\n beforeOpen: () => this.beforeOpen.emit(),\n afterOpen: () => this.afterOpen.emit(),\n beforeClose: () => this.beforeClose.emit(),\n afterClose: () => this.afterClose.emit(),\n },\n };\n }\n}\n","import { ChangeDetectionStrategy, Component, HostListener, inject, Injector, Input, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { A11yModule } from '@odx/angular/cdk/a11y';\nimport { DynamicContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { LoadingSpinnerModule } from '@odx/angular/components/loading-spinner';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { DropdownDirective } from './dropdown.directive';\nimport { CloseDropdownEvent } from './models';\n\n/**\n * Represents a dropdown component.\n */\n@CSSComponent('dropdown')\n@Component({\n standalone: true,\n selector: 'odx-dropdown',\n imports: [CoreModule, DynamicViewDirective, LoadingSpinnerModule, A11yModule],\n templateUrl: './dropdown.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownComponent {\n protected readonly host = inject(DropdownDirective);\n protected readonly injector = inject(Injector);\n public readonly element = injectElement();\n\n /**\n * The content to be displayed in the dropdown.\n *\n * @type {DynamicContent | null}\n */\n @Input()\n public content?: DynamicContent | null;\n\n /**\n * Indicates whether to show a loader while loading the dropdown content.\n *\n * @type {boolean | undefined}\n */\n @Input()\n public showLoader?: boolean;\n\n /**\n * Indicates whether clicking outside the dropdown should close it.\n *\n * @type {boolean | undefined}\n */\n @Input()\n public clickOutsideActive?: boolean;\n\n @HostListener(CloseDropdownEvent.TYPE)\n protected onDropdownClose(): void {\n this.host.close();\n }\n}\n","<div\n class=\"odx-dropdown__inner\"\n [odxLoadingSpinner]=\"showLoader\"\n [odxClickOutsideActive]=\"clickOutsideActive\"\n (odxClickOutside)=\"host.close()\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewInjector]=\"injector\" />\n</div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DropdownDirective } from './dropdown.directive';\n\nconst modules = [DropdownDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class DropdownModule {}\n","import { CloseDropdownEvent } from '../models';\n\n/**\n * @internal\n * Dispatches a CloseDropdownEvent for target to close the current dropdown.\n *\n * @param {Element} target - The target element to close the dropdown for.\n */\nexport function closeCurrentDropdown(target: Element): void {\n target.dispatchEvent(new CloseDropdownEvent());\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -39,13 +39,13 @@ let ErrorPageComponent = class ErrorPageComponent {
|
|
|
39
39
|
*/
|
|
40
40
|
this.options = injectErrorPageConfig();
|
|
41
41
|
}
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ErrorPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: ErrorPageComponent, isStandalone: true, selector: "odx-error-page", ngImport: i0, template: "<div class=\"odx-error-page__container\">\n <div class=\"odx-error-page__icon-container\">\n @if (options.icon; as icon) {\n <odx-icon size=\"xlarge\" [name]=\"icon\" />\n } @else {\n <odx-logo size=\"large\" />\n }\n </div>\n <div class=\"odx-error-page__title\">\n <ng-template [odxDynamicView]=\"options.title\" />\n </div>\n @if (options.description; as description) {\n <div class=\"odx-error-page__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </div>\n }\n <div class=\"odx-error-page__actions\">\n @for (button of options.actions; let isFirst = $first; track $index) {\n <button [variant]=\"isFirst ? 'primary' : 'secondary'\" odxButton (click)=\"button.action()\">\n <ng-template [odxDynamicView]=\"button.label\" />\n </button>\n }\n </div>\n</div>\n@if (options.errorMessage; as errorMessage) {\n <div class=\"odx-error-page__footer\">\n <ng-template [odxDynamicView]=\"errorMessage\" />\n </div>\n}\n", dependencies: [{ kind: "directive", type: LogoDirective, selector: "odx-logo", inputs: ["size", "variant"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }, { kind: "ngmodule", type: CoreModule }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
44
44
|
};
|
|
45
45
|
ErrorPageComponent = __decorate([
|
|
46
46
|
CSSComponent('error-page')
|
|
47
47
|
], ErrorPageComponent);
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ErrorPageComponent, decorators: [{
|
|
49
49
|
type: Component,
|
|
50
50
|
args: [{ standalone: true, selector: 'odx-error-page', imports: [LogoDirective, IconComponent, CoreModule, ButtonComponent, DynamicViewDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"odx-error-page__container\">\n <div class=\"odx-error-page__icon-container\">\n @if (options.icon; as icon) {\n <odx-icon size=\"xlarge\" [name]=\"icon\" />\n } @else {\n <odx-logo size=\"large\" />\n }\n </div>\n <div class=\"odx-error-page__title\">\n <ng-template [odxDynamicView]=\"options.title\" />\n </div>\n @if (options.description; as description) {\n <div class=\"odx-error-page__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </div>\n }\n <div class=\"odx-error-page__actions\">\n @for (button of options.actions; let isFirst = $first; track $index) {\n <button [variant]=\"isFirst ? 'primary' : 'secondary'\" odxButton (click)=\"button.action()\">\n <ng-template [odxDynamicView]=\"button.label\" />\n </button>\n }\n </div>\n</div>\n@if (options.errorMessage; as errorMessage) {\n <div class=\"odx-error-page__footer\">\n <ng-template [odxDynamicView]=\"errorMessage\" />\n </div>\n}\n" }]
|
|
51
51
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-error-page.mjs","sources":["../../../../libs/angular/components/error-page/src/lib/error-page.config.ts","../../../../libs/angular/components/error-page/src/lib/error-page.component.ts","../../../../libs/angular/components/error-page/src/lib/error-page.component.html","../../../../libs/angular/components/error-page/src/odx-angular-components-error-page.ts"],"sourcesContent":["import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { ConfigDependencies, ConfigProvider, createConfigTokens } from '@odx/angular/utils';\n\n/**\n * Defines the configuration for an error page used within an application. This can include custom icons,\n * titles, descriptions, actions, and an optional error message.\n * @property {string} [icon] - The name of the icon to display on the error page.\n * @property {string} [iconSet] - The icon set that the icon belongs to.\n * @property {DynamicContent} title - The title content for the error page, which can be a string or a dynamic template.\n * @property {DynamicContent} [description] - Optional description content for the error page.\n * @property { { label: DynamicContent; action: () => void; }[] } actions - A list of actions that can be taken from the error page, each with a label and an action function.\n * @property {DynamicContent} [errorMessage] - Optional additional error message content.\n */\nexport interface ErrorPageConfig {\n icon?: string;\n iconSet?: string;\n title: DynamicContent;\n description?: DynamicContent;\n actions: {\n label: DynamicContent;\n action: () => void;\n }[];\n\n errorMessage?: DynamicContent;\n}\n\nexport const { ErrorPageConfig, ErrorPageDefaultConfig, injectErrorPageConfig, provideErrorPageConfig } = createConfigTokens(\n 'ErrorPage',\n '@odx/components/error-page',\n {\n title: '',\n actions: [],\n } as ErrorPageConfig,\n);\n\n/**\n * Configures and provides the necessary providers for an error page, using a configuration object that specifies\n * icons, titles, descriptions, and actions.\n *\n * @param {ConfigProvider<Partial<ErrorPageConfig>, D>} config - A configuration object or provider function that supplies an `ErrorPageConfig`.\n * @returns {EnvironmentProviders} Returns a configuration that can be used to register the error page providers.\n *\n */\nexport function configureErrorPage<D extends ConfigDependencies>(config: ConfigProvider<Partial<ErrorPageConfig>, D>): EnvironmentProviders {\n return makeEnvironmentProviders([provideErrorPageConfig(config)]);\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { LogoDirective } from '@odx/angular/components/logo';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { injectErrorPageConfig } from './error-page.config';\n\n/**\n * Represents the ErrorPageComponent class.\n * This component is responsible for displaying an error page.\n */\n@CSSComponent('error-page')\n@Component({\n standalone: true,\n selector: 'odx-error-page',\n templateUrl: './error-page.component.html',\n imports: [LogoDirective, IconComponent, CoreModule, ButtonComponent, DynamicViewDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ErrorPageComponent {\n public readonly element = injectElement();\n\n /**\n * Represents the options for the error page component.\n *\n * @type {ErrorPageConfig}\n */\n public options = injectErrorPageConfig();\n}\n","<div class=\"odx-error-page__container\">\n <div class=\"odx-error-page__icon-container\">\n @if (options.icon; as icon) {\n <odx-icon size=\"xlarge\" [name]=\"icon\" />\n } @else {\n <odx-logo size=\"large\" />\n }\n </div>\n <div class=\"odx-error-page__title\">\n <ng-template [odxDynamicView]=\"options.title\" />\n </div>\n @if (options.description; as description) {\n <div class=\"odx-error-page__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </div>\n }\n <div class=\"odx-error-page__actions\">\n @for (button of options.actions; let isFirst = $first; track $index) {\n <button [variant]=\"isFirst ? 'primary' : 'secondary'\" odxButton (click)=\"button.action()\">\n <ng-template [odxDynamicView]=\"button.label\" />\n </button>\n }\n </div>\n</div>\n@if (options.errorMessage; as errorMessage) {\n <div class=\"odx-error-page__footer\">\n <ng-template [odxDynamicView]=\"errorMessage\" />\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AA2Ba,MAAA,EAAE,eAAe,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,GAAG,kBAAkB,CAC1H,WAAW,EACX,4BAA4B,EAC5B;AACE,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,OAAO,EAAE,EAAE;AACO,CAAA
|
|
1
|
+
{"version":3,"file":"odx-angular-components-error-page.mjs","sources":["../../../../libs/angular/components/error-page/src/lib/error-page.config.ts","../../../../libs/angular/components/error-page/src/lib/error-page.component.ts","../../../../libs/angular/components/error-page/src/lib/error-page.component.html","../../../../libs/angular/components/error-page/src/odx-angular-components-error-page.ts"],"sourcesContent":["import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { DynamicContent } from '@odx/angular/cdk/dynamic-view';\nimport { ConfigDependencies, ConfigProvider, createConfigTokens } from '@odx/angular/utils';\n\n/**\n * Defines the configuration for an error page used within an application. This can include custom icons,\n * titles, descriptions, actions, and an optional error message.\n * @property {string} [icon] - The name of the icon to display on the error page.\n * @property {string} [iconSet] - The icon set that the icon belongs to.\n * @property {DynamicContent} title - The title content for the error page, which can be a string or a dynamic template.\n * @property {DynamicContent} [description] - Optional description content for the error page.\n * @property { { label: DynamicContent; action: () => void; }[] } actions - A list of actions that can be taken from the error page, each with a label and an action function.\n * @property {DynamicContent} [errorMessage] - Optional additional error message content.\n */\nexport interface ErrorPageConfig {\n icon?: string;\n iconSet?: string;\n title: DynamicContent;\n description?: DynamicContent;\n actions: {\n label: DynamicContent;\n action: () => void;\n }[];\n\n errorMessage?: DynamicContent;\n}\n\nexport const { ErrorPageConfig, ErrorPageDefaultConfig, injectErrorPageConfig, provideErrorPageConfig } = createConfigTokens(\n 'ErrorPage',\n '@odx/components/error-page',\n {\n title: '',\n actions: [],\n } as ErrorPageConfig,\n);\n\n/**\n * Configures and provides the necessary providers for an error page, using a configuration object that specifies\n * icons, titles, descriptions, and actions.\n *\n * @param {ConfigProvider<Partial<ErrorPageConfig>, D>} config - A configuration object or provider function that supplies an `ErrorPageConfig`.\n * @returns {EnvironmentProviders} Returns a configuration that can be used to register the error page providers.\n *\n */\nexport function configureErrorPage<D extends ConfigDependencies>(config: ConfigProvider<Partial<ErrorPageConfig>, D>): EnvironmentProviders {\n return makeEnvironmentProviders([provideErrorPageConfig(config)]);\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { LogoDirective } from '@odx/angular/components/logo';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { injectErrorPageConfig } from './error-page.config';\n\n/**\n * Represents the ErrorPageComponent class.\n * This component is responsible for displaying an error page.\n */\n@CSSComponent('error-page')\n@Component({\n standalone: true,\n selector: 'odx-error-page',\n templateUrl: './error-page.component.html',\n imports: [LogoDirective, IconComponent, CoreModule, ButtonComponent, DynamicViewDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ErrorPageComponent {\n public readonly element = injectElement();\n\n /**\n * Represents the options for the error page component.\n *\n * @type {ErrorPageConfig}\n */\n public options = injectErrorPageConfig();\n}\n","<div class=\"odx-error-page__container\">\n <div class=\"odx-error-page__icon-container\">\n @if (options.icon; as icon) {\n <odx-icon size=\"xlarge\" [name]=\"icon\" />\n } @else {\n <odx-logo size=\"large\" />\n }\n </div>\n <div class=\"odx-error-page__title\">\n <ng-template [odxDynamicView]=\"options.title\" />\n </div>\n @if (options.description; as description) {\n <div class=\"odx-error-page__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </div>\n }\n <div class=\"odx-error-page__actions\">\n @for (button of options.actions; let isFirst = $first; track $index) {\n <button [variant]=\"isFirst ? 'primary' : 'secondary'\" odxButton (click)=\"button.action()\">\n <ng-template [odxDynamicView]=\"button.label\" />\n </button>\n }\n </div>\n</div>\n@if (options.errorMessage; as errorMessage) {\n <div class=\"odx-error-page__footer\">\n <ng-template [odxDynamicView]=\"errorMessage\" />\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AA2Ba,MAAA,EAAE,eAAe,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,GAAG,kBAAkB,CAC1H,WAAW,EACX,4BAA4B,EAC5B;AACE,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,OAAO,EAAE,EAAE;AACO,CAAA;AAGtB;;;;;;;AAOG;AACG,SAAU,kBAAkB,CAA+B,MAAmD,EAAA;IAClH,OAAO,wBAAwB,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;AACnE;;ACpCA;;;AAGG;AAUU,IAAA,kBAAkB,GAAxB,MAAM,kBAAkB,CAAA;AAAxB,IAAA,WAAA,GAAA;QACW,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE;AAEzC;;;;AAIG;QACI,IAAO,CAAA,OAAA,GAAG,qBAAqB,EAAE;AACzC;+GATY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvB/B,4+BA6BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDVY,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,wBAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;AAI9E,kBAAkB,GAAA,UAAA,CAAA;IAT9B,YAAY,CAAC,YAAY;AASb,CAAA,EAAA,kBAAkB,CAS9B;4FATY,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,gBAAgB,EAEjB,OAAA,EAAA,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,CAAC,EACzE,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,4+BAAA,EAAA;;;AErBvC;;AAEG;;;;"}
|
|
@@ -111,8 +111,8 @@ let FooterComponent = class FooterComponent {
|
|
|
111
111
|
*/
|
|
112
112
|
this.variant = FooterVariant.LIGHT;
|
|
113
113
|
}
|
|
114
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
115
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
114
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
115
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: FooterComponent, isStandalone: true, selector: "odx-footer", inputs: { description: "description", variant: "variant" }, providers: [provideTranslations(footerTranslations)], ngImport: i0, template: "<div class=\"odx-footer__inner\">\n <div class=\"odx-footer__content\">\n <ng-content />\n </div>\n <nav class=\"odx-footer__navigation\">\n <ng-content select=\"[odxLink]\" />\n @for (link of footerLinks$ | async; track $index) {\n <a odxLink [href]=\"link.url\" target=\"_blank\">\n {{ link.name | odxTranslate | async }}\n </a>\n }\n </nav>\n @if (description) {\n <p class=\"odx-footer__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </p>\n }\n</div>\n", dependencies: [{ kind: "directive", type: LinkDirective, selector: "a[odxLink]" }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "odxTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
116
116
|
};
|
|
117
117
|
__decorate([
|
|
118
118
|
CSSModifier(),
|
|
@@ -121,7 +121,7 @@ __decorate([
|
|
|
121
121
|
FooterComponent = __decorate([
|
|
122
122
|
CSSComponent('footer')
|
|
123
123
|
], FooterComponent);
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FooterComponent, decorators: [{
|
|
125
125
|
type: Component,
|
|
126
126
|
args: [{ standalone: true, selector: 'odx-footer', imports: [LinkDirective, LogoDirective, DynamicViewDirective, CommonModule, TranslatePipe], providers: [provideTranslations(footerTranslations)], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"odx-footer__inner\">\n <div class=\"odx-footer__content\">\n <ng-content />\n </div>\n <nav class=\"odx-footer__navigation\">\n <ng-content select=\"[odxLink]\" />\n @for (link of footerLinks$ | async; track $index) {\n <a odxLink [href]=\"link.url\" target=\"_blank\">\n {{ link.name | odxTranslate | async }}\n </a>\n }\n </nav>\n @if (description) {\n <p class=\"odx-footer__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </p>\n }\n</div>\n" }]
|
|
127
127
|
}], propDecorators: { description: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-footer.mjs","sources":["../../../../libs/angular/components/footer/src/lib/footer.i18n.ts","../../../../libs/angular/components/footer/src/lib/footer.config.ts","../../../../libs/angular/components/footer/src/lib/helpers/create-footer-links.ts","../../../../libs/angular/components/footer/src/lib/models/footer-variant.ts","../../../../libs/angular/components/footer/src/lib/footer.component.ts","../../../../libs/angular/components/footer/src/lib/footer.component.html","../../../../libs/angular/components/footer/src/odx-angular-components-footer.ts"],"sourcesContent":["import { TranslationObject } from '@odx/angular/internal/translate';\n\nexport default {\n en: {\n legalNotice: 'Legal notice',\n providerIdentification: 'Provider identification',\n dataProtection: 'Data protection',\n openSource: 'Open-source licenses',\n termsAndConditions: 'Terms and Conditions',\n status: 'Status',\n },\n de: {\n legalNotice: 'Rechtliche Hinweise',\n providerIdentification: 'Impressum',\n dataProtection: 'Datenschutz',\n openSource: 'Open-Source-Lizenzen',\n termsAndConditions: 'Allgemeine Geschäftsbedingungen',\n status: 'Status',\n },\n} as TranslationObject;\n","import { MainMenuLinksConfig } from '@odx/angular/components/main-menu';\nimport { buildWebsiteUrl, createConfigTokens } from '@odx/angular/utils';\nimport { Observable } from 'rxjs';\nimport { FooterLink } from './models';\n\nexport interface FooterLinksConfig extends MainMenuLinksConfig {\n dynamicLinks?: Observable<FooterLink[]>;\n}\n\n/**\n * Creates configuration tokens for the footer links, providing a structured way to inject and manage footer link configurations.\n * This utility function encapsulates the configuration for footer links, including defaults and the ability to inject custom configurations.\n *\n * @returns {Object} An object containing configuration tokens for footer links:\n * - `FooterLinksConfig`: A token for injecting the footer links configuration.\n * - `FooterLinksDefaultConfig`: A token representing the default configuration values.\n * - `injectFooterLinksConfig`: A function to inject the current footer links configuration.\n * - `provideFooterLinksConfig`: A function to provide a custom configuration for footer links.\n *\n * @example\n * ```ts\n * // In your module or component\n * @NgModule({\n * providers: [\n * provideFooterLinksConfig({\n * legalNoticeUrl: 'https://www.custom-url/legal-notice',\n * providerIdentificationUrl: 'https://www.custom-url/provider-identification',\n * dynamicLinks: myDynamicLinksObservable\n * })\n * ]\n * })\n * export class MyModule {}\n * ```\n */\nexport const { FooterLinksConfig, FooterLinksDefaultConfig, injectFooterLinksConfig, provideFooterLinksConfig } = createConfigTokens(\n 'FooterLinks',\n '@odx/angular/components/footer',\n {\n providerIdentificationUrl: buildWebsiteUrl('provideridentification'),\n legalNoticeUrl: buildWebsiteUrl('legalnotice'),\n } as FooterLinksConfig,\n);\n","import { Observable, combineLatest, map, of } from 'rxjs';\nimport { injectFooterLinksConfig } from '../footer.config';\nimport { FooterLink } from '../models';\n\n/**\n * Creates an observable stream of footer links, combining statically configured links with dynamically provided ones.\n * It leverages the footer links configuration injected from `injectFooterLinksConfig` and optionally includes\n * dynamic links if provided. All links are filtered to include only those with a non-empty URL.\n *\n * @returns {Observable<FooterLink[]>} - An Observable that emits an array of `FooterLink` objects. Each `FooterLink`\n * contains a `name` and a `url`. The observable emits updates if the set of dynamic links changes.\n */\n\nexport function createFooterLinks$(): Observable<FooterLink[]> {\n const { legalNoticeUrl, providerIdentificationUrl, dataProtectionUrl, openSourceUrl, termsAndConditionsUrl, statusUrl, dynamicLinks } =\n injectFooterLinksConfig();\n const dynamicLinks$ = dynamicLinks ?? of([]);\n const links = [\n { name: 'status', url: statusUrl },\n { name: 'termsAndConditions', url: termsAndConditionsUrl },\n { name: 'providerIdentification', url: providerIdentificationUrl },\n { name: 'openSource', url: openSourceUrl },\n { name: 'dataProtection', url: dataProtectionUrl },\n { name: 'legalNotice', url: legalNoticeUrl },\n ];\n\n return combineLatest([dynamicLinks$, of(links)]).pipe(map((links) => links.flat().filter((link): link is FooterLink => !!link.url)));\n}\n","export type FooterVariant = (typeof FooterVariant)[keyof typeof FooterVariant];\n\nexport const FooterVariant = {\n LIGHT: 'light',\n DARK: 'dark',\n} as const;\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { DynamicTextContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { LinkDirective } from '@odx/angular/components/link';\nimport { LogoDirective } from '@odx/angular/components/logo';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { TranslatePipe, provideTranslations } from '@odx/angular/internal/translate';\nimport { injectElement } from '@odx/angular/utils';\nimport footerTranslations from './footer.i18n';\nimport { createFooterLinks$ } from './helpers';\nimport { FooterVariant } from './models';\n\n/**\n * Represents the footer component of an application, dynamically generating links and supporting various styles.\n * This component integrates dynamic and static content for the footer, including a logo, navigational links, and a customizable description.\n */\n\n@CSSComponent('footer')\n@Component({\n standalone: true,\n selector: 'odx-footer',\n imports: [LinkDirective, LogoDirective, DynamicViewDirective, CommonModule, TranslatePipe],\n templateUrl: './footer.component.html',\n providers: [provideTranslations(footerTranslations)],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class FooterComponent {\n protected readonly footerLinks$ = createFooterLinks$();\n public readonly element = injectElement();\n\n /**\n * The description of the footer component.\n * It can be of type DynamicTextContent or null.\n *\n * @type {DynamicTextContent}\n * @default null\n */\n @Input()\n public description?: DynamicTextContent | null = null;\n\n /**\n * The variant of the footer component.\n *\n * @type {FooterVariant}\n * @default FooterVariant.LIGHT\n */\n @CSSModifier()\n @Input()\n public variant: FooterVariant = FooterVariant.LIGHT;\n}\n","<div class=\"odx-footer__inner\">\n <div class=\"odx-footer__content\">\n <ng-content />\n </div>\n <nav class=\"odx-footer__navigation\">\n <ng-content select=\"[odxLink]\" />\n @for (link of footerLinks$ | async; track $index) {\n <a odxLink [href]=\"link.url\" target=\"_blank\">\n {{ link.name | odxTranslate | async }}\n </a>\n }\n </nav>\n @if (description) {\n <p class=\"odx-footer__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </p>\n }\n</div>\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-footer.mjs","sources":["../../../../libs/angular/components/footer/src/lib/footer.i18n.ts","../../../../libs/angular/components/footer/src/lib/footer.config.ts","../../../../libs/angular/components/footer/src/lib/helpers/create-footer-links.ts","../../../../libs/angular/components/footer/src/lib/models/footer-variant.ts","../../../../libs/angular/components/footer/src/lib/footer.component.ts","../../../../libs/angular/components/footer/src/lib/footer.component.html","../../../../libs/angular/components/footer/src/odx-angular-components-footer.ts"],"sourcesContent":["import { TranslationObject } from '@odx/angular/internal/translate';\n\nexport default {\n en: {\n legalNotice: 'Legal notice',\n providerIdentification: 'Provider identification',\n dataProtection: 'Data protection',\n openSource: 'Open-source licenses',\n termsAndConditions: 'Terms and Conditions',\n status: 'Status',\n },\n de: {\n legalNotice: 'Rechtliche Hinweise',\n providerIdentification: 'Impressum',\n dataProtection: 'Datenschutz',\n openSource: 'Open-Source-Lizenzen',\n termsAndConditions: 'Allgemeine Geschäftsbedingungen',\n status: 'Status',\n },\n} as TranslationObject;\n","import { MainMenuLinksConfig } from '@odx/angular/components/main-menu';\nimport { buildWebsiteUrl, createConfigTokens } from '@odx/angular/utils';\nimport { Observable } from 'rxjs';\nimport { FooterLink } from './models';\n\nexport interface FooterLinksConfig extends MainMenuLinksConfig {\n dynamicLinks?: Observable<FooterLink[]>;\n}\n\n/**\n * Creates configuration tokens for the footer links, providing a structured way to inject and manage footer link configurations.\n * This utility function encapsulates the configuration for footer links, including defaults and the ability to inject custom configurations.\n *\n * @returns {Object} An object containing configuration tokens for footer links:\n * - `FooterLinksConfig`: A token for injecting the footer links configuration.\n * - `FooterLinksDefaultConfig`: A token representing the default configuration values.\n * - `injectFooterLinksConfig`: A function to inject the current footer links configuration.\n * - `provideFooterLinksConfig`: A function to provide a custom configuration for footer links.\n *\n * @example\n * ```ts\n * // In your module or component\n * @NgModule({\n * providers: [\n * provideFooterLinksConfig({\n * legalNoticeUrl: 'https://www.custom-url/legal-notice',\n * providerIdentificationUrl: 'https://www.custom-url/provider-identification',\n * dynamicLinks: myDynamicLinksObservable\n * })\n * ]\n * })\n * export class MyModule {}\n * ```\n */\nexport const { FooterLinksConfig, FooterLinksDefaultConfig, injectFooterLinksConfig, provideFooterLinksConfig } = createConfigTokens(\n 'FooterLinks',\n '@odx/angular/components/footer',\n {\n providerIdentificationUrl: buildWebsiteUrl('provideridentification'),\n legalNoticeUrl: buildWebsiteUrl('legalnotice'),\n } as FooterLinksConfig,\n);\n","import { Observable, combineLatest, map, of } from 'rxjs';\nimport { injectFooterLinksConfig } from '../footer.config';\nimport { FooterLink } from '../models';\n\n/**\n * Creates an observable stream of footer links, combining statically configured links with dynamically provided ones.\n * It leverages the footer links configuration injected from `injectFooterLinksConfig` and optionally includes\n * dynamic links if provided. All links are filtered to include only those with a non-empty URL.\n *\n * @returns {Observable<FooterLink[]>} - An Observable that emits an array of `FooterLink` objects. Each `FooterLink`\n * contains a `name` and a `url`. The observable emits updates if the set of dynamic links changes.\n */\n\nexport function createFooterLinks$(): Observable<FooterLink[]> {\n const { legalNoticeUrl, providerIdentificationUrl, dataProtectionUrl, openSourceUrl, termsAndConditionsUrl, statusUrl, dynamicLinks } =\n injectFooterLinksConfig();\n const dynamicLinks$ = dynamicLinks ?? of([]);\n const links = [\n { name: 'status', url: statusUrl },\n { name: 'termsAndConditions', url: termsAndConditionsUrl },\n { name: 'providerIdentification', url: providerIdentificationUrl },\n { name: 'openSource', url: openSourceUrl },\n { name: 'dataProtection', url: dataProtectionUrl },\n { name: 'legalNotice', url: legalNoticeUrl },\n ];\n\n return combineLatest([dynamicLinks$, of(links)]).pipe(map((links) => links.flat().filter((link): link is FooterLink => !!link.url)));\n}\n","export type FooterVariant = (typeof FooterVariant)[keyof typeof FooterVariant];\n\nexport const FooterVariant = {\n LIGHT: 'light',\n DARK: 'dark',\n} as const;\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { DynamicTextContent, DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';\nimport { LinkDirective } from '@odx/angular/components/link';\nimport { LogoDirective } from '@odx/angular/components/logo';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { TranslatePipe, provideTranslations } from '@odx/angular/internal/translate';\nimport { injectElement } from '@odx/angular/utils';\nimport footerTranslations from './footer.i18n';\nimport { createFooterLinks$ } from './helpers';\nimport { FooterVariant } from './models';\n\n/**\n * Represents the footer component of an application, dynamically generating links and supporting various styles.\n * This component integrates dynamic and static content for the footer, including a logo, navigational links, and a customizable description.\n */\n\n@CSSComponent('footer')\n@Component({\n standalone: true,\n selector: 'odx-footer',\n imports: [LinkDirective, LogoDirective, DynamicViewDirective, CommonModule, TranslatePipe],\n templateUrl: './footer.component.html',\n providers: [provideTranslations(footerTranslations)],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class FooterComponent {\n protected readonly footerLinks$ = createFooterLinks$();\n public readonly element = injectElement();\n\n /**\n * The description of the footer component.\n * It can be of type DynamicTextContent or null.\n *\n * @type {DynamicTextContent}\n * @default null\n */\n @Input()\n public description?: DynamicTextContent | null = null;\n\n /**\n * The variant of the footer component.\n *\n * @type {FooterVariant}\n * @default FooterVariant.LIGHT\n */\n @CSSModifier()\n @Input()\n public variant: FooterVariant = FooterVariant.LIGHT;\n}\n","<div class=\"odx-footer__inner\">\n <div class=\"odx-footer__content\">\n <ng-content />\n </div>\n <nav class=\"odx-footer__navigation\">\n <ng-content select=\"[odxLink]\" />\n @for (link of footerLinks$ | async; track $index) {\n <a odxLink [href]=\"link.url\" target=\"_blank\">\n {{ link.name | odxTranslate | async }}\n </a>\n }\n </nav>\n @if (description) {\n <p class=\"odx-footer__description\">\n <ng-template [odxDynamicView]=\"description\" />\n </p>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -113,10 +113,10 @@ class FormFieldService extends Controller {
|
|
|
113
113
|
getControlDisabledState({ control }) {
|
|
114
114
|
return control.statusChanges.pipe(startWith(control.status), map((status) => status === 'DISABLED'), distinctUntilChanged());
|
|
115
115
|
}
|
|
116
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
117
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
116
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
117
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldService }); }
|
|
118
118
|
}
|
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldService, decorators: [{
|
|
120
120
|
type: Injectable
|
|
121
121
|
}] });
|
|
122
122
|
|
|
@@ -202,10 +202,10 @@ class FormFieldErrorService {
|
|
|
202
202
|
const getMessage = this.config.errors[key] ?? DEFAULT_ERROR_RESOLVER;
|
|
203
203
|
return { key, message: getMessage(context) };
|
|
204
204
|
}
|
|
205
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
206
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
205
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
206
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldErrorService }); }
|
|
207
207
|
}
|
|
208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldErrorService, decorators: [{
|
|
209
209
|
type: Injectable
|
|
210
210
|
}] });
|
|
211
211
|
|
|
@@ -232,13 +232,13 @@ let FormDirective = class FormDirective {
|
|
|
232
232
|
*/
|
|
233
233
|
this.reset$ = fromEvent(this.element.nativeElement, 'reset').pipe(takeUntilDestroyed(), share());
|
|
234
234
|
}
|
|
235
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
236
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
235
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
236
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: FormDirective, isStandalone: true, selector: "form[odxForm]", exportAs: ["odxForm"], ngImport: i0 }); }
|
|
237
237
|
};
|
|
238
238
|
FormDirective = __decorate([
|
|
239
239
|
CSSComponent('form')
|
|
240
240
|
], FormDirective);
|
|
241
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
241
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormDirective, decorators: [{
|
|
242
242
|
type: Directive,
|
|
243
243
|
args: [{
|
|
244
244
|
standalone: true,
|
|
@@ -299,14 +299,14 @@ let FormFieldControlDirective = class FormFieldControlDirective {
|
|
|
299
299
|
this.forceValidation$$.next();
|
|
300
300
|
};
|
|
301
301
|
}
|
|
302
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
303
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
302
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
303
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: FormFieldControlDirective, isStandalone: true, selector: "[odxFormFieldControl]", exportAs: ["odxFormFieldControl"], ngImport: i0 }); }
|
|
304
304
|
};
|
|
305
305
|
FormFieldControlDirective = __decorate([
|
|
306
306
|
CSSComponent('form-field-control'),
|
|
307
307
|
__metadata("design:paramtypes", [])
|
|
308
308
|
], FormFieldControlDirective);
|
|
309
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
309
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldControlDirective, decorators: [{
|
|
310
310
|
type: Directive,
|
|
311
311
|
args: [{
|
|
312
312
|
standalone: true,
|
|
@@ -326,10 +326,10 @@ class FormFieldErrorDirective {
|
|
|
326
326
|
ngOnInit() {
|
|
327
327
|
this.formFieldErrorService.registerCustomError(this.key, this.template);
|
|
328
328
|
}
|
|
329
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
330
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
329
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
330
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: FormFieldErrorDirective, isStandalone: true, selector: "[odxFormFieldError]", inputs: { key: ["odxFormFieldError", "key"] }, ngImport: i0 }); }
|
|
331
331
|
}
|
|
332
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
332
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldErrorDirective, decorators: [{
|
|
333
333
|
type: Directive,
|
|
334
334
|
args: [{
|
|
335
335
|
standalone: true,
|
|
@@ -348,10 +348,10 @@ class FormFieldHintDirective {
|
|
|
348
348
|
this.formFieldService = inject(FormFieldService, { skipSelf: true });
|
|
349
349
|
reactiveAttributeBinding(inject(FormFieldService).controlHintId$, 'id');
|
|
350
350
|
}
|
|
351
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
352
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
351
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
352
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: FormFieldHintDirective, isStandalone: true, selector: "odx-form-field-hint", host: { properties: { "class.odx-form-field__hint": "true" } }, ngImport: i0 }); }
|
|
353
353
|
}
|
|
354
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
354
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldHintDirective, decorators: [{
|
|
355
355
|
type: Directive,
|
|
356
356
|
args: [{
|
|
357
357
|
standalone: true,
|
|
@@ -369,13 +369,13 @@ let FormFieldLabelDirective = class FormFieldLabelDirective {
|
|
|
369
369
|
constructor() {
|
|
370
370
|
this.element = injectElement();
|
|
371
371
|
}
|
|
372
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
373
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
372
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
373
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: FormFieldLabelDirective, isStandalone: true, selector: "odx-form-field-label", ngImport: i0 }); }
|
|
374
374
|
};
|
|
375
375
|
FormFieldLabelDirective = __decorate([
|
|
376
376
|
CSSComponent('form-field-label')
|
|
377
377
|
], FormFieldLabelDirective);
|
|
378
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
378
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldLabelDirective, decorators: [{
|
|
379
379
|
type: Directive,
|
|
380
380
|
args: [{
|
|
381
381
|
standalone: true,
|
|
@@ -402,10 +402,10 @@ class FormFieldInfoComponent {
|
|
|
402
402
|
*/
|
|
403
403
|
this.error = null;
|
|
404
404
|
}
|
|
405
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
406
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
405
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
406
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: FormFieldInfoComponent, isStandalone: true, selector: "odx-form-field-info", inputs: { error: "error" }, host: { properties: { "class.odx-form-field__info": "true" } }, ngImport: i0, template: "@if (error) {\n <span class=\"odx-form-field-error\" [attr.id]=\"formFieldService.controlErrorId$ | async\">\n <ng-template [odxDynamicView]=\"error.message\" [odxDynamicViewContext]=\"error.context\" />\n </span>\n} @else {\n <ng-content />\n}\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
407
407
|
}
|
|
408
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldInfoComponent, decorators: [{
|
|
409
409
|
type: Component,
|
|
410
410
|
args: [{ standalone: true, selector: 'odx-form-field-info', encapsulation: ViewEncapsulation.None, imports: [CoreModule, DynamicViewDirective, FormFieldHintDirective], host: {
|
|
411
411
|
'[class.odx-form-field__info]': 'true',
|
|
@@ -437,13 +437,13 @@ let FormGroupComponent = class FormGroupComponent {
|
|
|
437
437
|
ngAfterContentInit() {
|
|
438
438
|
this.error$ = this.formFieldErrorServices.changes.pipe(startWith(this.formFieldErrorServices), switchMap((services) => combineLatest(services.map((service) => service.error$))), map((errors) => errors.find((error) => error !== null) ?? null));
|
|
439
439
|
}
|
|
440
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
441
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
440
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
441
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: FormGroupComponent, isStandalone: true, selector: "odx-form-group", providers: [FormFieldService], queries: [{ propertyName: "formFieldErrorServices", predicate: FormFieldErrorService }], ngImport: i0, template: "<div class=\"odx-form-group__content\" odxLayout=\"grid\">\n <ng-content select=\"odx-form-field\" />\n</div>\n<odx-form-field-info [error]=\"error$ | async\">\n <ng-content select=\"odx-form-field-hint\" />\n</odx-form-field-info>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: FormFieldInfoComponent, selector: "odx-form-field-info", inputs: ["error"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
442
442
|
};
|
|
443
443
|
FormGroupComponent = __decorate([
|
|
444
444
|
CSSComponent('form-group')
|
|
445
445
|
], FormGroupComponent);
|
|
446
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
446
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormGroupComponent, decorators: [{
|
|
447
447
|
type: Component,
|
|
448
448
|
args: [{ standalone: true, selector: 'odx-form-group', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CoreModule, FormFieldInfoComponent], providers: [FormFieldService], template: "<div class=\"odx-form-group__content\" odxLayout=\"grid\">\n <ng-content select=\"odx-form-field\" />\n</div>\n<odx-form-field-info [error]=\"error$ | async\">\n <ng-content select=\"odx-form-field-hint\" />\n</odx-form-field-info>\n" }]
|
|
449
449
|
}], propDecorators: { formFieldErrorServices: [{
|
|
@@ -507,8 +507,8 @@ let FormFieldComponent = class FormFieldComponent {
|
|
|
507
507
|
reactiveClassBinding(this.formFieldErrorService.hasError$, 'has-error');
|
|
508
508
|
reactiveClassBinding(hasWarning$, 'has-warning');
|
|
509
509
|
}
|
|
510
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
511
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
510
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
511
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: FormFieldComponent, isStandalone: true, selector: "odx-form-field", inputs: { label: "label", hasWarning: ["hasWarning", "hasWarning", booleanAttribute], variant: "variant" }, providers: [FormFieldService, FormFieldErrorService, DisabledController.connect(), ReadonlyController.connect()], queries: [{ propertyName: "labelDirective", first: true, predicate: FormFieldLabelDirective, descendants: true }], viewQueries: [{ propertyName: "controlElement", first: true, predicate: ["control"], descendants: true }], ngImport: i0, template: "@if (hasLabel) {\n <label class=\"odx-form-field__label\" [attr.for]=\"formFieldService.controlId$ | async\" [attr.aria-owns]=\"formFieldService.controlId$ | async\">\n @if (label) {\n <ng-container>\n <odx-form-field-label>{{ label }}</odx-form-field-label>\n @if (formFieldService.isRequired$ | async) {\n <span class=\"odx-form-field__label-is-required\">*</span>\n }\n </ng-container>\n } @else {\n <ng-content select=\"odx-form-field-label\" />\n @if (formFieldService.isRequired$ | async) {\n <span class=\"odx-form-field__label-is-required\">*</span>\n }\n }\n </label>\n}\n<div class=\"odx-form-field__inner\">\n <div class=\"odx-form-field__control\" #control>\n <div class=\"odx-form-field__prefix\">\n <ng-content select=\"[odxFormFieldPrefix]\" />\n </div>\n <ng-content />\n <div class=\"odx-form-field__suffix\">\n <ng-content select=\"[odxFormFieldSuffix]\" />\n </div>\n </div>\n @if (!formGroup) {\n <odx-form-field-info [error]=\"formFieldErrorService.error$ | async\">\n <ng-content select=\"odx-form-field-hint\" />\n </odx-form-field-info>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: FormFieldInfoComponent, selector: "odx-form-field-info", inputs: ["error"] }, { kind: "directive", type: FormFieldLabelDirective, selector: "odx-form-field-label" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
512
512
|
};
|
|
513
513
|
__decorate([
|
|
514
514
|
CSSModifier(),
|
|
@@ -518,7 +518,7 @@ FormFieldComponent = __decorate([
|
|
|
518
518
|
CSSComponent('form-field'),
|
|
519
519
|
__metadata("design:paramtypes", [])
|
|
520
520
|
], FormFieldComponent);
|
|
521
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
521
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
522
522
|
type: Component,
|
|
523
523
|
args: [{ standalone: true, selector: 'odx-form-field', imports: [CoreModule, FormFieldInfoComponent, FormFieldLabelDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormFieldService, FormFieldErrorService, DisabledController.connect(), ReadonlyController.connect()], template: "@if (hasLabel) {\n <label class=\"odx-form-field__label\" [attr.for]=\"formFieldService.controlId$ | async\" [attr.aria-owns]=\"formFieldService.controlId$ | async\">\n @if (label) {\n <ng-container>\n <odx-form-field-label>{{ label }}</odx-form-field-label>\n @if (formFieldService.isRequired$ | async) {\n <span class=\"odx-form-field__label-is-required\">*</span>\n }\n </ng-container>\n } @else {\n <ng-content select=\"odx-form-field-label\" />\n @if (formFieldService.isRequired$ | async) {\n <span class=\"odx-form-field__label-is-required\">*</span>\n }\n }\n </label>\n}\n<div class=\"odx-form-field__inner\">\n <div class=\"odx-form-field__control\" #control>\n <div class=\"odx-form-field__prefix\">\n <ng-content select=\"[odxFormFieldPrefix]\" />\n </div>\n <ng-content />\n <div class=\"odx-form-field__suffix\">\n <ng-content select=\"[odxFormFieldSuffix]\" />\n </div>\n </div>\n @if (!formGroup) {\n <odx-form-field-info [error]=\"formFieldErrorService.error$ | async\">\n <ng-content select=\"odx-form-field-hint\" />\n </odx-form-field-info>\n }\n</div>\n" }]
|
|
524
524
|
}], ctorParameters: () => [], propDecorators: { labelDirective: [{
|
|
@@ -546,8 +546,8 @@ const modules = [
|
|
|
546
546
|
FormFieldLabelDirective,
|
|
547
547
|
];
|
|
548
548
|
class FormFieldModule {
|
|
549
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
550
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
549
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
550
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: FormFieldModule, imports: [FormFieldComponent,
|
|
551
551
|
FormGroupComponent,
|
|
552
552
|
FormDirective,
|
|
553
553
|
FormFieldControlDirective,
|
|
@@ -560,10 +560,10 @@ class FormFieldModule {
|
|
|
560
560
|
FormFieldErrorDirective,
|
|
561
561
|
FormFieldHintDirective,
|
|
562
562
|
FormFieldLabelDirective] }); }
|
|
563
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
563
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldModule, imports: [FormFieldComponent,
|
|
564
564
|
FormGroupComponent, CoreModule] }); }
|
|
565
565
|
}
|
|
566
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
566
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormFieldModule, decorators: [{
|
|
567
567
|
type: NgModule,
|
|
568
568
|
args: [{
|
|
569
569
|
imports: modules,
|