@odx/angular 1.0.0-rc.3 → 1.0.0-rc.5
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/animations/index.d.ts +1 -0
- package/animations/lib/wait-for-child-animations.d.ts +1 -0
- package/cdk/active-indicator/README.md +3 -0
- package/cdk/active-indicator/index.d.ts +2 -0
- package/cdk/active-indicator/lib/active-indicator.directive.d.ts +24 -0
- package/cdk/active-indicator/lib/models/active-indicator-direction.d.ts +5 -0
- package/cdk/active-indicator/lib/models/active-indicator-position.d.ts +6 -0
- package/cdk/active-indicator/lib/models/index.d.ts +2 -0
- package/cdk/checkbox-control/lib/checkbox-control.directive.d.ts +2 -3
- package/cdk/custom-form-control/lib/custom-form-control.d.ts +7 -14
- package/cdk/dynamic-view/lib/dynamic-view.component.d.ts +3 -3
- package/cdk/dynamic-view/lib/dynamic-view.directive.d.ts +3 -1
- package/cdk/dynamic-view/lib/dynamic-view.service.d.ts +1 -0
- package/cdk/dynamic-view/lib/facade/dynamic-view-ref.d.ts +1 -0
- package/cdk/dynamic-view/lib/helpers/create-projectable-nodes.d.ts +2 -0
- package/cdk/dynamic-view/lib/helpers/index.d.ts +1 -0
- package/cdk/dynamic-view/lib/models/dynamic-component-ref.d.ts +1 -0
- package/cdk/dynamic-view/lib/models/dynamic-template-ref.d.ts +1 -0
- package/cdk/dynamic-view/lib/models/dynamic-view-options.d.ts +7 -3
- package/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.d.ts +3 -0
- package/cdk/dynamic-view/lib/tokens/index.d.ts +1 -0
- package/components/checkbox/index.d.ts +2 -0
- package/components/checkbox/lib/checkbox.module.d.ts +9 -0
- package/components/checkbox/lib/checkbox.validator.d.ts +6 -0
- package/components/chip/README.md +3 -0
- package/components/chip/index.d.ts +2 -0
- package/components/chip/lib/chip.component.d.ts +15 -0
- package/components/chip/lib/models/chip-size.d.ts +5 -0
- package/components/chip/lib/models/chip-variant.d.ts +7 -0
- package/components/chip/lib/models/index.d.ts +2 -0
- package/components/circular-progress/README.md +3 -0
- package/components/circular-progress/index.d.ts +2 -0
- package/components/circular-progress/lib/circular-progress.component.d.ts +28 -0
- package/components/circular-progress/lib/models/circular-progress-size.d.ts +7 -0
- package/components/circular-progress/lib/models/index.d.ts +1 -0
- package/components/form-field/lib/components/form-group/form-group.component.d.ts +0 -1
- package/components/form-field/lib/directives/form-field-control.directive.d.ts +3 -4
- package/components/form-field/lib/form-field.config.d.ts +0 -5
- package/components/list/README.md +3 -0
- package/components/list/index.d.ts +3 -0
- package/components/list/lib/components/index.d.ts +1 -0
- package/components/list/lib/components/list-item.component.d.ts +14 -0
- package/components/list/lib/list.component.d.ts +5 -0
- package/components/list/lib/list.module.d.ts +9 -0
- package/components/loading-spinner/README.md +3 -0
- package/components/loading-spinner/index.d.ts +3 -0
- package/components/loading-spinner/lib/loading-spinner.component.d.ts +15 -0
- package/components/loading-spinner/lib/loading-spinner.directive.d.ts +26 -0
- package/components/loading-spinner/lib/loading-spinner.module.d.ts +9 -0
- package/components/loading-spinner/lib/loading-spinner.service.d.ts +9 -0
- package/components/main-menu/lib/directives/main-menu-item.directive.d.ts +6 -1
- package/components/main-menu/lib/main-menu.component.d.ts +3 -1
- package/components/modal/lib/components/modal-header/modal-header.component.d.ts +1 -0
- package/components/modal/lib/modal.component.d.ts +4 -3
- package/components/modal/lib/modal.directive.d.ts +8 -4
- package/components/modal/lib/modal.service.d.ts +0 -2
- package/components/modal/lib/models/index.d.ts +1 -0
- package/components/modal/lib/models/modal-options.d.ts +2 -0
- package/components/modal/lib/models/modal-ref.d.ts +4 -2
- package/components/modal/lib/models/modal-variant.d.ts +5 -0
- package/components/progress/README.md +3 -0
- package/components/progress/index.d.ts +1 -0
- package/components/progress/lib/progress.component.d.ts +14 -0
- package/components/rail-navigation/README.md +3 -0
- package/components/rail-navigation/index.d.ts +3 -0
- package/components/rail-navigation/lib/components/rail-navigation-item.component.d.ts +15 -0
- package/components/rail-navigation/lib/rail-navigation.component.d.ts +12 -0
- package/components/rail-navigation/lib/rail-navigation.module.d.ts +9 -0
- package/components/switch/index.d.ts +2 -0
- package/components/switch/lib/switch.module.d.ts +9 -0
- package/components/switch/lib/switch.validator.d.ts +6 -0
- package/components/toggle-button-group/lib/toggle-button-group.component.d.ts +5 -1
- package/esm2020/animations/index.mjs +2 -1
- package/esm2020/animations/lib/fade.mjs +2 -5
- package/esm2020/animations/lib/wait-for-child-animations.mjs +3 -0
- package/esm2020/cdk/active-indicator/index.mjs +3 -0
- package/esm2020/cdk/active-indicator/lib/active-indicator.directive.mjs +127 -0
- package/esm2020/cdk/active-indicator/lib/models/active-indicator-direction.mjs +5 -0
- package/esm2020/cdk/active-indicator/lib/models/active-indicator-position.mjs +6 -0
- package/esm2020/cdk/active-indicator/lib/models/index.mjs +3 -0
- package/esm2020/cdk/active-indicator/odx-angular-cdk-active-indicator.mjs +5 -0
- package/esm2020/cdk/checkbox-control/lib/checkbox-control.directive.mjs +13 -15
- package/esm2020/cdk/custom-form-control/lib/control.directive.mjs +4 -4
- package/esm2020/cdk/custom-form-control/lib/custom-form-control.mjs +20 -47
- package/esm2020/cdk/dynamic-view/lib/dynamic-view.component.mjs +23 -14
- package/esm2020/cdk/dynamic-view/lib/dynamic-view.directive.mjs +21 -9
- package/esm2020/cdk/dynamic-view/lib/dynamic-view.service.mjs +11 -9
- package/esm2020/cdk/dynamic-view/lib/facade/dynamic-view-ref.mjs +1 -1
- package/esm2020/cdk/dynamic-view/lib/helpers/create-projectable-nodes.mjs +9 -0
- package/esm2020/cdk/dynamic-view/lib/helpers/index.mjs +2 -1
- package/esm2020/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +13 -5
- package/esm2020/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +9 -5
- package/esm2020/cdk/dynamic-view/lib/models/dynamic-view-options.mjs +1 -1
- package/esm2020/cdk/dynamic-view/lib/tokens/dynamic-view-default-host.mjs +10 -0
- package/esm2020/cdk/dynamic-view/lib/tokens/index.mjs +2 -1
- package/esm2020/cdk/expandable/lib/directives/expandable-item.directive.mjs +4 -4
- package/esm2020/cdk/expandable/lib/directives/extandable-container.directive.mjs +4 -4
- package/esm2020/cdk/expandable/lib/expandable.module.mjs +5 -5
- package/esm2020/cdk/radio-group-control/lib/radio-control.directive.mjs +7 -7
- package/esm2020/cdk/radio-group-control/lib/radio-group-control.directive.mjs +4 -4
- package/esm2020/cdk/radio-group-control/lib/radio-group-control.module.mjs +5 -5
- package/esm2020/components/accordion/lib/accordion.component.mjs +4 -4
- package/esm2020/components/accordion/lib/accordion.module.mjs +5 -5
- package/esm2020/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +4 -4
- package/esm2020/components/accordion/lib/directives/accordion-item-title.mjs +4 -4
- package/esm2020/components/action-group/action-group.component.mjs +4 -4
- package/esm2020/components/area-header/area-header.component.mjs +4 -4
- package/esm2020/components/area-header/area-header.module.mjs +5 -5
- package/esm2020/components/area-header/directives/area-header-content.directive.mjs +4 -4
- package/esm2020/components/area-header/directives/area-header-subtitle.directive.mjs +4 -4
- package/esm2020/components/avatar/lib/avatar.component.mjs +4 -4
- package/esm2020/components/badge/lib/badge.component.mjs +6 -6
- package/esm2020/components/badge/lib/badge.directive.mjs +7 -7
- package/esm2020/components/button/lib/button.component.mjs +5 -5
- package/esm2020/components/button-group/lib/button-group.component.mjs +4 -4
- package/esm2020/components/checkbox/index.mjs +3 -1
- package/esm2020/components/checkbox/lib/checkbox.component.mjs +5 -5
- package/esm2020/components/checkbox/lib/checkbox.module.mjs +19 -0
- package/esm2020/components/checkbox/lib/checkbox.validator.mjs +28 -0
- package/esm2020/components/chip/index.mjs +3 -0
- package/esm2020/components/chip/lib/chip.component.mjs +54 -0
- package/esm2020/components/chip/lib/models/chip-size.mjs +5 -0
- package/esm2020/components/chip/lib/models/chip-variant.mjs +7 -0
- package/esm2020/components/chip/lib/models/index.mjs +3 -0
- package/esm2020/components/chip/odx-angular-components-chip.mjs +5 -0
- package/esm2020/components/circular-progress/index.mjs +3 -0
- package/esm2020/components/circular-progress/lib/circular-progress.component.mjs +91 -0
- package/esm2020/components/circular-progress/lib/models/circular-progress-size.mjs +7 -0
- package/esm2020/components/circular-progress/lib/models/index.mjs +2 -0
- package/esm2020/components/circular-progress/odx-angular-components-circular-progress.mjs +5 -0
- package/esm2020/components/content-box/lib/content-box.component.mjs +4 -4
- package/esm2020/components/content-box/lib/content-box.module.mjs +5 -5
- package/esm2020/components/content-box/lib/directives/content-box-footer-directive.mjs +4 -4
- package/esm2020/components/content-box/lib/directives/content-box-header-directive.mjs +4 -4
- package/esm2020/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +4 -4
- package/esm2020/components/form-field/lib/components/form-group/form-group.component.mjs +11 -13
- package/esm2020/components/form-field/lib/directives/form-field-control.directive.mjs +20 -13
- package/esm2020/components/form-field/lib/directives/form-field-error.directive.mjs +4 -4
- package/esm2020/components/form-field/lib/directives/form-field-hint.directive.mjs +4 -4
- package/esm2020/components/form-field/lib/directives/form-field-label.directive.mjs +4 -4
- package/esm2020/components/form-field/lib/directives/form.directive.mjs +4 -4
- package/esm2020/components/form-field/lib/form-field.component.mjs +4 -4
- package/esm2020/components/form-field/lib/form-field.config.mjs +1 -2
- package/esm2020/components/form-field/lib/form-field.module.mjs +5 -5
- package/esm2020/components/form-field/lib/form-field.service.mjs +4 -4
- package/esm2020/components/form-field/lib/services/form-field-error.service.mjs +4 -4
- package/esm2020/components/header/lib/directives/header-avatar.directive.mjs +4 -4
- package/esm2020/components/header/lib/directives/header-title.directive.mjs +4 -4
- package/esm2020/components/header/lib/header.component.mjs +4 -4
- package/esm2020/components/header/lib/header.module.mjs +5 -5
- package/esm2020/components/icon/lib/icon.component.mjs +4 -4
- package/esm2020/components/link/link.directive.mjs +4 -4
- package/esm2020/components/list/index.mjs +4 -0
- package/esm2020/components/list/lib/components/index.mjs +2 -0
- package/esm2020/components/list/lib/components/list-item.component.mjs +46 -0
- package/esm2020/components/list/lib/list.component.mjs +13 -0
- package/esm2020/components/list/lib/list.module.mjs +19 -0
- package/esm2020/components/list/odx-angular-components-list.mjs +5 -0
- package/esm2020/components/loading-spinner/index.mjs +4 -0
- package/esm2020/components/loading-spinner/lib/loading-spinner.component.mjs +58 -0
- package/esm2020/components/loading-spinner/lib/loading-spinner.directive.mjs +87 -0
- package/esm2020/components/loading-spinner/lib/loading-spinner.module.mjs +19 -0
- package/esm2020/components/loading-spinner/lib/loading-spinner.service.mjs +17 -0
- package/esm2020/components/loading-spinner/odx-angular-components-loading-spinner.mjs +5 -0
- package/esm2020/components/logo/logo.directive.mjs +4 -4
- package/esm2020/components/main-menu/lib/directives/main-menu-button.directive.mjs +4 -4
- package/esm2020/components/main-menu/lib/directives/main-menu-item.directive.mjs +20 -9
- package/esm2020/components/main-menu/lib/main-menu.component.mjs +7 -6
- package/esm2020/components/main-menu/lib/main-menu.module.mjs +5 -5
- package/esm2020/components/main-menu/lib/main-menu.service.mjs +4 -4
- package/esm2020/components/modal/lib/components/modal-footer/modal-footer.component.mjs +4 -4
- package/esm2020/components/modal/lib/components/modal-header/modal-header.component.mjs +10 -8
- package/esm2020/components/modal/lib/directives/modal-close.directive.mjs +4 -4
- package/esm2020/components/modal/lib/directives/modal-content.directive.mjs +4 -4
- package/esm2020/components/modal/lib/directives/modal-dismiss.directive.mjs +4 -4
- package/esm2020/components/modal/lib/modal.component.mjs +29 -16
- package/esm2020/components/modal/lib/modal.config.mjs +3 -1
- package/esm2020/components/modal/lib/modal.directive.mjs +24 -6
- package/esm2020/components/modal/lib/modal.module.mjs +5 -5
- package/esm2020/components/modal/lib/modal.service.mjs +8 -21
- package/esm2020/components/modal/lib/models/index.mjs +2 -1
- package/esm2020/components/modal/lib/models/modal-options.mjs +1 -1
- package/esm2020/components/modal/lib/models/modal-ref.mjs +9 -2
- package/esm2020/components/modal/lib/models/modal-variant.mjs +5 -0
- package/esm2020/components/modal/lib/services/open-modal-manager.service.mjs +4 -4
- package/esm2020/components/progress/index.mjs +2 -0
- package/esm2020/components/progress/lib/progress.component.mjs +51 -0
- package/esm2020/components/progress/odx-angular-components-progress.mjs +5 -0
- package/esm2020/components/radio-group/lib/components/radio-button/radio-button.component.mjs +5 -5
- package/esm2020/components/radio-group/lib/radio-group.component.mjs +4 -4
- package/esm2020/components/radio-group/lib/radio-group.module.mjs +5 -5
- package/esm2020/components/rail-navigation/index.mjs +4 -0
- package/esm2020/components/rail-navigation/lib/components/rail-navigation-item.component.mjs +43 -0
- package/esm2020/components/rail-navigation/lib/rail-navigation.component.mjs +41 -0
- package/esm2020/components/rail-navigation/lib/rail-navigation.module.mjs +19 -0
- package/esm2020/components/rail-navigation/odx-angular-components-rail-navigation.mjs +5 -0
- package/esm2020/components/switch/index.mjs +3 -1
- package/esm2020/components/switch/lib/switch.component.mjs +5 -5
- package/esm2020/components/switch/lib/switch.module.mjs +19 -0
- package/esm2020/components/switch/lib/switch.validator.mjs +28 -0
- package/esm2020/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +5 -5
- package/esm2020/components/toggle-button-group/lib/toggle-button-group.component.mjs +20 -11
- package/esm2020/components/toggle-button-group/lib/toggle-button-group.module.mjs +5 -5
- package/esm2020/lib/controllers/controller.mjs +15 -13
- package/esm2020/lib/controllers/disabled.controller.mjs +7 -6
- package/esm2020/lib/controllers/readonly.controller.mjs +7 -6
- package/esm2020/lib/core.module.mjs +5 -5
- package/esm2020/lib/directives/click-outside.directive.mjs +4 -4
- package/esm2020/lib/services/window-ref.mjs +4 -4
- package/esm2020/rxjs/index.mjs +2 -2
- package/esm2020/rxjs/lib/from-element-resize.mjs +14 -0
- package/esm2020/utils/lib/helpers/angular.mjs +5 -2
- package/esm2020/utils/lib/helpers/dom.mjs +24 -1
- package/fesm2015/odx-angular-animations.mjs +5 -3
- package/fesm2015/odx-angular-animations.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-active-indicator.mjs +142 -0
- package/fesm2015/odx-angular-cdk-active-indicator.mjs.map +1 -0
- package/fesm2015/odx-angular-cdk-checkbox-control.mjs +12 -14
- package/fesm2015/odx-angular-cdk-checkbox-control.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-custom-form-control.mjs +24 -51
- package/fesm2015/odx-angular-cdk-custom-form-control.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-dynamic-view.mjs +88 -38
- package/fesm2015/odx-angular-cdk-dynamic-view.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-expandable.mjs +10 -10
- package/fesm2015/odx-angular-cdk-expandable.mjs.map +1 -1
- package/fesm2015/odx-angular-cdk-radio-group-control.mjs +13 -13
- package/fesm2015/odx-angular-cdk-radio-group-control.mjs.map +1 -1
- package/fesm2015/odx-angular-components-accordion.mjs +13 -13
- package/fesm2015/odx-angular-components-accordion.mjs.map +1 -1
- package/fesm2015/odx-angular-components-action-group.mjs +3 -3
- package/fesm2015/odx-angular-components-action-group.mjs.map +1 -1
- package/fesm2015/odx-angular-components-area-header.mjs +13 -13
- package/fesm2015/odx-angular-components-area-header.mjs.map +1 -1
- package/fesm2015/odx-angular-components-avatar.mjs +3 -3
- package/fesm2015/odx-angular-components-avatar.mjs.map +1 -1
- package/fesm2015/odx-angular-components-badge.mjs +10 -10
- package/fesm2015/odx-angular-components-badge.mjs.map +1 -1
- package/fesm2015/odx-angular-components-button-group.mjs +3 -3
- package/fesm2015/odx-angular-components-button-group.mjs.map +1 -1
- package/fesm2015/odx-angular-components-button.mjs +4 -5
- package/fesm2015/odx-angular-components-button.mjs.map +1 -1
- package/fesm2015/odx-angular-components-checkbox.mjs +47 -7
- package/fesm2015/odx-angular-components-checkbox.mjs.map +1 -1
- package/fesm2015/odx-angular-components-chip.mjs +71 -0
- package/fesm2015/odx-angular-components-chip.mjs.map +1 -0
- package/fesm2015/odx-angular-components-circular-progress.mjs +103 -0
- package/fesm2015/odx-angular-components-circular-progress.mjs.map +1 -0
- package/fesm2015/odx-angular-components-content-box.mjs +13 -13
- package/fesm2015/odx-angular-components-content-box.mjs.map +1 -1
- package/fesm2015/odx-angular-components-form-field.mjs +52 -51
- package/fesm2015/odx-angular-components-form-field.mjs.map +1 -1
- package/fesm2015/odx-angular-components-header.mjs +13 -13
- package/fesm2015/odx-angular-components-header.mjs.map +1 -1
- package/fesm2015/odx-angular-components-icon.mjs +3 -3
- package/fesm2015/odx-angular-components-icon.mjs.map +1 -1
- package/fesm2015/odx-angular-components-link.mjs +3 -3
- package/fesm2015/odx-angular-components-link.mjs.map +1 -1
- package/fesm2015/odx-angular-components-list.mjs +79 -0
- package/fesm2015/odx-angular-components-list.mjs.map +1 -0
- package/fesm2015/odx-angular-components-loading-spinner.mjs +173 -0
- package/fesm2015/odx-angular-components-loading-spinner.mjs.map +1 -0
- package/fesm2015/odx-angular-components-logo.mjs +3 -3
- package/fesm2015/odx-angular-components-logo.mjs.map +1 -1
- package/fesm2015/odx-angular-components-main-menu.mjs +34 -23
- package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2015/odx-angular-components-modal.mjs +97 -66
- package/fesm2015/odx-angular-components-modal.mjs.map +1 -1
- package/fesm2015/odx-angular-components-progress.mjs +57 -0
- package/fesm2015/odx-angular-components-progress.mjs.map +1 -0
- package/fesm2015/odx-angular-components-radio-group.mjs +11 -11
- package/fesm2015/odx-angular-components-radio-group.mjs.map +1 -1
- package/fesm2015/odx-angular-components-rail-navigation.mjs +97 -0
- package/fesm2015/odx-angular-components-rail-navigation.mjs.map +1 -0
- package/fesm2015/odx-angular-components-switch.mjs +47 -7
- package/fesm2015/odx-angular-components-switch.mjs.map +1 -1
- package/fesm2015/odx-angular-components-toggle-button-group.mjs +26 -18
- package/fesm2015/odx-angular-components-toggle-button-group.mjs.map +1 -1
- package/fesm2015/odx-angular-rxjs.mjs +15 -6
- package/fesm2015/odx-angular-rxjs.mjs.map +1 -1
- package/fesm2015/odx-angular-utils.mjs +28 -2
- package/fesm2015/odx-angular-utils.mjs.map +1 -1
- package/fesm2015/odx-angular.mjs +38 -33
- package/fesm2015/odx-angular.mjs.map +1 -1
- package/fesm2020/odx-angular-animations.mjs +5 -6
- package/fesm2020/odx-angular-animations.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-active-indicator.mjs +142 -0
- package/fesm2020/odx-angular-cdk-active-indicator.mjs.map +1 -0
- package/fesm2020/odx-angular-cdk-checkbox-control.mjs +12 -14
- package/fesm2020/odx-angular-cdk-checkbox-control.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-custom-form-control.mjs +22 -49
- package/fesm2020/odx-angular-cdk-custom-form-control.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-dynamic-view.mjs +82 -33
- package/fesm2020/odx-angular-cdk-dynamic-view.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-expandable.mjs +10 -10
- package/fesm2020/odx-angular-cdk-expandable.mjs.map +1 -1
- package/fesm2020/odx-angular-cdk-radio-group-control.mjs +13 -13
- package/fesm2020/odx-angular-cdk-radio-group-control.mjs.map +1 -1
- package/fesm2020/odx-angular-components-accordion.mjs +13 -13
- package/fesm2020/odx-angular-components-accordion.mjs.map +1 -1
- package/fesm2020/odx-angular-components-action-group.mjs +3 -3
- package/fesm2020/odx-angular-components-action-group.mjs.map +1 -1
- package/fesm2020/odx-angular-components-area-header.mjs +13 -13
- package/fesm2020/odx-angular-components-area-header.mjs.map +1 -1
- package/fesm2020/odx-angular-components-avatar.mjs +3 -3
- package/fesm2020/odx-angular-components-avatar.mjs.map +1 -1
- package/fesm2020/odx-angular-components-badge.mjs +10 -10
- package/fesm2020/odx-angular-components-badge.mjs.map +1 -1
- package/fesm2020/odx-angular-components-button-group.mjs +3 -3
- package/fesm2020/odx-angular-components-button-group.mjs.map +1 -1
- package/fesm2020/odx-angular-components-button.mjs +4 -4
- package/fesm2020/odx-angular-components-button.mjs.map +1 -1
- package/fesm2020/odx-angular-components-checkbox.mjs +47 -7
- package/fesm2020/odx-angular-components-checkbox.mjs.map +1 -1
- package/fesm2020/odx-angular-components-chip.mjs +71 -0
- package/fesm2020/odx-angular-components-chip.mjs.map +1 -0
- package/fesm2020/odx-angular-components-circular-progress.mjs +103 -0
- package/fesm2020/odx-angular-components-circular-progress.mjs.map +1 -0
- package/fesm2020/odx-angular-components-content-box.mjs +13 -13
- package/fesm2020/odx-angular-components-content-box.mjs.map +1 -1
- package/fesm2020/odx-angular-components-form-field.mjs +52 -51
- package/fesm2020/odx-angular-components-form-field.mjs.map +1 -1
- package/fesm2020/odx-angular-components-header.mjs +13 -13
- package/fesm2020/odx-angular-components-header.mjs.map +1 -1
- package/fesm2020/odx-angular-components-icon.mjs +3 -3
- package/fesm2020/odx-angular-components-icon.mjs.map +1 -1
- package/fesm2020/odx-angular-components-link.mjs +3 -3
- package/fesm2020/odx-angular-components-link.mjs.map +1 -1
- package/fesm2020/odx-angular-components-list.mjs +78 -0
- package/fesm2020/odx-angular-components-list.mjs.map +1 -0
- package/fesm2020/odx-angular-components-loading-spinner.mjs +172 -0
- package/fesm2020/odx-angular-components-loading-spinner.mjs.map +1 -0
- package/fesm2020/odx-angular-components-logo.mjs +3 -3
- package/fesm2020/odx-angular-components-logo.mjs.map +1 -1
- package/fesm2020/odx-angular-components-main-menu.mjs +34 -23
- package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2020/odx-angular-components-modal.mjs +96 -65
- package/fesm2020/odx-angular-components-modal.mjs.map +1 -1
- package/fesm2020/odx-angular-components-progress.mjs +57 -0
- package/fesm2020/odx-angular-components-progress.mjs.map +1 -0
- package/fesm2020/odx-angular-components-radio-group.mjs +11 -11
- package/fesm2020/odx-angular-components-radio-group.mjs.map +1 -1
- package/fesm2020/odx-angular-components-rail-navigation.mjs +96 -0
- package/fesm2020/odx-angular-components-rail-navigation.mjs.map +1 -0
- package/fesm2020/odx-angular-components-switch.mjs +47 -7
- package/fesm2020/odx-angular-components-switch.mjs.map +1 -1
- package/fesm2020/odx-angular-components-toggle-button-group.mjs +26 -18
- package/fesm2020/odx-angular-components-toggle-button-group.mjs.map +1 -1
- package/fesm2020/odx-angular-rxjs.mjs +15 -6
- package/fesm2020/odx-angular-rxjs.mjs.map +1 -1
- package/fesm2020/odx-angular-utils.mjs +28 -2
- package/fesm2020/odx-angular-utils.mjs.map +1 -1
- package/fesm2020/odx-angular.mjs +38 -33
- package/fesm2020/odx-angular.mjs.map +1 -1
- package/lib/controllers/controller.d.ts +1 -2
- package/package.json +59 -2
- package/rxjs/index.d.ts +1 -1
- package/rxjs/lib/from-element-resize.d.ts +2 -0
- package/utils/lib/helpers/angular.d.ts +2 -1
- package/utils/lib/helpers/dom.d.ts +5 -1
- package/esm2020/rxjs/lib/mark-for-check.mjs +0 -5
- package/rxjs/lib/mark-for-check.d.ts +0 -3
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { __decorate, __metadata } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, Directive, Input, HostListener, ContentChild,
|
|
3
|
+
import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, Directive, Input, HostListener, ContentChild, Injectable, Injector, TemplateRef, EventEmitter, Output, NgModule } from '@angular/core';
|
|
4
4
|
import { CSSComponent, CSSModifier } from '@odx/angular/internal';
|
|
5
|
-
import { injectElement, createModuleConfigTokens,
|
|
5
|
+
import { injectElement, getInjector, createModuleConfigTokens, hasChanged, provideModuleConfig } from '@odx/angular/utils';
|
|
6
6
|
import * as i2 from '@odx/angular';
|
|
7
|
-
import { CoreModule } from '@odx/angular';
|
|
7
|
+
import { Controller, detectControllerChanges, CoreModule } from '@odx/angular';
|
|
8
8
|
import { ActionGroupComponent } from '@odx/angular/components/action-group';
|
|
9
9
|
import { AreaHeaderSize, AreaHeaderComponent, AreaHeaderModule } from '@odx/angular/components/area-header';
|
|
10
10
|
import { ButtonComponent } from '@odx/angular/components/button';
|
|
11
11
|
import { IconComponent } from '@odx/angular/components/icon';
|
|
12
|
+
import { deepmerge } from 'deepmerge-ts';
|
|
12
13
|
import { Subject, share, merge, BehaviorSubject, shareReplay, finalize } from 'rxjs';
|
|
13
14
|
import * as i1 from '@angular/common';
|
|
14
|
-
import { Location
|
|
15
|
+
import { Location } from '@angular/common';
|
|
15
16
|
import { trigger, transition, group, useAnimation, query } from '@angular/animations';
|
|
16
17
|
import * as i1$1 from '@angular/cdk/a11y';
|
|
17
18
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
18
|
-
import { fadeIn, slideInY, fadeOut, slideOutY } from '@odx/angular/animations';
|
|
19
|
+
import { fadeIn, slideInY, fadeOut, slideOutY, slideInRight, slideOutRight } from '@odx/angular/animations';
|
|
19
20
|
import { DynamicViewDirective, DynamicViewService } from '@odx/angular/cdk/dynamic-view';
|
|
20
|
-
import { deepmerge } from 'deepmerge-ts';
|
|
21
21
|
import { ButtonGroupComponent } from '@odx/angular/components/button-group';
|
|
22
22
|
|
|
23
23
|
let ModalFooterComponent = class ModalFooterComponent {
|
|
@@ -25,18 +25,19 @@ let ModalFooterComponent = class ModalFooterComponent {
|
|
|
25
25
|
this.element = injectElement();
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
|
-
ModalFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
29
|
-
ModalFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
28
|
+
ModalFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
ModalFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: ModalFooterComponent, isStandalone: true, selector: "odx-modal-footer", ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
30
30
|
ModalFooterComponent = __decorate([
|
|
31
31
|
CSSComponent('modal__footer')
|
|
32
32
|
], ModalFooterComponent);
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalFooterComponent, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
35
|
args: [{ standalone: true, selector: 'odx-modal-footer', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n" }]
|
|
36
36
|
}] });
|
|
37
37
|
|
|
38
|
-
class ModalRef {
|
|
38
|
+
class ModalRef extends Controller {
|
|
39
39
|
constructor(internalOptions) {
|
|
40
|
+
super();
|
|
40
41
|
this.internalOptions = internalOptions;
|
|
41
42
|
this.onClose$$ = new Subject();
|
|
42
43
|
this.onDismiss$$ = new Subject();
|
|
@@ -53,6 +54,10 @@ class ModalRef {
|
|
|
53
54
|
get options() {
|
|
54
55
|
return this.internalOptions;
|
|
55
56
|
}
|
|
57
|
+
update(options) {
|
|
58
|
+
this.internalOptions = deepmerge(this.internalOptions, options);
|
|
59
|
+
this.triggerControllerChange();
|
|
60
|
+
}
|
|
56
61
|
dismiss() {
|
|
57
62
|
this.onDismiss$$.next();
|
|
58
63
|
this.destroy();
|
|
@@ -73,6 +78,11 @@ const ModalSize = {
|
|
|
73
78
|
LARGE: 'large',
|
|
74
79
|
};
|
|
75
80
|
|
|
81
|
+
const ModalVariant = {
|
|
82
|
+
DEFAULT: 'default',
|
|
83
|
+
SIDESHEET: 'sidesheet',
|
|
84
|
+
};
|
|
85
|
+
|
|
76
86
|
function injectModalRef() {
|
|
77
87
|
return inject((ModalRef));
|
|
78
88
|
}
|
|
@@ -91,9 +101,9 @@ class ModalCloseDirective {
|
|
|
91
101
|
this.modalRef.close(result ?? null);
|
|
92
102
|
}
|
|
93
103
|
}
|
|
94
|
-
ModalCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
95
|
-
ModalCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
104
|
+
ModalCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
105
|
+
ModalCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: ModalCloseDirective, isStandalone: true, selector: "[odxModalClose]", inputs: { result: ["odxModalClose", "result"] }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalCloseDirective, decorators: [{
|
|
97
107
|
type: Directive,
|
|
98
108
|
args: [{
|
|
99
109
|
standalone: true,
|
|
@@ -112,12 +122,12 @@ let ModalContentDirective = class ModalContentDirective {
|
|
|
112
122
|
this.element = injectElement();
|
|
113
123
|
}
|
|
114
124
|
};
|
|
115
|
-
ModalContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
116
|
-
ModalContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
125
|
+
ModalContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
126
|
+
ModalContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: ModalContentDirective, isStandalone: true, selector: "odx-modal-content", ngImport: i0 });
|
|
117
127
|
ModalContentDirective = __decorate([
|
|
118
128
|
CSSComponent('modal__content')
|
|
119
129
|
], ModalContentDirective);
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalContentDirective, decorators: [{
|
|
121
131
|
type: Directive,
|
|
122
132
|
args: [{
|
|
123
133
|
standalone: true,
|
|
@@ -133,9 +143,9 @@ class ModalDismissDirective {
|
|
|
133
143
|
this.modalRef.dismiss();
|
|
134
144
|
}
|
|
135
145
|
}
|
|
136
|
-
ModalDismissDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
137
|
-
ModalDismissDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
138
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
146
|
+
ModalDismissDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalDismissDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
147
|
+
ModalDismissDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: ModalDismissDirective, isStandalone: true, selector: "[odxModalDismiss]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
|
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalDismissDirective, decorators: [{
|
|
139
149
|
type: Directive,
|
|
140
150
|
args: [{
|
|
141
151
|
standalone: true,
|
|
@@ -150,6 +160,7 @@ let ModalHeaderComponent = class ModalHeaderComponent {
|
|
|
150
160
|
constructor() {
|
|
151
161
|
this.modalRef = injectModalRef();
|
|
152
162
|
this.element = injectElement();
|
|
163
|
+
detectControllerChanges(this.modalRef).subscribe();
|
|
153
164
|
}
|
|
154
165
|
ngAfterContentInit() {
|
|
155
166
|
if (this.areaHeaderComponent) {
|
|
@@ -157,15 +168,16 @@ let ModalHeaderComponent = class ModalHeaderComponent {
|
|
|
157
168
|
}
|
|
158
169
|
}
|
|
159
170
|
};
|
|
160
|
-
ModalHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
161
|
-
ModalHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
171
|
+
ModalHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
172
|
+
ModalHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: ModalHeaderComponent, isStandalone: true, selector: "odx-modal-header", queries: [{ propertyName: "areaHeaderComponent", first: true, predicate: AreaHeaderComponent, descendants: true }], ngImport: i0, template: "<ng-content select=\"odx-area-header\"></ng-content>\n<odx-action-group class=\"odx-modal__dismiss\" *ngIf=\"modalRef.options.dismissable\">\n <button odxButton odxModalDismiss>\n <odx-icon name=\"close\"></odx-icon>\n </button>\n</odx-action-group>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name"] }, { kind: "directive", type: ModalDismissDirective, selector: "[odxModalDismiss]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
162
173
|
ModalHeaderComponent = __decorate([
|
|
163
|
-
CSSComponent('modal__header')
|
|
174
|
+
CSSComponent('modal__header'),
|
|
175
|
+
__metadata("design:paramtypes", [])
|
|
164
176
|
], ModalHeaderComponent);
|
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalHeaderComponent, decorators: [{
|
|
166
178
|
type: Component,
|
|
167
179
|
args: [{ standalone: true, selector: 'odx-modal-header', imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent, ModalDismissDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"odx-area-header\"></ng-content>\n<odx-action-group class=\"odx-modal__dismiss\" *ngIf=\"modalRef.options.dismissable\">\n <button odxButton odxModalDismiss>\n <odx-icon name=\"close\"></odx-icon>\n </button>\n</odx-action-group>\n" }]
|
|
168
|
-
}], propDecorators: { areaHeaderComponent: [{
|
|
180
|
+
}], ctorParameters: function () { return []; }, propDecorators: { areaHeaderComponent: [{
|
|
169
181
|
type: ContentChild,
|
|
170
182
|
args: [AreaHeaderComponent]
|
|
171
183
|
}] } });
|
|
@@ -173,10 +185,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
|
|
|
173
185
|
let ModalComponent = class ModalComponent {
|
|
174
186
|
constructor() {
|
|
175
187
|
this.modalRef = injectModalRef();
|
|
176
|
-
this.injector =
|
|
188
|
+
this.injector = getInjector();
|
|
177
189
|
this.context = { $implicit: this.modalRef };
|
|
178
190
|
this.element = injectElement();
|
|
179
191
|
this.size = this.modalRef.options.size;
|
|
192
|
+
this.variant = this.modalRef.options.variant;
|
|
193
|
+
detectControllerChanges(this.modalRef).subscribe(() => {
|
|
194
|
+
this.size = this.modalRef.options.size;
|
|
195
|
+
});
|
|
180
196
|
}
|
|
181
197
|
onClose() {
|
|
182
198
|
if (this.modalRef.options.dismissable) {
|
|
@@ -184,32 +200,41 @@ let ModalComponent = class ModalComponent {
|
|
|
184
200
|
}
|
|
185
201
|
}
|
|
186
202
|
};
|
|
187
|
-
ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
188
|
-
ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
203
|
+
ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
204
|
+
ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: ModalComponent, isStandalone: true, selector: "odx-modal", inputs: { content: "content" }, host: { listeners: { "keyup.esc": "onClose()" }, properties: { "@hostAnimation": "variant", "attr.id": "modalRef.options.id" } }, ngImport: i0, template: "<div\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n [odxClickOutsideActive]=\"modalRef.options.dismissable\"\n [attr.aria-labelledby]=\"modalRef.modalTitleId\"\n class=\"odx-modal__container\"\n role=\"dialog\"\n (odxClickOutside)=\"modalRef.dismiss()\"\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewContext]=\"context\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i2.ClickOutsideDirective, selector: "[odxClickOutside]", inputs: ["odxClickOutsideActive"], outputs: ["odxClickOutside"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], animations: [
|
|
189
205
|
trigger('hostAnimation', [
|
|
190
|
-
transition('
|
|
191
|
-
transition('
|
|
206
|
+
transition('void => default', group([useAnimation(fadeIn()), query('.odx-modal__container', useAnimation(slideInY('8px')))])),
|
|
207
|
+
transition('default => void', group([useAnimation(fadeOut()), query('.odx-modal__container', useAnimation(slideOutY('8px')))])),
|
|
208
|
+
transition('void => sidesheet', query('.odx-modal__container', useAnimation(slideInRight))),
|
|
209
|
+
transition('sidesheet => void', query('.odx-modal__container', useAnimation(slideOutRight))),
|
|
192
210
|
]),
|
|
193
211
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
194
212
|
__decorate([
|
|
195
213
|
CSSModifier(),
|
|
196
214
|
__metadata("design:type", Object)
|
|
197
215
|
], ModalComponent.prototype, "size", void 0);
|
|
216
|
+
__decorate([
|
|
217
|
+
CSSModifier(),
|
|
218
|
+
__metadata("design:type", Object)
|
|
219
|
+
], ModalComponent.prototype, "variant", void 0);
|
|
198
220
|
ModalComponent = __decorate([
|
|
199
|
-
CSSComponent('modal')
|
|
221
|
+
CSSComponent('modal'),
|
|
222
|
+
__metadata("design:paramtypes", [])
|
|
200
223
|
], ModalComponent);
|
|
201
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
224
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalComponent, decorators: [{
|
|
202
225
|
type: Component,
|
|
203
226
|
args: [{ standalone: true, selector: 'odx-modal', imports: [A11yModule, ActionGroupComponent, ButtonComponent, IconComponent, CoreModule, DynamicViewDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
204
|
-
'[@hostAnimation]': '
|
|
227
|
+
'[@hostAnimation]': 'variant',
|
|
205
228
|
'[attr.id]': 'modalRef.options.id',
|
|
206
229
|
}, animations: [
|
|
207
230
|
trigger('hostAnimation', [
|
|
208
|
-
transition('
|
|
209
|
-
transition('
|
|
231
|
+
transition('void => default', group([useAnimation(fadeIn()), query('.odx-modal__container', useAnimation(slideInY('8px')))])),
|
|
232
|
+
transition('default => void', group([useAnimation(fadeOut()), query('.odx-modal__container', useAnimation(slideOutY('8px')))])),
|
|
233
|
+
transition('void => sidesheet', query('.odx-modal__container', useAnimation(slideInRight))),
|
|
234
|
+
transition('sidesheet => void', query('.odx-modal__container', useAnimation(slideOutRight))),
|
|
210
235
|
]),
|
|
211
236
|
], template: "<div\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n [odxClickOutsideActive]=\"modalRef.options.dismissable\"\n [attr.aria-labelledby]=\"modalRef.modalTitleId\"\n class=\"odx-modal__container\"\n role=\"dialog\"\n (odxClickOutside)=\"modalRef.dismiss()\"\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewContext]=\"context\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n" }]
|
|
212
|
-
}], propDecorators: { size: [], content: [{
|
|
237
|
+
}], ctorParameters: function () { return []; }, propDecorators: { size: [], variant: [], content: [{
|
|
213
238
|
type: Input
|
|
214
239
|
}], onClose: [{
|
|
215
240
|
type: HostListener,
|
|
@@ -220,6 +245,7 @@ const { ModalDefaultModuleConfig, ModalModuleConfig, injectModalModuleConfig } =
|
|
|
220
245
|
dismissable: true,
|
|
221
246
|
size: ModalSize.MEDIUM,
|
|
222
247
|
dismissOnNavigation: true,
|
|
248
|
+
variant: ModalVariant.DEFAULT,
|
|
223
249
|
});
|
|
224
250
|
|
|
225
251
|
class OpenModalManagerService {
|
|
@@ -253,18 +279,17 @@ class OpenModalManagerService {
|
|
|
253
279
|
}
|
|
254
280
|
}
|
|
255
281
|
}
|
|
256
|
-
OpenModalManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
257
|
-
OpenModalManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
|
258
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
282
|
+
OpenModalManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: OpenModalManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
283
|
+
OpenModalManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: OpenModalManagerService, providedIn: 'root' });
|
|
284
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: OpenModalManagerService, decorators: [{
|
|
259
285
|
type: Injectable,
|
|
260
286
|
args: [{ providedIn: 'root' }]
|
|
261
287
|
}] });
|
|
262
288
|
|
|
263
289
|
class ModalService {
|
|
264
290
|
constructor() {
|
|
265
|
-
this.injector =
|
|
291
|
+
this.injector = getInjector();
|
|
266
292
|
this.moduleConfig = injectModalModuleConfig();
|
|
267
|
-
this.document = inject(DOCUMENT);
|
|
268
293
|
this.openModalManager = inject(OpenModalManagerService);
|
|
269
294
|
this.dynamicViewService = inject(DynamicViewService);
|
|
270
295
|
this.openModals$ = this.openModalManager.modals$;
|
|
@@ -276,15 +301,13 @@ class ModalService {
|
|
|
276
301
|
return this.openModalManager.getById(id);
|
|
277
302
|
}
|
|
278
303
|
open(content, options) {
|
|
279
|
-
const mergedOptions = this.
|
|
304
|
+
const mergedOptions = deepmerge(this.moduleConfig, { id: `odx-modal-${ModalService.ID++}` }, options ?? {});
|
|
280
305
|
const modalRef = new ModalRef(mergedOptions);
|
|
281
306
|
this.openModalManager.add(modalRef);
|
|
282
307
|
this.attachModal(modalRef, content);
|
|
283
308
|
return modalRef;
|
|
284
309
|
}
|
|
285
310
|
attachModal(modalRef, content) {
|
|
286
|
-
const hostElement = modalRef.options.host;
|
|
287
|
-
const isViewContainerHost = isViewContainer(hostElement);
|
|
288
311
|
const injector = Injector.create({
|
|
289
312
|
providers: [provideModalRef(modalRef)],
|
|
290
313
|
parent: this.injector,
|
|
@@ -292,28 +315,19 @@ class ModalService {
|
|
|
292
315
|
const viewRef = this.dynamicViewService.createView(ModalComponent, {
|
|
293
316
|
context: { content },
|
|
294
317
|
injector,
|
|
295
|
-
|
|
318
|
+
host: modalRef.options.host,
|
|
296
319
|
});
|
|
297
320
|
const onDestroy = () => {
|
|
298
321
|
viewRef.destroy();
|
|
299
322
|
this.openModalManager.remove(modalRef);
|
|
300
323
|
};
|
|
301
|
-
if (!isViewContainerHost) {
|
|
302
|
-
hostElement.appendChild(viewRef.getElement());
|
|
303
|
-
}
|
|
304
324
|
modalRef.onDestroy$.pipe(finalize(() => onDestroy())).subscribe();
|
|
305
325
|
}
|
|
306
|
-
mergeOptions(options) {
|
|
307
|
-
return deepmerge(this.moduleConfig, {
|
|
308
|
-
id: `odx-modal-${ModalService.ID++}`,
|
|
309
|
-
host: this.document.body,
|
|
310
|
-
}, options ?? {});
|
|
311
|
-
}
|
|
312
326
|
}
|
|
313
327
|
ModalService.ID = 0;
|
|
314
|
-
ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
315
|
-
ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
|
316
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
328
|
+
ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
329
|
+
ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalService, providedIn: 'root' });
|
|
330
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalService, decorators: [{
|
|
317
331
|
type: Injectable,
|
|
318
332
|
args: [{ providedIn: 'root' }]
|
|
319
333
|
}] });
|
|
@@ -323,20 +337,31 @@ class ModalDirective {
|
|
|
323
337
|
this.modalService = inject(ModalService);
|
|
324
338
|
this.modalRef = null;
|
|
325
339
|
this.template = inject(TemplateRef);
|
|
340
|
+
// eslint-disable-next-line @angular-eslint/no-output-rename
|
|
341
|
+
this.modalClose = new EventEmitter();
|
|
342
|
+
// eslint-disable-next-line @angular-eslint/no-output-rename
|
|
343
|
+
this.modalDismiss = new EventEmitter();
|
|
344
|
+
}
|
|
345
|
+
ngOnChanges(changes) {
|
|
346
|
+
if (hasChanged(changes, 'modalOptions') && this.modalOptions) {
|
|
347
|
+
this.modalRef?.update(this.modalOptions);
|
|
348
|
+
}
|
|
326
349
|
}
|
|
327
350
|
ngOnDestroy() {
|
|
328
|
-
this.
|
|
351
|
+
this.dismiss();
|
|
329
352
|
}
|
|
330
353
|
open() {
|
|
331
354
|
this.modalRef = this.modalService.open(this.template, this.modalOptions || {});
|
|
355
|
+
this.modalRef.onClose$.subscribe((result) => this.modalClose.next(result));
|
|
356
|
+
this.modalRef.onDismiss$.subscribe((result) => this.modalDismiss.next(result));
|
|
332
357
|
}
|
|
333
358
|
dismiss() {
|
|
334
359
|
this.modalRef?.dismiss();
|
|
335
360
|
}
|
|
336
361
|
}
|
|
337
|
-
ModalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
338
|
-
ModalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
339
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
362
|
+
ModalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
363
|
+
ModalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: ModalDirective, isStandalone: true, selector: "ng-template[odxModal]", inputs: { modalOptions: ["odxModal", "modalOptions"] }, outputs: { modalClose: "odxModalClose", modalDismiss: "odxModalDismiss" }, exportAs: ["odxModal"], usesOnChanges: true, ngImport: i0 });
|
|
364
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalDirective, decorators: [{
|
|
340
365
|
type: Directive,
|
|
341
366
|
args: [{
|
|
342
367
|
standalone: true,
|
|
@@ -346,6 +371,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
|
|
|
346
371
|
}], propDecorators: { modalOptions: [{
|
|
347
372
|
type: Input,
|
|
348
373
|
args: ['odxModal']
|
|
374
|
+
}], modalClose: [{
|
|
375
|
+
type: Output,
|
|
376
|
+
args: ['odxModalClose']
|
|
377
|
+
}], modalDismiss: [{
|
|
378
|
+
type: Output,
|
|
379
|
+
args: ['odxModalDismiss']
|
|
349
380
|
}] } });
|
|
350
381
|
|
|
351
382
|
const modules = [ModalComponent, ModalHeaderComponent, ModalFooterComponent, ModalDirective, ModalCloseDirective, ModalContentDirective, ModalDismissDirective];
|
|
@@ -357,10 +388,10 @@ class ModalModule {
|
|
|
357
388
|
};
|
|
358
389
|
}
|
|
359
390
|
}
|
|
360
|
-
ModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
361
|
-
ModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.
|
|
362
|
-
ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.
|
|
363
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
391
|
+
ModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
392
|
+
ModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.10", ngImport: i0, type: ModalModule, imports: [ButtonComponent, ButtonGroupComponent, ModalComponent, ModalHeaderComponent, ModalFooterComponent, ModalDirective, ModalCloseDirective, ModalContentDirective, ModalDismissDirective], exports: [CoreModule, AreaHeaderModule, ButtonComponent, ButtonGroupComponent, ModalComponent, ModalHeaderComponent, ModalFooterComponent, ModalDirective, ModalCloseDirective, ModalContentDirective, ModalDismissDirective] });
|
|
393
|
+
ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalModule, imports: [ButtonComponent, ButtonGroupComponent, ModalComponent, ModalHeaderComponent, ModalFooterComponent, CoreModule, AreaHeaderModule] });
|
|
394
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ModalModule, decorators: [{
|
|
364
395
|
type: NgModule,
|
|
365
396
|
args: [{
|
|
366
397
|
imports: [ButtonComponent, ButtonGroupComponent, ...modules],
|
|
@@ -372,5 +403,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
|
|
|
372
403
|
* Generated bundle index. Do not edit.
|
|
373
404
|
*/
|
|
374
405
|
|
|
375
|
-
export { ModalCloseDirective, ModalComponent, ModalContentDirective, ModalDefaultModuleConfig, ModalDirective, ModalDismissDirective, ModalFooterComponent, ModalHeaderComponent, ModalModule, ModalModuleConfig, ModalRef, ModalService, ModalSize, OpenModalManagerService, injectModalModuleConfig };
|
|
406
|
+
export { ModalCloseDirective, ModalComponent, ModalContentDirective, ModalDefaultModuleConfig, ModalDirective, ModalDismissDirective, ModalFooterComponent, ModalHeaderComponent, ModalModule, ModalModuleConfig, ModalRef, ModalService, ModalSize, ModalVariant, OpenModalManagerService, injectModalModuleConfig };
|
|
376
407
|
//# sourceMappingURL=odx-angular-components-modal.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-components-modal.mjs","sources":["../../../../libs/angular/components/modal/src/lib/components/modal-footer/modal-footer.component.ts","../../../../libs/angular/components/modal/src/lib/components/modal-footer/modal-footer.component.html","../../../../libs/angular/components/modal/src/lib/models/modal-ref.ts","../../../../libs/angular/components/modal/src/lib/models/modal-size.ts","../../../../libs/angular/components/modal/src/lib/helpers/inject-modal-ref.ts","../../../../libs/angular/components/modal/src/lib/helpers/provide-modal-ref.ts","../../../../libs/angular/components/modal/src/lib/directives/modal-close.directive.ts","../../../../libs/angular/components/modal/src/lib/directives/modal-content.directive.ts","../../../../libs/angular/components/modal/src/lib/directives/modal-dismiss.directive.ts","../../../../libs/angular/components/modal/src/lib/components/modal-header/modal-header.component.ts","../../../../libs/angular/components/modal/src/lib/components/modal-header/modal-header.component.html","../../../../libs/angular/components/modal/src/lib/modal.component.ts","../../../../libs/angular/components/modal/src/lib/modal.component.html","../../../../libs/angular/components/modal/src/lib/modal.config.ts","../../../../libs/angular/components/modal/src/lib/services/open-modal-manager.service.ts","../../../../libs/angular/components/modal/src/lib/modal.service.ts","../../../../libs/angular/components/modal/src/lib/modal.directive.ts","../../../../libs/angular/components/modal/src/lib/modal.module.ts","../../../../libs/angular/components/modal/src/odx-angular-components-modal.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n@CSSComponent('modal__footer')\n@Component({\n standalone: true,\n selector: 'odx-modal-footer',\n templateUrl: './modal-footer.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalFooterComponent {\n public readonly element = injectElement();\n}\n","<ng-content></ng-content>\n","import { merge, share, Subject } from 'rxjs';\nimport { ModalOptions } from './modal-options';\n\nexport class ModalRef<Data = unknown, Result = unknown> {\n private readonly onClose$$ = new Subject<Result>();\n private readonly onDismiss$$ = new Subject<void>();\n\n public readonly onClose$ = this.onClose$$.pipe(share({ resetOnRefCountZero: true }));\n public readonly onDismiss$ = this.onDismiss$$.pipe(share({ resetOnRefCountZero: true }));\n public readonly onDestroy$ = merge(this.onClose$, this.onDismiss$);\n\n public get modalTitleId(): string {\n return `${this.options.id}-title`;\n }\n\n public get data(): Data {\n return this.internalOptions.data;\n }\n\n public get options(): ModalOptions<Data> {\n return this.internalOptions;\n }\n\n constructor(private readonly internalOptions: ModalOptions<Data>) {}\n\n public dismiss(): void {\n this.onDismiss$$.next();\n this.destroy();\n }\n\n public close(result: Result): void {\n this.onClose$$.next(result);\n this.destroy();\n }\n\n private destroy(): void {\n this.onClose$$.complete();\n this.onDismiss$$.complete();\n }\n}\n","export type ModalSize = typeof ModalSize[keyof typeof ModalSize];\n\nexport const ModalSize = {\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n} as const;\n","import { inject } from '@angular/core';\nimport { ModalRef } from '../models';\n\nexport function injectModalRef<T>(): ModalRef<T> {\n return inject(ModalRef<T>);\n}\n","import { ValueProvider } from '@angular/core';\nimport { ModalRef } from '../models';\n\nexport function provideModalRef<D = unknown, R = unknown>(modalRef: ModalRef<D, R>): ValueProvider {\n return { provide: ModalRef, useValue: modalRef };\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { injectModalRef } from '../helpers';\n\n@Directive({\n standalone: true,\n selector: '[odxModalClose]',\n})\nexport class ModalCloseDirective<T = unknown> {\n private readonly modalRef = injectModalRef();\n\n @Input('odxModalClose')\n public result: T | null = null;\n\n @HostListener('click')\n public onClick(): void {\n const result = this.result === '' ? null : this.result;\n\n this.modalRef.close(result ?? null);\n }\n}\n","import { Directive } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n@CSSComponent('modal__content')\n@Directive({\n standalone: true,\n selector: 'odx-modal-content',\n})\nexport class ModalContentDirective {\n public readonly element = injectElement();\n}\n","import { Directive, HostListener } from '@angular/core';\nimport { injectModalRef } from '../helpers';\n\n@Directive({\n standalone: true,\n selector: '[odxModalDismiss]',\n})\nexport class ModalDismissDirective {\n private readonly modalRef = injectModalRef();\n\n @HostListener('click')\n public onClick(): void {\n this.modalRef.dismiss();\n }\n}\n","import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { AreaHeaderComponent, AreaHeaderSize } from '@odx/angular/components/area-header';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { ModalDismissDirective } from '../../directives';\nimport { injectModalRef } from '../../helpers';\n\n@CSSComponent('modal__header')\n@Component({\n standalone: true,\n selector: 'odx-modal-header',\n templateUrl: './modal-header.component.html',\n imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent, ModalDismissDirective],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalHeaderComponent implements AfterContentInit {\n protected readonly modalRef = injectModalRef();\n\n public readonly element = injectElement();\n\n @ContentChild(AreaHeaderComponent)\n public areaHeaderComponent?: AreaHeaderComponent;\n\n public ngAfterContentInit(): void {\n if (this.areaHeaderComponent) {\n this.areaHeaderComponent.size = AreaHeaderSize.MEDIUM;\n }\n }\n}\n","<ng-content select=\"odx-area-header\"></ng-content>\n<odx-action-group class=\"odx-modal__dismiss\" *ngIf=\"modalRef.options.dismissable\">\n <button odxButton odxModalDismiss>\n <odx-icon name=\"close\"></odx-icon>\n </button>\n</odx-action-group>\n","import { group, query, transition, trigger, useAnimation } from '@angular/animations';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { ChangeDetectionStrategy, Component, HostListener, inject, Injector, Input, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { fadeIn, fadeOut, slideInY, slideOutY } from '@odx/angular/animations';\nimport { DynamicContent, DynamicTextContent, DynamicViewDirective } 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 } from '@odx/angular/utils';\nimport { injectModalRef } from './helpers';\n\n@CSSComponent('modal')\n@Component({\n standalone: true,\n selector: 'odx-modal',\n templateUrl: './modal.component.html',\n imports: [A11yModule, ActionGroupComponent, ButtonComponent, IconComponent, CoreModule, DynamicViewDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[@hostAnimation]': 'true',\n '[attr.id]': 'modalRef.options.id',\n },\n animations: [\n trigger('hostAnimation', [\n transition(':enter', group([useAnimation(fadeIn()), query('.odx-modal__container', useAnimation(slideInY('8px')))])),\n transition(':leave', group([useAnimation(fadeOut()), query('.odx-modal__container', useAnimation(slideOutY('8px')))])),\n ]),\n ],\n})\nexport class ModalComponent {\n protected readonly modalRef = injectModalRef();\n protected readonly injector = inject(Injector);\n protected readonly context = { $implicit: this.modalRef };\n\n public readonly element = injectElement();\n\n @CSSModifier()\n public readonly size = this.modalRef.options.size;\n\n @Input()\n public content!: Exclude<DynamicContent, DynamicTextContent>;\n\n @HostListener('keyup.esc')\n public onClose(): void {\n if (this.modalRef.options.dismissable) {\n this.modalRef.dismiss();\n }\n }\n}\n","<div\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n [odxClickOutsideActive]=\"modalRef.options.dismissable\"\n [attr.aria-labelledby]=\"modalRef.modalTitleId\"\n class=\"odx-modal__container\"\n role=\"dialog\"\n (odxClickOutside)=\"modalRef.dismiss()\"\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewContext]=\"context\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n","import { createModuleConfigTokens } from '@odx/angular/utils';\nimport { ModalInstanceOptions, ModalSize } from './models';\n\nexport type ModalModuleConfig = Omit<ModalInstanceOptions, 'id' | 'host' | 'data'>;\n\nexport const { ModalDefaultModuleConfig, ModalModuleConfig, injectModalModuleConfig } = createModuleConfigTokens('Modal', '@odx/angular/components/modal', {\n dismissable: true,\n size: ModalSize.MEDIUM,\n dismissOnNavigation: true,\n} as ModalModuleConfig);\n","import { Location } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\nimport { BehaviorSubject, shareReplay } from 'rxjs';\nimport { ModalOptions } from '../models/modal-options';\nimport { ModalRef } from '../models/modal-ref';\n\n@Injectable({ providedIn: 'root' })\nexport class OpenModalManagerService {\n private readonly location = inject(Location);\n private readonly modals$$ = new BehaviorSubject<ModalRef[]>([]);\n private urlChangeListener?: VoidFunction;\n\n public readonly modals$ = this.modals$$.pipe(shareReplay({ refCount: true }));\n\n public getById<Data = unknown, Result = unknown>(id: ModalOptions['id']): ModalRef<Data, Result> | null {\n return (this.modals$$.getValue().find((modalRef) => modalRef.options.id === id) as ModalRef<Data, Result>) ?? null;\n }\n\n public add(modalRef: ModalRef) {\n if (this.getById(modalRef.options.id)) {\n throw Error(`Modal with ID ${modalRef.options.id} already open`);\n }\n const openModals = [...this.modals$$.getValue(), modalRef];\n this.modals$$.next(openModals);\n if (modalRef.options.dismissOnNavigation) {\n this.urlChangeListener = this.location.onUrlChange(() => modalRef.dismiss());\n }\n }\n\n public remove(modalRef: ModalRef): void {\n const openModals = this.modals$$.getValue().filter(({ options: { id } }) => id !== modalRef.options.id);\n this.modals$$.next(openModals);\n this.urlChangeListener?.();\n this.urlChangeListener = undefined;\n }\n\n public dismissAll(): void {\n for (const modalRef of this.modals$$.getValue()) {\n modalRef.dismiss();\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable, Injector, TemplateRef } from '@angular/core';\nimport { DynamicContent, DynamicTextContent, DynamicViewService } from '@odx/angular/cdk/dynamic-view';\nimport { isViewContainer } from '@odx/angular/utils';\nimport { deepmerge } from 'deepmerge-ts';\nimport { finalize } from 'rxjs';\nimport { provideModalRef } from './helpers';\nimport { ModalComponent } from './modal.component';\nimport { injectModalModuleConfig } from './modal.config';\nimport { ModalOptions, ModalRef, ModalType } from './models';\nimport { OpenModalManagerService } from './services';\n\n@Injectable({ providedIn: 'root' })\nexport class ModalService {\n private static ID = 0;\n private readonly injector = inject(Injector);\n private readonly moduleConfig = injectModalModuleConfig();\n private readonly document = inject(DOCUMENT);\n private readonly openModalManager = inject(OpenModalManagerService);\n private readonly dynamicViewService = inject(DynamicViewService);\n\n public readonly openModals$ = this.openModalManager.modals$;\n\n public dismissAll(): void {\n this.openModalManager.dismissAll();\n }\n\n public getModalById<Data = unknown, Result = unknown>(id: ModalOptions['id']): ModalRef<Data, Result> | null {\n return this.openModalManager.getById(id);\n }\n\n public open<Data, Result, T>(content: TemplateRef<T>, options?: Partial<ModalOptions<Data>>): ModalRef<Data, Result>;\n public open<Data, Result, T = unknown>(content: ModalType<T, Data, Result>, options?: Partial<ModalOptions<Data>>): ModalRef<Data, Result>;\n public open(content: ModalType<unknown> | TemplateRef<unknown>, options?: Partial<ModalOptions>): ModalRef {\n const mergedOptions = this.mergeOptions(options);\n const modalRef = new ModalRef(mergedOptions);\n this.openModalManager.add(modalRef);\n this.attachModal(modalRef, content);\n\n return modalRef;\n }\n\n private attachModal(modalRef: ModalRef, content: Exclude<DynamicContent, DynamicTextContent>): void {\n const hostElement = modalRef.options.host;\n const isViewContainerHost = isViewContainer(hostElement);\n const injector = Injector.create({\n providers: [provideModalRef(modalRef)],\n parent: this.injector,\n });\n const viewRef = this.dynamicViewService.createView(ModalComponent, {\n context: { content },\n injector,\n vcr: isViewContainerHost ? hostElement : undefined,\n });\n const onDestroy = () => {\n viewRef.destroy();\n this.openModalManager.remove(modalRef);\n };\n\n if (!isViewContainerHost) {\n hostElement.appendChild(viewRef.getElement());\n }\n modalRef.onDestroy$.pipe(finalize(() => onDestroy())).subscribe();\n }\n\n private mergeOptions(options?: Partial<ModalOptions>): ModalOptions {\n return deepmerge(\n this.moduleConfig,\n {\n id: `odx-modal-${ModalService.ID++}`,\n host: this.document.body,\n },\n options ?? {}\n ) as ModalOptions;\n }\n}\n","import { Directive, inject, Input, OnDestroy, TemplateRef } from '@angular/core';\nimport { ModalService } from './modal.service';\nimport { ModalOptions, ModalRef } from './models';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[odxModal]',\n exportAs: 'odxModal',\n})\nexport class ModalDirective implements OnDestroy {\n private readonly modalService = inject(ModalService);\n private modalRef: ModalRef | null = null;\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('odxModal')\n public modalOptions?: Partial<ModalOptions> | '' | null;\n\n protected readonly template = inject(TemplateRef);\n\n public ngOnDestroy() {\n this.modalRef?.dismiss();\n }\n\n public open(): void {\n this.modalRef = this.modalService.open(this.template, this.modalOptions || {});\n }\n\n public dismiss(): void {\n this.modalRef?.dismiss();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { AreaHeaderModule } from '@odx/angular/components/area-header';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { ButtonGroupComponent } from '@odx/angular/components/button-group';\nimport { ModuleConfigDependencies, ModuleConfigProvider, provideModuleConfig } from '@odx/angular/utils';\nimport { ModalFooterComponent, ModalHeaderComponent } from './components';\nimport { ModalCloseDirective, ModalContentDirective, ModalDismissDirective } from './directives';\nimport { ModalComponent } from './modal.component';\nimport { ModalModuleConfig } from './modal.config';\nimport { ModalDirective } from './modal.directive';\n\nconst modules = [ModalComponent, ModalHeaderComponent, ModalFooterComponent, ModalDirective, ModalCloseDirective, ModalContentDirective, ModalDismissDirective];\n\n@NgModule({\n imports: [ButtonComponent, ButtonGroupComponent, ...modules],\n exports: [CoreModule, AreaHeaderModule, ButtonComponent, ButtonGroupComponent, ...modules],\n})\nexport class ModalModule {\n public static forRoot<D extends ModuleConfigDependencies>(config: ModuleConfigProvider<Partial<ModalModuleConfig>, D>): ModuleWithProviders<ModalModule> {\n return {\n ngModule: ModalModule,\n providers: [provideModuleConfig(ModalModuleConfig, config)],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAYa,IAAA,oBAAoB,GAA1B,MAAM,oBAAoB,CAAA;AAA1B,IAAA,WAAA,GAAA;QACW,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAC3C,KAAA;;iHAFY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,4ECZjC,6BACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;ADWa,oBAAoB,GAAA,UAAA,CAAA;IARhC,YAAY,CAAC,eAAe,CAAC;AAQjB,CAAA,EAAA,oBAAoB,CAEhC,CAAA;2FAFY,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,kBAAkB,EAEb,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6BAAA,EAAA,CAAA;;;MEPpC,QAAQ,CAAA;AAoBnB,IAAA,WAAA,CAA6B,eAAmC,EAAA;QAAnC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAoB;AAnB/C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAU,CAAC;AAClC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAQ,CAAC;AAEnC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACrE,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACzE,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KAcC;AAZpE,IAAA,IAAW,YAAY,GAAA;AACrB,QAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;KACnC;AAED,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;KAClC;AAED,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC7B;IAIM,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;AAEM,IAAA,KAAK,CAAC,MAAc,EAAA;AACzB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;IAEO,OAAO,GAAA;AACb,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;KAC7B;AACF;;ACrCY,MAAA,SAAS,GAAG;AACvB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,OAAO;;;SCFA,cAAc,GAAA;AAC5B,IAAA,OAAO,MAAM,EAAC,QAAW,EAAC,CAAC;AAC7B;;ACFM,SAAU,eAAe,CAA2B,QAAwB,EAAA;IAChF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACnD;;MCEa,mBAAmB,CAAA;AAJhC,IAAA,WAAA,GAAA;QAKmB,IAAQ,CAAA,QAAA,GAAG,cAAc,EAAE,CAAC;QAGtC,IAAM,CAAA,MAAA,GAAa,IAAI,CAAC;AAQhC,KAAA;IALQ,OAAO,GAAA;AACZ,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QAEvD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;KACrC;;gHAXU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;oGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,QAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;AAC5B,iBAAA,CAAA;8BAKQ,MAAM,EAAA,CAAA;sBADZ,KAAK;uBAAC,eAAe,CAAA;gBAIf,OAAO,EAAA,CAAA;sBADb,YAAY;uBAAC,OAAO,CAAA;;;ACJV,IAAA,qBAAqB,GAA3B,MAAM,qBAAqB,CAAA;AAA3B,IAAA,WAAA,GAAA;QACW,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAC3C,KAAA;;kHAFY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAArB,qBAAqB,GAAA,UAAA,CAAA;IALjC,YAAY,CAAC,gBAAgB,CAAC;AAKlB,CAAA,EAAA,qBAAqB,CAEjC,CAAA;2FAFY,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,mBAAmB;AAC9B,iBAAA,CAAA;;;MCDY,qBAAqB,CAAA;AAJlC,IAAA,WAAA,GAAA;QAKmB,IAAQ,CAAA,QAAA,GAAG,cAAc,EAAE,CAAC;AAM9C,KAAA;IAHQ,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;KACzB;;kHANU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,mBAAmB;AAC9B,iBAAA,CAAA;8BAKQ,OAAO,EAAA,CAAA;sBADb,YAAY;uBAAC,OAAO,CAAA;;;ACUV,IAAA,oBAAoB,GAA1B,MAAM,oBAAoB,CAAA;AAA1B,IAAA,WAAA,GAAA;QACc,IAAQ,CAAA,QAAA,GAAG,cAAc,EAAE,CAAC;QAE/B,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;AAU3C,KAAA;IALQ,kBAAkB,GAAA;QACvB,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC;AACvD,SAAA;KACF;;iHAZU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAKjB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,mBAAmB,ECzBnC,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,kQAMA,EDUY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,oBAAoB,EAAE,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EAAE,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAa,yFAAE,qBAAqB,EAAA,QAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAItF,oBAAoB,GAAA,UAAA,CAAA;IAThC,YAAY,CAAC,eAAe,CAAC;AASjB,CAAA,EAAA,oBAAoB,CAahC,CAAA;2FAbY,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,kBAAkB,EAEnB,OAAA,EAAA,CAAC,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,qBAAqB,CAAC,EACnF,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kQAAA,EAAA,CAAA;8BAQxC,mBAAmB,EAAA,CAAA;sBADzB,YAAY;uBAAC,mBAAmB,CAAA;;;AEOtB,IAAA,cAAc,GAApB,MAAM,cAAc,CAAA;AAApB,IAAA,WAAA,GAAA;QACc,IAAQ,CAAA,QAAA,GAAG,cAAc,EAAE,CAAC;AAC5B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAO,CAAA,OAAA,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE1C,IAAO,CAAA,OAAA,GAAG,aAAa,EAAE,CAAC;QAG1B,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;AAWnD,KAAA;IALQ,OAAO,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE;AACrC,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;AACzB,SAAA;KACF;;2GAlBU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;+FAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChC3B,qZAWA,EDOY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,2LAAwD,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,EAOhG,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,wBAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;QACV,OAAO,CAAC,eAAe,EAAE;YACvB,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,uBAAuB,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpH,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,uBAAuB,EAAE,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACvH,CAAC;AACH,KAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AASD,UAAA,CAAA;AAAC,IAAA,WAAW,EAAE;;AACoC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AARvC,cAAc,GAAA,UAAA,CAAA;IAnB1B,YAAY,CAAC,OAAO,CAAC;AAmBT,CAAA,EAAA,cAAc,CAmB1B,CAAA;2FAnBY,cAAc,EAAA,UAAA,EAAA,CAAA;kBAlB1B,SAAS;iCACI,IAAI,EAAA,QAAA,EACN,WAAW,EAAA,OAAA,EAEZ,CAAC,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,oBAAoB,CAAC,EAAA,eAAA,EAC5F,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC/B,IAAA,EAAA;AACJ,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,WAAW,EAAE,qBAAqB;qBACnC,EACW,UAAA,EAAA;wBACV,OAAO,CAAC,eAAe,EAAE;4BACvB,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,uBAAuB,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BACpH,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,uBAAuB,EAAE,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;yBACvH,CAAC;AACH,qBAAA,EAAA,QAAA,EAAA,qZAAA,EAAA,CAAA;AAUe,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,IAAI,MAGb,OAAO,EAAA,CAAA;sBADb,KAAK;gBAIC,OAAO,EAAA,CAAA;sBADb,YAAY;uBAAC,WAAW,CAAA;;;AExCpB,MAAM,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,GAAG,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,EAAE;AACzJ,IAAA,WAAW,EAAE,IAAI;IACjB,IAAI,EAAE,SAAS,CAAC,MAAM;AACtB,IAAA,mBAAmB,EAAE,IAAI;AACL,CAAA;;MCFT,uBAAuB,CAAA;AADpC,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAa,EAAE,CAAC,CAAC;AAGhD,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AA6B/E,KAAA;AA3BQ,IAAA,OAAO,CAAmC,EAAsB,EAAA;QACrE,OAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAA4B,IAAI,IAAI,CAAC;KACpH;AAEM,IAAA,GAAG,CAAC,QAAkB,EAAA;QAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACrC,MAAM,KAAK,CAAC,CAAA,cAAA,EAAiB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAe,aAAA,CAAA,CAAC,CAAC;AAClE,SAAA;AACD,QAAA,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC/B,QAAA,IAAI,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE;AACxC,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AAC9E,SAAA;KACF;AAEM,IAAA,MAAM,CAAC,QAAkB,EAAA;AAC9B,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACxG,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,iBAAiB,IAAI,CAAC;AAC3B,QAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;KACpC;IAEM,UAAU,GAAA;QACf,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE;YAC/C,QAAQ,CAAC,OAAO,EAAE,CAAC;AACpB,SAAA;KACF;;oHAjCU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cADV,MAAM,EAAA,CAAA,CAAA;2FACnB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCOrB,YAAY,CAAA;AADzB,IAAA,WAAA,GAAA;AAGmB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAY,CAAA,YAAA,GAAG,uBAAuB,EAAE,CAAC;AACzC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AACnD,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAEjD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;AAsD7D,KAAA;IApDQ,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;KACpC;AAEM,IAAA,YAAY,CAAmC,EAAsB,EAAA;QAC1E,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KAC1C;IAIM,IAAI,CAAC,OAAkD,EAAE,OAA+B,EAAA;QAC7F,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACjD,QAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAEpC,QAAA,OAAO,QAAQ,CAAC;KACjB;IAEO,WAAW,CAAC,QAAkB,EAAE,OAAoD,EAAA;AAC1F,QAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;AAC1C,QAAA,MAAM,mBAAmB,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;AACzD,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC/B,YAAA,SAAS,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACtC,MAAM,EAAE,IAAI,CAAC,QAAQ;AACtB,SAAA,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,EAAE;YACjE,OAAO,EAAE,EAAE,OAAO,EAAE;YACpB,QAAQ;YACR,GAAG,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;AACnD,SAAA,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,MAAK;YACrB,OAAO,CAAC,OAAO,EAAE,CAAC;AAClB,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACzC,SAAC,CAAC;QAEF,IAAI,CAAC,mBAAmB,EAAE;YACxB,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;AAC/C,SAAA;AACD,QAAA,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;KACnE;AAEO,IAAA,YAAY,CAAC,OAA+B,EAAA;AAClD,QAAA,OAAO,SAAS,CACd,IAAI,CAAC,YAAY,EACjB;AACE,YAAA,EAAE,EAAE,CAAa,UAAA,EAAA,YAAY,CAAC,EAAE,EAAE,CAAE,CAAA;AACpC,YAAA,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;AACzB,SAAA,EACD,OAAO,IAAI,EAAE,CACE,CAAC;KACnB;;AA5Dc,YAAE,CAAA,EAAA,GAAG,CAAC,CAAC;yGADX,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cADC,MAAM,EAAA,CAAA,CAAA;2FACnB,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCHrB,cAAc,CAAA;AAL3B,IAAA,WAAA,GAAA;AAMmB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAQ,CAAA,QAAA,GAAoB,IAAI,CAAC;AAMtB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAanD,KAAA;IAXQ,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;KAC1B;IAEM,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;KAChF;IAEM,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;KAC1B;;2GApBU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;+FAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,CAAA,UAAA,EAAA,cAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,UAAU;AACrB,iBAAA,CAAA;8BAOQ,YAAY,EAAA,CAAA;sBADlB,KAAK;uBAAC,UAAU,CAAA;;;ACFnB,MAAM,OAAO,GAAG,CAAC,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;MAMnJ,WAAW,CAAA;IACf,OAAO,OAAO,CAAqC,MAA2D,EAAA;QACnH,OAAO;AACL,YAAA,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;SAC5D,CAAC;KACH;;wGANU,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAX,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,YAHZ,eAAe,EAAE,oBAAoB,EAHhC,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAIlJ,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAJ9D,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAMjJ,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,EAHZ,OAAA,EAAA,CAAA,eAAe,EAAE,oBAAoB,EAHhC,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAI/D,UAAU,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA;2FAE3B,WAAW,EAAA,UAAA,EAAA,CAAA;kBAJvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,eAAe,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC;AAC5D,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC;AAC3F,iBAAA,CAAA;;;ACjBD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"odx-angular-components-modal.mjs","sources":["../../../../libs/angular/components/modal/src/lib/components/modal-footer/modal-footer.component.ts","../../../../libs/angular/components/modal/src/lib/components/modal-footer/modal-footer.component.html","../../../../libs/angular/components/modal/src/lib/models/modal-ref.ts","../../../../libs/angular/components/modal/src/lib/models/modal-size.ts","../../../../libs/angular/components/modal/src/lib/models/modal-variant.ts","../../../../libs/angular/components/modal/src/lib/helpers/inject-modal-ref.ts","../../../../libs/angular/components/modal/src/lib/helpers/provide-modal-ref.ts","../../../../libs/angular/components/modal/src/lib/directives/modal-close.directive.ts","../../../../libs/angular/components/modal/src/lib/directives/modal-content.directive.ts","../../../../libs/angular/components/modal/src/lib/directives/modal-dismiss.directive.ts","../../../../libs/angular/components/modal/src/lib/components/modal-header/modal-header.component.ts","../../../../libs/angular/components/modal/src/lib/components/modal-header/modal-header.component.html","../../../../libs/angular/components/modal/src/lib/modal.component.ts","../../../../libs/angular/components/modal/src/lib/modal.component.html","../../../../libs/angular/components/modal/src/lib/modal.config.ts","../../../../libs/angular/components/modal/src/lib/services/open-modal-manager.service.ts","../../../../libs/angular/components/modal/src/lib/modal.service.ts","../../../../libs/angular/components/modal/src/lib/modal.directive.ts","../../../../libs/angular/components/modal/src/lib/modal.module.ts","../../../../libs/angular/components/modal/src/odx-angular-components-modal.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n@CSSComponent('modal__footer')\n@Component({\n standalone: true,\n selector: 'odx-modal-footer',\n templateUrl: './modal-footer.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalFooterComponent {\n public readonly element = injectElement();\n}\n","<ng-content></ng-content>\n","import { Controller } from '@odx/angular';\nimport { deepmerge } from 'deepmerge-ts';\nimport { merge, share, Subject } from 'rxjs';\nimport { ModalOptions } from './modal-options';\n\nexport class ModalRef<Data = unknown, Result = unknown> extends Controller {\n private readonly onClose$$ = new Subject<Result>();\n private readonly onDismiss$$ = new Subject<void>();\n\n public readonly onClose$ = this.onClose$$.pipe(share({ resetOnRefCountZero: true }));\n public readonly onDismiss$ = this.onDismiss$$.pipe(share({ resetOnRefCountZero: true }));\n public readonly onDestroy$ = merge(this.onClose$, this.onDismiss$);\n\n public get modalTitleId(): string {\n return `${this.options.id}-title`;\n }\n\n public get data(): Data {\n return this.internalOptions.data;\n }\n\n public get options(): ModalOptions<Data> {\n return this.internalOptions;\n }\n\n constructor(private internalOptions: ModalOptions<Data>) {\n super();\n }\n\n public update(options: Partial<ModalOptions<Data>>): void {\n this.internalOptions = deepmerge(this.internalOptions, options) as ModalOptions<Data>;\n this.triggerControllerChange();\n }\n\n public dismiss(): void {\n this.onDismiss$$.next();\n this.destroy();\n }\n\n public close(result: Result): void {\n this.onClose$$.next(result);\n this.destroy();\n }\n\n private destroy(): void {\n this.onClose$$.complete();\n this.onDismiss$$.complete();\n }\n}\n","export type ModalSize = typeof ModalSize[keyof typeof ModalSize];\n\nexport const ModalSize = {\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n} as const;\n","export type ModalVariant = typeof ModalVariant[keyof typeof ModalVariant];\n\nexport const ModalVariant = {\n DEFAULT: 'default',\n SIDESHEET: 'sidesheet',\n} as const;\n","import { inject } from '@angular/core';\nimport { ModalRef } from '../models';\n\nexport function injectModalRef<T>(): ModalRef<T> {\n return inject(ModalRef<T>);\n}\n","import { ValueProvider } from '@angular/core';\nimport { ModalRef } from '../models';\n\nexport function provideModalRef<D = unknown, R = unknown>(modalRef: ModalRef<D, R>): ValueProvider {\n return { provide: ModalRef, useValue: modalRef };\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { injectModalRef } from '../helpers';\n\n@Directive({\n standalone: true,\n selector: '[odxModalClose]',\n})\nexport class ModalCloseDirective<T = unknown> {\n private readonly modalRef = injectModalRef();\n\n @Input('odxModalClose')\n public result: T | null = null;\n\n @HostListener('click')\n public onClick(): void {\n const result = this.result === '' ? null : this.result;\n\n this.modalRef.close(result ?? null);\n }\n}\n","import { Directive } from '@angular/core';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n@CSSComponent('modal__content')\n@Directive({\n standalone: true,\n selector: 'odx-modal-content',\n})\nexport class ModalContentDirective {\n public readonly element = injectElement();\n}\n","import { Directive, HostListener } from '@angular/core';\nimport { injectModalRef } from '../helpers';\n\n@Directive({\n standalone: true,\n selector: '[odxModalDismiss]',\n})\nexport class ModalDismissDirective {\n private readonly modalRef = injectModalRef();\n\n @HostListener('click')\n public onClick(): void {\n this.modalRef.dismiss();\n }\n}\n","import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, detectControllerChanges } from '@odx/angular';\nimport { ActionGroupComponent } from '@odx/angular/components/action-group';\nimport { AreaHeaderComponent, AreaHeaderSize } from '@odx/angular/components/area-header';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\nimport { ModalDismissDirective } from '../../directives';\nimport { injectModalRef } from '../../helpers';\n\n@CSSComponent('modal__header')\n@Component({\n standalone: true,\n selector: 'odx-modal-header',\n templateUrl: './modal-header.component.html',\n imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent, ModalDismissDirective],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalHeaderComponent implements AfterContentInit {\n protected readonly modalRef = injectModalRef();\n\n public readonly element = injectElement();\n\n @ContentChild(AreaHeaderComponent)\n public areaHeaderComponent?: AreaHeaderComponent;\n\n constructor() {\n detectControllerChanges(this.modalRef).subscribe();\n }\n\n public ngAfterContentInit(): void {\n if (this.areaHeaderComponent) {\n this.areaHeaderComponent.size = AreaHeaderSize.MEDIUM;\n }\n }\n}\n","<ng-content select=\"odx-area-header\"></ng-content>\n<odx-action-group class=\"odx-modal__dismiss\" *ngIf=\"modalRef.options.dismissable\">\n <button odxButton odxModalDismiss>\n <odx-icon name=\"close\"></odx-icon>\n </button>\n</odx-action-group>\n","import { group, query, transition, trigger, useAnimation } from '@angular/animations';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { ChangeDetectionStrategy, Component, HostListener, Input, ViewEncapsulation } from '@angular/core';\nimport { CoreModule, detectControllerChanges } from '@odx/angular';\nimport { fadeIn, fadeOut, slideInRight, slideInY, slideOutRight, slideOutY } from '@odx/angular/animations';\nimport { DynamicContent, DynamicTextContent, DynamicViewDirective } 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 { getInjector, injectElement } from '@odx/angular/utils';\nimport { injectModalRef } from './helpers';\n\n@CSSComponent('modal')\n@Component({\n standalone: true,\n selector: 'odx-modal',\n templateUrl: './modal.component.html',\n imports: [A11yModule, ActionGroupComponent, ButtonComponent, IconComponent, CoreModule, DynamicViewDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[@hostAnimation]': 'variant',\n '[attr.id]': 'modalRef.options.id',\n },\n animations: [\n trigger('hostAnimation', [\n transition('void => default', group([useAnimation(fadeIn()), query('.odx-modal__container', useAnimation(slideInY('8px')))])),\n transition('default => void', group([useAnimation(fadeOut()), query('.odx-modal__container', useAnimation(slideOutY('8px')))])),\n transition('void => sidesheet', query('.odx-modal__container', useAnimation(slideInRight))),\n transition('sidesheet => void', query('.odx-modal__container', useAnimation(slideOutRight))),\n ]),\n ],\n})\nexport class ModalComponent {\n protected readonly modalRef = injectModalRef();\n protected readonly injector = getInjector();\n protected readonly context = { $implicit: this.modalRef };\n\n public readonly element = injectElement();\n\n @CSSModifier()\n public size = this.modalRef.options.size;\n\n @CSSModifier()\n public variant = this.modalRef.options.variant;\n\n @Input()\n public content!: Exclude<DynamicContent, DynamicTextContent>;\n\n constructor() {\n detectControllerChanges(this.modalRef).subscribe(() => {\n this.size = this.modalRef.options.size;\n });\n }\n\n @HostListener('keyup.esc')\n public onClose(): void {\n if (this.modalRef.options.dismissable) {\n this.modalRef.dismiss();\n }\n }\n}\n","<div\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n [odxClickOutsideActive]=\"modalRef.options.dismissable\"\n [attr.aria-labelledby]=\"modalRef.modalTitleId\"\n class=\"odx-modal__container\"\n role=\"dialog\"\n (odxClickOutside)=\"modalRef.dismiss()\"\n>\n <ng-template [odxDynamicView]=\"content\" [odxDynamicViewContext]=\"context\" [odxDynamicViewInjector]=\"injector\"></ng-template>\n</div>\n","import { createModuleConfigTokens } from '@odx/angular/utils';\nimport { ModalInstanceOptions, ModalSize } from './models';\nimport { ModalVariant } from './models/modal-variant';\n\nexport type ModalModuleConfig = Omit<ModalInstanceOptions, 'id' | 'host' | 'data'>;\n\nexport const { ModalDefaultModuleConfig, ModalModuleConfig, injectModalModuleConfig } = createModuleConfigTokens('Modal', '@odx/angular/components/modal', {\n dismissable: true,\n size: ModalSize.MEDIUM,\n dismissOnNavigation: true,\n variant: ModalVariant.DEFAULT,\n} as ModalModuleConfig);\n","import { Location } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\nimport { BehaviorSubject, shareReplay } from 'rxjs';\nimport { ModalOptions } from '../models/modal-options';\nimport { ModalRef } from '../models/modal-ref';\n\n@Injectable({ providedIn: 'root' })\nexport class OpenModalManagerService {\n private readonly location = inject(Location);\n private readonly modals$$ = new BehaviorSubject<ModalRef[]>([]);\n private urlChangeListener?: VoidFunction;\n\n public readonly modals$ = this.modals$$.pipe(shareReplay({ refCount: true }));\n\n public getById<Data = unknown, Result = unknown>(id: ModalOptions['id']): ModalRef<Data, Result> | null {\n return (this.modals$$.getValue().find((modalRef) => modalRef.options.id === id) as ModalRef<Data, Result>) ?? null;\n }\n\n public add(modalRef: ModalRef) {\n if (this.getById(modalRef.options.id)) {\n throw Error(`Modal with ID ${modalRef.options.id} already open`);\n }\n const openModals = [...this.modals$$.getValue(), modalRef];\n this.modals$$.next(openModals);\n if (modalRef.options.dismissOnNavigation) {\n this.urlChangeListener = this.location.onUrlChange(() => modalRef.dismiss());\n }\n }\n\n public remove(modalRef: ModalRef): void {\n const openModals = this.modals$$.getValue().filter(({ options: { id } }) => id !== modalRef.options.id);\n this.modals$$.next(openModals);\n this.urlChangeListener?.();\n this.urlChangeListener = undefined;\n }\n\n public dismissAll(): void {\n for (const modalRef of this.modals$$.getValue()) {\n modalRef.dismiss();\n }\n }\n}\n","import { inject, Injectable, Injector, TemplateRef } from '@angular/core';\nimport { DynamicContent, DynamicTextContent, DynamicViewService } from '@odx/angular/cdk/dynamic-view';\nimport { getInjector } from '@odx/angular/utils';\nimport { deepmerge } from 'deepmerge-ts';\nimport { finalize } from 'rxjs';\nimport { provideModalRef } from './helpers';\nimport { ModalComponent } from './modal.component';\nimport { injectModalModuleConfig } from './modal.config';\nimport { ModalOptions, ModalRef, ModalType } from './models';\nimport { OpenModalManagerService } from './services';\n\n@Injectable({ providedIn: 'root' })\nexport class ModalService {\n private static ID = 0;\n private readonly injector = getInjector();\n private readonly moduleConfig = injectModalModuleConfig();\n private readonly openModalManager = inject(OpenModalManagerService);\n private readonly dynamicViewService = inject(DynamicViewService);\n\n public readonly openModals$ = this.openModalManager.modals$;\n\n public dismissAll(): void {\n this.openModalManager.dismissAll();\n }\n\n public getModalById<Data = unknown, Result = unknown>(id: ModalOptions['id']): ModalRef<Data, Result> | null {\n return this.openModalManager.getById(id);\n }\n\n public open<Data, Result, T>(content: TemplateRef<T>, options?: Partial<ModalOptions<Data>>): ModalRef<Data, Result>;\n public open<Data, Result, T = unknown>(content: ModalType<T, Data, Result>, options?: Partial<ModalOptions<Data>>): ModalRef<Data, Result>;\n public open(content: ModalType<unknown> | TemplateRef<unknown>, options?: Partial<ModalOptions>): ModalRef {\n const mergedOptions = deepmerge(this.moduleConfig, { id: `odx-modal-${ModalService.ID++}` }, options ?? {}) as ModalOptions;\n const modalRef = new ModalRef(mergedOptions);\n this.openModalManager.add(modalRef);\n this.attachModal(modalRef, content);\n\n return modalRef;\n }\n\n private attachModal(modalRef: ModalRef, content: Exclude<DynamicContent, DynamicTextContent>): void {\n const injector = Injector.create({\n providers: [provideModalRef(modalRef)],\n parent: this.injector,\n });\n const viewRef = this.dynamicViewService.createView(ModalComponent, {\n context: { content },\n injector,\n host: modalRef.options.host,\n });\n const onDestroy = () => {\n viewRef.destroy();\n this.openModalManager.remove(modalRef);\n };\n\n modalRef.onDestroy$.pipe(finalize(() => onDestroy())).subscribe();\n }\n}\n","import { Directive, EventEmitter, inject, Input, OnChanges, OnDestroy, Output, TemplateRef } from '@angular/core';\nimport { hasChanged, NgChanges } from '@odx/angular/utils';\nimport { ModalService } from './modal.service';\nimport { ModalOptions, ModalRef } from './models';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[odxModal]',\n exportAs: 'odxModal',\n})\nexport class ModalDirective implements OnChanges, OnDestroy {\n private readonly modalService = inject(ModalService);\n private modalRef: ModalRef | null = null;\n\n protected readonly template = inject(TemplateRef);\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('odxModal')\n public modalOptions?: Partial<ModalOptions> | '' | null;\n\n // eslint-disable-next-line @angular-eslint/no-output-rename\n @Output('odxModalClose')\n public modalClose = new EventEmitter();\n\n // eslint-disable-next-line @angular-eslint/no-output-rename\n @Output('odxModalDismiss')\n public modalDismiss = new EventEmitter();\n\n public ngOnChanges(changes: NgChanges<ModalDirective>): void {\n if (hasChanged(changes, 'modalOptions') && this.modalOptions) {\n this.modalRef?.update(this.modalOptions);\n }\n }\n\n public ngOnDestroy() {\n this.dismiss();\n }\n\n public open(): void {\n this.modalRef = this.modalService.open(this.template, this.modalOptions || {});\n this.modalRef.onClose$.subscribe((result) => this.modalClose.next(result));\n this.modalRef.onDismiss$.subscribe((result) => this.modalDismiss.next(result));\n }\n\n public dismiss(): void {\n this.modalRef?.dismiss();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { AreaHeaderModule } from '@odx/angular/components/area-header';\nimport { ButtonComponent } from '@odx/angular/components/button';\nimport { ButtonGroupComponent } from '@odx/angular/components/button-group';\nimport { ModuleConfigDependencies, ModuleConfigProvider, provideModuleConfig } from '@odx/angular/utils';\nimport { ModalFooterComponent, ModalHeaderComponent } from './components';\nimport { ModalCloseDirective, ModalContentDirective, ModalDismissDirective } from './directives';\nimport { ModalComponent } from './modal.component';\nimport { ModalModuleConfig } from './modal.config';\nimport { ModalDirective } from './modal.directive';\n\nconst modules = [ModalComponent, ModalHeaderComponent, ModalFooterComponent, ModalDirective, ModalCloseDirective, ModalContentDirective, ModalDismissDirective];\n\n@NgModule({\n imports: [ButtonComponent, ButtonGroupComponent, ...modules],\n exports: [CoreModule, AreaHeaderModule, ButtonComponent, ButtonGroupComponent, ...modules],\n})\nexport class ModalModule {\n public static forRoot<D extends ModuleConfigDependencies>(config: ModuleConfigProvider<Partial<ModalModuleConfig>, D>): ModuleWithProviders<ModalModule> {\n return {\n ngModule: ModalModule,\n providers: [provideModuleConfig(ModalModuleConfig, config)],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { __decorate, __metadata } from 'tslib';
|
|
2
|
+
import { coerceNumberProperty } from '@angular/cdk/coercion';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input } from '@angular/core';
|
|
5
|
+
import { CSSModifier, CSSComponent } from '@odx/angular/internal';
|
|
6
|
+
import { injectElement } from '@odx/angular/utils';
|
|
7
|
+
|
|
8
|
+
let ProgressComponent = class ProgressComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this._value = 0;
|
|
11
|
+
this.element = injectElement();
|
|
12
|
+
this.indeterminate = false;
|
|
13
|
+
}
|
|
14
|
+
get ariaValueNow() {
|
|
15
|
+
return this.indeterminate ? null : this.value;
|
|
16
|
+
}
|
|
17
|
+
get progressValue() {
|
|
18
|
+
return this.indeterminate ? 1 : this.value / 100;
|
|
19
|
+
}
|
|
20
|
+
set value(value) {
|
|
21
|
+
const coercedValue = coerceNumberProperty(value);
|
|
22
|
+
if (coercedValue <= 100 && coercedValue >= -1) {
|
|
23
|
+
this._value = coercedValue;
|
|
24
|
+
this.indeterminate = coercedValue === -1;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
get value() {
|
|
28
|
+
return this._value;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
ProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
ProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: ProgressComponent, isStandalone: true, selector: "odx-progress", inputs: { value: "value" }, host: { properties: { "attr.aria-valuenow": "ariaValueNow", "attr.aria-valuemax": "100", "attr.aria-valuemin": "0", "attr.role": "\"meter\"" } }, ngImport: i0, template: "<div class=\"odx-progress__indicator\" style=\"transform: scaleX({{ progressValue }})\"></div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
33
|
+
__decorate([
|
|
34
|
+
CSSModifier(),
|
|
35
|
+
__metadata("design:type", Object)
|
|
36
|
+
], ProgressComponent.prototype, "indeterminate", void 0);
|
|
37
|
+
ProgressComponent = __decorate([
|
|
38
|
+
CSSComponent('progress')
|
|
39
|
+
], ProgressComponent);
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ProgressComponent, decorators: [{
|
|
41
|
+
type: Component,
|
|
42
|
+
args: [{ selector: 'odx-progress', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
43
|
+
'[attr.aria-valuenow]': 'ariaValueNow',
|
|
44
|
+
'[attr.aria-valuemax]': '100',
|
|
45
|
+
'[attr.aria-valuemin]': '0',
|
|
46
|
+
'[attr.role]': '"meter"',
|
|
47
|
+
}, template: "<div class=\"odx-progress__indicator\" style=\"transform: scaleX({{ progressValue }})\"></div>\n" }]
|
|
48
|
+
}], propDecorators: { value: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], indeterminate: [] } });
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Generated bundle index. Do not edit.
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
export { ProgressComponent };
|
|
57
|
+
//# sourceMappingURL=odx-angular-components-progress.mjs.map
|