@taiga-ui/cdk 2.52.0 → 2.53.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/bundles/taiga-ui-cdk-components-alert-host.umd.js +1 -1
- package/bundles/taiga-ui-cdk-components-alert-host.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-alert-host.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-components-alert-host.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js +5 -13
- package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-constants.umd.js +9 -0
- package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-constants.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-constants.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-hovered.umd.js +29 -14
- package/bundles/taiga-ui-cdk-directives-hovered.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-hovered.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-directives-hovered.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-media.umd.js +2 -0
- 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-observables.umd.js +56 -0
- 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 +1 -0
- package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.js +1 -1
- 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-browser.umd.js +30 -0
- package/bundles/taiga-ui-cdk-utils-browser.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-browser.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-utils-browser.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-dom.umd.js +69 -2
- package/bundles/taiga-ui-cdk-utils-dom.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-dom.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-utils-dom.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-focus.umd.js +42 -1
- package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-focus.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-utils-focus.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-format.umd.js +6 -2
- package/bundles/taiga-ui-cdk-utils-format.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-format.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-utils-format.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-math.umd.js +48 -0
- package/bundles/taiga-ui-cdk-utils-math.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-math.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-utils-math.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js +64 -2
- package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-os.umd.js +17 -1
- package/bundles/taiga-ui-cdk-utils-os.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-os.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-utils-os.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-svg.umd.js +5 -1
- package/bundles/taiga-ui-cdk-utils-svg.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-svg.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-utils-svg.umd.min.js.map +1 -1
- package/components/alert-host/taiga-ui-cdk-components-alert-host.metadata.json +1 -1
- package/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.metadata.json +1 -1
- package/constants/empty.d.ts +1 -0
- package/constants/taiga-ui-cdk-constants.metadata.json +1 -1
- package/directives/hovered/hovered.directive.d.ts +5 -5
- package/directives/hovered/taiga-ui-cdk-directives-hovered.metadata.json +1 -1
- package/directives/media/taiga-ui-cdk-directives-media.metadata.json +1 -1
- package/esm2015/components/alert-host/alert-host.component.js +2 -2
- package/esm2015/components/dropdown-host/dropdown-host.component.js +3 -10
- package/esm2015/constants/empty.js +9 -1
- package/esm2015/directives/hovered/hovered.directive.js +28 -13
- package/esm2015/directives/media/media.directive.js +3 -1
- package/esm2015/observables/drag-and-drop-from.js +6 -1
- package/esm2015/observables/focus-visible-observable.js +6 -1
- package/esm2015/observables/items-query-list-observable.js +4 -1
- package/esm2015/observables/mouse-drag-finish-from.js +4 -1
- package/esm2015/observables/must-be-present.js +6 -1
- package/esm2015/observables/pressed-observable.js +6 -1
- package/esm2015/observables/prevent-default.js +6 -1
- package/esm2015/observables/stop-propagation.js +6 -1
- package/esm2015/observables/typed-from-event.js +6 -1
- package/esm2015/observables/watch.js +6 -1
- package/esm2015/services/hovered.service.js +2 -1
- package/esm2015/tokens/is-firefox.js +2 -2
- package/esm2015/utils/browser/is-edge-older-than.js +6 -1
- package/esm2015/utils/browser/is-edge.js +6 -1
- package/esm2015/utils/browser/is-firefox.js +6 -1
- package/esm2015/utils/browser/is-ie.js +6 -1
- package/esm2015/utils/browser/is-safari.js +6 -1
- package/esm2015/utils/dom/can-scroll.js +6 -1
- package/esm2015/utils/dom/contains-or-after.js +6 -1
- package/esm2015/utils/dom/get-actual-target.js +4 -1
- package/esm2015/utils/dom/get-clipboard-data-text.js +4 -1
- package/esm2015/utils/dom/get-closest-element.js +3 -2
- package/esm2015/utils/dom/get-document-or-shadow-root.js +6 -1
- package/esm2015/utils/dom/get-element-obscurers.js +4 -1
- package/esm2015/utils/dom/get-element-offset.js +4 -1
- package/esm2015/utils/dom/get-scroll-parent.js +5 -2
- package/esm2015/utils/dom/index.js +2 -1
- package/esm2015/utils/dom/is-current-target.js +6 -1
- package/esm2015/utils/dom/is-inside-iframe.js +4 -1
- package/esm2015/utils/dom/is-node-in.js +4 -1
- package/esm2015/utils/dom/point-to-client-rect.js +11 -0
- package/esm2015/utils/focus/blur-native-focused.js +4 -1
- package/esm2015/utils/focus/get-closest-keyboard-focusable.js +7 -2
- package/esm2015/utils/focus/get-native-focused.js +4 -1
- package/esm2015/utils/focus/is-native-focused-in.js +4 -1
- package/esm2015/utils/focus/is-native-focused.js +4 -1
- package/esm2015/utils/focus/is-native-keyboard-focusable.js +4 -1
- package/esm2015/utils/focus/is-native-mouse-focusable.js +6 -1
- package/esm2015/utils/focus/move-focus.js +4 -1
- package/esm2015/utils/focus/set-native-focused.js +2 -1
- package/esm2015/utils/focus/set-native-mouse-focused.js +4 -1
- package/esm2015/utils/format/pad-start.js +3 -3
- package/esm2015/utils/format/px.js +4 -1
- package/esm2015/utils/math/clamp.js +4 -1
- package/esm2015/utils/math/in-range.js +4 -1
- package/esm2015/utils/math/normalize-to-int-number.js +4 -1
- package/esm2015/utils/math/quantize.js +4 -1
- package/esm2015/utils/math/round.js +16 -1
- package/esm2015/utils/math/sum.js +4 -1
- package/esm2015/utils/math/to-int.js +6 -1
- package/esm2015/utils/math/to-radians.js +4 -1
- package/esm2015/utils/miscellaneous/distance-between-touches.js +6 -1
- package/esm2015/utils/miscellaneous/ease-in-out-quad.js +6 -1
- package/esm2015/utils/miscellaneous/fallback-value.js +3 -2
- package/esm2015/utils/miscellaneous/flat-length.js +5 -2
- package/esm2015/utils/miscellaneous/get-original-array-from-query-list.js +4 -1
- package/esm2015/utils/miscellaneous/get-swipe-direction.js +6 -1
- package/esm2015/utils/miscellaneous/identity.js +2 -1
- package/esm2015/utils/miscellaneous/is-element-editable.js +6 -1
- package/esm2015/utils/miscellaneous/is-number.js +6 -1
- package/esm2015/utils/miscellaneous/is-present.js +6 -1
- package/esm2015/utils/miscellaneous/mark-control-as-touched-and-validate.js +6 -1
- package/esm2015/utils/miscellaneous/nullable-same.js +4 -1
- package/esm2015/utils/miscellaneous/uniq-by.js +6 -1
- package/esm2015/utils/os/is-apple-platform.js +5 -2
- package/esm2015/utils/os/is-apple.js +6 -1
- package/esm2015/utils/os/is-ios.js +6 -1
- package/esm2015/utils/svg/svg-linear-gradient-processor.js +5 -2
- package/esm5/components/alert-host/alert-host.component.js +2 -2
- package/esm5/components/dropdown-host/dropdown-host.component.js +3 -10
- package/esm5/constants/empty.js +9 -1
- package/esm5/directives/hovered/hovered.directive.js +29 -14
- package/esm5/directives/media/media.directive.js +3 -1
- package/esm5/observables/drag-and-drop-from.js +6 -1
- package/esm5/observables/focus-visible-observable.js +6 -1
- package/esm5/observables/items-query-list-observable.js +4 -1
- package/esm5/observables/mouse-drag-finish-from.js +4 -1
- package/esm5/observables/must-be-present.js +6 -1
- package/esm5/observables/pressed-observable.js +6 -1
- package/esm5/observables/prevent-default.js +6 -1
- package/esm5/observables/stop-propagation.js +6 -1
- package/esm5/observables/typed-from-event.js +6 -1
- package/esm5/observables/watch.js +6 -1
- package/esm5/services/hovered.service.js +2 -1
- package/esm5/tokens/is-firefox.js +2 -2
- package/esm5/utils/browser/is-edge-older-than.js +6 -1
- package/esm5/utils/browser/is-edge.js +6 -1
- package/esm5/utils/browser/is-firefox.js +6 -1
- package/esm5/utils/browser/is-ie.js +6 -1
- package/esm5/utils/browser/is-safari.js +6 -1
- package/esm5/utils/dom/can-scroll.js +6 -1
- package/esm5/utils/dom/contains-or-after.js +6 -1
- package/esm5/utils/dom/get-actual-target.js +4 -1
- package/esm5/utils/dom/get-clipboard-data-text.js +4 -1
- package/esm5/utils/dom/get-closest-element.js +3 -2
- package/esm5/utils/dom/get-document-or-shadow-root.js +6 -1
- package/esm5/utils/dom/get-element-obscurers.js +4 -1
- package/esm5/utils/dom/get-element-offset.js +4 -1
- package/esm5/utils/dom/get-scroll-parent.js +5 -2
- package/esm5/utils/dom/index.js +2 -1
- package/esm5/utils/dom/is-current-target.js +6 -1
- package/esm5/utils/dom/is-inside-iframe.js +4 -1
- package/esm5/utils/dom/is-node-in.js +4 -1
- package/esm5/utils/dom/point-to-client-rect.js +13 -0
- package/esm5/utils/focus/blur-native-focused.js +4 -1
- package/esm5/utils/focus/get-closest-keyboard-focusable.js +7 -2
- package/esm5/utils/focus/get-native-focused.js +4 -1
- package/esm5/utils/focus/is-native-focused-in.js +4 -1
- package/esm5/utils/focus/is-native-focused.js +4 -1
- package/esm5/utils/focus/is-native-keyboard-focusable.js +4 -1
- package/esm5/utils/focus/is-native-mouse-focusable.js +6 -1
- package/esm5/utils/focus/move-focus.js +4 -1
- package/esm5/utils/focus/set-native-focused.js +2 -1
- package/esm5/utils/focus/set-native-mouse-focused.js +4 -1
- package/esm5/utils/format/pad-start.js +3 -3
- package/esm5/utils/format/px.js +4 -1
- package/esm5/utils/math/clamp.js +4 -1
- package/esm5/utils/math/in-range.js +4 -1
- package/esm5/utils/math/normalize-to-int-number.js +4 -1
- package/esm5/utils/math/quantize.js +4 -1
- package/esm5/utils/math/round.js +16 -1
- package/esm5/utils/math/sum.js +4 -1
- package/esm5/utils/math/to-int.js +6 -1
- package/esm5/utils/math/to-radians.js +4 -1
- package/esm5/utils/miscellaneous/distance-between-touches.js +6 -1
- package/esm5/utils/miscellaneous/ease-in-out-quad.js +6 -1
- package/esm5/utils/miscellaneous/fallback-value.js +3 -2
- package/esm5/utils/miscellaneous/flat-length.js +5 -2
- package/esm5/utils/miscellaneous/get-original-array-from-query-list.js +4 -1
- package/esm5/utils/miscellaneous/get-swipe-direction.js +6 -1
- package/esm5/utils/miscellaneous/identity.js +2 -1
- package/esm5/utils/miscellaneous/is-element-editable.js +6 -1
- package/esm5/utils/miscellaneous/is-number.js +6 -1
- package/esm5/utils/miscellaneous/is-present.js +6 -1
- package/esm5/utils/miscellaneous/mark-control-as-touched-and-validate.js +6 -1
- package/esm5/utils/miscellaneous/nullable-same.js +4 -1
- package/esm5/utils/miscellaneous/uniq-by.js +6 -1
- package/esm5/utils/os/is-apple-platform.js +5 -2
- package/esm5/utils/os/is-apple.js +6 -1
- package/esm5/utils/os/is-ios.js +6 -1
- package/esm5/utils/svg/svg-linear-gradient-processor.js +5 -2
- package/fesm2015/taiga-ui-cdk-components-alert-host.js +1 -1
- package/fesm2015/taiga-ui-cdk-components-alert-host.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-components-dropdown-host.js +2 -9
- package/fesm2015/taiga-ui-cdk-components-dropdown-host.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-constants.js +9 -1
- package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-hovered.js +28 -13
- package/fesm2015/taiga-ui-cdk-directives-hovered.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-media.js +2 -0
- package/fesm2015/taiga-ui-cdk-directives-media.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-observables.js +47 -1
- package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-services.js +1 -0
- package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-tokens.js +1 -1
- package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-browser.js +26 -1
- package/fesm2015/taiga-ui-cdk-utils-browser.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-dom.js +56 -3
- package/fesm2015/taiga-ui-cdk-utils-dom.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-focus.js +34 -2
- package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-format.js +6 -3
- package/fesm2015/taiga-ui-cdk-utils-format.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-math.js +39 -1
- package/fesm2015/taiga-ui-cdk-utils-math.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js +54 -3
- package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-os.js +15 -2
- package/fesm2015/taiga-ui-cdk-utils-os.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-svg.js +5 -2
- package/fesm2015/taiga-ui-cdk-utils-svg.js.map +1 -1
- package/fesm5/taiga-ui-cdk-components-alert-host.js +1 -1
- package/fesm5/taiga-ui-cdk-components-alert-host.js.map +1 -1
- package/fesm5/taiga-ui-cdk-components-dropdown-host.js +2 -9
- package/fesm5/taiga-ui-cdk-components-dropdown-host.js.map +1 -1
- package/fesm5/taiga-ui-cdk-constants.js +9 -1
- package/fesm5/taiga-ui-cdk-constants.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-hovered.js +29 -14
- package/fesm5/taiga-ui-cdk-directives-hovered.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-media.js +2 -0
- package/fesm5/taiga-ui-cdk-directives-media.js.map +1 -1
- package/fesm5/taiga-ui-cdk-observables.js +47 -1
- package/fesm5/taiga-ui-cdk-observables.js.map +1 -1
- package/fesm5/taiga-ui-cdk-services.js +1 -0
- package/fesm5/taiga-ui-cdk-services.js.map +1 -1
- package/fesm5/taiga-ui-cdk-tokens.js +1 -1
- package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-browser.js +26 -1
- package/fesm5/taiga-ui-cdk-utils-browser.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-dom.js +58 -3
- package/fesm5/taiga-ui-cdk-utils-dom.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-focus.js +34 -2
- package/fesm5/taiga-ui-cdk-utils-focus.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-format.js +6 -3
- package/fesm5/taiga-ui-cdk-utils-format.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-math.js +39 -1
- package/fesm5/taiga-ui-cdk-utils-math.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-miscellaneous.js +54 -3
- package/fesm5/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-os.js +15 -2
- package/fesm5/taiga-ui-cdk-utils-os.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-svg.js +5 -2
- package/fesm5/taiga-ui-cdk-utils-svg.js.map +1 -1
- package/observables/drag-and-drop-from.d.ts +4 -0
- package/observables/focus-visible-observable.d.ts +4 -0
- package/observables/items-query-list-observable.d.ts +2 -0
- package/observables/mouse-drag-finish-from.d.ts +2 -0
- package/observables/must-be-present.d.ts +4 -0
- package/observables/pressed-observable.d.ts +4 -0
- package/observables/prevent-default.d.ts +4 -0
- package/observables/stop-propagation.d.ts +4 -0
- package/observables/taiga-ui-cdk-observables.metadata.json +1 -1
- package/observables/typed-from-event.d.ts +16 -0
- package/observables/watch.d.ts +4 -0
- package/package.json +1 -1
- package/schematics/ng-update/constants/deprecated-functions.d.ts +2 -0
- package/schematics/ng-update/constants/deprecated-functions.js +714 -0
- package/schematics/ng-update/constants/templates.d.ts +8 -0
- package/schematics/ng-update/constants/templates.js +75 -0
- package/schematics/ng-update/constants/types.d.ts +1 -2
- package/schematics/ng-update/steps/migrate-templates.js +18 -3
- package/schematics/ng-update/steps/replace-functions.js +12 -0
- package/schematics/utils/templates/ng-component-input-manipulations.d.ts +2 -1
- package/schematics/utils/templates/ng-component-input-manipulations.js +2 -1
- package/services/hovered.service.d.ts +1 -0
- package/services/taiga-ui-cdk-services.metadata.json +1 -1
- package/utils/browser/is-edge-older-than.d.ts +4 -0
- package/utils/browser/is-edge.d.ts +4 -0
- package/utils/browser/is-firefox.d.ts +4 -0
- package/utils/browser/is-ie.d.ts +4 -0
- package/utils/browser/is-safari.d.ts +4 -0
- package/utils/browser/taiga-ui-cdk-utils-browser.metadata.json +1 -1
- package/utils/dom/can-scroll.d.ts +4 -0
- package/utils/dom/contains-or-after.d.ts +4 -0
- package/utils/dom/get-actual-target.d.ts +2 -0
- package/utils/dom/get-clipboard-data-text.d.ts +2 -0
- package/utils/dom/get-closest-element.d.ts +1 -1
- package/utils/dom/get-document-or-shadow-root.d.ts +4 -0
- package/utils/dom/get-element-obscurers.d.ts +2 -0
- package/utils/dom/get-element-offset.d.ts +2 -0
- package/utils/dom/get-scroll-parent.d.ts +3 -1
- package/utils/dom/index.d.ts +1 -0
- package/utils/dom/is-current-target.d.ts +4 -0
- package/utils/dom/is-inside-iframe.d.ts +2 -0
- package/utils/dom/is-node-in.d.ts +2 -0
- package/utils/dom/point-to-client-rect.d.ts +1 -0
- package/utils/dom/taiga-ui-cdk-utils-dom.metadata.json +1 -1
- package/utils/focus/blur-native-focused.d.ts +2 -0
- package/utils/focus/get-closest-keyboard-focusable.d.ts +5 -1
- package/utils/focus/get-native-focused.d.ts +2 -0
- package/utils/focus/is-native-focused-in.d.ts +2 -0
- package/utils/focus/is-native-focused.d.ts +2 -0
- package/utils/focus/is-native-keyboard-focusable.d.ts +2 -0
- package/utils/focus/is-native-mouse-focusable.d.ts +4 -0
- package/utils/focus/move-focus.d.ts +2 -0
- package/utils/focus/set-native-mouse-focused.d.ts +2 -0
- package/utils/focus/taiga-ui-cdk-utils-focus.metadata.json +1 -1
- package/utils/format/pad-start.d.ts +1 -2
- package/utils/format/px.d.ts +2 -0
- package/utils/format/taiga-ui-cdk-utils-format.metadata.json +1 -1
- package/utils/math/clamp.d.ts +2 -0
- package/utils/math/in-range.d.ts +2 -0
- package/utils/math/normalize-to-int-number.d.ts +2 -0
- package/utils/math/quantize.d.ts +2 -0
- package/utils/math/round.d.ts +12 -0
- package/utils/math/sum.d.ts +2 -0
- package/utils/math/taiga-ui-cdk-utils-math.metadata.json +1 -1
- package/utils/math/to-int.d.ts +4 -0
- package/utils/math/to-radians.d.ts +2 -0
- package/utils/miscellaneous/distance-between-touches.d.ts +4 -0
- package/utils/miscellaneous/ease-in-out-quad.d.ts +4 -0
- package/utils/miscellaneous/fallback-value.d.ts +1 -1
- package/utils/miscellaneous/flat-length.d.ts +3 -1
- package/utils/miscellaneous/get-original-array-from-query-list.d.ts +2 -0
- package/utils/miscellaneous/get-swipe-direction.d.ts +4 -0
- package/utils/miscellaneous/is-element-editable.d.ts +4 -0
- package/utils/miscellaneous/is-number.d.ts +4 -0
- package/utils/miscellaneous/is-present.d.ts +4 -0
- package/utils/miscellaneous/mark-control-as-touched-and-validate.d.ts +4 -0
- package/utils/miscellaneous/nullable-same.d.ts +2 -0
- package/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.metadata.json +1 -1
- package/utils/miscellaneous/uniq-by.d.ts +4 -0
- package/utils/os/is-apple-platform.d.ts +3 -1
- package/utils/os/is-apple.d.ts +4 -0
- package/utils/os/is-ios.d.ts +4 -0
- package/utils/os/taiga-ui-cdk-utils-os.metadata.json +1 -1
- package/utils/svg/svg-linear-gradient-processor.d.ts +3 -1
- package/utils/svg/taiga-ui-cdk-utils-svg.metadata.json +1 -1
|
@@ -1,44 +1,65 @@
|
|
|
1
1
|
import { tuiAssert } from '@taiga-ui/cdk/classes';
|
|
2
2
|
import { FormArray, FormGroup } from '@angular/forms';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated: use {@link tuiDistanceBetweenTouches} instead
|
|
6
|
+
*/
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
4
8
|
function distanceBetweenTouches({ touches }) {
|
|
5
9
|
return Math.hypot(touches[0].clientX - touches[1].clientX, touches[0].clientY - touches[1].clientY);
|
|
6
10
|
}
|
|
11
|
+
const tuiDistanceBetweenTouches = distanceBetweenTouches;
|
|
7
12
|
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated: use {@link tuiEaseInOutQuad} instead
|
|
15
|
+
*/
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
8
17
|
function easeInOutQuad(t) {
|
|
9
18
|
tuiAssert.assert(0 <= t && t <= 1, 'Input must be between 0 and 1 inclusive but received ', t);
|
|
10
19
|
return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
|
|
11
20
|
}
|
|
21
|
+
const tuiEaseInOutQuad = easeInOutQuad;
|
|
12
22
|
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated: use {@link tuiIsPresent} instead
|
|
25
|
+
*/
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
13
27
|
function isPresent(value) {
|
|
14
28
|
return value !== null && value !== undefined;
|
|
15
29
|
}
|
|
30
|
+
const tuiIsPresent = isPresent;
|
|
16
31
|
|
|
17
32
|
/**
|
|
33
|
+
* @deprecated use nullish coalescing operator
|
|
18
34
|
* If the value is null or undefined, returns default value
|
|
19
35
|
* @param value
|
|
20
36
|
* @param fallback alternative fallback
|
|
21
|
-
* @deprecated use nullish coalescing operator
|
|
22
37
|
*/
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
23
39
|
function fallbackValue(value, fallback) {
|
|
24
40
|
return isPresent(value) ? value : fallback;
|
|
25
41
|
}
|
|
26
42
|
|
|
27
43
|
/**
|
|
28
|
-
*
|
|
44
|
+
* @deprecated: use {@link tuiFlatLength} instead
|
|
45
|
+
* Flattens two-dimensional array and calculates resulting length
|
|
29
46
|
*
|
|
30
47
|
* @param array twi dimensional array
|
|
31
48
|
*/
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
32
50
|
function flatLength(array) {
|
|
33
51
|
return array.reduce((count, section) => count + section.length, 0);
|
|
34
52
|
}
|
|
53
|
+
const tuiFlatLength = flatLength;
|
|
35
54
|
|
|
36
55
|
/**
|
|
56
|
+
* @deprecated: use {@link tuiGetOriginalArrayFromQueryList} instead
|
|
37
57
|
* Extracts original array from {@link QueryList} rather than
|
|
38
58
|
* creating a copy like {@link QueryList.toArray} does.
|
|
39
59
|
* @param queryList
|
|
40
60
|
* @returns original array from {@link QueryList}.
|
|
41
61
|
*/
|
|
62
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
42
63
|
function getOriginalArrayFromQueryList(queryList) {
|
|
43
64
|
let array = [];
|
|
44
65
|
queryList.find((_item, _index, originalArray) => {
|
|
@@ -47,7 +68,12 @@ function getOriginalArrayFromQueryList(queryList) {
|
|
|
47
68
|
});
|
|
48
69
|
return array;
|
|
49
70
|
}
|
|
71
|
+
const tuiGetOriginalArrayFromQueryList = getOriginalArrayFromQueryList;
|
|
50
72
|
|
|
73
|
+
/**
|
|
74
|
+
* @deprecated: use {@link tuiGetSwipeDirection} instead
|
|
75
|
+
*/
|
|
76
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
51
77
|
function getSwipeDirection(deltaX, deltaY) {
|
|
52
78
|
if (Math.abs(deltaY) > Math.abs(deltaX)) {
|
|
53
79
|
return deltaY > 0 ? 'top' : 'bottom';
|
|
@@ -56,25 +82,41 @@ function getSwipeDirection(deltaX, deltaY) {
|
|
|
56
82
|
return deltaX > 0 ? 'left' : 'right';
|
|
57
83
|
}
|
|
58
84
|
}
|
|
85
|
+
const tuiGetSwipeDirection = getSwipeDirection;
|
|
59
86
|
|
|
60
87
|
/**
|
|
61
88
|
* @deprecated: use identity from rxjs
|
|
62
89
|
*/
|
|
90
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
63
91
|
function identity(item) {
|
|
64
92
|
return item;
|
|
65
93
|
}
|
|
66
94
|
|
|
95
|
+
/**
|
|
96
|
+
* @deprecated: use {@link tuiIsElementEditable} instead
|
|
97
|
+
*/
|
|
98
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
67
99
|
function isElementEditable(element) {
|
|
68
100
|
// TODO: iframe warning
|
|
69
101
|
return ((element instanceof HTMLInputElement && !element.readOnly) ||
|
|
70
102
|
(element instanceof HTMLTextAreaElement && !element.readOnly) ||
|
|
71
103
|
element.isContentEditable);
|
|
72
104
|
}
|
|
105
|
+
const tuiIsElementEditable = isElementEditable;
|
|
73
106
|
|
|
107
|
+
/**
|
|
108
|
+
* @deprecated: use {@link tuiIsNumber} instead
|
|
109
|
+
*/
|
|
110
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
74
111
|
function isNumber(value) {
|
|
75
112
|
return typeof value === 'number';
|
|
76
113
|
}
|
|
114
|
+
const tuiIsNumber = isNumber;
|
|
77
115
|
|
|
116
|
+
/**
|
|
117
|
+
* @deprecated: use {@link tuiMarkControlAsTouchedAndValidate} instead
|
|
118
|
+
*/
|
|
119
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
78
120
|
function markControlAsTouchedAndValidate(control) {
|
|
79
121
|
if (control instanceof FormArray) {
|
|
80
122
|
control.controls.forEach(nestedControl => {
|
|
@@ -89,8 +131,10 @@ function markControlAsTouchedAndValidate(control) {
|
|
|
89
131
|
control.markAsTouched();
|
|
90
132
|
control.updateValueAndValidity();
|
|
91
133
|
}
|
|
134
|
+
const tuiMarkControlAsTouchedAndValidate = markControlAsTouchedAndValidate;
|
|
92
135
|
|
|
93
136
|
/**
|
|
137
|
+
* @deprecated: use {@link tuiNullableSame} instead
|
|
94
138
|
* Checks identity for nullable elements.
|
|
95
139
|
*
|
|
96
140
|
* @param a element a
|
|
@@ -98,6 +142,7 @@ function markControlAsTouchedAndValidate(control) {
|
|
|
98
142
|
* @param handler called if both elements are not null
|
|
99
143
|
* @return true if either both are null or they pass identity handler
|
|
100
144
|
*/
|
|
145
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
101
146
|
function nullableSame(a, b, handler) {
|
|
102
147
|
if (a === null) {
|
|
103
148
|
return b === null;
|
|
@@ -107,16 +152,22 @@ function nullableSame(a, b, handler) {
|
|
|
107
152
|
}
|
|
108
153
|
return handler(a, b);
|
|
109
154
|
}
|
|
155
|
+
const tuiNullableSame = nullableSame;
|
|
110
156
|
|
|
157
|
+
/**
|
|
158
|
+
* @deprecated: use {@link tuiUniqBy} instead
|
|
159
|
+
*/
|
|
160
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
111
161
|
function uniqBy(array, key) {
|
|
112
162
|
return Array.from(array
|
|
113
163
|
.reduce((map, item) => (map.has(item[key]) ? map : map.set(item[key], item)), new Map())
|
|
114
164
|
.values());
|
|
115
165
|
}
|
|
166
|
+
const tuiUniqBy = uniqBy;
|
|
116
167
|
|
|
117
168
|
/**
|
|
118
169
|
* Generated bundle index. Do not edit.
|
|
119
170
|
*/
|
|
120
171
|
|
|
121
|
-
export { distanceBetweenTouches, easeInOutQuad, fallbackValue, flatLength, getOriginalArrayFromQueryList, getSwipeDirection, identity, isElementEditable, isNumber, isPresent, markControlAsTouchedAndValidate, nullableSame, uniqBy };
|
|
172
|
+
export { distanceBetweenTouches, easeInOutQuad, fallbackValue, flatLength, getOriginalArrayFromQueryList, getSwipeDirection, identity, isElementEditable, isNumber, isPresent, markControlAsTouchedAndValidate, nullableSame, tuiDistanceBetweenTouches, tuiEaseInOutQuad, tuiFlatLength, tuiGetOriginalArrayFromQueryList, tuiGetSwipeDirection, tuiIsElementEditable, tuiIsNumber, tuiIsPresent, tuiMarkControlAsTouchedAndValidate, tuiNullableSame, tuiUniqBy, uniqBy };
|
|
122
173
|
//# sourceMappingURL=taiga-ui-cdk-utils-miscellaneous.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-miscellaneous.js","sources":["ng://@taiga-ui/cdk/utils/miscellaneous/distance-between-touches.ts","ng://@taiga-ui/cdk/utils/miscellaneous/ease-in-out-quad.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-present.ts","ng://@taiga-ui/cdk/utils/miscellaneous/fallback-value.ts","ng://@taiga-ui/cdk/utils/miscellaneous/flat-length.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-original-array-from-query-list.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-swipe-direction.ts","ng://@taiga-ui/cdk/utils/miscellaneous/identity.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-element-editable.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-number.ts","ng://@taiga-ui/cdk/utils/miscellaneous/mark-control-as-touched-and-validate.ts","ng://@taiga-ui/cdk/utils/miscellaneous/nullable-same.ts","ng://@taiga-ui/cdk/utils/miscellaneous/uniq-by.ts","ng://@taiga-ui/cdk/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.ts"],"sourcesContent":["export function distanceBetweenTouches({touches}: TouchEvent): number {\n return Math.hypot(\n touches[0].clientX - touches[1].clientX,\n touches[0].clientY - touches[1].clientY,\n );\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nexport function easeInOutQuad(t: number): number {\n tuiAssert.assert(\n 0 <= t && t <= 1,\n 'Input must be between 0 and 1 inclusive but received ',\n t,\n );\n\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n","export function isPresent<T>(value?: T | null): value is T {\n return value !== null && value !== undefined;\n}\n","import {isPresent} from './is-present';\n\n/**\n * If the value is null or undefined, returns default value\n * @param value\n * @param fallback alternative fallback\n * @deprecated use nullish coalescing operator\n */\nexport function fallbackValue<T>(value: T | null | undefined, fallback: T): T {\n return isPresent(value) ? value : fallback;\n}\n","/**\n * Flattens two dimensional array and calculates resulting length\n *\n * @param array twi dimensional array\n */\nexport function flatLength(array: ReadonlyArray<readonly unknown[]>): number {\n return array.reduce((count, section) => count + section.length, 0);\n}\n","import {QueryList} from '@angular/core';\n\n/**\n * Extracts original array from {@link QueryList} rather than\n * creating a copy like {@link QueryList.toArray} does.\n * @param queryList\n * @returns original array from {@link QueryList}.\n */\nexport function getOriginalArrayFromQueryList<T>(queryList: QueryList<T>): readonly T[] {\n let array: readonly T[] = [];\n\n queryList.find((_item, _index, originalArray) => {\n array = originalArray;\n\n return true;\n });\n\n return array;\n}\n","import {TuiSwipeDirection} from '@taiga-ui/cdk/interfaces';\n\nexport function getSwipeDirection(deltaX: number, deltaY: number): TuiSwipeDirection {\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n return deltaY > 0 ? 'top' : 'bottom';\n } else {\n return deltaX > 0 ? 'left' : 'right';\n }\n}\n","/**\n * @deprecated: use identity from rxjs\n */\nexport function identity<T>(item: T): T {\n return item;\n}\n","export function isElementEditable(element: HTMLElement): boolean {\n // TODO: iframe warning\n return (\n (element instanceof HTMLInputElement && !element.readOnly) ||\n (element instanceof HTMLTextAreaElement && !element.readOnly) ||\n element.isContentEditable\n );\n}\n","export function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n","import {AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\nexport function markControlAsTouchedAndValidate(control: AbstractControl): void {\n if (control instanceof FormArray) {\n control.controls.forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n if (control instanceof FormGroup) {\n Object.values(control.controls).forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n control.markAsTouched();\n control.updateValueAndValidity();\n}\n","import {TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n/**\n * Checks identity for nullable elements.\n *\n * @param a element a\n * @param b element b\n * @param handler called if both elements are not null\n * @return true if either both are null or they pass identity handler\n */\nexport function nullableSame<T>(\n a: T | null,\n b: T | null,\n handler: TuiIdentityMatcher<T>,\n): boolean {\n if (a === null) {\n return b === null;\n }\n\n if (b === null) {\n return false;\n }\n\n return handler(a, b);\n}\n","export function uniqBy<T extends object>(\n array: readonly T[],\n key: keyof T,\n): readonly T[] {\n return Array.from(\n array\n .reduce(\n (map, item) => (map.has(item[key]) ? map : map.set(item[key], item)),\n new Map<T[keyof T], T>(),\n )\n .values(),\n );\n}\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-utils-miscellaneous.js","sources":["ng://@taiga-ui/cdk/utils/miscellaneous/distance-between-touches.ts","ng://@taiga-ui/cdk/utils/miscellaneous/ease-in-out-quad.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-present.ts","ng://@taiga-ui/cdk/utils/miscellaneous/fallback-value.ts","ng://@taiga-ui/cdk/utils/miscellaneous/flat-length.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-original-array-from-query-list.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-swipe-direction.ts","ng://@taiga-ui/cdk/utils/miscellaneous/identity.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-element-editable.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-number.ts","ng://@taiga-ui/cdk/utils/miscellaneous/mark-control-as-touched-and-validate.ts","ng://@taiga-ui/cdk/utils/miscellaneous/nullable-same.ts","ng://@taiga-ui/cdk/utils/miscellaneous/uniq-by.ts","ng://@taiga-ui/cdk/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.ts"],"sourcesContent":["/**\n * @deprecated: use {@link tuiDistanceBetweenTouches} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function distanceBetweenTouches({touches}: TouchEvent): number {\n return Math.hypot(\n touches[0].clientX - touches[1].clientX,\n touches[0].clientY - touches[1].clientY,\n );\n}\n\nexport const tuiDistanceBetweenTouches = distanceBetweenTouches;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiEaseInOutQuad} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function easeInOutQuad(t: number): number {\n tuiAssert.assert(\n 0 <= t && t <= 1,\n 'Input must be between 0 and 1 inclusive but received ',\n t,\n );\n\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n\nexport const tuiEaseInOutQuad = easeInOutQuad;\n","/**\n * @deprecated: use {@link tuiIsPresent} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isPresent<T>(value?: T | null): value is T {\n return value !== null && value !== undefined;\n}\n\nexport const tuiIsPresent = isPresent;\n","import {isPresent} from './is-present';\n\n/**\n * @deprecated use nullish coalescing operator\n * If the value is null or undefined, returns default value\n * @param value\n * @param fallback alternative fallback\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function fallbackValue<T>(value: T | null | undefined, fallback: T): T {\n return isPresent(value) ? value : fallback;\n}\n","/**\n * @deprecated: use {@link tuiFlatLength} instead\n * Flattens two-dimensional array and calculates resulting length\n *\n * @param array twi dimensional array\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function flatLength(array: ReadonlyArray<readonly unknown[]>): number {\n return array.reduce((count, section) => count + section.length, 0);\n}\n\nexport const tuiFlatLength = flatLength;\n","import {QueryList} from '@angular/core';\n\n/**\n * @deprecated: use {@link tuiGetOriginalArrayFromQueryList} instead\n * Extracts original array from {@link QueryList} rather than\n * creating a copy like {@link QueryList.toArray} does.\n * @param queryList\n * @returns original array from {@link QueryList}.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getOriginalArrayFromQueryList<T>(queryList: QueryList<T>): readonly T[] {\n let array: readonly T[] = [];\n\n queryList.find((_item, _index, originalArray) => {\n array = originalArray;\n\n return true;\n });\n\n return array;\n}\n\nexport const tuiGetOriginalArrayFromQueryList = getOriginalArrayFromQueryList;\n","import {TuiSwipeDirection} from '@taiga-ui/cdk/interfaces';\n\n/**\n * @deprecated: use {@link tuiGetSwipeDirection} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getSwipeDirection(deltaX: number, deltaY: number): TuiSwipeDirection {\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n return deltaY > 0 ? 'top' : 'bottom';\n } else {\n return deltaX > 0 ? 'left' : 'right';\n }\n}\n\nexport const tuiGetSwipeDirection = getSwipeDirection;\n","/**\n * @deprecated: use identity from rxjs\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function identity<T>(item: T): T {\n return item;\n}\n","/**\n * @deprecated: use {@link tuiIsElementEditable} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isElementEditable(element: HTMLElement): boolean {\n // TODO: iframe warning\n return (\n (element instanceof HTMLInputElement && !element.readOnly) ||\n (element instanceof HTMLTextAreaElement && !element.readOnly) ||\n element.isContentEditable\n );\n}\n\nexport const tuiIsElementEditable = isElementEditable;\n","/**\n * @deprecated: use {@link tuiIsNumber} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n\nexport const tuiIsNumber = isNumber;\n","import {AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\n/**\n * @deprecated: use {@link tuiMarkControlAsTouchedAndValidate} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function markControlAsTouchedAndValidate(control: AbstractControl): void {\n if (control instanceof FormArray) {\n control.controls.forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n if (control instanceof FormGroup) {\n Object.values(control.controls).forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n control.markAsTouched();\n control.updateValueAndValidity();\n}\n\nexport const tuiMarkControlAsTouchedAndValidate = markControlAsTouchedAndValidate;\n","import {TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n/**\n * @deprecated: use {@link tuiNullableSame} instead\n * Checks identity for nullable elements.\n *\n * @param a element a\n * @param b element b\n * @param handler called if both elements are not null\n * @return true if either both are null or they pass identity handler\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function nullableSame<T>(\n a: T | null,\n b: T | null,\n handler: TuiIdentityMatcher<T>,\n): boolean {\n if (a === null) {\n return b === null;\n }\n\n if (b === null) {\n return false;\n }\n\n return handler(a, b);\n}\n\nexport const tuiNullableSame = nullableSame;\n","/**\n * @deprecated: use {@link tuiUniqBy} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function uniqBy<T extends object>(\n array: readonly T[],\n key: keyof T,\n): readonly T[] {\n return Array.from(\n array\n .reduce(\n (map, item) => (map.has(item[key]) ? map : map.set(item[key], item)),\n new Map<T[keyof T], T>(),\n )\n .values(),\n );\n}\n\nexport const tuiUniqBy = uniqBy;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
2
|
+
* @deprecated: use {@link tuiIsApplePlatform} instead
|
|
3
|
+
* @description:
|
|
3
4
|
* All Chrome / Chromium-based browsers will return MacIntel on macOS,
|
|
4
5
|
* no matter what the hardware architecture is. See the source code here:
|
|
5
6
|
* https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/frame/navigator_id.cc;l=64;drc=703d3c472cf27470dad21a3f2c8972aca3732cd6
|
|
@@ -8,24 +9,36 @@
|
|
|
8
9
|
* Documentation:
|
|
9
10
|
* https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform
|
|
10
11
|
*/
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
11
13
|
function isApplePlatform(navigator) {
|
|
12
14
|
return navigator.platform.indexOf('Mac') === 0 || navigator.platform === 'iPhone';
|
|
13
15
|
}
|
|
16
|
+
const tuiIsApplePlatform = isApplePlatform;
|
|
14
17
|
|
|
15
18
|
const IOS_REG_EXP = /ipad|iphone|ipod/;
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated: use {@link tuiIsIos} instead
|
|
21
|
+
*/
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
16
23
|
function isIos(navigator) {
|
|
17
24
|
return (IOS_REG_EXP.test(navigator.userAgent.toLowerCase()) ||
|
|
18
25
|
(isApplePlatform(navigator) && navigator.maxTouchPoints > 1));
|
|
19
26
|
}
|
|
27
|
+
const tuiIsIos = isIos;
|
|
20
28
|
|
|
21
29
|
const SAFARI_REG_EXP = /^((?!chrome|android).)*safari/i;
|
|
30
|
+
/**
|
|
31
|
+
* @deprecated: use {@link tuiIsApple} instead
|
|
32
|
+
*/
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
22
34
|
function isApple(navigator) {
|
|
23
35
|
return isIos(navigator) || SAFARI_REG_EXP.test(navigator.userAgent.toLowerCase());
|
|
24
36
|
}
|
|
37
|
+
const tuiIsApple = isApple;
|
|
25
38
|
|
|
26
39
|
/**
|
|
27
40
|
* Generated bundle index. Do not edit.
|
|
28
41
|
*/
|
|
29
42
|
|
|
30
|
-
export { isApple, isApplePlatform, isIos };
|
|
43
|
+
export { isApple, isApplePlatform, isIos, tuiIsApple, tuiIsApplePlatform, tuiIsIos };
|
|
31
44
|
//# sourceMappingURL=taiga-ui-cdk-utils-os.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-os.js","sources":["ng://@taiga-ui/cdk/utils/os/is-apple-platform.ts","ng://@taiga-ui/cdk/utils/os/is-ios.ts","ng://@taiga-ui/cdk/utils/os/is-apple.ts","ng://@taiga-ui/cdk/utils/os/taiga-ui-cdk-utils-os.ts"],"sourcesContent":["/**\n * @
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-utils-os.js","sources":["ng://@taiga-ui/cdk/utils/os/is-apple-platform.ts","ng://@taiga-ui/cdk/utils/os/is-ios.ts","ng://@taiga-ui/cdk/utils/os/is-apple.ts","ng://@taiga-ui/cdk/utils/os/taiga-ui-cdk-utils-os.ts"],"sourcesContent":["/**\n * @deprecated: use {@link tuiIsApplePlatform} instead\n * @description:\n * All Chrome / Chromium-based browsers will return MacIntel on macOS,\n * no matter what the hardware architecture is. See the source code here:\n * https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/frame/navigator_id.cc;l=64;drc=703d3c472cf27470dad21a3f2c8972aca3732cd6\n * But maybe in future years, it will be changed to MacM1\n *\n * Documentation:\n * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isApplePlatform(navigator: Navigator): boolean {\n return navigator.platform.indexOf('Mac') === 0 || navigator.platform === 'iPhone';\n}\n\nexport const tuiIsApplePlatform = isApplePlatform;\n","import {isApplePlatform} from './is-apple-platform';\n\nconst IOS_REG_EXP = /ipad|iphone|ipod/;\n\n/**\n * @deprecated: use {@link tuiIsIos} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isIos(navigator: Navigator): boolean {\n return (\n IOS_REG_EXP.test(navigator.userAgent.toLowerCase()) ||\n (isApplePlatform(navigator) && navigator.maxTouchPoints > 1)\n );\n}\n\nexport const tuiIsIos = isIos;\n","import {isIos} from './is-ios';\n\nconst SAFARI_REG_EXP = /^((?!chrome|android).)*safari/i;\n\n/**\n * @deprecated: use {@link tuiIsApple} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isApple(navigator: Navigator): boolean {\n return isIos(navigator) || SAFARI_REG_EXP.test(navigator.userAgent.toLowerCase());\n}\n\nexport const tuiIsApple = isApple;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;;;;;;;;;;AAWA;SACgB,eAAe,CAAC,SAAoB;IAChD,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACtF,CAAC;MAEY,kBAAkB,GAAG;;ACdlC,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAEvC;;;AAGA;SACgB,KAAK,CAAC,SAAoB;IACtC,QACI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;SAClD,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,EAC9D;AACN,CAAC;MAEY,QAAQ,GAAG;;ACbxB,MAAM,cAAc,GAAG,gCAAgC,CAAC;AAExD;;;AAGA;SACgB,OAAO,CAAC,SAAoB;IACxC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;AACtF,CAAC;MAEY,UAAU,GAAG;;ACZ1B;;;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
2
|
+
* @deprecated: use {@link tuiSvgLinearGradientProcessor} instead
|
|
3
|
+
* @description:
|
|
3
4
|
* Any ‘linearGradient’ attributes which are defined on the referenced
|
|
4
5
|
* element which are not defined on this element are inherited by this element.
|
|
5
6
|
* If this element has no defined gradient stops, and the referenced element does
|
|
@@ -12,6 +13,7 @@
|
|
|
12
13
|
* Documentation: https://www.w3.org/TR/SVG11/pservers.html
|
|
13
14
|
*
|
|
14
15
|
*/
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
15
17
|
function svgLinearGradientProcessor(svg, salt) {
|
|
16
18
|
const uniqueIds = extractLinearGradientIdsFromSvg(svg);
|
|
17
19
|
return uniqueIds.reduce((processed, previousId) => processed.replace(new RegExp(previousId, 'g'), `${previousId}_${salt || makeRandomSalt()}`), svg);
|
|
@@ -23,10 +25,11 @@ function extractLinearGradientIdsFromSvg(svg) {
|
|
|
23
25
|
const matchedIdsWithPrefix = svg.match(/url\(#(\w\w+)/g) || [];
|
|
24
26
|
return [...new Set(matchedIdsWithPrefix)].map(matched => matched.slice(5));
|
|
25
27
|
}
|
|
28
|
+
const tuiSvgLinearGradientProcessor = svgLinearGradientProcessor;
|
|
26
29
|
|
|
27
30
|
/**
|
|
28
31
|
* Generated bundle index. Do not edit.
|
|
29
32
|
*/
|
|
30
33
|
|
|
31
|
-
export { svgLinearGradientProcessor };
|
|
34
|
+
export { svgLinearGradientProcessor, tuiSvgLinearGradientProcessor };
|
|
32
35
|
//# sourceMappingURL=taiga-ui-cdk-utils-svg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-svg.js","sources":["ng://@taiga-ui/cdk/utils/svg/svg-linear-gradient-processor.ts","ng://@taiga-ui/cdk/utils/svg/taiga-ui-cdk-utils-svg.ts"],"sourcesContent":["/**\n * @
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-utils-svg.js","sources":["ng://@taiga-ui/cdk/utils/svg/svg-linear-gradient-processor.ts","ng://@taiga-ui/cdk/utils/svg/taiga-ui-cdk-utils-svg.ts"],"sourcesContent":["/**\n * @deprecated: use {@link tuiSvgLinearGradientProcessor} instead\n * @description:\n * Any ‘linearGradient’ attributes which are defined on the referenced\n * element which are not defined on this element are inherited by this element.\n * If this element has no defined gradient stops, and the referenced element does\n * (possibly due to its own ‘xlink:href’ attribute), then this element inherits\n * the gradient stop from the referenced element. Inheritance can be indirect\n * to an arbitrary level; thus, if the referenced element inherits attribute\n * or gradient stops due to its own ‘xlink:href’ attribute, then the current\n * element can inherit those attributes or gradient stops.\n *\n * Documentation: https://www.w3.org/TR/SVG11/pservers.html\n *\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function svgLinearGradientProcessor(svg: string, salt?: number | string): string {\n const uniqueIds = extractLinearGradientIdsFromSvg(svg);\n\n return uniqueIds.reduce(\n (processed, previousId) =>\n processed.replace(\n new RegExp(previousId, 'g'),\n `${previousId}_${salt || makeRandomSalt()}`,\n ),\n svg,\n );\n}\n\nfunction makeRandomSalt(): number {\n return Math.floor(Math.random() * Date.now());\n}\n\nfunction extractLinearGradientIdsFromSvg(svg: string): string[] {\n const matchedIdsWithPrefix = svg.match(/url\\(#(\\w\\w+)/g) || [];\n\n return [...new Set(matchedIdsWithPrefix)].map(\n matched => matched.slice(5), // remove prefix `url(#`\n );\n}\n\nexport const tuiSvgLinearGradientProcessor = svgLinearGradientProcessor;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;AAeA;SACgB,0BAA0B,CAAC,GAAW,EAAE,IAAsB;IAC1E,MAAM,SAAS,GAAG,+BAA+B,CAAC,GAAG,CAAC,CAAC;IAEvD,OAAO,SAAS,CAAC,MAAM,CACnB,CAAC,SAAS,EAAE,UAAU,KAClB,SAAS,CAAC,OAAO,CACb,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,EAC3B,GAAG,UAAU,IAAI,IAAI,IAAI,cAAc,EAAE,EAAE,CAC9C,EACL,GAAG,CACN,CAAC;AACN,CAAC;AAED,SAAS,cAAc;IACnB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,+BAA+B,CAAC,GAAW;IAChD,MAAM,oBAAoB,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAE/D,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CACzC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAC9B,CAAC;AACN,CAAC;MAEY,6BAA6B,GAAG;;ACzC7C;;;;;;"}
|
|
@@ -30,7 +30,7 @@ var TuiAlertHostComponent = /** @class */ (function () {
|
|
|
30
30
|
TuiAlertHostComponent = __decorate([
|
|
31
31
|
Component({
|
|
32
32
|
selector: 'tui-alert-host',
|
|
33
|
-
template: "<div\n *ngFor=\"let alert$ of alerts\"\n class=\"t-notifications-wrapper\"\n @tuiParentAnimation\n>\n <ng-container\n *ngFor=\"let item of alert$ | async\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper
|
|
33
|
+
template: "<div\n *ngFor=\"let alert$ of alerts\"\n class=\"t-notifications-wrapper\"\n @tuiParentAnimation\n>\n <ng-container\n *ngFor=\"let item of alert$ | async\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper: mapper\"\n ></ng-container>\n</div>\n",
|
|
34
34
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
35
35
|
animations: [TUI_PARENT_ANIMATION],
|
|
36
36
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-components-alert-host.js","sources":["ng://@taiga-ui/cdk/components/alert-host/alert-host.component.ts","ng://@taiga-ui/cdk/components/alert-host/alert-host.module.ts","ng://@taiga-ui/cdk/components/alert-host/taiga-ui-cdk-components-alert-host.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n INJECTOR,\n Injector,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_PARENT_ANIMATION} from '@taiga-ui/cdk/constants';\nimport {TUI_ALERTS} from '@taiga-ui/cdk/tokens';\nimport {TuiDialog, TuiMapper} from '@taiga-ui/cdk/types';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-alert-host',\n templateUrl: './alert-host.template.html',\n styleUrls: ['./alert-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [TUI_PARENT_ANIMATION],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiAlertHostComponent<T extends TuiDialog<unknown, unknown>> {\n constructor(\n @Inject(TUI_ALERTS) readonly alerts: Array<Observable<readonly T[]>>,\n @Inject(INJECTOR) private readonly injector: Injector,\n ) {}\n\n readonly mapper: TuiMapper<unknown, Injector> = useValue =>\n Injector.create({\n providers: [\n {\n provide: POLYMORPHEUS_CONTEXT,\n useValue,\n },\n ],\n parent: this.injector,\n });\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk/pipes';\n\nimport {TuiAlertHostComponent} from './alert-host.component';\n\n@NgModule({\n imports: [CommonModule, TuiMapperPipeModule],\n declarations: [TuiAlertHostComponent],\n exports: [TuiAlertHostComponent],\n})\nexport class TuiAlertHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;IAuBI,+BACiC,MAAuC,EACjC,QAAkB;QAFzD,iBAGI;QAF6B,WAAM,GAAN,MAAM,CAAiC;QACjC,aAAQ,GAAR,QAAQ,CAAU;QAGhD,WAAM,GAAiC,UAAA,QAAQ;YACpD,OAAA,QAAQ,CAAC,MAAM,CAAC;gBACZ,SAAS,EAAE;oBACP;wBACI,OAAO,EAAE,oBAAoB;wBAC7B,QAAQ,UAAA;qBACX;iBACJ;gBACD,MAAM,EAAE,KAAI,CAAC,QAAQ;aACxB,CAAC;SAAA,CAAC;KAXH;;gBAFqC,KAAK,uBAAzC,MAAM,SAAC,UAAU;gBAC2B,QAAQ,uBAApD,MAAM,SAAC,QAAQ;;IAHX,qBAAqB;QARjC,SAAS,CAAC;YACP,QAAQ,EAAE,gBAAgB;YAC1B,
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-components-alert-host.js","sources":["ng://@taiga-ui/cdk/components/alert-host/alert-host.component.ts","ng://@taiga-ui/cdk/components/alert-host/alert-host.module.ts","ng://@taiga-ui/cdk/components/alert-host/taiga-ui-cdk-components-alert-host.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n INJECTOR,\n Injector,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_PARENT_ANIMATION} from '@taiga-ui/cdk/constants';\nimport {TUI_ALERTS} from '@taiga-ui/cdk/tokens';\nimport {TuiDialog, TuiMapper} from '@taiga-ui/cdk/types';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-alert-host',\n templateUrl: './alert-host.template.html',\n styleUrls: ['./alert-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [TUI_PARENT_ANIMATION],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiAlertHostComponent<T extends TuiDialog<unknown, unknown>> {\n constructor(\n @Inject(TUI_ALERTS) readonly alerts: Array<Observable<readonly T[]>>,\n @Inject(INJECTOR) private readonly injector: Injector,\n ) {}\n\n readonly mapper: TuiMapper<unknown, Injector> = useValue =>\n Injector.create({\n providers: [\n {\n provide: POLYMORPHEUS_CONTEXT,\n useValue,\n },\n ],\n parent: this.injector,\n });\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk/pipes';\n\nimport {TuiAlertHostComponent} from './alert-host.component';\n\n@NgModule({\n imports: [CommonModule, TuiMapperPipeModule],\n declarations: [TuiAlertHostComponent],\n exports: [TuiAlertHostComponent],\n})\nexport class TuiAlertHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;IAuBI,+BACiC,MAAuC,EACjC,QAAkB;QAFzD,iBAGI;QAF6B,WAAM,GAAN,MAAM,CAAiC;QACjC,aAAQ,GAAR,QAAQ,CAAU;QAGhD,WAAM,GAAiC,UAAA,QAAQ;YACpD,OAAA,QAAQ,CAAC,MAAM,CAAC;gBACZ,SAAS,EAAE;oBACP;wBACI,OAAO,EAAE,oBAAoB;wBAC7B,QAAQ,UAAA;qBACX;iBACJ;gBACD,MAAM,EAAE,KAAI,CAAC,QAAQ;aACxB,CAAC;SAAA,CAAC;KAXH;;gBAFqC,KAAK,uBAAzC,MAAM,SAAC,UAAU;gBAC2B,QAAQ,uBAApD,MAAM,SAAC,QAAQ;;IAHX,qBAAqB;QARjC,SAAS,CAAC;YACP,QAAQ,EAAE,gBAAgB;YAC1B,sVAAyC;YAEzC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,UAAU,EAAE,CAAC,oBAAoB,CAAC;YAClC,aAAa,EAAE,iBAAiB,CAAC,IAAI;;SACxC,CAAC;QAGO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;OAHZ,qBAAqB,CAgBjC;IAAD,4BAAC;CAhBD;;;ICXA;KAAkC;IAArB,kBAAkB;QAL9B,QAAQ,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC;YAC5C,YAAY,EAAE,CAAC,qBAAqB,CAAC;YACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;SACnC,CAAC;OACW,kBAAkB,CAAG;IAAD,yBAAC;CAAlC;;ACXA;;;;;;"}
|
|
@@ -2,15 +2,8 @@ import { __extends, __decorate } from 'tslib';
|
|
|
2
2
|
import { ViewChild, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
3
|
import { AbstractTuiPortalService, AbstractTuiPortalHostComponent } from '@taiga-ui/cdk/abstract';
|
|
4
4
|
import { TuiPortalService } from '@taiga-ui/cdk/components/portal-host';
|
|
5
|
+
import { EMPTY_CLIENT_RECT } from '@taiga-ui/cdk/constants';
|
|
5
6
|
|
|
6
|
-
var BLANK_CLIENT_RECT = {
|
|
7
|
-
bottom: 0,
|
|
8
|
-
height: 0,
|
|
9
|
-
left: 0,
|
|
10
|
-
right: 0,
|
|
11
|
-
top: 0,
|
|
12
|
-
width: 0,
|
|
13
|
-
};
|
|
14
7
|
/**
|
|
15
8
|
* Host element for dynamically created portals, for example using {@link TuiDropdownDirective}.
|
|
16
9
|
*/
|
|
@@ -22,7 +15,7 @@ var TuiDropdownHostComponent = /** @class */ (function (_super) {
|
|
|
22
15
|
TuiDropdownHostComponent.prototype.fixedPositionOffset = function () {
|
|
23
16
|
var _a;
|
|
24
17
|
return (((_a = this.positionFixedOffsetRef) === null || _a === void 0 ? void 0 : _a.nativeElement.getBoundingClientRect()) ||
|
|
25
|
-
|
|
18
|
+
EMPTY_CLIENT_RECT);
|
|
26
19
|
};
|
|
27
20
|
__decorate([
|
|
28
21
|
ViewChild('positionFixedOffset')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-components-dropdown-host.js","sources":["ng://@taiga-ui/cdk/components/dropdown-host/dropdown-host.component.ts","ng://@taiga-ui/cdk/components/dropdown-host/dropdown-host.module.ts","ng://@taiga-ui/cdk/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ElementRef, ViewChild} from '@angular/core';\nimport {\n AbstractTuiPortalHostComponent,\n AbstractTuiPortalService,\n} from '@taiga-ui/cdk/abstract';\nimport {TuiPortalService} from '@taiga-ui/cdk/components/portal-host';\
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-components-dropdown-host.js","sources":["ng://@taiga-ui/cdk/components/dropdown-host/dropdown-host.component.ts","ng://@taiga-ui/cdk/components/dropdown-host/dropdown-host.module.ts","ng://@taiga-ui/cdk/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ElementRef, ViewChild} from '@angular/core';\nimport {\n AbstractTuiPortalHostComponent,\n AbstractTuiPortalService,\n} from '@taiga-ui/cdk/abstract';\nimport {TuiPortalService} from '@taiga-ui/cdk/components/portal-host';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk/constants';\n\n/**\n * Host element for dynamically created portals, for example using {@link TuiDropdownDirective}.\n */\n@Component({\n selector: 'tui-dropdown-host',\n templateUrl: './dropdown-host.template.html',\n styleUrls: ['./dropdown-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{provide: AbstractTuiPortalService, useExisting: TuiPortalService}],\n})\nexport class TuiDropdownHostComponent extends AbstractTuiPortalHostComponent {\n @ViewChild('positionFixedOffset')\n private readonly positionFixedOffsetRef?: ElementRef<HTMLDivElement>;\n\n fixedPositionOffset(): ClientRect {\n return (\n this.positionFixedOffsetRef?.nativeElement.getBoundingClientRect() ||\n EMPTY_CLIENT_RECT\n );\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiDropdownHostComponent} from './dropdown-host.component';\n\n@NgModule({\n declarations: [TuiDropdownHostComponent],\n exports: [TuiDropdownHostComponent],\n})\nexport class TuiDropdownHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAQA;;;;IAU8C,4CAA8B;IAA5E;;KAUC;IANG,sDAAmB,GAAnB;;QACI,QACI,OAAA,IAAI,CAAC,sBAAsB,0CAAE,aAAa,CAAC,qBAAqB;YAChE,iBAAiB,EACnB;KACL;IAPD;QADC,SAAS,CAAC,qBAAqB,CAAC;4EACoC;IAF5D,wBAAwB;QAPpC,SAAS,CAAC;YACP,QAAQ,EAAE,mBAAmB;YAC7B,mKAA4C;YAE5C,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,gBAAgB,EAAC,CAAC;;SAClF,CAAC;OACW,wBAAwB,CAUpC;IAAD,+BAAC;CAAA,CAV6C,8BAA8B;;;ICV5E;KAAqC;IAAxB,qBAAqB;QAJjC,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,wBAAwB,CAAC;YACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;SACtC,CAAC;OACW,qBAAqB,CAAG;IAAD,4BAAC;CAArC;;ACRA;;;;;;"}
|
|
@@ -23,6 +23,14 @@ var EMPTY_ARRAY = [];
|
|
|
23
23
|
var EMPTY_FUNCTION = function () { };
|
|
24
24
|
/** @deprecated use Validators.nullValidator */
|
|
25
25
|
var EMPTY_VALIDATOR = function () { return null; };
|
|
26
|
+
var EMPTY_CLIENT_RECT = {
|
|
27
|
+
bottom: 0,
|
|
28
|
+
height: 0,
|
|
29
|
+
left: 0,
|
|
30
|
+
right: 0,
|
|
31
|
+
top: 0,
|
|
32
|
+
width: 0,
|
|
33
|
+
};
|
|
26
34
|
|
|
27
35
|
/**
|
|
28
36
|
* Default method to turn arbitrary object into string
|
|
@@ -133,5 +141,5 @@ var CHAR_ZERO_WIDTH_SPACE = '\u200B';
|
|
|
133
141
|
* Generated bundle index. Do not edit.
|
|
134
142
|
*/
|
|
135
143
|
|
|
136
|
-
export { ALWAYS_FALSE_HANDLER, ALWAYS_TRUE_HANDLER, CHAR_BULLET, CHAR_CURRENCY_SIGN, CHAR_ELLIPSIS, CHAR_EM_DASH, CHAR_EN_DASH, CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, CHAR_PLUS, CHAR_ZERO_WIDTH_SPACE, CHROMIUM_EDGE_START_VERSION, EMPTY_ARRAY, EMPTY_FUNCTION, EMPTY_QUERY, EMPTY_VALIDATOR, POLLING_TIME, TUI_DEFAULT_IDENTITY_MATCHER, TUI_DEFAULT_MATCHER, TUI_DEFAULT_STRINGIFY, TUI_PARENT_ANIMATION, TUI_STRICT_MATCHER, svgNodeFilter };
|
|
144
|
+
export { ALWAYS_FALSE_HANDLER, ALWAYS_TRUE_HANDLER, CHAR_BULLET, CHAR_CURRENCY_SIGN, CHAR_ELLIPSIS, CHAR_EM_DASH, CHAR_EN_DASH, CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, CHAR_PLUS, CHAR_ZERO_WIDTH_SPACE, CHROMIUM_EDGE_START_VERSION, EMPTY_ARRAY, EMPTY_CLIENT_RECT, EMPTY_FUNCTION, EMPTY_QUERY, EMPTY_VALIDATOR, POLLING_TIME, TUI_DEFAULT_IDENTITY_MATCHER, TUI_DEFAULT_MATCHER, TUI_DEFAULT_STRINGIFY, TUI_PARENT_ANIMATION, TUI_STRICT_MATCHER, svgNodeFilter };
|
|
137
145
|
//# sourceMappingURL=taiga-ui-cdk-constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-constants.js","sources":["ng://@taiga-ui/cdk/constants/always-false-handler.ts","ng://@taiga-ui/cdk/constants/always-true-handler.ts","ng://@taiga-ui/cdk/constants/browser.ts","ng://@taiga-ui/cdk/constants/empty.ts","ng://@taiga-ui/cdk/constants/stringify.ts","ng://@taiga-ui/cdk/constants/matcher.ts","ng://@taiga-ui/cdk/constants/parent-animation.ts","ng://@taiga-ui/cdk/constants/polling-time.ts","ng://@taiga-ui/cdk/constants/svg-node-filter.ts","ng://@taiga-ui/cdk/constants/unicode-chars.ts","ng://@taiga-ui/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["/**\n * Handler that always returns `false`.\n */\nexport const ALWAYS_FALSE_HANDLER = (): false => false;\n","/**\n * Handler that always returns `true`.\n */\nexport const ALWAYS_TRUE_HANDLER = (): true => true;\n","export const CHROMIUM_EDGE_START_VERSION = 79;\n","import {QueryList} from '@angular/core';\nimport {ValidatorFn} from '@angular/forms';\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\n/** @deprecated use Validators.nullValidator */\nexport const EMPTY_VALIDATOR: ValidatorFn = () => null;\n","import {TuiStringHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Default method to turn arbitrary object into string\n */\nexport const TUI_DEFAULT_STRINGIFY: TuiStringHandler<unknown> = item => String(item);\n","import {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nimport {TUI_DEFAULT_STRINGIFY} from './stringify';\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n","import {animateChild, query, style, transition, trigger} from '@angular/animations';\n\nexport const TUI_PARENT_ANIMATION = trigger('tuiParentAnimation', [\n transition('* => void', [\n style({overflow: 'hidden'}),\n query('@*', [animateChild()], {optional: true}),\n ]),\n]);\n","export const POLLING_TIME = 1000 / 15;\n","// Filtering SVGElements for TreeWalker\n// Filter must be a function in IE, other modern browsers are compliant to this format\nexport const svgNodeFilter: NodeFilter = ((node: Node) =>\n 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT) as any;\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words or as minus sign before digits.\n * @example well-behaved, -42\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;;IAGa,oBAAoB,GAAG,cAAa,OAAA,KAAK;;ACHtD;;;IAGa,mBAAmB,GAAG,cAAY,OAAA,IAAI;;ICHtC,2BAA2B,GAAG;;ACG3C;;;;;IAKa,WAAW,GAAG,IAAI,SAAS,GAAQ;IACnC,WAAW,GAAO,GAAG;IACrB,cAAc,GAA6B,gBAAS;AACjE;IACa,eAAe,GAAgB,cAAM,OAAA,IAAI
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-constants.js","sources":["ng://@taiga-ui/cdk/constants/always-false-handler.ts","ng://@taiga-ui/cdk/constants/always-true-handler.ts","ng://@taiga-ui/cdk/constants/browser.ts","ng://@taiga-ui/cdk/constants/empty.ts","ng://@taiga-ui/cdk/constants/stringify.ts","ng://@taiga-ui/cdk/constants/matcher.ts","ng://@taiga-ui/cdk/constants/parent-animation.ts","ng://@taiga-ui/cdk/constants/polling-time.ts","ng://@taiga-ui/cdk/constants/svg-node-filter.ts","ng://@taiga-ui/cdk/constants/unicode-chars.ts","ng://@taiga-ui/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["/**\n * Handler that always returns `false`.\n */\nexport const ALWAYS_FALSE_HANDLER = (): false => false;\n","/**\n * Handler that always returns `true`.\n */\nexport const ALWAYS_TRUE_HANDLER = (): true => true;\n","export const CHROMIUM_EDGE_START_VERSION = 79;\n","import {QueryList} from '@angular/core';\nimport {ValidatorFn} from '@angular/forms';\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\n/** @deprecated use Validators.nullValidator */\nexport const EMPTY_VALIDATOR: ValidatorFn = () => null;\nexport const EMPTY_CLIENT_RECT: ClientRect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n};\n","import {TuiStringHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Default method to turn arbitrary object into string\n */\nexport const TUI_DEFAULT_STRINGIFY: TuiStringHandler<unknown> = item => String(item);\n","import {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nimport {TUI_DEFAULT_STRINGIFY} from './stringify';\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n","import {animateChild, query, style, transition, trigger} from '@angular/animations';\n\nexport const TUI_PARENT_ANIMATION = trigger('tuiParentAnimation', [\n transition('* => void', [\n style({overflow: 'hidden'}),\n query('@*', [animateChild()], {optional: true}),\n ]),\n]);\n","export const POLLING_TIME = 1000 / 15;\n","// Filtering SVGElements for TreeWalker\n// Filter must be a function in IE, other modern browsers are compliant to this format\nexport const svgNodeFilter: NodeFilter = ((node: Node) =>\n 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT) as any;\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words or as minus sign before digits.\n * @example well-behaved, -42\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;;IAGa,oBAAoB,GAAG,cAAa,OAAA,KAAK;;ACHtD;;;IAGa,mBAAmB,GAAG,cAAY,OAAA,IAAI;;ICHtC,2BAA2B,GAAG;;ACG3C;;;;;IAKa,WAAW,GAAG,IAAI,SAAS,GAAQ;IACnC,WAAW,GAAO,GAAG;IACrB,cAAc,GAA6B,gBAAS;AACjE;IACa,eAAe,GAAgB,cAAM,OAAA,IAAI,IAAC;IAC1C,iBAAiB,GAAe;IACzC,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;;;ACjBZ;;;IAGa,qBAAqB,GAA8B,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,IAAI,CAAC;;ACDpF;;;;;;IAMa,mBAAmB,GAAG,UAC/B,IAAO,EACP,MAAc,EACd,SAAwD;IAAxD,0BAAA,EAAA,iCAAwD;IAC9C,OAAA,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;AAA5D,EAA6D;AAE3E;;;;;;IAMa,kBAAkB,GAAG,UAC9B,IAAO,EACP,MAAc,EACd,SAAwD;IAAxD,0BAAA,EAAA,iCAAwD;IAC9C,OAAA,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE;AAAtD,EAAuD;AAErE;;;;;;;IAOa,4BAA4B,GAAgC,UAAC,KAAK,EAAE,KAAK;IAClF,OAAA,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;AAA1C,EAA2C;AAE/C,SAAS,SAAS,CAAC,KAAc,EAAE,KAAc;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAC1F;;ICtCa,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAC9D,UAAU,CAAC,WAAW,EAAE;QACpB,KAAK,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;KAClD,CAAC;CACL;;ICPY,YAAY,GAAG,IAAI,GAAG;;ACAnC;AACA;IACa,aAAa,IAAgB,UAAC,IAAU;IACjD,OAAA,iBAAiB,IAAI,IAAI;UACnB,UAAU,CAAC,aAAa;UACxB,UAAU,CAAC,aAAa;AAF9B,CAE8B;;ACLlC;;;IAGa,mBAAmB,GAAG,SAAS;AAE5C;;;;;;;IAOa,YAAY,GAAG,SAAS;AAErC;;;;;;;IAOa,YAAY,GAAG,SAAS;AAErC;;;;;;;IAOa,WAAW,GAAG,SAAS;AAEpC;;;IAGa,SAAS,GAAG,SAAS;AAElC;;;IAGa,WAAW,GAAG,SAAS;AAEpC;;;IAGa,aAAa,GAAG,SAAS;AAEtC;;;IAGa,kBAAkB,GAAG,SAAS;AAE3C;;;IAGa,qBAAqB,GAAG;;ACvDrC;;;;;;"}
|
|
@@ -1,25 +1,40 @@
|
|
|
1
|
-
import { __decorate
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { __decorate } from 'tslib';
|
|
2
|
+
import { EventEmitter, Output, HostListener, Directive, NgModule } from '@angular/core';
|
|
3
|
+
import { tuiAssertIsHTMLElement } from '@taiga-ui/cdk/classes';
|
|
4
|
+
import { shouldCall } from '@tinkoff/ng-event-plugins';
|
|
4
5
|
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
7
|
+
function movedOut(_a) {
|
|
8
|
+
var currentTarget = _a.currentTarget, relatedTarget = _a.relatedTarget;
|
|
9
|
+
tuiAssertIsHTMLElement(currentTarget);
|
|
10
|
+
tuiAssertIsHTMLElement(relatedTarget);
|
|
11
|
+
return !currentTarget.contains(relatedTarget);
|
|
12
|
+
}
|
|
5
13
|
var TuiHoveredDirective = /** @class */ (function () {
|
|
6
|
-
function TuiHoveredDirective(
|
|
7
|
-
|
|
8
|
-
this.tuiHoveredChange = hoveredService.createHovered$(nativeElement);
|
|
14
|
+
function TuiHoveredDirective() {
|
|
15
|
+
this.tuiHoveredChange = new EventEmitter();
|
|
9
16
|
}
|
|
10
|
-
TuiHoveredDirective.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
17
|
+
TuiHoveredDirective.prototype.onHover = function () {
|
|
18
|
+
this.tuiHoveredChange.emit(true);
|
|
19
|
+
};
|
|
20
|
+
TuiHoveredDirective.prototype.onOut = function (_) {
|
|
21
|
+
this.tuiHoveredChange.emit(false);
|
|
22
|
+
};
|
|
14
23
|
__decorate([
|
|
15
24
|
Output()
|
|
16
25
|
], TuiHoveredDirective.prototype, "tuiHoveredChange", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
HostListener('mouseenter')
|
|
28
|
+
], TuiHoveredDirective.prototype, "onHover", null);
|
|
29
|
+
__decorate([
|
|
30
|
+
shouldCall(movedOut),
|
|
31
|
+
HostListener('mouseout.init', ['$event']),
|
|
32
|
+
HostListener('mouseout.silent', ['$event'])
|
|
33
|
+
], TuiHoveredDirective.prototype, "onOut", null);
|
|
17
34
|
TuiHoveredDirective = __decorate([
|
|
18
35
|
Directive({
|
|
19
36
|
selector: '[tuiHoveredChange]',
|
|
20
|
-
})
|
|
21
|
-
__param(0, Inject(ElementRef)),
|
|
22
|
-
__param(1, Inject(TuiHoveredService))
|
|
37
|
+
})
|
|
23
38
|
], TuiHoveredDirective);
|
|
24
39
|
return TuiHoveredDirective;
|
|
25
40
|
}());
|
|
@@ -40,5 +55,5 @@ var TuiHoveredModule = /** @class */ (function () {
|
|
|
40
55
|
* Generated bundle index. Do not edit.
|
|
41
56
|
*/
|
|
42
57
|
|
|
43
|
-
export { TuiHoveredDirective, TuiHoveredModule };
|
|
58
|
+
export { TuiHoveredDirective, TuiHoveredModule, movedOut };
|
|
44
59
|
//# sourceMappingURL=taiga-ui-cdk-directives-hovered.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-hovered.js","sources":["ng://@taiga-ui/cdk/directives/hovered/hovered.directive.ts","ng://@taiga-ui/cdk/directives/hovered/hovered.module.ts","ng://@taiga-ui/cdk/directives/hovered/taiga-ui-cdk-directives-hovered.ts"],"sourcesContent":["import {Directive,
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-hovered.js","sources":["ng://@taiga-ui/cdk/directives/hovered/hovered.directive.ts","ng://@taiga-ui/cdk/directives/hovered/hovered.module.ts","ng://@taiga-ui/cdk/directives/hovered/taiga-ui-cdk-directives-hovered.ts"],"sourcesContent":["import {Directive, EventEmitter, HostListener, Output} from '@angular/core';\nimport {tuiAssertIsHTMLElement} from '@taiga-ui/cdk/classes';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function movedOut({currentTarget, relatedTarget}: MouseEvent): boolean {\n tuiAssertIsHTMLElement(currentTarget);\n tuiAssertIsHTMLElement(relatedTarget);\n\n return !currentTarget.contains(relatedTarget);\n}\n\n@Directive({\n selector: '[tuiHoveredChange]',\n})\nexport class TuiHoveredDirective {\n @Output()\n readonly tuiHoveredChange = new EventEmitter<boolean>();\n\n @HostListener('mouseenter')\n onHover(): void {\n this.tuiHoveredChange.emit(true);\n }\n\n @shouldCall(movedOut)\n @HostListener('mouseout.init', ['$event'])\n @HostListener('mouseout.silent', ['$event'])\n onOut(_: MouseEvent): void {\n this.tuiHoveredChange.emit(false);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiHoveredDirective} from './hovered.directive';\n\n@NgModule({\n declarations: [TuiHoveredDirective],\n exports: [TuiHoveredDirective],\n})\nexport class TuiHoveredModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIA;SACgB,QAAQ,CAAC,EAA0C;QAAzC,gCAAa,EAAE,gCAAa;IAClD,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACtC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAEtC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAClD,CAAC;;IAKD;QAEa,qBAAgB,GAAG,IAAI,YAAY,EAAW,CAAC;KAa3D;IAVG,qCAAO,GAAP;QACI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpC;IAKD,mCAAK,GAAL,UAAM,CAAa;QACf,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACrC;IAZD;QADC,MAAM,EAAE;iEAC+C;IAGxD;QADC,YAAY,CAAC,YAAY,CAAC;sDAG1B;IAKD;QAHC,UAAU,CAAC,QAAQ,CAAC;QACpB,YAAY,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC;QACzC,YAAY,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,CAAC;oDAG3C;IAdQ,mBAAmB;QAH/B,SAAS,CAAC;YACP,QAAQ,EAAE,oBAAoB;SACjC,CAAC;OACW,mBAAmB,CAe/B;IAAD,0BAAC;CAfD;;;ICPA;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;;;;;;"}
|
|
@@ -2,9 +2,11 @@ import { __decorate, __param } from 'tslib';
|
|
|
2
2
|
import { EventEmitter, ElementRef, Inject, Input, HostBinding, Output, HostListener, Directive, NgModule } from '@angular/core';
|
|
3
3
|
import { tuiDefaultProp, tuiRequiredSetter } from '@taiga-ui/cdk/decorators';
|
|
4
4
|
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
5
6
|
function nonNegativeFiniteAssertion(value) {
|
|
6
7
|
return isFinite(value) && value >= 0;
|
|
7
8
|
}
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
8
10
|
function volumeAssertion(volume) {
|
|
9
11
|
return isFinite(volume) && volume >= 0 && volume <= 1;
|
|
10
12
|
}
|
|
@@ -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 // eslint-disable-next-line @typescript-eslint/no-floating-promises\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":";;;;
|
|
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\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function nonNegativeFiniteAssertion(value: number): boolean {\n return isFinite(value) && value >= 0;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\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 // eslint-disable-next-line @typescript-eslint/no-floating-promises\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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"}
|