@taiga-ui/cdk 4.6.0-canary.d8f9586 → 4.7.0-canary.2dd3ca2
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/constants/used-icons.d.ts +1 -1
- package/constants/version.d.ts +1 -1
- package/constants/version.js +1 -1
- package/esm2022/constants/used-icons.mjs +3 -2
- package/esm2022/constants/version.mjs +2 -2
- package/esm2022/services/scroll.service.mjs +5 -3
- package/esm2022/tokens/active-element.mjs +5 -4
- package/esm2022/tokens/environment.mjs +7 -3
- package/esm2022/utils/browser/is-safari.mjs +2 -2
- package/esm2022/utils/color/hex-to-rgba.mjs +2 -2
- package/fesm2022/taiga-ui-cdk-constants.mjs +3 -2
- package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-services.mjs +4 -2
- package/fesm2022/taiga-ui-cdk-services.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-tokens.mjs +10 -5
- package/fesm2022/taiga-ui-cdk-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-browser.mjs +1 -1
- package/fesm2022/taiga-ui-cdk-utils-browser.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-color.mjs +1 -1
- package/fesm2022/taiga-ui-cdk-utils-color.mjs.map +1 -1
- package/package.json +7 -7
- package/schematics/ng-update/v4/index.js +3 -1
- package/schematics/ng-update/v4/steps/constants/attr-with-values-to-replace.js +1 -1
- package/schematics/ng-update/v4/steps/constants/identifiers-to-replace.js +20 -20
- package/schematics/ng-update/v4/steps/constants/modules-to-remove.js +8 -0
- package/schematics/ng-update/v4/steps/migrate-providers-from.d.ts +2 -0
- package/schematics/ng-update/v4/steps/migrate-providers-from.js +32 -0
- package/schematics/ng-update/v4/steps/templates/migrate-button-appearance.js +2 -2
- package/schematics/ng-update/v4/steps/update-packages.d.ts +1 -2
- package/schematics/ng-update/v4/steps/update-packages.js +14 -12
- package/services/scroll.service.d.ts +1 -0
@@ -4,4 +4,4 @@
|
|
4
4
|
*
|
5
5
|
* Array of icons used in taiga-ui components
|
6
6
|
*/
|
7
|
-
export declare const TUI_USED_ICONS: readonly ["@tui.mir", "@tui.visa", "@tui.electron", "@tui.mastercard", "@tui.maestro", "@tui.amex", "@tui.diners-club", "@tui.discover", "@tui.humo", "@tui.jcb", "@tui.ru-pay", "@tui.union-pay", "@tui.uzcard", "@tui.verve", "@tui.search", "@tui.sun", "@tui.moon", "@tui.code", "@tui.menu", "@tui.copy", "@tui.check", "@tui.link", "@tui.eye-off", "@tui.eye", "@tui.grip-vertical", "@tui.chevron-up", "@tui.chevron-down", "@tui.chevrons-up-down", "@tui.info", "@tui.circle-check", "@tui.circle-x", "@tui.circle-alert", "@tui.circle-help", "@tui.x", "@tui.chevron-right", "@tui.chevron-left", "@tui.
|
7
|
+
export declare const TUI_USED_ICONS: readonly ["@tui.mir", "@tui.visa", "@tui.electron", "@tui.mastercard", "@tui.maestro", "@tui.amex", "@tui.diners-club", "@tui.discover", "@tui.humo", "@tui.jcb", "@tui.ru-pay", "@tui.union-pay", "@tui.uzcard", "@tui.verve", "@tui.external-link", "@tui.search", "@tui.sun", "@tui.moon", "@tui.code", "@tui.menu", "@tui.copy", "@tui.check", "@tui.link", "@tui.eye-off", "@tui.eye", "@tui.grip-vertical", "@tui.chevron-up", "@tui.chevron-down", "@tui.chevrons-up-down", "@tui.info", "@tui.circle-check", "@tui.circle-x", "@tui.circle-alert", "@tui.circle-help", "@tui.x", "@tui.chevron-right", "@tui.chevron-left", "@tui.minus", "@tui.file", "@tui.trash", "@tui.phone", "@tui.star", "@tui.calendar", "@tui.rotate-ccw-square", "@tui.arrow-left", "@tui.arrow-right", "@tui.plus", "@tui.minimize", "@tui.filter", "@tui.layout-grid", "@tui.move-up-right", "@tui.move-right", "@tui.move-down-right", "@tui.move-down", "@tui.move-down-left", "@tui.move-left", "@tui.move-up-left", "@tui.move-up", "@tui.clock"];
|
package/constants/version.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export declare const TUI_VERSION = "4.
|
1
|
+
export declare const TUI_VERSION = "4.7.0";
|
package/constants/version.js
CHANGED
@@ -19,6 +19,7 @@ export const TUI_USED_ICONS = [
|
|
19
19
|
'@tui.union-pay',
|
20
20
|
'@tui.uzcard',
|
21
21
|
'@tui.verve',
|
22
|
+
'@tui.external-link',
|
22
23
|
'@tui.search',
|
23
24
|
'@tui.sun',
|
24
25
|
'@tui.moon',
|
@@ -41,12 +42,12 @@ export const TUI_USED_ICONS = [
|
|
41
42
|
'@tui.x',
|
42
43
|
'@tui.chevron-right',
|
43
44
|
'@tui.chevron-left',
|
44
|
-
'@tui.calendar',
|
45
45
|
'@tui.minus',
|
46
46
|
'@tui.file',
|
47
47
|
'@tui.trash',
|
48
48
|
'@tui.phone',
|
49
49
|
'@tui.star',
|
50
|
+
'@tui.calendar',
|
50
51
|
'@tui.rotate-ccw-square',
|
51
52
|
'@tui.arrow-left',
|
52
53
|
'@tui.arrow-right',
|
@@ -64,4 +65,4 @@ export const TUI_USED_ICONS = [
|
|
64
65
|
'@tui.move-up',
|
65
66
|
'@tui.clock',
|
66
67
|
];
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlZC1pY29ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jb25zdGFudHMvdXNlZC1pY29ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixVQUFVO0lBQ1YsV0FBVztJQUNYLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsY0FBYztJQUNkLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLFdBQVc7SUFDWCxVQUFVO0lBQ1YsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsWUFBWTtJQUNaLG9CQUFvQjtJQUNwQixhQUFhO0lBQ2IsVUFBVTtJQUNWLFdBQVc7SUFDWCxXQUFXO0lBQ1gsV0FBVztJQUNYLFdBQVc7SUFDWCxZQUFZO0lBQ1osV0FBVztJQUNYLGNBQWM7SUFDZCxVQUFVO0lBQ1Ysb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFdBQVc7SUFDWCxZQUFZO0lBQ1osWUFBWTtJQUNaLFdBQVc7SUFDWCxlQUFlO0lBQ2Ysd0JBQXdCO0lBQ3hCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsV0FBVztJQUNYLGVBQWU7SUFDZixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsc0JBQXNCO0lBQ3RCLGdCQUFnQjtJQUNoQixxQkFBcUI7SUFDckIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsWUFBWTtDQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXNjcmlwdGlvbjpcbiAqIEFVVE9HRU5FUkFURURcbiAqXG4gKiBBcnJheSBvZiBpY29ucyB1c2VkIGluIHRhaWdhLXVpIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9VU0VEX0lDT05TID0gW1xuICAgICdAdHVpLm1pcicsXG4gICAgJ0B0dWkudmlzYScsXG4gICAgJ0B0dWkuZWxlY3Ryb24nLFxuICAgICdAdHVpLm1hc3RlcmNhcmQnLFxuICAgICdAdHVpLm1hZXN0cm8nLFxuICAgICdAdHVpLmFtZXgnLFxuICAgICdAdHVpLmRpbmVycy1jbHViJyxcbiAgICAnQHR1aS5kaXNjb3ZlcicsXG4gICAgJ0B0dWkuaHVtbycsXG4gICAgJ0B0dWkuamNiJyxcbiAgICAnQHR1aS5ydS1wYXknLFxuICAgICdAdHVpLnVuaW9uLXBheScsXG4gICAgJ0B0dWkudXpjYXJkJyxcbiAgICAnQHR1aS52ZXJ2ZScsXG4gICAgJ0B0dWkuZXh0ZXJuYWwtbGluaycsXG4gICAgJ0B0dWkuc2VhcmNoJyxcbiAgICAnQHR1aS5zdW4nLFxuICAgICdAdHVpLm1vb24nLFxuICAgICdAdHVpLmNvZGUnLFxuICAgICdAdHVpLm1lbnUnLFxuICAgICdAdHVpLmNvcHknLFxuICAgICdAdHVpLmNoZWNrJyxcbiAgICAnQHR1aS5saW5rJyxcbiAgICAnQHR1aS5leWUtb2ZmJyxcbiAgICAnQHR1aS5leWUnLFxuICAgICdAdHVpLmdyaXAtdmVydGljYWwnLFxuICAgICdAdHVpLmNoZXZyb24tdXAnLFxuICAgICdAdHVpLmNoZXZyb24tZG93bicsXG4gICAgJ0B0dWkuY2hldnJvbnMtdXAtZG93bicsXG4gICAgJ0B0dWkuaW5mbycsXG4gICAgJ0B0dWkuY2lyY2xlLWNoZWNrJyxcbiAgICAnQHR1aS5jaXJjbGUteCcsXG4gICAgJ0B0dWkuY2lyY2xlLWFsZXJ0JyxcbiAgICAnQHR1aS5jaXJjbGUtaGVscCcsXG4gICAgJ0B0dWkueCcsXG4gICAgJ0B0dWkuY2hldnJvbi1yaWdodCcsXG4gICAgJ0B0dWkuY2hldnJvbi1sZWZ0JyxcbiAgICAnQHR1aS5taW51cycsXG4gICAgJ0B0dWkuZmlsZScsXG4gICAgJ0B0dWkudHJhc2gnLFxuICAgICdAdHVpLnBob25lJyxcbiAgICAnQHR1aS5zdGFyJyxcbiAgICAnQHR1aS5jYWxlbmRhcicsXG4gICAgJ0B0dWkucm90YXRlLWNjdy1zcXVhcmUnLFxuICAgICdAdHVpLmFycm93LWxlZnQnLFxuICAgICdAdHVpLmFycm93LXJpZ2h0JyxcbiAgICAnQHR1aS5wbHVzJyxcbiAgICAnQHR1aS5taW5pbWl6ZScsXG4gICAgJ0B0dWkuZmlsdGVyJyxcbiAgICAnQHR1aS5sYXlvdXQtZ3JpZCcsXG4gICAgJ0B0dWkubW92ZS11cC1yaWdodCcsXG4gICAgJ0B0dWkubW92ZS1yaWdodCcsXG4gICAgJ0B0dWkubW92ZS1kb3duLXJpZ2h0JyxcbiAgICAnQHR1aS5tb3ZlLWRvd24nLFxuICAgICdAdHVpLm1vdmUtZG93bi1sZWZ0JyxcbiAgICAnQHR1aS5tb3ZlLWxlZnQnLFxuICAgICdAdHVpLm1vdmUtdXAtbGVmdCcsXG4gICAgJ0B0dWkubW92ZS11cCcsXG4gICAgJ0B0dWkuY2xvY2snLFxuXSBhcyBjb25zdDtcbiJdfQ==
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export const TUI_VERSION = '4.
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
1
|
+
export const TUI_VERSION = '4.7.0';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jb25zdGFudHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRVSV9WRVJTSU9OID0gJzQuNy4wJztcbiJdfQ==
|
@@ -1,7 +1,8 @@
|
|
1
1
|
/// <reference types="@taiga-ui/tsconfig/ng-dev-mode" />
|
2
2
|
/// <reference types="@taiga-ui/tsconfig/ng-dev-mode" />
|
3
|
-
import { inject, Injectable } from '@angular/core';
|
3
|
+
import { inject, Injectable, NgZone } from '@angular/core';
|
4
4
|
import { WA_ANIMATION_FRAME, WA_PERFORMANCE } from '@ng-web-apis/common';
|
5
|
+
import { tuiZonefreeScheduler } from '@taiga-ui/cdk/observables';
|
5
6
|
import { tuiClamp } from '@taiga-ui/cdk/utils/math';
|
6
7
|
import { tuiEaseInOutQuad } from '@taiga-ui/cdk/utils/miscellaneous';
|
7
8
|
import { defer, endWith, map, of, switchMap, takeUntil, tap, timer } from 'rxjs';
|
@@ -21,6 +22,7 @@ class TuiScrollService {
|
|
21
22
|
constructor() {
|
22
23
|
this.performanceRef = inject(WA_PERFORMANCE);
|
23
24
|
this.animationFrame$ = inject(WA_ANIMATION_FRAME);
|
25
|
+
this.zone = inject(NgZone);
|
24
26
|
}
|
25
27
|
scroll$(elementOrWindow, scrollTop, scrollLeft = getX(elementOrWindow), duration = SCROLL_TIME) {
|
26
28
|
ngDevMode && console.assert(duration >= 0, 'duration cannot be negative');
|
@@ -35,7 +37,7 @@ class TuiScrollService {
|
|
35
37
|
: defer(() => of(this.performanceRef.now())).pipe(switchMap((start) => this.animationFrame$.pipe(map((now) => now - start))), map((elapsed) => tuiEaseInOutQuad(tuiClamp(elapsed / duration, 0, 1))), map((percent) => [
|
36
38
|
initialTop + deltaTop * percent,
|
37
39
|
initialLeft + deltaLeft * percent,
|
38
|
-
]), takeUntil(timer(duration)), endWith([scrollTop, scrollLeft]));
|
40
|
+
]), takeUntil(timer(duration, tuiZonefreeScheduler(this.zone))), endWith([scrollTop, scrollLeft]));
|
39
41
|
return observable.pipe(tap(([scrollTop, scrollLeft]) => {
|
40
42
|
elementOrWindow.scrollTo?.(scrollLeft, scrollTop);
|
41
43
|
}));
|
@@ -50,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
50
52
|
providedIn: 'root',
|
51
53
|
}]
|
52
54
|
}] });
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc2VydmljZXMvc2Nyb2xsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQXhELHdEQUF3RDtBQUN4RCxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLGNBQWMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUVuRSxPQUFPLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUFFL0UsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDO0FBRXhCLFNBQVMsSUFBSSxDQUFDLGVBQWlDO0lBQzNDLE9BQU8sU0FBUyxJQUFJLGVBQWU7UUFDL0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxPQUFPO1FBQ3pCLENBQUMsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDO0FBQ3JDLENBQUM7QUFFRCxTQUFTLElBQUksQ0FBQyxlQUFpQztJQUMzQyxPQUFPLFNBQVMsSUFBSSxlQUFlO1FBQy9CLENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTztRQUN6QixDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztBQUNwQyxDQUFDO0FBRUQsTUFHYSxnQkFBZ0I7SUFIN0I7UUFJcUIsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMsb0JBQWUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM3QyxTQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBcUMxQztJQW5DVSxPQUFPLENBQ1YsZUFBaUMsRUFDakMsU0FBaUIsRUFDakIsYUFBcUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUMxQyxXQUFtQixXQUFXO1FBRTlCLFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztRQUMxRSxTQUFTLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksQ0FBQyxFQUFFLDhCQUE4QixDQUFDLENBQUM7UUFDNUUsU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsRUFBRSwrQkFBK0IsQ0FBQyxDQUFDO1FBRTlFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN6QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUMsTUFBTSxRQUFRLEdBQUcsU0FBUyxHQUFHLFVBQVUsQ0FBQztRQUN4QyxNQUFNLFNBQVMsR0FBRyxVQUFVLEdBQUcsV0FBVyxDQUFDO1FBQzNDLE1BQU0sVUFBVSxHQUFHLENBQUMsUUFBUTtZQUN4QixDQUFDLENBQUMsRUFBRSxDQUFtQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUMvQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzNDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQ3ZELEVBQ0QsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUN0RSxHQUFHLENBQTJCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztnQkFDdkMsVUFBVSxHQUFHLFFBQVEsR0FBRyxPQUFPO2dCQUMvQixXQUFXLEdBQUcsU0FBUyxHQUFHLE9BQU87YUFDcEMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQzNELE9BQU8sQ0FBbUIsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FDckQsQ0FBQztRQUVSLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FDbEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRTtZQUM1QixlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOytHQXZDUSxnQkFBZ0I7bUhBQWhCLGdCQUFnQixjQUZiLE1BQU07O1NBRVQsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJAdGFpZ2EtdWkvdHNjb25maWcvbmctZGV2LW1vZGVcIiAvPlxuaW1wb3J0IHtpbmplY3QsIEluamVjdGFibGUsIE5nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dBX0FOSU1BVElPTl9GUkFNRSwgV0FfUEVSRk9STUFOQ0V9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHt0dWlab25lZnJlZVNjaGVkdWxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge3R1aUNsYW1wfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlFYXNlSW5PdXRRdWFkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHR5cGUge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWZlciwgZW5kV2l0aCwgbWFwLCBvZiwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCwgdGltZXJ9IGZyb20gJ3J4anMnO1xuXG5jb25zdCBTQ1JPTExfVElNRSA9IDMwMDtcblxuZnVuY3Rpb24gZ2V0WChlbGVtZW50T3JXaW5kb3c6IEVsZW1lbnQgfCBXaW5kb3cpOiBudW1iZXIge1xuICAgIHJldHVybiAnc2Nyb2xsWCcgaW4gZWxlbWVudE9yV2luZG93XG4gICAgICAgID8gZWxlbWVudE9yV2luZG93LnNjcm9sbFhcbiAgICAgICAgOiBlbGVtZW50T3JXaW5kb3cuc2Nyb2xsTGVmdDtcbn1cblxuZnVuY3Rpb24gZ2V0WShlbGVtZW50T3JXaW5kb3c6IEVsZW1lbnQgfCBXaW5kb3cpOiBudW1iZXIge1xuICAgIHJldHVybiAnc2Nyb2xsWScgaW4gZWxlbWVudE9yV2luZG93XG4gICAgICAgID8gZWxlbWVudE9yV2luZG93LnNjcm9sbFlcbiAgICAgICAgOiBlbGVtZW50T3JXaW5kb3cuc2Nyb2xsVG9wO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBlcmZvcm1hbmNlUmVmID0gaW5qZWN0KFdBX1BFUkZPUk1BTkNFKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFuaW1hdGlvbkZyYW1lJCA9IGluamVjdChXQV9BTklNQVRJT05fRlJBTUUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gICAgcHVibGljIHNjcm9sbCQoXG4gICAgICAgIGVsZW1lbnRPcldpbmRvdzogRWxlbWVudCB8IFdpbmRvdyxcbiAgICAgICAgc2Nyb2xsVG9wOiBudW1iZXIsXG4gICAgICAgIHNjcm9sbExlZnQ6IG51bWJlciA9IGdldFgoZWxlbWVudE9yV2luZG93KSxcbiAgICAgICAgZHVyYXRpb246IG51bWJlciA9IFNDUk9MTF9USU1FLFxuICAgICk6IE9ic2VydmFibGU8W251bWJlciwgbnVtYmVyXT4ge1xuICAgICAgICBuZ0Rldk1vZGUgJiYgY29uc29sZS5hc3NlcnQoZHVyYXRpb24gPj0gMCwgJ2R1cmF0aW9uIGNhbm5vdCBiZSBuZWdhdGl2ZScpO1xuICAgICAgICBuZ0Rldk1vZGUgJiYgY29uc29sZS5hc3NlcnQoc2Nyb2xsVG9wID49IDAsICdzY3JvbGxUb3AgY2Fubm90IGJlIG5lZ2F0aXZlJyk7XG4gICAgICAgIG5nRGV2TW9kZSAmJiBjb25zb2xlLmFzc2VydChzY3JvbGxMZWZ0ID49IDAsICdzY3JvbGxMZWZ0IGNhbm5vdCBiZSBuZWdhdGl2ZScpO1xuXG4gICAgICAgIGNvbnN0IGluaXRpYWxUb3AgPSBnZXRZKGVsZW1lbnRPcldpbmRvdyk7XG4gICAgICAgIGNvbnN0IGluaXRpYWxMZWZ0ID0gZ2V0WChlbGVtZW50T3JXaW5kb3cpO1xuICAgICAgICBjb25zdCBkZWx0YVRvcCA9IHNjcm9sbFRvcCAtIGluaXRpYWxUb3A7XG4gICAgICAgIGNvbnN0IGRlbHRhTGVmdCA9IHNjcm9sbExlZnQgLSBpbml0aWFsTGVmdDtcbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZSA9ICFkdXJhdGlvblxuICAgICAgICAgICAgPyBvZjxbbnVtYmVyLCBudW1iZXJdPihbc2Nyb2xsVG9wLCBzY3JvbGxMZWZ0XSlcbiAgICAgICAgICAgIDogZGVmZXIoKCkgPT4gb2YodGhpcy5wZXJmb3JtYW5jZVJlZi5ub3coKSkpLnBpcGUoXG4gICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHN0YXJ0KSA9PlxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uRnJhbWUkLnBpcGUobWFwKChub3cpID0+IG5vdyAtIHN0YXJ0KSksXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgbWFwKChlbGFwc2VkKSA9PiB0dWlFYXNlSW5PdXRRdWFkKHR1aUNsYW1wKGVsYXBzZWQgLyBkdXJhdGlvbiwgMCwgMSkpKSxcbiAgICAgICAgICAgICAgICAgIG1hcDxudW1iZXIsIFtudW1iZXIsIG51bWJlcl0+KChwZXJjZW50KSA9PiBbXG4gICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbFRvcCArIGRlbHRhVG9wICogcGVyY2VudCxcbiAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsTGVmdCArIGRlbHRhTGVmdCAqIHBlcmNlbnQsXG4gICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aW1lcihkdXJhdGlvbiwgdHVpWm9uZWZyZWVTY2hlZHVsZXIodGhpcy56b25lKSkpLFxuICAgICAgICAgICAgICAgICAgZW5kV2l0aDxbbnVtYmVyLCBudW1iZXJdPihbc2Nyb2xsVG9wLCBzY3JvbGxMZWZ0XSksXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIG9ic2VydmFibGUucGlwZShcbiAgICAgICAgICAgIHRhcCgoW3Njcm9sbFRvcCwgc2Nyb2xsTGVmdF0pID0+IHtcbiAgICAgICAgICAgICAgICBlbGVtZW50T3JXaW5kb3cuc2Nyb2xsVG8/LihzY3JvbGxMZWZ0LCBzY3JvbGxUb3ApO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { DOCUMENT } from '@angular/common';
|
2
|
-
import { inject } from '@angular/core';
|
2
|
+
import { inject, NgZone } from '@angular/core';
|
3
3
|
import { WA_WINDOW } from '@ng-web-apis/common';
|
4
|
-
import { tuiTypedFromEvent } from '@taiga-ui/cdk/observables';
|
4
|
+
import { tuiTypedFromEvent, tuiZonefreeScheduler } from '@taiga-ui/cdk/observables';
|
5
5
|
import { tuiCreateTokenFromFactory, tuiGetActualTarget, tuiGetDocumentOrShadowRoot, tuiIsNativeMouseFocusable, } from '@taiga-ui/cdk/utils';
|
6
6
|
import { distinctUntilChanged, filter, map, merge, of, repeat, share, startWith, switchMap, take, takeUntil, timer, withLatestFrom, } from 'rxjs';
|
7
7
|
import { TUI_REMOVED_ELEMENT } from './removed-element';
|
@@ -27,6 +27,7 @@ export const TUI_ACTIVE_ELEMENT = tuiCreateTokenFromFactory(() => {
|
|
27
27
|
const removedElement$ = inject(TUI_REMOVED_ELEMENT);
|
28
28
|
const win = inject(WA_WINDOW);
|
29
29
|
const doc = inject(DOCUMENT);
|
30
|
+
const zone = inject(NgZone);
|
30
31
|
const focusout$ = tuiTypedFromEvent(win, 'focusout', { capture: true });
|
31
32
|
const focusin$ = tuiTypedFromEvent(win, 'focusin', { capture: true });
|
32
33
|
const blur$ = tuiTypedFromEvent(win, 'blur');
|
@@ -47,7 +48,7 @@ export const TUI_ACTIVE_ELEMENT = tuiCreateTokenFromFactory(() => {
|
|
47
48
|
* Do not use `map(() => tuiGetActualTarget(event))`
|
48
49
|
* because we have different result in runtime
|
49
50
|
*/
|
50
|
-
() => actualTargetInCurrentTime), takeUntil(timer(0)));
|
51
|
+
() => actualTargetInCurrentTime), takeUntil(timer(0, tuiZonefreeScheduler(zone))));
|
51
52
|
}))).pipe(distinctUntilChanged(), share());
|
52
53
|
});
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdG9rZW5zL2FjdGl2ZS1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQiwwQkFBMEIsRUFDMUIseUJBQXlCLEdBQzVCLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUNILG9CQUFvQixFQUNwQixNQUFNLEVBQ04sR0FBRyxFQUNILEtBQUssRUFDTCxFQUFFLEVBQ0YsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULElBQUksRUFDSixTQUFTLEVBQ1QsS0FBSyxFQUNMLGNBQWMsR0FDakIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUV0RCxvRUFBb0U7QUFDcEUsU0FBUyxlQUFlLENBQUMsTUFBVyxFQUFFLGlCQUFpQyxJQUFJO0lBQ3ZFLE9BQU87SUFDSCw4Q0FBOEM7SUFDOUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQUMsYUFBYSxLQUFLLE1BQU07UUFDM0QsdUVBQXVFO1FBQ3ZFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDNUIsNENBQTRDO1FBQzVDLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDakMsc0RBQXNEO1FBQ3RELHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUNwQyxDQUFDO0FBQ04s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UyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDaEIsTUFBTSx5QkFBeUIsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1RCxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUMsYUFBYSxLQUFLLEdBQUcsQ0FBQyxJQUFJO1lBQ3ZELENBQUMsQ0FBQyxFQUFFLENBQUMseUJBQXlCLENBQUM7WUFDL0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ1YsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUc7WUFDQzs7O2VBR0c7WUFDSCxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FDbEMsRUFDRCxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3RCLENBQUM7SUFDWixDQUFDLENBQUMsQ0FDTCxDQUNKLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUM1QyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge2luamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dBX1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge3R1aVR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7XG4gICAgdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeSxcbiAgICB0dWlHZXRBY3R1YWxUYXJnZXQsXG4gICAgdHVpR2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QsXG4gICAgdHVpSXNOYXRpdmVNb3VzZUZvY3VzYWJsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5pbXBvcnQgdHlwZSB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBtYXAsXG4gICAgbWVyZ2UsXG4gICAgb2YsXG4gICAgcmVwZWF0LFxuICAgIHNoYXJlLFxuICAgIHN0YXJ0V2l0aCxcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZSxcbiAgICB0YWtlVW50aWwsXG4gICAgdGltZXIsXG4gICAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9SRU1PVkVEX0VMRU1FTlR9IGZyb20gJy4vcmVtb3ZlZC1lbGVtZW50JztcblxuLy8gQ2hlY2tzIGlmIGZvY3Vzb3V0IGV2ZW50IHNob3VsZCBiZSBjb25zaWRlcmVkIGxlYXZpbmcgYWN0aXZlIHpvbmVcbmZ1bmN0aW9uIGlzVmFsaWRGb2N1c291dCh0YXJnZXQ6IGFueSwgcmVtb3ZlZEVsZW1lbnQ6IEVsZW1lbnQgfCBudWxsID0gbnVsbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIC8vIE5vdCBkdWUgdG8gc3dpdGNoaW5nIHRhYnMvZ29pbmcgdG8gRGV2VG9vbHNcbiAgICAgICAgdHVpR2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QodGFyZ2V0KS5hY3RpdmVFbGVtZW50ICE9PSB0YXJnZXQgJiZcbiAgICAgICAgLy8gTm90IGR1ZSB0byBidXR0b24vaW5wdXQgYmVjb21pbmcgZGlzYWJsZWQgb3IgdW5kZXIgZGlzYWJsZWQgZmllbGRzZXRcbiAgICAgICAgIXRhcmdldC5tYXRjaGVzKCc6ZGlzYWJsZWQnKSAmJlxuICAgICAgICAvLyBOb3QgZHVlIHRvIGVsZW1lbnQgYmVpbmcgcmVtb3ZlZCBmcm9tIERPTVxuICAgICAgICAhcmVtb3ZlZEVsZW1lbnQ/LmNvbnRhaW5zKHRhcmdldCkgJiZcbiAgICAgICAgLy8gTm90IGR1ZSB0byBzY3JvbGxhYmxlIGVsZW1lbnQgYmVjYW1lIG5vbi1zY3JvbGxhYmxlXG4gICAgICAgIHR1aUlzTmF0aXZlTW91c2VGb2N1c2FibGUodGFyZ2V0KVxuICAgICk7XG59XG5cbmZ1bmN0aW9uIHNoYWRvd1Jvb3RBY3RpdmVFbGVtZW50KHJvb3Q6IERvY3VtZW50KTogT2JzZXJ2YWJsZTxFdmVudFRhcmdldCB8IG51bGw+IHtcbiAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KHJvb3QsICdmb2N1c2luJykucGlwZShtYXAoKHt0YXJnZXR9KSA9PiB0YXJnZXQpKSxcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQocm9vdCwgJ2ZvY3Vzb3V0JykucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgICAgICAoe3RhcmdldCwgcmVsYXRlZFRhcmdldH0pID0+ICEhcmVsYXRlZFRhcmdldCAmJiBpc1ZhbGlkRm9jdXNvdXQodGFyZ2V0KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBtYXAoKHtyZWxhdGVkVGFyZ2V0fSkgPT4gcmVsYXRlZFRhcmdldCksXG4gICAgICAgICksXG4gICAgKTtcbn1cblxuLyoqXG4gKiBBY3RpdmUgZWxlbWVudCBvbiB0aGUgZG9jdW1lbnQgZm9yIEFjdGl2ZVpvbmVcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9BQ1RJVkVfRUxFTUVOVCA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3Rvcnk8XG4gICAgT2JzZXJ2YWJsZTxFdmVudFRhcmdldCB8IG51bGw+XG4+KCgpID0+IHtcbiAgICBjb25zdCByZW1vdmVkRWxlbWVudCQgPSBpbmplY3QoVFVJX1JFTU9WRURfRUxFTUVOVCk7XG4gICAgY29uc3Qgd2luID0gaW5qZWN0KFdBX1dJTkRPVyk7XG4gICAgY29uc3QgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgICBjb25zdCBmb2N1c291dCQgPSB0dWlUeXBlZEZyb21FdmVudCh3aW4sICdmb2N1c291dCcsIHtjYXB0dXJlOiB0cnVlfSk7XG4gICAgY29uc3QgZm9jdXNpbiQgPSB0dWlUeXBlZEZyb21FdmVudCh3aW4sICdmb2N1c2luJywge2NhcHR1cmU6IHRydWV9KTtcbiAgICBjb25zdCBibHVyJCA9IHR1aVR5cGVkRnJvbUV2ZW50KHdpbiwgJ2JsdXInKTtcbiAgICBjb25zdCBtb3VzZWRvd24kID0gdHVpVHlwZWRGcm9tRXZlbnQod2luLCAnbW91c2Vkb3duJyk7XG4gICAgY29uc3QgbW91c2V1cCQgPSB0dWlUeXBlZEZyb21FdmVudCh3aW4sICdtb3VzZXVwJyk7XG5cbiAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgIGZvY3Vzb3V0JC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKG1vdXNlZG93biQpLFxuICAgICAgICAgICAgcmVwZWF0KHtkZWxheTogKCkgPT4gbW91c2V1cCR9KSxcbiAgICAgICAgICAgIHdpdGhMYXRlc3RGcm9tKHJlbW92ZWRFbGVtZW50JCksXG4gICAgICAgICAgICBmaWx0ZXIoKFtldmVudCwgcmVtb3ZlZEVsZW1lbnRdKSA9PlxuICAgICAgICAgICAgICAgIGlzVmFsaWRGb2N1c291dCh0dWlHZXRBY3R1YWxUYXJnZXQoZXZlbnQpLCByZW1vdmVkRWxlbWVudCksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbWFwKChbe3JlbGF0ZWRUYXJnZXR9XSkgPT4gcmVsYXRlZFRhcmdldCksXG4gICAgICAgICksXG4gICAgICAgIGJsdXIkLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gZG9jLmFjdGl2ZUVsZW1lbnQpLFxuICAgICAgICAgICAgZmlsdGVyKChlbGVtZW50KSA9PiAhIWVsZW1lbnQ/Lm1hdGNoZXMoJ2lmcmFtZScpKSxcbiAgICAgICAgKSxcbiAgICAgICAgZm9jdXNpbiQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSB0dWlHZXRBY3R1YWxUYXJnZXQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvb3QgPSB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdCh0YXJnZXQpIGFzIERvY3VtZW50O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJvb3QgPT09IGRvY1xuICAgICAgICAgICAgICAgICAgICA/IG9mKHRhcmdldClcbiAgICAgICAgICAgICAgICAgICAgOiBzaGFkb3dSb290QWN0aXZlRWxlbWVudChyb290KS5waXBlKHN0YXJ0V2l0aCh0YXJnZXQpKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgICBtb3VzZWRvd24kLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0dWFsVGFyZ2V0SW5DdXJyZW50VGltZSA9IHR1aUdldEFjdHVhbFRhcmdldChldmVudCk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gIWRvYy5hY3RpdmVFbGVtZW50IHx8IGRvYy5hY3RpdmVFbGVtZW50ID09PSBkb2MuYm9keVxuICAgICAgICAgICAgICAgICAgICA/IG9mKGFjdHVhbFRhcmdldEluQ3VycmVudFRpbWUpXG4gICAgICAgICAgICAgICAgICAgIDogZm9jdXNvdXQkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogRG8gbm90IHVzZSBgbWFwKCgpID0+IHR1aUdldEFjdHVhbFRhcmdldChldmVudCkpYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogYmVjYXVzZSB3ZSBoYXZlIGRpZmZlcmVudCByZXN1bHQgaW4gcnVudGltZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiBhY3R1YWxUYXJnZXRJbkN1cnJlbnRUaW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGltZXIoMCkpLFxuICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmUoKSk7XG59KTtcbiJdfQ==
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdG9rZW5zL2FjdGl2ZS1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGlCQUFpQixFQUFFLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDbEYsT0FBTyxFQUNILHlCQUF5QixFQUN6QixrQkFBa0IsRUFDbEIsMEJBQTBCLEVBQzFCLHlCQUF5QixHQUM1QixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEdBQUcsRUFDSCxLQUFLLEVBQ0wsRUFBRSxFQUNGLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxFQUNULEtBQUssRUFDTCxjQUFjLEdBQ2pCLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFdEQsb0VBQW9FO0FBQ3BFLFNBQVMsZUFBZSxDQUFDLE1BQVcsRUFBRSxpQkFBaUMsSUFBSTtJQUN2RSxPQUFPO0lBQ0gsOENBQThDO0lBQzlDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsS0FBSyxNQUFNO1FBQzNELHVFQUF1RTtRQUN2RSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQzVCLDRDQUE0QztRQUM1QyxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ2pDLHNEQUFzRDtRQUN0RCx5QkFBeUIsQ0FBQyxNQUFN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QUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUMsQ0FBQyxDQUNMLEVBQ0QsVUFBVSxDQUFDLElBQUksQ0FDWCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNoQixNQUFNLHlCQUF5QixHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVELE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxJQUFJLEdBQUcsQ0FBQyxhQUFhLEtBQUssR0FBRyxDQUFDLElBQUk7WUFDdkQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztZQUMvQixDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDVixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRztZQUNDOzs7ZUFHRztZQUNILEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUNsQyxFQUNELFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDbEQsQ0FBQztJQUNaLENBQUMsQ0FBQyxDQUNMLENBQ0osQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7aW5qZWN0LCBOZ1pvbmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXQV9XSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHt0dWlUeXBlZEZyb21FdmVudCwgdHVpWm9uZWZyZWVTY2hlZHVsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtcbiAgICB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5LFxuICAgIHR1aUdldEFjdHVhbFRhcmdldCxcbiAgICB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdCxcbiAgICB0dWlJc05hdGl2ZU1vdXNlRm9jdXNhYmxlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZmlsdGVyLFxuICAgIG1hcCxcbiAgICBtZXJnZSxcbiAgICBvZixcbiAgICByZXBlYXQsXG4gICAgc2hhcmUsXG4gICAgc3RhcnRXaXRoLFxuICAgIHN3aXRjaE1hcCxcbiAgICB0YWtlLFxuICAgIHRha2VVbnRpbCxcbiAgICB0aW1lcixcbiAgICB3aXRoTGF0ZXN0RnJvbSxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX1JFTU9WRURfRUxFTUVOVH0gZnJvbSAnLi9yZW1vdmVkLWVsZW1lbnQnO1xuXG4vLyBDaGVja3MgaWYgZm9jdXNvdXQgZXZlbnQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgbGVhdmluZyBhY3RpdmUgem9uZVxuZnVuY3Rpb24gaXNWYWxpZEZvY3Vzb3V0KHRhcmdldDogYW55LCByZW1vdmVkRWxlbWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgLy8gTm90IGR1ZSB0byBzd2l0Y2hpbmcgdGFicy9nb2luZyB0byBEZXZUb29sc1xuICAgICAgICB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdCh0YXJnZXQpLmFjdGl2ZUVsZW1lbnQgIT09IHRhcmdldCAmJlxuICAgICAgICAvLyBOb3QgZHVlIHRvIGJ1dHRvbi9pbnB1dCBiZWNvbWluZyBkaXNhYmxlZCBvciB1bmRlciBkaXNhYmxlZCBmaWVsZHNldFxuICAgICAgICAhdGFyZ2V0Lm1hdGNoZXMoJzpkaXNhYmxlZCcpICYmXG4gICAgICAgIC8vIE5vdCBkdWUgdG8gZWxlbWVudCBiZWluZyByZW1vdmVkIGZyb20gRE9NXG4gICAgICAgICFyZW1vdmVkRWxlbWVudD8uY29udGFpbnModGFyZ2V0KSAmJlxuICAgICAgICAvLyBOb3QgZHVlIHRvIHNjcm9sbGFibGUgZWxlbWVudCBiZWNhbWUgbm9uLXNjcm9sbGFibGVcbiAgICAgICAgdHVpSXNOYXRpdmVNb3VzZUZvY3VzYWJsZSh0YXJnZXQpXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gc2hhZG93Um9vdEFjdGl2ZUVsZW1lbnQocm9vdDogRG9jdW1lbnQpOiBPYnNlcnZhYmxlPEV2ZW50VGFyZ2V0IHwgbnVsbD4ge1xuICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQocm9vdCwgJ2ZvY3VzaW4nKS5waXBlKG1hcCgoe3RhcmdldH0pID0+IHRhcmdldCkpLFxuICAgICAgICB0dWlUeXBlZEZyb21FdmVudChyb290LCAnZm9jdXNvdXQnKS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgICAgICh7dGFyZ2V0LCByZWxhdGVkVGFyZ2V0fSkgPT4gISFyZWxhdGVkVGFyZ2V0ICYmIGlzVmFsaWRGb2N1c291dCh0YXJnZXQpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1hcCgoe3JlbGF0ZWRUYXJnZXR9KSA9PiByZWxhdGVkVGFyZ2V0KSxcbiAgICAgICAgKSxcbiAgICApO1xufVxuXG4vKipcbiAqIEFjdGl2ZSBlbGVtZW50IG9uIHRoZSBkb2N1bWVudCBmb3IgQWN0aXZlWm9uZVxuICovXG5leHBvcnQgY29uc3QgVFVJX0FDVElWRV9FTEVNRU5UID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeTxcbiAgICBPYnNlcnZhYmxlPEV2ZW50VGFyZ2V0IHwgbnVsbD5cbj4oKCkgPT4ge1xuICAgIGNvbnN0IHJlbW92ZWRFbGVtZW50JCA9IGluamVjdChUVUlfUkVNT1ZFRF9FTEVNRU5UKTtcbiAgICBjb25zdCB3aW4gPSBpbmplY3QoV0FfV0lORE9XKTtcbiAgICBjb25zdCBkb2MgPSBpbmplY3QoRE9DVU1FTlQpO1xuICAgIGNvbnN0IHpvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICBjb25zdCBmb2N1c291dCQgPSB0dWlUeXBlZEZyb21FdmVudCh3aW4sICdmb2N1c291dCcsIHtjYXB0dXJlOiB0cnVlfSk7XG4gICAgY29uc3QgZm9jdXNpbiQgPSB0dWlUeXBlZEZyb21FdmVudCh3aW4sICdmb2N1c2luJywge2NhcHR1cmU6IHRydWV9KTtcbiAgICBjb25zdCBibHVyJCA9IHR1aVR5cGVkRnJvbUV2ZW50KHdpbiwgJ2JsdXInKTtcbiAgICBjb25zdCBtb3VzZWRvd24kID0gdHVpVHlwZWRGcm9tRXZlbnQod2luLCAnbW91c2Vkb3duJyk7XG4gICAgY29uc3QgbW91c2V1cCQgPSB0dWlUeXBlZEZyb21FdmVudCh3aW4sICdtb3VzZXVwJyk7XG5cbiAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgIGZvY3Vzb3V0JC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKG1vdXNlZG93biQpLFxuICAgICAgICAgICAgcmVwZWF0KHtkZWxheTogKCkgPT4gbW91c2V1cCR9KSxcbiAgICAgICAgICAgIHdpdGhMYXRlc3RGcm9tKHJlbW92ZWRFbGVtZW50JCksXG4gICAgICAgICAgICBmaWx0ZXIoKFtldmVudCwgcmVtb3ZlZEVsZW1lbnRdKSA9PlxuICAgICAgICAgICAgICAgIGlzVmFsaWRGb2N1c291dCh0dWlHZXRBY3R1YWxUYXJnZXQoZXZlbnQpLCByZW1vdmVkRWxlbWVudCksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbWFwKChbe3JlbGF0ZWRUYXJnZXR9XSkgPT4gcmVsYXRlZFRhcmdldCksXG4gICAgICAgICksXG4gICAgICAgIGJsdXIkLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gZG9jLmFjdGl2ZUVsZW1lbnQpLFxuICAgICAgICAgICAgZmlsdGVyKChlbGVtZW50KSA9PiAhIWVsZW1lbnQ/Lm1hdGNoZXMoJ2lmcmFtZScpKSxcbiAgICAgICAgKSxcbiAgICAgICAgZm9jdXNpbiQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSB0dWlHZXRBY3R1YWxUYXJnZXQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvb3QgPSB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdCh0YXJnZXQpIGFzIERvY3VtZW50O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJvb3QgPT09IGRvY1xuICAgICAgICAgICAgICAgICAgICA/IG9mKHRhcmdldClcbiAgICAgICAgICAgICAgICAgICAgOiBzaGFkb3dSb290QWN0aXZlRWxlbWVudChyb290KS5waXBlKHN0YXJ0V2l0aCh0YXJnZXQpKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgICBtb3VzZWRvd24kLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0dWFsVGFyZ2V0SW5DdXJyZW50VGltZSA9IHR1aUdldEFjdHVhbFRhcmdldChldmVudCk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gIWRvYy5hY3RpdmVFbGVtZW50IHx8IGRvYy5hY3RpdmVFbGVtZW50ID09PSBkb2MuYm9keVxuICAgICAgICAgICAgICAgICAgICA/IG9mKGFjdHVhbFRhcmdldEluQ3VycmVudFRpbWUpXG4gICAgICAgICAgICAgICAgICAgIDogZm9jdXNvdXQkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogRG8gbm90IHVzZSBgbWFwKCgpID0+IHR1aUdldEFjdHVhbFRhcmdldChldmVudCkpYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogYmVjYXVzZSB3ZSBoYXZlIGRpZmZlcmVudCByZXN1bHQgaW4gcnVudGltZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiBhY3R1YWxUYXJnZXRJbkN1cnJlbnRUaW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGltZXIoMCwgdHVpWm9uZWZyZWVTY2hlZHVsZXIoem9uZSkpKSxcbiAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlKCkpO1xufSk7XG4iXX0=
|
@@ -5,8 +5,12 @@ import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
|
|
5
5
|
import { tuiCreateTokenFromFactory, tuiIsIos } from '@taiga-ui/cdk/utils';
|
6
6
|
import { fromEvent, map } from 'rxjs';
|
7
7
|
// https://stackoverflow.com/a/11381730/2706426 http://detectmobilebrowsers.com/
|
8
|
-
const firstRegex =
|
9
|
-
|
8
|
+
const firstRegex =
|
9
|
+
// eslint-disable-next-line sonarjs/regex-complexity
|
10
|
+
/(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([46])0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/;
|
11
|
+
const secondRegex =
|
12
|
+
// eslint-disable-next-line sonarjs/regex-complexity
|
13
|
+
/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([ev])w|bumb|bw-([nu])|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do([cp])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-([mpt])|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c([- _agpst])|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac([ \-/])|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja([tv])a|jbro|jemu|jigs|kddi|keji|kgt([ /])|klon|kpt |kwc-|kyo([ck])|le(no|xi)|lg( g|\/([klu])|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([- ov])|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30([02])|n50([025])|n7(0([01])|10)|ne(([cm])-|on|tf|wf|wg|wt)|nok([6i])|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan([adt])|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([-01])|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([im])|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-/;
|
10
14
|
export const TUI_IS_MOBILE = tuiCreateTokenFromFactory(() => firstRegex.test(inject(WA_USER_AGENT).toLowerCase()) ||
|
11
15
|
secondRegex.test(inject(WA_USER_AGENT).slice(0, 4).toLowerCase()));
|
12
16
|
export const TUI_IS_IOS = tuiCreateTokenFromFactory(() => tuiIsIos(inject(WA_NAVIGATOR)));
|
@@ -37,4 +41,4 @@ export const TUI_IS_PLAYWRIGHT = tuiCreateTokenFromFactory(TUI_FALSE_HANDLER);
|
|
37
41
|
* Detect if app is running under any of test frameworks
|
38
42
|
*/
|
39
43
|
export const TUI_IS_E2E = tuiCreateTokenFromFactory(() => inject(TUI_IS_CYPRESS) || inject(TUI_IS_PLAYWRIGHT));
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdG9rZW5zL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyx5QkFBeUIsRUFBRSxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVwQyxnRkFBZ0Y7QUFDaEYsTUFBTSxVQUFVO0FBQ1osb0RBQW9EO0FBQ3BELDBUQUEwVCxDQUFDO0FBQy9ULE1BQU0sV0FBVztBQUNiLG9EQUFvRDtBQUNwRCxpaURBQWlpRCxDQUFDO0FBRXRpRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcseUJBQXlCLENBQ2xELEdBQUcsRUFBRSxDQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BELFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDeEUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyx5QkFBeUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUUxRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcseUJBQXlCLENBQ25ELEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FDckQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyx5QkFBeUIsQ0FDbEQsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBTSxTQUFTLENBQUMsRUFBRSxnQ0FBZ0MsQ0FDbkUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyx5QkFBeUIsQ0FBNEIsR0FBRyxFQUFFO0lBQ2xGLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0lBRUQsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ3RELENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLHlCQUF5QixDQUFDLEdBQUcsRUFBRTtJQUN2RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFaEUsT0FBTyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFO1FBQ3ZFLFlBQVksRUFBRSxLQUFLLENBQUMsT0FBTztLQUM5QixDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQztBQUVIOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyx5QkFBeUIsQ0FDbkQsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBTSxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQ3pDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLHlCQUF5QixDQUFVLGlCQUFpQixDQUFDLENBQUM7QUFFdkY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcseUJBQXlCLENBQy9DLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7V0FfTkFWSUdBVE9SLCBXQV9VU0VSX0FHRU5ULCBXQV9XSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5LCB0dWlJc0lvc30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5pbXBvcnQge2Zyb21FdmVudCwgbWFwfSBmcm9tICdyeGpzJztcblxuLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzExMzgxNzMwLzI3MDY0MjYgaHR0cDovL2RldGVjdG1vYmlsZWJyb3dzZXJzLmNvbS9cbmNvbnN0IGZpcnN0UmVnZXggPVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL3JlZ2V4LWNvbXBsZXhpdHlcbiAgICAvKGFuZHJvaWR8YmJcXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVxcL3xibGFja2JlcnJ5fGJsYXplcnxjb21wYWx8ZWxhaW5lfGZlbm5lY3xoaXB0b3B8aWVtb2JpbGV8aXAoaG9uZXxvZCl8aXJpc3xraW5kbGV8bGdlIHxtYWVtb3xtaWRwfG1tcHxtb2JpbGUuK2ZpcmVmb3h8bmV0ZnJvbnR8b3BlcmEgbShvYnxpbilpfHBhbG0oIG9zKT98cGhvbmV8cChpeGl8cmUpXFwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoWzQ2XSkwfHN5bWJpYW58dHJlb3x1cFxcLihicm93c2VyfGxpbmspfHZvZGFmb25lfHdhcHx3aW5kb3dzIGNlfHhkYXx4aWluby87XG5jb25zdCBzZWNvbmRSZWdleCA9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvcmVnZXgtY29tcGxleGl0eVxuICAgIC8xMjA3fDYzMTB8NjU5MHwzZ3NvfDR0aHB8NTBbMS02XWl8Nzcwc3w4MDJzfGEgd2F8YWJhY3xhYyhlcnxvb3xzLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXwtbXxyIHxzICl8YXZhbnxiZShja3xsbHxucSl8YmkobGJ8cmQpfGJsKGFjfGF6KXxicihbZXZdKXd8YnVtYnxidy0oW251XSl8YzU1XFwvfGNhcGl8Y2N3YXxjZG0tfGNlbGx8Y2h0bXxjbGRjfGNtZC18Y28obXB8bmQpfGNyYXd8ZGEoaXR8bGx8bmcpfGRidGV8ZGMtc3xkZXZpfGRpY2F8ZG1vYnxkbyhbY3BdKW98ZHMoMTJ8LWQpfGVsKDQ5fGFpKXxlbShsMnx1bCl8ZXIoaWN8azApfGVzbDh8ZXooWzQtN10wfG9zfHdhfHplKXxmZXRjfGZseShbLV9dKXxnMSB1fGc1NjB8Z2VuZXxnZi01fGctbW98Z28oXFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZC0oW21wdF0pfGhlaS18aGkocHR8dGEpfGhwKCBpfGlwKXxocy1jfGh0KGMoWy0gX2FncHN0XSl8dHApfGh1KGF3fHRjKXxpLSgyMHxnb3xtYSl8aTIzMHxpYWMoWyBcXC0vXSl8aWJyb3xpZGVhfGlnMDF8aWtvbXxpbTFrfGlubm98aXBhcXxpcmlzfGphKFt0dl0pYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KFsgL10pfGtsb258a3B0IHxrd2MtfGt5byhbY2tdKXxsZShub3x4aSl8bGcoIGd8XFwvKFtrbHVdKXw1MHw1NHwtW2Etd10pfGxpYnd8bHlueHxtMS13fG0zZ2F8bTUwXFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bS1jcnxtZShyY3xyaSl8bWkobzh8b2F8dHMpfG1tZWZ8bW8oMDF8MDJ8Yml8ZGV8ZG98dChbLSBvdl0pfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMChbMDJdKXxuNTAoWzAyNV0pfG43KDAoWzAxXSl8MTApfG5lKChbY21dKS18b258dGZ8d2Z8d2d8d3QpfG5vayhbNmldKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihbYWR0XSl8cGR4Z3xwZygxM3wtKFsxLThdfGMpKXxwaGlsfHBpcmV8cGwoYXl8dWMpfHBuLTJ8cG8oY2t8cnR8c2UpfHByb3h8cHNpb3xwdC1nfHFhLWF8cWMoMDd8MTJ8MjF8MzJ8NjB8LVsyLTddfGktKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVxcL3xzYShnZXxtYXxtbXxtc3xueXx2YSl8c2MoMDF8aC18b298cC0pfHNka1xcL3xzZShjKFstMDFdKXw0N3xtY3xuZHxyaSl8c2doLXxzaGFyfHNpZShbLW1dKXxzay0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGgtfHYtfHYgKXxzeSgwMXxtYil8dDIoMTh8NTApfHQ2KDAwfDEwfDE4KXx0YShndHxsayl8dGNsLXx0ZGctfHRlbChbaW1dKXx0aW0tfHQtbW98dG8ocGx8c2gpfHRzKDcwfG0tfG0zfG01KXx0eC05fHVwKFxcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXwtdil8dm00MHx2b2RhfHZ1bGN8dngoNTJ8NTN8NjB8NjF8NzB8ODB8ODF8ODN8ODV8OTgpfHczYyhbLSBdKXx3ZWJjfHdoaXR8d2koZyB8bmN8bncpfHdtbGJ8d29udXx4NzAwfHlhcy18eW91cnx6ZXRvfHp0ZS0vO1xuXG5leHBvcnQgY29uc3QgVFVJX0lTX01PQklMRSA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkoXG4gICAgKCkgPT5cbiAgICAgICAgZmlyc3RSZWdleC50ZXN0KGluamVjdChXQV9VU0VSX0FHRU5UKS50b0xvd2VyQ2FzZSgpKSB8fFxuICAgICAgICBzZWNvbmRSZWdleC50ZXN0KGluamVjdChXQV9VU0VSX0FHRU5UKS5zbGljZSgwLCA0KS50b0xvd2VyQ2FzZSgpKSxcbik7XG5cbmV4cG9ydCBjb25zdCBUVUlfSVNfSU9TID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeSgoKSA9PiB0dWlJc0lvcyhpbmplY3QoV0FfTkFWSUdBVE9SKSkpO1xuXG5leHBvcnQgY29uc3QgVFVJX0lTX0FORFJPSUQgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KFxuICAgICgpID0+IGluamVjdChUVUlfSVNfTU9CSUxFKSAmJiAhaW5qZWN0KFRVSV9JU19JT1MpLFxuKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9JU19XRUJLSVQgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KFxuICAgICgpID0+ICEhaW5qZWN0PGFueT4oV0FfV0lORE9XKT8ud2Via2l0Q29udmVydFBvaW50RnJvbU5vZGVUb1BhZ2UsXG4pO1xuXG5leHBvcnQgY29uc3QgVFVJX1BMQVRGT1JNID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeTwnYW5kcm9pZCcgfCAnaW9zJyB8ICd3ZWInPigoKSA9PiB7XG4gICAgaWYgKGluamVjdChUVUlfSVNfSU9TKSkge1xuICAgICAgICByZXR1cm4gJ2lvcyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGluamVjdChUVUlfSVNfQU5EUk9JRCkgPyAnYW5kcm9pZCcgOiAnd2ViJztcbn0pO1xuXG5leHBvcnQgY29uc3QgVFVJX0lTX1RPVUNIID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeSgoKSA9PiB7XG4gICAgY29uc3QgbWVkaWEgPSBpbmplY3QoV0FfV0lORE9XKS5tYXRjaE1lZGlhKCcocG9pbnRlcjogY29hcnNlKScpO1xuXG4gICAgcmV0dXJuIHRvU2lnbmFsKGZyb21FdmVudChtZWRpYSwgJ2NoYW5nZScpLnBpcGUobWFwKCgpID0+IG1lZGlhLm1hdGNoZXMpKSwge1xuICAgICAgICBpbml0aWFsVmFsdWU6IG1lZGlhLm1hdGNoZXMsXG4gICAgfSk7XG59KTtcblxuLyoqXG4gKiBEZXRlY3QgaWYgYXBwIGlzIHJ1bm5pbmcgdW5kZXIgQ3lwcmVzc1xuICoge0BsaW5rIGh0dHBzOi8vZG9jcy5jeXByZXNzLmlvL2ZhcS9xdWVzdGlvbnMvdXNpbmctY3lwcmVzcy1mYXEjSXMtdGhlcmUtYW55LXdheS10by1kZXRlY3QtaWYtbXktYXBwLWlzLXJ1bm5pbmctdW5kZXItQ3lwcmVzcyBDeXByZXNzIGRvY3N9XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSVNfQ1lQUkVTUyA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkoXG4gICAgKCkgPT4gISFpbmplY3Q8YW55PihXQV9XSU5ET1cpLkN5cHJlc3MsXG4pO1xuXG4vKipcbiAqIE1hbnVhbGx5IHByb3ZpZGUgYHRydWVgIHdoZW4gcnVubmluZyB0ZXN0cyBpbiBQbGF5d3JpZ2h0XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSVNfUExBWVdSSUdIVCA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3Rvcnk8Ym9vbGVhbj4oVFVJX0ZBTFNFX0hBTkRMRVIpO1xuXG4vKipcbiAqIERldGVjdCBpZiBhcHAgaXMgcnVubmluZyB1bmRlciBhbnkgb2YgdGVzdCBmcmFtZXdvcmtzXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSVNfRTJFID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeShcbiAgICAoKSA9PiBpbmplY3QoVFVJX0lTX0NZUFJFU1MpIHx8IGluamVjdChUVUlfSVNfUExBWVdSSUdIVCksXG4pO1xuIl19
|
@@ -1,10 +1,10 @@
|
|
1
1
|
export function tuiIsSafari({ ownerDocument: doc }) {
|
2
2
|
const win = doc?.defaultView;
|
3
|
-
const isMacOsSafari =
|
3
|
+
const isMacOsSafari = win.safari !== undefined &&
|
4
4
|
win.safari?.pushNotification?.toString() === '[object SafariRemoteNotification]';
|
5
5
|
const isIosSafari = !!win.navigator?.vendor?.includes('Apple') &&
|
6
6
|
!win.navigator?.userAgent?.includes('CriOS') &&
|
7
7
|
!win.navigator?.userAgent?.includes('FxiOS');
|
8
8
|
return isMacOsSafari || isIosSafari;
|
9
9
|
}
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2FmYXJpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL2Jyb3dzZXIvaXMtc2FmYXJpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxXQUFXLENBQUMsRUFBQyxhQUFhLEVBQUUsR0FBRyxFQUFVO0lBQ3JELE1BQU0sR0FBRyxHQUFHLEdBQUcsRUFBRSxXQUFpRCxDQUFDO0lBRW5FLE1BQU0sYUFBYSxHQUNmLEdBQUcsQ0FBQyxNQUFNLEtBQUssU0FBUztRQUN4QixHQUFHLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxLQUFLLG1DQUFtQyxDQUFDO0lBRXJGLE1BQU0sV0FBVyxHQUNiLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQzFDLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUM1QyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVqRCxPQUFPLGFBQWEsSUFBSSxXQUFXLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiB0dWlJc1NhZmFyaSh7b3duZXJEb2N1bWVudDogZG9jfTogRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHdpbiA9IGRvYz8uZGVmYXVsdFZpZXcgYXMgdW5rbm93biBhcyBXaW5kb3cgJiB7c2FmYXJpPzogYW55fTtcblxuICAgIGNvbnN0IGlzTWFjT3NTYWZhcmkgPVxuICAgICAgICB3aW4uc2FmYXJpICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgd2luLnNhZmFyaT8ucHVzaE5vdGlmaWNhdGlvbj8udG9TdHJpbmcoKSA9PT0gJ1tvYmplY3QgU2FmYXJpUmVtb3RlTm90aWZpY2F0aW9uXSc7XG5cbiAgICBjb25zdCBpc0lvc1NhZmFyaSA9XG4gICAgICAgICEhd2luLm5hdmlnYXRvcj8udmVuZG9yPy5pbmNsdWRlcygnQXBwbGUnKSAmJlxuICAgICAgICAhd2luLm5hdmlnYXRvcj8udXNlckFnZW50Py5pbmNsdWRlcygnQ3JpT1MnKSAmJlxuICAgICAgICAhd2luLm5hdmlnYXRvcj8udXNlckFnZW50Py5pbmNsdWRlcygnRnhpT1MnKTtcblxuICAgIHJldHVybiBpc01hY09zU2FmYXJpIHx8IGlzSW9zU2FmYXJpO1xufVxuIl19
|
@@ -1,7 +1,7 @@
|
|
1
1
|
const getChunksFromString = (hex, chunkSize) => hex.match(new RegExp(`.{${chunkSize}}`, 'g'));
|
2
2
|
const convertHexUnitTo256 = (hexStr) => parseInt(hexStr.repeat(2 / hexStr.length), 16);
|
3
3
|
const getAlphaFloat = (a, alpha) => {
|
4
|
-
if (
|
4
|
+
if (a !== undefined) {
|
5
5
|
return Number((a / 255).toFixed(2));
|
6
6
|
}
|
7
7
|
if (typeof alpha !== 'number' || alpha < 0 || alpha > 1) {
|
@@ -26,4 +26,4 @@ export function tuiParseHex(hex, alpha) {
|
|
26
26
|
const floatAlpha = getAlphaFloat(a, alpha);
|
27
27
|
return [r, g, b, floatAlpha];
|
28
28
|
}
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGV4LXRvLXJnYmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvY29sb3IvaGV4LXRvLXJnYmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEdBQVcsRUFBRSxTQUFpQixFQUEyQixFQUFFLENBQ3BGLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxTQUFTLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRWxELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxNQUFjLEVBQVUsRUFBRSxDQUNuRCxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRW5ELE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBVSxFQUFFLEtBQWMsRUFBVSxFQUFFO0lBQ3pELElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtRQUNqQixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN2QztJQUVELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtRQUNyRCxPQUFPLENBQUMsQ0FBQztLQUNaO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFXLEVBQUUsS0FBYztJQUNwRCxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUU3QyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztBQUM1RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxHQUFXO0lBQ3JDLE9BQU8sNEJBQTRCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUN2QixHQUFXLEVBQ1gsS0FBYztJQUVkLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUNsQztJQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUQsTUFBTSxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxHQUFHLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUUsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUUzQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGdldENodW5rc0Zyb21TdHJpbmcgPSAoaGV4OiBzdHJpbmcsIGNodW5rU2l6ZTogbnVtYmVyKTogUmVnRXhwTWF0Y2hBcnJheSB8IG51bGwgPT5cbiAgICBoZXgubWF0Y2gobmV3IFJlZ0V4cChgLnske2NodW5rU2l6ZX19YCwgJ2cnKSk7XG5cbmNvbnN0IGNvbnZlcnRIZXhVbml0VG8yNTYgPSAoaGV4U3RyOiBzdHJpbmcpOiBudW1iZXIgPT5cbiAgICBwYXJzZUludChoZXhTdHIucmVwZWF0KDIgLyBoZXhTdHIubGVuZ3RoKSwgMTYpO1xuXG5jb25zdCBnZXRBbHBoYUZsb2F0ID0gKGE/OiBudW1iZXIsIGFscGhhPzogbnVtYmVyKTogbnVtYmVyID0+IHtcbiAgICBpZiAoYSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBOdW1iZXIoKGEgLyAyNTUpLnRvRml4ZWQoMikpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgYWxwaGEgIT09ICdudW1iZXInIHx8IGFscGhhIDwgMCB8fCBhbHBoYSA+IDEpIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFscGhhO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUhleFRvUkdCQShoZXg6IHN0cmluZywgYWxwaGE/OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IFtyLCBnLCBiLCBhXSA9IHR1aVBhcnNlSGV4KGhleCwgYWxwaGEpO1xuXG4gICAgcmV0dXJuIGEgPCAxID8gYHJnYmEoJHtyfSwgJHtnfSwgJHtifSwgJHthfSlgIDogYHJnYigke3J9LCAke2d9LCAke2J9KWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJc1ZhbGlkSGV4KGhleDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIC9eIyhbQS1GYS1mMC05XXszLDR9KXsxLDJ9JC8udGVzdChoZXgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpUGFyc2VIZXgoXG4gICAgaGV4OiBzdHJpbmcsXG4gICAgYWxwaGE/OiBudW1iZXIsXG4pOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSB7XG4gICAgaWYgKCF0dWlJc1ZhbGlkSGV4KGhleCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIEhFWCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGNodW5rU2l6ZSA9IE1hdGguZmxvb3IoKGhleC5sZW5ndGggLSAxKSAvIDMpO1xuICAgIGNvbnN0IGhleEFyciA9IGdldENodW5rc0Zyb21TdHJpbmcoaGV4LnNsaWNlKDEpLCBjaHVua1NpemUpO1xuICAgIGNvbnN0IFtyID0gTmFOLCBnID0gTmFOLCBiID0gTmFOLCBhXSA9IGhleEFycj8ubWFwKGNvbnZlcnRIZXhVbml0VG8yNTYpID8/IFtdO1xuICAgIGNvbnN0IGZsb2F0QWxwaGEgPSBnZXRBbHBoYUZsb2F0KGEsIGFscGhhKTtcblxuICAgIHJldHVybiBbciwgZywgYiwgZmxvYXRBbHBoYV07XG59XG4iXX0=
|
@@ -157,6 +157,7 @@ const TUI_USED_ICONS = [
|
|
157
157
|
'@tui.union-pay',
|
158
158
|
'@tui.uzcard',
|
159
159
|
'@tui.verve',
|
160
|
+
'@tui.external-link',
|
160
161
|
'@tui.search',
|
161
162
|
'@tui.sun',
|
162
163
|
'@tui.moon',
|
@@ -179,12 +180,12 @@ const TUI_USED_ICONS = [
|
|
179
180
|
'@tui.x',
|
180
181
|
'@tui.chevron-right',
|
181
182
|
'@tui.chevron-left',
|
182
|
-
'@tui.calendar',
|
183
183
|
'@tui.minus',
|
184
184
|
'@tui.file',
|
185
185
|
'@tui.trash',
|
186
186
|
'@tui.phone',
|
187
187
|
'@tui.star',
|
188
|
+
'@tui.calendar',
|
188
189
|
'@tui.rotate-ccw-square',
|
189
190
|
'@tui.arrow-left',
|
190
191
|
'@tui.arrow-right',
|
@@ -203,7 +204,7 @@ const TUI_USED_ICONS = [
|
|
203
204
|
'@tui.clock',
|
204
205
|
];
|
205
206
|
|
206
|
-
const TUI_VERSION = '4.
|
207
|
+
const TUI_VERSION = '4.7.0';
|
207
208
|
|
208
209
|
/**
|
209
210
|
* Generated bundle index. Do not edit.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-constants.mjs","sources":["../../../projects/cdk/constants/empty.ts","../../../projects/cdk/constants/handlers.ts","../../../projects/cdk/constants/matchers.ts","../../../projects/cdk/constants/regexp.ts","../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/constants/unicode-chars.ts","../../../projects/cdk/constants/used-icons.ts","../../../projects/cdk/constants/version.ts","../../../projects/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["import {QueryList} from '@angular/core';\n\nconst rect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n x: 0,\n y: 0,\n} as const;\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\nexport const EMPTY_CLIENT_RECT: DOMRect = {\n ...rect,\n toJSON: () => rect,\n};\n","/**\n * Handler that always returns `false`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_FALSE_HANDLER = (): false => false;\n\n/**\n * Handler that always returns `true`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_TRUE_HANDLER = (): true => true;\n","import type {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\n","export const svgNodeFilter: Exclude<NodeFilter, (node: Node) => number> = {\n acceptNode(node: Node): number {\n return 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n },\n};\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/00AB/ Left-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_LAQUO = '\\u00AB';\n\n/**\n * {@link https://unicode-table.com/en/00BB/ Right-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_RAQUO = '\\u00BB';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words.\n * @example well-behaved\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/2212/ Minus}\n * is used as math operator symbol or before negative digits.\n * ---\n * Can be used as `−`. Don't confuse with {@link CHAR_HYPHEN}\n */\nexport const CHAR_MINUS = '\\u2212';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * @description:\n * AUTOGENERATED\n *\n * Array of icons used in taiga-ui components\n */\nexport const TUI_USED_ICONS = [\n '@tui.mir',\n '@tui.visa',\n '@tui.electron',\n '@tui.mastercard',\n '@tui.maestro',\n '@tui.amex',\n '@tui.diners-club',\n '@tui.discover',\n '@tui.humo',\n '@tui.jcb',\n '@tui.ru-pay',\n '@tui.union-pay',\n '@tui.uzcard',\n '@tui.verve',\n '@tui.search',\n '@tui.sun',\n '@tui.moon',\n '@tui.code',\n '@tui.menu',\n '@tui.copy',\n '@tui.check',\n '@tui.link',\n '@tui.eye-off',\n '@tui.eye',\n '@tui.grip-vertical',\n '@tui.chevron-up',\n '@tui.chevron-down',\n '@tui.chevrons-up-down',\n '@tui.info',\n '@tui.circle-check',\n '@tui.circle-x',\n '@tui.circle-alert',\n '@tui.circle-help',\n '@tui.x',\n '@tui.chevron-right',\n '@tui.chevron-left',\n '@tui.
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-constants.mjs","sources":["../../../projects/cdk/constants/empty.ts","../../../projects/cdk/constants/handlers.ts","../../../projects/cdk/constants/matchers.ts","../../../projects/cdk/constants/regexp.ts","../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/constants/unicode-chars.ts","../../../projects/cdk/constants/used-icons.ts","../../../projects/cdk/constants/version.ts","../../../projects/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["import {QueryList} from '@angular/core';\n\nconst rect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n x: 0,\n y: 0,\n} as const;\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\nexport const EMPTY_CLIENT_RECT: DOMRect = {\n ...rect,\n toJSON: () => rect,\n};\n","/**\n * Handler that always returns `false`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_FALSE_HANDLER = (): false => false;\n\n/**\n * Handler that always returns `true`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_TRUE_HANDLER = (): true => true;\n","import type {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\n","export const svgNodeFilter: Exclude<NodeFilter, (node: Node) => number> = {\n acceptNode(node: Node): number {\n return 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n },\n};\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/00AB/ Left-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_LAQUO = '\\u00AB';\n\n/**\n * {@link https://unicode-table.com/en/00BB/ Right-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_RAQUO = '\\u00BB';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words.\n * @example well-behaved\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/2212/ Minus}\n * is used as math operator symbol or before negative digits.\n * ---\n * Can be used as `−`. Don't confuse with {@link CHAR_HYPHEN}\n */\nexport const CHAR_MINUS = '\\u2212';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * @description:\n * AUTOGENERATED\n *\n * Array of icons used in taiga-ui components\n */\nexport const TUI_USED_ICONS = [\n '@tui.mir',\n '@tui.visa',\n '@tui.electron',\n '@tui.mastercard',\n '@tui.maestro',\n '@tui.amex',\n '@tui.diners-club',\n '@tui.discover',\n '@tui.humo',\n '@tui.jcb',\n '@tui.ru-pay',\n '@tui.union-pay',\n '@tui.uzcard',\n '@tui.verve',\n '@tui.external-link',\n '@tui.search',\n '@tui.sun',\n '@tui.moon',\n '@tui.code',\n '@tui.menu',\n '@tui.copy',\n '@tui.check',\n '@tui.link',\n '@tui.eye-off',\n '@tui.eye',\n '@tui.grip-vertical',\n '@tui.chevron-up',\n '@tui.chevron-down',\n '@tui.chevrons-up-down',\n '@tui.info',\n '@tui.circle-check',\n '@tui.circle-x',\n '@tui.circle-alert',\n '@tui.circle-help',\n '@tui.x',\n '@tui.chevron-right',\n '@tui.chevron-left',\n '@tui.minus',\n '@tui.file',\n '@tui.trash',\n '@tui.phone',\n '@tui.star',\n '@tui.calendar',\n '@tui.rotate-ccw-square',\n '@tui.arrow-left',\n '@tui.arrow-right',\n '@tui.plus',\n '@tui.minimize',\n '@tui.filter',\n '@tui.layout-grid',\n '@tui.move-up-right',\n '@tui.move-right',\n '@tui.move-down-right',\n '@tui.move-down',\n '@tui.move-down-left',\n '@tui.move-left',\n '@tui.move-up-left',\n '@tui.move-up',\n '@tui.clock',\n] as const;\n","export const TUI_VERSION = '4.7.0';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -1,9 +1,10 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { Injectable, inject } from '@angular/core';
|
2
|
+
import { Injectable, inject, NgZone } from '@angular/core';
|
3
3
|
import { tuiProvide, tuiCreateTokenFromFactory } from '@taiga-ui/cdk/utils';
|
4
4
|
import { PolymorpheusComponent } from '@taiga-ui/polymorpheus';
|
5
5
|
import { Observable, of, defer, switchMap, map, takeUntil, timer, endWith, tap } from 'rxjs';
|
6
6
|
import { WA_PERFORMANCE, WA_ANIMATION_FRAME } from '@ng-web-apis/common';
|
7
|
+
import { tuiZonefreeScheduler } from '@taiga-ui/cdk/observables';
|
7
8
|
import { tuiClamp } from '@taiga-ui/cdk/utils/math';
|
8
9
|
import { tuiEaseInOutQuad } from '@taiga-ui/cdk/utils/miscellaneous';
|
9
10
|
import { DOCUMENT } from '@angular/common';
|
@@ -82,6 +83,7 @@ class TuiScrollService {
|
|
82
83
|
constructor() {
|
83
84
|
this.performanceRef = inject(WA_PERFORMANCE);
|
84
85
|
this.animationFrame$ = inject(WA_ANIMATION_FRAME);
|
86
|
+
this.zone = inject(NgZone);
|
85
87
|
}
|
86
88
|
scroll$(elementOrWindow, scrollTop, scrollLeft = getX(elementOrWindow), duration = SCROLL_TIME) {
|
87
89
|
ngDevMode && console.assert(duration >= 0, 'duration cannot be negative');
|
@@ -96,7 +98,7 @@ class TuiScrollService {
|
|
96
98
|
: defer(() => of(this.performanceRef.now())).pipe(switchMap((start) => this.animationFrame$.pipe(map((now) => now - start))), map((elapsed) => tuiEaseInOutQuad(tuiClamp(elapsed / duration, 0, 1))), map((percent) => [
|
97
99
|
initialTop + deltaTop * percent,
|
98
100
|
initialLeft + deltaLeft * percent,
|
99
|
-
]), takeUntil(timer(duration)), endWith([scrollTop, scrollLeft]));
|
101
|
+
]), takeUntil(timer(duration, tuiZonefreeScheduler(this.zone))), endWith([scrollTop, scrollLeft]));
|
100
102
|
return observable.pipe(tap(([scrollTop, scrollLeft]) => {
|
101
103
|
elementOrWindow.scrollTo?.(scrollLeft, scrollTop);
|
102
104
|
}));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-services.mjs","sources":["../../../projects/cdk/services/id.service.ts","../../../projects/cdk/services/popover.service.ts","../../../projects/cdk/services/scroll.service.ts","../../../projects/cdk/services/theme-color.service.ts","../../../projects/cdk/services/taiga-ui-cdk-services.ts"],"sourcesContent":["import {inject, Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiIdService {\n private static autoId = 0;\n\n public generate(): string {\n return `tui_${TuiIdService.autoId++}${Date.now()}`;\n }\n}\n\nexport function tuiInjectId(): string {\n return inject(TuiIdService).generate();\n}\n","import type {Provider, ProviderToken, Type} from '@angular/core';\nimport {inject, Injectable} from '@angular/core';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\nimport type {BehaviorSubject, Observer} from 'rxjs';\nimport {Observable} from 'rxjs';\n\nimport {TuiIdService} from './id.service';\n\nexport interface TuiPopoverContext<O> extends TuiContext<Observer<O>> {\n readonly component: PolymorpheusComponent<any>;\n readonly createdAt: number;\n readonly id: string;\n readonly completeWith: (value: O) => void;\n}\n\nexport type TuiPopover<T, O> = T &\n TuiPopoverContext<O> & {\n content: PolymorpheusContent<T & TuiPopoverContext<O>>;\n };\n\n@Injectable()\nexport abstract class TuiPopoverService<T, K = void> {\n private readonly component: PolymorpheusComponent<any>;\n private readonly items$: BehaviorSubject<ReadonlyArray<TuiPopover<T, any>>>;\n private readonly id = inject(TuiIdService);\n\n constructor(\n items: ProviderToken<BehaviorSubject<ReadonlyArray<TuiPopover<T, any>>>>,\n component: Type<any>,\n protected readonly options: T = {} as T,\n ) {\n this.component = new PolymorpheusComponent(component);\n this.items$ = inject(items);\n }\n\n public open<G = void>(\n content: PolymorpheusContent<T & TuiPopoverContext<K extends void ? G : K>>,\n options: Partial<T> = {},\n ): Observable<K extends void ? G : K> {\n return new Observable((observer) => {\n const item = {\n ...this.options,\n ...options,\n content,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.id.generate(),\n completeWith: (result: K extends void ? G : K): void => {\n observer.next(result);\n observer.complete();\n },\n };\n\n this.items$.next([...this.items$.value, item]);\n\n return () => {\n this.items$.next(this.items$.value.filter((value) => value !== item));\n };\n });\n }\n}\n\nexport function tuiAsPopover(popover: Type<TuiPopoverService<any>>): Provider {\n return tuiProvide(TuiPopoverService, popover);\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {inject, Injectable} from '@angular/core';\nimport {WA_ANIMATION_FRAME, WA_PERFORMANCE} from '@ng-web-apis/common';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiEaseInOutQuad} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\nimport {defer, endWith, map, of, switchMap, takeUntil, tap, timer} from 'rxjs';\n\nconst SCROLL_TIME = 300;\n\nfunction getX(elementOrWindow: Element | Window): number {\n return 'scrollX' in elementOrWindow\n ? elementOrWindow.scrollX\n : elementOrWindow.scrollLeft;\n}\n\nfunction getY(elementOrWindow: Element | Window): number {\n return 'scrollY' in elementOrWindow\n ? elementOrWindow.scrollY\n : elementOrWindow.scrollTop;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiScrollService {\n private readonly performanceRef = inject(WA_PERFORMANCE);\n private readonly animationFrame$ = inject(WA_ANIMATION_FRAME);\n\n public scroll$(\n elementOrWindow: Element | Window,\n scrollTop: number,\n scrollLeft: number = getX(elementOrWindow),\n duration: number = SCROLL_TIME,\n ): Observable<[number, number]> {\n ngDevMode && console.assert(duration >= 0, 'duration cannot be negative');\n ngDevMode && console.assert(scrollTop >= 0, 'scrollTop cannot be negative');\n ngDevMode && console.assert(scrollLeft >= 0, 'scrollLeft cannot be negative');\n\n const initialTop = getY(elementOrWindow);\n const initialLeft = getX(elementOrWindow);\n const deltaTop = scrollTop - initialTop;\n const deltaLeft = scrollLeft - initialLeft;\n const observable = !duration\n ? of<[number, number]>([scrollTop, scrollLeft])\n : defer(() => of(this.performanceRef.now())).pipe(\n switchMap((start) =>\n this.animationFrame$.pipe(map((now) => now - start)),\n ),\n map((elapsed) => tuiEaseInOutQuad(tuiClamp(elapsed / duration, 0, 1))),\n map<number, [number, number]>((percent) => [\n initialTop + deltaTop * percent,\n initialLeft + deltaLeft * percent,\n ]),\n takeUntil(timer(duration)),\n endWith<[number, number]>([scrollTop, scrollLeft]),\n );\n\n return observable.pipe(\n tap(([scrollTop, scrollLeft]) => {\n elementOrWindow.scrollTo?.(scrollLeft, scrollTop);\n }),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable} from '@angular/core';\nimport {Meta} from '@angular/platform-browser';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\nexport const TUI_THEME_COLOR = tuiCreateTokenFromFactory<string>(\n () => inject(Meta).getTag('name=\"theme-color\"')?.content ?? '',\n);\n\ninterface TuiThemeColor {\n get color(): string;\n set color(value: string);\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiThemeColorService implements TuiThemeColor {\n private readonly current = inject(TUI_THEME_COLOR);\n private readonly doc = inject(DOCUMENT);\n private readonly meta = inject(Meta);\n\n public get color(): string {\n return this.current;\n }\n\n public set color(content: string) {\n this.meta.updateTag({name: 'theme-color', content});\n this.doc.documentElement.style.setProperty('--tui-theme-color', content);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-services.mjs","sources":["../../../projects/cdk/services/id.service.ts","../../../projects/cdk/services/popover.service.ts","../../../projects/cdk/services/scroll.service.ts","../../../projects/cdk/services/theme-color.service.ts","../../../projects/cdk/services/taiga-ui-cdk-services.ts"],"sourcesContent":["import {inject, Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiIdService {\n private static autoId = 0;\n\n public generate(): string {\n return `tui_${TuiIdService.autoId++}${Date.now()}`;\n }\n}\n\nexport function tuiInjectId(): string {\n return inject(TuiIdService).generate();\n}\n","import type {Provider, ProviderToken, Type} from '@angular/core';\nimport {inject, Injectable} from '@angular/core';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\nimport type {BehaviorSubject, Observer} from 'rxjs';\nimport {Observable} from 'rxjs';\n\nimport {TuiIdService} from './id.service';\n\nexport interface TuiPopoverContext<O> extends TuiContext<Observer<O>> {\n readonly component: PolymorpheusComponent<any>;\n readonly createdAt: number;\n readonly id: string;\n readonly completeWith: (value: O) => void;\n}\n\nexport type TuiPopover<T, O> = T &\n TuiPopoverContext<O> & {\n content: PolymorpheusContent<T & TuiPopoverContext<O>>;\n };\n\n@Injectable()\nexport abstract class TuiPopoverService<T, K = void> {\n private readonly component: PolymorpheusComponent<any>;\n private readonly items$: BehaviorSubject<ReadonlyArray<TuiPopover<T, any>>>;\n private readonly id = inject(TuiIdService);\n\n constructor(\n items: ProviderToken<BehaviorSubject<ReadonlyArray<TuiPopover<T, any>>>>,\n component: Type<any>,\n protected readonly options: T = {} as T,\n ) {\n this.component = new PolymorpheusComponent(component);\n this.items$ = inject(items);\n }\n\n public open<G = void>(\n content: PolymorpheusContent<T & TuiPopoverContext<K extends void ? G : K>>,\n options: Partial<T> = {},\n ): Observable<K extends void ? G : K> {\n return new Observable((observer) => {\n const item = {\n ...this.options,\n ...options,\n content,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.id.generate(),\n completeWith: (result: K extends void ? G : K): void => {\n observer.next(result);\n observer.complete();\n },\n };\n\n this.items$.next([...this.items$.value, item]);\n\n return () => {\n this.items$.next(this.items$.value.filter((value) => value !== item));\n };\n });\n }\n}\n\nexport function tuiAsPopover(popover: Type<TuiPopoverService<any>>): Provider {\n return tuiProvide(TuiPopoverService, popover);\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {inject, Injectable, NgZone} from '@angular/core';\nimport {WA_ANIMATION_FRAME, WA_PERFORMANCE} from '@ng-web-apis/common';\nimport {tuiZonefreeScheduler} from '@taiga-ui/cdk/observables';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiEaseInOutQuad} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {Observable} from 'rxjs';\nimport {defer, endWith, map, of, switchMap, takeUntil, tap, timer} from 'rxjs';\n\nconst SCROLL_TIME = 300;\n\nfunction getX(elementOrWindow: Element | Window): number {\n return 'scrollX' in elementOrWindow\n ? elementOrWindow.scrollX\n : elementOrWindow.scrollLeft;\n}\n\nfunction getY(elementOrWindow: Element | Window): number {\n return 'scrollY' in elementOrWindow\n ? elementOrWindow.scrollY\n : elementOrWindow.scrollTop;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiScrollService {\n private readonly performanceRef = inject(WA_PERFORMANCE);\n private readonly animationFrame$ = inject(WA_ANIMATION_FRAME);\n private readonly zone = inject(NgZone);\n\n public scroll$(\n elementOrWindow: Element | Window,\n scrollTop: number,\n scrollLeft: number = getX(elementOrWindow),\n duration: number = SCROLL_TIME,\n ): Observable<[number, number]> {\n ngDevMode && console.assert(duration >= 0, 'duration cannot be negative');\n ngDevMode && console.assert(scrollTop >= 0, 'scrollTop cannot be negative');\n ngDevMode && console.assert(scrollLeft >= 0, 'scrollLeft cannot be negative');\n\n const initialTop = getY(elementOrWindow);\n const initialLeft = getX(elementOrWindow);\n const deltaTop = scrollTop - initialTop;\n const deltaLeft = scrollLeft - initialLeft;\n const observable = !duration\n ? of<[number, number]>([scrollTop, scrollLeft])\n : defer(() => of(this.performanceRef.now())).pipe(\n switchMap((start) =>\n this.animationFrame$.pipe(map((now) => now - start)),\n ),\n map((elapsed) => tuiEaseInOutQuad(tuiClamp(elapsed / duration, 0, 1))),\n map<number, [number, number]>((percent) => [\n initialTop + deltaTop * percent,\n initialLeft + deltaLeft * percent,\n ]),\n takeUntil(timer(duration, tuiZonefreeScheduler(this.zone))),\n endWith<[number, number]>([scrollTop, scrollLeft]),\n );\n\n return observable.pipe(\n tap(([scrollTop, scrollLeft]) => {\n elementOrWindow.scrollTo?.(scrollLeft, scrollTop);\n }),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable} from '@angular/core';\nimport {Meta} from '@angular/platform-browser';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\nexport const TUI_THEME_COLOR = tuiCreateTokenFromFactory<string>(\n () => inject(Meta).getTag('name=\"theme-color\"')?.content ?? '',\n);\n\ninterface TuiThemeColor {\n get color(): string;\n set color(value: string);\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiThemeColorService implements TuiThemeColor {\n private readonly current = inject(TUI_THEME_COLOR);\n private readonly doc = inject(DOCUMENT);\n private readonly meta = inject(Meta);\n\n public get color(): string {\n return this.current;\n }\n\n public set color(content: string) {\n this.meta.updateTag({name: 'theme-color', content});\n this.doc.documentElement.style.setProperty('--tui-theme-color', content);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
2
|
-
import { inject, PLATFORM_ID, InjectionToken } from '@angular/core';
|
2
|
+
import { inject, NgZone, PLATFORM_ID, InjectionToken } from '@angular/core';
|
3
3
|
import { WA_WINDOW, WA_USER_AGENT, WA_NAVIGATOR } from '@ng-web-apis/common';
|
4
|
-
import { tuiTypedFromEvent } from '@taiga-ui/cdk/observables';
|
4
|
+
import { tuiTypedFromEvent, tuiZonefreeScheduler } from '@taiga-ui/cdk/observables';
|
5
5
|
import { tuiCreateTokenFromFactory, tuiGetDocumentOrShadowRoot, tuiIsNativeMouseFocusable, tuiGetActualTarget, tuiIsIos } from '@taiga-ui/cdk/utils';
|
6
6
|
import { BehaviorSubject, switchMap, timer, map, startWith, share, merge, filter, takeUntil, repeat, withLatestFrom, of, take, distinctUntilChanged, fromEvent, shareReplay } from 'rxjs';
|
7
7
|
import { ɵAnimationEngine } from '@angular/animations/browser';
|
@@ -46,6 +46,7 @@ const TUI_ACTIVE_ELEMENT = tuiCreateTokenFromFactory(() => {
|
|
46
46
|
const removedElement$ = inject(TUI_REMOVED_ELEMENT);
|
47
47
|
const win = inject(WA_WINDOW);
|
48
48
|
const doc = inject(DOCUMENT);
|
49
|
+
const zone = inject(NgZone);
|
49
50
|
const focusout$ = tuiTypedFromEvent(win, 'focusout', { capture: true });
|
50
51
|
const focusin$ = tuiTypedFromEvent(win, 'focusin', { capture: true });
|
51
52
|
const blur$ = tuiTypedFromEvent(win, 'blur');
|
@@ -66,15 +67,19 @@ const TUI_ACTIVE_ELEMENT = tuiCreateTokenFromFactory(() => {
|
|
66
67
|
* Do not use `map(() => tuiGetActualTarget(event))`
|
67
68
|
* because we have different result in runtime
|
68
69
|
*/
|
69
|
-
() => actualTargetInCurrentTime), takeUntil(timer(0)));
|
70
|
+
() => actualTargetInCurrentTime), takeUntil(timer(0, tuiZonefreeScheduler(zone))));
|
70
71
|
}))).pipe(distinctUntilChanged(), share());
|
71
72
|
});
|
72
73
|
|
73
74
|
const TUI_BASE_HREF = tuiCreateTokenFromFactory(() => inject(DOCUMENT).querySelector('base')?.href ?? '');
|
74
75
|
|
75
76
|
// https://stackoverflow.com/a/11381730/2706426 http://detectmobilebrowsers.com/
|
76
|
-
const firstRegex =
|
77
|
-
|
77
|
+
const firstRegex =
|
78
|
+
// eslint-disable-next-line sonarjs/regex-complexity
|
79
|
+
/(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([46])0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/;
|
80
|
+
const secondRegex =
|
81
|
+
// eslint-disable-next-line sonarjs/regex-complexity
|
82
|
+
/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([ev])w|bumb|bw-([nu])|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do([cp])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-([mpt])|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c([- _agpst])|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac([ \-/])|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja([tv])a|jbro|jemu|jigs|kddi|keji|kgt([ /])|klon|kpt |kwc-|kyo([ck])|le(no|xi)|lg( g|\/([klu])|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([- ov])|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30([02])|n50([025])|n7(0([01])|10)|ne(([cm])-|on|tf|wf|wg|wt)|nok([6i])|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan([adt])|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([-01])|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([im])|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-/;
|
78
83
|
const TUI_IS_MOBILE = tuiCreateTokenFromFactory(() => firstRegex.test(inject(WA_USER_AGENT).toLowerCase()) ||
|
79
84
|
secondRegex.test(inject(WA_USER_AGENT).slice(0, 4).toLowerCase()));
|
80
85
|
const TUI_IS_IOS = tuiCreateTokenFromFactory(() => tuiIsIos(inject(WA_NAVIGATOR)));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-tokens.mjs","sources":["../../../projects/cdk/tokens/removed-element.ts","../../../projects/cdk/tokens/active-element.ts","../../../projects/cdk/tokens/base-href.ts","../../../projects/cdk/tokens/environment.ts","../../../projects/cdk/tokens/fallback-value.ts","../../../projects/cdk/tokens/range.ts","../../../projects/cdk/tokens/window-size.ts","../../../projects/cdk/tokens/taiga-ui-cdk-tokens.ts"],"sourcesContent":["import {ɵAnimationEngine as AnimationEngine} from '@angular/animations/browser';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\nimport {BehaviorSubject, map, share, startWith, switchMap, timer} from 'rxjs';\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, {optional: true}) || 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 {WA_WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {\n tuiCreateTokenFromFactory,\n tuiGetActualTarget,\n tuiGetDocumentOrShadowRoot,\n tuiIsNativeMouseFocusable,\n} from '@taiga-ui/cdk/utils';\nimport type {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n merge,\n of,\n repeat,\n share,\n startWith,\n switchMap,\n take,\n takeUntil,\n timer,\n withLatestFrom,\n} from 'rxjs';\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 // Not due to scrollable element became non-scrollable\n tuiIsNativeMouseFocusable(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(WA_WINDOW);\n const doc = inject(DOCUMENT);\n const focusout$ = tuiTypedFromEvent(win, 'focusout', {capture: true});\n const focusin$ = tuiTypedFromEvent(win, 'focusin', {capture: true});\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 takeUntil(mousedown$),\n repeat({delay: () => 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 {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} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {WA_NAVIGATOR, WA_USER_AGENT, WA_WINDOW} from '@ng-web-apis/common';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiCreateTokenFromFactory, tuiIsIos} from '@taiga-ui/cdk/utils';\nimport {fromEvent, map} from 'rxjs';\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\nexport const TUI_IS_MOBILE = tuiCreateTokenFromFactory(\n () =>\n firstRegex.test(inject(WA_USER_AGENT).toLowerCase()) ||\n secondRegex.test(inject(WA_USER_AGENT).slice(0, 4).toLowerCase()),\n);\n\nexport const TUI_IS_IOS = tuiCreateTokenFromFactory(() => tuiIsIos(inject(WA_NAVIGATOR)));\n\nexport const TUI_IS_ANDROID = tuiCreateTokenFromFactory(\n () => inject(TUI_IS_MOBILE) && !inject(TUI_IS_IOS),\n);\n\nexport const TUI_IS_WEBKIT = tuiCreateTokenFromFactory(\n () => !!inject<any>(WA_WINDOW)?.webkitConvertPointFromNodeToPage,\n);\n\nexport const TUI_PLATFORM = tuiCreateTokenFromFactory<'android' | 'ios' | 'web'>(() => {\n if (inject(TUI_IS_IOS)) {\n return 'ios';\n }\n\n return inject(TUI_IS_ANDROID) ? 'android' : 'web';\n});\n\nexport const TUI_IS_TOUCH = tuiCreateTokenFromFactory(() => {\n const media = inject(WA_WINDOW).matchMedia('(pointer: coarse)');\n\n return toSignal(fromEvent(media, 'change').pipe(map(() => media.matches)), {\n initialValue: media.matches,\n });\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<any>(WA_WINDOW).Cypress,\n);\n\n/**\n * Manually provide `true` when running tests in Playwright\n */\nexport const TUI_IS_PLAYWRIGHT = tuiCreateTokenFromFactory<boolean>(TUI_FALSE_HANDLER);\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 type {ValueProvider} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_FALLBACK_VALUE = tuiCreateToken<any>(null);\n\nexport function tuiFallbackValueProvider<T>(useValue: T): ValueProvider {\n return {\n provide: TUI_FALLBACK_VALUE,\n useValue,\n };\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 {inject, InjectionToken} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport type {Observable} from 'rxjs';\nimport {map, shareReplay, startWith} from 'rxjs';\n\nexport const TUI_WINDOW_SIZE = new InjectionToken<Observable<DOMRect>>(\n '[TUI_WINDOW_SIZE]',\n {\n factory: () => {\n const w = inject(WA_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 const rect = {\n width,\n height,\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n x: 0,\n y: 0,\n };\n\n return {\n ...rect,\n toJSON: () => JSON.stringify(rect),\n };\n }),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n },\n },\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.mjs","sources":["../../../projects/cdk/tokens/removed-element.ts","../../../projects/cdk/tokens/active-element.ts","../../../projects/cdk/tokens/base-href.ts","../../../projects/cdk/tokens/environment.ts","../../../projects/cdk/tokens/fallback-value.ts","../../../projects/cdk/tokens/range.ts","../../../projects/cdk/tokens/window-size.ts","../../../projects/cdk/tokens/taiga-ui-cdk-tokens.ts"],"sourcesContent":["import {ɵAnimationEngine as AnimationEngine} from '@angular/animations/browser';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\nimport {BehaviorSubject, map, share, startWith, switchMap, timer} from 'rxjs';\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, {optional: true}) || 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, NgZone} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent, tuiZonefreeScheduler} from '@taiga-ui/cdk/observables';\nimport {\n tuiCreateTokenFromFactory,\n tuiGetActualTarget,\n tuiGetDocumentOrShadowRoot,\n tuiIsNativeMouseFocusable,\n} from '@taiga-ui/cdk/utils';\nimport type {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n merge,\n of,\n repeat,\n share,\n startWith,\n switchMap,\n take,\n takeUntil,\n timer,\n withLatestFrom,\n} from 'rxjs';\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 // Not due to scrollable element became non-scrollable\n tuiIsNativeMouseFocusable(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(WA_WINDOW);\n const doc = inject(DOCUMENT);\n const zone = inject(NgZone);\n const focusout$ = tuiTypedFromEvent(win, 'focusout', {capture: true});\n const focusin$ = tuiTypedFromEvent(win, 'focusin', {capture: true});\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 takeUntil(mousedown$),\n repeat({delay: () => 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, tuiZonefreeScheduler(zone))),\n );\n }),\n ),\n ).pipe(distinctUntilChanged(), share());\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} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {WA_NAVIGATOR, WA_USER_AGENT, WA_WINDOW} from '@ng-web-apis/common';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiCreateTokenFromFactory, tuiIsIos} from '@taiga-ui/cdk/utils';\nimport {fromEvent, map} from 'rxjs';\n\n// https://stackoverflow.com/a/11381730/2706426 http://detectmobilebrowsers.com/\nconst firstRegex =\n // eslint-disable-next-line sonarjs/regex-complexity\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([46])0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/;\nconst secondRegex =\n // eslint-disable-next-line sonarjs/regex-complexity\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([ev])w|bumb|bw-([nu])|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do([cp])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-([mpt])|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c([- _agpst])|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac([ \\-/])|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja([tv])a|jbro|jemu|jigs|kddi|keji|kgt([ /])|klon|kpt |kwc-|kyo([ck])|le(no|xi)|lg( g|\\/([klu])|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([- ov])|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30([02])|n50([025])|n7(0([01])|10)|ne(([cm])-|on|tf|wf|wg|wt)|nok([6i])|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan([adt])|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([-01])|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([im])|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\nexport const TUI_IS_MOBILE = tuiCreateTokenFromFactory(\n () =>\n firstRegex.test(inject(WA_USER_AGENT).toLowerCase()) ||\n secondRegex.test(inject(WA_USER_AGENT).slice(0, 4).toLowerCase()),\n);\n\nexport const TUI_IS_IOS = tuiCreateTokenFromFactory(() => tuiIsIos(inject(WA_NAVIGATOR)));\n\nexport const TUI_IS_ANDROID = tuiCreateTokenFromFactory(\n () => inject(TUI_IS_MOBILE) && !inject(TUI_IS_IOS),\n);\n\nexport const TUI_IS_WEBKIT = tuiCreateTokenFromFactory(\n () => !!inject<any>(WA_WINDOW)?.webkitConvertPointFromNodeToPage,\n);\n\nexport const TUI_PLATFORM = tuiCreateTokenFromFactory<'android' | 'ios' | 'web'>(() => {\n if (inject(TUI_IS_IOS)) {\n return 'ios';\n }\n\n return inject(TUI_IS_ANDROID) ? 'android' : 'web';\n});\n\nexport const TUI_IS_TOUCH = tuiCreateTokenFromFactory(() => {\n const media = inject(WA_WINDOW).matchMedia('(pointer: coarse)');\n\n return toSignal(fromEvent(media, 'change').pipe(map(() => media.matches)), {\n initialValue: media.matches,\n });\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<any>(WA_WINDOW).Cypress,\n);\n\n/**\n * Manually provide `true` when running tests in Playwright\n */\nexport const TUI_IS_PLAYWRIGHT = tuiCreateTokenFromFactory<boolean>(TUI_FALSE_HANDLER);\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 type {ValueProvider} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_FALLBACK_VALUE = tuiCreateToken<any>(null);\n\nexport function tuiFallbackValueProvider<T>(useValue: T): ValueProvider {\n return {\n provide: TUI_FALLBACK_VALUE,\n useValue,\n };\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 {inject, InjectionToken} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport type {Observable} from 'rxjs';\nimport {map, shareReplay, startWith} from 'rxjs';\n\nexport const TUI_WINDOW_SIZE = new InjectionToken<Observable<DOMRect>>(\n '[TUI_WINDOW_SIZE]',\n {\n factory: () => {\n const w = inject(WA_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 const rect = {\n width,\n height,\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n x: 0,\n y: 0,\n };\n\n return {\n ...rect,\n toJSON: () => JSON.stringify(rect),\n };\n }),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n },\n },\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["AnimationEngine"],"mappings":";;;;;;;;;;;AAKA;;AAEG;AACU,MAAA,mBAAmB,GAAG,yBAAyB,CAAC,MAAK;IAC9D,MAAM,IAAI,GAAG,EAAC,iBAAiB,EAAE,MAAK,GAAG,EAAC,CAAC;AAC3C,IAAA,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAiB,IAAI,CAAC,CAAC;AAC3D,IAAA,MAAM,MAAM,GAAG,MAAM,CAACA,gBAAe,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,IAAI,IAAI,CAAC;IACjE,MAAM,EAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAC,GAAG,MAAM,CAAC;IAE5D,MAAM,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAI;AAC5C,QAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACrD,KAAC,CAAC;AAEF,IAAA,OAAO,QAAQ,CAAC,IAAI,CAChB,SAAS,CAAC,CAAC,OAAO,KACd,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CACT,GAAG,CAAC,MAAM,IAAI,CAAC,EACf,SAAS,CAAC,OAAO,CAAC,CACrB,CACJ,EACD,KAAK,EAAE,CACV,CAAC;AACN,CAAC;;ACCD;AACA,SAAS,eAAe,CAAC,MAAW,EAAE,iBAAiC,IAAI,EAAA;IACvE;;AAEI,IAAA,0BAA0B,CAAC,MAAM,CAAC,CAAC,aAAa,KAAK,MAAM;;AAE3D,QAAA,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;;AAE5B,QAAA,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC;;AAEjC,QAAA,yBAAyB,CAAC,MAAM,CAAC,EACnC;AACN,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAc,EAAA;AAC3C,IAAA,OAAO,KAAK,CACR,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,MAAM,EAAC,KAAK,MAAM,CAAC,CAAC,EAClE,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,IAAI,CACpC,MAAM,CACF,CAAC,EAAC,MAAM,EAAE,aAAa,EAAC,KAAK,CAAC,CAAC,aAAa,IAAI,eAAe,CAAC,MAAM,CAAC,CAC1E,EACD,GAAG,CAAC,CAAC,EAAC,aAAa,EAAC,KAAK,aAAa,CAAC,CAC1C,CACJ,CAAC;AACN,CAAC;AAED;;AAEG;AACU,MAAA,kBAAkB,GAAG,yBAAyB,CAEzD,MAAK;AACH,IAAA,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACpD,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAC9B,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC7B,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAC5B,IAAA,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;AACtE,IAAA,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAEnD,OAAO,KAAK,CACR,SAAS,CAAC,IAAI,CACV,SAAS,CAAC,UAAU,CAAC,EACrB,MAAM,CAAC,EAAC,KAAK,EAAE,MAAM,QAAQ,EAAC,CAAC,EAC/B,cAAc,CAAC,eAAe,CAAC,EAC/B,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,KAC3B,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAC7D,EACD,GAAG,CAAC,CAAC,CAAC,EAAC,aAAa,EAAC,CAAC,KAAK,aAAa,CAAC,CAC5C,EACD,KAAK,CAAC,IAAI,CACN,GAAG,CAAC,MAAM,GAAG,CAAC,aAAa,CAAC,EAC5B,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CACpD,EACD,QAAQ,CAAC,IAAI,CACT,SAAS,CAAC,CAAC,KAAK,KAAI;AAChB,QAAA,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACzC,QAAA,MAAM,IAAI,GAAG,0BAA0B,CAAC,MAAM,CAAa,CAAC;QAE5D,OAAO,IAAI,KAAK,GAAG;AACf,cAAE,EAAE,CAAC,MAAM,CAAC;AACZ,cAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAChE,KAAC,CAAC,CACL,EACD,UAAU,CAAC,IAAI,CACX,SAAS,CAAC,CAAC,KAAK,KAAI;AAChB,QAAA,MAAM,yBAAyB,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE5D,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,KAAK,GAAG,CAAC,IAAI;AACvD,cAAE,EAAE,CAAC,yBAAyB,CAAC;cAC7B,SAAS,CAAC,IAAI,CACV,IAAI,CAAC,CAAC,CAAC,EACP,GAAG;AACC;;;AAGG;AACH,YAAA,MAAM,yBAAyB,CAClC,EACD,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAClD,CAAC;AACZ,KAAC,CAAC,CACL,CACJ,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC;;MC/GY,aAAa,GAAG,yBAAyB,CAClD,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE;;ACE5D;AACA,MAAM,UAAU;AACZ;AACA,0TAA0T,CAAC;AAC/T,MAAM,WAAW;AACb;AACA,iiDAAiiD,CAAC;MAEzhD,aAAa,GAAG,yBAAyB,CAClD,MACI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;AACpD,IAAA,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EACvE;AAEW,MAAA,UAAU,GAAG,yBAAyB,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE;MAE7E,cAAc,GAAG,yBAAyB,CACnD,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EACpD;AAEW,MAAA,aAAa,GAAG,yBAAyB,CAClD,MAAM,CAAC,CAAC,MAAM,CAAM,SAAS,CAAC,EAAE,gCAAgC,EAClE;AAEW,MAAA,YAAY,GAAG,yBAAyB,CAA4B,MAAK;AAClF,IAAA,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE;AACpB,QAAA,OAAO,KAAK,CAAC;AAChB,KAAA;AAED,IAAA,OAAO,MAAM,CAAC,cAAc,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC;AACtD,CAAC,EAAE;AAEU,MAAA,YAAY,GAAG,yBAAyB,CAAC,MAAK;IACvD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAEhE,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;QACvE,YAAY,EAAE,KAAK,CAAC,OAAO;AAC9B,KAAA,CAAC,CAAC;AACP,CAAC,EAAE;AAEH;;;AAGG;AACU,MAAA,cAAc,GAAG,yBAAyB,CACnD,MAAM,CAAC,CAAC,MAAM,CAAM,SAAS,CAAC,CAAC,OAAO,EACxC;AAEF;;AAEG;MACU,iBAAiB,GAAG,yBAAyB,CAAU,iBAAiB,EAAE;AAEvF;;AAEG;AACU,MAAA,UAAU,GAAG,yBAAyB,CAC/C,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC;;MC7DhD,kBAAkB,GAAG,cAAc,CAAM,IAAI,EAAE;AAEtD,SAAU,wBAAwB,CAAI,QAAW,EAAA;IACnD,OAAO;AACH,QAAA,OAAO,EAAE,kBAAkB;QAC3B,QAAQ;KACX,CAAC;AACN;;ACNA;;AAEG;AACU,MAAA,SAAS,GAAG,yBAAyB,CAAC,MAC/C,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,KAAK,EAAE,GAAI,EAAuB;;MCFtE,eAAe,GAAG,IAAI,cAAc,CAC7C,mBAAmB,EACnB;IACI,OAAO,EAAE,MAAK;AACV,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAE5B,QAAA,OAAO,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CACtC,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAK;AACL,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAClB,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,IAAI,CAAC,EAC3C,CAAC,CAAC,UAAU,IAAI,CAAC,EACjB,CAAC,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC,CAC/B,CAAC;AACF,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACnB,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,IAAI,CAAC,EAC5C,CAAC,CAAC,WAAW,IAAI,CAAC,EAClB,CAAC,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAChC,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACT,KAAK;gBACL,MAAM;AACN,gBAAA,GAAG,EAAE,CAAC;AACN,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,CAAC,EAAE,CAAC;AACJ,gBAAA,CAAC,EAAE,CAAC;aACP,CAAC;YAEF,OAAO;AACH,gBAAA,GAAG,IAAI;gBACP,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aACrC,CAAC;AACN,SAAC,CAAC,EACF,WAAW,CAAC,EAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAC/C,CAAC;KACL;AACJ,CAAA;;AC5CL;;AAEG;;;;"}
|
@@ -28,7 +28,7 @@ function tuiIsIos(navigator) {
|
|
28
28
|
|
29
29
|
function tuiIsSafari({ ownerDocument: doc }) {
|
30
30
|
const win = doc?.defaultView;
|
31
|
-
const isMacOsSafari =
|
31
|
+
const isMacOsSafari = win.safari !== undefined &&
|
32
32
|
win.safari?.pushNotification?.toString() === '[object SafariRemoteNotification]';
|
33
33
|
const isIosSafari = !!win.navigator?.vendor?.includes('Apple') &&
|
34
34
|
!win.navigator?.userAgent?.includes('CriOS') &&
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-browser.mjs","sources":["../../../projects/cdk/utils/browser/is-apple.ts","../../../projects/cdk/utils/browser/is-edge.ts","../../../projects/cdk/utils/browser/is-firefox.ts","../../../projects/cdk/utils/browser/is-ios.ts","../../../projects/cdk/utils/browser/is-safari.ts","../../../projects/cdk/utils/browser/taiga-ui-cdk-utils-browser.ts"],"sourcesContent":["/**\n * @description:\n * All Chrome / Chromium-based browsers will return MacIntel on macOS,\n * no matter what the hardware architecture is. See the source code here:\n * https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/frame/navigator_id.cc;l=64;drc=703d3c472cf27470dad21a3f2c8972aca3732cd6\n * But maybe in future years, it will be changed to MacM1\n *\n * Documentation:\n * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform\n */\nexport function tuiIsApple(navigator: Navigator): boolean {\n return navigator.platform.startsWith('Mac') || navigator.platform === 'iPhone';\n}\n","export function tuiIsEdge(userAgent: string): boolean {\n return userAgent.toLowerCase().includes('edge');\n}\n","export function tuiIsFirefox(userAgent: string): boolean {\n return userAgent.toLowerCase().includes('firefox');\n}\n","import {tuiIsApple} from './is-apple';\n\nconst IOS_REG_EXP = /ipad|iphone|ipod/;\n\nexport function tuiIsIos(navigator: Navigator): boolean {\n return (\n IOS_REG_EXP.test(navigator.userAgent.toLowerCase()) ||\n (tuiIsApple(navigator) && navigator.maxTouchPoints > 1)\n );\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
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-utils-browser.mjs","sources":["../../../projects/cdk/utils/browser/is-apple.ts","../../../projects/cdk/utils/browser/is-edge.ts","../../../projects/cdk/utils/browser/is-firefox.ts","../../../projects/cdk/utils/browser/is-ios.ts","../../../projects/cdk/utils/browser/is-safari.ts","../../../projects/cdk/utils/browser/taiga-ui-cdk-utils-browser.ts"],"sourcesContent":["/**\n * @description:\n * All Chrome / Chromium-based browsers will return MacIntel on macOS,\n * no matter what the hardware architecture is. See the source code here:\n * https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/frame/navigator_id.cc;l=64;drc=703d3c472cf27470dad21a3f2c8972aca3732cd6\n * But maybe in future years, it will be changed to MacM1\n *\n * Documentation:\n * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform\n */\nexport function tuiIsApple(navigator: Navigator): boolean {\n return navigator.platform.startsWith('Mac') || navigator.platform === 'iPhone';\n}\n","export function tuiIsEdge(userAgent: string): boolean {\n return userAgent.toLowerCase().includes('edge');\n}\n","export function tuiIsFirefox(userAgent: string): boolean {\n return userAgent.toLowerCase().includes('firefox');\n}\n","import {tuiIsApple} from './is-apple';\n\nconst IOS_REG_EXP = /ipad|iphone|ipod/;\n\nexport function tuiIsIos(navigator: Navigator): boolean {\n return (\n IOS_REG_EXP.test(navigator.userAgent.toLowerCase()) ||\n (tuiIsApple(navigator) && navigator.maxTouchPoints > 1)\n );\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 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":"AAAA;;;;;;;;;AASG;AACG,SAAU,UAAU,CAAC,SAAoB,EAAA;AAC3C,IAAA,OAAO,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACnF;;ACZM,SAAU,SAAS,CAAC,SAAiB,EAAA;IACvC,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACpD;;ACFM,SAAU,YAAY,CAAC,SAAiB,EAAA;IAC1C,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACvD;;ACAA,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAEjC,SAAU,QAAQ,CAAC,SAAoB,EAAA;IACzC,QACI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;AACnD,SAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,EACzD;AACN;;SCTgB,WAAW,CAAC,EAAC,aAAa,EAAE,GAAG,EAAU,EAAA;AACrD,IAAA,MAAM,GAAG,GAAG,GAAG,EAAE,WAAiD,CAAC;AAEnE,IAAA,MAAM,aAAa,GACf,GAAG,CAAC,MAAM,KAAK,SAAS;QACxB,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,mCAAmC,CAAC;AAErF,IAAA,MAAM,WAAW,GACb,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;QAC1C,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC;QAC5C,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO,aAAa,IAAI,WAAW,CAAC;AACxC;;ACbA;;AAEG;;;;"}
|
@@ -19,7 +19,7 @@ function tuiHexToRgb(hex) {
|
|
19
19
|
const getChunksFromString = (hex, chunkSize) => hex.match(new RegExp(`.{${chunkSize}}`, 'g'));
|
20
20
|
const convertHexUnitTo256 = (hexStr) => parseInt(hexStr.repeat(2 / hexStr.length), 16);
|
21
21
|
const getAlphaFloat = (a, alpha) => {
|
22
|
-
if (
|
22
|
+
if (a !== undefined) {
|
23
23
|
return Number((a / 255).toFixed(2));
|
24
24
|
}
|
25
25
|
if (typeof alpha !== 'number' || alpha < 0 || alpha > 1) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-color.mjs","sources":["../../../projects/cdk/utils/color/get-gradient-data.ts","../../../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/parse-gradient.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 tuiGetGradientData(gradient: string): string {\n return gradient\n .slice(0, Math.max(0, gradient.length - 1))\n .replace('linear-gradient(', '');\n}\n","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 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 = NaN, g = NaN, b = NaN, 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","import {tuiParseColor} from './parse-color';\n\nexport interface TuiParsedGradient {\n readonly side: TuiGradientDirection;\n readonly stops: ReadonlyArray<{\n readonly color: string;\n readonly position: string;\n }>;\n}\n\nexport type TuiGradientDirection =\n | 'to bottom left'\n | 'to bottom right'\n | 'to bottom'\n | 'to left'\n | 'to right'\n | 'to top left'\n | 'to top right'\n | 'to top';\n\n//\n// TypeScript parser based on Dean Taylor's answer:\n// https://stackoverflow.com/a/20238168/2706426\n//\n// SETUP CODE\nconst COMMA = String.raw`\\s*,\\s*`; // Allow space around comma.\nconst HEX = '#(?:[a-f0-9]{6}|[a-f0-9]{3})'; // 3 or 6 character form\nconst RGB = String.raw`\\(\\s*(?:\\d{1,3}\\s*,\\s*){2}\\d{1,3}\\s*\\)`; // \"(1, 2, 3)\"\nconst RGBA = String.raw`\\(\\s*(?:\\d{1,3}\\s*,\\s*){2}\\d{1,3}\\s*,\\s*\\d*\\.?\\d+\\)`; // \"(1, 2, 3, 4)\"\nconst VALUE = String.raw`(?:[+-]?\\d*\\.?\\d+)(?:%|[a-z]+)?`; // \".9\", \"-5px\", \"100%\".\nconst KEYWORD = '[_a-z-][_a-z0-9-]*'; // \"red\", \"transparent\", \"border-collapse\".\nconst COLOR = [\n '(?:',\n HEX,\n '|',\n '(?:rgb|hsl)',\n RGB,\n '|',\n '(?:rgba|hsla)',\n RGBA,\n '|',\n KEYWORD,\n ')',\n];\nconst REGEXP_ARRAY = [\n String.raw`\\s*(`,\n ...COLOR,\n ')',\n String.raw`(?:\\s+`,\n '(',\n VALUE,\n '))?',\n '(?:',\n COMMA,\n String.raw`\\s*)?`,\n];\n\nfunction getPosition(match: string, stops: number): string {\n const fallback = stops === 1 ? '100%' : `${stops}%`;\n\n return match?.includes('%') ? match : fallback;\n}\n\nexport function tuiParseGradient(input: string): TuiParsedGradient {\n const stopsRegexp = new RegExp(REGEXP_ARRAY.join(''), 'gi');\n const stopsString =\n input.startsWith('to') || /^\\d/.exec(input)\n ? input.slice(Math.max(0, input.indexOf(',') + 1)).trim()\n : input;\n\n const side = input.startsWith('to')\n ? (input.split(',')[0] as TuiGradientDirection)\n : 'to bottom';\n let stops: TuiParsedGradient['stops'] = [];\n\n let matchColorStop = stopsRegexp.exec(stopsString);\n\n while (matchColorStop !== null) {\n stops = stops.concat({\n color: matchColorStop[1] || '',\n position: getPosition(matchColorStop[2] || '', stops.length),\n });\n\n matchColorStop = stopsRegexp.exec(stopsString);\n }\n\n stops = stops.filter(({color}) => color.startsWith('#') || color.startsWith('rgb'));\n\n return {\n stops,\n side,\n };\n}\n\nexport function tuiToGradient({stops, side}: TuiParsedGradient): string {\n return `linear-gradient(${side}, ${stops\n .map(\n ({color, position}) => `rgba(${tuiParseColor(color).join(', ')}) ${position}`,\n )\n .join(', ')})`;\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 =\n /^rgba?\\((\\d+),(\\d+),(\\d+),?([^,\\s)]+)?/i.exec(color.replaceAll(/\\s/g, '')) ??\n null;\n\n let alpha: number | string = (rgb?.[4] ?? '').toString().trim();\n\n let hex = rgb\n ? ((parseInt(rgb?.[1] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1) +\n ((parseInt(rgb?.[2] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1) +\n ((parseInt(rgb?.[3] ?? '', 10) || 0) | (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 = String.raw`(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|2[0-5]{2})`;\n const alpha = String.raw`([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.mjs","sources":["../../../projects/cdk/utils/color/get-gradient-data.ts","../../../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/parse-gradient.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 tuiGetGradientData(gradient: string): string {\n return gradient\n .slice(0, Math.max(0, gradient.length - 1))\n .replace('linear-gradient(', '');\n}\n","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 (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 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 = NaN, g = NaN, b = NaN, 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","import {tuiParseColor} from './parse-color';\n\nexport interface TuiParsedGradient {\n readonly side: TuiGradientDirection;\n readonly stops: ReadonlyArray<{\n readonly color: string;\n readonly position: string;\n }>;\n}\n\nexport type TuiGradientDirection =\n | 'to bottom left'\n | 'to bottom right'\n | 'to bottom'\n | 'to left'\n | 'to right'\n | 'to top left'\n | 'to top right'\n | 'to top';\n\n//\n// TypeScript parser based on Dean Taylor's answer:\n// https://stackoverflow.com/a/20238168/2706426\n//\n// SETUP CODE\nconst COMMA = String.raw`\\s*,\\s*`; // Allow space around comma.\nconst HEX = '#(?:[a-f0-9]{6}|[a-f0-9]{3})'; // 3 or 6 character form\nconst RGB = String.raw`\\(\\s*(?:\\d{1,3}\\s*,\\s*){2}\\d{1,3}\\s*\\)`; // \"(1, 2, 3)\"\nconst RGBA = String.raw`\\(\\s*(?:\\d{1,3}\\s*,\\s*){2}\\d{1,3}\\s*,\\s*\\d*\\.?\\d+\\)`; // \"(1, 2, 3, 4)\"\nconst VALUE = String.raw`(?:[+-]?\\d*\\.?\\d+)(?:%|[a-z]+)?`; // \".9\", \"-5px\", \"100%\".\nconst KEYWORD = '[_a-z-][_a-z0-9-]*'; // \"red\", \"transparent\", \"border-collapse\".\nconst COLOR = [\n '(?:',\n HEX,\n '|',\n '(?:rgb|hsl)',\n RGB,\n '|',\n '(?:rgba|hsla)',\n RGBA,\n '|',\n KEYWORD,\n ')',\n];\nconst REGEXP_ARRAY = [\n String.raw`\\s*(`,\n ...COLOR,\n ')',\n String.raw`(?:\\s+`,\n '(',\n VALUE,\n '))?',\n '(?:',\n COMMA,\n String.raw`\\s*)?`,\n];\n\nfunction getPosition(match: string, stops: number): string {\n const fallback = stops === 1 ? '100%' : `${stops}%`;\n\n return match?.includes('%') ? match : fallback;\n}\n\nexport function tuiParseGradient(input: string): TuiParsedGradient {\n const stopsRegexp = new RegExp(REGEXP_ARRAY.join(''), 'gi');\n const stopsString =\n input.startsWith('to') || /^\\d/.exec(input)\n ? input.slice(Math.max(0, input.indexOf(',') + 1)).trim()\n : input;\n\n const side = input.startsWith('to')\n ? (input.split(',')[0] as TuiGradientDirection)\n : 'to bottom';\n let stops: TuiParsedGradient['stops'] = [];\n\n let matchColorStop = stopsRegexp.exec(stopsString);\n\n while (matchColorStop !== null) {\n stops = stops.concat({\n color: matchColorStop[1] || '',\n position: getPosition(matchColorStop[2] || '', stops.length),\n });\n\n matchColorStop = stopsRegexp.exec(stopsString);\n }\n\n stops = stops.filter(({color}) => color.startsWith('#') || color.startsWith('rgb'));\n\n return {\n stops,\n side,\n };\n}\n\nexport function tuiToGradient({stops, side}: TuiParsedGradient): string {\n return `linear-gradient(${side}, ${stops\n .map(\n ({color, position}) => `rgba(${tuiParseColor(color).join(', ')}) ${position}`,\n )\n .join(', ')})`;\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 =\n /^rgba?\\((\\d+),(\\d+),(\\d+),?([^,\\s)]+)?/i.exec(color.replaceAll(/\\s/g, '')) ??\n null;\n\n let alpha: number | string = (rgb?.[4] ?? '').toString().trim();\n\n let hex = rgb\n ? ((parseInt(rgb?.[1] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1) +\n ((parseInt(rgb?.[2] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1) +\n ((parseInt(rgb?.[3] ?? '', 10) || 0) | (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 = String.raw`(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|2[0-5]{2})`;\n const alpha = String.raw`([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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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@taiga-ui/cdk",
|
3
|
-
"version": "4.
|
3
|
+
"version": "4.7.0-canary.2dd3ca2",
|
4
4
|
"description": "Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance",
|
5
5
|
"keywords": [
|
6
6
|
"angular",
|
@@ -23,18 +23,18 @@
|
|
23
23
|
"@angular/common": ">=16.0.0",
|
24
24
|
"@angular/core": ">=16.0.0",
|
25
25
|
"@angular/forms": ">=16.0.0",
|
26
|
-
"@ng-web-apis/common": "^4.
|
27
|
-
"@ng-web-apis/mutation-observer": "^4.
|
28
|
-
"@ng-web-apis/resize-observer": "^4.
|
29
|
-
"@taiga-ui/event-plugins": "^4.
|
30
|
-
"@taiga-ui/polymorpheus": "^4.7.
|
26
|
+
"@ng-web-apis/common": "^4.6.0",
|
27
|
+
"@ng-web-apis/mutation-observer": "^4.6.0",
|
28
|
+
"@ng-web-apis/resize-observer": "^4.6.0",
|
29
|
+
"@taiga-ui/event-plugins": "^4.2.0",
|
30
|
+
"@taiga-ui/polymorpheus": "^4.7.1",
|
31
31
|
"rxjs": ">=7.0.0"
|
32
32
|
},
|
33
33
|
"optionalDependencies": {
|
34
34
|
"@angular-devkit/core": ">=16.0.0",
|
35
35
|
"@angular-devkit/schematics": ">=16.0.0",
|
36
36
|
"@schematics/angular": ">=16.0.0",
|
37
|
-
"ng-morph": "^4.
|
37
|
+
"ng-morph": "^4.8.1",
|
38
38
|
"parse5": "^7.1.2"
|
39
39
|
},
|
40
40
|
"ng-update": {
|
@@ -18,11 +18,13 @@ const modules_to_replace_1 = require("./steps/constants/modules-to-replace");
|
|
18
18
|
const types_1 = require("./steps/constants/types");
|
19
19
|
const drop_universal_mock_1 = require("./steps/drop-universal-mock");
|
20
20
|
const migrate_editor_1 = require("./steps/migrate-editor");
|
21
|
+
const migrate_providers_from_1 = require("./steps/migrate-providers-from");
|
21
22
|
const migrate_root_1 = require("./steps/migrate-root");
|
22
23
|
const replace_modules_with_providers_1 = require("./steps/utils/replace-modules-with-providers");
|
23
24
|
function main(options) {
|
24
25
|
return (tree, context) => {
|
25
26
|
const fileSystem = (0, get_file_system_1.getFileSystem)(tree);
|
27
|
+
(0, migrate_providers_from_1.migrateImportProvidersFrom)(options);
|
26
28
|
(0, migrate_editor_1.migrateEditor)(fileSystem, options);
|
27
29
|
(0, steps_1.replaceEnums)(options, enums_1.ENUMS_TO_REPLACE);
|
28
30
|
(0, migrate_root_1.migrateRoot)(fileSystem, options);
|
@@ -49,7 +51,7 @@ function main(options) {
|
|
49
51
|
(0, steps_2.removeDuplicates)(options);
|
50
52
|
(0, steps_2.migrateStyles)();
|
51
53
|
(0, steps_2.migrateProprietary)(fileSystem, options);
|
52
|
-
(0, steps_2.updatePackages)(fileSystem
|
54
|
+
(0, steps_2.updatePackages)(fileSystem);
|
53
55
|
fileSystem.commitEdits();
|
54
56
|
(0, ng_morph_1.saveActiveProject)();
|
55
57
|
context.addTask(new tasks_1.NodePackageInstallTask());
|
@@ -42,7 +42,7 @@ exports.ATTR_WITH_VALUES_TO_REPLACE = [
|
|
42
42
|
},
|
43
43
|
{
|
44
44
|
attrNames: ['[pseudoInvalid]'],
|
45
|
-
newAttrName: '[
|
45
|
+
newAttrName: '[tuiAppearanceMode]',
|
46
46
|
withTagNames: hasPseudoInvalid,
|
47
47
|
valueReplacer: (condition) => `${condition} ? 'invalid' : null`,
|
48
48
|
},
|
@@ -1311,6 +1311,26 @@ exports.IDENTIFIERS_TO_REPLACE = [
|
|
1311
1311
|
spreadInModule: true,
|
1312
1312
|
},
|
1313
1313
|
},
|
1314
|
+
{
|
1315
|
+
from: {
|
1316
|
+
name: 'TuiPreviewDialogModule',
|
1317
|
+
moduleSpecifier: '@taiga-ui/addon-preview',
|
1318
|
+
},
|
1319
|
+
to: {
|
1320
|
+
name: 'TuiPreviewDialog',
|
1321
|
+
moduleSpecifier: '@taiga-ui/kit',
|
1322
|
+
},
|
1323
|
+
},
|
1324
|
+
{
|
1325
|
+
from: {
|
1326
|
+
name: 'TuiPreviewDialogService',
|
1327
|
+
moduleSpecifier: '@taiga-ui/addon-preview',
|
1328
|
+
},
|
1329
|
+
to: {
|
1330
|
+
name: 'TuiPreviewDialogService',
|
1331
|
+
moduleSpecifier: '@taiga-ui/kit',
|
1332
|
+
},
|
1333
|
+
},
|
1314
1334
|
{
|
1315
1335
|
from: {
|
1316
1336
|
name: 'TuiBlockStatusModule',
|
@@ -1376,26 +1396,6 @@ exports.IDENTIFIERS_TO_REPLACE = [
|
|
1376
1396
|
spreadInModule: true,
|
1377
1397
|
},
|
1378
1398
|
},
|
1379
|
-
{
|
1380
|
-
from: {
|
1381
|
-
name: 'TuiPreviewDialogModule',
|
1382
|
-
moduleSpecifier: '@taiga-ui/addon-preview',
|
1383
|
-
},
|
1384
|
-
to: {
|
1385
|
-
name: 'TuiPreviewDialog',
|
1386
|
-
moduleSpecifier: '@taiga-ui/kit',
|
1387
|
-
},
|
1388
|
-
},
|
1389
|
-
{
|
1390
|
-
from: {
|
1391
|
-
name: 'TuiPreviewDialogService',
|
1392
|
-
moduleSpecifier: '@taiga-ui/addon-preview',
|
1393
|
-
},
|
1394
|
-
to: {
|
1395
|
-
name: 'TuiPreviewDialogService',
|
1396
|
-
moduleSpecifier: '@taiga-ui/kit',
|
1397
|
-
},
|
1398
|
-
},
|
1399
1399
|
{
|
1400
1400
|
from: {
|
1401
1401
|
name: 'PolymorpheusModule',
|
@@ -22,6 +22,10 @@ exports.MODULES_TO_REMOVE = [
|
|
22
22
|
name: 'TuiPromptModule',
|
23
23
|
moduleSpecifier: '@taiga-ui/kit',
|
24
24
|
},
|
25
|
+
{
|
26
|
+
name: 'TuiPdfViewerModule',
|
27
|
+
moduleSpecifier: '@taiga-ui/kit',
|
28
|
+
},
|
25
29
|
{
|
26
30
|
name: 'TuiThemeTinkoff2023NightModule',
|
27
31
|
moduleSpecifier: '@taiga-ui/proprietary-core',
|
@@ -46,4 +50,8 @@ exports.MODULES_TO_REMOVE = [
|
|
46
50
|
name: 'TuiMobileTabsModule',
|
47
51
|
moduleSpecifier: '@taiga-ui/addon-mobile',
|
48
52
|
},
|
53
|
+
{
|
54
|
+
name: 'TuiPreviewActionModule',
|
55
|
+
moduleSpecifier: '@taiga-ui/addon-preview',
|
56
|
+
},
|
49
57
|
];
|
@@ -0,0 +1,32 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.migrateImportProvidersFrom = void 0;
|
4
|
+
const ng_morph_1 = require("ng-morph");
|
5
|
+
const colored_log_1 = require("../../../utils/colored-log");
|
6
|
+
const get_named_import_references_1 = require("../../../utils/get-named-import-references");
|
7
|
+
function migrateImportProvidersFrom(options) {
|
8
|
+
!options['skip-logs'] &&
|
9
|
+
(0, colored_log_1.infoLog)(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.REPLACE_SYMBOL} updating importProvidersFrom`);
|
10
|
+
const refs = [
|
11
|
+
...(0, get_named_import_references_1.getNamedImportReferences)('TuiDialogModule', '@taiga-ui/core'),
|
12
|
+
...(0, get_named_import_references_1.getNamedImportReferences)('TuiAlertModule', '@taiga-ui/core'),
|
13
|
+
...(0, get_named_import_references_1.getNamedImportReferences)('TuiPushModule', '@taiga-ui/kit'),
|
14
|
+
...(0, get_named_import_references_1.getNamedImportReferences)('TuiPdfViewerModule', '@taiga-ui/kit'),
|
15
|
+
...(0, get_named_import_references_1.getNamedImportReferences)('TuiPreviewModule', '@taiga-ui/addon-preview'),
|
16
|
+
];
|
17
|
+
for (const ref of refs) {
|
18
|
+
if (ref.wasForgotten()) {
|
19
|
+
return;
|
20
|
+
}
|
21
|
+
const callExpression = ref.getParentWhile(ng_morph_1.Node.isCallExpression);
|
22
|
+
if ((callExpression === null || callExpression === void 0 ? void 0 : callExpression.getExpression().getText()) === 'importProvidersFrom') {
|
23
|
+
const node = callExpression
|
24
|
+
.getArguments()
|
25
|
+
.find((arg) => arg.getText() === ref.getText());
|
26
|
+
if (node) {
|
27
|
+
callExpression.removeArgument(node);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
exports.migrateImportProvidersFrom = migrateImportProvidersFrom;
|
@@ -27,7 +27,7 @@ function migrateButtonAppearance({ resource, recorder, fileSystem, }) {
|
|
27
27
|
(0, remove_attrs_1.removeAttrs)([whiteBlockActiveAttr], sourceCodeLocation, recorder, templateOffset);
|
28
28
|
const { startOffset } = ((_a = sourceCodeLocation === null || sourceCodeLocation === void 0 ? void 0 : sourceCodeLocation.attrs) === null || _a === void 0 ? void 0 : _a[whiteBlockActiveAttr.name]) || { startOffset: 0, endOffset: 0 };
|
29
29
|
recorder.insertLeft(startOffset + templateOffset, ` ${appearanceInputName}="whiteblock"`);
|
30
|
-
recorder.insertLeft(startOffset + templateOffset, '
|
30
|
+
recorder.insertLeft(startOffset + templateOffset, ' tuiAppearanceMode="checked"');
|
31
31
|
}
|
32
32
|
});
|
33
33
|
const elementWithConditionAppearance = elements.find(({ attrs }) => attrs.some(({ name, value }) => name === `[${appearanceInputName}]` && !value.trim().startsWith("'")));
|
@@ -37,5 +37,5 @@ function migrateButtonAppearance({ resource, recorder, fileSystem, }) {
|
|
37
37
|
}
|
38
38
|
exports.migrateButtonAppearance = migrateButtonAppearance;
|
39
39
|
function addTodo(recorder, templateOffset) {
|
40
|
-
recorder.insertRight(templateOffset, '<!-- Taiga migration TODO: tuiButton "whiteblock-active" appearance is no longer available. Use \'appearance="whiteblock"
|
40
|
+
recorder.insertRight(templateOffset, '<!-- Taiga migration TODO: tuiButton "whiteblock-active" appearance is no longer available. Use \'appearance="whiteblock" tuiAppearanceMode="checked"\' -->\n');
|
41
41
|
}
|
@@ -1,7 +1,6 @@
|
|
1
1
|
/// <reference lib="es2021" />
|
2
2
|
import type { DevkitFileSystem } from 'ng-morph';
|
3
|
-
import type { TuiSchema } from '../../../ng-add/schema';
|
4
3
|
export declare const TUI_POLYMORPHEUS_VERSION = "^4.6.4";
|
5
4
|
export declare const TUI_DOMPURIFY_VERSION = "^4.1.2";
|
6
5
|
export declare const TUI_EVENT_PLUGINS_VERSION = "^4.0.1";
|
7
|
-
export declare function updatePackages({ tree }: DevkitFileSystem
|
6
|
+
export declare function updatePackages({ tree }: DevkitFileSystem): void;
|
@@ -4,11 +4,12 @@ exports.updatePackages = exports.TUI_EVENT_PLUGINS_VERSION = exports.TUI_DOMPURI
|
|
4
4
|
const ng_morph_1 = require("ng-morph");
|
5
5
|
const version_1 = require("../../../../constants/version");
|
6
6
|
const constants_1 = require("../../../constants");
|
7
|
+
const colored_log_1 = require("../../../utils/colored-log");
|
7
8
|
const steps_1 = require("../../steps");
|
8
9
|
exports.TUI_POLYMORPHEUS_VERSION = '^4.6.4';
|
9
10
|
exports.TUI_DOMPURIFY_VERSION = '^4.1.2';
|
10
11
|
exports.TUI_EVENT_PLUGINS_VERSION = '^4.0.1';
|
11
|
-
function updatePackages({ tree }
|
12
|
+
function updatePackages({ tree }) {
|
12
13
|
const packagesToRemove = ['@taiga-ui/addon-tablebars', '@taiga-ui/addon-preview'];
|
13
14
|
packagesToRemove.forEach((pkg) => {
|
14
15
|
(0, ng_morph_1.removePackageJsonDependency)(tree, pkg);
|
@@ -33,19 +34,20 @@ function updatePackages({ tree }, _) {
|
|
33
34
|
type: cdk === null || cdk === void 0 ? void 0 : cdk.type,
|
34
35
|
});
|
35
36
|
}
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
37
|
+
try {
|
38
|
+
['@taiga-ui/layout', '@taiga-ui/legacy'].forEach((moduleSpecifier) => {
|
39
|
+
if ((0, ng_morph_1.getImports)(constants_1.ALL_TS_FILES, { moduleSpecifier }).length) {
|
40
|
+
(0, ng_morph_1.addPackageJsonDependency)(tree, {
|
41
|
+
name: moduleSpecifier,
|
42
|
+
version: version_1.TUI_VERSION,
|
43
|
+
type: cdk === null || cdk === void 0 ? void 0 : cdk.type,
|
44
|
+
});
|
45
|
+
}
|
41
46
|
});
|
42
47
|
}
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
version: version_1.TUI_VERSION,
|
47
|
-
type: cdk === null || cdk === void 0 ? void 0 : cdk.type,
|
48
|
-
});
|
48
|
+
catch (e) {
|
49
|
+
const error = e;
|
50
|
+
(0, colored_log_1.errorLog)(`ATTENTION: An error occurred during migration: ${error.message}\n${error.stack}`);
|
49
51
|
}
|
50
52
|
}
|
51
53
|
exports.updatePackages = updatePackages;
|
@@ -3,6 +3,7 @@ import * as i0 from "@angular/core";
|
|
3
3
|
export declare class TuiScrollService {
|
4
4
|
private readonly performanceRef;
|
5
5
|
private readonly animationFrame$;
|
6
|
+
private readonly zone;
|
6
7
|
scroll$(elementOrWindow: Element | Window, scrollTop: number, scrollLeft?: number, duration?: number): Observable<[number, number]>;
|
7
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiScrollService, never>;
|
8
9
|
static ɵprov: i0.ɵɵInjectableDeclaration<TuiScrollService>;
|