@odx/angular 6.0.0 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/animations/lib/expand.d.ts +44 -0
- package/animations/lib/fade.d.ts +70 -0
- package/animations/lib/slide.d.ts +21 -0
- package/animations/lib/wait-for-child-animations.d.ts +38 -0
- package/breakpoints/lib/breakpoints.config.d.ts +38 -0
- package/breakpoints/lib/breakpoints.service.d.ts +43 -0
- package/breakpoints/lib/directives/match-breakpoints.directive.d.ts +36 -0
- package/breakpoints/lib/helpers/configure-breakpoint.d.ts +19 -0
- package/cdk/a11y/lib/directives/interactive.directive.d.ts +32 -0
- package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +22 -0
- package/cdk/a11y/lib/directives/list-focus-manager.directive.d.ts +17 -0
- package/cdk/active-indicator/lib/active-indicator.directive.d.ts +63 -0
- package/cdk/autocomplete-control/lib/autocomplete-control.d.ts +53 -0
- package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +3 -0
- package/cdk/connected-overlay/lib/connected-overlay.service.d.ts +44 -0
- package/cdk/connected-overlay/lib/helpers/compute-overlay-position.d.ts +10 -0
- package/cdk/connected-overlay/lib/models/connected-overlay-ref.d.ts +49 -0
- package/cdk/custom-form-control/lib/custom-form-control.d.ts +108 -0
- package/cdk/custom-form-control/lib/input-control.directive.d.ts +75 -0
- package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +25 -0
- package/cdk/dynamic-view/lib/dynamic-view.service.d.ts +30 -0
- package/cdk/dynamic-view/lib/helpers/create-projectable-nodes.d.ts +22 -0
- package/cdk/dynamic-view/lib/helpers/is-dynamic-text-content.d.ts +22 -0
- package/cdk/dynamic-view/lib/helpers/is-dynamic-view.d.ts +22 -0
- package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +39 -0
- package/cdk/dynamic-view/lib/models/dynamic-template-ref.d.ts +36 -0
- package/cdk/event-plugins/lib/event-plugins.config.d.ts +35 -0
- package/cdk/event-plugins/lib/models/event-plugin.d.ts +57 -0
- package/cdk/event-plugins/lib/plugins/debounce-event-plugin.d.ts +32 -0
- package/cdk/event-plugins/lib/plugins/defer-event-plugin.d.ts +24 -0
- package/cdk/expandable/lib/directives/expandable-container.directive.d.ts +41 -0
- package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +47 -0
- package/cdk/option-control/lib/option-control.d.ts +47 -0
- package/cdk/radio-group-control/lib/radio-control.directive.d.ts +8 -0
- package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +11 -0
- package/components/accordion/lib/accordion.component.d.ts +8 -0
- package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +37 -1
- package/components/accordion/lib/directives/accordion-item-title.d.ts +3 -0
- package/components/action-group/action-group.component.d.ts +6 -0
- package/components/area-header/area-header.component.d.ts +8 -0
- package/components/area-header/directives/area-header-content.directive.d.ts +3 -0
- package/components/area-header/directives/area-header-subtitle.directive.d.ts +3 -0
- package/components/autocomplete/lib/autocomplete.component.d.ts +17 -0
- package/components/avatar/lib/avatar.component.d.ts +8 -0
- package/components/badge/lib/badge.component.d.ts +10 -0
- package/components/badge/lib/badge.directive.d.ts +15 -0
- package/components/bar/lib/bar.component.d.ts +7 -0
- package/components/bar/lib/directives/bar-button.directive.d.ts +3 -0
- package/components/bar/lib/directives/bar-label.directive.d.ts +3 -0
- package/components/breadcrumbs/lib/breadcrumbs.component.d.ts +3 -0
- package/components/button/lib/button.component.d.ts +10 -0
- package/components/button-group/lib/button-group.component.d.ts +15 -0
- package/components/calendar/lib/calendar.component.d.ts +48 -0
- package/components/calendar/lib/calendar.config.d.ts +17 -0
- package/components/calendar/lib/calendar.service.d.ts +48 -0
- package/components/calendar/lib/components/calendar-header/calendar-header.component.d.ts +24 -0
- package/components/calendar/lib/components/calendar-month/calendar-month.component.d.ts +6 -0
- package/components/calendar/lib/components/calendar-year/calendar-year.component.d.ts +6 -0
- package/components/calendar/lib/components/calendar-years/calendar-years.component.d.ts +6 -0
- package/components/calendar/lib/daterange.service.d.ts +16 -0
- package/components/calendar/lib/directives/calendar-cell.directive.d.ts +37 -0
- package/components/calendar/lib/directives/calendar-view.directive.d.ts +41 -0
- package/components/calendar/lib/pipes/date-label.pipe.d.ts +5 -0
- package/components/calendar/lib/services/calendar-month.service.d.ts +1 -0
- package/components/calendar/lib/services/calendar-year.service.d.ts +1 -0
- package/components/calendar/lib/services/calendar-years.service.d.ts +1 -0
- package/components/calendar/lib/utils/check-cell-in-range.d.ts +1 -0
- package/components/calendar/lib/utils/check-identical-date.d.ts +1 -0
- package/components/calendar/lib/utils/get-A11y-label.d.ts +1 -0
- package/components/calendar/lib/utils/is-date-disabled.d.ts +1 -0
- package/components/calendar/lib/utils/parse-date.d.ts +1 -0
- package/components/calendar/lib/utils/validate-daterange.d.ts +1 -0
- package/components/calendar/lib/utils/validate-max-date.d.ts +1 -0
- package/components/calendar/lib/utils/validate-min-date.d.ts +1 -0
- package/components/calendar/lib/utils/validate-next-date-set.d.ts +1 -0
- package/components/calendar/lib/utils/validate-previous-date-set.d.ts +1 -0
- package/components/checkbox/lib/checkbox.component.d.ts +32 -0
- package/components/checkbox/lib/checkbox.validator.d.ts +23 -0
- package/components/chip/lib/components/chip/chip.component.d.ts +14 -0
- package/components/chip/lib/components/chip-list/chip-list.component.d.ts +3 -0
- package/components/chip/lib/components/chip-list-row/chip-list-row.component.d.ts +3 -0
- package/components/circular-progress/lib/circular-progress.component.d.ts +20 -0
- package/components/content-box/lib/content-box.component.d.ts +3 -0
- package/components/content-box/lib/directives/content-box-footer.directive.d.ts +3 -0
- package/components/content-box/lib/directives/content-box-header.directive.d.ts +3 -0
- package/components/datepicker/lib/datepicker.component.d.ts +47 -0
- package/components/datepicker/lib/datepicker.config.d.ts +19 -0
- package/components/datepicker/lib/directives/datepicker-input-control.directive.d.ts +30 -0
- package/components/datepicker/lib/utils/get-datepicker-input-pattern.d.ts +2 -0
- package/components/datepicker/lib/utils/get-datepicker-input-value-as-date.d.ts +1 -0
- package/components/daterangepicker/lib/daterangepicker.component.d.ts +89 -0
- package/components/daterangepicker/lib/daterangepicker.config.d.ts +19 -0
- package/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.d.ts +30 -0
- package/components/daterangepicker/lib/range.validator.d.ts +15 -0
- package/components/daterangepicker/lib/required.validator.d.ts +6 -0
- package/components/daterangepicker/lib/utils/get-daterangepicker-input-pattern.d.ts +2 -0
- package/components/daterangepicker/lib/utils/get-daterangepicker-input-value-as-date.d.ts +1 -0
- package/components/dropdown/lib/dropdown.component.d.ts +16 -0
- package/components/dropdown/lib/dropdown.directive.d.ts +67 -0
- package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +5 -0
- package/components/error-page/lib/error-page.component.d.ts +7 -0
- package/components/error-page/lib/error-page.config.d.ts +18 -0
- package/components/footer/lib/footer.component.d.ts +9 -6
- package/components/footer/lib/footer.config.d.ts +2 -0
- package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +13 -0
- package/components/form-field/lib/components/form-group/form-group.component.d.ts +16 -0
- package/components/form-field/lib/directives/form-field-control.directive.d.ts +5 -0
- package/components/form-field/lib/directives/form-field-error.directive.d.ts +6 -0
- package/components/form-field/lib/directives/form-field-hint.directive.d.ts +3 -0
- package/components/form-field/lib/directives/form-field-label.directive.d.ts +3 -0
- package/components/form-field/lib/directives/form.directive.d.ts +13 -0
- package/components/form-field/lib/form-field.component.d.ts +20 -0
- package/components/form-field/lib/form-field.service.d.ts +42 -0
- package/components/form-field/lib/services/form-field-error.service.d.ts +24 -0
- package/components/header/lib/directives/header-avatar.directive.d.ts +4 -0
- package/components/header/lib/directives/header-title.directive.d.ts +3 -0
- package/components/header/lib/header.component.d.ts +3 -0
- package/components/header-navigation/lib/directives/header-navigation-link.directive.d.ts +3 -0
- package/components/header-navigation/lib/header-navigation.component.d.ts +6 -0
- package/components/icon/lib/helpers/unpack-icon-identifier.d.ts +14 -0
- package/components/icon/lib/icon.component.d.ts +24 -0
- package/components/icon/lib/icon.config.d.ts +26 -0
- package/components/inline-message/lib/inline-message.component.d.ts +13 -0
- package/components/link/link.directive.d.ts +3 -0
- package/components/list/lib/components/expandable-list-item/expandable-list-item.component.d.ts +6 -0
- package/components/list/lib/components/list-item/list-item.component.d.ts +17 -1
- package/components/list/lib/list.component.d.ts +5 -0
- package/components/loading-spinner/lib/loading-spinner.component.d.ts +8 -0
- package/components/loading-spinner/lib/loading-spinner.directive.d.ts +22 -0
- package/components/logo/logo.directive.d.ts +15 -0
- package/components/main-menu/lib/directives/main-menu-button.directive.d.ts +5 -1
- package/components/main-menu/lib/directives/main-menu-close.directive.d.ts +3 -0
- package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +16 -0
- package/components/main-menu/lib/helpers/create-main-menu-links.d.ts +1 -0
- package/components/main-menu/lib/main-menu.component.d.ts +42 -0
- package/components/main-menu/lib/main-menu.config.d.ts +31 -0
- package/components/main-menu/lib/main-menu.service.d.ts +28 -0
- package/components/mainfilter-group/lib/mainfilter-group.component.d.ts +4 -0
- package/components/menu/lib/directives/menu-item.directive.d.ts +6 -0
- package/components/menu/lib/menu.component.d.ts +13 -1
- package/components/menu/lib/menu.directive.d.ts +31 -0
- package/components/modal/lib/components/basic-modal/basic-modal.component.d.ts +14 -0
- package/components/modal/lib/components/modal-footer/modal-footer.component.d.ts +3 -0
- package/components/modal/lib/components/modal-header/modal-header.component.d.ts +9 -0
- package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +21 -0
- package/components/modal/lib/directives/modal-close.directive.d.ts +25 -1
- package/components/modal/lib/directives/modal-content.directive.d.ts +3 -0
- package/components/modal/lib/directives/modal-dismiss.directive.d.ts +18 -1
- package/components/modal/lib/helpers/inject-modal-ref.d.ts +21 -0
- package/components/modal/lib/helpers/provide-modal-ref.d.ts +9 -0
- package/components/modal/lib/modal.component.d.ts +25 -0
- package/components/modal/lib/modal.config.d.ts +33 -0
- package/components/modal/lib/modal.directive.d.ts +29 -0
- package/components/modal/lib/modal.service.d.ts +54 -0
- package/components/modal/lib/models/modal-ref.d.ts +34 -0
- package/components/navigation-back/lib/navigation-back.component.d.ts +3 -0
- package/components/notification/lib/components/notification-center/notification-center.component.d.ts +0 -2
- package/components/notification/lib/directives/notification-center.directive.d.ts +18 -4
- package/components/notification/lib/helpers/get-notifications-by-tag.d.ts +1 -0
- package/components/notification/lib/helpers/sort-notifications.d.ts +1 -0
- package/components/notification/lib/helpers/to-notification-collection.d.ts +1 -0
- package/components/notification/lib/models/notification-feature.d.ts +15 -0
- package/components/notification/lib/notification.config.d.ts +54 -0
- package/components/notification/lib/notification.logger.d.ts +1 -0
- package/components/notification/lib/notification.service.d.ts +55 -0
- package/components/notification/lib/notification.tokens.d.ts +3 -0
- package/components/notification/lib/services/notification-center.service.d.ts +9 -0
- package/components/paginator/lib/paginator.component.d.ts +89 -0
- package/components/paginator/lib/paginator.config.d.ts +24 -2
- package/components/progress/lib/progress.component.d.ts +15 -0
- package/components/radio-group/lib/radio-group.component.d.ts +11 -0
- package/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.d.ts +19 -0
- package/components/rail-navigation/lib/rail-navigation.component.d.ts +26 -0
- package/components/rich-list/lib/components/rich-list-content/rich-list-content.component.d.ts +4 -0
- package/components/rich-list/lib/components/rich-list-header/rich-list-header.component.d.ts +4 -0
- package/components/rich-list/lib/components/rich-list-item/rich-list-item.component.d.ts +9 -1
- package/components/rich-list/lib/rich-list.component.d.ts +9 -2
- package/components/select/lib/components/select-option/select-option.component.d.ts +39 -2
- package/components/select/lib/directives/select-input-control.directive.d.ts +11 -0
- package/components/select/lib/pipes/select-search-filter.pipe.d.ts +10 -0
- package/components/select/lib/select.component.d.ts +59 -0
- package/components/slider/lib/slider.directive.d.ts +19 -0
- package/components/spinbox/lib/spinbox.component.d.ts +16 -0
- package/components/switch/lib/switch.component.d.ts +10 -0
- package/components/switch/lib/switch.validator.d.ts +12 -0
- package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +28 -0
- package/components/tab-bar/lib/tab-bar.component.d.ts +69 -0
- package/components/table/lib/components/check-cell/check-cell.component.d.ts +18 -0
- package/components/table/lib/components/header-title/header-title.component.d.ts +33 -1
- package/components/table/lib/directives/table-cell.directive.d.ts +4 -0
- package/components/table/lib/directives/table-row.directive.d.ts +4 -0
- package/components/table/lib/table.component.d.ts +36 -0
- package/components/timepicker/lib/timepicker.component.d.ts +11 -2
- package/components/timepicker/lib/utils/generate-time-stamps.d.ts +2 -1
- package/components/timepicker/lib/utils/ngx-mask-helper.d.ts +2 -2
- package/components/toast/lib/toast.config.d.ts +26 -0
- package/components/toast/lib/toast.service.d.ts +35 -0
- package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +11 -0
- package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +12 -0
- package/components/tooltip/lib/tooltip.component.d.ts +20 -0
- package/components/tooltip/lib/tooltip.directive.d.ts +35 -0
- package/components/wizard/lib/components/wizard-step/wizard-step.component.d.ts +34 -0
- package/components/wizard/lib/wizard.component.d.ts +20 -0
- package/esm2022/animations/lib/expand.mjs +45 -1
- package/esm2022/animations/lib/fade.mjs +71 -1
- package/esm2022/animations/lib/slide.mjs +22 -1
- package/esm2022/animations/lib/wait-for-child-animations.mjs +39 -1
- package/esm2022/breakpoints/lib/breakpoints.config.mjs +39 -1
- package/esm2022/breakpoints/lib/breakpoints.service.mjs +44 -1
- package/esm2022/breakpoints/lib/directives/match-breakpoints.directive.mjs +37 -1
- package/esm2022/breakpoints/lib/helpers/configure-breakpoint.mjs +20 -1
- package/esm2022/cdk/a11y/lib/directives/interactive.directive.mjs +33 -1
- package/esm2022/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +23 -1
- package/esm2022/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +18 -1
- package/esm2022/cdk/active-indicator/lib/active-indicator.directive.mjs +64 -1
- package/esm2022/cdk/autocomplete-control/lib/autocomplete-control.mjs +39 -1
- package/esm2022/cdk/checkbox-control/lib/checkbox-control.directive.mjs +4 -1
- package/esm2022/cdk/connected-overlay/lib/connected-overlay.service.mjs +45 -1
- package/esm2022/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +11 -1
- package/esm2022/cdk/connected-overlay/lib/models/connected-overlay-ref.mjs +50 -1
- package/esm2022/cdk/custom-form-control/lib/custom-form-control.mjs +109 -3
- package/esm2022/cdk/custom-form-control/lib/input-control.directive.mjs +76 -1
- package/esm2022/cdk/dynamic-view/lib/dynamic-view.directive.mjs +18 -1
- package/esm2022/cdk/dynamic-view/lib/dynamic-view.service.mjs +31 -1
- package/esm2022/cdk/dynamic-view/lib/helpers/create-projectable-nodes.mjs +23 -1
- package/esm2022/cdk/dynamic-view/lib/helpers/is-dynamic-text-content.mjs +23 -1
- package/esm2022/cdk/dynamic-view/lib/helpers/is-dynamic-view.mjs +23 -1
- package/esm2022/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +40 -1
- package/esm2022/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +37 -1
- package/esm2022/cdk/event-plugins/lib/event-plugins.config.mjs +36 -1
- package/esm2022/cdk/event-plugins/lib/models/event-plugin.mjs +45 -1
- package/esm2022/cdk/event-plugins/lib/plugins/debounce-event-plugin.mjs +33 -1
- package/esm2022/cdk/event-plugins/lib/plugins/defer-event-plugin.mjs +25 -1
- package/esm2022/cdk/expandable/lib/directives/expandable-container.directive.mjs +42 -1
- package/esm2022/cdk/expandable/lib/directives/expandable-item.directive.mjs +48 -1
- package/esm2022/cdk/option-control/lib/option-control.mjs +48 -1
- package/esm2022/cdk/radio-group-control/lib/radio-control.directive.mjs +9 -1
- package/esm2022/cdk/radio-group-control/lib/radio-group-control.directive.mjs +12 -1
- package/esm2022/components/accordion/lib/accordion.component.mjs +9 -1
- package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +31 -1
- package/esm2022/components/accordion/lib/directives/accordion-item-title.mjs +4 -1
- package/esm2022/components/action-group/action-group.component.mjs +7 -1
- package/esm2022/components/area-header/area-header.component.mjs +9 -1
- package/esm2022/components/area-header/directives/area-header-content.directive.mjs +4 -1
- package/esm2022/components/area-header/directives/area-header-subtitle.directive.mjs +4 -1
- package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +18 -1
- package/esm2022/components/avatar/lib/avatar.component.mjs +9 -1
- package/esm2022/components/badge/lib/badge.component.mjs +11 -1
- package/esm2022/components/badge/lib/badge.directive.mjs +16 -1
- package/esm2022/components/bar/lib/bar.component.mjs +8 -1
- package/esm2022/components/bar/lib/directives/bar-button.directive.mjs +4 -1
- package/esm2022/components/bar/lib/directives/bar-label.directive.mjs +4 -1
- package/esm2022/components/breadcrumbs/lib/breadcrumbs.component.mjs +4 -1
- package/esm2022/components/button/lib/button.component.mjs +11 -1
- package/esm2022/components/button-group/lib/button-group.component.mjs +16 -1
- package/esm2022/components/calendar/lib/calendar.component.mjs +35 -1
- package/esm2022/components/calendar/lib/calendar.config.mjs +18 -1
- package/esm2022/components/calendar/lib/calendar.service.mjs +49 -1
- package/esm2022/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +19 -1
- package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +7 -1
- package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +7 -1
- package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +7 -1
- package/esm2022/components/calendar/lib/daterange.service.mjs +17 -1
- package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +26 -1
- package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +39 -1
- package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +6 -1
- package/esm2022/components/calendar/lib/services/calendar-month.service.mjs +2 -1
- package/esm2022/components/calendar/lib/services/calendar-year.service.mjs +2 -1
- package/esm2022/components/calendar/lib/services/calendar-years.service.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/check-cell-in-range.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/check-identical-date.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/get-A11y-label.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/is-date-disabled.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/parse-date.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/validate-daterange.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/validate-max-date.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/validate-min-date.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/validate-next-date-set.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/validate-previous-date-set.mjs +2 -1
- package/esm2022/components/checkbox/lib/checkbox.component.mjs +33 -1
- package/esm2022/components/checkbox/lib/checkbox.validator.mjs +24 -1
- package/esm2022/components/chip/lib/components/chip/chip.component.mjs +15 -1
- package/esm2022/components/chip/lib/components/chip-list/chip-list.component.mjs +4 -1
- package/esm2022/components/chip/lib/components/chip-list-row/chip-list-row.component.mjs +4 -1
- package/esm2022/components/circular-progress/lib/circular-progress.component.mjs +21 -1
- package/esm2022/components/content-box/lib/content-box.component.mjs +4 -1
- package/esm2022/components/content-box/lib/directives/content-box-footer.directive.mjs +4 -1
- package/esm2022/components/content-box/lib/directives/content-box-header.directive.mjs +4 -1
- package/esm2022/components/datepicker/lib/datepicker.component.mjs +33 -1
- package/esm2022/components/datepicker/lib/datepicker.config.mjs +20 -1
- package/esm2022/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +31 -1
- package/esm2022/components/datepicker/lib/utils/get-datepicker-input-pattern.mjs +3 -1
- package/esm2022/components/datepicker/lib/utils/get-datepicker-input-value-as-date.mjs +2 -1
- package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +65 -1
- package/esm2022/components/daterangepicker/lib/daterangepicker.config.mjs +20 -1
- package/esm2022/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.mjs +31 -1
- package/esm2022/components/daterangepicker/lib/range.validator.mjs +16 -1
- package/esm2022/components/daterangepicker/lib/required.validator.mjs +15 -1
- package/esm2022/components/daterangepicker/lib/utils/get-daterangepicker-input-pattern.mjs +3 -1
- package/esm2022/components/daterangepicker/lib/utils/get-daterangepicker-input-value-as-date.mjs +2 -1
- package/esm2022/components/dropdown/lib/dropdown.component.mjs +8 -1
- package/esm2022/components/dropdown/lib/dropdown.directive.mjs +55 -1
- package/esm2022/components/dropdown/lib/helpers/close-current-dropdown.mjs +6 -1
- package/esm2022/components/error-page/lib/error-page.component.mjs +8 -1
- package/esm2022/components/error-page/lib/error-page.config.mjs +9 -1
- package/esm2022/components/footer/lib/footer.component.mjs +10 -7
- package/esm2022/components/footer/lib/footer.config.mjs +3 -1
- package/esm2022/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +14 -1
- package/esm2022/components/form-field/lib/components/form-group/form-group.component.mjs +13 -1
- package/esm2022/components/form-field/lib/directives/form-field-control.directive.mjs +6 -1
- package/esm2022/components/form-field/lib/directives/form-field-error.directive.mjs +4 -1
- package/esm2022/components/form-field/lib/directives/form-field-hint.directive.mjs +4 -1
- package/esm2022/components/form-field/lib/directives/form-field-label.directive.mjs +4 -1
- package/esm2022/components/form-field/lib/directives/form.directive.mjs +14 -1
- package/esm2022/components/form-field/lib/form-field.component.mjs +14 -1
- package/esm2022/components/form-field/lib/form-field.service.mjs +43 -1
- package/esm2022/components/form-field/lib/services/form-field-error.service.mjs +25 -1
- package/esm2022/components/header/lib/directives/header-avatar.directive.mjs +5 -1
- package/esm2022/components/header/lib/directives/header-title.directive.mjs +4 -1
- package/esm2022/components/header/lib/header.component.mjs +4 -1
- package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs +4 -1
- package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +4 -1
- package/esm2022/components/icon/lib/helpers/unpack-icon-identifier.mjs +15 -1
- package/esm2022/components/icon/lib/icon.component.mjs +25 -1
- package/esm2022/components/icon/lib/icon.config.mjs +20 -1
- package/esm2022/components/inline-message/lib/inline-message.component.mjs +14 -1
- package/esm2022/components/link/link.directive.mjs +4 -1
- package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +7 -1
- package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +18 -2
- package/esm2022/components/list/lib/list.component.mjs +6 -1
- package/esm2022/components/loading-spinner/lib/loading-spinner.component.mjs +10 -2
- package/esm2022/components/loading-spinner/lib/loading-spinner.directive.mjs +23 -1
- package/esm2022/components/logo/logo.directive.mjs +16 -1
- package/esm2022/components/main-menu/lib/directives/main-menu-button.directive.mjs +5 -1
- package/esm2022/components/main-menu/lib/directives/main-menu-close.directive.mjs +4 -1
- package/esm2022/components/main-menu/lib/directives/main-menu-item.directive.mjs +17 -1
- package/esm2022/components/main-menu/lib/helpers/create-main-menu-links.mjs +2 -1
- package/esm2022/components/main-menu/lib/main-menu.component.mjs +37 -1
- package/esm2022/components/main-menu/lib/main-menu.config.mjs +32 -1
- package/esm2022/components/main-menu/lib/main-menu.service.mjs +29 -1
- package/esm2022/components/mainfilter-group/lib/mainfilter-group.component.mjs +5 -1
- package/esm2022/components/menu/lib/directives/menu-item.directive.mjs +7 -1
- package/esm2022/components/menu/lib/menu.component.mjs +13 -1
- package/esm2022/components/menu/lib/menu.directive.mjs +19 -1
- package/esm2022/components/modal/lib/components/basic-modal/basic-modal.component.mjs +15 -1
- package/esm2022/components/modal/lib/components/modal-footer/modal-footer.component.mjs +4 -1
- package/esm2022/components/modal/lib/components/modal-header/modal-header.component.mjs +4 -1
- package/esm2022/components/modal/lib/components/modal-hero/modal-hero.component.mjs +12 -1
- package/esm2022/components/modal/lib/directives/modal-close.directive.mjs +25 -1
- package/esm2022/components/modal/lib/directives/modal-content.directive.mjs +4 -1
- package/esm2022/components/modal/lib/directives/modal-dismiss.directive.mjs +18 -1
- package/esm2022/components/modal/lib/helpers/inject-modal-ref.mjs +22 -1
- package/esm2022/components/modal/lib/helpers/provide-modal-ref.mjs +10 -1
- package/esm2022/components/modal/lib/modal.component.mjs +21 -2
- package/esm2022/components/modal/lib/modal.config.mjs +34 -1
- package/esm2022/components/modal/lib/modal.directive.mjs +25 -1
- package/esm2022/components/modal/lib/modal.service.mjs +39 -1
- package/esm2022/components/modal/lib/models/modal-ref.mjs +34 -1
- package/esm2022/components/navigation-back/lib/navigation-back.component.mjs +4 -1
- package/esm2022/components/notification/lib/components/notification-center/notification-center.component.mjs +1 -3
- package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +19 -5
- package/esm2022/components/notification/lib/helpers/get-notifications-by-tag.mjs +2 -1
- package/esm2022/components/notification/lib/helpers/sort-notifications.mjs +2 -1
- package/esm2022/components/notification/lib/helpers/to-notification-collection.mjs +2 -1
- package/esm2022/components/notification/lib/models/notification-feature.mjs +16 -1
- package/esm2022/components/notification/lib/notification.config.mjs +45 -1
- package/esm2022/components/notification/lib/notification.logger.mjs +2 -1
- package/esm2022/components/notification/lib/notification.service.mjs +56 -1
- package/esm2022/components/notification/lib/notification.tokens.mjs +4 -1
- package/esm2022/components/notification/lib/services/notification-center.service.mjs +10 -1
- package/esm2022/components/paginator/lib/paginator.component.mjs +90 -1
- package/esm2022/components/paginator/lib/paginator.config.mjs +29 -1
- package/esm2022/components/progress/lib/progress.component.mjs +16 -1
- package/esm2022/components/radio-group/lib/radio-group.component.mjs +13 -2
- package/esm2022/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.mjs +17 -1
- package/esm2022/components/rail-navigation/lib/rail-navigation.component.mjs +27 -1
- package/esm2022/components/rich-list/lib/components/rich-list-content/rich-list-content.component.mjs +5 -1
- package/esm2022/components/rich-list/lib/components/rich-list-header/rich-list-header.component.mjs +5 -1
- package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +10 -2
- package/esm2022/components/rich-list/lib/rich-list.component.mjs +10 -3
- package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +47 -6
- package/esm2022/components/select/lib/directives/select-input-control.directive.mjs +12 -2
- package/esm2022/components/select/lib/pipes/select-search-filter.pipe.mjs +11 -1
- package/esm2022/components/select/lib/select.component.mjs +56 -2
- package/esm2022/components/slider/lib/slider.directive.mjs +20 -1
- package/esm2022/components/spinbox/lib/spinbox.component.mjs +17 -1
- package/esm2022/components/switch/lib/switch.component.mjs +11 -1
- package/esm2022/components/switch/lib/switch.validator.mjs +13 -1
- package/esm2022/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +29 -1
- package/esm2022/components/tab-bar/lib/tab-bar.component.mjs +70 -1
- package/esm2022/components/table/lib/components/check-cell/check-cell.component.mjs +19 -1
- package/esm2022/components/table/lib/components/header-title/header-title.component.mjs +30 -2
- package/esm2022/components/table/lib/directives/table-cell.directive.mjs +5 -1
- package/esm2022/components/table/lib/directives/table-row.directive.mjs +5 -1
- package/esm2022/components/table/lib/table.component.mjs +30 -1
- package/esm2022/components/timepicker/lib/timepicker.component.mjs +15 -6
- package/esm2022/components/timepicker/lib/utils/generate-time-stamps.mjs +5 -3
- package/esm2022/components/timepicker/lib/utils/ngx-mask-helper.mjs +3 -3
- package/esm2022/components/toast/lib/toast.config.mjs +27 -1
- package/esm2022/components/toast/lib/toast.service.mjs +36 -1
- package/esm2022/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +12 -1
- package/esm2022/components/toggle-button-group/lib/toggle-button-group.component.mjs +14 -2
- package/esm2022/components/tooltip/lib/tooltip.component.mjs +18 -1
- package/esm2022/components/tooltip/lib/tooltip.directive.mjs +36 -1
- package/esm2022/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +35 -1
- package/esm2022/components/wizard/lib/wizard.component.mjs +21 -1
- package/esm2022/internal/translate/lib/translate.config.mjs +32 -1
- package/esm2022/internal/translate/lib/translate.service.mjs +30 -1
- package/esm2022/lib/controllers/controller.mjs +26 -1
- package/esm2022/lib/controllers/disabled.controller.mjs +60 -1
- package/esm2022/lib/controllers/readonly.controller.mjs +57 -1
- package/esm2022/lib/directives/click-outside.directive.mjs +30 -1
- package/esm2022/lib/directives/delegate-focus.directive.mjs +15 -1
- package/esm2022/lib/services/window-ref.mjs +67 -1
- package/esm2022/lib/tokens/identity-matcher.mjs +25 -1
- package/esm2022/lib/tokens/string-search-handler.mjs +25 -1
- package/esm2022/lib/tokens/stringify.mjs +26 -1
- package/esm2022/localization/lib/features/with-http-language-header.mjs +54 -1
- package/esm2022/localization/lib/features/with-http-language-query-param.mjs +52 -1
- package/esm2022/localization/lib/loaders/browser-language-loader.mjs +33 -1
- package/esm2022/localization/lib/localization.config.mjs +71 -1
- package/esm2022/localization/lib/localization.service.mjs +42 -3
- package/esm2022/rxjs/index.mjs +2 -2
- package/esm2022/rxjs/lib/delay-until.mjs +23 -1
- package/esm2022/rxjs/lib/from-element-mutation.mjs +22 -1
- package/esm2022/rxjs/lib/from-element-resize.mjs +25 -1
- package/esm2022/rxjs/lib/from-events.mjs +25 -1
- package/esm2022/rxjs/lib/from-query-list.mjs +24 -0
- package/esm2022/sdk/lib/application-environment.mjs +51 -1
- package/esm2022/theming/lib/helpers/prefers-dark-theme.mjs +19 -1
- package/esm2022/theming/lib/helpers/resolve-theme.mjs +26 -1
- package/esm2022/theming/lib/helpers/theme-storage.mjs +43 -1
- package/esm2022/theming/lib/theming.config.mjs +34 -1
- package/esm2022/theming/lib/theming.service.mjs +32 -1
- package/esm2022/utils/lib/decorators/pure.mjs +52 -1
- package/esm2022/utils/lib/helpers/angular.mjs +37 -1
- package/esm2022/utils/lib/helpers/array.mjs +5 -1
- package/esm2022/utils/lib/helpers/build-url.mjs +21 -1
- package/esm2022/utils/lib/helpers/build-website-url.mjs +3 -2
- package/esm2022/utils/lib/helpers/cache-storage-client.mjs +52 -1
- package/esm2022/utils/lib/helpers/coercion.mjs +18 -1
- package/esm2022/utils/lib/helpers/debounce.mjs +28 -1
- package/esm2022/utils/lib/helpers/defer-fn.mjs +21 -1
- package/esm2022/utils/lib/helpers/dom.mjs +71 -1
- package/esm2022/utils/lib/helpers/get-axis.mjs +21 -1
- package/esm2022/utils/lib/helpers/get-language-code.mjs +18 -1
- package/esm2022/utils/lib/helpers/get-opposite-side.mjs +22 -1
- package/esm2022/utils/lib/helpers/get-side.mjs +18 -1
- package/esm2022/utils/lib/helpers/get-unique-id.mjs +34 -1
- package/esm2022/utils/lib/helpers/match-url.mjs +41 -1
- package/esm2022/utils/lib/helpers/ng-changes.mjs +30 -1
- package/esm2022/utils/lib/helpers/provide-config.mjs +57 -1
- package/esm2022/utils/lib/helpers/queue.mjs +84 -1
- package/esm2022/utils/lib/helpers/type-guards.mjs +58 -1
- package/esm2022/utils/lib/helpers/until-destroyed.mjs +39 -1
- package/fesm2022/odx-angular-animations.mjs +173 -0
- package/fesm2022/odx-angular-animations.mjs.map +1 -1
- package/fesm2022/odx-angular-breakpoints.mjs +136 -0
- package/fesm2022/odx-angular-breakpoints.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-a11y.mjs +71 -0
- package/fesm2022/odx-angular-cdk-a11y.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-active-indicator.mjs +63 -0
- package/fesm2022/odx-angular-cdk-active-indicator.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-autocomplete-control.mjs +38 -0
- package/fesm2022/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-checkbox-control.mjs +3 -0
- package/fesm2022/odx-angular-cdk-checkbox-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-connected-overlay.mjs +103 -0
- package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-custom-form-control.mjs +183 -2
- package/fesm2022/odx-angular-cdk-custom-form-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-dynamic-view.mjs +188 -0
- package/fesm2022/odx-angular-cdk-dynamic-view.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-event-plugins.mjs +135 -0
- package/fesm2022/odx-angular-cdk-event-plugins.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-expandable.mjs +88 -0
- package/fesm2022/odx-angular-cdk-expandable.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-option-control.mjs +47 -0
- package/fesm2022/odx-angular-cdk-option-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-radio-group-control.mjs +19 -0
- package/fesm2022/odx-angular-cdk-radio-group-control.mjs.map +1 -1
- package/fesm2022/odx-angular-components-accordion.mjs +41 -0
- package/fesm2022/odx-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/odx-angular-components-action-group.mjs +6 -0
- package/fesm2022/odx-angular-components-action-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-area-header.mjs +14 -0
- package/fesm2022/odx-angular-components-area-header.mjs.map +1 -1
- package/fesm2022/odx-angular-components-autocomplete.mjs +17 -0
- package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2022/odx-angular-components-avatar.mjs +8 -0
- package/fesm2022/odx-angular-components-avatar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-badge.mjs +25 -0
- package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
- package/fesm2022/odx-angular-components-bar.mjs +13 -0
- package/fesm2022/odx-angular-components-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-breadcrumbs.mjs +3 -0
- package/fesm2022/odx-angular-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/odx-angular-components-button-group.mjs +15 -0
- package/fesm2022/odx-angular-components-button-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-button.mjs +10 -0
- package/fesm2022/odx-angular-components-button.mjs.map +1 -1
- package/fesm2022/odx-angular-components-calendar.mjs +232 -0
- package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-checkbox.mjs +55 -0
- package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
- package/fesm2022/odx-angular-components-chip.mjs +20 -0
- package/fesm2022/odx-angular-components-chip.mjs.map +1 -1
- package/fesm2022/odx-angular-components-circular-progress.mjs +20 -0
- package/fesm2022/odx-angular-components-circular-progress.mjs.map +1 -1
- package/fesm2022/odx-angular-components-content-box.mjs +9 -0
- package/fesm2022/odx-angular-components-content-box.mjs.map +1 -1
- package/fesm2022/odx-angular-components-datepicker.mjs +84 -0
- package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-daterangepicker.mjs +145 -0
- package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-dropdown.mjs +66 -0
- package/fesm2022/odx-angular-components-dropdown.mjs.map +1 -1
- package/fesm2022/odx-angular-components-error-page.mjs +15 -0
- package/fesm2022/odx-angular-components-error-page.mjs.map +1 -1
- package/fesm2022/odx-angular-components-footer.mjs +11 -6
- package/fesm2022/odx-angular-components-footer.mjs.map +1 -1
- package/fesm2022/odx-angular-components-form-field.mjs +131 -0
- package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
- package/fesm2022/odx-angular-components-header-navigation.mjs +6 -0
- package/fesm2022/odx-angular-components-header-navigation.mjs.map +1 -1
- package/fesm2022/odx-angular-components-header.mjs +10 -0
- package/fesm2022/odx-angular-components-header.mjs.map +1 -1
- package/fesm2022/odx-angular-components-icon.mjs +57 -0
- package/fesm2022/odx-angular-components-icon.mjs.map +1 -1
- package/fesm2022/odx-angular-components-inline-message.mjs +13 -0
- package/fesm2022/odx-angular-components-inline-message.mjs.map +1 -1
- package/fesm2022/odx-angular-components-link.mjs +3 -0
- package/fesm2022/odx-angular-components-link.mjs.map +1 -1
- package/fesm2022/odx-angular-components-list.mjs +28 -1
- package/fesm2022/odx-angular-components-list.mjs.map +1 -1
- package/fesm2022/odx-angular-components-loading-spinner.mjs +30 -0
- package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
- package/fesm2022/odx-angular-components-logo.mjs +15 -0
- package/fesm2022/odx-angular-components-logo.mjs.map +1 -1
- package/fesm2022/odx-angular-components-main-menu.mjs +119 -0
- package/fesm2022/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2022/odx-angular-components-mainfilter-group.mjs +4 -0
- package/fesm2022/odx-angular-components-mainfilter-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-menu.mjs +36 -0
- package/fesm2022/odx-angular-components-menu.mjs.map +1 -1
- package/fesm2022/odx-angular-components-modal.mjs +252 -0
- package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
- package/fesm2022/odx-angular-components-navigation-back.mjs +3 -0
- package/fesm2022/odx-angular-components-navigation-back.mjs.map +1 -1
- package/fesm2022/odx-angular-components-notification.mjs +148 -6
- package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
- package/fesm2022/odx-angular-components-paginator.mjs +117 -0
- package/fesm2022/odx-angular-components-paginator.mjs.map +1 -1
- package/fesm2022/odx-angular-components-progress.mjs +15 -0
- package/fesm2022/odx-angular-components-progress.mjs.map +1 -1
- package/fesm2022/odx-angular-components-radio-group.mjs +11 -0
- package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-rail-navigation.mjs +42 -0
- package/fesm2022/odx-angular-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/odx-angular-components-rich-list.mjs +26 -3
- package/fesm2022/odx-angular-components-rich-list.mjs.map +1 -1
- package/fesm2022/odx-angular-components-select.mjs +122 -7
- package/fesm2022/odx-angular-components-select.mjs.map +1 -1
- package/fesm2022/odx-angular-components-slider.mjs +19 -0
- package/fesm2022/odx-angular-components-slider.mjs.map +1 -1
- package/fesm2022/odx-angular-components-spinbox.mjs +16 -0
- package/fesm2022/odx-angular-components-spinbox.mjs.map +1 -1
- package/fesm2022/odx-angular-components-switch.mjs +22 -0
- package/fesm2022/odx-angular-components-switch.mjs.map +1 -1
- package/fesm2022/odx-angular-components-tab-bar.mjs +97 -0
- package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-table.mjs +84 -1
- package/fesm2022/odx-angular-components-table.mjs.map +1 -1
- package/fesm2022/odx-angular-components-timepicker.mjs +20 -9
- package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-toast.mjs +61 -0
- package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
- package/fesm2022/odx-angular-components-toggle-button-group.mjs +23 -0
- package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-tooltip.mjs +52 -0
- package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
- package/fesm2022/odx-angular-components-wizard.mjs +54 -0
- package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
- package/fesm2022/odx-angular-internal-translate.mjs +60 -0
- package/fesm2022/odx-angular-internal-translate.mjs.map +1 -1
- package/fesm2022/odx-angular-localization.mjs +247 -2
- package/fesm2022/odx-angular-localization.mjs.map +1 -1
- package/fesm2022/odx-angular-rxjs.mjs +115 -5
- package/fesm2022/odx-angular-rxjs.mjs.map +1 -1
- package/fesm2022/odx-angular-sdk.mjs +50 -0
- package/fesm2022/odx-angular-sdk.mjs.map +1 -1
- package/fesm2022/odx-angular-theming.mjs +149 -0
- package/fesm2022/odx-angular-theming.mjs.map +1 -1
- package/fesm2022/odx-angular-utils.mjs +709 -1
- package/fesm2022/odx-angular-utils.mjs.map +1 -1
- package/fesm2022/odx-angular.mjs +322 -0
- package/fesm2022/odx-angular.mjs.map +1 -1
- package/internal/translate/lib/translate.config.d.ts +31 -0
- package/internal/translate/lib/translate.service.d.ts +29 -0
- package/lib/controllers/controller.d.ts +25 -0
- package/lib/controllers/disabled.controller.d.ts +59 -0
- package/lib/controllers/readonly.controller.d.ts +56 -0
- package/lib/directives/click-outside.directive.d.ts +29 -0
- package/lib/directives/delegate-focus.directive.d.ts +14 -0
- package/lib/services/window-ref.d.ts +66 -0
- package/lib/tokens/identity-matcher.d.ts +41 -0
- package/lib/tokens/string-search-handler.d.ts +39 -0
- package/lib/tokens/stringify.d.ts +42 -0
- package/localization/lib/features/with-http-language-header.d.ts +63 -0
- package/localization/lib/features/with-http-language-query-param.d.ts +61 -0
- package/localization/lib/loaders/browser-language-loader.d.ts +32 -0
- package/localization/lib/localization.config.d.ts +81 -0
- package/localization/lib/localization.service.d.ts +39 -0
- package/package.json +1 -1
- package/rxjs/index.d.ts +1 -1
- package/rxjs/lib/delay-until.d.ts +22 -0
- package/rxjs/lib/from-element-mutation.d.ts +21 -0
- package/rxjs/lib/from-element-resize.d.ts +24 -0
- package/rxjs/lib/from-events.d.ts +24 -0
- package/rxjs/lib/from-query-list.d.ts +22 -0
- package/sdk/lib/application-environment.d.ts +59 -0
- package/theming/lib/helpers/prefers-dark-theme.d.ts +18 -0
- package/theming/lib/helpers/resolve-theme.d.ts +25 -0
- package/theming/lib/helpers/theme-storage.d.ts +42 -0
- package/theming/lib/theming.config.d.ts +46 -0
- package/theming/lib/theming.service.d.ts +31 -0
- package/utils/lib/decorators/pure.d.ts +51 -0
- package/utils/lib/helpers/angular.d.ts +36 -0
- package/utils/lib/helpers/array.d.ts +4 -0
- package/utils/lib/helpers/build-url.d.ts +20 -0
- package/utils/lib/helpers/build-website-url.d.ts +2 -1
- package/utils/lib/helpers/cache-storage-client.d.ts +51 -0
- package/utils/lib/helpers/coercion.d.ts +17 -0
- package/utils/lib/helpers/debounce.d.ts +27 -0
- package/utils/lib/helpers/defer-fn.d.ts +20 -0
- package/utils/lib/helpers/dom.d.ts +70 -0
- package/utils/lib/helpers/get-axis.d.ts +20 -0
- package/utils/lib/helpers/get-language-code.d.ts +17 -0
- package/utils/lib/helpers/get-opposite-side.d.ts +21 -0
- package/utils/lib/helpers/get-side.d.ts +17 -0
- package/utils/lib/helpers/get-unique-id.d.ts +33 -0
- package/utils/lib/helpers/match-url.d.ts +40 -0
- package/utils/lib/helpers/ng-changes.d.ts +52 -0
- package/utils/lib/helpers/provide-config.d.ts +56 -0
- package/utils/lib/helpers/queue.d.ts +83 -0
- package/utils/lib/helpers/type-guards.d.ts +57 -0
- package/utils/lib/helpers/until-destroyed.d.ts +38 -0
- package/esm2022/rxjs/lib/form-query-list.mjs +0 -5
- package/rxjs/lib/form-query-list.d.ts +0 -3
|
@@ -5,10 +5,23 @@ import { CSSComponent } from '@odx/angular/internal';
|
|
|
5
5
|
import { injectElement } from '@odx/angular/utils';
|
|
6
6
|
import { fromEvent, share } from 'rxjs';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
|
+
/**
|
|
9
|
+
* Represents a directive for handling form-related functionality.
|
|
10
|
+
* This directive listens for form submit and reset events, making them observable, which can be used to handle
|
|
11
|
+
* form interactions more reactively within Angular applications.
|
|
12
|
+
*/
|
|
8
13
|
export let FormDirective = class FormDirective {
|
|
9
14
|
constructor() {
|
|
10
15
|
this.element = injectElement();
|
|
16
|
+
/**
|
|
17
|
+
* An Observable that emits events every time the form is submitted. This stream is shared among multiple subscribers,
|
|
18
|
+
* which means the form's submit event is processed as it occurs and is multicasted to all subscribers.
|
|
19
|
+
*/
|
|
11
20
|
this.submit$ = fromEvent(this.element.nativeElement, 'submit').pipe(takeUntilDestroyed(), share());
|
|
21
|
+
/**
|
|
22
|
+
* An Observable that emits events every time the form is reset. Similar to `submit$`, this stream is also shared
|
|
23
|
+
* among multiple subscribers, allowing components to react to form resets reactively and concurrently.
|
|
24
|
+
*/
|
|
12
25
|
this.reset$ = fromEvent(this.element.nativeElement, 'reset').pipe(takeUntilDestroyed(), share());
|
|
13
26
|
}
|
|
14
27
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
@@ -25,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
25
38
|
exportAs: 'odxForm',
|
|
26
39
|
}]
|
|
27
40
|
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9mb3JtLWZpZWxkL3NyYy9saWIvZGlyZWN0aXZlcy9mb3JtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUV4Qzs7OztHQUlHO0FBT0ksV0FBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtJQUFuQjtRQUNXLFlBQU8sR0FBRyxhQUFhLEVBQW1CLENBQUM7UUFFM0Q7OztXQUdHO1FBQ2EsWUFBTyxHQUFHLFNBQVMsQ0FBUSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXJIOzs7V0FHRztRQUNhLFdBQU0sR0FBRyxTQUFTLENBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUNwSDsrR0FkWSxhQUFhO21HQUFiLGFBQWE7O0FBQWIsYUFBYTtJQU56QixZQUFZLENBQUMsTUFBTSxDQUFDO0dBTVIsYUFBYSxDQWN6Qjs0RkFkWSxhQUFhO2tCQUx6QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFLFNBQVM7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIHNoYXJlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGRpcmVjdGl2ZSBmb3IgaGFuZGxpbmcgZm9ybS1yZWxhdGVkIGZ1bmN0aW9uYWxpdHkuXG4gKiBUaGlzIGRpcmVjdGl2ZSBsaXN0ZW5zIGZvciBmb3JtIHN1Ym1pdCBhbmQgcmVzZXQgZXZlbnRzLCBtYWtpbmcgdGhlbSBvYnNlcnZhYmxlLCB3aGljaCBjYW4gYmUgdXNlZCB0byBoYW5kbGVcbiAqIGZvcm0gaW50ZXJhY3Rpb25zIG1vcmUgcmVhY3RpdmVseSB3aXRoaW4gQW5ndWxhciBhcHBsaWNhdGlvbnMuXG4gKi9cbkBDU1NDb21wb25lbnQoJ2Zvcm0nKVxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnZm9ybVtvZHhGb3JtXScsXG4gIGV4cG9ydEFzOiAnb2R4Rm9ybScsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1EaXJlY3RpdmUge1xuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQ8SFRNTEZvcm1FbGVtZW50PigpO1xuXG4gIC8qKlxuICAgKiBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgZXZlbnRzIGV2ZXJ5IHRpbWUgdGhlIGZvcm0gaXMgc3VibWl0dGVkLiBUaGlzIHN0cmVhbSBpcyBzaGFyZWQgYW1vbmcgbXVsdGlwbGUgc3Vic2NyaWJlcnMsXG4gICAqIHdoaWNoIG1lYW5zIHRoZSBmb3JtJ3Mgc3VibWl0IGV2ZW50IGlzIHByb2Nlc3NlZCBhcyBpdCBvY2N1cnMgYW5kIGlzIG11bHRpY2FzdGVkIHRvIGFsbCBzdWJzY3JpYmVycy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzdWJtaXQkID0gZnJvbUV2ZW50PEV2ZW50Pih0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3N1Ym1pdCcpLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCksIHNoYXJlKCkpO1xuXG4gIC8qKlxuICAgKiBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgZXZlbnRzIGV2ZXJ5IHRpbWUgdGhlIGZvcm0gaXMgcmVzZXQuIFNpbWlsYXIgdG8gYHN1Ym1pdCRgLCB0aGlzIHN0cmVhbSBpcyBhbHNvIHNoYXJlZFxuICAgKiBhbW9uZyBtdWx0aXBsZSBzdWJzY3JpYmVycywgYWxsb3dpbmcgY29tcG9uZW50cyB0byByZWFjdCB0byBmb3JtIHJlc2V0cyByZWFjdGl2ZWx5IGFuZCBjb25jdXJyZW50bHkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzZXQkID0gZnJvbUV2ZW50PEV2ZW50Pih0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3Jlc2V0JykucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSwgc2hhcmUoKSk7XG59XG4iXX0=
|
|
@@ -11,7 +11,13 @@ import { FormFieldVariant } from './models';
|
|
|
11
11
|
import { FormFieldErrorService } from './services';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
import * as i1 from "@angular/common";
|
|
14
|
+
/**
|
|
15
|
+
* Represents a form field component.
|
|
16
|
+
*/
|
|
14
17
|
export let FormFieldComponent = class FormFieldComponent {
|
|
18
|
+
/**
|
|
19
|
+
* Indicates whether the form field should have a warning.
|
|
20
|
+
*/
|
|
15
21
|
set hasWarning(value) {
|
|
16
22
|
this.hasWarning$$.next(value);
|
|
17
23
|
}
|
|
@@ -27,7 +33,14 @@ export let FormFieldComponent = class FormFieldComponent {
|
|
|
27
33
|
this.formFieldService = inject(FormFieldService, { self: true });
|
|
28
34
|
this.formFieldErrorService = inject(FormFieldErrorService, { self: true });
|
|
29
35
|
this.element = injectElement();
|
|
36
|
+
/**
|
|
37
|
+
* The label of the form field component.
|
|
38
|
+
*/
|
|
30
39
|
this.label = null;
|
|
40
|
+
/**
|
|
41
|
+
* The variant of the form field.
|
|
42
|
+
* @see {FormFieldVariant}
|
|
43
|
+
*/
|
|
31
44
|
this.variant = FormFieldVariant.FULL;
|
|
32
45
|
const hasWarning$ = combineLatest([this.formFieldErrorService.error$, this.hasWarning$$]).pipe(map(([hasError, hasWarning]) => hasError && hasWarning));
|
|
33
46
|
reactiveClassBinding(this.formFieldService.isRequired$, 'odx-form-field--required');
|
|
@@ -64,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
64
77
|
}], variant: [{
|
|
65
78
|
type: Input
|
|
66
79
|
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9mb3JtLWZpZWxkL3NyYy9saWIvZm9ybS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9mb3JtLWZpZWxkL3NyYy9saWIvZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVKLE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQzs7O0FBRW5EOztHQUVHO0FBV0ksV0FBTSxrQkFBa0Is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LFNBQVM7Z0JBT2IsS0FBSztzQkFEWCxLQUFLO2dCQU9LLFVBQVU7c0JBRHBCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBYy9CLE9BQU87c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSwgRGlzYWJsZWRDb250cm9sbGVyLCBSZWFkb25seUNvbnRyb2xsZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50LCBDU1NNb2RpZmllciB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBpbmplY3RFbGVtZW50LCByZWFjdGl2ZUNsYXNzQmluZGluZyB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkSW5mb0NvbXBvbmVudCwgRm9ybUdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEZvcm1GaWVsZExhYmVsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IEZvcm1GaWVsZFNlcnZpY2UgfSBmcm9tICcuL2Zvcm0tZmllbGQuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtRmllbGRWYXJpYW50IH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGZvcm0gZmllbGQgY29tcG9uZW50LlxuICovXG5AQ1NTQ29tcG9uZW50KCdmb3JtLWZpZWxkJylcbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ29keC1mb3JtLWZpZWxkJyxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIEZvcm1GaWVsZEluZm9Db21wb25lbnQsIEZvcm1GaWVsZExhYmVsRGlyZWN0aXZlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbRm9ybUZpZWxkU2VydmljZSwgRm9ybUZpZWxkRXJyb3JTZXJ2aWNlLCBEaXNhYmxlZENvbnRyb2xsZXIuY29ubmVjdCgpLCBSZWFkb25seUNvbnRyb2xsZXIuY29ubmVjdCgpXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhc1dhcm5pbmckJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBmb3JtR3JvdXAgPSBpbmplY3QoRm9ybUdyb3VwQ29tcG9uZW50LCB7IG9wdGlvbmFsOiB0cnVlLCBob3N0OiB0cnVlIH0pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybUZpZWxkU2VydmljZSA9IGluamVjdChGb3JtRmllbGRTZXJ2aWNlLCB7IHNlbGY6IHRydWUgfSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBmb3JtRmllbGRFcnJvclNlcnZpY2UgPSBpbmplY3QoRm9ybUZpZWxkRXJyb3JTZXJ2aWNlLCB7IHNlbGY6IHRydWUgfSk7XG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgZGlyZWN0aXZlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZm9ybSBmaWVsZCBjb21wb25lbnQuXG4gICAqIEBzZWUge0Zvcm1GaWVsZExhYmVsRGlyZWN0aXZlfVxuICAgKi9cbiAgQENvbnRlbnRDaGlsZChGb3JtRmllbGRMYWJlbERpcmVjdGl2ZSlcbiAgcHVibGljIGxhYmVsRGlyZWN0aXZlPzogRm9ybUZpZWxkTGFiZWxEaXJlY3RpdmU7XG5cbiAgLyoqXG4gICAqIFRoZSBjb250cm9sIGVsZW1lbnQgb2YgdGhlIGZvcm0gZmllbGQgY29tcG9uZW50LlxuICAgKi9cbiAgQFZpZXdDaGlsZCgnY29udHJvbCcpXG4gIHB1YmxpYyBjb250cm9sRWxlbWVudCE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIGZvcm0gZmllbGQgY29tcG9uZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBmb3JtIGZpZWxkIHNob3VsZCBoYXZlIGEgd2FybmluZy5cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgc2V0IGhhc1dhcm5pbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmhhc1dhcm5pbmckJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGhhc1dhcm5pbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzV2FybmluZyQkLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHZhcmlhbnQgb2YgdGhlIGZvcm0gZmllbGQuXG4gICAqIEBzZWUge0Zvcm1GaWVsZFZhcmlhbnR9XG4gICAqL1xuICBAQ1NTTW9kaWZpZXIoKVxuICBASW5wdXQoKVxuICBwdWJsaWMgdmFyaWFudDogRm9ybUZpZWxkVmFyaWFudCB8IG51bGwgPSBGb3JtRmllbGRWYXJpYW50LkZVTEw7XG5cbiAgcHVibGljIGdldCBoYXNMYWJlbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5sYWJlbERpcmVjdGl2ZSB8fCB0aGlzLmxhYmVsKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IGhhc1dhcm5pbmckID0gY29tYmluZUxhdGVzdChbdGhpcy5mb3JtRmllbGRFcnJvclNlcnZpY2UuZXJyb3IkLCB0aGlzLmhhc1dhcm5pbmckJF0pLnBpcGUobWFwKChbaGFzRXJyb3IsIGhhc1dhcm5pbmddKSA9PiBoYXNFcnJvciAmJiBoYXNXYXJuaW5nKSk7XG4gICAgcmVhY3RpdmVDbGFzc0JpbmRpbmcodGhpcy5mb3JtRmllbGRTZXJ2aWNlLmlzUmVxdWlyZWQkLCAnb2R4LWZvcm0tZmllbGQtLXJlcXVpcmVkJyk7XG4gICAgcmVhY3RpdmVDbGFzc0JpbmRpbmcodGhpcy5mb3JtRmllbGRTZXJ2aWNlLmlzRGlzYWJsZWQkLCAnaXMtZGlzYWJsZWQnKTtcbiAgICByZWFjdGl2ZUNsYXNzQmluZGluZyh0aGlzLmZvcm1GaWVsZFNlcnZpY2UuaXNSZWFkb25seSQsICdpcy1yZWFkb25seScpO1xuICAgIHJlYWN0aXZlQ2xhc3NCaW5kaW5nKHRoaXMuZm9ybUZpZWxkRXJyb3JTZXJ2aWNlLmhhc0Vycm9yJCwgJ2hhcy1lcnJvcicpO1xuICAgIHJlYWN0aXZlQ2xhc3NCaW5kaW5nKGhhc1dhcm5pbmckLCAnaGFzLXdhcm5pbmcnKTtcbiAgfVxufVxuIiwiPGxhYmVsIGNsYXNzPVwib2R4LWZvcm0tZmllbGRfX2xhYmVsXCIgW2F0dHIuZm9yXT1cImZvcm1GaWVsZFNlcnZpY2UuY29udHJvbElkJCB8IGFzeW5jXCIgW2F0dHIuYXJpYS1vd25zXT1cImZvcm1GaWVsZFNlcnZpY2UuY29udHJvbElkJCB8IGFzeW5jXCIgKm5nSWY9XCJoYXNMYWJlbFwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWw7IGVsc2UgbGFiZWxUZW1wbGF0ZVwiPlxuICAgIDxvZHgtZm9ybS1maWVsZC1sYWJlbD57eyBsYWJlbCB9fTwvb2R4LWZvcm0tZmllbGQtbGFiZWw+XG4gICAgPHNwYW4gY2xhc3M9XCJvZHgtZm9ybS1maWVsZF9fbGFiZWwtaXMtcmVxdWlyZWRcIiAqbmdJZj1cImZvcm1GaWVsZFNlcnZpY2UuaXNSZXF1aXJlZCQgfCBhc3luY1wiPio8L3NwYW4+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI2xhYmVsVGVtcGxhdGU+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2R4LWZvcm0tZmllbGQtbGFiZWxcIj48L25nLWNvbnRlbnQ+XG4gICAgPHNwYW4gY2xhc3M9XCJvZHgtZm9ybS1maWVsZF9fbGFiZWwtaXMtcmVxdWlyZWRcIiAqbmdJZj1cImZvcm1GaWVsZFNlcnZpY2UuaXNSZXF1aXJlZCQgfCBhc3luY1wiPio8L3NwYW4+XG4gIDwvbmctdGVtcGxhdGU+XG48L2xhYmVsPlxuPGRpdiBjbGFzcz1cIm9keC1mb3JtLWZpZWxkX19pbm5lclwiPlxuICA8ZGl2IGNsYXNzPVwib2R4LWZvcm0tZmllbGRfX2NvbnRyb2xcIiAjY29udHJvbD5cbiAgICA8ZGl2IGNsYXNzPVwib2R4LWZvcm0tZmllbGRfX3ByZWZpeFwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW29keEZvcm1GaWVsZFByZWZpeF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJvZHgtZm9ybS1maWVsZF9fc3VmZml4XCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbb2R4Rm9ybUZpZWxkU3VmZml4XVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxvZHgtZm9ybS1maWVsZC1pbmZvIFtlcnJvcl09XCJmb3JtRmllbGRFcnJvclNlcnZpY2UuZXJyb3IkIHwgYXN5bmNcIiAqbmdJZj1cIiFmb3JtR3JvdXBcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJvZHgtZm9ybS1maWVsZC1oaW50XCI+PC9uZy1jb250ZW50PlxuICA8L29keC1mb3JtLWZpZWxkLWluZm8+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -4,27 +4,69 @@ import { Controller, DisabledController, ReadonlyController } from '@odx/angular
|
|
|
4
4
|
import { getUniqueId } from '@odx/angular/utils';
|
|
5
5
|
import { BehaviorSubject, EMPTY, distinctUntilChanged, map, merge, of, shareReplay, startWith, switchMap, tap } from 'rxjs';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Provides centralized form field management for Angular applications.
|
|
9
|
+
* This service handles the registration and management of form controls, including their disabled and read-only states,
|
|
10
|
+
* and integrates seamlessly with Angular's forms module. It manages the state of individual form fields across the application,
|
|
11
|
+
* ensuring that changes to the state (such as disabled or read-only) are consistently reflected in the UI.
|
|
12
|
+
*
|
|
13
|
+
* Extends the `Controller` class, which provides basic functionality for managing state and interactions.
|
|
14
|
+
* The service utilizes Angular's dependency injection to access and manipulate form controls and their properties,
|
|
15
|
+
* making it easier to maintain and update form state across complex forms.
|
|
16
|
+
*
|
|
17
|
+
* @extends {Controller}
|
|
18
|
+
*/
|
|
7
19
|
export class FormFieldService extends Controller {
|
|
8
20
|
constructor() {
|
|
9
21
|
super(...arguments);
|
|
10
22
|
this.disabledController = DisabledController.inject();
|
|
11
23
|
this.readonlyController = ReadonlyController.inject();
|
|
12
24
|
this.control$$ = new BehaviorSubject(null);
|
|
25
|
+
/**
|
|
26
|
+
* Observable that emits the currently registered control object, which includes
|
|
27
|
+
* both the control instance and the associated native HTML element.
|
|
28
|
+
*/
|
|
13
29
|
this.control$ = this.control$$.pipe(shareReplay({ bufferSize: 1, refCount: true }));
|
|
30
|
+
/**
|
|
31
|
+
* Observable that emits the ID of the current control's HTML element. Generates a unique ID if not already assigned.
|
|
32
|
+
*/
|
|
14
33
|
this.controlId$ = this.control$.pipe(map((control) => (control ? control.nativeElement.id || getUniqueId('odx-form-field') : null)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
34
|
+
/**
|
|
35
|
+
* Observable that emits the hint ID associated with the control, which is typically used for accessibility purposes.
|
|
36
|
+
*/
|
|
15
37
|
this.controlHintId$ = this.controlId$.pipe(map((id) => (id ? `${id}-hint` : null)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
38
|
+
/**
|
|
39
|
+
* Observable that emits the error message ID associated with the control, used for linking form errors for accessibility.
|
|
40
|
+
*/
|
|
16
41
|
this.controlErrorId$ = this.controlId$.pipe(map((id) => (id ? `${id}-error` : null)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
42
|
+
/**
|
|
43
|
+
* Observable that emits a boolean indicating whether the control is disabled, combining both internal state and controller state.
|
|
44
|
+
*/
|
|
17
45
|
this.isDisabled$ = this.control$.pipe(switchMap((control) => (control ? merge(this.updateControlDisabledState(control), this.getControlDisabledState(control)) : of(false))), distinctUntilChanged(), shareReplay({ bufferSize: 1, refCount: true }));
|
|
46
|
+
/**
|
|
47
|
+
* Observable that emits a boolean indicating whether the control is required, based on the presence of the required attribute or validator.
|
|
48
|
+
*/
|
|
18
49
|
this.isRequired$ = this.control$.pipe(map((control) => (control ? control.nativeElement.hasAttribute('required') || control.control.hasValidator(Validators.required) : false)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
50
|
+
/**
|
|
51
|
+
* Observable that emits a boolean indicating whether the control is readonly, based on the presence of the readonly attribute.
|
|
52
|
+
*/
|
|
19
53
|
this.isReadonly$ = this.control$.pipe(switchMap((control) => (control && this.readonlyController ? this.readonlyController.isReadonly$ : of(false))));
|
|
20
54
|
}
|
|
21
55
|
ngOnDestroy() {
|
|
22
56
|
this.control$$.complete();
|
|
23
57
|
super.ngOnDestroy();
|
|
24
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Registers a control along with its native element to the service.
|
|
61
|
+
* @param {AbstractControl} control - The Angular form control.
|
|
62
|
+
* @param {ElementRef<HTMLElement>} nativeElement - The native element associated with the form control.
|
|
63
|
+
*/
|
|
25
64
|
registerControl(control, { nativeElement }) {
|
|
26
65
|
this.control$$.next({ control, nativeElement });
|
|
27
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Removes the currently registered control from the service.
|
|
69
|
+
*/
|
|
28
70
|
removeControl() {
|
|
29
71
|
this.control$$.next(null);
|
|
30
72
|
}
|
|
@@ -50,4 +92,4 @@ export class FormFieldService extends Controller {
|
|
|
50
92
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldService, decorators: [{
|
|
51
93
|
type: Injectable
|
|
52
94
|
}] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvZm9ybS1maWVsZC9zcmMvbGliL2Zvcm0tZmllbGQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBbUIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQWMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQVF4SSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsVUFBVTtJQURoRDs7UUFFbUIsdUJBQWtCLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakQsdUJBQWtCLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakQsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFzQixJQUFJLENBQUMsQ0FBQztRQUU1RCxhQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9FLGVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxD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TyxFQUFnQjtRQUMxRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUM3QyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDWixJQUFJLEtBQUssRUFBRTtvQkFDVCxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ25CO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztpQkFDbEI7WUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxFQUFFLE9BQU8sRUFBZ0I7UUFDdkQsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDL0IsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFDekIsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFDLEVBQ3RDLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7SUFDSixDQUFDOytHQWpFVSxnQkFBZ0I7bUhBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udHJvbGxlciwgRGlzYWJsZWRDb250cm9sbGVyLCBSZWFkb25seUNvbnRyb2xsZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgZ2V0VW5pcXVlSWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBFTVBUWSwgT2JzZXJ2YWJsZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgbWVyZ2UsIG9mLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbnRlcmZhY2UgRmllbGRDb250cm9sIHtcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuICBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudDtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZFNlcnZpY2UgZXh0ZW5kcyBDb250cm9sbGVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkaXNhYmxlZENvbnRyb2xsZXIgPSBEaXNhYmxlZENvbnRyb2xsZXIuaW5qZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVhZG9ubHlDb250cm9sbGVyID0gUmVhZG9ubHlDb250cm9sbGVyLmluamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2wkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmllbGRDb250cm9sIHwgbnVsbD4obnVsbCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbnRyb2wkID0gdGhpcy5jb250cm9sJCQucGlwZShzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pKTtcbiAgcHVibGljIHJlYWRvbmx5IGNvbnRyb2xJZCQgPSB0aGlzLmNvbnRyb2wkLnBpcGUoXG4gICAgbWFwKChjb250cm9sKSA9PiAoY29udHJvbCA/IGNvbnRyb2wubmF0aXZlRWxlbWVudC5pZCB8fCBnZXRVbmlxdWVJZCgnb2R4LWZvcm0tZmllbGQnKSA6IG51bGwpKSxcbiAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pLFxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgY29udHJvbEhpbnRJZCQgPSB0aGlzLmNvbnRyb2xJZCQucGlwZShcbiAgICBtYXAoKGlkKSA9PiAoaWQgPyBgJHtpZH0taGludGAgOiBudWxsKSksXG4gICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IGNvbnRyb2xFcnJvcklkJCA9IHRoaXMuY29udHJvbElkJC5waXBlKFxuICAgIG1hcCgoaWQpID0+IChpZCA/IGAke2lkfS1lcnJvcmAgOiBudWxsKSksXG4gICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IGlzRGlzYWJsZWQkID0gdGhpcy5jb250cm9sJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoY29udHJvbCkgPT4gKGNvbnRyb2wgPyBtZXJnZSh0aGlzLnVwZGF0ZUNvbnRyb2xEaXNhYmxlZFN0YXRlKGNvbnRyb2wpLCB0aGlzLmdldENvbnRyb2xEaXNhYmxlZFN0YXRlKGNvbnRyb2wpKSA6IG9mKGZhbHNlKSkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IGlzUmVxdWlyZWQkID0gdGhpcy5jb250cm9sJC5waXBlKFxuICAgIG1hcCgoY29udHJvbCkgPT4gKGNvbnRyb2wgPyBjb250cm9sLm5hdGl2ZUVsZW1lbnQuaGFzQXR0cmlidXRlKCdyZXF1aXJlZCcpIHx8IGNvbnRyb2wuY29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkgOiBmYWxzZSkpLFxuICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBpc1JlYWRvbmx5JCA9IHRoaXMuY29udHJvbCQucGlwZShcbiAgICBzd2l0Y2hNYXAoKGNvbnRyb2wpID0+IChjb250cm9sICYmIHRoaXMucmVhZG9ubHlDb250cm9sbGVyID8gdGhpcy5yZWFkb25seUNvbnRyb2xsZXIuaXNSZWFkb25seSQgOiBvZihmYWxzZSkpKSxcbiAgKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sJCQuY29tcGxldGUoKTtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyQ29udHJvbChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIHsgbmF0aXZlRWxlbWVudCB9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbCQkLm5leHQoeyBjb250cm9sLCBuYXRpdmVFbGVtZW50IH0pO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUNvbnRyb2woKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sJCQubmV4dChudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29udHJvbERpc2FibGVkU3RhdGUoeyBjb250cm9sIH06IEZpZWxkQ29udHJvbCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLmRpc2FibGVkQ29udHJvbGxlcikge1xuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWRDb250cm9sbGVyLmlzRGlzYWJsZWQkLnBpcGUoXG4gICAgICAgIHRhcCgoc3RhdGUpID0+IHtcbiAgICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICAgIGNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250cm9sLmVuYWJsZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gRU1QVFk7XG4gIH1cblxuICBwcml2YXRlIGdldENvbnRyb2xEaXNhYmxlZFN0YXRlKHsgY29udHJvbCB9OiBGaWVsZENvbnRyb2wpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gY29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoXG4gICAgICBzdGFydFdpdGgoY29udHJvbC5zdGF0dXMpLFxuICAgICAgbWFwKChzdGF0dXMpID0+IHN0YXR1cyA9PT0gJ0RJU0FCTEVEJyksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvZm9ybS1maWVsZC9zcmMvbGliL2Zvcm0tZmllbGQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBbUIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQWMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU94STs7Ozs7Ozs7Ozs7R0FXRztBQUVILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxVQUFVO0lBRGhEOztRQUVtQix1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqRCx1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqRCxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQXNCLElBQUksQ0FBQyxDQUFDO1FBRTVFOzs7V0FHRztRQUNhLGFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFL0Y7O1dBRUc7UUFDYSxlQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQzdDLEdBQUcsQ0FB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QUM7SUFDbEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYTtRQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU8sMEJBQTBCLENBQUMsRUFBRSxPQUFPLEVBQWdCO1FBQzFELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzNCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQzdDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNaLElBQUksS0FBSyxFQUFFO29CQUNULE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDbkI7cUJBQU07b0JBQ0wsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO2lCQUNsQjtZQUNILENBQUMsQ0FBQyxDQUNILENBQUM7U0FDSDtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLHVCQUF1QixDQUFDLEVBQUUsT0FBTyxFQUFnQjtRQUN2RCxPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUMvQixTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUN6QixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxVQUFVLENBQUMsRUFDdEMsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztJQUNKLENBQUM7K0dBckdVLGdCQUFnQjttSEFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb250cm9sbGVyLCBEaXNhYmxlZENvbnRyb2xsZXIsIFJlYWRvbmx5Q29udHJvbGxlciB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBnZXRVbmlxdWVJZCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIEVNUFRZLCBPYnNlcnZhYmxlLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBtZXJnZSwgb2YsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmludGVyZmFjZSBGaWVsZENvbnRyb2wge1xuICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIGNlbnRyYWxpemVkIGZvcm0gZmllbGQgbWFuYWdlbWVudCBmb3IgQW5ndWxhciBhcHBsaWNhdGlvbnMuXG4gKiBUaGlzIHNlcnZpY2UgaGFuZGxlcyB0aGUgcmVnaXN0cmF0aW9uIGFuZCBtYW5hZ2VtZW50IG9mIGZvcm0gY29udHJvbHMsIGluY2x1ZGluZyB0aGVpciBkaXNhYmxlZCBhbmQgcmVhZC1vbmx5IHN0YXRlcyxcbiAqIGFuZCBpbnRlZ3JhdGVzIHNlYW1sZXNzbHkgd2l0aCBBbmd1bGFyJ3MgZm9ybXMgbW9kdWxlLiBJdCBtYW5hZ2VzIHRoZSBzdGF0ZSBvZiBpbmRpdmlkdWFsIGZvcm0gZmllbGRzIGFjcm9zcyB0aGUgYXBwbGljYXRpb24sXG4gKiBlbnN1cmluZyB0aGF0IGNoYW5nZXMgdG8gdGhlIHN0YXRlIChzdWNoIGFzIGRpc2FibGVkIG9yIHJlYWQtb25seSkgYXJlIGNvbnNpc3RlbnRseSByZWZsZWN0ZWQgaW4gdGhlIFVJLlxuICpcbiAqIEV4dGVuZHMgdGhlIGBDb250cm9sbGVyYCBjbGFzcywgd2hpY2ggcHJvdmlkZXMgYmFzaWMgZnVuY3Rpb25hbGl0eSBmb3IgbWFuYWdpbmcgc3RhdGUgYW5kIGludGVyYWN0aW9ucy5cbiAqIFRoZSBzZXJ2aWNlIHV0aWxpemVzIEFuZ3VsYXIncyBkZXBlbmRlbmN5IGluamVjdGlvbiB0byBhY2Nlc3MgYW5kIG1hbmlwdWxhdGUgZm9ybSBjb250cm9scyBhbmQgdGhlaXIgcHJvcGVydGllcyxcbiAqIG1ha2luZyBpdCBlYXNpZXIgdG8gbWFpbnRhaW4gYW5kIHVwZGF0ZSBmb3JtIHN0YXRlIGFjcm9zcyBjb21wbGV4IGZvcm1zLlxuICpcbiAqIEBleHRlbmRzIHtDb250cm9sbGVyfVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkU2VydmljZSBleHRlbmRzIENvbnRyb2xsZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IGRpc2FibGVkQ29udHJvbGxlciA9IERpc2FibGVkQ29udHJvbGxlci5pbmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZWFkb25seUNvbnRyb2xsZXIgPSBSZWFkb25seUNvbnRyb2xsZXIuaW5qZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbCQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWVsZENvbnRyb2wgfCBudWxsPihudWxsKTtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjdXJyZW50bHkgcmVnaXN0ZXJlZCBjb250cm9sIG9iamVjdCwgd2hpY2ggaW5jbHVkZXNcbiAgICogYm90aCB0aGUgY29udHJvbCBpbnN0YW5jZSBhbmQgdGhlIGFzc29jaWF0ZWQgbmF0aXZlIEhUTUwgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjb250cm9sJCA9IHRoaXMuY29udHJvbCQkLnBpcGUoc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSk7XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgSUQgb2YgdGhlIGN1cnJlbnQgY29udHJvbCdzIEhUTUwgZWxlbWVudC4gR2VuZXJhdGVzIGEgdW5pcXVlIElEIGlmIG5vdCBhbHJlYWR5IGFzc2lnbmVkLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbnRyb2xJZCQgPSB0aGlzLmNvbnRyb2wkLnBpcGUoXG4gICAgbWFwKChjb250cm9sKSA9PiAoY29udHJvbCA/IGNvbnRyb2wubmF0aXZlRWxlbWVudC5pZCB8fCBnZXRVbmlxdWVJZCgnb2R4LWZvcm0tZmllbGQnKSA6IG51bGwpKSxcbiAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pLFxuICApO1xuXG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGhpbnQgSUQgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb250cm9sLCB3aGljaCBpcyB0eXBpY2FsbHkgdXNlZCBmb3IgYWNjZXNzaWJpbGl0eSBwdXJwb3Nlcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjb250cm9sSGludElkJCA9IHRoaXMuY29udHJvbElkJC5waXBlKFxuICAgIG1hcCgoaWQpID0+IChpZCA/IGAke2lkfS1oaW50YCA6IG51bGwpKSxcbiAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pLFxuICApO1xuXG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGVycm9yIG1lc3NhZ2UgSUQgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb250cm9sLCB1c2VkIGZvciBsaW5raW5nIGZvcm0gZXJyb3JzIGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbnRyb2xFcnJvcklkJCA9IHRoaXMuY29udHJvbElkJC5waXBlKFxuICAgIG1hcCgoaWQpID0+IChpZCA/IGAke2lkfS1lcnJvcmAgOiBudWxsKSksXG4gICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgKTtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGNvbnRyb2wgaXMgZGlzYWJsZWQsIGNvbWJpbmluZyBib3RoIGludGVybmFsIHN0YXRlIGFuZCBjb250cm9sbGVyIHN0YXRlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlzRGlzYWJsZWQkID0gdGhpcy5jb250cm9sJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoY29udHJvbCkgPT4gKGNvbnRyb2wgPyBtZXJnZSh0aGlzLnVwZGF0ZUNvbnRyb2xEaXNhYmxlZFN0YXRlKGNvbnRyb2wpLCB0aGlzLmdldENvbnRyb2xEaXNhYmxlZFN0YXRlKGNvbnRyb2wpKSA6IG9mKGZhbHNlKSkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgKTtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGNvbnRyb2wgaXMgcmVxdWlyZWQsIGJhc2VkIG9uIHRoZSBwcmVzZW5jZSBvZiB0aGUgcmVxdWlyZWQgYXR0cmlidXRlIG9yIHZhbGlkYXRvci5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpc1JlcXVpcmVkJCA9IHRoaXMuY29udHJvbCQucGlwZShcbiAgICBtYXAoKGNvbnRyb2wpID0+IChjb250cm9sID8gY29udHJvbC5uYXRpdmVFbGVtZW50Lmhhc0F0dHJpYnV0ZSgncmVxdWlyZWQnKSB8fCBjb250cm9sLmNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpIDogZmFsc2UpKSxcbiAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pLFxuICApO1xuXG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgY29udHJvbCBpcyByZWFkb25seSwgYmFzZWQgb24gdGhlIHByZXNlbmNlIG9mIHRoZSByZWFkb25seSBhdHRyaWJ1dGUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaXNSZWFkb25seSQgPSB0aGlzLmNvbnRyb2wkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChjb250cm9sKSA9PiAoY29udHJvbCAmJiB0aGlzLnJlYWRvbmx5Q29udHJvbGxlciA/IHRoaXMucmVhZG9ubHlDb250cm9sbGVyLmlzUmVhZG9ubHkkIDogb2YoZmFsc2UpKSksXG4gICk7XG5cbiAgcHVibGljIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbCQkLmNvbXBsZXRlKCk7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBjb250cm9sIGFsb25nIHdpdGggaXRzIG5hdGl2ZSBlbGVtZW50IHRvIHRoZSBzZXJ2aWNlLlxuICAgKiBAcGFyYW0ge0Fic3RyYWN0Q29udHJvbH0gY29udHJvbCAtIFRoZSBBbmd1bGFyIGZvcm0gY29udHJvbC5cbiAgICogQHBhcmFtIHtFbGVtZW50UmVmPEhUTUxFbGVtZW50Pn0gbmF0aXZlRWxlbWVudCAtIFRoZSBuYXRpdmUgZWxlbWVudCBhc3NvY2lhdGVkIHdpdGggdGhlIGZvcm0gY29udHJvbC5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlckNvbnRyb2woY29udHJvbDogQWJzdHJhY3RDb250cm9sLCB7IG5hdGl2ZUVsZW1lbnQgfTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRyb2wkJC5uZXh0KHsgY29udHJvbCwgbmF0aXZlRWxlbWVudCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIHRoZSBjdXJyZW50bHkgcmVnaXN0ZXJlZCBjb250cm9sIGZyb20gdGhlIHNlcnZpY2UuXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlQ29udHJvbCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRyb2wkJC5uZXh0KG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb250cm9sRGlzYWJsZWRTdGF0ZSh7IGNvbnRyb2wgfTogRmllbGRDb250cm9sKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWRDb250cm9sbGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZENvbnRyb2xsZXIuaXNEaXNhYmxlZCQucGlwZShcbiAgICAgICAgdGFwKChzdGF0ZSkgPT4ge1xuICAgICAgICAgIGlmIChzdGF0ZSkge1xuICAgICAgICAgICAgY29udHJvbC5kaXNhYmxlKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBFTVBUWTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29udHJvbERpc2FibGVkU3RhdGUoeyBjb250cm9sIH06IEZpZWxkQ29udHJvbCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBjb250cm9sLnN0YXR1c0NoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aChjb250cm9sLnN0YXR1cyksXG4gICAgICBtYXAoKHN0YXR1cykgPT4gc3RhdHVzID09PSAnRElTQUJMRUQnKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -5,14 +5,29 @@ import { injectFormFieldConfig } from '../form-field.config';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
const DEFAULT_CUSTOM_FORM_FIELD_ERROR = '@odx/angular/form-field/default-error';
|
|
7
7
|
const DEFAULT_ERROR_RESOLVER = () => '';
|
|
8
|
+
/**
|
|
9
|
+
* Manages and resolves form field errors by integrating custom error messages and templates.
|
|
10
|
+
* This service provides reactive observables for error states that can be used to display custom error messages in templates.
|
|
11
|
+
* It supports both string-based error messages and Angular templates for richer error displays.
|
|
12
|
+
*/
|
|
8
13
|
export class FormFieldErrorService {
|
|
9
14
|
constructor() {
|
|
10
15
|
this.config = injectFormFieldConfig();
|
|
11
16
|
this.fieldError$$ = new BehaviorSubject(null);
|
|
12
17
|
this.customErrors$$ = new BehaviorSubject({});
|
|
18
|
+
/**
|
|
19
|
+
* An Observable that emits the resolved form field error based on current validations and custom errors.
|
|
20
|
+
* It outputs either a `FormFieldError` object with a message and context or `null` if no errors are found.
|
|
21
|
+
*/
|
|
13
22
|
this.error$ = combineLatest([this.fieldError$$, this.customErrors$$]).pipe(map(([error, customErrors]) => this.resolveError(error, customErrors)), distinctUntilChanged(), shareReplay({ bufferSize: 1, refCount: true }));
|
|
23
|
+
/**
|
|
24
|
+
* An Observable that emits a boolean indicating whether there are any active errors.
|
|
25
|
+
*/
|
|
14
26
|
this.hasError$ = this.error$.pipe(map((error) => error !== null));
|
|
15
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Gets a boolean indicating whether the current field has any errors.
|
|
30
|
+
*/
|
|
16
31
|
get hasError() {
|
|
17
32
|
return this.fieldError$$.getValue() !== null;
|
|
18
33
|
}
|
|
@@ -22,9 +37,18 @@ export class FormFieldErrorService {
|
|
|
22
37
|
this.fieldError$$.complete();
|
|
23
38
|
this.customErrors$$.complete();
|
|
24
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Sets the first relevant error from the ValidationErrors object if any error matches the non-ignored error list.
|
|
42
|
+
* @param errors ValidationErrors object containing potential errors from a form control.
|
|
43
|
+
*/
|
|
25
44
|
setError(errors) {
|
|
26
45
|
this.fieldError$$.next(this.getFirstError(errors ?? {}));
|
|
27
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Registers a custom error template for a specific error key.
|
|
49
|
+
* @param key The error key to register the custom template under. If omitted, a default key is used.
|
|
50
|
+
* @param template A TemplateRef instance containing the Angular template to display for this error.
|
|
51
|
+
*/
|
|
28
52
|
registerCustomError(key, template) {
|
|
29
53
|
this.customErrors$$.next({ ...this.customErrors$$.getValue(), [key || DEFAULT_CUSTOM_FORM_FIELD_ERROR]: template });
|
|
30
54
|
}
|
|
@@ -53,4 +77,4 @@ export class FormFieldErrorService {
|
|
|
53
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldErrorService, decorators: [{
|
|
54
78
|
type: Injectable
|
|
55
79
|
}] });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1lcnJvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvZm9ybS1maWVsZC9zcmMvbGliL3NlcnZpY2VzL2Zvcm0tZmllbGQtZXJyb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUEwQixNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHN0QsTUFBTSwrQkFBK0IsR0FBRyx1Q0FBdUMsQ0FBQztBQUNoRixNQUFNLHNCQUFzQixHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQVN4Qzs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQURsQztRQUVtQixXQUFNLEdBQUcscUJBQXFCLEVBQUUsQ0FBQztRQUNqQyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUEwQixJQUFJLENBQUMsQ0FBQztRQUNsRSxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUF3QixFQUFFLENBQUMsQ0FBQztRQUVqRjs7O1dBR0c7UUFDYSxXQUFNLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ25GLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxFQUN0RSxvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUMvQyxDQUFDO1FBRUY7O1dBRUc7UUFDYSxjQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztLQXNEOUU7SUFwREM7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVEsQ0FBQyxNQUFnQztRQUM5QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksbUJBQW1CLENBQUMsR0FBdUIsRUFBRSxRQUE4QjtRQUNoRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSwrQkFBK0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdEgsQ0FBQztJQUVPLGFBQWEsQ0FBQyxNQUF3QjtRQUM1QyxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTdILE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBOEIsRUFBRSxZQUFtQztRQUN0RixJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3hCLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQy9CLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxZQUFZLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNuRixJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxQixPQUFPO2dCQUNMLEdBQUc7Z0JBQ0gsT0FBTztnQkFDUCxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFO2FBQ2hDLENBQUM7U0FDSDtRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLHNCQUFzQixDQUFDO1FBQ3JFLE9BQU8sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO0lBQy9DLENBQUM7K0dBdkVVLHFCQUFxQjttSEFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzVGVtcGxhdGVSZWYgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaW5qZWN0Rm9ybUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vZm9ybS1maWVsZC5jb25maWcnO1xuaW1wb3J0IHsgRm9ybUZpZWxkRXJyb3IgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5jb25zdCBERUZBVUxUX0NVU1RPTV9GT1JNX0ZJRUxEX0VSUk9SID0gJ0BvZHgvYW5ndWxhci9mb3JtLWZpZWxkL2RlZmF1bHQtZXJyb3InO1xuY29uc3QgREVGQVVMVF9FUlJPUl9SRVNPTFZFUiA9ICgpID0+ICcnO1xuXG5pbnRlcmZhY2UgTmdGb3JtRmllbGRFcnJvciB7XG4gIGtleTogc3RyaW5nO1xuICBjb250ZXh0OiB1bmtub3duO1xufVxuXG50eXBlIEN1c3RvbUZvcm1GaWVsZEVycm9ycyA9IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlUmVmPHVua25vd24+PjtcblxuLyoqXG4gKiBNYW5hZ2VzIGFuZCByZXNvbHZlcyBmb3JtIGZpZWxkIGVycm9ycyBieSBpbnRlZ3JhdGluZyBjdXN0b20gZXJyb3IgbWVzc2FnZXMgYW5kIHRlbXBsYXRlcy5cbiAqIFRoaXMgc2VydmljZSBwcm92aWRlcyByZWFjdGl2ZSBvYnNlcnZhYmxlcyBmb3IgZXJyb3Igc3RhdGVzIHRoYXQgY2FuIGJlIHVzZWQgdG8gZGlzcGxheSBjdXN0b20gZXJyb3IgbWVzc2FnZXMgaW4gdGVtcGxhdGVzLlxuICogSXQgc3VwcG9ydHMgYm90aCBzdHJpbmctYmFzZWQgZXJyb3IgbWVzc2FnZXMgYW5kIEFuZ3VsYXIgdGVtcGxhdGVzIGZvciByaWNoZXIgZXJyb3IgZGlzcGxheXMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRFcnJvclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdEZvcm1GaWVsZENvbmZpZygpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkRXJyb3IkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TmdGb3JtRmllbGRFcnJvciB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IGN1c3RvbUVycm9ycyQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDdXN0b21Gb3JtRmllbGRFcnJvcnM+KHt9KTtcblxuICAvKipcbiAgICogQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXNvbHZlZCBmb3JtIGZpZWxkIGVycm9yIGJhc2VkIG9uIGN1cnJlbnQgdmFsaWRhdGlvbnMgYW5kIGN1c3RvbSBlcnJvcnMuXG4gICAqIEl0IG91dHB1dHMgZWl0aGVyIGEgYEZvcm1GaWVsZEVycm9yYCBvYmplY3Qgd2l0aCBhIG1lc3NhZ2UgYW5kIGNvbnRleHQgb3IgYG51bGxgIGlmIG5vIGVycm9ycyBhcmUgZm91bmQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZXJyb3IkID0gY29tYmluZUxhdGVzdChbdGhpcy5maWVsZEVycm9yJCQsIHRoaXMuY3VzdG9tRXJyb3JzJCRdKS5waXBlKFxuICAgIG1hcCgoW2Vycm9yLCBjdXN0b21FcnJvcnNdKSA9PiB0aGlzLnJlc29sdmVFcnJvcihlcnJvciwgY3VzdG9tRXJyb3JzKSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pLFxuICApO1xuXG4gIC8qKlxuICAgKiBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGVyZSBhcmUgYW55IGFjdGl2ZSBlcnJvcnMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaGFzRXJyb3IkID0gdGhpcy5lcnJvciQucGlwZShtYXAoKGVycm9yKSA9PiBlcnJvciAhPT0gbnVsbCkpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGN1cnJlbnQgZmllbGQgaGFzIGFueSBlcnJvcnMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGhhc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkRXJyb3IkJC5nZXRWYWx1ZSgpICE9PSBudWxsO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZmllbGRFcnJvciQkLm5leHQobnVsbCk7XG4gICAgdGhpcy5jdXN0b21FcnJvcnMkJC5uZXh0KHt9KTtcbiAgICB0aGlzLmZpZWxkRXJyb3IkJC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuY3VzdG9tRXJyb3JzJCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBmaXJzdCByZWxldmFudCBlcnJvciBmcm9tIHRoZSBWYWxpZGF0aW9uRXJyb3JzIG9iamVjdCBpZiBhbnkgZXJyb3IgbWF0Y2hlcyB0aGUgbm9uLWlnbm9yZWQgZXJyb3IgbGlzdC5cbiAgICogQHBhcmFtIGVycm9ycyBWYWxpZGF0aW9uRXJyb3JzIG9iamVjdCBjb250YWluaW5nIHBvdGVudGlhbCBlcnJvcnMgZnJvbSBhIGZvcm0gY29udHJvbC5cbiAgICovXG4gIHB1YmxpYyBzZXRFcnJvcihlcnJvcnM/OiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuZmllbGRFcnJvciQkLm5leHQodGhpcy5nZXRGaXJzdEVycm9yKGVycm9ycyA/PyB7fSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGN1c3RvbSBlcnJvciB0ZW1wbGF0ZSBmb3IgYSBzcGVjaWZpYyBlcnJvciBrZXkuXG4gICAqIEBwYXJhbSBrZXkgVGhlIGVycm9yIGtleSB0byByZWdpc3RlciB0aGUgY3VzdG9tIHRlbXBsYXRlIHVuZGVyLiBJZiBvbWl0dGVkLCBhIGRlZmF1bHQga2V5IGlzIHVzZWQuXG4gICAqIEBwYXJhbSB0ZW1wbGF0ZSBBIFRlbXBsYXRlUmVmIGluc3RhbmNlIGNvbnRhaW5pbmcgdGhlIEFuZ3VsYXIgdGVtcGxhdGUgdG8gZGlzcGxheSBmb3IgdGhpcyBlcnJvci5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlckN1c3RvbUVycm9yKGtleTogc3RyaW5nIHwgdW5kZWZpbmVkLCB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj4pOiB2b2lkIHtcbiAgICB0aGlzLmN1c3RvbUVycm9ycyQkLm5leHQoeyAuLi50aGlzLmN1c3RvbUVycm9ycyQkLmdldFZhbHVlKCksIFtrZXkgfHwgREVGQVVMVF9DVVNUT01fRk9STV9GSUVMRF9FUlJPUl06IHRlbXBsYXRlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaXJzdEVycm9yKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyk6IE5nRm9ybUZpZWxkRXJyb3IgfCBudWxsIHtcbiAgICBjb25zdCBba2V5LCBjb250ZXh0XSA9IE9iamVjdC5lbnRyaWVzKGVycm9ycyA/PyB7fSkuZmluZCgoW2Vycm9yS2V5XSkgPT4gIXRoaXMuY29uZmlnLmlnbm9yZUVycm9ycy5pbmNsdWRlcyhlcnJvcktleSkpID8/IFtdO1xuXG4gICAgcmV0dXJuIGtleSA/IHsga2V5LCBjb250ZXh0IH0gOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRXJyb3IoZXJyb3I6IE5nRm9ybUZpZWxkRXJyb3IgfCBudWxsLCBjdXN0b21FcnJvcnM6IEN1c3RvbUZvcm1GaWVsZEVycm9ycyk6IEZvcm1GaWVsZEVycm9yIHwgbnVsbCB7XG4gICAgaWYgKCFlcnJvcikgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgeyBrZXksIGNvbnRleHQgfSA9IGVycm9yO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjdXN0b21FcnJvcnNba2V5XSA/PyBjdXN0b21FcnJvcnNbREVGQVVMVF9DVVNUT01fRk9STV9GSUVMRF9FUlJPUl07XG4gICAgaWYgKGlzVGVtcGxhdGVSZWYobWVzc2FnZSkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGtleSxcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGNvbnRleHQgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgZ2V0TWVzc2FnZSA9IHRoaXMuY29uZmlnLmVycm9yc1trZXldID8/IERFRkFVTFRfRVJST1JfUkVTT0xWRVI7XG4gICAgcmV0dXJuIHsga2V5LCBtZXNzYWdlOiBnZXRNZXNzYWdlKGNvbnRleHQpIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Directive, inject } from '@angular/core';
|
|
2
2
|
import { ButtonComponent, ButtonVariant } from '@odx/angular/components/button';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Directive for the header avatar component.
|
|
6
|
+
* This directive is responsible for customizing the appearance of the header avatar button.
|
|
7
|
+
*/
|
|
4
8
|
export class HeaderAvatarDirective {
|
|
5
9
|
constructor() {
|
|
6
10
|
this.button = inject(ButtonComponent, { self: true });
|
|
@@ -21,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
21
25
|
},
|
|
22
26
|
}]
|
|
23
27
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWF2YXRhci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9oZWFkZXIvc3JjL2xpYi9kaXJlY3RpdmVzL2hlYWRlci1hdmF0YXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUVoRjs7O0dBR0c7QUFRSCxNQUFNLE9BQU8scUJBQXFCO0lBUGxDO1FBUW1CLFdBQU0sR0FBRyxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FLbkU7SUFIUSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDNUMsQ0FBQzsrR0FMVSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFQakMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLG9DQUFvQztvQkFDOUMsSUFBSSxFQUFFO3dCQUNKLDRCQUE0QixFQUFFLE1BQU07cUJBQ3JDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCwgQnV0dG9uVmFyaWFudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2J1dHRvbic7XG5cbi8qKlxuICogRGlyZWN0aXZlIGZvciB0aGUgaGVhZGVyIGF2YXRhciBjb21wb25lbnQuXG4gKiBUaGlzIGRpcmVjdGl2ZSBpcyByZXNwb25zaWJsZSBmb3IgY3VzdG9taXppbmcgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGhlYWRlciBhdmF0YXIgYnV0dG9uLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdidXR0b25bb2R4QnV0dG9uXVtvZHhIZWFkZXJBdmF0YXJdJyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Mub2R4LWhlYWRlcl9fYXZhdGFyXSc6ICd0cnVlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQXZhdGFyRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYnV0dG9uID0gaW5qZWN0KEJ1dHRvbkNvbXBvbmVudCwgeyBzZWxmOiB0cnVlIH0pO1xuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5idXR0b24udmFyaWFudCA9IEJ1dHRvblZhcmlhbnQuR0hPU1Q7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { Directive } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Directive for displaying the title in the header component.
|
|
5
|
+
*/
|
|
3
6
|
export class HeaderTitleDirective {
|
|
4
7
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5
8
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: HeaderTitleDirective, isStandalone: true, selector: "odx-header-title", host: { properties: { "class.odx-header__title": "true" } }, ngImport: i0 }); }
|
|
@@ -14,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
14
17
|
},
|
|
15
18
|
}]
|
|
16
19
|
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXRpdGxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2hlYWRlci9zcmMvbGliL2RpcmVjdGl2ZXMvaGVhZGVyLXRpdGxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxQzs7R0FFRztBQVFILE1BQU0sT0FBTyxvQkFBb0I7K0dBQXBCLG9CQUFvQjttR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQVBoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osMkJBQTJCLEVBQUUsTUFBTTtxQkFDcEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgZm9yIGRpc3BsYXlpbmcgdGhlIHRpdGxlIGluIHRoZSBoZWFkZXIgY29tcG9uZW50LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdvZHgtaGVhZGVyLXRpdGxlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Mub2R4LWhlYWRlcl9fdGl0bGVdJzogJ3RydWUnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJUaXRsZURpcmVjdGl2ZSB7fVxuIl19
|
|
@@ -4,6 +4,9 @@ import { LogoDirective } from '@odx/angular/components/logo';
|
|
|
4
4
|
import { CSSComponent } from '@odx/angular/internal';
|
|
5
5
|
import { injectElement } from '@odx/angular/utils';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Represents the header component.
|
|
9
|
+
*/
|
|
7
10
|
export let HeaderComponent = class HeaderComponent {
|
|
8
11
|
constructor() {
|
|
9
12
|
this.element = injectElement();
|
|
@@ -18,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
18
21
|
type: Component,
|
|
19
22
|
args: [{ standalone: true, selector: 'odx-header', imports: [LogoDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"button[odxMainMenuButton]\" />\n<odx-logo />\n<ng-content select=\"odx-header-title\" />\n<div class=\"odx-header__content\">\n <ng-content />\n</div>\n<ng-content select=\"odx-action-group, odx-auth\" />\n<ng-content select=\"[odxHeaderAvatar]\" />\n" }]
|
|
20
23
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2hlYWRlci9zcmMvbGliL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9oZWFkZXIvc3JjL2xpYi9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRW5EOztHQUVHO0FBVUksV0FBTSxlQUFlLEdBQXJCLE1BQU0sZUFBZTtJQUFyQjtRQUNXLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztLQUMzQzsrR0FGWSxlQUFlO21HQUFmLGVBQWUsc0VDakI1QixtUkFRQSw0Q0RJWSxhQUFhOztBQUtaLGVBQWU7SUFUM0IsWUFBWSxDQUFDLFFBQVEsQ0FBQztHQVNWLGVBQWUsQ0FFM0I7NEZBRlksZUFBZTtrQkFSM0IsU0FBUztpQ0FDSSxJQUFJLFlBQ04sWUFBWSxXQUNiLENBQUMsYUFBYSxDQUFDLGlCQUVULGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9nb0RpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2xvZ28nO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGhlYWRlciBjb21wb25lbnQuXG4gKi9cbkBDU1NDb21wb25lbnQoJ2hlYWRlcicpXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvZHgtaGVhZGVyJyxcbiAgaW1wb3J0czogW0xvZ29EaXJlY3RpdmVdLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYnV0dG9uW29keE1haW5NZW51QnV0dG9uXVwiIC8+XG48b2R4LWxvZ28gLz5cbjxuZy1jb250ZW50IHNlbGVjdD1cIm9keC1oZWFkZXItdGl0bGVcIiAvPlxuPGRpdiBjbGFzcz1cIm9keC1oZWFkZXJfX2NvbnRlbnRcIj5cbiAgPG5nLWNvbnRlbnQgLz5cbjwvZGl2PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwib2R4LWFjdGlvbi1ncm91cCwgb2R4LWF1dGhcIiAvPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiW29keEhlYWRlckF2YXRhcl1cIiAvPlxuIl19
|
package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs
CHANGED
|
@@ -16,6 +16,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
16
16
|
hostDirectives: [{ directive: RouterLinkActive, inputs: ['routerLinkActiveOptions'] }],
|
|
17
17
|
}]
|
|
18
18
|
}] });
|
|
19
|
+
/**
|
|
20
|
+
* Directive for handling header navigation links.
|
|
21
|
+
*/
|
|
19
22
|
export class HeaderNavigationLinkDirective {
|
|
20
23
|
constructor() {
|
|
21
24
|
const routerLinkActive = inject(RouterLinkActive, { self: true, optional: true });
|
|
@@ -34,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
34
37
|
selector: '[odxHeaderNavigationLink]',
|
|
35
38
|
}]
|
|
36
39
|
}], ctorParameters: function () { return []; } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW5hdmlnYXRpb24tbGluay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9oZWFkZXItbmF2aWdhdGlvbi9zcmMvbGliL2RpcmVjdGl2ZXMvaGVhZGVyLW5hdmlnYXRpb24tbGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBT3ZELE1BQU0sT0FBTyxtQ0FBbUM7K0dBQW5DLG1DQUFtQzttR0FBbkMsbUNBQW1DOzs0RkFBbkMsbUNBQW1DO2tCQUwvQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsdUNBQXVDO29CQUNqRCxjQUFjLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUM7aUJBQ3ZGOztBQUdEOztHQUVHO0FBS0gsTUFBTSxPQUFPLDZCQUE2QjtJQUN4QztRQUNFLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsZ0JBQWdCO1lBQUUsT0FBTztRQUM5QixNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDckgsb0JBQW9CLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7K0dBTlUsNkJBQTZCO21HQUE3Qiw2QkFBNkI7OzRGQUE3Qiw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlckxpbmtBY3RpdmUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgcmVhY3RpdmVDbGFzc0JpbmRpbmcgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbcm91dGVyTGlua11bb2R4SGVhZGVyTmF2aWdhdGlvbkxpbmtdJyxcbiAgaG9zdERpcmVjdGl2ZXM6IFt7IGRpcmVjdGl2ZTogUm91dGVyTGlua0FjdGl2ZSwgaW5wdXRzOiBbJ3JvdXRlckxpbmtBY3RpdmVPcHRpb25zJ10gfV0sXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlck5hdmlnYXRpb25Sb3V0ZXJMaW5rRGlyZWN0aXZlIHt9XG5cbi8qKlxuICogRGlyZWN0aXZlIGZvciBoYW5kbGluZyBoZWFkZXIgbmF2aWdhdGlvbiBsaW5rcy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW29keEhlYWRlck5hdmlnYXRpb25MaW5rXScsXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlck5hdmlnYXRpb25MaW5rRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3Qgcm91dGVyTGlua0FjdGl2ZSA9IGluamVjdChSb3V0ZXJMaW5rQWN0aXZlLCB7IHNlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlIH0pO1xuICAgIGlmICghcm91dGVyTGlua0FjdGl2ZSkgcmV0dXJuO1xuICAgIGNvbnN0IGlzQWN0aXZlJCA9IHJvdXRlckxpbmtBY3RpdmUuaXNBY3RpdmVDaGFuZ2UucGlwZShzdGFydFdpdGgocm91dGVyTGlua0FjdGl2ZS5pc0FjdGl2ZSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgIHJlYWN0aXZlQ2xhc3NCaW5kaW5nKGlzQWN0aXZlJCwgJ2lzLWFjdGl2ZScpO1xuICB9XG59XG4iXX0=
|
|
@@ -4,6 +4,9 @@ import { ActionGroupComponent } from '@odx/angular/components/action-group';
|
|
|
4
4
|
import { CSSComponent, CSSModifier } from '@odx/angular/internal';
|
|
5
5
|
import { injectElement } from '@odx/angular/utils';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Represents the header navigation component.
|
|
9
|
+
*/
|
|
7
10
|
export let HeaderNavigationComponent = class HeaderNavigationComponent {
|
|
8
11
|
constructor() {
|
|
9
12
|
this.element = injectElement();
|
|
@@ -25,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
25
28
|
type: Input,
|
|
26
29
|
args: [{ transform: booleanAttribute }]
|
|
27
30
|
}] } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvaGVhZGVyLW5hdmlnYXRpb24vc3JjL2xpYi9oZWFkZXItbmF2aWdhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9oZWFkZXItbmF2aWdhdGlvbi9zcmMvbGliL2hlYWRlci1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFbkQ7O0dBRUc7QUFVSSxXQUFNLHlCQUF5QixHQUEvQixNQUFNLHlCQUF5QjtJQUEvQjtRQUNXLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztLQVEzQzsrR0FUWSx5QkFBeUI7bUdBQXpCLHlCQUF5QixzR0FPaEIsZ0JBQWdCLDZCQ3hCdEMsa0xBR0EsNENEVVksb0JBQW9COztBQVl2QjtJQUZOLFdBQVcsRUFBRTs7MkRBRVk7QUFSZix5QkFBeUI7SUFUckMsWUFBWSxDQUFDLG1CQUFtQixDQUFDO0dBU3JCLHlCQUF5QixDQVNyQzs0RkFUWSx5QkFBeUI7a0JBUnJDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLHVCQUF1QixXQUV4QixDQUFDLG9CQUFvQixDQUFDLGlCQUNoQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzhCQVV4QyxRQUFRO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYWN0aW9uLWdyb3VwJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCwgQ1NTTW9kaWZpZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgaGVhZGVyIG5hdmlnYXRpb24gY29tcG9uZW50LlxuICovXG5AQ1NTQ29tcG9uZW50KCdoZWFkZXItbmF2aWdhdGlvbicpXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvZHgtaGVhZGVyLW5hdmlnYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbQWN0aW9uR3JvdXBDb21wb25lbnRdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyTmF2aWdhdGlvbkNvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaGVhZGVyIG5hdmlnYXRpb24gc2hvdWxkIGJlIGNlbnRlcmVkLlxuICAgKi9cbiAgQENTU01vZGlmaWVyKClcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBjZW50ZXJlZCE6IGJvb2xlYW47XG59XG4iLCI8b2R4LWFjdGlvbi1ncm91cCBjbGFzcz1cIm9keC1oZWFkZXItbmF2aWdhdGlvbl9faW5uZXJcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibmctdGVtcGxhdGUsIFtvZHhIZWFkZXJOYXZpZ2F0aW9uTGlua11cIiBuZ1Byb2plY3RBcz1cIltvZHhCdXR0b25dXCIgLz5cbjwvb2R4LWFjdGlvbi1ncm91cD5cbiJdfQ==
|
|
@@ -1,7 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unpacks a combined icon identifier string into separate icon set and icon name components.
|
|
3
|
+
* The identifier is expected to follow the format "iconSet::iconName". If the "iconName" part is
|
|
4
|
+
* missing, the function assumes the icon belongs to the 'core' set.
|
|
5
|
+
*
|
|
6
|
+
* @param value The combined identifier string in the format "iconSet::iconName".
|
|
7
|
+
* @returns A tuple containing the icon set and icon name as two separate strings. Defaults to 'core'
|
|
8
|
+
* if the iconName is omitted in the input.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* unpackIconIdentifier("menu") // returns ['core', 'menu']
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
1
15
|
export function unpackIconIdentifier(value) {
|
|
2
16
|
const [iconSet, iconName] = value.split('::');
|
|
3
17
|
if (!iconName)
|
|
4
18
|
return ['core', iconSet];
|
|
5
19
|
return [iconSet, iconName];
|
|
6
20
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5wYWNrLWljb24taWRlbnRpZmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2ljb24vc3JjL2xpYi9oZWxwZXJzL3VucGFjay1pY29uLWlkZW50aWZpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxLQUFhO0lBQ2hELE1BQU0sQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFeEMsT0FBTyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztBQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVbnBhY2tzIGEgY29tYmluZWQgaWNvbiBpZGVudGlmaWVyIHN0cmluZyBpbnRvIHNlcGFyYXRlIGljb24gc2V0IGFuZCBpY29uIG5hbWUgY29tcG9uZW50cy5cbiAqIFRoZSBpZGVudGlmaWVyIGlzIGV4cGVjdGVkIHRvIGZvbGxvdyB0aGUgZm9ybWF0IFwiaWNvblNldDo6aWNvbk5hbWVcIi4gSWYgdGhlIFwiaWNvbk5hbWVcIiBwYXJ0IGlzXG4gKiBtaXNzaW5nLCB0aGUgZnVuY3Rpb24gYXNzdW1lcyB0aGUgaWNvbiBiZWxvbmdzIHRvIHRoZSAnY29yZScgc2V0LlxuICpcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgY29tYmluZWQgaWRlbnRpZmllciBzdHJpbmcgaW4gdGhlIGZvcm1hdCBcImljb25TZXQ6Omljb25OYW1lXCIuXG4gKiBAcmV0dXJucyBBIHR1cGxlIGNvbnRhaW5pbmcgdGhlIGljb24gc2V0IGFuZCBpY29uIG5hbWUgYXMgdHdvIHNlcGFyYXRlIHN0cmluZ3MuIERlZmF1bHRzIHRvICdjb3JlJ1xuICogICAgICAgICAgaWYgdGhlIGljb25OYW1lIGlzIG9taXR0ZWQgaW4gdGhlIGlucHV0LlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogdW5wYWNrSWNvbklkZW50aWZpZXIoXCJtZW51XCIpICAgICAgIC8vIHJldHVybnMgWydjb3JlJywgJ21lbnUnXVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1bnBhY2tJY29uSWRlbnRpZmllcih2YWx1ZTogc3RyaW5nKTogW2ljb25TZXQ6IHN0cmluZywgaWNvbk5hbWU6IHN0cmluZ10ge1xuICBjb25zdCBbaWNvblNldCwgaWNvbk5hbWVdID0gdmFsdWUuc3BsaXQoJzo6Jyk7XG4gIGlmICghaWNvbk5hbWUpIHJldHVybiBbJ2NvcmUnLCBpY29uU2V0XTtcblxuICByZXR1cm4gW2ljb25TZXQsIGljb25OYW1lXTtcbn1cbiJdfQ==
|
|
@@ -6,14 +6,38 @@ import { unpackIconIdentifier } from './helpers';
|
|
|
6
6
|
import { injectIconConfig } from './icon.config';
|
|
7
7
|
import { IconSize } from './models';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* Represents an icon component that can dynamically display various icons based on input properties. This component
|
|
11
|
+
* leverages CSS for styling and is designed to be easily embedded within other components and views.
|
|
12
|
+
*
|
|
13
|
+
* It allows for specifying icon sets and individual icon names, supporting flexible usage across different contexts
|
|
14
|
+
* and themes. The component is also optimized for performance with Angular's OnPush change detection strategy.
|
|
15
|
+
*/
|
|
9
16
|
export let IconComponent = class IconComponent {
|
|
10
17
|
constructor() {
|
|
11
18
|
this.element = injectElement();
|
|
19
|
+
/**
|
|
20
|
+
* Determines whether the icon should be displayed inline with text or other elements.
|
|
21
|
+
*/
|
|
12
22
|
this.inline = false;
|
|
23
|
+
/**
|
|
24
|
+
* Specifies the size of the icon, which can be adjusted using predefined sizes from the IconSize enum.
|
|
25
|
+
* @see {IconSize}
|
|
26
|
+
*/
|
|
13
27
|
this.size = IconSize.MEDIUM;
|
|
28
|
+
/**
|
|
29
|
+
* The name of the icon to be displayed, which corresponds to specific icons within a given icon set.
|
|
30
|
+
*/
|
|
14
31
|
this.name = null;
|
|
32
|
+
/**
|
|
33
|
+
* Specifies the icon set that the icon belongs to. The default set can be injected from the icon configuration.
|
|
34
|
+
*/
|
|
15
35
|
this.iconSet = injectIconConfig().defaultIconSet;
|
|
16
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Allows for setting both the icon set and icon name via a single identifier, typically formatted as 'set::name'.
|
|
39
|
+
* Unpacking this identifier sets both `name` and `iconSet` properties.
|
|
40
|
+
*/
|
|
17
41
|
set identifier(value) {
|
|
18
42
|
const [iconSet, name] = value ? unpackIconIdentifier(value) : [null, null];
|
|
19
43
|
this.name = name;
|
|
@@ -60,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
60
84
|
}], identifier: [{
|
|
61
85
|
type: Input
|
|
62
86
|
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9pY29uL3NyYy9saWIvaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFFcEM7Ozs7OztHQU1HO0FBZUksV0FBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtJQUFuQjtRQUNXLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUUxQzs7V0FFRztRQUdJLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFdEI7OztXQUdHO1FBR0ksU0FBSSxHQUFhLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFFeEM7O1dBRUc7UUFFSSxTQUFJLEdBQWtCLElBQUksQ0FBQztRQUVsQzs7V0FFRztRQUVJLFlBQU8sR0FBa0IsZ0JBQWdCLEVBQUUsQ0FBQyxjQUFjLENBQUM7S0FZbkU7SUFWQzs7O09BR0c7SUFDSCxJQUNXLFVBQVUsQ0FBQyxLQUFnQztRQUNwRCxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7K0dBdkNVLGFBQWE7bUdBQWIsYUFBYSxtRkFPSixnQkFBZ0IsaVFBbEIxQixlQUFlOztBQW1CbEI7SUFGTixXQUFXLEVBQUU7OzZDQUVRO0FBUWY7SUFGTixXQUFXLEVBQUU7OzJDQUUwQjtBQWhCN0IsYUFBYTtJQWR6QixZQUFZLENBQUMsTUFBTSxDQUFDO0dBY1IsYUFBYSxDQXdDekI7NEZBeENZLGFBQWE7a0JBYnpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFFBQVEsRUFBRSxlQUFlO29CQUN6QixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0oscUJBQXFCLEVBQUUsTUFBTTt3QkFDN0IsdUJBQXVCLEVBQUUsTUFBTTt3QkFDL0Isc0JBQXNCLEVBQUUsU0FBUzt3QkFDakMsU0FBUyxFQUFFLElBQUk7cUJBQ2hCO2lCQUNGOzhCQVNRLE1BQU07c0JBRFosS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFTL0IsSUFBSTtzQkFEVixLQUFLO2dCQU9DLElBQUk7c0JBRFYsS0FBSztnQkFPQyxPQUFPO3NCQURiLEtBQUs7Z0JBUUssVUFBVTtzQkFEcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50LCBDU1NNb2RpZmllciB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBpbmplY3RFbGVtZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IHVucGFja0ljb25JZGVudGlmaWVyIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IGluamVjdEljb25Db25maWcgfSBmcm9tICcuL2ljb24uY29uZmlnJztcbmltcG9ydCB7IEljb25TaXplIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gaWNvbiBjb21wb25lbnQgdGhhdCBjYW4gZHluYW1pY2FsbHkgZGlzcGxheSB2YXJpb3VzIGljb25zIGJhc2VkIG9uIGlucHV0IHByb3BlcnRpZXMuIFRoaXMgY29tcG9uZW50XG4gKiBsZXZlcmFnZXMgQ1NTIGZvciBzdHlsaW5nIGFuZCBpcyBkZXNpZ25lZCB0byBiZSBlYXNpbHkgZW1iZWRkZWQgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgYW5kIHZpZXdzLlxuICpcbiAqIEl0IGFsbG93cyBmb3Igc3BlY2lmeWluZyBpY29uIHNldHMgYW5kIGluZGl2aWR1YWwgaWNvbiBuYW1lcywgc3VwcG9ydGluZyBmbGV4aWJsZSB1c2FnZSBhY3Jvc3MgZGlmZmVyZW50IGNvbnRleHRzXG4gKiBhbmQgdGhlbWVzLiBUaGUgY29tcG9uZW50IGlzIGFsc28gb3B0aW1pemVkIGZvciBwZXJmb3JtYW5jZSB3aXRoIEFuZ3VsYXIncyBPblB1c2ggY2hhbmdlIGRldGVjdGlvbiBzdHJhdGVneS5cbiAqL1xuQENTU0NvbXBvbmVudCgnaWNvbicpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtaWNvbicsXG4gIHRlbXBsYXRlOiAnPHNwYW4+PC9zcGFuPicsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5ub3RyYW5zbGF0ZV0nOiAndHJ1ZScsXG4gICAgJ1thdHRyLmRhdGEtaWNvbi1uYW1lXSc6ICduYW1lJyxcbiAgICAnW2F0dHIuZGF0YS1pY29uLXNldF0nOiAnaWNvblNldCcsXG4gICAgdHJhbnNsYXRlOiAnbm8nLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBJY29uQ29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGUgaWNvbiBzaG91bGQgYmUgZGlzcGxheWVkIGlubGluZSB3aXRoIHRleHQgb3Igb3RoZXIgZWxlbWVudHMuXG4gICAqL1xuICBAQ1NTTW9kaWZpZXIoKVxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIGlubGluZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHNpemUgb2YgdGhlIGljb24sIHdoaWNoIGNhbiBiZSBhZGp1c3RlZCB1c2luZyBwcmVkZWZpbmVkIHNpemVzIGZyb20gdGhlIEljb25TaXplIGVudW0uXG4gICAqIEBzZWUge0ljb25TaXplfVxuICAgKi9cbiAgQENTU01vZGlmaWVyKClcbiAgQElucHV0KClcbiAgcHVibGljIHNpemU6IEljb25TaXplID0gSWNvblNpemUuTUVESVVNO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgaWNvbiB0byBiZSBkaXNwbGF5ZWQsIHdoaWNoIGNvcnJlc3BvbmRzIHRvIHNwZWNpZmljIGljb25zIHdpdGhpbiBhIGdpdmVuIGljb24gc2V0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGljb24gc2V0IHRoYXQgdGhlIGljb24gYmVsb25ncyB0by4gVGhlIGRlZmF1bHQgc2V0IGNhbiBiZSBpbmplY3RlZCBmcm9tIHRoZSBpY29uIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaWNvblNldDogc3RyaW5nIHwgbnVsbCA9IGluamVjdEljb25Db25maWcoKS5kZWZhdWx0SWNvblNldDtcblxuICAvKipcbiAgICogQWxsb3dzIGZvciBzZXR0aW5nIGJvdGggdGhlIGljb24gc2V0IGFuZCBpY29uIG5hbWUgdmlhIGEgc2luZ2xlIGlkZW50aWZpZXIsIHR5cGljYWxseSBmb3JtYXR0ZWQgYXMgJ3NldDo6bmFtZScuXG4gICAqIFVucGFja2luZyB0aGlzIGlkZW50aWZpZXIgc2V0cyBib3RoIGBuYW1lYCBhbmQgYGljb25TZXRgIHByb3BlcnRpZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlkZW50aWZpZXIodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBbaWNvblNldCwgbmFtZV0gPSB2YWx1ZSA/IHVucGFja0ljb25JZGVudGlmaWVyKHZhbHVlKSA6IFtudWxsLCBudWxsXTtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMuaWNvblNldCA9IGljb25TZXQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
import { createConfigTokens } from '@odx/angular/utils';
|
|
2
|
+
/**
|
|
3
|
+
* Utility functions generated to handle the injection and provision of the `IconConfig`.
|
|
4
|
+
* These include tokens and functions for accessing and providing icon configurations.
|
|
5
|
+
*
|
|
6
|
+
* - `IconConfig`: A type representing the shape of the icon configuration object.
|
|
7
|
+
* - `IconDefaultConfig`: The default configuration which sets 'core' as the default icon set.
|
|
8
|
+
* - `injectIconConfig`: A function to inject the icon configuration, usable in Angular components or services.
|
|
9
|
+
* - `provideIconConfig`: A function to provide the icon configuration, typically used in Angular module providers.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* // To inject icon configuration in a component or service
|
|
14
|
+
* const config = injectIconConfig();
|
|
15
|
+
* console.log(config.defaultIconSet); // Outputs: 'core'
|
|
16
|
+
*
|
|
17
|
+
* // To provide icon configuration in a module
|
|
18
|
+
* provideIconConfig({ defaultIconSet: 'custom' });
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
2
21
|
export const { IconConfig, IconDefaultConfig, injectIconConfig, provideIconConfig } = createConfigTokens('Icon', '@odx/angular/components/icon', {
|
|
3
22
|
defaultIconSet: 'core',
|
|
4
23
|
});
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9pY29uL3NyYy9saWIvaWNvbi5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFheEQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQU0sQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUFFLDhCQUE4QixFQUFFO0lBQy9JLGNBQWMsRUFBRSxNQUFNO0NBQ1QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ29uZmlnVG9rZW5zIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGljb25zIGluIHRoZSBhcHBsaWNhdGlvbiwgc3BlY2lmeWluZyBkZWZhdWx0c1xuICogYW5kIGNvbmZpZ3VyYXRpb25zIGZvciB0aGUgaWNvbiBjb21wb25lbnRzIHVzZWQgYWNyb3NzIHRoZSBzeXN0ZW0uXG4gKlxuICogQHR5cGVkZWYge09iamVjdH0gSWNvbkNvbmZpZ1xuICogQHByb3BlcnR5IHtzdHJpbmd9IGRlZmF1bHRJY29uU2V0IC0gVGhlIGRlZmF1bHQgc2V0IG9mIGljb25zIHRvIHVzZSBpZiBubyBzcGVjaWZpYyBzZXQgaXMgcHJvdmlkZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWNvbkNvbmZpZyB7XG4gIGRlZmF1bHRJY29uU2V0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVXRpbGl0eSBmdW5jdGlvbnMgZ2VuZXJhdGVkIHRvIGhhbmRsZSB0aGUgaW5qZWN0aW9uIGFuZCBwcm92aXNpb24gb2YgdGhlIGBJY29uQ29uZmlnYC5cbiAqIFRoZXNlIGluY2x1ZGUgdG9rZW5zIGFuZCBmdW5jdGlvbnMgZm9yIGFjY2Vzc2luZyBhbmQgcHJvdmlkaW5nIGljb24gY29uZmlndXJhdGlvbnMuXG4gKlxuICogLSBgSWNvbkNvbmZpZ2A6IEEgdHlwZSByZXByZXNlbnRpbmcgdGhlIHNoYXBlIG9mIHRoZSBpY29uIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICogLSBgSWNvbkRlZmF1bHRDb25maWdgOiBUaGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIHdoaWNoIHNldHMgJ2NvcmUnIGFzIHRoZSBkZWZhdWx0IGljb24gc2V0LlxuICogLSBgaW5qZWN0SWNvbkNvbmZpZ2A6IEEgZnVuY3Rpb24gdG8gaW5qZWN0IHRoZSBpY29uIGNvbmZpZ3VyYXRpb24sIHVzYWJsZSBpbiBBbmd1bGFyIGNvbXBvbmVudHMgb3Igc2VydmljZXMuXG4gKiAtIGBwcm92aWRlSWNvbkNvbmZpZ2A6IEEgZnVuY3Rpb24gdG8gcHJvdmlkZSB0aGUgaWNvbiBjb25maWd1cmF0aW9uLCB0eXBpY2FsbHkgdXNlZCBpbiBBbmd1bGFyIG1vZHVsZSBwcm92aWRlcnMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBUbyBpbmplY3QgaWNvbiBjb25maWd1cmF0aW9uIGluIGEgY29tcG9uZW50IG9yIHNlcnZpY2VcbiAqIGNvbnN0IGNvbmZpZyA9IGluamVjdEljb25Db25maWcoKTtcbiAqIGNvbnNvbGUubG9nKGNvbmZpZy5kZWZhdWx0SWNvblNldCk7IC8vIE91dHB1dHM6ICdjb3JlJ1xuICpcbiAqIC8vIFRvIHByb3ZpZGUgaWNvbiBjb25maWd1cmF0aW9uIGluIGEgbW9kdWxlXG4gKiBwcm92aWRlSWNvbkNvbmZpZyh7IGRlZmF1bHRJY29uU2V0OiAnY3VzdG9tJyB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgeyBJY29uQ29uZmlnLCBJY29uRGVmYXVsdENvbmZpZywgaW5qZWN0SWNvbkNvbmZpZywgcHJvdmlkZUljb25Db25maWcgfSA9IGNyZWF0ZUNvbmZpZ1Rva2VucygnSWNvbicsICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9pY29uJywge1xuICBkZWZhdWx0SWNvblNldDogJ2NvcmUnLFxufSBhcyBJY29uQ29uZmlnKTtcbiJdfQ==
|