@taiga-ui/cdk 2.41.1 → 2.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/abstract/dialog.service.d.ts +2 -2
- package/abstract/taiga-ui-cdk-abstract.metadata.json +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-classes.umd.js +10 -0
- package/bundles/taiga-ui-cdk-classes.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-classes.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-classes.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-coercion.umd.js +22 -0
- package/bundles/taiga-ui-cdk-coercion.umd.js.map +1 -0
- package/bundles/taiga-ui-cdk-coercion.umd.min.js +2 -0
- package/bundles/taiga-ui-cdk-coercion.umd.min.js.map +1 -0
- package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-constants.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.js +11 -3
- package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-decorators.umd.js +0 -2
- package/bundles/taiga-ui-cdk-decorators.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-decorators.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-active-zone.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-active-zone.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-checked.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-checked.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-copy-processor.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-element.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-element.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-focus-trap.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-for.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-for.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-high-dpi.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-high-dpi.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-let.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-let.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-media.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-media.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-overscroll.umd.js +2 -2
- package/bundles/taiga-ui-cdk-directives-overscroll.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-overscroll.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-directives-overscroll.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-portal.umd.js +281 -0
- package/bundles/taiga-ui-cdk-directives-portal.umd.js.map +1 -0
- package/bundles/taiga-ui-cdk-directives-portal.umd.min.js +16 -0
- package/bundles/taiga-ui-cdk-directives-portal.umd.min.js.map +1 -0
- package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-repeat-times.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-validator.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-validator.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-zoom.umd.js +1 -1
- package/bundles/taiga-ui-cdk-directives-zoom.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives.umd.js +12 -4
- package/bundles/taiga-ui-cdk-directives.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-enums.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-enums.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-observables.umd.js +3 -5
- package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-observables.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-observables.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-services.umd.js +9 -8
- package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-services.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.js +7 -3
- package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-focus.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk.umd.js +12 -4
- package/bundles/taiga-ui-cdk.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk.umd.min.js +1 -1
- package/classes/assert.d.ts +4 -1
- package/classes/taiga-ui-cdk-classes.metadata.json +1 -1
- package/classes/validation-error.d.ts +1 -1
- package/coercion/coerce-boolean-property.d.ts +5 -0
- package/coercion/index.d.ts +1 -0
- package/coercion/package.json +13 -0
- package/coercion/taiga-ui-cdk-coercion.d.ts +4 -0
- package/coercion/taiga-ui-cdk-coercion.metadata.json +1 -0
- package/constants/always-false-handler.d.ts +1 -1
- package/constants/always-true-handler.d.ts +1 -1
- package/constants/empty.d.ts +1 -1
- package/constants/taiga-ui-cdk-constants.metadata.json +1 -1
- package/date-time/day.d.ts +4 -0
- package/decorators/default-prop.d.ts +1 -3
- package/decorators/pure.d.ts +1 -1
- package/decorators/taiga-ui-cdk-decorators.metadata.json +1 -1
- package/directives/element/element.directive.d.ts +1 -1
- package/directives/element/taiga-ui-cdk-directives-element.metadata.json +1 -1
- package/directives/for/for.directive.d.ts +1 -1
- package/directives/high-dpi/high-dpi.directive.d.ts +1 -1
- package/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.metadata.json +1 -1
- package/directives/index.d.ts +1 -0
- package/directives/let/let.directive.d.ts +1 -1
- package/directives/overscroll/overscroll.directive.d.ts +1 -1
- package/directives/portal/index.d.ts +2 -0
- package/directives/portal/package.json +13 -0
- package/directives/portal/portal.directive.d.ts +10 -0
- package/directives/portal/portal.module.d.ts +2 -0
- package/directives/portal/taiga-ui-cdk-directives-portal.d.ts +4 -0
- package/directives/portal/taiga-ui-cdk-directives-portal.metadata.json +1 -0
- package/directives/taiga-ui-cdk-directives.metadata.json +1 -1
- package/directives/validator/validator.directive.d.ts +1 -1
- package/directives/zoom/taiga-ui-cdk-directives-zoom.metadata.json +1 -1
- package/enums/autocomplete.d.ts +2 -1
- package/enums/taiga-ui-cdk-enums.metadata.json +1 -1
- package/esm2015/abstract/control.js +1 -1
- package/esm2015/abstract/controller.js +1 -1
- package/esm2015/abstract/dialog.service.js +1 -1
- package/esm2015/abstract/interactive.js +1 -1
- package/esm2015/abstract/multiple-control.js +1 -1
- package/esm2015/abstract/portal-service.js +1 -1
- package/esm2015/abstract/theme-switcher.js +1 -1
- package/esm2015/classes/assert.js +10 -1
- package/esm2015/classes/validation-error.js +1 -1
- package/esm2015/coercion/coerce-boolean-property.js +10 -0
- package/esm2015/coercion/index.js +2 -0
- package/esm2015/coercion/taiga-ui-cdk-coercion.js +5 -0
- package/esm2015/components/dialog-host/dialog-host.component.js +1 -1
- package/esm2015/constants/always-false-handler.js +1 -1
- package/esm2015/constants/always-true-handler.js +1 -1
- package/esm2015/constants/empty.js +1 -1
- package/esm2015/constants/matcher.js +1 -1
- package/esm2015/date-time/date-separator.js +1 -1
- package/esm2015/date-time/day.js +11 -1
- package/esm2015/decorators/default-prop.js +1 -3
- package/esm2015/decorators/pure.js +1 -1
- package/esm2015/decorators/required-setter.js +1 -1
- package/esm2015/directives/active-zone/active-zone.directive.js +1 -1
- package/esm2015/directives/auto-focus/autofocus.directive.js +1 -1
- package/esm2015/directives/checked/checked.directive.js +1 -1
- package/esm2015/directives/copy-processor/copy-processor.directive.js +1 -1
- package/esm2015/directives/element/element.directive.js +1 -1
- package/esm2015/directives/focus-trap/focus-trap.directive.js +1 -1
- package/esm2015/directives/for/for.directive.js +1 -1
- package/esm2015/directives/high-dpi/high-dpi.directive.js +1 -1
- package/esm2015/directives/index.js +2 -1
- package/esm2015/directives/let/let.directive.js +1 -1
- package/esm2015/directives/media/media.directive.js +1 -1
- package/esm2015/directives/overscroll/overscroll.directive.js +3 -3
- package/esm2015/directives/portal/index.js +3 -0
- package/esm2015/directives/portal/portal.directive.js +36 -0
- package/esm2015/directives/portal/portal.module.js +13 -0
- package/esm2015/directives/portal/taiga-ui-cdk-directives-portal.js +5 -0
- package/esm2015/directives/repeat-times/repeat-times.directive.js +1 -1
- package/esm2015/directives/validator/validator.directive.js +1 -1
- package/esm2015/directives/zoom/zoom.directive.js +2 -2
- package/esm2015/enums/autocomplete.js +1 -1
- package/esm2015/index.js +2 -1
- package/esm2015/interfaces/alert-context.js +1 -0
- package/esm2015/interfaces/index.js +1 -1
- package/esm2015/observables/focus-visible-observable.js +3 -3
- package/esm2015/observables/prevent-default.js +2 -4
- package/esm2015/observables/zone-free.js +2 -2
- package/esm2015/services/destroy.service.js +1 -1
- package/esm2015/services/directive-styles.service.js +1 -1
- package/esm2015/services/pan.service.js +4 -2
- package/esm2015/services/resize.service.js +2 -2
- package/esm2015/services/scroll.service.js +3 -3
- package/esm2015/services/static-request.service.js +2 -2
- package/esm2015/services/zoom.service.js +3 -4
- package/esm2015/tokens/active-element.js +7 -3
- package/esm2015/tokens/window-height.js +2 -2
- package/esm2015/utils/focus/blur-native-focused.js +1 -1
- package/esm2015/utils/focus/move-focus.js +1 -1
- package/esm2015/utils/focus/set-native-focused.js +1 -1
- package/esm2015/utils/focus/set-native-mouse-focused.js +1 -1
- package/esm2015/utils/miscellaneous/mark-control-as-touched-and-validate.js +1 -1
- package/esm5/abstract/control.js +1 -1
- package/esm5/abstract/controller.js +1 -1
- package/esm5/abstract/dialog.service.js +1 -1
- package/esm5/abstract/interactive.js +1 -1
- package/esm5/abstract/multiple-control.js +1 -1
- package/esm5/abstract/portal-service.js +1 -1
- package/esm5/abstract/theme-switcher.js +1 -1
- package/esm5/classes/assert.js +10 -1
- package/esm5/classes/validation-error.js +1 -1
- package/esm5/coercion/coerce-boolean-property.js +10 -0
- package/esm5/coercion/index.js +2 -0
- package/esm5/coercion/taiga-ui-cdk-coercion.js +5 -0
- package/esm5/components/dialog-host/dialog-host.component.js +1 -1
- package/esm5/constants/always-false-handler.js +1 -1
- package/esm5/constants/always-true-handler.js +1 -1
- package/esm5/constants/empty.js +1 -1
- package/esm5/constants/matcher.js +1 -1
- package/esm5/date-time/date-separator.js +2 -4
- package/esm5/date-time/day.js +11 -1
- package/esm5/decorators/default-prop.js +1 -3
- package/esm5/decorators/pure.js +1 -1
- package/esm5/decorators/required-setter.js +1 -1
- package/esm5/directives/active-zone/active-zone.directive.js +1 -1
- package/esm5/directives/auto-focus/autofocus.directive.js +1 -1
- package/esm5/directives/checked/checked.directive.js +1 -1
- package/esm5/directives/copy-processor/copy-processor.directive.js +1 -1
- package/esm5/directives/element/element.directive.js +1 -1
- package/esm5/directives/focus-trap/focus-trap.directive.js +1 -1
- package/esm5/directives/for/for.directive.js +1 -1
- package/esm5/directives/high-dpi/high-dpi.directive.js +1 -1
- package/esm5/directives/index.js +2 -1
- package/esm5/directives/let/let.directive.js +1 -1
- package/esm5/directives/media/media.directive.js +1 -1
- package/esm5/directives/overscroll/overscroll.directive.js +3 -3
- package/esm5/directives/portal/index.js +3 -0
- package/esm5/directives/portal/portal.directive.js +41 -0
- package/esm5/directives/portal/portal.module.js +16 -0
- package/esm5/directives/portal/taiga-ui-cdk-directives-portal.js +5 -0
- package/esm5/directives/repeat-times/repeat-times.directive.js +1 -1
- package/esm5/directives/validator/validator.directive.js +1 -1
- package/esm5/directives/zoom/zoom.directive.js +2 -2
- package/esm5/enums/autocomplete.js +1 -1
- package/esm5/index.js +2 -1
- package/esm5/interfaces/alert-context.js +1 -0
- package/esm5/interfaces/index.js +1 -1
- package/esm5/observables/focus-visible-observable.js +3 -3
- package/esm5/observables/prevent-default.js +2 -4
- package/esm5/observables/zone-free.js +1 -1
- package/esm5/services/destroy.service.js +1 -1
- package/esm5/services/directive-styles.service.js +1 -1
- package/esm5/services/pan.service.js +4 -2
- package/esm5/services/resize.service.js +2 -2
- package/esm5/services/scroll.service.js +3 -3
- package/esm5/services/static-request.service.js +2 -2
- package/esm5/services/zoom.service.js +3 -4
- package/esm5/tokens/active-element.js +7 -3
- package/esm5/tokens/window-height.js +2 -2
- package/esm5/utils/focus/blur-native-focused.js +1 -1
- package/esm5/utils/focus/move-focus.js +1 -1
- package/esm5/utils/focus/set-native-focused.js +1 -1
- package/esm5/utils/focus/set-native-mouse-focused.js +1 -1
- package/esm5/utils/miscellaneous/mark-control-as-touched-and-validate.js +1 -1
- package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-classes.js +10 -1
- package/fesm2015/taiga-ui-cdk-classes.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-coercion.js +16 -0
- package/fesm2015/taiga-ui-cdk-coercion.js.map +1 -0
- package/fesm2015/taiga-ui-cdk-components-dialog-host.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-date-time.js +10 -0
- package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-decorators.js +0 -2
- package/fesm2015/taiga-ui-cdk-decorators.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-active-zone.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-checked.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-copy-processor.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-element.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-focus-trap.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-for.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-high-dpi.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-let.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-media.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-overscroll.js +2 -2
- package/fesm2015/taiga-ui-cdk-directives-overscroll.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-portal.js +51 -0
- package/fesm2015/taiga-ui-cdk-directives-portal.js.map +1 -0
- package/fesm2015/taiga-ui-cdk-directives-repeat-times.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-validator.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-zoom.js +1 -1
- package/fesm2015/taiga-ui-cdk-directives-zoom.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives.js +1 -0
- package/fesm2015/taiga-ui-cdk-directives.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-enums.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-observables.js +4 -6
- package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-services.js +9 -8
- package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-tokens.js +7 -3
- package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
- package/fesm2015/taiga-ui-cdk.js +1 -0
- package/fesm2015/taiga-ui-cdk.js.map +1 -1
- package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm5/taiga-ui-cdk-classes.js +10 -1
- package/fesm5/taiga-ui-cdk-classes.js.map +1 -1
- package/fesm5/taiga-ui-cdk-coercion.js +16 -0
- package/fesm5/taiga-ui-cdk-coercion.js.map +1 -0
- package/fesm5/taiga-ui-cdk-components-dialog-host.js.map +1 -1
- package/fesm5/taiga-ui-cdk-constants.js.map +1 -1
- package/fesm5/taiga-ui-cdk-date-time.js +11 -3
- package/fesm5/taiga-ui-cdk-date-time.js.map +1 -1
- package/fesm5/taiga-ui-cdk-decorators.js +0 -2
- package/fesm5/taiga-ui-cdk-decorators.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-active-zone.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-checked.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-copy-processor.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-element.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-focus-trap.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-for.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-high-dpi.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-let.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-media.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-overscroll.js +2 -2
- package/fesm5/taiga-ui-cdk-directives-overscroll.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-portal.js +59 -0
- package/fesm5/taiga-ui-cdk-directives-portal.js.map +1 -0
- package/fesm5/taiga-ui-cdk-directives-repeat-times.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-validator.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-zoom.js +1 -1
- package/fesm5/taiga-ui-cdk-directives-zoom.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives.js +1 -0
- package/fesm5/taiga-ui-cdk-directives.js.map +1 -1
- package/fesm5/taiga-ui-cdk-enums.js.map +1 -1
- package/fesm5/taiga-ui-cdk-observables.js +3 -5
- package/fesm5/taiga-ui-cdk-observables.js.map +1 -1
- package/fesm5/taiga-ui-cdk-services.js +9 -8
- package/fesm5/taiga-ui-cdk-services.js.map +1 -1
- package/fesm5/taiga-ui-cdk-tokens.js +7 -3
- package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-focus.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
- package/fesm5/taiga-ui-cdk.js +1 -0
- package/fesm5/taiga-ui-cdk.js.map +1 -1
- package/index.d.ts +1 -0
- package/interfaces/alert-context.d.ts +2 -0
- package/interfaces/index.d.ts +1 -0
- package/interfaces/taiga-ui-cdk-interfaces.metadata.json +1 -1
- package/package.json +4 -4
- package/schematics/ng-add/index.js +2 -10
- package/schematics/ng-add/steps/add-taiga-icons.js +2 -10
- package/schematics/ng-add/steps/add-taiga-modules.js +2 -10
- package/schematics/ng-add/steps/add-taiga-styles.js +2 -10
- package/schematics/ng-add/steps/wrap-with-tui-root.js +2 -10
- package/schematics/ng-update/constants/types.js +5 -0
- package/schematics/ng-update/index.js +2 -10
- package/taiga-ui-cdk.metadata.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-auto-focus.js","sources":["ng://@taiga-ui/cdk/directives/auto-focus/autofocus.directive.ts","ng://@taiga-ui/cdk/directives/auto-focus/autofocus.module.ts","ng://@taiga-ui/cdk/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.ts"],"sourcesContent":["import {\n AfterViewInit,\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n Optional,\n Renderer2,\n Self,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk/interfaces';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {setNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {Observable, race, timer} from 'rxjs';\nimport {map, skipWhile, take, throttleTime} from 'rxjs/operators';\n\nconst TIMEOUT = 1000;\nconst NG_ANIMATION_SELECTOR = '.ng-animating';\n\n// TODO: in 3.0 change input name to tuiAutoFocus and handle empty string\n// TODO: refactor on this whole thing in 3.0\n@Directive({\n selector: '[tuiAutoFocus]',\n})\nexport class TuiAutoFocusDirective implements AfterViewInit {\n @Input()\n autoFocus = true;\n\n constructor(\n @Optional()\n @Self()\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n private readonly tuiFocusableComponent: TuiFocusableElementAccessor | null,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n @Inject(NgZone)\n private readonly ngZone: NgZone,\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(Renderer2)\n private readonly renderer: Renderer2,\n ) {}\n\n ngAfterViewInit() {\n if (!this.autoFocus) {\n return;\n }\n\n if (this.isTextFieldElement) {\n if (this.isIos) {\n this.ngZone.runOutsideAngular(() => this.iosWebkitAutofocus());\n } else {\n race(\n timer(TIMEOUT),\n this.animationFrame$.pipe(\n throttleTime(POLLING_TIME),\n map(() => this.element.closest(NG_ANIMATION_SELECTOR)),\n skipWhile(Boolean),\n take(1),\n ),\n ).subscribe(() => setNativeFocused(this.element));\n }\n\n return;\n }\n\n setNativeFocused(this.element);\n }\n\n private get element(): TuiNativeFocusableElement {\n return (\n this.tuiFocusableComponent?.nativeFocusableElement ||\n this.elementRef.nativeElement\n );\n }\n\n private get isTextFieldElement(): boolean {\n return this.element.matches('input, textarea');\n }\n\n private iosWebkitAutofocus() {\n const fakeInput: HTMLElement = this.renderer.createElement('input');\n\n fakeInput.style.position = 'absolute';\n fakeInput.style.opacity = '0';\n fakeInput.style.height = '0';\n\n const blurHandler = () => setNativeFocused(fakeInput);\n const focusHandler = () => {\n setTimeout(() => {\n setNativeFocused(this.element);\n\n /**\n * @note:\n * We can't remove the element immediately, because it breaks flow\n */\n setTimeout(() => {\n fakeInput.removeEventListener('blur', blurHandler);\n fakeInput.removeEventListener('focus', focusHandler);\n fakeInput.remove();\n });\n });\n };\n\n /**\n * @note: ping-pong eager strategy hack\n * After creating an element and bringing it into DOM,\n * the browser automatically focuses on the invisible element.\n * And then, after focus is triggered, we try to focus on target element, and if we managed to refocus,\n * then we try to focus again on an invisible element, so that the keyboard slowly appears.\n * This ping pong allows the keyboard to not overlap the modal window.\n */\n fakeInput.addEventListener('blur', blurHandler, {once: true});\n fakeInput.addEventListener('focus', focusHandler);\n\n this.element.parentElement?.appendChild(fakeInput);\n\n setNativeFocused(fakeInput);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiAutoFocusDirective} from './autofocus.directive';\n\n@NgModule({\n declarations: [TuiAutoFocusDirective],\n exports: [TuiAutoFocusDirective],\n})\nexport class TuiAutoFocusModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAsBA,IAAM,OAAO,GAAG,IAAI,CAAC;AACrB,IAAM,qBAAqB,GAAG,eAAe,CAAC;AAE9C;AACA;;IAQI,+BAIqB,qBAAyD,EACrC,KAAc,EACT,eAAmC,EAE5D,MAAc,EAEd,UAAmC,EAEnC,QAAmB;QARnB,0BAAqB,GAArB,qBAAqB,CAAoC;QACrC,UAAK,GAAL,KAAK,CAAS;QACT,oBAAe,GAAf,eAAe,CAAoB;QAE5D,WAAM,GAAN,MAAM,CAAQ;QAEd,eAAU,GAAV,UAAU,CAAyB;QAEnC,aAAQ,GAAR,QAAQ,CAAW;QAdxC,cAAS,GAAG,IAAI,CAAC;KAeb;IAEJ,+CAAe,GAAf;QAAA,iBAwBC;QAvBG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,OAAO;SACV;QAED,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,cAAM,OAAA,KAAI,CAAC,kBAAkB,EAAE,GAAA,CAAC,CAAC;aAClE;iBAAM;gBACH,IAAI,CACA,KAAK,CAAC,OAAO,CAAC,EACd,IAAI,CAAC,eAAe,CAAC,IAAI,CACrB,YAAY,CAAC,YAAY,CAAC,EAC1B,GAAG,CAAC,cAAM,OAAA,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAA,CAAC,EACtD,SAAS,CAAC,OAAO,CAAC,EAClB,IAAI,CAAC,CAAC,CAAC,CACV,CACJ,CAAC,SAAS,CAAC,cAAM,OAAA,gBAAgB,CAAC,KAAI,CAAC,OAAO,CAAC,GAAA,CAAC,CAAC;aACrD;YAED,OAAO;SACV;QAED,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAClC;IAED,sBAAY,0CAAO;aAAnB;;YACI,QACI,OAAA,IAAI,CAAC,qBAAqB,0CAAE,sBAAsB;gBAClD,IAAI,CAAC,UAAU,CAAC,aAAa,EAC/B;SACL;;;OAAA;IAED,sBAAY,qDAAkB;aAA9B;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;SAClD;;;OAAA;IAEO,kDAAkB,GAA1B;QAAA,iBAsCC;;QArCG,IAAM,SAAS,GAAgB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEpE,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACtC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;QAC9B,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QAE7B,IAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-auto-focus.js","sources":["ng://@taiga-ui/cdk/directives/auto-focus/autofocus.directive.ts","ng://@taiga-ui/cdk/directives/auto-focus/autofocus.module.ts","ng://@taiga-ui/cdk/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.ts"],"sourcesContent":["import {\n AfterViewInit,\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n Optional,\n Renderer2,\n Self,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk/interfaces';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {setNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {Observable, race, timer} from 'rxjs';\nimport {map, skipWhile, take, throttleTime} from 'rxjs/operators';\n\nconst TIMEOUT = 1000;\nconst NG_ANIMATION_SELECTOR = '.ng-animating';\n\n// TODO: in 3.0 change input name to tuiAutoFocus and handle empty string\n// TODO: refactor on this whole thing in 3.0\n@Directive({\n selector: '[tuiAutoFocus]',\n})\nexport class TuiAutoFocusDirective implements AfterViewInit {\n @Input()\n autoFocus = true;\n\n constructor(\n @Optional()\n @Self()\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n private readonly tuiFocusableComponent: TuiFocusableElementAccessor | null,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n @Inject(NgZone)\n private readonly ngZone: NgZone,\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(Renderer2)\n private readonly renderer: Renderer2,\n ) {}\n\n ngAfterViewInit(): void {\n if (!this.autoFocus) {\n return;\n }\n\n if (this.isTextFieldElement) {\n if (this.isIos) {\n this.ngZone.runOutsideAngular(() => this.iosWebkitAutofocus());\n } else {\n race(\n timer(TIMEOUT),\n this.animationFrame$.pipe(\n throttleTime(POLLING_TIME),\n map(() => this.element.closest(NG_ANIMATION_SELECTOR)),\n skipWhile(Boolean),\n take(1),\n ),\n ).subscribe(() => setNativeFocused(this.element));\n }\n\n return;\n }\n\n setNativeFocused(this.element);\n }\n\n private get element(): TuiNativeFocusableElement {\n return (\n this.tuiFocusableComponent?.nativeFocusableElement ||\n this.elementRef.nativeElement\n );\n }\n\n private get isTextFieldElement(): boolean {\n return this.element.matches('input, textarea');\n }\n\n private iosWebkitAutofocus(): void {\n const fakeInput: HTMLElement = this.renderer.createElement('input');\n\n fakeInput.style.position = 'absolute';\n fakeInput.style.opacity = '0';\n fakeInput.style.height = '0';\n\n const blurHandler = (): void => setNativeFocused(fakeInput);\n const focusHandler = (): void => {\n setTimeout(() => {\n setNativeFocused(this.element);\n\n /**\n * @note:\n * We can't remove the element immediately, because it breaks flow\n */\n setTimeout(() => {\n fakeInput.removeEventListener('blur', blurHandler);\n fakeInput.removeEventListener('focus', focusHandler);\n fakeInput.remove();\n });\n });\n };\n\n /**\n * @note: ping-pong eager strategy hack\n * After creating an element and bringing it into DOM,\n * the browser automatically focuses on the invisible element.\n * And then, after focus is triggered, we try to focus on target element, and if we managed to refocus,\n * then we try to focus again on an invisible element, so that the keyboard slowly appears.\n * This ping pong allows the keyboard to not overlap the modal window.\n */\n fakeInput.addEventListener('blur', blurHandler, {once: true});\n fakeInput.addEventListener('focus', focusHandler);\n\n this.element.parentElement?.appendChild(fakeInput);\n\n setNativeFocused(fakeInput);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiAutoFocusDirective} from './autofocus.directive';\n\n@NgModule({\n declarations: [TuiAutoFocusDirective],\n exports: [TuiAutoFocusDirective],\n})\nexport class TuiAutoFocusModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-checked.js","sources":["ng://@taiga-ui/cdk/directives/checked/checked.directive.ts","ng://@taiga-ui/cdk/directives/checked/checked.module.ts","ng://@taiga-ui/cdk/directives/checked/taiga-ui-cdk-directives-checked.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Output,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: 'input[tuiChecked], input[tuiCheckedChange]',\n})\nexport class TuiCheckedDirective {\n @Input()\n set tuiChecked(checked: null | boolean) {\n this.updateProperty('checked', checked || false);\n this.updateProperty('indeterminate', checked === null);\n }\n\n @Output()\n readonly tuiCheckedChange = new EventEmitter<boolean>();\n\n constructor(\n @Inject(ElementRef)\n private readonly element: ElementRef<HTMLInputElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n ) {\n this.updateProperty('checked', false);\n }\n\n @HostListener('change', ['$event.target'])\n onChange({checked}: HTMLInputElement) {\n this.updateProperty('indeterminate', false);\n this.tuiCheckedChange.emit(checked);\n }\n\n private updateProperty(property: 'checked' | 'indeterminate', value: boolean) {\n this.renderer.setProperty(this.element.nativeElement, property, value);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiCheckedDirective} from './checked.directive';\n\n@NgModule({\n declarations: [TuiCheckedDirective],\n exports: [TuiCheckedDirective],\n})\nexport class TuiCheckedModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAwBI,6BAEqB,OAAqC,EAClB,QAAmB;QADtC,YAAO,GAAP,OAAO,CAA8B;QAClB,aAAQ,GAAR,QAAQ,CAAW;QALlD,qBAAgB,GAAG,IAAI,YAAY,EAAW,CAAC;QAOpD,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KACzC;IAdD,sBAAI,2CAAU;aAAd,UAAe,OAAuB;YAClC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC;SAC1D;;;OAAA;IAcD,sCAAQ,GAAR,UAAS,EAA2B;YAA1B,oBAAO;QACb,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvC;IAEO,4CAAc,GAAtB,UAAuB,QAAqC,EAAE,KAAc;QACxE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC1E;;gBAd6B,UAAU,uBADnC,MAAM,SAAC,UAAU;gBAE4B,SAAS,uBAAtD,MAAM,SAAC,SAAS;;IAXrB;QADC,KAAK,EAAE;yDAIP;IAGD;QADC,MAAM,EAAE;iEAC+C;IAWxD;QADC,YAAY,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,CAAC;uDAIzC;IAtBQ,mBAAmB;QAH/B,SAAS,CAAC;YACP,QAAQ,EAAE,4CAA4C;SACzD,CAAC;QAYO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAElB,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;OAbb,mBAAmB,CA2B/B;IAAD,0BAAC;CA3BD;;;ICNA;KAAgC;IAAnB,gBAAgB;QAJ5B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,mBAAmB,CAAC;YACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;SACjC,CAAC;OACW,gBAAgB,CAAG;IAAD,uBAAC;CAAhC;;ACRA;;;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-checked.js","sources":["ng://@taiga-ui/cdk/directives/checked/checked.directive.ts","ng://@taiga-ui/cdk/directives/checked/checked.module.ts","ng://@taiga-ui/cdk/directives/checked/taiga-ui-cdk-directives-checked.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Output,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: 'input[tuiChecked], input[tuiCheckedChange]',\n})\nexport class TuiCheckedDirective {\n @Input()\n set tuiChecked(checked: null | boolean) {\n this.updateProperty('checked', checked || false);\n this.updateProperty('indeterminate', checked === null);\n }\n\n @Output()\n readonly tuiCheckedChange = new EventEmitter<boolean>();\n\n constructor(\n @Inject(ElementRef)\n private readonly element: ElementRef<HTMLInputElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n ) {\n this.updateProperty('checked', false);\n }\n\n @HostListener('change', ['$event.target'])\n onChange({checked}: HTMLInputElement): void {\n this.updateProperty('indeterminate', false);\n this.tuiCheckedChange.emit(checked);\n }\n\n private updateProperty(property: 'checked' | 'indeterminate', value: boolean): void {\n this.renderer.setProperty(this.element.nativeElement, property, value);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiCheckedDirective} from './checked.directive';\n\n@NgModule({\n declarations: [TuiCheckedDirective],\n exports: [TuiCheckedDirective],\n})\nexport class TuiCheckedModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAwBI,6BAEqB,OAAqC,EAClB,QAAmB;QADtC,YAAO,GAAP,OAAO,CAA8B;QAClB,aAAQ,GAAR,QAAQ,CAAW;QALlD,qBAAgB,GAAG,IAAI,YAAY,EAAW,CAAC;QAOpD,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KACzC;IAdD,sBAAI,2CAAU;aAAd,UAAe,OAAuB;YAClC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC;SAC1D;;;OAAA;IAcD,sCAAQ,GAAR,UAAS,EAA2B;YAA1B,oBAAO;QACb,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvC;IAEO,4CAAc,GAAtB,UAAuB,QAAqC,EAAE,KAAc;QACxE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC1E;;gBAd6B,UAAU,uBADnC,MAAM,SAAC,UAAU;gBAE4B,SAAS,uBAAtD,MAAM,SAAC,SAAS;;IAXrB;QADC,KAAK,EAAE;yDAIP;IAGD;QADC,MAAM,EAAE;iEAC+C;IAWxD;QADC,YAAY,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,CAAC;uDAIzC;IAtBQ,mBAAmB;QAH/B,SAAS,CAAC;YACP,QAAQ,EAAE,4CAA4C;SACzD,CAAC;QAYO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAElB,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;OAbb,mBAAmB,CA2B/B;IAAD,0BAAC;CA3BD;;;ICNA;KAAgC;IAAnB,gBAAgB;QAJ5B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,mBAAmB,CAAC;YACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;SACjC,CAAC;OACW,gBAAgB,CAAG;IAAD,uBAAC;CAAhC;;ACRA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-copy-processor.js","sources":["ng://@taiga-ui/cdk/directives/copy-processor/copy-processor.directive.ts","ng://@taiga-ui/cdk/directives/copy-processor/copy-processor.module.ts","ng://@taiga-ui/cdk/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.ts"],"sourcesContent":["import {Directive, HostListener, Inject, Input} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {identity} from 'rxjs';\n\n// @dynamic\n@Directive({\n selector: '[tuiCopyProcessor]',\n})\nexport class TuiCopyProcessorDirective {\n @Input()\n @tuiDefaultProp()\n tuiCopyProcessor: TuiStringHandler<string> = identity;\n\n constructor(@Inject(WINDOW) private readonly windowRef: Window) {}\n\n @HostListener('copy.prevent', ['$event'])\n onCopy(event: ClipboardEvent) {\n const selection = this.windowRef.getSelection();\n\n if (selection) {\n event.clipboardData?.setData(\n 'text/plain',\n this.tuiCopyProcessor(String(selection)),\n );\n }\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiCopyProcessorDirective} from './copy-processor.directive';\n\n@NgModule({\n declarations: [TuiCopyProcessorDirective],\n exports: [TuiCopyProcessorDirective],\n})\nexport class TuiCopyProcessorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAMA;;IASI,mCAA6C,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QAF9D,qBAAgB,GAA6B,QAAQ,CAAC;KAEY;IAGlE,0CAAM,GAAN,UAAO,KAAqB;;QACxB,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QAEhD,IAAI,SAAS,EAAE;YACX,MAAA,KAAK,CAAC,aAAa,0CAAE,OAAO,CACxB,YAAY,EACZ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAC1C;SACL;KACJ;;gBAZuD,MAAM,uBAAjD,MAAM,SAAC,MAAM;;IAF1B;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;uEACqC;IAKtD;QADC,YAAY,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC;2DAUxC;IAjBQ,yBAAyB;QAHrC,SAAS,CAAC;YACP,QAAQ,EAAE,oBAAoB;SACjC,CAAC;QAMe,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA;OALlB,yBAAyB,CAkBrC;IAAD,gCAAC;CAlBD;;;ICFA;KAAsC;IAAzB,sBAAsB;QAJlC,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,yBAAyB,CAAC;YACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;SACvC,CAAC;OACW,sBAAsB,CAAG;IAAD,6BAAC;CAAtC;;ACRA;;;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-copy-processor.js","sources":["ng://@taiga-ui/cdk/directives/copy-processor/copy-processor.directive.ts","ng://@taiga-ui/cdk/directives/copy-processor/copy-processor.module.ts","ng://@taiga-ui/cdk/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.ts"],"sourcesContent":["import {Directive, HostListener, Inject, Input} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {identity} from 'rxjs';\n\n// @dynamic\n@Directive({\n selector: '[tuiCopyProcessor]',\n})\nexport class TuiCopyProcessorDirective {\n @Input()\n @tuiDefaultProp()\n tuiCopyProcessor: TuiStringHandler<string> = identity;\n\n constructor(@Inject(WINDOW) private readonly windowRef: Window) {}\n\n @HostListener('copy.prevent', ['$event'])\n onCopy(event: ClipboardEvent): void {\n const selection = this.windowRef.getSelection();\n\n if (selection) {\n event.clipboardData?.setData(\n 'text/plain',\n this.tuiCopyProcessor(String(selection)),\n );\n }\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiCopyProcessorDirective} from './copy-processor.directive';\n\n@NgModule({\n declarations: [TuiCopyProcessorDirective],\n exports: [TuiCopyProcessorDirective],\n})\nexport class TuiCopyProcessorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAMA;;IASI,mCAA6C,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QAF9D,qBAAgB,GAA6B,QAAQ,CAAC;KAEY;IAGlE,0CAAM,GAAN,UAAO,KAAqB;;QACxB,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QAEhD,IAAI,SAAS,EAAE;YACX,MAAA,KAAK,CAAC,aAAa,0CAAE,OAAO,CACxB,YAAY,EACZ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAC1C;SACL;KACJ;;gBAZuD,MAAM,uBAAjD,MAAM,SAAC,MAAM;;IAF1B;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;uEACqC;IAKtD;QADC,YAAY,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC;2DAUxC;IAjBQ,yBAAyB;QAHrC,SAAS,CAAC;YACP,QAAQ,EAAE,oBAAoB;SACjC,CAAC;QAMe,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA;OALlB,yBAAyB,CAkBrC;IAAD,gCAAC;CAlBD;;;ICFA;KAAsC;IAAzB,sBAAsB;QAJlC,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,yBAAyB,CAAC;YACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;SACvC,CAAC;OACW,sBAAsB,CAAG;IAAD,6BAAC;CAAtC;;ACRA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-element.js","sources":["ng://@taiga-ui/cdk/directives/element/element.directive.ts","ng://@taiga-ui/cdk/directives/element/element.module.ts","ng://@taiga-ui/cdk/directives/element/taiga-ui-cdk-directives-element.ts"],"sourcesContent":["import {Directive, ElementRef, Inject} from '@angular/core';\n\n@Directive({\n selector: '[tuiElement]',\n exportAs: 'elementRef',\n})\nexport class TuiElementDirective<T extends Element> extends ElementRef<T> {\n constructor(@Inject(ElementRef) {nativeElement}: ElementRef<T>) {\n super(nativeElement);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiElementDirective} from './element.directive';\n\n@NgModule({\n declarations: [TuiElementDirective],\n exports: [TuiElementDirective],\n})\nexport class TuiElementModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-element.js","sources":["ng://@taiga-ui/cdk/directives/element/element.directive.ts","ng://@taiga-ui/cdk/directives/element/element.module.ts","ng://@taiga-ui/cdk/directives/element/taiga-ui-cdk-directives-element.ts"],"sourcesContent":["import {Directive, ElementRef, Inject} from '@angular/core';\n\n@Directive({\n selector: '[tuiElement]',\n exportAs: 'elementRef',\n})\nexport class TuiElementDirective<T extends Element = HTMLElement> extends ElementRef<T> {\n constructor(@Inject(ElementRef) {nativeElement}: ElementRef<T>) {\n super(nativeElement);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiElementDirective} from './element.directive';\n\n@NgModule({\n declarations: [TuiElementDirective],\n exports: [TuiElementDirective],\n})\nexport class TuiElementModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAM0E,uCAAa;IACnF,6BAAgC,EAA8B;YAA7B,gCAAa;eAC1C,kBAAM,aAAa,CAAC;KACvB;;gBAFgD,UAAU,uBAA9C,MAAM,SAAC,UAAU;;IADrB,mBAAmB;QAJ/B,SAAS,CAAC;YACP,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,YAAY;SACzB,CAAC;QAEe,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;OADtB,mBAAmB,CAI/B;IAAD,0BAAC;CAAA,CAJyE,UAAU;;;ICEpF;KAAgC;IAAnB,gBAAgB;QAJ5B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,mBAAmB,CAAC;YACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;SACjC,CAAC;OACW,gBAAgB,CAAG;IAAD,uBAAC;CAAhC;;ACRA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-focus-trap.js","sources":["ng://@taiga-ui/cdk/directives/focus-trap/focus-trap.directive.ts","ng://@taiga-ui/cdk/directives/focus-trap/focus-trap.module.ts","ng://@taiga-ui/cdk/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n HostListener,\n Inject,\n OnDestroy,\n Renderer2,\n} from '@angular/core';\nimport {containsOrAfter} from '@taiga-ui/cdk/utils/dom';\nimport {\n blurNativeFocused,\n getClosestFocusable,\n getNativeFocused,\n setNativeFocused,\n} from '@taiga-ui/cdk/utils/focus';\n\n// @dynamic\n@Directive({\n selector: '[tuiFocusTrap]',\n host: {\n tabIndex: '0',\n },\n})\nexport class TuiFocusTrapDirective implements OnDestroy {\n private readonly activeElement = getNativeFocused(this.documentRef);\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n ) {\n /**\n * This would cause currently focused element to lose focus\n * but it might cause ExpressionChanged error due to potential HostBinding.\n * Microtask keeps it in the same frame but allows change detection to run\n */\n Promise.resolve().then(() => {\n setNativeFocused(this.elementRef.nativeElement);\n });\n }\n\n @HostListener('blur')\n onBlur() {\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'tabIndex');\n }\n\n @HostListener('window:focusin.silent', ['$event.target'])\n onFocusIn(node: Node) {\n if (containsOrAfter(this.elementRef.nativeElement, node)) {\n return;\n }\n\n const focusable = getClosestFocusable(\n this.elementRef.nativeElement,\n false,\n this.elementRef.nativeElement,\n );\n\n if (focusable) {\n setNativeFocused(focusable);\n }\n }\n\n ngOnDestroy() {\n blurNativeFocused(this.documentRef);\n\n /**\n * HostListeners are triggered even after ngOnDestroy\n * {@link https://github.com/angular/angular/issues/38100}\n * so we need to delay it but stay in the same sync cycle,\n * therefore using Promise instead of setTimeout\n */\n Promise.resolve().then(() => {\n // TODO: iframe warning\n if (this.activeElement instanceof HTMLElement) {\n setNativeFocused(this.activeElement);\n }\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiFocusTrapDirective} from './focus-trap.directive';\n\n@NgModule({\n declarations: [TuiFocusTrapDirective],\n exports: [TuiFocusTrapDirective],\n})\nexport class TuiFocusTrapModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAiBA;;IAUI,+BACuC,WAAqB,EAEvC,UAAmC,EAChB,QAAmB;QAJ3D,iBAcC;QAbsC,gBAAW,GAAX,WAAW,CAAU;QAEvC,eAAU,GAAV,UAAU,CAAyB;QAChB,aAAQ,GAAR,QAAQ,CAAW;QAN1C,kBAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;;;;;QAahE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;YACnB,gBAAgB,CAAC,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SACnD,CAAC,CAAC;KACN;IAGD,sCAAM,GAAN;QACI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;KAC5E;IAGD,yCAAS,GAAT,UAAU,IAAU;QAChB,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE;YACtD,OAAO;SACV;QAED,IAAM,SAAS,GAAG,mBAAmB,CACjC,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,KAAK,EACL,IAAI,CAAC,UAAU,CAAC,aAAa,CAChC,CAAC;QAEF,IAAI,SAAS,EAAE;YACX,gBAAgB,CAAC,SAAS,CAAC,CAAC;SAC/B;KACJ;IAED,2CAAW,GAAX;QAAA,iBAeC;QAdG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;;;;;;QAQpC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;;YAEnB,IAAI,KAAI,CAAC,aAAa,YAAY,WAAW,EAAE;gBAC3C,gBAAgB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;aACxC;SACJ,CAAC,CAAC;KACN;;gBApDmD,QAAQ,uBAAvD,MAAM,SAAC,QAAQ;gBAEa,UAAU,uBADtC,MAAM,SAAC,UAAU;gBAE4B,SAAS,uBAAtD,MAAM,SAAC,SAAS;;IAarB;QADC,YAAY,CAAC,MAAM,CAAC;uDAGpB;IAGD;QADC,YAAY,CAAC,uBAAuB,EAAE,CAAC,eAAe,CAAC,CAAC;0DAexD;IAvCQ,qBAAqB;QANjC,SAAS,CAAC;YACP,QAAQ,EAAE,gBAAgB;YAC1B,IAAI,EAAE;gBACF,QAAQ,EAAE,GAAG;aAChB;SACJ,CAAC;QAKO,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChB,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAElB,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;OAPb,qBAAqB,CAyDjC;IAAD,4BAAC;CAzDD;;;IChBA;KAAkC;IAArB,kBAAkB;QAJ9B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,qBAAqB,CAAC;YACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;SACnC,CAAC;OACW,kBAAkB,CAAG;IAAD,yBAAC;CAAlC;;ACRA;;;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-focus-trap.js","sources":["ng://@taiga-ui/cdk/directives/focus-trap/focus-trap.directive.ts","ng://@taiga-ui/cdk/directives/focus-trap/focus-trap.module.ts","ng://@taiga-ui/cdk/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n HostListener,\n Inject,\n OnDestroy,\n Renderer2,\n} from '@angular/core';\nimport {containsOrAfter} from '@taiga-ui/cdk/utils/dom';\nimport {\n blurNativeFocused,\n getClosestFocusable,\n getNativeFocused,\n setNativeFocused,\n} from '@taiga-ui/cdk/utils/focus';\n\n// @dynamic\n@Directive({\n selector: '[tuiFocusTrap]',\n host: {\n tabIndex: '0',\n },\n})\nexport class TuiFocusTrapDirective implements OnDestroy {\n private readonly activeElement = getNativeFocused(this.documentRef);\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n ) {\n /**\n * This would cause currently focused element to lose focus\n * but it might cause ExpressionChanged error due to potential HostBinding.\n * Microtask keeps it in the same frame but allows change detection to run\n */\n Promise.resolve().then(() => {\n setNativeFocused(this.elementRef.nativeElement);\n });\n }\n\n @HostListener('blur')\n onBlur(): void {\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'tabIndex');\n }\n\n @HostListener('window:focusin.silent', ['$event.target'])\n onFocusIn(node: Node): void {\n if (containsOrAfter(this.elementRef.nativeElement, node)) {\n return;\n }\n\n const focusable = getClosestFocusable(\n this.elementRef.nativeElement,\n false,\n this.elementRef.nativeElement,\n );\n\n if (focusable) {\n setNativeFocused(focusable);\n }\n }\n\n ngOnDestroy(): void {\n blurNativeFocused(this.documentRef);\n\n /**\n * HostListeners are triggered even after ngOnDestroy\n * {@link https://github.com/angular/angular/issues/38100}\n * so we need to delay it but stay in the same sync cycle,\n * therefore using Promise instead of setTimeout\n */\n Promise.resolve().then(() => {\n // TODO: iframe warning\n if (this.activeElement instanceof HTMLElement) {\n setNativeFocused(this.activeElement);\n }\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiFocusTrapDirective} from './focus-trap.directive';\n\n@NgModule({\n declarations: [TuiFocusTrapDirective],\n exports: [TuiFocusTrapDirective],\n})\nexport class TuiFocusTrapModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAiBA;;IAUI,+BACuC,WAAqB,EAEvC,UAAmC,EAChB,QAAmB;QAJ3D,iBAcC;QAbsC,gBAAW,GAAX,WAAW,CAAU;QAEvC,eAAU,GAAV,UAAU,CAAyB;QAChB,aAAQ,GAAR,QAAQ,CAAW;QAN1C,kBAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;;;;;QAahE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;YACnB,gBAAgB,CAAC,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SACnD,CAAC,CAAC;KACN;IAGD,sCAAM,GAAN;QACI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;KAC5E;IAGD,yCAAS,GAAT,UAAU,IAAU;QAChB,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE;YACtD,OAAO;SACV;QAED,IAAM,SAAS,GAAG,mBAAmB,CACjC,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,KAAK,EACL,IAAI,CAAC,UAAU,CAAC,aAAa,CAChC,CAAC;QAEF,IAAI,SAAS,EAAE;YACX,gBAAgB,CAAC,SAAS,CAAC,CAAC;SAC/B;KACJ;IAED,2CAAW,GAAX;QAAA,iBAeC;QAdG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;;;;;;QAQpC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;;YAEnB,IAAI,KAAI,CAAC,aAAa,YAAY,WAAW,EAAE;gBAC3C,gBAAgB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;aACxC;SACJ,CAAC,CAAC;KACN;;gBApDmD,QAAQ,uBAAvD,MAAM,SAAC,QAAQ;gBAEa,UAAU,uBADtC,MAAM,SAAC,UAAU;gBAE4B,SAAS,uBAAtD,MAAM,SAAC,SAAS;;IAarB;QADC,YAAY,CAAC,MAAM,CAAC;uDAGpB;IAGD;QADC,YAAY,CAAC,uBAAuB,EAAE,CAAC,eAAe,CAAC,CAAC;0DAexD;IAvCQ,qBAAqB;QANjC,SAAS,CAAC;YACP,QAAQ,EAAE,gBAAgB;YAC1B,IAAI,EAAE;gBACF,QAAQ,EAAE,GAAG;aAChB;SACJ,CAAC;QAKO,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChB,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAElB,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;OAPb,qBAAqB,CAyDjC;IAAD,4BAAC;CAzDD;;;IChBA;KAAkC;IAArB,kBAAkB;QAJ9B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,qBAAqB,CAAC;YACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;SACnC,CAAC;OACW,kBAAkB,CAAG;IAAD,yBAAC;CAAlC;;ACRA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-for.js","sources":["ng://@taiga-ui/cdk/directives/for/for.directive.ts","ng://@taiga-ui/cdk/directives/for/for.module.ts","ng://@taiga-ui/cdk/directives/for/taiga-ui-cdk-directives-for.ts"],"sourcesContent":["import {\n Directive,\n EmbeddedViewRef,\n Inject,\n Input,\n OnChanges,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\n\n@Directive({\n selector: '[ngFor][ngForOf][ngForElse],[ngFor][ngForOf][ngForEmpty]',\n})\nexport class TuiForDirective<T, K =
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-for.js","sources":["ng://@taiga-ui/cdk/directives/for/for.directive.ts","ng://@taiga-ui/cdk/directives/for/for.module.ts","ng://@taiga-ui/cdk/directives/for/taiga-ui-cdk-directives-for.ts"],"sourcesContent":["import {\n Directive,\n EmbeddedViewRef,\n Inject,\n Input,\n OnChanges,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\n\n@Directive({\n selector: '[ngFor][ngForOf][ngForElse],[ngFor][ngForOf][ngForEmpty]',\n})\nexport class TuiForDirective<T, K = unknown> implements OnChanges {\n private ref?: EmbeddedViewRef<unknown>;\n\n @Input()\n ngForOf: T[] | readonly T[] | null = [];\n\n @Input()\n ngForElse?: TemplateRef<K>;\n\n @Input()\n ngForEmpty?: TemplateRef<K>;\n\n constructor(@Inject(ViewContainerRef) private readonly vcr: ViewContainerRef) {}\n\n ngOnChanges(): void {\n this.ref?.destroy();\n\n if (this.ngForOf?.length === 0 && this.ngForEmpty) {\n this.ref = this.vcr.createEmbeddedView(this.ngForEmpty);\n } else if (!this.ngForOf && this.ngForElse) {\n this.ref = this.vcr.createEmbeddedView(this.ngForElse);\n }\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiForDirective} from './for.directive';\n\n@NgModule({\n declarations: [TuiForDirective],\n exports: [TuiForDirective],\n})\nexport class TuiForModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAyBI,yBAAuD,GAAqB;QAArB,QAAG,GAAH,GAAG,CAAkB;QAR5E,YAAO,GAA8B,EAAE,CAAC;KAQwC;IAEhF,qCAAW,GAAX;;QACI,MAAA,IAAI,CAAC,GAAG,0CAAE,OAAO,GAAG;QAEpB,IAAI,OAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,MAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;YAC/C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC3D;aAAM,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;YACxC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1D;KACJ;;gBAV2D,gBAAgB,uBAA/D,MAAM,SAAC,gBAAgB;;IARpC;QADC,KAAK,EAAE;oDACgC;IAGxC;QADC,KAAK,EAAE;sDACmB;IAG3B;QADC,KAAK,EAAE;uDACoB;IAVnB,eAAe;QAH3B,SAAS,CAAC;YACP,QAAQ,EAAE,0DAA0D;SACvE,CAAC;QAae,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;OAZ5B,eAAe,CAuB3B;IAAD,sBAAC;CAvBD;;;ICLA;KAA4B;IAAf,YAAY;QAJxB,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,eAAe,CAAC;YAC/B,OAAO,EAAE,CAAC,eAAe,CAAC;SAC7B,CAAC;OACW,YAAY,CAAG;IAAD,mBAAC;CAA5B;;ACRA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-high-dpi.js","sources":["ng://@taiga-ui/cdk/directives/high-dpi/high-dpi.directive.ts","ng://@taiga-ui/cdk/directives/high-dpi/high-dpi.module.ts","ng://@taiga-ui/cdk/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.ts"],"sourcesContent":["import {Directive, Inject, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\n\n/**\n * Only adds current content if user has High DPI display\n * @dynamic\n */\n@Directive({\n selector: '[tuiHighDpi]',\n})\nexport class TuiHighDpiDirective {\n constructor(\n @Inject(WINDOW) {devicePixelRatio}: Window,\n @Inject(ViewContainerRef) viewContainer: ViewContainerRef,\n @Inject(TemplateRef) templateRef: TemplateRef<unknown
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-high-dpi.js","sources":["ng://@taiga-ui/cdk/directives/high-dpi/high-dpi.directive.ts","ng://@taiga-ui/cdk/directives/high-dpi/high-dpi.module.ts","ng://@taiga-ui/cdk/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.ts"],"sourcesContent":["import {Directive, Inject, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\n\n/**\n * Only adds current content if user has High DPI display\n * @dynamic\n */\n@Directive({\n selector: '[tuiHighDpi]',\n})\nexport class TuiHighDpiDirective {\n constructor(\n @Inject(WINDOW) {devicePixelRatio}: Window,\n @Inject(ViewContainerRef) viewContainer: ViewContainerRef,\n @Inject(TemplateRef) templateRef: TemplateRef<Record<string, unknown>>,\n ) {\n if (devicePixelRatio > 1) {\n viewContainer.createEmbeddedView(templateRef);\n }\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiHighDpiDirective} from './high-dpi.directive';\n\n@NgModule({\n declarations: [TuiHighDpiDirective],\n exports: [TuiHighDpiDirective],\n})\nexport class TuiHighDpiModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA;;;;;IAQI,6BACoB,EAA0B,EAChB,aAA+B,EACpC,WAAiD;YAFrD,sCAAgB;QAIjC,IAAI,gBAAgB,GAAG,CAAC,EAAE;YACtB,aAAa,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;SACjD;KACJ;;gBAPuC,MAAM,uBAAzC,MAAM,SAAC,MAAM;gBAC2B,gBAAgB,uBAAxD,MAAM,SAAC,gBAAgB;gBACU,WAAW,uBAA5C,MAAM,SAAC,WAAW;;IAJd,mBAAmB;QAH/B,SAAS,CAAC;YACP,QAAQ,EAAE,cAAc;SAC3B,CAAC;QAGO,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA;QACd,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACxB,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;OAJf,mBAAmB,CAU/B;IAAD,0BAAC;CAVD;;;ICFA;KAAgC;IAAnB,gBAAgB;QAJ5B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,mBAAmB,CAAC;YACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;SACjC,CAAC;OACW,gBAAgB,CAAG;IAAD,uBAAC;CAAhC;;ACRA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-let.js","sources":["ng://@taiga-ui/cdk/directives/let/let-context.ts","ng://@taiga-ui/cdk/directives/let/let.directive.ts","ng://@taiga-ui/cdk/directives/let/let.module.ts","ng://@taiga-ui/cdk/directives/let/taiga-ui-cdk-directives-let.ts"],"sourcesContent":["import {TuiContextWithImplicit} from '@taiga-ui/cdk/interfaces';\n\nimport {TuiLetDirective} from './let.directive';\n\n/**\n * @internal\n */\nexport class TuiLetContext<T> implements TuiContextWithImplicit<T> {\n constructor(private readonly internalDirectiveInstance: TuiLetDirective<T>) {}\n\n get $implicit(): T {\n return this.internalDirectiveInstance.tuiLet;\n }\n\n get tuiLet(): T {\n return this.internalDirectiveInstance.tuiLet;\n }\n}\n","import {Directive, Inject, Input, TemplateRef, ViewContainerRef} from '@angular/core';\n\nimport {TuiLetContext} from './let-context';\n\n/**\n * Works like *ngIf but does not have a condition — use it to declare\n * the result of pipes calculation (i.e. async pipe)\n */\n@Directive({\n selector: '[tuiLet]',\n})\nexport class TuiLetDirective<T> {\n @Input()\n tuiLet!: T;\n\n constructor(\n @Inject(ViewContainerRef) viewContainer: ViewContainerRef,\n @Inject(TemplateRef) templateRef: TemplateRef<TuiLetContext<T>>,\n ) {\n viewContainer.createEmbeddedView(templateRef, new TuiLetContext<T>(this));\n }\n\n /**\n * Asserts the correct type of the context for the template that `TuiLet` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `TuiLet` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard<T>(\n _dir: TuiLetDirective<T>,\n _ctx: any,\n ): _ctx is TuiLetDirective<T
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-let.js","sources":["ng://@taiga-ui/cdk/directives/let/let-context.ts","ng://@taiga-ui/cdk/directives/let/let.directive.ts","ng://@taiga-ui/cdk/directives/let/let.module.ts","ng://@taiga-ui/cdk/directives/let/taiga-ui-cdk-directives-let.ts"],"sourcesContent":["import {TuiContextWithImplicit} from '@taiga-ui/cdk/interfaces';\n\nimport {TuiLetDirective} from './let.directive';\n\n/**\n * @internal\n */\nexport class TuiLetContext<T> implements TuiContextWithImplicit<T> {\n constructor(private readonly internalDirectiveInstance: TuiLetDirective<T>) {}\n\n get $implicit(): T {\n return this.internalDirectiveInstance.tuiLet;\n }\n\n get tuiLet(): T {\n return this.internalDirectiveInstance.tuiLet;\n }\n}\n","import {Directive, Inject, Input, TemplateRef, ViewContainerRef} from '@angular/core';\n\nimport {TuiLetContext} from './let-context';\n\n/**\n * Works like *ngIf but does not have a condition — use it to declare\n * the result of pipes calculation (i.e. async pipe)\n */\n@Directive({\n selector: '[tuiLet]',\n})\nexport class TuiLetDirective<T> {\n @Input()\n tuiLet!: T;\n\n constructor(\n @Inject(ViewContainerRef) viewContainer: ViewContainerRef,\n @Inject(TemplateRef) templateRef: TemplateRef<TuiLetContext<T>>,\n ) {\n viewContainer.createEmbeddedView(templateRef, new TuiLetContext<T>(this));\n }\n\n /**\n * Asserts the correct type of the context for the template that `TuiLet` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `TuiLet` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard<T>(\n _dir: TuiLetDirective<T>,\n _ctx: any,\n ): _ctx is TuiLetDirective<Exclude<T, null | undefined>> {\n return true;\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiLetDirective} from './let.directive';\n\n@NgModule({\n declarations: [TuiLetDirective],\n exports: [TuiLetDirective],\n})\nexport class TuiLetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAIA;;;;IAII,uBAA6B,yBAA6C;QAA7C,8BAAyB,GAAzB,yBAAyB,CAAoB;KAAI;IAE9E,sBAAI,oCAAS;aAAb;YACI,OAAO,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC;SAChD;;;OAAA;IAED,sBAAI,iCAAM;aAAV;YACI,OAAO,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC;SAChD;;;OAAA;IACL,oBAAC;AAAD,CAAC;;ACbD;;;;;IAWI,yBAC8B,aAA+B,EACpC,WAA0C;QAE/D,aAAa,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,aAAa,CAAI,IAAI,CAAC,CAAC,CAAC;KAC7E;;;;;;;IAQM,sCAAsB,GAA7B,UACI,IAAwB,EACxB,IAAS;QAET,OAAO,IAAI,CAAC;KACf;;gBAjB4C,gBAAgB,uBAAxD,MAAM,SAAC,gBAAgB;gBACU,WAAW,uBAA5C,MAAM,SAAC,WAAW;;IAJvB;QADC,KAAK,EAAE;mDACG;IAFF,eAAe;QAH3B,SAAS,CAAC;YACP,QAAQ,EAAE,UAAU;SACvB,CAAC;QAMO,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACxB,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;OANf,eAAe,CAuB3B;IAAD,sBAAC;CAvBD;;;ICHA;KAA4B;IAAf,YAAY;QAJxB,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,eAAe,CAAC;YAC/B,OAAO,EAAE,CAAC,eAAe,CAAC;SAC7B,CAAC;OACW,YAAY,CAAG;IAAD,mBAAC;CAA5B;;ACRA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-media.js","sources":["ng://@taiga-ui/cdk/directives/media/media.directive.ts","ng://@taiga-ui/cdk/directives/media/media.module.ts","ng://@taiga-ui/cdk/directives/media/taiga-ui-cdk-directives-media.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk/decorators';\n\nexport function nonNegativeFiniteAssertion(value: number): boolean {\n return isFinite(value) && value >= 0;\n}\n\nexport function volumeAssertion(volume: number): boolean {\n return isFinite(volume) && volume >= 0 && volume <= 1;\n}\n\n@Directive({\n selector: 'video[tuiMedia], audio[tuiMedia]',\n exportAs: 'tuiMedia',\n})\nexport class TuiMediaDirective {\n private playbackRate = 1;\n\n @Input()\n @HostBinding('volume')\n @tuiDefaultProp(volumeAssertion)\n volume = 1;\n\n @Input('playbackRate')\n @tuiRequiredSetter(nonNegativeFiniteAssertion)\n set playbackRateSetter(playbackRate: number) {\n this.updatePlaybackRate(playbackRate);\n }\n\n @Input()\n @tuiRequiredSetter(nonNegativeFiniteAssertion)\n set currentTime(currentTime: number) {\n if (Math.abs(currentTime - this.currentTime) > 0.05) {\n this.elementRef.nativeElement.currentTime = currentTime;\n }\n }\n\n @Input()\n set paused(paused: boolean) {\n if (paused) {\n this.elementRef.nativeElement.pause();\n } else {\n this.elementRef.nativeElement.play();\n this.updatePlaybackRate(this.playbackRate);\n }\n }\n\n @Output()\n readonly currentTimeChange = new EventEmitter<number>();\n\n @Output()\n readonly pausedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly volumeChange = new EventEmitter<number>();\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLMediaElement>,\n ) {}\n\n get paused(): boolean {\n return this.elementRef.nativeElement.paused;\n }\n\n get currentTime(): number {\n return this.elementRef.nativeElement.currentTime;\n }\n\n // @bad TODO: Make sure no other events can affect this like network issues etc.\n @HostListener('ended', ['true'])\n @HostListener('pause', ['true'])\n @HostListener('play', ['false'])\n onPausedChange(paused: boolean) {\n this.pausedChange.emit(paused);\n this.updatePlaybackRate(this.playbackRate);\n }\n\n @HostListener('volumechange')\n onVolumeChange() {\n this.volume = this.elementRef.nativeElement.volume;\n this.volumeChange.emit(this.volume);\n }\n\n @HostListener('timeupdate')\n @HostListener('seeking')\n @HostListener('seeked')\n onCurrentTimeChange() {\n this.currentTimeChange.emit(this.currentTime);\n }\n\n @HostListener('durationchange')\n changeDetectionTrigger() {\n // @bad TODO: consider if other events need to trigger CD\n }\n\n private updatePlaybackRate(playbackRate: number) {\n this.playbackRate = playbackRate;\n this.elementRef.nativeElement.playbackRate = this.playbackRate;\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiMediaDirective} from './media.directive';\n\n@NgModule({\n declarations: [TuiMediaDirective],\n exports: [TuiMediaDirective],\n})\nexport class TuiMediaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-media.js","sources":["ng://@taiga-ui/cdk/directives/media/media.directive.ts","ng://@taiga-ui/cdk/directives/media/media.module.ts","ng://@taiga-ui/cdk/directives/media/taiga-ui-cdk-directives-media.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk/decorators';\n\nexport function nonNegativeFiniteAssertion(value: number): boolean {\n return isFinite(value) && value >= 0;\n}\n\nexport function volumeAssertion(volume: number): boolean {\n return isFinite(volume) && volume >= 0 && volume <= 1;\n}\n\n@Directive({\n selector: 'video[tuiMedia], audio[tuiMedia]',\n exportAs: 'tuiMedia',\n})\nexport class TuiMediaDirective {\n private playbackRate = 1;\n\n @Input()\n @HostBinding('volume')\n @tuiDefaultProp(volumeAssertion)\n volume = 1;\n\n @Input('playbackRate')\n @tuiRequiredSetter(nonNegativeFiniteAssertion)\n set playbackRateSetter(playbackRate: number) {\n this.updatePlaybackRate(playbackRate);\n }\n\n @Input()\n @tuiRequiredSetter(nonNegativeFiniteAssertion)\n set currentTime(currentTime: number) {\n if (Math.abs(currentTime - this.currentTime) > 0.05) {\n this.elementRef.nativeElement.currentTime = currentTime;\n }\n }\n\n @Input()\n set paused(paused: boolean) {\n if (paused) {\n this.elementRef.nativeElement.pause();\n } else {\n this.elementRef.nativeElement.play();\n this.updatePlaybackRate(this.playbackRate);\n }\n }\n\n @Output()\n readonly currentTimeChange = new EventEmitter<number>();\n\n @Output()\n readonly pausedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly volumeChange = new EventEmitter<number>();\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLMediaElement>,\n ) {}\n\n get paused(): boolean {\n return this.elementRef.nativeElement.paused;\n }\n\n get currentTime(): number {\n return this.elementRef.nativeElement.currentTime;\n }\n\n // @bad TODO: Make sure no other events can affect this like network issues etc.\n @HostListener('ended', ['true'])\n @HostListener('pause', ['true'])\n @HostListener('play', ['false'])\n onPausedChange(paused: boolean): void {\n this.pausedChange.emit(paused);\n this.updatePlaybackRate(this.playbackRate);\n }\n\n @HostListener('volumechange')\n onVolumeChange(): void {\n this.volume = this.elementRef.nativeElement.volume;\n this.volumeChange.emit(this.volume);\n }\n\n @HostListener('timeupdate')\n @HostListener('seeking')\n @HostListener('seeked')\n onCurrentTimeChange(): void {\n this.currentTimeChange.emit(this.currentTime);\n }\n\n @HostListener('durationchange')\n changeDetectionTrigger(): void {\n // @bad TODO: consider if other events need to trigger CD\n }\n\n private updatePlaybackRate(playbackRate: number): void {\n this.playbackRate = playbackRate;\n this.elementRef.nativeElement.playbackRate = this.playbackRate;\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiMediaDirective} from './media.directive';\n\n@NgModule({\n declarations: [TuiMediaDirective],\n exports: [TuiMediaDirective],\n})\nexport class TuiMediaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ var TuiOverscrollDirective = /** @class */ (function () {
|
|
|
16
16
|
var nativeElement = _a.nativeElement;
|
|
17
17
|
this.mode = 'scroll';
|
|
18
18
|
typedFromEvent(nativeElement, 'wheel', { passive: false })
|
|
19
|
-
.pipe(filter(function () { return _this.enabled; }),
|
|
19
|
+
.pipe(filter(function () { return _this.enabled; }), tuiZonefree(ngZone), takeUntil(destroy$))
|
|
20
20
|
.subscribe(function (event) {
|
|
21
21
|
_this.processEvent(event, !!event.deltaY, event.deltaY ? event.deltaY < 0 : event.deltaX < 0);
|
|
22
22
|
});
|
|
@@ -41,7 +41,7 @@ var TuiOverscrollDirective = /** @class */ (function () {
|
|
|
41
41
|
}
|
|
42
42
|
_this.processEvent(event, vertical, vertical ? deltaY < 0 : deltaX < 0);
|
|
43
43
|
}));
|
|
44
|
-
}),
|
|
44
|
+
}), tuiZonefree(ngZone), takeUntil(destroy$))
|
|
45
45
|
.subscribe();
|
|
46
46
|
}
|
|
47
47
|
Object.defineProperty(TuiOverscrollDirective.prototype, "enabled", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-overscroll.js","sources":["ng://@taiga-ui/cdk/directives/overscroll/overscroll.directive.ts","ng://@taiga-ui/cdk/directives/overscroll/overscroll.module.ts","ng://@taiga-ui/cdk/directives/overscroll/taiga-ui-cdk-directives-overscroll.ts"],"sourcesContent":["import {Directive, ElementRef, HostBinding, Inject, Input, NgZone} from '@angular/core';\nimport {tuiZonefree, typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {TuiEventWith, TuiOverscrollModeT} from '@taiga-ui/cdk/types';\nimport {canScroll, getScrollParent} from '@taiga-ui/cdk/utils/dom';\nimport {Observable} from 'rxjs';\nimport {filter, switchMap, takeUntil, tap} from 'rxjs/operators';\n\n/**\n * Directive to isolate scrolling, i.e. prevent body scroll behind modal dialog\n * @dynamic\n */\n@Directive({\n selector: '[tuiOverscroll]',\n providers: [TuiDestroyService],\n})\nexport class TuiOverscrollDirective {\n @Input('tuiOverscroll')\n mode: TuiOverscrollModeT = 'scroll';\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n typedFromEvent(nativeElement, 'wheel', {passive: false})\n .pipe(\n filter(() => this.enabled),\n
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-overscroll.js","sources":["ng://@taiga-ui/cdk/directives/overscroll/overscroll.directive.ts","ng://@taiga-ui/cdk/directives/overscroll/overscroll.module.ts","ng://@taiga-ui/cdk/directives/overscroll/taiga-ui-cdk-directives-overscroll.ts"],"sourcesContent":["import {Directive, ElementRef, HostBinding, Inject, Input, NgZone} from '@angular/core';\nimport {tuiZonefree, typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {TuiEventWith, TuiOverscrollModeT} from '@taiga-ui/cdk/types';\nimport {canScroll, getScrollParent} from '@taiga-ui/cdk/utils/dom';\nimport {Observable} from 'rxjs';\nimport {filter, switchMap, takeUntil, tap} from 'rxjs/operators';\n\n/**\n * Directive to isolate scrolling, i.e. prevent body scroll behind modal dialog\n * @dynamic\n */\n@Directive({\n selector: '[tuiOverscroll]',\n providers: [TuiDestroyService],\n})\nexport class TuiOverscrollDirective {\n @Input('tuiOverscroll')\n mode: TuiOverscrollModeT | '' = 'scroll';\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n typedFromEvent(nativeElement, 'wheel', {passive: false})\n .pipe(\n filter(() => this.enabled),\n tuiZonefree(ngZone),\n takeUntil(destroy$),\n )\n .subscribe(event => {\n this.processEvent(\n event,\n !!event.deltaY,\n event.deltaY ? event.deltaY < 0 : event.deltaX < 0,\n );\n });\n\n typedFromEvent(nativeElement, 'touchstart', {passive: true})\n .pipe(\n switchMap(({touches}) => {\n let {clientX, clientY} = touches[0];\n let deltaX = 0;\n let deltaY = 0;\n let vertical: boolean;\n\n return typedFromEvent(nativeElement, 'touchmove', {\n passive: false,\n }).pipe(\n filter(() => this.enabled),\n tap(event => {\n // We have to have it in tap instead of subscribe due to variables in closure\n const changedTouch = event.changedTouches[0];\n\n deltaX = clientX - changedTouch.clientX;\n deltaY = clientY - changedTouch.clientY;\n clientX = changedTouch.clientX;\n clientY = changedTouch.clientY;\n\n if (vertical === undefined) {\n vertical = Math.abs(deltaY) > Math.abs(deltaX);\n }\n\n this.processEvent(\n event,\n vertical,\n vertical ? deltaY < 0 : deltaX < 0,\n );\n }),\n );\n }),\n tuiZonefree(ngZone),\n takeUntil(destroy$),\n )\n .subscribe();\n }\n\n get enabled(): boolean {\n return this.mode !== 'none';\n }\n\n @HostBinding('style.overscrollBehavior')\n get overscrollBehavior(): 'contain' | null {\n return this.enabled ? 'contain' : null;\n }\n\n private processEvent(\n event: TuiEventWith<Event, HTMLElement>,\n vertical: boolean,\n negative: boolean,\n ): void {\n const {target, currentTarget, cancelable} = event;\n\n // TODO: iframe warning\n if (!cancelable || !(target instanceof Element)) {\n return;\n }\n\n // This is all what's needed in Chrome/Firefox thanks to CSS overscroll-behavior\n if (\n this.mode === 'all' &&\n ((vertical && !currentTarget.contains(getScrollParent(target))) ||\n (!vertical && !currentTarget.contains(getScrollParent(target, false))))\n ) {\n event.preventDefault();\n\n return;\n }\n\n // This is Safari/IE/Edge fallback\n if (\n vertical &&\n ((negative && !canScroll(target, currentTarget, true, false)) ||\n (!negative && !canScroll(target, currentTarget, true, true)))\n ) {\n event.preventDefault();\n\n return;\n }\n\n if (\n !vertical &&\n ((negative && !canScroll(target, currentTarget, false, false)) ||\n (!negative && !canScroll(target, currentTarget, false, true)))\n ) {\n event.preventDefault();\n }\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiOverscrollDirective} from './overscroll.directive';\n\n@NgModule({\n declarations: [TuiOverscrollDirective],\n exports: [TuiOverscrollDirective],\n})\nexport class TuiOverscrollModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { __decorate, __param } from 'tslib';
|
|
2
|
+
import { TemplateRef, Inject, Input, Directive, NgModule } from '@angular/core';
|
|
3
|
+
import { TuiPortalService } from '@taiga-ui/cdk/components/portal-host';
|
|
4
|
+
|
|
5
|
+
var TuiPortalDirective = /** @class */ (function () {
|
|
6
|
+
function TuiPortalDirective(templateRef, portalService) {
|
|
7
|
+
this.templateRef = templateRef;
|
|
8
|
+
this.portalService = portalService;
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(TuiPortalDirective.prototype, "tuiPortal", {
|
|
11
|
+
set: function (show) {
|
|
12
|
+
var _a;
|
|
13
|
+
(_a = this.viewRef) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
14
|
+
if (show) {
|
|
15
|
+
this.viewRef = this.portalService.addTemplate(this.templateRef);
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
enumerable: true,
|
|
19
|
+
configurable: true
|
|
20
|
+
});
|
|
21
|
+
TuiPortalDirective.prototype.ngOnDestroy = function () {
|
|
22
|
+
var _a;
|
|
23
|
+
(_a = this.viewRef) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
24
|
+
};
|
|
25
|
+
TuiPortalDirective.ctorParameters = function () { return [
|
|
26
|
+
{ type: TemplateRef, decorators: [{ type: Inject, args: [TemplateRef,] }] },
|
|
27
|
+
{ type: TuiPortalService, decorators: [{ type: Inject, args: [TuiPortalService,] }] }
|
|
28
|
+
]; };
|
|
29
|
+
__decorate([
|
|
30
|
+
Input()
|
|
31
|
+
], TuiPortalDirective.prototype, "tuiPortal", null);
|
|
32
|
+
TuiPortalDirective = __decorate([
|
|
33
|
+
Directive({
|
|
34
|
+
selector: '[tuiPortal]',
|
|
35
|
+
}),
|
|
36
|
+
__param(0, Inject(TemplateRef)),
|
|
37
|
+
__param(1, Inject(TuiPortalService))
|
|
38
|
+
], TuiPortalDirective);
|
|
39
|
+
return TuiPortalDirective;
|
|
40
|
+
}());
|
|
41
|
+
|
|
42
|
+
var TuiPortalModule = /** @class */ (function () {
|
|
43
|
+
function TuiPortalModule() {
|
|
44
|
+
}
|
|
45
|
+
TuiPortalModule = __decorate([
|
|
46
|
+
NgModule({
|
|
47
|
+
declarations: [TuiPortalDirective],
|
|
48
|
+
exports: [TuiPortalDirective],
|
|
49
|
+
})
|
|
50
|
+
], TuiPortalModule);
|
|
51
|
+
return TuiPortalModule;
|
|
52
|
+
}());
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Generated bundle index. Do not edit.
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
export { TuiPortalDirective, TuiPortalModule };
|
|
59
|
+
//# sourceMappingURL=taiga-ui-cdk-directives-portal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-portal.js","sources":["ng://@taiga-ui/cdk/directives/portal/portal.directive.ts","ng://@taiga-ui/cdk/directives/portal/portal.module.ts","ng://@taiga-ui/cdk/directives/portal/taiga-ui-cdk-directives-portal.ts"],"sourcesContent":["import {\n Directive,\n EmbeddedViewRef,\n Inject,\n Input,\n OnDestroy,\n TemplateRef,\n} from '@angular/core';\nimport {TuiPortalService} from '@taiga-ui/cdk/components/portal-host';\n\n@Directive({\n selector: '[tuiPortal]',\n})\nexport class TuiPortalDirective implements OnDestroy {\n private viewRef?: EmbeddedViewRef<unknown>;\n\n @Input()\n set tuiPortal(show: boolean) {\n this.viewRef?.destroy();\n\n if (show) {\n this.viewRef = this.portalService.addTemplate(this.templateRef);\n }\n }\n\n constructor(\n @Inject(TemplateRef)\n private readonly templateRef: TemplateRef<Record<string, unknown>>,\n @Inject(TuiPortalService) private readonly portalService: TuiPortalService,\n ) {}\n\n ngOnDestroy(): void {\n this.viewRef?.destroy();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiPortalDirective} from './portal.directive';\n\n@NgModule({\n declarations: [TuiPortalDirective],\n exports: [TuiPortalDirective],\n})\nexport class TuiPortalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;IAyBI,4BAEqB,WAAiD,EACvB,aAA+B;QADzD,gBAAW,GAAX,WAAW,CAAsC;QACvB,kBAAa,GAAb,aAAa,CAAkB;KAC1E;IAZJ,sBAAI,yCAAS;aAAb,UAAc,IAAa;;YACvB,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,GAAG;YAExB,IAAI,IAAI,EAAE;gBACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACnE;SACJ;;;OAAA;IAQD,wCAAW,GAAX;;QACI,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,GAAG;KAC3B;;gBANiC,WAAW,uBADxC,MAAM,SAAC,WAAW;gBAEuC,gBAAgB,uBAAzE,MAAM,SAAC,gBAAgB;;IAX5B;QADC,KAAK,EAAE;uDAOP;IAVQ,kBAAkB;QAH9B,SAAS,CAAC;YACP,QAAQ,EAAE,aAAa;SAC1B,CAAC;QAcO,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;QAEnB,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;OAfpB,kBAAkB,CAqB9B;IAAD,yBAAC;CArBD;;;ICLA;KAA+B;IAAlB,eAAe;QAJ3B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,kBAAkB,CAAC;YAClC,OAAO,EAAE,CAAC,kBAAkB,CAAC;SAChC,CAAC;OACW,eAAe,CAAG;IAAD,sBAAC;CAA/B;;ACRA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-repeat-times.js","sources":["ng://@taiga-ui/cdk/directives/repeat-times/repeat-times.directive.ts","ng://@taiga-ui/cdk/directives/repeat-times/repeat-times.module.ts","ng://@taiga-ui/cdk/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.ts"],"sourcesContent":["import {Directive, Inject, Input, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {tuiRequiredSetter} from '@taiga-ui/cdk/decorators';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk/interfaces';\nimport {clamp} from '@taiga-ui/cdk/utils/math';\n\nconst MAX_VALUE = 0x10000;\n\nexport class TuiRepeatTimesContext implements TuiContextWithImplicit<number> {\n constructor(readonly $implicit: number) {}\n}\n\n/**\n * Directive similar to ngFor but using a number of repetitions rather than an array\n *\n * {@link TuiRepeatTimesDirective.tuiRepeatTimesOf requested number of times}.\n * {@link TuiRepeatTimesContext context} for every instance of the template inherits outer context and stores\n * {@link TuiRepeatTimesContext.$implicit index} of a template instance.\n */\n@Directive({\n selector: '[tuiRepeatTimes][tuiRepeatTimesOf]',\n})\nexport class TuiRepeatTimesDirective {\n @Input()\n @tuiRequiredSetter()\n set tuiRepeatTimesOf(count: number) {\n const safeCount = Math.floor(clamp(count, 0, MAX_VALUE));\n\n const {length} = this.viewContainer;\n\n if (count < length) {\n this.removeContainers(length - count);\n } else {\n this.addContainers(safeCount);\n }\n }\n\n constructor(\n @Inject(ViewContainerRef)\n private readonly viewContainer: ViewContainerRef,\n @Inject(TemplateRef)\n private readonly templateRef: TemplateRef<TuiRepeatTimesContext>,\n ) {}\n\n private addContainers(count: number) {\n for (let index = this.viewContainer.length; index < count; index++) {\n this.viewContainer.createEmbeddedView<TuiRepeatTimesContext>(\n this.templateRef,\n new TuiRepeatTimesContext(index),\n );\n }\n }\n\n private removeContainers(amount: number) {\n for (let index = 0; index < amount; index++) {\n this.viewContainer.remove();\n }\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiRepeatTimesDirective} from './repeat-times.directive';\n\n@NgModule({\n declarations: [TuiRepeatTimesDirective],\n exports: [TuiRepeatTimesDirective],\n})\nexport class TuiRepeatTimesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAKA,IAAM,SAAS,GAAG,OAAO,CAAC;;IAGtB,+BAAqB,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;KAAI;IAC9C,4BAAC;AAAD,CAAC,IAAA;AAED;;;;;;;;IAyBI,iCAEqB,aAA+B,EAE/B,WAA+C;QAF/C,kBAAa,GAAb,aAAa,CAAkB;QAE/B,gBAAW,GAAX,WAAW,CAAoC;KAChE;IAjBJ,sBAAI,qDAAgB;aAApB,UAAqB,KAAa;YAC9B,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YAElD,IAAA,kCAAM,CAAuB;YAEpC,IAAI,KAAK,GAAG,MAAM,EAAE;gBAChB,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;aACzC;iBAAM;gBACH,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;aACjC;SACJ;;;OAAA;IASO,+CAAa,GAArB,UAAsB,KAAa;QAC/B,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE;YAChE,IAAI,CAAC,aAAa,CAAC,kBAAkB,CACjC,IAAI,CAAC,WAAW,EAChB,IAAI,qBAAqB,CAAC,KAAK,CAAC,CACnC,CAAC;SACL;KACJ;IAEO,kDAAgB,GAAxB,UAAyB,MAAc;QACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE;YACzC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;SAC/B;KACJ;;gBAlBmC,gBAAgB,uBAD/C,MAAM,SAAC,gBAAgB;gBAGM,WAAW,uBADxC,MAAM,SAAC,WAAW;;IAfvB;QAFC,KAAK,EAAE;QACP,iBAAiB,EAAE;mEAWnB;IAbQ,uBAAuB;QAHnC,SAAS,CAAC;YACP,QAAQ,EAAE,oCAAoC;SACjD,CAAC;QAiBO,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAExB,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;OAlBf,uBAAuB,CAoCnC;IAAD,8BAAC;CApCD;;;ICbA;KAAoC;IAAvB,oBAAoB;QAJhC,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,uBAAuB,CAAC;YACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;SACrC,CAAC;OACW,oBAAoB,CAAG;IAAD,2BAAC;CAApC;;ACRA;;;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-repeat-times.js","sources":["ng://@taiga-ui/cdk/directives/repeat-times/repeat-times.directive.ts","ng://@taiga-ui/cdk/directives/repeat-times/repeat-times.module.ts","ng://@taiga-ui/cdk/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.ts"],"sourcesContent":["import {Directive, Inject, Input, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {tuiRequiredSetter} from '@taiga-ui/cdk/decorators';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk/interfaces';\nimport {clamp} from '@taiga-ui/cdk/utils/math';\n\nconst MAX_VALUE = 0x10000;\n\nexport class TuiRepeatTimesContext implements TuiContextWithImplicit<number> {\n constructor(readonly $implicit: number) {}\n}\n\n/**\n * Directive similar to ngFor but using a number of repetitions rather than an array\n *\n * {@link TuiRepeatTimesDirective.tuiRepeatTimesOf requested number of times}.\n * {@link TuiRepeatTimesContext context} for every instance of the template inherits outer context and stores\n * {@link TuiRepeatTimesContext.$implicit index} of a template instance.\n */\n@Directive({\n selector: '[tuiRepeatTimes][tuiRepeatTimesOf]',\n})\nexport class TuiRepeatTimesDirective {\n @Input()\n @tuiRequiredSetter()\n set tuiRepeatTimesOf(count: number) {\n const safeCount = Math.floor(clamp(count, 0, MAX_VALUE));\n\n const {length} = this.viewContainer;\n\n if (count < length) {\n this.removeContainers(length - count);\n } else {\n this.addContainers(safeCount);\n }\n }\n\n constructor(\n @Inject(ViewContainerRef)\n private readonly viewContainer: ViewContainerRef,\n @Inject(TemplateRef)\n private readonly templateRef: TemplateRef<TuiRepeatTimesContext>,\n ) {}\n\n private addContainers(count: number): void {\n for (let index = this.viewContainer.length; index < count; index++) {\n this.viewContainer.createEmbeddedView<TuiRepeatTimesContext>(\n this.templateRef,\n new TuiRepeatTimesContext(index),\n );\n }\n }\n\n private removeContainers(amount: number): void {\n for (let index = 0; index < amount; index++) {\n this.viewContainer.remove();\n }\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiRepeatTimesDirective} from './repeat-times.directive';\n\n@NgModule({\n declarations: [TuiRepeatTimesDirective],\n exports: [TuiRepeatTimesDirective],\n})\nexport class TuiRepeatTimesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAKA,IAAM,SAAS,GAAG,OAAO,CAAC;;IAGtB,+BAAqB,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;KAAI;IAC9C,4BAAC;AAAD,CAAC,IAAA;AAED;;;;;;;;IAyBI,iCAEqB,aAA+B,EAE/B,WAA+C;QAF/C,kBAAa,GAAb,aAAa,CAAkB;QAE/B,gBAAW,GAAX,WAAW,CAAoC;KAChE;IAjBJ,sBAAI,qDAAgB;aAApB,UAAqB,KAAa;YAC9B,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YAElD,IAAA,kCAAM,CAAuB;YAEpC,IAAI,KAAK,GAAG,MAAM,EAAE;gBAChB,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;aACzC;iBAAM;gBACH,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;aACjC;SACJ;;;OAAA;IASO,+CAAa,GAArB,UAAsB,KAAa;QAC/B,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE;YAChE,IAAI,CAAC,aAAa,CAAC,kBAAkB,CACjC,IAAI,CAAC,WAAW,EAChB,IAAI,qBAAqB,CAAC,KAAK,CAAC,CACnC,CAAC;SACL;KACJ;IAEO,kDAAgB,GAAxB,UAAyB,MAAc;QACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE;YACzC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;SAC/B;KACJ;;gBAlBmC,gBAAgB,uBAD/C,MAAM,SAAC,gBAAgB;gBAGM,WAAW,uBADxC,MAAM,SAAC,WAAW;;IAfvB;QAFC,KAAK,EAAE;QACP,iBAAiB,EAAE;mEAWnB;IAbQ,uBAAuB;QAHnC,SAAS,CAAC;YACP,QAAQ,EAAE,oCAAoC;SACjD,CAAC;QAiBO,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAExB,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;OAlBf,uBAAuB,CAoCnC;IAAD,8BAAC;CApCD;;;ICbA;KAAoC;IAAvB,oBAAoB;QAJhC,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,uBAAuB,CAAC;YACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;SACrC,CAAC;OACW,oBAAoB,CAAG;IAAD,2BAAC;CAApC;;ACRA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-validator.js","sources":["ng://@taiga-ui/cdk/directives/validator/validator.directive.ts","ng://@taiga-ui/cdk/directives/validator/validator.module.ts","ng://@taiga-ui/cdk/directives/validator/taiga-ui-cdk-directives-validator.ts"],"sourcesContent":["import {Directive, forwardRef, Input, OnChanges, OnDestroy} from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\n\n@Directive({\n selector: '[tuiValidator]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => TuiValidatorDirective),\n multi: true,\n },\n ],\n})\nexport class TuiValidatorDirective implements Validator, OnChanges, OnDestroy {\n private onChange = EMPTY_FUNCTION;\n\n @Input()\n @tuiDefaultProp()\n tuiValidator: ValidatorFn = Validators.nullValidator;\n\n validate(control: AbstractControl): ValidationErrors | null {\n return this.tuiValidator(control);\n }\n\n registerOnValidatorChange(onChange:
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-validator.js","sources":["ng://@taiga-ui/cdk/directives/validator/validator.directive.ts","ng://@taiga-ui/cdk/directives/validator/validator.module.ts","ng://@taiga-ui/cdk/directives/validator/taiga-ui-cdk-directives-validator.ts"],"sourcesContent":["import {Directive, forwardRef, Input, OnChanges, OnDestroy} from '@angular/core';\nimport {\n AbstractControl,\n NG_VALIDATORS,\n ValidationErrors,\n Validator,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\n\n@Directive({\n selector: '[tuiValidator]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => TuiValidatorDirective),\n multi: true,\n },\n ],\n})\nexport class TuiValidatorDirective implements Validator, OnChanges, OnDestroy {\n private onChange = EMPTY_FUNCTION;\n\n @Input()\n @tuiDefaultProp()\n tuiValidator: ValidatorFn = Validators.nullValidator;\n\n validate(control: AbstractControl): ValidationErrors | null {\n return this.tuiValidator(control);\n }\n\n registerOnValidatorChange(onChange: (...args: any[]) => void): void {\n this.onChange = onChange;\n }\n\n ngOnChanges(): void {\n this.onChange();\n }\n\n ngOnDestroy(): void {\n this.tuiValidator = Validators.nullValidator;\n this.onChange();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiValidatorDirective} from './validator.directive';\n\n@NgModule({\n declarations: [TuiValidatorDirective],\n exports: [TuiValidatorDirective],\n})\nexport class TuiValidatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;IAsBA;QACY,aAAQ,GAAG,cAAc,CAAC;QAIlC,iBAAY,GAAgB,UAAU,CAAC,aAAa,CAAC;KAkBxD;8BAvBY,qBAAqB;IAO9B,wCAAQ,GAAR,UAAS,OAAwB;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;KACrC;IAED,yDAAyB,GAAzB,UAA0B,QAAkC;QACxD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC5B;IAED,2CAAW,GAAX;QACI,IAAI,CAAC,QAAQ,EAAE,CAAC;KACnB;IAED,2CAAW,GAAX;QACI,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;KACnB;;IAjBD;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;+DACoC;IAL5C,qBAAqB;QAVjC,SAAS,CAAC;YACP,QAAQ,EAAE,gBAAgB;YAC1B,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,aAAa;oBACtB,WAAW,EAAE,UAAU,CAAC,cAAM,OAAA,uBAAqB,GAAA,CAAC;oBACpD,KAAK,EAAE,IAAI;iBACd;aACJ;SACJ,CAAC;OACW,qBAAqB,CAuBjC;IAAD,4BAAC;CAvBD;;;ICdA;KAAkC;IAArB,kBAAkB;QAJ9B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,qBAAqB,CAAC;YACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;SACnC,CAAC;OACW,kBAAkB,CAAG;IAAD,yBAAC;CAAlC;;ACRA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-zoom.js","sources":["ng://@taiga-ui/cdk/directives/zoom/zoom.directive.ts","ng://@taiga-ui/cdk/directives/zoom/zoom.module.ts","ng://@taiga-ui/cdk/directives/zoom/taiga-ui-cdk-directives-zoom.ts"],"sourcesContent":["import {Directive, Inject} from '@angular/core';\nimport {TuiZoom} from '@taiga-ui/cdk/interfaces';\nimport {TuiZoomService} from '@taiga-ui/cdk/services';\nimport {Observable} from 'rxjs';\n\n// @dynamic\n@Directive({\n selector: '[tuiZoom]',\n outputs: ['tuiZoom'],\n providers: [TuiZoomService],\n host: {\n '[style.touch-
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-zoom.js","sources":["ng://@taiga-ui/cdk/directives/zoom/zoom.directive.ts","ng://@taiga-ui/cdk/directives/zoom/zoom.module.ts","ng://@taiga-ui/cdk/directives/zoom/taiga-ui-cdk-directives-zoom.ts"],"sourcesContent":["import {Directive, Inject} from '@angular/core';\nimport {TuiZoom} from '@taiga-ui/cdk/interfaces';\nimport {TuiZoomService} from '@taiga-ui/cdk/services';\nimport {Observable} from 'rxjs';\n\n// @dynamic\n@Directive({\n selector: '[tuiZoom]',\n outputs: ['tuiZoom'],\n providers: [TuiZoomService],\n host: {\n '[style.touch-action]': '\"none\"',\n },\n})\nexport class TuiZoomDirective {\n constructor(@Inject(TuiZoomService) readonly tuiZoom: Observable<TuiZoom>) {}\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiZoomDirective} from './zoom.directive';\n\n/**\n * @experimental\n */\n@NgModule({\n declarations: [TuiZoomDirective],\n exports: [TuiZoomDirective],\n})\nexport class TuiZoomModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAKA;;IAUI,0BAA6C,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;KAAI;;gBAAvB,UAAU,uBAAnD,MAAM,SAAC,cAAc;;IADzB,gBAAgB;QAR5B,SAAS,CAAC;YACP,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE,CAAC,SAAS,CAAC;YACpB,SAAS,EAAE,CAAC,cAAc,CAAC;YAC3B,IAAI,EAAE;gBACF,sBAAsB,EAAE,QAAQ;aACnC;SACJ,CAAC;QAEe,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;OAD1B,gBAAgB,CAE5B;IAAD,uBAAC;CAFD;;ACVA;;;;IAOA;KAA6B;IAAhB,aAAa;QAJzB,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,gBAAgB,CAAC;YAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;SAC9B,CAAC;OACW,aAAa,CAAG;IAAD,oBAAC;CAA7B;;ACXA;;;;;;"}
|
|
@@ -19,6 +19,7 @@ export * from '@taiga-ui/cdk/directives/media';
|
|
|
19
19
|
export * from '@taiga-ui/cdk/directives/obscured';
|
|
20
20
|
export * from '@taiga-ui/cdk/directives/overscroll';
|
|
21
21
|
export * from '@taiga-ui/cdk/directives/pan';
|
|
22
|
+
export * from '@taiga-ui/cdk/directives/portal';
|
|
22
23
|
export * from '@taiga-ui/cdk/directives/pressed';
|
|
23
24
|
export * from '@taiga-ui/cdk/directives/prevent-default';
|
|
24
25
|
export * from '@taiga-ui/cdk/directives/repeat-times';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives.js","sources":["ng://@taiga-ui/cdk/directives/taiga-ui-cdk-directives.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives.js","sources":["ng://@taiga-ui/cdk/directives/taiga-ui-cdk-directives.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-enums.js","sources":["ng://@taiga-ui/cdk/enums/autocomplete.ts","ng://@taiga-ui/cdk/enums/day-of-week.ts","ng://@taiga-ui/cdk/enums/input-mode.ts","ng://@taiga-ui/cdk/enums/input-type.ts","ng://@taiga-ui/cdk/enums/month-number.ts","ng://@taiga-ui/cdk/enums/overscroll-mode.ts","ng://@taiga-ui/cdk/enums/taiga-ui-cdk-enums.ts"],"sourcesContent":["export const enum TuiCreditCardAutofillName {\n Off = 'off',\n CcName = 'cc-name',\n CcNumber = 'cc-number',\n CcCsc = 'cc-csc',\n CcExp_mounth = 'cc-exp-month',\n CcExp_year = 'cc-exp-year',\n CcExp = 'cc-exp',\n CcType = 'cc-type',\n}\n\nexport const enum TuiNameAutofillName {\n Off = 'off',\n Name = 'name',\n GivenName = 'given-name',\n AdditionalName = 'additional-name',\n FamilyName = 'family-name',\n}\n\nexport const enum TuiAccountAutofillName {\n Off = 'off',\n Username = 'username',\n NewPassword = 'new-password',\n CurrentPassword = 'current-password',\n}\n\nexport const enum TuiEmailAutofillName {\n Off = 'off',\n Email = 'email',\n}\n\nexport const enum TuiAddressAutofillName {\n Off = 'off',\n StreetAddress = 'street-address',\n PostalCode = 'postal-code',\n CountryName = 'country-name',\n}\n\nexport const enum TuiPhoneAutofillName {\n Off = 'off',\n Tel = 'tel',\n}\n\nexport const enum TuiDateAutofillName {\n Off = 'off',\n Bday = 'bday',\n}\n\nexport const enum TuiTransactionAutofillName {\n Off = 'off',\n TransactionCurrency = 'transaction-currency',\n TransactionAmount = 'transaction-amount',\n}\nexport type TuiAutofillFieldName =\n | TuiCreditCardAutofillName\n | TuiNameAutofillName\n | TuiAccountAutofillName\n | TuiEmailAutofillName\n | TuiAddressAutofillName\n | TuiPhoneAutofillName\n | TuiDateAutofillName\n | TuiTransactionAutofillName;\n","export const enum TuiDayOfWeek {\n Sunday,\n Monday,\n Tuesday,\n Wednesday,\n Thursday,\n Friday,\n Saturday,\n}\n","/**\n * @deprecated use join type {@link TuiInputModeT}\n */\nexport const enum TuiInputMode {\n None = 'none',\n Text = 'text',\n Decimal = 'decimal',\n Numeric = 'numeric',\n Tel = 'tel',\n Email = 'email',\n Url = 'url',\n Search = 'search',\n}\n","/**\n * @deprecated use join type {@link TuiInputTypeT}\n */\nexport const enum TuiInputType {\n Text = 'text',\n Tel = 'tel',\n Email = 'email',\n Url = 'url',\n Password = 'password',\n}\n","export const enum TuiMonthNumber {\n January,\n February,\n March,\n April,\n May,\n June,\n July,\n August,\n September,\n October,\n November,\n December,\n}\n","/**\n * Modes for {@link TuiOverscrollDirective}:\n *\n * All — blocks all scroll actions\n * Scroll — blocks scroll actions only if content is scrollable (equivalent to overscroll-behavior: contain)\n * None — blocking is disabled\n * @deprecated use join type {@link TuiOverscrollModeT}\n */\nexport const enum TuiOverscrollMode {\n All = 'all',\n Scroll = 'scroll',\n None = 'none',\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"IAAkB;AAAlB,WAAkB,yBAAyB;IACvC,wCAAW,CAAA;IACX,+CAAkB,CAAA;IAClB,mDAAsB,CAAA;IACtB,6CAAgB,CAAA;IAChB,0DAA6B,CAAA;IAC7B,uDAA0B,CAAA;IAC1B,6CAAgB,CAAA;IAChB,+CAAkB,CAAA;AACtB,CAAC,EATiB,yBAAyB,KAAzB,yBAAyB,QAS1C;IAEiB;AAAlB,WAAkB,mBAAmB;IACjC,kCAAW,CAAA;IACX,oCAAa,CAAA;IACb,+CAAwB,CAAA;IACxB,yDAAkC,CAAA;IAClC,iDAA0B,CAAA;AAC9B,CAAC,EANiB,mBAAmB,KAAnB,mBAAmB,QAMpC;IAEiB;AAAlB,WAAkB,sBAAsB;IACpC,qCAAW,CAAA;IACX,+CAAqB,CAAA;IACrB,sDAA4B,CAAA;IAC5B,8DAAoC,CAAA;AACxC,CAAC,EALiB,sBAAsB,KAAtB,sBAAsB,QAKvC;IAEiB;AAAlB,WAAkB,oBAAoB;IAClC,mCAAW,CAAA;IACX,uCAAe,CAAA;AACnB,CAAC,EAHiB,oBAAoB,KAApB,oBAAoB,QAGrC;IAEiB;AAAlB,WAAkB,sBAAsB;IACpC,qCAAW,CAAA;IACX,0DAAgC,CAAA;IAChC,oDAA0B,CAAA;IAC1B,sDAA4B,CAAA;AAChC,CAAC,EALiB,sBAAsB,KAAtB,sBAAsB,QAKvC;IAEiB;AAAlB,WAAkB,oBAAoB;IAClC,mCAAW,CAAA;IACX,mCAAW,CAAA;AACf,CAAC,EAHiB,oBAAoB,KAApB,oBAAoB,QAGrC;IAEiB;AAAlB,WAAkB,mBAAmB;IACjC,kCAAW,CAAA;IACX,oCAAa,CAAA;AACjB,CAAC,EAHiB,mBAAmB,KAAnB,mBAAmB,QAGpC;IAEiB;AAAlB,WAAkB,0BAA0B;IACxC,yCAAW,CAAA;IACX,0EAA4C,CAAA;IAC5C,sEAAwC,CAAA;AAC5C,CAAC,EAJiB,0BAA0B,KAA1B,0BAA0B;;IChD1B;AAAlB,WAAkB,YAAY;IAC1B,mDAAM,CAAA;IACN,mDAAM,CAAA;IACN,qDAAO,CAAA;IACP,yDAAS,CAAA;IACT,uDAAQ,CAAA;IACR,mDAAM,CAAA;IACN,uDAAQ,CAAA;AACZ,CAAC,EARiB,YAAY,KAAZ,YAAY;;ACA9B;;;IAGkB;AAAlB,WAAkB,YAAY;IAC1B,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,2BAAW,CAAA;IACX,+BAAe,CAAA;IACf,2BAAW,CAAA;IACX,iCAAiB,CAAA;AACrB,CAAC,EATiB,YAAY,KAAZ,YAAY;;ACH9B;;;IAGkB;AAAlB,WAAkB,YAAY;IAC1B,6BAAa,CAAA;IACb,2BAAW,CAAA;IACX,+BAAe,CAAA;IACf,2BAAW,CAAA;IACX,qCAAqB,CAAA;AACzB,CAAC,EANiB,YAAY,KAAZ,YAAY;;ICHZ;AAAlB,WAAkB,cAAc;IAC5B,yDAAO,CAAA;IACP,2DAAQ,CAAA;IACR,qDAAK,CAAA;IACL,qDAAK,CAAA;IACL,iDAAG,CAAA;IACH,mDAAI,CAAA;IACJ,mDAAI,CAAA;IACJ,uDAAM,CAAA;IACN,6DAAS,CAAA;IACT,yDAAO,CAAA;IACP,4DAAQ,CAAA;IACR,4DAAQ,CAAA;AACZ,CAAC,EAbiB,cAAc,KAAd,cAAc;;ACAhC;;;;;;;;IAQkB;AAAlB,WAAkB,iBAAiB;IAC/B,gCAAW,CAAA;IACX,sCAAiB,CAAA;IACjB,kCAAa,CAAA;AACjB,CAAC,EAJiB,iBAAiB,KAAjB,iBAAiB;;ACRnC;;;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-enums.js","sources":["ng://@taiga-ui/cdk/enums/autocomplete.ts","ng://@taiga-ui/cdk/enums/day-of-week.ts","ng://@taiga-ui/cdk/enums/input-mode.ts","ng://@taiga-ui/cdk/enums/input-type.ts","ng://@taiga-ui/cdk/enums/month-number.ts","ng://@taiga-ui/cdk/enums/overscroll-mode.ts","ng://@taiga-ui/cdk/enums/taiga-ui-cdk-enums.ts"],"sourcesContent":["export const enum TuiCreditCardAutofillName {\n Off = 'off',\n CcName = 'cc-name',\n CcNumber = 'cc-number',\n CcCsc = 'cc-csc',\n CcExp_mounth = 'cc-exp-month',\n CcExp_year = 'cc-exp-year',\n CcExp = 'cc-exp',\n CcType = 'cc-type',\n}\n\nexport const enum TuiNameAutofillName {\n Off = 'off',\n Name = 'name',\n GivenName = 'given-name',\n AdditionalName = 'additional-name',\n FamilyName = 'family-name',\n}\n\nexport const enum TuiAccountAutofillName {\n Off = 'off',\n Username = 'username',\n NewPassword = 'new-password',\n CurrentPassword = 'current-password',\n}\n\nexport const enum TuiEmailAutofillName {\n Off = 'off',\n Email = 'email',\n}\n\nexport const enum TuiAddressAutofillName {\n Off = 'off',\n StreetAddress = 'street-address',\n PostalCode = 'postal-code',\n CountryName = 'country-name',\n}\n\nexport const enum TuiPhoneAutofillName {\n Off = 'off',\n Tel = 'tel',\n}\n\nexport const enum TuiDateAutofillName {\n Off = 'off',\n Bday = 'bday',\n}\n\nexport const enum TuiTransactionAutofillName {\n Off = 'off',\n TransactionCurrency = 'transaction-currency',\n TransactionAmount = 'transaction-amount',\n}\n\nexport type TuiAutofillFieldNameT =\n | 'off'\n // TuiCreditCardAutofillName\n | 'cc-name'\n | 'cc-number'\n | 'cc-csc'\n | 'cc-exp-month'\n | 'cc-exp-year'\n | 'cc-exp'\n | 'cc-type'\n // TuiNameAutofillName\n | 'name'\n | 'given-name'\n | 'additional-name'\n | 'family-name'\n // TuiAccountAutofillName\n | 'username'\n | 'new-password'\n | 'current-password'\n // TuiEmailAutofillName\n | 'email'\n // TuiAddressAutofillName\n | 'street-address'\n | 'postal-code'\n | 'country-name'\n // TuiPhoneAutofillName\n | 'tel'\n // TuiDateAutofillName\n | 'bday'\n // TuiTransactionAutofillName\n | 'transaction-currency'\n | 'transaction-amount';\n\nexport type TuiAutofillFieldName =\n | TuiAutofillFieldNameT\n | TuiCreditCardAutofillName\n | TuiNameAutofillName\n | TuiAccountAutofillName\n | TuiEmailAutofillName\n | TuiAddressAutofillName\n | TuiPhoneAutofillName\n | TuiDateAutofillName\n | TuiTransactionAutofillName;\n","export const enum TuiDayOfWeek {\n Sunday,\n Monday,\n Tuesday,\n Wednesday,\n Thursday,\n Friday,\n Saturday,\n}\n","/**\n * @deprecated use join type {@link TuiInputModeT}\n */\nexport const enum TuiInputMode {\n None = 'none',\n Text = 'text',\n Decimal = 'decimal',\n Numeric = 'numeric',\n Tel = 'tel',\n Email = 'email',\n Url = 'url',\n Search = 'search',\n}\n","/**\n * @deprecated use join type {@link TuiInputTypeT}\n */\nexport const enum TuiInputType {\n Text = 'text',\n Tel = 'tel',\n Email = 'email',\n Url = 'url',\n Password = 'password',\n}\n","export const enum TuiMonthNumber {\n January,\n February,\n March,\n April,\n May,\n June,\n July,\n August,\n September,\n October,\n November,\n December,\n}\n","/**\n * Modes for {@link TuiOverscrollDirective}:\n *\n * All — blocks all scroll actions\n * Scroll — blocks scroll actions only if content is scrollable (equivalent to overscroll-behavior: contain)\n * None — blocking is disabled\n * @deprecated use join type {@link TuiOverscrollModeT}\n */\nexport const enum TuiOverscrollMode {\n All = 'all',\n Scroll = 'scroll',\n None = 'none',\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"IAAkB;AAAlB,WAAkB,yBAAyB;IACvC,wCAAW,CAAA;IACX,+CAAkB,CAAA;IAClB,mDAAsB,CAAA;IACtB,6CAAgB,CAAA;IAChB,0DAA6B,CAAA;IAC7B,uDAA0B,CAAA;IAC1B,6CAAgB,CAAA;IAChB,+CAAkB,CAAA;AACtB,CAAC,EATiB,yBAAyB,KAAzB,yBAAyB,QAS1C;IAEiB;AAAlB,WAAkB,mBAAmB;IACjC,kCAAW,CAAA;IACX,oCAAa,CAAA;IACb,+CAAwB,CAAA;IACxB,yDAAkC,CAAA;IAClC,iDAA0B,CAAA;AAC9B,CAAC,EANiB,mBAAmB,KAAnB,mBAAmB,QAMpC;IAEiB;AAAlB,WAAkB,sBAAsB;IACpC,qCAAW,CAAA;IACX,+CAAqB,CAAA;IACrB,sDAA4B,CAAA;IAC5B,8DAAoC,CAAA;AACxC,CAAC,EALiB,sBAAsB,KAAtB,sBAAsB,QAKvC;IAEiB;AAAlB,WAAkB,oBAAoB;IAClC,mCAAW,CAAA;IACX,uCAAe,CAAA;AACnB,CAAC,EAHiB,oBAAoB,KAApB,oBAAoB,QAGrC;IAEiB;AAAlB,WAAkB,sBAAsB;IACpC,qCAAW,CAAA;IACX,0DAAgC,CAAA;IAChC,oDAA0B,CAAA;IAC1B,sDAA4B,CAAA;AAChC,CAAC,EALiB,sBAAsB,KAAtB,sBAAsB,QAKvC;IAEiB;AAAlB,WAAkB,oBAAoB;IAClC,mCAAW,CAAA;IACX,mCAAW,CAAA;AACf,CAAC,EAHiB,oBAAoB,KAApB,oBAAoB,QAGrC;IAEiB;AAAlB,WAAkB,mBAAmB;IACjC,kCAAW,CAAA;IACX,oCAAa,CAAA;AACjB,CAAC,EAHiB,mBAAmB,KAAnB,mBAAmB,QAGpC;IAEiB;AAAlB,WAAkB,0BAA0B;IACxC,yCAAW,CAAA;IACX,0EAA4C,CAAA;IAC5C,sEAAwC,CAAA;AAC5C,CAAC,EAJiB,0BAA0B,KAA1B,0BAA0B;;IChD1B;AAAlB,WAAkB,YAAY;IAC1B,mDAAM,CAAA;IACN,mDAAM,CAAA;IACN,qDAAO,CAAA;IACP,yDAAS,CAAA;IACT,uDAAQ,CAAA;IACR,mDAAM,CAAA;IACN,uDAAQ,CAAA;AACZ,CAAC,EARiB,YAAY,KAAZ,YAAY;;ACA9B;;;IAGkB;AAAlB,WAAkB,YAAY;IAC1B,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,2BAAW,CAAA;IACX,+BAAe,CAAA;IACf,2BAAW,CAAA;IACX,iCAAiB,CAAA;AACrB,CAAC,EATiB,YAAY,KAAZ,YAAY;;ACH9B;;;IAGkB;AAAlB,WAAkB,YAAY;IAC1B,6BAAa,CAAA;IACb,2BAAW,CAAA;IACX,+BAAe,CAAA;IACf,2BAAW,CAAA;IACX,qCAAqB,CAAA;AACzB,CAAC,EANiB,YAAY,KAAZ,YAAY;;ICHZ;AAAlB,WAAkB,cAAc;IAC5B,yDAAO,CAAA;IACP,2DAAQ,CAAA;IACR,qDAAK,CAAA;IACL,qDAAK,CAAA;IACL,iDAAG,CAAA;IACH,mDAAI,CAAA;IACJ,mDAAI,CAAA;IACJ,uDAAM,CAAA;IACN,6DAAS,CAAA;IACT,yDAAO,CAAA;IACP,4DAAQ,CAAA;IACR,4DAAQ,CAAA;AACZ,CAAC,EAbiB,cAAc,KAAd,cAAc;;ACAhC;;;;;;;;IAQkB;AAAlB,WAAkB,iBAAiB;IAC/B,gCAAW,CAAA;IACX,sCAAiB,CAAA;IACjB,kCAAa,CAAA;AACjB,CAAC,EAJiB,iBAAiB,KAAjB,iBAAiB;;ACRnC;;;;;;"}
|
|
@@ -57,10 +57,10 @@ function focusVisibleObservable(element) {
|
|
|
57
57
|
if (!documentMouseDownIsAlive$ || !documentMouseUpIsAlive$) {
|
|
58
58
|
documentMouseUpIsAlive$ = typedFromEvent(ownerDocument, 'mouseup', {
|
|
59
59
|
capture: true,
|
|
60
|
-
}).pipe(tuiIsAlive(), startWith(false), shareReplay(1));
|
|
60
|
+
}).pipe(tuiIsAlive(), startWith(false), shareReplay({ bufferSize: 1, refCount: true }));
|
|
61
61
|
documentMouseDownIsAlive$ = typedFromEvent(ownerDocument, 'mousedown', {
|
|
62
62
|
capture: true,
|
|
63
|
-
}).pipe(tuiIsAlive(), startWith(false), shareReplay(1));
|
|
63
|
+
}).pipe(tuiIsAlive(), startWith(false), shareReplay({ bufferSize: 1, refCount: true }));
|
|
64
64
|
}
|
|
65
65
|
return merge(
|
|
66
66
|
// focus events excluding ones that came right after mouse action
|
|
@@ -100,9 +100,7 @@ function pressedObservable(element, _a) {
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
function preventDefault() {
|
|
103
|
-
return tap(function (
|
|
104
|
-
e.preventDefault();
|
|
105
|
-
});
|
|
103
|
+
return tap(function (event) { return event.preventDefault(); });
|
|
106
104
|
}
|
|
107
105
|
|
|
108
106
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-observables.js","sources":["ng://@taiga-ui/cdk/observables/typed-from-event.ts","ng://@taiga-ui/cdk/observables/mouse-drag-finish-from.ts","ng://@taiga-ui/cdk/observables/drag-and-drop-from.ts","ng://@taiga-ui/cdk/observables/is-alive.ts","ng://@taiga-ui/cdk/observables/focus-visible-observable.ts","ng://@taiga-ui/cdk/observables/items-query-list-observable.ts","ng://@taiga-ui/cdk/observables/must-be-present.ts","ng://@taiga-ui/cdk/observables/pressed-observable.ts","ng://@taiga-ui/cdk/observables/prevent-default.ts","ng://@taiga-ui/cdk/observables/replay-control-value-changes.ts","ng://@taiga-ui/cdk/observables/stop-propagation.ts","ng://@taiga-ui/cdk/observables/watch.ts","ng://@taiga-ui/cdk/observables/zone-free.ts","ng://@taiga-ui/cdk/observables/taiga-ui-cdk-observables.ts"],"sourcesContent":["import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {fromEvent, Observable} from 'rxjs';\n\nexport function typedFromEvent<E extends keyof WindowEventMap>(\n target: Window,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<WindowEventMap[E], typeof target>>;\nexport function typedFromEvent<E extends keyof DocumentEventMap>(\n target: Document,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<DocumentEventMap[E], typeof target>>;\nexport function typedFromEvent<T extends Element, E extends keyof HTMLElementEventMap>(\n target: T,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<HTMLElementEventMap[E], typeof target>>;\nexport function typedFromEvent<\n E extends Event,\n T extends TuiTypedEventTarget<TuiEventWith<E, T>>,\n>(\n target: T,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<E, T>>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<E>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options: AddEventListenerOptions = {},\n): Observable<E> {\n return fromEvent(target, event, options);\n}\n","import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {merge, Observable} from 'rxjs';\n\nimport {typedFromEvent} from './typed-from-event';\n\n/**\n * Letting go of the mouse after it was pressed\n * @param target\n */\nexport function mouseDragFinishFrom<\n T extends TuiTypedEventTarget<TuiEventWith<DragEvent, T>>,\n>(target: Exclude<T, null>): Observable<TuiEventWith<MouseEvent, T>> {\n return merge(typedFromEvent(target, 'mouseup'), typedFromEvent(target, 'dragend'));\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {concat, merge, Observable} from 'rxjs';\nimport {endWith, map, repeat, take, takeWhile} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport const enum TuiDragStage {\n Start,\n Continues,\n End,\n}\n\nexport class TuiDragState {\n constructor(readonly stage: TuiDragStage, readonly event: MouseEvent) {}\n}\n\nexport function dragAndDropFrom(element: Element): Observable<TuiDragState> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return concat(\n typedFromEvent(element, 'mousedown').pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.Start, event)),\n ),\n merge(\n typedFromEvent(ownerDocument, 'mousemove').pipe(\n map(event => new TuiDragState(TuiDragStage.Continues, event)),\n ),\n mouseDragFinishFrom(ownerDocument).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.End, event)),\n endWith(null),\n ),\n ).pipe(takeWhile(isPresent)),\n ).pipe(repeat());\n}\n","import {OperatorFunction, pipe, timer} from 'rxjs';\nimport {distinctUntilChanged, mapTo, startWith, switchMapTo} from 'rxjs/operators';\n\n/**\n * Operator to set lifespan after which current value is considered obsolete\n */\nexport function tuiIsAlive(lifespan: number = 0): OperatorFunction<any, boolean> {\n return pipe(\n switchMapTo(timer(lifespan).pipe(mapTo(false), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {concat, merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n ignoreElements,\n mapTo,\n repeat,\n shareReplay,\n startWith,\n switchMapTo,\n take,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {tuiIsAlive} from './is-alive';\nimport {typedFromEvent} from './typed-from-event';\n\nlet documentMouseUpIsAlive$: Observable<boolean>;\nlet documentMouseDownIsAlive$: Observable<boolean>;\n\nexport function focusVisibleObservable(element: Element): Observable<boolean> {\n const elementBlur$ = typedFromEvent(element, 'blur');\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n if (!documentMouseDownIsAlive$ || !documentMouseUpIsAlive$) {\n documentMouseUpIsAlive$ = typedFromEvent(ownerDocument, 'mouseup', {\n capture: true,\n }).pipe(tuiIsAlive(), startWith(false), shareReplay(1));\n documentMouseDownIsAlive$ = typedFromEvent(ownerDocument, 'mousedown', {\n capture: true,\n }).pipe(tuiIsAlive(), startWith(false), shareReplay(1));\n }\n\n return merge(\n // focus events excluding ones that came right after mouse action\n concat(\n typedFromEvent(element, 'focus').pipe(take(1)),\n // filtering out blur events when element remains focused so that we ignore browser tab focus loss\n elementBlur$.pipe(\n filter(() => !isNativeFocused(element)),\n take(1),\n ignoreElements(),\n ),\n ).pipe(\n repeat(),\n withLatestFrom(\n documentMouseDownIsAlive$,\n documentMouseUpIsAlive$,\n (_event, elementActual, documentActual) =>\n elementActual || documentActual,\n ),\n filter(isUserFocus => !isUserFocus),\n ),\n ).pipe(\n switchMapTo(elementBlur$.pipe(mapTo(false), take(1), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {QueryList} from '@angular/core';\nimport {getOriginalArrayFromQueryList} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\n\n/**\n * Converts changes observable of a QueryList to an Observable of arrays\n */\nexport function itemsQueryListObservable<T>(\n queryList: QueryList<T>,\n): Observable<readonly T[]> {\n return queryList.changes.pipe(\n map(() => getOriginalArrayFromQueryList(queryList)),\n startWith(getOriginalArrayFromQueryList(queryList)),\n );\n}\n","import {TuiValuePresentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {OperatorFunction} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function mustBePresent<T>(): OperatorFunction<T | undefined | null, T> {\n return map(value => {\n if (!isPresent(value)) {\n throw new TuiValuePresentException();\n }\n\n return value;\n });\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {filter, mapTo, startWith, switchMapTo, take} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport interface TuiPressedObservableOptions {\n onlyTrusted: boolean;\n}\n\nexport function pressedObservable(\n element: Element,\n {onlyTrusted}: TuiPressedObservableOptions = {onlyTrusted: true},\n): Observable<boolean> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return typedFromEvent(element, 'mousedown').pipe(\n filter(({isTrusted}) => isTrusted || !onlyTrusted),\n switchMapTo(\n mouseDragFinishFrom(ownerDocument).pipe(\n mapTo(false),\n take(1),\n startWith(true),\n ),\n ),\n );\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function preventDefault<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.preventDefault();\n });\n}\n","import {AbstractControl, AbstractControlDirective} from '@angular/forms';\nimport {TuiValueChangesException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\n\n/**\n * Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)\n * TODO: rename function in 3.0. The name should be shorter.\n */\nexport function tuiReplayedValueChangesFrom<T>(\n control: AbstractControl | AbstractControlDirective,\n): Observable<T> {\n return new Observable(subscriber => {\n if (!control.valueChanges) {\n throw new TuiValueChangesException();\n }\n\n control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);\n });\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function stopPropagation<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.stopPropagation();\n });\n}\n","import {ChangeDetectorRef} from '@angular/core';\nimport {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function watch<T>(\n changeDetectorRef: ChangeDetectorRef,\n): MonoTypeOperatorFunction<T> {\n return tap(() => {\n changeDetectorRef.markForCheck();\n });\n}\n","import {NgZone} from '@angular/core';\nimport {MonoTypeOperatorFunction, Observable, pipe} from 'rxjs';\n\nexport function tuiZonefull<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n source.subscribe({\n next: value => ngZone.run(() => subscriber.next(value)),\n error: error => ngZone.run(() => subscriber.error(error)),\n complete: () => ngZone.run(() => subscriber.complete()),\n }),\n );\n}\n\nexport function tuiZonefree<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n ngZone.runOutsideAngular(() => source.subscribe(subscriber)),\n );\n}\n\nexport function tuiZoneOptimized<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return pipe(tuiZonefree(ngZone), tuiZonefull(ngZone));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;SA+BgB,cAAc,CAC1B,MAA8B,EAC9B,KAAa,EACb,OAAqC;IAArC,wBAAA,EAAA,YAAqC;IAErC,OAAO,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC7C;;AChCA;;;;SAIgB,mBAAmB,CAEjC,MAAwB;IACtB,OAAO,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AACvF;;ICLkB;AAAlB,WAAkB,YAAY;IAC1B,iDAAK,CAAA;IACL,yDAAS,CAAA;IACT,6CAAG,CAAA;AACP,CAAC,EAJiB,YAAY,KAAZ,YAAY,QAI7B;;IAGG,sBAAqB,KAAmB,EAAW,KAAiB;QAA/C,UAAK,GAAL,KAAK,CAAc;QAAW,UAAK,GAAL,KAAK,CAAY;KAAI;IAC5E,mBAAC;AAAD,CAAC,IAAA;SAEe,eAAe,CAAC,OAAgB;IACrC,IAAA,qCAAa,CAAY;IAEhC,IAAI,CAAC,aAAa,EAAE;QAChB,MAAM,IAAI,yBAAyB,EAAE,CAAC;KACzC;IAED,OAAO,MAAM,CACT,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CACrC,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,IAAI,YAAY,gBAAqB,KAAK,CAAC,GAAA,CAAC,CAC5D,EACD,KAAK,CACD,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CAC3C,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,IAAI,YAAY,oBAAyB,KAAK,CAAC,GAAA,CAAC,CAChE,EACD,mBAAmB,CAAC,aAAa,CAAC,CAAC,IAAI,CACnC,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,IAAI,YAAY,cAAmB,KAAK,CAAC,GAAA,CAAC,EACvD,OAAO,CAAC,IAAI,CAAC,CAChB,CACJ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAC/B,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACrB;;ACtCA;;;SAGgB,UAAU,CAAC,QAAoB;IAApB,yBAAA,EAAA,YAAoB;IAC3C,OAAO,IAAI,CACP,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAChE,oBAAoB,EAAE,CACzB,CAAC;AACN;;ACQA,IAAI,uBAA4C,CAAC;AACjD,IAAI,yBAA8C,CAAC;SAEnC,sBAAsB,CAAC,OAAgB;IACnD,IAAM,YAAY,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAA,qCAAa,CAAY;IAEhC,IAAI,CAAC,aAAa,EAAE;QAChB,MAAM,IAAI,yBAAyB,EAAE,CAAC;KACzC;IAED,IAAI,CAAC,yBAAyB,IAAI,CAAC,uBAAuB,EAAE;QACxD,uBAAuB,GAAG,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE;YAC/D,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,yBAAyB,GAAG,cAAc,CAAC,aAAa,EAAE,WAAW,EAAE;YACnE,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3D;IAED,OAAO,KAAK;;IAER,MAAM,CACF,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;IAE9C,YAAY,CAAC,IAAI,CACb,MAAM,CAAC,cAAM,OAAA,CAAC,eAAe,CAAC,OAAO,CAAC,GAAA,CAAC,EACvC,IAAI,CAAC,CAAC,CAAC,EACP,cAAc,EAAE,CACnB,CACJ,CAAC,IAAI,CACF,MAAM,EAAE,EACR,cAAc,CACV,yBAAyB,EACzB,uBAAuB,EACvB,UAAC,MAAM,EAAE,aAAa,EAAE,cAAc;QAClC,OAAA,aAAa,IAAI,cAAc;KAAA,CACtC,EACD,MAAM,CAAC,UAAA,WAAW,IAAI,OAAA,CAAC,WAAW,GAAA,CAAC,CACtC,CACJ,CAAC,IAAI,CACF,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EACtE,oBAAoB,EAAE,CACzB,CAAC;AACN;;AC1DA;;;SAGgB,wBAAwB,CACpC,SAAuB;IAEvB,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CACzB,GAAG,CAAC,cAAM,OAAA,6BAA6B,CAAC,SAAS,CAAC,GAAA,CAAC,EACnD,SAAS,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC,CACtD,CAAC;AACN;;SCVgB,aAAa;IACzB,OAAO,GAAG,CAAC,UAAA,KAAK;QACZ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnB,MAAM,IAAI,wBAAwB,EAAE,CAAC;SACxC;QAED,OAAO,KAAK,CAAC;KAChB,CAAC,CAAC;AACP;;SCFgB,iBAAiB,CAC7B,OAAgB,EAChB,EAAgE;QAA/D,sEAAW;IAEL,IAAA,qCAAa,CAAY;IAEhC,IAAI,CAAC,aAAa,EAAE;QAChB,MAAM,IAAI,yBAAyB,EAAE,CAAC;KACzC;IAED,OAAO,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAC5C,MAAM,CAAC,UAAC,EAAW;YAAV,wBAAS;QAAM,OAAA,SAAS,IAAI,CAAC,WAAW;KAAA,CAAC,EAClD,WAAW,CACP,mBAAmB,CAAC,aAAa,CAAC,CAAC,IAAI,CACnC,KAAK,CAAC,KAAK,CAAC,EACZ,IAAI,CAAC,CAAC,CAAC,EACP,SAAS,CAAC,IAAI,CAAC,CAClB,CACJ,CACJ,CAAC;AACN;;SC5BgB,cAAc;IAC1B,OAAO,GAAG,CAAC,UAAA,CAAC;QACR,CAAC,CAAC,cAAc,EAAE,CAAC;KACtB,CAAC,CAAC;AACP;;ACFA;;;;SAIgB,2BAA2B,CACvC,OAAmD;IAEnD,OAAO,IAAI,UAAU,CAAC,UAAA,UAAU;QAC5B,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACvB,MAAM,IAAI,wBAAwB,EAAE,CAAC;SACxC;QAED,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;KAC7E,CAAC,CAAC;AACP;;SChBgB,eAAe;IAC3B,OAAO,GAAG,CAAC,UAAA,CAAC;QACR,CAAC,CAAC,eAAe,EAAE,CAAC;KACvB,CAAC,CAAC;AACP;;SCHgB,KAAK,CACjB,iBAAoC;IAEpC,OAAO,GAAG,CAAC;QACP,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACpC,CAAC,CAAC;AACP;;SCPgB,WAAW,CAAI,MAAc;IACzC,OAAO,UAAA,MAAM;QACT,OAAA,IAAI,UAAU,CAAC,UAAA,UAAU;YACrB,OAAA,MAAM,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,UAAA,KAAK,IAAI,OAAA,MAAM,CAAC,GAAG,CAAC,cAAM,OAAA,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAA,CAAC,GAAA;gBACvD,KAAK,EAAE,UAAA,KAAK,IAAI,OAAA,MAAM,CAAC,GAAG,CAAC,cAAM,OAAA,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAA,CAAC,GAAA;gBACzD,QAAQ,EAAE,cAAM,OAAA,MAAM,CAAC,GAAG,CAAC,cAAM,OAAA,UAAU,CAAC,QAAQ,EAAE,GAAA,CAAC,GAAA;aAC1D,CAAC;SAAA,CACL;KAAA,CAAC;AACV,CAAC;SAEe,WAAW,CAAI,MAAc;IACzC,OAAO,UAAA,MAAM;QACT,OAAA,IAAI,UAAU,CAAC,UAAA,UAAU;YACrB,OAAA,MAAM,CAAC,iBAAiB,CAAC,cAAM,OAAA,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,GAAA,CAAC;SAAA,CAC/D;KAAA,CAAC;AACV,CAAC;SAEe,gBAAgB,CAAI,MAAc;IAC9C,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1D;;ACvBA;;;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-observables.js","sources":["ng://@taiga-ui/cdk/observables/typed-from-event.ts","ng://@taiga-ui/cdk/observables/mouse-drag-finish-from.ts","ng://@taiga-ui/cdk/observables/drag-and-drop-from.ts","ng://@taiga-ui/cdk/observables/is-alive.ts","ng://@taiga-ui/cdk/observables/focus-visible-observable.ts","ng://@taiga-ui/cdk/observables/items-query-list-observable.ts","ng://@taiga-ui/cdk/observables/must-be-present.ts","ng://@taiga-ui/cdk/observables/pressed-observable.ts","ng://@taiga-ui/cdk/observables/prevent-default.ts","ng://@taiga-ui/cdk/observables/replay-control-value-changes.ts","ng://@taiga-ui/cdk/observables/stop-propagation.ts","ng://@taiga-ui/cdk/observables/watch.ts","ng://@taiga-ui/cdk/observables/zone-free.ts","ng://@taiga-ui/cdk/observables/taiga-ui-cdk-observables.ts"],"sourcesContent":["import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {fromEvent, Observable} from 'rxjs';\n\nexport function typedFromEvent<E extends keyof WindowEventMap>(\n target: Window,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<WindowEventMap[E], typeof target>>;\nexport function typedFromEvent<E extends keyof DocumentEventMap>(\n target: Document,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<DocumentEventMap[E], typeof target>>;\nexport function typedFromEvent<T extends Element, E extends keyof HTMLElementEventMap>(\n target: T,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<HTMLElementEventMap[E], typeof target>>;\nexport function typedFromEvent<\n E extends Event,\n T extends TuiTypedEventTarget<TuiEventWith<E, T>>,\n>(\n target: T,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<E, T>>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<E>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options: AddEventListenerOptions = {},\n): Observable<E> {\n return fromEvent(target, event, options);\n}\n","import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {merge, Observable} from 'rxjs';\n\nimport {typedFromEvent} from './typed-from-event';\n\n/**\n * Letting go of the mouse after it was pressed\n * @param target\n */\nexport function mouseDragFinishFrom<\n T extends TuiTypedEventTarget<TuiEventWith<DragEvent, T>>,\n>(target: Exclude<T, null>): Observable<TuiEventWith<MouseEvent, T>> {\n return merge(typedFromEvent(target, 'mouseup'), typedFromEvent(target, 'dragend'));\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {concat, merge, Observable} from 'rxjs';\nimport {endWith, map, repeat, take, takeWhile} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport const enum TuiDragStage {\n Start,\n Continues,\n End,\n}\n\nexport class TuiDragState {\n constructor(readonly stage: TuiDragStage, readonly event: MouseEvent) {}\n}\n\nexport function dragAndDropFrom(element: Element): Observable<TuiDragState> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return concat(\n typedFromEvent(element, 'mousedown').pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.Start, event)),\n ),\n merge(\n typedFromEvent(ownerDocument, 'mousemove').pipe(\n map(event => new TuiDragState(TuiDragStage.Continues, event)),\n ),\n mouseDragFinishFrom(ownerDocument).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.End, event)),\n endWith(null),\n ),\n ).pipe(takeWhile(isPresent)),\n ).pipe(repeat());\n}\n","import {OperatorFunction, pipe, timer} from 'rxjs';\nimport {distinctUntilChanged, mapTo, startWith, switchMapTo} from 'rxjs/operators';\n\n/**\n * Operator to set lifespan after which current value is considered obsolete\n */\nexport function tuiIsAlive(lifespan: number = 0): OperatorFunction<any, boolean> {\n return pipe(\n switchMapTo(timer(lifespan).pipe(mapTo(false), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {concat, merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n ignoreElements,\n mapTo,\n repeat,\n shareReplay,\n startWith,\n switchMapTo,\n take,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {tuiIsAlive} from './is-alive';\nimport {typedFromEvent} from './typed-from-event';\n\nlet documentMouseUpIsAlive$: Observable<boolean>;\nlet documentMouseDownIsAlive$: Observable<boolean>;\n\nexport function focusVisibleObservable(element: Element): Observable<boolean> {\n const elementBlur$ = typedFromEvent(element, 'blur');\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n if (!documentMouseDownIsAlive$ || !documentMouseUpIsAlive$) {\n documentMouseUpIsAlive$ = typedFromEvent(ownerDocument, 'mouseup', {\n capture: true,\n }).pipe(\n tuiIsAlive(),\n startWith(false),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n documentMouseDownIsAlive$ = typedFromEvent(ownerDocument, 'mousedown', {\n capture: true,\n }).pipe(\n tuiIsAlive(),\n startWith(false),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n }\n\n return merge(\n // focus events excluding ones that came right after mouse action\n concat(\n typedFromEvent(element, 'focus').pipe(take(1)),\n // filtering out blur events when element remains focused so that we ignore browser tab focus loss\n elementBlur$.pipe(\n filter(() => !isNativeFocused(element)),\n take(1),\n ignoreElements(),\n ),\n ).pipe(\n repeat(),\n withLatestFrom(\n documentMouseDownIsAlive$,\n documentMouseUpIsAlive$,\n (_event, elementActual, documentActual) =>\n elementActual || documentActual,\n ),\n filter(isUserFocus => !isUserFocus),\n ),\n ).pipe(\n switchMapTo(elementBlur$.pipe(mapTo(false), take(1), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {QueryList} from '@angular/core';\nimport {getOriginalArrayFromQueryList} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\n\n/**\n * Converts changes observable of a QueryList to an Observable of arrays\n */\nexport function itemsQueryListObservable<T>(\n queryList: QueryList<T>,\n): Observable<readonly T[]> {\n return queryList.changes.pipe(\n map(() => getOriginalArrayFromQueryList(queryList)),\n startWith(getOriginalArrayFromQueryList(queryList)),\n );\n}\n","import {TuiValuePresentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {OperatorFunction} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function mustBePresent<T>(): OperatorFunction<T | undefined | null, T> {\n return map(value => {\n if (!isPresent(value)) {\n throw new TuiValuePresentException();\n }\n\n return value;\n });\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {filter, mapTo, startWith, switchMapTo, take} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport interface TuiPressedObservableOptions {\n onlyTrusted: boolean;\n}\n\nexport function pressedObservable(\n element: Element,\n {onlyTrusted}: TuiPressedObservableOptions = {onlyTrusted: true},\n): Observable<boolean> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return typedFromEvent(element, 'mousedown').pipe(\n filter(({isTrusted}) => isTrusted || !onlyTrusted),\n switchMapTo(\n mouseDragFinishFrom(ownerDocument).pipe(\n mapTo(false),\n take(1),\n startWith(true),\n ),\n ),\n );\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function preventDefault<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(event => event.preventDefault());\n}\n","import {AbstractControl, AbstractControlDirective} from '@angular/forms';\nimport {TuiValueChangesException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\n\n/**\n * Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)\n * TODO: rename function in 3.0. The name should be shorter.\n */\nexport function tuiReplayedValueChangesFrom<T>(\n control: AbstractControl | AbstractControlDirective,\n): Observable<T> {\n return new Observable(subscriber => {\n if (!control.valueChanges) {\n throw new TuiValueChangesException();\n }\n\n control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);\n });\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function stopPropagation<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.stopPropagation();\n });\n}\n","import {ChangeDetectorRef} from '@angular/core';\nimport {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function watch<T>(\n changeDetectorRef: ChangeDetectorRef,\n): MonoTypeOperatorFunction<T> {\n return tap(() => {\n changeDetectorRef.markForCheck();\n });\n}\n","import {NgZone} from '@angular/core';\nimport {MonoTypeOperatorFunction, Observable, pipe} from 'rxjs';\n\nexport function tuiZonefull<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n source.subscribe({\n next: value => ngZone.run(() => subscriber.next(value)),\n error: (error: unknown) => ngZone.run(() => subscriber.error(error)),\n complete: () => ngZone.run(() => subscriber.complete()),\n }),\n );\n}\n\nexport function tuiZonefree<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n ngZone.runOutsideAngular(() => source.subscribe(subscriber)),\n );\n}\n\nexport function tuiZoneOptimized<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return pipe(tuiZonefree(ngZone), tuiZonefull(ngZone));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|