@odx/angular 6.1.0 → 6.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +19 -1
- package/cdk/connected-overlay/lib/models/connected-overlay-ref.d.ts +1 -1
- package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +9 -1
- package/cdk/expandable/lib/directives/expandable-container.directive.d.ts +9 -5
- package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +4 -1
- package/cdk/option-control/lib/option-control.d.ts +2 -0
- package/cdk/radio-group-control/lib/radio-control.directive.d.ts +18 -0
- package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +3 -1
- package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +9 -5
- package/components/action-group/action-group.component.d.ts +3 -0
- package/components/area-header/area-header.component.d.ts +2 -1
- package/components/autocomplete/lib/autocomplete.component.d.ts +17 -4
- package/components/autocomplete/lib/components/option/autocomplete-option.component.d.ts +8 -0
- package/components/autocomplete/lib/directives/autocomplete-input-control.directive.d.ts +4 -0
- package/components/avatar/lib/avatar.component.d.ts +6 -2
- package/components/badge/lib/badge.component.d.ts +12 -1
- package/components/badge/lib/badge.directive.d.ts +18 -3
- package/components/bar/lib/directives/bar-button.directive.d.ts +6 -0
- package/components/button/lib/button.component.d.ts +9 -1
- package/components/button-group/lib/button-group.component.d.ts +12 -0
- package/components/calendar/lib/calendar.component.d.ts +11 -0
- package/components/calendar/lib/calendar.config.d.ts +6 -0
- package/components/calendar/lib/calendar.service.d.ts +13 -1
- package/components/calendar/lib/components/calendar-header/calendar-header.component.d.ts +16 -0
- package/components/calendar/lib/daterange.service.d.ts +3 -0
- package/components/calendar/lib/directives/calendar-cell.directive.d.ts +4 -0
- package/components/calendar/lib/directives/calendar-view.directive.d.ts +18 -0
- package/components/calendar/lib/pipes/date-label.pipe.d.ts +4 -0
- package/components/card/lib/card.component.d.ts +26 -2
- package/components/card/lib/components/card-footer/card-footer.component.d.ts +3 -0
- package/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.d.ts +3 -0
- package/components/card/lib/directives/card-content.directive.d.ts +3 -0
- package/components/card/lib/directives/card-title.directive.d.ts +3 -0
- package/components/checkbox/lib/checkbox.component.d.ts +9 -2
- package/components/chip/lib/components/chip/chip.component.d.ts +15 -3
- package/components/circular-progress/lib/circular-progress.component.d.ts +15 -2
- package/components/datepicker/lib/datepicker.component.d.ts +28 -1
- package/components/datepicker/lib/directives/datepicker-input-control.directive.d.ts +7 -1
- package/components/daterangepicker/lib/daterangepicker.component.d.ts +4 -0
- package/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.d.ts +3 -1
- package/components/daterangepicker/lib/required.validator.d.ts +8 -0
- package/components/dropdown/lib/dropdown.component.d.ts +6 -4
- package/components/dropdown/lib/dropdown.directive.d.ts +38 -3
- package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +2 -1
- package/components/error-page/lib/error-page.component.d.ts +2 -0
- package/components/footer/lib/footer.component.d.ts +6 -2
- package/components/footer/lib/helpers/create-footer-links.d.ts +1 -2
- package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +2 -1
- package/components/form-field/lib/components/form-group/form-group.component.d.ts +7 -2
- package/components/form-field/lib/directives/form-field-error.directive.d.ts +2 -0
- package/components/form-field/lib/directives/form.directive.d.ts +4 -0
- package/components/form-field/lib/form-field.component.d.ts +17 -2
- package/components/form-field/lib/form-field.service.d.ts +27 -6
- package/components/form-field/lib/services/form-field-error.service.d.ts +11 -3
- package/components/header-navigation/lib/header-navigation.component.d.ts +3 -0
- package/components/icon/lib/helpers/unpack-icon-identifier.d.ts +2 -2
- package/components/icon/lib/icon.component.d.ts +13 -1
- package/components/inline-message/lib/inline-message.component.d.ts +5 -1
- package/components/list/lib/components/expandable-list-item/expandable-list-item.component.d.ts +1 -0
- package/components/list/lib/components/list-item/list-item.component.d.ts +10 -1
- package/components/list/lib/list.component.d.ts +1 -0
- package/components/loading-spinner/lib/loading-spinner.component.d.ts +3 -0
- package/components/loading-spinner/lib/loading-spinner.directive.d.ts +7 -0
- package/components/modal/lib/components/modal-header/modal-header.component.d.ts +0 -1
- package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +3 -0
- package/components/modal/lib/directives/index.d.ts +2 -0
- package/components/modal/lib/directives/prevent-form-method-dialog.directive.d.ts +9 -0
- package/components/modal/lib/directives/prevent-method-dialog.directive.d.ts +9 -0
- package/components/modal/lib/modal.component.d.ts +11 -3
- package/components/modal/lib/modal.module.d.ts +5 -3
- package/components/modal/lib/modal.service.d.ts +7 -5
- package/components/modal/lib/models/modal-ref.d.ts +18 -4
- package/components/notification/lib/components/notification-item/notification-item.component.d.ts +4 -4
- package/components/notification/lib/directives/notification-center.directive.d.ts +6 -3
- package/components/notification/lib/features/with-browser-notifications.d.ts +1 -1
- package/components/notification/lib/features/with-load-notifications.d.ts +2 -1
- package/components/notification/lib/features/with-notification-transformer.d.ts +2 -2
- package/components/notification/lib/features/with-peristent-notifications.d.ts +6 -8
- package/components/notification/lib/features/with-save-notifications.d.ts +1 -1
- package/components/paginator/lib/paginator.component.d.ts +50 -0
- package/components/progress/lib/progress.component.d.ts +6 -1
- package/components/radio-group/lib/components/radio-button/radio-button.component.d.ts +7 -0
- package/components/radio-group/lib/radio-group.component.d.ts +6 -0
- package/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.d.ts +9 -0
- package/components/rail-navigation/lib/rail-navigation.component.d.ts +10 -2
- package/components/rich-list/lib/components/rich-list-item/rich-list-item.component.d.ts +8 -10
- package/components/rich-list/lib/rich-list.component.d.ts +3 -0
- package/components/select/lib/components/select-option/select-option.component.d.ts +1 -0
- package/components/select/lib/directives/select-input-control.directive.d.ts +4 -1
- package/components/select/lib/select.component.d.ts +7 -1
- package/components/slider/lib/slider.directive.d.ts +7 -4
- package/components/spinbox/lib/spinbox.component.d.ts +9 -0
- package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +4 -1
- package/components/table/lib/components/check-cell/check-cell.component.d.ts +4 -1
- package/components/table/lib/components/header-title/header-title.component.d.ts +12 -1
- package/components/table/lib/table.component.d.ts +18 -1
- package/components/timepicker/lib/components/timepicker-option.component.d.ts +9 -1
- package/components/timepicker/lib/directives/timepicker-input-control.directive.d.ts +2 -0
- package/components/timepicker/lib/timepicker.component.d.ts +18 -3
- package/components/timepicker/lib/timepicker.service.d.ts +0 -7
- package/components/toast/lib/components/toast-container/toast-container.component.d.ts +19 -0
- package/components/toast/lib/components/toast-item/toast-item.component.d.ts +57 -1
- package/components/toast/lib/toast.service.d.ts +12 -0
- package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +3 -0
- package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +2 -0
- package/components/tooltip/lib/tooltip.component.d.ts +7 -1
- package/components/tooltip/lib/tooltip.directive.d.ts +15 -2
- package/components/wizard/lib/components/wizard-step/wizard-step.component.d.ts +17 -0
- package/components/wizard/lib/wizard.component.d.ts +13 -1
- package/esm2022/cdk/checkbox-control/lib/checkbox-control.directive.mjs +20 -2
- package/esm2022/cdk/connected-overlay/lib/models/connected-overlay-ref.mjs +2 -2
- package/esm2022/cdk/dynamic-view/lib/dynamic-view.directive.mjs +4 -1
- package/esm2022/cdk/expandable/lib/directives/expandable-container.directive.mjs +10 -6
- package/esm2022/cdk/expandable/lib/directives/expandable-item.directive.mjs +5 -2
- package/esm2022/cdk/option-control/lib/option-control.mjs +3 -1
- package/esm2022/cdk/radio-group-control/lib/radio-control.directive.mjs +19 -1
- package/esm2022/cdk/radio-group-control/lib/radio-group-control.directive.mjs +3 -1
- package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +9 -4
- package/esm2022/components/action-group/action-group.component.mjs +4 -1
- package/esm2022/components/area-header/area-header.component.mjs +3 -2
- package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +8 -5
- package/esm2022/components/autocomplete/lib/components/option/autocomplete-option.component.mjs +9 -1
- package/esm2022/components/autocomplete/lib/directives/autocomplete-input-control.directive.mjs +5 -1
- package/esm2022/components/avatar/lib/avatar.component.mjs +7 -3
- package/esm2022/components/badge/lib/badge.component.mjs +7 -2
- package/esm2022/components/badge/lib/badge.directive.mjs +19 -4
- package/esm2022/components/bar/lib/directives/bar-button.directive.mjs +7 -1
- package/esm2022/components/button/lib/button.component.mjs +10 -2
- package/esm2022/components/button-group/lib/button-group.component.mjs +13 -1
- package/esm2022/components/calendar/lib/calendar.component.mjs +12 -1
- package/esm2022/components/calendar/lib/calendar.config.mjs +1 -1
- package/esm2022/components/calendar/lib/calendar.service.mjs +14 -2
- package/esm2022/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +13 -1
- package/esm2022/components/calendar/lib/daterange.service.mjs +4 -1
- package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +5 -1
- package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +17 -1
- package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +5 -1
- package/esm2022/components/card/lib/card.component.mjs +25 -1
- package/esm2022/components/card/lib/components/card-footer/card-footer.component.mjs +4 -1
- package/esm2022/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +4 -1
- package/esm2022/components/card/lib/directives/card-content.directive.mjs +4 -1
- package/esm2022/components/card/lib/directives/card-title.directive.mjs +4 -1
- package/esm2022/components/checkbox/lib/checkbox.component.mjs +10 -3
- package/esm2022/components/chip/lib/components/chip/chip.component.mjs +15 -3
- package/esm2022/components/circular-progress/lib/circular-progress.component.mjs +16 -3
- package/esm2022/components/datepicker/lib/datepicker.component.mjs +29 -2
- package/esm2022/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +8 -2
- package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +5 -1
- package/esm2022/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.mjs +4 -2
- package/esm2022/components/daterangepicker/lib/required.validator.mjs +9 -9
- package/esm2022/components/dropdown/lib/dropdown.component.mjs +1 -5
- package/esm2022/components/dropdown/lib/dropdown.directive.mjs +31 -4
- package/esm2022/components/dropdown/lib/helpers/close-current-dropdown.mjs +3 -2
- package/esm2022/components/error-page/lib/error-page.component.mjs +3 -1
- package/esm2022/components/footer/lib/footer.component.mjs +7 -3
- package/esm2022/components/footer/lib/helpers/create-footer-links.mjs +2 -3
- package/esm2022/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -2
- package/esm2022/components/form-field/lib/components/form-group/form-group.component.mjs +6 -3
- package/esm2022/components/form-field/lib/directives/form-field-error.directive.mjs +1 -1
- package/esm2022/components/form-field/lib/directives/form.directive.mjs +5 -1
- package/esm2022/components/form-field/lib/form-field.component.mjs +14 -2
- package/esm2022/components/form-field/lib/form-field.service.mjs +28 -7
- package/esm2022/components/form-field/lib/services/form-field-error.service.mjs +12 -4
- package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +1 -1
- package/esm2022/components/icon/lib/helpers/unpack-icon-identifier.mjs +3 -3
- package/esm2022/components/icon/lib/icon.component.mjs +14 -2
- package/esm2022/components/inline-message/lib/inline-message.component.mjs +6 -2
- package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +2 -1
- package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +11 -2
- package/esm2022/components/list/lib/list.component.mjs +2 -1
- package/esm2022/components/loading-spinner/lib/loading-spinner.component.mjs +4 -1
- package/esm2022/components/loading-spinner/lib/loading-spinner.directive.mjs +8 -1
- package/esm2022/components/modal/lib/components/modal-header/modal-header.component.mjs +1 -1
- package/esm2022/components/modal/lib/components/modal-hero/modal-hero.component.mjs +4 -1
- package/esm2022/components/modal/lib/directives/index.mjs +3 -1
- package/esm2022/components/modal/lib/directives/prevent-form-method-dialog.directive.mjs +23 -0
- package/esm2022/components/modal/lib/directives/prevent-method-dialog.directive.mjs +23 -0
- package/esm2022/components/modal/lib/modal.component.mjs +36 -17
- package/esm2022/components/modal/lib/modal.module.mjs +10 -4
- package/esm2022/components/modal/lib/modal.service.mjs +4 -3
- package/esm2022/components/modal/lib/models/modal-ref.mjs +19 -5
- package/esm2022/components/notification/lib/components/notification-item/notification-item.component.mjs +5 -5
- package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +7 -4
- package/esm2022/components/notification/lib/features/with-browser-notifications.mjs +4 -5
- package/esm2022/components/notification/lib/features/with-load-notifications.mjs +3 -3
- package/esm2022/components/notification/lib/features/with-notification-transformer.mjs +3 -3
- package/esm2022/components/notification/lib/features/with-peristent-notifications.mjs +7 -9
- package/esm2022/components/notification/lib/features/with-save-notifications.mjs +3 -4
- package/esm2022/components/paginator/lib/paginator.component.mjs +51 -1
- package/esm2022/components/progress/lib/progress.component.mjs +7 -2
- package/esm2022/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -1
- package/esm2022/components/radio-group/lib/radio-group.component.mjs +7 -1
- package/esm2022/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.mjs +7 -1
- package/esm2022/components/rail-navigation/lib/rail-navigation.component.mjs +11 -3
- package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +4 -6
- package/esm2022/components/rich-list/lib/rich-list.component.mjs +4 -1
- package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +2 -1
- package/esm2022/components/select/lib/directives/select-input-control.directive.mjs +4 -1
- package/esm2022/components/select/lib/select.component.mjs +8 -2
- package/esm2022/components/slider/lib/slider.directive.mjs +7 -4
- package/esm2022/components/spinbox/lib/spinbox.component.mjs +10 -1
- package/esm2022/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +5 -2
- package/esm2022/components/table/lib/components/check-cell/check-cell.component.mjs +5 -2
- package/esm2022/components/table/lib/components/header-title/header-title.component.mjs +11 -1
- package/esm2022/components/table/lib/table.component.mjs +15 -1
- package/esm2022/components/timepicker/lib/components/timepicker-option.component.mjs +10 -2
- package/esm2022/components/timepicker/lib/directives/timepicker-input-control.directive.mjs +3 -1
- package/esm2022/components/timepicker/lib/timepicker.component.mjs +14 -4
- package/esm2022/components/timepicker/lib/timepicker.service.mjs +1 -8
- package/esm2022/components/toast/lib/components/toast-container/toast-container.component.mjs +20 -1
- package/esm2022/components/toast/lib/components/toast-item/toast-item.component.mjs +24 -1
- package/esm2022/components/toast/lib/toast.service.mjs +13 -1
- package/esm2022/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +4 -1
- package/esm2022/components/toggle-button-group/lib/toggle-button-group.component.mjs +3 -1
- package/esm2022/components/tooltip/lib/tooltip.component.mjs +6 -2
- package/esm2022/components/tooltip/lib/tooltip.directive.mjs +16 -3
- package/esm2022/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +18 -1
- package/esm2022/components/wizard/lib/wizard.component.mjs +22 -4
- package/esm2022/lib/controllers/disabled.controller.mjs +9 -1
- package/esm2022/lib/controllers/readonly.controller.mjs +3 -1
- package/esm2022/lib/directives/click-outside.directive.mjs +2 -1
- package/esm2022/lib/services/window-ref.mjs +22 -4
- package/esm2022/theming/lib/helpers/prefers-dark-theme.mjs +1 -1
- package/esm2022/theming/lib/theming.service.mjs +3 -1
- package/esm2022/utils/lib/helpers/queue.mjs +24 -14
- package/fesm2022/odx-angular-cdk-checkbox-control.mjs +19 -1
- package/fesm2022/odx-angular-cdk-checkbox-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-connected-overlay.mjs +1 -1
- package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-dynamic-view.mjs +3 -0
- package/fesm2022/odx-angular-cdk-dynamic-view.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-expandable.mjs +13 -6
- package/fesm2022/odx-angular-cdk-expandable.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-option-control.mjs +2 -0
- package/fesm2022/odx-angular-cdk-option-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-radio-group-control.mjs +20 -0
- package/fesm2022/odx-angular-cdk-radio-group-control.mjs.map +1 -1
- package/fesm2022/odx-angular-components-accordion.mjs +8 -3
- package/fesm2022/odx-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/odx-angular-components-action-group.mjs +3 -0
- package/fesm2022/odx-angular-components-action-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-area-header.mjs +2 -1
- package/fesm2022/odx-angular-components-area-header.mjs.map +1 -1
- package/fesm2022/odx-angular-components-autocomplete.mjs +19 -4
- package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2022/odx-angular-components-avatar.mjs +6 -2
- package/fesm2022/odx-angular-components-avatar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-badge.mjs +24 -4
- package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
- package/fesm2022/odx-angular-components-bar.mjs +6 -0
- package/fesm2022/odx-angular-components-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-button-group.mjs +12 -0
- package/fesm2022/odx-angular-components-button-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-button.mjs +9 -1
- package/fesm2022/odx-angular-components-button.mjs.map +1 -1
- package/fesm2022/odx-angular-components-calendar.mjs +63 -1
- package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-card.mjs +36 -0
- package/fesm2022/odx-angular-components-card.mjs.map +1 -1
- package/fesm2022/odx-angular-components-checkbox.mjs +9 -2
- package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
- package/fesm2022/odx-angular-components-chip.mjs +14 -2
- package/fesm2022/odx-angular-components-chip.mjs.map +1 -1
- package/fesm2022/odx-angular-components-circular-progress.mjs +15 -2
- package/fesm2022/odx-angular-components-circular-progress.mjs.map +1 -1
- package/fesm2022/odx-angular-components-datepicker.mjs +35 -2
- package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-daterangepicker.mjs +15 -9
- package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-dropdown.mjs +32 -8
- package/fesm2022/odx-angular-components-dropdown.mjs.map +1 -1
- package/fesm2022/odx-angular-components-error-page.mjs +2 -0
- package/fesm2022/odx-angular-components-error-page.mjs.map +1 -1
- package/fesm2022/odx-angular-components-footer.mjs +7 -4
- package/fesm2022/odx-angular-components-footer.mjs.map +1 -1
- package/fesm2022/odx-angular-components-form-field.mjs +62 -13
- package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
- package/fesm2022/odx-angular-components-header-navigation.mjs.map +1 -1
- package/fesm2022/odx-angular-components-icon.mjs +15 -3
- package/fesm2022/odx-angular-components-icon.mjs.map +1 -1
- package/fesm2022/odx-angular-components-inline-message.mjs +5 -1
- package/fesm2022/odx-angular-components-inline-message.mjs.map +1 -1
- package/fesm2022/odx-angular-components-list.mjs +12 -1
- package/fesm2022/odx-angular-components-list.mjs.map +1 -1
- package/fesm2022/odx-angular-components-loading-spinner.mjs +10 -0
- package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
- package/fesm2022/odx-angular-components-modal.mjs +110 -25
- package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
- package/fesm2022/odx-angular-components-notification.mjs +25 -26
- package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
- package/fesm2022/odx-angular-components-paginator.mjs +50 -0
- package/fesm2022/odx-angular-components-paginator.mjs.map +1 -1
- package/fesm2022/odx-angular-components-progress.mjs +6 -1
- package/fesm2022/odx-angular-components-progress.mjs.map +1 -1
- package/fesm2022/odx-angular-components-radio-group.mjs +8 -0
- package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-rail-navigation.mjs +16 -2
- package/fesm2022/odx-angular-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/odx-angular-components-rich-list.mjs +6 -5
- package/fesm2022/odx-angular-components-rich-list.mjs.map +1 -1
- package/fesm2022/odx-angular-components-select.mjs +11 -1
- package/fesm2022/odx-angular-components-select.mjs.map +1 -1
- package/fesm2022/odx-angular-components-slider.mjs +6 -3
- package/fesm2022/odx-angular-components-slider.mjs.map +1 -1
- package/fesm2022/odx-angular-components-spinbox.mjs +9 -0
- package/fesm2022/odx-angular-components-spinbox.mjs.map +1 -1
- package/fesm2022/odx-angular-components-tab-bar.mjs +4 -1
- package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-table.mjs +28 -1
- package/fesm2022/odx-angular-components-table.mjs.map +1 -1
- package/fesm2022/odx-angular-components-timepicker.mjs +24 -11
- package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-toast.mjs +54 -0
- package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
- package/fesm2022/odx-angular-components-toggle-button-group.mjs +5 -0
- package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-tooltip.mjs +20 -3
- package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
- package/fesm2022/odx-angular-components-wizard.mjs +38 -3
- package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
- package/fesm2022/odx-angular-theming.mjs +2 -0
- package/fesm2022/odx-angular-theming.mjs.map +1 -1
- package/fesm2022/odx-angular-utils.mjs +23 -13
- package/fesm2022/odx-angular-utils.mjs.map +1 -1
- package/fesm2022/odx-angular.mjs +32 -3
- package/fesm2022/odx-angular.mjs.map +1 -1
- package/lib/controllers/disabled.controller.d.ts +8 -0
- package/lib/controllers/readonly.controller.d.ts +2 -0
- package/lib/directives/click-outside.directive.d.ts +1 -0
- package/lib/services/window-ref.d.ts +21 -3
- package/package.json +1 -1
- package/theming/lib/theming.service.d.ts +2 -0
- package/utils/lib/helpers/queue.d.ts +23 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-icon.mjs","sources":["../../../../libs/angular/components/icon/src/lib/helpers/unpack-icon-identifier.ts","../../../../libs/angular/components/icon/src/lib/icon.config.ts","../../../../libs/angular/components/icon/src/lib/models/icon-size.ts","../../../../libs/angular/components/icon/src/lib/icon.component.ts","../../../../libs/angular/components/icon/src/odx-angular-components-icon.ts"],"sourcesContent":["/**\n * Unpacks a combined icon identifier string into separate icon set and icon name components.\n * The identifier is expected to follow the format \"iconSet::iconName\". If the \"iconName\" part is\n * missing, the function assumes the icon belongs to the 'core' set.\n *\n * @param value The combined identifier string in the format \"iconSet::iconName\".\n * @returns A tuple containing the icon set and icon name as two separate strings. Defaults to 'core'\n * if the iconName is omitted in the input.\n *\n * @example\n * ```ts\n * unpackIconIdentifier(\"menu\") // returns ['core', 'menu']\n * ```\n */\nexport function unpackIconIdentifier(value: string): [iconSet: string, iconName: string] {\n const [iconSet, iconName] = value.split('::');\n if (!iconName) return ['core', iconSet];\n\n return [iconSet, iconName];\n}\n","import { createConfigTokens } from '@odx/angular/utils';\n\n/**\n * Represents the configuration options for icons in the application, specifying defaults\n * and configurations for the icon components used across the system.\n *\n * @typedef {Object} IconConfig\n * @property {string} defaultIconSet - The default set of icons to use if no specific set is provided.\n */\nexport interface IconConfig {\n defaultIconSet: string;\n}\n\n/**\n * Utility functions generated to handle the injection and provision of the `IconConfig`.\n * These include tokens and functions for accessing and providing icon configurations.\n *\n * - `IconConfig`: A type representing the shape of the icon configuration object.\n * - `IconDefaultConfig`: The default configuration which sets 'core' as the default icon set.\n * - `injectIconConfig`: A function to inject the icon configuration, usable in Angular components or services.\n * - `provideIconConfig`: A function to provide the icon configuration, typically used in Angular module providers.\n *\n * @example\n * ```ts\n * // To inject icon configuration in a component or service\n * const config = injectIconConfig();\n * console.log(config.defaultIconSet); // Outputs: 'core'\n *\n * // To provide icon configuration in a module\n * provideIconConfig({ defaultIconSet: 'custom' });\n * ```\n */\nexport const { IconConfig, IconDefaultConfig, injectIconConfig, provideIconConfig } = createConfigTokens('Icon', '@odx/angular/components/icon', {\n defaultIconSet: 'core',\n} as IconConfig);\n","export type IconSize = (typeof IconSize)[keyof typeof IconSize];\n\nexport const IconSize = {\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n XLARGE: 'xlarge',\n INLINE: 'inline',\n} as const;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { unpackIconIdentifier } from './helpers';\nimport { injectIconConfig } from './icon.config';\nimport { IconSize } from './models';\n\n/**\n * Represents an icon component that can dynamically display various icons based on input properties. This component\n * leverages CSS for styling and is designed to be easily embedded within other components and views.\n *\n * It allows for specifying icon sets and individual icon names, supporting flexible usage across different contexts\n * and themes. The component is also optimized for performance with Angular's OnPush change detection strategy.\n */\n@CSSComponent('icon')\n@Component({\n selector: 'odx-icon',\n template: '<span></span>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n host: {\n '[class.notranslate]': 'true',\n '[attr.data-icon-name]': 'name',\n '[attr.data-icon-set]': 'iconSet',\n translate: 'no',\n },\n})\nexport class IconComponent {\n public readonly element = injectElement();\n\n /**\n * Determines whether the icon should be displayed inline with text or other elements.\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public inline = false;\n\n /**\n * Specifies the size of the icon, which can be adjusted using predefined sizes from the IconSize enum.\n * @
|
|
1
|
+
{"version":3,"file":"odx-angular-components-icon.mjs","sources":["../../../../libs/angular/components/icon/src/lib/helpers/unpack-icon-identifier.ts","../../../../libs/angular/components/icon/src/lib/icon.config.ts","../../../../libs/angular/components/icon/src/lib/models/icon-size.ts","../../../../libs/angular/components/icon/src/lib/icon.component.ts","../../../../libs/angular/components/icon/src/odx-angular-components-icon.ts"],"sourcesContent":["/**\n * Unpacks a combined icon identifier string into separate icon set and icon name components.\n * The identifier is expected to follow the format \"iconSet::iconName\". If the \"iconName\" part is\n * missing, the function assumes the icon belongs to the 'core' set.\n *\n * @param {string} value The combined identifier string in the format \"iconSet::iconName\".\n * @returns {[iconSet: string, iconName: string]} A tuple containing the icon set and icon name as two separate strings. Defaults to 'core'\n * if the iconName is omitted in the input.\n *\n * @example\n * ```ts\n * unpackIconIdentifier(\"menu\") // returns ['core', 'menu']\n * ```\n */\nexport function unpackIconIdentifier(value: string): [iconSet: string, iconName: string] {\n const [iconSet, iconName] = value.split('::');\n if (!iconName) return ['core', iconSet];\n\n return [iconSet, iconName];\n}\n","import { createConfigTokens } from '@odx/angular/utils';\n\n/**\n * Represents the configuration options for icons in the application, specifying defaults\n * and configurations for the icon components used across the system.\n *\n * @typedef {Object} IconConfig\n * @property {string} defaultIconSet - The default set of icons to use if no specific set is provided.\n */\nexport interface IconConfig {\n defaultIconSet: string;\n}\n\n/**\n * Utility functions generated to handle the injection and provision of the `IconConfig`.\n * These include tokens and functions for accessing and providing icon configurations.\n *\n * - `IconConfig`: A type representing the shape of the icon configuration object.\n * - `IconDefaultConfig`: The default configuration which sets 'core' as the default icon set.\n * - `injectIconConfig`: A function to inject the icon configuration, usable in Angular components or services.\n * - `provideIconConfig`: A function to provide the icon configuration, typically used in Angular module providers.\n *\n * @example\n * ```ts\n * // To inject icon configuration in a component or service\n * const config = injectIconConfig();\n * console.log(config.defaultIconSet); // Outputs: 'core'\n *\n * // To provide icon configuration in a module\n * provideIconConfig({ defaultIconSet: 'custom' });\n * ```\n */\nexport const { IconConfig, IconDefaultConfig, injectIconConfig, provideIconConfig } = createConfigTokens('Icon', '@odx/angular/components/icon', {\n defaultIconSet: 'core',\n} as IconConfig);\n","export type IconSize = (typeof IconSize)[keyof typeof IconSize];\n\nexport const IconSize = {\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n XLARGE: 'xlarge',\n INLINE: 'inline',\n} as const;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { unpackIconIdentifier } from './helpers';\nimport { injectIconConfig } from './icon.config';\nimport { IconSize } from './models';\n\n/**\n * Represents an icon component that can dynamically display various icons based on input properties. This component\n * leverages CSS for styling and is designed to be easily embedded within other components and views.\n *\n * It allows for specifying icon sets and individual icon names, supporting flexible usage across different contexts\n * and themes. The component is also optimized for performance with Angular's OnPush change detection strategy.\n */\n@CSSComponent('icon')\n@Component({\n selector: 'odx-icon',\n template: '<span></span>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n host: {\n '[class.notranslate]': 'true',\n '[attr.data-icon-name]': 'name',\n '[attr.data-icon-set]': 'iconSet',\n translate: 'no',\n },\n})\nexport class IconComponent {\n public readonly element = injectElement();\n\n /**\n * Determines whether the icon should be displayed inline with text or other elements.\n *\n * @type {boolean}\n * @default false\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public inline = false;\n\n /**\n * Specifies the size of the icon, which can be adjusted using predefined sizes from the IconSize enum.\n *\n * @type {IconSize}\n * @default IconSize.MEDIUM\n */\n @CSSModifier()\n @Input()\n public size: IconSize = IconSize.MEDIUM;\n\n /**\n * The name of the icon to be displayed, which corresponds to specific icons within a given icon set.\n *\n * @type {string | null}\n * @default null\n */\n @Input()\n public name: string | null = null;\n\n /**\n * Specifies the icon set that the icon belongs to. The default set can be injected from the icon configuration.\n *\n * @type {string | null}\n */\n @Input()\n public iconSet: string | null = injectIconConfig().defaultIconSet;\n\n /**\n * Allows for setting both the icon set and icon name via a single identifier, typically formatted as 'set::name'.\n * Unpacking this identifier sets both `name` and `iconSet` properties.\n *\n * @param {string | null | undefined} value - The identifier to unpack.\n */\n @Input()\n public set identifier(value: string | null | undefined) {\n const [iconSet, name] = value ? unpackIconIdentifier(value) : [null, null];\n this.name = name;\n this.iconSet = iconSet;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -23,12 +23,16 @@ let InlineMessageComponent = class InlineMessageComponent {
|
|
|
23
23
|
/**
|
|
24
24
|
* Determines the type of message to display, which influences the icon and styling.
|
|
25
25
|
* Default is `InlineMessageVariant.DEFAULT`, which is typically styled as an informational message.
|
|
26
|
-
*
|
|
26
|
+
*
|
|
27
|
+
* @type {InlineMessageVariant}
|
|
28
|
+
* @default InlineMessageVariant.DEFAULT
|
|
27
29
|
*/
|
|
28
30
|
this.variant = InlineMessageVariant.DEFAULT;
|
|
29
31
|
}
|
|
30
32
|
/**
|
|
31
33
|
* Getter for the icon name based on the current variant.
|
|
34
|
+
*
|
|
35
|
+
* @returns {string} The icon name to display.
|
|
32
36
|
*/
|
|
33
37
|
get icon() {
|
|
34
38
|
switch (this.variant) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-inline-message.mjs","sources":["../../../../libs/angular/components/inline-message/src/lib/models/inline-message-variant.ts","../../../../libs/angular/components/inline-message/src/lib/inline-message.component.ts","../../../../libs/angular/components/inline-message/src/lib/inline-message.component.html","../../../../libs/angular/components/inline-message/src/odx-angular-components-inline-message.ts"],"sourcesContent":["export type InlineMessageVariant = typeof InlineMessageVariant[keyof typeof InlineMessageVariant];\n\nexport const InlineMessageVariant = {\n DEFAULT: 'default',\n WARNING: 'warning',\n DANGER: 'danger',\n SUCCESS: 'success',\n} as const;\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { InlineMessageVariant } from './models';\n\n/**\n * Represents an inline message component used for displaying contextual feedback to users.\n * This component can show different types of messages such as warnings, errors, successes, or informational messages,\n * each with corresponding icons. It leverages the `IconComponent` to render these icons.\n */\n@CSSComponent('inline-message')\n@Component({\n selector: 'odx-inline-message',\n templateUrl: 'inline-message.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [IconComponent],\n})\nexport class InlineMessageComponent {\n public readonly element = injectElement<HTMLElement>();\n\n /**\n * Determines the type of message to display, which influences the icon and styling.\n * Default is `InlineMessageVariant.DEFAULT`, which is typically styled as an informational message.\n * @
|
|
1
|
+
{"version":3,"file":"odx-angular-components-inline-message.mjs","sources":["../../../../libs/angular/components/inline-message/src/lib/models/inline-message-variant.ts","../../../../libs/angular/components/inline-message/src/lib/inline-message.component.ts","../../../../libs/angular/components/inline-message/src/lib/inline-message.component.html","../../../../libs/angular/components/inline-message/src/odx-angular-components-inline-message.ts"],"sourcesContent":["export type InlineMessageVariant = typeof InlineMessageVariant[keyof typeof InlineMessageVariant];\n\nexport const InlineMessageVariant = {\n DEFAULT: 'default',\n WARNING: 'warning',\n DANGER: 'danger',\n SUCCESS: 'success',\n} as const;\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { InlineMessageVariant } from './models';\n\n/**\n * Represents an inline message component used for displaying contextual feedback to users.\n * This component can show different types of messages such as warnings, errors, successes, or informational messages,\n * each with corresponding icons. It leverages the `IconComponent` to render these icons.\n */\n@CSSComponent('inline-message')\n@Component({\n selector: 'odx-inline-message',\n templateUrl: 'inline-message.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [IconComponent],\n})\nexport class InlineMessageComponent {\n public readonly element = injectElement<HTMLElement>();\n\n /**\n * Determines the type of message to display, which influences the icon and styling.\n * Default is `InlineMessageVariant.DEFAULT`, which is typically styled as an informational message.\n *\n * @type {InlineMessageVariant}\n * @default InlineMessageVariant.DEFAULT\n */\n @CSSModifier()\n @Input()\n public variant?: InlineMessageVariant | null = InlineMessageVariant.DEFAULT;\n\n /**\n * Getter for the icon name based on the current variant.\n *\n * @returns {string} The icon name to display.\n */\n public get icon(): string {\n switch (this.variant) {\n case InlineMessageVariant.WARNING:\n return 'warning';\n case InlineMessageVariant.DANGER:\n return 'error';\n case InlineMessageVariant.SUCCESS:\n return 'check';\n default:\n return 'info';\n }\n }\n}\n","<odx-icon size=\"medium\" [name]=\"icon\" iconSet=\"core\"></odx-icon>\n<div class=\"odx-inline-message__content\">\n <ng-content></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAEa,MAAA,oBAAoB,GAAG;AAClC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,OAAO,EAAE,SAAS;;;ACApB;;;;AAIG;AAUU,IAAA,sBAAsB,GAA5B,MAAM,sBAAsB,CAAA;AAA5B,IAAA,WAAA,GAAA;QACW,IAAO,CAAA,OAAA,GAAG,aAAa,EAAe,CAAC;AAEvD;;;;;;AAMG;AAGI,QAAA,IAAA,CAAA,OAAO,GAAiC,oBAAoB,CAAC,OAAO,CAAC;AAmB7E,KAAA;AAjBC;;;;AAIG;AACH,IAAA,IAAW,IAAI,GAAA;QACb,QAAQ,IAAI,CAAC,OAAO;YAClB,KAAK,oBAAoB,CAAC,OAAO;AAC/B,gBAAA,OAAO,SAAS,CAAC;YACnB,KAAK,oBAAoB,CAAC,MAAM;AAC9B,gBAAA,OAAO,OAAO,CAAC;YACjB,KAAK,oBAAoB,CAAC,OAAO;AAC/B,gBAAA,OAAO,OAAO,CAAC;AACjB,YAAA;AACE,gBAAA,OAAO,MAAM,CAAC;AACjB,SAAA;KACF;+GA9BU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBnC,4JAIA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDcY,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAchB,UAAA,CAAA;AAFN,IAAA,WAAW,EAAE;;AAE8D,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAZjE,sBAAsB,GAAA,UAAA,CAAA;IATlC,YAAY,CAAC,gBAAgB,CAAC;AASlB,CAAA,EAAA,sBAAsB,CA+BlC,CAAA;4FA/BY,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAElB,UAAA,EAAA,IAAI,EACC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC5B,OAAA,EAAA,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,4JAAA,EAAA,CAAA;8BAcjB,OAAO,EAAA,CAAA;sBADb,KAAK;;;AE/BR;;AAEG;;;;"}
|
|
@@ -18,6 +18,7 @@ import * as i2 from '@angular/common';
|
|
|
18
18
|
* Represents a component that serves as an expandable list item within an application.
|
|
19
19
|
* It uses animations for expanding and collapsing content, and it integrates seamlessly
|
|
20
20
|
* with other components such as buttons and icons for interactive elements.
|
|
21
|
+
*
|
|
21
22
|
* @see {ExpandableItemDirective}
|
|
22
23
|
*/
|
|
23
24
|
let ExpandableListItemComponent = class ExpandableListItemComponent {
|
|
@@ -55,20 +56,29 @@ let ListItemComponent = class ListItemComponent {
|
|
|
55
56
|
this.element = injectElement();
|
|
56
57
|
/**
|
|
57
58
|
* Marks the list item as potentially harmful or attention-needing, affecting its style and appearance.
|
|
59
|
+
*
|
|
58
60
|
* @deprecated Use `variant` instead.
|
|
59
61
|
*/
|
|
60
62
|
this.danger = false;
|
|
61
63
|
/**
|
|
62
64
|
* Specifies the visual variant of the list item.
|
|
63
|
-
*
|
|
65
|
+
*
|
|
66
|
+
* @type {ListItemVariant}
|
|
67
|
+
* @default ListItemVariant.DEFAULT
|
|
64
68
|
*/
|
|
65
69
|
this.variant = ListItemVariant.DEFAULT;
|
|
66
70
|
/**
|
|
67
71
|
* Marks the list item as disabled, preventing user interaction and changing its appearance.
|
|
72
|
+
*
|
|
73
|
+
* @type {boolean}
|
|
74
|
+
* @default false
|
|
68
75
|
*/
|
|
69
76
|
this.muted = false;
|
|
70
77
|
/**
|
|
71
78
|
* Marks the list item as selected, changing its appearance to indicate its state.
|
|
79
|
+
*
|
|
80
|
+
* @type {boolean}
|
|
81
|
+
* @default false
|
|
72
82
|
*/
|
|
73
83
|
this.selected = false;
|
|
74
84
|
}
|
|
@@ -117,6 +127,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
117
127
|
/**
|
|
118
128
|
* Represents a list component that can optionally act as an expandable container. This component can be used
|
|
119
129
|
* to display a list of items where each item might be individually expandable.
|
|
130
|
+
*
|
|
120
131
|
* @see {ExpandableContainerDirective}
|
|
121
132
|
*/
|
|
122
133
|
let ListComponent = class ListComponent {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-list.mjs","sources":["../../../../libs/angular/components/list/src/lib/components/expandable-list-item/expandable-list-item.component.ts","../../../../libs/angular/components/list/src/lib/components/expandable-list-item/expandable-list-item.component.html","../../../../libs/angular/components/list/src/lib/models/list-item-variant.ts","../../../../libs/angular/components/list/src/lib/components/list-item/list-item.component.ts","../../../../libs/angular/components/list/src/lib/components/list-item/list-item.component.html","../../../../libs/angular/components/list/src/lib/list.component.ts","../../../../libs/angular/components/list/src/lib/list.component.html","../../../../libs/angular/components/list/src/lib/list.module.ts","../../../../libs/angular/components/list/src/odx-angular-components-list.ts"],"sourcesContent":["import { transition, trigger, useAnimation } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { CoreModule, DisabledController } from '@odx/angular';\nimport { collapse, expand } from '@odx/angular/animations';\nimport { ExpandableItemDirective } from '@odx/angular/cdk/expandable';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents a component that serves as an expandable list item within an application.\n * It uses animations for expanding and collapsing content, and it integrates seamlessly\n * with other components such as buttons and icons for interactive elements.\n * @see {ExpandableItemDirective}\n */\n@CSSComponent('expandable-list-item')\n@Component({\n standalone: true,\n selector: 'odx-expandable-list-item',\n templateUrl: 'expandable-list-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CoreModule, ButtonComponent, IconComponent, ActionGroupComponent],\n providers: [DisabledController.connect()],\n hostDirectives: [{ directive: ExpandableItemDirective, inputs: ['expanded', 'id'] }],\n host: {\n '[class.odx-expandable-list-item--expanded]': 'expandableItem.expanded',\n },\n animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])],\n})\nexport class ExpandableListItemComponent {\n protected readonly expandableItem = inject(ExpandableItemDirective);\n public readonly element = injectElement<HTMLElement>();\n}\n","<div class=\"odx-expandable-list-item__header\">\n <ng-content select=\"odx-list-item, [odxListItem]\" />\n <odx-action-group class=\"odx-expandable-list-item__action\">\n <button odxButton (click)=\"expandableItem.toggle()\">\n <odx-icon [class.odx-expandable-list-item__icon--expanded]=\"expandableItem.expanded\" name=\"chevron-down\" iconSet=\"core\"></odx-icon>\n </button>\n </odx-action-group>\n</div>\n<div @expandSlotAnimation class=\"odx-expandable-list-item__slot\" *ngIf=\"expandableItem.expanded\">\n <ng-content select=\"odx-list\" />\n</div>\n","export type ListItemVariant = (typeof ListItemVariant)[keyof typeof ListItemVariant];\n\nexport const ListItemVariant = {\n DEFAULT: 'default',\n DANGER: 'danger',\n WARNING: 'warning',\n} as const;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, HostBinding, inject, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { WithDisabledState, WithTabIndex } from '@odx/angular';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { hasChanged, injectElement, NgChanges } from '@odx/angular/utils';\nimport { ListItemVariant } from '../../models';\n\n/**\n * Represents a stylable list item component that can be easily integrated within Angular applications.\n * It supports various visual variants, disabled and selected states, and can be used both as a standalone or\n * as an element in a larger list or collection of items.\n */\n@CSSComponent('list-item')\n@Component({\n standalone: true,\n selector: 'odx-list-item, [odxListItem]',\n templateUrl: './list-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [WithDisabledState, WithTabIndex],\n})\nexport class ListItemComponent implements OnChanges {\n private readonly withTabIndex = inject(WithTabIndex, { self: true });\n\n public readonly element = injectElement<HTMLElement>();\n\n /**\n * Marks the list item as potentially harmful or attention-needing, affecting its style and appearance.\n * @deprecated Use `variant` instead.\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public danger = false;\n\n /**\n * Specifies the visual variant of the list item.\n * @see {ListItemVariant}\n */\n @CSSModifier()\n @Input()\n public variant: ListItemVariant = ListItemVariant.DEFAULT;\n\n /**\n * Marks the list item as disabled, preventing user interaction and changing its appearance.\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public muted = false;\n\n /**\n * Marks the list item as selected, changing its appearance to indicate its state.\n */\n @HostBinding('class.is-selected')\n @Input({ transform: booleanAttribute })\n public selected = false;\n\n public ngOnChanges(changes: NgChanges<ListItemComponent>): void {\n if (hasChanged(changes, 'muted', false)) {\n this.withTabIndex.setTabindex(this.muted ? -1 : null);\n }\n }\n}\n","<ng-content select=\"[odxListPrefix], [odxListItemPrefix]\" />\n<div class=\"odx-list-item__content\">\n <ng-content />\n</div>\n<ng-content select=\"[odxListSuffix], [odxListItemSuffix]\" />\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { ExpandableContainerDirective } from '@odx/angular/cdk/expandable';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents a list component that can optionally act as an expandable container. This component can be used\n * to display a list of items where each item might be individually expandable.\n * @see {ExpandableContainerDirective}\n */\n@CSSComponent('list')\n@Component({\n selector: 'odx-list',\n standalone: true,\n templateUrl: './list.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [{ directive: ExpandableContainerDirective, inputs: ['multiple'] }],\n})\nexport class ListComponent {\n public readonly element = injectElement();\n}\n","<ng-content select=\"odx-list, odx-list-item, [odxListItem], odx-expandable-list-item\" />\n","import { NgModule } from '@angular/core';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { ExpandableListItemComponent, ListItemComponent } from './components';\nimport { ListComponent } from './list.component';\n\nconst modules = [ListComponent, ListItemComponent, ExpandableListItemComponent, IconComponent];\n\n@NgModule({\n imports: modules,\n exports: modules,\n})\nexport class ListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"odx-angular-components-list.mjs","sources":["../../../../libs/angular/components/list/src/lib/components/expandable-list-item/expandable-list-item.component.ts","../../../../libs/angular/components/list/src/lib/components/expandable-list-item/expandable-list-item.component.html","../../../../libs/angular/components/list/src/lib/models/list-item-variant.ts","../../../../libs/angular/components/list/src/lib/components/list-item/list-item.component.ts","../../../../libs/angular/components/list/src/lib/components/list-item/list-item.component.html","../../../../libs/angular/components/list/src/lib/list.component.ts","../../../../libs/angular/components/list/src/lib/list.component.html","../../../../libs/angular/components/list/src/lib/list.module.ts","../../../../libs/angular/components/list/src/odx-angular-components-list.ts"],"sourcesContent":["import { transition, trigger, useAnimation } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { CoreModule, DisabledController } from '@odx/angular';\nimport { collapse, expand } from '@odx/angular/animations';\nimport { ExpandableItemDirective } from '@odx/angular/cdk/expandable';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents a component that serves as an expandable list item within an application.\n * It uses animations for expanding and collapsing content, and it integrates seamlessly\n * with other components such as buttons and icons for interactive elements.\n *\n * @see {ExpandableItemDirective}\n */\n@CSSComponent('expandable-list-item')\n@Component({\n standalone: true,\n selector: 'odx-expandable-list-item',\n templateUrl: 'expandable-list-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CoreModule, ButtonComponent, IconComponent, ActionGroupComponent],\n providers: [DisabledController.connect()],\n hostDirectives: [{ directive: ExpandableItemDirective, inputs: ['expanded', 'id'] }],\n host: {\n '[class.odx-expandable-list-item--expanded]': 'expandableItem.expanded',\n },\n animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])],\n})\nexport class ExpandableListItemComponent {\n protected readonly expandableItem = inject(ExpandableItemDirective);\n public readonly element = injectElement<HTMLElement>();\n}\n","<div class=\"odx-expandable-list-item__header\">\n <ng-content select=\"odx-list-item, [odxListItem]\" />\n <odx-action-group class=\"odx-expandable-list-item__action\">\n <button odxButton (click)=\"expandableItem.toggle()\">\n <odx-icon [class.odx-expandable-list-item__icon--expanded]=\"expandableItem.expanded\" name=\"chevron-down\" iconSet=\"core\"></odx-icon>\n </button>\n </odx-action-group>\n</div>\n<div @expandSlotAnimation class=\"odx-expandable-list-item__slot\" *ngIf=\"expandableItem.expanded\">\n <ng-content select=\"odx-list\" />\n</div>\n","export type ListItemVariant = (typeof ListItemVariant)[keyof typeof ListItemVariant];\n\nexport const ListItemVariant = {\n DEFAULT: 'default',\n DANGER: 'danger',\n WARNING: 'warning',\n} as const;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, HostBinding, inject, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { WithDisabledState, WithTabIndex } from '@odx/angular';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { hasChanged, injectElement, NgChanges } from '@odx/angular/utils';\nimport { ListItemVariant } from '../../models';\n\n/**\n * Represents a stylable list item component that can be easily integrated within Angular applications.\n * It supports various visual variants, disabled and selected states, and can be used both as a standalone or\n * as an element in a larger list or collection of items.\n */\n@CSSComponent('list-item')\n@Component({\n standalone: true,\n selector: 'odx-list-item, [odxListItem]',\n templateUrl: './list-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [WithDisabledState, WithTabIndex],\n})\nexport class ListItemComponent implements OnChanges {\n private readonly withTabIndex = inject(WithTabIndex, { self: true });\n\n public readonly element = injectElement<HTMLElement>();\n\n /**\n * Marks the list item as potentially harmful or attention-needing, affecting its style and appearance.\n *\n * @deprecated Use `variant` instead.\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public danger = false;\n\n /**\n * Specifies the visual variant of the list item.\n *\n * @type {ListItemVariant}\n * @default ListItemVariant.DEFAULT\n */\n @CSSModifier()\n @Input()\n public variant: ListItemVariant = ListItemVariant.DEFAULT;\n\n /**\n * Marks the list item as disabled, preventing user interaction and changing its appearance.\n *\n * @type {boolean}\n * @default false\n */\n @CSSModifier()\n @Input({ transform: booleanAttribute })\n public muted = false;\n\n /**\n * Marks the list item as selected, changing its appearance to indicate its state.\n *\n * @type {boolean}\n * @default false\n */\n @HostBinding('class.is-selected')\n @Input({ transform: booleanAttribute })\n public selected = false;\n\n public ngOnChanges(changes: NgChanges<ListItemComponent>): void {\n if (hasChanged(changes, 'muted', false)) {\n this.withTabIndex.setTabindex(this.muted ? -1 : null);\n }\n }\n}\n","<ng-content select=\"[odxListPrefix], [odxListItemPrefix]\" />\n<div class=\"odx-list-item__content\">\n <ng-content />\n</div>\n<ng-content select=\"[odxListSuffix], [odxListItemSuffix]\" />\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { ExpandableContainerDirective } from '@odx/angular/cdk/expandable';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * Represents a list component that can optionally act as an expandable container. This component can be used\n * to display a list of items where each item might be individually expandable.\n *\n * @see {ExpandableContainerDirective}\n */\n@CSSComponent('list')\n@Component({\n selector: 'odx-list',\n standalone: true,\n templateUrl: './list.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [{ directive: ExpandableContainerDirective, inputs: ['multiple'] }],\n})\nexport class ListComponent {\n public readonly element = injectElement();\n}\n","<ng-content select=\"odx-list, odx-list-item, [odxListItem], odx-expandable-list-item\" />\n","import { NgModule } from '@angular/core';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { ExpandableListItemComponent, ListItemComponent } from './components';\nimport { ListComponent } from './list.component';\n\nconst modules = [ListComponent, ListItemComponent, ExpandableListItemComponent, IconComponent];\n\n@NgModule({\n imports: modules,\n exports: modules,\n})\nexport class ListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -29,12 +29,17 @@ class LoadingSpinnerDirective {
|
|
|
29
29
|
/**
|
|
30
30
|
* Whether the spinner should automatically adjust its color based on the background.
|
|
31
31
|
* Allows the user to specify if the spinner should use automatic color adjustment.
|
|
32
|
+
*
|
|
33
|
+
* @type {boolean}
|
|
34
|
+
* @default false
|
|
32
35
|
*/
|
|
33
36
|
this.autoColor = false;
|
|
34
37
|
}
|
|
35
38
|
/**
|
|
36
39
|
* Controls whether the spinner is visible or not.
|
|
37
40
|
* Manages the loading state, showing or hiding the spinner accordingly.
|
|
41
|
+
*
|
|
42
|
+
* @type {boolean}
|
|
38
43
|
*/
|
|
39
44
|
set isLoading(value) {
|
|
40
45
|
// TODO: Find out if something breaks by removing those lines
|
|
@@ -54,6 +59,8 @@ class LoadingSpinnerDirective {
|
|
|
54
59
|
/**
|
|
55
60
|
* Sets the minimum height for the host element when the spinner is active, to avoid layout shifts.
|
|
56
61
|
* Specifies the minimum height for the spinner's parent element.
|
|
62
|
+
*
|
|
63
|
+
* @type {number}
|
|
57
64
|
*/
|
|
58
65
|
set minHeight(value) {
|
|
59
66
|
this.parentMinHeight = value;
|
|
@@ -126,6 +133,9 @@ let LoadingSpinnerComponent = class LoadingSpinnerComponent {
|
|
|
126
133
|
* Indicates whether the color of the loading spinner should be automatically determined.
|
|
127
134
|
* If set to true, the color will be based on the theme of the parent container.
|
|
128
135
|
* If set to false, the color will be the default color specified in the component's styles.
|
|
136
|
+
*
|
|
137
|
+
* @type {boolean}
|
|
138
|
+
* @default false
|
|
129
139
|
*/
|
|
130
140
|
this.autoColor = false;
|
|
131
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-loading-spinner.mjs","sources":["../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.directive.ts","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.component.ts","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.component.html","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.module.ts","../../../../libs/angular/components/loading-spinner/src/odx-angular-components-loading-spinner.ts"],"sourcesContent":["import { booleanAttribute, Directive, inject, Injector, Input, numberAttribute, Renderer2 } from '@angular/core';\nimport { WindowRef } from '@odx/angular';\nimport { DynamicViewRef, DynamicViewService } from '@odx/angular/cdk/dynamic-view';\nimport { deferFn, injectElement, px } from '@odx/angular/utils';\nimport { LoadingSpinnerComponent } from './loading-spinner.component';\n\nconst LOADING_SPINNER_PARENT_CLASS = 'odx-loading-spinner-parent';\n\n/**\n * A directive that controls the display of a loading spinner overlay on the host element.\n * This directive can dynamically create or remove a loading spinner based on the `isLoading` state.\n * It modifies the host element's styles to ensure the spinner is displayed correctly, and optionally,\n * it can set a minimum height to prevent layout shifts.\n */\n@Directive({\n standalone: true,\n selector: '[odxLoadingSpinner]',\n // providers: [DisabledController.connect()],\n})\nexport class LoadingSpinnerDirective {\n // private readonly disabledController = DisabledController.inject();\n // private readonly hasDisabledControllerOnHost = !!inject(DisabledController, { optional: true });\n private readonly dynamicViewService = inject(DynamicViewService);\n private readonly hostElement = injectElement();\n private readonly renderer = inject(Renderer2);\n private readonly injector = inject(Injector);\n private readonly windowRef = inject(WindowRef);\n\n private parentMinHeight?: number;\n private viewRef: DynamicViewRef<typeof LoadingSpinnerComponent> | null = null;\n\n /**\n * Whether the spinner should automatically adjust its color based on the background.\n * Allows the user to specify if the spinner should use automatic color adjustment.\n */\n @Input({ alias: 'odxLoadingSpinnerAutoColor', transform: booleanAttribute })\n public autoColor = false;\n\n /**\n * Controls whether the spinner is visible or not.\n * Manages the loading state, showing or hiding the spinner accordingly.\n */\n @Input({ alias: 'odxLoadingSpinner', transform: booleanAttribute })\n public set isLoading(value: boolean) {\n // TODO: Find out if something breaks by removing those lines\n // if (!this.hasDisabledControllerOnHost) {\n // this.disabledController?.setDisabledState(value);\n // }\n if (value) {\n this.createSpinner();\n } else {\n this.removeSpinner();\n }\n }\n public get isLoading(): boolean {\n return this.viewRef !== null;\n }\n\n /**\n * Sets the minimum height for the host element when the spinner is active, to avoid layout shifts.\n * Specifies the minimum height for the spinner's parent element.\n */\n @Input({ alias: 'odxLoadingSpinnerMinHeight', transform: numberAttribute })\n public set minHeight(value: number) {\n this.parentMinHeight = value;\n this.setParentHeight();\n }\n\n /**\n * Resets styles applied to the parent element when the spinner is removed.\n * Removes the class, minHeight, and position styles.\n */\n public resetParentStyles(): void {\n this.renderer.removeClass(this.hostElement.nativeElement, LOADING_SPINNER_PARENT_CLASS);\n this.renderer.removeStyle(this.hostElement.nativeElement, 'minHeight');\n this.renderer.removeStyle(this.hostElement.nativeElement, 'position');\n }\n\n private setParentHeight(): void {\n this.renderer.setStyle(this.hostElement.nativeElement, 'minHeight', this.parentMinHeight ? px(this.parentMinHeight) : 'inherit');\n }\n\n private createSpinner(): void {\n this.renderer.addClass(this.hostElement.nativeElement, LOADING_SPINNER_PARENT_CLASS);\n this.setParentHeight();\n if (this.hasStaticPosition()) {\n this.renderer.setStyle(this.hostElement.nativeElement, 'position', 'relative');\n }\n this.viewRef = this.dynamicViewService.createView(LoadingSpinnerComponent, {\n injector: this.injector,\n context: { autoColor: this.autoColor },\n host: this.hostElement.nativeElement,\n });\n deferFn(() => (this.hostElement.nativeElement.scrollTop = 0));\n }\n\n private removeSpinner(): void {\n this.viewRef?.destroy();\n this.viewRef = null;\n }\n\n private hasStaticPosition(): boolean {\n return this.windowRef.nativeWindow.getComputedStyle(this.hostElement.nativeElement).position === 'static';\n }\n}\n","import { AnimationEvent, transition, trigger, useAnimation } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, Input, OnInit, ViewEncapsulation, inject } from '@angular/core';\nimport { WindowRef } from '@odx/angular';\nimport { fadeIn, fadeOut } from '@odx/angular/animations';\nimport { CircularProgressComponent } from '@odx/angular/components/circular-progress';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { LoadingSpinnerDirective } from './loading-spinner.directive';\n\nconst BROWSER_TRANSPARENT_COLOR = 'rgba(0, 0, 0, 0)';\n\n/**\n * Represents a loading spinner component.\n */\n@CSSComponent('loading-spinner')\n@Component({\n standalone: true,\n selector: 'odx-loading-spinner',\n templateUrl: './loading-spinner.component.html',\n imports: [CircularProgressComponent],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[@hostAnimation]': 'true',\n '(@hostAnimation.done)': 'animationFinished($event)',\n },\n animations: [trigger('hostAnimation', [transition(':enter', useAnimation(fadeIn())), transition(':leave', useAnimation(fadeOut()))])],\n})\nexport class LoadingSpinnerComponent implements OnInit {\n private readonly host = inject(LoadingSpinnerDirective);\n private readonly windowRef = inject(WindowRef);\n\n protected backgroundColor: string | null = null;\n\n public readonly element = injectElement();\n\n /**\n * Indicates whether the color of the loading spinner should be automatically determined.\n * If set to true, the color will be based on the theme of the parent container.\n * If set to false, the color will be the default color specified in the component's styles.\n */\n @CSSModifier()\n @Input()\n public autoColor = false;\n\n public ngOnInit(): void {\n this.backgroundColor = this.resolveBackgroundColor(this.element.nativeElement);\n }\n\n protected animationFinished({ toState }: AnimationEvent): void {\n if (toState === 'void') {\n this.host.resetParentStyles();\n }\n }\n\n private resolveBackgroundColor(element: HTMLElement): string | null {\n const { backgroundColor } = this.windowRef.nativeWindow.getComputedStyle(element);\n if (backgroundColor !== BROWSER_TRANSPARENT_COLOR) {\n return backgroundColor;\n }\n if (element.parentElement) {\n return this.resolveBackgroundColor(element.parentElement);\n }\n return null;\n }\n}\n","<odx-circular-progress size=\"auto\" value=\"-1\"></odx-circular-progress>\n<div class=\"odx-loading-spinner__backdrop\" [style.backgroundColor]=\"backgroundColor\"></div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { LoadingSpinnerComponent } from './loading-spinner.component';\nimport { LoadingSpinnerDirective } from './loading-spinner.directive';\n\nconst modules = [LoadingSpinnerComponent, LoadingSpinnerDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class LoadingSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"odx-angular-components-loading-spinner.mjs","sources":["../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.directive.ts","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.component.ts","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.component.html","../../../../libs/angular/components/loading-spinner/src/lib/loading-spinner.module.ts","../../../../libs/angular/components/loading-spinner/src/odx-angular-components-loading-spinner.ts"],"sourcesContent":["import { booleanAttribute, Directive, inject, Injector, Input, numberAttribute, Renderer2 } from '@angular/core';\nimport { WindowRef } from '@odx/angular';\nimport { DynamicViewRef, DynamicViewService } from '@odx/angular/cdk/dynamic-view';\nimport { deferFn, injectElement, px } from '@odx/angular/utils';\nimport { LoadingSpinnerComponent } from './loading-spinner.component';\n\nconst LOADING_SPINNER_PARENT_CLASS = 'odx-loading-spinner-parent';\n\n/**\n * A directive that controls the display of a loading spinner overlay on the host element.\n * This directive can dynamically create or remove a loading spinner based on the `isLoading` state.\n * It modifies the host element's styles to ensure the spinner is displayed correctly, and optionally,\n * it can set a minimum height to prevent layout shifts.\n */\n@Directive({\n standalone: true,\n selector: '[odxLoadingSpinner]',\n // providers: [DisabledController.connect()],\n})\nexport class LoadingSpinnerDirective {\n // private readonly disabledController = DisabledController.inject();\n // private readonly hasDisabledControllerOnHost = !!inject(DisabledController, { optional: true });\n private readonly dynamicViewService = inject(DynamicViewService);\n private readonly hostElement = injectElement();\n private readonly renderer = inject(Renderer2);\n private readonly injector = inject(Injector);\n private readonly windowRef = inject(WindowRef);\n\n private parentMinHeight?: number;\n private viewRef: DynamicViewRef<typeof LoadingSpinnerComponent> | null = null;\n\n /**\n * Whether the spinner should automatically adjust its color based on the background.\n * Allows the user to specify if the spinner should use automatic color adjustment.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ alias: 'odxLoadingSpinnerAutoColor', transform: booleanAttribute })\n public autoColor = false;\n\n /**\n * Controls whether the spinner is visible or not.\n * Manages the loading state, showing or hiding the spinner accordingly.\n *\n * @type {boolean}\n */\n @Input({ alias: 'odxLoadingSpinner', transform: booleanAttribute })\n public set isLoading(value: boolean) {\n // TODO: Find out if something breaks by removing those lines\n // if (!this.hasDisabledControllerOnHost) {\n // this.disabledController?.setDisabledState(value);\n // }\n if (value) {\n this.createSpinner();\n } else {\n this.removeSpinner();\n }\n }\n public get isLoading(): boolean {\n return this.viewRef !== null;\n }\n\n /**\n * Sets the minimum height for the host element when the spinner is active, to avoid layout shifts.\n * Specifies the minimum height for the spinner's parent element.\n *\n * @type {number}\n */\n @Input({ alias: 'odxLoadingSpinnerMinHeight', transform: numberAttribute })\n public set minHeight(value: number) {\n this.parentMinHeight = value;\n this.setParentHeight();\n }\n\n /**\n * Resets styles applied to the parent element when the spinner is removed.\n * Removes the class, minHeight, and position styles.\n */\n public resetParentStyles(): void {\n this.renderer.removeClass(this.hostElement.nativeElement, LOADING_SPINNER_PARENT_CLASS);\n this.renderer.removeStyle(this.hostElement.nativeElement, 'minHeight');\n this.renderer.removeStyle(this.hostElement.nativeElement, 'position');\n }\n\n private setParentHeight(): void {\n this.renderer.setStyle(this.hostElement.nativeElement, 'minHeight', this.parentMinHeight ? px(this.parentMinHeight) : 'inherit');\n }\n\n private createSpinner(): void {\n this.renderer.addClass(this.hostElement.nativeElement, LOADING_SPINNER_PARENT_CLASS);\n this.setParentHeight();\n if (this.hasStaticPosition()) {\n this.renderer.setStyle(this.hostElement.nativeElement, 'position', 'relative');\n }\n this.viewRef = this.dynamicViewService.createView(LoadingSpinnerComponent, {\n injector: this.injector,\n context: { autoColor: this.autoColor },\n host: this.hostElement.nativeElement,\n });\n deferFn(() => (this.hostElement.nativeElement.scrollTop = 0));\n }\n\n private removeSpinner(): void {\n this.viewRef?.destroy();\n this.viewRef = null;\n }\n\n private hasStaticPosition(): boolean {\n return this.windowRef.nativeWindow.getComputedStyle(this.hostElement.nativeElement).position === 'static';\n }\n}\n","import { AnimationEvent, transition, trigger, useAnimation } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, Input, OnInit, ViewEncapsulation, inject } from '@angular/core';\nimport { WindowRef } from '@odx/angular';\nimport { fadeIn, fadeOut } from '@odx/angular/animations';\nimport { CircularProgressComponent } from '@odx/angular/components/circular-progress';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { LoadingSpinnerDirective } from './loading-spinner.directive';\n\nconst BROWSER_TRANSPARENT_COLOR = 'rgba(0, 0, 0, 0)';\n\n/**\n * Represents a loading spinner component.\n */\n@CSSComponent('loading-spinner')\n@Component({\n standalone: true,\n selector: 'odx-loading-spinner',\n templateUrl: './loading-spinner.component.html',\n imports: [CircularProgressComponent],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[@hostAnimation]': 'true',\n '(@hostAnimation.done)': 'animationFinished($event)',\n },\n animations: [trigger('hostAnimation', [transition(':enter', useAnimation(fadeIn())), transition(':leave', useAnimation(fadeOut()))])],\n})\nexport class LoadingSpinnerComponent implements OnInit {\n private readonly host = inject(LoadingSpinnerDirective);\n private readonly windowRef = inject(WindowRef);\n\n protected backgroundColor: string | null = null;\n\n public readonly element = injectElement();\n\n /**\n * Indicates whether the color of the loading spinner should be automatically determined.\n * If set to true, the color will be based on the theme of the parent container.\n * If set to false, the color will be the default color specified in the component's styles.\n *\n * @type {boolean}\n * @default false\n */\n @CSSModifier()\n @Input()\n public autoColor = false;\n\n public ngOnInit(): void {\n this.backgroundColor = this.resolveBackgroundColor(this.element.nativeElement);\n }\n\n protected animationFinished({ toState }: AnimationEvent): void {\n if (toState === 'void') {\n this.host.resetParentStyles();\n }\n }\n\n private resolveBackgroundColor(element: HTMLElement): string | null {\n const { backgroundColor } = this.windowRef.nativeWindow.getComputedStyle(element);\n if (backgroundColor !== BROWSER_TRANSPARENT_COLOR) {\n return backgroundColor;\n }\n if (element.parentElement) {\n return this.resolveBackgroundColor(element.parentElement);\n }\n return null;\n }\n}\n","<odx-circular-progress size=\"auto\" value=\"-1\"></odx-circular-progress>\n<div class=\"odx-loading-spinner__backdrop\" [style.backgroundColor]=\"backgroundColor\"></div>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { LoadingSpinnerComponent } from './loading-spinner.component';\nimport { LoadingSpinnerDirective } from './loading-spinner.directive';\n\nconst modules = [LoadingSpinnerComponent, LoadingSpinnerDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class LoadingSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAMA,MAAM,4BAA4B,GAAG,4BAA4B,CAAC;AAElE;;;;;AAKG;MAMU,uBAAuB,CAAA;AALpC,IAAA,WAAA,GAAA;;;AAQmB,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAChD,IAAW,CAAA,WAAA,GAAG,aAAa,EAAE,CAAC;AAC9B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAC7B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAGvC,IAAO,CAAA,OAAA,GAA0D,IAAI,CAAC;AAE9E;;;;;;AAMG;QAEI,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAwE1B,KAAA;AAtEC;;;;;AAKG;IACH,IACW,SAAS,CAAC,KAAc,EAAA;;;;;AAKjC,QAAA,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,aAAa,EAAE,CAAC;AACtB,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,aAAa,EAAE,CAAC;AACtB,SAAA;KACF;AACD,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;KAC9B;AAED;;;;;AAKG;IACH,IACW,SAAS,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;AAED;;;AAGG;IACI,iBAAiB,GAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC;AACxF,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACvE,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;KACvE;IAEO,eAAe,GAAA;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC,CAAC;KAClI;IAEO,aAAa,GAAA;AACnB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC;QACrF,IAAI,CAAC,eAAe,EAAE,CAAC;AACvB,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;AAC5B,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAChF,SAAA;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,uBAAuB,EAAE;YACzE,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AACtC,YAAA,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa;AACrC,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;KAC/D;IAEO,aAAa,GAAA;AACnB,QAAA,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IAEO,iBAAiB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;KAC3G;+GA3FU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAmBuB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,4BAAA,EAAA,WAAA,EAAA,gBAAgB,CASzB,EAAA,SAAA,EAAA,CAAA,mBAAA,EAAA,WAAA,EAAA,gBAAgB,0DAsBP,eAAe,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAlD7D,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,qBAAqB;;AAEhC,iBAAA,CAAA;8BAqBQ,SAAS,EAAA,CAAA;sBADf,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAE,KAAK,EAAE,4BAA4B,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAUhE,SAAS,EAAA,CAAA;sBADnB,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAuBvD,SAAS,EAAA,CAAA;sBADnB,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAE,KAAK,EAAE,4BAA4B,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA;;;AC5D5E,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AAErD;;AAEG;AAeU,IAAA,uBAAuB,GAA7B,MAAM,uBAAuB,CAAA;AAA7B,IAAA,WAAA,GAAA;AACY,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AACvC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAErC,IAAe,CAAA,eAAA,GAAkB,IAAI,CAAC;QAEhC,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAE1C;;;;;;;AAOG;QAGI,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAsB1B,KAAA;IApBQ,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;KAChF;IAES,iBAAiB,CAAC,EAAE,OAAO,EAAkB,EAAA;QACrD,IAAI,OAAO,KAAK,MAAM,EAAE;AACtB,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC/B,SAAA;KACF;AAEO,IAAA,sBAAsB,CAAC,OAAoB,EAAA;AACjD,QAAA,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAClF,IAAI,eAAe,KAAK,yBAAyB,EAAE;AACjD,YAAA,OAAO,eAAe,CAAC;AACxB,SAAA;QACD,IAAI,OAAO,CAAC,aAAa,EAAE;YACzB,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAC3D,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;+GAvCU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EC5BpC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,qBAAA,EAAA,2BAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,+KAEA,EDiBY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,yBAAyB,yFAOvB,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAoB9H,UAAA,CAAA;AAFN,IAAA,WAAW,EAAE;;AAEW,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAlBd,uBAAuB,GAAA,UAAA,CAAA;IAdnC,YAAY,CAAC,iBAAiB,CAAC;AAcnB,CAAA,EAAA,uBAAuB,CAwCnC,CAAA;4FAxCY,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAbnC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,qBAAqB,EAEtB,OAAA,EAAA,CAAC,yBAAyB,CAAC,EAAA,aAAA,EACrB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACJ,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,uBAAuB,EAAE,2BAA2B;AACrD,qBAAA,EAAA,UAAA,EACW,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAA,QAAA,EAAA,+KAAA,EAAA,CAAA;8BAoB9H,SAAS,EAAA,CAAA;sBADf,KAAK;;;AExCR,MAAM,OAAO,GAAG,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,CAAC;MAMtD,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAApB,oBAAoB,EAAA,OAAA,EAAA,CANhB,uBAAuB,EAAE,uBAAuB,aAIrD,UAAU,EAJL,uBAAuB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;gHAMpD,oBAAoB,EAAA,OAAA,EAAA,CANhB,uBAAuB,EAI5B,UAAU,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAET,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,OAAO;AAChB,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC;AAClC,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
|
|
@@ -12,10 +12,9 @@ import { __decorate, __metadata } from 'tslib';
|
|
|
12
12
|
import { ActionGroupComponent } from '@odx/angular/components/action-group';
|
|
13
13
|
import { IconComponent } from '@odx/angular/components/icon';
|
|
14
14
|
import * as i1 from '@angular/common';
|
|
15
|
-
import { trigger, transition, group, useAnimation
|
|
15
|
+
import { trigger, transition, group, useAnimation } from '@angular/animations';
|
|
16
16
|
import { fadeIn, slideInY, fadeOut, slideOutY, slideInRight, slideOutRight } from '@odx/angular/animations';
|
|
17
17
|
import { A11yModule } from '@odx/angular/cdk/a11y';
|
|
18
|
-
import * as i2 from '@angular/cdk/a11y';
|
|
19
18
|
import { ButtonGroupComponent } from '@odx/angular/components/button-group';
|
|
20
19
|
|
|
21
20
|
const ModalHeroVariant = {
|
|
@@ -31,23 +30,37 @@ const ModalHeroVariant = {
|
|
|
31
30
|
* This class extends the `Controller` base class from `@odx/angular`, adding modal-specific functionalities like
|
|
32
31
|
* handling closures and dismissals.
|
|
33
32
|
*
|
|
33
|
+
* @template Data - The type of data passed to the modal.
|
|
34
|
+
* @template Result - The type of the result emitted when the modal is closed.
|
|
35
|
+
*
|
|
34
36
|
* @see {Controller}
|
|
35
37
|
*/
|
|
36
38
|
class ModalRef extends Controller {
|
|
37
|
-
/** Gets the unique identifier for the modal instance.
|
|
39
|
+
/** Gets the unique identifier for the modal instance.
|
|
40
|
+
*
|
|
41
|
+
* @returns {string} The unique identifier for the modal instance.
|
|
42
|
+
*/
|
|
38
43
|
get id() {
|
|
39
44
|
return this.options.id;
|
|
40
45
|
}
|
|
41
|
-
/** Gets the ARIA label ID for the modal title, based on the modal's ID.
|
|
46
|
+
/** Gets the ARIA label ID for the modal title, based on the modal's ID.
|
|
47
|
+
*
|
|
48
|
+
* @returns {string} The ARIA label ID for the modal title.
|
|
49
|
+
*/
|
|
42
50
|
get modalTitleId() {
|
|
43
51
|
return `${this.options.id}-title`;
|
|
44
52
|
}
|
|
45
|
-
/** Gets the data passed to the modal. This is useful for modal initialization.
|
|
53
|
+
/** Gets the data passed to the modal. This is useful for modal initialization.
|
|
54
|
+
*
|
|
55
|
+
* @returns {Data} The data passed to the modal.
|
|
56
|
+
*/
|
|
46
57
|
get data() {
|
|
47
58
|
return this.internalOptions.data;
|
|
48
59
|
}
|
|
49
60
|
/** Gets the current options for the modal. These options include configurations.
|
|
50
|
-
*
|
|
61
|
+
*
|
|
62
|
+
* @template Data - The type of data passed to the modal.
|
|
63
|
+
* @returns {ModalOptions<Data>} The current options for the modal.
|
|
51
64
|
*/
|
|
52
65
|
get options() {
|
|
53
66
|
return this.internalOptions;
|
|
@@ -271,6 +284,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
271
284
|
args: ['click']
|
|
272
285
|
}] } });
|
|
273
286
|
|
|
287
|
+
/**
|
|
288
|
+
* Directive that prevents the default form method behavior on submit buttons inside an HTML Dialog form.
|
|
289
|
+
*/
|
|
290
|
+
class PreventFormMethodDialogDirective {
|
|
291
|
+
onClick(event) {
|
|
292
|
+
event.preventDefault();
|
|
293
|
+
}
|
|
294
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreventFormMethodDialogDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
295
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PreventFormMethodDialogDirective, isStandalone: true, selector: "[formmethod=dialog]", host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 }); }
|
|
296
|
+
}
|
|
297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreventFormMethodDialogDirective, decorators: [{
|
|
298
|
+
type: Directive,
|
|
299
|
+
args: [{
|
|
300
|
+
standalone: true,
|
|
301
|
+
selector: '[formmethod=dialog]',
|
|
302
|
+
}]
|
|
303
|
+
}], propDecorators: { onClick: [{
|
|
304
|
+
type: HostListener,
|
|
305
|
+
args: ['click', ['$event']]
|
|
306
|
+
}] } });
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Directive that prevents the default form submission behavior inside an HTML Dialog form.
|
|
310
|
+
*/
|
|
311
|
+
class PreventMethodDialogDirective {
|
|
312
|
+
onFormSubmit(event) {
|
|
313
|
+
event.preventDefault();
|
|
314
|
+
}
|
|
315
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreventMethodDialogDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
316
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PreventMethodDialogDirective, isStandalone: true, selector: "form[method=dialog]", host: { listeners: { "submit": "onFormSubmit($event)" } }, ngImport: i0 }); }
|
|
317
|
+
}
|
|
318
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PreventMethodDialogDirective, decorators: [{
|
|
319
|
+
type: Directive,
|
|
320
|
+
args: [{
|
|
321
|
+
standalone: true,
|
|
322
|
+
selector: 'form[method=dialog]',
|
|
323
|
+
}]
|
|
324
|
+
}], propDecorators: { onFormSubmit: [{
|
|
325
|
+
type: HostListener,
|
|
326
|
+
args: ['submit', ['$event']]
|
|
327
|
+
}] } });
|
|
328
|
+
|
|
274
329
|
/**
|
|
275
330
|
* Represents the footer component of a modal.
|
|
276
331
|
*/
|
|
@@ -326,12 +381,15 @@ let ModalHeroComponent = class ModalHeroComponent {
|
|
|
326
381
|
this.element = injectElement();
|
|
327
382
|
/**
|
|
328
383
|
* The modal reference of the modal hero component.
|
|
384
|
+
*
|
|
385
|
+
* @type {ModalRef}
|
|
329
386
|
*/
|
|
330
387
|
this.modalRef = injectModalRef();
|
|
331
388
|
/**
|
|
332
389
|
* The icon set of the modal hero component.
|
|
333
390
|
*
|
|
334
391
|
* @type {string}
|
|
392
|
+
* @default 'core'
|
|
335
393
|
*/
|
|
336
394
|
this.iconSet = 'core';
|
|
337
395
|
detectControllerChanges(this.modalRef).subscribe();
|
|
@@ -425,6 +483,7 @@ let ModalComponent = class ModalComponent {
|
|
|
425
483
|
* Boolean that indicates if the content is a component type rather than a template.
|
|
426
484
|
*
|
|
427
485
|
* @type {boolean}
|
|
486
|
+
* @default false
|
|
428
487
|
*/
|
|
429
488
|
this.withComponent = false;
|
|
430
489
|
detectControllerChanges(this.modalRef).subscribe(() => {
|
|
@@ -436,18 +495,33 @@ let ModalComponent = class ModalComponent {
|
|
|
436
495
|
this.withComponent = !isTemplateRef(this.content);
|
|
437
496
|
}
|
|
438
497
|
}
|
|
439
|
-
|
|
498
|
+
animationStart(event) {
|
|
499
|
+
if (event.toState === 'void') {
|
|
500
|
+
this.element.nativeElement.setAttribute('data-closing-animation', 'true');
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
animationDone(event) {
|
|
504
|
+
if (event.toState === 'void') {
|
|
505
|
+
this.element.nativeElement.close();
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
/**
|
|
509
|
+
* Prevents the default behavior of the specified event and dismisses the modal if it is dismissable.
|
|
510
|
+
* 'Cancel' event is called by HTML Dialog on ESC key press.
|
|
511
|
+
*/
|
|
512
|
+
cancelPrevent(event) {
|
|
513
|
+
event.preventDefault();
|
|
440
514
|
if (this.modalRef.options.dismissable) {
|
|
441
515
|
this.modalRef.dismiss();
|
|
442
516
|
}
|
|
443
517
|
}
|
|
444
518
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
445
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ModalComponent, isStandalone: true, selector: "odx-modal", inputs: { content: "content" }, host: { listeners: { "
|
|
519
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ModalComponent, isStandalone: true, selector: "dialog[odx-dialog-modal]", inputs: { content: "content" }, host: { listeners: { "@hostAnimation.start": "animationStart($event)", "@hostAnimation.done": "animationDone($event)", "cancel": "cancelPrevent($event)" }, properties: { "@hostAnimation": "variant", "attr.id": "modalRef.options.id", "attr.aria-labelledby": "modalRef.modalTitleId", "attr.role": "\"dialog\"" } }, usesOnChanges: true, ngImport: i0, template: "<div\n [odxClickOutsideActive]=\"modalRef.isActive() && modalRef.options.dismissable && modalRef.options.interactiveBackdrop\"\n (odxClickOutside)=\"modalRef.dismiss()\"\n class=\"odx-modal__container\"\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewContext]=\"withComponent ? {} : context\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$1.ClickOutsideDirective, selector: "[odxClickOutside]", inputs: ["odxClickOutsideActive"], outputs: ["odxClickOutside"] }, { kind: "ngmodule", type: CoreModule }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], animations: [
|
|
446
520
|
trigger('hostAnimation', [
|
|
447
|
-
transition('void => default', group([useAnimation(fadeIn()),
|
|
448
|
-
transition('default => void', group([useAnimation(fadeOut()),
|
|
449
|
-
transition('void => sidesheet',
|
|
450
|
-
transition('sidesheet => void',
|
|
521
|
+
transition('void => default', group([useAnimation(fadeIn()), useAnimation(slideInY('8px'))])),
|
|
522
|
+
transition('default => void', group([useAnimation(fadeOut()), useAnimation(slideOutY('8px'))])),
|
|
523
|
+
transition('void => sidesheet', useAnimation(slideInRight)),
|
|
524
|
+
transition('sidesheet => void', useAnimation(slideOutRight)),
|
|
451
525
|
]),
|
|
452
526
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
453
527
|
};
|
|
@@ -469,22 +543,26 @@ ModalComponent = __decorate([
|
|
|
469
543
|
], ModalComponent);
|
|
470
544
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalComponent, decorators: [{
|
|
471
545
|
type: Component,
|
|
472
|
-
args: [{ standalone: true, selector: 'odx-modal', imports: [A11yModule, ActionGroupComponent, ButtonComponent, IconComponent, CoreModule, DynamicViewDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
546
|
+
args: [{ standalone: true, selector: 'dialog[odx-dialog-modal]', imports: [A11yModule, ActionGroupComponent, ButtonComponent, IconComponent, CoreModule, DynamicViewDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
473
547
|
'[@hostAnimation]': 'variant',
|
|
548
|
+
'(@hostAnimation.start)': 'animationStart($event)',
|
|
549
|
+
'(@hostAnimation.done)': 'animationDone($event)',
|
|
474
550
|
'[attr.id]': 'modalRef.options.id',
|
|
551
|
+
'[attr.aria-labelledby]': 'modalRef.modalTitleId',
|
|
552
|
+
'[attr.role]': '"dialog"',
|
|
475
553
|
}, animations: [
|
|
476
554
|
trigger('hostAnimation', [
|
|
477
|
-
transition('void => default', group([useAnimation(fadeIn()),
|
|
478
|
-
transition('default => void', group([useAnimation(fadeOut()),
|
|
479
|
-
transition('void => sidesheet',
|
|
480
|
-
transition('sidesheet => void',
|
|
555
|
+
transition('void => default', group([useAnimation(fadeIn()), useAnimation(slideInY('8px'))])),
|
|
556
|
+
transition('default => void', group([useAnimation(fadeOut()), useAnimation(slideOutY('8px'))])),
|
|
557
|
+
transition('void => sidesheet', useAnimation(slideInRight)),
|
|
558
|
+
transition('sidesheet => void', useAnimation(slideOutRight)),
|
|
481
559
|
]),
|
|
482
|
-
], template: "<div\n [
|
|
560
|
+
], template: "<div\n [odxClickOutsideActive]=\"modalRef.isActive() && modalRef.options.dismissable && modalRef.options.interactiveBackdrop\"\n (odxClickOutside)=\"modalRef.dismiss()\"\n class=\"odx-modal__container\"\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewContext]=\"withComponent ? {} : context\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n" }]
|
|
483
561
|
}], ctorParameters: function () { return []; }, propDecorators: { size: [], variant: [], withComponent: [], content: [{
|
|
484
562
|
type: Input
|
|
485
|
-
}],
|
|
563
|
+
}], cancelPrevent: [{
|
|
486
564
|
type: HostListener,
|
|
487
|
-
args: ['
|
|
565
|
+
args: ['cancel', ['$event']]
|
|
488
566
|
}] } });
|
|
489
567
|
|
|
490
568
|
/**
|
|
@@ -583,8 +661,8 @@ class ModalService {
|
|
|
583
661
|
*
|
|
584
662
|
* @template Data The type of data passed to the modal.
|
|
585
663
|
* @template Result The type of result returned by the modal.
|
|
586
|
-
* @param id The ID of the modal.
|
|
587
|
-
* @returns The modal reference if found, otherwise null.
|
|
664
|
+
* @param {ModalOptions['id']} id The ID of the modal.
|
|
665
|
+
* @returns {ModalRef<Data, Result> | null} - The modal reference if found, otherwise null.
|
|
588
666
|
*/
|
|
589
667
|
getModalById(id) {
|
|
590
668
|
return this.openModals.get(id);
|
|
@@ -620,6 +698,7 @@ class ModalService {
|
|
|
620
698
|
deferFn(() => this.openModals.remove(modalRef));
|
|
621
699
|
};
|
|
622
700
|
modalRef.onDestroy$.pipe(finalize(onDestroy)).subscribe();
|
|
701
|
+
viewRef.getElement().showModal();
|
|
623
702
|
}
|
|
624
703
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalService, deps: [{ token: i1.Location }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
625
704
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalService, providedIn: 'root' }); }
|
|
@@ -709,6 +788,8 @@ const modules = [
|
|
|
709
788
|
ModalCloseDirective,
|
|
710
789
|
ModalContentDirective,
|
|
711
790
|
ModalDismissDirective,
|
|
791
|
+
PreventMethodDialogDirective,
|
|
792
|
+
PreventFormMethodDialogDirective,
|
|
712
793
|
];
|
|
713
794
|
class ModalModule {
|
|
714
795
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -719,14 +800,18 @@ class ModalModule {
|
|
|
719
800
|
ModalDirective,
|
|
720
801
|
ModalCloseDirective,
|
|
721
802
|
ModalContentDirective,
|
|
722
|
-
ModalDismissDirective
|
|
803
|
+
ModalDismissDirective,
|
|
804
|
+
PreventMethodDialogDirective,
|
|
805
|
+
PreventFormMethodDialogDirective], exports: [CoreModule, AreaHeaderModule, ButtonComponent, ButtonGroupComponent, ModalComponent,
|
|
723
806
|
ModalHeaderComponent,
|
|
724
807
|
ModalHeroComponent,
|
|
725
808
|
ModalFooterComponent,
|
|
726
809
|
ModalDirective,
|
|
727
810
|
ModalCloseDirective,
|
|
728
811
|
ModalContentDirective,
|
|
729
|
-
ModalDismissDirective
|
|
812
|
+
ModalDismissDirective,
|
|
813
|
+
PreventMethodDialogDirective,
|
|
814
|
+
PreventFormMethodDialogDirective] }); }
|
|
730
815
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalModule, imports: [ButtonComponent, ButtonGroupComponent, ModalComponent,
|
|
731
816
|
ModalHeaderComponent,
|
|
732
817
|
ModalHeroComponent, CoreModule, AreaHeaderModule] }); }
|
|
@@ -743,5 +828,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
743
828
|
* Generated bundle index. Do not edit.
|
|
744
829
|
*/
|
|
745
830
|
|
|
746
|
-
export { BasicModalComponent, ModalCloseDirective, ModalComponent, ModalConfig, ModalContentDirective, ModalDefaultConfig, ModalDirective, ModalDismissDirective, ModalFooterComponent, ModalHeaderComponent, ModalHeroComponent, ModalHeroVariant, ModalModule, ModalRef, ModalService, ModalSize, ModalVariant, injectModalConfig, injectModalRef, provideModalConfig, provideModalRef };
|
|
831
|
+
export { BasicModalComponent, ModalCloseDirective, ModalComponent, ModalConfig, ModalContentDirective, ModalDefaultConfig, ModalDirective, ModalDismissDirective, ModalFooterComponent, ModalHeaderComponent, ModalHeroComponent, ModalHeroVariant, ModalModule, ModalRef, ModalService, ModalSize, ModalVariant, PreventFormMethodDialogDirective, PreventMethodDialogDirective, injectModalConfig, injectModalRef, provideModalConfig, provideModalRef };
|
|
747
832
|
//# sourceMappingURL=odx-angular-components-modal.mjs.map
|