@taiga-ui/cdk 2.55.0 → 2.56.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-abstract.umd.js +12 -12
- 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 +1 -1
- package/bundles/taiga-ui-cdk-classes.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-classes.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-coercion.umd.js +1 -1
- package/bundles/taiga-ui-cdk-coercion.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-coercion.umd.min.js.map +1 -1
- 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.map +1 -1
- package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +4 -4
- 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-components-dropdown-host.umd.js +2 -2
- package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-portal-host.umd.js +1 -1
- package/bundles/taiga-ui-cdk-components-portal-host.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-constants.umd.js +15 -15
- 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 +35 -35
- package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-decorators.umd.js +1 -1
- 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 +3 -3
- 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 +15 -15
- 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-autofilled.umd.js +6 -6
- package/bundles/taiga-ui-cdk-directives-autofilled.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-checked.umd.js +6 -6
- 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 +3 -3
- 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-drag.umd.js +4 -4
- package/bundles/taiga-ui-cdk-directives-drag.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-drag.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-droppable.umd.js +5 -5
- package/bundles/taiga-ui-cdk-directives-droppable.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-droppable.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-element.umd.js +2 -2
- 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 +5 -5
- 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-focus-visible.umd.js +2 -2
- package/bundles/taiga-ui-cdk-directives-focus-visible.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-focus-visible.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-focusable.umd.js +3 -3
- package/bundles/taiga-ui-cdk-directives-focusable.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-focusable.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-focused.umd.js +2 -2
- package/bundles/taiga-ui-cdk-directives-focused.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-focused.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-for-async.umd.js +1 -1
- package/bundles/taiga-ui-cdk-directives-for-async.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-for-async.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-for.umd.js +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 +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-hovered.umd.js +4 -4
- package/bundles/taiga-ui-cdk-directives-hovered.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-hovered.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-input-mode.umd.js +10 -10
- package/bundles/taiga-ui-cdk-directives-input-mode.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-input-mode.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-item.umd.js +1 -1
- package/bundles/taiga-ui-cdk-directives-item.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-item.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-let.umd.js +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 +12 -12
- 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-obscured.umd.js +1 -1
- package/bundles/taiga-ui-cdk-directives-obscured.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-obscured.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-overscroll.umd.js +11 -11
- package/bundles/taiga-ui-cdk-directives-overscroll.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-overscroll.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-pan.umd.js +2 -2
- package/bundles/taiga-ui-cdk-directives-pan.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-pan.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-portal.umd.js +1 -1
- package/bundles/taiga-ui-cdk-directives-portal.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-portal.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-pressed.umd.js +1 -1
- package/bundles/taiga-ui-cdk-directives-pressed.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-pressed.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js +3 -3
- package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-prevent-default.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js +1 -1
- 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-resize.umd.js +2 -2
- package/bundles/taiga-ui-cdk-directives-resize.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-resize.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-swipe.umd.js +2 -2
- package/bundles/taiga-ui-cdk-directives-swipe.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-swipe.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-validator.umd.js +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 +3 -3
- package/bundles/taiga-ui-cdk-directives-zoom.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js.map +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-exceptions.umd.js +10 -10
- package/bundles/taiga-ui-cdk-exceptions.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-exceptions.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-observables.umd.js +7 -7
- package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-observables.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-pipes-filter.umd.js +1 -1
- package/bundles/taiga-ui-cdk-pipes-filter.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-pipes-filter.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-pipes-mapper.umd.js +1 -1
- package/bundles/taiga-ui-cdk-pipes-mapper.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-pipes-mapper.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-services.umd.js +27 -27
- 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 +31 -31
- package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-browser.umd.js +5 -5
- package/bundles/taiga-ui-cdk-utils-browser.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-browser.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-dom.umd.js +17 -11
- 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 +19 -19
- 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-format.umd.js +2 -2
- package/bundles/taiga-ui-cdk-utils-format.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-format.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-math.umd.js +4 -4
- package/bundles/taiga-ui-cdk-utils-math.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-math.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js +4 -4
- 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-utils-os.umd.js +1 -1
- package/bundles/taiga-ui-cdk-utils-os.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-os.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-svg.umd.js +1 -1
- package/bundles/taiga-ui-cdk-utils-svg.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-svg.umd.min.js.map +1 -1
- package/directives/active-zone/taiga-ui-cdk-directives-active-zone.metadata.json +1 -1
- package/esm2015/abstract/control.js +4 -4
- package/esm2015/abstract/interactive.js +8 -8
- package/esm2015/abstract/portal-host.js +2 -2
- package/esm2015/abstract/theme-switcher.js +2 -2
- package/esm2015/classes/assert.js +2 -2
- package/esm2015/coercion/coerce-boolean-property.js +2 -2
- package/esm2015/components/alert-host/alert-host.component.js +2 -2
- package/esm2015/components/dialog-host/dialog-host.component.js +5 -5
- package/esm2015/components/dropdown-host/dropdown-host.component.js +3 -3
- package/esm2015/components/portal-host/portal.service.js +2 -2
- package/esm2015/constants/parent-animation.js +5 -5
- package/esm2015/constants/svg-node-filter.js +2 -2
- package/esm2015/constants/unicode-chars.js +11 -11
- package/esm2015/date-time/date-fillers.js +3 -3
- package/esm2015/date-time/date-format.js +3 -3
- package/esm2015/date-time/date-separator.js +3 -3
- package/esm2015/date-time/day-range.js +7 -7
- package/esm2015/date-time/day.js +14 -14
- package/esm2015/date-time/month.js +2 -2
- package/esm2015/date-time/time.js +7 -7
- package/esm2015/date-time/year.js +2 -2
- package/esm2015/decorators/pure.js +2 -2
- package/esm2015/directives/active-zone/active-zone.directive.js +4 -4
- package/esm2015/directives/auto-focus/autofocus.directive.js +2 -2
- package/esm2015/directives/auto-focus/autofocus.options.js +2 -2
- package/esm2015/directives/auto-focus/handlers/abstract.handler.js +2 -2
- package/esm2015/directives/auto-focus/handlers/default.handler.js +2 -2
- package/esm2015/directives/auto-focus/handlers/ios.handler.js +12 -12
- package/esm2015/directives/autofilled/autofilled-style.component.js +2 -2
- package/esm2015/directives/autofilled/autofilled.directive.js +6 -6
- package/esm2015/directives/checked/checked.directive.js +7 -7
- package/esm2015/directives/copy-processor/copy-processor.directive.js +4 -4
- package/esm2015/directives/drag/drag.directive.js +5 -5
- package/esm2015/directives/droppable/droppable.directive.js +5 -5
- package/esm2015/directives/element/element.directive.js +3 -3
- package/esm2015/directives/focus-trap/focus-trap.directive.js +6 -6
- package/esm2015/directives/focus-visible/focus-visible.directive.js +3 -3
- package/esm2015/directives/focusable/focusable.directive.js +4 -4
- package/esm2015/directives/focused/focused.directive.js +3 -3
- package/esm2015/directives/for/for.directive.js +2 -2
- package/esm2015/directives/for-async/for-async.directive.js +2 -2
- package/esm2015/directives/high-dpi/high-dpi.directive.js +2 -2
- package/esm2015/directives/hovered/hovered.directive.js +5 -5
- package/esm2015/directives/input-mode/input-mode.directive.js +11 -11
- package/esm2015/directives/item/item.directive.js +2 -2
- package/esm2015/directives/let/let.directive.js +2 -2
- package/esm2015/directives/media/media.directive.js +13 -13
- package/esm2015/directives/obscured/obscured.directive.js +2 -2
- package/esm2015/directives/overscroll/overscroll.directive.js +12 -12
- package/esm2015/directives/pan/pan.directive.js +3 -3
- package/esm2015/directives/portal/portal.directive.js +2 -2
- package/esm2015/directives/pressed/pressed.directive.js +2 -2
- package/esm2015/directives/prevent-default/prevent-default.directive.js +4 -4
- package/esm2015/directives/repeat-times/repeat-times.directive.js +2 -2
- package/esm2015/directives/resize/resize.directive.js +3 -3
- package/esm2015/directives/swipe/swipe.directive.js +3 -3
- package/esm2015/directives/validator/validator.directive.js +2 -2
- package/esm2015/directives/zoom/zoom.directive.js +4 -4
- package/esm2015/enums/autocomplete.js +1 -1
- package/esm2015/enums/input-mode.js +1 -1
- package/esm2015/enums/input-type.js +1 -1
- package/esm2015/enums/overscroll-mode.js +1 -1
- package/esm2015/exceptions/computed-document.exception.js +2 -2
- package/esm2015/exceptions/document-selection.exception.js +2 -2
- package/esm2015/exceptions/no-host.exception.js +2 -2
- package/esm2015/exceptions/owner-document.exception.js +2 -2
- package/esm2015/exceptions/pure.exception.js +2 -2
- package/esm2015/exceptions/table-sort-key.exception.js +2 -2
- package/esm2015/exceptions/ts-parser.exception.js +2 -2
- package/esm2015/exceptions/value-changes.exception.js +2 -2
- package/esm2015/exceptions/value-present.exception.js +2 -2
- package/esm2015/exceptions/xml-parsing.exception.js +2 -2
- package/esm2015/observables/drag-and-drop-from.js +2 -2
- package/esm2015/observables/focus-visible-observable.js +5 -5
- package/esm2015/observables/mouse-drag-finish-from.js +2 -2
- package/esm2015/observables/pressed-observable.js +2 -2
- package/esm2015/pipes/filter/filter.pipe.js +2 -2
- package/esm2015/pipes/mapper/mapper.pipe.js +2 -2
- package/esm2015/services/directive-styles.service.js +5 -5
- package/esm2015/services/hovered.service.js +4 -4
- package/esm2015/services/id.service.js +3 -3
- package/esm2015/services/obscured.service.js +2 -2
- package/esm2015/services/pan.service.js +5 -5
- package/esm2015/services/parents-scroll.service.js +2 -2
- package/esm2015/services/scroll.service.js +5 -5
- package/esm2015/services/static-request.service.js +3 -3
- package/esm2015/services/swipe.service.js +2 -2
- package/esm2015/services/zoom.service.js +3 -3
- package/esm2015/tokens/active-element.js +9 -9
- package/esm2015/tokens/alerts.js +2 -2
- package/esm2015/tokens/default-renderer.js +2 -2
- package/esm2015/tokens/dialogs.js +2 -2
- package/esm2015/tokens/focusable-item-accessor.js +2 -2
- package/esm2015/tokens/is-android.js +2 -2
- package/esm2015/tokens/is-apple.js +2 -2
- package/esm2015/tokens/is-chromium.js +2 -2
- package/esm2015/tokens/is-cypress.js +2 -2
- package/esm2015/tokens/is-firefox.js +3 -3
- package/esm2015/tokens/is-ios.js +2 -2
- package/esm2015/tokens/is-mobile.js +2 -2
- package/esm2015/tokens/is-webkit.js +2 -2
- package/esm2015/tokens/removed-element.js +2 -2
- package/esm2015/tokens/sanitizer.js +2 -2
- package/esm2015/tokens/swipe-options.js +2 -2
- package/esm2015/tokens/take-only-trusted-events.js +2 -2
- package/esm2015/tokens/touch-supported.js +3 -3
- package/esm2015/tokens/window-height.js +3 -3
- package/esm2015/tokens/zoom-options.js +2 -2
- package/esm2015/utils/browser/is-edge-older-than.js +2 -2
- package/esm2015/utils/browser/is-edge.js +2 -2
- package/esm2015/utils/browser/is-firefox.js +2 -2
- package/esm2015/utils/browser/is-ie.js +2 -2
- package/esm2015/utils/browser/is-safari.js +2 -2
- package/esm2015/utils/dom/custom-event.js +3 -3
- package/esm2015/utils/dom/get-actual-target.js +2 -2
- package/esm2015/utils/dom/get-clipboard-data-text.js +4 -4
- package/esm2015/utils/dom/get-document-or-shadow-root.js +2 -2
- package/esm2015/utils/dom/get-element-offset.js +2 -2
- package/esm2015/utils/dom/index.js +2 -1
- package/esm2015/utils/dom/is-element.js +5 -0
- package/esm2015/utils/dom/is-form-field.js +4 -4
- package/esm2015/utils/focus/is-native-keyboard-focusable.js +14 -14
- package/esm2015/utils/focus/is-native-mouse-focusable.js +3 -3
- package/esm2015/utils/focus/set-native-mouse-focused.js +5 -5
- package/esm2015/utils/format/pad-start.js +2 -2
- package/esm2015/utils/format/px.js +2 -2
- package/esm2015/utils/math/round.js +5 -5
- package/esm2015/utils/miscellaneous/ease-in-out-quad.js +2 -2
- package/esm2015/utils/miscellaneous/get-swipe-direction.js +3 -3
- package/esm2015/utils/miscellaneous/is-number.js +2 -2
- package/esm2015/utils/os/is-apple-platform.js +2 -2
- package/esm2015/utils/svg/svg-linear-gradient-processor.js +2 -2
- package/esm5/abstract/control.js +4 -4
- package/esm5/abstract/interactive.js +8 -8
- package/esm5/abstract/portal-host.js +2 -2
- package/esm5/abstract/theme-switcher.js +2 -2
- package/esm5/classes/assert.js +2 -2
- package/esm5/coercion/coerce-boolean-property.js +2 -2
- package/esm5/components/alert-host/alert-host.component.js +2 -2
- package/esm5/components/dialog-host/dialog-host.component.js +5 -5
- package/esm5/components/dropdown-host/dropdown-host.component.js +3 -3
- package/esm5/components/portal-host/portal.service.js +2 -2
- package/esm5/constants/parent-animation.js +5 -5
- package/esm5/constants/svg-node-filter.js +2 -2
- package/esm5/constants/unicode-chars.js +11 -11
- package/esm5/date-time/date-fillers.js +3 -3
- package/esm5/date-time/date-format.js +3 -3
- package/esm5/date-time/date-separator.js +3 -3
- package/esm5/date-time/day-range.js +8 -8
- package/esm5/date-time/day.js +15 -15
- package/esm5/date-time/month.js +2 -2
- package/esm5/date-time/time.js +7 -7
- package/esm5/date-time/year.js +2 -2
- package/esm5/decorators/pure.js +2 -2
- package/esm5/directives/active-zone/active-zone.directive.js +4 -4
- package/esm5/directives/auto-focus/autofocus.directive.js +2 -2
- package/esm5/directives/auto-focus/autofocus.options.js +2 -2
- package/esm5/directives/auto-focus/handlers/abstract.handler.js +2 -2
- package/esm5/directives/auto-focus/handlers/default.handler.js +2 -2
- package/esm5/directives/auto-focus/handlers/ios.handler.js +12 -12
- package/esm5/directives/autofilled/autofilled-style.component.js +2 -2
- package/esm5/directives/autofilled/autofilled.directive.js +6 -6
- package/esm5/directives/checked/checked.directive.js +7 -7
- package/esm5/directives/copy-processor/copy-processor.directive.js +4 -4
- package/esm5/directives/drag/drag.directive.js +5 -5
- package/esm5/directives/droppable/droppable.directive.js +6 -6
- package/esm5/directives/element/element.directive.js +3 -3
- package/esm5/directives/focus-trap/focus-trap.directive.js +6 -6
- package/esm5/directives/focus-visible/focus-visible.directive.js +3 -3
- package/esm5/directives/focusable/focusable.directive.js +4 -4
- package/esm5/directives/focused/focused.directive.js +3 -3
- package/esm5/directives/for/for.directive.js +2 -2
- package/esm5/directives/for-async/for-async.directive.js +2 -2
- package/esm5/directives/high-dpi/high-dpi.directive.js +2 -2
- package/esm5/directives/hovered/hovered.directive.js +5 -5
- package/esm5/directives/input-mode/input-mode.directive.js +11 -11
- package/esm5/directives/item/item.directive.js +2 -2
- package/esm5/directives/let/let.directive.js +2 -2
- package/esm5/directives/media/media.directive.js +13 -13
- package/esm5/directives/obscured/obscured.directive.js +2 -2
- package/esm5/directives/overscroll/overscroll.directive.js +12 -12
- package/esm5/directives/pan/pan.directive.js +3 -3
- package/esm5/directives/portal/portal.directive.js +2 -2
- package/esm5/directives/pressed/pressed.directive.js +2 -2
- package/esm5/directives/prevent-default/prevent-default.directive.js +4 -4
- package/esm5/directives/repeat-times/repeat-times.directive.js +2 -2
- package/esm5/directives/resize/resize.directive.js +3 -3
- package/esm5/directives/swipe/swipe.directive.js +3 -3
- package/esm5/directives/validator/validator.directive.js +2 -2
- package/esm5/directives/zoom/zoom.directive.js +4 -4
- package/esm5/enums/autocomplete.js +1 -1
- package/esm5/enums/input-mode.js +1 -1
- package/esm5/enums/input-type.js +1 -1
- package/esm5/enums/overscroll-mode.js +1 -1
- package/esm5/exceptions/computed-document.exception.js +2 -2
- package/esm5/exceptions/document-selection.exception.js +2 -2
- package/esm5/exceptions/no-host.exception.js +2 -2
- package/esm5/exceptions/owner-document.exception.js +2 -2
- package/esm5/exceptions/pure.exception.js +2 -2
- package/esm5/exceptions/table-sort-key.exception.js +2 -2
- package/esm5/exceptions/ts-parser.exception.js +2 -2
- package/esm5/exceptions/value-changes.exception.js +2 -2
- package/esm5/exceptions/value-present.exception.js +2 -2
- package/esm5/exceptions/xml-parsing.exception.js +2 -2
- package/esm5/observables/drag-and-drop-from.js +2 -2
- package/esm5/observables/focus-visible-observable.js +5 -5
- package/esm5/observables/mouse-drag-finish-from.js +2 -2
- package/esm5/observables/pressed-observable.js +2 -2
- package/esm5/pipes/filter/filter.pipe.js +2 -2
- package/esm5/pipes/mapper/mapper.pipe.js +2 -2
- package/esm5/services/directive-styles.service.js +5 -5
- package/esm5/services/hovered.service.js +5 -5
- package/esm5/services/id.service.js +3 -3
- package/esm5/services/obscured.service.js +2 -2
- package/esm5/services/pan.service.js +5 -5
- package/esm5/services/parents-scroll.service.js +2 -2
- package/esm5/services/scroll.service.js +5 -5
- package/esm5/services/static-request.service.js +3 -3
- package/esm5/services/swipe.service.js +2 -2
- package/esm5/services/zoom.service.js +5 -5
- package/esm5/tokens/active-element.js +10 -10
- package/esm5/tokens/alerts.js +2 -2
- package/esm5/tokens/default-renderer.js +2 -2
- package/esm5/tokens/dialogs.js +2 -2
- package/esm5/tokens/focusable-item-accessor.js +2 -2
- package/esm5/tokens/is-android.js +2 -2
- package/esm5/tokens/is-apple.js +2 -2
- package/esm5/tokens/is-chromium.js +2 -2
- package/esm5/tokens/is-cypress.js +2 -2
- package/esm5/tokens/is-firefox.js +3 -3
- package/esm5/tokens/is-ios.js +2 -2
- package/esm5/tokens/is-mobile.js +2 -2
- package/esm5/tokens/is-webkit.js +2 -2
- package/esm5/tokens/removed-element.js +2 -2
- package/esm5/tokens/sanitizer.js +2 -2
- package/esm5/tokens/swipe-options.js +2 -2
- package/esm5/tokens/take-only-trusted-events.js +2 -2
- package/esm5/tokens/touch-supported.js +3 -3
- package/esm5/tokens/window-height.js +3 -3
- package/esm5/tokens/zoom-options.js +2 -2
- package/esm5/utils/browser/is-edge-older-than.js +2 -2
- package/esm5/utils/browser/is-edge.js +2 -2
- package/esm5/utils/browser/is-firefox.js +2 -2
- package/esm5/utils/browser/is-ie.js +2 -2
- package/esm5/utils/browser/is-safari.js +2 -2
- package/esm5/utils/dom/custom-event.js +3 -3
- package/esm5/utils/dom/get-actual-target.js +2 -2
- package/esm5/utils/dom/get-clipboard-data-text.js +4 -4
- package/esm5/utils/dom/get-document-or-shadow-root.js +2 -2
- package/esm5/utils/dom/get-element-offset.js +2 -2
- package/esm5/utils/dom/index.js +2 -1
- package/esm5/utils/dom/is-element.js +5 -0
- package/esm5/utils/dom/is-form-field.js +4 -4
- package/esm5/utils/focus/is-native-keyboard-focusable.js +14 -14
- package/esm5/utils/focus/is-native-mouse-focusable.js +3 -3
- package/esm5/utils/focus/set-native-mouse-focused.js +5 -5
- package/esm5/utils/format/pad-start.js +2 -2
- package/esm5/utils/format/px.js +2 -2
- package/esm5/utils/math/round.js +5 -5
- package/esm5/utils/miscellaneous/ease-in-out-quad.js +2 -2
- package/esm5/utils/miscellaneous/get-swipe-direction.js +3 -3
- package/esm5/utils/miscellaneous/is-number.js +2 -2
- package/esm5/utils/os/is-apple-platform.js +2 -2
- package/esm5/utils/svg/svg-linear-gradient-processor.js +2 -2
- package/fesm2015/taiga-ui-cdk-abstract.js +12 -12
- package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-classes.js +1 -1
- package/fesm2015/taiga-ui-cdk-classes.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-coercion.js +1 -1
- package/fesm2015/taiga-ui-cdk-coercion.js.map +1 -1
- 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-dialog-host.js +4 -4
- package/fesm2015/taiga-ui-cdk-components-dialog-host.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-components-dropdown-host.js +2 -2
- package/fesm2015/taiga-ui-cdk-components-dropdown-host.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-components-portal-host.js +1 -1
- package/fesm2015/taiga-ui-cdk-components-portal-host.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-constants.js +15 -15
- package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-date-time.js +33 -33
- package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-decorators.js +1 -1
- package/fesm2015/taiga-ui-cdk-decorators.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-active-zone.js +3 -3
- package/fesm2015/taiga-ui-cdk-directives-active-zone.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +15 -15
- package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-autofilled.js +6 -6
- package/fesm2015/taiga-ui-cdk-directives-autofilled.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-checked.js +6 -6
- package/fesm2015/taiga-ui-cdk-directives-checked.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-copy-processor.js +3 -3
- package/fesm2015/taiga-ui-cdk-directives-copy-processor.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-drag.js +4 -4
- package/fesm2015/taiga-ui-cdk-directives-drag.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-droppable.js +4 -4
- package/fesm2015/taiga-ui-cdk-directives-droppable.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-element.js +2 -2
- package/fesm2015/taiga-ui-cdk-directives-element.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-focus-trap.js +5 -5
- package/fesm2015/taiga-ui-cdk-directives-focus-trap.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-focus-visible.js +2 -2
- package/fesm2015/taiga-ui-cdk-directives-focus-visible.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-focusable.js +3 -3
- package/fesm2015/taiga-ui-cdk-directives-focusable.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-focused.js +2 -2
- package/fesm2015/taiga-ui-cdk-directives-focused.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-for-async.js +1 -1
- package/fesm2015/taiga-ui-cdk-directives-for-async.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-for.js +1 -1
- package/fesm2015/taiga-ui-cdk-directives-for.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-high-dpi.js +1 -1
- package/fesm2015/taiga-ui-cdk-directives-high-dpi.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-hovered.js +4 -4
- package/fesm2015/taiga-ui-cdk-directives-hovered.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-input-mode.js +10 -10
- package/fesm2015/taiga-ui-cdk-directives-input-mode.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-item.js +1 -1
- package/fesm2015/taiga-ui-cdk-directives-item.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-let.js +1 -1
- package/fesm2015/taiga-ui-cdk-directives-let.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-media.js +12 -12
- package/fesm2015/taiga-ui-cdk-directives-media.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-obscured.js +1 -1
- package/fesm2015/taiga-ui-cdk-directives-obscured.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-overscroll.js +11 -11
- package/fesm2015/taiga-ui-cdk-directives-overscroll.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-pan.js +2 -2
- package/fesm2015/taiga-ui-cdk-directives-pan.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-portal.js +1 -1
- package/fesm2015/taiga-ui-cdk-directives-portal.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-pressed.js +1 -1
- package/fesm2015/taiga-ui-cdk-directives-pressed.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-prevent-default.js +3 -3
- package/fesm2015/taiga-ui-cdk-directives-prevent-default.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-repeat-times.js +1 -1
- package/fesm2015/taiga-ui-cdk-directives-repeat-times.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-resize.js +2 -2
- package/fesm2015/taiga-ui-cdk-directives-resize.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-swipe.js +2 -2
- package/fesm2015/taiga-ui-cdk-directives-swipe.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-validator.js +1 -1
- package/fesm2015/taiga-ui-cdk-directives-validator.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-zoom.js +3 -3
- package/fesm2015/taiga-ui-cdk-directives-zoom.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-enums.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-exceptions.js +10 -10
- package/fesm2015/taiga-ui-cdk-exceptions.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-observables.js +7 -7
- package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-pipes-filter.js +1 -1
- package/fesm2015/taiga-ui-cdk-pipes-filter.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-pipes-mapper.js +1 -1
- package/fesm2015/taiga-ui-cdk-pipes-mapper.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-services.js +24 -24
- package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-tokens.js +30 -30
- package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-browser.js +5 -5
- package/fesm2015/taiga-ui-cdk-utils-browser.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-dom.js +17 -12
- package/fesm2015/taiga-ui-cdk-utils-dom.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-focus.js +19 -19
- package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-format.js +2 -2
- package/fesm2015/taiga-ui-cdk-utils-format.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-math.js +4 -4
- package/fesm2015/taiga-ui-cdk-utils-math.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js +4 -4
- package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-os.js +1 -1
- package/fesm2015/taiga-ui-cdk-utils-os.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-svg.js +1 -1
- package/fesm2015/taiga-ui-cdk-utils-svg.js.map +1 -1
- package/fesm5/taiga-ui-cdk-abstract.js +12 -12
- package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm5/taiga-ui-cdk-classes.js +1 -1
- package/fesm5/taiga-ui-cdk-classes.js.map +1 -1
- package/fesm5/taiga-ui-cdk-coercion.js +1 -1
- package/fesm5/taiga-ui-cdk-coercion.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-dialog-host.js +4 -4
- package/fesm5/taiga-ui-cdk-components-dialog-host.js.map +1 -1
- package/fesm5/taiga-ui-cdk-components-dropdown-host.js +2 -2
- package/fesm5/taiga-ui-cdk-components-dropdown-host.js.map +1 -1
- package/fesm5/taiga-ui-cdk-components-portal-host.js +1 -1
- package/fesm5/taiga-ui-cdk-components-portal-host.js.map +1 -1
- package/fesm5/taiga-ui-cdk-constants.js +15 -15
- package/fesm5/taiga-ui-cdk-constants.js.map +1 -1
- package/fesm5/taiga-ui-cdk-date-time.js +35 -35
- package/fesm5/taiga-ui-cdk-date-time.js.map +1 -1
- package/fesm5/taiga-ui-cdk-decorators.js +1 -1
- package/fesm5/taiga-ui-cdk-decorators.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-active-zone.js +3 -3
- package/fesm5/taiga-ui-cdk-directives-active-zone.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-auto-focus.js +15 -15
- package/fesm5/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-autofilled.js +6 -6
- package/fesm5/taiga-ui-cdk-directives-autofilled.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-checked.js +6 -6
- package/fesm5/taiga-ui-cdk-directives-checked.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-copy-processor.js +3 -3
- package/fesm5/taiga-ui-cdk-directives-copy-processor.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-drag.js +4 -4
- package/fesm5/taiga-ui-cdk-directives-drag.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-droppable.js +5 -5
- package/fesm5/taiga-ui-cdk-directives-droppable.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-element.js +2 -2
- package/fesm5/taiga-ui-cdk-directives-element.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-focus-trap.js +5 -5
- package/fesm5/taiga-ui-cdk-directives-focus-trap.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-focus-visible.js +2 -2
- package/fesm5/taiga-ui-cdk-directives-focus-visible.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-focusable.js +3 -3
- package/fesm5/taiga-ui-cdk-directives-focusable.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-focused.js +2 -2
- package/fesm5/taiga-ui-cdk-directives-focused.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-for-async.js +1 -1
- package/fesm5/taiga-ui-cdk-directives-for-async.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-for.js +1 -1
- package/fesm5/taiga-ui-cdk-directives-for.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-high-dpi.js +1 -1
- package/fesm5/taiga-ui-cdk-directives-high-dpi.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-hovered.js +4 -4
- package/fesm5/taiga-ui-cdk-directives-hovered.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-input-mode.js +10 -10
- package/fesm5/taiga-ui-cdk-directives-input-mode.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-item.js +1 -1
- package/fesm5/taiga-ui-cdk-directives-item.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-let.js +1 -1
- package/fesm5/taiga-ui-cdk-directives-let.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-media.js +12 -12
- package/fesm5/taiga-ui-cdk-directives-media.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-obscured.js +1 -1
- package/fesm5/taiga-ui-cdk-directives-obscured.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-overscroll.js +11 -11
- package/fesm5/taiga-ui-cdk-directives-overscroll.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-pan.js +2 -2
- package/fesm5/taiga-ui-cdk-directives-pan.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-portal.js +1 -1
- package/fesm5/taiga-ui-cdk-directives-portal.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-pressed.js +1 -1
- package/fesm5/taiga-ui-cdk-directives-pressed.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-prevent-default.js +3 -3
- package/fesm5/taiga-ui-cdk-directives-prevent-default.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-repeat-times.js +1 -1
- package/fesm5/taiga-ui-cdk-directives-repeat-times.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-resize.js +2 -2
- package/fesm5/taiga-ui-cdk-directives-resize.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-swipe.js +2 -2
- package/fesm5/taiga-ui-cdk-directives-swipe.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-validator.js +1 -1
- package/fesm5/taiga-ui-cdk-directives-validator.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-zoom.js +3 -3
- package/fesm5/taiga-ui-cdk-directives-zoom.js.map +1 -1
- package/fesm5/taiga-ui-cdk-enums.js.map +1 -1
- package/fesm5/taiga-ui-cdk-exceptions.js +10 -10
- package/fesm5/taiga-ui-cdk-exceptions.js.map +1 -1
- package/fesm5/taiga-ui-cdk-observables.js +7 -7
- package/fesm5/taiga-ui-cdk-observables.js.map +1 -1
- package/fesm5/taiga-ui-cdk-pipes-filter.js +1 -1
- package/fesm5/taiga-ui-cdk-pipes-filter.js.map +1 -1
- package/fesm5/taiga-ui-cdk-pipes-mapper.js +1 -1
- package/fesm5/taiga-ui-cdk-pipes-mapper.js.map +1 -1
- package/fesm5/taiga-ui-cdk-services.js +27 -27
- package/fesm5/taiga-ui-cdk-services.js.map +1 -1
- package/fesm5/taiga-ui-cdk-tokens.js +31 -31
- package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-browser.js +5 -5
- package/fesm5/taiga-ui-cdk-utils-browser.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-dom.js +17 -12
- package/fesm5/taiga-ui-cdk-utils-dom.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-focus.js +19 -19
- package/fesm5/taiga-ui-cdk-utils-focus.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-format.js +2 -2
- package/fesm5/taiga-ui-cdk-utils-format.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-math.js +4 -4
- package/fesm5/taiga-ui-cdk-utils-math.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-miscellaneous.js +4 -4
- package/fesm5/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-os.js +1 -1
- package/fesm5/taiga-ui-cdk-utils-os.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-svg.js +1 -1
- package/fesm5/taiga-ui-cdk-utils-svg.js.map +1 -1
- package/package.json +1 -1
- package/utils/dom/index.d.ts +1 -0
- package/utils/dom/is-element.d.ts +1 -0
- package/utils/dom/taiga-ui-cdk-utils-dom.metadata.json +1 -1
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
5
5
|
function isEdge(userAgent) {
|
|
6
|
-
return userAgent.toLowerCase().includes(
|
|
6
|
+
return userAgent.toLowerCase().includes(`edge`);
|
|
7
7
|
}
|
|
8
8
|
const tuiIsEdge = isEdge;
|
|
9
9
|
|
|
10
|
-
const EDGE =
|
|
10
|
+
const EDGE = `edge/`;
|
|
11
11
|
/**
|
|
12
12
|
* @deprecated: use {@link tuiIsEdgeOlderThan} instead
|
|
13
13
|
*/
|
|
@@ -23,7 +23,7 @@ const tuiIsEdgeOlderThan = isEdgeOlderThan;
|
|
|
23
23
|
*/
|
|
24
24
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
25
25
|
function isFirefox(userAgent) {
|
|
26
|
-
return userAgent.toLowerCase().includes(
|
|
26
|
+
return userAgent.toLowerCase().includes(`firefox`);
|
|
27
27
|
}
|
|
28
28
|
const tuiIsFirefox = isFirefox;
|
|
29
29
|
|
|
@@ -32,7 +32,7 @@ const tuiIsFirefox = isFirefox;
|
|
|
32
32
|
*/
|
|
33
33
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
34
34
|
function isIE(userAgent) {
|
|
35
|
-
return userAgent.toLowerCase().includes(
|
|
35
|
+
return userAgent.toLowerCase().includes(`trident`);
|
|
36
36
|
}
|
|
37
37
|
const tuiIsIE = isIE;
|
|
38
38
|
|
|
@@ -43,7 +43,7 @@ const tuiIsIE = isIE;
|
|
|
43
43
|
function isSafari(element) {
|
|
44
44
|
const documentRef = element.ownerDocument;
|
|
45
45
|
const windowRef = documentRef === null || documentRef === void 0 ? void 0 : documentRef.defaultView;
|
|
46
|
-
return !!windowRef &&
|
|
46
|
+
return !!windowRef && `safari` in windowRef;
|
|
47
47
|
}
|
|
48
48
|
const tuiIsSafari = isSafari;
|
|
49
49
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-browser.js","sources":["ng://@taiga-ui/cdk/utils/browser/is-edge.ts","ng://@taiga-ui/cdk/utils/browser/is-edge-older-than.ts","ng://@taiga-ui/cdk/utils/browser/is-firefox.ts","ng://@taiga-ui/cdk/utils/browser/is-ie.ts","ng://@taiga-ui/cdk/utils/browser/is-safari.ts","ng://@taiga-ui/cdk/utils/browser/taiga-ui-cdk-utils-browser.ts"],"sourcesContent":["/**\n * @deprecated: use {@link tuiIsEdge} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isEdge(userAgent: string): boolean {\n return userAgent.toLowerCase().includes(
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-utils-browser.js","sources":["ng://@taiga-ui/cdk/utils/browser/is-edge.ts","ng://@taiga-ui/cdk/utils/browser/is-edge-older-than.ts","ng://@taiga-ui/cdk/utils/browser/is-firefox.ts","ng://@taiga-ui/cdk/utils/browser/is-ie.ts","ng://@taiga-ui/cdk/utils/browser/is-safari.ts","ng://@taiga-ui/cdk/utils/browser/taiga-ui-cdk-utils-browser.ts"],"sourcesContent":["/**\n * @deprecated: use {@link tuiIsEdge} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isEdge(userAgent: string): boolean {\n return userAgent.toLowerCase().includes(`edge`);\n}\n\nexport const tuiIsEdge = isEdge;\n","const EDGE = `edge/`;\n\n/**\n * @deprecated: use {@link tuiIsEdgeOlderThan} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isEdgeOlderThan(version: number, userAgent: string): boolean {\n const currentVersion = parseInt(\n userAgent.slice(userAgent.toLowerCase().indexOf(EDGE) + EDGE.length),\n 10,\n );\n\n return currentVersion < version;\n}\n\nexport const tuiIsEdgeOlderThan = isEdgeOlderThan;\n","/**\n * @deprecated: use {@link tuiIsFirefox} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isFirefox(userAgent: string): boolean {\n return userAgent.toLowerCase().includes(`firefox`);\n}\n\nexport const tuiIsFirefox = isFirefox;\n","/**\n * @deprecated: use {@link tuiIsIE} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isIE(userAgent: string): boolean {\n return userAgent.toLowerCase().includes(`trident`);\n}\n\nexport const tuiIsIE = isIE;\n","/**\n * @deprecated: use {@link tuiIsSafari} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isSafari(element: Element): boolean {\n const documentRef = element.ownerDocument;\n const windowRef = documentRef?.defaultView;\n\n return !!windowRef && `safari` in windowRef;\n}\n\nexport const tuiIsSafari = isSafari;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;;AAGA;SACgB,MAAM,CAAC,SAAiB;IACpC,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;MAEY,SAAS,GAAG;;ACRzB,MAAM,IAAI,GAAG,OAAO,CAAC;AAErB;;;AAGA;SACgB,eAAe,CAAC,OAAe,EAAE,SAAiB;IAC9D,MAAM,cAAc,GAAG,QAAQ,CAC3B,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EACpE,EAAE,CACL,CAAC;IAEF,OAAO,cAAc,GAAG,OAAO,CAAC;AACpC,CAAC;MAEY,kBAAkB,GAAG;;ACflC;;;AAGA;SACgB,SAAS,CAAC,SAAiB;IACvC,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACvD,CAAC;MAEY,YAAY,GAAG;;ACR5B;;;AAGA;SACgB,IAAI,CAAC,SAAiB;IAClC,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACvD,CAAC;MAEY,OAAO,GAAG;;ACRvB;;;AAGA;SACgB,QAAQ,CAAC,OAAgB;IACrC,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAC1C,MAAM,SAAS,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAC;IAE3C,OAAO,CAAC,CAAC,SAAS,IAAI,QAAQ,IAAI,SAAS,CAAC;AAChD,CAAC;MAEY,WAAW,GAAG;;ACX3B;;;;;;"}
|
|
@@ -61,10 +61,10 @@ const tuiContainsOrAfter = containsOrAfter;
|
|
|
61
61
|
|
|
62
62
|
/** @deprecated only needed for IE, remove in 3.0 */
|
|
63
63
|
function tuiCustomEvent(name, { bubbles = false, cancelable = false, detail = null } = {}, documentRef) {
|
|
64
|
-
if (typeof CustomEvent ===
|
|
64
|
+
if (typeof CustomEvent === `function`) {
|
|
65
65
|
return new CustomEvent(name, { bubbles, cancelable, detail });
|
|
66
66
|
}
|
|
67
|
-
const customEvent = documentRef.createEvent(
|
|
67
|
+
const customEvent = documentRef.createEvent(`CustomEvent`);
|
|
68
68
|
customEvent.initCustomEvent(name, bubbles, cancelable, detail);
|
|
69
69
|
return customEvent;
|
|
70
70
|
}
|
|
@@ -75,24 +75,24 @@ function tuiCustomEvent(name, { bubbles = false, cancelable = false, detail = nu
|
|
|
75
75
|
*/
|
|
76
76
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
77
77
|
function getActualTarget(event) {
|
|
78
|
-
if (
|
|
78
|
+
if (`composedPath` in event) {
|
|
79
79
|
return event.composedPath()[0];
|
|
80
80
|
}
|
|
81
81
|
return event.target;
|
|
82
82
|
}
|
|
83
83
|
const tuiGetActualTarget = getActualTarget;
|
|
84
84
|
|
|
85
|
-
const DEFAULT_FORMAT =
|
|
85
|
+
const DEFAULT_FORMAT = `text/plain`;
|
|
86
86
|
/**
|
|
87
87
|
* @deprecated: use {@link tuiGetClipboardDataText} instead
|
|
88
88
|
* Gets text from data of clipboardEvent, it also works in IE and Edge browsers
|
|
89
89
|
*/
|
|
90
90
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
91
91
|
function getClipboardDataText(event, format = DEFAULT_FORMAT) {
|
|
92
|
-
return
|
|
92
|
+
return `clipboardData` in event && event.clipboardData !== null
|
|
93
93
|
? event.clipboardData.getData(format) ||
|
|
94
94
|
event.clipboardData.getData(DEFAULT_FORMAT)
|
|
95
|
-
: event.target.ownerDocument.defaultView.clipboardData.getData(
|
|
95
|
+
: event.target.ownerDocument.defaultView.clipboardData.getData(`text`);
|
|
96
96
|
}
|
|
97
97
|
const tuiGetClipboardDataText = getClipboardDataText;
|
|
98
98
|
|
|
@@ -121,7 +121,7 @@ function getClosestElement(element, selector) {
|
|
|
121
121
|
*/
|
|
122
122
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
123
123
|
function getDocumentOrShadowRoot(node) {
|
|
124
|
-
return
|
|
124
|
+
return `getRootNode` in node && node.isConnected
|
|
125
125
|
? node.getRootNode()
|
|
126
126
|
: node.ownerDocument;
|
|
127
127
|
}
|
|
@@ -173,7 +173,7 @@ const tuiGetElementObscures = getElementObscurers;
|
|
|
173
173
|
*/
|
|
174
174
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
175
175
|
function getElementOffset(host, element) {
|
|
176
|
-
tuiAssert.assert(host.contains(element),
|
|
176
|
+
tuiAssert.assert(host.contains(element), `Host must contain element`);
|
|
177
177
|
let { offsetTop, offsetLeft, offsetParent } = element;
|
|
178
178
|
// TODO: iframe warning
|
|
179
179
|
while (offsetParent && offsetParent instanceof HTMLElement && offsetParent !== host) {
|
|
@@ -210,9 +210,9 @@ const tuiGetScrollParent = getScrollParent;
|
|
|
210
210
|
function tuiIsFormFieldElement(element) {
|
|
211
211
|
const textfield = element;
|
|
212
212
|
return (!!textfield &&
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
213
|
+
`value` in textfield &&
|
|
214
|
+
`selectionStart` in textfield &&
|
|
215
|
+
`selectionEnd` in textfield);
|
|
216
216
|
}
|
|
217
217
|
|
|
218
218
|
/**
|
|
@@ -239,6 +239,11 @@ function isCurrentTarget({ target, currentTarget }) {
|
|
|
239
239
|
}
|
|
240
240
|
const tuiIsCurrentTarget = isCurrentTarget;
|
|
241
241
|
|
|
242
|
+
// TODO: Refactor to use this check everywhere
|
|
243
|
+
function tuiIsElement(node) {
|
|
244
|
+
return node.nodeType === Node.ELEMENT_NODE;
|
|
245
|
+
}
|
|
246
|
+
|
|
242
247
|
/**
|
|
243
248
|
* @deprecated: use {@link tuiIsInsideIframe} instead
|
|
244
249
|
* Checks if an app is running inside <iframe /> tag
|
|
@@ -281,5 +286,5 @@ function tuiPointToClientRect(x = 0, y = 0) {
|
|
|
281
286
|
* Generated bundle index. Do not edit.
|
|
282
287
|
*/
|
|
283
288
|
|
|
284
|
-
export { canScroll, containsOrAfter, getActualTarget, getClipboardDataText, getClosestElement, getDocumentOrShadowRoot, getElementObscurers, getElementOffset, getScrollParent, isCurrentTarget, isInsideIframe, isNodeIn, tuiCanScroll, tuiContainsOrAfter, tuiCustomEvent, tuiGetActualTarget, tuiGetClipboardDataText, tuiGetDocumentOrShadowRoot, tuiGetElementObscures, tuiGetElementOffset, tuiGetScrollParent, tuiGetSelectedText, tuiIsCurrentTarget, tuiIsFormFieldElement, tuiIsInsideIframe, tuiIsNodeIn, tuiPointToClientRect };
|
|
289
|
+
export { canScroll, containsOrAfter, getActualTarget, getClipboardDataText, getClosestElement, getDocumentOrShadowRoot, getElementObscurers, getElementOffset, getScrollParent, isCurrentTarget, isInsideIframe, isNodeIn, tuiCanScroll, tuiContainsOrAfter, tuiCustomEvent, tuiGetActualTarget, tuiGetClipboardDataText, tuiGetDocumentOrShadowRoot, tuiGetElementObscures, tuiGetElementOffset, tuiGetScrollParent, tuiGetSelectedText, tuiIsCurrentTarget, tuiIsElement, tuiIsFormFieldElement, tuiIsInsideIframe, tuiIsNodeIn, tuiPointToClientRect };
|
|
285
290
|
//# sourceMappingURL=taiga-ui-cdk-utils-dom.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-dom.js","sources":["ng://@taiga-ui/cdk/utils/dom/can-scroll.ts","ng://@taiga-ui/cdk/utils/dom/contains-or-after.ts","ng://@taiga-ui/cdk/utils/dom/custom-event.ts","ng://@taiga-ui/cdk/utils/dom/get-actual-target.ts","ng://@taiga-ui/cdk/utils/dom/get-clipboard-data-text.ts","ng://@taiga-ui/cdk/utils/dom/get-closest-element.ts","ng://@taiga-ui/cdk/utils/dom/get-document-or-shadow-root.ts","ng://@taiga-ui/cdk/utils/dom/get-element-obscurers.ts","ng://@taiga-ui/cdk/utils/dom/get-element-offset.ts","ng://@taiga-ui/cdk/utils/dom/get-scroll-parent.ts","ng://@taiga-ui/cdk/utils/dom/is-form-field.ts","ng://@taiga-ui/cdk/utils/dom/get-selected-text.ts","ng://@taiga-ui/cdk/utils/dom/is-current-target.ts","ng://@taiga-ui/cdk/utils/dom/is-inside-iframe.ts","ng://@taiga-ui/cdk/utils/dom/is-node-in.ts","ng://@taiga-ui/cdk/utils/dom/point-to-client-rect.ts","ng://@taiga-ui/cdk/utils/dom/taiga-ui-cdk-utils-dom.ts"],"sourcesContent":["/**\n * @deprecated: use {@link tuiCanScroll} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function canScroll(\n element: Element,\n rootElement: Element,\n vertical: boolean,\n scrollEnd: boolean,\n): boolean {\n return vertical\n ? canScrollVertical(element, rootElement, scrollEnd)\n : canScrollHorizontal(element, rootElement, scrollEnd);\n}\n\nexport const tuiCanScroll = canScroll;\n\nfunction canScrollVertical(\n element: Element,\n rootElement: Element,\n scrollEnd: boolean,\n): boolean {\n let currentElement = element;\n\n while (currentElement !== rootElement.parentElement) {\n if (\n (Math.floor(currentElement.scrollTop) > 0 && !scrollEnd) ||\n (Math.ceil(currentElement.scrollTop + currentElement.clientHeight) <\n currentElement.scrollHeight &&\n scrollEnd)\n ) {\n return true;\n }\n\n if (currentElement.parentElement) {\n currentElement = currentElement.parentElement;\n } else {\n return false;\n }\n }\n\n return false;\n}\n\nfunction canScrollHorizontal(\n element: Element,\n rootElement: Element,\n scrollEnd: boolean,\n): boolean {\n let currentElement = element;\n\n while (currentElement !== rootElement.parentElement) {\n if (\n (Math.floor(currentElement.scrollLeft) > 0 && !scrollEnd) ||\n (Math.ceil(currentElement.scrollLeft + currentElement.clientWidth) <\n currentElement.scrollWidth &&\n scrollEnd)\n ) {\n return true;\n }\n\n if (currentElement.parentElement) {\n currentElement = currentElement.parentElement;\n } else {\n return false;\n }\n }\n\n return false;\n}\n","/**\n * @deprecated: use {@link tuiContainsOrAfter} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function containsOrAfter(current: Node, node: Node): boolean {\n return (\n current.contains(node) ||\n !!(node.compareDocumentPosition(current) & Node.DOCUMENT_POSITION_PRECEDING)\n );\n}\n\nexport const tuiContainsOrAfter = containsOrAfter;\n","/** @deprecated only needed for IE, remove in 3.0 */\nexport function tuiCustomEvent<T = null>(\n name: string,\n {bubbles = false, cancelable = false, detail = null}: CustomEventInit<T | null> = {},\n documentRef: Document,\n): CustomEvent {\n if (typeof CustomEvent === 'function') {\n return new CustomEvent(name, {bubbles, cancelable, detail});\n }\n\n const customEvent = documentRef.createEvent('CustomEvent');\n\n customEvent.initCustomEvent(name, bubbles, cancelable, detail);\n\n return customEvent;\n}\n","/**\n * @deprecated: use {@link tuiGetActualTarget} instead\n * Gets actual target from open Shadow DOM if event happened within it\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getActualTarget(event: Event): Node {\n if ('composedPath' in event) {\n return (event as any).composedPath()[0];\n }\n\n return (event as any).target;\n}\n\nexport const tuiGetActualTarget = getActualTarget;\n","const DEFAULT_FORMAT = 'text/plain';\n\n/**\n * @deprecated: use {@link tuiGetClipboardDataText} instead\n * Gets text from data of clipboardEvent, it also works in IE and Edge browsers\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getClipboardDataText(\n event: ClipboardEvent,\n format: string = DEFAULT_FORMAT,\n): string {\n return 'clipboardData' in event && event.clipboardData !== null\n ? event.clipboardData.getData(format) ||\n event.clipboardData.getData(DEFAULT_FORMAT)\n : (event as any).target.ownerDocument.defaultView.clipboardData.getData('text');\n}\n\nexport const tuiGetClipboardDataText = getClipboardDataText;\n","/**\n * @deprecated only needed for IE, remove in 3.0\n * Gets the closest element by selector i.e. {@link Element.closest}\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getClosestElement(element: Element, selector: string): Element | null {\n const closest = Element.prototype.closest;\n\n if (closest) {\n return closest.call(element, selector);\n }\n\n const matchesSelector =\n Element.prototype.matches || (Element.prototype as any).msMatchesSelector;\n\n do {\n if (matchesSelector.call(element, selector)) {\n return element;\n }\n\n (element as Element | null) = element.parentElement;\n } while (element !== null);\n\n return null;\n}\n","/**\n * @deprecated: use {@link tuiGetDocumentOrShadowRoot} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getDocumentOrShadowRoot(node: Node): DocumentOrShadowRoot {\n return 'getRootNode' in node && node.isConnected\n ? (node.getRootNode() as Document)\n : node.ownerDocument!;\n}\n\nexport const tuiGetDocumentOrShadowRoot = getDocumentOrShadowRoot;\n","import {clamp} from '@taiga-ui/cdk/utils/math';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {getDocumentOrShadowRoot} from './get-document-or-shadow-root';\n\n/**\n * @deprecated: use {@link tuiGetElementObscures} instead\n * Returns array of Elements covering edges of given element or null if at least one edge middle point is visible\n *\n * CAUTION: Empty array means element if offscreen i.e. covered by no elements, rather than not covered\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getElementObscurers(element: Element): readonly Element[] | null {\n const {ownerDocument} = element;\n\n if (!ownerDocument || !ownerDocument.defaultView) {\n return null;\n }\n\n const {innerWidth, innerHeight} = ownerDocument.defaultView;\n const documentRef = getDocumentOrShadowRoot(element);\n const rect = element.getBoundingClientRect();\n const left = clamp(Math.round(rect.left) + 2, 0, innerWidth);\n const top = clamp(Math.round(rect.top) + 2, 0, innerHeight);\n const right = clamp(Math.round(rect.right) - 2, 0, innerWidth);\n const bottom = clamp(Math.round(rect.bottom) - 2, 0, innerHeight);\n const horizontalMiddle = clamp(Math.round(rect.left + rect.width / 2), 0, innerWidth);\n const verticalMiddle = clamp(Math.round(rect.top + rect.height / 2), 0, innerHeight);\n const elements = [\n documentRef.elementFromPoint(horizontalMiddle, top),\n documentRef.elementFromPoint(horizontalMiddle, bottom),\n documentRef.elementFromPoint(left, verticalMiddle),\n documentRef.elementFromPoint(right, verticalMiddle),\n ];\n const nonNull = elements.filter(isPresent);\n\n if (!nonNull.length) {\n return nonNull;\n }\n\n const filtered = nonNull.filter(el => !element.contains(el));\n\n return filtered.length === 4 ? filtered : null;\n}\n\nexport const tuiGetElementObscures = getElementObscurers;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiGetElementOffset} instead\n * Calculates offset for an element relative to it's parent several levels above\n *\n * @param host parent element\n * @param element\n * @return object with offsetTop and offsetLeft number properties\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getElementOffset(\n host: Element,\n element: HTMLElement,\n): {offsetTop: number; offsetLeft: number} {\n tuiAssert.assert(host.contains(element), 'Host must contain element');\n\n let {offsetTop, offsetLeft, offsetParent} = element;\n\n // TODO: iframe warning\n while (offsetParent && offsetParent instanceof HTMLElement && offsetParent !== host) {\n offsetTop += offsetParent.offsetTop;\n offsetLeft += offsetParent.offsetLeft;\n offsetParent = offsetParent.offsetParent;\n }\n\n return {offsetTop, offsetLeft};\n}\n\nexport const tuiGetElementOffset = getElementOffset;\n","/**\n * @deprecated: use {@link tuiGetScrollParent} instead\n * Finds the nearest parent with scroll in it\n *\n * @param element initial element\n * @param vertical flag for orientation of scroll\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getScrollParent(\n element: Element | null,\n vertical: boolean = true,\n): Element | null {\n if (element === null) {\n return null;\n }\n\n if (vertical && element.scrollHeight > element.clientHeight) {\n return element;\n }\n\n if (!vertical && element.scrollWidth > element.clientWidth) {\n return element;\n }\n\n return getScrollParent(element.parentElement, vertical);\n}\n\nexport const tuiGetScrollParent = getScrollParent;\n","export function tuiIsFormFieldElement(\n element: unknown | null,\n): element is HTMLInputElement | HTMLTextAreaElement {\n const textfield = element as Record<string, unknown> | null;\n\n return (\n !!textfield &&\n 'value' in textfield &&\n 'selectionStart' in textfield &&\n 'selectionEnd' in textfield\n );\n}\n","import {tuiIsFormFieldElement} from './is-form-field';\n\n/**\n * @description:\n * cross browser way to get selected text\n *\n * History:\n * BUG - window.getSelection() fails when text selected in a form field\n * https://bugzilla.mozilla.org/show_bug.cgi?id=85686\n */\nexport function tuiGetSelectedText({getSelection, document}: Window): string | null {\n return tuiIsFormFieldElement(document.activeElement)\n ? document.activeElement.value.slice(\n document.activeElement.selectionStart || 0,\n document.activeElement.selectionEnd || 0,\n )\n : getSelection()?.toString() || null;\n}\n","/**\n * @deprecated: use {@link tuiIsCurrentTarget} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isCurrentTarget({target, currentTarget}: Event): boolean {\n return target === currentTarget;\n}\n\nexport const tuiIsCurrentTarget = isCurrentTarget;\n","/**\n * @deprecated: use {@link tuiIsInsideIframe} instead\n * Checks if an app is running inside <iframe /> tag\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isInsideIframe(windowRef: Window): boolean {\n return windowRef.parent !== windowRef;\n}\n\nexport const tuiIsInsideIframe = isInsideIframe;\n","import {getClosestElement} from './get-closest-element';\n\n/**\n * @deprecated: use {@link tuiIsNodeIn} instead\n * Checks if node is inside a specific selector\n *\n * @param node\n * @param selector\n * @return true if node is inside a particular selector\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isNodeIn(node: Node, selector: string): boolean {\n return node.nodeType === Node.TEXT_NODE\n ? !!node.parentElement && !!getClosestElement(node.parentElement, selector)\n : node.nodeType === Node.ELEMENT_NODE &&\n !!getClosestElement(node as Element, selector);\n}\n\nexport const tuiIsNodeIn = isNodeIn;\n","export function tuiPointToClientRect(x: number = 0, y: number = 0): ClientRect {\n return {\n left: x,\n right: x,\n top: y,\n bottom: y,\n width: 0,\n height: 0,\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-dom.js","sources":["ng://@taiga-ui/cdk/utils/dom/can-scroll.ts","ng://@taiga-ui/cdk/utils/dom/contains-or-after.ts","ng://@taiga-ui/cdk/utils/dom/custom-event.ts","ng://@taiga-ui/cdk/utils/dom/get-actual-target.ts","ng://@taiga-ui/cdk/utils/dom/get-clipboard-data-text.ts","ng://@taiga-ui/cdk/utils/dom/get-closest-element.ts","ng://@taiga-ui/cdk/utils/dom/get-document-or-shadow-root.ts","ng://@taiga-ui/cdk/utils/dom/get-element-obscurers.ts","ng://@taiga-ui/cdk/utils/dom/get-element-offset.ts","ng://@taiga-ui/cdk/utils/dom/get-scroll-parent.ts","ng://@taiga-ui/cdk/utils/dom/is-form-field.ts","ng://@taiga-ui/cdk/utils/dom/get-selected-text.ts","ng://@taiga-ui/cdk/utils/dom/is-current-target.ts","ng://@taiga-ui/cdk/utils/dom/is-element.ts","ng://@taiga-ui/cdk/utils/dom/is-inside-iframe.ts","ng://@taiga-ui/cdk/utils/dom/is-node-in.ts","ng://@taiga-ui/cdk/utils/dom/point-to-client-rect.ts","ng://@taiga-ui/cdk/utils/dom/taiga-ui-cdk-utils-dom.ts"],"sourcesContent":["/**\n * @deprecated: use {@link tuiCanScroll} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function canScroll(\n element: Element,\n rootElement: Element,\n vertical: boolean,\n scrollEnd: boolean,\n): boolean {\n return vertical\n ? canScrollVertical(element, rootElement, scrollEnd)\n : canScrollHorizontal(element, rootElement, scrollEnd);\n}\n\nexport const tuiCanScroll = canScroll;\n\nfunction canScrollVertical(\n element: Element,\n rootElement: Element,\n scrollEnd: boolean,\n): boolean {\n let currentElement = element;\n\n while (currentElement !== rootElement.parentElement) {\n if (\n (Math.floor(currentElement.scrollTop) > 0 && !scrollEnd) ||\n (Math.ceil(currentElement.scrollTop + currentElement.clientHeight) <\n currentElement.scrollHeight &&\n scrollEnd)\n ) {\n return true;\n }\n\n if (currentElement.parentElement) {\n currentElement = currentElement.parentElement;\n } else {\n return false;\n }\n }\n\n return false;\n}\n\nfunction canScrollHorizontal(\n element: Element,\n rootElement: Element,\n scrollEnd: boolean,\n): boolean {\n let currentElement = element;\n\n while (currentElement !== rootElement.parentElement) {\n if (\n (Math.floor(currentElement.scrollLeft) > 0 && !scrollEnd) ||\n (Math.ceil(currentElement.scrollLeft + currentElement.clientWidth) <\n currentElement.scrollWidth &&\n scrollEnd)\n ) {\n return true;\n }\n\n if (currentElement.parentElement) {\n currentElement = currentElement.parentElement;\n } else {\n return false;\n }\n }\n\n return false;\n}\n","/**\n * @deprecated: use {@link tuiContainsOrAfter} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function containsOrAfter(current: Node, node: Node): boolean {\n return (\n current.contains(node) ||\n !!(node.compareDocumentPosition(current) & Node.DOCUMENT_POSITION_PRECEDING)\n );\n}\n\nexport const tuiContainsOrAfter = containsOrAfter;\n","/** @deprecated only needed for IE, remove in 3.0 */\nexport function tuiCustomEvent<T = null>(\n name: string,\n {bubbles = false, cancelable = false, detail = null}: CustomEventInit<T | null> = {},\n documentRef: Document,\n): CustomEvent {\n if (typeof CustomEvent === `function`) {\n return new CustomEvent(name, {bubbles, cancelable, detail});\n }\n\n const customEvent = documentRef.createEvent(`CustomEvent`);\n\n customEvent.initCustomEvent(name, bubbles, cancelable, detail);\n\n return customEvent;\n}\n","/**\n * @deprecated: use {@link tuiGetActualTarget} instead\n * Gets actual target from open Shadow DOM if event happened within it\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getActualTarget(event: Event): Node {\n if (`composedPath` in event) {\n return (event as any).composedPath()[0];\n }\n\n return (event as any).target;\n}\n\nexport const tuiGetActualTarget = getActualTarget;\n","const DEFAULT_FORMAT = `text/plain`;\n\n/**\n * @deprecated: use {@link tuiGetClipboardDataText} instead\n * Gets text from data of clipboardEvent, it also works in IE and Edge browsers\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getClipboardDataText(\n event: ClipboardEvent,\n format: string = DEFAULT_FORMAT,\n): string {\n return `clipboardData` in event && event.clipboardData !== null\n ? event.clipboardData.getData(format) ||\n event.clipboardData.getData(DEFAULT_FORMAT)\n : (event as any).target.ownerDocument.defaultView.clipboardData.getData(`text`);\n}\n\nexport const tuiGetClipboardDataText = getClipboardDataText;\n","/**\n * @deprecated only needed for IE, remove in 3.0\n * Gets the closest element by selector i.e. {@link Element.closest}\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getClosestElement(element: Element, selector: string): Element | null {\n const closest = Element.prototype.closest;\n\n if (closest) {\n return closest.call(element, selector);\n }\n\n const matchesSelector =\n Element.prototype.matches || (Element.prototype as any).msMatchesSelector;\n\n do {\n if (matchesSelector.call(element, selector)) {\n return element;\n }\n\n (element as Element | null) = element.parentElement;\n } while (element !== null);\n\n return null;\n}\n","/**\n * @deprecated: use {@link tuiGetDocumentOrShadowRoot} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getDocumentOrShadowRoot(node: Node): DocumentOrShadowRoot {\n return `getRootNode` in node && node.isConnected\n ? (node.getRootNode() as Document)\n : node.ownerDocument!;\n}\n\nexport const tuiGetDocumentOrShadowRoot = getDocumentOrShadowRoot;\n","import {clamp} from '@taiga-ui/cdk/utils/math';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {getDocumentOrShadowRoot} from './get-document-or-shadow-root';\n\n/**\n * @deprecated: use {@link tuiGetElementObscures} instead\n * Returns array of Elements covering edges of given element or null if at least one edge middle point is visible\n *\n * CAUTION: Empty array means element if offscreen i.e. covered by no elements, rather than not covered\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getElementObscurers(element: Element): readonly Element[] | null {\n const {ownerDocument} = element;\n\n if (!ownerDocument || !ownerDocument.defaultView) {\n return null;\n }\n\n const {innerWidth, innerHeight} = ownerDocument.defaultView;\n const documentRef = getDocumentOrShadowRoot(element);\n const rect = element.getBoundingClientRect();\n const left = clamp(Math.round(rect.left) + 2, 0, innerWidth);\n const top = clamp(Math.round(rect.top) + 2, 0, innerHeight);\n const right = clamp(Math.round(rect.right) - 2, 0, innerWidth);\n const bottom = clamp(Math.round(rect.bottom) - 2, 0, innerHeight);\n const horizontalMiddle = clamp(Math.round(rect.left + rect.width / 2), 0, innerWidth);\n const verticalMiddle = clamp(Math.round(rect.top + rect.height / 2), 0, innerHeight);\n const elements = [\n documentRef.elementFromPoint(horizontalMiddle, top),\n documentRef.elementFromPoint(horizontalMiddle, bottom),\n documentRef.elementFromPoint(left, verticalMiddle),\n documentRef.elementFromPoint(right, verticalMiddle),\n ];\n const nonNull = elements.filter(isPresent);\n\n if (!nonNull.length) {\n return nonNull;\n }\n\n const filtered = nonNull.filter(el => !element.contains(el));\n\n return filtered.length === 4 ? filtered : null;\n}\n\nexport const tuiGetElementObscures = getElementObscurers;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiGetElementOffset} instead\n * Calculates offset for an element relative to it's parent several levels above\n *\n * @param host parent element\n * @param element\n * @return object with offsetTop and offsetLeft number properties\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getElementOffset(\n host: Element,\n element: HTMLElement,\n): {offsetTop: number; offsetLeft: number} {\n tuiAssert.assert(host.contains(element), `Host must contain element`);\n\n let {offsetTop, offsetLeft, offsetParent} = element;\n\n // TODO: iframe warning\n while (offsetParent && offsetParent instanceof HTMLElement && offsetParent !== host) {\n offsetTop += offsetParent.offsetTop;\n offsetLeft += offsetParent.offsetLeft;\n offsetParent = offsetParent.offsetParent;\n }\n\n return {offsetTop, offsetLeft};\n}\n\nexport const tuiGetElementOffset = getElementOffset;\n","/**\n * @deprecated: use {@link tuiGetScrollParent} instead\n * Finds the nearest parent with scroll in it\n *\n * @param element initial element\n * @param vertical flag for orientation of scroll\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getScrollParent(\n element: Element | null,\n vertical: boolean = true,\n): Element | null {\n if (element === null) {\n return null;\n }\n\n if (vertical && element.scrollHeight > element.clientHeight) {\n return element;\n }\n\n if (!vertical && element.scrollWidth > element.clientWidth) {\n return element;\n }\n\n return getScrollParent(element.parentElement, vertical);\n}\n\nexport const tuiGetScrollParent = getScrollParent;\n","export function tuiIsFormFieldElement(\n element: unknown | null,\n): element is HTMLInputElement | HTMLTextAreaElement {\n const textfield = element as Record<string, unknown> | null;\n\n return (\n !!textfield &&\n `value` in textfield &&\n `selectionStart` in textfield &&\n `selectionEnd` in textfield\n );\n}\n","import {tuiIsFormFieldElement} from './is-form-field';\n\n/**\n * @description:\n * cross browser way to get selected text\n *\n * History:\n * BUG - window.getSelection() fails when text selected in a form field\n * https://bugzilla.mozilla.org/show_bug.cgi?id=85686\n */\nexport function tuiGetSelectedText({getSelection, document}: Window): string | null {\n return tuiIsFormFieldElement(document.activeElement)\n ? document.activeElement.value.slice(\n document.activeElement.selectionStart || 0,\n document.activeElement.selectionEnd || 0,\n )\n : getSelection()?.toString() || null;\n}\n","/**\n * @deprecated: use {@link tuiIsCurrentTarget} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isCurrentTarget({target, currentTarget}: Event): boolean {\n return target === currentTarget;\n}\n\nexport const tuiIsCurrentTarget = isCurrentTarget;\n","// TODO: Refactor to use this check everywhere\nexport function tuiIsElement(node: Node): node is Element {\n return node.nodeType === Node.ELEMENT_NODE;\n}\n","/**\n * @deprecated: use {@link tuiIsInsideIframe} instead\n * Checks if an app is running inside <iframe /> tag\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isInsideIframe(windowRef: Window): boolean {\n return windowRef.parent !== windowRef;\n}\n\nexport const tuiIsInsideIframe = isInsideIframe;\n","import {getClosestElement} from './get-closest-element';\n\n/**\n * @deprecated: use {@link tuiIsNodeIn} instead\n * Checks if node is inside a specific selector\n *\n * @param node\n * @param selector\n * @return true if node is inside a particular selector\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isNodeIn(node: Node, selector: string): boolean {\n return node.nodeType === Node.TEXT_NODE\n ? !!node.parentElement && !!getClosestElement(node.parentElement, selector)\n : node.nodeType === Node.ELEMENT_NODE &&\n !!getClosestElement(node as Element, selector);\n}\n\nexport const tuiIsNodeIn = isNodeIn;\n","export function tuiPointToClientRect(x: number = 0, y: number = 0): ClientRect {\n return {\n left: x,\n right: x,\n top: y,\n bottom: y,\n width: 0,\n height: 0,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;AAGA;SACgB,SAAS,CACrB,OAAgB,EAChB,WAAoB,EACpB,QAAiB,EACjB,SAAkB;IAElB,OAAO,QAAQ;UACT,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC;UAClD,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAC/D,CAAC;MAEY,YAAY,GAAG,UAAU;AAEtC,SAAS,iBAAiB,CACtB,OAAgB,EAChB,WAAoB,EACpB,SAAkB;IAElB,IAAI,cAAc,GAAG,OAAO,CAAC;IAE7B,OAAO,cAAc,KAAK,WAAW,CAAC,aAAa,EAAE;QACjD,IACI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS;aACtD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC;gBAC9D,cAAc,CAAC,YAAY;gBAC3B,SAAS,CAAC,EAChB;YACE,OAAO,IAAI,CAAC;SACf;QAED,IAAI,cAAc,CAAC,aAAa,EAAE;YAC9B,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC;SACjD;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CACxB,OAAgB,EAChB,WAAoB,EACpB,SAAkB;IAElB,IAAI,cAAc,GAAG,OAAO,CAAC;IAE7B,OAAO,cAAc,KAAK,WAAW,CAAC,aAAa,EAAE;QACjD,IACI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS;aACvD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC;gBAC9D,cAAc,CAAC,WAAW;gBAC1B,SAAS,CAAC,EAChB;YACE,OAAO,IAAI,CAAC;SACf;QAED,IAAI,cAAc,CAAC,aAAa,EAAE;YAC9B,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC;SACjD;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;KACJ;IAED,OAAO,KAAK,CAAC;AACjB;;ACrEA;;;AAGA;SACgB,eAAe,CAAC,OAAa,EAAE,IAAU;IACrD,QACI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC,EAC9E;AACN,CAAC;MAEY,kBAAkB,GAAG;;ACXlC;SACgB,cAAc,CAC1B,IAAY,EACZ,EAAC,OAAO,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,MAAM,GAAG,IAAI,KAA+B,EAAE,EACpF,WAAqB;IAErB,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;QACnC,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC,CAAC;KAC/D;IAED,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAE3D,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAE/D,OAAO,WAAW,CAAC;AACvB;;ACfA;;;;AAIA;SACgB,eAAe,CAAC,KAAY;IACxC,IAAI,cAAc,IAAI,KAAK,EAAE;QACzB,OAAQ,KAAa,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;KAC3C;IAED,OAAQ,KAAa,CAAC,MAAM,CAAC;AACjC,CAAC;MAEY,kBAAkB,GAAG;;ACblC,MAAM,cAAc,GAAG,YAAY,CAAC;AAEpC;;;;AAIA;SACgB,oBAAoB,CAChC,KAAqB,EACrB,SAAiB,cAAc;IAE/B,OAAO,eAAe,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI;UACzD,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;YAC/B,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC;UAC9C,KAAa,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACxF,CAAC;MAEY,uBAAuB,GAAG;;ACjBvC;;;;AAIA;SACgB,iBAAiB,CAAC,OAAgB,EAAE,QAAgB;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IAE1C,IAAI,OAAO,EAAE;QACT,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KAC1C;IAED,MAAM,eAAe,GACjB,OAAO,CAAC,SAAS,CAAC,OAAO,IAAK,OAAO,CAAC,SAAiB,CAAC,iBAAiB,CAAC;IAE9E,GAAG;QACC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;YACzC,OAAO,OAAO,CAAC;SAClB;QAEA,OAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;KACvD,QAAQ,OAAO,KAAK,IAAI,EAAE;IAE3B,OAAO,IAAI,CAAC;AAChB;;ACxBA;;;AAGA;SACgB,uBAAuB,CAAC,IAAU;IAC9C,OAAO,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW;UACzC,IAAI,CAAC,WAAW,EAAe;UAChC,IAAI,CAAC,aAAc,CAAC;AAC9B,CAAC;MAEY,0BAA0B,GAAG;;ACL1C;;;;;;AAMA;SACgB,mBAAmB,CAAC,OAAgB;IAChD,MAAM,EAAC,aAAa,EAAC,GAAG,OAAO,CAAC;IAEhC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;QAC9C,OAAO,IAAI,CAAC;KACf;IAED,MAAM,EAAC,UAAU,EAAE,WAAW,EAAC,GAAG,aAAa,CAAC,WAAW,CAAC;IAC5D,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IAClE,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IACtF,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG;QACb,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,GAAG,CAAC;QACnD,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,CAAC;QACtD,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC;QAClD,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC;KACtD,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE3C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACjB,OAAO,OAAO,CAAC;KAClB;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7D,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC;AACnD,CAAC;MAEY,qBAAqB,GAAG;;AC3CrC;;;;;;;;AAQA;SACgB,gBAAgB,CAC5B,IAAa,EACb,OAAoB;IAEpB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,2BAA2B,CAAC,CAAC;IAEtE,IAAI,EAAC,SAAS,EAAE,UAAU,EAAE,YAAY,EAAC,GAAG,OAAO,CAAC;;IAGpD,OAAO,YAAY,IAAI,YAAY,YAAY,WAAW,IAAI,YAAY,KAAK,IAAI,EAAE;QACjF,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC;QACpC,UAAU,IAAI,YAAY,CAAC,UAAU,CAAC;QACtC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;KAC5C;IAED,OAAO,EAAC,SAAS,EAAE,UAAU,EAAC,CAAC;AACnC,CAAC;MAEY,mBAAmB,GAAG;;AC7BnC;;;;;;;AAOA;SACgB,eAAe,CAC3B,OAAuB,EACvB,WAAoB,IAAI;IAExB,IAAI,OAAO,KAAK,IAAI,EAAE;QAClB,OAAO,IAAI,CAAC;KACf;IAED,IAAI,QAAQ,IAAI,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE;QACzD,OAAO,OAAO,CAAC;KAClB;IAED,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE;QACxD,OAAO,OAAO,CAAC;KAClB;IAED,OAAO,eAAe,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAC5D,CAAC;MAEY,kBAAkB,GAAG;;SC3BlB,qBAAqB,CACjC,OAAuB;IAEvB,MAAM,SAAS,GAAG,OAAyC,CAAC;IAE5D,QACI,CAAC,CAAC,SAAS;QACX,OAAO,IAAI,SAAS;QACpB,gBAAgB,IAAI,SAAS;QAC7B,cAAc,IAAI,SAAS,EAC7B;AACN;;ACTA;;;;;;;;SAQgB,kBAAkB,CAAC,EAAC,YAAY,EAAE,QAAQ,EAAS;;IAC/D,OAAO,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC;UAC9C,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAC9B,QAAQ,CAAC,aAAa,CAAC,cAAc,IAAI,CAAC,EAC1C,QAAQ,CAAC,aAAa,CAAC,YAAY,IAAI,CAAC,CAC3C;UACD,OAAA,YAAY,EAAE,0CAAE,QAAQ,OAAM,IAAI,CAAC;AAC7C;;ACjBA;;;AAGA;SACgB,eAAe,CAAC,EAAC,MAAM,EAAE,aAAa,EAAQ;IAC1D,OAAO,MAAM,KAAK,aAAa,CAAC;AACpC,CAAC;MAEY,kBAAkB,GAAG;;ACRlC;SACgB,YAAY,CAAC,IAAU;IACnC,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,CAAC;AAC/C;;ACHA;;;;AAIA;SACgB,cAAc,CAAC,SAAiB;IAC5C,OAAO,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC;AAC1C,CAAC;MAEY,iBAAiB,GAAG;;ACPjC;;;;;;;;AAQA;SACgB,QAAQ,CAAC,IAAU,EAAE,QAAgB;IACjD,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS;UACjC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC;UACzE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;YAC/B,CAAC,CAAC,iBAAiB,CAAC,IAAe,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC;MAEY,WAAW,GAAG;;SClBX,oBAAoB,CAAC,IAAY,CAAC,EAAE,IAAY,CAAC;IAC7D,OAAO;QACH,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,CAAC;QACN,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;KACZ,CAAC;AACN;;ACTA;;;;;;"}
|
|
@@ -61,27 +61,27 @@ const tuiBlurNativeFocused = blurNativeFocused;
|
|
|
61
61
|
*/
|
|
62
62
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
63
63
|
function isNativeKeyboardFocusable(element) {
|
|
64
|
-
if (element.hasAttribute(
|
|
64
|
+
if (element.hasAttribute(`disabled`) || element.getAttribute(`tabIndex`) === `-1`) {
|
|
65
65
|
return false;
|
|
66
66
|
}
|
|
67
67
|
// TODO: iframe warning
|
|
68
68
|
if ((element instanceof HTMLElement && element.isContentEditable) ||
|
|
69
|
-
element.getAttribute(
|
|
69
|
+
element.getAttribute(`tabIndex`) === `0`) {
|
|
70
70
|
return true;
|
|
71
71
|
}
|
|
72
72
|
switch (element.tagName) {
|
|
73
|
-
case
|
|
74
|
-
case
|
|
75
|
-
case
|
|
73
|
+
case `BUTTON`:
|
|
74
|
+
case `SELECT`:
|
|
75
|
+
case `TEXTAREA`:
|
|
76
76
|
return true;
|
|
77
|
-
case
|
|
78
|
-
case
|
|
79
|
-
return element.hasAttribute(
|
|
80
|
-
case
|
|
81
|
-
return element.getAttribute(
|
|
82
|
-
case
|
|
83
|
-
case
|
|
84
|
-
return element.hasAttribute(
|
|
77
|
+
case `VIDEO`:
|
|
78
|
+
case `AUDIO`:
|
|
79
|
+
return element.hasAttribute(`controls`);
|
|
80
|
+
case `INPUT`:
|
|
81
|
+
return element.getAttribute(`type`) !== `hidden`;
|
|
82
|
+
case `A`:
|
|
83
|
+
case `LINK`:
|
|
84
|
+
return element.hasAttribute(`href`);
|
|
85
85
|
default:
|
|
86
86
|
return false;
|
|
87
87
|
}
|
|
@@ -93,8 +93,8 @@ const tuiIsNativeKeyboardFocusable = isNativeKeyboardFocusable;
|
|
|
93
93
|
*/
|
|
94
94
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
95
95
|
function isNativeMouseFocusable(element) {
|
|
96
|
-
return (!element.hasAttribute(
|
|
97
|
-
(element.getAttribute(
|
|
96
|
+
return (!element.hasAttribute(`disabled`) &&
|
|
97
|
+
(element.getAttribute(`tabIndex`) === `-1` || isNativeKeyboardFocusable(element)));
|
|
98
98
|
}
|
|
99
99
|
const tuiIsNativeMouseFocusable = isNativeMouseFocusable;
|
|
100
100
|
|
|
@@ -202,12 +202,12 @@ function setNativeMouseFocused(element, focused = true, preventScroll = false) {
|
|
|
202
202
|
if (!element.ownerDocument) {
|
|
203
203
|
return;
|
|
204
204
|
}
|
|
205
|
-
if (typeof Event ===
|
|
206
|
-
element.dispatchEvent(new Event(
|
|
205
|
+
if (typeof Event === `function`) {
|
|
206
|
+
element.dispatchEvent(new Event(`mousedown`, { bubbles: true, cancelable: true }));
|
|
207
207
|
}
|
|
208
208
|
else {
|
|
209
|
-
const event = element.ownerDocument.createEvent(
|
|
210
|
-
event.initEvent(
|
|
209
|
+
const event = element.ownerDocument.createEvent(`Event`);
|
|
210
|
+
event.initEvent(`mousedown`, true, true);
|
|
211
211
|
element.dispatchEvent(event);
|
|
212
212
|
}
|
|
213
213
|
setNativeFocused(element, focused, preventScroll);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-focus.js","sources":["ng://@taiga-ui/cdk/utils/focus/get-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/set-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/blur-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/is-native-keyboard-focusable.ts","ng://@taiga-ui/cdk/utils/focus/is-native-mouse-focusable.ts","ng://@taiga-ui/cdk/utils/focus/get-closest-keyboard-focusable.ts","ng://@taiga-ui/cdk/utils/focus/is-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/is-native-focused-in.ts","ng://@taiga-ui/cdk/utils/focus/move-focus.ts","ng://@taiga-ui/cdk/utils/focus/set-native-mouse-focused.ts","ng://@taiga-ui/cdk/utils/focus/taiga-ui-cdk-utils-focus.ts"],"sourcesContent":["/**\n * @deprecated: use {@link tuiGetNativeFocused} instead\n * Returns current active element, including shadow dom\n *\n * @return element or null\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getNativeFocused(documentRef: Document): Element | null {\n if (!documentRef.activeElement || !documentRef.activeElement.shadowRoot) {\n return documentRef.activeElement;\n }\n\n let element = documentRef.activeElement.shadowRoot.activeElement;\n\n while (element?.shadowRoot) {\n element = element.shadowRoot.activeElement;\n }\n\n return element;\n}\n\nexport const tuiGetNativeFocused = getNativeFocused;\n","/**\n * @deprecated: use native element.focus()\n * TODO: remove in v3.0\n * Focuses or blurs and element\n *\n * @param element native element\n * @param focused boolean focused state\n * @param preventScroll optional flag to prevent native scroll to the element\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function setNativeFocused(\n element: HTMLOrSVGElement,\n focused: boolean = true,\n preventScroll: boolean = false,\n): void {\n if (focused) {\n element.focus({preventScroll});\n } else {\n element.blur();\n }\n}\n","import {getNativeFocused} from './get-native-focused';\nimport {setNativeFocused} from './set-native-focused';\n\n/**\n * @deprecated: use {@link tuiBlurNativeFocused} instead\n * Finds and blurs current active element, including shadow DOM\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function blurNativeFocused(documentRef: Document): void {\n const activeElement = getNativeFocused(documentRef);\n\n // TODO: iframe warning\n if (activeElement instanceof HTMLElement) {\n setNativeFocused(activeElement, false);\n }\n}\n\nexport const tuiBlurNativeFocused = blurNativeFocused;\n","/**\n * @deprecated: use {@link tuiIsNativeKeyboardFocusable} instead\n * Checks for signs that element can be focused with keyboard. tabIndex above 0 is ignored to\n * only target natural focus order. Not checking the possibility of an element to\n * be focused, for example element can have display: none applied to it or any other\n * circumstances could prevent actual focus.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isNativeKeyboardFocusable(element: Element): boolean {\n if (element.hasAttribute('disabled') || element.getAttribute('tabIndex') === '-1') {\n return false;\n }\n\n // TODO: iframe warning\n if (\n (element instanceof HTMLElement && element.isContentEditable) ||\n element.getAttribute('tabIndex') === '0'\n ) {\n return true;\n }\n\n switch (element.tagName) {\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA':\n return true;\n case 'VIDEO':\n case 'AUDIO':\n return element.hasAttribute('controls');\n case 'INPUT':\n return element.getAttribute('type') !== 'hidden';\n case 'A':\n case 'LINK':\n return element.hasAttribute('href');\n default:\n return false;\n }\n}\n\nexport const tuiIsNativeKeyboardFocusable = isNativeKeyboardFocusable;\n","import {isNativeKeyboardFocusable} from './is-native-keyboard-focusable';\n\n/**\n * @deprecated: use {@link tuiIsNativeMouseFocusable} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isNativeMouseFocusable(element: Element): boolean {\n return (\n !element.hasAttribute('disabled') &&\n (element.getAttribute('tabIndex') === '-1' || isNativeKeyboardFocusable(element))\n );\n}\n\nexport const tuiIsNativeMouseFocusable = isNativeMouseFocusable;\n","import {svgNodeFilter} from '@taiga-ui/cdk/constants';\n\nimport {isNativeKeyboardFocusable} from './is-native-keyboard-focusable';\nimport {isNativeMouseFocusable} from './is-native-mouse-focusable';\n\n/**\n * @deprecated: use {@link tuiGetClosestFocusable} instead\n * Finds the closest element that can be focused with a keyboard or mouse in theory\n *\n * @param initial current HTML element\n * @param prev should it look backwards instead (find item that will be focused with Shift + Tab)\n * @param root top Node limiting the search area\n * @param keyboard determine if only keyboard focus is of interest\n *\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getClosestFocusable(\n initial: HTMLElement,\n prev: boolean = false,\n root: Node,\n keyboard: boolean = true,\n): HTMLElement | null {\n if (!root.ownerDocument) {\n return null;\n }\n\n const check = keyboard ? isNativeKeyboardFocusable : isNativeMouseFocusable;\n\n // Deprecated but ony this overload works in IE\n // Filter must be a function in IE, other modern browsers are compliant to this format\n const treeWalker = root.ownerDocument.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n svgNodeFilter,\n false,\n );\n\n treeWalker.currentNode = initial;\n\n while (prev ? treeWalker.previousNode() : treeWalker.nextNode()) {\n // TODO: iframe warning\n if (treeWalker.currentNode instanceof HTMLElement) {\n initial = treeWalker.currentNode;\n }\n\n if (check(initial)) {\n return initial;\n }\n }\n\n return null;\n}\n\n/**\n * @deprecated: use {@link tuiGetClosestFocusable} instead\n */\nexport const getClosestKeyboardFocusable = getClosestFocusable;\n\nexport const tuiGetClosestFocusable = getClosestFocusable;\n","import {getNativeFocused} from './get-native-focused';\n\n/**\n * @deprecated: use {@link tuiIsNativeFocused} instead\n * Checks if element is focused.\n *\n * Could return true even after blur since element remains focused if you switch away from a browser tab.\n *\n * @param node or null (as a common return value of DOM nodes walking)\n * @return true if focused\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isNativeFocused(node: Node | null): boolean {\n return (\n !!node && !!node.ownerDocument && getNativeFocused(node.ownerDocument) === node\n );\n}\n\nexport const tuiIsNativeFocused = isNativeFocused;\n","import {getNativeFocused} from './get-native-focused';\n\n/**\n * @deprecated: use {@link tuiIsNativeFocusedIn} instead\n * Checks if focused element is within given element.\n *\n * @param node\n * @return true if focused node is contained within element\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isNativeFocusedIn(node: Node): boolean {\n // !node.contains - check for IE11\n if (!node.ownerDocument || !node.contains) {\n return false;\n }\n\n const nativeFocused = getNativeFocused(node.ownerDocument);\n\n return nativeFocused !== null && node.contains(nativeFocused);\n}\n\nexport const tuiIsNativeFocusedIn = isNativeFocusedIn;\n","import {isNativeFocused} from './is-native-focused';\nimport {setNativeFocused} from './set-native-focused';\n\n/**\n * @deprecated: use {@link tuiMoveFocus} instead\n * Utility method for moving focus in a list of elements\n *\n * @param currentIndex currently focused index\n * @param elements array of focusable elements\n * @param step a step to move focus by, typically -1 or 1\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function moveFocus(\n currentIndex: number,\n elements: readonly HTMLElement[],\n step: number,\n): void {\n currentIndex += step;\n\n while (currentIndex >= 0 && currentIndex < elements.length) {\n setNativeFocused(elements[currentIndex]);\n\n if (isNativeFocused(elements[currentIndex])) {\n return;\n }\n\n currentIndex += step;\n }\n}\n\nexport const tuiMoveFocus = moveFocus;\n","import {setNativeFocused} from './set-native-focused';\n\n/**\n * @deprecated: use {@link tuiSetNativeMouseFocused} instead\n * Focuses or blurs element with mouse action imitation (to spoof {@link TuiFocusVisibleService})\n *\n * @param element\n * @param focused desired focused state\n * @param preventScroll optionally prevent native browser scroll after focus\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function setNativeMouseFocused(\n element: HTMLOrSVGElement & Element,\n focused: boolean = true,\n preventScroll: boolean = false,\n): void {\n if (!element.ownerDocument) {\n return;\n }\n\n if (typeof Event === 'function') {\n element.dispatchEvent(new Event('mousedown', {bubbles: true, cancelable: true}));\n } else {\n const event = element.ownerDocument.createEvent('Event');\n\n event.initEvent('mousedown', true, true);\n element.dispatchEvent(event);\n }\n\n setNativeFocused(element, focused, preventScroll);\n}\n\nexport const tuiSetNativeMouseFocused = setNativeMouseFocused;\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-focus.js","sources":["ng://@taiga-ui/cdk/utils/focus/get-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/set-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/blur-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/is-native-keyboard-focusable.ts","ng://@taiga-ui/cdk/utils/focus/is-native-mouse-focusable.ts","ng://@taiga-ui/cdk/utils/focus/get-closest-keyboard-focusable.ts","ng://@taiga-ui/cdk/utils/focus/is-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/is-native-focused-in.ts","ng://@taiga-ui/cdk/utils/focus/move-focus.ts","ng://@taiga-ui/cdk/utils/focus/set-native-mouse-focused.ts","ng://@taiga-ui/cdk/utils/focus/taiga-ui-cdk-utils-focus.ts"],"sourcesContent":["/**\n * @deprecated: use {@link tuiGetNativeFocused} instead\n * Returns current active element, including shadow dom\n *\n * @return element or null\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getNativeFocused(documentRef: Document): Element | null {\n if (!documentRef.activeElement || !documentRef.activeElement.shadowRoot) {\n return documentRef.activeElement;\n }\n\n let element = documentRef.activeElement.shadowRoot.activeElement;\n\n while (element?.shadowRoot) {\n element = element.shadowRoot.activeElement;\n }\n\n return element;\n}\n\nexport const tuiGetNativeFocused = getNativeFocused;\n","/**\n * @deprecated: use native element.focus()\n * TODO: remove in v3.0\n * Focuses or blurs and element\n *\n * @param element native element\n * @param focused boolean focused state\n * @param preventScroll optional flag to prevent native scroll to the element\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function setNativeFocused(\n element: HTMLOrSVGElement,\n focused: boolean = true,\n preventScroll: boolean = false,\n): void {\n if (focused) {\n element.focus({preventScroll});\n } else {\n element.blur();\n }\n}\n","import {getNativeFocused} from './get-native-focused';\nimport {setNativeFocused} from './set-native-focused';\n\n/**\n * @deprecated: use {@link tuiBlurNativeFocused} instead\n * Finds and blurs current active element, including shadow DOM\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function blurNativeFocused(documentRef: Document): void {\n const activeElement = getNativeFocused(documentRef);\n\n // TODO: iframe warning\n if (activeElement instanceof HTMLElement) {\n setNativeFocused(activeElement, false);\n }\n}\n\nexport const tuiBlurNativeFocused = blurNativeFocused;\n","/**\n * @deprecated: use {@link tuiIsNativeKeyboardFocusable} instead\n * Checks for signs that element can be focused with keyboard. tabIndex above 0 is ignored to\n * only target natural focus order. Not checking the possibility of an element to\n * be focused, for example element can have display: none applied to it or any other\n * circumstances could prevent actual focus.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isNativeKeyboardFocusable(element: Element): boolean {\n if (element.hasAttribute(`disabled`) || element.getAttribute(`tabIndex`) === `-1`) {\n return false;\n }\n\n // TODO: iframe warning\n if (\n (element instanceof HTMLElement && element.isContentEditable) ||\n element.getAttribute(`tabIndex`) === `0`\n ) {\n return true;\n }\n\n switch (element.tagName) {\n case `BUTTON`:\n case `SELECT`:\n case `TEXTAREA`:\n return true;\n case `VIDEO`:\n case `AUDIO`:\n return element.hasAttribute(`controls`);\n case `INPUT`:\n return element.getAttribute(`type`) !== `hidden`;\n case `A`:\n case `LINK`:\n return element.hasAttribute(`href`);\n default:\n return false;\n }\n}\n\nexport const tuiIsNativeKeyboardFocusable = isNativeKeyboardFocusable;\n","import {isNativeKeyboardFocusable} from './is-native-keyboard-focusable';\n\n/**\n * @deprecated: use {@link tuiIsNativeMouseFocusable} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isNativeMouseFocusable(element: Element): boolean {\n return (\n !element.hasAttribute(`disabled`) &&\n (element.getAttribute(`tabIndex`) === `-1` || isNativeKeyboardFocusable(element))\n );\n}\n\nexport const tuiIsNativeMouseFocusable = isNativeMouseFocusable;\n","import {svgNodeFilter} from '@taiga-ui/cdk/constants';\n\nimport {isNativeKeyboardFocusable} from './is-native-keyboard-focusable';\nimport {isNativeMouseFocusable} from './is-native-mouse-focusable';\n\n/**\n * @deprecated: use {@link tuiGetClosestFocusable} instead\n * Finds the closest element that can be focused with a keyboard or mouse in theory\n *\n * @param initial current HTML element\n * @param prev should it look backwards instead (find item that will be focused with Shift + Tab)\n * @param root top Node limiting the search area\n * @param keyboard determine if only keyboard focus is of interest\n *\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getClosestFocusable(\n initial: HTMLElement,\n prev: boolean = false,\n root: Node,\n keyboard: boolean = true,\n): HTMLElement | null {\n if (!root.ownerDocument) {\n return null;\n }\n\n const check = keyboard ? isNativeKeyboardFocusable : isNativeMouseFocusable;\n\n // Deprecated but ony this overload works in IE\n // Filter must be a function in IE, other modern browsers are compliant to this format\n const treeWalker = root.ownerDocument.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n svgNodeFilter,\n false,\n );\n\n treeWalker.currentNode = initial;\n\n while (prev ? treeWalker.previousNode() : treeWalker.nextNode()) {\n // TODO: iframe warning\n if (treeWalker.currentNode instanceof HTMLElement) {\n initial = treeWalker.currentNode;\n }\n\n if (check(initial)) {\n return initial;\n }\n }\n\n return null;\n}\n\n/**\n * @deprecated: use {@link tuiGetClosestFocusable} instead\n */\nexport const getClosestKeyboardFocusable = getClosestFocusable;\n\nexport const tuiGetClosestFocusable = getClosestFocusable;\n","import {getNativeFocused} from './get-native-focused';\n\n/**\n * @deprecated: use {@link tuiIsNativeFocused} instead\n * Checks if element is focused.\n *\n * Could return true even after blur since element remains focused if you switch away from a browser tab.\n *\n * @param node or null (as a common return value of DOM nodes walking)\n * @return true if focused\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isNativeFocused(node: Node | null): boolean {\n return (\n !!node && !!node.ownerDocument && getNativeFocused(node.ownerDocument) === node\n );\n}\n\nexport const tuiIsNativeFocused = isNativeFocused;\n","import {getNativeFocused} from './get-native-focused';\n\n/**\n * @deprecated: use {@link tuiIsNativeFocusedIn} instead\n * Checks if focused element is within given element.\n *\n * @param node\n * @return true if focused node is contained within element\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isNativeFocusedIn(node: Node): boolean {\n // !node.contains - check for IE11\n if (!node.ownerDocument || !node.contains) {\n return false;\n }\n\n const nativeFocused = getNativeFocused(node.ownerDocument);\n\n return nativeFocused !== null && node.contains(nativeFocused);\n}\n\nexport const tuiIsNativeFocusedIn = isNativeFocusedIn;\n","import {isNativeFocused} from './is-native-focused';\nimport {setNativeFocused} from './set-native-focused';\n\n/**\n * @deprecated: use {@link tuiMoveFocus} instead\n * Utility method for moving focus in a list of elements\n *\n * @param currentIndex currently focused index\n * @param elements array of focusable elements\n * @param step a step to move focus by, typically -1 or 1\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function moveFocus(\n currentIndex: number,\n elements: readonly HTMLElement[],\n step: number,\n): void {\n currentIndex += step;\n\n while (currentIndex >= 0 && currentIndex < elements.length) {\n setNativeFocused(elements[currentIndex]);\n\n if (isNativeFocused(elements[currentIndex])) {\n return;\n }\n\n currentIndex += step;\n }\n}\n\nexport const tuiMoveFocus = moveFocus;\n","import {setNativeFocused} from './set-native-focused';\n\n/**\n * @deprecated: use {@link tuiSetNativeMouseFocused} instead\n * Focuses or blurs element with mouse action imitation (to spoof {@link TuiFocusVisibleService})\n *\n * @param element\n * @param focused desired focused state\n * @param preventScroll optionally prevent native browser scroll after focus\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function setNativeMouseFocused(\n element: HTMLOrSVGElement & Element,\n focused: boolean = true,\n preventScroll: boolean = false,\n): void {\n if (!element.ownerDocument) {\n return;\n }\n\n if (typeof Event === `function`) {\n element.dispatchEvent(new Event(`mousedown`, {bubbles: true, cancelable: true}));\n } else {\n const event = element.ownerDocument.createEvent(`Event`);\n\n event.initEvent(`mousedown`, true, true);\n element.dispatchEvent(event);\n }\n\n setNativeFocused(element, focused, preventScroll);\n}\n\nexport const tuiSetNativeMouseFocused = setNativeMouseFocused;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import { tuiAssert } from '@taiga-ui/cdk/classes';
|
|
|
9
9
|
* @param padString string to pad with
|
|
10
10
|
*/
|
|
11
11
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
12
|
-
function padStart(sourceString, minResultLength, padString =
|
|
12
|
+
function padStart(sourceString, minResultLength, padString = ` `) {
|
|
13
13
|
const padSize = minResultLength - sourceString.length;
|
|
14
14
|
if (padSize <= 0) {
|
|
15
15
|
return sourceString;
|
|
@@ -23,7 +23,7 @@ function padStart(sourceString, minResultLength, padString = ' ') {
|
|
|
23
23
|
*/
|
|
24
24
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
25
25
|
function px(value) {
|
|
26
|
-
tuiAssert.assert(Number.isFinite(value),
|
|
26
|
+
tuiAssert.assert(Number.isFinite(value), `Value must be finite number`);
|
|
27
27
|
return `${value}px`;
|
|
28
28
|
}
|
|
29
29
|
const tuiPx = px;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-format.js","sources":["ng://@taiga-ui/cdk/utils/format/pad-start.ts","ng://@taiga-ui/cdk/utils/format/px.ts","ng://@taiga-ui/cdk/utils/format/taiga-ui-cdk-utils-format.ts"],"sourcesContent":["/**\n * @deprecated use String.prototype.padStart in 3.0 (after Chrome 49 support is dropped)\n * Pads a string with symbols in the beginning\n *\n * @param sourceString\n * @param minResultLength\n * @param padString string to pad with\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function padStart(\n sourceString: string,\n minResultLength: number,\n padString: string =
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-utils-format.js","sources":["ng://@taiga-ui/cdk/utils/format/pad-start.ts","ng://@taiga-ui/cdk/utils/format/px.ts","ng://@taiga-ui/cdk/utils/format/taiga-ui-cdk-utils-format.ts"],"sourcesContent":["/**\n * @deprecated use String.prototype.padStart in 3.0 (after Chrome 49 support is dropped)\n * Pads a string with symbols in the beginning\n *\n * @param sourceString\n * @param minResultLength\n * @param padString string to pad with\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function padStart(\n sourceString: string,\n minResultLength: number,\n padString: string = ` `,\n): string {\n const padSize = minResultLength - sourceString.length;\n\n if (padSize <= 0) {\n return sourceString;\n }\n\n return padString.repeat(padSize / padString.length).slice(0, padSize) + sourceString;\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiPx} instead\n * Adds 'px' to the number and turns it into a string\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function px(value: number): string {\n tuiAssert.assert(Number.isFinite(value), `Value must be finite number`);\n\n return `${value}px`;\n}\n\nexport const tuiPx = px;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA;;;;;;;;AAQA;SACgB,QAAQ,CACpB,YAAoB,EACpB,eAAuB,EACvB,YAAoB,GAAG;IAEvB,MAAM,OAAO,GAAG,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC;IAEtD,IAAI,OAAO,IAAI,CAAC,EAAE;QACd,OAAO,YAAY,CAAC;KACvB;IAED,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,YAAY,CAAC;AACzF;;ACnBA;;;;AAIA;SACgB,EAAE,CAAC,KAAa;IAC5B,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAExE,OAAO,GAAG,KAAK,IAAI,CAAC;AACxB,CAAC;MAEY,KAAK,GAAG;;ACbrB;;;;;;"}
|
|
@@ -113,12 +113,12 @@ function calculate(value, precision, func) {
|
|
|
113
113
|
if (value === Infinity) {
|
|
114
114
|
return value;
|
|
115
115
|
}
|
|
116
|
-
tuiAssert.assert(!isNaN(value),
|
|
117
|
-
tuiAssert.assert(Number.isInteger(precision),
|
|
116
|
+
tuiAssert.assert(!isNaN(value), `Value must be number`);
|
|
117
|
+
tuiAssert.assert(Number.isInteger(precision), `Precision must be integer`);
|
|
118
118
|
precision = Math.min(precision, MAX_PRECISION);
|
|
119
|
-
const pair = `${value}e`.split(
|
|
119
|
+
const pair = `${value}e`.split(`e`);
|
|
120
120
|
const tempValue = func(Number(`${pair[0]}e${Number(pair[1]) + precision}`));
|
|
121
|
-
const processedPair = `${tempValue}e`.split(
|
|
121
|
+
const processedPair = `${tempValue}e`.split(`e`);
|
|
122
122
|
return Number(`${processedPair[0]}e${Number(processedPair[1]) - precision}`);
|
|
123
123
|
}
|
|
124
124
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-math.js","sources":["ng://@taiga-ui/cdk/utils/math/clamp.ts","ng://@taiga-ui/cdk/utils/math/in-range.ts","ng://@taiga-ui/cdk/utils/math/normalize-to-int-number.ts","ng://@taiga-ui/cdk/utils/math/quantize.ts","ng://@taiga-ui/cdk/utils/math/round.ts","ng://@taiga-ui/cdk/utils/math/sum.ts","ng://@taiga-ui/cdk/utils/math/to-int.ts","ng://@taiga-ui/cdk/utils/math/to-radians.ts","ng://@taiga-ui/cdk/utils/math/taiga-ui-cdk-utils-math.ts"],"sourcesContent":["import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiClamp} instead\n * Clamps a value between two inclusive limits\n *\n * @param value\n * @param min lower limit\n * @param max upper limit\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function clamp(value: number, min: number, max: number): number {\n tuiAssert.assert(!isNaN(value));\n tuiAssert.assert(!isNaN(min));\n tuiAssert.assert(!isNaN(max));\n tuiAssert.assert(max >= min);\n\n return Math.min(max, Math.max(min, value));\n}\n\nexport const tuiClamp = clamp;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiInRange} instead\n * Checks if the value is in range\n *\n * @param value\n * @param fromInclude lower inclusive limit\n * @param toExclude upper exclusive limit\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function inRange(value: number, fromInclude: number, toExclude: number): boolean {\n tuiAssert.assert(!isNaN(value));\n tuiAssert.assert(!isNaN(fromInclude));\n tuiAssert.assert(!isNaN(toExclude));\n tuiAssert.assert(fromInclude < toExclude);\n\n return value >= fromInclude && value < toExclude;\n}\n\nexport const tuiInRange = inRange;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiNormalizeToIntNumber} instead\n * Normalizes any number to an integer within inclusive range\n *\n * @param value\n * @param min lower inclusive integer\n * @param max upper inclusive integer\n * @return an integer between min and max inclusive\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function normalizeToIntNumber(value: number, min: number, max: number): number {\n tuiAssert.assert(Number.isInteger(min));\n tuiAssert.assert(Number.isInteger(max));\n tuiAssert.assert(min <= max);\n\n if (isNaN(value) || value <= min) {\n return min;\n }\n\n if (value >= max) {\n return max;\n }\n\n return Math.round(value);\n}\n\nexport const tuiNormalizeToIntNumber = normalizeToIntNumber;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiQuantize} instead\n * Rounds a number to the closest value in a fixed discrete series\n *\n * @param value\n * @param quantum series step\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function quantize(value: number, quantum: number): number {\n tuiAssert.assert(Number.isFinite(value));\n tuiAssert.assert(Number.isFinite(quantum));\n tuiAssert.assert(quantum > 0);\n\n const remainder = value % quantum;\n\n return remainder < quantum / 2 ? value - remainder : value + quantum - remainder;\n}\n\nexport const tuiQuantize = quantize;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nconst MAX_PRECISION = 292;\n\n/**\n * @deprecated: use {@link tuiRound} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function round(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.round);\n}\n\n/**\n * @deprecated: use {@link tuiCeil} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function ceil(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.ceil);\n}\n\n/**\n * @deprecated: use {@link tuiFloor} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function floor(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.floor);\n}\n\nexport const tuiRound = round;\nexport const tuiCeil = ceil;\nexport const tuiFloor = floor;\n\n/**\n * Rounding number to the set precision\n *\n * @param value\n * @param precision number of digits in a float part\n * @param func rounding function (round, floor, ceil)\n */\nfunction calculate(\n value: number,\n precision: number,\n func: (x: number) => number,\n): number {\n if (value === Infinity) {\n return value;\n }\n\n tuiAssert.assert(!isNaN(value),
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-utils-math.js","sources":["ng://@taiga-ui/cdk/utils/math/clamp.ts","ng://@taiga-ui/cdk/utils/math/in-range.ts","ng://@taiga-ui/cdk/utils/math/normalize-to-int-number.ts","ng://@taiga-ui/cdk/utils/math/quantize.ts","ng://@taiga-ui/cdk/utils/math/round.ts","ng://@taiga-ui/cdk/utils/math/sum.ts","ng://@taiga-ui/cdk/utils/math/to-int.ts","ng://@taiga-ui/cdk/utils/math/to-radians.ts","ng://@taiga-ui/cdk/utils/math/taiga-ui-cdk-utils-math.ts"],"sourcesContent":["import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiClamp} instead\n * Clamps a value between two inclusive limits\n *\n * @param value\n * @param min lower limit\n * @param max upper limit\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function clamp(value: number, min: number, max: number): number {\n tuiAssert.assert(!isNaN(value));\n tuiAssert.assert(!isNaN(min));\n tuiAssert.assert(!isNaN(max));\n tuiAssert.assert(max >= min);\n\n return Math.min(max, Math.max(min, value));\n}\n\nexport const tuiClamp = clamp;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiInRange} instead\n * Checks if the value is in range\n *\n * @param value\n * @param fromInclude lower inclusive limit\n * @param toExclude upper exclusive limit\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function inRange(value: number, fromInclude: number, toExclude: number): boolean {\n tuiAssert.assert(!isNaN(value));\n tuiAssert.assert(!isNaN(fromInclude));\n tuiAssert.assert(!isNaN(toExclude));\n tuiAssert.assert(fromInclude < toExclude);\n\n return value >= fromInclude && value < toExclude;\n}\n\nexport const tuiInRange = inRange;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiNormalizeToIntNumber} instead\n * Normalizes any number to an integer within inclusive range\n *\n * @param value\n * @param min lower inclusive integer\n * @param max upper inclusive integer\n * @return an integer between min and max inclusive\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function normalizeToIntNumber(value: number, min: number, max: number): number {\n tuiAssert.assert(Number.isInteger(min));\n tuiAssert.assert(Number.isInteger(max));\n tuiAssert.assert(min <= max);\n\n if (isNaN(value) || value <= min) {\n return min;\n }\n\n if (value >= max) {\n return max;\n }\n\n return Math.round(value);\n}\n\nexport const tuiNormalizeToIntNumber = normalizeToIntNumber;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiQuantize} instead\n * Rounds a number to the closest value in a fixed discrete series\n *\n * @param value\n * @param quantum series step\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function quantize(value: number, quantum: number): number {\n tuiAssert.assert(Number.isFinite(value));\n tuiAssert.assert(Number.isFinite(quantum));\n tuiAssert.assert(quantum > 0);\n\n const remainder = value % quantum;\n\n return remainder < quantum / 2 ? value - remainder : value + quantum - remainder;\n}\n\nexport const tuiQuantize = quantize;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nconst MAX_PRECISION = 292;\n\n/**\n * @deprecated: use {@link tuiRound} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function round(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.round);\n}\n\n/**\n * @deprecated: use {@link tuiCeil} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function ceil(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.ceil);\n}\n\n/**\n * @deprecated: use {@link tuiFloor} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function floor(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.floor);\n}\n\nexport const tuiRound = round;\nexport const tuiCeil = ceil;\nexport const tuiFloor = floor;\n\n/**\n * Rounding number to the set precision\n *\n * @param value\n * @param precision number of digits in a float part\n * @param func rounding function (round, floor, ceil)\n */\nfunction calculate(\n value: number,\n precision: number,\n func: (x: number) => number,\n): number {\n if (value === Infinity) {\n return value;\n }\n\n tuiAssert.assert(!isNaN(value), `Value must be number`);\n tuiAssert.assert(Number.isInteger(precision), `Precision must be integer`);\n\n precision = Math.min(precision, MAX_PRECISION);\n\n const pair = `${value}e`.split(`e`);\n const tempValue = func(Number(`${pair[0]}e${Number(pair[1]) + precision}`));\n const processedPair = `${tempValue}e`.split(`e`);\n\n return Number(`${processedPair[0]}e${Number(processedPair[1]) - precision}`);\n}\n","/**\n * @deprecated: use {@link tuiSum} instead\n * Calculates sum of any number of passed arguments\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function sum(...args: number[]): number {\n return args.reduce((a, b) => a + b, 0);\n}\n\nexport const tuiSum = sum;\n","/**\n * @deprecated: use {@link tuiToInt} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function toInt(bool: boolean): 1 | 0 {\n return bool ? 1 : 0;\n}\n\nexport const tuiToInt = toInt;\n","/**\n * @deprecated: use {@link tuiToRadians} instead\n * Converts angle in degrees to radians\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function toRadians(deg: number): number {\n return (deg * Math.PI) / 180;\n}\n\nexport const tuiToRadians = toRadians;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ const tuiDistanceBetweenTouches = distanceBetweenTouches;
|
|
|
15
15
|
*/
|
|
16
16
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
17
17
|
function easeInOutQuad(t) {
|
|
18
|
-
tuiAssert.assert(0 <= t && t <= 1,
|
|
18
|
+
tuiAssert.assert(0 <= t && t <= 1, `Input must be between 0 and 1 inclusive but received `, t);
|
|
19
19
|
return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
|
|
20
20
|
}
|
|
21
21
|
const tuiEaseInOutQuad = easeInOutQuad;
|
|
@@ -76,10 +76,10 @@ const tuiGetOriginalArrayFromQueryList = getOriginalArrayFromQueryList;
|
|
|
76
76
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
77
77
|
function getSwipeDirection(deltaX, deltaY) {
|
|
78
78
|
if (Math.abs(deltaY) > Math.abs(deltaX)) {
|
|
79
|
-
return deltaY > 0 ?
|
|
79
|
+
return deltaY > 0 ? `top` : `bottom`;
|
|
80
80
|
}
|
|
81
81
|
else {
|
|
82
|
-
return deltaX > 0 ?
|
|
82
|
+
return deltaX > 0 ? `left` : `right`;
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
const tuiGetSwipeDirection = getSwipeDirection;
|
|
@@ -109,7 +109,7 @@ const tuiIsElementEditable = isElementEditable;
|
|
|
109
109
|
*/
|
|
110
110
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
111
111
|
function isNumber(value) {
|
|
112
|
-
return typeof value ===
|
|
112
|
+
return typeof value === `number`;
|
|
113
113
|
}
|
|
114
114
|
const tuiIsNumber = isNumber;
|
|
115
115
|
|
|
@@ -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":["/**\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
|
+
{"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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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
13
13
|
function isApplePlatform(navigator) {
|
|
14
|
-
return navigator.platform.indexOf(
|
|
14
|
+
return navigator.platform.indexOf(`Mac`) === 0 || navigator.platform === `iPhone`;
|
|
15
15
|
}
|
|
16
16
|
const tuiIsApplePlatform = isApplePlatform;
|
|
17
17
|
|
|
@@ -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 * @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(
|
|
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;;;;;;"}
|