@odx/angular 11.6.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/breakpoints/lib/breakpoints.config.d.ts +1 -1
- package/breakpoints/lib/breakpoints.typings.d.ts +1 -2
- package/components/calendar/lib/calendar.config.d.ts +1 -1
- package/components/card/lib/card.config.d.ts +1 -1
- package/components/datepicker/lib/datepicker.config.d.ts +1 -1
- package/components/daterangepicker/lib/daterangepicker.config.d.ts +1 -1
- package/components/error-page/lib/error-page.config.d.ts +1 -1
- package/components/footer/lib/footer.config.d.ts +1 -1
- package/components/form-field/lib/form-field.config.d.ts +1 -1
- package/components/icon/lib/icon.config.d.ts +1 -1
- package/components/main-menu/lib/main-menu.config.d.ts +1 -1
- package/components/modal/lib/modal.config.d.ts +1 -1
- package/components/notification/lib/notification.config.d.ts +1 -1
- package/components/paginator/lib/paginator.config.d.ts +1 -1
- package/components/timepicker/lib/directives/timepicker-input-control.directive.d.ts +3 -3
- package/components/toast/lib/toast.config.d.ts +1 -1
- package/components/tooltip/lib/tooltip.config.d.ts +1 -1
- package/esm2022/breakpoints/lib/breakpoints.module.mjs +4 -4
- package/esm2022/breakpoints/lib/breakpoints.service.mjs +3 -3
- package/esm2022/breakpoints/lib/breakpoints.typings.mjs +1 -1
- package/esm2022/breakpoints/lib/directives/match-breakpoints.directive.mjs +3 -3
- package/esm2022/cdk/a11y/lib/a11y.module.mjs +4 -4
- package/esm2022/cdk/a11y/lib/directives/interactive.directive.mjs +3 -3
- package/esm2022/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +3 -3
- package/esm2022/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +3 -3
- package/esm2022/cdk/active-indicator/lib/active-indicator.directive.mjs +3 -3
- package/esm2022/cdk/autocomplete-control/lib/autocomplete-control.mjs +3 -3
- package/esm2022/cdk/checkbox-control/lib/checkbox-control.directive.mjs +3 -3
- package/esm2022/cdk/connected-overlay/lib/connected-overlay.component.mjs +3 -3
- package/esm2022/cdk/connected-overlay/lib/connected-overlay.service.mjs +3 -3
- package/esm2022/cdk/custom-form-control/lib/control.directive.mjs +3 -3
- package/esm2022/cdk/custom-form-control/lib/custom-form-control.mjs +3 -3
- package/esm2022/cdk/custom-form-control/lib/input-control.directive.mjs +3 -3
- package/esm2022/cdk/dynamic-view/lib/dynamic-view.component.mjs +3 -3
- package/esm2022/cdk/dynamic-view/lib/dynamic-view.directive.mjs +3 -3
- package/esm2022/cdk/dynamic-view/lib/dynamic-view.service.mjs +3 -3
- package/esm2022/cdk/event-plugins/lib/models/event-plugin.mjs +1 -1
- package/esm2022/cdk/event-plugins/lib/plugins/debounce-event-plugin.mjs +5 -5
- package/esm2022/cdk/event-plugins/lib/plugins/defer-event-plugin.mjs +5 -5
- package/esm2022/cdk/expandable/lib/directives/expandable-container.directive.mjs +3 -3
- package/esm2022/cdk/expandable/lib/directives/expandable-item.directive.mjs +3 -3
- package/esm2022/cdk/expandable/lib/expandable.module.mjs +4 -4
- package/esm2022/cdk/option-control/lib/option-control.mjs +3 -3
- package/esm2022/cdk/radio-group-control/lib/radio-control.directive.mjs +3 -3
- package/esm2022/cdk/radio-group-control/lib/radio-group-control.directive.mjs +3 -3
- package/esm2022/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
- package/esm2022/components/accordion/lib/accordion.component.mjs +3 -3
- package/esm2022/components/accordion/lib/accordion.module.mjs +4 -4
- package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +3 -3
- package/esm2022/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
- package/esm2022/components/action-group/action-group.component.mjs +3 -3
- package/esm2022/components/area-header/area-header.component.mjs +3 -3
- package/esm2022/components/area-header/area-header.module.mjs +4 -4
- package/esm2022/components/area-header/directives/area-header-content.directive.mjs +3 -3
- package/esm2022/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
- package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +3 -3
- package/esm2022/components/autocomplete/lib/autocomplete.module.mjs +4 -4
- package/esm2022/components/autocomplete/lib/components/option/autocomplete-option.component.mjs +3 -3
- package/esm2022/components/autocomplete/lib/directives/autocomplete-input-control.directive.mjs +3 -3
- package/esm2022/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.mjs +3 -3
- package/esm2022/components/avatar/lib/avatar.component.mjs +3 -3
- package/esm2022/components/badge/lib/badge.component.mjs +3 -3
- package/esm2022/components/badge/lib/badge.directive.mjs +3 -3
- package/esm2022/components/bar/lib/bar.component.mjs +3 -3
- package/esm2022/components/bar/lib/bar.module.mjs +4 -4
- package/esm2022/components/bar/lib/directives/bar-button.directive.mjs +3 -3
- package/esm2022/components/bar/lib/directives/bar-label.directive.mjs +3 -3
- package/esm2022/components/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
- package/esm2022/components/button/lib/button.component.mjs +3 -3
- package/esm2022/components/button/lib/directives/responsive-button.directive.mjs +3 -3
- package/esm2022/components/button-group/lib/button-group.component.mjs +3 -3
- package/esm2022/components/calendar/lib/calendar.component.mjs +3 -3
- package/esm2022/components/calendar/lib/calendar.service.mjs +3 -3
- package/esm2022/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +3 -3
- package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +3 -3
- package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +3 -3
- package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +3 -3
- package/esm2022/components/calendar/lib/daterange.service.mjs +3 -3
- package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +3 -3
- package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +3 -3
- package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +3 -3
- package/esm2022/components/calendar/lib/services/calendar-month.service.mjs +3 -3
- package/esm2022/components/calendar/lib/services/calendar-year.service.mjs +3 -3
- package/esm2022/components/calendar/lib/services/calendar-years.service.mjs +3 -3
- package/esm2022/components/card/lib/card.component.mjs +3 -3
- package/esm2022/components/card/lib/card.module.mjs +4 -4
- package/esm2022/components/card/lib/components/card-footer/card-footer.component.mjs +3 -3
- package/esm2022/components/card/lib/components/card-image/card-image.component.mjs +3 -3
- package/esm2022/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +3 -3
- package/esm2022/components/card/lib/directives/card-content.directive.mjs +3 -3
- package/esm2022/components/checkbox/lib/checkbox.component.mjs +3 -3
- package/esm2022/components/checkbox/lib/checkbox.module.mjs +4 -4
- package/esm2022/components/checkbox/lib/checkbox.validator.mjs +3 -3
- package/esm2022/components/chip/lib/components/chip/chip.component.mjs +3 -3
- package/esm2022/components/chip/lib/components/chip-list/chip-list.component.mjs +3 -3
- package/esm2022/components/chip/lib/components/chip-list-row/chip-list-row.component.mjs +3 -3
- package/esm2022/components/circular-progress/lib/circular-progress.component.mjs +3 -3
- package/esm2022/components/content-box/lib/content-box.component.mjs +3 -3
- package/esm2022/components/content-box/lib/content-box.module.mjs +4 -4
- package/esm2022/components/content-box/lib/directives/content-box-footer.directive.mjs +3 -3
- package/esm2022/components/content-box/lib/directives/content-box-header.directive.mjs +3 -3
- package/esm2022/components/datepicker/lib/datepicker.component.mjs +3 -3
- package/esm2022/components/datepicker/lib/datepicker.module.mjs +4 -4
- package/esm2022/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +4 -4
- package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +3 -3
- package/esm2022/components/daterangepicker/lib/daterangepicker.module.mjs +4 -4
- package/esm2022/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.mjs +4 -4
- package/esm2022/components/daterangepicker/lib/range.validator.mjs +3 -3
- package/esm2022/components/daterangepicker/lib/required.validator.mjs +3 -3
- package/esm2022/components/dropdown/lib/dropdown.component.mjs +3 -3
- package/esm2022/components/dropdown/lib/dropdown.directive.mjs +3 -3
- package/esm2022/components/dropdown/lib/dropdown.module.mjs +4 -4
- package/esm2022/components/error-page/lib/error-page.component.mjs +3 -3
- package/esm2022/components/footer/lib/footer.component.mjs +3 -3
- package/esm2022/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
- package/esm2022/components/form-field/lib/components/form-group/form-group.component.mjs +3 -3
- package/esm2022/components/form-field/lib/directives/form-field-control.directive.mjs +3 -3
- package/esm2022/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
- package/esm2022/components/form-field/lib/directives/form-field-hint.directive.mjs +3 -3
- package/esm2022/components/form-field/lib/directives/form-field-label.directive.mjs +3 -3
- package/esm2022/components/form-field/lib/directives/form.directive.mjs +3 -3
- package/esm2022/components/form-field/lib/form-field.component.mjs +3 -3
- package/esm2022/components/form-field/lib/form-field.module.mjs +4 -4
- package/esm2022/components/form-field/lib/form-field.service.mjs +3 -3
- package/esm2022/components/form-field/lib/services/form-field-error.service.mjs +3 -3
- package/esm2022/components/header/lib/directives/header-avatar.directive.mjs +3 -3
- package/esm2022/components/header/lib/directives/header-title.directive.mjs +3 -3
- package/esm2022/components/header/lib/header.component.mjs +3 -3
- package/esm2022/components/header/lib/header.module.mjs +4 -4
- package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs +6 -6
- package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +3 -3
- package/esm2022/components/header-navigation/lib/header-navigation.module.mjs +4 -4
- package/esm2022/components/icon/lib/icon.component.mjs +3 -3
- package/esm2022/components/inline-message/lib/inline-message.component.mjs +3 -3
- package/esm2022/components/link/link.directive.mjs +3 -3
- package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +3 -3
- package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +3 -3
- package/esm2022/components/list/lib/list.component.mjs +3 -3
- package/esm2022/components/list/lib/list.module.mjs +4 -4
- package/esm2022/components/loading-spinner/lib/loading-spinner.component.mjs +3 -3
- package/esm2022/components/loading-spinner/lib/loading-spinner.directive.mjs +3 -3
- package/esm2022/components/loading-spinner/lib/loading-spinner.module.mjs +4 -4
- package/esm2022/components/logo/logo.directive.mjs +3 -3
- package/esm2022/components/main-menu/lib/directives/main-menu-button.directive.mjs +3 -3
- package/esm2022/components/main-menu/lib/directives/main-menu-close.directive.mjs +3 -3
- package/esm2022/components/main-menu/lib/directives/main-menu-item.directive.mjs +3 -3
- package/esm2022/components/main-menu/lib/main-menu.component.mjs +3 -3
- package/esm2022/components/main-menu/lib/main-menu.module.mjs +4 -4
- package/esm2022/components/main-menu/lib/main-menu.service.mjs +3 -3
- package/esm2022/components/mainfilter-group/lib/mainfilter-group.component.mjs +3 -3
- package/esm2022/components/menu/lib/directives/menu-item.directive.mjs +3 -3
- package/esm2022/components/menu/lib/menu.component.mjs +3 -3
- package/esm2022/components/menu/lib/menu.directive.mjs +3 -3
- package/esm2022/components/menu/lib/menu.module.mjs +4 -4
- package/esm2022/components/modal/lib/components/basic-modal/basic-modal.component.mjs +3 -3
- package/esm2022/components/modal/lib/components/modal-footer/modal-footer.component.mjs +3 -3
- package/esm2022/components/modal/lib/components/modal-header/modal-header.component.mjs +3 -3
- package/esm2022/components/modal/lib/components/modal-hero/modal-hero.component.mjs +3 -3
- package/esm2022/components/modal/lib/directives/modal-close.directive.mjs +3 -3
- package/esm2022/components/modal/lib/directives/modal-content.directive.mjs +3 -3
- package/esm2022/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
- package/esm2022/components/modal/lib/directives/prevent-form-method-dialog.directive.mjs +3 -3
- package/esm2022/components/modal/lib/directives/prevent-method-dialog.directive.mjs +3 -3
- package/esm2022/components/modal/lib/modal.component.mjs +3 -3
- package/esm2022/components/modal/lib/modal.directive.mjs +3 -3
- package/esm2022/components/modal/lib/modal.module.mjs +4 -4
- package/esm2022/components/modal/lib/modal.service.mjs +3 -3
- package/esm2022/components/navigation-back/lib/navigation-back.component.mjs +3 -3
- package/esm2022/components/notification/lib/components/notification-center/notification-center.component.mjs +3 -3
- package/esm2022/components/notification/lib/components/notification-item/notification-item.component.mjs +3 -3
- package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +3 -3
- package/esm2022/components/notification/lib/notification.service.mjs +3 -3
- package/esm2022/components/notification/lib/services/notification-center.service.mjs +3 -3
- package/esm2022/components/paginator/lib/paginator.component.mjs +3 -3
- package/esm2022/components/paginator/lib/paginator.module.mjs +4 -4
- package/esm2022/components/progress/lib/progress.component.mjs +3 -3
- package/esm2022/components/radio-group/lib/components/radio-button/radio-button.component.mjs +3 -3
- package/esm2022/components/radio-group/lib/radio-group.component.mjs +3 -3
- package/esm2022/components/radio-group/lib/radio-group.module.mjs +4 -4
- package/esm2022/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.mjs +3 -3
- package/esm2022/components/rail-navigation/lib/rail-navigation.component.mjs +3 -3
- package/esm2022/components/rail-navigation/lib/rail-navigation.module.mjs +4 -4
- package/esm2022/components/rich-list/lib/components/rich-list-content/rich-list-content.component.mjs +3 -3
- package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +3 -3
- package/esm2022/components/rich-list/lib/components/rich-list-item-header/rich-list-item-header.component.mjs +3 -3
- package/esm2022/components/rich-list/lib/rich-list.component.mjs +3 -3
- package/esm2022/components/rich-list/lib/rich-list.module.mjs +4 -4
- package/esm2022/components/search-bar/lib/search-bar-control.directive.mjs +3 -3
- package/esm2022/components/search-bar/lib/search-bar.component.mjs +3 -3
- package/esm2022/components/search-bar/lib/search-bar.module.mjs +4 -4
- package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +3 -3
- package/esm2022/components/select/lib/directives/select-input-control.directive.mjs +3 -3
- package/esm2022/components/select/lib/pipes/select-search-filter.pipe.mjs +3 -3
- package/esm2022/components/select/lib/select.component.mjs +3 -3
- package/esm2022/components/select/lib/select.module.mjs +4 -4
- package/esm2022/components/slider/lib/slider.directive.mjs +3 -3
- package/esm2022/components/spinbox/lib/spinbox.component.mjs +3 -3
- package/esm2022/components/switch/lib/switch.component.mjs +3 -3
- package/esm2022/components/switch/lib/switch.module.mjs +4 -4
- package/esm2022/components/switch/lib/switch.validator.mjs +3 -3
- package/esm2022/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +3 -3
- package/esm2022/components/tab-bar/lib/tab-bar.component.mjs +3 -3
- package/esm2022/components/tab-bar/lib/tab-bar.module.mjs +4 -4
- package/esm2022/components/table/lib/components/check-cell/check-cell.component.mjs +3 -3
- package/esm2022/components/table/lib/components/header-title/header-title.component.mjs +3 -3
- package/esm2022/components/table/lib/directives/table-cell.directive.mjs +3 -3
- package/esm2022/components/table/lib/directives/table-row.directive.mjs +3 -3
- package/esm2022/components/table/lib/table.component.mjs +3 -3
- package/esm2022/components/table/lib/table.module.mjs +4 -4
- package/esm2022/components/timepicker/lib/components/timepicker-option.component.mjs +3 -3
- package/esm2022/components/timepicker/lib/directives/timepicker-input-control.directive.mjs +5 -5
- package/esm2022/components/timepicker/lib/timepicker.component.mjs +3 -3
- package/esm2022/components/timepicker/lib/timepicker.module.mjs +4 -4
- package/esm2022/components/timepicker/lib/timepicker.service.mjs +3 -3
- package/esm2022/components/toast/lib/components/toast-container/toast-container.component.mjs +3 -3
- package/esm2022/components/toast/lib/components/toast-item/toast-item.component.mjs +3 -3
- package/esm2022/components/toast/lib/toast.module.mjs +4 -4
- package/esm2022/components/toast/lib/toast.service.mjs +3 -3
- package/esm2022/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +3 -3
- package/esm2022/components/toggle-button-group/lib/toggle-button-group.component.mjs +3 -3
- package/esm2022/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
- package/esm2022/components/tooltip/lib/tooltip.component.mjs +3 -3
- package/esm2022/components/tooltip/lib/tooltip.directive.mjs +3 -3
- package/esm2022/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +3 -3
- package/esm2022/components/wizard/lib/wizard.component.mjs +3 -3
- package/esm2022/components/wizard/lib/wizard.module.mjs +4 -4
- package/esm2022/internal/translate/lib/pipes/translate.pipe.mjs +3 -3
- package/esm2022/lib/controllers/controller.mjs +3 -3
- package/esm2022/lib/controllers/disabled.controller.mjs +3 -3
- package/esm2022/lib/controllers/readonly.controller.mjs +3 -3
- package/esm2022/lib/core.module.mjs +4 -4
- package/esm2022/lib/directives/click-outside.directive.mjs +3 -3
- package/esm2022/lib/directives/delegate-focus.directive.mjs +3 -3
- package/esm2022/lib/directives/with-disabled-state.directive.mjs +3 -3
- package/esm2022/lib/directives/with-tabindex.directive.mjs +3 -3
- package/esm2022/lib/services/window-ref.mjs +3 -3
- package/esm2022/localization/lib/localization.service.mjs +3 -3
- package/esm2022/theming/lib/theming.service.mjs +3 -3
- package/esm2022/utils/lib/helpers/dom.mjs +3 -2
- package/esm2022/utils/lib/helpers/event-manager.mjs +3 -3
- package/fesm2022/odx-angular-animations.mjs.map +1 -1
- package/fesm2022/odx-angular-breakpoints.mjs +10 -10
- package/fesm2022/odx-angular-breakpoints.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-a11y.mjs +13 -13
- package/fesm2022/odx-angular-cdk-a11y.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-active-indicator.mjs +3 -3
- package/fesm2022/odx-angular-cdk-active-indicator.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-autocomplete-control.mjs +3 -3
- package/fesm2022/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-checkbox-control.mjs +3 -3
- package/fesm2022/odx-angular-cdk-checkbox-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-connected-overlay.mjs +6 -6
- package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-custom-form-control.mjs +9 -9
- package/fesm2022/odx-angular-cdk-custom-form-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-dynamic-view.mjs +9 -9
- package/fesm2022/odx-angular-cdk-dynamic-view.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-event-plugins.mjs +8 -8
- package/fesm2022/odx-angular-cdk-event-plugins.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-expandable.mjs +10 -10
- package/fesm2022/odx-angular-cdk-expandable.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-option-control.mjs +3 -3
- package/fesm2022/odx-angular-cdk-option-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-radio-group-control.mjs +10 -10
- package/fesm2022/odx-angular-cdk-radio-group-control.mjs.map +1 -1
- package/fesm2022/odx-angular-components-accordion.mjs +13 -13
- package/fesm2022/odx-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/odx-angular-components-action-group.mjs +3 -3
- package/fesm2022/odx-angular-components-action-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-area-header.mjs +13 -13
- package/fesm2022/odx-angular-components-area-header.mjs.map +1 -1
- package/fesm2022/odx-angular-components-autocomplete.mjs +16 -16
- package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2022/odx-angular-components-avatar.mjs +3 -3
- package/fesm2022/odx-angular-components-avatar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-badge.mjs +6 -6
- package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
- package/fesm2022/odx-angular-components-bar.mjs +13 -13
- package/fesm2022/odx-angular-components-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-breadcrumbs.mjs +3 -3
- package/fesm2022/odx-angular-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/odx-angular-components-button-group.mjs +3 -3
- package/fesm2022/odx-angular-components-button-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-button.mjs +6 -6
- package/fesm2022/odx-angular-components-button.mjs.map +1 -1
- package/fesm2022/odx-angular-components-calendar.mjs +39 -39
- package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-card.mjs +19 -19
- package/fesm2022/odx-angular-components-card.mjs.map +1 -1
- package/fesm2022/odx-angular-components-checkbox.mjs +10 -10
- package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
- package/fesm2022/odx-angular-components-chip.mjs +9 -9
- package/fesm2022/odx-angular-components-chip.mjs.map +1 -1
- package/fesm2022/odx-angular-components-circular-progress.mjs +3 -3
- package/fesm2022/odx-angular-components-circular-progress.mjs.map +1 -1
- package/fesm2022/odx-angular-components-content-box.mjs +13 -13
- package/fesm2022/odx-angular-components-content-box.mjs.map +1 -1
- package/fesm2022/odx-angular-components-datepicker.mjs +10 -10
- package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-daterangepicker.mjs +16 -16
- package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-dropdown.mjs +10 -10
- package/fesm2022/odx-angular-components-dropdown.mjs.map +1 -1
- package/fesm2022/odx-angular-components-error-page.mjs +3 -3
- package/fesm2022/odx-angular-components-error-page.mjs.map +1 -1
- package/fesm2022/odx-angular-components-footer.mjs +3 -3
- package/fesm2022/odx-angular-components-footer.mjs.map +1 -1
- package/fesm2022/odx-angular-components-form-field.mjs +34 -34
- package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
- package/fesm2022/odx-angular-components-header-navigation.mjs +13 -13
- package/fesm2022/odx-angular-components-header-navigation.mjs.map +1 -1
- package/fesm2022/odx-angular-components-header.mjs +13 -13
- package/fesm2022/odx-angular-components-header.mjs.map +1 -1
- package/fesm2022/odx-angular-components-icon.mjs +3 -3
- package/fesm2022/odx-angular-components-icon.mjs.map +1 -1
- package/fesm2022/odx-angular-components-inline-message.mjs +3 -3
- package/fesm2022/odx-angular-components-inline-message.mjs.map +1 -1
- package/fesm2022/odx-angular-components-link.mjs +3 -3
- package/fesm2022/odx-angular-components-link.mjs.map +1 -1
- package/fesm2022/odx-angular-components-list.mjs +13 -13
- package/fesm2022/odx-angular-components-list.mjs.map +1 -1
- package/fesm2022/odx-angular-components-loading-spinner.mjs +10 -10
- package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
- package/fesm2022/odx-angular-components-logo.mjs +3 -3
- package/fesm2022/odx-angular-components-logo.mjs.map +1 -1
- package/fesm2022/odx-angular-components-main-menu.mjs +19 -19
- package/fesm2022/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2022/odx-angular-components-mainfilter-group.mjs +3 -3
- package/fesm2022/odx-angular-components-mainfilter-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-menu.mjs +13 -13
- package/fesm2022/odx-angular-components-menu.mjs.map +1 -1
- package/fesm2022/odx-angular-components-modal.mjs +40 -40
- package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
- package/fesm2022/odx-angular-components-navigation-back.mjs +3 -3
- package/fesm2022/odx-angular-components-navigation-back.mjs.map +1 -1
- package/fesm2022/odx-angular-components-notification-testing.mjs.map +1 -1
- package/fesm2022/odx-angular-components-notification.mjs +15 -15
- package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
- package/fesm2022/odx-angular-components-paginator.mjs +7 -7
- package/fesm2022/odx-angular-components-paginator.mjs.map +1 -1
- package/fesm2022/odx-angular-components-progress.mjs +3 -3
- package/fesm2022/odx-angular-components-progress.mjs.map +1 -1
- package/fesm2022/odx-angular-components-radio-group.mjs +10 -10
- package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-rail-navigation.mjs +10 -10
- package/fesm2022/odx-angular-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/odx-angular-components-rich-list.mjs +16 -16
- package/fesm2022/odx-angular-components-rich-list.mjs.map +1 -1
- package/fesm2022/odx-angular-components-search-bar.mjs +10 -10
- package/fesm2022/odx-angular-components-search-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-select.mjs +16 -16
- package/fesm2022/odx-angular-components-select.mjs.map +1 -1
- package/fesm2022/odx-angular-components-slider.mjs +3 -3
- package/fesm2022/odx-angular-components-slider.mjs.map +1 -1
- package/fesm2022/odx-angular-components-spinbox.mjs +3 -3
- package/fesm2022/odx-angular-components-spinbox.mjs.map +1 -1
- package/fesm2022/odx-angular-components-switch.mjs +10 -10
- package/fesm2022/odx-angular-components-switch.mjs.map +1 -1
- package/fesm2022/odx-angular-components-tab-bar.mjs +10 -10
- package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-table.mjs +19 -19
- package/fesm2022/odx-angular-components-table.mjs.map +1 -1
- package/fesm2022/odx-angular-components-timepicker.mjs +17 -17
- package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-toast.mjs +13 -13
- package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
- package/fesm2022/odx-angular-components-toggle-button-group.mjs +10 -10
- package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-tooltip.mjs +6 -6
- package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
- package/fesm2022/odx-angular-components-wizard.mjs +10 -10
- package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
- package/fesm2022/odx-angular-internal-translate.mjs +3 -3
- package/fesm2022/odx-angular-internal-translate.mjs.map +1 -1
- package/fesm2022/odx-angular-internal.mjs.map +1 -1
- package/fesm2022/odx-angular-localization.mjs +3 -3
- package/fesm2022/odx-angular-localization.mjs.map +1 -1
- package/fesm2022/odx-angular-rxjs.mjs.map +1 -1
- package/fesm2022/odx-angular-sdk.mjs.map +1 -1
- package/fesm2022/odx-angular-theming.mjs +3 -3
- package/fesm2022/odx-angular-theming.mjs.map +1 -1
- package/fesm2022/odx-angular-utils.mjs +5 -4
- package/fesm2022/odx-angular-utils.mjs.map +1 -1
- package/fesm2022/odx-angular.mjs +28 -28
- package/fesm2022/odx-angular.mjs.map +1 -1
- package/internal/lib/helpers/deepmerge.d.ts +1 -1
- package/localization/lib/localization.config.d.ts +1 -1
- package/package.json +13 -13
- package/theming/lib/theming.config.d.ts +1 -1
- package/utils/lib/helpers/dom.d.ts +1 -1
- package/utils/lib/helpers/provide-config.d.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-tab-bar.mjs","sources":["../../../../libs/angular/components/tab-bar/src/lib/tab-bar.config.ts","../../../../libs/angular/components/tab-bar/src/lib/components/tab-bar-item/tab-bar-item.component.ts","../../../../libs/angular/components/tab-bar/src/lib/components/tab-bar-item/tab-bar-item.component.html","../../../../libs/angular/components/tab-bar/src/lib/tab-bar.component.ts","../../../../libs/angular/components/tab-bar/src/lib/tab-bar.component.html","../../../../libs/angular/components/tab-bar/src/lib/tab-bar.module.ts","../../../../libs/angular/components/tab-bar/src/odx-angular-components-tab-bar.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { TabBarComponent } from './tab-bar.component';\n\nexport const TAB_BAR = new InjectionToken<TabBarComponent>('tabBar');\n","import { Highlightable } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n inject,\n Input,\n OnInit,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { DisabledController } from '@odx/angular';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { deferFn, untilDestroyed } from '@odx/angular/utils';\nimport { filter } from 'rxjs';\nimport { TAB_BAR } from '../../tab-bar.config';\n\n/**\n * Represents an individual tab item in a tab bar interface, providing functionalities\n * for activation, deactivation, and optional closing of the tab. This component is designed\n * to be used within a `TabBarComponent` to create a complete tabbed interface.\n *\n * It supports disabled state management through `DisabledController`, allowing the tab to be\n * disabled based on parent component states or its own `disabled` input property.\n *\n * The component integrates with Angular's `RouterLinkActive` to automatically set active\n * styles based on the current router state, enhancing SPA navigation experiences.\n */\n@CSSComponent('tab-bar-item')\n@Component({\n selector: 'odx-tab-bar-item',\n standalone: true,\n imports: [CommonModule, IconComponent],\n templateUrl: './tab-bar-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DisabledController.connect()],\n host: {\n '[class.is-disabled]': 'disabled',\n '[class.is-active]': 'isActive',\n '[attr.aria-selected]': 'isActive',\n '[class.is-closable]': 'closable',\n role: 'tab',\n },\n})\nexport class TabBarItemComponent implements Highlightable, OnInit {\n private readonly disabledController = DisabledController.inject();\n private readonly tabBar = inject(TAB_BAR);\n private readonly routerLinkActive = inject(RouterLinkActive, { optional: true, self: true });\n private readonly takeUntilDestroyed = untilDestroyed();\n\n protected isActive = false;\n\n public readonly element: ElementRef<HTMLElement> = inject(ElementRef);\n\n public get disabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n /**\n * Indicates if the tab can be closed. This controls the visibility of the close button\n * and enables the emission of the `tabClose` event when the tab is closed.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ transform: booleanAttribute })\n public closable = false;\n\n /**\n * Event emitter that fires when the tab is closed. It emits the instance of the tab item component.\n *\n * @emits {TabBarItemComponent}\n */\n @Output()\n public tabClose = new EventEmitter<TabBarItemComponent>();\n\n public ngOnInit(): void {\n this.routerLinkActive?.isActiveChange.pipe(this.takeUntilDestroyed(), filter(Boolean)).subscribe(() => {\n this.onClick();\n });\n }\n\n /**\n * Sets the tab as active and applies corresponding styles. This method is part of the\n * `Highlightable` interface, allowing the tab bar to manage active states.\n */\n public setActiveStyles(): void {\n deferFn(() => (this.isActive = true));\n }\n\n /**\n * Sets the tab as inactive and removes corresponding active styles. This method is part of the\n * `Highlightable` interface.\n */\n public setInactiveStyles(): void {\n deferFn(() => (this.isActive = false));\n }\n\n @HostListener('click')\n protected onClick(): void {\n if (this.disabled) return;\n this.tabBar.activateItem(this);\n }\n\n protected handleClose(event: Event): void {\n event.stopPropagation();\n if (this.disabled || !this.closable) return;\n this.tabBar.removeItem(this);\n this.tabClose.emit(this);\n }\n}\n","<ng-content select=\"odx-icon\" />\n<div class=\"odx-tab-bar-item__label\"><ng-content /></div>\n@if (closable) {\n <odx-icon name=\"close\" iconSet=\"core\" size=\"small\" (click)=\"handleClose($event)\" />\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n inject,\n Input,\n numberAttribute,\n Output,\n QueryList,\n ViewChild,\n ViewChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ActiveIndicatorDirective } from '@odx/angular/cdk/active-indicator';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { fromElementResize$, fromQueryList } from '@odx/angular/rxjs';\nimport { applyStyles, cssTranslate, deferFn, injectElement, px, untilDestroyed } from '@odx/angular/utils';\nimport { BehaviorSubject, debounceTime, fromEvent, merge, tap } from 'rxjs';\nimport { TabBarItemComponent } from './components';\nimport { TabChangeEvent } from './models';\nimport { TAB_BAR } from './tab-bar.config';\n\n/**\n * `TabBarComponent` creates a dynamic and accessible tab bar interface,\n * facilitating the management and interaction with a collection of tabs.\n * It supports keyboard navigation, dynamic tab management, and responsive overflow actions.\n *\n * The component integrates with Angular's ContentChildren to dynamically manage the tabs based on their content.\n * It uses ActiveDescendantKeyManager from Angular CDK for managing focus and keyboard navigation,\n * making it accessible and user-friendly. Additionally, it handles overflow with navigational arrows,\n * allowing for a smooth user experience even with a large number of tabs.\n */\n@CSSComponent('tab-bar')\n@Component({\n selector: 'odx-tab-bar',\n standalone: true,\n imports: [CommonModule, IconComponent, ActiveIndicatorDirective],\n templateUrl: './tab-bar.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: TAB_BAR, useExisting: forwardRef(() => TabBarComponent) }],\n host: {\n role: 'tabpanel',\n tabindex: '0',\n },\n})\nexport class TabBarComponent implements AfterViewInit {\n private readonly changeDetector = inject(ChangeDetectorRef);\n private readonly takeUntilDestroyed = untilDestroyed();\n private readonly selectedIndex$$ = new BehaviorSubject(0);\n\n protected activeItem: TabBarItemComponent | null = null;\n\n protected keyManager?: ActiveDescendantKeyManager<TabBarItemComponent>;\n\n @ViewChild('tabBarPanel')\n protected tabBarPanelElement!: ElementRef<HTMLElement>;\n\n @ViewChildren('tabAction')\n protected tabActionElements!: QueryList<ElementRef<HTMLElement>>;\n\n @ContentChildren(TabBarItemComponent)\n protected tabs!: QueryList<TabBarItemComponent>;\n\n public readonly element = injectElement();\n\n /**\n * Indicates whether the tab bar has overflowed to the left.\n *\n * @type {boolean}\n */\n @CSSModifier()\n public overflowLeft = false;\n\n /**\n * Indicates whether the tab bar has overflowed to the right.\n *\n * @type {boolean}\n */\n @CSSModifier()\n public overflowRight = false;\n\n /**\n * Gets or sets the index of the currently selected tab. Use this property to programmatically\n * change the active tab. It responds to changes by updating the active state of the corresponding\n * tab item and adjusting the view if necessary.\n *\n * @type {number}\n * @example\n * Programmatically select the second tab (index starts from 0):\n * ```html\n * <odx-tab-bar [selectedIndex]=\"1\"></odx-tab-bar>\n * ```\n */\n @Input({ transform: numberAttribute })\n public set selectedIndex(value: number) {\n this.selectedIndex$$.next(value);\n }\n\n /**\n * An EventEmitter that emits whenever a new tab is selected. It provides the `TabChangeEvent`\n * which contains the index of the newly selected tab and the instance of the corresponding\n * `TabBarItemComponent`. Subscribe to this output to perform actions when the active tab changes.\n *\n * @emits {TabChangeEvent}\n * @example\n * ```html\n * <odx-tab-bar (selectedTabChanged)=\"onTabChange($event)\"></odx-tab-bar>\n * ```\n *\n * ```ts\n * onTabChange(event: TabChangeEvent): void {\n * console.log(`New active tab index: ${event.selectedIndex}`);\n * }\n * ```\n */\n @Output()\n public selectedTabChanged = new EventEmitter<TabChangeEvent>();\n\n public ngAfterViewInit(): void {\n this.keyManager = new ActiveDescendantKeyManager(this.tabs).withWrap().withHomeAndEnd().withHorizontalOrientation('ltr').withVerticalOrientation(false);\n const updatePanelPosition$ = merge(this.selectedTabChanged, fromQueryList(this.tabs), fromElementResize$(this.element.nativeElement)).pipe(\n debounceTime(0),\n tap(() => this.updatePanelPosition()),\n );\n const updateActionVisibility$ = fromEvent(this.tabBarPanelElement.nativeElement, 'transitionend').pipe(\n tap(({ target }) => target === this.tabBarPanelElement.nativeElement && this.updateActionVisbility()),\n );\n const activeItemChange$ = merge(\n this.keyManager.change.pipe(tap(() => this.activeItemChange())),\n this.selectedIndex$$.pipe(tap((index) => this.keyManager?.setActiveItem(index))),\n );\n merge(activeItemChange$, updatePanelPosition$, updateActionVisibility$).pipe(this.takeUntilDestroyed()).subscribe();\n this.tabs.changes.pipe(this.takeUntilDestroyed()).subscribe(() => this.selectedIndex$$.next(this.selectedIndex$$.value));\n }\n\n /**\n * Activates the specified tab item.\n *\n * @param {TabBarItemComponent | null} item - The tab item to activate. If not provided or null, the active item will be cleared.\n *\n * @example\n * ```ts\n * // Activate the first tab item\n * tabBar.activateItem(tabItems[0]);\n *\n * // Clear the active item\n * tabBar.activateItem(null);\n * ```\n */\n public activateItem(item?: TabBarItemComponent | null): void {\n if (item === this.activeItem) return;\n const selectedIndex = item ? this.tabs.toArray().indexOf(item) : -1;\n this.keyManager?.setActiveItem(selectedIndex);\n }\n\n /**\n * Removes the specified item from the tab bar.\n * If the removed item is the active item, it sets the previous item as the new active item.\n *\n * @param {TabBarItemComponent} item - The item to be removed from the tab bar.\n */\n public removeItem(item: TabBarItemComponent): void {\n if (this.activeItem !== item) return;\n deferFn(() => this.keyManager?.setPreviousItemActive());\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n this.keyManager?.onKeydown(event);\n }\n\n private updatePanelPosition(): void {\n const activeElement = this.activeItem?.element.nativeElement;\n if (!activeElement) return;\n const panelRect = this.tabBarPanelElement.nativeElement.getBoundingClientRect();\n const tabBarRect = this.element.nativeElement.getBoundingClientRect();\n const maxPanelPositionX = Math.floor(tabBarRect.width - panelRect.width);\n const panelPositionX = tabBarRect.width / 2 - activeElement.offsetLeft - activeElement.offsetWidth / 2;\n const positionX = Math.min(0, Math.max(panelPositionX, maxPanelPositionX));\n applyStyles(this.tabBarPanelElement.nativeElement, {\n transform: cssTranslate(px(positionX), 0),\n });\n this.updateActionVisbility();\n }\n\n private updateActionVisbility(): void {\n const panelRect = this.tabBarPanelElement.nativeElement.getBoundingClientRect();\n const tabBarRect = this.element.nativeElement.getBoundingClientRect();\n this.overflowLeft = panelRect.left < tabBarRect.left;\n this.overflowRight = panelRect.right > tabBarRect.right;\n this.changeDetector.detectChanges();\n }\n\n private activeItemChange(): void {\n const { activeItemIndex, activeItem } = this.keyManager ?? {};\n this.activeItem = activeItem ?? null;\n this.selectedTabChanged.emit({ selectedIndex: activeItemIndex ?? -1, selectedTab: this.keyManager?.activeItem ?? null });\n }\n}\n","<button\n #tabAction\n class=\"odx-tab-bar__action odx-tab-bar__action--prev\"\n [class.is-active]=\"overflowLeft\"\n (click)=\"keyManager?.setPreviousItemActive()\"\n tabindex=\"-1\"\n>\n <odx-icon class=\"tab-bar-action-icon\" name=\"chevron-left\" iconSet=\"core\" />\n</button>\n<div class=\"odx-tab-bar__inner\">\n <div class=\"odx-tab-bar__panel\" role=\"tablist\" #tabBarPanel>\n <ng-content />\n <div class=\"odx-tab-bar__indicator\" [odxActiveIndicator]=\"activeItem?.element?.nativeElement\" odxActiveIndicatorPosition=\"start\"></div>\n </div>\n</div>\n<button\n #tabAction\n class=\"odx-tab-bar__action odx-tab-bar__action--next\"\n [class.is-active]=\"overflowRight\"\n (click)=\"keyManager?.setNextItemActive()\"\n tabindex=\"-1\"\n>\n <odx-icon class=\"tab-bar-action-icon\" name=\"chevron-right\" iconSet=\"core\" />\n</button>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { TabBarItemComponent } from './components';\nimport { TabBarComponent } from './tab-bar.component';\n\nconst modules = [TabBarComponent, TabBarItemComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class TabBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"odx-angular-components-tab-bar.mjs","sources":["../../../../libs/angular/components/tab-bar/src/lib/tab-bar.config.ts","../../../../libs/angular/components/tab-bar/src/lib/components/tab-bar-item/tab-bar-item.component.ts","../../../../libs/angular/components/tab-bar/src/lib/components/tab-bar-item/tab-bar-item.component.html","../../../../libs/angular/components/tab-bar/src/lib/tab-bar.component.ts","../../../../libs/angular/components/tab-bar/src/lib/tab-bar.component.html","../../../../libs/angular/components/tab-bar/src/lib/tab-bar.module.ts","../../../../libs/angular/components/tab-bar/src/odx-angular-components-tab-bar.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { TabBarComponent } from './tab-bar.component';\n\nexport const TAB_BAR = new InjectionToken<TabBarComponent>('tabBar');\n","import { Highlightable } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n inject,\n Input,\n OnInit,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { DisabledController } from '@odx/angular';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { deferFn, untilDestroyed } from '@odx/angular/utils';\nimport { filter } from 'rxjs';\nimport { TAB_BAR } from '../../tab-bar.config';\n\n/**\n * Represents an individual tab item in a tab bar interface, providing functionalities\n * for activation, deactivation, and optional closing of the tab. This component is designed\n * to be used within a `TabBarComponent` to create a complete tabbed interface.\n *\n * It supports disabled state management through `DisabledController`, allowing the tab to be\n * disabled based on parent component states or its own `disabled` input property.\n *\n * The component integrates with Angular's `RouterLinkActive` to automatically set active\n * styles based on the current router state, enhancing SPA navigation experiences.\n */\n@CSSComponent('tab-bar-item')\n@Component({\n selector: 'odx-tab-bar-item',\n standalone: true,\n imports: [CommonModule, IconComponent],\n templateUrl: './tab-bar-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DisabledController.connect()],\n host: {\n '[class.is-disabled]': 'disabled',\n '[class.is-active]': 'isActive',\n '[attr.aria-selected]': 'isActive',\n '[class.is-closable]': 'closable',\n role: 'tab',\n },\n})\nexport class TabBarItemComponent implements Highlightable, OnInit {\n private readonly disabledController = DisabledController.inject();\n private readonly tabBar = inject(TAB_BAR);\n private readonly routerLinkActive = inject(RouterLinkActive, { optional: true, self: true });\n private readonly takeUntilDestroyed = untilDestroyed();\n\n protected isActive = false;\n\n public readonly element: ElementRef<HTMLElement> = inject(ElementRef);\n\n public get disabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n /**\n * Indicates if the tab can be closed. This controls the visibility of the close button\n * and enables the emission of the `tabClose` event when the tab is closed.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ transform: booleanAttribute })\n public closable = false;\n\n /**\n * Event emitter that fires when the tab is closed. It emits the instance of the tab item component.\n *\n * @emits {TabBarItemComponent}\n */\n @Output()\n public tabClose = new EventEmitter<TabBarItemComponent>();\n\n public ngOnInit(): void {\n this.routerLinkActive?.isActiveChange.pipe(this.takeUntilDestroyed(), filter(Boolean)).subscribe(() => {\n this.onClick();\n });\n }\n\n /**\n * Sets the tab as active and applies corresponding styles. This method is part of the\n * `Highlightable` interface, allowing the tab bar to manage active states.\n */\n public setActiveStyles(): void {\n deferFn(() => (this.isActive = true));\n }\n\n /**\n * Sets the tab as inactive and removes corresponding active styles. This method is part of the\n * `Highlightable` interface.\n */\n public setInactiveStyles(): void {\n deferFn(() => (this.isActive = false));\n }\n\n @HostListener('click')\n protected onClick(): void {\n if (this.disabled) return;\n this.tabBar.activateItem(this);\n }\n\n protected handleClose(event: Event): void {\n event.stopPropagation();\n if (this.disabled || !this.closable) return;\n this.tabBar.removeItem(this);\n this.tabClose.emit(this);\n }\n}\n","<ng-content select=\"odx-icon\" />\n<div class=\"odx-tab-bar-item__label\"><ng-content /></div>\n@if (closable) {\n <odx-icon name=\"close\" iconSet=\"core\" size=\"small\" (click)=\"handleClose($event)\" />\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n inject,\n Input,\n numberAttribute,\n Output,\n QueryList,\n ViewChild,\n ViewChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ActiveIndicatorDirective } from '@odx/angular/cdk/active-indicator';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { fromElementResize$, fromQueryList } from '@odx/angular/rxjs';\nimport { applyStyles, cssTranslate, deferFn, injectElement, px, untilDestroyed } from '@odx/angular/utils';\nimport { BehaviorSubject, debounceTime, fromEvent, merge, tap } from 'rxjs';\nimport { TabBarItemComponent } from './components';\nimport { TabChangeEvent } from './models';\nimport { TAB_BAR } from './tab-bar.config';\n\n/**\n * `TabBarComponent` creates a dynamic and accessible tab bar interface,\n * facilitating the management and interaction with a collection of tabs.\n * It supports keyboard navigation, dynamic tab management, and responsive overflow actions.\n *\n * The component integrates with Angular's ContentChildren to dynamically manage the tabs based on their content.\n * It uses ActiveDescendantKeyManager from Angular CDK for managing focus and keyboard navigation,\n * making it accessible and user-friendly. Additionally, it handles overflow with navigational arrows,\n * allowing for a smooth user experience even with a large number of tabs.\n */\n@CSSComponent('tab-bar')\n@Component({\n selector: 'odx-tab-bar',\n standalone: true,\n imports: [CommonModule, IconComponent, ActiveIndicatorDirective],\n templateUrl: './tab-bar.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: TAB_BAR, useExisting: forwardRef(() => TabBarComponent) }],\n host: {\n role: 'tabpanel',\n tabindex: '0',\n },\n})\nexport class TabBarComponent implements AfterViewInit {\n private readonly changeDetector = inject(ChangeDetectorRef);\n private readonly takeUntilDestroyed = untilDestroyed();\n private readonly selectedIndex$$ = new BehaviorSubject(0);\n\n protected activeItem: TabBarItemComponent | null = null;\n\n protected keyManager?: ActiveDescendantKeyManager<TabBarItemComponent>;\n\n @ViewChild('tabBarPanel')\n protected tabBarPanelElement!: ElementRef<HTMLElement>;\n\n @ViewChildren('tabAction')\n protected tabActionElements!: QueryList<ElementRef<HTMLElement>>;\n\n @ContentChildren(TabBarItemComponent)\n protected tabs!: QueryList<TabBarItemComponent>;\n\n public readonly element = injectElement();\n\n /**\n * Indicates whether the tab bar has overflowed to the left.\n *\n * @type {boolean}\n */\n @CSSModifier()\n public overflowLeft = false;\n\n /**\n * Indicates whether the tab bar has overflowed to the right.\n *\n * @type {boolean}\n */\n @CSSModifier()\n public overflowRight = false;\n\n /**\n * Gets or sets the index of the currently selected tab. Use this property to programmatically\n * change the active tab. It responds to changes by updating the active state of the corresponding\n * tab item and adjusting the view if necessary.\n *\n * @type {number}\n * @example\n * Programmatically select the second tab (index starts from 0):\n * ```html\n * <odx-tab-bar [selectedIndex]=\"1\"></odx-tab-bar>\n * ```\n */\n @Input({ transform: numberAttribute })\n public set selectedIndex(value: number) {\n this.selectedIndex$$.next(value);\n }\n\n /**\n * An EventEmitter that emits whenever a new tab is selected. It provides the `TabChangeEvent`\n * which contains the index of the newly selected tab and the instance of the corresponding\n * `TabBarItemComponent`. Subscribe to this output to perform actions when the active tab changes.\n *\n * @emits {TabChangeEvent}\n * @example\n * ```html\n * <odx-tab-bar (selectedTabChanged)=\"onTabChange($event)\"></odx-tab-bar>\n * ```\n *\n * ```ts\n * onTabChange(event: TabChangeEvent): void {\n * console.log(`New active tab index: ${event.selectedIndex}`);\n * }\n * ```\n */\n @Output()\n public selectedTabChanged = new EventEmitter<TabChangeEvent>();\n\n public ngAfterViewInit(): void {\n this.keyManager = new ActiveDescendantKeyManager(this.tabs).withWrap().withHomeAndEnd().withHorizontalOrientation('ltr').withVerticalOrientation(false);\n const updatePanelPosition$ = merge(this.selectedTabChanged, fromQueryList(this.tabs), fromElementResize$(this.element.nativeElement)).pipe(\n debounceTime(0),\n tap(() => this.updatePanelPosition()),\n );\n const updateActionVisibility$ = fromEvent(this.tabBarPanelElement.nativeElement, 'transitionend').pipe(\n tap(({ target }) => target === this.tabBarPanelElement.nativeElement && this.updateActionVisbility()),\n );\n const activeItemChange$ = merge(\n this.keyManager.change.pipe(tap(() => this.activeItemChange())),\n this.selectedIndex$$.pipe(tap((index) => this.keyManager?.setActiveItem(index))),\n );\n merge(activeItemChange$, updatePanelPosition$, updateActionVisibility$).pipe(this.takeUntilDestroyed()).subscribe();\n this.tabs.changes.pipe(this.takeUntilDestroyed()).subscribe(() => this.selectedIndex$$.next(this.selectedIndex$$.value));\n }\n\n /**\n * Activates the specified tab item.\n *\n * @param {TabBarItemComponent | null} item - The tab item to activate. If not provided or null, the active item will be cleared.\n *\n * @example\n * ```ts\n * // Activate the first tab item\n * tabBar.activateItem(tabItems[0]);\n *\n * // Clear the active item\n * tabBar.activateItem(null);\n * ```\n */\n public activateItem(item?: TabBarItemComponent | null): void {\n if (item === this.activeItem) return;\n const selectedIndex = item ? this.tabs.toArray().indexOf(item) : -1;\n this.keyManager?.setActiveItem(selectedIndex);\n }\n\n /**\n * Removes the specified item from the tab bar.\n * If the removed item is the active item, it sets the previous item as the new active item.\n *\n * @param {TabBarItemComponent} item - The item to be removed from the tab bar.\n */\n public removeItem(item: TabBarItemComponent): void {\n if (this.activeItem !== item) return;\n deferFn(() => this.keyManager?.setPreviousItemActive());\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n this.keyManager?.onKeydown(event);\n }\n\n private updatePanelPosition(): void {\n const activeElement = this.activeItem?.element.nativeElement;\n if (!activeElement) return;\n const panelRect = this.tabBarPanelElement.nativeElement.getBoundingClientRect();\n const tabBarRect = this.element.nativeElement.getBoundingClientRect();\n const maxPanelPositionX = Math.floor(tabBarRect.width - panelRect.width);\n const panelPositionX = tabBarRect.width / 2 - activeElement.offsetLeft - activeElement.offsetWidth / 2;\n const positionX = Math.min(0, Math.max(panelPositionX, maxPanelPositionX));\n applyStyles(this.tabBarPanelElement.nativeElement, {\n transform: cssTranslate(px(positionX), 0),\n });\n this.updateActionVisbility();\n }\n\n private updateActionVisbility(): void {\n const panelRect = this.tabBarPanelElement.nativeElement.getBoundingClientRect();\n const tabBarRect = this.element.nativeElement.getBoundingClientRect();\n this.overflowLeft = panelRect.left < tabBarRect.left;\n this.overflowRight = panelRect.right > tabBarRect.right;\n this.changeDetector.detectChanges();\n }\n\n private activeItemChange(): void {\n const { activeItemIndex, activeItem } = this.keyManager ?? {};\n this.activeItem = activeItem ?? null;\n this.selectedTabChanged.emit({ selectedIndex: activeItemIndex ?? -1, selectedTab: this.keyManager?.activeItem ?? null });\n }\n}\n","<button\n #tabAction\n class=\"odx-tab-bar__action odx-tab-bar__action--prev\"\n [class.is-active]=\"overflowLeft\"\n (click)=\"keyManager?.setPreviousItemActive()\"\n tabindex=\"-1\"\n>\n <odx-icon class=\"tab-bar-action-icon\" name=\"chevron-left\" iconSet=\"core\" />\n</button>\n<div class=\"odx-tab-bar__inner\">\n <div class=\"odx-tab-bar__panel\" role=\"tablist\" #tabBarPanel>\n <ng-content />\n <div class=\"odx-tab-bar__indicator\" [odxActiveIndicator]=\"activeItem?.element?.nativeElement\" odxActiveIndicatorPosition=\"start\"></div>\n </div>\n</div>\n<button\n #tabAction\n class=\"odx-tab-bar__action odx-tab-bar__action--next\"\n [class.is-active]=\"overflowRight\"\n (click)=\"keyManager?.setNextItemActive()\"\n tabindex=\"-1\"\n>\n <odx-icon class=\"tab-bar-action-icon\" name=\"chevron-right\" iconSet=\"core\" />\n</button>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { TabBarItemComponent } from './components';\nimport { TabBarComponent } from './tab-bar.component';\n\nconst modules = [TabBarComponent, TabBarItemComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class TabBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -47,10 +47,10 @@ class CheckCellComponent {
|
|
|
47
47
|
this.checkedChange.emit(e);
|
|
48
48
|
this.table.headers.forEach((header) => header.check && header.check());
|
|
49
49
|
}
|
|
50
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
51
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CheckCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
51
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.12", type: CheckCellComponent, isStandalone: true, selector: "td[odx-table-cell][checked]", inputs: { checked: ["checked", "checked", booleanAttribute] }, outputs: { checkedChange: "checkedChange" }, ngImport: i0, template: "<odx-checkbox [(ngModel)]=\"checked\" (ngModelChange)=\"update($event)\" />\n", dependencies: [{ kind: "component", type: CheckboxComponent, selector: "odx-checkbox", inputs: ["indeterminate"], outputs: ["indeterminateChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
52
52
|
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CheckCellComponent, decorators: [{
|
|
54
54
|
type: Component,
|
|
55
55
|
args: [{ selector: 'td[odx-table-cell][checked]', standalone: true, imports: [CheckboxComponent, FormsModule], template: "<odx-checkbox [(ngModel)]=\"checked\" (ngModelChange)=\"update($event)\" />\n" }]
|
|
56
56
|
}], propDecorators: { checked: [{
|
|
@@ -166,10 +166,10 @@ class HeaderTitleComponent {
|
|
|
166
166
|
const unchecked = length - this.table.data.filter((item) => column && item[column]).length;
|
|
167
167
|
return unchecked > 0 && unchecked < length;
|
|
168
168
|
}
|
|
169
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
170
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
169
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: HeaderTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
170
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: HeaderTitleComponent, isStandalone: true, selector: "th[odxHeaderTitle]", inputs: { item: "item" }, ngImport: i0, template: "@if (item.check) {\n <div class=\"odx-table__check\">\n <div [formGroup]=\"checkForm\">\n <odx-checkbox [checked]=\"checked\" [indeterminate]=\"indeterminate\" formControlName=\"check\" />\n </div>\n </div>\n} @else {\n <div class=\"odx-table__header-cell-title\" (click)=\"sortColumn()\" [class.sortable]=\"item.sortable\">\n {{ item.title }}\n @if (item.sortable) {\n @switch (sortIcon) {\n @case ('unsorted') {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <path d=\"m14,5H2v-2h12v2Zm-4,2H2v2h8v-2Zm-4,4H2v2h4v-2Z\" style=\"fill: var(--blue-700)\" />\n </svg>\n }\n @case ('desc') {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <polygon points=\"11 6 8 3 5 6 7 6 7 13 9 13 9 6 11 6\" style=\"fill: var(--blue-700)\" />\n </svg>\n }\n @case ('asc') {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <polygon points=\"5 10 8 13 11 10 9 10 9 3 7 3 7 10 5 10\" style=\"fill: var(--blue-700)\" />\n </svg>\n }\n }\n }\n </div>\n <ng-content select=\"odx-form-field\" />\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CheckboxComponent, selector: "odx-checkbox", inputs: ["indeterminate"], outputs: ["indeterminateChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
171
171
|
}
|
|
172
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: HeaderTitleComponent, decorators: [{
|
|
173
173
|
type: Component,
|
|
174
174
|
args: [{ selector: 'th[odxHeaderTitle]', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, CheckboxComponent, ReactiveFormsModule], template: "@if (item.check) {\n <div class=\"odx-table__check\">\n <div [formGroup]=\"checkForm\">\n <odx-checkbox [checked]=\"checked\" [indeterminate]=\"indeterminate\" formControlName=\"check\" />\n </div>\n </div>\n} @else {\n <div class=\"odx-table__header-cell-title\" (click)=\"sortColumn()\" [class.sortable]=\"item.sortable\">\n {{ item.title }}\n @if (item.sortable) {\n @switch (sortIcon) {\n @case ('unsorted') {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <path d=\"m14,5H2v-2h12v2Zm-4,2H2v2h8v-2Zm-4,4H2v2h4v-2Z\" style=\"fill: var(--blue-700)\" />\n </svg>\n }\n @case ('desc') {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <polygon points=\"11 6 8 3 5 6 7 6 7 13 9 13 9 6 11 6\" style=\"fill: var(--blue-700)\" />\n </svg>\n }\n @case ('asc') {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <polygon points=\"5 10 8 13 11 10 9 10 9 3 7 3 7 10 5 10\" style=\"fill: var(--blue-700)\" />\n </svg>\n }\n }\n }\n </div>\n <ng-content select=\"odx-form-field\" />\n}\n" }]
|
|
175
175
|
}], propDecorators: { item: [{
|
|
@@ -184,13 +184,13 @@ let TableCellDirective = class TableCellDirective {
|
|
|
184
184
|
constructor() {
|
|
185
185
|
this.element = injectElement();
|
|
186
186
|
}
|
|
187
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
188
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
187
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
188
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: TableCellDirective, isStandalone: true, selector: "td[odx-table-cell]", host: { properties: { "attr.role": "\"cell\"" } }, ngImport: i0 }); }
|
|
189
189
|
};
|
|
190
190
|
TableCellDirective = __decorate([
|
|
191
191
|
CSSComponent('table__cell')
|
|
192
192
|
], TableCellDirective);
|
|
193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
193
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableCellDirective, decorators: [{
|
|
194
194
|
type: Directive,
|
|
195
195
|
args: [{
|
|
196
196
|
selector: 'td[odx-table-cell]',
|
|
@@ -209,13 +209,13 @@ let TableRowDirective = class TableRowDirective {
|
|
|
209
209
|
constructor() {
|
|
210
210
|
this.element = injectElement();
|
|
211
211
|
}
|
|
212
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
213
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
212
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
213
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: TableRowDirective, isStandalone: true, selector: "tr[odx-table-row]", host: { properties: { "attr.role": "\"row\"", "attr.tabindex": "0" } }, ngImport: i0 }); }
|
|
214
214
|
};
|
|
215
215
|
TableRowDirective = __decorate([
|
|
216
216
|
CSSComponent('table__row')
|
|
217
217
|
], TableRowDirective);
|
|
218
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableRowDirective, decorators: [{
|
|
219
219
|
type: Directive,
|
|
220
220
|
args: [{
|
|
221
221
|
selector: 'tr[odx-table-row]',
|
|
@@ -312,8 +312,8 @@ let TableComponent = class TableComponent {
|
|
|
312
312
|
filter: false,
|
|
313
313
|
});
|
|
314
314
|
}
|
|
315
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
316
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
315
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
316
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: TableComponent, isStandalone: true, selector: "table[odxTable]", inputs: { variant: "variant", data: "data", headerData: "headerData" }, outputs: { sorted: "sorted", filtered: "filtered", checked: "checked" }, host: { properties: { "attr.role": "\"table\"" } }, providers: [{ provide: TABLE, useExisting: TableComponent }], viewQueries: [{ propertyName: "headers", predicate: HeaderTitleComponent, descendants: true }], ngImport: i0, template: "<thead class=\"odx-table__head\" role=\"rowgroup\" [formGroup]=\"form\">\n <tr class=\"odx-table__header-row\" role=\"row\">\n @for (item of headerData; track $index) {\n <th class=\"odx-table__header-cell\" role=\"columnheader\" odxHeaderTitle [item]=\"item\">\n @if (item.filter) {\n <odx-form-field>\n <input placeholder=\"Filter\" [formControlName]=\"item.name\" type=\"text\" odxFormFieldControl />\n </odx-form-field>\n }\n </th>\n }\n </tr>\n</thead>\n<tbody class=\"odx-table__body\" role=\"rowgroup\">\n <ng-content select=\"tr\" />\n</tbody>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormFieldModule }, { kind: "component", type: i2.FormFieldComponent, selector: "odx-form-field", inputs: ["label", "hasWarning", "variant"] }, { kind: "directive", type: i2.FormFieldControlDirective, selector: "[odxFormFieldControl]", exportAs: ["odxFormFieldControl"] }, { kind: "component", type: HeaderTitleComponent, selector: "th[odxHeaderTitle]", inputs: ["item"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
317
317
|
};
|
|
318
318
|
__decorate([
|
|
319
319
|
CSSModifier(),
|
|
@@ -322,7 +322,7 @@ __decorate([
|
|
|
322
322
|
TableComponent = __decorate([
|
|
323
323
|
CSSComponent('table')
|
|
324
324
|
], TableComponent);
|
|
325
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
325
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableComponent, decorators: [{
|
|
326
326
|
type: Component,
|
|
327
327
|
args: [{ selector: 'table[odxTable]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
328
328
|
'[attr.role]': '"table"',
|
|
@@ -346,11 +346,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
346
346
|
|
|
347
347
|
const modules = [TableComponent, TableRowDirective, TableCellDirective, CheckCellComponent];
|
|
348
348
|
class TableModule {
|
|
349
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
350
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
351
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
349
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
350
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: TableModule, imports: [TableComponent, TableRowDirective, TableCellDirective, CheckCellComponent], exports: [CoreModule, TableComponent, TableRowDirective, TableCellDirective, CheckCellComponent] }); }
|
|
351
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableModule, imports: [TableComponent, CheckCellComponent, CoreModule] }); }
|
|
352
352
|
}
|
|
353
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
353
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableModule, decorators: [{
|
|
354
354
|
type: NgModule,
|
|
355
355
|
args: [{
|
|
356
356
|
imports: modules,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-table.mjs","sources":["../../../../libs/angular/components/table/src/lib/table.config.ts","../../../../libs/angular/components/table/src/lib/components/check-cell/check-cell.component.ts","../../../../libs/angular/components/table/src/lib/components/check-cell/check-cell.component.html","../../../../libs/angular/components/table/src/lib/models/sort-variant.ts","../../../../libs/angular/components/table/src/lib/components/header-title/header-title.component.ts","../../../../libs/angular/components/table/src/lib/components/header-title/header-title.component.html","../../../../libs/angular/components/table/src/lib/directives/table-cell.directive.ts","../../../../libs/angular/components/table/src/lib/directives/table-row.directive.ts","../../../../libs/angular/components/table/src/lib/models/table-variant.ts","../../../../libs/angular/components/table/src/lib/table.component.ts","../../../../libs/angular/components/table/src/lib/table.component.html","../../../../libs/angular/components/table/src/lib/table.module.ts","../../../../libs/angular/components/table/src/odx-angular-components-table.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { TableBodyCell } from './models';\nimport { TableComponent } from './table.component';\n\nexport const TABLE = new InjectionToken<TableComponent<TableBodyCell>>('odx-table');\n","import { booleanAttribute, Component, EventEmitter, inject, Input, Output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CheckboxComponent } from '@odx/angular/components/checkbox';\nimport { injectElement } from '@odx/angular/utils';\nimport { TABLE } from '../../table.config';\n\n/**\n * CheckCellComponent provides a checkbox input within a table cell, allowing rows to be selected.\n * It is designed to be used in conjunction with a table component that manages state and header interactions,\n * particularly for functionalities like bulk actions.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'td[odx-table-cell][checked]',\n standalone: true,\n templateUrl: './check-cell.component.html',\n imports: [CheckboxComponent, FormsModule],\n})\nexport class CheckCellComponent {\n private readonly table = inject(TABLE);\n public readonly element = injectElement();\n\n /**\n * Indicates whether the checkbox within the table cell is checked.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ transform: booleanAttribute })\n public checked = false;\n\n /**\n * Event emitter that triggers when the checked state changes. It emits the new state of the checkbox.\n *\n * @emits {boolean}\n */\n @Output() public checkedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /**\n * Updates the checked state of the checkbox and notifies the parent table component, typically to update\n * the state of a header checkbox or other related components.\n * @param {boolean} e - The new checked state.\n */\n public update(e: boolean): void {\n this.checkedChange.emit(e);\n this.table.headers.forEach((header) => header.check && header.check());\n }\n}\n","<odx-checkbox [(ngModel)]=\"checked\" (ngModelChange)=\"update($event)\" />\n","export type TableSortVariant = typeof TableSortVariant[keyof typeof TableSortVariant];\n\nexport const TableSortVariant = {\n UNSORTED: 'unsorted',\n ASC: 'asc',\n DESC: 'desc',\n} as const;\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { CheckboxComponent } from '@odx/angular/components/checkbox';\nimport { untilDestroyed } from '@odx/angular/utils';\nimport { tap } from 'rxjs';\nimport { SortStatus, TableBodyCell, TableHeaderCell } from '../../models';\nimport { TableSortVariant } from '../../models/sort-variant';\nimport { TABLE } from '../../table.config';\n\n/**\n * HeaderTitleComponent provides the functionality for a table header cell, including sorting and checkbox\n * operations if applicable. It handles changes in sort state and emits relevant events to the table component\n * to manage sorting and selection state across the table.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'th[odxHeaderTitle]',\n templateUrl: './header-title.component.html',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, CheckboxComponent, ReactiveFormsModule],\n})\nexport class HeaderTitleComponent implements OnInit {\n private readonly table = inject(TABLE);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly takeUntilDestroyed = untilDestroyed();\n private sortStatus: SortStatus = this.getSortStatus;\n\n /**\n * The header cell item containing metadata like column name, sortability, and whether it should include a checkbox.\n *\n * @type {TableHeaderCell}\n */\n @Input()\n public item!: TableHeaderCell;\n\n /**\n * FormGroup to manage the checkbox state within the header.\n *\n * @type {FormGroup}\n */\n public checkForm = new FormGroup({ check: new FormControl(false) });\n\n /**\n * Computes and returns the current sort status of the column associated with this header.\n *\n * @returns {SortStatus}\n */\n public get getSortStatus(): SortStatus {\n return { column: this.item?.name, sortVariant: TableSortVariant.UNSORTED };\n }\n\n /**\n * Returns the icon or indicator for the current sorting status (ascending, descending, unsorted).\n *\n * @returns {TableSortVariant}\n */\n public get sortIcon(): TableSortVariant {\n return this.sortStatus.sortVariant;\n }\n\n /**\n * Toggles the sorting status of the column and informs the table component of the change.\n */\n public sortColumn(): void {\n if (!this.item?.sortable) return;\n switch (this.sortStatus.sortVariant) {\n case TableSortVariant.DESC:\n case TableSortVariant.UNSORTED:\n this.table.clearSort();\n this.sortStatus = { ...this.sortStatus, sortVariant: TableSortVariant.ASC };\n break;\n case TableSortVariant.ASC:\n this.table.clearSort();\n\n this.sortStatus = { ...this.sortStatus, sortVariant: TableSortVariant.DESC };\n break;\n }\n\n this.table.sorted.emit(this.sortStatus);\n }\n\n /**\n * Resets the sort status to unsorted.\n */\n public clearSortStatus(): void {\n this.sortStatus = { column: this.item?.name, sortVariant: TableSortVariant.UNSORTED };\n this.check();\n }\n\n /**\n * Returns the number of selected items in the column, used to determine checkbox state.\n *\n * @returns {number}\n */\n public get selected(): number {\n return this.table.data.filter((d: TableBodyCell) => d[this.item.name]).length;\n }\n\n /**\n * Updates the component view, usually after a state change.\n */\n public check(): void {\n this.cdr.markForCheck();\n }\n\n /**\n * Determines whether the checkbox should be marked as checked.\n *\n * @returns {boolean}\n */\n public get checked(): boolean {\n const column = this.table.headerData.find((h: TableHeaderCell) => h.check)?.name;\n return this.table.data.every((item: TableBodyCell) => column && item[column]);\n }\n\n public ngOnInit(): void {\n this.checkBoxListener();\n }\n\n private checkBoxListener(): void {\n if (!this.item.check) return;\n this.checkForm\n .get('check')\n ?.valueChanges.pipe(\n this.takeUntilDestroyed(),\n tap((check) => this.table.checked.emit({ column: this.item.name, check: !!check })),\n )\n .subscribe();\n }\n\n public get indeterminate(): boolean {\n const column = this.table.headerData.find((h: TableHeaderCell) => h.check)?.name;\n const { length } = this.table.data;\n const unchecked = length - this.table.data.filter((item: TableBodyCell) => column && item[column]).length;\n return unchecked > 0 && unchecked < length;\n }\n}\n","@if (item.check) {\n <div class=\"odx-table__check\">\n <div [formGroup]=\"checkForm\">\n <odx-checkbox [checked]=\"checked\" [indeterminate]=\"indeterminate\" formControlName=\"check\" />\n </div>\n </div>\n} @else {\n <div class=\"odx-table__header-cell-title\" (click)=\"sortColumn()\" [class.sortable]=\"item.sortable\">\n {{ item.title }}\n @if (item.sortable) {\n @switch (sortIcon) {\n @case ('unsorted') {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <path d=\"m14,5H2v-2h12v2Zm-4,2H2v2h8v-2Zm-4,4H2v2h4v-2Z\" style=\"fill: var(--blue-700)\" />\n </svg>\n }\n @case ('desc') {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <polygon points=\"11 6 8 3 5 6 7 6 7 13 9 13 9 6 11 6\" style=\"fill: var(--blue-700)\" />\n </svg>\n }\n @case ('asc') {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <polygon points=\"5 10 8 13 11 10 9 10 9 3 7 3 7 10 5 10\" style=\"fill: var(--blue-700)\" />\n </svg>\n }\n }\n }\n </div>\n <ng-content select=\"odx-form-field\" />\n}\n","import { Directive } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * TableCellDirective enhances an HTML td element by providing a role attribute with a value of \"cell\".\n * This directive is used to define a cell within a table.\n */\n@CSSComponent('table__cell')\n@Directive({\n selector: 'td[odx-table-cell]',\n standalone: true,\n host: {\n '[attr.role]': '\"cell\"',\n },\n})\nexport class TableCellDirective {\n public readonly element = injectElement();\n}\n","import { Directive } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * TableRowDirective enhances an HTML tr element by providing a role attribute with a value of \"row\".\n * This directive is used to define a row within a table.\n */\n@CSSComponent('table__row')\n@Directive({\n selector: 'tr[odx-table-row]',\n standalone: true,\n host: {\n '[attr.role]': '\"row\"',\n '[attr.tabindex]': '0',\n },\n})\nexport class TableRowDirective {\n public readonly element = injectElement();\n}\n","export type TableVariant = typeof TableVariant[keyof typeof TableVariant];\n\nexport const TableVariant = {\n DEFAULT: 'default',\n STRIPED: 'striped',\n} as const;\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { FormFieldModule } from '@odx/angular/components/form-field';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { debounceTime, tap } from 'rxjs';\nimport { HeaderTitleComponent } from './components/header-title/header-title.component';\nimport { SortStatus, TableBodyCell, TableHeaderCell, TableVariant } from './models';\nimport { TABLE } from './table.config';\n\n/**\n * TableComponent is a dynamic table structure built for displaying complex data sets with sorting, filtering,\n * and checkable functionality. It provides configuration options through various inputs that allow the\n * customization of table behavior and presentation.\n *\n * This component is highly modular, integrating with other components such as `HeaderTitleComponent` for header\n * management, and using Angular forms for dynamic data filtering.\n *\n * @template T - The type of data that the table displays.\n */\n@CSSComponent('table')\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'table[odxTable]',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.role]': '\"table\"',\n },\n templateUrl: './table.component.html',\n imports: [CommonModule, IconComponent, ReactiveFormsModule, FormFieldModule, HeaderTitleComponent],\n providers: [{ provide: TABLE, useExisting: TableComponent }],\n})\nexport class TableComponent<T> implements OnInit {\n private readonly takeUntilDestroyed = untilDestroyed();\n public readonly element = injectElement();\n\n /**\n * Specifies the table variant for CSS styling.\n *\n * @type {TableVariant | null}\n */\n @CSSModifier()\n @Input()\n public variant?: TableVariant | null;\n\n /**\n * Data array of type T that the table displays.\n *\n * @type {T[]}\n * @default []\n */\n @Input()\n public data: T[] = [];\n\n /**\n * Configuration for table header data which controls sorting, filtering, and additional metadata.\n *\n * @type {TableHeaderCell[]}\n * @default []\n */\n @Input()\n public headerData: TableHeaderCell[] = [];\n\n /**\n * FormGroup to handle the dynamic filtering controls, each tied to a header cell that has filtering enabled.\n */\n public form: FormGroup = new FormGroup({});\n\n /**\n * Event emitter for when a column's sorting status changes.\n *\n * @emits {SortStatus}\n */\n @Output()\n public readonly sorted: EventEmitter<SortStatus> = new EventEmitter();\n\n /**\n * Event emitter for when the table's filtering conditions change.\n *\n * @emits {{ [key: string]: string }}\n */\n @Output()\n public readonly filtered: EventEmitter<{ [key: string]: string }> = new EventEmitter();\n\n /**\n * Event emitter for when a checkbox column's checked state changes.\n *\n * @emits {{ column: string; check: boolean }}\n */\n @Output()\n public readonly checked: EventEmitter<{ column: string; check: boolean }> = new EventEmitter();\n\n /**\n * A QueryList of HeaderTitleComponent instances, each corresponding to a header cell in the table.\n *\n * @type {QueryList<HeaderTitleComponent>}\n */\n @ViewChildren(HeaderTitleComponent)\n public headers!: QueryList<HeaderTitleComponent>;\n\n public ngOnInit(): void {\n this.setHeaderData();\n this.headerData.forEach((item) => item.filter && this.form.addControl(item.name, new FormControl('')));\n this.formListener();\n }\n\n /**\n * Clears the sorting status of all headers.\n */\n public clearSort(): void {\n this.headers.forEach((header) => header.clearSortStatus());\n }\n\n private formListener(): void {\n if (Object.keys(this.form.controls).length === 0) return;\n this.form.valueChanges\n .pipe(\n debounceTime(600),\n this.takeUntilDestroyed(),\n tap(() => {\n this.filtered.emit(this.form.value);\n this.headers?.filter((header) => !!header.item.check).forEach((header) => header.check());\n }),\n )\n .subscribe();\n }\n\n private setHeaderData(): void {\n this.headerData = Object.keys(this.data[0] as TableBodyCell).map(\n (key) =>\n this.headerData.find((item) => item.name === key) || {\n name: key,\n title: `${key[0].toUpperCase()}${key.slice(1)}`,\n sortable: false,\n filter: false,\n },\n );\n }\n}\n","<thead class=\"odx-table__head\" role=\"rowgroup\" [formGroup]=\"form\">\n <tr class=\"odx-table__header-row\" role=\"row\">\n @for (item of headerData; track $index) {\n <th class=\"odx-table__header-cell\" role=\"columnheader\" odxHeaderTitle [item]=\"item\">\n @if (item.filter) {\n <odx-form-field>\n <input placeholder=\"Filter\" [formControlName]=\"item.name\" type=\"text\" odxFormFieldControl />\n </odx-form-field>\n }\n </th>\n }\n </tr>\n</thead>\n<tbody class=\"odx-table__body\" role=\"rowgroup\">\n <ng-content select=\"tr\" />\n</tbody>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { CheckCellComponent } from './components/check-cell/check-cell.component';\nimport { TableCellDirective } from './directives/table-cell.directive';\nimport { TableRowDirective } from './directives/table-row.directive';\nimport { TableComponent } from './table.component';\n\nconst modules = [TableComponent, TableRowDirective, TableCellDirective, CheckCellComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class TableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"odx-angular-components-table.mjs","sources":["../../../../libs/angular/components/table/src/lib/table.config.ts","../../../../libs/angular/components/table/src/lib/components/check-cell/check-cell.component.ts","../../../../libs/angular/components/table/src/lib/components/check-cell/check-cell.component.html","../../../../libs/angular/components/table/src/lib/models/sort-variant.ts","../../../../libs/angular/components/table/src/lib/components/header-title/header-title.component.ts","../../../../libs/angular/components/table/src/lib/components/header-title/header-title.component.html","../../../../libs/angular/components/table/src/lib/directives/table-cell.directive.ts","../../../../libs/angular/components/table/src/lib/directives/table-row.directive.ts","../../../../libs/angular/components/table/src/lib/models/table-variant.ts","../../../../libs/angular/components/table/src/lib/table.component.ts","../../../../libs/angular/components/table/src/lib/table.component.html","../../../../libs/angular/components/table/src/lib/table.module.ts","../../../../libs/angular/components/table/src/odx-angular-components-table.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { TableBodyCell } from './models';\nimport { TableComponent } from './table.component';\n\nexport const TABLE = new InjectionToken<TableComponent<TableBodyCell>>('odx-table');\n","import { booleanAttribute, Component, EventEmitter, inject, Input, Output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CheckboxComponent } from '@odx/angular/components/checkbox';\nimport { injectElement } from '@odx/angular/utils';\nimport { TABLE } from '../../table.config';\n\n/**\n * CheckCellComponent provides a checkbox input within a table cell, allowing rows to be selected.\n * It is designed to be used in conjunction with a table component that manages state and header interactions,\n * particularly for functionalities like bulk actions.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'td[odx-table-cell][checked]',\n standalone: true,\n templateUrl: './check-cell.component.html',\n imports: [CheckboxComponent, FormsModule],\n})\nexport class CheckCellComponent {\n private readonly table = inject(TABLE);\n public readonly element = injectElement();\n\n /**\n * Indicates whether the checkbox within the table cell is checked.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ transform: booleanAttribute })\n public checked = false;\n\n /**\n * Event emitter that triggers when the checked state changes. It emits the new state of the checkbox.\n *\n * @emits {boolean}\n */\n @Output() public checkedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /**\n * Updates the checked state of the checkbox and notifies the parent table component, typically to update\n * the state of a header checkbox or other related components.\n * @param {boolean} e - The new checked state.\n */\n public update(e: boolean): void {\n this.checkedChange.emit(e);\n this.table.headers.forEach((header) => header.check && header.check());\n }\n}\n","<odx-checkbox [(ngModel)]=\"checked\" (ngModelChange)=\"update($event)\" />\n","export type TableSortVariant = typeof TableSortVariant[keyof typeof TableSortVariant];\n\nexport const TableSortVariant = {\n UNSORTED: 'unsorted',\n ASC: 'asc',\n DESC: 'desc',\n} as const;\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { CheckboxComponent } from '@odx/angular/components/checkbox';\nimport { untilDestroyed } from '@odx/angular/utils';\nimport { tap } from 'rxjs';\nimport { SortStatus, TableBodyCell, TableHeaderCell } from '../../models';\nimport { TableSortVariant } from '../../models/sort-variant';\nimport { TABLE } from '../../table.config';\n\n/**\n * HeaderTitleComponent provides the functionality for a table header cell, including sorting and checkbox\n * operations if applicable. It handles changes in sort state and emits relevant events to the table component\n * to manage sorting and selection state across the table.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'th[odxHeaderTitle]',\n templateUrl: './header-title.component.html',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, CheckboxComponent, ReactiveFormsModule],\n})\nexport class HeaderTitleComponent implements OnInit {\n private readonly table = inject(TABLE);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly takeUntilDestroyed = untilDestroyed();\n private sortStatus: SortStatus = this.getSortStatus;\n\n /**\n * The header cell item containing metadata like column name, sortability, and whether it should include a checkbox.\n *\n * @type {TableHeaderCell}\n */\n @Input()\n public item!: TableHeaderCell;\n\n /**\n * FormGroup to manage the checkbox state within the header.\n *\n * @type {FormGroup}\n */\n public checkForm = new FormGroup({ check: new FormControl(false) });\n\n /**\n * Computes and returns the current sort status of the column associated with this header.\n *\n * @returns {SortStatus}\n */\n public get getSortStatus(): SortStatus {\n return { column: this.item?.name, sortVariant: TableSortVariant.UNSORTED };\n }\n\n /**\n * Returns the icon or indicator for the current sorting status (ascending, descending, unsorted).\n *\n * @returns {TableSortVariant}\n */\n public get sortIcon(): TableSortVariant {\n return this.sortStatus.sortVariant;\n }\n\n /**\n * Toggles the sorting status of the column and informs the table component of the change.\n */\n public sortColumn(): void {\n if (!this.item?.sortable) return;\n switch (this.sortStatus.sortVariant) {\n case TableSortVariant.DESC:\n case TableSortVariant.UNSORTED:\n this.table.clearSort();\n this.sortStatus = { ...this.sortStatus, sortVariant: TableSortVariant.ASC };\n break;\n case TableSortVariant.ASC:\n this.table.clearSort();\n\n this.sortStatus = { ...this.sortStatus, sortVariant: TableSortVariant.DESC };\n break;\n }\n\n this.table.sorted.emit(this.sortStatus);\n }\n\n /**\n * Resets the sort status to unsorted.\n */\n public clearSortStatus(): void {\n this.sortStatus = { column: this.item?.name, sortVariant: TableSortVariant.UNSORTED };\n this.check();\n }\n\n /**\n * Returns the number of selected items in the column, used to determine checkbox state.\n *\n * @returns {number}\n */\n public get selected(): number {\n return this.table.data.filter((d: TableBodyCell) => d[this.item.name]).length;\n }\n\n /**\n * Updates the component view, usually after a state change.\n */\n public check(): void {\n this.cdr.markForCheck();\n }\n\n /**\n * Determines whether the checkbox should be marked as checked.\n *\n * @returns {boolean}\n */\n public get checked(): boolean {\n const column = this.table.headerData.find((h: TableHeaderCell) => h.check)?.name;\n return this.table.data.every((item: TableBodyCell) => column && item[column]);\n }\n\n public ngOnInit(): void {\n this.checkBoxListener();\n }\n\n private checkBoxListener(): void {\n if (!this.item.check) return;\n this.checkForm\n .get('check')\n ?.valueChanges.pipe(\n this.takeUntilDestroyed(),\n tap((check) => this.table.checked.emit({ column: this.item.name, check: !!check })),\n )\n .subscribe();\n }\n\n public get indeterminate(): boolean {\n const column = this.table.headerData.find((h: TableHeaderCell) => h.check)?.name;\n const { length } = this.table.data;\n const unchecked = length - this.table.data.filter((item: TableBodyCell) => column && item[column]).length;\n return unchecked > 0 && unchecked < length;\n }\n}\n","@if (item.check) {\n <div class=\"odx-table__check\">\n <div [formGroup]=\"checkForm\">\n <odx-checkbox [checked]=\"checked\" [indeterminate]=\"indeterminate\" formControlName=\"check\" />\n </div>\n </div>\n} @else {\n <div class=\"odx-table__header-cell-title\" (click)=\"sortColumn()\" [class.sortable]=\"item.sortable\">\n {{ item.title }}\n @if (item.sortable) {\n @switch (sortIcon) {\n @case ('unsorted') {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <path d=\"m14,5H2v-2h12v2Zm-4,2H2v2h8v-2Zm-4,4H2v2h4v-2Z\" style=\"fill: var(--blue-700)\" />\n </svg>\n }\n @case ('desc') {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <polygon points=\"11 6 8 3 5 6 7 6 7 13 9 13 9 6 11 6\" style=\"fill: var(--blue-700)\" />\n </svg>\n }\n @case ('asc') {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <polygon points=\"5 10 8 13 11 10 9 10 9 3 7 3 7 10 5 10\" style=\"fill: var(--blue-700)\" />\n </svg>\n }\n }\n }\n </div>\n <ng-content select=\"odx-form-field\" />\n}\n","import { Directive } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * TableCellDirective enhances an HTML td element by providing a role attribute with a value of \"cell\".\n * This directive is used to define a cell within a table.\n */\n@CSSComponent('table__cell')\n@Directive({\n selector: 'td[odx-table-cell]',\n standalone: true,\n host: {\n '[attr.role]': '\"cell\"',\n },\n})\nexport class TableCellDirective {\n public readonly element = injectElement();\n}\n","import { Directive } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n/**\n * TableRowDirective enhances an HTML tr element by providing a role attribute with a value of \"row\".\n * This directive is used to define a row within a table.\n */\n@CSSComponent('table__row')\n@Directive({\n selector: 'tr[odx-table-row]',\n standalone: true,\n host: {\n '[attr.role]': '\"row\"',\n '[attr.tabindex]': '0',\n },\n})\nexport class TableRowDirective {\n public readonly element = injectElement();\n}\n","export type TableVariant = typeof TableVariant[keyof typeof TableVariant];\n\nexport const TableVariant = {\n DEFAULT: 'default',\n STRIPED: 'striped',\n} as const;\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { FormFieldModule } from '@odx/angular/components/form-field';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { debounceTime, tap } from 'rxjs';\nimport { HeaderTitleComponent } from './components/header-title/header-title.component';\nimport { SortStatus, TableBodyCell, TableHeaderCell, TableVariant } from './models';\nimport { TABLE } from './table.config';\n\n/**\n * TableComponent is a dynamic table structure built for displaying complex data sets with sorting, filtering,\n * and checkable functionality. It provides configuration options through various inputs that allow the\n * customization of table behavior and presentation.\n *\n * This component is highly modular, integrating with other components such as `HeaderTitleComponent` for header\n * management, and using Angular forms for dynamic data filtering.\n *\n * @template T - The type of data that the table displays.\n */\n@CSSComponent('table')\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'table[odxTable]',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.role]': '\"table\"',\n },\n templateUrl: './table.component.html',\n imports: [CommonModule, IconComponent, ReactiveFormsModule, FormFieldModule, HeaderTitleComponent],\n providers: [{ provide: TABLE, useExisting: TableComponent }],\n})\nexport class TableComponent<T> implements OnInit {\n private readonly takeUntilDestroyed = untilDestroyed();\n public readonly element = injectElement();\n\n /**\n * Specifies the table variant for CSS styling.\n *\n * @type {TableVariant | null}\n */\n @CSSModifier()\n @Input()\n public variant?: TableVariant | null;\n\n /**\n * Data array of type T that the table displays.\n *\n * @type {T[]}\n * @default []\n */\n @Input()\n public data: T[] = [];\n\n /**\n * Configuration for table header data which controls sorting, filtering, and additional metadata.\n *\n * @type {TableHeaderCell[]}\n * @default []\n */\n @Input()\n public headerData: TableHeaderCell[] = [];\n\n /**\n * FormGroup to handle the dynamic filtering controls, each tied to a header cell that has filtering enabled.\n */\n public form: FormGroup = new FormGroup({});\n\n /**\n * Event emitter for when a column's sorting status changes.\n *\n * @emits {SortStatus}\n */\n @Output()\n public readonly sorted: EventEmitter<SortStatus> = new EventEmitter();\n\n /**\n * Event emitter for when the table's filtering conditions change.\n *\n * @emits {{ [key: string]: string }}\n */\n @Output()\n public readonly filtered: EventEmitter<{ [key: string]: string }> = new EventEmitter();\n\n /**\n * Event emitter for when a checkbox column's checked state changes.\n *\n * @emits {{ column: string; check: boolean }}\n */\n @Output()\n public readonly checked: EventEmitter<{ column: string; check: boolean }> = new EventEmitter();\n\n /**\n * A QueryList of HeaderTitleComponent instances, each corresponding to a header cell in the table.\n *\n * @type {QueryList<HeaderTitleComponent>}\n */\n @ViewChildren(HeaderTitleComponent)\n public headers!: QueryList<HeaderTitleComponent>;\n\n public ngOnInit(): void {\n this.setHeaderData();\n this.headerData.forEach((item) => item.filter && this.form.addControl(item.name, new FormControl('')));\n this.formListener();\n }\n\n /**\n * Clears the sorting status of all headers.\n */\n public clearSort(): void {\n this.headers.forEach((header) => header.clearSortStatus());\n }\n\n private formListener(): void {\n if (Object.keys(this.form.controls).length === 0) return;\n this.form.valueChanges\n .pipe(\n debounceTime(600),\n this.takeUntilDestroyed(),\n tap(() => {\n this.filtered.emit(this.form.value);\n this.headers?.filter((header) => !!header.item.check).forEach((header) => header.check());\n }),\n )\n .subscribe();\n }\n\n private setHeaderData(): void {\n this.headerData = Object.keys(this.data[0] as TableBodyCell).map(\n (key) =>\n this.headerData.find((item) => item.name === key) || {\n name: key,\n title: `${key[0].toUpperCase()}${key.slice(1)}`,\n sortable: false,\n filter: false,\n },\n );\n }\n}\n","<thead class=\"odx-table__head\" role=\"rowgroup\" [formGroup]=\"form\">\n <tr class=\"odx-table__header-row\" role=\"row\">\n @for (item of headerData; track $index) {\n <th class=\"odx-table__header-cell\" role=\"columnheader\" odxHeaderTitle [item]=\"item\">\n @if (item.filter) {\n <odx-form-field>\n <input placeholder=\"Filter\" [formControlName]=\"item.name\" type=\"text\" odxFormFieldControl />\n </odx-form-field>\n }\n </th>\n }\n </tr>\n</thead>\n<tbody class=\"odx-table__body\" role=\"rowgroup\">\n <ng-content select=\"tr\" />\n</tbody>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { CheckCellComponent } from './components/check-cell/check-cell.component';\nimport { TableCellDirective } from './directives/table-cell.directive';\nimport { TableRowDirective } from './directives/table-row.directive';\nimport { TableComponent } from './table.component';\n\nconst modules = [TableComponent, TableRowDirective, TableCellDirective, CheckCellComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class TableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -68,14 +68,14 @@ let TimepickerOptionComponent = class TimepickerOptionComponent extends OptionCo
|
|
|
68
68
|
selectOption() {
|
|
69
69
|
this.selected.emit(this);
|
|
70
70
|
}
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TimepickerOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: TimepickerOptionComponent, isStandalone: true, selector: "odx-timepicker-option", outputs: { selected: "selected" }, providers: [DisabledController.connect()], usesInheritance: true, hostDirectives: [{ directive: i1.WithDisabledState }], ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
73
73
|
};
|
|
74
74
|
TimepickerOptionComponent = __decorate([
|
|
75
75
|
CSSComponent('timepicker-option'),
|
|
76
76
|
__metadata("design:paramtypes", [])
|
|
77
77
|
], TimepickerOptionComponent);
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TimepickerOptionComponent, decorators: [{
|
|
79
79
|
type: Component,
|
|
80
80
|
args: [{
|
|
81
81
|
selector: 'odx-timepicker-option',
|
|
@@ -163,10 +163,10 @@ class TimepickerService {
|
|
|
163
163
|
convertToDates(times) {
|
|
164
164
|
return times.map((time) => new Date(`${time} 2022-12-19`));
|
|
165
165
|
}
|
|
166
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
167
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
166
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TimepickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
167
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TimepickerService, providedIn: 'root' }); }
|
|
168
168
|
}
|
|
169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TimepickerService, decorators: [{
|
|
170
170
|
type: Injectable,
|
|
171
171
|
args: [{ providedIn: 'root' }]
|
|
172
172
|
}] });
|
|
@@ -225,7 +225,7 @@ let TimepickerInputControlDirective = class TimepickerInputControlDirective exte
|
|
|
225
225
|
/**
|
|
226
226
|
* Configuration for the mask applied to the timepicker input. Adjusts based on locale settings.
|
|
227
227
|
*
|
|
228
|
-
* @returns {Partial<
|
|
228
|
+
* @returns {Partial<NgxMaskConfig>} The mask configuration for the timepicker input.
|
|
229
229
|
*/
|
|
230
230
|
get maskConfig() {
|
|
231
231
|
return {
|
|
@@ -269,13 +269,13 @@ let TimepickerInputControlDirective = class TimepickerInputControlDirective exte
|
|
|
269
269
|
this.nativeElementValue = value;
|
|
270
270
|
return value;
|
|
271
271
|
}
|
|
272
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
273
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
272
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TimepickerInputControlDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
273
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: TimepickerInputControlDirective, isStandalone: true, selector: "input[odxTimepickerControl]", host: { properties: { "attr.readonly": "isReadonly || null", "attr.placeholder": "placeholder" } }, providers: [provideNgxMask(), NgxMaskPipe], usesInheritance: true, hostDirectives: [{ directive: i1.WithTabIndex }, { directive: i1.WithDisabledState }], ngImport: i0 }); }
|
|
274
274
|
};
|
|
275
275
|
TimepickerInputControlDirective = __decorate([
|
|
276
276
|
CSSComponent('timepicker__control')
|
|
277
277
|
], TimepickerInputControlDirective);
|
|
278
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
278
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TimepickerInputControlDirective, decorators: [{
|
|
279
279
|
type: Directive,
|
|
280
280
|
args: [{
|
|
281
281
|
standalone: true,
|
|
@@ -512,8 +512,8 @@ let TimepickerComponent = class TimepickerComponent extends CustomFormControl {
|
|
|
512
512
|
this.dateField && (this.dateField.nativeElementValue = time);
|
|
513
513
|
this.updateValue(time);
|
|
514
514
|
}
|
|
515
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
516
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
515
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TimepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
516
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: TimepickerComponent, isStandalone: true, selector: "odx-timepicker", inputs: { useLocale: { classPropertyName: "useLocale", publicName: "useLocale", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: false, isRequired: false, transformFunction: numberAttribute }, min: { classPropertyName: "min", publicName: "min", isSignal: false, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: false, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "handleControllerEvent($event)", "keydown": "handleControllerEvent($event)" }, properties: { "attr.readonly": "readonlyController?.readonly || null" } }, providers: [
|
|
517
517
|
DisabledController.connect(),
|
|
518
518
|
ReadonlyController.connect(),
|
|
519
519
|
{
|
|
@@ -526,7 +526,7 @@ TimepickerComponent = __decorate([
|
|
|
526
526
|
CSSComponent('timepicker'),
|
|
527
527
|
__metadata("design:paramtypes", [])
|
|
528
528
|
], TimepickerComponent);
|
|
529
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
529
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TimepickerComponent, decorators: [{
|
|
530
530
|
type: Component,
|
|
531
531
|
args: [{ standalone: true, selector: 'odx-timepicker', providers: [
|
|
532
532
|
DisabledController.connect(),
|
|
@@ -567,11 +567,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
567
567
|
|
|
568
568
|
const modules = [TimepickerComponent, TimepickerInputControlDirective, TimepickerOptionComponent];
|
|
569
569
|
class TimepickerModule {
|
|
570
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
571
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
572
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
570
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TimepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
571
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: TimepickerModule, imports: [TimepickerComponent, TimepickerInputControlDirective, TimepickerOptionComponent], exports: [CoreModule, TimepickerComponent, TimepickerInputControlDirective, TimepickerOptionComponent] }); }
|
|
572
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TimepickerModule, imports: [TimepickerComponent, CoreModule] }); }
|
|
573
573
|
}
|
|
574
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
574
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TimepickerModule, decorators: [{
|
|
575
575
|
type: NgModule,
|
|
576
576
|
args: [{
|
|
577
577
|
imports: modules,
|