@taiga-ui/cdk 3.60.0-canary.8108863 → 3.61.0-canary.2abddb0
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 +971 -1117
- package/bundles/taiga-ui-cdk-abstract.umd.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-components-dialog-host.umd.js +505 -651
- package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js +404 -550
- package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-scroll-controls.umd.js +590 -736
- package/bundles/taiga-ui-cdk-components-scroll-controls.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-constants.umd.js +80 -80
- package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.js +33 -179
- package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-decorators.umd.js +10 -156
- package/bundles/taiga-ui-cdk-decorators.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-active-zone.umd.js +434 -580
- package/bundles/taiga-ui-cdk-directives-active-zone.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +706 -852
- package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-for-async.umd.js +426 -572
- package/bundles/taiga-ui-cdk-directives-for-async.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-hovered.umd.js +410 -556
- package/bundles/taiga-ui-cdk-directives-hovered.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-resizer.umd.js +482 -628
- package/bundles/taiga-ui-cdk-directives-resizer.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-exceptions.umd.js +426 -572
- package/bundles/taiga-ui-cdk-exceptions.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-observables.umd.js +9 -9
- package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-pipes-filter.umd.js +373 -519
- package/bundles/taiga-ui-cdk-pipes-filter.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-pipes-is-present.umd.js +1 -1
- package/bundles/taiga-ui-cdk-pipes-is-present.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-pipes-keys.umd.js +1 -1
- package/bundles/taiga-ui-cdk-pipes-keys.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-pipes-mapper.umd.js +373 -519
- package/bundles/taiga-ui-cdk-pipes-mapper.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-pipes-replace.umd.js +2 -2
- package/bundles/taiga-ui-cdk-pipes-replace.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-services.umd.js +841 -984
- package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.js +650 -796
- package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-browser.umd.js +8 -8
- package/bundles/taiga-ui-cdk-utils-browser.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-color.umd.js +26 -172
- package/bundles/taiga-ui-cdk-utils-color.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-dom.umd.js +11 -11
- package/bundles/taiga-ui-cdk-utils-dom.umd.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-format.umd.js +1 -1
- package/bundles/taiga-ui-cdk-utils-format.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-math.umd.js +7 -7
- package/bundles/taiga-ui-cdk-utils-math.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js +21 -167
- package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.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-svg.umd.js +11 -11
- package/bundles/taiga-ui-cdk-utils-svg.umd.js.map +1 -1
- package/constants/version.d.ts +1 -1
- package/constants/version.js +1 -1
- package/esm2015/abstract/control.js +4 -4
- package/esm2015/abstract/interactive.js +7 -7
- package/esm2015/abstract/portal-host.js +2 -2
- package/esm2015/abstract/theme-switcher.js +2 -2
- package/esm2015/coercion/coerce-boolean-property.js +2 -2
- package/esm2015/components/dropdown-host/dropdown-portal.service.js +3 -3
- package/esm2015/constants/parent-animation.js +4 -4
- package/esm2015/constants/svg-node-filter.js +2 -2
- package/esm2015/constants/unicode-chars.js +13 -13
- package/esm2015/constants/used-icons.js +64 -64
- package/esm2015/constants/version.js +2 -2
- package/esm2015/date-time/date-format.js +2 -2
- package/esm2015/date-time/date-separator.js +2 -2
- package/esm2015/date-time/day-range.js +3 -3
- 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 +5 -5
- 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 +28 -28
- package/esm2015/directives/hovered/hovered.service.js +3 -3
- package/esm2015/exceptions/computed-document.exception.js +2 -2
- package/esm2015/exceptions/document-selection.exception.js +2 -2
- package/esm2015/exceptions/invalid-day.exception.js +2 -2
- package/esm2015/exceptions/invalid-month.exception.js +2 -2
- package/esm2015/exceptions/invalid-year.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/is-observed.js +2 -2
- package/esm2015/observables/mouse-drag-finish-from.js +2 -2
- package/esm2015/observables/pressed-observable.js +2 -2
- package/esm2015/observables/scroll-from.js +2 -2
- package/esm2015/pipes/filter/filter.pipe.js +2 -2
- package/esm2015/pipes/is-present/is-present.pipe.js +2 -2
- package/esm2015/pipes/keys/keys.pipe.js +2 -2
- package/esm2015/pipes/mapper/mapper.pipe.js +2 -2
- package/esm2015/pipes/replace/replace.pipe.js +3 -3
- package/esm2015/services/directive-styles.service.js +6 -3
- package/esm2015/services/id.service.js +4 -4
- 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 +8 -8
- package/esm2015/services/static-request.service.js +4 -4
- 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/base-href.js +2 -2
- package/esm2015/tokens/ensure-base-href.js +4 -4
- package/esm2015/tokens/focusable-item-accessor.js +2 -2
- package/esm2015/tokens/fonts-ready.js +2 -2
- package/esm2015/tokens/is-firefox.js +2 -2
- package/esm2015/tokens/is-stackblitz.js +2 -2
- package/esm2015/tokens/platform.js +5 -5
- package/esm2015/tokens/touch-supported.js +2 -2
- package/esm2015/tokens/window-size.js +5 -5
- 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-safari.js +6 -6
- package/esm2015/utils/color/hex-to-rgb.js +4 -4
- package/esm2015/utils/color/hex-to-rgba.js +5 -5
- package/esm2015/utils/color/parse-color.js +7 -7
- package/esm2015/utils/color/rgb-to-hex.js +2 -2
- package/esm2015/utils/color/rgba-to-hex.js +7 -7
- package/esm2015/utils/dom/element-checks.js +4 -4
- 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/retarget-boundary-crossing.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/px.js +2 -2
- package/esm2015/utils/math/round-with.js +4 -4
- package/esm2015/utils/math/round.js +5 -5
- package/esm2015/utils/miscellaneous/clean-object.js +2 -2
- package/esm2015/utils/miscellaneous/create-token.js +2 -2
- 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/miscellaneous/is-object.js +2 -2
- package/esm2015/utils/miscellaneous/is-string.js +2 -2
- package/esm2015/utils/miscellaneous/is-valid-url.js +8 -8
- package/esm2015/utils/os/is-apple-platform.js +2 -2
- package/esm2015/utils/svg/svg-linear-gradient-processor.js +12 -12
- package/fesm2015/taiga-ui-cdk-abstract.js +11 -11
- package/fesm2015/taiga-ui-cdk-abstract.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-dropdown-host.js +2 -2
- package/fesm2015/taiga-ui-cdk-components-dropdown-host.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-constants.js +80 -80
- package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-date-time.js +25 -25
- package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-decorators.js +4 -4
- package/fesm2015/taiga-ui-cdk-decorators.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +30 -30
- package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-hovered.js +2 -2
- package/fesm2015/taiga-ui-cdk-directives-hovered.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-exceptions.js +13 -13
- package/fesm2015/taiga-ui-cdk-exceptions.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-observables.js +9 -9
- 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-is-present.js +1 -1
- package/fesm2015/taiga-ui-cdk-pipes-is-present.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-pipes-keys.js +1 -1
- package/fesm2015/taiga-ui-cdk-pipes-keys.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-pipes-replace.js +2 -2
- package/fesm2015/taiga-ui-cdk-pipes-replace.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-services.js +27 -24
- package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-tokens.js +25 -25
- package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-browser.js +8 -8
- package/fesm2015/taiga-ui-cdk-utils-browser.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-color.js +20 -20
- package/fesm2015/taiga-ui-cdk-utils-color.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-dom.js +11 -11
- 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 +1 -1
- package/fesm2015/taiga-ui-cdk-utils-format.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-math.js +7 -7
- package/fesm2015/taiga-ui-cdk-utils-math.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js +15 -15
- 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 +11 -11
- package/fesm2015/taiga-ui-cdk-utils-svg.js.map +1 -1
- package/package.json +1 -1
- package/schematics/constants/file-globs.js +24 -24
- package/schematics/constants/taiga-styles.js +4 -4
- package/schematics/ng-add/constants/modules.js +12 -12
- package/schematics/ng-add/constants/packages.js +1 -1
- package/schematics/ng-add/constants/versions.d.ts +3 -3
- package/schematics/ng-add/constants/versions.js +3 -3
- package/schematics/ng-add/index.js +10 -10
- package/schematics/ng-add/steps/add-taiga-icons.js +4 -4
- package/schematics/ng-add/steps/add-taiga-modules.js +14 -14
- package/schematics/ng-add/steps/wrap-with-tui-root.js +12 -12
- package/schematics/ng-update/steps/icons/replace-imports.js +2 -2
- package/schematics/ng-update/steps/remove-module.js +2 -2
- package/schematics/ng-update/steps/rename-types.js +5 -5
- package/schematics/ng-update/steps/replace-deep-import.js +4 -4
- package/schematics/ng-update/steps/replace-enums.js +2 -2
- package/schematics/ng-update/steps/replace-identifier.js +2 -2
- package/schematics/ng-update/steps/replace-services.js +4 -4
- package/schematics/ng-update/steps/show-warnings.js +1 -1
- package/schematics/ng-update/utils/replace-text.js +1 -1
- package/schematics/ng-update/utils/templates/replace-tag.js +1 -1
- package/schematics/ng-update/v3/constants/breakpoints.js +27 -27
- package/schematics/ng-update/v3/constants/constants.js +187 -187
- package/schematics/ng-update/v3/constants/deprecated-functions.js +405 -405
- package/schematics/ng-update/v3/constants/enums.js +153 -153
- package/schematics/ng-update/v3/constants/modules.js +4 -4
- package/schematics/ng-update/v3/constants/services.js +16 -16
- package/schematics/ng-update/v3/constants/templates.js +295 -295
- package/schematics/ng-update/v3/constants/tui-interactive-selectors.js +50 -50
- package/schematics/ng-update/v3/constants/types.js +88 -88
- package/schematics/ng-update/v3/constants/warnings.js +62 -62
- package/schematics/ng-update/v3/index.js +7 -7
- package/schematics/ng-update/v3/steps/migrate-date-time.js +42 -42
- package/schematics/ng-update/v3/steps/migrate-polymorpheus.js +14 -14
- package/schematics/ng-update/v3/steps/migrate-progress.js +6 -6
- package/schematics/ng-update/v3/steps/migrate-sliders/index.js +4 -4
- package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-range.js +27 -27
- package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-slider.js +26 -26
- package/schematics/ng-update/v3/steps/migrate-taiga-proprietary-icons.js +7 -7
- package/schematics/ng-update/v3/steps/migrate-templates.js +18 -18
- package/schematics/ng-update/v3/steps/migrate-textfield-controller.js +33 -33
- package/schematics/ng-update/v3/steps/miscellaneous.js +16 -16
- package/schematics/ng-update/v3/steps/replace-functions.js +17 -17
- package/schematics/ng-update/v3/steps/replace-styles.js +12 -12
- package/schematics/ng-update/v3-30/constants/constants.js +2 -2
- package/schematics/ng-update/v3-30/constants/icons.js +494 -494
- package/schematics/ng-update/v3-30/index.js +4 -4
- package/schematics/ng-update/v3-35/constants/constants.js +2 -2
- package/schematics/ng-update/v3-35/constants/icons.js +1266 -1266
- package/schematics/ng-update/v3-35/index.js +5 -5
- package/schematics/ng-update/v3-36/index.js +6 -6
- package/schematics/ng-update/v3-40/index.js +11 -11
- package/schematics/ng-update/v3-5/index.js +1 -1
- package/schematics/ng-update/v3-5/steps/migrate-expand-templates.js +7 -7
- package/schematics/ng-update/v4/index.js +2 -2
- package/schematics/ng-update/v4/steps/constants/attr-to-directive-replace.js +19 -19
- package/schematics/ng-update/v4/steps/constants/attrs-to-replace.js +21 -21
- package/schematics/ng-update/v4/steps/constants/html-comments.js +9 -9
- package/schematics/ng-update/v4/steps/constants/identifiers-to-replace.js +21 -21
- package/schematics/ng-update/v4/steps/constants/inputs-to-remove.js +4 -4
- package/schematics/ng-update/v4/steps/constants/tags-to-replace.js +2 -2
- package/schematics/ng-update/v4/steps/migrate-templates.js +3 -3
- package/schematics/ng-update/v4/steps/restore-tui-mapper.js +6 -6
- package/schematics/ng-update/v4/steps/restore-tui-matcher.js +6 -6
- package/schematics/ng-update/v4/steps/templates/migrate-avatar.js +14 -14
- package/schematics/ng-update/v4/steps/templates/migrate-badge.js +3 -3
- package/schematics/ng-update/v4/steps/templates/toggles/common.js +5 -5
- package/schematics/ng-update/v4/steps/templates/toggles/migrate-checkbox.js +4 -4
- package/schematics/ng-update/v4/steps/templates/toggles/migrate-radio.js +4 -4
- package/schematics/ng-update/v4/steps/templates/toggles/migrate-toggle.js +4 -4
- package/schematics/utils/add-import-to-component.js +1 -1
- package/schematics/utils/angular/is-standalone-component.js +3 -3
- package/schematics/utils/angular/ng-component.js +1 -1
- package/schematics/utils/angular/ng-module.js +1 -1
- package/schematics/utils/angular-json-manipulations.js +5 -5
- package/schematics/utils/colored-log.js +11 -11
- package/schematics/utils/create-angular-json.js +3 -3
- package/schematics/utils/get-component-from-identifier.js +1 -1
- package/schematics/utils/get-named-import-references.js +1 -1
- package/schematics/utils/get-projects.js +2 -2
- package/schematics/utils/get-standalone-bootstrap-function.js +1 -1
- package/schematics/utils/insert-todo.js +1 -1
- package/schematics/utils/is-ci.js +1 -1
- package/schematics/utils/progress.js +2 -2
- package/schematics/utils/project-root.js +1 -1
- package/schematics/utils/push-to-array-property.js +1 -1
- package/schematics/utils/templates/elements.js +1 -1
- package/schematics/utils/templates/get-component-templates.js +5 -5
- package/schematics/utils/templates/ng-component-input-manipulations.js +5 -5
- package/schematics/utils/templates/template-resource.js +3 -3
- package/services/directive-styles.service.d.ts +3 -2
- package/utils/miscellaneous/is-string.js +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-tokens.js","sources":["../../../projects/cdk/tokens/removed-element.ts","../../../projects/cdk/tokens/active-element.ts","../../../projects/cdk/tokens/alerts.ts","../../../projects/cdk/tokens/base-href.ts","../../../projects/cdk/tokens/default-renderer.ts","../../../projects/cdk/tokens/dialogs.ts","../../../projects/cdk/tokens/ensure-base-href.ts","../../../projects/cdk/tokens/focusable-item-accessor.ts","../../../projects/cdk/tokens/fonts-ready.ts","../../../projects/cdk/tokens/is-ios.ts","../../../projects/cdk/tokens/is-mobile.ts","../../../projects/cdk/tokens/is-android.ts","../../../projects/cdk/tokens/is-apple.ts","../../../projects/cdk/tokens/is-chromium.ts","../../../projects/cdk/tokens/is-cypress.ts","../../../projects/cdk/tokens/is-playwright.ts","../../../projects/cdk/tokens/is-e2e.ts","../../../projects/cdk/tokens/is-firefox.ts","../../../projects/cdk/tokens/is-stackblitz.ts","../../../projects/cdk/tokens/is-webkit.ts","../../../projects/cdk/tokens/platform.ts","../../../projects/cdk/tokens/range.ts","../../../projects/cdk/tokens/scroll-ref.ts","../../../projects/cdk/tokens/swipe-options.ts","../../../projects/cdk/tokens/take-only-trusted-events.ts","../../../projects/cdk/tokens/touch-supported.ts","../../../projects/cdk/tokens/window-size.ts","../../../projects/cdk/tokens/window-height.ts","../../../projects/cdk/tokens/zoom-options.ts","../../../projects/cdk/tokens/taiga-ui-cdk-tokens.ts"],"sourcesContent":["import {ɵAnimationEngine as AnimationEngine} from '@angular/animations/browser';\nimport {inject, InjectFlags} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\nimport {BehaviorSubject, timer} from 'rxjs';\nimport {map, share, startWith, switchMap} from 'rxjs/operators';\n\n/**\n * Element currently being removed by AnimationEngine\n */\nexport const TUI_REMOVED_ELEMENT = tuiCreateTokenFromFactory(() => {\n const stub = {onRemovalComplete: () => {}};\n const element$ = new BehaviorSubject<Element | null>(null);\n const engine = inject(AnimationEngine, InjectFlags.Optional) || stub;\n const {onRemovalComplete = stub.onRemovalComplete} = engine;\n\n engine.onRemovalComplete = (element, context) => {\n element$.next(element);\n onRemovalComplete.call(engine, element, context);\n };\n\n return element$.pipe(\n switchMap(element =>\n timer(0).pipe(\n map(() => null),\n startWith(element),\n ),\n ),\n share(),\n );\n});\n","import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {\n tuiCreateTokenFromFactory,\n tuiGetActualTarget,\n tuiGetDocumentOrShadowRoot,\n} from '@taiga-ui/cdk/utils';\nimport {merge, Observable, of, timer} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n repeatWhen,\n share,\n startWith,\n switchMap,\n take,\n takeUntil,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {TUI_REMOVED_ELEMENT} from './removed-element';\n\n// Checks if focusout event should be considered leaving active zone\nfunction isValidFocusout(target: any, removedElement: Element | null = null): boolean {\n return (\n // Not due to switching tabs/going to DevTools\n tuiGetDocumentOrShadowRoot(target).activeElement !== target &&\n // Not due to button/input becoming disabled or under disabled fieldset\n !target.matches(`:disabled`) &&\n // Not due to element being removed from DOM\n !removedElement?.contains(target)\n );\n}\n\nfunction shadowRootActiveElement(root: Document): Observable<EventTarget | null> {\n return merge(\n tuiTypedFromEvent(root, `focusin`).pipe(map(({target}) => target)),\n tuiTypedFromEvent(root, `focusout`).pipe(\n filter(\n ({target, relatedTarget}) => !!relatedTarget && isValidFocusout(target),\n ),\n map(({relatedTarget}) => relatedTarget),\n ),\n );\n}\n\n/**\n * Active element on the document for ActiveZone\n */\nexport const TUI_ACTIVE_ELEMENT = tuiCreateTokenFromFactory<\n Observable<EventTarget | null>\n>(() => {\n const removedElement$ = inject(TUI_REMOVED_ELEMENT);\n const win = inject(WINDOW);\n const doc = inject(DOCUMENT);\n const focusout$ = tuiTypedFromEvent(win, `focusout`);\n const focusin$ = tuiTypedFromEvent(win, `focusin`);\n const blur$ = tuiTypedFromEvent(win, `blur`);\n const mousedown$ = tuiTypedFromEvent(win, `mousedown`);\n const mouseup$ = tuiTypedFromEvent(win, `mouseup`);\n\n return merge(\n focusout$.pipe(\n // eslint-disable-next-line rxjs/no-unsafe-takeuntil\n takeUntil(mousedown$),\n /**\n * TODO: replace to\n * repeat({delay: () => mouseup$})\n * in RxJS 7\n */\n // eslint-disable-next-line rxjs/no-ignored-notifier\n repeatWhen(() => mouseup$),\n withLatestFrom(removedElement$),\n filter(([event, removedElement]) =>\n isValidFocusout(tuiGetActualTarget(event), removedElement),\n ),\n map(([{relatedTarget}]) => relatedTarget),\n ),\n blur$.pipe(\n map(() => doc.activeElement),\n filter(element => !!element?.matches(`iframe`)),\n ),\n focusin$.pipe(\n switchMap(event => {\n const target = tuiGetActualTarget(event);\n const root = tuiGetDocumentOrShadowRoot(target) as Document;\n\n return root === doc\n ? of(target)\n : shadowRootActiveElement(root).pipe(startWith(target));\n }),\n ),\n mousedown$.pipe(\n switchMap(event => {\n const actualTargetInCurrentTime = tuiGetActualTarget(event);\n\n return !doc.activeElement || doc.activeElement === doc.body\n ? of(actualTargetInCurrentTime)\n : focusout$.pipe(\n take(1),\n map(\n /**\n * Do not use `map(() => tuiGetActualTarget(event))`\n * because we have different result in runtime\n */\n () => actualTargetInCurrentTime,\n ),\n takeUntil(timer(0)),\n );\n }),\n ),\n ).pipe(distinctUntilChanged(), share());\n});\n","import {Provider, Type} from '@angular/core';\nimport {TuiAriaDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils';\nimport {Observable} from 'rxjs';\n\n/**\n * A stream of alerts\n */\nexport const TUI_ALERTS = tuiCreateToken<\n ReadonlyArray<Observable<readonly TuiAriaDialogContext[]>>\n>([]);\n\nexport function tuiAsAlerts(\n useExisting: Type<Observable<readonly TuiAriaDialogContext[]>>,\n): Provider {\n return {\n provide: TUI_ALERTS,\n multi: true,\n useExisting,\n };\n}\n","import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\nexport const TUI_BASE_HREF = tuiCreateTokenFromFactory(\n () => inject(DOCUMENT).querySelector(`base`)?.href ?? ``,\n);\n","import {inject, Renderer2, RendererFactory2} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * A Renderer2 for global services\n * https://github.com/angular/angular/issues/17824#issuecomment-353239017\n * @deprecated unnecessary\n * TODO: remove in 4.0\n */\nexport const TUI_DEFAULT_RENDERER = tuiCreateTokenFromFactory<Renderer2>(\n // @ts-ignore\n () => inject(RendererFactory2).createRenderer(null, null),\n);\n","import {Provider, Type} from '@angular/core';\nimport {TuiAriaDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils';\nimport {Observable} from 'rxjs';\n\n/**\n * A stream of dialogs\n */\nexport const TUI_DIALOGS = tuiCreateToken<\n ReadonlyArray<Observable<readonly TuiAriaDialogContext[]>>\n>([]);\n\n// TODO: Refactor dialogs in 4.0 so there is no need for module imports\nexport function tuiAsDialog(\n useExisting: Type<Observable<readonly TuiAriaDialogContext[]>>,\n): Provider {\n return {\n provide: TUI_DIALOGS,\n multi: true,\n useExisting,\n };\n}\n","import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * @deprecated: use {@link TUI_BASE_HREF}\n */\nexport const TUI_ENSURE_BASE_HREF = tuiCreateTokenFromFactory(() => {\n const baseHref = inject(DOCUMENT).querySelector(`base`)?.href;\n\n if (baseHref) {\n return baseHref;\n }\n\n const link = inject(DOCUMENT).createElement(`a`);\n\n link.href = ``;\n\n return link.pathname;\n});\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiFocusableElementAccessor} from '@taiga-ui/cdk/interfaces';\n\n/**\n * A component that can be focused\n */\nexport const TUI_FOCUSABLE_ITEM_ACCESSOR =\n new InjectionToken<TuiFocusableElementAccessor>(`[TUI_FOCUSABLE_ITEM_ACCESSOR]`);\n\nexport function tuiAsFocusableItemAccessor(\n useExisting: Type<TuiFocusableElementAccessor>,\n): Provider {\n return {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting,\n };\n}\n","import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\nimport {EMPTY, from, Observable} from 'rxjs';\nimport {shareReplay} from 'rxjs/operators';\n\nexport const TUI_FONTS_READY = new InjectionToken<Observable<unknown>>(\n `[TUI_FONTS_READY]`,\n {\n factory: () =>\n from((inject(DOCUMENT) as any).fonts?.ready || EMPTY).pipe(\n shareReplay({bufferSize: 1, refCount: false}),\n ),\n },\n);\n","import {inject} from '@angular/core';\nimport {NAVIGATOR} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory, tuiIsIos} from '@taiga-ui/cdk/utils';\n\n/**\n * iOS browser detection\n */\nexport const TUI_IS_IOS = tuiCreateTokenFromFactory(() => tuiIsIos(inject(NAVIGATOR)));\n","import {inject} from '@angular/core';\nimport {USER_AGENT} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n// https://stackoverflow.com/a/11381730/2706426 http://detectmobilebrowsers.com/\nconst firstRegex =\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/;\nconst secondRegex =\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/;\n\n/**\n * Mobile browser detection\n */\nexport const TUI_IS_MOBILE = tuiCreateTokenFromFactory(\n () =>\n firstRegex.test(inject(USER_AGENT).toLowerCase()) ||\n secondRegex.test(inject(USER_AGENT).slice(0, 4).toLowerCase()),\n);\n","import {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\nimport {TUI_IS_IOS} from './is-ios';\nimport {TUI_IS_MOBILE} from './is-mobile';\n\n/**\n * Mobile browser that is not iOS (technically includes Windows Phone, Blackberry etc.)\n */\nexport const TUI_IS_ANDROID = tuiCreateTokenFromFactory(\n () => inject(TUI_IS_MOBILE) && !inject(TUI_IS_IOS),\n);\n","import {inject} from '@angular/core';\nimport {NAVIGATOR} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory, tuiIsApple} from '@taiga-ui/cdk/utils';\n\n/**\n * Apple(safari/webkit) detection\n */\nexport const TUI_IS_APPLE = tuiCreateTokenFromFactory(() =>\n tuiIsApple(inject(NAVIGATOR)),\n);\n","import {inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * Chromium browser engine detection\n */\nexport const TUI_IS_CHROMIUM = tuiCreateTokenFromFactory(\n () => !!(inject(WINDOW) as Window & {chrome: unknown}).chrome,\n);\n","import {inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\ninterface WindowWithCypress extends Window {\n Cypress?: unknown;\n}\n\n/**\n * Detect if app is running under Cypress\n * {@link https://docs.cypress.io/faq/questions/using-cypress-faq#Is-there-any-way-to-detect-if-my-app-is-running-under-Cypress Cypress docs}\n */\nexport const TUI_IS_CYPRESS = tuiCreateTokenFromFactory(\n () => !!inject<WindowWithCypress>(WINDOW).Cypress,\n);\n","import {ALWAYS_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * Detect if app is running under Playwright\n */\nexport const TUI_IS_PLAYWRIGHT = tuiCreateTokenFromFactory<boolean>(ALWAYS_FALSE_HANDLER);\n","import {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\nimport {TUI_IS_CYPRESS} from './is-cypress';\nimport {TUI_IS_PLAYWRIGHT} from './is-playwright';\n\n/**\n * Detect if app is running under any of test frameworks\n */\nexport const TUI_IS_E2E = tuiCreateTokenFromFactory(\n () => inject(TUI_IS_CYPRESS) || inject(TUI_IS_PLAYWRIGHT),\n);\n","import {inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * Firefox browser engine detection\n */\nexport const TUI_IS_FIREFOX = tuiCreateTokenFromFactory(\n () =>\n typeof (inject(WINDOW) as Window & {mozCancelFullScreen: unknown})\n ?.mozCancelFullScreen !== `undefined`,\n);\n","import {inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\nexport const TUI_IS_STACKBLITZ = tuiCreateTokenFromFactory(() =>\n inject(WINDOW).location.host.endsWith(`stackblitz.io`),\n);\n","import {inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * Webkit browser engine detection\n */\nexport const TUI_IS_WEBKIT = tuiCreateTokenFromFactory(\n () =>\n !!(inject(WINDOW) as unknown as {webkitConvertPointFromNodeToPage?: unknown})\n ?.webkitConvertPointFromNodeToPage,\n);\n","import {inject} from '@angular/core';\nimport {TuiPlatform} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\nimport {TUI_IS_ANDROID} from './is-android';\nimport {TUI_IS_IOS} from './is-ios';\n\n// TODO: Switch to factory in 4.0\nexport const TUI_PLATFORM = tuiCreateToken<TuiPlatform>(`web`);\n\nexport function tuiPlatformFactory(): TuiPlatform {\n if (inject(TUI_IS_IOS)) {\n return `ios`;\n }\n\n if (inject(TUI_IS_ANDROID)) {\n return `android`;\n }\n\n return `web`;\n}\n","import {isPlatformBrowser} from '@angular/common';\nimport {inject, PLATFORM_ID} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * SSR safe default empty Range\n */\nexport const TUI_RANGE = tuiCreateTokenFromFactory(() =>\n isPlatformBrowser(inject(PLATFORM_ID)) ? new Range() : ({} as unknown as Range),\n);\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * Scrollable container\n */\nexport const TUI_SCROLL_REF = tuiCreateTokenFromFactory(\n () => new ElementRef(inject(DOCUMENT).documentElement),\n);\n","import {TuiSwipeOptions} from '@taiga-ui/cdk/interfaces';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\n/**\n * Swipe options\n */\nexport const TUI_SWIPE_OPTIONS = tuiCreateToken<TuiSwipeOptions>({\n timeout: 500,\n threshold: 30,\n});\n","import {ALWAYS_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * @description:\n * The isTrusted read-only property of the Event interface is a boolean value that is true\n * when the event was generated by a user action, and false when the event was created or\n * modified by a script or dispatched via EventTarget.dispatchEvent().\n */\nexport const TUI_TAKE_ONLY_TRUSTED_EVENTS =\n tuiCreateTokenFromFactory<boolean>(ALWAYS_TRUE_HANDLER);\n","import {inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\nexport const TUI_TOUCH_SUPPORTED = tuiCreateTokenFromFactory(\n () => inject(WINDOW).matchMedia(`(any-pointer: coarse)`).matches,\n);\n","import {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {map, shareReplay, startWith} from 'rxjs/operators';\n\nexport const TUI_WINDOW_SIZE = new InjectionToken<Observable<ClientRect>>(\n `[TUI_WINDOW_SIZE]`,\n {\n factory: () => {\n const w = inject(WINDOW);\n\n return tuiTypedFromEvent(w, `resize`).pipe(\n startWith(null),\n map(() => {\n const width = Math.max(w.innerWidth, w.visualViewport?.width || 0);\n const height = Math.max(w.innerHeight, w.visualViewport?.height || 0);\n\n return {\n width,\n height,\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n };\n }),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n },\n },\n);\n","import {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_WINDOW_SIZE} from './window-size';\n\n/**\n * @deprecated Use {@link TUI_WINDOW_SIZE} instead\n */\nexport const TUI_WINDOW_HEIGHT = tuiCreateTokenFromFactory(() =>\n inject(TUI_WINDOW_SIZE).pipe(map(({height}) => height)),\n);\n","import {TuiZoomOptions} from '@taiga-ui/cdk/interfaces';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\n/**\n * Zoom options\n */\nexport const TUI_ZOOM_OPTIONS = tuiCreateToken<TuiZoomOptions>({\n wheelSensitivity: 0.01,\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["AnimationEngine"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-tokens.js","sources":["../../../projects/cdk/tokens/removed-element.ts","../../../projects/cdk/tokens/active-element.ts","../../../projects/cdk/tokens/alerts.ts","../../../projects/cdk/tokens/base-href.ts","../../../projects/cdk/tokens/default-renderer.ts","../../../projects/cdk/tokens/dialogs.ts","../../../projects/cdk/tokens/ensure-base-href.ts","../../../projects/cdk/tokens/focusable-item-accessor.ts","../../../projects/cdk/tokens/fonts-ready.ts","../../../projects/cdk/tokens/is-ios.ts","../../../projects/cdk/tokens/is-mobile.ts","../../../projects/cdk/tokens/is-android.ts","../../../projects/cdk/tokens/is-apple.ts","../../../projects/cdk/tokens/is-chromium.ts","../../../projects/cdk/tokens/is-cypress.ts","../../../projects/cdk/tokens/is-playwright.ts","../../../projects/cdk/tokens/is-e2e.ts","../../../projects/cdk/tokens/is-firefox.ts","../../../projects/cdk/tokens/is-stackblitz.ts","../../../projects/cdk/tokens/is-webkit.ts","../../../projects/cdk/tokens/platform.ts","../../../projects/cdk/tokens/range.ts","../../../projects/cdk/tokens/scroll-ref.ts","../../../projects/cdk/tokens/swipe-options.ts","../../../projects/cdk/tokens/take-only-trusted-events.ts","../../../projects/cdk/tokens/touch-supported.ts","../../../projects/cdk/tokens/window-size.ts","../../../projects/cdk/tokens/window-height.ts","../../../projects/cdk/tokens/zoom-options.ts","../../../projects/cdk/tokens/taiga-ui-cdk-tokens.ts"],"sourcesContent":["import {ɵAnimationEngine as AnimationEngine} from '@angular/animations/browser';\nimport {inject, InjectFlags} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\nimport {BehaviorSubject, timer} from 'rxjs';\nimport {map, share, startWith, switchMap} from 'rxjs/operators';\n\n/**\n * Element currently being removed by AnimationEngine\n */\nexport const TUI_REMOVED_ELEMENT = tuiCreateTokenFromFactory(() => {\n const stub = {onRemovalComplete: () => {}};\n const element$ = new BehaviorSubject<Element | null>(null);\n const engine = inject(AnimationEngine, InjectFlags.Optional) || stub;\n const {onRemovalComplete = stub.onRemovalComplete} = engine;\n\n engine.onRemovalComplete = (element, context) => {\n element$.next(element);\n onRemovalComplete.call(engine, element, context);\n };\n\n return element$.pipe(\n switchMap(element =>\n timer(0).pipe(\n map(() => null),\n startWith(element),\n ),\n ),\n share(),\n );\n});\n","import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {\n tuiCreateTokenFromFactory,\n tuiGetActualTarget,\n tuiGetDocumentOrShadowRoot,\n} from '@taiga-ui/cdk/utils';\nimport {merge, Observable, of, timer} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n repeatWhen,\n share,\n startWith,\n switchMap,\n take,\n takeUntil,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {TUI_REMOVED_ELEMENT} from './removed-element';\n\n// Checks if focusout event should be considered leaving active zone\nfunction isValidFocusout(target: any, removedElement: Element | null = null): boolean {\n return (\n // Not due to switching tabs/going to DevTools\n tuiGetDocumentOrShadowRoot(target).activeElement !== target &&\n // Not due to button/input becoming disabled or under disabled fieldset\n !target.matches(':disabled') &&\n // Not due to element being removed from DOM\n !removedElement?.contains(target)\n );\n}\n\nfunction shadowRootActiveElement(root: Document): Observable<EventTarget | null> {\n return merge(\n tuiTypedFromEvent(root, 'focusin').pipe(map(({target}) => target)),\n tuiTypedFromEvent(root, 'focusout').pipe(\n filter(\n ({target, relatedTarget}) => !!relatedTarget && isValidFocusout(target),\n ),\n map(({relatedTarget}) => relatedTarget),\n ),\n );\n}\n\n/**\n * Active element on the document for ActiveZone\n */\nexport const TUI_ACTIVE_ELEMENT = tuiCreateTokenFromFactory<\n Observable<EventTarget | null>\n>(() => {\n const removedElement$ = inject(TUI_REMOVED_ELEMENT);\n const win = inject(WINDOW);\n const doc = inject(DOCUMENT);\n const focusout$ = tuiTypedFromEvent(win, 'focusout');\n const focusin$ = tuiTypedFromEvent(win, 'focusin');\n const blur$ = tuiTypedFromEvent(win, 'blur');\n const mousedown$ = tuiTypedFromEvent(win, 'mousedown');\n const mouseup$ = tuiTypedFromEvent(win, 'mouseup');\n\n return merge(\n focusout$.pipe(\n // eslint-disable-next-line rxjs/no-unsafe-takeuntil\n takeUntil(mousedown$),\n /**\n * TODO: replace to\n * repeat({delay: () => mouseup$})\n * in RxJS 7\n */\n // eslint-disable-next-line rxjs/no-ignored-notifier\n repeatWhen(() => mouseup$),\n withLatestFrom(removedElement$),\n filter(([event, removedElement]) =>\n isValidFocusout(tuiGetActualTarget(event), removedElement),\n ),\n map(([{relatedTarget}]) => relatedTarget),\n ),\n blur$.pipe(\n map(() => doc.activeElement),\n filter(element => !!element?.matches('iframe')),\n ),\n focusin$.pipe(\n switchMap(event => {\n const target = tuiGetActualTarget(event);\n const root = tuiGetDocumentOrShadowRoot(target) as Document;\n\n return root === doc\n ? of(target)\n : shadowRootActiveElement(root).pipe(startWith(target));\n }),\n ),\n mousedown$.pipe(\n switchMap(event => {\n const actualTargetInCurrentTime = tuiGetActualTarget(event);\n\n return !doc.activeElement || doc.activeElement === doc.body\n ? of(actualTargetInCurrentTime)\n : focusout$.pipe(\n take(1),\n map(\n /**\n * Do not use `map(() => tuiGetActualTarget(event))`\n * because we have different result in runtime\n */\n () => actualTargetInCurrentTime,\n ),\n takeUntil(timer(0)),\n );\n }),\n ),\n ).pipe(distinctUntilChanged(), share());\n});\n","import {Provider, Type} from '@angular/core';\nimport {TuiAriaDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils';\nimport {Observable} from 'rxjs';\n\n/**\n * A stream of alerts\n */\nexport const TUI_ALERTS = tuiCreateToken<\n ReadonlyArray<Observable<readonly TuiAriaDialogContext[]>>\n>([]);\n\nexport function tuiAsAlerts(\n useExisting: Type<Observable<readonly TuiAriaDialogContext[]>>,\n): Provider {\n return {\n provide: TUI_ALERTS,\n multi: true,\n useExisting,\n };\n}\n","import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\nexport const TUI_BASE_HREF = tuiCreateTokenFromFactory(\n () => inject(DOCUMENT).querySelector('base')?.href ?? '',\n);\n","import {inject, Renderer2, RendererFactory2} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * A Renderer2 for global services\n * https://github.com/angular/angular/issues/17824#issuecomment-353239017\n * @deprecated unnecessary\n * TODO: remove in 4.0\n */\nexport const TUI_DEFAULT_RENDERER = tuiCreateTokenFromFactory<Renderer2>(\n // @ts-ignore\n () => inject(RendererFactory2).createRenderer(null, null),\n);\n","import {Provider, Type} from '@angular/core';\nimport {TuiAriaDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils';\nimport {Observable} from 'rxjs';\n\n/**\n * A stream of dialogs\n */\nexport const TUI_DIALOGS = tuiCreateToken<\n ReadonlyArray<Observable<readonly TuiAriaDialogContext[]>>\n>([]);\n\n// TODO: Refactor dialogs in 4.0 so there is no need for module imports\nexport function tuiAsDialog(\n useExisting: Type<Observable<readonly TuiAriaDialogContext[]>>,\n): Provider {\n return {\n provide: TUI_DIALOGS,\n multi: true,\n useExisting,\n };\n}\n","import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * @deprecated: use {@link TUI_BASE_HREF}\n */\nexport const TUI_ENSURE_BASE_HREF = tuiCreateTokenFromFactory(() => {\n const baseHref = inject(DOCUMENT).querySelector('base')?.href;\n\n if (baseHref) {\n return baseHref;\n }\n\n const link = inject(DOCUMENT).createElement('a');\n\n link.href = '';\n\n return link.pathname;\n});\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiFocusableElementAccessor} from '@taiga-ui/cdk/interfaces';\n\n/**\n * A component that can be focused\n */\nexport const TUI_FOCUSABLE_ITEM_ACCESSOR =\n new InjectionToken<TuiFocusableElementAccessor>('[TUI_FOCUSABLE_ITEM_ACCESSOR]');\n\nexport function tuiAsFocusableItemAccessor(\n useExisting: Type<TuiFocusableElementAccessor>,\n): Provider {\n return {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting,\n };\n}\n","import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\nimport {EMPTY, from, Observable} from 'rxjs';\nimport {shareReplay} from 'rxjs/operators';\n\nexport const TUI_FONTS_READY = new InjectionToken<Observable<unknown>>(\n '[TUI_FONTS_READY]',\n {\n factory: () =>\n from((inject(DOCUMENT) as any).fonts?.ready || EMPTY).pipe(\n shareReplay({bufferSize: 1, refCount: false}),\n ),\n },\n);\n","import {inject} from '@angular/core';\nimport {NAVIGATOR} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory, tuiIsIos} from '@taiga-ui/cdk/utils';\n\n/**\n * iOS browser detection\n */\nexport const TUI_IS_IOS = tuiCreateTokenFromFactory(() => tuiIsIos(inject(NAVIGATOR)));\n","import {inject} from '@angular/core';\nimport {USER_AGENT} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n// https://stackoverflow.com/a/11381730/2706426 http://detectmobilebrowsers.com/\nconst firstRegex =\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/;\nconst secondRegex =\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/;\n\n/**\n * Mobile browser detection\n */\nexport const TUI_IS_MOBILE = tuiCreateTokenFromFactory(\n () =>\n firstRegex.test(inject(USER_AGENT).toLowerCase()) ||\n secondRegex.test(inject(USER_AGENT).slice(0, 4).toLowerCase()),\n);\n","import {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\nimport {TUI_IS_IOS} from './is-ios';\nimport {TUI_IS_MOBILE} from './is-mobile';\n\n/**\n * Mobile browser that is not iOS (technically includes Windows Phone, Blackberry etc.)\n */\nexport const TUI_IS_ANDROID = tuiCreateTokenFromFactory(\n () => inject(TUI_IS_MOBILE) && !inject(TUI_IS_IOS),\n);\n","import {inject} from '@angular/core';\nimport {NAVIGATOR} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory, tuiIsApple} from '@taiga-ui/cdk/utils';\n\n/**\n * Apple(safari/webkit) detection\n */\nexport const TUI_IS_APPLE = tuiCreateTokenFromFactory(() =>\n tuiIsApple(inject(NAVIGATOR)),\n);\n","import {inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * Chromium browser engine detection\n */\nexport const TUI_IS_CHROMIUM = tuiCreateTokenFromFactory(\n () => !!(inject(WINDOW) as Window & {chrome: unknown}).chrome,\n);\n","import {inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\ninterface WindowWithCypress extends Window {\n Cypress?: unknown;\n}\n\n/**\n * Detect if app is running under Cypress\n * {@link https://docs.cypress.io/faq/questions/using-cypress-faq#Is-there-any-way-to-detect-if-my-app-is-running-under-Cypress Cypress docs}\n */\nexport const TUI_IS_CYPRESS = tuiCreateTokenFromFactory(\n () => !!inject<WindowWithCypress>(WINDOW).Cypress,\n);\n","import {ALWAYS_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * Detect if app is running under Playwright\n */\nexport const TUI_IS_PLAYWRIGHT = tuiCreateTokenFromFactory<boolean>(ALWAYS_FALSE_HANDLER);\n","import {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\nimport {TUI_IS_CYPRESS} from './is-cypress';\nimport {TUI_IS_PLAYWRIGHT} from './is-playwright';\n\n/**\n * Detect if app is running under any of test frameworks\n */\nexport const TUI_IS_E2E = tuiCreateTokenFromFactory(\n () => inject(TUI_IS_CYPRESS) || inject(TUI_IS_PLAYWRIGHT),\n);\n","import {inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * Firefox browser engine detection\n */\nexport const TUI_IS_FIREFOX = tuiCreateTokenFromFactory(\n () =>\n typeof (inject(WINDOW) as Window & {mozCancelFullScreen: unknown})\n ?.mozCancelFullScreen !== 'undefined',\n);\n","import {inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\nexport const TUI_IS_STACKBLITZ = tuiCreateTokenFromFactory(() =>\n inject(WINDOW).location.host.endsWith('stackblitz.io'),\n);\n","import {inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * Webkit browser engine detection\n */\nexport const TUI_IS_WEBKIT = tuiCreateTokenFromFactory(\n () =>\n !!(inject(WINDOW) as unknown as {webkitConvertPointFromNodeToPage?: unknown})\n ?.webkitConvertPointFromNodeToPage,\n);\n","import {inject} from '@angular/core';\nimport {TuiPlatform} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\nimport {TUI_IS_ANDROID} from './is-android';\nimport {TUI_IS_IOS} from './is-ios';\n\n// TODO: Switch to factory in 4.0\nexport const TUI_PLATFORM = tuiCreateToken<TuiPlatform>('web');\n\nexport function tuiPlatformFactory(): TuiPlatform {\n if (inject(TUI_IS_IOS)) {\n return 'ios';\n }\n\n if (inject(TUI_IS_ANDROID)) {\n return 'android';\n }\n\n return 'web';\n}\n","import {isPlatformBrowser} from '@angular/common';\nimport {inject, PLATFORM_ID} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * SSR safe default empty Range\n */\nexport const TUI_RANGE = tuiCreateTokenFromFactory(() =>\n isPlatformBrowser(inject(PLATFORM_ID)) ? new Range() : ({} as unknown as Range),\n);\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * Scrollable container\n */\nexport const TUI_SCROLL_REF = tuiCreateTokenFromFactory(\n () => new ElementRef(inject(DOCUMENT).documentElement),\n);\n","import {TuiSwipeOptions} from '@taiga-ui/cdk/interfaces';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\n/**\n * Swipe options\n */\nexport const TUI_SWIPE_OPTIONS = tuiCreateToken<TuiSwipeOptions>({\n timeout: 500,\n threshold: 30,\n});\n","import {ALWAYS_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * @description:\n * The isTrusted read-only property of the Event interface is a boolean value that is true\n * when the event was generated by a user action, and false when the event was created or\n * modified by a script or dispatched via EventTarget.dispatchEvent().\n */\nexport const TUI_TAKE_ONLY_TRUSTED_EVENTS =\n tuiCreateTokenFromFactory<boolean>(ALWAYS_TRUE_HANDLER);\n","import {inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\nexport const TUI_TOUCH_SUPPORTED = tuiCreateTokenFromFactory(\n () => inject(WINDOW).matchMedia('(any-pointer: coarse)').matches,\n);\n","import {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {map, shareReplay, startWith} from 'rxjs/operators';\n\nexport const TUI_WINDOW_SIZE = new InjectionToken<Observable<ClientRect>>(\n '[TUI_WINDOW_SIZE]',\n {\n factory: () => {\n const w = inject(WINDOW);\n\n return tuiTypedFromEvent(w, 'resize').pipe(\n startWith(null),\n map(() => {\n const width = Math.max(\n w.document.documentElement.clientWidth || 0,\n w.innerWidth || 0,\n w.visualViewport?.width || 0,\n );\n const height = Math.max(\n w.document.documentElement.clientHeight || 0,\n w.innerHeight || 0,\n w.visualViewport?.height || 0,\n );\n\n return {\n width,\n height,\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n };\n }),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n },\n },\n);\n","import {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_WINDOW_SIZE} from './window-size';\n\n/**\n * @deprecated Use {@link TUI_WINDOW_SIZE} instead\n */\nexport const TUI_WINDOW_HEIGHT = tuiCreateTokenFromFactory(() =>\n inject(TUI_WINDOW_SIZE).pipe(map(({height}) => height)),\n);\n","import {TuiZoomOptions} from '@taiga-ui/cdk/interfaces';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\n/**\n * Zoom options\n */\nexport const TUI_ZOOM_OPTIONS = tuiCreateToken<TuiZoomOptions>({\n wheelSensitivity: 0.01,\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["AnimationEngine"],"mappings":"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"}
|
@@ -1,25 +1,25 @@
|
|
1
1
|
function tuiIsEdge(userAgent) {
|
2
|
-
return userAgent.toLowerCase().includes(
|
2
|
+
return userAgent.toLowerCase().includes('edge');
|
3
3
|
}
|
4
4
|
|
5
|
-
const EDGE =
|
5
|
+
const EDGE = 'edge/';
|
6
6
|
function tuiIsEdgeOlderThan(version, userAgent) {
|
7
7
|
const currentVersion = parseInt(userAgent.slice(userAgent.toLowerCase().indexOf(EDGE) + EDGE.length), 10);
|
8
8
|
return currentVersion < version;
|
9
9
|
}
|
10
10
|
|
11
11
|
function tuiIsFirefox(userAgent) {
|
12
|
-
return userAgent.toLowerCase().includes(
|
12
|
+
return userAgent.toLowerCase().includes('firefox');
|
13
13
|
}
|
14
14
|
|
15
15
|
function tuiIsSafari({ ownerDocument: doc }) {
|
16
16
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
17
17
|
const win = doc === null || doc === void 0 ? void 0 : doc.defaultView;
|
18
|
-
const isMacOsSafari = typeof win.safari !==
|
19
|
-
((_b = (_a = win.safari) === null || _a === void 0 ? void 0 : _a.pushNotification) === null || _b === void 0 ? void 0 : _b.toString()) ===
|
20
|
-
const isIosSafari = !!((_d = (_c = win.navigator) === null || _c === void 0 ? void 0 : _c.vendor) === null || _d === void 0 ? void 0 : _d.includes(
|
21
|
-
!((_f = (_e = win.navigator) === null || _e === void 0 ? void 0 : _e.userAgent) === null || _f === void 0 ? void 0 : _f.includes(
|
22
|
-
!((_h = (_g = win.navigator) === null || _g === void 0 ? void 0 : _g.userAgent) === null || _h === void 0 ? void 0 : _h.includes(
|
18
|
+
const isMacOsSafari = typeof win.safari !== 'undefined' &&
|
19
|
+
((_b = (_a = win.safari) === null || _a === void 0 ? void 0 : _a.pushNotification) === null || _b === void 0 ? void 0 : _b.toString()) === '[object SafariRemoteNotification]';
|
20
|
+
const isIosSafari = !!((_d = (_c = win.navigator) === null || _c === void 0 ? void 0 : _c.vendor) === null || _d === void 0 ? void 0 : _d.includes('Apple')) &&
|
21
|
+
!((_f = (_e = win.navigator) === null || _e === void 0 ? void 0 : _e.userAgent) === null || _f === void 0 ? void 0 : _f.includes('CriOS')) &&
|
22
|
+
!((_h = (_g = win.navigator) === null || _g === void 0 ? void 0 : _g.userAgent) === null || _h === void 0 ? void 0 : _h.includes('FxiOS'));
|
23
23
|
return isMacOsSafari || isIosSafari;
|
24
24
|
}
|
25
25
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-browser.js","sources":["../../../projects/cdk/utils/browser/is-edge.ts","../../../projects/cdk/utils/browser/is-edge-older-than.ts","../../../projects/cdk/utils/browser/is-firefox.ts","../../../projects/cdk/utils/browser/is-safari.ts","../../../projects/cdk/utils/browser/taiga-ui-cdk-utils-browser.ts"],"sourcesContent":["export function tuiIsEdge(userAgent: string): boolean {\n return userAgent.toLowerCase().includes(
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-utils-browser.js","sources":["../../../projects/cdk/utils/browser/is-edge.ts","../../../projects/cdk/utils/browser/is-edge-older-than.ts","../../../projects/cdk/utils/browser/is-firefox.ts","../../../projects/cdk/utils/browser/is-safari.ts","../../../projects/cdk/utils/browser/taiga-ui-cdk-utils-browser.ts"],"sourcesContent":["export function tuiIsEdge(userAgent: string): boolean {\n return userAgent.toLowerCase().includes('edge');\n}\n","const EDGE = 'edge/';\n\nexport function tuiIsEdgeOlderThan(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","export function tuiIsFirefox(userAgent: string): boolean {\n return userAgent.toLowerCase().includes('firefox');\n}\n","export function tuiIsSafari({ownerDocument: doc}: Element): boolean {\n const win = doc?.defaultView as unknown as Window & {safari?: any};\n\n const isMacOsSafari =\n typeof win.safari !== 'undefined' &&\n win.safari?.pushNotification?.toString() === '[object SafariRemoteNotification]';\n\n const isIosSafari =\n !!win.navigator?.vendor?.includes('Apple') &&\n !win.navigator?.userAgent?.includes('CriOS') &&\n !win.navigator?.userAgent?.includes('FxiOS');\n\n return isMacOsSafari || isIosSafari;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAM,SAAU,SAAS,CAAC,SAAiB,EAAA;IACvC,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACpD;;ACFA,MAAM,IAAI,GAAG,OAAO,CAAC;AAEL,SAAA,kBAAkB,CAAC,OAAe,EAAE,SAAiB,EAAA;IACjE,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;;ACTM,SAAU,YAAY,CAAC,SAAiB,EAAA;IAC1C,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACvD;;SCFgB,WAAW,CAAC,EAAC,aAAa,EAAE,GAAG,EAAU,EAAA;;IACrD,MAAM,GAAG,GAAG,GAAG,KAAA,IAAA,IAAH,GAAG,KAAH,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAG,CAAE,WAAiD,CAAC;AAEnE,IAAA,MAAM,aAAa,GACf,OAAO,GAAG,CAAC,MAAM,KAAK,WAAW;AACjC,QAAA,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,GAAG,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,EAAE,MAAK,mCAAmC,CAAC;AAErF,IAAA,MAAM,WAAW,GACb,CAAC,EAAC,MAAA,CAAA,EAAA,GAAA,GAAG,CAAC,SAAS,0CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;AAC1C,QAAA,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,GAAG,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAC,OAAO,CAAC,CAAA;AAC5C,QAAA,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,GAAG,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,OAAO,CAAC,CAAA,CAAC;IAEjD,OAAO,aAAa,IAAI,WAAW,CAAC;AACxC;;ACbA;;AAEG;;;;"}
|
@@ -1,22 +1,22 @@
|
|
1
1
|
function tuiHexToRgb(hex) {
|
2
2
|
const matches = hex
|
3
|
-
.replace(
|
4
|
-
.split(
|
3
|
+
.replace('#', '')
|
4
|
+
.split('')
|
5
5
|
.map((char, _, array) => (array.length === 3 ? char + char : char))
|
6
|
-
.join(
|
6
|
+
.join('')
|
7
7
|
.match(/.{2}/g);
|
8
8
|
return matches
|
9
9
|
? matches.map(x => Number.parseInt(x, 16))
|
10
10
|
: [0, 0, 0];
|
11
11
|
}
|
12
12
|
|
13
|
-
const getChunksFromString = (hex, chunkSize) => hex.match(new RegExp(`.{${chunkSize}}`,
|
13
|
+
const getChunksFromString = (hex, chunkSize) => hex.match(new RegExp(`.{${chunkSize}}`, 'g'));
|
14
14
|
const convertHexUnitTo256 = (hexStr) => parseInt(hexStr.repeat(2 / hexStr.length), 16);
|
15
15
|
const getAlphaFloat = (a, alpha) => {
|
16
|
-
if (typeof a !==
|
16
|
+
if (typeof a !== 'undefined') {
|
17
17
|
return Number((a / 255).toFixed(2));
|
18
18
|
}
|
19
|
-
if (typeof alpha !==
|
19
|
+
if (typeof alpha !== 'number' || alpha < 0 || alpha > 1) {
|
20
20
|
return 1;
|
21
21
|
}
|
22
22
|
return alpha;
|
@@ -32,7 +32,7 @@ function tuiIsValidHex(hex) {
|
|
32
32
|
function tuiParseHex(hex, alpha) {
|
33
33
|
var _a;
|
34
34
|
if (!tuiIsValidHex(hex)) {
|
35
|
-
throw new Error(
|
35
|
+
throw new Error('Invalid HEX');
|
36
36
|
}
|
37
37
|
const chunkSize = Math.floor((hex.length - 1) / 3);
|
38
38
|
const hexArr = getChunksFromString(hex.slice(1), chunkSize);
|
@@ -55,18 +55,18 @@ function tuiHsvToRgb(h, s, v) {
|
|
55
55
|
const DEFAULT = [0, 0, 0, 1];
|
56
56
|
function tuiParseColor(color) {
|
57
57
|
const stripped = color
|
58
|
-
.replace(
|
59
|
-
.replace(
|
60
|
-
.replace(
|
61
|
-
.replace(
|
62
|
-
const array = stripped.split(
|
58
|
+
.replace('#', '')
|
59
|
+
.replace('rgba(', '')
|
60
|
+
.replace('rgb(', '')
|
61
|
+
.replace(')', '');
|
62
|
+
const array = stripped.split(',').map(item => parseFloat(item));
|
63
63
|
if (array.length === 4) {
|
64
64
|
return array;
|
65
65
|
}
|
66
66
|
if (array.length === 3) {
|
67
67
|
return array.concat(1);
|
68
68
|
}
|
69
|
-
const matches = stripped.match(new RegExp(`(.{${stripped.length / 3}})`,
|
69
|
+
const matches = stripped.match(new RegExp(`(.{${stripped.length / 3}})`, 'g'));
|
70
70
|
if (!matches) {
|
71
71
|
return DEFAULT;
|
72
72
|
}
|
@@ -80,7 +80,7 @@ function tuiParseColor(color) {
|
|
80
80
|
}
|
81
81
|
|
82
82
|
function tuiRgbToHex(r, g, b) {
|
83
|
-
return `#${[r, g, b].map(x => x.toString(16).padStart(2,
|
83
|
+
return `#${[r, g, b].map(x => x.toString(16).padStart(2, '0')).join('')}`;
|
84
84
|
}
|
85
85
|
|
86
86
|
function tuiRgbToHsv(r, g, b) {
|
@@ -94,26 +94,26 @@ function tuiRgbToHsv(r, g, b) {
|
|
94
94
|
function tuiRgbaToHex(color) {
|
95
95
|
var _a, _b;
|
96
96
|
if (!tuiIsValidRgba(color)) {
|
97
|
-
throw new Error(
|
97
|
+
throw new Error('Invalid RGBa');
|
98
98
|
}
|
99
99
|
const rgb = (_a = color
|
100
|
-
.replace(/\s/g,
|
100
|
+
.replace(/\s/g, '')
|
101
101
|
// eslint-disable-next-line unicorn/no-unsafe-regex
|
102
102
|
.match(/^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i)) !== null && _a !== void 0 ? _a : [];
|
103
|
-
let alpha = ((_b = rgb === null || rgb === void 0 ? void 0 : rgb[4]) !== null && _b !== void 0 ? _b :
|
103
|
+
let alpha = ((_b = rgb === null || rgb === void 0 ? void 0 : rgb[4]) !== null && _b !== void 0 ? _b : '').toString().trim();
|
104
104
|
let hex = rgb
|
105
105
|
? (rgb[1] | (1 << 8)).toString(16).slice(1) +
|
106
106
|
(rgb[2] | (1 << 8)).toString(16).slice(1) +
|
107
107
|
(rgb[3] | (1 << 8)).toString(16).slice(1)
|
108
108
|
: color;
|
109
|
-
alpha = alpha !==
|
109
|
+
alpha = alpha !== '' ? alpha : 0o1;
|
110
110
|
alpha = ((Number(alpha) * 255) | (1 << 8)).toString(16).slice(1);
|
111
111
|
hex += alpha;
|
112
112
|
return `#${hex.toUpperCase()}`;
|
113
113
|
}
|
114
114
|
function tuiIsValidRgba(rgba) {
|
115
|
-
const range =
|
116
|
-
const alpha =
|
115
|
+
const range = '(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|2[0-5]{2})';
|
116
|
+
const alpha = '([01]|0?\\.\\d+)';
|
117
117
|
return new RegExp(`^(?:rgb\\(\\s*${range}\\s*,\\s*${range}\\s*,\\s*${range}\\s*\\)|rgba\\(\\s*${range}\\s*,\\s*${range}\\s*,\\s*${range}\\s*,\\s*${alpha}\\s*\\))$`).test(rgba);
|
118
118
|
}
|
119
119
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-color.js","sources":["../../../projects/cdk/utils/color/hex-to-rgb.ts","../../../projects/cdk/utils/color/hex-to-rgba.ts","../../../projects/cdk/utils/color/hsv-to-rgb.ts","../../../projects/cdk/utils/color/parse-color.ts","../../../projects/cdk/utils/color/rgb-to-hex.ts","../../../projects/cdk/utils/color/rgb-to-hsv.ts","../../../projects/cdk/utils/color/rgba-to-hex.ts","../../../projects/cdk/utils/color/taiga-ui-cdk-utils-color.ts"],"sourcesContent":["export function tuiHexToRgb(hex: string): [number, number, number] {\n const matches = hex\n .replace(`#`, ``)\n .split(``)\n .map((char, _, array) => (array.length === 3 ? char + char : char))\n .join(``)\n .match(/.{2}/g);\n\n return matches\n ? (matches.map(x => Number.parseInt(x, 16)) as [number, number, number])\n : [0, 0, 0];\n}\n","const getChunksFromString = (hex: string, chunkSize: number): RegExpMatchArray | null =>\n hex.match(new RegExp(`.{${chunkSize}}`, `g`));\n\nconst convertHexUnitTo256 = (hexStr: string): number =>\n parseInt(hexStr.repeat(2 / hexStr.length), 16);\n\nconst getAlphaFloat = (a: number, alpha?: number): number => {\n if (typeof a !== `undefined`) {\n return Number((a / 255).toFixed(2));\n }\n\n if (typeof alpha !== `number` || alpha < 0 || alpha > 1) {\n return 1;\n }\n\n return alpha;\n};\n\nexport function tuiHexToRGBA(hex: string, alpha?: number): string {\n const [r, g, b, a] = tuiParseHex(hex, alpha);\n\n return a < 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`;\n}\n\nexport function tuiIsValidHex(hex: string): boolean {\n // eslint-disable-next-line unicorn/no-unsafe-regex\n return /^#([A-Fa-f0-9]{3,4}){1,2}$/.test(hex);\n}\n\nexport function tuiParseHex(\n hex: string,\n alpha?: number,\n): [number, number, number, number] {\n if (!tuiIsValidHex(hex)) {\n throw new Error(`Invalid HEX`);\n }\n\n const chunkSize = Math.floor((hex.length - 1) / 3);\n const hexArr = getChunksFromString(hex.slice(1), chunkSize);\n const [r, g, b, a] = hexArr?.map(convertHexUnitTo256) ?? [];\n const floatAlpha = getAlphaFloat(a, alpha);\n\n return [r, g, b, floatAlpha];\n}\n","function hsvToColor(h: number, s: number, v: number, n: number): number {\n const k = (n + h / 60) % 6;\n\n return Math.round(v - v * s * Math.max(Math.min(k, 4 - k, 1), 0));\n}\n\n/**\n * https://stackoverflow.com/a/54024653/2706426\n */\nexport function tuiHsvToRgb(h: number, s: number, v: number): [number, number, number] {\n return [hsvToColor(h, s, v, 5), hsvToColor(h, s, v, 3), hsvToColor(h, s, v, 1)];\n}\n","const DEFAULT: [number, number, number, number] = [0, 0, 0, 1];\n\nexport function tuiParseColor(color: string): [number, number, number, number] {\n const stripped = color\n .replace(`#`, ``)\n .replace(`rgba(`, ``)\n .replace(`rgb(`, ``)\n .replace(`)`, ``);\n const array = stripped.split(`,`).map(item => parseFloat(item));\n\n if (array.length === 4) {\n return array as [number, number, number, number];\n }\n\n if (array.length === 3) {\n return array.concat(1) as [number, number, number, number];\n }\n\n const matches = stripped.match(new RegExp(`(.{${stripped.length / 3}})`, `g`));\n\n if (!matches) {\n return DEFAULT;\n }\n\n const parsed = matches.map(char =>\n parseInt(stripped.length % 2 ? char + char : char, 16),\n );\n\n return [\n parsed[0] || DEFAULT[0],\n parsed[1] || DEFAULT[1],\n parsed[2] || DEFAULT[2],\n parsed[3] === undefined ? DEFAULT[3] : parsed[3],\n ];\n}\n","export function tuiRgbToHex(r: number, g: number, b: number): string {\n return `#${[r, g, b].map(x => x.toString(16).padStart(2, `0`)).join(``)}`;\n}\n","export function tuiRgbToHsv(r: number, g: number, b: number): [number, number, number] {\n const v = Math.max(r, g, b);\n const n = v - Math.min(r, g, b);\n\n // eslint-disable-next-line no-nested-ternary\n const h = n && (v === r ? (g - b) / n : v === g ? 2 + (b - r) / n : 4 + (r - g) / n);\n\n return [60 * (h < 0 ? h + 6 : h), v && n / v, v];\n}\n","export function tuiRgbaToHex(color: string): string {\n if (!tuiIsValidRgba(color)) {\n throw new Error(`Invalid RGBa`);\n }\n\n const rgb: number[] =\n (color\n .replace(/\\s/g, ``)\n // eslint-disable-next-line unicorn/no-unsafe-regex\n .match(/^rgba?\\((\\d+),(\\d+),(\\d+),?([^,\\s)]+)?/i) as unknown as number[]) ??\n [];\n let alpha: number | string = (rgb?.[4] ?? ``).toString().trim();\n let hex = rgb\n ? (rgb[1] | (1 << 8)).toString(16).slice(1) +\n (rgb[2] | (1 << 8)).toString(16).slice(1) +\n (rgb[3] | (1 << 8)).toString(16).slice(1)\n : color;\n\n alpha = alpha !== `` ? alpha : 0o1;\n alpha = ((Number(alpha) * 255) | (1 << 8)).toString(16).slice(1);\n hex += alpha;\n\n return `#${hex.toUpperCase()}`;\n}\n\nexport function tuiIsValidRgba(rgba: string): boolean {\n const range = `(\\\\d|[1-9]\\\\d|1\\\\d{2}|2[0-4]\\\\d|2[0-5]{2})`;\n const alpha = `([01]|0?\\\\.\\\\d+)`;\n\n return new RegExp(\n `^(?:rgb\\\\(\\\\s*${range}\\\\s*,\\\\s*${range}\\\\s*,\\\\s*${range}\\\\s*\\\\)|rgba\\\\(\\\\s*${range}\\\\s*,\\\\s*${range}\\\\s*,\\\\s*${range}\\\\s*,\\\\s*${alpha}\\\\s*\\\\))$`,\n ).test(rgba);\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-color.js","sources":["../../../projects/cdk/utils/color/hex-to-rgb.ts","../../../projects/cdk/utils/color/hex-to-rgba.ts","../../../projects/cdk/utils/color/hsv-to-rgb.ts","../../../projects/cdk/utils/color/parse-color.ts","../../../projects/cdk/utils/color/rgb-to-hex.ts","../../../projects/cdk/utils/color/rgb-to-hsv.ts","../../../projects/cdk/utils/color/rgba-to-hex.ts","../../../projects/cdk/utils/color/taiga-ui-cdk-utils-color.ts"],"sourcesContent":["export function tuiHexToRgb(hex: string): [number, number, number] {\n const matches = hex\n .replace('#', '')\n .split('')\n .map((char, _, array) => (array.length === 3 ? char + char : char))\n .join('')\n .match(/.{2}/g);\n\n return matches\n ? (matches.map(x => Number.parseInt(x, 16)) as [number, number, number])\n : [0, 0, 0];\n}\n","const getChunksFromString = (hex: string, chunkSize: number): RegExpMatchArray | null =>\n hex.match(new RegExp(`.{${chunkSize}}`, 'g'));\n\nconst convertHexUnitTo256 = (hexStr: string): number =>\n parseInt(hexStr.repeat(2 / hexStr.length), 16);\n\nconst getAlphaFloat = (a: number, alpha?: number): number => {\n if (typeof a !== 'undefined') {\n return Number((a / 255).toFixed(2));\n }\n\n if (typeof alpha !== 'number' || alpha < 0 || alpha > 1) {\n return 1;\n }\n\n return alpha;\n};\n\nexport function tuiHexToRGBA(hex: string, alpha?: number): string {\n const [r, g, b, a] = tuiParseHex(hex, alpha);\n\n return a < 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`;\n}\n\nexport function tuiIsValidHex(hex: string): boolean {\n // eslint-disable-next-line unicorn/no-unsafe-regex\n return /^#([A-Fa-f0-9]{3,4}){1,2}$/.test(hex);\n}\n\nexport function tuiParseHex(\n hex: string,\n alpha?: number,\n): [number, number, number, number] {\n if (!tuiIsValidHex(hex)) {\n throw new Error('Invalid HEX');\n }\n\n const chunkSize = Math.floor((hex.length - 1) / 3);\n const hexArr = getChunksFromString(hex.slice(1), chunkSize);\n const [r, g, b, a] = hexArr?.map(convertHexUnitTo256) ?? [];\n const floatAlpha = getAlphaFloat(a, alpha);\n\n return [r, g, b, floatAlpha];\n}\n","function hsvToColor(h: number, s: number, v: number, n: number): number {\n const k = (n + h / 60) % 6;\n\n return Math.round(v - v * s * Math.max(Math.min(k, 4 - k, 1), 0));\n}\n\n/**\n * https://stackoverflow.com/a/54024653/2706426\n */\nexport function tuiHsvToRgb(h: number, s: number, v: number): [number, number, number] {\n return [hsvToColor(h, s, v, 5), hsvToColor(h, s, v, 3), hsvToColor(h, s, v, 1)];\n}\n","const DEFAULT: [number, number, number, number] = [0, 0, 0, 1];\n\nexport function tuiParseColor(color: string): [number, number, number, number] {\n const stripped = color\n .replace('#', '')\n .replace('rgba(', '')\n .replace('rgb(', '')\n .replace(')', '');\n const array = stripped.split(',').map(item => parseFloat(item));\n\n if (array.length === 4) {\n return array as [number, number, number, number];\n }\n\n if (array.length === 3) {\n return array.concat(1) as [number, number, number, number];\n }\n\n const matches = stripped.match(new RegExp(`(.{${stripped.length / 3}})`, 'g'));\n\n if (!matches) {\n return DEFAULT;\n }\n\n const parsed = matches.map(char =>\n parseInt(stripped.length % 2 ? char + char : char, 16),\n );\n\n return [\n parsed[0] || DEFAULT[0],\n parsed[1] || DEFAULT[1],\n parsed[2] || DEFAULT[2],\n parsed[3] === undefined ? DEFAULT[3] : parsed[3],\n ];\n}\n","export function tuiRgbToHex(r: number, g: number, b: number): string {\n return `#${[r, g, b].map(x => x.toString(16).padStart(2, '0')).join('')}`;\n}\n","export function tuiRgbToHsv(r: number, g: number, b: number): [number, number, number] {\n const v = Math.max(r, g, b);\n const n = v - Math.min(r, g, b);\n\n // eslint-disable-next-line no-nested-ternary\n const h = n && (v === r ? (g - b) / n : v === g ? 2 + (b - r) / n : 4 + (r - g) / n);\n\n return [60 * (h < 0 ? h + 6 : h), v && n / v, v];\n}\n","export function tuiRgbaToHex(color: string): string {\n if (!tuiIsValidRgba(color)) {\n throw new Error('Invalid RGBa');\n }\n\n const rgb: number[] =\n (color\n .replace(/\\s/g, '')\n // eslint-disable-next-line unicorn/no-unsafe-regex\n .match(/^rgba?\\((\\d+),(\\d+),(\\d+),?([^,\\s)]+)?/i) as unknown as number[]) ??\n [];\n let alpha: number | string = (rgb?.[4] ?? '').toString().trim();\n let hex = rgb\n ? (rgb[1] | (1 << 8)).toString(16).slice(1) +\n (rgb[2] | (1 << 8)).toString(16).slice(1) +\n (rgb[3] | (1 << 8)).toString(16).slice(1)\n : color;\n\n alpha = alpha !== '' ? alpha : 0o1;\n alpha = ((Number(alpha) * 255) | (1 << 8)).toString(16).slice(1);\n hex += alpha;\n\n return `#${hex.toUpperCase()}`;\n}\n\nexport function tuiIsValidRgba(rgba: string): boolean {\n const range = '(\\\\d|[1-9]\\\\d|1\\\\d{2}|2[0-4]\\\\d|2[0-5]{2})';\n const alpha = '([01]|0?\\\\.\\\\d+)';\n\n return new RegExp(\n `^(?:rgb\\\\(\\\\s*${range}\\\\s*,\\\\s*${range}\\\\s*,\\\\s*${range}\\\\s*\\\\)|rgba\\\\(\\\\s*${range}\\\\s*,\\\\s*${range}\\\\s*,\\\\s*${range}\\\\s*,\\\\s*${alpha}\\\\s*\\\\))$`,\n ).test(rgba);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -55,16 +55,16 @@ function tuiContainsOrAfter(current, node) {
|
|
55
55
|
}
|
56
56
|
|
57
57
|
function tuiIsInput(element) {
|
58
|
-
return element.matches(
|
58
|
+
return element.matches('input');
|
59
59
|
}
|
60
60
|
function tuiIsTextarea(element) {
|
61
|
-
return element.matches(
|
61
|
+
return element.matches('textarea');
|
62
62
|
}
|
63
63
|
function tuiIsTextfield(element) {
|
64
64
|
return tuiIsInput(element) || tuiIsTextarea(element);
|
65
65
|
}
|
66
66
|
function tuiIsElement(node) {
|
67
|
-
return !!node &&
|
67
|
+
return !!node && 'nodeType' in node && node.nodeType === Node.ELEMENT_NODE;
|
68
68
|
}
|
69
69
|
function tuiIsHTMLElement(node) {
|
70
70
|
// TODO: iframe warning
|
@@ -81,19 +81,19 @@ function tuiGetActualTarget(event) {
|
|
81
81
|
return event.composedPath()[0];
|
82
82
|
}
|
83
83
|
|
84
|
-
const DEFAULT_FORMAT =
|
84
|
+
const DEFAULT_FORMAT = 'text/plain';
|
85
85
|
/**
|
86
86
|
* Gets text from data of clipboardEvent, it also works in IE and Edge browsers
|
87
87
|
*/
|
88
88
|
function tuiGetClipboardDataText(event, format = DEFAULT_FORMAT) {
|
89
|
-
return
|
89
|
+
return 'clipboardData' in event && event.clipboardData !== null
|
90
90
|
? event.clipboardData.getData(format) ||
|
91
91
|
event.clipboardData.getData(DEFAULT_FORMAT)
|
92
|
-
: event.target.ownerDocument.defaultView.clipboardData.getData(
|
92
|
+
: event.target.ownerDocument.defaultView.clipboardData.getData('text');
|
93
93
|
}
|
94
94
|
|
95
95
|
function tuiGetDocumentOrShadowRoot(node) {
|
96
|
-
return
|
96
|
+
return 'getRootNode' in node && node.isConnected
|
97
97
|
? node.getRootNode()
|
98
98
|
: node.ownerDocument;
|
99
99
|
}
|
@@ -146,7 +146,7 @@ function tuiGetElementObscures(element) {
|
|
146
146
|
* @return object with offsetTop and offsetLeft number properties
|
147
147
|
*/
|
148
148
|
function tuiGetElementOffset(host, element) {
|
149
|
-
ngDevMode && tuiAssert.assert(host.contains(element),
|
149
|
+
ngDevMode && tuiAssert.assert(host.contains(element), 'Host must contain element');
|
150
150
|
let { offsetTop, offsetLeft, offsetParent } = element;
|
151
151
|
while (tuiIsHTMLElement(offsetParent) && offsetParent !== host) {
|
152
152
|
offsetTop += offsetParent.offsetTop;
|
@@ -237,15 +237,15 @@ function tuiPointToClientRect(x = 0, y = 0) {
|
|
237
237
|
|
238
238
|
function tuiRetargetedBoundaryCrossing(event) {
|
239
239
|
// firefox
|
240
|
-
if (
|
240
|
+
if ('explicitOriginalTarget' in event) {
|
241
241
|
return (event === null || event === void 0 ? void 0 : event.explicitOriginalTarget) !== event.target;
|
242
242
|
}
|
243
243
|
// chrome
|
244
|
-
if (
|
244
|
+
if ('pointerId' in event) {
|
245
245
|
return event.pointerId === -1;
|
246
246
|
}
|
247
247
|
// safari
|
248
|
-
if (
|
248
|
+
if ('detail' in event && 'webkitForce' in event) {
|
249
249
|
return (event === null || event === void 0 ? void 0 : event.detail) === 0;
|
250
250
|
}
|
251
251
|
return false;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-dom.js","sources":["../../../projects/cdk/utils/dom/can-scroll.ts","../../../projects/cdk/utils/dom/contains-or-after.ts","../../../projects/cdk/utils/dom/element-checks.ts","../../../projects/cdk/utils/dom/get-actual-target.ts","../../../projects/cdk/utils/dom/get-clipboard-data-text.ts","../../../projects/cdk/utils/dom/get-document-or-shadow-root.ts","../../../projects/cdk/utils/dom/get-element-obscurers.ts","../../../projects/cdk/utils/dom/get-element-offset.ts","../../../projects/cdk/utils/dom/get-scroll-parent.ts","../../../projects/cdk/utils/dom/get-selected-text.ts","../../../projects/cdk/utils/dom/is-current-target.ts","../../../projects/cdk/utils/dom/is-element-editable.ts","../../../projects/cdk/utils/dom/is-inside-iframe.ts","../../../projects/cdk/utils/dom/is-node-in.ts","../../../projects/cdk/utils/dom/point-to-client-rect.ts","../../../projects/cdk/utils/dom/retarget-boundary-crossing.ts","../../../projects/cdk/utils/dom/taiga-ui-cdk-utils-dom.ts"],"sourcesContent":["function 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\nexport function tuiCanScroll(\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","export function tuiContainsOrAfter(current: Node, node: Node): boolean {\n try {\n return (\n current.contains(node) ||\n !!(node.compareDocumentPosition(current) & Node.DOCUMENT_POSITION_PRECEDING)\n );\n } catch {\n return false;\n }\n}\n","export function tuiIsInput(element: Element): element is HTMLInputElement {\n return element.matches(`input`);\n}\n\nexport function tuiIsTextarea(element: Element): element is HTMLTextAreaElement {\n return element.matches(`textarea`);\n}\n\nexport function tuiIsTextfield(\n element: Element,\n): element is HTMLInputElement | HTMLTextAreaElement {\n return tuiIsInput(element) || tuiIsTextarea(element);\n}\n\nexport function tuiIsElement(\n node?: Element | EventTarget | Node | null,\n): node is Element {\n return !!node && `nodeType` in node && node.nodeType === Node.ELEMENT_NODE;\n}\n\nexport function tuiIsHTMLElement(node: unknown): node is HTMLElement {\n // TODO: iframe warning\n return node instanceof HTMLElement;\n}\n\nexport function tuiIsTextNode(node: Node): node is Text {\n return node.nodeType === Node.TEXT_NODE;\n}\n","/**\n * Gets actual target from open Shadow DOM if event happened within it\n */\nexport function tuiGetActualTarget(event: Event): Node {\n return event.composedPath()[0] as Node;\n}\n","const DEFAULT_FORMAT = `text/plain`;\n\n/**\n * Gets text from data of clipboardEvent, it also works in IE and Edge browsers\n */\nexport function tuiGetClipboardDataText(\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","export function tuiGetDocumentOrShadowRoot(node: Node): DocumentOrShadowRoot {\n return `getRootNode` in node && node.isConnected\n ? (node.getRootNode() as Document)\n : (node.ownerDocument as DocumentOrShadowRoot);\n}\n","import {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {tuiGetDocumentOrShadowRoot} from './get-document-or-shadow-root';\n\n/**\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 * TODO: v4.0 change function signature to\n * ```ts\n * function tuiGetElementObscures(element: Element): readonly [Element, Element, Element, Element] | [] | null\n * ```\n */\nexport function tuiGetElementObscures(element: Element): readonly Element[] | null {\n const {ownerDocument} = element;\n\n if (!ownerDocument?.defaultView || !element.getBoundingClientRect) {\n return null;\n }\n\n const {innerWidth, innerHeight} = ownerDocument.defaultView;\n const doc = tuiGetDocumentOrShadowRoot(element);\n const rect = element.getBoundingClientRect();\n\n if (rect.width === 0 && rect.height === 0) {\n return null;\n }\n\n const left = tuiClamp(Math.round(rect.left) + 2, 0, innerWidth);\n const top = tuiClamp(Math.round(rect.top) + 2, 0, innerHeight);\n const right = tuiClamp(Math.round(rect.right) - 2, 0, innerWidth);\n const bottom = tuiClamp(Math.round(rect.bottom) - 2, 0, innerHeight);\n const horizontalMiddle = tuiClamp(\n Math.round(rect.left + rect.width / 2),\n 0,\n innerWidth,\n );\n const verticalMiddle = tuiClamp(\n Math.round(rect.top + rect.height / 2),\n 0,\n innerHeight,\n );\n const elements = [\n doc.elementFromPoint(horizontalMiddle, top),\n doc.elementFromPoint(horizontalMiddle, bottom),\n doc.elementFromPoint(left, verticalMiddle),\n doc.elementFromPoint(right, verticalMiddle),\n ];\n const nonNull = elements.filter(tuiIsPresent);\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","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nimport {tuiIsHTMLElement} from './element-checks';\n\n/**\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 */\nexport function tuiGetElementOffset(\n host: Element,\n element: HTMLElement,\n): {offsetLeft: number; offsetTop: number} {\n ngDevMode && tuiAssert.assert(host.contains(element), `Host must contain element`);\n\n let {offsetTop, offsetLeft, offsetParent} = element;\n\n while (tuiIsHTMLElement(offsetParent) && offsetParent !== host) {\n offsetTop += offsetParent.offsetTop;\n offsetLeft += offsetParent.offsetLeft;\n offsetParent = offsetParent.offsetParent;\n }\n\n return {offsetTop, offsetLeft};\n}\n","/**\n * Finds the nearest parent with scroll in it\n *\n * @param element initial element\n * @param vertical flag for orientation of scroll\n */\nexport function tuiGetScrollParent(\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 tuiGetScrollParent(element.parentElement, vertical);\n}\n","import {tuiIsTextfield} from './element-checks';\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 document.activeElement && tuiIsTextfield(document.activeElement)\n ? document.activeElement.value.slice(\n document.activeElement.selectionStart || 0,\n document.activeElement.selectionEnd || 0,\n )\n : getSelection()?.toString() || null;\n}\n","export function tuiIsCurrentTarget({target, currentTarget}: Event): boolean {\n return target === currentTarget;\n}\n","import {tuiIsTextfield} from './element-checks';\n\nexport function tuiIsElementEditable(element: HTMLElement): boolean {\n return (tuiIsTextfield(element) && !element.readOnly) || !!element.isContentEditable;\n}\n","/**\n * Checks if an app is running inside <iframe /> tag\n */\nexport function tuiIsInsideIframe(win: Window): boolean {\n return win.parent !== win;\n}\n","import {tuiIsElement, tuiIsTextNode} from './element-checks';\n\n/**\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 */\nexport function tuiIsNodeIn(node: Node, selector: string): boolean {\n return tuiIsTextNode(node)\n ? !!node.parentElement?.closest(selector)\n : tuiIsElement(node) && !!node.closest(selector);\n}\n","export function tuiPointToClientRect(x: number = 0, y: number = 0): DOMRect {\n const rect = {\n x,\n y,\n left: x,\n right: x,\n top: y,\n bottom: y,\n width: 0,\n height: 0,\n } as const;\n\n return {\n ...rect,\n toJSON() {\n return rect;\n },\n };\n}\n","export function tuiRetargetedBoundaryCrossing(event: any): boolean {\n // firefox\n if (`explicitOriginalTarget` in event) {\n return event?.explicitOriginalTarget !== event.target;\n }\n\n // chrome\n if (`pointerId` in event) {\n return event.pointerId === -1;\n }\n\n // safari\n if (`detail` in event && `webkitForce` in event) {\n return event?.detail === 0;\n }\n\n return false;\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":["../../../projects/cdk/utils/dom/can-scroll.ts","../../../projects/cdk/utils/dom/contains-or-after.ts","../../../projects/cdk/utils/dom/element-checks.ts","../../../projects/cdk/utils/dom/get-actual-target.ts","../../../projects/cdk/utils/dom/get-clipboard-data-text.ts","../../../projects/cdk/utils/dom/get-document-or-shadow-root.ts","../../../projects/cdk/utils/dom/get-element-obscurers.ts","../../../projects/cdk/utils/dom/get-element-offset.ts","../../../projects/cdk/utils/dom/get-scroll-parent.ts","../../../projects/cdk/utils/dom/get-selected-text.ts","../../../projects/cdk/utils/dom/is-current-target.ts","../../../projects/cdk/utils/dom/is-element-editable.ts","../../../projects/cdk/utils/dom/is-inside-iframe.ts","../../../projects/cdk/utils/dom/is-node-in.ts","../../../projects/cdk/utils/dom/point-to-client-rect.ts","../../../projects/cdk/utils/dom/retarget-boundary-crossing.ts","../../../projects/cdk/utils/dom/taiga-ui-cdk-utils-dom.ts"],"sourcesContent":["function 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\nexport function tuiCanScroll(\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","export function tuiContainsOrAfter(current: Node, node: Node): boolean {\n try {\n return (\n current.contains(node) ||\n !!(node.compareDocumentPosition(current) & Node.DOCUMENT_POSITION_PRECEDING)\n );\n } catch {\n return false;\n }\n}\n","export function tuiIsInput(element: Element): element is HTMLInputElement {\n return element.matches('input');\n}\n\nexport function tuiIsTextarea(element: Element): element is HTMLTextAreaElement {\n return element.matches('textarea');\n}\n\nexport function tuiIsTextfield(\n element: Element,\n): element is HTMLInputElement | HTMLTextAreaElement {\n return tuiIsInput(element) || tuiIsTextarea(element);\n}\n\nexport function tuiIsElement(\n node?: Element | EventTarget | Node | null,\n): node is Element {\n return !!node && 'nodeType' in node && node.nodeType === Node.ELEMENT_NODE;\n}\n\nexport function tuiIsHTMLElement(node: unknown): node is HTMLElement {\n // TODO: iframe warning\n return node instanceof HTMLElement;\n}\n\nexport function tuiIsTextNode(node: Node): node is Text {\n return node.nodeType === Node.TEXT_NODE;\n}\n","/**\n * Gets actual target from open Shadow DOM if event happened within it\n */\nexport function tuiGetActualTarget(event: Event): Node {\n return event.composedPath()[0] as Node;\n}\n","const DEFAULT_FORMAT = 'text/plain';\n\n/**\n * Gets text from data of clipboardEvent, it also works in IE and Edge browsers\n */\nexport function tuiGetClipboardDataText(\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","export function tuiGetDocumentOrShadowRoot(node: Node): DocumentOrShadowRoot {\n return 'getRootNode' in node && node.isConnected\n ? (node.getRootNode() as Document)\n : (node.ownerDocument as DocumentOrShadowRoot);\n}\n","import {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {tuiGetDocumentOrShadowRoot} from './get-document-or-shadow-root';\n\n/**\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 * TODO: v4.0 change function signature to\n * ```ts\n * function tuiGetElementObscures(element: Element): readonly [Element, Element, Element, Element] | [] | null\n * ```\n */\nexport function tuiGetElementObscures(element: Element): readonly Element[] | null {\n const {ownerDocument} = element;\n\n if (!ownerDocument?.defaultView || !element.getBoundingClientRect) {\n return null;\n }\n\n const {innerWidth, innerHeight} = ownerDocument.defaultView;\n const doc = tuiGetDocumentOrShadowRoot(element);\n const rect = element.getBoundingClientRect();\n\n if (rect.width === 0 && rect.height === 0) {\n return null;\n }\n\n const left = tuiClamp(Math.round(rect.left) + 2, 0, innerWidth);\n const top = tuiClamp(Math.round(rect.top) + 2, 0, innerHeight);\n const right = tuiClamp(Math.round(rect.right) - 2, 0, innerWidth);\n const bottom = tuiClamp(Math.round(rect.bottom) - 2, 0, innerHeight);\n const horizontalMiddle = tuiClamp(\n Math.round(rect.left + rect.width / 2),\n 0,\n innerWidth,\n );\n const verticalMiddle = tuiClamp(\n Math.round(rect.top + rect.height / 2),\n 0,\n innerHeight,\n );\n const elements = [\n doc.elementFromPoint(horizontalMiddle, top),\n doc.elementFromPoint(horizontalMiddle, bottom),\n doc.elementFromPoint(left, verticalMiddle),\n doc.elementFromPoint(right, verticalMiddle),\n ];\n const nonNull = elements.filter(tuiIsPresent);\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","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nimport {tuiIsHTMLElement} from './element-checks';\n\n/**\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 */\nexport function tuiGetElementOffset(\n host: Element,\n element: HTMLElement,\n): {offsetLeft: number; offsetTop: number} {\n ngDevMode && tuiAssert.assert(host.contains(element), 'Host must contain element');\n\n let {offsetTop, offsetLeft, offsetParent} = element;\n\n while (tuiIsHTMLElement(offsetParent) && offsetParent !== host) {\n offsetTop += offsetParent.offsetTop;\n offsetLeft += offsetParent.offsetLeft;\n offsetParent = offsetParent.offsetParent;\n }\n\n return {offsetTop, offsetLeft};\n}\n","/**\n * Finds the nearest parent with scroll in it\n *\n * @param element initial element\n * @param vertical flag for orientation of scroll\n */\nexport function tuiGetScrollParent(\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 tuiGetScrollParent(element.parentElement, vertical);\n}\n","import {tuiIsTextfield} from './element-checks';\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 document.activeElement && tuiIsTextfield(document.activeElement)\n ? document.activeElement.value.slice(\n document.activeElement.selectionStart || 0,\n document.activeElement.selectionEnd || 0,\n )\n : getSelection()?.toString() || null;\n}\n","export function tuiIsCurrentTarget({target, currentTarget}: Event): boolean {\n return target === currentTarget;\n}\n","import {tuiIsTextfield} from './element-checks';\n\nexport function tuiIsElementEditable(element: HTMLElement): boolean {\n return (tuiIsTextfield(element) && !element.readOnly) || !!element.isContentEditable;\n}\n","/**\n * Checks if an app is running inside <iframe /> tag\n */\nexport function tuiIsInsideIframe(win: Window): boolean {\n return win.parent !== win;\n}\n","import {tuiIsElement, tuiIsTextNode} from './element-checks';\n\n/**\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 */\nexport function tuiIsNodeIn(node: Node, selector: string): boolean {\n return tuiIsTextNode(node)\n ? !!node.parentElement?.closest(selector)\n : tuiIsElement(node) && !!node.closest(selector);\n}\n","export function tuiPointToClientRect(x: number = 0, y: number = 0): DOMRect {\n const rect = {\n x,\n y,\n left: x,\n right: x,\n top: y,\n bottom: y,\n width: 0,\n height: 0,\n } as const;\n\n return {\n ...rect,\n toJSON() {\n return rect;\n },\n };\n}\n","export function tuiRetargetedBoundaryCrossing(event: any): boolean {\n // firefox\n if ('explicitOriginalTarget' in event) {\n return event?.explicitOriginalTarget !== event.target;\n }\n\n // chrome\n if ('pointerId' in event) {\n return event.pointerId === -1;\n }\n\n // safari\n if ('detail' in event && 'webkitForce' in event) {\n return event?.detail === 0;\n }\n\n return false;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA,SAAS,iBAAiB,CACtB,OAAgB,EAChB,WAAoB,EACpB,SAAkB,EAAA;IAElB,IAAI,cAAc,GAAG,OAAO,CAAC;AAE7B,IAAA,OAAO,cAAc,KAAK,WAAW,CAAC,aAAa,EAAE;AACjD,QAAA,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;AAC9D,gBAAA,cAAc,CAAC,YAAY;AAC3B,gBAAA,SAAS,CAAC,EAChB;AACE,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QAED,IAAI,cAAc,CAAC,aAAa,EAAE;AAC9B,YAAA,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC;AACjD,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AACJ,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CACxB,OAAgB,EAChB,WAAoB,EACpB,SAAkB,EAAA;IAElB,IAAI,cAAc,GAAG,OAAO,CAAC;AAE7B,IAAA,OAAO,cAAc,KAAK,WAAW,CAAC,aAAa,EAAE;AACjD,QAAA,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;AAC9D,gBAAA,cAAc,CAAC,WAAW;AAC1B,gBAAA,SAAS,CAAC,EAChB;AACE,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QAED,IAAI,cAAc,CAAC,aAAa,EAAE;AAC9B,YAAA,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC;AACjD,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AACJ,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAEK,SAAU,YAAY,CACxB,OAAgB,EAChB,WAAoB,EACpB,QAAiB,EACjB,SAAkB,EAAA;AAElB,IAAA,OAAO,QAAQ;UACT,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC;UAClD,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAC/D;;AC/DgB,SAAA,kBAAkB,CAAC,OAAa,EAAE,IAAU,EAAA;IACxD,IAAI;AACA,QAAA,QACI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;AACtB,YAAA,CAAC,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC,EAC9E;AACL,KAAA;IAAC,OAAM,EAAA,EAAA;AACJ,QAAA,OAAO,KAAK,CAAC;AAChB,KAAA;AACL;;ACTM,SAAU,UAAU,CAAC,OAAgB,EAAA;AACvC,IAAA,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAEK,SAAU,aAAa,CAAC,OAAgB,EAAA;AAC1C,IAAA,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC;AAEK,SAAU,cAAc,CAC1B,OAAgB,EAAA;IAEhB,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;AACzD,CAAC;AAEK,SAAU,YAAY,CACxB,IAA0C,EAAA;AAE1C,IAAA,OAAO,CAAC,CAAC,IAAI,IAAI,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,CAAC;AAC/E,CAAC;AAEK,SAAU,gBAAgB,CAAC,IAAa,EAAA;;IAE1C,OAAO,IAAI,YAAY,WAAW,CAAC;AACvC,CAAC;AAEK,SAAU,aAAa,CAAC,IAAU,EAAA;AACpC,IAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC;AAC5C;;AC3BA;;AAEG;AACG,SAAU,kBAAkB,CAAC,KAAY,EAAA;AAC3C,IAAA,OAAO,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAS,CAAC;AAC3C;;ACLA,MAAM,cAAc,GAAG,YAAY,CAAC;AAEpC;;AAEG;SACa,uBAAuB,CACnC,KAAqB,EACrB,SAAiB,cAAc,EAAA;IAE/B,OAAO,eAAe,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI;UACzD,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;AAC/B,YAAA,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC;AACjD,UAAG,KAAa,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACxF;;ACbM,SAAU,0BAA0B,CAAC,IAAU,EAAA;AACjD,IAAA,OAAO,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW;AAC5C,UAAG,IAAI,CAAC,WAAW,EAAe;AAClC,UAAG,IAAI,CAAC,aAAsC,CAAC;AACvD;;ACCA;;;;;;;;AAQG;AACG,SAAU,qBAAqB,CAAC,OAAgB,EAAA;AAClD,IAAA,MAAM,EAAC,aAAa,EAAC,GAAG,OAAO,CAAC;AAEhC,IAAA,IAAI,EAAC,aAAa,KAAA,IAAA,IAAb,aAAa,KAAb,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,aAAa,CAAE,WAAW,CAAA,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE;AAC/D,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;IAED,MAAM,EAAC,UAAU,EAAE,WAAW,EAAC,GAAG,aAAa,CAAC,WAAW,CAAC;AAC5D,IAAA,MAAM,GAAG,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;AAChD,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAE7C,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACvC,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;AAED,IAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAChE,IAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;AAC/D,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AAClE,IAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IACrE,MAAM,gBAAgB,GAAG,QAAQ,CAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EACtC,CAAC,EACD,UAAU,CACb,CAAC;IACF,MAAM,cAAc,GAAG,QAAQ,CAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EACtC,CAAC,EACD,WAAW,CACd,CAAC;AACF,IAAA,MAAM,QAAQ,GAAG;AACb,QAAA,GAAG,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,GAAG,CAAC;AAC3C,QAAA,GAAG,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,CAAC;AAC9C,QAAA,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC;AAC1C,QAAA,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC;KAC9C,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAE9C,IAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACjB,QAAA,OAAO,OAAO,CAAC;AAClB,KAAA;AAED,IAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAE7D,IAAA,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC;AACnD;;ACtDA;;;;;;AAMG;AACa,SAAA,mBAAmB,CAC/B,IAAa,EACb,OAAoB,EAAA;AAEpB,IAAA,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,2BAA2B,CAAC,CAAC;IAEnF,IAAI,EAAC,SAAS,EAAE,UAAU,EAAE,YAAY,EAAC,GAAG,OAAO,CAAC;IAEpD,OAAO,gBAAgB,CAAC,YAAY,CAAC,IAAI,YAAY,KAAK,IAAI,EAAE;AAC5D,QAAA,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC;AACpC,QAAA,UAAU,IAAI,YAAY,CAAC,UAAU,CAAC;AACtC,QAAA,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;AAC5C,KAAA;AAED,IAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAC,CAAC;AACnC;;AC1BA;;;;;AAKG;SACa,kBAAkB,CAC9B,OAAuB,EACvB,WAAoB,IAAI,EAAA;IAExB,IAAI,OAAO,KAAK,IAAI,EAAE;AAClB,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;IAED,IAAI,QAAQ,IAAI,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE;AACzD,QAAA,OAAO,OAAO,CAAC;AAClB,KAAA;IAED,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE;AACxD,QAAA,OAAO,OAAO,CAAC;AAClB,KAAA;IAED,OAAO,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAC/D;;ACrBA;;;;;;;AAOG;SACa,kBAAkB,CAAC,EAAC,YAAY,EAAE,QAAQ,EAAS,EAAA;;IAC/D,OAAO,QAAQ,CAAC,aAAa,IAAI,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC;UACjE,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,CAAA,CAAA,EAAA,GAAA,YAAY,EAAE,0CAAE,QAAQ,EAAE,KAAI,IAAI,CAAC;AAC7C;;SCjBgB,kBAAkB,CAAC,EAAC,MAAM,EAAE,aAAa,EAAQ,EAAA;IAC7D,OAAO,MAAM,KAAK,aAAa,CAAC;AACpC;;ACAM,SAAU,oBAAoB,CAAC,OAAoB,EAAA;AACrD,IAAA,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;AACzF;;ACJA;;AAEG;AACG,SAAU,iBAAiB,CAAC,GAAW,EAAA;AACzC,IAAA,OAAO,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC;AAC9B;;ACHA;;;;;;AAMG;AACa,SAAA,WAAW,CAAC,IAAU,EAAE,QAAgB,EAAA;;IACpD,OAAO,aAAa,CAAC,IAAI,CAAC;AACtB,UAAE,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAC,QAAQ,CAAC,CAAA;AACzC,UAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACzD;;SCbgB,oBAAoB,CAAC,IAAY,CAAC,EAAE,IAAY,CAAC,EAAA;AAC7D,IAAA,MAAM,IAAI,GAAG;QACT,CAAC;QACD,CAAC;AACD,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,MAAM,EAAE,CAAC;KACH,CAAC;IAEX,OACO,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,KACP,MAAM,GAAA;AACF,YAAA,OAAO,IAAI,CAAC;AAChB,SAAC,EACH,CAAA,CAAA;AACN;;AClBM,SAAU,6BAA6B,CAAC,KAAU,EAAA;;IAEpD,IAAI,wBAAwB,IAAI,KAAK,EAAE;AACnC,QAAA,OAAO,CAAA,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,sBAAsB,MAAK,KAAK,CAAC,MAAM,CAAC;AACzD,KAAA;;IAGD,IAAI,WAAW,IAAI,KAAK,EAAE;AACtB,QAAA,OAAO,KAAK,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC;AACjC,KAAA;;AAGD,IAAA,IAAI,QAAQ,IAAI,KAAK,IAAI,aAAa,IAAI,KAAK,EAAE;QAC7C,OAAO,CAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,MAAM,MAAK,CAAC,CAAC;AAC9B,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACjB;;ACjBA;;AAEG;;;;"}
|
@@ -34,34 +34,34 @@ function tuiBlurNativeFocused(doc) {
|
|
34
34
|
* circumstances could prevent actual focus.
|
35
35
|
*/
|
36
36
|
function tuiIsNativeKeyboardFocusable(element) {
|
37
|
-
if (element.hasAttribute(
|
37
|
+
if (element.hasAttribute('disabled') || element.getAttribute('tabIndex') === '-1') {
|
38
38
|
return false;
|
39
39
|
}
|
40
40
|
if ((tuiIsHTMLElement(element) && element.isContentEditable) ||
|
41
|
-
element.getAttribute(
|
41
|
+
element.getAttribute('tabIndex') === '0') {
|
42
42
|
return true;
|
43
43
|
}
|
44
44
|
switch (element.tagName) {
|
45
|
-
case
|
46
|
-
case
|
47
|
-
case
|
45
|
+
case 'BUTTON':
|
46
|
+
case 'SELECT':
|
47
|
+
case 'TEXTAREA':
|
48
48
|
return true;
|
49
|
-
case
|
50
|
-
case
|
51
|
-
return element.hasAttribute(
|
52
|
-
case
|
53
|
-
return element.getAttribute(
|
54
|
-
case
|
55
|
-
case
|
56
|
-
return element.hasAttribute(
|
49
|
+
case 'VIDEO':
|
50
|
+
case 'AUDIO':
|
51
|
+
return element.hasAttribute('controls');
|
52
|
+
case 'INPUT':
|
53
|
+
return element.getAttribute('type') !== 'hidden';
|
54
|
+
case 'A':
|
55
|
+
case 'LINK':
|
56
|
+
return element.hasAttribute('href');
|
57
57
|
default:
|
58
58
|
return false;
|
59
59
|
}
|
60
60
|
}
|
61
61
|
|
62
62
|
function tuiIsNativeMouseFocusable(element) {
|
63
|
-
return (!element.hasAttribute(
|
64
|
-
(element.getAttribute(
|
63
|
+
return (!element.hasAttribute('disabled') &&
|
64
|
+
(element.getAttribute('tabIndex') === '-1' ||
|
65
65
|
tuiIsNativeKeyboardFocusable(element)));
|
66
66
|
}
|
67
67
|
|
@@ -147,12 +147,12 @@ function tuiSetNativeMouseFocused(element, focused = true, preventScroll = false
|
|
147
147
|
if (!element.ownerDocument) {
|
148
148
|
return;
|
149
149
|
}
|
150
|
-
if (typeof Event ===
|
151
|
-
element.dispatchEvent(new Event(
|
150
|
+
if (typeof Event === 'function') {
|
151
|
+
element.dispatchEvent(new Event('mousedown', { bubbles: true, cancelable: true }));
|
152
152
|
}
|
153
153
|
else {
|
154
|
-
const event = element.ownerDocument.createEvent(
|
155
|
-
event.initEvent(
|
154
|
+
const event = element.ownerDocument.createEvent('Event');
|
155
|
+
event.initEvent('mousedown', true, true);
|
156
156
|
element.dispatchEvent(event);
|
157
157
|
}
|
158
158
|
if (focused) {
|