@odx/angular 12.26.1 → 13.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +83 -0
- package/animations/README.md +2 -0
- package/animations/index.d.ts +261 -5
- package/breakpoints/index.d.ts +216 -7
- package/cdk/a11y/index.d.ts +116 -2
- package/cdk/active-indicator/index.d.ts +104 -2
- package/cdk/autocomplete-control/index.d.ts +189 -3
- package/cdk/checkbox-control/index.d.ts +40 -1
- package/cdk/connected-overlay/index.d.ts +165 -3
- package/cdk/custom-form-control/index.d.ts +243 -3
- package/cdk/date-input/index.d.ts +86 -5
- package/cdk/dynamic-view/index.d.ts +335 -7
- package/cdk/event-plugins/index.d.ts +187 -3
- package/cdk/expandable/index.d.ts +169 -4
- package/cdk/option-control/index.d.ts +70 -1
- package/cdk/radio-group-control/index.d.ts +74 -3
- package/cdk/scrollable/index.d.ts +57 -1
- package/components/accordion/index.d.ts +91 -4
- package/components/action-group/index.d.ts +20 -1
- package/components/anchor-navigation/index.d.ts +104 -4
- package/components/area-header/index.d.ts +54 -4
- package/components/autocomplete/index.d.ts +109 -6
- package/components/avatar/index.d.ts +36 -2
- package/components/badge/index.d.ts +95 -3
- package/components/bar/index.d.ts +56 -5
- package/components/breadcrumbs/index.d.ts +12 -1
- package/components/button/index.d.ts +55 -3
- package/components/button-group/index.d.ts +44 -1
- package/components/calendar/index.d.ts +746 -9
- package/components/card/index.d.ts +118 -5
- package/components/checkbox/index.d.ts +93 -3
- package/components/chip/index.d.ts +78 -2
- package/components/circular-progress/index.d.ts +71 -2
- package/components/content-box/index.d.ts +33 -3
- package/components/data-table/index.d.ts +84 -4
- package/components/datepicker/index.d.ts +216 -6
- package/components/daterangepicker/index.d.ts +257 -6
- package/components/dropdown/index.d.ts +202 -5
- package/components/error-page/index.d.ts +56 -2
- package/components/footer/index.d.ts +80 -3
- package/components/form-field/index.d.ts +398 -7
- package/components/header/index.d.ts +44 -3
- package/components/header-navigation/index.d.ts +41 -3
- package/components/icon/index.d.ts +154 -4
- package/components/inline-message/index.d.ts +36 -2
- package/components/link/index.d.ts +13 -1
- package/components/list/index.d.ts +86 -4
- package/components/loading-spinner/index.d.ts +89 -3
- package/components/logo/index.d.ts +39 -2
- package/components/main-menu/index.d.ts +217 -4
- package/components/mainfilter-group/index.d.ts +13 -1
- package/components/menu/index.d.ts +94 -4
- package/components/modal/index.d.ts +549 -9
- package/components/navigation-back/index.d.ts +12 -1
- package/components/notification/index.d.ts +630 -7
- package/components/notification/testing/index.d.ts +9 -1
- package/components/paginator/index.d.ts +264 -5
- package/components/progress/index.d.ts +36 -1
- package/components/radio-group/index.d.ts +70 -3
- package/components/rail-navigation/index.d.ts +97 -4
- package/components/rich-list/index.d.ts +92 -3
- package/components/search-bar/index.d.ts +26 -3
- package/components/select/index.d.ts +263 -6
- package/components/slider/index.d.ts +37 -1
- package/components/spinbox/index.d.ts +54 -1
- package/components/switch/index.d.ts +44 -3
- package/components/tab-bar/index.d.ts +141 -4
- package/components/table/index.d.ts +239 -5
- package/components/timepicker/index.d.ts +324 -7
- package/components/toast/index.d.ts +267 -5
- package/components/toggle-button-group/index.d.ts +61 -3
- package/components/tooltip/index.d.ts +204 -7
- package/components/wizard/index.d.ts +159 -3
- package/fesm2022/odx-angular-animations.mjs +51 -0
- 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 +6 -8
- package/fesm2022/odx-angular-cdk-active-indicator.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-autocomplete-control.mjs +12 -15
- 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 +12 -14
- package/fesm2022/odx-angular-cdk-custom-form-control.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-dynamic-view.mjs +10 -11
- package/fesm2022/odx-angular-cdk-dynamic-view.mjs.map +1 -1
- package/fesm2022/odx-angular-cdk-event-plugins.mjs +6 -6
- 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-cdk-scrollable.mjs +6 -6
- package/fesm2022/odx-angular-cdk-scrollable.mjs.map +1 -1
- package/fesm2022/odx-angular-components-accordion.mjs +17 -17
- package/fesm2022/odx-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/odx-angular-components-action-group.mjs +5 -6
- package/fesm2022/odx-angular-components-action-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-anchor-navigation.mjs +33 -34
- package/fesm2022/odx-angular-components-anchor-navigation.mjs.map +1 -1
- package/fesm2022/odx-angular-components-area-header.mjs +16 -19
- package/fesm2022/odx-angular-components-area-header.mjs.map +1 -1
- package/fesm2022/odx-angular-components-autocomplete.mjs +19 -22
- package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2022/odx-angular-components-avatar.mjs +6 -8
- package/fesm2022/odx-angular-components-avatar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-badge.mjs +9 -11
- package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
- package/fesm2022/odx-angular-components-bar.mjs +15 -16
- package/fesm2022/odx-angular-components-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-breadcrumbs.mjs +3 -3
- package/fesm2022/odx-angular-components-button-group.mjs +8 -12
- package/fesm2022/odx-angular-components-button-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-button.mjs +9 -11
- package/fesm2022/odx-angular-components-button.mjs.map +1 -1
- package/fesm2022/odx-angular-components-calendar.mjs +53 -63
- package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-card.mjs +33 -36
- package/fesm2022/odx-angular-components-card.mjs.map +1 -1
- package/fesm2022/odx-angular-components-checkbox.mjs +14 -16
- package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
- package/fesm2022/odx-angular-components-chip.mjs +13 -15
- package/fesm2022/odx-angular-components-chip.mjs.map +1 -1
- package/fesm2022/odx-angular-components-circular-progress.mjs +6 -8
- 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-data-table.mjs +33 -47
- package/fesm2022/odx-angular-components-data-table.mjs.map +1 -1
- package/fesm2022/odx-angular-components-datepicker.mjs +26 -28
- package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-daterangepicker.mjs +22 -24
- 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 +5 -6
- package/fesm2022/odx-angular-components-footer.mjs.map +1 -1
- package/fesm2022/odx-angular-components-form-field.mjs +44 -44
- package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
- package/fesm2022/odx-angular-components-header-navigation.mjs +15 -16
- 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-icon.mjs +98 -86
- package/fesm2022/odx-angular-components-icon.mjs.map +1 -1
- package/fesm2022/odx-angular-components-inline-message.mjs +10 -11
- 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-list.mjs +19 -35
- package/fesm2022/odx-angular-components-list.mjs.map +1 -1
- package/fesm2022/odx-angular-components-loading-spinner.mjs +12 -17
- package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
- package/fesm2022/odx-angular-components-logo.mjs +6 -8
- package/fesm2022/odx-angular-components-logo.mjs.map +1 -1
- package/fesm2022/odx-angular-components-main-menu.mjs +20 -20
- 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-menu.mjs +16 -18
- package/fesm2022/odx-angular-components-menu.mjs.map +1 -1
- package/fesm2022/odx-angular-components-modal.mjs +70 -80
- package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
- package/fesm2022/odx-angular-components-navigation-back.mjs +4 -4
- package/fesm2022/odx-angular-components-navigation-back.mjs.map +1 -1
- package/fesm2022/odx-angular-components-notification-testing.mjs +3 -2
- package/fesm2022/odx-angular-components-notification-testing.mjs.map +1 -1
- package/fesm2022/odx-angular-components-notification.mjs +24 -24
- package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
- package/fesm2022/odx-angular-components-paginator.mjs +8 -8
- package/fesm2022/odx-angular-components-paginator.mjs.map +1 -1
- package/fesm2022/odx-angular-components-progress.mjs +5 -6
- package/fesm2022/odx-angular-components-progress.mjs.map +1 -1
- package/fesm2022/odx-angular-components-radio-group.mjs +13 -15
- package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-rail-navigation.mjs +16 -26
- package/fesm2022/odx-angular-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/odx-angular-components-rich-list.mjs +20 -21
- package/fesm2022/odx-angular-components-rich-list.mjs.map +1 -1
- package/fesm2022/odx-angular-components-search-bar.mjs +11 -11
- package/fesm2022/odx-angular-components-search-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-select.mjs +44 -49
- 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 +6 -7
- package/fesm2022/odx-angular-components-spinbox.mjs.map +1 -1
- package/fesm2022/odx-angular-components-switch.mjs +11 -11
- package/fesm2022/odx-angular-components-switch.mjs.map +1 -1
- package/fesm2022/odx-angular-components-tab-bar.mjs +24 -26
- package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-table.mjs +31 -48
- package/fesm2022/odx-angular-components-table.mjs.map +1 -1
- package/fesm2022/odx-angular-components-timepicker.mjs +24 -33
- package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-toast.mjs +21 -52
- package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
- package/fesm2022/odx-angular-components-toggle-button-group.mjs +11 -11
- package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
- package/fesm2022/odx-angular-components-tooltip.mjs +13 -16
- package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
- package/fesm2022/odx-angular-components-wizard.mjs +20 -27
- package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
- package/fesm2022/odx-angular-internal-translate.mjs +3 -3
- package/fesm2022/odx-angular-localization.mjs +3 -3
- package/fesm2022/odx-angular-theming.mjs +4 -5
- package/fesm2022/odx-angular-theming.mjs.map +1 -1
- package/fesm2022/odx-angular-utils.mjs +4 -26
- package/fesm2022/odx-angular-utils.mjs.map +1 -1
- package/fesm2022/odx-angular.mjs +36 -35
- package/fesm2022/odx-angular.mjs.map +1 -1
- package/index.d.ts +546 -6
- package/internal/index.d.ts +79 -3
- package/internal/translate/index.d.ts +88 -4
- package/localization/index.d.ts +343 -5
- package/package.json +40 -198
- package/rxjs/index.d.ts +125 -5
- package/sdk/index.d.ts +74 -1
- package/theming/index.d.ts +213 -4
- package/utils/index.d.ts +1020 -3
- package/animations/lib/config.d.ts +0 -7
- package/animations/lib/expand.d.ts +0 -46
- package/animations/lib/fade.d.ts +0 -76
- package/animations/lib/slide.d.ts +0 -34
- package/animations/lib/wait-for-child-animations.d.ts +0 -39
- package/breakpoints/lib/breakpoints.config.d.ts +0 -59
- package/breakpoints/lib/breakpoints.module.d.ts +0 -7
- package/breakpoints/lib/breakpoints.service.d.ts +0 -56
- package/breakpoints/lib/breakpoints.typings.d.ts +0 -8
- package/breakpoints/lib/directives/index.d.ts +0 -1
- package/breakpoints/lib/directives/match-breakpoints.directive.d.ts +0 -52
- package/breakpoints/lib/helpers/configure-breakpoint.d.ts +0 -23
- package/breakpoints/lib/helpers/index.d.ts +0 -1
- package/breakpoints/lib/models/breakpoint.d.ts +0 -5
- package/breakpoints/lib/models/index.d.ts +0 -1
- package/cdk/a11y/lib/a11y.module.d.ts +0 -11
- package/cdk/a11y/lib/directives/index.d.ts +0 -3
- package/cdk/a11y/lib/directives/interactive.directive.d.ts +0 -43
- package/cdk/a11y/lib/directives/list-focus-manager-option.directive.d.ts +0 -34
- package/cdk/a11y/lib/directives/list-focus-manager.directive.d.ts +0 -31
- package/cdk/active-indicator/lib/active-indicator.directive.d.ts +0 -90
- package/cdk/active-indicator/lib/models/active-indicator-direction.d.ts +0 -5
- package/cdk/active-indicator/lib/models/active-indicator-position.d.ts +0 -6
- package/cdk/active-indicator/lib/models/index.d.ts +0 -2
- package/cdk/autocomplete-control/lib/autocomplete-control.d.ts +0 -144
- package/cdk/autocomplete-control/lib/directives/highlight-search-result.directive.d.ts +0 -19
- package/cdk/autocomplete-control/lib/directives/index.d.ts +0 -1
- package/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.d.ts +0 -24
- package/cdk/autocomplete-control/lib/pipes/index.d.ts +0 -1
- package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +0 -37
- package/cdk/connected-overlay/lib/connected-overlay.component.d.ts +0 -26
- package/cdk/connected-overlay/lib/connected-overlay.service.d.ts +0 -54
- package/cdk/connected-overlay/lib/helpers/compute-overlay-position.d.ts +0 -13
- package/cdk/connected-overlay/lib/helpers/index.d.ts +0 -1
- package/cdk/connected-overlay/lib/models/connected-overlay-options.d.ts +0 -27
- package/cdk/connected-overlay/lib/models/connected-overlay-ref.d.ts +0 -62
- package/cdk/connected-overlay/lib/models/index.d.ts +0 -2
- package/cdk/custom-form-control/lib/control.directive.d.ts +0 -6
- package/cdk/custom-form-control/lib/custom-form-control.d.ts +0 -146
- package/cdk/custom-form-control/lib/input-control.directive.d.ts +0 -88
- package/cdk/date-input/lib/date.config.d.ts +0 -48
- package/cdk/date-input/lib/models/input-date-order.d.ts +0 -17
- package/cdk/date-input/lib/utils/get-date-input-pattern.d.ts +0 -5
- package/cdk/date-input/lib/utils/get-input-value-as-date.d.ts +0 -3
- package/cdk/date-input/lib/utils/ngx-mask-init.d.ts +0 -3
- package/cdk/dynamic-view/lib/dynamic-view.component.d.ts +0 -12
- package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +0 -55
- package/cdk/dynamic-view/lib/dynamic-view.service.d.ts +0 -40
- package/cdk/dynamic-view/lib/facade/dynamic-content.d.ts +0 -8
- package/cdk/dynamic-view/lib/facade/dynamic-view-ref.d.ts +0 -10
- package/cdk/dynamic-view/lib/facade/index.d.ts +0 -2
- package/cdk/dynamic-view/lib/helpers/create-projectable-nodes.d.ts +0 -24
- package/cdk/dynamic-view/lib/helpers/index.d.ts +0 -3
- package/cdk/dynamic-view/lib/helpers/is-dynamic-text-content.d.ts +0 -24
- package/cdk/dynamic-view/lib/helpers/is-dynamic-view.d.ts +0 -24
- package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +0 -59
- package/cdk/dynamic-view/lib/models/dynamic-template-ref.d.ts +0 -55
- package/cdk/dynamic-view/lib/models/dynamic-view-options.d.ts +0 -11
- package/cdk/dynamic-view/lib/models/index.d.ts +0 -3
- package/cdk/dynamic-view/lib/tokens/dynamic-view-context.d.ts +0 -9
- package/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.d.ts +0 -13
- package/cdk/dynamic-view/lib/tokens/index.d.ts +0 -2
- package/cdk/event-plugins/lib/event-plugins.config.d.ts +0 -38
- package/cdk/event-plugins/lib/models/event-plugin.d.ts +0 -73
- package/cdk/event-plugins/lib/models/index.d.ts +0 -1
- package/cdk/event-plugins/lib/plugins/debounce-event-plugin.d.ts +0 -42
- package/cdk/event-plugins/lib/plugins/defer-event-plugin.d.ts +0 -33
- package/cdk/event-plugins/lib/plugins/index.d.ts +0 -2
- package/cdk/expandable/lib/directives/expandable-container.directive.d.ts +0 -65
- package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +0 -73
- package/cdk/expandable/lib/directives/index.d.ts +0 -2
- package/cdk/expandable/lib/expandable.module.d.ts +0 -8
- package/cdk/expandable/lib/expandable.tokens.d.ts +0 -4
- package/cdk/expandable/lib/facade/expandable-container.d.ts +0 -10
- package/cdk/expandable/lib/facade/expandable-item.d.ts +0 -10
- package/cdk/expandable/lib/facade/index.d.ts +0 -2
- package/cdk/option-control/lib/option-control.d.ts +0 -66
- package/cdk/radio-group-control/lib/radio-control.directive.d.ts +0 -39
- package/cdk/radio-group-control/lib/radio-group-control.directive.d.ts +0 -24
- package/cdk/radio-group-control/lib/radio-group-control.module.d.ts +0 -9
- package/cdk/scrollable/lib/scrollable.service.d.ts +0 -53
- package/components/accordion/lib/accordion.component.d.ts +0 -15
- package/components/accordion/lib/accordion.module.d.ts +0 -10
- package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +0 -59
- package/components/accordion/lib/components/index.d.ts +0 -1
- package/components/accordion/lib/directives/accordion-item-title.d.ts +0 -8
- package/components/accordion/lib/directives/index.d.ts +0 -1
- package/components/action-group/action-group.component.d.ts +0 -17
- package/components/anchor-navigation/anchor-navigation.component.d.ts +0 -37
- package/components/anchor-navigation/anchor-navigation.module.d.ts +0 -8
- package/components/anchor-navigation/anchor-navigation.service.d.ts +0 -50
- package/components/anchor-navigation/components/anchor-navigation-item.component.d.ts +0 -10
- package/components/anchor-navigation/components/index.d.ts +0 -1
- package/components/area-header/area-header.component.d.ts +0 -17
- package/components/area-header/area-header.module.d.ts +0 -14
- package/components/area-header/directives/area-header-content.directive.d.ts +0 -8
- package/components/area-header/directives/area-header-subtitle.directive.d.ts +0 -8
- package/components/area-header/directives/index.d.ts +0 -2
- package/components/area-header/models/area-header-size.d.ts +0 -7
- package/components/area-header/models/index.d.ts +0 -1
- package/components/autocomplete/lib/autocomplete.component.d.ts +0 -66
- package/components/autocomplete/lib/autocomplete.module.d.ts +0 -11
- package/components/autocomplete/lib/autocomplete.tokens.d.ts +0 -3
- package/components/autocomplete/lib/components/index.d.ts +0 -1
- package/components/autocomplete/lib/components/option/autocomplete-option.component.d.ts +0 -17
- package/components/autocomplete/lib/directives/autocomplete-input-control.directive.d.ts +0 -13
- package/components/autocomplete/lib/directives/index.d.ts +0 -1
- package/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.d.ts +0 -7
- package/components/autocomplete/lib/pipes/index.d.ts +0 -1
- package/components/avatar/lib/avatar.component.d.ts +0 -21
- package/components/avatar/lib/models/avatar-size.d.ts +0 -6
- package/components/avatar/lib/models/avatar-variant.d.ts +0 -5
- package/components/avatar/lib/models/index.d.ts +0 -2
- package/components/badge/lib/badge.component.d.ts +0 -33
- package/components/badge/lib/badge.directive.d.ts +0 -56
- package/components/badge/lib/models/badge-variant.d.ts +0 -6
- package/components/badge/lib/models/index.d.ts +0 -1
- package/components/bar/lib/bar.component.d.ts +0 -13
- package/components/bar/lib/bar.module.d.ts +0 -10
- package/components/bar/lib/directives/bar-button.directive.d.ts +0 -20
- package/components/bar/lib/directives/bar-label.directive.d.ts +0 -9
- package/components/bar/lib/models/bar-button-variant.d.ts +0 -5
- package/components/breadcrumbs/lib/breadcrumbs.component.d.ts +0 -9
- package/components/button/lib/button.component.d.ts +0 -29
- package/components/button/lib/directives/index.d.ts +0 -1
- package/components/button/lib/directives/responsive-button.directive.d.ts +0 -6
- package/components/button/lib/models/button-size.d.ts +0 -6
- package/components/button/lib/models/button-variant.d.ts +0 -10
- package/components/button/lib/models/index.d.ts +0 -2
- package/components/button-group/lib/button-group.component.d.ts +0 -41
- package/components/calendar/lib/calendar.component.d.ts +0 -90
- package/components/calendar/lib/calendar.config.d.ts +0 -117
- package/components/calendar/lib/calendar.service.d.ts +0 -81
- package/components/calendar/lib/components/calendar-header/calendar-header.component.d.ts +0 -61
- package/components/calendar/lib/components/calendar-header/index.d.ts +0 -1
- package/components/calendar/lib/components/calendar-month/calendar-month.component.d.ts +0 -24
- package/components/calendar/lib/components/calendar-month/index.d.ts +0 -1
- package/components/calendar/lib/components/calendar-year/calendar-year.component.d.ts +0 -24
- package/components/calendar/lib/components/calendar-year/index.d.ts +0 -1
- package/components/calendar/lib/components/calendar-years/calendar-years.component.d.ts +0 -26
- package/components/calendar/lib/components/calendar-years/index.d.ts +0 -1
- package/components/calendar/lib/components/index.d.ts +0 -4
- package/components/calendar/lib/daterange.service.d.ts +0 -33
- package/components/calendar/lib/directives/calendar-cell.directive.d.ts +0 -90
- package/components/calendar/lib/directives/calendar-view.directive.d.ts +0 -92
- package/components/calendar/lib/directives/index.d.ts +0 -2
- package/components/calendar/lib/models/calendar-view.d.ts +0 -5
- package/components/calendar/lib/models/date-filter.d.ts +0 -1
- package/components/calendar/lib/models/date-range.d.ts +0 -18
- package/components/calendar/lib/models/date-type.d.ts +0 -1
- package/components/calendar/lib/models/date-validator.d.ts +0 -1
- package/components/calendar/lib/models/index.d.ts +0 -7
- package/components/calendar/lib/models/selected-date.d.ts +0 -9
- package/components/calendar/lib/models/selection-mode.d.ts +0 -4
- package/components/calendar/lib/pipes/date-label.pipe.d.ts +0 -22
- package/components/calendar/lib/pipes/index.d.ts +0 -1
- package/components/calendar/lib/services/calendar-month.service.d.ts +0 -13
- package/components/calendar/lib/services/calendar-year.service.d.ts +0 -10
- package/components/calendar/lib/services/calendar-years.service.d.ts +0 -9
- package/components/calendar/lib/services/index.d.ts +0 -3
- package/components/calendar/lib/utils/check-cell-in-range.d.ts +0 -8
- package/components/calendar/lib/utils/check-identical-date.d.ts +0 -3
- package/components/calendar/lib/utils/get-A11y-label.d.ts +0 -3
- package/components/calendar/lib/utils/index.d.ts +0 -9
- package/components/calendar/lib/utils/is-date-disabled.d.ts +0 -3
- package/components/calendar/lib/utils/parse-date.d.ts +0 -3
- package/components/calendar/lib/utils/validate-daterange.d.ts +0 -2
- package/components/calendar/lib/utils/validate-max-date.d.ts +0 -3
- package/components/calendar/lib/utils/validate-min-date.d.ts +0 -3
- package/components/calendar/lib/utils/validate-next-date-set.d.ts +0 -3
- package/components/calendar/lib/utils/validate-previous-date-set.d.ts +0 -3
- package/components/card/lib/card.component.d.ts +0 -54
- package/components/card/lib/card.config.d.ts +0 -49
- package/components/card/lib/card.module.d.ts +0 -12
- package/components/card/lib/components/card-footer/card-footer.component.d.ts +0 -8
- package/components/card/lib/components/card-image/card-image.component.d.ts +0 -25
- package/components/card/lib/components/index.d.ts +0 -3
- package/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.d.ts +0 -8
- package/components/card/lib/directives/card-content.directive.d.ts +0 -8
- package/components/card/lib/directives/index.d.ts +0 -1
- package/components/card/lib/models/card-variant.d.ts +0 -7
- package/components/card/lib/models/index.d.ts +0 -1
- package/components/checkbox/lib/checkbox.component.d.ts +0 -55
- package/components/checkbox/lib/checkbox.module.d.ts +0 -9
- package/components/checkbox/lib/checkbox.validator.d.ts +0 -29
- package/components/chip/lib/components/chip/chip.component.d.ts +0 -42
- package/components/chip/lib/components/chip-list/chip-list.component.d.ts +0 -9
- package/components/chip/lib/components/chip-list-row/chip-list-row.component.d.ts +0 -9
- package/components/chip/lib/components/index.d.ts +0 -3
- package/components/chip/lib/models/chip-size.d.ts +0 -5
- package/components/chip/lib/models/chip-variant.d.ts +0 -9
- package/components/chip/lib/models/index.d.ts +0 -2
- package/components/circular-progress/lib/circular-progress.component.d.ts +0 -61
- package/components/circular-progress/lib/models/circular-progress-size.d.ts +0 -7
- package/components/circular-progress/lib/models/index.d.ts +0 -1
- package/components/content-box/lib/content-box.component.d.ts +0 -8
- package/components/content-box/lib/content-box.module.d.ts +0 -9
- package/components/content-box/lib/directives/content-box-footer.directive.d.ts +0 -8
- package/components/content-box/lib/directives/content-box-header.directive.d.ts +0 -8
- package/components/content-box/lib/directives/index.d.ts +0 -2
- package/components/data-table/lib/data-table.component.d.ts +0 -32
- package/components/data-table/lib/data-table.module.d.ts +0 -14
- package/components/data-table/lib/directives/cell-def.directive.d.ts +0 -7
- package/components/data-table/lib/directives/cell.directive.d.ts +0 -5
- package/components/data-table/lib/directives/column-def.directive.d.ts +0 -11
- package/components/data-table/lib/directives/header-cell-def.directive.d.ts +0 -7
- package/components/data-table/lib/directives/header-cell.directive.d.ts +0 -5
- package/components/data-table/lib/directives/index.d.ts +0 -6
- package/components/data-table/lib/directives/table-empty.directive.d.ts +0 -5
- package/components/data-table/lib/models/index.d.ts +0 -15
- package/components/data-table/lib/models/table-variant.d.ts +0 -5
- package/components/datepicker/lib/datepicker.component.d.ts +0 -132
- package/components/datepicker/lib/datepicker.config.d.ts +0 -1
- package/components/datepicker/lib/datepicker.module.d.ts +0 -11
- package/components/datepicker/lib/directives/datepicker-input-control.directive.d.ts +0 -49
- package/components/datepicker/lib/directives/index.d.ts +0 -1
- package/components/datepicker/lib/validators/filter.validator.d.ts +0 -15
- package/components/datepicker/lib/validators/minmax.validator.d.ts +0 -15
- package/components/daterangepicker/lib/daterangepicker.component.d.ts +0 -159
- package/components/daterangepicker/lib/daterangepicker.config.d.ts +0 -1
- package/components/daterangepicker/lib/daterangepicker.module.d.ts +0 -11
- package/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.d.ts +0 -45
- package/components/daterangepicker/lib/directives/index.d.ts +0 -1
- package/components/daterangepicker/lib/range.validator.d.ts +0 -25
- package/components/daterangepicker/lib/required.validator.d.ts +0 -24
- package/components/dropdown/lib/dropdown.component.d.ts +0 -33
- package/components/dropdown/lib/dropdown.directive.d.ts +0 -145
- package/components/dropdown/lib/dropdown.module.d.ts +0 -8
- package/components/dropdown/lib/helpers/close-current-dropdown.d.ts +0 -7
- package/components/dropdown/lib/helpers/index.d.ts +0 -1
- package/components/dropdown/lib/models/close-dropdown-event.d.ts +0 -4
- package/components/dropdown/lib/models/dropdown-options.d.ts +0 -3
- package/components/dropdown/lib/models/index.d.ts +0 -2
- package/components/error-page/lib/error-page.component.d.ts +0 -16
- package/components/error-page/lib/error-page.config.d.ts +0 -34
- package/components/footer/lib/footer.component.d.ts +0 -28
- package/components/footer/lib/footer.config.d.ts +0 -32
- package/components/footer/lib/footer.i18n.d.ts +0 -3
- package/components/footer/lib/helpers/create-footer-links.d.ts +0 -11
- package/components/footer/lib/helpers/index.d.ts +0 -1
- package/components/footer/lib/models/footer-link.d.ts +0 -4
- package/components/footer/lib/models/footer-variant.d.ts +0 -5
- package/components/footer/lib/models/index.d.ts +0 -2
- package/components/form-field/lib/components/form-field-info/form-field-info.component.d.ts +0 -23
- package/components/form-field/lib/components/form-group/form-group.component.d.ts +0 -34
- package/components/form-field/lib/components/index.d.ts +0 -2
- package/components/form-field/lib/directives/form-field-control.directive.d.ts +0 -25
- package/components/form-field/lib/directives/form-field-error.directive.d.ts +0 -18
- package/components/form-field/lib/directives/form-field-hint.directive.d.ts +0 -11
- package/components/form-field/lib/directives/form-field-label.directive.d.ts +0 -9
- package/components/form-field/lib/directives/form.directive.d.ts +0 -25
- package/components/form-field/lib/directives/index.d.ts +0 -5
- package/components/form-field/lib/form-field.component.d.ts +0 -61
- package/components/form-field/lib/form-field.config.d.ts +0 -16
- package/components/form-field/lib/form-field.module.d.ts +0 -14
- package/components/form-field/lib/form-field.service.d.ts +0 -92
- package/components/form-field/lib/models/form-field-error-resolver.d.ts +0 -27
- package/components/form-field/lib/models/form-field-error.d.ts +0 -8
- package/components/form-field/lib/models/form-field-variant.d.ts +0 -6
- package/components/form-field/lib/models/index.d.ts +0 -3
- package/components/form-field/lib/services/form-field-error.service.d.ts +0 -51
- package/components/form-field/lib/services/index.d.ts +0 -1
- package/components/header/lib/directives/header-avatar.directive.d.ts +0 -12
- package/components/header/lib/directives/header-title.directive.d.ts +0 -8
- package/components/header/lib/directives/index.d.ts +0 -2
- package/components/header/lib/header.component.d.ts +0 -9
- package/components/header/lib/header.module.d.ts +0 -15
- package/components/header-navigation/lib/directives/header-navigation-link.directive.d.ts +0 -14
- package/components/header-navigation/lib/directives/index.d.ts +0 -1
- package/components/header-navigation/lib/header-navigation.component.d.ts +0 -17
- package/components/header-navigation/lib/header-navigation.module.d.ts +0 -9
- package/components/icon/lib/helpers/index.d.ts +0 -1
- package/components/icon/lib/helpers/unpack-icon-identifier.d.ts +0 -29
- package/components/icon/lib/icon.component.d.ts +0 -50
- package/components/icon/lib/icon.config.d.ts +0 -31
- package/components/icon/lib/models/icon-set.d.ts +0 -7
- package/components/icon/lib/models/icon-size.d.ts +0 -8
- package/components/icon/lib/models/index.d.ts +0 -2
- package/components/inline-message/lib/inline-message.component.d.ts +0 -26
- package/components/inline-message/lib/models/index.d.ts +0 -1
- package/components/inline-message/lib/models/inline-message-variant.d.ts +0 -7
- package/components/link/link.directive.d.ts +0 -10
- package/components/list/lib/components/expandable-list-item/expandable-list-item.component.d.ts +0 -18
- package/components/list/lib/components/index.d.ts +0 -2
- package/components/list/lib/components/list-item/list-item.component.d.ts +0 -47
- package/components/list/lib/list.component.d.ts +0 -13
- package/components/list/lib/list.module.d.ts +0 -10
- package/components/list/lib/models/index.d.ts +0 -1
- package/components/list/lib/models/list-item-variant.d.ts +0 -6
- package/components/loading-spinner/lib/loading-spinner.component.d.ts +0 -26
- package/components/loading-spinner/lib/loading-spinner.directive.d.ts +0 -53
- package/components/loading-spinner/lib/loading-spinner.module.d.ts +0 -9
- package/components/logo/logo.directive.d.ts +0 -24
- package/components/logo/models/index.d.ts +0 -2
- package/components/logo/models/logo-size.d.ts +0 -6
- package/components/logo/models/logo-variant.d.ts +0 -5
- package/components/main-menu/lib/directives/index.d.ts +0 -3
- package/components/main-menu/lib/directives/main-menu-button.directive.d.ts +0 -12
- package/components/main-menu/lib/directives/main-menu-close.directive.d.ts +0 -10
- package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +0 -28
- package/components/main-menu/lib/helpers/create-main-menu-links.d.ts +0 -4
- package/components/main-menu/lib/helpers/index.d.ts +0 -1
- package/components/main-menu/lib/main-menu.component.d.ts +0 -67
- package/components/main-menu/lib/main-menu.config.d.ts +0 -43
- package/components/main-menu/lib/main-menu.i18n.d.ts +0 -3
- package/components/main-menu/lib/main-menu.module.d.ts +0 -12
- package/components/main-menu/lib/main-menu.service.d.ts +0 -39
- package/components/main-menu/lib/models/index.d.ts +0 -1
- package/components/main-menu/lib/models/main-menu-link.d.ts +0 -4
- package/components/mainfilter-group/lib/mainfilter-group.component.d.ts +0 -10
- package/components/menu/lib/directives/index.d.ts +0 -1
- package/components/menu/lib/directives/menu-item.directive.d.ts +0 -14
- package/components/menu/lib/menu.component.d.ts +0 -22
- package/components/menu/lib/menu.directive.d.ts +0 -48
- package/components/menu/lib/menu.module.d.ts +0 -11
- package/components/modal/lib/components/basic-modal/basic-modal.component.d.ts +0 -24
- package/components/modal/lib/components/index.d.ts +0 -4
- package/components/modal/lib/components/modal-footer/modal-footer.component.d.ts +0 -9
- package/components/modal/lib/components/modal-header/modal-header.component.d.ts +0 -20
- package/components/modal/lib/components/modal-hero/modal-hero.component.d.ts +0 -37
- package/components/modal/lib/directives/index.d.ts +0 -5
- package/components/modal/lib/directives/modal-close.directive.d.ts +0 -32
- package/components/modal/lib/directives/modal-content.directive.d.ts +0 -9
- package/components/modal/lib/directives/modal-dismiss.directive.d.ts +0 -24
- package/components/modal/lib/directives/prevent-form-method-dialog.directive.d.ts +0 -9
- package/components/modal/lib/directives/prevent-method-dialog.directive.d.ts +0 -9
- package/components/modal/lib/helpers/index.d.ts +0 -2
- package/components/modal/lib/helpers/inject-modal-ref.d.ts +0 -23
- package/components/modal/lib/helpers/provide-modal-ref.d.ts +0 -12
- package/components/modal/lib/modal.component.d.ts +0 -48
- package/components/modal/lib/modal.config.d.ts +0 -36
- package/components/modal/lib/modal.directive.d.ts +0 -47
- package/components/modal/lib/modal.module.d.ts +0 -20
- package/components/modal/lib/modal.service.d.ts +0 -79
- package/components/modal/lib/models/basic-modal-options.d.ts +0 -17
- package/components/modal/lib/models/index.d.ts +0 -7
- package/components/modal/lib/models/modal-hero-variant.d.ts +0 -7
- package/components/modal/lib/models/modal-options.d.ts +0 -18
- package/components/modal/lib/models/modal-ref.d.ts +0 -68
- package/components/modal/lib/models/modal-size.d.ts +0 -7
- package/components/modal/lib/models/modal-type.d.ts +0 -8
- package/components/modal/lib/models/modal-variant.d.ts +0 -5
- package/components/navigation-back/lib/navigation-back.component.d.ts +0 -9
- package/components/notification/lib/components/index.d.ts +0 -2
- package/components/notification/lib/components/notification-center/notification-center.component.d.ts +0 -15
- package/components/notification/lib/components/notification-item/notification-item.component.d.ts +0 -37
- package/components/notification/lib/directives/index.d.ts +0 -1
- package/components/notification/lib/directives/notification-center.directive.d.ts +0 -86
- package/components/notification/lib/features/index.d.ts +0 -5
- package/components/notification/lib/features/with-browser-notifications.d.ts +0 -17
- package/components/notification/lib/features/with-load-notifications.d.ts +0 -19
- package/components/notification/lib/features/with-notification-transformer.d.ts +0 -26
- package/components/notification/lib/features/with-peristent-notifications.d.ts +0 -61
- package/components/notification/lib/features/with-save-notifications.d.ts +0 -11
- package/components/notification/lib/helpers/get-notifications-by-tag.d.ts +0 -3
- package/components/notification/lib/helpers/index.d.ts +0 -3
- package/components/notification/lib/helpers/sort-notifications.d.ts +0 -4
- package/components/notification/lib/helpers/to-notification-collection.d.ts +0 -4
- package/components/notification/lib/models/index.d.ts +0 -8
- package/components/notification/lib/models/notification-action.d.ts +0 -2
- package/components/notification/lib/models/notification-collection.d.ts +0 -6
- package/components/notification/lib/models/notification-feature.d.ts +0 -20
- package/components/notification/lib/models/notification-options.d.ts +0 -7
- package/components/notification/lib/models/notification-query.d.ts +0 -2
- package/components/notification/lib/models/notification-sort-fn.d.ts +0 -2
- package/components/notification/lib/models/notification.d.ts +0 -6
- package/components/notification/lib/models/notification.ref.d.ts +0 -9
- package/components/notification/lib/notification.config.d.ts +0 -65
- package/components/notification/lib/notification.i18n.d.ts +0 -3
- package/components/notification/lib/notification.logger.d.ts +0 -4
- package/components/notification/lib/notification.service.d.ts +0 -165
- package/components/notification/lib/notification.tokens.d.ts +0 -7
- package/components/notification/lib/services/index.d.ts +0 -1
- package/components/notification/lib/services/notification-center.service.d.ts +0 -78
- package/components/notification/testing/lib/test-helpers.d.ts +0 -5
- package/components/paginator/lib/interfaces/index.d.ts +0 -1
- package/components/paginator/lib/interfaces/page-change.interface.d.ts +0 -5
- package/components/paginator/lib/models/get-range-content.model.d.ts +0 -2
- package/components/paginator/lib/models/get-summary-content.model.d.ts +0 -2
- package/components/paginator/lib/models/index.d.ts +0 -2
- package/components/paginator/lib/paginator.component.d.ts +0 -183
- package/components/paginator/lib/paginator.config.d.ts +0 -59
- package/components/paginator/lib/paginator.module.d.ts +0 -7
- package/components/progress/lib/progress.component.d.ts +0 -33
- package/components/radio-group/lib/components/index.d.ts +0 -1
- package/components/radio-group/lib/components/radio-button/radio-button.component.d.ts +0 -36
- package/components/radio-group/lib/radio-group.component.d.ts +0 -25
- package/components/radio-group/lib/radio-group.module.d.ts +0 -9
- package/components/rail-navigation/lib/components/index.d.ts +0 -1
- package/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.d.ts +0 -41
- package/components/rail-navigation/lib/models/index.d.ts +0 -1
- package/components/rail-navigation/lib/models/rail-navigation-variant.d.ts +0 -5
- package/components/rail-navigation/lib/rail-navigation.component.d.ts +0 -49
- package/components/rail-navigation/lib/rail-navigation.module.d.ts +0 -9
- package/components/rich-list/lib/components/index.d.ts +0 -3
- package/components/rich-list/lib/components/rich-list-content/rich-list-content.component.d.ts +0 -10
- package/components/rich-list/lib/components/rich-list-item/rich-list-item.component.d.ts +0 -40
- package/components/rich-list/lib/components/rich-list-item-header/rich-list-item-header.component.d.ts +0 -10
- package/components/rich-list/lib/rich-list.component.d.ts +0 -23
- package/components/rich-list/lib/rich-list.module.d.ts +0 -11
- package/components/search-bar/lib/search-bar-control.directive.d.ts +0 -8
- package/components/search-bar/lib/search-bar.component.d.ts +0 -8
- package/components/search-bar/lib/search-bar.module.d.ts +0 -9
- package/components/select/lib/components/index.d.ts +0 -1
- package/components/select/lib/components/select-option/select-option.component.d.ts +0 -56
- package/components/select/lib/directives/index.d.ts +0 -2
- package/components/select/lib/directives/select-all.directive.d.ts +0 -13
- package/components/select/lib/directives/select-input-control.directive.d.ts +0 -31
- package/components/select/lib/pipes/index.d.ts +0 -1
- package/components/select/lib/pipes/select-search-filter.pipe.d.ts +0 -17
- package/components/select/lib/select.component.d.ts +0 -140
- package/components/select/lib/select.module.d.ts +0 -11
- package/components/select/lib/select.tokens.d.ts +0 -3
- package/components/slider/lib/slider.directive.d.ts +0 -34
- package/components/spinbox/lib/spinbox.component.d.ts +0 -51
- package/components/switch/lib/switch.component.d.ts +0 -17
- package/components/switch/lib/switch.module.d.ts +0 -9
- package/components/switch/lib/switch.validator.d.ts +0 -18
- package/components/tab-bar/lib/components/index.d.ts +0 -1
- package/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.d.ts +0 -52
- package/components/tab-bar/lib/models/index.d.ts +0 -1
- package/components/tab-bar/lib/models/tab-change-event.d.ts +0 -5
- package/components/tab-bar/lib/tab-bar.component.d.ts +0 -77
- package/components/tab-bar/lib/tab-bar.config.d.ts +0 -3
- package/components/tab-bar/lib/tab-bar.module.d.ts +0 -9
- package/components/table/lib/components/check-cell/check-cell.component.d.ts +0 -33
- package/components/table/lib/components/header-title/header-title.component.d.ts +0 -71
- package/components/table/lib/components/index.d.ts +0 -2
- package/components/table/lib/directives/index.d.ts +0 -2
- package/components/table/lib/directives/table-cell.directive.d.ts +0 -10
- package/components/table/lib/directives/table-row.directive.d.ts +0 -10
- package/components/table/lib/models/header-cell.d.ts +0 -8
- package/components/table/lib/models/index.d.ts +0 -5
- package/components/table/lib/models/sort-status.d.ts +0 -5
- package/components/table/lib/models/sort-variant.d.ts +0 -21
- package/components/table/lib/models/table-body-cell.d.ts +0 -3
- package/components/table/lib/models/table-variant.d.ts +0 -5
- package/components/table/lib/table.component.d.ts +0 -85
- package/components/table/lib/table.config.d.ts +0 -4
- package/components/table/lib/table.module.d.ts +0 -11
- package/components/timepicker/lib/components/timepicker-option.component.d.ts +0 -52
- package/components/timepicker/lib/directives/timepicker-input-control.directive.d.ts +0 -43
- package/components/timepicker/lib/timepicker.component.d.ts +0 -120
- package/components/timepicker/lib/timepicker.module.d.ts +0 -10
- package/components/timepicker/lib/timepicker.service.d.ts +0 -59
- package/components/timepicker/lib/timepicker.token.d.ts +0 -9
- package/components/timepicker/lib/utils/generate-time-stamps.d.ts +0 -19
- package/components/timepicker/lib/utils/index.d.ts +0 -2
- package/components/timepicker/lib/utils/ngx-mask-helper.d.ts +0 -22
- package/components/toast/lib/components/index.d.ts +0 -2
- package/components/toast/lib/components/toast-container/toast-container.component.d.ts +0 -42
- package/components/toast/lib/components/toast-item/toast-item.component.d.ts +0 -77
- package/components/toast/lib/models/index.d.ts +0 -5
- package/components/toast/lib/models/toast-action.d.ts +0 -7
- package/components/toast/lib/models/toast-ref.d.ts +0 -7
- package/components/toast/lib/models/toast-variant.d.ts +0 -9
- package/components/toast/lib/models/toast.d.ts +0 -12
- package/components/toast/lib/models/toast.options.d.ts +0 -4
- package/components/toast/lib/toast.config.d.ts +0 -29
- package/components/toast/lib/toast.module.d.ts +0 -9
- package/components/toast/lib/toast.service.d.ts +0 -91
- package/components/toggle-button-group/lib/components/index.d.ts +0 -1
- package/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.d.ts +0 -24
- package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +0 -30
- package/components/toggle-button-group/lib/toggle-button-group.module.d.ts +0 -9
- package/components/tooltip/lib/directives/index.d.ts +0 -2
- package/components/tooltip/lib/directives/tooltip-disabled-focusable.directive.d.ts +0 -20
- package/components/tooltip/lib/helpers/index.d.ts +0 -1
- package/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.d.ts +0 -9
- package/components/tooltip/lib/models/index.d.ts +0 -3
- package/components/tooltip/lib/models/tooltip-options.d.ts +0 -10
- package/components/tooltip/lib/models/tooltip-size.d.ts +0 -7
- package/components/tooltip/lib/models/tooltip-trigger.d.ts +0 -1
- package/components/tooltip/lib/tooltip.component.d.ts +0 -40
- package/components/tooltip/lib/tooltip.config.d.ts +0 -29
- package/components/tooltip/lib/tooltip.directive.d.ts +0 -84
- package/components/wizard/lib/components/index.d.ts +0 -1
- package/components/wizard/lib/components/wizard-step/wizard-step.component.d.ts +0 -68
- package/components/wizard/lib/wizard.component.d.ts +0 -83
- package/components/wizard/lib/wizard.module.d.ts +0 -9
- package/esm2022/animations/index.mjs +0 -6
- package/esm2022/animations/lib/config.mjs +0 -8
- package/esm2022/animations/lib/expand.mjs +0 -58
- package/esm2022/animations/lib/fade.mjs +0 -83
- package/esm2022/animations/lib/slide.mjs +0 -55
- package/esm2022/animations/lib/wait-for-child-animations.mjs +0 -41
- package/esm2022/animations/odx-angular-animations.mjs +0 -5
- package/esm2022/breakpoints/index.mjs +0 -8
- package/esm2022/breakpoints/lib/breakpoints.config.mjs +0 -51
- package/esm2022/breakpoints/lib/breakpoints.module.mjs +0 -17
- package/esm2022/breakpoints/lib/breakpoints.service.mjs +0 -77
- package/esm2022/breakpoints/lib/breakpoints.typings.mjs +0 -2
- package/esm2022/breakpoints/lib/directives/index.mjs +0 -2
- package/esm2022/breakpoints/lib/directives/match-breakpoints.directive.mjs +0 -84
- package/esm2022/breakpoints/lib/helpers/configure-breakpoint.mjs +0 -27
- package/esm2022/breakpoints/lib/helpers/index.mjs +0 -2
- package/esm2022/breakpoints/lib/models/breakpoint.mjs +0 -2
- package/esm2022/breakpoints/lib/models/index.mjs +0 -2
- package/esm2022/breakpoints/odx-angular-breakpoints.mjs +0 -5
- package/esm2022/cdk/a11y/index.mjs +0 -3
- package/esm2022/cdk/a11y/lib/a11y.module.mjs +0 -19
- package/esm2022/cdk/a11y/lib/directives/index.mjs +0 -4
- package/esm2022/cdk/a11y/lib/directives/interactive.directive.mjs +0 -81
- package/esm2022/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +0 -50
- package/esm2022/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +0 -59
- package/esm2022/cdk/a11y/odx-angular-cdk-a11y.mjs +0 -5
- package/esm2022/cdk/active-indicator/index.mjs +0 -3
- package/esm2022/cdk/active-indicator/lib/active-indicator.directive.mjs +0 -193
- package/esm2022/cdk/active-indicator/lib/models/active-indicator-direction.mjs +0 -5
- package/esm2022/cdk/active-indicator/lib/models/active-indicator-position.mjs +0 -6
- package/esm2022/cdk/active-indicator/lib/models/index.mjs +0 -3
- package/esm2022/cdk/active-indicator/odx-angular-cdk-active-indicator.mjs +0 -5
- package/esm2022/cdk/autocomplete-control/index.mjs +0 -4
- package/esm2022/cdk/autocomplete-control/lib/autocomplete-control.mjs +0 -198
- package/esm2022/cdk/autocomplete-control/lib/directives/highlight-search-result.directive.mjs +0 -43
- package/esm2022/cdk/autocomplete-control/lib/directives/index.mjs +0 -2
- package/esm2022/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.mjs +0 -47
- package/esm2022/cdk/autocomplete-control/lib/pipes/index.mjs +0 -2
- package/esm2022/cdk/autocomplete-control/odx-angular-cdk-autocomplete-control.mjs +0 -5
- package/esm2022/cdk/checkbox-control/index.mjs +0 -2
- package/esm2022/cdk/checkbox-control/lib/checkbox-control.directive.mjs +0 -67
- package/esm2022/cdk/checkbox-control/odx-angular-cdk-checkbox-control.mjs +0 -5
- package/esm2022/cdk/connected-overlay/index.mjs +0 -4
- package/esm2022/cdk/connected-overlay/lib/connected-overlay.component.mjs +0 -83
- package/esm2022/cdk/connected-overlay/lib/connected-overlay.service.mjs +0 -69
- package/esm2022/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +0 -59
- package/esm2022/cdk/connected-overlay/lib/helpers/index.mjs +0 -2
- package/esm2022/cdk/connected-overlay/lib/models/connected-overlay-options.mjs +0 -12
- package/esm2022/cdk/connected-overlay/lib/models/connected-overlay-ref.mjs +0 -69
- package/esm2022/cdk/connected-overlay/lib/models/index.mjs +0 -3
- package/esm2022/cdk/connected-overlay/odx-angular-cdk-connected-overlay.mjs +0 -5
- package/esm2022/cdk/custom-form-control/index.mjs +0 -4
- package/esm2022/cdk/custom-form-control/lib/control.directive.mjs +0 -19
- package/esm2022/cdk/custom-form-control/lib/custom-form-control.mjs +0 -224
- package/esm2022/cdk/custom-form-control/lib/input-control.directive.mjs +0 -110
- package/esm2022/cdk/custom-form-control/odx-angular-cdk-custom-form-control.mjs +0 -5
- package/esm2022/cdk/date-input/index.mjs +0 -6
- package/esm2022/cdk/date-input/lib/date.config.mjs +0 -26
- package/esm2022/cdk/date-input/lib/models/input-date-order.mjs +0 -16
- package/esm2022/cdk/date-input/lib/utils/get-date-input-pattern.mjs +0 -18
- package/esm2022/cdk/date-input/lib/utils/get-input-value-as-date.mjs +0 -38
- package/esm2022/cdk/date-input/lib/utils/ngx-mask-init.mjs +0 -22
- package/esm2022/cdk/date-input/odx-angular-cdk-date-input.mjs +0 -5
- package/esm2022/cdk/dynamic-view/index.mjs +0 -8
- package/esm2022/cdk/dynamic-view/lib/dynamic-view.component.mjs +0 -43
- package/esm2022/cdk/dynamic-view/lib/dynamic-view.directive.mjs +0 -113
- package/esm2022/cdk/dynamic-view/lib/dynamic-view.service.mjs +0 -75
- package/esm2022/cdk/dynamic-view/lib/facade/dynamic-content.mjs +0 -2
- package/esm2022/cdk/dynamic-view/lib/facade/dynamic-view-ref.mjs +0 -2
- package/esm2022/cdk/dynamic-view/lib/facade/index.mjs +0 -3
- package/esm2022/cdk/dynamic-view/lib/helpers/create-projectable-nodes.mjs +0 -31
- package/esm2022/cdk/dynamic-view/lib/helpers/index.mjs +0 -4
- package/esm2022/cdk/dynamic-view/lib/helpers/is-dynamic-text-content.mjs +0 -28
- package/esm2022/cdk/dynamic-view/lib/helpers/is-dynamic-view.mjs +0 -27
- package/esm2022/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +0 -108
- package/esm2022/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +0 -87
- package/esm2022/cdk/dynamic-view/lib/models/dynamic-view-options.mjs +0 -2
- package/esm2022/cdk/dynamic-view/lib/models/index.mjs +0 -4
- package/esm2022/cdk/dynamic-view/lib/tokens/dynamic-view-context.mjs +0 -7
- package/esm2022/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.mjs +0 -20
- package/esm2022/cdk/dynamic-view/lib/tokens/index.mjs +0 -3
- package/esm2022/cdk/dynamic-view/odx-angular-cdk-dynamic-view.mjs +0 -5
- package/esm2022/cdk/event-plugins/index.mjs +0 -4
- package/esm2022/cdk/event-plugins/lib/event-plugins.config.mjs +0 -48
- package/esm2022/cdk/event-plugins/lib/models/event-plugin.mjs +0 -60
- package/esm2022/cdk/event-plugins/lib/models/index.mjs +0 -2
- package/esm2022/cdk/event-plugins/lib/plugins/debounce-event-plugin.mjs +0 -67
- package/esm2022/cdk/event-plugins/lib/plugins/defer-event-plugin.mjs +0 -51
- package/esm2022/cdk/event-plugins/lib/plugins/index.mjs +0 -3
- package/esm2022/cdk/event-plugins/odx-angular-cdk-event-plugins.mjs +0 -5
- package/esm2022/cdk/expandable/index.mjs +0 -5
- package/esm2022/cdk/expandable/lib/directives/expandable-container.directive.mjs +0 -104
- package/esm2022/cdk/expandable/lib/directives/expandable-item.directive.mjs +0 -119
- package/esm2022/cdk/expandable/lib/directives/index.mjs +0 -3
- package/esm2022/cdk/expandable/lib/expandable.module.mjs +0 -17
- package/esm2022/cdk/expandable/lib/expandable.tokens.mjs +0 -4
- package/esm2022/cdk/expandable/lib/facade/expandable-container.mjs +0 -2
- package/esm2022/cdk/expandable/lib/facade/expandable-item.mjs +0 -2
- package/esm2022/cdk/expandable/lib/facade/index.mjs +0 -3
- package/esm2022/cdk/expandable/odx-angular-cdk-expandable.mjs +0 -5
- package/esm2022/cdk/option-control/index.mjs +0 -2
- package/esm2022/cdk/option-control/lib/option-control.mjs +0 -91
- package/esm2022/cdk/option-control/odx-angular-cdk-option-control.mjs +0 -5
- package/esm2022/cdk/radio-group-control/index.mjs +0 -4
- package/esm2022/cdk/radio-group-control/lib/radio-control.directive.mjs +0 -65
- package/esm2022/cdk/radio-group-control/lib/radio-group-control.directive.mjs +0 -60
- package/esm2022/cdk/radio-group-control/lib/radio-group-control.module.mjs +0 -19
- package/esm2022/cdk/radio-group-control/odx-angular-cdk-radio-group-control.mjs +0 -5
- package/esm2022/cdk/scrollable/index.mjs +0 -2
- package/esm2022/cdk/scrollable/lib/scrollable.service.mjs +0 -129
- package/esm2022/cdk/scrollable/odx-angular-cdk-scrollable.mjs +0 -5
- package/esm2022/components/accordion/index.mjs +0 -5
- package/esm2022/components/accordion/lib/accordion.component.mjs +0 -31
- package/esm2022/components/accordion/lib/accordion.module.mjs +0 -20
- package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +0 -94
- package/esm2022/components/accordion/lib/components/index.mjs +0 -2
- package/esm2022/components/accordion/lib/directives/accordion-item-title.mjs +0 -17
- package/esm2022/components/accordion/lib/directives/index.mjs +0 -2
- package/esm2022/components/accordion/odx-angular-components-accordion.mjs +0 -5
- package/esm2022/components/action-group/action-group.component.mjs +0 -38
- package/esm2022/components/action-group/index.mjs +0 -2
- package/esm2022/components/action-group/odx-angular-components-action-group.mjs +0 -5
- package/esm2022/components/anchor-navigation/anchor-navigation.component.mjs +0 -69
- package/esm2022/components/anchor-navigation/anchor-navigation.module.mjs +0 -18
- package/esm2022/components/anchor-navigation/anchor-navigation.service.mjs +0 -130
- package/esm2022/components/anchor-navigation/components/anchor-navigation-item.component.mjs +0 -32
- package/esm2022/components/anchor-navigation/components/index.mjs +0 -2
- package/esm2022/components/anchor-navigation/index.mjs +0 -5
- package/esm2022/components/anchor-navigation/odx-angular-components-anchor-navigation.mjs +0 -5
- package/esm2022/components/area-header/area-header.component.mjs +0 -39
- package/esm2022/components/area-header/area-header.module.mjs +0 -47
- package/esm2022/components/area-header/directives/area-header-content.directive.mjs +0 -20
- package/esm2022/components/area-header/directives/area-header-subtitle.directive.mjs +0 -20
- package/esm2022/components/area-header/directives/index.mjs +0 -3
- package/esm2022/components/area-header/index.mjs +0 -5
- package/esm2022/components/area-header/models/area-header-size.mjs +0 -7
- package/esm2022/components/area-header/models/index.mjs +0 -2
- package/esm2022/components/area-header/odx-angular-components-area-header.mjs +0 -5
- package/esm2022/components/autocomplete/index.mjs +0 -7
- package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +0 -212
- package/esm2022/components/autocomplete/lib/autocomplete.module.mjs +0 -21
- package/esm2022/components/autocomplete/lib/autocomplete.tokens.mjs +0 -3
- package/esm2022/components/autocomplete/lib/components/index.mjs +0 -2
- package/esm2022/components/autocomplete/lib/components/option/autocomplete-option.component.mjs +0 -45
- package/esm2022/components/autocomplete/lib/directives/autocomplete-input-control.directive.mjs +0 -36
- package/esm2022/components/autocomplete/lib/directives/index.mjs +0 -2
- package/esm2022/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.mjs +0 -16
- package/esm2022/components/autocomplete/lib/pipes/index.mjs +0 -2
- package/esm2022/components/autocomplete/odx-angular-components-autocomplete.mjs +0 -5
- package/esm2022/components/avatar/index.mjs +0 -3
- package/esm2022/components/avatar/lib/avatar.component.mjs +0 -48
- package/esm2022/components/avatar/lib/models/avatar-size.mjs +0 -6
- package/esm2022/components/avatar/lib/models/avatar-variant.mjs +0 -5
- package/esm2022/components/avatar/lib/models/index.mjs +0 -3
- package/esm2022/components/avatar/odx-angular-components-avatar.mjs +0 -5
- package/esm2022/components/badge/index.mjs +0 -4
- package/esm2022/components/badge/lib/badge.component.mjs +0 -62
- package/esm2022/components/badge/lib/badge.directive.mjs +0 -116
- package/esm2022/components/badge/lib/models/badge-variant.mjs +0 -6
- package/esm2022/components/badge/lib/models/index.mjs +0 -2
- package/esm2022/components/badge/odx-angular-components-badge.mjs +0 -5
- package/esm2022/components/bar/index.mjs +0 -6
- package/esm2022/components/bar/lib/bar.component.mjs +0 -28
- package/esm2022/components/bar/lib/bar.module.mjs +0 -20
- package/esm2022/components/bar/lib/directives/bar-button.directive.mjs +0 -45
- package/esm2022/components/bar/lib/directives/bar-label.directive.mjs +0 -27
- package/esm2022/components/bar/lib/models/bar-button-variant.mjs +0 -5
- package/esm2022/components/bar/odx-angular-components-bar.mjs +0 -5
- package/esm2022/components/breadcrumbs/index.mjs +0 -2
- package/esm2022/components/breadcrumbs/lib/breadcrumbs.component.mjs +0 -24
- package/esm2022/components/breadcrumbs/odx-angular-components-breadcrumbs.mjs +0 -5
- package/esm2022/components/button/index.mjs +0 -4
- package/esm2022/components/button/lib/button.component.mjs +0 -59
- package/esm2022/components/button/lib/directives/index.mjs +0 -2
- package/esm2022/components/button/lib/directives/responsive-button.directive.mjs +0 -24
- package/esm2022/components/button/lib/models/button-size.mjs +0 -6
- package/esm2022/components/button/lib/models/button-variant.mjs +0 -10
- package/esm2022/components/button/lib/models/index.mjs +0 -3
- package/esm2022/components/button/odx-angular-components-button.mjs +0 -5
- package/esm2022/components/button-group/index.mjs +0 -2
- package/esm2022/components/button-group/lib/button-group.component.mjs +0 -80
- package/esm2022/components/button-group/odx-angular-components-button-group.mjs +0 -5
- package/esm2022/components/calendar/index.mjs +0 -10
- package/esm2022/components/calendar/lib/calendar.component.mjs +0 -116
- package/esm2022/components/calendar/lib/calendar.config.mjs +0 -31
- package/esm2022/components/calendar/lib/calendar.service.mjs +0 -111
- package/esm2022/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +0 -95
- package/esm2022/components/calendar/lib/components/calendar-header/index.mjs +0 -2
- package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +0 -61
- package/esm2022/components/calendar/lib/components/calendar-month/index.mjs +0 -2
- package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +0 -63
- package/esm2022/components/calendar/lib/components/calendar-year/index.mjs +0 -2
- package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +0 -71
- package/esm2022/components/calendar/lib/components/calendar-years/index.mjs +0 -2
- package/esm2022/components/calendar/lib/components/index.mjs +0 -5
- package/esm2022/components/calendar/lib/daterange.service.mjs +0 -76
- package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +0 -202
- package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +0 -108
- package/esm2022/components/calendar/lib/directives/index.mjs +0 -3
- package/esm2022/components/calendar/lib/models/calendar-view.mjs +0 -7
- package/esm2022/components/calendar/lib/models/date-filter.mjs +0 -2
- package/esm2022/components/calendar/lib/models/date-range.mjs +0 -7
- package/esm2022/components/calendar/lib/models/date-type.mjs +0 -2
- package/esm2022/components/calendar/lib/models/date-validator.mjs +0 -2
- package/esm2022/components/calendar/lib/models/index.mjs +0 -8
- package/esm2022/components/calendar/lib/models/selected-date.mjs +0 -5
- package/esm2022/components/calendar/lib/models/selection-mode.mjs +0 -6
- package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +0 -47
- package/esm2022/components/calendar/lib/pipes/index.mjs +0 -2
- package/esm2022/components/calendar/lib/services/calendar-month.service.mjs +0 -38
- package/esm2022/components/calendar/lib/services/calendar-year.service.mjs +0 -34
- package/esm2022/components/calendar/lib/services/calendar-years.service.mjs +0 -37
- package/esm2022/components/calendar/lib/services/index.mjs +0 -4
- package/esm2022/components/calendar/lib/utils/check-cell-in-range.mjs +0 -29
- package/esm2022/components/calendar/lib/utils/check-identical-date.mjs +0 -12
- package/esm2022/components/calendar/lib/utils/get-A11y-label.mjs +0 -13
- package/esm2022/components/calendar/lib/utils/index.mjs +0 -10
- package/esm2022/components/calendar/lib/utils/is-date-disabled.mjs +0 -11
- package/esm2022/components/calendar/lib/utils/parse-date.mjs +0 -16
- package/esm2022/components/calendar/lib/utils/validate-daterange.mjs +0 -6
- package/esm2022/components/calendar/lib/utils/validate-max-date.mjs +0 -12
- package/esm2022/components/calendar/lib/utils/validate-min-date.mjs +0 -12
- package/esm2022/components/calendar/lib/utils/validate-next-date-set.mjs +0 -12
- package/esm2022/components/calendar/lib/utils/validate-previous-date-set.mjs +0 -12
- package/esm2022/components/calendar/odx-angular-components-calendar.mjs +0 -5
- package/esm2022/components/card/index.mjs +0 -6
- package/esm2022/components/card/lib/card.component.mjs +0 -101
- package/esm2022/components/card/lib/card.config.mjs +0 -25
- package/esm2022/components/card/lib/card.module.mjs +0 -20
- package/esm2022/components/card/lib/components/card-footer/card-footer.component.mjs +0 -16
- package/esm2022/components/card/lib/components/card-image/card-image.component.mjs +0 -83
- package/esm2022/components/card/lib/components/index.mjs +0 -4
- package/esm2022/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +0 -16
- package/esm2022/components/card/lib/directives/card-content.directive.mjs +0 -20
- package/esm2022/components/card/lib/directives/index.mjs +0 -2
- package/esm2022/components/card/lib/models/card-variant.mjs +0 -7
- package/esm2022/components/card/lib/models/index.mjs +0 -2
- package/esm2022/components/card/odx-angular-components-card.mjs +0 -5
- package/esm2022/components/checkbox/index.mjs +0 -4
- package/esm2022/components/checkbox/lib/checkbox.component.mjs +0 -99
- package/esm2022/components/checkbox/lib/checkbox.module.mjs +0 -19
- package/esm2022/components/checkbox/lib/checkbox.validator.mjs +0 -51
- package/esm2022/components/checkbox/odx-angular-components-checkbox.mjs +0 -5
- package/esm2022/components/chip/index.mjs +0 -3
- package/esm2022/components/chip/lib/components/chip/chip.component.mjs +0 -78
- package/esm2022/components/chip/lib/components/chip-list/chip-list.component.mjs +0 -24
- package/esm2022/components/chip/lib/components/chip-list-row/chip-list-row.component.mjs +0 -24
- package/esm2022/components/chip/lib/components/index.mjs +0 -4
- package/esm2022/components/chip/lib/models/chip-size.mjs +0 -5
- package/esm2022/components/chip/lib/models/chip-variant.mjs +0 -9
- package/esm2022/components/chip/lib/models/index.mjs +0 -3
- package/esm2022/components/chip/odx-angular-components-chip.mjs +0 -5
- package/esm2022/components/circular-progress/index.mjs +0 -3
- package/esm2022/components/circular-progress/lib/circular-progress.component.mjs +0 -124
- package/esm2022/components/circular-progress/lib/models/circular-progress-size.mjs +0 -7
- package/esm2022/components/circular-progress/lib/models/index.mjs +0 -2
- package/esm2022/components/circular-progress/odx-angular-components-circular-progress.mjs +0 -5
- package/esm2022/components/content-box/index.mjs +0 -4
- package/esm2022/components/content-box/lib/content-box.component.mjs +0 -16
- package/esm2022/components/content-box/lib/content-box.module.mjs +0 -19
- package/esm2022/components/content-box/lib/directives/content-box-footer.directive.mjs +0 -20
- package/esm2022/components/content-box/lib/directives/content-box-header.directive.mjs +0 -20
- package/esm2022/components/content-box/lib/directives/index.mjs +0 -3
- package/esm2022/components/content-box/odx-angular-components-content-box.mjs +0 -5
- package/esm2022/components/data-table/index.mjs +0 -5
- package/esm2022/components/data-table/lib/data-table.component.mjs +0 -51
- package/esm2022/components/data-table/lib/data-table.module.mjs +0 -19
- package/esm2022/components/data-table/lib/directives/cell-def.directive.mjs +0 -17
- package/esm2022/components/data-table/lib/directives/cell.directive.mjs +0 -18
- package/esm2022/components/data-table/lib/directives/column-def.directive.mjs +0 -27
- package/esm2022/components/data-table/lib/directives/header-cell-def.directive.mjs +0 -17
- package/esm2022/components/data-table/lib/directives/header-cell.directive.mjs +0 -18
- package/esm2022/components/data-table/lib/directives/index.mjs +0 -7
- package/esm2022/components/data-table/lib/directives/table-empty.directive.mjs +0 -11
- package/esm2022/components/data-table/lib/models/index.mjs +0 -15
- package/esm2022/components/data-table/lib/models/table-variant.mjs +0 -5
- package/esm2022/components/data-table/odx-angular-components-data-table.mjs +0 -5
- package/esm2022/components/datepicker/index.mjs +0 -7
- package/esm2022/components/datepicker/lib/datepicker.component.mjs +0 -208
- package/esm2022/components/datepicker/lib/datepicker.config.mjs +0 -52
- package/esm2022/components/datepicker/lib/datepicker.module.mjs +0 -21
- package/esm2022/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +0 -86
- package/esm2022/components/datepicker/lib/directives/index.mjs +0 -2
- package/esm2022/components/datepicker/lib/validators/filter.validator.mjs +0 -49
- package/esm2022/components/datepicker/lib/validators/minmax.validator.mjs +0 -60
- package/esm2022/components/datepicker/odx-angular-components-datepicker.mjs +0 -5
- package/esm2022/components/daterangepicker/index.mjs +0 -7
- package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +0 -277
- package/esm2022/components/daterangepicker/lib/daterangepicker.config.mjs +0 -52
- package/esm2022/components/daterangepicker/lib/daterangepicker.module.mjs +0 -21
- package/esm2022/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.mjs +0 -82
- package/esm2022/components/daterangepicker/lib/directives/index.mjs +0 -2
- package/esm2022/components/daterangepicker/lib/range.validator.mjs +0 -52
- package/esm2022/components/daterangepicker/lib/required.validator.mjs +0 -48
- package/esm2022/components/daterangepicker/odx-angular-components-daterangepicker.mjs +0 -5
- package/esm2022/components/dropdown/index.mjs +0 -6
- package/esm2022/components/dropdown/lib/dropdown.component.mjs +0 -47
- package/esm2022/components/dropdown/lib/dropdown.directive.mjs +0 -238
- package/esm2022/components/dropdown/lib/dropdown.module.mjs +0 -18
- package/esm2022/components/dropdown/lib/helpers/close-current-dropdown.mjs +0 -11
- package/esm2022/components/dropdown/lib/helpers/index.mjs +0 -2
- package/esm2022/components/dropdown/lib/models/close-dropdown-event.mjs +0 -7
- package/esm2022/components/dropdown/lib/models/dropdown-options.mjs +0 -9
- package/esm2022/components/dropdown/lib/models/index.mjs +0 -3
- package/esm2022/components/dropdown/odx-angular-components-dropdown.mjs +0 -5
- package/esm2022/components/error-page/index.mjs +0 -3
- package/esm2022/components/error-page/lib/error-page.component.mjs +0 -37
- package/esm2022/components/error-page/lib/error-page.config.mjs +0 -18
- package/esm2022/components/error-page/odx-angular-components-error-page.mjs +0 -5
- package/esm2022/components/footer/index.mjs +0 -4
- package/esm2022/components/footer/lib/footer.component.mjs +0 -58
- package/esm2022/components/footer/lib/footer.config.mjs +0 -31
- package/esm2022/components/footer/lib/footer.i18n.mjs +0 -19
- package/esm2022/components/footer/lib/helpers/create-footer-links.mjs +0 -24
- package/esm2022/components/footer/lib/helpers/index.mjs +0 -2
- package/esm2022/components/footer/lib/models/footer-link.mjs +0 -2
- package/esm2022/components/footer/lib/models/footer-variant.mjs +0 -5
- package/esm2022/components/footer/lib/models/index.mjs +0 -3
- package/esm2022/components/footer/odx-angular-components-footer.mjs +0 -5
- package/esm2022/components/form-field/index.mjs +0 -8
- package/esm2022/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +0 -37
- package/esm2022/components/form-field/lib/components/form-group/form-group.component.mjs +0 -49
- package/esm2022/components/form-field/lib/components/index.mjs +0 -3
- package/esm2022/components/form-field/lib/directives/form-field-control.directive.mjs +0 -80
- package/esm2022/components/form-field/lib/directives/form-field-error.directive.mjs +0 -28
- package/esm2022/components/form-field/lib/directives/form-field-hint.directive.mjs +0 -26
- package/esm2022/components/form-field/lib/directives/form-field-label.directive.mjs +0 -27
- package/esm2022/components/form-field/lib/directives/form.directive.mjs +0 -46
- package/esm2022/components/form-field/lib/directives/index.mjs +0 -6
- package/esm2022/components/form-field/lib/form-field.component.mjs +0 -93
- package/esm2022/components/form-field/lib/form-field.config.mjs +0 -7
- package/esm2022/components/form-field/lib/form-field.module.mjs +0 -41
- package/esm2022/components/form-field/lib/form-field.service.mjs +0 -117
- package/esm2022/components/form-field/lib/models/form-field-error-resolver.mjs +0 -2
- package/esm2022/components/form-field/lib/models/form-field-error.mjs +0 -2
- package/esm2022/components/form-field/lib/models/form-field-variant.mjs +0 -6
- package/esm2022/components/form-field/lib/models/index.mjs +0 -4
- package/esm2022/components/form-field/lib/services/form-field-error.service.mjs +0 -88
- package/esm2022/components/form-field/lib/services/index.mjs +0 -2
- package/esm2022/components/form-field/odx-angular-components-form-field.mjs +0 -5
- package/esm2022/components/header/index.mjs +0 -4
- package/esm2022/components/header/lib/directives/header-avatar.directive.mjs +0 -28
- package/esm2022/components/header/lib/directives/header-title.directive.mjs +0 -20
- package/esm2022/components/header/lib/directives/index.mjs +0 -3
- package/esm2022/components/header/lib/header.component.mjs +0 -25
- package/esm2022/components/header/lib/header.module.mjs +0 -51
- package/esm2022/components/header/odx-angular-components-header.mjs +0 -5
- package/esm2022/components/header-navigation/index.mjs +0 -4
- package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs +0 -40
- package/esm2022/components/header-navigation/lib/directives/index.mjs +0 -2
- package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +0 -32
- package/esm2022/components/header-navigation/lib/header-navigation.module.mjs +0 -19
- package/esm2022/components/header-navigation/odx-angular-components-header-navigation.mjs +0 -5
- package/esm2022/components/icon/index.mjs +0 -5
- package/esm2022/components/icon/lib/helpers/index.mjs +0 -2
- package/esm2022/components/icon/lib/helpers/unpack-icon-identifier.mjs +0 -38
- package/esm2022/components/icon/lib/icon.component.mjs +0 -101
- package/esm2022/components/icon/lib/icon.config.mjs +0 -25
- package/esm2022/components/icon/lib/models/icon-set.mjs +0 -7
- package/esm2022/components/icon/lib/models/icon-size.mjs +0 -8
- package/esm2022/components/icon/lib/models/index.mjs +0 -3
- package/esm2022/components/icon/odx-angular-components-icon.mjs +0 -5
- package/esm2022/components/inline-message/index.mjs +0 -3
- package/esm2022/components/inline-message/lib/inline-message.component.mjs +0 -59
- package/esm2022/components/inline-message/lib/models/index.mjs +0 -2
- package/esm2022/components/inline-message/lib/models/inline-message-variant.mjs +0 -7
- package/esm2022/components/inline-message/odx-angular-components-inline-message.mjs +0 -5
- package/esm2022/components/link/index.mjs +0 -2
- package/esm2022/components/link/link.directive.mjs +0 -30
- package/esm2022/components/link/odx-angular-components-link.mjs +0 -5
- package/esm2022/components/list/index.mjs +0 -5
- package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +0 -47
- package/esm2022/components/list/lib/components/index.mjs +0 -3
- package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +0 -88
- package/esm2022/components/list/lib/list.component.mjs +0 -29
- package/esm2022/components/list/lib/list.module.mjs +0 -19
- package/esm2022/components/list/lib/models/index.mjs +0 -2
- package/esm2022/components/list/lib/models/list-item-variant.mjs +0 -6
- package/esm2022/components/list/odx-angular-components-list.mjs +0 -5
- package/esm2022/components/loading-spinner/index.mjs +0 -4
- package/esm2022/components/loading-spinner/lib/loading-spinner.component.mjs +0 -69
- package/esm2022/components/loading-spinner/lib/loading-spinner.directive.mjs +0 -116
- package/esm2022/components/loading-spinner/lib/loading-spinner.module.mjs +0 -19
- package/esm2022/components/loading-spinner/odx-angular-components-loading-spinner.mjs +0 -5
- package/esm2022/components/logo/index.mjs +0 -3
- package/esm2022/components/logo/logo.directive.mjs +0 -61
- package/esm2022/components/logo/models/index.mjs +0 -3
- package/esm2022/components/logo/models/logo-size.mjs +0 -6
- package/esm2022/components/logo/models/logo-variant.mjs +0 -5
- package/esm2022/components/logo/odx-angular-components-logo.mjs +0 -5
- package/esm2022/components/main-menu/index.mjs +0 -5
- package/esm2022/components/main-menu/lib/directives/index.mjs +0 -4
- package/esm2022/components/main-menu/lib/directives/main-menu-button.directive.mjs +0 -36
- package/esm2022/components/main-menu/lib/directives/main-menu-close.directive.mjs +0 -27
- package/esm2022/components/main-menu/lib/directives/main-menu-item.directive.mjs +0 -55
- package/esm2022/components/main-menu/lib/helpers/create-main-menu-links.mjs +0 -17
- package/esm2022/components/main-menu/lib/helpers/index.mjs +0 -2
- package/esm2022/components/main-menu/lib/main-menu.component.mjs +0 -125
- package/esm2022/components/main-menu/lib/main-menu.config.mjs +0 -37
- package/esm2022/components/main-menu/lib/main-menu.i18n.mjs +0 -19
- package/esm2022/components/main-menu/lib/main-menu.module.mjs +0 -20
- package/esm2022/components/main-menu/lib/main-menu.service.mjs +0 -56
- package/esm2022/components/main-menu/lib/models/index.mjs +0 -2
- package/esm2022/components/main-menu/lib/models/main-menu-link.mjs +0 -2
- package/esm2022/components/main-menu/odx-angular-components-main-menu.mjs +0 -5
- package/esm2022/components/mainfilter-group/index.mjs +0 -2
- package/esm2022/components/mainfilter-group/lib/mainfilter-group.component.mjs +0 -25
- package/esm2022/components/mainfilter-group/odx-angular-components-mainfilter-group.mjs +0 -5
- package/esm2022/components/menu/index.mjs +0 -5
- package/esm2022/components/menu/lib/directives/index.mjs +0 -2
- package/esm2022/components/menu/lib/directives/menu-item.directive.mjs +0 -43
- package/esm2022/components/menu/lib/menu.component.mjs +0 -56
- package/esm2022/components/menu/lib/menu.directive.mjs +0 -76
- package/esm2022/components/menu/lib/menu.module.mjs +0 -21
- package/esm2022/components/menu/odx-angular-components-menu.mjs +0 -5
- package/esm2022/components/modal/index.mjs +0 -10
- package/esm2022/components/modal/lib/components/basic-modal/basic-modal.component.mjs +0 -51
- package/esm2022/components/modal/lib/components/index.mjs +0 -5
- package/esm2022/components/modal/lib/components/modal-footer/modal-footer.component.mjs +0 -24
- package/esm2022/components/modal/lib/components/modal-header/modal-header.component.mjs +0 -42
- package/esm2022/components/modal/lib/components/modal-hero/modal-hero.component.mjs +0 -55
- package/esm2022/components/modal/lib/directives/index.mjs +0 -6
- package/esm2022/components/modal/lib/directives/modal-close.directive.mjs +0 -58
- package/esm2022/components/modal/lib/directives/modal-content.directive.mjs +0 -27
- package/esm2022/components/modal/lib/directives/modal-dismiss.directive.mjs +0 -41
- package/esm2022/components/modal/lib/directives/prevent-form-method-dialog.directive.mjs +0 -23
- package/esm2022/components/modal/lib/directives/prevent-method-dialog.directive.mjs +0 -23
- package/esm2022/components/modal/lib/helpers/index.mjs +0 -3
- package/esm2022/components/modal/lib/helpers/inject-modal-ref.mjs +0 -27
- package/esm2022/components/modal/lib/helpers/provide-modal-ref.mjs +0 -14
- package/esm2022/components/modal/lib/modal.component.mjs +0 -98
- package/esm2022/components/modal/lib/modal.config.mjs +0 -44
- package/esm2022/components/modal/lib/modal.directive.mjs +0 -75
- package/esm2022/components/modal/lib/modal.module.mjs +0 -55
- package/esm2022/components/modal/lib/modal.service.mjs +0 -123
- package/esm2022/components/modal/lib/models/basic-modal-options.mjs +0 -2
- package/esm2022/components/modal/lib/models/index.mjs +0 -8
- package/esm2022/components/modal/lib/models/modal-hero-variant.mjs +0 -7
- package/esm2022/components/modal/lib/models/modal-options.mjs +0 -2
- package/esm2022/components/modal/lib/models/modal-ref.mjs +0 -99
- package/esm2022/components/modal/lib/models/modal-size.mjs +0 -7
- package/esm2022/components/modal/lib/models/modal-type.mjs +0 -2
- package/esm2022/components/modal/lib/models/modal-variant.mjs +0 -5
- package/esm2022/components/modal/odx-angular-components-modal.mjs +0 -5
- package/esm2022/components/navigation-back/index.mjs +0 -2
- package/esm2022/components/navigation-back/lib/navigation-back.component.mjs +0 -25
- package/esm2022/components/navigation-back/odx-angular-components-navigation-back.mjs +0 -5
- package/esm2022/components/notification/index.mjs +0 -8
- package/esm2022/components/notification/lib/components/index.mjs +0 -3
- package/esm2022/components/notification/lib/components/notification-center/notification-center.component.mjs +0 -61
- package/esm2022/components/notification/lib/components/notification-item/notification-item.component.mjs +0 -66
- package/esm2022/components/notification/lib/directives/index.mjs +0 -2
- package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +0 -159
- package/esm2022/components/notification/lib/features/index.mjs +0 -6
- package/esm2022/components/notification/lib/features/with-browser-notifications.mjs +0 -73
- package/esm2022/components/notification/lib/features/with-load-notifications.mjs +0 -45
- package/esm2022/components/notification/lib/features/with-notification-transformer.mjs +0 -34
- package/esm2022/components/notification/lib/features/with-peristent-notifications.mjs +0 -92
- package/esm2022/components/notification/lib/features/with-save-notifications.mjs +0 -44
- package/esm2022/components/notification/lib/helpers/get-notifications-by-tag.mjs +0 -8
- package/esm2022/components/notification/lib/helpers/index.mjs +0 -4
- package/esm2022/components/notification/lib/helpers/sort-notifications.mjs +0 -11
- package/esm2022/components/notification/lib/helpers/to-notification-collection.mjs +0 -10
- package/esm2022/components/notification/lib/models/index.mjs +0 -9
- package/esm2022/components/notification/lib/models/notification-action.mjs +0 -2
- package/esm2022/components/notification/lib/models/notification-collection.mjs +0 -2
- package/esm2022/components/notification/lib/models/notification-feature.mjs +0 -19
- package/esm2022/components/notification/lib/models/notification-options.mjs +0 -2
- package/esm2022/components/notification/lib/models/notification-query.mjs +0 -2
- package/esm2022/components/notification/lib/models/notification-sort-fn.mjs +0 -2
- package/esm2022/components/notification/lib/models/notification.mjs +0 -2
- package/esm2022/components/notification/lib/models/notification.ref.mjs +0 -2
- package/esm2022/components/notification/lib/notification.config.mjs +0 -55
- package/esm2022/components/notification/lib/notification.i18n.mjs +0 -11
- package/esm2022/components/notification/lib/notification.logger.mjs +0 -4
- package/esm2022/components/notification/lib/notification.service.mjs +0 -223
- package/esm2022/components/notification/lib/notification.tokens.mjs +0 -10
- package/esm2022/components/notification/lib/services/index.mjs +0 -2
- package/esm2022/components/notification/lib/services/notification-center.service.mjs +0 -105
- package/esm2022/components/notification/odx-angular-components-notification.mjs +0 -5
- package/esm2022/components/notification/testing/index.mjs +0 -2
- package/esm2022/components/notification/testing/lib/test-helpers.mjs +0 -33
- package/esm2022/components/notification/testing/odx-angular-components-notification-testing.mjs +0 -5
- package/esm2022/components/paginator/index.mjs +0 -6
- package/esm2022/components/paginator/lib/interfaces/index.mjs +0 -2
- package/esm2022/components/paginator/lib/interfaces/page-change.interface.mjs +0 -2
- package/esm2022/components/paginator/lib/models/get-range-content.model.mjs +0 -2
- package/esm2022/components/paginator/lib/models/get-summary-content.model.mjs +0 -2
- package/esm2022/components/paginator/lib/models/index.mjs +0 -3
- package/esm2022/components/paginator/lib/paginator.component.mjs +0 -277
- package/esm2022/components/paginator/lib/paginator.config.mjs +0 -48
- package/esm2022/components/paginator/lib/paginator.module.mjs +0 -17
- package/esm2022/components/paginator/odx-angular-components-paginator.mjs +0 -5
- package/esm2022/components/progress/index.mjs +0 -2
- package/esm2022/components/progress/lib/progress.component.mjs +0 -70
- package/esm2022/components/progress/odx-angular-components-progress.mjs +0 -5
- package/esm2022/components/radio-group/index.mjs +0 -4
- package/esm2022/components/radio-group/lib/components/index.mjs +0 -2
- package/esm2022/components/radio-group/lib/components/radio-button/radio-button.component.mjs +0 -59
- package/esm2022/components/radio-group/lib/radio-group.component.mjs +0 -64
- package/esm2022/components/radio-group/lib/radio-group.module.mjs +0 -19
- package/esm2022/components/radio-group/odx-angular-components-radio-group.mjs +0 -5
- package/esm2022/components/rail-navigation/index.mjs +0 -5
- package/esm2022/components/rail-navigation/lib/components/index.mjs +0 -2
- package/esm2022/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.mjs +0 -60
- package/esm2022/components/rail-navigation/lib/models/index.mjs +0 -2
- package/esm2022/components/rail-navigation/lib/models/rail-navigation-variant.mjs +0 -5
- package/esm2022/components/rail-navigation/lib/rail-navigation.component.mjs +0 -85
- package/esm2022/components/rail-navigation/lib/rail-navigation.module.mjs +0 -19
- package/esm2022/components/rail-navigation/odx-angular-components-rail-navigation.mjs +0 -5
- package/esm2022/components/rich-list/index.mjs +0 -4
- package/esm2022/components/rich-list/lib/components/index.mjs +0 -4
- package/esm2022/components/rich-list/lib/components/rich-list-content/rich-list-content.component.mjs +0 -31
- package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +0 -83
- package/esm2022/components/rich-list/lib/components/rich-list-item-header/rich-list-item-header.component.mjs +0 -27
- package/esm2022/components/rich-list/lib/rich-list.component.mjs +0 -45
- package/esm2022/components/rich-list/lib/rich-list.module.mjs +0 -20
- package/esm2022/components/rich-list/odx-angular-components-rich-list.mjs +0 -5
- package/esm2022/components/search-bar/index.mjs +0 -4
- package/esm2022/components/search-bar/lib/search-bar-control.directive.mjs +0 -21
- package/esm2022/components/search-bar/lib/search-bar.component.mjs +0 -17
- package/esm2022/components/search-bar/lib/search-bar.module.mjs +0 -19
- package/esm2022/components/search-bar/odx-angular-components-search-bar.mjs +0 -5
- package/esm2022/components/select/index.mjs +0 -7
- package/esm2022/components/select/lib/components/index.mjs +0 -2
- package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +0 -114
- package/esm2022/components/select/lib/directives/index.mjs +0 -3
- package/esm2022/components/select/lib/directives/select-all.directive.mjs +0 -33
- package/esm2022/components/select/lib/directives/select-input-control.directive.mjs +0 -61
- package/esm2022/components/select/lib/pipes/index.mjs +0 -2
- package/esm2022/components/select/lib/pipes/select-search-filter.pipe.mjs +0 -26
- package/esm2022/components/select/lib/select.component.mjs +0 -344
- package/esm2022/components/select/lib/select.module.mjs +0 -21
- package/esm2022/components/select/lib/select.tokens.mjs +0 -3
- package/esm2022/components/select/odx-angular-components-select.mjs +0 -5
- package/esm2022/components/slider/index.mjs +0 -2
- package/esm2022/components/slider/lib/slider.directive.mjs +0 -64
- package/esm2022/components/slider/odx-angular-components-slider.mjs +0 -5
- package/esm2022/components/spinbox/index.mjs +0 -2
- package/esm2022/components/spinbox/lib/spinbox.component.mjs +0 -143
- package/esm2022/components/spinbox/odx-angular-components-spinbox.mjs +0 -5
- package/esm2022/components/switch/index.mjs +0 -4
- package/esm2022/components/switch/lib/switch.component.mjs +0 -34
- package/esm2022/components/switch/lib/switch.module.mjs +0 -19
- package/esm2022/components/switch/lib/switch.validator.mjs +0 -40
- package/esm2022/components/switch/odx-angular-components-switch.mjs +0 -5
- package/esm2022/components/tab-bar/index.mjs +0 -5
- package/esm2022/components/tab-bar/lib/components/index.mjs +0 -2
- package/esm2022/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +0 -98
- package/esm2022/components/tab-bar/lib/models/index.mjs +0 -2
- package/esm2022/components/tab-bar/lib/models/tab-change-event.mjs +0 -2
- package/esm2022/components/tab-bar/lib/tab-bar.component.mjs +0 -145
- package/esm2022/components/tab-bar/lib/tab-bar.config.mjs +0 -3
- package/esm2022/components/tab-bar/lib/tab-bar.module.mjs +0 -19
- package/esm2022/components/tab-bar/odx-angular-components-tab-bar.mjs +0 -5
- package/esm2022/components/table/index.mjs +0 -6
- package/esm2022/components/table/lib/components/check-cell/check-cell.component.mjs +0 -52
- package/esm2022/components/table/lib/components/header-title/header-title.component.mjs +0 -127
- package/esm2022/components/table/lib/components/index.mjs +0 -3
- package/esm2022/components/table/lib/directives/index.mjs +0 -3
- package/esm2022/components/table/lib/directives/table-cell.directive.mjs +0 -31
- package/esm2022/components/table/lib/directives/table-row.directive.mjs +0 -32
- package/esm2022/components/table/lib/models/header-cell.mjs +0 -2
- package/esm2022/components/table/lib/models/index.mjs +0 -6
- package/esm2022/components/table/lib/models/sort-status.mjs +0 -2
- package/esm2022/components/table/lib/models/sort-variant.mjs +0 -16
- package/esm2022/components/table/lib/models/table-body-cell.mjs +0 -2
- package/esm2022/components/table/lib/models/table-variant.mjs +0 -5
- package/esm2022/components/table/lib/table.component.mjs +0 -119
- package/esm2022/components/table/lib/table.config.mjs +0 -3
- package/esm2022/components/table/lib/table.module.mjs +0 -21
- package/esm2022/components/table/odx-angular-components-table.mjs +0 -5
- package/esm2022/components/timepicker/index.mjs +0 -8
- package/esm2022/components/timepicker/lib/components/timepicker-option.component.mjs +0 -86
- package/esm2022/components/timepicker/lib/directives/timepicker-input-control.directive.mjs +0 -87
- package/esm2022/components/timepicker/lib/timepicker.component.mjs +0 -270
- package/esm2022/components/timepicker/lib/timepicker.module.mjs +0 -20
- package/esm2022/components/timepicker/lib/timepicker.service.mjs +0 -134
- package/esm2022/components/timepicker/lib/timepicker.token.mjs +0 -9
- package/esm2022/components/timepicker/lib/utils/generate-time-stamps.mjs +0 -54
- package/esm2022/components/timepicker/lib/utils/index.mjs +0 -3
- package/esm2022/components/timepicker/lib/utils/ngx-mask-helper.mjs +0 -34
- package/esm2022/components/timepicker/odx-angular-components-timepicker.mjs +0 -5
- package/esm2022/components/toast/index.mjs +0 -6
- package/esm2022/components/toast/lib/components/index.mjs +0 -3
- package/esm2022/components/toast/lib/components/toast-container/toast-container.component.mjs +0 -111
- package/esm2022/components/toast/lib/components/toast-item/toast-item.component.mjs +0 -99
- package/esm2022/components/toast/lib/models/index.mjs +0 -6
- package/esm2022/components/toast/lib/models/toast-action.mjs +0 -2
- package/esm2022/components/toast/lib/models/toast-ref.mjs +0 -2
- package/esm2022/components/toast/lib/models/toast-variant.mjs +0 -9
- package/esm2022/components/toast/lib/models/toast.mjs +0 -2
- package/esm2022/components/toast/lib/models/toast.options.mjs +0 -2
- package/esm2022/components/toast/lib/toast.config.mjs +0 -32
- package/esm2022/components/toast/lib/toast.module.mjs +0 -18
- package/esm2022/components/toast/lib/toast.service.mjs +0 -115
- package/esm2022/components/toast/odx-angular-components-toast.mjs +0 -5
- package/esm2022/components/toggle-button-group/index.mjs +0 -4
- package/esm2022/components/toggle-button-group/lib/components/index.mjs +0 -2
- package/esm2022/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +0 -46
- package/esm2022/components/toggle-button-group/lib/toggle-button-group.component.mjs +0 -74
- package/esm2022/components/toggle-button-group/lib/toggle-button-group.module.mjs +0 -19
- package/esm2022/components/toggle-button-group/odx-angular-components-toggle-button-group.mjs +0 -5
- package/esm2022/components/tooltip/index.mjs +0 -8
- package/esm2022/components/tooltip/lib/directives/index.mjs +0 -3
- package/esm2022/components/tooltip/lib/directives/tooltip-disabled-focusable.directive.mjs +0 -47
- package/esm2022/components/tooltip/lib/helpers/index.mjs +0 -2
- package/esm2022/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.mjs +0 -16
- package/esm2022/components/tooltip/lib/models/index.mjs +0 -4
- package/esm2022/components/tooltip/lib/models/tooltip-options.mjs +0 -10
- package/esm2022/components/tooltip/lib/models/tooltip-size.mjs +0 -7
- package/esm2022/components/tooltip/lib/models/tooltip-trigger.mjs +0 -2
- package/esm2022/components/tooltip/lib/tooltip.component.mjs +0 -62
- package/esm2022/components/tooltip/lib/tooltip.config.mjs +0 -32
- package/esm2022/components/tooltip/lib/tooltip.directive.mjs +0 -189
- package/esm2022/components/tooltip/odx-angular-components-tooltip.mjs +0 -5
- package/esm2022/components/wizard/index.mjs +0 -4
- package/esm2022/components/wizard/lib/components/index.mjs +0 -2
- package/esm2022/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +0 -124
- package/esm2022/components/wizard/lib/wizard.component.mjs +0 -224
- package/esm2022/components/wizard/lib/wizard.module.mjs +0 -19
- package/esm2022/components/wizard/odx-angular-components-wizard.mjs +0 -5
- package/esm2022/index.mjs +0 -7
- package/esm2022/internal/index.mjs +0 -4
- package/esm2022/internal/lib/decorators/css-component.mjs +0 -19
- package/esm2022/internal/lib/decorators/css-modifier.mjs +0 -49
- package/esm2022/internal/lib/decorators/index.mjs +0 -3
- package/esm2022/internal/lib/helpers/camel-to-kebab-case.mjs +0 -12
- package/esm2022/internal/lib/helpers/decorator-property-name.mjs +0 -12
- package/esm2022/internal/lib/helpers/deepmerge.mjs +0 -6
- package/esm2022/internal/lib/helpers/fast-equals.mjs +0 -3
- package/esm2022/internal/lib/helpers/get-css-variables.mjs +0 -22
- package/esm2022/internal/lib/helpers/get-enum-values.mjs +0 -6
- package/esm2022/internal/lib/helpers/index.mjs +0 -8
- package/esm2022/internal/lib/helpers/toggle-form-disabled-state.mjs +0 -6
- package/esm2022/internal/lib/logger.mjs +0 -42
- package/esm2022/internal/odx-angular-internal.mjs +0 -5
- package/esm2022/internal/translate/index.mjs +0 -5
- package/esm2022/internal/translate/lib/models/index.mjs +0 -2
- package/esm2022/internal/translate/lib/models/translation-object.mjs +0 -2
- package/esm2022/internal/translate/lib/pipes/index.mjs +0 -2
- package/esm2022/internal/translate/lib/pipes/translate.pipe.mjs +0 -22
- package/esm2022/internal/translate/lib/translate.config.mjs +0 -39
- package/esm2022/internal/translate/lib/translate.service.mjs +0 -56
- package/esm2022/internal/translate/odx-angular-internal-translate.mjs +0 -5
- package/esm2022/lib/controllers/controller.mjs +0 -64
- package/esm2022/lib/controllers/disabled.controller.mjs +0 -134
- package/esm2022/lib/controllers/index.mjs +0 -4
- package/esm2022/lib/controllers/readonly.controller.mjs +0 -135
- package/esm2022/lib/core.module.mjs +0 -19
- package/esm2022/lib/directives/click-outside.directive.mjs +0 -102
- package/esm2022/lib/directives/delegate-focus.directive.mjs +0 -54
- package/esm2022/lib/directives/index.mjs +0 -5
- package/esm2022/lib/directives/with-disabled-state.directive.mjs +0 -41
- package/esm2022/lib/directives/with-tabindex.directive.mjs +0 -24
- package/esm2022/lib/models/environment.mjs +0 -6
- package/esm2022/lib/models/index.mjs +0 -2
- package/esm2022/lib/services/index.mjs +0 -2
- package/esm2022/lib/services/window-ref.mjs +0 -157
- package/esm2022/lib/tokens/identity-matcher.mjs +0 -31
- package/esm2022/lib/tokens/index.mjs +0 -4
- package/esm2022/lib/tokens/string-search-handler.mjs +0 -33
- package/esm2022/lib/tokens/stringify.mjs +0 -33
- package/esm2022/localization/index.mjs +0 -6
- package/esm2022/localization/lib/features/index.mjs +0 -3
- package/esm2022/localization/lib/features/with-http-language-header.mjs +0 -76
- package/esm2022/localization/lib/features/with-http-language-query-param.mjs +0 -74
- package/esm2022/localization/lib/loaders/browser-language-loader.mjs +0 -38
- package/esm2022/localization/lib/loaders/index.mjs +0 -2
- package/esm2022/localization/lib/localization.config.mjs +0 -90
- package/esm2022/localization/lib/localization.logger.mjs +0 -3
- package/esm2022/localization/lib/localization.service.mjs +0 -101
- package/esm2022/localization/lib/models/index.mjs +0 -3
- package/esm2022/localization/lib/models/language-loader-fn.mjs +0 -2
- package/esm2022/localization/lib/models/localization-feature.mjs +0 -11
- package/esm2022/localization/odx-angular-localization.mjs +0 -5
- package/esm2022/odx-angular.mjs +0 -5
- package/esm2022/rxjs/index.mjs +0 -6
- package/esm2022/rxjs/lib/delay-until.mjs +0 -27
- package/esm2022/rxjs/lib/from-element-mutation.mjs +0 -31
- package/esm2022/rxjs/lib/from-element-resize.mjs +0 -38
- package/esm2022/rxjs/lib/from-events.mjs +0 -29
- package/esm2022/rxjs/lib/from-query-list.mjs +0 -24
- package/esm2022/rxjs/odx-angular-rxjs.mjs +0 -5
- package/esm2022/sdk/index.mjs +0 -2
- package/esm2022/sdk/lib/application-environment.mjs +0 -85
- package/esm2022/sdk/odx-angular-sdk.mjs +0 -5
- package/esm2022/theming/index.mjs +0 -5
- package/esm2022/theming/lib/helpers/index.mjs +0 -4
- package/esm2022/theming/lib/helpers/prefers-dark-theme.mjs +0 -22
- package/esm2022/theming/lib/helpers/resolve-theme.mjs +0 -30
- package/esm2022/theming/lib/helpers/theme-storage.mjs +0 -61
- package/esm2022/theming/lib/models/index.mjs +0 -2
- package/esm2022/theming/lib/models/theme.mjs +0 -6
- package/esm2022/theming/lib/theming.config.mjs +0 -54
- package/esm2022/theming/lib/theming.service.mjs +0 -90
- package/esm2022/theming/odx-angular-theming.mjs +0 -5
- package/esm2022/utils/index.mjs +0 -4
- package/esm2022/utils/lib/decorators/index.mjs +0 -2
- package/esm2022/utils/lib/decorators/pure.mjs +0 -88
- package/esm2022/utils/lib/helpers/angular.mjs +0 -74
- package/esm2022/utils/lib/helpers/animations-handler.mjs +0 -20
- package/esm2022/utils/lib/helpers/array.mjs +0 -51
- package/esm2022/utils/lib/helpers/build-url.mjs +0 -24
- package/esm2022/utils/lib/helpers/build-website-url.mjs +0 -30
- package/esm2022/utils/lib/helpers/cache-storage-client.mjs +0 -104
- package/esm2022/utils/lib/helpers/coercion.mjs +0 -23
- package/esm2022/utils/lib/helpers/debounce.mjs +0 -48
- package/esm2022/utils/lib/helpers/defer-fn.mjs +0 -24
- package/esm2022/utils/lib/helpers/dom.mjs +0 -135
- package/esm2022/utils/lib/helpers/event-manager.mjs +0 -49
- package/esm2022/utils/lib/helpers/get-axis.mjs +0 -34
- package/esm2022/utils/lib/helpers/get-language-code.mjs +0 -22
- package/esm2022/utils/lib/helpers/get-opposite-side.mjs +0 -36
- package/esm2022/utils/lib/helpers/get-side.mjs +0 -21
- package/esm2022/utils/lib/helpers/get-unique-id.mjs +0 -42
- package/esm2022/utils/lib/helpers/index.mjs +0 -24
- package/esm2022/utils/lib/helpers/match-url.mjs +0 -48
- package/esm2022/utils/lib/helpers/ng-changes.mjs +0 -43
- package/esm2022/utils/lib/helpers/provide-config.mjs +0 -93
- package/esm2022/utils/lib/helpers/queue.mjs +0 -185
- package/esm2022/utils/lib/helpers/sorter.mjs +0 -91
- package/esm2022/utils/lib/helpers/type-guards.mjs +0 -86
- package/esm2022/utils/lib/helpers/until-destroyed.mjs +0 -45
- package/esm2022/utils/lib/types/axis.mjs +0 -5
- package/esm2022/utils/lib/types/get-properties.mjs +0 -2
- package/esm2022/utils/lib/types/index.mjs +0 -5
- package/esm2022/utils/lib/types/position.mjs +0 -15
- package/esm2022/utils/lib/types/side.mjs +0 -7
- package/esm2022/utils/odx-angular-utils.mjs +0 -5
- package/internal/lib/decorators/css-component.d.ts +0 -8
- package/internal/lib/decorators/css-modifier.d.ts +0 -9
- package/internal/lib/decorators/index.d.ts +0 -2
- package/internal/lib/helpers/camel-to-kebab-case.d.ts +0 -2
- package/internal/lib/helpers/decorator-property-name.d.ts +0 -9
- package/internal/lib/helpers/deepmerge.d.ts +0 -11
- package/internal/lib/helpers/fast-equals.d.ts +0 -1
- package/internal/lib/helpers/get-css-variables.d.ts +0 -7
- package/internal/lib/helpers/get-enum-values.d.ts +0 -4
- package/internal/lib/helpers/index.d.ts +0 -7
- package/internal/lib/helpers/toggle-form-disabled-state.d.ts +0 -3
- package/internal/lib/logger.d.ts +0 -15
- package/internal/translate/lib/models/index.d.ts +0 -1
- package/internal/translate/lib/models/translation-object.d.ts +0 -1
- package/internal/translate/lib/pipes/index.d.ts +0 -1
- package/internal/translate/lib/pipes/translate.pipe.d.ts +0 -9
- package/internal/translate/lib/translate.config.d.ts +0 -37
- package/internal/translate/lib/translate.service.d.ts +0 -38
- package/lib/controllers/controller.d.ts +0 -39
- package/lib/controllers/disabled.controller.d.ts +0 -85
- package/lib/controllers/index.d.ts +0 -3
- package/lib/controllers/readonly.controller.d.ts +0 -78
- package/lib/core.module.d.ts +0 -10
- package/lib/directives/click-outside.directive.d.ts +0 -50
- package/lib/directives/delegate-focus.directive.d.ts +0 -25
- package/lib/directives/index.d.ts +0 -4
- package/lib/directives/with-disabled-state.directive.d.ts +0 -13
- package/lib/directives/with-tabindex.directive.d.ts +0 -10
- package/lib/models/environment.d.ts +0 -6
- package/lib/models/index.d.ts +0 -1
- package/lib/services/index.d.ts +0 -1
- package/lib/services/window-ref.d.ts +0 -105
- package/lib/tokens/identity-matcher.d.ts +0 -44
- package/lib/tokens/index.d.ts +0 -3
- package/lib/tokens/string-search-handler.d.ts +0 -42
- package/lib/tokens/stringify.d.ts +0 -45
- package/localization/lib/features/index.d.ts +0 -2
- package/localization/lib/features/with-http-language-header.d.ts +0 -72
- package/localization/lib/features/with-http-language-query-param.d.ts +0 -70
- package/localization/lib/loaders/browser-language-loader.d.ts +0 -34
- package/localization/lib/loaders/index.d.ts +0 -1
- package/localization/lib/localization.config.d.ts +0 -90
- package/localization/lib/localization.logger.d.ts +0 -3
- package/localization/lib/localization.service.d.ts +0 -56
- package/localization/lib/models/index.d.ts +0 -2
- package/localization/lib/models/language-loader-fn.d.ts +0 -2
- package/localization/lib/models/localization-feature.d.ts +0 -12
- package/rxjs/lib/delay-until.d.ts +0 -24
- package/rxjs/lib/from-element-mutation.d.ts +0 -23
- package/rxjs/lib/from-element-resize.d.ts +0 -26
- package/rxjs/lib/from-events.d.ts +0 -27
- package/rxjs/lib/from-query-list.d.ts +0 -22
- package/sdk/lib/application-environment.d.ts +0 -68
- package/theming/lib/helpers/index.d.ts +0 -3
- package/theming/lib/helpers/prefers-dark-theme.d.ts +0 -19
- package/theming/lib/helpers/resolve-theme.d.ts +0 -27
- package/theming/lib/helpers/theme-storage.d.ts +0 -46
- package/theming/lib/models/index.d.ts +0 -1
- package/theming/lib/models/theme.d.ts +0 -6
- package/theming/lib/theming.config.d.ts +0 -56
- package/theming/lib/theming.service.d.ts +0 -52
- package/utils/lib/decorators/index.d.ts +0 -1
- package/utils/lib/decorators/pure.d.ts +0 -52
- package/utils/lib/helpers/angular.d.ts +0 -47
- package/utils/lib/helpers/animations-handler.d.ts +0 -14
- package/utils/lib/helpers/array.d.ts +0 -30
- package/utils/lib/helpers/build-url.d.ts +0 -21
- package/utils/lib/helpers/build-website-url.d.ts +0 -26
- package/utils/lib/helpers/cache-storage-client.d.ts +0 -65
- package/utils/lib/helpers/coercion.d.ts +0 -19
- package/utils/lib/helpers/debounce.d.ts +0 -28
- package/utils/lib/helpers/defer-fn.d.ts +0 -21
- package/utils/lib/helpers/dom.d.ts +0 -82
- package/utils/lib/helpers/event-manager.d.ts +0 -14
- package/utils/lib/helpers/get-axis.d.ts +0 -22
- package/utils/lib/helpers/get-language-code.d.ts +0 -18
- package/utils/lib/helpers/get-opposite-side.d.ts +0 -23
- package/utils/lib/helpers/get-side.d.ts +0 -19
- package/utils/lib/helpers/get-unique-id.d.ts +0 -35
- package/utils/lib/helpers/index.d.ts +0 -23
- package/utils/lib/helpers/match-url.d.ts +0 -42
- package/utils/lib/helpers/ng-changes.d.ts +0 -62
- package/utils/lib/helpers/provide-config.d.ts +0 -69
- package/utils/lib/helpers/queue.d.ts +0 -123
- package/utils/lib/helpers/sorter.d.ts +0 -51
- package/utils/lib/helpers/type-guards.d.ts +0 -67
- package/utils/lib/helpers/until-destroyed.d.ts +0 -40
- package/utils/lib/types/axis.d.ts +0 -5
- package/utils/lib/types/get-properties.d.ts +0 -5
- package/utils/lib/types/index.d.ts +0 -4
- package/utils/lib/types/position.d.ts +0 -15
- package/utils/lib/types/side.d.ts +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-timepicker.mjs","sources":["../../../../libs/angular/components/timepicker/src/lib/timepicker.token.ts","../../../../libs/angular/components/timepicker/src/lib/components/timepicker-option.component.ts","../../../../libs/angular/components/timepicker/src/lib/timepicker.service.ts","../../../../libs/angular/components/timepicker/src/lib/directives/timepicker-input-control.directive.ts","../../../../libs/angular/components/timepicker/src/lib/utils/generate-time-stamps.ts","../../../../libs/angular/components/timepicker/src/lib/timepicker.component.ts","../../../../libs/angular/components/timepicker/src/lib/timepicker.component.html","../../../../libs/angular/components/timepicker/src/lib/timepicker.module.ts","../../../../libs/angular/components/timepicker/src/lib/utils/ngx-mask-helper.ts","../../../../libs/angular/components/timepicker/src/odx-angular-components-timepicker.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { TimepickerComponent } from './timepicker.component';\n\n/**\n * An InjectionToken used for injecting an instance of TimepickerComponent.\n * This token facilitates the decoupling of the TimepickerComponent's implementation from its consumption,\n * allowing for more flexible and maintainable code, especially in scenarios requiring custom time picker\n * behavior or appearance.\n */\nexport const TIMEPICKER_CONTROL = new InjectionToken<TimepickerComponent>('@odx/angular/components/timepicker::TimepickerComponent');\n","import { ChangeDetectionStrategy, Component, EventEmitter, OnInit, Output, ViewEncapsulation, inject } from '@angular/core';\nimport { DisabledController, WithDisabledState, detectControllerChanges } from '@odx/angular';\nimport { OptionControl } from '@odx/angular/cdk/option-control';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { TIMEPICKER_CONTROL } from '../timepicker.token';\n\n/**\n * Represents a selectable option within a timepicker component. This component allows for\n * individual time values to be selected from a dropdown menu as part of the timepicker interface.\n * It integrates with the timepicker's control to manage selection state and accessibility.\n *\n * @extends {OptionControl<string>}\n */\n@CSSComponent('timepicker-option')\n@Component({\n selector: 'odx-timepicker-option',\n template: `<ng-content />`,\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DisabledController.connect()],\n hostDirectives: [WithDisabledState],\n})\nexport class TimepickerOptionComponent extends OptionControl<string> implements OnInit {\n private readonly timepicker = inject(TIMEPICKER_CONTROL);\n protected readonly disabledController = DisabledController.inject();\n\n /**\n * Indicates whether this time option is currently selected.\n * @type {boolean}\n * @default false\n */\n public isSelected = false;\n /**\n * Indicates whether this time option is currently active (e.g., highlighted by keyboard navigation).\n * This is an override from the base `OptionControl`.\n * @type {boolean}\n * @default false\n */\n public override isActive = false;\n\n /**\n * Whether the option is disabled. This is used to determine whether the option should be selectable.\n *\n * @type {boolean}\n */\n public get disabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n /**\n * Emits an event when the option is selected, allowing the timepicker component to update its value\n * and close the dropdown.\n *\n * @emits {TimepickerOptionComponent}\n */\n @Output()\n public selected = new EventEmitter<TimepickerOptionComponent>();\n\n constructor() {\n super();\n detectControllerChanges(this.timepicker).pipe(this.takeUntilDestroyed()).subscribe();\n }\n\n public ngOnInit(): void {\n this.isSelected = this.timepicker.isTimeOptionSelected(this);\n }\n\n /**\n * Sets the active styles for the option, typically indicating that it is\n * focused or highlighted via keyboard navigation.\n */\n public setActiveStyles(): void {\n this.isActive = true;\n }\n\n protected selectOption(): void {\n this.selected.emit(this);\n }\n}\n","import { Injectable, inject, signal } from '@angular/core';\nimport { WindowRef } from '@odx/angular';\nimport { isAfter, isBefore, isEqual } from 'date-fns';\n\n/**\n * Service to provide utility functions for timepicker components, including validation, placeholder generation, and finding the closest time.\n * It also handles locale-based time formatting.\n */\n@Injectable({ providedIn: 'root' })\nexport class TimepickerService {\n private readonly windowRef = inject(WindowRef);\n\n public useLocale = signal(false);\n\n /**\n * @deprecated Will be removed in a future major version. Use `useLocale` signal instead.\n * Generates a placeholder string for time input fields, preserving legacy API.\n */\n public getPlaceholder(apm = this.useLocale()): string {\n return apm ? '--:-- --' : '--:--';\n }\n\n /**\n * Validates if the given time is less than or equal to a maximum time constraint.\n *\n * @param {string} time - The time to validate.\n * @param {string} max - The maximum allowable time.\n * @returns {boolean} True if the time is valid (i.e., not after max), false otherwise.\n */\n public maxValidation(time: string, max: string): boolean {\n const [targetValue, maxValue] = this.convertToDates([time, max]);\n return isBefore(targetValue, maxValue) || isEqual(targetValue, maxValue);\n }\n\n /**\n * Checks if the provided value is a valid time string in HH:mm or HH:mm AM/PM format.\n * This method also acts as a type guard.\n *\n * @param {unknown} time - The value to validate.\n * @returns {time is string} True if the value is a valid time string, false otherwise.\n */\n public isValidTime(time: unknown): time is string {\n if (typeof time !== 'string') return false;\n const trimmedTime = time.trim();\n if (!trimmedTime) return false;\n return Boolean(this.parseTimeString(trimmedTime.toUpperCase()));\n }\n\n public is12HourFormat(value: string): boolean {\n return this.isValidTime(value) && !!this.parseTimeString(value.toUpperCase())?.hour12;\n }\n\n /**\n * Validates if the given time is greater than or equal to a minimum time constraint.\n *\n * @param {string} time - The time to validate.\n * @param {string} min - The minimum allowable time.\n * @returns {boolean} True if the time is valid (i.e., not before min), false otherwise.\n */\n public minValidation(time: string, min: string): boolean {\n const [targetValue, minValue] = this.convertToDates([time, min]);\n return isAfter(targetValue, minValue) || isEqual(targetValue, minValue);\n }\n\n /**\n * Finds the closest time to a target time from a list of times.\n *\n * @param {string[]} timeStamps - The list of time strings to search through (e.g., [\"10:00\", \"10:30\", \"11:00\"]).\n * @param {string} targetTime - The target time string to find the closest match for (e.g., \"10:35\").\n * @returns {string} The closest time string from the list to the target, formatted according to locale.\n */\n public findClosestDate(timeStamps: string[], targetTime: string): string {\n const [target] = this.convertToDates([targetTime]);\n const datesArray = this.convertToDates(timeStamps);\n\n if (datesArray.length === 0) return this.getLocalizedTimeFormat(targetTime);\n\n const closestDate = datesArray.reduce((prev, curr) => {\n const prevDiff = Math.abs(prev.getTime() - target.getTime());\n const currDiff = Math.abs(curr.getTime() - target.getTime());\n return currDiff < prevDiff ? curr : prev;\n });\n\n const hours = closestDate.getHours().toString().padStart(2, '0');\n const minutes = closestDate.getMinutes().toString().padStart(2, '0');\n return this.getLocalizedTimeFormat(`${hours}:${minutes}`);\n }\n\n /**\n * Formats a time string to a localized time format using Intl.DateTimeFormat.\n *\n * @param {unknown} time - The time string to format (e.g., \"14:30\").\n * @param {boolean} [hour12=false] - Specifies if the output should use 12-hour format with AM/PM notation.\n * @returns {string} The formatted time string, or an empty string if the input time is invalid.\n */\n public getLocalizedTimeFormat(time: unknown, hour12?: boolean): string {\n if (!this.isValidTime(time)) return '';\n const shouldUseHour12 = typeof hour12 === 'boolean' ? hour12 : this.useLocale();\n const locale = shouldUseHour12 ? 'en-US' : 'en-GB';\n const [date] = this.convertToDates([time]);\n return new this.windowRef.nativeWindow.Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n minute: '2-digit',\n hour12: shouldUseHour12,\n }).format(date);\n }\n\n private convertToDates(times: string[]): Date[] {\n return times.map((time) => {\n if (typeof time !== 'string') return new Date(NaN);\n const parsed = this.parseTimeString(time.toUpperCase());\n if (!parsed) return new Date(NaN);\n const { hours, minutes } = parsed;\n return new Date(2022, 11, 19, hours, minutes, 0, 0);\n });\n }\n\n private parseTimeString(time: string): { hours: number; minutes: number; hour12: boolean } | null {\n const match = time.trim().match(/^([01]?\\d|2[0-3]):([0-5]\\d)(?:\\s?(AM|PM))?$/);\n if (!match) return null;\n\n let hours = Number(match[1]);\n const minutes = Number(match[2]);\n const period = match[3]?.toUpperCase();\n\n if (period) {\n if (period === 'PM' && hours < 12) hours += 12;\n if (period === 'AM' && hours === 12) hours = 0;\n }\n\n return { hours, minutes, hour12: Boolean(period) };\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { WithDisabledState, WithTabIndex } from '@odx/angular';\nimport { InputControlDirective } from '@odx/angular/cdk/custom-form-control';\nimport { initNgxMask, ngxMaskProviderConfig } from '@odx/angular/cdk/date-input';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { isString } from '@odx/angular/utils';\nimport { NgxMaskDirective, provideNgxMask } from 'ngx-mask';\nimport { TimepickerService } from '../timepicker.service';\nimport { TIMEPICKER_CONTROL } from '../timepicker.token';\n\n/**\n * Directive to enhance a standard input element for time picking, integrating mask functionality for time format.\n * It automatically adapts to locale settings provided by the enclosing `TimepickerComponent` to display time in the appropriate format.\n *\n * @extends {InputControlDirective}\n */\n@CSSComponent('timepicker__control')\n@Directive({\n standalone: true,\n selector: 'input[odxTimepickerControl]',\n host: {\n '[attr.readonly]': 'isReadonly || null',\n '[attr.placeholder]': 'placeholder',\n },\n providers: [provideNgxMask(ngxMaskProviderConfig)],\n hostDirectives: [WithTabIndex, WithDisabledState, NgxMaskDirective],\n})\nexport class TimepickerInputControlDirective extends InputControlDirective {\n private readonly timepicker = inject(TIMEPICKER_CONTROL);\n private readonly timepickerService = inject(TimepickerService);\n public readonly ngxMaskDirective = inject(NgxMaskDirective, { self: true, optional: true });\n\n /**\n * Returns the placeholder text for the input based on locale settings.\n *\n * @returns {string} The placeholder text for the input.\n */\n public get placeholder(): string {\n return this.timepickerService.useLocale() ? '--:-- --' : '--:--';\n }\n\n /**\n * Determines whether the timepicker input is readonly, based on the state of the parent timepicker component.\n *\n * @returns {boolean} `true` if the input should be readonly; otherwise, `false`.\n */\n protected get isReadonly(): boolean {\n return this.timepicker.isReadonly;\n }\n\n /**\n * Applies the time format mask to the input value, transforming and returning the masked value.\n *\n * @param {Event} event - The input event triggering the mask application.\n * @returns {string} The masked input value.\n */\n public applyMask(useLocale: boolean): void {\n if (!this.ngxMaskDirective) return;\n const mask = useLocale ? 'Hh:m0 AM' : 'Hh:m0';\n useLocale !== this.ngxMaskDirective._maskService.apm && (this.ngxMaskDirective._maskService.apm = useLocale);\n if (Object.hasOwn(this.ngxMaskDirective, '_maskValue') && this.ngxMaskDirective['_maskValue'] !== mask) {\n initNgxMask(this.ngxMaskDirective, mask);\n }\n }\n\n /**\n * Updates the input value through ngx-mask directive.\n *\n * @param {string | null} value - The new value to set in the input.\n */\n public setMaskedValue(value: string | null): void {\n const normalized = isString(value) ? value : '';\n this.ngxMaskDirective?.writeValue(normalized);\n }\n}\n","/**\n * Generates an array of time stamps within a 24-hour period based on the specified step interval.\n * The time stamps can be formatted in 24-hour format or 12-hour format with AM/PM based on locale preference.\n *\n * @param {number} step - The interval, in minutes, between each time stamp.\n * @param {boolean} useLocale - Determines if the time stamps should use the 12-hour format with AM/PM (`true`) or the 24-hour format (`false`).\n * @returns {string[]} An array of formatted time stamps as strings.\n * @example\n * ```ts\n * // Generate time stamps every 30 minutes using 24-hour format\n * generateTimeStamps(30, false);\n * // Returns [\"00:00\", \"00:30\", \"01:00\", ..., \"23:30\"]\n *\n * // Generate time stamps every 60 minutes using 12-hour format with AM/PM\n * generateTimeStamps(60, true);\n * // Returns [\"12:00 AM\", \"01:00 AM\", ..., \"11:00 PM\"]\n * ```\n */\nexport function generateTimeStamps(step: number, useLocale: boolean): string[] {\n const roundedStep = Math.round(step);\n\n return Array.from({ length: Math.ceil(24 * (60 / roundedStep)) }, (_, i) => {\n const hours = Math.floor((i * roundedStep) / 60);\n const minutes = (i * roundedStep) % 60;\n return formatTime(hours, minutes, useLocale);\n });\n}\n\n/**\n * Formats a given time as a string based on the specified hour, minute, and locale preference.\n * Can format time in either 24-hour format or 12-hour format with AM/PM.\n *\n * @param {number} hours - The hour component of the time.\n * @param {number} minutes - The minute component of the time.\n * @param {boolean} useLocale - Determines if the time should be formatted using the 12-hour format with AM/PM (`true`) or the 24-hour format (`false`).\n * @returns {string} The formatted time as a string.\n * @example\n * ```ts\n * // Format time using 24-hour format\n * formatTime(14, 30, false); // \"14:30\"\n *\n * // Format time using 12-hour format with AM/PM\n * formatTime(14, 30, true); // \"2:30 PM\"\n * ```\n */\nfunction formatTime(hours: number, minutes: number, useLocale: boolean): string {\n if (useLocale) {\n const period = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 === 0 ? 12 : hours % 12;\n return `${displayHours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')} ${period}`;\n } else {\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`;\n }\n}\n","import { A11yModule, ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n HostListener,\n Input,\n QueryList,\n ViewChild,\n ViewChildren,\n ViewEncapsulation,\n booleanAttribute,\n forwardRef,\n inject,\n input,\n numberAttribute,\n} from '@angular/core';\nimport { DisabledController, ReadonlyController } from '@odx/angular';\nimport { CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { OptionControl } from '@odx/angular/cdk/option-control';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { DropdownDirective, DropdownModule } from '@odx/angular/components/dropdown';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, isFunction, untilDestroyed } from '@odx/angular/utils';\nimport { TimepickerOptionComponent } from './components/timepicker-option.component';\nimport { TimepickerInputControlDirective } from './directives/timepicker-input-control.directive';\nimport { TimepickerService } from './timepicker.service';\nimport { TIMEPICKER_CONTROL } from './timepicker.token';\nimport { generateTimeStamps } from './utils/generate-time-stamps';\n\n/**\n * Represents a time picker component allowing users to select a time from a dropdown list.\n * This component integrates with Angular forms and supports customization for locale, time range, and step intervals.\n *\n * @see {CustomFormControl}\n */\n@CSSComponent('timepicker')\n@Component({\n standalone: true,\n selector: 'odx-timepicker',\n templateUrl: 'timepicker.component.html',\n providers: [\n DisabledController.connect(),\n ReadonlyController.connect(),\n {\n provide: TIMEPICKER_CONTROL,\n useExisting: forwardRef(() => TimepickerComponent),\n },\n TimepickerService,\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [A11yModule, ActionGroupComponent, ButtonComponent, DropdownModule, TimepickerOptionComponent, IconComponent, TimepickerInputControlDirective],\n host: {\n '[attr.readonly]': 'readonlyController?.readonly || null',\n },\n})\nexport class TimepickerComponent extends CustomFormControl<string | null> implements AfterViewInit {\n private readonly timepickerService = inject(TimepickerService);\n private _useLocale = false;\n protected keyManager?: ActiveDescendantKeyManager<OptionControl<string>>;\n\n protected readonly takeUntilDestroyed = untilDestroyed();\n\n @ViewChild(DropdownDirective)\n protected readonly dropdown?: DropdownDirective;\n\n @ViewChildren(TimepickerOptionComponent, { emitDistinctChangesOnly: true })\n protected options!: QueryList<TimepickerOptionComponent>;\n\n public readonly element = injectElement();\n\n /**\n * Controls whether the timepicker should use locale-specific time formats AM/PM.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ transform: booleanAttribute })\n public set useLocale(val: boolean) {\n this.timepickerService.useLocale.set(val);\n this.dateField?.applyMask(val);\n if (this.value && this.dateField) {\n const time = this.timepickerService.getLocalizedTimeFormat(this.value);\n this.updateValue(time);\n this.dateField.setMaskedValue(time);\n }\n this._useLocale = val;\n }\n\n /**\n * Gets a boolean value indicating whether the locale is being used.\n *\n * @returns {boolean} A boolean value indicating whether the locale is being used.\n */\n public get useLocale(): boolean {\n return this._useLocale;\n }\n\n /**\n * When set to true, the select will display a reset button.\n *\n * @type {boolean}\n * @default false\n */\n public clearable = input(false, { transform: booleanAttribute });\n\n /**\n * Controls the step interval between time options in minutes.\n *\n * @type {number}\n * @default 30\n */\n @Input({ transform: numberAttribute })\n public step = 30;\n\n /**\n * Specifies the minimum time value that can be selected ('05:00' or '05:00 AM').\n *\n * @type {string}\n * @default '00:00'\n */\n @Input()\n public min = '00:00';\n\n /**\n * Specifies the maximum time value that can be selected ('22:00' or '10:00 PM').\n *\n * @type {string}\n * @default '23:59'\n */\n @Input()\n public max = '23:59';\n\n /**\n * The directive for the timepicker input control.\n *\n * @type {TimepickerInputControlDirective | undefined}\n */\n @ViewChild(TimepickerInputControlDirective)\n public dateField?: TimepickerInputControlDirective;\n\n constructor() {\n super(null);\n }\n\n public ngAfterViewInit(): void {\n this.handleDateFieldChanges();\n this.updateInputValue();\n }\n\n /**\n * Checks if the given time option is selected.\n *\n * @param {TimepickerOptionComponent} option - The time option to check.\n * @returns {boolean} True if the option is selected, false otherwise.\n */\n public isTimeOptionSelected(option: TimepickerOptionComponent): boolean {\n return this.value === option.value;\n }\n\n /**\n * Handles the selection of a time option from the dropdown, updating the input field and closing the dropdown.\n *\n * @param {TimepickerOptionComponent | undefined} option - The selected time option component.\n */\n public timeSelected(option?: TimepickerOptionComponent): void {\n this.setOption(option);\n this.dropdown?.isOpen && this.dropdown?.close();\n }\n\n /**\n * Determines whether the specified time is within the allowed time range.\n *\n * @param {string} time - The time to check, in 'HH:mm' or 'HH:mm AM/PM' format.\n * @returns {boolean} True if the time is within the range; otherwise, false.\n */\n public inTimeRange(time: string): boolean {\n return this.timepickerService.maxValidation(time, this.max) && this.timepickerService.minValidation(time, this.min);\n }\n\n /**\n * Generates the list of time options based on the configured step interval and locale settings AM/PM.\n *\n * @returns {string[]} An array of time strings in 'HH:mm' format.\n */\n public get timeStampsList(): string[] {\n return generateTimeStamps(this.step, this.useLocale);\n }\n\n /**\n * @internal\n * Writes a new value to the element.\n * Part of the ControlValueAccessor interface.\n * @param {string | null} value - The new value.\n */\n public override writeValue(value: string | null): void {\n super.writeValue(value);\n if (value === null || this.timepickerService.isValidTime(value)) {\n this.updateInputValue();\n }\n }\n\n protected onOpen(): void {\n this.keyManager = new ActiveDescendantKeyManager<OptionControl<string>>(this.options).withHomeAndEnd();\n this.setActiveOptionBasedOnCurrentValue();\n }\n\n @HostListener('click', ['$event'])\n @HostListener('keydown', ['$event'])\n protected handleControllerEvent(event: KeyboardEvent) {\n if (this.readonlyController?.readonly) return;\n this.keyManager?.onKeydown(event);\n const activeOption = this.keyManager?.activeItem as TimepickerOptionComponent;\n activeOption && this.scrollToActiveOption(activeOption, { behavior: 'smooth' });\n if (event.key === 'Enter' || event.key === ' ' || event.key === 'Spacebar') {\n event.stopImmediatePropagation();\n this.setOption(activeOption);\n }\n }\n\n protected handleDateFieldChanges(): void {\n this.dateField?.applyMask(this.useLocale);\n this.dateField?.valueChange$.pipe(this.takeUntilDestroyed()).subscribe((time) => {\n const normalized = typeof time === 'string' ? time.trim() : '';\n if (!normalized) {\n this.updateValue(null);\n return;\n }\n if (!this.timepickerService.isValidTime(normalized)) return;\n const is12HourInput = this.timepickerService.is12HourFormat(normalized);\n if (is12HourInput !== this._useLocale) return;\n this.updateValue(this.timepickerService.getLocalizedTimeFormat(normalized));\n });\n }\n\n protected resetValue(e: Event): void {\n e.stopImmediatePropagation();\n this.updateValue(null);\n }\n\n private setActiveOptionBasedOnCurrentValue(): void {\n const isSelected = this.options.find((option) => option.isSelected);\n if (isSelected) {\n this.activateOption(isSelected);\n return;\n }\n this.activateNearestTimeOption();\n }\n\n private activateOption(option: TimepickerOptionComponent): void {\n this.keyManager && this.keyManager.setActiveItem(option);\n this.scrollToActiveOption(option);\n }\n\n private activateNearestTimeOption(): void {\n if (!this.value) {\n const currentDate = new Date();\n const isNearest = this.findNearestTimeOption(currentDate);\n if (isNearest) {\n this.activateOption(isNearest);\n }\n }\n }\n\n private findNearestTimeOption(currentDate: Date): TimepickerOptionComponent | undefined {\n const availableTimeSlots = this.options.filter((option) => !option.disabled);\n const nearestTimeValue = this.timepickerService.findClosestDate(\n availableTimeSlots.map((option) => option.value) as string[],\n `${currentDate.getHours()}:${currentDate.getMinutes()}`,\n );\n\n return availableTimeSlots.find((option) => option.value === nearestTimeValue);\n }\n\n private updateInputValue(): void {\n if (!this.dateField) return;\n this.dateField.setMaskedValue(this.timepickerService.getLocalizedTimeFormat(this.value));\n }\n\n private scrollToActiveOption(option: TimepickerOptionComponent, _opts: ScrollIntoViewOptions = {}): void {\n if (isFunction(option.element.nativeElement.scrollIntoView)) {\n option.element.nativeElement.scrollIntoView({ block: 'center', ..._opts });\n }\n }\n\n private setOption(option?: TimepickerOptionComponent): void {\n if (!option || option.disabled) return;\n const time = this.timepickerService.getLocalizedTimeFormat(option.getLabel());\n this.dateField?.setMaskedValue(time);\n this.updateValue(time);\n }\n}\n","<div class=\"odx-timepicker__wrapper\">\n <input [value]=\"value\" odxTimepickerControl type=\"text\" />\n</div>\n\n<odx-action-group class=\"odx-timepicker__trigger-wrapper odx-no-margin\">\n @if (clearable() && value) {\n <button class=\"odx-timepicker__clear\" odxButton size=\"small\" aria-label=\"Reset time\" (click)=\"resetValue($event)\">\n <odx-icon name=\"close\" iconSet=\"core\" />\n </button>\n }\n <button\n #dropdownTrigger\n class=\"odx-timepicker__trigger\"\n odxButton\n size=\"small\"\n variant=\"ghost\"\n aria-label=\"Select time\"\n [odxDropdown]=\"timeList\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, position: 'bottom-start' }\"\n [odxDropdownTriggerElement]=\"dropdownTrigger.element.nativeElement\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n (odxDropdownBeforeClose)=\"onTouched()\"\n (odxDropdownAfterOpen)=\"onOpen()\"\n >\n <odx-icon name=\"chevron-down\" />\n </button>\n</odx-action-group>\n\n<ng-template #timeList>\n <div class=\"odx-timepicker__option-list\" role=\"listbox\">\n @for (time of timeStampsList; track $index) {\n <odx-timepicker-option [value]=\"time\" [disabled]=\"!inTimeRange(time)\" (selected)=\"timeSelected($event)\">{{ time }}</odx-timepicker-option>\n }\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { TimepickerOptionComponent } from './components/timepicker-option.component';\nimport { TimepickerInputControlDirective } from './directives/timepicker-input-control.directive';\nimport { TimepickerComponent } from './timepicker.component';\n\nconst modules = [TimepickerComponent, TimepickerInputControlDirective, TimepickerOptionComponent];\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class TimepickerModule {}\n","/**\n * Processes and formats a time input value based on specific rules. It adjusts the input for valid time format,\n * especially focusing on single-digit hour inputs, ensuring minute values start with 0 if the last digit is greater\n * than 5, and appending 'M' to AM/PM indicators.\n *\n * @param {string} value - The current input value of the time field.\n * @param {InputEvent} event - The input event triggered by the user's interaction with the field.\n * @returns {string} The processed and potentially reformatted value.\n *\n * @example\n * ```ts\n * // Prepend 0 to single-digit hours greater than 1\n * processInputValue(\"2\", { inputType: \"insertText\" }); // Returns \"02\"\n *\n * // Ensure minute values are within valid ranges\n * processInputValue(\"11:8\", { inputType: \"insertText\" }); // Returns \"11:08\"\n *\n * // Append 'M' to AM/PM indicators\n * processInputValue(\"2 p\", { inputType: \"insertText\" }); // Returns \"2 PM\"\n * ```\n */\nexport function processInputValue(value: string, event: InputEvent): string {\n if (value.length === 1 && Number(value) > 1) {\n value = `0${value}`;\n } else if (value.length === 4 && Number(value.at(-1)) > 5) {\n value = `${value.slice(0, -1)}0${value.slice(-1)}`;\n }\n\n if (/[AaPp]/.test(value) && event.inputType === 'insertText') {\n value = `${value.toUpperCase()}M`;\n }\n\n return value;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":";;;;;;;;;;;;;;;;;;;;AAGA;;;;;AAKG;MACU,kBAAkB,GAAG,IAAI,cAAc,CAAsB,yDAAyD;;ACHnI;;;;;;AAMG;AAWI,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,aAAqB,CAAA;AAkBlE;;;;AAIG;AACH,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ;IAC5C;AAWA,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AApCQ,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,kBAAkB,CAAC;AACrC,QAAA,IAAA,CAAA,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,EAAE;AAEnE;;;;AAIG;QACI,IAAA,CAAA,UAAU,GAAG,KAAK;AACzB;;;;;AAKG;QACa,IAAA,CAAA,QAAQ,GAAG,KAAK;AAWhC;;;;;AAKG;AAEI,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAA6B;AAI7D,QAAA,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,EAAE;IACtF;IAEO,QAAQ,GAAA;QACb,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC;IAC9D;AAEA;;;AAGG;IACI,eAAe,GAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;IACtB;IAEU,YAAY,GAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1B;+GAvDW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAHzB,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,wGAJ/B,CAAA,cAAA,CAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;AAOf,yBAAyB,GAAA,UAAA,CAAA;IAVrC,YAAY,CAAC,mBAAmB,CAAC;;AAUrB,CAAA,EAAA,yBAAyB,CAwDrC;4FAxDY,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBATrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAAA,cAAA,CAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;oBAChB,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;oBACzC,cAAc,EAAE,CAAC,iBAAiB,CAAC;AACpC,iBAAA;wDAmCQ,QAAQ,EAAA,CAAA;sBADd;;;ACpDH;;;AAGG;MAEU,iBAAiB,CAAA;AAD9B,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAEvC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;AAwHjC,IAAA;AAtHC;;;AAGG;AACI,IAAA,cAAc,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,EAAA;QAC1C,OAAO,GAAG,GAAG,UAAU,GAAG,OAAO;IACnC;AAEA;;;;;;AAMG;IACI,aAAa,CAAC,IAAY,EAAE,GAAW,EAAA;AAC5C,QAAA,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAChE,QAAA,OAAO,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC;IAC1E;AAEA;;;;;;AAMG;AACI,IAAA,WAAW,CAAC,IAAa,EAAA;QAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ;AAAE,YAAA,OAAO,KAAK;AAC1C,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE;AAC/B,QAAA,IAAI,CAAC,WAAW;AAAE,YAAA,OAAO,KAAK;AAC9B,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACjE;AAEO,IAAA,cAAc,CAAC,KAAa,EAAA;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,MAAM;IACvF;AAEA;;;;;;AAMG;IACI,aAAa,CAAC,IAAY,EAAE,GAAW,EAAA;AAC5C,QAAA,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAChE,QAAA,OAAO,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC;IACzE;AAEA;;;;;;AAMG;IACI,eAAe,CAAC,UAAoB,EAAE,UAAkB,EAAA;AAC7D,QAAA,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;AAElD,QAAA,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC;QAE3E,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,KAAI;AACnD,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;AAC5D,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5D,OAAO,QAAQ,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI;AAC1C,QAAA,CAAC,CAAC;AAEF,QAAA,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAChE,QAAA,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACpE,OAAO,IAAI,CAAC,sBAAsB,CAAC,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE,CAAC;IAC3D;AAEA;;;;;;AAMG;IACI,sBAAsB,CAAC,IAAa,EAAE,MAAgB,EAAA;AAC3D,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AAAE,YAAA,OAAO,EAAE;AACtC,QAAA,MAAM,eAAe,GAAG,OAAO,MAAM,KAAK,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;QAC/E,MAAM,MAAM,GAAG,eAAe,GAAG,OAAO,GAAG,OAAO;AAClD,QAAA,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC;AAC1C,QAAA,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;AACjE,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,MAAM,EAAE,eAAe;AACxB,SAAA,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;IACjB;AAEQ,IAAA,cAAc,CAAC,KAAe,EAAA;AACpC,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;YACxB,IAAI,OAAO,IAAI,KAAK,QAAQ;AAAE,gBAAA,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AACvD,YAAA,IAAI,CAAC,MAAM;AAAE,gBAAA,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC;AACjC,YAAA,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM;AACjC,YAAA,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACrD,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,eAAe,CAAC,IAAY,EAAA;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,6CAA6C,CAAC;AAC9E,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,IAAI;QAEvB,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE;QAEtC,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,GAAG,EAAE;gBAAE,KAAK,IAAI,EAAE;AAC9C,YAAA,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;gBAAE,KAAK,GAAG,CAAC;QAChD;AAEA,QAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;IACpD;+GA1HW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADJ,MAAM,EAAA,CAAA,CAAA;;4FACnB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACElC;;;;;AAKG;AAYI,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,qBAAqB,CAAA;AAAnE,IAAA,WAAA,GAAA;;AACY,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,kBAAkB,CAAC;AACvC,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC9C,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AA4C5F,IAAA;AA1CC;;;;AAIG;AACH,IAAA,IAAW,WAAW,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,UAAU,GAAG,OAAO;IAClE;AAEA;;;;AAIG;AACH,IAAA,IAAc,UAAU,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU;IACnC;AAEA;;;;;AAKG;AACI,IAAA,SAAS,CAAC,SAAkB,EAAA;QACjC,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE;QAC5B,MAAM,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO;QAC7C,SAAS,KAAK,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,KAAK,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,GAAG,SAAS,CAAC;QAC5G,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;AACtG,YAAA,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC;QAC1C;IACF;AAEA;;;;AAIG;AACI,IAAA,cAAc,CAAC,KAAoB,EAAA;AACxC,QAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;AAC/C,QAAA,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,UAAU,CAAC;IAC/C;+GA9CW,+BAA+B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,8KAH/B,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;AAGvC,+BAA+B,GAAA,UAAA,CAAA;IAX3C,YAAY,CAAC,qBAAqB;AAWtB,CAAA,EAAA,+BAA+B,CA+C3C;4FA/CY,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAV3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,IAAI,EAAE;AACJ,wBAAA,iBAAiB,EAAE,oBAAoB;AACvC,wBAAA,oBAAoB,EAAE,aAAa;AACpC,qBAAA;AACD,oBAAA,SAAS,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;AAClD,oBAAA,cAAc,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;AACpE,iBAAA;;;AC1BD;;;;;;;;;;;;;;;;;AAiBG;AACG,SAAU,kBAAkB,CAAC,IAAY,EAAE,SAAkB,EAAA;IACjE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAEpC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAI;AACzE,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,WAAW,IAAI,EAAE;QACtC,OAAO,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC;AAC9C,IAAA,CAAC,CAAC;AACJ;AAEA;;;;;;;;;;;;;;;;AAgBG;AACH,SAAS,UAAU,CAAC,KAAa,EAAE,OAAe,EAAE,SAAkB,EAAA;IACpE,IAAI,SAAS,EAAE;AACb,QAAA,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;AACxC,QAAA,MAAM,YAAY,GAAG,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE;QACvD,OAAO,CAAA,EAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA,CAAA,EAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA,CAAA,EAAI,MAAM,CAAA,CAAE;IACvG;SAAO;QACL,OAAO,CAAA,EAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA,CAAE;IACtF;AACF;;ACrBA;;;;;AAKG;AAsBI,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,iBAAgC,CAAA;AAevE;;;;;AAKG;IACH,IACW,SAAS,CAAC,GAAY,EAAA;QAC/B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;AACzC,QAAA,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC;QAC9B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;AAChC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC;AACtE,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACtB,YAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;QACrC;AACA,QAAA,IAAI,CAAC,UAAU,GAAG,GAAG;IACvB;AAEA;;;;AAIG;AACH,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,UAAU;IACxB;AA6CA,IAAA,WAAA,GAAA;QACE,KAAK,CAAC,IAAI,CAAC;AArFI,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACtD,IAAA,CAAA,UAAU,GAAG,KAAK;QAGP,IAAA,CAAA,kBAAkB,GAAG,cAAc,EAAE;QAQxC,IAAA,CAAA,OAAO,GAAG,aAAa,EAAE;AA6BzC;;;;;AAKG;QACI,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;AAEhE;;;;;AAKG;QAEI,IAAA,CAAA,IAAI,GAAG,EAAE;AAEhB;;;;;AAKG;QAEI,IAAA,CAAA,GAAG,GAAG,OAAO;AAEpB;;;;;AAKG;QAEI,IAAA,CAAA,GAAG,GAAG,OAAO;IAYpB;IAEO,eAAe,GAAA;QACpB,IAAI,CAAC,sBAAsB,EAAE;QAC7B,IAAI,CAAC,gBAAgB,EAAE;IACzB;AAEA;;;;;AAKG;AACI,IAAA,oBAAoB,CAAC,MAAiC,EAAA;AAC3D,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;IACpC;AAEA;;;;AAIG;AACI,IAAA,YAAY,CAAC,MAAkC,EAAA;AACpD,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE;IACjD;AAEA;;;;;AAKG;AACI,IAAA,WAAW,CAAC,IAAY,EAAA;QAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;IACrH;AAEA;;;;AAIG;AACH,IAAA,IAAW,cAAc,GAAA;QACvB,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;IACtD;AAEA;;;;;AAKG;AACa,IAAA,UAAU,CAAC,KAAoB,EAAA;AAC7C,QAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAC/D,IAAI,CAAC,gBAAgB,EAAE;QACzB;IACF;IAEU,MAAM,GAAA;AACd,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,0BAA0B,CAAwB,IAAI,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE;QACtG,IAAI,CAAC,kCAAkC,EAAE;IAC3C;AAIU,IAAA,qBAAqB,CAAC,KAAoB,EAAA;AAClD,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,QAAQ;YAAE;AACvC,QAAA,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC;AACjC,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,UAAuC;AAC7E,QAAA,YAAY,IAAI,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC/E,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,EAAE;YAC1E,KAAK,CAAC,wBAAwB,EAAE;AAChC,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QAC9B;IACF;IAEU,sBAAsB,GAAA;QAC9B,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;AACzC,QAAA,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;AAC9E,YAAA,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;YAC9D,IAAI,CAAC,UAAU,EAAE;AACf,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBACtB;YACF;YACA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC;gBAAE;YACrD,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,UAAU,CAAC;AACvE,YAAA,IAAI,aAAa,KAAK,IAAI,CAAC,UAAU;gBAAE;AACvC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;AAC7E,QAAA,CAAC,CAAC;IACJ;AAEU,IAAA,UAAU,CAAC,CAAQ,EAAA;QAC3B,CAAC,CAAC,wBAAwB,EAAE;AAC5B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACxB;IAEQ,kCAAkC,GAAA;AACxC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,CAAC;QACnE,IAAI,UAAU,EAAE;AACd,YAAA,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;YAC/B;QACF;QACA,IAAI,CAAC,yBAAyB,EAAE;IAClC;AAEQ,IAAA,cAAc,CAAC,MAAiC,EAAA;QACtD,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC;AACxD,QAAA,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;IACnC;IAEQ,yBAAyB,GAAA;AAC/B,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC;YACzD,IAAI,SAAS,EAAE;AACb,gBAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;YAChC;QACF;IACF;AAEQ,IAAA,qBAAqB,CAAC,WAAiB,EAAA;AAC7C,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC5E,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAC7D,kBAAkB,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAa,EAC5D,CAAA,EAAG,WAAW,CAAC,QAAQ,EAAE,CAAA,CAAA,EAAI,WAAW,CAAC,UAAU,EAAE,CAAA,CAAE,CACxD;AAED,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,KAAK,gBAAgB,CAAC;IAC/E;IAEQ,gBAAgB,GAAA;QACtB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE;AACrB,QAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1F;AAEQ,IAAA,oBAAoB,CAAC,MAAiC,EAAE,KAAA,GAA+B,EAAE,EAAA;QAC/F,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE;AAC3D,YAAA,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;QAC5E;IACF;AAEQ,IAAA,SAAS,CAAC,MAAkC,EAAA;AAClD,QAAA,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ;YAAE;AAChC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC7E,QAAA,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC;AACpC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACxB;+GA1OW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAqBV,gBAAgB,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAmChB,eAAe,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,+BAAA,EAAA,SAAA,EAAA,+BAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,sCAAA,EAAA,EAAA,EAAA,SAAA,EAxExB;YACT,kBAAkB,CAAC,OAAO,EAAE;YAC5B,kBAAkB,CAAC,OAAO,EAAE;AAC5B,YAAA;AACE,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC;AACnD,aAAA;YACD,iBAAiB;SAClB,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAeU,iBAAiB,4EA2EjB,+BAA+B,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAxE5B,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrEzC,wzCAmCA,2CDmBY,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,wGAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,+BAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,yBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,uBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,uBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,yBAAyB,EAAA,QAAA,EAAA,uBAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,aAAa,kHAAE,+BAA+B,EAAA,QAAA,EAAA,6BAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;AAK3I,mBAAmB,GAAA,UAAA,CAAA;IArB/B,YAAY,CAAC,YAAY,CAAC;;AAqBd,CAAA,EAAA,mBAAmB,CA2O/B;4FA3OY,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBApB/B,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,gBAAgB,EAAA,SAAA,EAEf;wBACT,kBAAkB,CAAC,OAAO,EAAE;wBAC5B,kBAAkB,CAAC,OAAO,EAAE;AAC5B,wBAAA;AACE,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC;AACnD,yBAAA;wBACD,iBAAiB;qBAClB,EAAA,aAAA,EACc,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,cAAc,EAAE,yBAAyB,EAAE,aAAa,EAAE,+BAA+B,CAAC,EAAA,IAAA,EACjJ;AACJ,wBAAA,iBAAiB,EAAE,sCAAsC;AAC1D,qBAAA,EAAA,QAAA,EAAA,wzCAAA,EAAA;wDAUkB,QAAQ,EAAA,CAAA;sBAD1B,SAAS;uBAAC,iBAAiB;gBAIlB,OAAO,EAAA,CAAA;sBADhB,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,yBAAyB,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE;gBAY/D,SAAS,EAAA,CAAA;sBADnB,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAoC/B,IAAI,EAAA,CAAA;sBADV,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBAU9B,GAAG,EAAA,CAAA;sBADT;gBAUM,GAAG,EAAA,CAAA;sBADT;gBASM,SAAS,EAAA,CAAA;sBADf,SAAS;uBAAC,+BAA+B;gBAuEhC,qBAAqB,EAAA,CAAA;sBAF9B,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;sBAChC,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;AE7MrC,MAAM,OAAO,GAAG,CAAC,mBAAmB,EAAE,+BAA+B,EAAE,yBAAyB,CAAC;MAKpF,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,OAAA,EAAA,CALZ,mBAAmB,EAAE,+BAA+B,EAAE,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAGpF,UAAU,EAHL,mBAAmB,EAAE,+BAA+B,EAAE,yBAAyB,CAAA,EAAA,CAAA,CAAA;gHAKnF,gBAAgB,EAAA,OAAA,EAAA,CALZ,mBAAmB,EAGxB,UAAU,CAAA,EAAA,CAAA,CAAA;;4FAET,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,OAAO;AAChB,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC;AAClC,iBAAA;;;ACVD;;;;;;;;;;;;;;;;;;;;AAoBG;AACG,SAAU,iBAAiB,CAAC,KAAa,EAAE,KAAiB,EAAA;AAChE,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AAC3C,QAAA,KAAK,GAAG,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE;IACrB;AAAO,SAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;QACzD,KAAK,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;IACpD;AAEA,IAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,EAAE;AAC5D,QAAA,KAAK,GAAG,CAAA,EAAG,KAAK,CAAC,WAAW,EAAE,GAAG;IACnC;AAEA,IAAA,OAAO,KAAK;AACd;;ACjCA;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"odx-angular-components-timepicker.mjs","sources":["../../../../libs/angular/components/timepicker/src/lib/timepicker.token.ts","../../../../libs/angular/components/timepicker/src/lib/components/timepicker-option.component.ts","../../../../libs/angular/components/timepicker/src/lib/timepicker.service.ts","../../../../libs/angular/components/timepicker/src/lib/directives/timepicker-input-control.directive.ts","../../../../libs/angular/components/timepicker/src/lib/utils/generate-time-stamps.ts","../../../../libs/angular/components/timepicker/src/lib/timepicker.component.ts","../../../../libs/angular/components/timepicker/src/lib/timepicker.component.html","../../../../libs/angular/components/timepicker/src/lib/timepicker.module.ts","../../../../libs/angular/components/timepicker/src/lib/utils/ngx-mask-helper.ts","../../../../libs/angular/components/timepicker/src/odx-angular-components-timepicker.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { TimepickerComponent } from './timepicker.component';\n\n/**\n * An InjectionToken used for injecting an instance of TimepickerComponent.\n * This token facilitates the decoupling of the TimepickerComponent's implementation from its consumption,\n * allowing for more flexible and maintainable code, especially in scenarios requiring custom time picker\n * behavior or appearance.\n */\nexport const TIMEPICKER_CONTROL = new InjectionToken<TimepickerComponent>('@odx/angular/components/timepicker::TimepickerComponent');\n","import { ChangeDetectionStrategy, Component, EventEmitter, OnInit, Output, ViewEncapsulation, inject } from '@angular/core';\nimport { DisabledController, WithDisabledState, detectControllerChanges } from '@odx/angular';\nimport { OptionControl } from '@odx/angular/cdk/option-control';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { TIMEPICKER_CONTROL } from '../timepicker.token';\n\n/**\n * Represents a selectable option within a timepicker component. This component allows for\n * individual time values to be selected from a dropdown menu as part of the timepicker interface.\n * It integrates with the timepicker's control to manage selection state and accessibility.\n *\n * @extends {OptionControl<string>}\n */\n@CSSComponent('timepicker-option')\n@Component({\n selector: 'odx-timepicker-option',\n template: `<ng-content />`,\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DisabledController.connect()],\n hostDirectives: [WithDisabledState],\n})\nexport class TimepickerOptionComponent extends OptionControl<string> implements OnInit {\n private readonly timepicker = inject(TIMEPICKER_CONTROL);\n protected readonly disabledController = DisabledController.inject();\n\n /**\n * Indicates whether this time option is currently selected.\n * @type {boolean}\n * @default false\n */\n public isSelected = false;\n /**\n * Indicates whether this time option is currently active (e.g., highlighted by keyboard navigation).\n * This is an override from the base `OptionControl`.\n * @type {boolean}\n * @default false\n */\n public override isActive = false;\n\n /**\n * Whether the option is disabled. This is used to determine whether the option should be selectable.\n *\n * @type {boolean}\n */\n public get disabled(): boolean {\n return !!this.disabledController?.disabled;\n }\n\n /**\n * Emits an event when the option is selected, allowing the timepicker component to update its value\n * and close the dropdown.\n *\n * @emits {TimepickerOptionComponent}\n */\n @Output()\n public selected = new EventEmitter<TimepickerOptionComponent>();\n\n constructor() {\n super();\n detectControllerChanges(this.timepicker).pipe(this.takeUntilDestroyed()).subscribe();\n }\n\n public ngOnInit(): void {\n this.isSelected = this.timepicker.isTimeOptionSelected(this);\n }\n\n /**\n * Sets the active styles for the option, typically indicating that it is\n * focused or highlighted via keyboard navigation.\n */\n public setActiveStyles(): void {\n this.isActive = true;\n }\n\n protected selectOption(): void {\n this.selected.emit(this);\n }\n}\n","import { Injectable, inject, signal } from '@angular/core';\nimport { WindowRef } from '@odx/angular';\nimport { isAfter, isBefore, isEqual } from 'date-fns';\n\n/**\n * Service to provide utility functions for timepicker components, including validation, placeholder generation, and finding the closest time.\n * It also handles locale-based time formatting.\n */\n@Injectable({ providedIn: 'root' })\nexport class TimepickerService {\n private readonly windowRef = inject(WindowRef);\n\n public useLocale = signal(false);\n\n /**\n * Validates if the given time is less than or equal to a maximum time constraint.\n *\n * @param {string} time - The time to validate.\n * @param {string} max - The maximum allowable time.\n * @returns {boolean} True if the time is valid (i.e., not after max), false otherwise.\n */\n public maxValidation(time: string, max: string): boolean {\n const [targetValue, maxValue] = this.convertToDates([time, max]);\n return isBefore(targetValue, maxValue) || isEqual(targetValue, maxValue);\n }\n\n /**\n * Checks if the provided value is a valid time string in HH:mm or HH:mm AM/PM format.\n * This method also acts as a type guard.\n *\n * @param {unknown} time - The value to validate.\n * @returns {time is string} True if the value is a valid time string, false otherwise.\n */\n public isValidTime(time: unknown): time is string {\n if (typeof time !== 'string') return false;\n const trimmedTime = time.trim();\n if (!trimmedTime) return false;\n return Boolean(this.parseTimeString(trimmedTime.toUpperCase()));\n }\n\n public is12HourFormat(value: string): boolean {\n return this.isValidTime(value) && !!this.parseTimeString(value.toUpperCase())?.hour12;\n }\n\n /**\n * Validates if the given time is greater than or equal to a minimum time constraint.\n *\n * @param {string} time - The time to validate.\n * @param {string} min - The minimum allowable time.\n * @returns {boolean} True if the time is valid (i.e., not before min), false otherwise.\n */\n public minValidation(time: string, min: string): boolean {\n const [targetValue, minValue] = this.convertToDates([time, min]);\n return isAfter(targetValue, minValue) || isEqual(targetValue, minValue);\n }\n\n /**\n * Finds the closest time to a target time from a list of times.\n *\n * @param {string[]} timeStamps - The list of time strings to search through (e.g., [\"10:00\", \"10:30\", \"11:00\"]).\n * @param {string} targetTime - The target time string to find the closest match for (e.g., \"10:35\").\n * @returns {string} The closest time string from the list to the target, formatted according to locale.\n */\n public findClosestDate(timeStamps: string[], targetTime: string): string {\n const [target] = this.convertToDates([targetTime]);\n const datesArray = this.convertToDates(timeStamps);\n\n if (datesArray.length === 0) return this.getLocalizedTimeFormat(targetTime);\n\n const closestDate = datesArray.reduce((prev, curr) => {\n const prevDiff = Math.abs(prev.getTime() - target.getTime());\n const currDiff = Math.abs(curr.getTime() - target.getTime());\n return currDiff < prevDiff ? curr : prev;\n });\n\n const hours = closestDate.getHours().toString().padStart(2, '0');\n const minutes = closestDate.getMinutes().toString().padStart(2, '0');\n return this.getLocalizedTimeFormat(`${hours}:${minutes}`);\n }\n\n /**\n * Formats a time string to a localized time format using Intl.DateTimeFormat.\n *\n * @param {unknown} time - The time string to format (e.g., \"14:30\").\n * @param {boolean} [hour12=false] - Specifies if the output should use 12-hour format with AM/PM notation.\n * @returns {string} The formatted time string, or an empty string if the input time is invalid.\n */\n public getLocalizedTimeFormat(time: unknown, hour12?: boolean): string {\n if (!this.isValidTime(time)) return '';\n const shouldUseHour12 = typeof hour12 === 'boolean' ? hour12 : this.useLocale();\n const locale = shouldUseHour12 ? 'en-US' : 'en-GB';\n const [date] = this.convertToDates([time]);\n return new this.windowRef.nativeWindow.Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n minute: '2-digit',\n hour12: shouldUseHour12,\n }).format(date);\n }\n\n private convertToDates(times: string[]): Date[] {\n return times.map((time) => {\n if (typeof time !== 'string') return new Date(NaN);\n const parsed = this.parseTimeString(time.toUpperCase());\n if (!parsed) return new Date(NaN);\n const { hours, minutes } = parsed;\n return new Date(2022, 11, 19, hours, minutes, 0, 0);\n });\n }\n\n private parseTimeString(time: string): { hours: number; minutes: number; hour12: boolean } | null {\n const match = time.trim().match(/^([01]?\\d|2[0-3]):([0-5]\\d)(?:\\s?(AM|PM))?$/);\n if (!match) return null;\n\n let hours = Number(match[1]);\n const minutes = Number(match[2]);\n const period = match[3]?.toUpperCase();\n\n if (period) {\n if (period === 'PM' && hours < 12) hours += 12;\n if (period === 'AM' && hours === 12) hours = 0;\n }\n\n return { hours, minutes, hour12: Boolean(period) };\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { WithDisabledState, WithTabIndex } from '@odx/angular';\nimport { InputControlDirective } from '@odx/angular/cdk/custom-form-control';\nimport { initNgxMask, ngxMaskProviderConfig } from '@odx/angular/cdk/date-input';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { isString } from '@odx/angular/utils';\nimport { NgxMaskDirective, provideNgxMask } from 'ngx-mask';\nimport { TimepickerService } from '../timepicker.service';\nimport { TIMEPICKER_CONTROL } from '../timepicker.token';\n\n/**\n * Directive to enhance a standard input element for time picking, integrating mask functionality for time format.\n * It automatically adapts to locale settings provided by the enclosing `TimepickerComponent` to display time in the appropriate format.\n *\n * @extends {InputControlDirective}\n */\n@CSSComponent('timepicker__control')\n@Directive({\n standalone: true,\n selector: 'input[odxTimepickerControl]',\n host: {\n '[attr.readonly]': 'isReadonly || null',\n '[attr.placeholder]': 'placeholder',\n },\n providers: [provideNgxMask(ngxMaskProviderConfig)],\n hostDirectives: [WithTabIndex, WithDisabledState, NgxMaskDirective],\n})\nexport class TimepickerInputControlDirective extends InputControlDirective {\n private readonly timepicker = inject(TIMEPICKER_CONTROL);\n private readonly timepickerService = inject(TimepickerService);\n public readonly ngxMaskDirective = inject(NgxMaskDirective, { self: true, optional: true });\n\n /**\n * Returns the placeholder text for the input based on locale settings.\n *\n * @returns {string} The placeholder text for the input.\n */\n public get placeholder(): string {\n return this.timepickerService.useLocale() ? '--:-- --' : '--:--';\n }\n\n /**\n * Determines whether the timepicker input is readonly, based on the state of the parent timepicker component.\n *\n * @returns {boolean} `true` if the input should be readonly; otherwise, `false`.\n */\n protected get isReadonly(): boolean {\n return this.timepicker.isReadonly;\n }\n\n /**\n * Applies the time format mask to the input value, transforming and returning the masked value.\n *\n * @param {Event} event - The input event triggering the mask application.\n * @returns {string} The masked input value.\n */\n public applyMask(useLocale: boolean): void {\n if (!this.ngxMaskDirective) return;\n const mask = useLocale ? 'Hh:m0 AM' : 'Hh:m0';\n useLocale !== this.ngxMaskDirective._maskService.apm && (this.ngxMaskDirective._maskService.apm = useLocale);\n if (Object.hasOwn(this.ngxMaskDirective, '_maskValue') && this.ngxMaskDirective['_maskValue'] !== mask) {\n initNgxMask(this.ngxMaskDirective, mask);\n }\n }\n\n /**\n * Updates the input value through ngx-mask directive.\n *\n * @param {string | null} value - The new value to set in the input.\n */\n public setMaskedValue(value: string | null): void {\n const normalized = isString(value) ? value : '';\n this.ngxMaskDirective?.writeValue(normalized);\n }\n}\n","/**\n * Generates an array of time stamps within a 24-hour period based on the specified step interval.\n * The time stamps can be formatted in 24-hour format or 12-hour format with AM/PM based on locale preference.\n *\n * @param {number} step - The interval, in minutes, between each time stamp.\n * @param {boolean} useLocale - Determines if the time stamps should use the 12-hour format with AM/PM (`true`) or the 24-hour format (`false`).\n * @returns {string[]} An array of formatted time stamps as strings.\n * @example\n * ```ts\n * // Generate time stamps every 30 minutes using 24-hour format\n * generateTimeStamps(30, false);\n * // Returns [\"00:00\", \"00:30\", \"01:00\", ..., \"23:30\"]\n *\n * // Generate time stamps every 60 minutes using 12-hour format with AM/PM\n * generateTimeStamps(60, true);\n * // Returns [\"12:00 AM\", \"01:00 AM\", ..., \"11:00 PM\"]\n * ```\n */\nexport function generateTimeStamps(step: number, useLocale: boolean): string[] {\n const roundedStep = Math.round(step);\n\n return Array.from({ length: Math.ceil(24 * (60 / roundedStep)) }, (_, i) => {\n const hours = Math.floor((i * roundedStep) / 60);\n const minutes = (i * roundedStep) % 60;\n return formatTime(hours, minutes, useLocale);\n });\n}\n\n/**\n * Formats a given time as a string based on the specified hour, minute, and locale preference.\n * Can format time in either 24-hour format or 12-hour format with AM/PM.\n *\n * @param {number} hours - The hour component of the time.\n * @param {number} minutes - The minute component of the time.\n * @param {boolean} useLocale - Determines if the time should be formatted using the 12-hour format with AM/PM (`true`) or the 24-hour format (`false`).\n * @returns {string} The formatted time as a string.\n * @example\n * ```ts\n * // Format time using 24-hour format\n * formatTime(14, 30, false); // \"14:30\"\n *\n * // Format time using 12-hour format with AM/PM\n * formatTime(14, 30, true); // \"2:30 PM\"\n * ```\n */\nfunction formatTime(hours: number, minutes: number, useLocale: boolean): string {\n if (useLocale) {\n const period = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 === 0 ? 12 : hours % 12;\n return `${displayHours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')} ${period}`;\n } else {\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`;\n }\n}\n","import { A11yModule, ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n HostListener,\n Input,\n QueryList,\n ViewChild,\n ViewChildren,\n ViewEncapsulation,\n booleanAttribute,\n forwardRef,\n inject,\n input,\n numberAttribute,\n} from '@angular/core';\nimport { DisabledController, ReadonlyController } from '@odx/angular';\nimport { CustomFormControl } from '@odx/angular/cdk/custom-form-control';\nimport { OptionControl } from '@odx/angular/cdk/option-control';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { DropdownDirective, DropdownModule } from '@odx/angular/components/dropdown';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement, isFunction, untilDestroyed } from '@odx/angular/utils';\nimport { TimepickerOptionComponent } from './components/timepicker-option.component';\nimport { TimepickerInputControlDirective } from './directives/timepicker-input-control.directive';\nimport { TimepickerService } from './timepicker.service';\nimport { TIMEPICKER_CONTROL } from './timepicker.token';\nimport { generateTimeStamps } from './utils/generate-time-stamps';\n\n/**\n * Represents a time picker component allowing users to select a time from a dropdown list.\n * This component integrates with Angular forms and supports customization for locale, time range, and step intervals.\n *\n * @see {CustomFormControl}\n */\n@CSSComponent('timepicker')\n@Component({\n standalone: true,\n selector: 'odx-timepicker',\n templateUrl: 'timepicker.component.html',\n providers: [\n DisabledController.connect(),\n ReadonlyController.connect(),\n {\n provide: TIMEPICKER_CONTROL,\n useExisting: forwardRef(() => TimepickerComponent),\n },\n TimepickerService,\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [A11yModule, ActionGroupComponent, ButtonComponent, DropdownModule, TimepickerOptionComponent, IconComponent, TimepickerInputControlDirective],\n host: {\n '[attr.readonly]': 'readonlyController?.readonly || null',\n },\n})\nexport class TimepickerComponent extends CustomFormControl<string | null> implements AfterViewInit {\n private readonly timepickerService = inject(TimepickerService);\n private _useLocale = false;\n protected keyManager?: ActiveDescendantKeyManager<OptionControl<string>>;\n\n protected readonly takeUntilDestroyed = untilDestroyed();\n\n @ViewChild(DropdownDirective)\n protected readonly dropdown?: DropdownDirective;\n\n @ViewChildren(TimepickerOptionComponent, { emitDistinctChangesOnly: true })\n protected options!: QueryList<TimepickerOptionComponent>;\n\n public readonly element = injectElement();\n\n /**\n * Controls whether the timepicker should use locale-specific time formats AM/PM.\n *\n * @type {boolean}\n * @default false\n */\n @Input({ transform: booleanAttribute })\n public set useLocale(val: boolean) {\n this.timepickerService.useLocale.set(val);\n this.dateField?.applyMask(val);\n if (this.value && this.dateField) {\n const time = this.timepickerService.getLocalizedTimeFormat(this.value);\n this.updateValue(time);\n this.dateField.setMaskedValue(time);\n }\n this._useLocale = val;\n }\n\n /**\n * Gets a boolean value indicating whether the locale is being used.\n *\n * @returns {boolean} A boolean value indicating whether the locale is being used.\n */\n public get useLocale(): boolean {\n return this._useLocale;\n }\n\n /**\n * When set to true, the select will display a reset button.\n *\n * @type {boolean}\n * @default false\n */\n public clearable = input(false, { transform: booleanAttribute });\n\n /**\n * Controls the step interval between time options in minutes.\n *\n * @type {number}\n * @default 30\n */\n @Input({ transform: numberAttribute })\n public step = 30;\n\n /**\n * Specifies the minimum time value that can be selected ('05:00' or '05:00 AM').\n *\n * @type {string}\n * @default '00:00'\n */\n @Input()\n public min = '00:00';\n\n /**\n * Specifies the maximum time value that can be selected ('22:00' or '10:00 PM').\n *\n * @type {string}\n * @default '23:59'\n */\n @Input()\n public max = '23:59';\n\n /**\n * The directive for the timepicker input control.\n *\n * @type {TimepickerInputControlDirective | undefined}\n */\n @ViewChild(TimepickerInputControlDirective)\n public dateField?: TimepickerInputControlDirective;\n\n constructor() {\n super(null);\n }\n\n public ngAfterViewInit(): void {\n this.handleDateFieldChanges();\n this.updateInputValue();\n }\n\n /**\n * Checks if the given time option is selected.\n *\n * @param {TimepickerOptionComponent} option - The time option to check.\n * @returns {boolean} True if the option is selected, false otherwise.\n */\n public isTimeOptionSelected(option: TimepickerOptionComponent): boolean {\n return this.value === option.value;\n }\n\n /**\n * Handles the selection of a time option from the dropdown, updating the input field and closing the dropdown.\n *\n * @param {TimepickerOptionComponent | undefined} option - The selected time option component.\n */\n public timeSelected(option?: TimepickerOptionComponent): void {\n this.setOption(option);\n this.dropdown?.isOpen && this.dropdown?.close();\n }\n\n /**\n * Determines whether the specified time is within the allowed time range.\n *\n * @param {string} time - The time to check, in 'HH:mm' or 'HH:mm AM/PM' format.\n * @returns {boolean} True if the time is within the range; otherwise, false.\n */\n public inTimeRange(time: string): boolean {\n return this.timepickerService.maxValidation(time, this.max) && this.timepickerService.minValidation(time, this.min);\n }\n\n /**\n * Generates the list of time options based on the configured step interval and locale settings AM/PM.\n *\n * @returns {string[]} An array of time strings in 'HH:mm' format.\n */\n public get timeStampsList(): string[] {\n return generateTimeStamps(this.step, this.useLocale);\n }\n\n /**\n * @internal\n * Writes a new value to the element.\n * Part of the ControlValueAccessor interface.\n * @param {string | null} value - The new value.\n */\n public override writeValue(value: string | null): void {\n super.writeValue(value);\n if (value === null || this.timepickerService.isValidTime(value)) {\n this.updateInputValue();\n }\n }\n\n protected onOpen(): void {\n this.keyManager = new ActiveDescendantKeyManager<OptionControl<string>>(this.options).withHomeAndEnd();\n this.setActiveOptionBasedOnCurrentValue();\n }\n\n @HostListener('click', ['$event'])\n @HostListener('keydown', ['$event'])\n protected handleControllerEvent(event: KeyboardEvent) {\n if (this.readonlyController?.readonly) return;\n this.keyManager?.onKeydown(event);\n const activeOption = this.keyManager?.activeItem as TimepickerOptionComponent;\n activeOption && this.scrollToActiveOption(activeOption, { behavior: 'smooth' });\n if (event.key === 'Enter' || event.key === ' ' || event.key === 'Spacebar') {\n event.stopImmediatePropagation();\n this.setOption(activeOption);\n }\n }\n\n protected handleDateFieldChanges(): void {\n this.dateField?.applyMask(this.useLocale);\n this.dateField?.valueChange$.pipe(this.takeUntilDestroyed()).subscribe((time) => {\n const normalized = typeof time === 'string' ? time.trim() : '';\n if (!normalized) {\n this.updateValue(null);\n return;\n }\n if (!this.timepickerService.isValidTime(normalized)) return;\n const is12HourInput = this.timepickerService.is12HourFormat(normalized);\n if (is12HourInput !== this._useLocale) return;\n this.updateValue(this.timepickerService.getLocalizedTimeFormat(normalized));\n });\n }\n\n protected resetValue(e: Event): void {\n e.stopImmediatePropagation();\n this.updateValue(null);\n }\n\n private setActiveOptionBasedOnCurrentValue(): void {\n const isSelected = this.options.find((option) => option.isSelected);\n if (isSelected) {\n this.activateOption(isSelected);\n return;\n }\n this.activateNearestTimeOption();\n }\n\n private activateOption(option: TimepickerOptionComponent): void {\n this.keyManager && this.keyManager.setActiveItem(option);\n this.scrollToActiveOption(option);\n }\n\n private activateNearestTimeOption(): void {\n if (!this.value) {\n const currentDate = new Date();\n const isNearest = this.findNearestTimeOption(currentDate);\n if (isNearest) {\n this.activateOption(isNearest);\n }\n }\n }\n\n private findNearestTimeOption(currentDate: Date): TimepickerOptionComponent | undefined {\n const availableTimeSlots = this.options.filter((option) => !option.disabled);\n const nearestTimeValue = this.timepickerService.findClosestDate(\n availableTimeSlots.map((option) => option.value) as string[],\n `${currentDate.getHours()}:${currentDate.getMinutes()}`,\n );\n\n return availableTimeSlots.find((option) => option.value === nearestTimeValue);\n }\n\n private updateInputValue(): void {\n if (!this.dateField) return;\n this.dateField.setMaskedValue(this.timepickerService.getLocalizedTimeFormat(this.value));\n }\n\n private scrollToActiveOption(option: TimepickerOptionComponent, _opts: ScrollIntoViewOptions = {}): void {\n if (isFunction(option.element.nativeElement.scrollIntoView)) {\n option.element.nativeElement.scrollIntoView({ block: 'center', ..._opts });\n }\n }\n\n private setOption(option?: TimepickerOptionComponent): void {\n if (!option || option.disabled) return;\n const time = this.timepickerService.getLocalizedTimeFormat(option.getLabel());\n this.dateField?.setMaskedValue(time);\n this.updateValue(time);\n }\n}\n","<div class=\"odx-timepicker__wrapper\">\n <input [value]=\"value\" odxTimepickerControl type=\"text\" />\n</div>\n\n<odx-action-group class=\"odx-timepicker__trigger-wrapper odx-no-margin\">\n @if (clearable() && value) {\n <button class=\"odx-timepicker__clear\" odxButton size=\"small\" aria-label=\"Reset time\" (click)=\"resetValue($event)\">\n <odx-icon name=\"core::close\" />\n </button>\n }\n <button\n #dropdownTrigger\n class=\"odx-timepicker__trigger\"\n odxButton\n size=\"small\"\n variant=\"ghost\"\n aria-label=\"Select time\"\n [odxDropdown]=\"timeList\"\n [odxDropdownOptions]=\"{ matchReferenceWidth: true, position: 'bottom-start' }\"\n [odxDropdownTriggerElement]=\"dropdownTrigger.element.nativeElement\"\n [odxDropdownReferenceElement]=\"element.nativeElement\"\n (odxDropdownBeforeClose)=\"onTouched()\"\n (odxDropdownAfterOpen)=\"onOpen()\"\n >\n <odx-icon name=\"core::chevron-down\" />\n </button>\n</odx-action-group>\n\n<ng-template #timeList>\n <div class=\"odx-timepicker__option-list\" role=\"listbox\">\n @for (time of timeStampsList; track $index) {\n <odx-timepicker-option [value]=\"time\" [disabled]=\"!inTimeRange(time)\" (selected)=\"timeSelected($event)\">{{ time }}</odx-timepicker-option>\n }\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { TimepickerOptionComponent } from './components/timepicker-option.component';\nimport { TimepickerInputControlDirective } from './directives/timepicker-input-control.directive';\nimport { TimepickerComponent } from './timepicker.component';\n\nconst modules = [TimepickerComponent, TimepickerInputControlDirective, TimepickerOptionComponent];\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class TimepickerModule {}\n","/**\n * Processes and formats a time input value based on specific rules. It adjusts the input for valid time format,\n * especially focusing on single-digit hour inputs, ensuring minute values start with 0 if the last digit is greater\n * than 5, and appending 'M' to AM/PM indicators.\n *\n * @param {string} value - The current input value of the time field.\n * @param {InputEvent} event - The input event triggered by the user's interaction with the field.\n * @returns {string} The processed and potentially reformatted value.\n *\n * @example\n * ```ts\n * // Prepend 0 to single-digit hours greater than 1\n * processInputValue(\"2\", { inputType: \"insertText\" }); // Returns \"02\"\n *\n * // Ensure minute values are within valid ranges\n * processInputValue(\"11:8\", { inputType: \"insertText\" }); // Returns \"11:08\"\n *\n * // Append 'M' to AM/PM indicators\n * processInputValue(\"2 p\", { inputType: \"insertText\" }); // Returns \"2 PM\"\n * ```\n */\nexport function processInputValue(value: string, event: InputEvent): string {\n if (value.length === 1 && Number(value) > 1) {\n value = `0${value}`;\n } else if (value.length === 4 && Number(value.at(-1)) > 5) {\n value = `${value.slice(0, -1)}0${value.slice(-1)}`;\n }\n\n if (/[AaPp]/.test(value) && event.inputType === 'insertText') {\n value = `${value.toUpperCase()}M`;\n }\n\n return value;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __decorate
|
|
1
|
+
import { __decorate } from 'tslib';
|
|
2
2
|
import { trigger, transition, group, useAnimation } from '@angular/animations';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
@@ -87,24 +87,6 @@ class ToastService {
|
|
|
87
87
|
* @emits {ToastRef} The removed toast.
|
|
88
88
|
*/
|
|
89
89
|
this.onToastRemove$ = this.queue.onRemove$;
|
|
90
|
-
/**
|
|
91
|
-
* @deprecated Use `toasts$` instead
|
|
92
|
-
*/
|
|
93
|
-
this.queue$ = this.toasts$;
|
|
94
|
-
/**
|
|
95
|
-
* @deprecated Use `onToastAdd$` instead
|
|
96
|
-
*/
|
|
97
|
-
this.onAdd$ = this.onToastAdd$;
|
|
98
|
-
/**
|
|
99
|
-
* @deprecated Use `onToastRemove$` instead
|
|
100
|
-
*/
|
|
101
|
-
this.onRemove$ = this.onToastRemove$;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* @deprecated Use `create` instead
|
|
105
|
-
*/
|
|
106
|
-
add(item, options = {}) {
|
|
107
|
-
return this.create(item, options);
|
|
108
90
|
}
|
|
109
91
|
/**
|
|
110
92
|
* Creates and queues a new toast based on the provided item and options.
|
|
@@ -121,12 +103,6 @@ class ToastService {
|
|
|
121
103
|
options: deepmerge(this.defaultOptions, options),
|
|
122
104
|
});
|
|
123
105
|
}
|
|
124
|
-
/**
|
|
125
|
-
* @deprecated Use `dismiss` instead
|
|
126
|
-
*/
|
|
127
|
-
remove(refOrId) {
|
|
128
|
-
return this.dismiss(refOrId);
|
|
129
|
-
}
|
|
130
106
|
/**
|
|
131
107
|
* Dismisses a specific toast identified by a reference or ID.
|
|
132
108
|
*
|
|
@@ -136,22 +112,16 @@ class ToastService {
|
|
|
136
112
|
dismiss(refOrId) {
|
|
137
113
|
return this.queue.remove(refOrId);
|
|
138
114
|
}
|
|
139
|
-
/**
|
|
140
|
-
* @deprecated Use `dismissAll` instead
|
|
141
|
-
*/
|
|
142
|
-
clear() {
|
|
143
|
-
return this.dismissAll();
|
|
144
|
-
}
|
|
145
115
|
/**
|
|
146
116
|
* Dismisses all toasts currently being displayed.
|
|
147
117
|
*/
|
|
148
118
|
dismissAll() {
|
|
149
119
|
this.queue.clear();
|
|
150
120
|
}
|
|
151
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
152
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
121
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
122
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ToastService, providedIn: 'root' }); }
|
|
153
123
|
}
|
|
154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ToastService, decorators: [{
|
|
155
125
|
type: Injectable,
|
|
156
126
|
args: [{
|
|
157
127
|
providedIn: 'root',
|
|
@@ -200,13 +170,13 @@ let ToastItemComponent = class ToastItemComponent {
|
|
|
200
170
|
get icon() {
|
|
201
171
|
switch (this.variant) {
|
|
202
172
|
case ToastVariant.WARNING:
|
|
203
|
-
return 'warning';
|
|
173
|
+
return 'core::warning';
|
|
204
174
|
case ToastVariant.DANGER:
|
|
205
|
-
return 'error';
|
|
175
|
+
return 'core::error';
|
|
206
176
|
case ToastVariant.SUCCESS:
|
|
207
|
-
return 'check';
|
|
177
|
+
return 'core::check';
|
|
208
178
|
default:
|
|
209
|
-
return 'info';
|
|
179
|
+
return 'core::info';
|
|
210
180
|
}
|
|
211
181
|
}
|
|
212
182
|
ngOnInit() {
|
|
@@ -220,21 +190,20 @@ let ToastItemComponent = class ToastItemComponent {
|
|
|
220
190
|
onDismiss() {
|
|
221
191
|
this.dismiss.next();
|
|
222
192
|
}
|
|
223
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
224
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
193
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ToastItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
194
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ToastItemComponent, isStandalone: true, selector: "odx-toast", inputs: { id: "id", title: "title", description: "description", descriptionContext: "descriptionContext", variant: "variant", actions: "actions", options: "options" }, outputs: { dismiss: "dismiss" }, host: { properties: { "attr.id": "id" } }, ngImport: i0, template: "<div class=\"odx-toast-item__content\">\n <odx-icon [name]=\"icon\" />\n <div class=\"odx-toast-item__text-content\">\n <p class=\"odx-toast-item__title\">\n <ng-template [odxDynamicView]=\"title\" />\n </p>\n @if (description) {\n <p class=\"odx-toast-item__description\">\n <ng-template [odxDynamicView]=\"description\" [odxDynamicViewContext]=\"descriptionContext\" />\n </p>\n }\n </div>\n @if (options.dismissable) {\n <button odxButton class=\"odx-toast-item__close\" (click)=\"onDismiss()\"><odx-icon name=\"core::close\" /></button>\n }\n</div>\n@if (!!actions?.length) {\n <odx-action-group class=\"odx-toast-item__buttons\">\n @for (action of actions; track $index) {\n <button odxButton (click)=\"action.action()\">\n @if (action.leftIcon) {\n <odx-icon [name]=\"action.leftIcon\" alignLeft />\n }\n <ng-template [odxDynamicView]=\"action.label\" />\n @if (action.rightIcon) {\n <odx-icon [name]=\"action.rightIcon\" alignRight />\n }\n </button>\n }\n </odx-action-group>\n}\n", dependencies: [{ kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["size", "name", "set", "identifier"] }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
225
195
|
};
|
|
226
196
|
__decorate([
|
|
227
|
-
CSSModifier()
|
|
228
|
-
__metadata("design:type", Object)
|
|
197
|
+
CSSModifier()
|
|
229
198
|
], ToastItemComponent.prototype, "variant", void 0);
|
|
230
199
|
ToastItemComponent = __decorate([
|
|
231
200
|
CSSComponent('toast-item')
|
|
232
201
|
], ToastItemComponent);
|
|
233
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
202
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ToastItemComponent, decorators: [{
|
|
234
203
|
type: Component,
|
|
235
|
-
args: [{ selector: 'odx-toast', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
|
|
204
|
+
args: [{ selector: 'odx-toast', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [IconComponent, ButtonComponent, DynamicViewDirective, ActionGroupComponent], host: {
|
|
236
205
|
'[attr.id]': 'id',
|
|
237
|
-
}, template: "<div class=\"odx-toast-item__content\">\n <odx-icon [name]=\"icon\"
|
|
206
|
+
}, template: "<div class=\"odx-toast-item__content\">\n <odx-icon [name]=\"icon\" />\n <div class=\"odx-toast-item__text-content\">\n <p class=\"odx-toast-item__title\">\n <ng-template [odxDynamicView]=\"title\" />\n </p>\n @if (description) {\n <p class=\"odx-toast-item__description\">\n <ng-template [odxDynamicView]=\"description\" [odxDynamicViewContext]=\"descriptionContext\" />\n </p>\n }\n </div>\n @if (options.dismissable) {\n <button odxButton class=\"odx-toast-item__close\" (click)=\"onDismiss()\"><odx-icon name=\"core::close\" /></button>\n }\n</div>\n@if (!!actions?.length) {\n <odx-action-group class=\"odx-toast-item__buttons\">\n @for (action of actions; track $index) {\n <button odxButton (click)=\"action.action()\">\n @if (action.leftIcon) {\n <odx-icon [name]=\"action.leftIcon\" alignLeft />\n }\n <ng-template [odxDynamicView]=\"action.label\" />\n @if (action.rightIcon) {\n <odx-icon [name]=\"action.rightIcon\" alignRight />\n }\n </button>\n }\n </odx-action-group>\n}\n" }]
|
|
238
207
|
}], propDecorators: { id: [{
|
|
239
208
|
type: Input
|
|
240
209
|
}], title: [{
|
|
@@ -313,8 +282,8 @@ let ToastContainerComponent = class ToastContainerComponent {
|
|
|
313
282
|
el.hidePopover?.();
|
|
314
283
|
deferFn(() => el.showPopover?.());
|
|
315
284
|
}
|
|
316
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
317
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
285
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ToastContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
286
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: ToastContainerComponent, isStandalone: true, selector: "odx-toast-container", inputs: { maxItems: ["maxItems", "maxItems", numberAttribute] }, outputs: { dismiss: "dismiss" }, ngImport: i0, template: "@for (toastRef of items$ | async; track toastRef.id) {\n <odx-toast\n @slide\n [id]=\"toastRef.id\"\n [title]=\"toastRef.item.title\"\n [description]=\"toastRef.item.description\"\n [descriptionContext]=\"toastRef.item.descriptionContext\"\n [actions]=\"toastRef.item.actions ?? []\"\n [variant]=\"toastRef.item.variant\"\n [options]=\"toastRef.options\"\n (dismiss)=\"onDismiss(toastRef)\"\n />\n}\n@if (hiddenToasts$ | async; as more) {\n <odx-chip class=\"odx-toast-container__counter\">{{ more }} more Notifications</odx-chip>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ChipComponent, selector: "odx-chip", inputs: ["removable", "size", "variant"], outputs: ["remove"] }, { kind: "component", type: ToastItemComponent, selector: "odx-toast", inputs: ["id", "title", "description", "descriptionContext", "variant", "actions", "options"], outputs: ["dismiss"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [
|
|
318
287
|
trigger('slide', [
|
|
319
288
|
transition(':enter', group([
|
|
320
289
|
useAnimation(expand),
|
|
@@ -328,7 +297,7 @@ let ToastContainerComponent = class ToastContainerComponent {
|
|
|
328
297
|
ToastContainerComponent = ToastContainerComponent_1 = __decorate([
|
|
329
298
|
CSSComponent('toast-container')
|
|
330
299
|
], ToastContainerComponent);
|
|
331
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
300
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ToastContainerComponent, decorators: [{
|
|
332
301
|
type: Component,
|
|
333
302
|
args: [{ selector: 'odx-toast-container', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [CommonModule, ChipComponent, ToastItemComponent], animations: [
|
|
334
303
|
trigger('slide', [
|
|
@@ -349,11 +318,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
349
318
|
|
|
350
319
|
const modules = [ToastContainerComponent, ToastItemComponent];
|
|
351
320
|
class ToastModule {
|
|
352
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
353
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
354
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
321
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
322
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: ToastModule, imports: [ToastContainerComponent, ToastItemComponent], exports: [CoreModule, ToastContainerComponent, ToastItemComponent] }); }
|
|
323
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ToastModule, imports: [modules, CoreModule] }); }
|
|
355
324
|
}
|
|
356
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
325
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ToastModule, decorators: [{
|
|
357
326
|
type: NgModule,
|
|
358
327
|
args: [{
|
|
359
328
|
imports: modules,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-toast.mjs","sources":["../../../../libs/angular/components/toast/src/lib/toast.config.ts","../../../../libs/angular/components/toast/src/lib/toast.service.ts","../../../../libs/angular/components/toast/src/lib/models/toast-variant.ts","../../../../libs/angular/components/toast/src/lib/components/toast-item/toast-item.component.ts","../../../../libs/angular/components/toast/src/lib/components/toast-item/toast-item.component.html","../../../../libs/angular/components/toast/src/lib/components/toast-container/toast-container.component.ts","../../../../libs/angular/components/toast/src/lib/components/toast-container/toast-container.component.html","../../../../libs/angular/components/toast/src/lib/toast.module.ts","../../../../libs/angular/components/toast/src/odx-angular-components-toast.ts"],"sourcesContent":["import { createConfigTokens } from '@odx/angular/utils';\nimport { ToastOptions } from './models/toast.options';\n\nexport type ToastConfig = ToastOptions;\n\n/**\n * Utility functions generated by `createConfigTokens` to handle injection and provision of `ToastConfig`.\n * These include tokens and functions to access and provide the default configuration for toasts.\n *\n * `ToastDefaultConfig` provides the default settings for toasts.\n * `ToastConfig` is a token that can be used to inject toast configuration settings.\n * `injectToastConfig` is a function that retrieves the current toast configuration.\n * `provideToastConfig` is a function used to specify a custom configuration for toasts.\n *\n * @example\n * ```ts\n * // In module providers:\n * providers: [\n * provideToastConfig({ // ... global module configuration }),\n * ]\n *\n * // In a component or service:\n * constructor(@Inject(ToastConfig) private readonly config: ToastConfig) {}\n *\n * // Or using the `injectToastConfig` function:\n * @Component({ ... })\n * export class MyComponent {\n * private readonly config = injectToastConfig();\n * }\n * ```\n */\nexport const { ToastDefaultConfig, ToastConfig, injectToastConfig, provideToastConfig } = createConfigTokens('Toast', '@odx/angular/components/toast', {\n dismissable: true,\n duration: 0,\n} as ToastConfig);\n","import { Injectable } from '@angular/core';\nimport { deepmerge } from '@odx/angular/internal';\nimport { getUniqueId, Queue } from '@odx/angular/utils';\nimport { Toast, ToastOptions, ToastRef } from './models';\nimport { injectToastConfig } from './toast.config';\n\n/**\n * ToastService provides a centralized management system for toasts within an application.\n * It handles the creation, updates, and dismissal of toasts based on a FIFO (first-in, first-out) queue.\n * This service integrates custom toast options with default configurations and supports reactive updates through observables.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class ToastService {\n private readonly queue = new Queue<ToastRef>();\n private readonly defaultOptions = injectToastConfig();\n\n /**\n * Observable stream of active toasts.\n *\n * @emits {ToastRef[]} The current list of active toasts.\n */\n public readonly toasts$ = this.queue.value$;\n\n /**\n * Observable that emits when any update occurs in the toast queue.\n *\n * @emits {ToastRef[]} The updated list of active toasts.\n */\n public readonly onUpdate$ = this.queue.onUpdate$;\n\n /**\n * Observable that emits when a toast is added.\n *\n * @emits {ToastRef} The newly added toast.\n */\n public readonly onToastAdd$ = this.queue.onAdd$;\n\n /**\n * Observable that emits when a toast is updated.\n *\n * @emits {ToastRef} The updated toast.\n */\n public readonly onToastUpdate$ = this.queue.onUpdate$;\n\n /**\n * Observable that emits when a toast is removed.\n *\n * @emits {ToastRef} The removed toast.\n */\n public readonly onToastRemove$ = this.queue.onRemove$;\n\n /**\n * @deprecated Use `toasts$` instead\n */\n public readonly queue$ = this.toasts$;\n /**\n * @deprecated Use `onToastAdd$` instead\n */\n public readonly onAdd$ = this.onToastAdd$;\n /**\n * @deprecated Use `onToastRemove$` instead\n */\n public readonly onRemove$ = this.onToastRemove$;\n\n /**\n * @deprecated Use `create` instead\n */\n public add(item: Toast, options: Partial<ToastOptions> = {}): ToastRef {\n return this.create(item, options);\n }\n\n /**\n * Creates and queues a new toast based on the provided item and options.\n * Merges given options with default configurations.\n *\n * @param {Toast} item The toast item to create.\n * @param {Partial<ToastOptions>} options Optional additional options for the toast.\n * @returns {ToastRef} The reference to the newly created toast.\n */\n public create(item: Toast, options: Partial<ToastOptions> = {}): ToastRef {\n return this.queue.add({\n id: item.id ?? getUniqueId('odx-toast'),\n item,\n options: deepmerge(this.defaultOptions, options) as ToastOptions,\n });\n }\n\n /**\n * @deprecated Use `dismiss` instead\n */\n public remove(refOrId: ToastRef | ToastRef['id']): ToastRef | null {\n return this.dismiss(refOrId);\n }\n\n /**\n * Dismisses a specific toast identified by a reference or ID.\n *\n * @param {ToastRef | ToastRef['id']} refOrId The reference or ID of the toast to dismiss.\n * @returns {ToastRef | null} The reference to the dismissed toast, or null if not found.\n */\n public dismiss(refOrId: ToastRef | ToastRef['id']): ToastRef | null {\n return this.queue.remove(refOrId);\n }\n\n /**\n * @deprecated Use `dismissAll` instead\n */\n public clear(): void {\n return this.dismissAll();\n }\n\n /**\n * Dismisses all toasts currently being displayed.\n */\n public dismissAll(): void {\n this.queue.clear();\n }\n}\n","export type ToastVariant = (typeof ToastVariant)[keyof typeof ToastVariant];\n\nexport const ToastVariant = {\n DEFAULT: 'default',\n WARNING: 'warning',\n DANGER: 'danger',\n SUCCESS: 'success',\n WARNING_STRONG: 'warning-strong',\n DANGER_STRONG: 'danger-strong',\n} as const;\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, Type, ViewEncapsulation } from '@angular/core';\nimport { DynamicContent, DynamicTextContent, DynamicViewDirective, GetDynamicViewContext } from '@odx/angular/cdk/dynamic-view';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { tap, timer } from 'rxjs';\nimport { ToastAction, ToastOptions, ToastVariant } from '../../models';\n\n/**\n * A component that represents a single toast notification. This component is responsible for displaying\n * message content, handling toast actions, and managing the automatic dismissal of the toast based on a duration.\n * It supports dynamic content for descriptions and can show an optional set of actions.\n */\n@CSSComponent('toast-item')\n@Component({\n selector: 'odx-toast',\n templateUrl: './toast-item.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [CommonModule, IconComponent, ButtonComponent, DynamicViewDirective, ActionGroupComponent],\n host: {\n '[attr.id]': 'id',\n },\n})\nexport class ToastItemComponent implements OnInit {\n private readonly takeUntilDestroyed = untilDestroyed();\n\n public readonly element = injectElement();\n\n /**\n * Determines the icon to display based on the toast's variant.\n * Returns a string representing the icon class.\n *\n * @returns {string} - The icon class name.\n * @default 'info'\n */\n public get icon(): string {\n switch (this.variant) {\n case ToastVariant.WARNING:\n return 'warning';\n case ToastVariant.DANGER:\n return 'error';\n case ToastVariant.SUCCESS:\n return 'check';\n default:\n return 'info';\n }\n }\n\n /**\n * Unique identifier for the toast item, typically provided for accessibility purposes.\n *\n * @required\n * @type {string}\n */\n @Input()\n public id!: string;\n\n /**\n * The main title of the toast, displayed prominently.\n *\n * @required\n * @type {DynamicTextContent}\n */\n @Input()\n public title!: DynamicTextContent;\n\n /**\n * Optional detailed description for the toast. This can be plain text or a dynamic template.\n *\n * @type {DynamicContent | null}\n */\n @Input()\n public description?: DynamicContent | null;\n\n /**\n * Context for rendering the dynamic component of the description.\n *\n * @type {GetDynamicViewContext<Type<unknown>> | undefined}\n */\n @Input()\n public descriptionContext?: GetDynamicViewContext<Type<unknown>>;\n\n /**\n * The variant of the toast which influences the icon and styling.\n *\n * @type {ToastVariant | null}\n * @default ToastVariant.DEFAULT\n */\n @CSSModifier()\n @Input()\n public variant?: ToastVariant | null = ToastVariant.DEFAULT;\n\n /**\n * Optional actions related to the toast, such as 'retry' or 'dismiss'.\n *\n * @type {ToastAction[] | undefined}\n */\n @Input()\n public actions?: ToastAction[];\n\n /**\n * Configuration options for the toast, including its duration and dismissal behavior.\n *\n * @required\n * @type {ToastOptions}\n */\n @Input()\n public options!: ToastOptions;\n\n /**\n * Emits an event when the toast is dismissed, either through action or automatically.\n *\n * @emits {void}\n */\n @Output()\n public readonly dismiss = new EventEmitter<void>();\n\n public ngOnInit(): void {\n const { duration } = this.options;\n if (duration > 0) {\n timer(duration)\n .pipe(\n this.takeUntilDestroyed(),\n tap(() => this.onDismiss()),\n )\n .subscribe();\n }\n }\n\n protected onDismiss(): void {\n this.dismiss.next();\n }\n}\n","<div class=\"odx-toast-item__content\">\n <odx-icon [name]=\"icon\" iconSet=\"core\" />\n <div class=\"odx-toast-item__text-content\">\n <p class=\"odx-toast-item__title\">\n <ng-template [odxDynamicView]=\"title\" />\n </p>\n @if (description) {\n <p class=\"odx-toast-item__description\">\n <ng-template [odxDynamicView]=\"description\" [odxDynamicViewContext]=\"descriptionContext\" />\n </p>\n }\n </div>\n @if (options.dismissable) {\n <button odxButton class=\"odx-toast-item__close\" (click)=\"onDismiss()\"><odx-icon name=\"close\" iconSet=\"core\" /></button>\n }\n</div>\n@if (!!actions?.length) {\n <odx-action-group class=\"odx-toast-item__buttons\">\n @for (action of actions; track $index) {\n <button odxButton (click)=\"action.action()\">\n @if (action.leftIcon) {\n <odx-icon [name]=\"action.leftIcon\" iconSet=\"core\" alignLeft />\n }\n <ng-template [odxDynamicView]=\"action.label\" />\n @if (action.rightIcon) {\n <odx-icon [name]=\"action.rightIcon\" iconSet=\"core\" alignRight />\n }\n </button>\n }\n </odx-action-group>\n}\n","import { group, transition, trigger, useAnimation } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n ViewEncapsulation,\n inject,\n numberAttribute,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { WindowRef } from '@odx/angular';\nimport { collapse, expand, fadeIn, slideInRight } from '@odx/angular/animations';\nimport { ChipComponent } from '@odx/angular/components/chip';\nimport { HeaderComponent } from '@odx/angular/components/header';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { deferFn, injectElement, px, setAttribute } from '@odx/angular/utils';\nimport { Observable, map } from 'rxjs';\nimport { ToastRef } from '../../models';\nimport { ToastService } from '../../toast.service';\nimport { ToastItemComponent } from '../toast-item/toast-item.component';\n\nconst TOAST_ANIMATION_DELAY = '125ms';\n\n/**\n * Represents a container component for displaying toast notifications. This component manages and arranges toast messages,\n * handling animations for entering and leaving toasts. It ensures that only a limited number of toasts are shown at the same time,\n * based on the `maxItems` input. The container listens for toast events from the `ToastService` to update its list of toasts dynamically.\n *\n * The component uses a group of animations to slide toasts in and out smoothly and also provides an output for when a toast is dismissed.\n * It's designed to integrate with a single instance per application, ensuring no more than one toast container is initialized.\n */\n@CSSComponent('toast-container')\n@Component({\n selector: 'odx-toast-container',\n templateUrl: './toast-container.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [CommonModule, ChipComponent, ToastItemComponent],\n animations: [\n trigger('slide', [\n transition(\n ':enter',\n group([\n useAnimation(expand),\n useAnimation(fadeIn(), { params: { delay: TOAST_ANIMATION_DELAY } }),\n useAnimation(slideInRight, { params: { delay: TOAST_ANIMATION_DELAY } }),\n ]),\n ),\n transition(':leave', group([useAnimation(collapse)])),\n ]),\n ],\n})\nexport class ToastContainerComponent implements AfterViewInit, OnDestroy {\n private static INITIALIZED = false;\n\n private readonly destroyRef = inject(DestroyRef);\n private readonly windowRef = inject(WindowRef);\n private readonly renderer = inject(Renderer2);\n private readonly toastService = inject(ToastService);\n\n public readonly element = injectElement();\n public readonly items$: Observable<ToastRef[]> = this.toastService.toasts$.pipe(map((refs) => refs.slice(0, this.maxItems)));\n public readonly hiddenToasts$: Observable<number> = this.toastService.toasts$.pipe(map((refs) => Math.max(0, refs.length - this.maxItems)));\n\n /**\n * Maximum number of toasts that can be displayed at once.\n *\n * @type {number}\n * @default 3\n */\n @Input({ transform: numberAttribute })\n public maxItems = 3;\n\n /**\n * Emits an event when a toast is dismissed.\n *\n * @emits {ToastRef} - The toast reference that was dismissed.\n */\n @Output()\n public readonly dismiss = this.toastService.onToastRemove$;\n\n public ngAfterViewInit(): void {\n setAttribute(this.element.nativeElement, 'popover', 'manual');\n if (ToastContainerComponent.INITIALIZED) {\n throw new Error('Only one toast container per application allowed');\n }\n ToastContainerComponent.INITIALIZED = true;\n const headerElement = this.windowRef.queryByComponent(HeaderComponent);\n if (headerElement) {\n this.renderer.setStyle(this.element.nativeElement, 'top', px(headerElement.offsetHeight));\n }\n this.items$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.updatePopverPosition());\n }\n\n public ngOnDestroy(): void {\n ToastContainerComponent.INITIALIZED = false;\n }\n\n protected onDismiss(itemRef: ToastRef): void {\n this.toastService.dismiss(itemRef);\n }\n\n private updatePopverPosition(): void {\n const el = this.element?.nativeElement;\n if (!el?.isConnected) return;\n\n el.hidePopover?.();\n deferFn(() => el.showPopover?.());\n }\n}\n","@for (toastRef of items$ | async; track toastRef.id) {\n <odx-toast\n @slide\n [id]=\"toastRef.id\"\n [title]=\"toastRef.item.title\"\n [description]=\"toastRef.item.description\"\n [descriptionContext]=\"toastRef.item.descriptionContext\"\n [actions]=\"toastRef.item.actions ?? []\"\n [variant]=\"toastRef.item.variant\"\n [options]=\"toastRef.options\"\n (dismiss)=\"onDismiss(toastRef)\"\n />\n}\n@if (hiddenToasts$ | async; as more) {\n <odx-chip class=\"odx-toast-container__counter\">{{ more }} more Notifications</odx-chip>\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { ToastContainerComponent, ToastItemComponent } from './components';\n\nconst modules = [ToastContainerComponent, ToastItemComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class ToastModule {}\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-toast.mjs","sources":["../../../../libs/angular/components/toast/src/lib/toast.config.ts","../../../../libs/angular/components/toast/src/lib/toast.service.ts","../../../../libs/angular/components/toast/src/lib/models/toast-variant.ts","../../../../libs/angular/components/toast/src/lib/components/toast-item/toast-item.component.ts","../../../../libs/angular/components/toast/src/lib/components/toast-item/toast-item.component.html","../../../../libs/angular/components/toast/src/lib/components/toast-container/toast-container.component.ts","../../../../libs/angular/components/toast/src/lib/components/toast-container/toast-container.component.html","../../../../libs/angular/components/toast/src/lib/toast.module.ts","../../../../libs/angular/components/toast/src/odx-angular-components-toast.ts"],"sourcesContent":["import { createConfigTokens } from '@odx/angular/utils';\nimport { ToastOptions } from './models/toast.options';\n\nexport type ToastConfig = ToastOptions;\n\n/**\n * Utility functions generated by `createConfigTokens` to handle injection and provision of `ToastConfig`.\n * These include tokens and functions to access and provide the default configuration for toasts.\n *\n * `ToastDefaultConfig` provides the default settings for toasts.\n * `ToastConfig` is a token that can be used to inject toast configuration settings.\n * `injectToastConfig` is a function that retrieves the current toast configuration.\n * `provideToastConfig` is a function used to specify a custom configuration for toasts.\n *\n * @example\n * ```ts\n * // In module providers:\n * providers: [\n * provideToastConfig({ // ... global module configuration }),\n * ]\n *\n * // In a component or service:\n * constructor(@Inject(ToastConfig) private readonly config: ToastConfig) {}\n *\n * // Or using the `injectToastConfig` function:\n * @Component({ ... })\n * export class MyComponent {\n * private readonly config = injectToastConfig();\n * }\n * ```\n */\nexport const { ToastDefaultConfig, ToastConfig, injectToastConfig, provideToastConfig } = createConfigTokens('Toast', '@odx/angular/components/toast', {\n dismissable: true,\n duration: 0,\n} as ToastConfig);\n","import { Injectable } from '@angular/core';\nimport { deepmerge } from '@odx/angular/internal';\nimport { getUniqueId, Queue } from '@odx/angular/utils';\nimport { Toast, ToastOptions, ToastRef } from './models';\nimport { injectToastConfig } from './toast.config';\n\n/**\n * ToastService provides a centralized management system for toasts within an application.\n * It handles the creation, updates, and dismissal of toasts based on a FIFO (first-in, first-out) queue.\n * This service integrates custom toast options with default configurations and supports reactive updates through observables.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class ToastService {\n private readonly queue = new Queue<ToastRef>();\n private readonly defaultOptions = injectToastConfig();\n\n /**\n * Observable stream of active toasts.\n *\n * @emits {ToastRef[]} The current list of active toasts.\n */\n public readonly toasts$ = this.queue.value$;\n\n /**\n * Observable that emits when any update occurs in the toast queue.\n *\n * @emits {ToastRef[]} The updated list of active toasts.\n */\n public readonly onUpdate$ = this.queue.onUpdate$;\n\n /**\n * Observable that emits when a toast is added.\n *\n * @emits {ToastRef} The newly added toast.\n */\n public readonly onToastAdd$ = this.queue.onAdd$;\n\n /**\n * Observable that emits when a toast is updated.\n *\n * @emits {ToastRef} The updated toast.\n */\n public readonly onToastUpdate$ = this.queue.onUpdate$;\n\n /**\n * Observable that emits when a toast is removed.\n *\n * @emits {ToastRef} The removed toast.\n */\n public readonly onToastRemove$ = this.queue.onRemove$;\n\n /**\n * Creates and queues a new toast based on the provided item and options.\n * Merges given options with default configurations.\n *\n * @param {Toast} item The toast item to create.\n * @param {Partial<ToastOptions>} options Optional additional options for the toast.\n * @returns {ToastRef} The reference to the newly created toast.\n */\n public create(item: Toast, options: Partial<ToastOptions> = {}): ToastRef {\n return this.queue.add({\n id: item.id ?? getUniqueId('odx-toast'),\n item,\n options: deepmerge(this.defaultOptions, options) as ToastOptions,\n });\n }\n\n /**\n * Dismisses a specific toast identified by a reference or ID.\n *\n * @param {ToastRef | ToastRef['id']} refOrId The reference or ID of the toast to dismiss.\n * @returns {ToastRef | null} The reference to the dismissed toast, or null if not found.\n */\n public dismiss(refOrId: ToastRef | ToastRef['id']): ToastRef | null {\n return this.queue.remove(refOrId);\n }\n\n /**\n * Dismisses all toasts currently being displayed.\n */\n public dismissAll(): void {\n this.queue.clear();\n }\n}\n","export type ToastVariant = (typeof ToastVariant)[keyof typeof ToastVariant];\n\nexport const ToastVariant = {\n DEFAULT: 'default',\n WARNING: 'warning',\n DANGER: 'danger',\n SUCCESS: 'success',\n WARNING_STRONG: 'warning-strong',\n DANGER_STRONG: 'danger-strong',\n} as const;\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, Type, ViewEncapsulation } from '@angular/core';\nimport { DynamicContent, DynamicTextContent, DynamicViewDirective, GetDynamicViewContext } from '@odx/angular/cdk/dynamic-view';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent, CSSModifier } from '@odx/angular/internal';\nimport { injectElement, untilDestroyed } from '@odx/angular/utils';\nimport { tap, timer } from 'rxjs';\nimport { ToastAction, ToastOptions, ToastVariant } from '../../models';\n\n/**\n * A component that represents a single toast notification. This component is responsible for displaying\n * message content, handling toast actions, and managing the automatic dismissal of the toast based on a duration.\n * It supports dynamic content for descriptions and can show an optional set of actions.\n */\n@CSSComponent('toast-item')\n@Component({\n selector: 'odx-toast',\n templateUrl: './toast-item.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [IconComponent, ButtonComponent, DynamicViewDirective, ActionGroupComponent],\n host: {\n '[attr.id]': 'id',\n },\n})\nexport class ToastItemComponent implements OnInit {\n private readonly takeUntilDestroyed = untilDestroyed();\n\n public readonly element = injectElement();\n\n /**\n * Determines the icon to display based on the toast's variant.\n * Returns a string representing the icon class.\n *\n * @returns {string} - The icon class name.\n * @default 'info'\n */\n public get icon(): string {\n switch (this.variant) {\n case ToastVariant.WARNING:\n return 'core::warning';\n case ToastVariant.DANGER:\n return 'core::error';\n case ToastVariant.SUCCESS:\n return 'core::check';\n default:\n return 'core::info';\n }\n }\n\n /**\n * Unique identifier for the toast item, typically provided for accessibility purposes.\n *\n * @required\n * @type {string}\n */\n @Input()\n public id!: string;\n\n /**\n * The main title of the toast, displayed prominently.\n *\n * @required\n * @type {DynamicTextContent}\n */\n @Input()\n public title!: DynamicTextContent;\n\n /**\n * Optional detailed description for the toast. This can be plain text or a dynamic template.\n *\n * @type {DynamicContent | null}\n */\n @Input()\n public description?: DynamicContent | null;\n\n /**\n * Context for rendering the dynamic component of the description.\n *\n * @type {GetDynamicViewContext<Type<unknown>> | undefined}\n */\n @Input()\n public descriptionContext?: GetDynamicViewContext<Type<unknown>>;\n\n /**\n * The variant of the toast which influences the icon and styling.\n *\n * @type {ToastVariant | null}\n * @default ToastVariant.DEFAULT\n */\n @CSSModifier()\n @Input()\n public variant?: ToastVariant | null = ToastVariant.DEFAULT;\n\n /**\n * Optional actions related to the toast, such as 'retry' or 'dismiss'.\n *\n * @type {ToastAction[] | undefined}\n */\n @Input()\n public actions?: ToastAction[];\n\n /**\n * Configuration options for the toast, including its duration and dismissal behavior.\n *\n * @required\n * @type {ToastOptions}\n */\n @Input()\n public options!: ToastOptions;\n\n /**\n * Emits an event when the toast is dismissed, either through action or automatically.\n *\n * @emits {void}\n */\n @Output()\n public readonly dismiss = new EventEmitter<void>();\n\n public ngOnInit(): void {\n const { duration } = this.options;\n if (duration > 0) {\n timer(duration)\n .pipe(\n this.takeUntilDestroyed(),\n tap(() => this.onDismiss()),\n )\n .subscribe();\n }\n }\n\n protected onDismiss(): void {\n this.dismiss.next();\n }\n}\n","<div class=\"odx-toast-item__content\">\n <odx-icon [name]=\"icon\" />\n <div class=\"odx-toast-item__text-content\">\n <p class=\"odx-toast-item__title\">\n <ng-template [odxDynamicView]=\"title\" />\n </p>\n @if (description) {\n <p class=\"odx-toast-item__description\">\n <ng-template [odxDynamicView]=\"description\" [odxDynamicViewContext]=\"descriptionContext\" />\n </p>\n }\n </div>\n @if (options.dismissable) {\n <button odxButton class=\"odx-toast-item__close\" (click)=\"onDismiss()\"><odx-icon name=\"core::close\" /></button>\n }\n</div>\n@if (!!actions?.length) {\n <odx-action-group class=\"odx-toast-item__buttons\">\n @for (action of actions; track $index) {\n <button odxButton (click)=\"action.action()\">\n @if (action.leftIcon) {\n <odx-icon [name]=\"action.leftIcon\" alignLeft />\n }\n <ng-template [odxDynamicView]=\"action.label\" />\n @if (action.rightIcon) {\n <odx-icon [name]=\"action.rightIcon\" alignRight />\n }\n </button>\n }\n </odx-action-group>\n}\n","import { group, transition, trigger, useAnimation } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n ViewEncapsulation,\n inject,\n numberAttribute,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { WindowRef } from '@odx/angular';\nimport { collapse, expand, fadeIn, slideInRight } from '@odx/angular/animations';\nimport { ChipComponent } from '@odx/angular/components/chip';\nimport { HeaderComponent } from '@odx/angular/components/header';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { deferFn, injectElement, px, setAttribute } from '@odx/angular/utils';\nimport { Observable, map } from 'rxjs';\nimport { ToastRef } from '../../models';\nimport { ToastService } from '../../toast.service';\nimport { ToastItemComponent } from '../toast-item/toast-item.component';\n\nconst TOAST_ANIMATION_DELAY = '125ms';\n\n/**\n * Represents a container component for displaying toast notifications. This component manages and arranges toast messages,\n * handling animations for entering and leaving toasts. It ensures that only a limited number of toasts are shown at the same time,\n * based on the `maxItems` input. The container listens for toast events from the `ToastService` to update its list of toasts dynamically.\n *\n * The component uses a group of animations to slide toasts in and out smoothly and also provides an output for when a toast is dismissed.\n * It's designed to integrate with a single instance per application, ensuring no more than one toast container is initialized.\n */\n@CSSComponent('toast-container')\n@Component({\n selector: 'odx-toast-container',\n templateUrl: './toast-container.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [CommonModule, ChipComponent, ToastItemComponent],\n animations: [\n trigger('slide', [\n transition(\n ':enter',\n group([\n useAnimation(expand),\n useAnimation(fadeIn(), { params: { delay: TOAST_ANIMATION_DELAY } }),\n useAnimation(slideInRight, { params: { delay: TOAST_ANIMATION_DELAY } }),\n ]),\n ),\n transition(':leave', group([useAnimation(collapse)])),\n ]),\n ],\n})\nexport class ToastContainerComponent implements AfterViewInit, OnDestroy {\n private static INITIALIZED = false;\n\n private readonly destroyRef = inject(DestroyRef);\n private readonly windowRef = inject(WindowRef);\n private readonly renderer = inject(Renderer2);\n private readonly toastService = inject(ToastService);\n\n public readonly element = injectElement();\n public readonly items$: Observable<ToastRef[]> = this.toastService.toasts$.pipe(map((refs) => refs.slice(0, this.maxItems)));\n public readonly hiddenToasts$: Observable<number> = this.toastService.toasts$.pipe(map((refs) => Math.max(0, refs.length - this.maxItems)));\n\n /**\n * Maximum number of toasts that can be displayed at once.\n *\n * @type {number}\n * @default 3\n */\n @Input({ transform: numberAttribute })\n public maxItems = 3;\n\n /**\n * Emits an event when a toast is dismissed.\n *\n * @emits {ToastRef} - The toast reference that was dismissed.\n */\n @Output()\n public readonly dismiss = this.toastService.onToastRemove$;\n\n public ngAfterViewInit(): void {\n setAttribute(this.element.nativeElement, 'popover', 'manual');\n if (ToastContainerComponent.INITIALIZED) {\n throw new Error('Only one toast container per application allowed');\n }\n ToastContainerComponent.INITIALIZED = true;\n const headerElement = this.windowRef.queryByComponent(HeaderComponent);\n if (headerElement) {\n this.renderer.setStyle(this.element.nativeElement, 'top', px(headerElement.offsetHeight));\n }\n this.items$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.updatePopverPosition());\n }\n\n public ngOnDestroy(): void {\n ToastContainerComponent.INITIALIZED = false;\n }\n\n protected onDismiss(itemRef: ToastRef): void {\n this.toastService.dismiss(itemRef);\n }\n\n private updatePopverPosition(): void {\n const el = this.element?.nativeElement;\n if (!el?.isConnected) return;\n\n el.hidePopover?.();\n deferFn(() => el.showPopover?.());\n }\n}\n","@for (toastRef of items$ | async; track toastRef.id) {\n <odx-toast\n @slide\n [id]=\"toastRef.id\"\n [title]=\"toastRef.item.title\"\n [description]=\"toastRef.item.description\"\n [descriptionContext]=\"toastRef.item.descriptionContext\"\n [actions]=\"toastRef.item.actions ?? []\"\n [variant]=\"toastRef.item.variant\"\n [options]=\"toastRef.options\"\n (dismiss)=\"onDismiss(toastRef)\"\n />\n}\n@if (hiddenToasts$ | async; as more) {\n <odx-chip class=\"odx-toast-container__counter\">{{ more }} more Notifications</odx-chip>\n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { ToastContainerComponent, ToastItemComponent } from './components';\n\nconst modules = [ToastContainerComponent, ToastItemComponent];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class ToastModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|