@odx/angular 5.7.4 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/animations/lib/expand.d.ts +44 -0
- package/animations/lib/fade.d.ts +70 -0
- package/animations/lib/slide.d.ts +21 -0
- package/animations/lib/wait-for-child-animations.d.ts +38 -0
- package/breakpoints/lib/breakpoints.config.d.ts +38 -0
- package/breakpoints/lib/breakpoints.service.d.ts +43 -0
- package/breakpoints/lib/directives/match-breakpoints.directive.d.ts +36 -0
- package/breakpoints/lib/helpers/configure-breakpoint.d.ts +19 -0
- package/cdk/a11y/lib/directives/interactive.directive.d.ts +32 -0
- package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +22 -0
- package/cdk/a11y/lib/directives/list-focus-manager.directive.d.ts +17 -0
- package/cdk/active-indicator/lib/active-indicator.directive.d.ts +63 -0
- package/cdk/autocomplete-control/lib/autocomplete-control.d.ts +53 -0
- package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +3 -0
- package/cdk/connected-overlay/lib/connected-overlay.service.d.ts +44 -0
- package/cdk/connected-overlay/lib/helpers/compute-overlay-position.d.ts +10 -0
- package/cdk/connected-overlay/lib/models/connected-overlay-ref.d.ts +49 -0
- package/cdk/custom-form-control/lib/custom-form-control.d.ts +108 -0
- package/cdk/custom-form-control/lib/input-control.directive.d.ts +75 -0
- package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +25 -0
- package/cdk/dynamic-view/lib/dynamic-view.service.d.ts +30 -0
- package/cdk/dynamic-view/lib/helpers/create-projectable-nodes.d.ts +22 -0
- package/cdk/dynamic-view/lib/helpers/is-dynamic-text-content.d.ts +22 -0
- package/cdk/dynamic-view/lib/helpers/is-dynamic-view.d.ts +22 -0
- package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +39 -0
- package/cdk/dynamic-view/lib/models/dynamic-template-ref.d.ts +36 -0
- package/cdk/event-plugins/lib/event-plugins.config.d.ts +35 -0
- package/cdk/event-plugins/lib/models/event-plugin.d.ts +57 -0
- package/cdk/event-plugins/lib/plugins/debounce-event-plugin.d.ts +32 -0
- package/cdk/event-plugins/lib/plugins/defer-event-plugin.d.ts +24 -0
- package/cdk/expandable/lib/directives/expandable-container.directive.d.ts +41 -0
- package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +47 -0
- package/cdk/option-control/lib/option-control.d.ts +47 -0
- package/cdk/radio-group-control/lib/radio-control.directive.d.ts +8 -0
- package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +11 -0
- package/components/accordion/lib/accordion.component.d.ts +8 -0
- package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +37 -1
- package/components/accordion/lib/directives/accordion-item-title.d.ts +3 -0
- package/components/action-group/action-group.component.d.ts +6 -0
- package/components/area-header/area-header.component.d.ts +8 -0
- package/components/area-header/directives/area-header-content.directive.d.ts +3 -0
- package/components/area-header/directives/area-header-subtitle.directive.d.ts +3 -0
- package/components/autocomplete/lib/autocomplete.component.d.ts +17 -0
- package/components/avatar/lib/avatar.component.d.ts +8 -0
- package/components/badge/lib/badge.component.d.ts +10 -0
- package/components/badge/lib/badge.directive.d.ts +15 -0
- package/components/bar/lib/bar.component.d.ts +7 -0
- package/components/bar/lib/directives/bar-button.directive.d.ts +3 -0
- package/components/bar/lib/directives/bar-label.directive.d.ts +3 -0
- package/components/breadcrumbs/lib/breadcrumbs.component.d.ts +3 -0
- package/components/button/lib/button.component.d.ts +10 -0
- package/components/button-group/lib/button-group.component.d.ts +15 -0
- package/components/calendar/lib/calendar.component.d.ts +48 -0
- package/components/calendar/lib/calendar.config.d.ts +41 -93
- package/components/calendar/lib/calendar.service.d.ts +48 -0
- package/components/calendar/lib/components/calendar-header/calendar-header.component.d.ts +24 -0
- package/components/calendar/lib/components/calendar-month/calendar-month.component.d.ts +6 -0
- package/components/calendar/lib/components/calendar-year/calendar-year.component.d.ts +6 -0
- package/components/calendar/lib/components/calendar-years/calendar-years.component.d.ts +6 -0
- package/components/calendar/lib/daterange.service.d.ts +16 -0
- package/components/calendar/lib/directives/calendar-cell.directive.d.ts +37 -9
- package/components/calendar/lib/directives/calendar-view.directive.d.ts +41 -9
- package/components/calendar/lib/pipes/date-label.pipe.d.ts +12 -21
- package/components/calendar/lib/services/calendar-month.service.d.ts +1 -0
- package/components/calendar/lib/services/calendar-year.service.d.ts +1 -0
- package/components/calendar/lib/services/calendar-years.service.d.ts +1 -0
- package/components/calendar/lib/utils/check-cell-in-range.d.ts +1 -0
- package/components/calendar/lib/utils/check-identical-date.d.ts +1 -0
- package/components/calendar/lib/utils/get-A11y-label.d.ts +2 -2
- package/components/calendar/lib/utils/is-date-disabled.d.ts +1 -0
- package/components/calendar/lib/utils/parse-date.d.ts +1 -0
- package/components/calendar/lib/utils/validate-daterange.d.ts +1 -0
- package/components/calendar/lib/utils/validate-max-date.d.ts +1 -0
- package/components/calendar/lib/utils/validate-min-date.d.ts +1 -0
- package/components/calendar/lib/utils/validate-next-date-set.d.ts +1 -0
- package/components/calendar/lib/utils/validate-previous-date-set.d.ts +1 -0
- package/components/checkbox/lib/checkbox.component.d.ts +32 -0
- package/components/checkbox/lib/checkbox.validator.d.ts +23 -0
- package/components/chip/lib/components/chip/chip.component.d.ts +14 -0
- package/components/chip/lib/components/chip-list/chip-list.component.d.ts +3 -0
- package/components/chip/lib/components/chip-list-row/chip-list-row.component.d.ts +3 -0
- package/components/circular-progress/lib/circular-progress.component.d.ts +20 -0
- package/components/content-box/lib/content-box.component.d.ts +3 -0
- package/components/content-box/lib/directives/content-box-footer.directive.d.ts +3 -0
- package/components/content-box/lib/directives/content-box-header.directive.d.ts +3 -0
- package/components/datepicker/lib/datepicker.component.d.ts +47 -0
- package/components/datepicker/lib/datepicker.config.d.ts +19 -0
- package/components/datepicker/lib/directives/datepicker-input-control.directive.d.ts +30 -0
- package/components/datepicker/lib/utils/get-datepicker-input-pattern.d.ts +2 -0
- package/components/datepicker/lib/utils/get-datepicker-input-value-as-date.d.ts +1 -0
- package/components/daterangepicker/lib/daterangepicker.component.d.ts +89 -0
- package/components/daterangepicker/lib/daterangepicker.config.d.ts +19 -0
- package/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.d.ts +30 -0
- package/components/daterangepicker/lib/range.validator.d.ts +15 -0
- package/components/daterangepicker/lib/required.validator.d.ts +6 -0
- package/components/daterangepicker/lib/utils/get-daterangepicker-input-pattern.d.ts +2 -0
- package/components/daterangepicker/lib/utils/get-daterangepicker-input-value-as-date.d.ts +1 -0
- package/components/dropdown/lib/dropdown.component.d.ts +16 -0
- package/components/dropdown/lib/dropdown.directive.d.ts +67 -0
- package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +5 -0
- package/components/error-page/lib/error-page.component.d.ts +7 -0
- package/components/error-page/lib/error-page.config.d.ts +18 -0
- package/components/footer/lib/footer.component.d.ts +9 -6
- package/components/footer/lib/footer.config.d.ts +2 -0
- package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +13 -0
- package/components/form-field/lib/components/form-group/form-group.component.d.ts +16 -0
- package/components/form-field/lib/directives/form-field-control.directive.d.ts +5 -0
- package/components/form-field/lib/directives/form-field-error.directive.d.ts +6 -0
- package/components/form-field/lib/directives/form-field-hint.directive.d.ts +3 -0
- package/components/form-field/lib/directives/form-field-label.directive.d.ts +3 -0
- package/components/form-field/lib/directives/form.directive.d.ts +13 -0
- package/components/form-field/lib/form-field.component.d.ts +20 -0
- package/components/form-field/lib/form-field.service.d.ts +42 -0
- package/components/form-field/lib/services/form-field-error.service.d.ts +24 -0
- package/components/header/lib/directives/header-avatar.directive.d.ts +4 -0
- package/components/header/lib/directives/header-title.directive.d.ts +3 -0
- package/components/header/lib/header.component.d.ts +3 -0
- package/components/header-navigation/lib/directives/header-navigation-link.directive.d.ts +3 -0
- package/components/header-navigation/lib/header-navigation.component.d.ts +6 -0
- package/components/icon/lib/helpers/unpack-icon-identifier.d.ts +14 -0
- package/components/icon/lib/icon.component.d.ts +24 -0
- package/components/icon/lib/icon.config.d.ts +26 -0
- package/components/inline-message/lib/inline-message.component.d.ts +13 -0
- package/components/link/link.directive.d.ts +3 -0
- package/components/list/lib/components/expandable-list-item/expandable-list-item.component.d.ts +6 -0
- package/components/list/lib/components/list-item/list-item.component.d.ts +17 -1
- package/components/list/lib/list.component.d.ts +5 -0
- package/components/loading-spinner/lib/loading-spinner.component.d.ts +8 -0
- package/components/loading-spinner/lib/loading-spinner.directive.d.ts +22 -0
- package/components/logo/logo.directive.d.ts +15 -0
- package/components/main-menu/lib/directives/main-menu-button.directive.d.ts +5 -1
- package/components/main-menu/lib/directives/main-menu-close.directive.d.ts +3 -0
- package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +16 -0
- package/components/main-menu/lib/helpers/create-main-menu-links.d.ts +1 -0
- package/components/main-menu/lib/main-menu.component.d.ts +42 -0
- package/components/main-menu/lib/main-menu.config.d.ts +31 -0
- package/components/main-menu/lib/main-menu.service.d.ts +28 -0
- package/components/mainfilter-group/lib/mainfilter-group.component.d.ts +4 -0
- package/components/menu/lib/directives/menu-item.directive.d.ts +6 -0
- package/components/menu/lib/menu.component.d.ts +13 -1
- package/components/menu/lib/menu.directive.d.ts +31 -0
- package/components/modal/lib/components/basic-modal/basic-modal.component.d.ts +14 -0
- package/components/modal/lib/components/modal-footer/modal-footer.component.d.ts +3 -0
- package/components/modal/lib/components/modal-header/modal-header.component.d.ts +9 -0
- package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +21 -0
- package/components/modal/lib/directives/modal-close.directive.d.ts +25 -1
- package/components/modal/lib/directives/modal-content.directive.d.ts +3 -0
- package/components/modal/lib/directives/modal-dismiss.directive.d.ts +18 -1
- package/components/modal/lib/helpers/inject-modal-ref.d.ts +21 -0
- package/components/modal/lib/helpers/provide-modal-ref.d.ts +9 -0
- package/components/modal/lib/modal.component.d.ts +25 -0
- package/components/modal/lib/modal.config.d.ts +33 -0
- package/components/modal/lib/modal.directive.d.ts +29 -0
- package/components/modal/lib/modal.service.d.ts +54 -0
- package/components/modal/lib/models/modal-ref.d.ts +34 -0
- package/components/navigation-back/lib/navigation-back.component.d.ts +3 -0
- package/components/notification/lib/components/notification-center/notification-center.component.d.ts +0 -2
- package/components/notification/lib/directives/notification-center.directive.d.ts +18 -4
- package/components/notification/lib/helpers/get-notifications-by-tag.d.ts +1 -0
- package/components/notification/lib/helpers/sort-notifications.d.ts +1 -0
- package/components/notification/lib/helpers/to-notification-collection.d.ts +1 -0
- package/components/notification/lib/models/notification-feature.d.ts +15 -0
- package/components/notification/lib/notification.config.d.ts +54 -0
- package/components/notification/lib/notification.logger.d.ts +1 -0
- package/components/notification/lib/notification.service.d.ts +55 -0
- package/components/notification/lib/notification.tokens.d.ts +3 -0
- package/components/notification/lib/services/notification-center.service.d.ts +9 -0
- package/components/paginator/lib/paginator.component.d.ts +89 -0
- package/components/paginator/lib/paginator.config.d.ts +24 -2
- package/components/progress/lib/progress.component.d.ts +15 -0
- package/components/radio-group/lib/radio-group.component.d.ts +11 -0
- package/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.d.ts +19 -0
- package/components/rail-navigation/lib/rail-navigation.component.d.ts +26 -0
- package/components/rich-list/lib/components/rich-list-content/rich-list-content.component.d.ts +4 -0
- package/components/rich-list/lib/components/rich-list-header/rich-list-header.component.d.ts +4 -0
- package/components/rich-list/lib/components/rich-list-item/rich-list-item.component.d.ts +9 -1
- package/components/rich-list/lib/rich-list.component.d.ts +9 -2
- package/components/select/lib/components/select-option/select-option.component.d.ts +39 -2
- package/components/select/lib/directives/select-input-control.directive.d.ts +11 -0
- package/components/select/lib/pipes/select-search-filter.pipe.d.ts +10 -0
- package/components/select/lib/select.component.d.ts +59 -0
- package/components/slider/lib/slider.directive.d.ts +19 -0
- package/components/spinbox/lib/spinbox.component.d.ts +16 -0
- package/components/switch/lib/switch.component.d.ts +10 -0
- package/components/switch/lib/switch.validator.d.ts +12 -0
- package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +28 -0
- package/components/tab-bar/lib/tab-bar.component.d.ts +69 -0
- package/components/table/lib/components/check-cell/check-cell.component.d.ts +18 -0
- package/components/table/lib/components/header-title/header-title.component.d.ts +33 -1
- package/components/table/lib/directives/table-cell.directive.d.ts +4 -0
- package/components/table/lib/directives/table-row.directive.d.ts +4 -0
- package/components/table/lib/table.component.d.ts +36 -0
- package/components/timepicker/lib/timepicker.component.d.ts +11 -2
- package/components/timepicker/lib/utils/generate-time-stamps.d.ts +2 -1
- package/components/timepicker/lib/utils/ngx-mask-helper.d.ts +2 -2
- package/components/toast/lib/toast.config.d.ts +26 -0
- package/components/toast/lib/toast.service.d.ts +35 -0
- package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +11 -0
- package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +12 -0
- package/components/tooltip/lib/tooltip.component.d.ts +20 -0
- package/components/tooltip/lib/tooltip.directive.d.ts +35 -0
- package/components/wizard/lib/components/wizard-step/wizard-step.component.d.ts +34 -0
- package/components/wizard/lib/wizard.component.d.ts +20 -0
- package/esm2022/animations/lib/expand.mjs +45 -1
- package/esm2022/animations/lib/fade.mjs +71 -1
- package/esm2022/animations/lib/slide.mjs +22 -1
- package/esm2022/animations/lib/wait-for-child-animations.mjs +39 -1
- package/esm2022/breakpoints/lib/breakpoints.config.mjs +39 -1
- package/esm2022/breakpoints/lib/breakpoints.service.mjs +44 -1
- package/esm2022/breakpoints/lib/directives/match-breakpoints.directive.mjs +37 -1
- package/esm2022/breakpoints/lib/helpers/configure-breakpoint.mjs +20 -1
- package/esm2022/cdk/a11y/lib/directives/interactive.directive.mjs +33 -1
- package/esm2022/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +23 -1
- package/esm2022/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +18 -1
- package/esm2022/cdk/active-indicator/lib/active-indicator.directive.mjs +64 -1
- package/esm2022/cdk/autocomplete-control/lib/autocomplete-control.mjs +39 -1
- package/esm2022/cdk/checkbox-control/lib/checkbox-control.directive.mjs +4 -1
- package/esm2022/cdk/connected-overlay/lib/connected-overlay.service.mjs +45 -1
- package/esm2022/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +11 -1
- package/esm2022/cdk/connected-overlay/lib/models/connected-overlay-ref.mjs +50 -1
- package/esm2022/cdk/custom-form-control/lib/custom-form-control.mjs +109 -3
- package/esm2022/cdk/custom-form-control/lib/input-control.directive.mjs +76 -1
- package/esm2022/cdk/dynamic-view/lib/dynamic-view.directive.mjs +18 -1
- package/esm2022/cdk/dynamic-view/lib/dynamic-view.service.mjs +31 -1
- package/esm2022/cdk/dynamic-view/lib/helpers/create-projectable-nodes.mjs +23 -1
- package/esm2022/cdk/dynamic-view/lib/helpers/is-dynamic-text-content.mjs +23 -1
- package/esm2022/cdk/dynamic-view/lib/helpers/is-dynamic-view.mjs +23 -1
- package/esm2022/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +40 -1
- package/esm2022/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +37 -1
- package/esm2022/cdk/event-plugins/lib/event-plugins.config.mjs +36 -1
- package/esm2022/cdk/event-plugins/lib/models/event-plugin.mjs +45 -1
- package/esm2022/cdk/event-plugins/lib/plugins/debounce-event-plugin.mjs +33 -1
- package/esm2022/cdk/event-plugins/lib/plugins/defer-event-plugin.mjs +25 -1
- package/esm2022/cdk/expandable/lib/directives/expandable-container.directive.mjs +42 -1
- package/esm2022/cdk/expandable/lib/directives/expandable-item.directive.mjs +48 -1
- package/esm2022/cdk/option-control/lib/option-control.mjs +48 -1
- package/esm2022/cdk/radio-group-control/lib/radio-control.directive.mjs +9 -1
- package/esm2022/cdk/radio-group-control/lib/radio-group-control.directive.mjs +12 -1
- package/esm2022/components/accordion/lib/accordion.component.mjs +9 -1
- package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +31 -1
- package/esm2022/components/accordion/lib/directives/accordion-item-title.mjs +4 -1
- package/esm2022/components/action-group/action-group.component.mjs +7 -1
- package/esm2022/components/area-header/area-header.component.mjs +9 -1
- package/esm2022/components/area-header/directives/area-header-content.directive.mjs +4 -1
- package/esm2022/components/area-header/directives/area-header-subtitle.directive.mjs +4 -1
- package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +18 -1
- package/esm2022/components/avatar/lib/avatar.component.mjs +9 -1
- package/esm2022/components/badge/lib/badge.component.mjs +11 -1
- package/esm2022/components/badge/lib/badge.directive.mjs +16 -1
- package/esm2022/components/bar/lib/bar.component.mjs +8 -1
- package/esm2022/components/bar/lib/directives/bar-button.directive.mjs +4 -1
- package/esm2022/components/bar/lib/directives/bar-label.directive.mjs +4 -1
- package/esm2022/components/breadcrumbs/lib/breadcrumbs.component.mjs +4 -1
- package/esm2022/components/button/lib/button.component.mjs +11 -1
- package/esm2022/components/button-group/lib/button-group.component.mjs +16 -1
- package/esm2022/components/calendar/lib/calendar.component.mjs +35 -1
- package/esm2022/components/calendar/lib/calendar.config.mjs +18 -12
- package/esm2022/components/calendar/lib/calendar.service.mjs +49 -1
- package/esm2022/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +19 -1
- package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +9 -3
- package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +9 -3
- package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +9 -3
- package/esm2022/components/calendar/lib/daterange.service.mjs +17 -1
- package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +27 -2
- package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +39 -1
- package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +27 -9
- package/esm2022/components/calendar/lib/services/calendar-month.service.mjs +2 -1
- package/esm2022/components/calendar/lib/services/calendar-year.service.mjs +2 -1
- package/esm2022/components/calendar/lib/services/calendar-years.service.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/check-cell-in-range.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/check-identical-date.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/get-A11y-label.mjs +11 -8
- package/esm2022/components/calendar/lib/utils/is-date-disabled.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/parse-date.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/validate-daterange.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/validate-max-date.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/validate-min-date.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/validate-next-date-set.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/validate-previous-date-set.mjs +2 -1
- package/esm2022/components/checkbox/lib/checkbox.component.mjs +33 -1
- package/esm2022/components/checkbox/lib/checkbox.validator.mjs +24 -1
- package/esm2022/components/chip/lib/components/chip/chip.component.mjs +15 -1
- package/esm2022/components/chip/lib/components/chip-list/chip-list.component.mjs +4 -1
- package/esm2022/components/chip/lib/components/chip-list-row/chip-list-row.component.mjs +4 -1
- package/esm2022/components/circular-progress/lib/circular-progress.component.mjs +21 -1
- package/esm2022/components/content-box/lib/content-box.component.mjs +4 -1
- package/esm2022/components/content-box/lib/directives/content-box-footer.directive.mjs +4 -1
- package/esm2022/components/content-box/lib/directives/content-box-header.directive.mjs +4 -1
- package/esm2022/components/datepicker/lib/datepicker.component.mjs +33 -1
- package/esm2022/components/datepicker/lib/datepicker.config.mjs +20 -1
- package/esm2022/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +31 -1
- package/esm2022/components/datepicker/lib/utils/get-datepicker-input-pattern.mjs +3 -1
- package/esm2022/components/datepicker/lib/utils/get-datepicker-input-value-as-date.mjs +2 -1
- package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +65 -1
- package/esm2022/components/daterangepicker/lib/daterangepicker.config.mjs +20 -1
- package/esm2022/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.mjs +31 -1
- package/esm2022/components/daterangepicker/lib/range.validator.mjs +16 -1
- package/esm2022/components/daterangepicker/lib/required.validator.mjs +15 -1
- package/esm2022/components/daterangepicker/lib/utils/get-daterangepicker-input-pattern.mjs +3 -1
- package/esm2022/components/daterangepicker/lib/utils/get-daterangepicker-input-value-as-date.mjs +2 -1
- package/esm2022/components/dropdown/lib/dropdown.component.mjs +8 -1
- package/esm2022/components/dropdown/lib/dropdown.directive.mjs +55 -1
- package/esm2022/components/dropdown/lib/helpers/close-current-dropdown.mjs +6 -1
- package/esm2022/components/error-page/lib/error-page.component.mjs +8 -1
- package/esm2022/components/error-page/lib/error-page.config.mjs +9 -1
- package/esm2022/components/footer/lib/footer.component.mjs +10 -7
- package/esm2022/components/footer/lib/footer.config.mjs +3 -1
- package/esm2022/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +14 -1
- package/esm2022/components/form-field/lib/components/form-group/form-group.component.mjs +13 -1
- package/esm2022/components/form-field/lib/directives/form-field-control.directive.mjs +6 -1
- package/esm2022/components/form-field/lib/directives/form-field-error.directive.mjs +4 -1
- package/esm2022/components/form-field/lib/directives/form-field-hint.directive.mjs +4 -1
- package/esm2022/components/form-field/lib/directives/form-field-label.directive.mjs +4 -1
- package/esm2022/components/form-field/lib/directives/form.directive.mjs +14 -1
- package/esm2022/components/form-field/lib/form-field.component.mjs +14 -1
- package/esm2022/components/form-field/lib/form-field.service.mjs +43 -1
- package/esm2022/components/form-field/lib/services/form-field-error.service.mjs +25 -1
- package/esm2022/components/header/lib/directives/header-avatar.directive.mjs +5 -1
- package/esm2022/components/header/lib/directives/header-title.directive.mjs +4 -1
- package/esm2022/components/header/lib/header.component.mjs +4 -1
- package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs +4 -1
- package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +4 -1
- package/esm2022/components/icon/lib/helpers/unpack-icon-identifier.mjs +15 -1
- package/esm2022/components/icon/lib/icon.component.mjs +25 -1
- package/esm2022/components/icon/lib/icon.config.mjs +20 -1
- package/esm2022/components/inline-message/lib/inline-message.component.mjs +14 -1
- package/esm2022/components/link/link.directive.mjs +4 -1
- package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +7 -1
- package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +18 -2
- package/esm2022/components/list/lib/list.component.mjs +6 -1
- package/esm2022/components/loading-spinner/lib/loading-spinner.component.mjs +10 -2
- package/esm2022/components/loading-spinner/lib/loading-spinner.directive.mjs +23 -1
- package/esm2022/components/logo/logo.directive.mjs +16 -1
- package/esm2022/components/main-menu/lib/directives/main-menu-button.directive.mjs +5 -1
- package/esm2022/components/main-menu/lib/directives/main-menu-close.directive.mjs +4 -1
- package/esm2022/components/main-menu/lib/directives/main-menu-item.directive.mjs +17 -1
- package/esm2022/components/main-menu/lib/helpers/create-main-menu-links.mjs +2 -1
- package/esm2022/components/main-menu/lib/main-menu.component.mjs +37 -1
- package/esm2022/components/main-menu/lib/main-menu.config.mjs +32 -1
- package/esm2022/components/main-menu/lib/main-menu.service.mjs +29 -1
- package/esm2022/components/mainfilter-group/lib/mainfilter-group.component.mjs +5 -1
- package/esm2022/components/menu/lib/directives/menu-item.directive.mjs +7 -1
- package/esm2022/components/menu/lib/menu.component.mjs +13 -1
- package/esm2022/components/menu/lib/menu.directive.mjs +19 -1
- package/esm2022/components/modal/lib/components/basic-modal/basic-modal.component.mjs +15 -1
- package/esm2022/components/modal/lib/components/modal-footer/modal-footer.component.mjs +4 -1
- package/esm2022/components/modal/lib/components/modal-header/modal-header.component.mjs +4 -1
- package/esm2022/components/modal/lib/components/modal-hero/modal-hero.component.mjs +12 -1
- package/esm2022/components/modal/lib/directives/modal-close.directive.mjs +25 -1
- package/esm2022/components/modal/lib/directives/modal-content.directive.mjs +4 -1
- package/esm2022/components/modal/lib/directives/modal-dismiss.directive.mjs +18 -1
- package/esm2022/components/modal/lib/helpers/inject-modal-ref.mjs +22 -1
- package/esm2022/components/modal/lib/helpers/provide-modal-ref.mjs +10 -1
- package/esm2022/components/modal/lib/modal.component.mjs +21 -2
- package/esm2022/components/modal/lib/modal.config.mjs +34 -1
- package/esm2022/components/modal/lib/modal.directive.mjs +25 -1
- package/esm2022/components/modal/lib/modal.service.mjs +39 -1
- package/esm2022/components/modal/lib/models/modal-ref.mjs +34 -1
- package/esm2022/components/navigation-back/lib/navigation-back.component.mjs +4 -1
- package/esm2022/components/notification/lib/components/notification-center/notification-center.component.mjs +1 -3
- package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +19 -5
- package/esm2022/components/notification/lib/helpers/get-notifications-by-tag.mjs +2 -1
- package/esm2022/components/notification/lib/helpers/sort-notifications.mjs +2 -1
- package/esm2022/components/notification/lib/helpers/to-notification-collection.mjs +2 -1
- package/esm2022/components/notification/lib/models/notification-feature.mjs +16 -1
- package/esm2022/components/notification/lib/notification.config.mjs +45 -1
- package/esm2022/components/notification/lib/notification.logger.mjs +2 -1
- package/esm2022/components/notification/lib/notification.service.mjs +56 -1
- package/esm2022/components/notification/lib/notification.tokens.mjs +4 -1
- package/esm2022/components/notification/lib/services/notification-center.service.mjs +10 -1
- package/esm2022/components/paginator/lib/paginator.component.mjs +90 -1
- package/esm2022/components/paginator/lib/paginator.config.mjs +29 -1
- package/esm2022/components/progress/lib/progress.component.mjs +16 -1
- package/esm2022/components/radio-group/lib/radio-group.component.mjs +13 -2
- package/esm2022/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.mjs +17 -1
- package/esm2022/components/rail-navigation/lib/rail-navigation.component.mjs +27 -1
- package/esm2022/components/rich-list/lib/components/rich-list-content/rich-list-content.component.mjs +5 -1
- package/esm2022/components/rich-list/lib/components/rich-list-header/rich-list-header.component.mjs +5 -1
- package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +10 -2
- package/esm2022/components/rich-list/lib/rich-list.component.mjs +10 -3
- package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +47 -6
- package/esm2022/components/select/lib/directives/select-input-control.directive.mjs +12 -2
- package/esm2022/components/select/lib/pipes/select-search-filter.pipe.mjs +11 -1
- package/esm2022/components/select/lib/select.component.mjs +56 -2
- package/esm2022/components/slider/lib/slider.directive.mjs +20 -1
- package/esm2022/components/spinbox/lib/spinbox.component.mjs +17 -1
- package/esm2022/components/switch/lib/switch.component.mjs +11 -1
- package/esm2022/components/switch/lib/switch.validator.mjs +13 -1
- package/esm2022/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +29 -1
- package/esm2022/components/tab-bar/lib/tab-bar.component.mjs +70 -1
- package/esm2022/components/table/lib/components/check-cell/check-cell.component.mjs +19 -1
- package/esm2022/components/table/lib/components/header-title/header-title.component.mjs +30 -2
- package/esm2022/components/table/lib/directives/table-cell.directive.mjs +5 -1
- package/esm2022/components/table/lib/directives/table-row.directive.mjs +5 -1
- package/esm2022/components/table/lib/table.component.mjs +30 -1
- package/esm2022/components/timepicker/lib/timepicker.component.mjs +15 -6
- package/esm2022/components/timepicker/lib/utils/generate-time-stamps.mjs +5 -3
- package/esm2022/components/timepicker/lib/utils/ngx-mask-helper.mjs +3 -3
- package/esm2022/components/toast/lib/toast.config.mjs +27 -1
- package/esm2022/components/toast/lib/toast.service.mjs +36 -1
- package/esm2022/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +12 -1
- package/esm2022/components/toggle-button-group/lib/toggle-button-group.component.mjs +14 -2
- package/esm2022/components/tooltip/lib/tooltip.component.mjs +18 -1
- package/esm2022/components/tooltip/lib/tooltip.directive.mjs +36 -1
- package/esm2022/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +35 -1
- package/esm2022/components/wizard/lib/wizard.component.mjs +21 -1
- package/esm2022/internal/lib/helpers/fast-equals.mjs +3 -0
- package/esm2022/internal/lib/helpers/index.mjs +2 -1
- package/esm2022/internal/translate/lib/translate.config.mjs +32 -1
- package/esm2022/internal/translate/lib/translate.service.mjs +30 -1
- package/esm2022/lib/controllers/controller.mjs +26 -1
- package/esm2022/lib/controllers/disabled.controller.mjs +60 -1
- package/esm2022/lib/controllers/readonly.controller.mjs +57 -1
- package/esm2022/lib/directives/click-outside.directive.mjs +30 -1
- package/esm2022/lib/directives/delegate-focus.directive.mjs +15 -1
- package/esm2022/lib/services/window-ref.mjs +67 -1
- package/esm2022/lib/tokens/identity-matcher.mjs +25 -1
- package/esm2022/lib/tokens/string-search-handler.mjs +25 -1
- package/esm2022/lib/tokens/stringify.mjs +26 -1
- package/esm2022/localization/lib/features/with-http-language-header.mjs +54 -1
- package/esm2022/localization/lib/features/with-http-language-query-param.mjs +52 -1
- package/esm2022/localization/lib/loaders/browser-language-loader.mjs +33 -1
- package/esm2022/localization/lib/localization.config.mjs +73 -5
- package/esm2022/localization/lib/localization.logger.mjs +3 -0
- package/esm2022/localization/lib/localization.service.mjs +59 -29
- package/esm2022/rxjs/index.mjs +2 -2
- package/esm2022/rxjs/lib/delay-until.mjs +23 -1
- package/esm2022/rxjs/lib/from-element-mutation.mjs +22 -1
- package/esm2022/rxjs/lib/from-element-resize.mjs +25 -1
- package/esm2022/rxjs/lib/from-events.mjs +25 -1
- package/esm2022/rxjs/lib/from-query-list.mjs +24 -0
- package/esm2022/sdk/lib/application-environment.mjs +51 -1
- package/esm2022/theming/lib/helpers/prefers-dark-theme.mjs +19 -1
- package/esm2022/theming/lib/helpers/resolve-theme.mjs +26 -1
- package/esm2022/theming/lib/helpers/theme-storage.mjs +43 -1
- package/esm2022/theming/lib/theming.config.mjs +34 -1
- package/esm2022/theming/lib/theming.service.mjs +32 -1
- package/esm2022/utils/lib/decorators/pure.mjs +52 -1
- package/esm2022/utils/lib/helpers/angular.mjs +37 -1
- package/esm2022/utils/lib/helpers/array.mjs +5 -1
- package/esm2022/utils/lib/helpers/build-url.mjs +21 -1
- package/esm2022/utils/lib/helpers/build-website-url.mjs +3 -2
- package/esm2022/utils/lib/helpers/cache-storage-client.mjs +52 -1
- package/esm2022/utils/lib/helpers/coercion.mjs +18 -1
- package/esm2022/utils/lib/helpers/debounce.mjs +28 -1
- package/esm2022/utils/lib/helpers/defer-fn.mjs +21 -1
- package/esm2022/utils/lib/helpers/dom.mjs +71 -1
- package/esm2022/utils/lib/helpers/get-axis.mjs +21 -1
- package/esm2022/utils/lib/helpers/get-language-code.mjs +18 -1
- package/esm2022/utils/lib/helpers/get-opposite-side.mjs +22 -1
- package/esm2022/utils/lib/helpers/get-side.mjs +18 -1
- package/esm2022/utils/lib/helpers/get-unique-id.mjs +34 -1
- package/esm2022/utils/lib/helpers/match-url.mjs +41 -1
- package/esm2022/utils/lib/helpers/ng-changes.mjs +30 -1
- package/esm2022/utils/lib/helpers/provide-config.mjs +57 -1
- package/esm2022/utils/lib/helpers/queue.mjs +84 -1
- package/esm2022/utils/lib/helpers/type-guards.mjs +58 -1
- package/esm2022/utils/lib/helpers/until-destroyed.mjs +39 -1
- package/fesm2022/odx-angular-animations.mjs +173 -0
- package/fesm2022/odx-angular-animations.mjs.map +1 -1
- package/fesm2022/odx-angular-breakpoints.mjs +136 -0
- package/fesm2022/odx-angular-breakpoints.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-a11y.mjs +71 -0
- package/fesm2022/odx-angular-cdk-a11y.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-active-indicator.mjs +63 -0
- package/fesm2022/odx-angular-cdk-active-indicator.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-autocomplete-control.mjs +38 -0
- package/fesm2022/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-checkbox-control.mjs +3 -0
- package/fesm2022/odx-angular-cdk-checkbox-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-connected-overlay.mjs +103 -0
- package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-custom-form-control.mjs +183 -2
- package/fesm2022/odx-angular-cdk-custom-form-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-dynamic-view.mjs +188 -0
- package/fesm2022/odx-angular-cdk-dynamic-view.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-event-plugins.mjs +135 -0
- package/fesm2022/odx-angular-cdk-event-plugins.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-expandable.mjs +88 -0
- package/fesm2022/odx-angular-cdk-expandable.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-option-control.mjs +47 -0
- package/fesm2022/odx-angular-cdk-option-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-radio-group-control.mjs +19 -0
- package/fesm2022/odx-angular-cdk-radio-group-control.mjs.map +1 -1
- package/fesm2022/odx-angular-components-accordion.mjs +41 -0
- package/fesm2022/odx-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/odx-angular-components-action-group.mjs +6 -0
- package/fesm2022/odx-angular-components-action-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-area-header.mjs +14 -0
- package/fesm2022/odx-angular-components-area-header.mjs.map +1 -1
- package/fesm2022/odx-angular-components-autocomplete.mjs +17 -0
- package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2022/odx-angular-components-avatar.mjs +8 -0
- package/fesm2022/odx-angular-components-avatar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-badge.mjs +25 -0
- package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
- package/fesm2022/odx-angular-components-bar.mjs +13 -0
- package/fesm2022/odx-angular-components-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-breadcrumbs.mjs +3 -0
- package/fesm2022/odx-angular-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/odx-angular-components-button-group.mjs +15 -0
- package/fesm2022/odx-angular-components-button-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-button.mjs +10 -0
- package/fesm2022/odx-angular-components-button.mjs.map +1 -1
- package/fesm2022/odx-angular-components-calendar.mjs +270 -33
- package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-checkbox.mjs +55 -0
- package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
- package/fesm2022/odx-angular-components-chip.mjs +20 -0
- package/fesm2022/odx-angular-components-chip.mjs.map +1 -1
- package/fesm2022/odx-angular-components-circular-progress.mjs +20 -0
- package/fesm2022/odx-angular-components-circular-progress.mjs.map +1 -1
- package/fesm2022/odx-angular-components-content-box.mjs +9 -0
- package/fesm2022/odx-angular-components-content-box.mjs.map +1 -1
- package/fesm2022/odx-angular-components-datepicker.mjs +84 -0
- package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-daterangepicker.mjs +145 -0
- package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-dropdown.mjs +66 -0
- package/fesm2022/odx-angular-components-dropdown.mjs.map +1 -1
- package/fesm2022/odx-angular-components-error-page.mjs +15 -0
- package/fesm2022/odx-angular-components-error-page.mjs.map +1 -1
- package/fesm2022/odx-angular-components-footer.mjs +11 -6
- package/fesm2022/odx-angular-components-footer.mjs.map +1 -1
- package/fesm2022/odx-angular-components-form-field.mjs +131 -0
- package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
- package/fesm2022/odx-angular-components-header-navigation.mjs +6 -0
- package/fesm2022/odx-angular-components-header-navigation.mjs.map +1 -1
- package/fesm2022/odx-angular-components-header.mjs +10 -0
- package/fesm2022/odx-angular-components-header.mjs.map +1 -1
- package/fesm2022/odx-angular-components-icon.mjs +57 -0
- package/fesm2022/odx-angular-components-icon.mjs.map +1 -1
- package/fesm2022/odx-angular-components-inline-message.mjs +13 -0
- package/fesm2022/odx-angular-components-inline-message.mjs.map +1 -1
- package/fesm2022/odx-angular-components-link.mjs +3 -0
- package/fesm2022/odx-angular-components-link.mjs.map +1 -1
- package/fesm2022/odx-angular-components-list.mjs +28 -1
- package/fesm2022/odx-angular-components-list.mjs.map +1 -1
- package/fesm2022/odx-angular-components-loading-spinner.mjs +30 -0
- package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
- package/fesm2022/odx-angular-components-logo.mjs +15 -0
- package/fesm2022/odx-angular-components-logo.mjs.map +1 -1
- package/fesm2022/odx-angular-components-main-menu.mjs +119 -0
- package/fesm2022/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2022/odx-angular-components-mainfilter-group.mjs +4 -0
- package/fesm2022/odx-angular-components-mainfilter-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-menu.mjs +36 -0
- package/fesm2022/odx-angular-components-menu.mjs.map +1 -1
- package/fesm2022/odx-angular-components-modal.mjs +252 -0
- package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
- package/fesm2022/odx-angular-components-navigation-back.mjs +3 -0
- package/fesm2022/odx-angular-components-navigation-back.mjs.map +1 -1
- package/fesm2022/odx-angular-components-notification.mjs +148 -6
- package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
- package/fesm2022/odx-angular-components-paginator.mjs +117 -0
- package/fesm2022/odx-angular-components-paginator.mjs.map +1 -1
- package/fesm2022/odx-angular-components-progress.mjs +15 -0
- package/fesm2022/odx-angular-components-progress.mjs.map +1 -1
- package/fesm2022/odx-angular-components-radio-group.mjs +11 -0
- package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-rail-navigation.mjs +42 -0
- package/fesm2022/odx-angular-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/odx-angular-components-rich-list.mjs +26 -3
- package/fesm2022/odx-angular-components-rich-list.mjs.map +1 -1
- package/fesm2022/odx-angular-components-select.mjs +122 -7
- package/fesm2022/odx-angular-components-select.mjs.map +1 -1
- package/fesm2022/odx-angular-components-slider.mjs +19 -0
- package/fesm2022/odx-angular-components-slider.mjs.map +1 -1
- package/fesm2022/odx-angular-components-spinbox.mjs +16 -0
- package/fesm2022/odx-angular-components-spinbox.mjs.map +1 -1
- package/fesm2022/odx-angular-components-switch.mjs +22 -0
- package/fesm2022/odx-angular-components-switch.mjs.map +1 -1
- package/fesm2022/odx-angular-components-tab-bar.mjs +97 -0
- package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-table.mjs +84 -1
- package/fesm2022/odx-angular-components-table.mjs.map +1 -1
- package/fesm2022/odx-angular-components-timepicker.mjs +20 -9
- package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-toast.mjs +61 -0
- package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
- package/fesm2022/odx-angular-components-toggle-button-group.mjs +23 -0
- package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-tooltip.mjs +52 -0
- package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
- package/fesm2022/odx-angular-components-wizard.mjs +54 -0
- package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
- package/fesm2022/odx-angular-internal-translate.mjs +60 -0
- package/fesm2022/odx-angular-internal-translate.mjs.map +1 -1
- package/fesm2022/odx-angular-internal.mjs +4 -1
- package/fesm2022/odx-angular-internal.mjs.map +1 -1
- package/fesm2022/odx-angular-localization.mjs +269 -32
- package/fesm2022/odx-angular-localization.mjs.map +1 -1
- package/fesm2022/odx-angular-rxjs.mjs +115 -5
- package/fesm2022/odx-angular-rxjs.mjs.map +1 -1
- package/fesm2022/odx-angular-sdk.mjs +50 -0
- package/fesm2022/odx-angular-sdk.mjs.map +1 -1
- package/fesm2022/odx-angular-theming.mjs +149 -0
- package/fesm2022/odx-angular-theming.mjs.map +1 -1
- package/fesm2022/odx-angular-utils.mjs +709 -1
- package/fesm2022/odx-angular-utils.mjs.map +1 -1
- package/fesm2022/odx-angular.mjs +322 -0
- package/fesm2022/odx-angular.mjs.map +1 -1
- package/internal/lib/helpers/fast-equals.d.ts +1 -0
- package/internal/lib/helpers/index.d.ts +1 -0
- package/internal/translate/lib/translate.config.d.ts +31 -0
- package/internal/translate/lib/translate.service.d.ts +29 -0
- package/lib/controllers/controller.d.ts +25 -0
- package/lib/controllers/disabled.controller.d.ts +59 -0
- package/lib/controllers/readonly.controller.d.ts +56 -0
- package/lib/directives/click-outside.directive.d.ts +29 -0
- package/lib/directives/delegate-focus.directive.d.ts +14 -0
- package/lib/services/window-ref.d.ts +66 -0
- package/lib/tokens/identity-matcher.d.ts +41 -0
- package/lib/tokens/string-search-handler.d.ts +39 -0
- package/lib/tokens/stringify.d.ts +42 -0
- package/localization/lib/features/with-http-language-header.d.ts +63 -0
- package/localization/lib/features/with-http-language-query-param.d.ts +61 -0
- package/localization/lib/loaders/browser-language-loader.d.ts +32 -0
- package/localization/lib/localization.config.d.ts +81 -2
- package/localization/lib/localization.logger.d.ts +3 -0
- package/localization/lib/localization.service.d.ts +42 -7
- package/package.json +8 -7
- package/rxjs/index.d.ts +1 -1
- package/rxjs/lib/delay-until.d.ts +22 -0
- package/rxjs/lib/from-element-mutation.d.ts +21 -0
- package/rxjs/lib/from-element-resize.d.ts +24 -0
- package/rxjs/lib/from-events.d.ts +24 -0
- package/rxjs/lib/from-query-list.d.ts +22 -0
- package/sdk/lib/application-environment.d.ts +59 -0
- package/theming/lib/helpers/prefers-dark-theme.d.ts +18 -0
- package/theming/lib/helpers/resolve-theme.d.ts +25 -0
- package/theming/lib/helpers/theme-storage.d.ts +42 -0
- package/theming/lib/theming.config.d.ts +46 -0
- package/theming/lib/theming.service.d.ts +31 -0
- package/utils/lib/decorators/pure.d.ts +51 -0
- package/utils/lib/helpers/angular.d.ts +36 -0
- package/utils/lib/helpers/array.d.ts +4 -0
- package/utils/lib/helpers/build-url.d.ts +20 -0
- package/utils/lib/helpers/build-website-url.d.ts +2 -1
- package/utils/lib/helpers/cache-storage-client.d.ts +51 -0
- package/utils/lib/helpers/coercion.d.ts +17 -0
- package/utils/lib/helpers/debounce.d.ts +27 -0
- package/utils/lib/helpers/defer-fn.d.ts +20 -0
- package/utils/lib/helpers/dom.d.ts +70 -0
- package/utils/lib/helpers/get-axis.d.ts +20 -0
- package/utils/lib/helpers/get-language-code.d.ts +17 -0
- package/utils/lib/helpers/get-opposite-side.d.ts +21 -0
- package/utils/lib/helpers/get-side.d.ts +17 -0
- package/utils/lib/helpers/get-unique-id.d.ts +33 -0
- package/utils/lib/helpers/match-url.d.ts +40 -0
- package/utils/lib/helpers/ng-changes.d.ts +52 -0
- package/utils/lib/helpers/provide-config.d.ts +56 -0
- package/utils/lib/helpers/queue.d.ts +83 -0
- package/utils/lib/helpers/type-guards.d.ts +57 -0
- package/utils/lib/helpers/until-destroyed.d.ts +38 -0
- package/esm2022/rxjs/lib/form-query-list.mjs +0 -5
- package/rxjs/lib/form-query-list.d.ts +0 -3
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { AfterViewInit, EventEmitter, QueryList } from '@angular/core';
|
|
2
2
|
import { WizardStepComponent } from './components';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* WizardComponent manages a series of steps, providing functionality for navigating forwards and backwards
|
|
6
|
+
* through the steps. It dynamically adjusts the visibility of steps based on the available space and current active step.
|
|
7
|
+
* The component supports both horizontal and vertical orientations.
|
|
8
|
+
*/
|
|
4
9
|
export declare class WizardComponent implements AfterViewInit {
|
|
5
10
|
private readonly destroyed;
|
|
6
11
|
private readonly renderer;
|
|
@@ -11,11 +16,26 @@ export declare class WizardComponent implements AfterViewInit {
|
|
|
11
16
|
private activeStep;
|
|
12
17
|
protected readonly steps: QueryList<WizardStepComponent>;
|
|
13
18
|
readonly element: import("@angular/core").ElementRef<HTMLElement>;
|
|
19
|
+
/**
|
|
20
|
+
* Indicates if the wizard layout should be vertical. When true, the wizard orientation changes to vertical.
|
|
21
|
+
*/
|
|
14
22
|
vertical: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Event emitted when the active step changes, providing the index of the new active step.
|
|
25
|
+
*/
|
|
15
26
|
activeStepChanged: EventEmitter<number>;
|
|
16
27
|
ngAfterViewInit(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Navigates to the next step in the wizard.
|
|
30
|
+
*/
|
|
17
31
|
nextStep(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Navigates to the previous step in the wizard.
|
|
34
|
+
*/
|
|
18
35
|
previousStep(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Sets the active step to the specified index.
|
|
38
|
+
*/
|
|
19
39
|
setActiveStepValid(): void;
|
|
20
40
|
private calculateVisibleStepsSegments;
|
|
21
41
|
private getStyleFromCSS;
|
|
@@ -1,14 +1,58 @@
|
|
|
1
1
|
import { animate, animation, style } from '@angular/animations';
|
|
2
2
|
import { DEFAULT_ANIMATION_PARAMS } from './config';
|
|
3
|
+
/**
|
|
4
|
+
* Animation for smoothly expanding an element from height 0 to its natural height.
|
|
5
|
+
* It transitions the element's height, padding, margin, and opacity from a collapsed state to an expanded state,
|
|
6
|
+
* making the element smoothly grow into view.
|
|
7
|
+
*
|
|
8
|
+
* The `expand` animation uses `DEFAULT_ANIMATION_PARAMS` for its default parameters, which can be overridden
|
|
9
|
+
* when using the animation.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* // Example usage in an Angular component
|
|
14
|
+
* import { expand, collapse } from '@odx/angular/animations';
|
|
15
|
+
*
|
|
16
|
+
* @Component({
|
|
17
|
+
* selector: 'my-expandable-component',
|
|
18
|
+
* templateUrl: './expandable-component.html',
|
|
19
|
+
* animations: [
|
|
20
|
+
* trigger('expandCollapse', [
|
|
21
|
+
* transition('collapsed => expanded', useAnimation(expand)),
|
|
22
|
+
* transition('expanded => collapsed', useAnimation(collapse)),
|
|
23
|
+
* ])
|
|
24
|
+
* ]
|
|
25
|
+
* })
|
|
26
|
+
* export class ExpandableComponent {
|
|
27
|
+
* state = 'collapsed';
|
|
28
|
+
*
|
|
29
|
+
* toggle(): void {
|
|
30
|
+
* this.state = this.state === 'collapsed' ? 'expanded' : 'collapsed';
|
|
31
|
+
* }
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* The animation smoothly transitions various properties (height, padding, margin, and opacity) and is controlled
|
|
36
|
+
* through parameters defined in `DEFAULT_ANIMATION_PARAMS` or those provided during usage.
|
|
37
|
+
*/
|
|
3
38
|
export const expand = animation([
|
|
4
39
|
style({ height: 0, minHeight: 0, paddingTop: 0, paddingBottom: 0, opacity: 0, marginTop: 0, marginBottom: 0, overflow: 'hidden' }),
|
|
5
40
|
animate('{{duration}} {{ delay }} {{ timingFn }}', style({ height: '*', paddingTop: '*', paddingBottom: '*', opacity: 1, marginTop: '*', marginBottom: '*' })),
|
|
6
41
|
], {
|
|
7
42
|
params: DEFAULT_ANIMATION_PARAMS,
|
|
8
43
|
});
|
|
44
|
+
/**
|
|
45
|
+
* Animation for smoothly collapsing an element from its natural height to height 0.
|
|
46
|
+
* It transitions the element's height, padding, margin, and opacity from an expanded state to a collapsed state,
|
|
47
|
+
* making the element smoothly shrink out of view.
|
|
48
|
+
*
|
|
49
|
+
* The `collapse` animation also uses `DEFAULT_ANIMATION_PARAMS` for its default parameters, which can be overridden
|
|
50
|
+
* when using the animation. It's designed to be used in conjunction with the `expand` animation for creating
|
|
51
|
+
* expandable/collapsible elements.
|
|
52
|
+
*/
|
|
9
53
|
export const collapse = animation([
|
|
10
54
|
animate('{{duration}} {{ delay }} {{ timingFn }}', style({ height: 0, minHeight: 0, paddingTop: 0, paddingBottom: 0, opacity: 0, marginTop: 0, marginBottom: 0, overflow: 'hidden' })),
|
|
11
55
|
], {
|
|
12
56
|
params: DEFAULT_ANIMATION_PARAMS,
|
|
13
57
|
});
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2FuaW1hdGlvbnMvc3JjL2xpYi9leHBhbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXBEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FDN0I7SUFDRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUNsSSxPQUFPLENBQ0wseUNBQXlDLEVBQ3pDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FDM0c7Q0FDRixFQUNEO0lBQ0UsTUFBTSxFQUFFLHdCQUF3QjtDQUNqQyxDQUNGLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQy9CO0lBQ0UsT0FBTyxDQUNMLHlDQUF5QyxFQUN6QyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUNuSTtDQUNGLEVBQ0Q7SUFDRSxNQUFNLEVBQUUsd0JBQXdCO0NBQ2pDLENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIGFuaW1hdGlvbiwgc3R5bGUgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IERFRkFVTFRfQU5JTUFUSU9OX1BBUkFNUyB9IGZyb20gJy4vY29uZmlnJztcblxuLyoqXG4gKiBBbmltYXRpb24gZm9yIHNtb290aGx5IGV4cGFuZGluZyBhbiBlbGVtZW50IGZyb20gaGVpZ2h0IDAgdG8gaXRzIG5hdHVyYWwgaGVpZ2h0LlxuICogSXQgdHJhbnNpdGlvbnMgdGhlIGVsZW1lbnQncyBoZWlnaHQsIHBhZGRpbmcsIG1hcmdpbiwgYW5kIG9wYWNpdHkgZnJvbSBhIGNvbGxhcHNlZCBzdGF0ZSB0byBhbiBleHBhbmRlZCBzdGF0ZSxcbiAqIG1ha2luZyB0aGUgZWxlbWVudCBzbW9vdGhseSBncm93IGludG8gdmlldy5cbiAqXG4gKiBUaGUgYGV4cGFuZGAgYW5pbWF0aW9uIHVzZXMgYERFRkFVTFRfQU5JTUFUSU9OX1BBUkFNU2AgZm9yIGl0cyBkZWZhdWx0IHBhcmFtZXRlcnMsIHdoaWNoIGNhbiBiZSBvdmVycmlkZGVuXG4gKiB3aGVuIHVzaW5nIHRoZSBhbmltYXRpb24uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBFeGFtcGxlIHVzYWdlIGluIGFuIEFuZ3VsYXIgY29tcG9uZW50XG4gKiBpbXBvcnQgeyBleHBhbmQsIGNvbGxhcHNlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2FuaW1hdGlvbnMnO1xuICpcbiAqIEBDb21wb25lbnQoe1xuICogICBzZWxlY3RvcjogJ215LWV4cGFuZGFibGUtY29tcG9uZW50JyxcbiAqICAgdGVtcGxhdGVVcmw6ICcuL2V4cGFuZGFibGUtY29tcG9uZW50Lmh0bWwnLFxuICogICBhbmltYXRpb25zOiBbXG4gKiAgICAgdHJpZ2dlcignZXhwYW5kQ29sbGFwc2UnLCBbXG4gKiAgICAgICB0cmFuc2l0aW9uKCdjb2xsYXBzZWQgPT4gZXhwYW5kZWQnLCB1c2VBbmltYXRpb24oZXhwYW5kKSksXG4gKiAgICAgICB0cmFuc2l0aW9uKCdleHBhbmRlZCA9PiBjb2xsYXBzZWQnLCB1c2VBbmltYXRpb24oY29sbGFwc2UpKSxcbiAqICAgICBdKVxuICogICBdXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIEV4cGFuZGFibGVDb21wb25lbnQge1xuICogICBzdGF0ZSA9ICdjb2xsYXBzZWQnO1xuICpcbiAqICAgdG9nZ2xlKCk6IHZvaWQge1xuICogICAgIHRoaXMuc3RhdGUgPSB0aGlzLnN0YXRlID09PSAnY29sbGFwc2VkJyA/ICdleHBhbmRlZCcgOiAnY29sbGFwc2VkJztcbiAqICAgfVxuICogfVxuICogYGBgXG4gKlxuICogVGhlIGFuaW1hdGlvbiBzbW9vdGhseSB0cmFuc2l0aW9ucyB2YXJpb3VzIHByb3BlcnRpZXMgKGhlaWdodCwgcGFkZGluZywgbWFyZ2luLCBhbmQgb3BhY2l0eSkgYW5kIGlzIGNvbnRyb2xsZWRcbiAqIHRocm91Z2ggcGFyYW1ldGVycyBkZWZpbmVkIGluIGBERUZBVUxUX0FOSU1BVElPTl9QQVJBTVNgIG9yIHRob3NlIHByb3ZpZGVkIGR1cmluZyB1c2FnZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4cGFuZCA9IGFuaW1hdGlvbihcbiAgW1xuICAgIHN0eWxlKHsgaGVpZ2h0OiAwLCBtaW5IZWlnaHQ6IDAsIHBhZGRpbmdUb3A6IDAsIHBhZGRpbmdCb3R0b206IDAsIG9wYWNpdHk6IDAsIG1hcmdpblRvcDogMCwgbWFyZ2luQm90dG9tOiAwLCBvdmVyZmxvdzogJ2hpZGRlbicgfSksXG4gICAgYW5pbWF0ZShcbiAgICAgICd7e2R1cmF0aW9ufX0ge3sgZGVsYXkgfX0ge3sgdGltaW5nRm4gfX0nLFxuICAgICAgc3R5bGUoeyBoZWlnaHQ6ICcqJywgcGFkZGluZ1RvcDogJyonLCBwYWRkaW5nQm90dG9tOiAnKicsIG9wYWNpdHk6IDEsIG1hcmdpblRvcDogJyonLCBtYXJnaW5Cb3R0b206ICcqJyB9KSxcbiAgICApLFxuICBdLFxuICB7XG4gICAgcGFyYW1zOiBERUZBVUxUX0FOSU1BVElPTl9QQVJBTVMsXG4gIH0sXG4pO1xuXG4vKipcbiAqIEFuaW1hdGlvbiBmb3Igc21vb3RobHkgY29sbGFwc2luZyBhbiBlbGVtZW50IGZyb20gaXRzIG5hdHVyYWwgaGVpZ2h0IHRvIGhlaWdodCAwLlxuICogSXQgdHJhbnNpdGlvbnMgdGhlIGVsZW1lbnQncyBoZWlnaHQsIHBhZGRpbmcsIG1hcmdpbiwgYW5kIG9wYWNpdHkgZnJvbSBhbiBleHBhbmRlZCBzdGF0ZSB0byBhIGNvbGxhcHNlZCBzdGF0ZSxcbiAqIG1ha2luZyB0aGUgZWxlbWVudCBzbW9vdGhseSBzaHJpbmsgb3V0IG9mIHZpZXcuXG4gKlxuICogVGhlIGBjb2xsYXBzZWAgYW5pbWF0aW9uIGFsc28gdXNlcyBgREVGQVVMVF9BTklNQVRJT05fUEFSQU1TYCBmb3IgaXRzIGRlZmF1bHQgcGFyYW1ldGVycywgd2hpY2ggY2FuIGJlIG92ZXJyaWRkZW5cbiAqIHdoZW4gdXNpbmcgdGhlIGFuaW1hdGlvbi4gSXQncyBkZXNpZ25lZCB0byBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGBleHBhbmRgIGFuaW1hdGlvbiBmb3IgY3JlYXRpbmdcbiAqIGV4cGFuZGFibGUvY29sbGFwc2libGUgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBjb25zdCBjb2xsYXBzZSA9IGFuaW1hdGlvbihcbiAgW1xuICAgIGFuaW1hdGUoXG4gICAgICAne3tkdXJhdGlvbn19IHt7IGRlbGF5IH19IHt7IHRpbWluZ0ZuIH19JyxcbiAgICAgIHN0eWxlKHsgaGVpZ2h0OiAwLCBtaW5IZWlnaHQ6IDAsIHBhZGRpbmdUb3A6IDAsIHBhZGRpbmdCb3R0b206IDAsIG9wYWNpdHk6IDAsIG1hcmdpblRvcDogMCwgbWFyZ2luQm90dG9tOiAwLCBvdmVyZmxvdzogJ2hpZGRlbicgfSksXG4gICAgKSxcbiAgXSxcbiAge1xuICAgIHBhcmFtczogREVGQVVMVF9BTklNQVRJT05fUEFSQU1TLFxuICB9LFxuKTtcbiJdfQ==
|
|
@@ -1,9 +1,79 @@
|
|
|
1
1
|
import { animate, animation, style } from '@angular/animations';
|
|
2
2
|
import { DEFAULT_ANIMATION_PARAMS } from './config';
|
|
3
|
+
/**
|
|
4
|
+
* Generates a fadeIn animation with customizable opacity target.
|
|
5
|
+
* This animation gradually changes the element's opacity from 0 to a specified value, creating a "fade in" visual effect.
|
|
6
|
+
*
|
|
7
|
+
* @param {number} to - The final opacity value of the element at the end of the animation. Defaults to 1 (fully opaque).
|
|
8
|
+
* @returns {AnimationReferenceMetadata} An Angular animation object that can be used with Angular's animation system.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* // Example usage in an Angular component with a fadeIn animation
|
|
13
|
+
* import { fadeIn } from '@odx/angular/animations';
|
|
14
|
+
* import { trigger, transition, useAnimation } from '@angular/animations';
|
|
15
|
+
*
|
|
16
|
+
* @Component({
|
|
17
|
+
* selector: 'app-fade-in-example',
|
|
18
|
+
* template: `
|
|
19
|
+
* <div @fadeInAnimation *ngIf="isVisible">Fade In Content</div>
|
|
20
|
+
* <button (click)="showContent()">Show Content</button>`,
|
|
21
|
+
* animations: [
|
|
22
|
+
* trigger('fadeInAnimation', [
|
|
23
|
+
* transition(':enter', useAnimation(fadeIn(), { params: { duration: '500ms' } }))
|
|
24
|
+
* ])
|
|
25
|
+
* ]
|
|
26
|
+
* })
|
|
27
|
+
* export class FadeInExampleComponent {
|
|
28
|
+
* isVisible = false;
|
|
29
|
+
*
|
|
30
|
+
* showContent(): void {
|
|
31
|
+
* this.isVisible = true;
|
|
32
|
+
* }
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* This example demonstrates how to apply the fadeIn animation to an element, making it smoothly appear on the screen.
|
|
37
|
+
*/
|
|
3
38
|
export const fadeIn = (to = 1) => animation([style({ opacity: 0 }), animate('{{duration}} {{ delay }} {{ timingFn }}', style({ opacity: to }))], {
|
|
4
39
|
params: DEFAULT_ANIMATION_PARAMS,
|
|
5
40
|
});
|
|
41
|
+
/**
|
|
42
|
+
* Generates a fadeOut animation with customizable opacity target.
|
|
43
|
+
* This animation gradually changes the element's opacity from its current value to a specified value, creating a "fade out" visual effect.
|
|
44
|
+
*
|
|
45
|
+
* @param {number} to - The target opacity value of the element at the end of the animation. Defaults to 0 (fully transparent).
|
|
46
|
+
* @returns {AnimationReferenceMetadata} An Angular animation object that can be used with Angular's animation system.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```ts
|
|
50
|
+
* // Example usage in an Angular component with a fadeOut animation
|
|
51
|
+
* import { fadeOut } from '@odx/angular/animations';
|
|
52
|
+
* import { trigger, transition, useAnimation } from '@angular/animations';
|
|
53
|
+
*
|
|
54
|
+
* @Component({
|
|
55
|
+
* selector: 'app-fade-out-example',
|
|
56
|
+
* template: `
|
|
57
|
+
* <div @fadeOutAnimation *ngIf="isVisible">Fade Out Content</div>
|
|
58
|
+
* <button (click)="hideContent()">Hide Content</button>`,
|
|
59
|
+
* animations: [
|
|
60
|
+
* trigger('fadeOutAnimation', [
|
|
61
|
+
* transition(':leave', useAnimation(fadeOut(), { params: { duration: '500ms' } }))
|
|
62
|
+
* ])
|
|
63
|
+
* ]
|
|
64
|
+
* })
|
|
65
|
+
* export class FadeOutExampleComponent {
|
|
66
|
+
* isVisible = true;
|
|
67
|
+
*
|
|
68
|
+
* hideContent(): void {
|
|
69
|
+
* this.isVisible = false;
|
|
70
|
+
* }
|
|
71
|
+
* }
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* This example demonstrates how to apply the fadeOut animation to an element, making it smoothly disappear from the screen.
|
|
75
|
+
*/
|
|
6
76
|
export const fadeOut = (to = 0) => animation([animate('{{duration}} {{ delay }} {{ timingFn }}', style({ opacity: to }))], {
|
|
7
77
|
params: DEFAULT_ANIMATION_PARAMS,
|
|
8
78
|
});
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9hbmltYXRpb25zL3NyYy9saWIvZmFkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ0c7QUFDSCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FDL0IsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLHlDQUF5QyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUM3RyxNQUFNLEVBQUUsd0JBQXdCO0NBQ2pDLENBQUMsQ0FBQztBQUVMOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQ2hDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyx5Q0FBeUMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7SUFDdEYsTUFBTSxFQUFFLHdCQUF3QjtDQUNqQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBhbmltYXRpb24sIHN0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBERUZBVUxUX0FOSU1BVElPTl9QQVJBTVMgfSBmcm9tICcuL2NvbmZpZyc7XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgZmFkZUluIGFuaW1hdGlvbiB3aXRoIGN1c3RvbWl6YWJsZSBvcGFjaXR5IHRhcmdldC5cbiAqIFRoaXMgYW5pbWF0aW9uIGdyYWR1YWxseSBjaGFuZ2VzIHRoZSBlbGVtZW50J3Mgb3BhY2l0eSBmcm9tIDAgdG8gYSBzcGVjaWZpZWQgdmFsdWUsIGNyZWF0aW5nIGEgXCJmYWRlIGluXCIgdmlzdWFsIGVmZmVjdC5cbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gdG8gLSBUaGUgZmluYWwgb3BhY2l0eSB2YWx1ZSBvZiB0aGUgZWxlbWVudCBhdCB0aGUgZW5kIG9mIHRoZSBhbmltYXRpb24uIERlZmF1bHRzIHRvIDEgKGZ1bGx5IG9wYXF1ZSkuXG4gKiBAcmV0dXJucyB7QW5pbWF0aW9uUmVmZXJlbmNlTWV0YWRhdGF9IEFuIEFuZ3VsYXIgYW5pbWF0aW9uIG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGFuaW1hdGlvbiBzeXN0ZW0uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBFeGFtcGxlIHVzYWdlIGluIGFuIEFuZ3VsYXIgY29tcG9uZW50IHdpdGggYSBmYWRlSW4gYW5pbWF0aW9uXG4gKiBpbXBvcnQgeyBmYWRlSW4gfSBmcm9tICdAb2R4L2FuZ3VsYXIvYW5pbWF0aW9ucyc7XG4gKiBpbXBvcnQgeyB0cmlnZ2VyLCB0cmFuc2l0aW9uLCB1c2VBbmltYXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbiAqXG4gKiBAQ29tcG9uZW50KHtcbiAqICAgc2VsZWN0b3I6ICdhcHAtZmFkZS1pbi1leGFtcGxlJyxcbiAqICAgdGVtcGxhdGU6IGBcbiAqICAgICAgIDxkaXYgQGZhZGVJbkFuaW1hdGlvbiAqbmdJZj1cImlzVmlzaWJsZVwiPkZhZGUgSW4gQ29udGVudDwvZGl2PlxuICogICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic2hvd0NvbnRlbnQoKVwiPlNob3cgQ29udGVudDwvYnV0dG9uPmAsXG4gKiAgIGFuaW1hdGlvbnM6IFtcbiAqICAgICB0cmlnZ2VyKCdmYWRlSW5BbmltYXRpb24nLCBbXG4gKiAgICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCB1c2VBbmltYXRpb24oZmFkZUluKCksIHsgcGFyYW1zOiB7IGR1cmF0aW9uOiAnNTAwbXMnIH0gfSkpXG4gKiAgICAgXSlcbiAqICAgXVxuICogfSlcbiAqIGV4cG9ydCBjbGFzcyBGYWRlSW5FeGFtcGxlQ29tcG9uZW50IHtcbiAqICAgaXNWaXNpYmxlID0gZmFsc2U7XG4gKlxuICogICBzaG93Q29udGVudCgpOiB2b2lkIHtcbiAqICAgICB0aGlzLmlzVmlzaWJsZSA9IHRydWU7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICpcbiAqIFRoaXMgZXhhbXBsZSBkZW1vbnN0cmF0ZXMgaG93IHRvIGFwcGx5IHRoZSBmYWRlSW4gYW5pbWF0aW9uIHRvIGFuIGVsZW1lbnQsIG1ha2luZyBpdCBzbW9vdGhseSBhcHBlYXIgb24gdGhlIHNjcmVlbi5cbiAqL1xuZXhwb3J0IGNvbnN0IGZhZGVJbiA9ICh0byA9IDEpID0+XG4gIGFuaW1hdGlvbihbc3R5bGUoeyBvcGFjaXR5OiAwIH0pLCBhbmltYXRlKCd7e2R1cmF0aW9ufX0ge3sgZGVsYXkgfX0ge3sgdGltaW5nRm4gfX0nLCBzdHlsZSh7IG9wYWNpdHk6IHRvIH0pKV0sIHtcbiAgICBwYXJhbXM6IERFRkFVTFRfQU5JTUFUSU9OX1BBUkFNUyxcbiAgfSk7XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgZmFkZU91dCBhbmltYXRpb24gd2l0aCBjdXN0b21pemFibGUgb3BhY2l0eSB0YXJnZXQuXG4gKiBUaGlzIGFuaW1hdGlvbiBncmFkdWFsbHkgY2hhbmdlcyB0aGUgZWxlbWVudCdzIG9wYWNpdHkgZnJvbSBpdHMgY3VycmVudCB2YWx1ZSB0byBhIHNwZWNpZmllZCB2YWx1ZSwgY3JlYXRpbmcgYSBcImZhZGUgb3V0XCIgdmlzdWFsIGVmZmVjdC5cbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gdG8gLSBUaGUgdGFyZ2V0IG9wYWNpdHkgdmFsdWUgb2YgdGhlIGVsZW1lbnQgYXQgdGhlIGVuZCBvZiB0aGUgYW5pbWF0aW9uLiBEZWZhdWx0cyB0byAwIChmdWxseSB0cmFuc3BhcmVudCkuXG4gKiBAcmV0dXJucyB7QW5pbWF0aW9uUmVmZXJlbmNlTWV0YWRhdGF9IEFuIEFuZ3VsYXIgYW5pbWF0aW9uIG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGFuaW1hdGlvbiBzeXN0ZW0uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBFeGFtcGxlIHVzYWdlIGluIGFuIEFuZ3VsYXIgY29tcG9uZW50IHdpdGggYSBmYWRlT3V0IGFuaW1hdGlvblxuICogaW1wb3J0IHsgZmFkZU91dCB9IGZyb20gJ0BvZHgvYW5ndWxhci9hbmltYXRpb25zJztcbiAqIGltcG9ydCB7IHRyaWdnZXIsIHRyYW5zaXRpb24sIHVzZUFuaW1hdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuICpcbiAqIEBDb21wb25lbnQoe1xuICogICBzZWxlY3RvcjogJ2FwcC1mYWRlLW91dC1leGFtcGxlJyxcbiAqICAgdGVtcGxhdGU6IGBcbiAqICAgICAgPGRpdiBAZmFkZU91dEFuaW1hdGlvbiAqbmdJZj1cImlzVmlzaWJsZVwiPkZhZGUgT3V0IENvbnRlbnQ8L2Rpdj5cbiAqICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiaGlkZUNvbnRlbnQoKVwiPkhpZGUgQ29udGVudDwvYnV0dG9uPmAsXG4gKiAgIGFuaW1hdGlvbnM6IFtcbiAqICAgICB0cmlnZ2VyKCdmYWRlT3V0QW5pbWF0aW9uJywgW1xuICogICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgdXNlQW5pbWF0aW9uKGZhZGVPdXQoKSwgeyBwYXJhbXM6IHsgZHVyYXRpb246ICc1MDBtcycgfSB9KSlcbiAqICAgICBdKVxuICogICBdXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIEZhZGVPdXRFeGFtcGxlQ29tcG9uZW50IHtcbiAqICAgaXNWaXNpYmxlID0gdHJ1ZTtcbiAqXG4gKiAgIGhpZGVDb250ZW50KCk6IHZvaWQge1xuICogICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICpcbiAqIFRoaXMgZXhhbXBsZSBkZW1vbnN0cmF0ZXMgaG93IHRvIGFwcGx5IHRoZSBmYWRlT3V0IGFuaW1hdGlvbiB0byBhbiBlbGVtZW50LCBtYWtpbmcgaXQgc21vb3RobHkgZGlzYXBwZWFyIGZyb20gdGhlIHNjcmVlbi5cbiAqL1xuZXhwb3J0IGNvbnN0IGZhZGVPdXQgPSAodG8gPSAwKSA9PlxuICBhbmltYXRpb24oW2FuaW1hdGUoJ3t7ZHVyYXRpb259fSB7eyBkZWxheSB9fSB7eyB0aW1pbmdGbiB9fScsIHN0eWxlKHsgb3BhY2l0eTogdG8gfSkpXSwge1xuICAgIHBhcmFtczogREVGQVVMVF9BTklNQVRJT05fUEFSQU1TLFxuICB9KTtcbiJdfQ==
|
|
@@ -19,6 +19,27 @@ function createSlideOutAnimation(to, direction) {
|
|
|
19
19
|
},
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Utility functions for creating slide-in and slide-out animations in specific directions.
|
|
24
|
+
* These include slideInX, slideInY, slideInDown, slideInUp, slideInLeft, slideInRight,
|
|
25
|
+
* slideOutX, slideOutY, slideOutDown, slideOutUp, slideOutLeft, and slideOutRight.
|
|
26
|
+
* Each function is configured for a specific slide direction and distance, making it easy to apply
|
|
27
|
+
* consistent slide animations across your application.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* // Using slideInLeft and slideOutRight in a component
|
|
32
|
+
* animations: [
|
|
33
|
+
* trigger('slideInOut', [
|
|
34
|
+
* transition(':enter', [useAnimation(slideInLeft)]),
|
|
35
|
+
* transition(':leave', [useAnimation(slideOutRight)])
|
|
36
|
+
* ])
|
|
37
|
+
* ]
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* Note: The 'from' and 'to' parameters for slideIn and slideOut functions respectively
|
|
41
|
+
* can be customized for different slide distances.
|
|
42
|
+
*/
|
|
22
43
|
export const slideInX = (from) => createSlideInAnimation(from, 'X');
|
|
23
44
|
export const slideInY = (from) => createSlideInAnimation(from, 'Y');
|
|
24
45
|
export const slideInDown = slideInY('-100%');
|
|
@@ -31,4 +52,4 @@ export const slideOutDown = slideOutY('100%');
|
|
|
31
52
|
export const slideOutUp = slideOutY('-100%');
|
|
32
53
|
export const slideOutLeft = slideOutX('-100%');
|
|
33
54
|
export const slideOutRight = slideOutX('100%');
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvYW5pbWF0aW9ucy9zcmMvbGliL3NsaWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUE4QixLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFcEQsU0FBUyxzQkFBc0IsQ0FBQyxJQUFZLEVBQUUsU0FBb0I7SUFDaEUsT0FBTyxTQUFTLENBQ2Q7UUFDRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsWUFBWSxTQUFTLGNBQWMsRUFBRSxDQUFDO1FBQ3pELE9BQU8sQ0FBQyx5Q0FBeUMsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsWUFBWSxTQUFTLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDckcsRUFDRDtRQUNFLE1BQU0sRUFBRTtZQUNOLEdBQUcsd0JBQXdCO1lBQzNCLElBQUk7U0FDTDtLQUNGLENBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLHVCQUF1QixDQUFDLEVBQVUsRUFBRSxTQUFvQjtJQUMvRCxPQUFPLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyx5Q0FBeUMsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsWUFBWSxTQUFTLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQzlILE1BQU0sRUFBRTtZQUNOLEdBQUcsd0JBQXdCO1lBQzNCLEVBQUU7U0FDSDtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztBQUM1RSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztBQUM1RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDMUMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM3QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsdUJBQXVCLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsdUJBQXVCLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDOUMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM3QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBhbmltYXRpb24sIEFuaW1hdGlvblJlZmVyZW5jZU1ldGFkYXRhLCBzdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgREVGQVVMVF9BTklNQVRJT05fUEFSQU1TIH0gZnJvbSAnLi9jb25maWcnO1xuXG5mdW5jdGlvbiBjcmVhdGVTbGlkZUluQW5pbWF0aW9uKGZyb206IHN0cmluZywgZGlyZWN0aW9uOiAnWCcgfCAnWScpOiBBbmltYXRpb25SZWZlcmVuY2VNZXRhZGF0YSB7XG4gIHJldHVybiBhbmltYXRpb24oXG4gICAgW1xuICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06IGB0cmFuc2xhdGUke2RpcmVjdGlvbn0oe3sgZnJvbSB9fSlgIH0pLFxuICAgICAgYW5pbWF0ZSgne3tkdXJhdGlvbn19IHt7IGRlbGF5IH19IHt7IHRpbWluZ0ZuIH19Jywgc3R5bGUoeyB0cmFuc2Zvcm06IGB0cmFuc2xhdGUke2RpcmVjdGlvbn0oMClgIH0pKSxcbiAgICBdLFxuICAgIHtcbiAgICAgIHBhcmFtczoge1xuICAgICAgICAuLi5ERUZBVUxUX0FOSU1BVElPTl9QQVJBTVMsXG4gICAgICAgIGZyb20sXG4gICAgICB9LFxuICAgIH0sXG4gICk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVNsaWRlT3V0QW5pbWF0aW9uKHRvOiBzdHJpbmcsIGRpcmVjdGlvbjogJ1gnIHwgJ1knKTogQW5pbWF0aW9uUmVmZXJlbmNlTWV0YWRhdGEge1xuICByZXR1cm4gYW5pbWF0aW9uKFthbmltYXRlKCd7e2R1cmF0aW9ufX0ge3sgZGVsYXkgfX0ge3sgdGltaW5nRm4gfX0nLCBzdHlsZSh7IHRyYW5zZm9ybTogYHRyYW5zbGF0ZSR7ZGlyZWN0aW9ufSh7eyB0byB9fSlgIH0pKV0sIHtcbiAgICBwYXJhbXM6IHtcbiAgICAgIC4uLkRFRkFVTFRfQU5JTUFUSU9OX1BBUkFNUyxcbiAgICAgIHRvLFxuICAgIH0sXG4gIH0pO1xufVxuXG4vKipcbiAqIFV0aWxpdHkgZnVuY3Rpb25zIGZvciBjcmVhdGluZyBzbGlkZS1pbiBhbmQgc2xpZGUtb3V0IGFuaW1hdGlvbnMgaW4gc3BlY2lmaWMgZGlyZWN0aW9ucy5cbiAqIFRoZXNlIGluY2x1ZGUgc2xpZGVJblgsIHNsaWRlSW5ZLCBzbGlkZUluRG93biwgc2xpZGVJblVwLCBzbGlkZUluTGVmdCwgc2xpZGVJblJpZ2h0LFxuICogc2xpZGVPdXRYLCBzbGlkZU91dFksIHNsaWRlT3V0RG93biwgc2xpZGVPdXRVcCwgc2xpZGVPdXRMZWZ0LCBhbmQgc2xpZGVPdXRSaWdodC5cbiAqIEVhY2ggZnVuY3Rpb24gaXMgY29uZmlndXJlZCBmb3IgYSBzcGVjaWZpYyBzbGlkZSBkaXJlY3Rpb24gYW5kIGRpc3RhbmNlLCBtYWtpbmcgaXQgZWFzeSB0byBhcHBseVxuICogY29uc2lzdGVudCBzbGlkZSBhbmltYXRpb25zIGFjcm9zcyB5b3VyIGFwcGxpY2F0aW9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogLy8gVXNpbmcgc2xpZGVJbkxlZnQgYW5kIHNsaWRlT3V0UmlnaHQgaW4gYSBjb21wb25lbnRcbiAqIGFuaW1hdGlvbnM6IFtcbiAqICAgdHJpZ2dlcignc2xpZGVJbk91dCcsIFtcbiAqICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbdXNlQW5pbWF0aW9uKHNsaWRlSW5MZWZ0KV0pLFxuICogICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFt1c2VBbmltYXRpb24oc2xpZGVPdXRSaWdodCldKVxuICogICBdKVxuICogXVxuICogYGBgXG4gKlxuICogTm90ZTogVGhlICdmcm9tJyBhbmQgJ3RvJyBwYXJhbWV0ZXJzIGZvciBzbGlkZUluIGFuZCBzbGlkZU91dCBmdW5jdGlvbnMgcmVzcGVjdGl2ZWx5XG4gKiBjYW4gYmUgY3VzdG9taXplZCBmb3IgZGlmZmVyZW50IHNsaWRlIGRpc3RhbmNlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IHNsaWRlSW5YID0gKGZyb206IHN0cmluZykgPT4gY3JlYXRlU2xpZGVJbkFuaW1hdGlvbihmcm9tLCAnWCcpO1xuZXhwb3J0IGNvbnN0IHNsaWRlSW5ZID0gKGZyb206IHN0cmluZykgPT4gY3JlYXRlU2xpZGVJbkFuaW1hdGlvbihmcm9tLCAnWScpO1xuZXhwb3J0IGNvbnN0IHNsaWRlSW5Eb3duID0gc2xpZGVJblkoJy0xMDAlJyk7XG5leHBvcnQgY29uc3Qgc2xpZGVJblVwID0gc2xpZGVJblkoJzEwMCUnKTtcbmV4cG9ydCBjb25zdCBzbGlkZUluTGVmdCA9IHNsaWRlSW5YKCctMTAwJScpO1xuZXhwb3J0IGNvbnN0IHNsaWRlSW5SaWdodCA9IHNsaWRlSW5YKCcxMDAlJyk7XG5cbmV4cG9ydCBjb25zdCBzbGlkZU91dFggPSAodG86IHN0cmluZykgPT4gY3JlYXRlU2xpZGVPdXRBbmltYXRpb24odG8sICdYJyk7XG5leHBvcnQgY29uc3Qgc2xpZGVPdXRZID0gKHRvOiBzdHJpbmcpID0+IGNyZWF0ZVNsaWRlT3V0QW5pbWF0aW9uKHRvLCAnWScpO1xuZXhwb3J0IGNvbnN0IHNsaWRlT3V0RG93biA9IHNsaWRlT3V0WSgnMTAwJScpO1xuZXhwb3J0IGNvbnN0IHNsaWRlT3V0VXAgPSBzbGlkZU91dFkoJy0xMDAlJyk7XG5leHBvcnQgY29uc3Qgc2xpZGVPdXRMZWZ0ID0gc2xpZGVPdXRYKCctMTAwJScpO1xuZXhwb3J0IGNvbnN0IHNsaWRlT3V0UmlnaHQgPSBzbGlkZU91dFgoJzEwMCUnKTtcbiJdfQ==
|
|
@@ -1,3 +1,41 @@
|
|
|
1
1
|
import { animateChild, query, transition } from '@angular/animations';
|
|
2
|
+
/**
|
|
3
|
+
* Utility animation that waits for animations on child components to complete.
|
|
4
|
+
* This animation should be used within parent components that have child components with their
|
|
5
|
+
* own animations. It ensures that the parent's enter and leave animations are only triggered
|
|
6
|
+
* after all child animations have completed, creating a seamless animation sequence.
|
|
7
|
+
*
|
|
8
|
+
* This utility uses Angular's animation functions `query` and `animateChild` to find and animate
|
|
9
|
+
* child elements marked with Angular's animation triggers. The `{ optional: true }` parameter
|
|
10
|
+
* ensures that the animation gracefully handles cases where no child animations are defined.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* // Using waitForChildAnimations in a parent component with children that have animations
|
|
15
|
+
* import { trigger, transition, style, animate, query, animateChild } from '@angular/animations';
|
|
16
|
+
* import { waitForChildAnimations } from '@odx/angular/animations';
|
|
17
|
+
*
|
|
18
|
+
* @Component({
|
|
19
|
+
* selector: 'app-parent',
|
|
20
|
+
* templateUrl: './parent.component.html',
|
|
21
|
+
* animations: [
|
|
22
|
+
* trigger('parentAnimation', [
|
|
23
|
+
* // Define parent animations here
|
|
24
|
+
* transition(':enter', [style({ opacity: 0 }), animate('0.5s ease-in', style({ opacity: 1 }))]),
|
|
25
|
+
* transition(':leave', [animate('0.5s ease-out', style({ opacity: 0 }))]),
|
|
26
|
+
* // Use waitForChildAnimations for coordinating with child animations
|
|
27
|
+
* waitForChildAnimations
|
|
28
|
+
* ])
|
|
29
|
+
* ]
|
|
30
|
+
* })
|
|
31
|
+
* export class ParentComponent {
|
|
32
|
+
* // Component logic here
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* Note: The `waitForChildAnimations` utility is added to the parent component's animation triggers,
|
|
37
|
+
* ensuring that any child component animations are completed before continuing with the parent's
|
|
38
|
+
* own animations.
|
|
39
|
+
*/
|
|
2
40
|
export const waitForChildAnimations = transition(':enter, :leave', [query('@*', animateChild(), { optional: true })]);
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1mb3ItY2hpbGQtYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9hbmltYXRpb25zL3NyYy9saWIvd2FpdC1mb3ItY2hpbGQtYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFDRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlQ2hpbGQsIHF1ZXJ5LCB0cmFuc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbi8qKlxuICogVXRpbGl0eSBhbmltYXRpb24gdGhhdCB3YWl0cyBmb3IgYW5pbWF0aW9ucyBvbiBjaGlsZCBjb21wb25lbnRzIHRvIGNvbXBsZXRlLlxuICogVGhpcyBhbmltYXRpb24gc2hvdWxkIGJlIHVzZWQgd2l0aGluIHBhcmVudCBjb21wb25lbnRzIHRoYXQgaGF2ZSBjaGlsZCBjb21wb25lbnRzIHdpdGggdGhlaXJcbiAqIG93biBhbmltYXRpb25zLiBJdCBlbnN1cmVzIHRoYXQgdGhlIHBhcmVudCdzIGVudGVyIGFuZCBsZWF2ZSBhbmltYXRpb25zIGFyZSBvbmx5IHRyaWdnZXJlZFxuICogYWZ0ZXIgYWxsIGNoaWxkIGFuaW1hdGlvbnMgaGF2ZSBjb21wbGV0ZWQsIGNyZWF0aW5nIGEgc2VhbWxlc3MgYW5pbWF0aW9uIHNlcXVlbmNlLlxuICpcbiAqIFRoaXMgdXRpbGl0eSB1c2VzIEFuZ3VsYXIncyBhbmltYXRpb24gZnVuY3Rpb25zIGBxdWVyeWAgYW5kIGBhbmltYXRlQ2hpbGRgIHRvIGZpbmQgYW5kIGFuaW1hdGVcbiAqIGNoaWxkIGVsZW1lbnRzIG1hcmtlZCB3aXRoIEFuZ3VsYXIncyBhbmltYXRpb24gdHJpZ2dlcnMuIFRoZSBgeyBvcHRpb25hbDogdHJ1ZSB9YCBwYXJhbWV0ZXJcbiAqIGVuc3VyZXMgdGhhdCB0aGUgYW5pbWF0aW9uIGdyYWNlZnVsbHkgaGFuZGxlcyBjYXNlcyB3aGVyZSBubyBjaGlsZCBhbmltYXRpb25zIGFyZSBkZWZpbmVkLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogLy8gVXNpbmcgd2FpdEZvckNoaWxkQW5pbWF0aW9ucyBpbiBhIHBhcmVudCBjb21wb25lbnQgd2l0aCBjaGlsZHJlbiB0aGF0IGhhdmUgYW5pbWF0aW9uc1xuICogaW1wb3J0IHsgdHJpZ2dlciwgdHJhbnNpdGlvbiwgc3R5bGUsIGFuaW1hdGUsIHF1ZXJ5LCBhbmltYXRlQ2hpbGQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbiAqIGltcG9ydCB7IHdhaXRGb3JDaGlsZEFuaW1hdGlvbnMgfSBmcm9tICdAb2R4L2FuZ3VsYXIvYW5pbWF0aW9ucyc7XG4gKlxuICogQENvbXBvbmVudCh7XG4gKiAgIHNlbGVjdG9yOiAnYXBwLXBhcmVudCcsXG4gKiAgIHRlbXBsYXRlVXJsOiAnLi9wYXJlbnQuY29tcG9uZW50Lmh0bWwnLFxuICogICBhbmltYXRpb25zOiBbXG4gKiAgICAgdHJpZ2dlcigncGFyZW50QW5pbWF0aW9uJywgW1xuICogICAgICAgLy8gRGVmaW5lIHBhcmVudCBhbmltYXRpb25zIGhlcmVcbiAqICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtzdHlsZSh7IG9wYWNpdHk6IDAgfSksIGFuaW1hdGUoJzAuNXMgZWFzZS1pbicsIHN0eWxlKHsgb3BhY2l0eTogMSB9KSldKSxcbiAqICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFthbmltYXRlKCcwLjVzIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKV0pLFxuICogICAgICAgLy8gVXNlIHdhaXRGb3JDaGlsZEFuaW1hdGlvbnMgZm9yIGNvb3JkaW5hdGluZyB3aXRoIGNoaWxkIGFuaW1hdGlvbnNcbiAqICAgICAgIHdhaXRGb3JDaGlsZEFuaW1hdGlvbnNcbiAqICAgICBdKVxuICogICBdXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIFBhcmVudENvbXBvbmVudCB7XG4gKiAgIC8vIENvbXBvbmVudCBsb2dpYyBoZXJlXG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBOb3RlOiBUaGUgYHdhaXRGb3JDaGlsZEFuaW1hdGlvbnNgIHV0aWxpdHkgaXMgYWRkZWQgdG8gdGhlIHBhcmVudCBjb21wb25lbnQncyBhbmltYXRpb24gdHJpZ2dlcnMsXG4gKiBlbnN1cmluZyB0aGF0IGFueSBjaGlsZCBjb21wb25lbnQgYW5pbWF0aW9ucyBhcmUgY29tcGxldGVkIGJlZm9yZSBjb250aW51aW5nIHdpdGggdGhlIHBhcmVudCdzXG4gKiBvd24gYW5pbWF0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IHdhaXRGb3JDaGlsZEFuaW1hdGlvbnMgPSB0cmFuc2l0aW9uKCc6ZW50ZXIsIDpsZWF2ZScsIFtxdWVyeSgnQConLCBhbmltYXRlQ2hpbGQoKSwgeyBvcHRpb25hbDogdHJ1ZSB9KV0pO1xuIl19
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import { createConfigTokens } from '@odx/angular/utils';
|
|
2
2
|
import { configureBreakpoint } from './helpers/configure-breakpoint';
|
|
3
|
+
/**
|
|
4
|
+
* Defines default responsive breakpoints for the application. These breakpoints are used to
|
|
5
|
+
* apply responsive styles and behaviors across various device sizes. Each breakpoint is
|
|
6
|
+
* configured with a name, a minimum width, and a maximum width, defining the range of device
|
|
7
|
+
* sizes it targets.
|
|
8
|
+
*
|
|
9
|
+
* @constant
|
|
10
|
+
* @type {Record<string, string>}
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* // Accessing a breakpoint value
|
|
15
|
+
* console.log(DEFAULT_BREAKPOINTS['=phone']); // Outputs: "(min-width: 480px) and (max-width: 767px)"
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
3
18
|
export const DEFAULT_BREAKPOINTS = {
|
|
4
19
|
...configureBreakpoint('phone-s', 360, 480),
|
|
5
20
|
...configureBreakpoint('phone', 480, 768),
|
|
@@ -7,7 +22,30 @@ export const DEFAULT_BREAKPOINTS = {
|
|
|
7
22
|
...configureBreakpoint('desktop-s', 960, 1200),
|
|
8
23
|
...configureBreakpoint('desktop', 1200, 9999),
|
|
9
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* Provides Angular dependency injection tokens for accessing and configuring breakpoints
|
|
27
|
+
* within the application. This enables a type-safe and modular way to manage responsive
|
|
28
|
+
* design breakpoints across the app.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* // Providing custom breakpoints in an Angular module
|
|
33
|
+
* import { NgModule } from '@angular/core';
|
|
34
|
+
* import { provideBreakpointsConfig } from '@odx/angular/breakpoints';
|
|
35
|
+
*
|
|
36
|
+
* @NgModule({
|
|
37
|
+
* providers: [
|
|
38
|
+
* provideBreakpointsConfig({
|
|
39
|
+
* breakpoints: {
|
|
40
|
+
* ...configureBreakpoint('custom-tablet', 640, 1024),
|
|
41
|
+
* },
|
|
42
|
+
* }),
|
|
43
|
+
* ],
|
|
44
|
+
* })
|
|
45
|
+
* export class CustomModule {}
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
10
48
|
export const { BreakpointsConfig, BreakpointsDefaultConfig, injectBreakpointsConfig, provideBreakpointsConfig } = createConfigTokens('Breakpoints', '@odx/angular/breakpoints', {
|
|
11
49
|
breakpoints: DEFAULT_BREAKPOINTS,
|
|
12
50
|
});
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludHMuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2JyZWFrcG9pbnRzL3NyYy9saWIvYnJlYWtwb2ludHMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXJFOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDakMsR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztJQUMzQyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0lBQ3pDLEdBQUcsbUJBQW1CLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7SUFDMUMsR0FBRyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztJQUM5QyxHQUFHLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO0NBQ3JDLENBQUM7QUFNWDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUNILE1BQU0sQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsR0FBRyxrQkFBa0IsQ0FDbEksYUFBYSxFQUNiLDBCQUEwQixFQUMxQjtJQUNFLFdBQVcsRUFBRSxtQkFBbUI7Q0FDWixDQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ29uZmlnVG9rZW5zIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGNvbmZpZ3VyZUJyZWFrcG9pbnQgfSBmcm9tICcuL2hlbHBlcnMvY29uZmlndXJlLWJyZWFrcG9pbnQnO1xuXG4vKipcbiAqIERlZmluZXMgZGVmYXVsdCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0aGUgYXBwbGljYXRpb24uIFRoZXNlIGJyZWFrcG9pbnRzIGFyZSB1c2VkIHRvXG4gKiBhcHBseSByZXNwb25zaXZlIHN0eWxlcyBhbmQgYmVoYXZpb3JzIGFjcm9zcyB2YXJpb3VzIGRldmljZSBzaXplcy4gRWFjaCBicmVha3BvaW50IGlzXG4gKiBjb25maWd1cmVkIHdpdGggYSBuYW1lLCBhIG1pbmltdW0gd2lkdGgsIGFuZCBhIG1heGltdW0gd2lkdGgsIGRlZmluaW5nIHRoZSByYW5nZSBvZiBkZXZpY2VcbiAqIHNpemVzIGl0IHRhcmdldHMuXG4gKlxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn1cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIC8vIEFjY2Vzc2luZyBhIGJyZWFrcG9pbnQgdmFsdWVcbiAqIGNvbnNvbGUubG9nKERFRkFVTFRfQlJFQUtQT0lOVFNbJz1waG9uZSddKTsgLy8gT3V0cHV0czogXCIobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KVwiXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQlJFQUtQT0lOVFMgPSB7XG4gIC4uLmNvbmZpZ3VyZUJyZWFrcG9pbnQoJ3Bob25lLXMnLCAzNjAsIDQ4MCksXG4gIC4uLmNvbmZpZ3VyZUJyZWFrcG9pbnQoJ3Bob25lJywgNDgwLCA3NjgpLFxuICAuLi5jb25maWd1cmVCcmVha3BvaW50KCd0YWJsZXQnLCA3NjgsIDk2MCksXG4gIC4uLmNvbmZpZ3VyZUJyZWFrcG9pbnQoJ2Rlc2t0b3AtcycsIDk2MCwgMTIwMCksXG4gIC4uLmNvbmZpZ3VyZUJyZWFrcG9pbnQoJ2Rlc2t0b3AnLCAxMjAwLCA5OTk5KSxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJlYWtwb2ludHNDb25maWcge1xuICBicmVha3BvaW50czogUGFydGlhbDxPZHhBbmd1bGFyLkJyZWFrcG9pbnRzPjtcbn1cblxuLyoqXG4gKiBQcm92aWRlcyBBbmd1bGFyIGRlcGVuZGVuY3kgaW5qZWN0aW9uIHRva2VucyBmb3IgYWNjZXNzaW5nIGFuZCBjb25maWd1cmluZyBicmVha3BvaW50c1xuICogd2l0aGluIHRoZSBhcHBsaWNhdGlvbi4gVGhpcyBlbmFibGVzIGEgdHlwZS1zYWZlIGFuZCBtb2R1bGFyIHdheSB0byBtYW5hZ2UgcmVzcG9uc2l2ZVxuICogZGVzaWduIGJyZWFrcG9pbnRzIGFjcm9zcyB0aGUgYXBwLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogLy8gUHJvdmlkaW5nIGN1c3RvbSBicmVha3BvaW50cyBpbiBhbiBBbmd1bGFyIG1vZHVsZVxuICogaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbiAqIGltcG9ydCB7IHByb3ZpZGVCcmVha3BvaW50c0NvbmZpZyB9IGZyb20gJ0BvZHgvYW5ndWxhci9icmVha3BvaW50cyc7XG4gKlxuICogQE5nTW9kdWxlKHtcbiAqICAgcHJvdmlkZXJzOiBbXG4gKiAgICAgcHJvdmlkZUJyZWFrcG9pbnRzQ29uZmlnKHtcbiAqICAgICAgIGJyZWFrcG9pbnRzOiB7XG4gKiAgICAgICAgIC4uLmNvbmZpZ3VyZUJyZWFrcG9pbnQoJ2N1c3RvbS10YWJsZXQnLCA2NDAsIDEwMjQpLFxuICogICAgICAgfSxcbiAqICAgICB9KSxcbiAqICAgXSxcbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgQ3VzdG9tTW9kdWxlIHt9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHsgQnJlYWtwb2ludHNDb25maWcsIEJyZWFrcG9pbnRzRGVmYXVsdENvbmZpZywgaW5qZWN0QnJlYWtwb2ludHNDb25maWcsIHByb3ZpZGVCcmVha3BvaW50c0NvbmZpZyB9ID0gY3JlYXRlQ29uZmlnVG9rZW5zKFxuICAnQnJlYWtwb2ludHMnLFxuICAnQG9keC9hbmd1bGFyL2JyZWFrcG9pbnRzJyxcbiAge1xuICAgIGJyZWFrcG9pbnRzOiBERUZBVUxUX0JSRUFLUE9JTlRTLFxuICB9IGFzIEJyZWFrcG9pbnRzQ29uZmlnLFxuKTtcbiJdfQ==
|
|
@@ -3,15 +3,58 @@ import { inject, Injectable } from '@angular/core';
|
|
|
3
3
|
import { distinctUntilChanged, map, of, shareReplay } from 'rxjs';
|
|
4
4
|
import { injectBreakpointsConfig } from './breakpoints.config';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Service to observe and react to changes in viewport size based on predefined breakpoints.
|
|
8
|
+
* Utilizes Angular CDK's BreakpointObserver for listening to media query changes and integrates
|
|
9
|
+
* it with the application's custom breakpoints configuration.
|
|
10
|
+
*
|
|
11
|
+
* @Injectable({ providedIn: 'root' })
|
|
12
|
+
*/
|
|
6
13
|
export class BreakpointsService {
|
|
7
14
|
constructor() {
|
|
8
15
|
this.breakpointObserver = inject(BreakpointObserver);
|
|
9
16
|
this.config = injectBreakpointsConfig();
|
|
10
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Observes the specified breakpoints and returns an Observable that emits true if any
|
|
20
|
+
* of the specified breakpoints match the current viewport size, and false otherwise.
|
|
21
|
+
*
|
|
22
|
+
* @param {BreakpointName[]} breakpoints - An array of breakpoints to observe.
|
|
23
|
+
* @returns {Observable<boolean>} - An Observable that emits true if the viewport matches the specified breakpoints.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* // Component that uses BreakpointsService to apply dynamic styles based on breakpoints
|
|
28
|
+
* @Component({
|
|
29
|
+
* selector: 'app-responsive-component',
|
|
30
|
+
* templateUrl: './responsive-component.component.html',
|
|
31
|
+
* })
|
|
32
|
+
* export class ResponsiveComponent {
|
|
33
|
+
* isMobile$: Observable<boolean>;
|
|
34
|
+
*
|
|
35
|
+
* constructor(private breakpointsService: BreakpointsService) {
|
|
36
|
+
* this.isMobile$ = this.breakpointsService.observe(['phone', 'tablet']);
|
|
37
|
+
* }
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
11
41
|
observe(breakpoints) {
|
|
12
42
|
const mediaQueries = this.getMediaQueries(breakpoints);
|
|
13
43
|
return this.createBreakpointObserver(mediaQueries);
|
|
14
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Checks if any of the specified breakpoints match the current viewport size.
|
|
47
|
+
*
|
|
48
|
+
* @param {BreakpointName[]} breakpoints - An array of breakpoints to check.
|
|
49
|
+
* @returns {boolean} - Returns true if the viewport matches the specified breakpoints, false otherwise.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* // Checking if the current viewport matches the 'desktop' breakpoint
|
|
54
|
+
* const isDesktop = this.breakpointsService.matches(['desktop']);
|
|
55
|
+
* console.log(`Is desktop view? ${isDesktop}`);
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
15
58
|
matches(breakpoints) {
|
|
16
59
|
const mediaQueries = this.getMediaQueries(breakpoints);
|
|
17
60
|
return this.breakpointObserver.isMatched(mediaQueries);
|
|
@@ -31,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
31
74
|
type: Injectable,
|
|
32
75
|
args: [{ providedIn: 'root' }]
|
|
33
76
|
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9icmVha3BvaW50cy9zcmMvbGliL2JyZWFrcG9pbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUcvRDs7Ozs7O0dBTUc7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBRW1CLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hELFdBQU0sR0FBRyx1QkFBdUIsRUFBRSxDQUFDO0tBK0RyRDtJQTdEQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXNCRztJQUNJLE9BQU8sQ0FBQyxXQUE2QjtRQUMxQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXZELE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxPQUFPLENBQUMsV0FBNkI7UUFDMUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV2RCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVPLGVBQWUsQ0FBQyxlQUFpQztRQUN2RCxPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxZQUFzQjtRQUNyRCxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQ3ZELEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUM3QixvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUMvQyxDQUFDO0lBQ0osQ0FBQzsrR0FoRVUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FETCxNQUFNOzs0RkFDbkIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGluamVjdEJyZWFrcG9pbnRzQ29uZmlnIH0gZnJvbSAnLi9icmVha3BvaW50cy5jb25maWcnO1xuaW1wb3J0IHsgQnJlYWtwb2ludE5hbWUgfSBmcm9tICcuL21vZGVscyc7XG5cbi8qKlxuICogU2VydmljZSB0byBvYnNlcnZlIGFuZCByZWFjdCB0byBjaGFuZ2VzIGluIHZpZXdwb3J0IHNpemUgYmFzZWQgb24gcHJlZGVmaW5lZCBicmVha3BvaW50cy5cbiAqIFV0aWxpemVzIEFuZ3VsYXIgQ0RLJ3MgQnJlYWtwb2ludE9ic2VydmVyIGZvciBsaXN0ZW5pbmcgdG8gbWVkaWEgcXVlcnkgY2hhbmdlcyBhbmQgaW50ZWdyYXRlc1xuICogaXQgd2l0aCB0aGUgYXBwbGljYXRpb24ncyBjdXN0b20gYnJlYWtwb2ludHMgY29uZmlndXJhdGlvbi5cbiAqXG4gKiBASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEJyZWFrcG9pbnRzU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYnJlYWtwb2ludE9ic2VydmVyID0gaW5qZWN0KEJyZWFrcG9pbnRPYnNlcnZlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0QnJlYWtwb2ludHNDb25maWcoKTtcblxuICAvKipcbiAgICogT2JzZXJ2ZXMgdGhlIHNwZWNpZmllZCBicmVha3BvaW50cyBhbmQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdHJ1ZSBpZiBhbnlcbiAgICogb2YgdGhlIHNwZWNpZmllZCBicmVha3BvaW50cyBtYXRjaCB0aGUgY3VycmVudCB2aWV3cG9ydCBzaXplLCBhbmQgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBAcGFyYW0ge0JyZWFrcG9pbnROYW1lW119IGJyZWFrcG9pbnRzIC0gQW4gYXJyYXkgb2YgYnJlYWtwb2ludHMgdG8gb2JzZXJ2ZS5cbiAgICogQHJldHVybnMge09ic2VydmFibGU8Ym9vbGVhbj59IC0gQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRydWUgaWYgdGhlIHZpZXdwb3J0IG1hdGNoZXMgdGhlIHNwZWNpZmllZCBicmVha3BvaW50cy5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHNcbiAgICogLy8gQ29tcG9uZW50IHRoYXQgdXNlcyBCcmVha3BvaW50c1NlcnZpY2UgdG8gYXBwbHkgZHluYW1pYyBzdHlsZXMgYmFzZWQgb24gYnJlYWtwb2ludHNcbiAgICogQENvbXBvbmVudCh7XG4gICAqICAgc2VsZWN0b3I6ICdhcHAtcmVzcG9uc2l2ZS1jb21wb25lbnQnLFxuICAgKiAgIHRlbXBsYXRlVXJsOiAnLi9yZXNwb25zaXZlLWNvbXBvbmVudC5jb21wb25lbnQuaHRtbCcsXG4gICAqIH0pXG4gICAqIGV4cG9ydCBjbGFzcyBSZXNwb25zaXZlQ29tcG9uZW50IHtcbiAgICogICBpc01vYmlsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAqXG4gICAqICAgY29uc3RydWN0b3IocHJpdmF0ZSBicmVha3BvaW50c1NlcnZpY2U6IEJyZWFrcG9pbnRzU2VydmljZSkge1xuICAgKiAgICAgdGhpcy5pc01vYmlsZSQgPSB0aGlzLmJyZWFrcG9pbnRzU2VydmljZS5vYnNlcnZlKFsncGhvbmUnLCAndGFibGV0J10pO1xuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBvYnNlcnZlKGJyZWFrcG9pbnRzOiBCcmVha3BvaW50TmFtZVtdKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgbWVkaWFRdWVyaWVzID0gdGhpcy5nZXRNZWRpYVF1ZXJpZXMoYnJlYWtwb2ludHMpO1xuXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQnJlYWtwb2ludE9ic2VydmVyKG1lZGlhUXVlcmllcyk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGFueSBvZiB0aGUgc3BlY2lmaWVkIGJyZWFrcG9pbnRzIG1hdGNoIHRoZSBjdXJyZW50IHZpZXdwb3J0IHNpemUuXG4gICAqXG4gICAqIEBwYXJhbSB7QnJlYWtwb2ludE5hbWVbXX0gYnJlYWtwb2ludHMgLSBBbiBhcnJheSBvZiBicmVha3BvaW50cyB0byBjaGVjay5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSB2aWV3cG9ydCBtYXRjaGVzIHRoZSBzcGVjaWZpZWQgYnJlYWtwb2ludHMsIGZhbHNlIG90aGVyd2lzZS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHNcbiAgICogLy8gQ2hlY2tpbmcgaWYgdGhlIGN1cnJlbnQgdmlld3BvcnQgbWF0Y2hlcyB0aGUgJ2Rlc2t0b3AnIGJyZWFrcG9pbnRcbiAgICogY29uc3QgaXNEZXNrdG9wID0gdGhpcy5icmVha3BvaW50c1NlcnZpY2UubWF0Y2hlcyhbJ2Rlc2t0b3AnXSk7XG4gICAqIGNvbnNvbGUubG9nKGBJcyBkZXNrdG9wIHZpZXc/ICR7aXNEZXNrdG9wfWApO1xuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBtYXRjaGVzKGJyZWFrcG9pbnRzOiBCcmVha3BvaW50TmFtZVtdKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbWVkaWFRdWVyaWVzID0gdGhpcy5nZXRNZWRpYVF1ZXJpZXMoYnJlYWtwb2ludHMpO1xuXG4gICAgcmV0dXJuIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLmlzTWF0Y2hlZChtZWRpYVF1ZXJpZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNZWRpYVF1ZXJpZXMoYnJlYWtwb2ludE5hbWVzOiBCcmVha3BvaW50TmFtZVtdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBicmVha3BvaW50TmFtZXMubWFwKChuYW1lKSA9PiB0aGlzLmNvbmZpZy5icmVha3BvaW50c1tuYW1lXSBhcyBzdHJpbmcpLmZpbHRlcihCb29sZWFuKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQnJlYWtwb2ludE9ic2VydmVyKG1lZGlhUXVlcmllczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAobWVkaWFRdWVyaWVzLmxlbmd0aCA8IDEpIHJldHVybiBvZihmYWxzZSk7XG5cbiAgICByZXR1cm4gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShtZWRpYVF1ZXJpZXMpLnBpcGUoXG4gICAgICBtYXAoKHsgbWF0Y2hlcyB9KSA9PiBtYXRjaGVzKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,6 +3,31 @@ import { coerceArray, untilDestroyed } from '@odx/angular/utils';
|
|
|
3
3
|
import { BehaviorSubject, switchMap, tap } from 'rxjs';
|
|
4
4
|
import { BreakpointsService } from '../breakpoints.service';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* A structural directive that conditionally includes an Angular template based on whether the viewport matches
|
|
8
|
+
* specified breakpoints. It leverages the BreakpointsService to observe changes in viewport size and apply
|
|
9
|
+
* the appropriate template.
|
|
10
|
+
*
|
|
11
|
+
* @Directive
|
|
12
|
+
* @param {BreakpointsService} breakpointsService - Injects BreakpointsService to observe breakpoint changes.
|
|
13
|
+
* @param {TemplateRef} template - Injects the Angular template to render when breakpoints match.
|
|
14
|
+
* @param {ViewContainerRef} viewContainer - Injects the container where the template will be rendered.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```html
|
|
18
|
+
* // Usage in a component template to conditionally display content based on breakpoints
|
|
19
|
+
* // Assume 'mobile' and 'tablet' are defined breakpoints
|
|
20
|
+
* <ng-template [odxMatchBreakpoints]="['mobile', 'tablet']">
|
|
21
|
+
* Content to display on mobile and tablet sizes.
|
|
22
|
+
* </ng-template>
|
|
23
|
+
* <ng-template [odxMatchBreakpoints]="['desktop']" [odxMatchBreakpointsElse]="elseTemplate">
|
|
24
|
+
* Content to display on desktop size.
|
|
25
|
+
* </ng-template>
|
|
26
|
+
* <ng-template #elseTemplate>
|
|
27
|
+
* Content to display when not on desktop size.
|
|
28
|
+
* </ng-template>
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
6
31
|
export class MatchBreakpointsDirective {
|
|
7
32
|
constructor() {
|
|
8
33
|
this.breakpoints$$ = new BehaviorSubject([]);
|
|
@@ -10,9 +35,20 @@ export class MatchBreakpointsDirective {
|
|
|
10
35
|
this.takeUntilDestroyed = untilDestroyed();
|
|
11
36
|
this.template = inject(TemplateRef);
|
|
12
37
|
this.viewContainer = inject(ViewContainerRef);
|
|
38
|
+
/**
|
|
39
|
+
* Optionally specifies a template to render when the viewport does not match the specified breakpoints.
|
|
40
|
+
*
|
|
41
|
+
* @param {TemplateRef<unknown>} elseTemplate - The template to render when the viewport does not match the breakpoints.
|
|
42
|
+
*/
|
|
13
43
|
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
14
44
|
this.elseTemplate = null;
|
|
15
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Sets the breakpoints to observe. The directive's content is displayed if the current viewport matches
|
|
48
|
+
* any of the specified breakpoints.
|
|
49
|
+
*
|
|
50
|
+
* @param {BreakpointName | BreakpointName[]} value - The breakpoint(s) to match against the current viewport size.
|
|
51
|
+
*/
|
|
16
52
|
set breakpoints(value) {
|
|
17
53
|
this.breakpoints$$.next(coerceArray(value ?? []));
|
|
18
54
|
}
|
|
@@ -45,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
45
81
|
type: Input,
|
|
46
82
|
args: ['odxMatchBreakpointsElse']
|
|
47
83
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gtYnJlYWtwb2ludHMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2JyZWFrcG9pbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9tYXRjaC1icmVha3BvaW50cy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFHNUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQUtILE1BQU0sT0FBTyx5QkFBeUI7SUFKdEM7UUFLbUIsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBbUIsRUFBRSxDQUFDLENBQUM7UUFDMUQsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDaEQsdUJBQWtCLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFDdEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBYTFEOzs7O1dBSUc7UUFDSCwyREFBMkQ7UUFFcEQsaUJBQVksR0FBaUMsSUFBSSxDQUFDO0tBb0IxRDtJQXRDQzs7Ozs7T0FLRztJQUNILElBQ1csV0FBVyxDQUFDLEtBQTJEO1FBQ2hGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBV00sUUFBUTtRQUNiLElBQUksQ0FBQyxhQUFhO2FBQ2YsSUFBSSxDQUNILFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUN4RSxHQUFHLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQzVELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUMxQjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTyxNQUFNLENBQUMsa0JBQTJCO1FBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDeEUsSUFBSSxRQUFRLEVBQUU7WUFDWixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7K0dBNUNVLHlCQUF5QjttR0FBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsa0NBQWtDO2lCQUM3Qzs4QkFlWSxXQUFXO3NCQURyQixLQUFLO3VCQUFDLHFCQUFxQjtnQkFZckIsWUFBWTtzQkFEbEIsS0FBSzt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUFycmF5LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCcmVha3BvaW50c1NlcnZpY2UgfSBmcm9tICcuLi9icmVha3BvaW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IEJyZWFrcG9pbnROYW1lIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuLyoqXG4gKiBBIHN0cnVjdHVyYWwgZGlyZWN0aXZlIHRoYXQgY29uZGl0aW9uYWxseSBpbmNsdWRlcyBhbiBBbmd1bGFyIHRlbXBsYXRlIGJhc2VkIG9uIHdoZXRoZXIgdGhlIHZpZXdwb3J0IG1hdGNoZXNcbiAqIHNwZWNpZmllZCBicmVha3BvaW50cy4gSXQgbGV2ZXJhZ2VzIHRoZSBCcmVha3BvaW50c1NlcnZpY2UgdG8gb2JzZXJ2ZSBjaGFuZ2VzIGluIHZpZXdwb3J0IHNpemUgYW5kIGFwcGx5XG4gKiB0aGUgYXBwcm9wcmlhdGUgdGVtcGxhdGUuXG4gKlxuICogQERpcmVjdGl2ZVxuICogQHBhcmFtIHtCcmVha3BvaW50c1NlcnZpY2V9IGJyZWFrcG9pbnRzU2VydmljZSAtIEluamVjdHMgQnJlYWtwb2ludHNTZXJ2aWNlIHRvIG9ic2VydmUgYnJlYWtwb2ludCBjaGFuZ2VzLlxuICogQHBhcmFtIHtUZW1wbGF0ZVJlZn0gdGVtcGxhdGUgLSBJbmplY3RzIHRoZSBBbmd1bGFyIHRlbXBsYXRlIHRvIHJlbmRlciB3aGVuIGJyZWFrcG9pbnRzIG1hdGNoLlxuICogQHBhcmFtIHtWaWV3Q29udGFpbmVyUmVmfSB2aWV3Q29udGFpbmVyIC0gSW5qZWN0cyB0aGUgY29udGFpbmVyIHdoZXJlIHRoZSB0ZW1wbGF0ZSB3aWxsIGJlIHJlbmRlcmVkLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiAvLyBVc2FnZSBpbiBhIGNvbXBvbmVudCB0ZW1wbGF0ZSB0byBjb25kaXRpb25hbGx5IGRpc3BsYXkgY29udGVudCBiYXNlZCBvbiBicmVha3BvaW50c1xuICogLy8gQXNzdW1lICdtb2JpbGUnIGFuZCAndGFibGV0JyBhcmUgZGVmaW5lZCBicmVha3BvaW50c1xuICogPG5nLXRlbXBsYXRlIFtvZHhNYXRjaEJyZWFrcG9pbnRzXT1cIlsnbW9iaWxlJywgJ3RhYmxldCddXCI+XG4gKiAgIENvbnRlbnQgdG8gZGlzcGxheSBvbiBtb2JpbGUgYW5kIHRhYmxldCBzaXplcy5cbiAqIDwvbmctdGVtcGxhdGU+XG4gKiA8bmctdGVtcGxhdGUgW29keE1hdGNoQnJlYWtwb2ludHNdPVwiWydkZXNrdG9wJ11cIiBbb2R4TWF0Y2hCcmVha3BvaW50c0Vsc2VdPVwiZWxzZVRlbXBsYXRlXCI+XG4gKiAgIENvbnRlbnQgdG8gZGlzcGxheSBvbiBkZXNrdG9wIHNpemUuXG4gKiA8L25nLXRlbXBsYXRlPlxuICogPG5nLXRlbXBsYXRlICNlbHNlVGVtcGxhdGU+XG4gKiAgIENvbnRlbnQgdG8gZGlzcGxheSB3aGVuIG5vdCBvbiBkZXNrdG9wIHNpemUuXG4gKiA8L25nLXRlbXBsYXRlPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW29keE1hdGNoQnJlYWtwb2ludHNdJyxcbn0pXG5leHBvcnQgY2xhc3MgTWF0Y2hCcmVha3BvaW50c0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYnJlYWtwb2ludHMkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnJlYWtwb2ludE5hbWVbXT4oW10pO1xuICBwcml2YXRlIHJlYWRvbmx5IGJyZWFrcG9pbnRzU2VydmljZSA9IGluamVjdChCcmVha3BvaW50c1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRha2VVbnRpbERlc3Ryb3llZCA9IHVudGlsRGVzdHJveWVkKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGVtcGxhdGUgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXIgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGJyZWFrcG9pbnRzIHRvIG9ic2VydmUuIFRoZSBkaXJlY3RpdmUncyBjb250ZW50IGlzIGRpc3BsYXllZCBpZiB0aGUgY3VycmVudCB2aWV3cG9ydCBtYXRjaGVzXG4gICAqIGFueSBvZiB0aGUgc3BlY2lmaWVkIGJyZWFrcG9pbnRzLlxuICAgKlxuICAgKiBAcGFyYW0ge0JyZWFrcG9pbnROYW1lIHwgQnJlYWtwb2ludE5hbWVbXX0gdmFsdWUgLSBUaGUgYnJlYWtwb2ludChzKSB0byBtYXRjaCBhZ2FpbnN0IHRoZSBjdXJyZW50IHZpZXdwb3J0IHNpemUuXG4gICAqL1xuICBASW5wdXQoJ29keE1hdGNoQnJlYWtwb2ludHMnKVxuICBwdWJsaWMgc2V0IGJyZWFrcG9pbnRzKHZhbHVlOiBCcmVha3BvaW50TmFtZSB8IEJyZWFrcG9pbnROYW1lW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5icmVha3BvaW50cyQkLm5leHQoY29lcmNlQXJyYXkodmFsdWUgPz8gW10pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcHRpb25hbGx5IHNwZWNpZmllcyBhIHRlbXBsYXRlIHRvIHJlbmRlciB3aGVuIHRoZSB2aWV3cG9ydCBkb2VzIG5vdCBtYXRjaCB0aGUgc3BlY2lmaWVkIGJyZWFrcG9pbnRzLlxuICAgKlxuICAgKiBAcGFyYW0ge1RlbXBsYXRlUmVmPHVua25vd24+fSBlbHNlVGVtcGxhdGUgLSBUaGUgdGVtcGxhdGUgdG8gcmVuZGVyIHdoZW4gdGhlIHZpZXdwb3J0IGRvZXMgbm90IG1hdGNoIHRoZSBicmVha3BvaW50cy5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnb2R4TWF0Y2hCcmVha3BvaW50c0Vsc2UnKVxuICBwdWJsaWMgZWxzZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5icmVha3BvaW50cyQkXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChicmVha3BvaW50cykgPT4gdGhpcy5icmVha3BvaW50c1NlcnZpY2Uub2JzZXJ2ZShicmVha3BvaW50cykpLFxuICAgICAgICB0YXAoKG1hdGNoZXNCcmVha3BvaW50cykgPT4gdGhpcy5yZW5kZXIobWF0Y2hlc0JyZWFrcG9pbnRzKSksXG4gICAgICAgIHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlcihtYXRjaGVzQnJlYWtwb2ludHM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IG1hdGNoZXNCcmVha3BvaW50cyA/IHRoaXMudGVtcGxhdGUgOiB0aGlzLmVsc2VUZW1wbGF0ZTtcbiAgICBpZiAodGVtcGxhdGUpIHtcbiAgICAgIGNvbnN0IHZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRlbXBsYXRlKTtcbiAgICAgIHZpZXdSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a configuration object containing CSS media query strings for a named breakpoint.
|
|
3
|
+
* The function creates media queries for three scenarios: below (`<`), exactly (`=`), and above (`>`) the specified breakpoint.
|
|
4
|
+
*
|
|
5
|
+
* @template T - The string literal type representing the name of the breakpoint.
|
|
6
|
+
* @param {T} name - The name of the breakpoint (e.g., 'md' for medium).
|
|
7
|
+
* @param {number} min - The minimum width (inclusive) where the breakpoint starts.
|
|
8
|
+
* @param {number} max - The maximum width (exclusive) where the breakpoint ends.
|
|
9
|
+
* @returns {BreakpointConfig<T>} An object containing media query strings for targeting screen sizes relative to the breakpoint.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* // Define a medium (md) breakpoint
|
|
14
|
+
* const mdBreakpoint = configureBreakpoint('md', 768, 1024);
|
|
15
|
+
* console.log(mdBreakpoint['<md']); // Outputs: "(max-width: 767px)"
|
|
16
|
+
* console.log(mdBreakpoint['=md']); // Outputs: "(min-width: 768px) and (max-width: 1023px)"
|
|
17
|
+
* console.log(mdBreakpoint['>md']); // Outputs: "(min-width: 768px)"
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
1
20
|
export function configureBreakpoint(name, min, max) {
|
|
2
21
|
return {
|
|
3
22
|
[`<${name}`]: `(max-width: ${min - 1}px)`,
|
|
@@ -5,4 +24,4 @@ export function configureBreakpoint(name, min, max) {
|
|
|
5
24
|
[`>${name}`]: `(min-width: ${min}px)`,
|
|
6
25
|
};
|
|
7
26
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLWJyZWFrcG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvYnJlYWtwb2ludHMvc3JjL2xpYi9oZWxwZXJzL2NvbmZpZ3VyZS1icmVha3BvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQW1CLElBQU8sRUFBRSxHQUFXLEVBQUUsR0FBVztJQUNyRixPQUFPO1FBQ0wsQ0FBQyxJQUFJLElBQUksRUFBVyxDQUFDLEVBQUUsZUFBZSxHQUFHLEdBQUcsQ0FBQyxLQUFLO1FBQ2xELENBQUMsSUFBSSxJQUFJLEVBQVcsQ0FBQyxFQUFFLGVBQWUsR0FBRyx1QkFBdUIsR0FBRyxHQUFHLENBQUMsS0FBSztRQUM1RSxDQUFDLElBQUksSUFBSSxFQUFXLENBQUMsRUFBRSxlQUFlLEdBQUcsS0FBSztLQUN4QixDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIEJyZWFrcG9pbnRPcGVyYXRvcnMgPSAnPCcgfCAnPScgfCAnPic7XG50eXBlIEJyZWFrcG9pbnRDb25maWc8VCBleHRlbmRzIHN0cmluZz4gPSBSZWNvcmQ8YCR7QnJlYWtwb2ludE9wZXJhdG9yc30ke1R9YCwgc3RyaW5nPjtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBjb25maWd1cmF0aW9uIG9iamVjdCBjb250YWluaW5nIENTUyBtZWRpYSBxdWVyeSBzdHJpbmdzIGZvciBhIG5hbWVkIGJyZWFrcG9pbnQuXG4gKiBUaGUgZnVuY3Rpb24gY3JlYXRlcyBtZWRpYSBxdWVyaWVzIGZvciB0aHJlZSBzY2VuYXJpb3M6IGJlbG93IChgPGApLCBleGFjdGx5IChgPWApLCBhbmQgYWJvdmUgKGA+YCkgdGhlIHNwZWNpZmllZCBicmVha3BvaW50LlxuICpcbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIHN0cmluZyBsaXRlcmFsIHR5cGUgcmVwcmVzZW50aW5nIHRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50LlxuICogQHBhcmFtIHtUfSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgKGUuZy4sICdtZCcgZm9yIG1lZGl1bSkuXG4gKiBAcGFyYW0ge251bWJlcn0gbWluIC0gVGhlIG1pbmltdW0gd2lkdGggKGluY2x1c2l2ZSkgd2hlcmUgdGhlIGJyZWFrcG9pbnQgc3RhcnRzLlxuICogQHBhcmFtIHtudW1iZXJ9IG1heCAtIFRoZSBtYXhpbXVtIHdpZHRoIChleGNsdXNpdmUpIHdoZXJlIHRoZSBicmVha3BvaW50IGVuZHMuXG4gKiBAcmV0dXJucyB7QnJlYWtwb2ludENvbmZpZzxUPn0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgbWVkaWEgcXVlcnkgc3RyaW5ncyBmb3IgdGFyZ2V0aW5nIHNjcmVlbiBzaXplcyByZWxhdGl2ZSB0byB0aGUgYnJlYWtwb2ludC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIC8vIERlZmluZSBhIG1lZGl1bSAobWQpIGJyZWFrcG9pbnRcbiAqIGNvbnN0IG1kQnJlYWtwb2ludCA9IGNvbmZpZ3VyZUJyZWFrcG9pbnQoJ21kJywgNzY4LCAxMDI0KTtcbiAqIGNvbnNvbGUubG9nKG1kQnJlYWtwb2ludFsnPG1kJ10pOyAvLyBPdXRwdXRzOiBcIihtYXgtd2lkdGg6IDc2N3B4KVwiXG4gKiBjb25zb2xlLmxvZyhtZEJyZWFrcG9pbnRbJz1tZCddKTsgLy8gT3V0cHV0czogXCIobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweClcIlxuICogY29uc29sZS5sb2cobWRCcmVha3BvaW50Wyc+bWQnXSk7IC8vIE91dHB1dHM6IFwiKG1pbi13aWR0aDogNzY4cHgpXCJcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlQnJlYWtwb2ludDxUIGV4dGVuZHMgc3RyaW5nPihuYW1lOiBULCBtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBCcmVha3BvaW50Q29uZmlnPFQ+IHtcbiAgcmV0dXJuIHtcbiAgICBbYDwke25hbWV9YCBhcyBjb25zdF06IGAobWF4LXdpZHRoOiAke21pbiAtIDF9cHgpYCxcbiAgICBbYD0ke25hbWV9YCBhcyBjb25zdF06IGAobWluLXdpZHRoOiAke21pbn1weCkgYW5kIChtYXgtd2lkdGg6ICR7bWF4IC0gMX1weClgLFxuICAgIFtgPiR7bmFtZX1gIGFzIGNvbnN0XTogYChtaW4td2lkdGg6ICR7bWlufXB4KWAsXG4gIH0gYXMgQnJlYWtwb2ludENvbmZpZzxUPjtcbn1cbiJdfQ==
|