@taiga-ui/cdk 4.7.0 → 4.8.1-canary.0ecc12f
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/classes/control.d.ts +2 -3
- package/constants/used-icons.d.ts +1 -1
- package/constants/version.d.ts +1 -1
- package/constants/version.js +1 -1
- package/directives/auto-focus/autofocus.options.d.ts +8 -9
- package/directives/auto-focus/handlers/abstract.handler.d.ts +3 -2
- package/directives/auto-focus/handlers/default.handler.d.ts +2 -1
- package/directives/auto-focus/handlers/ios.handler.d.ts +2 -10
- package/esm2022/classes/control.mjs +3 -4
- package/esm2022/constants/used-icons.mjs +4 -1
- package/esm2022/constants/version.mjs +2 -2
- package/esm2022/directives/auto-focus/autofocus.options.mjs +21 -15
- package/esm2022/directives/auto-focus/handlers/abstract.handler.mjs +5 -4
- package/esm2022/directives/auto-focus/handlers/default.handler.mjs +4 -4
- package/esm2022/directives/auto-focus/handlers/ios.handler.mjs +4 -19
- package/esm2022/directives/pan/pan.service.mjs +10 -12
- package/esm2022/directives/swipe/swipe.service.mjs +23 -25
- package/esm2022/directives/zoom/zoom.service.mjs +27 -29
- package/esm2022/tokens/window-size.mjs +23 -24
- package/esm2022/types/index.mjs +2 -1
- package/esm2022/types/loose-union.mjs +2 -0
- package/esm2022/utils/browser/is-safari.mjs +2 -1
- package/esm2022/utils/di/create-options.mjs +1 -1
- package/esm2022/utils/miscellaneous/create-token.mjs +2 -2
- package/fesm2022/taiga-ui-cdk-classes.mjs +2 -3
- package/fesm2022/taiga-ui-cdk-classes.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-constants.mjs +4 -1
- package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs +31 -40
- package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-pan.mjs +9 -11
- package/fesm2022/taiga-ui-cdk-directives-pan.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-swipe.mjs +22 -24
- package/fesm2022/taiga-ui-cdk-directives-swipe.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-zoom.mjs +26 -28
- package/fesm2022/taiga-ui-cdk-directives-zoom.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-tokens.mjs +21 -23
- package/fesm2022/taiga-ui-cdk-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-browser.mjs +1 -0
- package/fesm2022/taiga-ui-cdk-utils-browser.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-di.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs +1 -1
- package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs.map +1 -1
- package/package.json +362 -362
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v4/steps/constants/attrs-to-replace.js +9 -0
- package/schematics/ng-update/v4/steps/migrate-editor.d.ts +1 -1
- package/schematics/ng-update/v4/steps/migrate-editor.js +6 -5
- package/schematics/ng-update/v4/steps/update-packages.d.ts +3 -3
- package/schematics/ng-update/v4/steps/update-packages.js +3 -3
- package/tokens/window-size.d.ts +1 -2
- package/types/index.d.ts +1 -0
- package/types/loose-union.d.ts +36 -0
- package/utils/di/create-options.d.ts +2 -3
- package/utils/miscellaneous/create-token.d.ts +2 -2
@@ -11,30 +11,28 @@ class TuiSwipeService extends Observable {
|
|
11
11
|
const doc = inject(DOCUMENT);
|
12
12
|
const el = tuiInjectElement();
|
13
13
|
const { timeout, threshold } = inject(TUI_SWIPE_OPTIONS);
|
14
|
-
super((subscriber) => {
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
.subscribe(subscriber);
|
37
|
-
});
|
14
|
+
super((subscriber) => merge(tuiTypedFromEvent(el, 'touchstart', { passive: true }), tuiTypedFromEvent(doc, 'touchend'))
|
15
|
+
.pipe(pairwise(), filter(([first, second]) => !!first.touches.length &&
|
16
|
+
first.touches[0]?.identifier ===
|
17
|
+
second.changedTouches[0]?.identifier), map(([start, end]) => {
|
18
|
+
const startX = start.touches[0]?.clientX ?? 0;
|
19
|
+
const startY = start.touches[0]?.clientY ?? 0;
|
20
|
+
const endX = end.changedTouches[0]?.clientX ?? 0;
|
21
|
+
const endY = end.changedTouches[0]?.clientY ?? 0;
|
22
|
+
const distanceX = startX - endX;
|
23
|
+
const distanceY = startY - endY;
|
24
|
+
const duration = end.timeStamp - start.timeStamp;
|
25
|
+
if ((Math.abs(distanceX) > threshold ||
|
26
|
+
Math.abs(distanceY) > threshold) &&
|
27
|
+
duration < timeout) {
|
28
|
+
return {
|
29
|
+
direction: tuiGetSwipeDirection(distanceX, distanceY),
|
30
|
+
events: [start, end],
|
31
|
+
};
|
32
|
+
}
|
33
|
+
return null;
|
34
|
+
}), filter(tuiIsPresent))
|
35
|
+
.subscribe(subscriber));
|
38
36
|
}
|
39
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSwipeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
40
38
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSwipeService }); }
|
@@ -49,4 +47,4 @@ function tuiGetSwipeDirection(deltaX, deltaY) {
|
|
49
47
|
}
|
50
48
|
return deltaX > 0 ? 'left' : 'right';
|
51
49
|
}
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL3N3aXBlL3N3aXBlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFHbEQsTUFDYSxlQUFnQixTQUFRLFVBQXlCO0lBQzFEO1FBQ0ksTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDOUIsTUFBTSxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV2RCxLQUFLLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNqQixLQUFLLENBQ0QsaUJBQWlCLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxFQUNwRCxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQ3JDO2FBQ0ksSUFBSSxDQUNELFFBQVEsRUFBRSxFQUNWLE1BQU0sQ0FDRixDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FDaEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUN0QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVU7Z0JBQ3hCLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUMvQyxFQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7WUFDakIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDO1lBQzlDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQztZQUM5QyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUM7WUFDakQsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDO1lBRWpELE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDaEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNoQyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFFakQsSUFDSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUztnQkFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUM7Z0JBQ3BDLFFBQVEsR0FBRyxPQUFPLEVBQ3BCO2dCQUNFLE9BQU87b0JBQ0gsU0FBUyxFQUFFLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7b0JBQ3JELE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQTZCO2lCQUNuRCxDQUFDO2FBQ0w7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsWUFBWSxDQUFDLENBQ3ZCO2FBQ0EsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQzsrR0E5Q1EsZUFBZTttSEFBZixlQUFlOztTQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7QUFrRFgsU0FBUyxvQkFBb0IsQ0FBQyxNQUFjLEVBQUUsTUFBYztJQUN4RCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNyQyxPQUFPLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0tBQ3hDO0lBRUQsT0FBTyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpVHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUlzUHJlc2VudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIG1lcmdlLCBPYnNlcnZhYmxlLCBwYWlyd2lzZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX1NXSVBFX09QVElPTlN9IGZyb20gJy4vc3dpcGUub3B0aW9ucyc7XG5pbXBvcnQgdHlwZSB7VHVpU3dpcGVEaXJlY3Rpb24sIFR1aVN3aXBlRXZlbnR9IGZyb20gJy4vc3dpcGUudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHVpU3dpcGVTZXJ2aWNlIGV4dGVuZHMgT2JzZXJ2YWJsZTxUdWlTd2lwZUV2ZW50PiB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGNvbnN0IGRvYyA9IGluamVjdChET0NVTUVOVCk7XG4gICAgICAgIGNvbnN0IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgICAgICBjb25zdCB7dGltZW91dCwgdGhyZXNob2xkfSA9IGluamVjdChUVUlfU1dJUEVfT1BUSU9OUyk7XG5cbiAgICAgICAgc3VwZXIoKHN1YnNjcmliZXIpID0+XG4gICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICB0dWlUeXBlZEZyb21FdmVudChlbCwgJ3RvdWNoc3RhcnQnLCB7cGFzc2l2ZTogdHJ1ZX0pLFxuICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KGRvYywgJ3RvdWNoZW5kJyksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgIChbZmlyc3QsIHNlY29uZF0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgISFmaXJzdC50b3VjaGVzLmxlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0LnRvdWNoZXNbMF0/LmlkZW50aWZpZXIgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZC5jaGFuZ2VkVG91Y2hlc1swXT8uaWRlbnRpZmllcixcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKChbc3RhcnQsIGVuZF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0WCA9IHN0YXJ0LnRvdWNoZXNbMF0/LmNsaWVudFggPz8gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0WSA9IHN0YXJ0LnRvdWNoZXNbMF0/LmNsaWVudFkgPz8gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZFggPSBlbmQuY2hhbmdlZFRvdWNoZXNbMF0/LmNsaWVudFggPz8gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZFkgPSBlbmQuY2hhbmdlZFRvdWNoZXNbMF0/LmNsaWVudFkgPz8gMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlzdGFuY2VYID0gc3RhcnRYIC0gZW5kWDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlWSA9IHN0YXJ0WSAtIGVuZFk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IGVuZC50aW1lU3RhbXAgLSBzdGFydC50aW1lU3RhbXA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoTWF0aC5hYnMoZGlzdGFuY2VYKSA+IHRocmVzaG9sZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZVkpID4gdGhyZXNob2xkKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uIDwgdGltZW91dFxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiB0dWlHZXRTd2lwZURpcmVjdGlvbihkaXN0YW5jZVgsIGRpc3RhbmNlWSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50czogW3N0YXJ0LCBlbmRdIGFzIFtUb3VjaEV2ZW50LCBUb3VjaEV2ZW50XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHN1YnNjcmliZXIpLFxuICAgICAgICApO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gdHVpR2V0U3dpcGVEaXJlY3Rpb24oZGVsdGFYOiBudW1iZXIsIGRlbHRhWTogbnVtYmVyKTogVHVpU3dpcGVEaXJlY3Rpb24ge1xuICAgIGlmIChNYXRoLmFicyhkZWx0YVkpID4gTWF0aC5hYnMoZGVsdGFYKSkge1xuICAgICAgICByZXR1cm4gZGVsdGFZID4gMCA/ICd0b3AnIDogJ2JvdHRvbSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlbHRhWCA+IDAgPyAnbGVmdCcgOiAncmlnaHQnO1xufVxuIl19
|
@@ -9,34 +9,32 @@ class TuiZoomService extends Observable {
|
|
9
9
|
constructor() {
|
10
10
|
const el = tuiInjectElement();
|
11
11
|
const { wheelSensitivity } = inject(TUI_ZOOM_OPTIONS);
|
12
|
-
super((subscriber) => {
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
})))).subscribe(subscriber);
|
39
|
-
});
|
12
|
+
super((subscriber) => merge(tuiTypedFromEvent(el, 'touchstart', { passive: true }).pipe(filter(({ touches }) => touches.length > 1), switchMap((startEvent) => tuiTypedFromEvent(el, 'touchmove', { passive: true }).pipe(tuiPreventDefault(), scan((prev, event) => {
|
13
|
+
const distance = tuiDistanceBetweenTouches(event);
|
14
|
+
return {
|
15
|
+
event,
|
16
|
+
distance,
|
17
|
+
delta: (distance - prev.distance) *
|
18
|
+
TOUCH_SENSITIVITY,
|
19
|
+
};
|
20
|
+
}, {
|
21
|
+
event: startEvent,
|
22
|
+
distance: tuiDistanceBetweenTouches(startEvent),
|
23
|
+
delta: 0,
|
24
|
+
}), map(({ event, delta }) => {
|
25
|
+
const clientX = ((event.touches[0]?.clientX ?? 0) +
|
26
|
+
(event.touches[1]?.clientX ?? 0)) /
|
27
|
+
2;
|
28
|
+
const clientY = ((event.touches[0]?.clientY ?? 0) +
|
29
|
+
(event.touches[1]?.clientY ?? 0)) /
|
30
|
+
2;
|
31
|
+
return { clientX, clientY, delta, event };
|
32
|
+
}), takeUntil(tuiTypedFromEvent(el, 'touchend'))))), tuiTypedFromEvent(el, 'wheel', { passive: false }).pipe(tuiPreventDefault(), map((wheel) => ({
|
33
|
+
clientX: wheel.clientX,
|
34
|
+
clientY: wheel.clientY,
|
35
|
+
delta: -wheel.deltaY * wheelSensitivity,
|
36
|
+
event: wheel,
|
37
|
+
})))).subscribe(subscriber));
|
40
38
|
}
|
41
39
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiZoomService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
42
40
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiZoomService }); }
|
@@ -45,4 +43,4 @@ export { TuiZoomService };
|
|
45
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiZoomService, decorators: [{
|
46
44
|
type: Injectable
|
47
45
|
}], ctorParameters: function () { return []; } });
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvem9vbS96b29tLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDL0UsT0FBTyxFQUFDLHlCQUF5QixFQUFFLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDaEYsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHaEQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUM7QUFFL0IsTUFDYSxjQUFlLFNBQVEsVUFBd0I7SUFDeEQ7UUFDSSxNQUFNLEVBQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzlCLE1BQU0sRUFBQyxnQkFBZ0IsRUFBQyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXBELEtBQUssQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQ2pCLEtBQUssQ0FDRCxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsSUFBSSxDQUNyRCxNQUFNLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUN6QyxTQUFTLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNyQixpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsSUFBSSxDQUNwRCxpQkFBaUIsRUFBRSxFQUNuQixJQUFJLENBQ0EsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDWixNQUFNLFFBQVEsR0FBRyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVsRCxPQUFPO2dCQUNILEtBQUs7Z0JBQ0wsUUFBUTtnQkFDUixLQUFLLEVBQ0QsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDMUIsaUJBQWlCO2FBQ3hCLENBQUM7UUFDTixDQUFDLEVBQ0Q7WUFDSSxLQUFLLEVBQUUsVUFBVTtZQUNqQixRQUFRLEVBQUUseUJBQXlCLENBQUMsVUFBVSxDQUFDO1lBQy9DLEtBQUssRUFBRSxDQUFDO1NBQ1gsQ0FDSixFQUNELEdBQUcsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxPQUFPLEdBQ1QsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQztnQkFDN0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDckMsQ0FBQyxDQUFDO1lBQ04sTUFBTSxPQUFPLEdBQ1QsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQztnQkFDN0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDckMsQ0FBQyxDQUFDO1lBRU4sT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FDL0MsQ0FDSixDQUNKLEVBQ0QsaUJBQWlCLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FDakQsaUJBQWlCLEVBQUUsRUFDbkIsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ1osT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLGdCQUFnQjtZQUN2QyxLQUFLLEVBQUUsS0FBSztTQUNmLENBQUMsQ0FBQyxDQUNOLENBQ0osQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQzFCLENBQUM7SUFDTixDQUFDOytHQXpEUSxjQUFjO21IQUFkLGNBQWM7O1NBQWQsY0FBYzs0RkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlQcmV2ZW50RGVmYXVsdCwgdHVpVHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlEaXN0YW5jZUJldHdlZW5Ub3VjaGVzLCB0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIG1lcmdlLCBPYnNlcnZhYmxlLCBzY2FuLCBzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX1pPT01fT1BUSU9OU30gZnJvbSAnLi96b29tLm9wdGlvbnMnO1xuaW1wb3J0IHR5cGUge1R1aVpvb21FdmVudH0gZnJvbSAnLi96b29tLnR5cGVzJztcblxuY29uc3QgVE9VQ0hfU0VOU0lUSVZJVFkgPSAwLjAxO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHVpWm9vbVNlcnZpY2UgZXh0ZW5kcyBPYnNlcnZhYmxlPFR1aVpvb21FdmVudD4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICAgICAgY29uc3Qge3doZWVsU2Vuc2l0aXZpdHl9ID0gaW5qZWN0KFRVSV9aT09NX09QVElPTlMpO1xuXG4gICAgICAgIHN1cGVyKChzdWJzY3JpYmVyKSA9PlxuICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZWwsICd0b3VjaHN0YXJ0Jywge3Bhc3NpdmU6IHRydWV9KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHt0b3VjaGVzfSkgPT4gdG91Y2hlcy5sZW5ndGggPiAxKSxcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKChzdGFydEV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZWwsICd0b3VjaG1vdmUnLCB7cGFzc2l2ZTogdHJ1ZX0pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FuKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJldiwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gdHVpRGlzdGFuY2VCZXR3ZWVuVG91Y2hlcyhldmVudCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGFuY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkaXN0YW5jZSAtIHByZXYuZGlzdGFuY2UpICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVE9VQ0hfU0VOU0lUSVZJVFksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudDogc3RhcnRFdmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RhbmNlOiB0dWlEaXN0YW5jZUJldHdlZW5Ub3VjaGVzKHN0YXJ0RXZlbnQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGE6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoKHtldmVudCwgZGVsdGF9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsaWVudFggPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChldmVudC50b3VjaGVzWzBdPy5jbGllbnRYID8/IDApICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQudG91Y2hlc1sxXT8uY2xpZW50WCA/PyAwKSkgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xpZW50WSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGV2ZW50LnRvdWNoZXNbMF0/LmNsaWVudFkgPz8gMCkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChldmVudC50b3VjaGVzWzFdPy5jbGllbnRZID8/IDApKSAvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7Y2xpZW50WCwgY2xpZW50WSwgZGVsdGEsIGV2ZW50fTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodHVpVHlwZWRGcm9tRXZlbnQoZWwsICd0b3VjaGVuZCcpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0dWlUeXBlZEZyb21FdmVudChlbCwgJ3doZWVsJywge3Bhc3NpdmU6IGZhbHNlfSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQoKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKCh3aGVlbCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudFg6IHdoZWVsLmNsaWVudFgsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRZOiB3aGVlbC5jbGllbnRZLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGE6IC13aGVlbC5kZWx0YVkgKiB3aGVlbFNlbnNpdGl2aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IHdoZWVsLFxuICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKHN1YnNjcmliZXIpLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
@@ -1,28 +1,27 @@
|
|
1
|
-
import { inject
|
1
|
+
import { inject } from '@angular/core';
|
2
2
|
import { WA_WINDOW } from '@ng-web-apis/common';
|
3
3
|
import { tuiTypedFromEvent } from '@taiga-ui/cdk/observables';
|
4
|
+
import { tuiCreateTokenFromFactory } from '@taiga-ui/cdk/utils';
|
4
5
|
import { map, shareReplay, startWith } from 'rxjs';
|
5
|
-
export const TUI_WINDOW_SIZE =
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
}), shareReplay({ bufferSize: 1, refCount: true }));
|
26
|
-
},
|
6
|
+
export const TUI_WINDOW_SIZE = tuiCreateTokenFromFactory(() => {
|
7
|
+
const w = inject(WA_WINDOW);
|
8
|
+
return tuiTypedFromEvent(w, 'resize').pipe(startWith(null), map(() => {
|
9
|
+
const width = Math.max(w.document.documentElement.clientWidth || 0, w.innerWidth || 0, w.visualViewport?.width || 0);
|
10
|
+
const height = Math.max(w.document.documentElement.clientHeight || 0, w.innerHeight || 0, w.visualViewport?.height || 0);
|
11
|
+
const rect = {
|
12
|
+
width,
|
13
|
+
height,
|
14
|
+
top: 0,
|
15
|
+
left: 0,
|
16
|
+
right: width,
|
17
|
+
bottom: height,
|
18
|
+
x: 0,
|
19
|
+
y: 0,
|
20
|
+
};
|
21
|
+
return {
|
22
|
+
...rect,
|
23
|
+
toJSON: () => JSON.stringify(rect),
|
24
|
+
};
|
25
|
+
}), shareReplay({ bufferSize: 1, refCount: true }));
|
27
26
|
});
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LXNpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdG9rZW5zL3dpbmRvdy1zaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTlELE9BQU8sRUFBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcseUJBQXlCLENBQXNCLEdBQUcsRUFBRTtJQUMvRSxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFNUIsT0FBTyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUN0QyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ2YsR0FBRyxDQUFDLEdBQUcsRUFBRTtRQUNMLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQ2xCLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVcsSUFBSSxDQUFDLEVBQzNDLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxFQUNqQixDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQy9CLENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUNuQixDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLElBQUksQ0FBQyxFQUM1QyxDQUFDLENBQUMsV0FBVyxJQUFJLENBQUMsRUFDbEIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUNoQyxDQUFDO1FBQ0YsTUFBTSxJQUFJLEdBQUc7WUFDVCxLQUFLO1lBQ0wsTUFBTTtZQUNOLEdBQUcsRUFBRSxDQUFDO1lBQ04sSUFBSSxFQUFFLENBQUM7WUFDUCxLQUFLLEVBQUUsS0FBSztZQUNaLE1BQU0sRUFBRSxNQUFNO1lBQ2QsQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztTQUNQLENBQUM7UUFFRixPQUFPO1lBQ0gsR0FBRyxJQUFJO1lBQ1AsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1NBQ3JDLENBQUM7SUFDTixDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsRUFBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUMvQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dBX1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge3R1aVR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5pbXBvcnQgdHlwZSB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBUVUlfV0lORE9XX1NJWkUgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5PE9ic2VydmFibGU8RE9NUmVjdD4+KCgpID0+IHtcbiAgICBjb25zdCB3ID0gaW5qZWN0KFdBX1dJTkRPVyk7XG5cbiAgICByZXR1cm4gdHVpVHlwZWRGcm9tRXZlbnQodywgJ3Jlc2l6ZScpLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gTWF0aC5tYXgoXG4gICAgICAgICAgICAgICAgdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggfHwgMCxcbiAgICAgICAgICAgICAgICB3LmlubmVyV2lkdGggfHwgMCxcbiAgICAgICAgICAgICAgICB3LnZpc3VhbFZpZXdwb3J0Py53aWR0aCB8fCAwLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IE1hdGgubWF4KFxuICAgICAgICAgICAgICAgIHcuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCB8fCAwLFxuICAgICAgICAgICAgICAgIHcuaW5uZXJIZWlnaHQgfHwgMCxcbiAgICAgICAgICAgICAgICB3LnZpc3VhbFZpZXdwb3J0Py5oZWlnaHQgfHwgMCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCByZWN0ID0ge1xuICAgICAgICAgICAgICAgIHdpZHRoLFxuICAgICAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgICAgICByaWdodDogd2lkdGgsXG4gICAgICAgICAgICAgICAgYm90dG9tOiBoZWlnaHQsXG4gICAgICAgICAgICAgICAgeDogMCxcbiAgICAgICAgICAgICAgICB5OiAwLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5yZWN0LFxuICAgICAgICAgICAgICAgIHRvSlNPTjogKCkgPT4gSlNPTi5zdHJpbmdpZnkocmVjdCksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KSxcbiAgICAgICAgc2hhcmVSZXBsYXkoe2J1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlfSksXG4gICAgKTtcbn0pO1xuIl19
|
package/esm2022/types/index.mjs
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
export * from './context';
|
2
2
|
export * from './handler';
|
3
|
+
export * from './loose-union';
|
3
4
|
export * from './mapper';
|
4
5
|
export * from './matcher';
|
5
6
|
export * from './rounding';
|
6
7
|
export * from './safe-html';
|
7
8
|
export * from './values-of';
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9oYW5kbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbG9vc2UtdW5pb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9tYXRjaGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcm91bmRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9zYWZlLWh0bWwnO1xuZXhwb3J0ICogZnJvbSAnLi92YWx1ZXMtb2YnO1xuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9vc2UtdW5pb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdHlwZXMvbG9vc2UtdW5pb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGV4YW1wbGVcbiAqIHR5cGUgQ29sb3IgPSAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8IHN0cmluZztcbiAqXG4gKiBZb3VyIGJyYW5kIGhhcyBzb21lIGtub3duIGNvbG9ycywgbGlrZSBgcHJpbWFyeWAgYW5kIGBzZWNvbmRhcnlgLlxuICogQnV0IHlvdSBhbHNvIHdhbnQgdG8gbWFrZSBzdXJlIHRoYXQgdXNlcnMgY2FuIHNwZWNpZnkgYW55IGNvbG9yIHRoZXkgd2FudC5cbiAqXG4gKiBASW5wdXQoKSBjb2xvcjogQ29sb3IgPSAnJztcbiAqXG4gKiA8bXktaWNvbiBjb2xvcj1cInJlZFwiIC8+XG4gKlxuICogQnV0IHRoZXJlJ3MgYW4gaXNzdWUuIFdlIGFyZW4ndCBnZXR0aW5nIGBjb2xvcmBcbiAqIHN1Z2dlc3Rpb25zIHdoZW4gd2UgdXNlIHRoZSBgTXlJY29uYCBjb21wb25lbnQuXG4gKiBJZiB3ZSB0cnkgdG8gYXV0b2NvbXBsZXRlIHRoZSBgY29sb3JgIHByb3AsIHdlIGdldCBubyBzdWdnZXN0aW9ucy5cbiAqIElkZWFsbHksIHdlIHdhbnQgYHByaW1hcnlgIGFuZCBgc2Vjb25kYXJ5YCB0byBiZSBwYXJ0IG9mIHRoYXQgbGlzdC5cbiAqIEhvdyBkbyB3ZSBtYW5hZ2UgdGhhdD9cbiAqXG4gKiBUaGlzIHdvcmtzIGJlY2F1c2Ugb2YgYSBxdWlyayBvZiB0aGUgVHlwZVNjcmlwdCBjb21waWxlci5cbiAqIFdoZW4geW91IGNyZWF0ZSBhIHVuaW9uIGJldHdlZW4gYSBzdHJpbmcgbGl0ZXJhbCB0eXBlIGFuZCBgc3RyaW5nYCxcbiAqIFR5cGVTY3JpcHQgd2lsbCBlYWdlcmx5IHdpZGVuIHRoZSB0eXBlIHRvIGBzdHJpbmdgLlxuICpcbiAqIEJ1dCBpZiB3ZSBjaGFuZ2UgdHlwZSB0b1xuICogdHlwZSBDb2xvciA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgKHN0cmluZyAmIHt9KTtcbiAqXG4gKiBUeXBlU2NyaXB0IGhhcyBhbHJlYWR5IGZvcmdvdHRlbiB0aGF0IGBcInByaW1hcnlcImAgYW5kIGBcInNlY29uZGFyeVwiYFxuICogd2VyZSBldmVyIHBhcnQgb2YgdGhlIHR5cGUuIEJ1dCBieSBpbnRlcnNlY3RpbmcgYHN0cmluZ2Agd2l0aFxuICogYW4gZW1wdHkgb2JqZWN0LCB3ZSB0cmljayBUeXBlU2NyaXB0IGludG8gcmV0YWluaW5nIHRoZSBzdHJpbmdcbiAqIGxpdGVyYWwgdHlwZXMgZm9yIGEgYml0IGxvbmdlci5cbiAqXG4gKiBUaGlzIG1pZ2h0IGZlZWwgcHJldHR5IGZyYWdpbGUgdG8geW91LiBUaGlzIGRvZXNuJ3Qgc2VlbSBsaWtlXG4gKiBpbnRlbmRlZCBiZWhhdmlvciBmcm9tIFR5cGVTY3JpcHQuIFdlbGwsIHRoZSB0ZWFtIGFjdHVhbGx5XG4gKiBrbm93IGFib3V0IHRoaXMgdHJpY2suIFRoZXkgdGVzdCBhZ2FpbnN0IGl0LiBBbmQgc29tZWRheSwgdGhleSBtYXkgbWFrZVxuICogaXQgc28gdGhhdCBhIHBsYWluIGBzdHJpbmdgIHR5cGUgd2lsbCBqdXN0IHdvcmsuXG4gKiBCdXQgdW50aWwgdGhlbiwga2VlcCB0aGlzIGluIG1pbmQuXG4gKi9cbmV4cG9ydCB0eXBlIFR1aUxvb3NlVW5pb248VT4gPVxuICAgIHwgVVxuICAgIHwgKFUgZXh0ZW5kcyBzdHJpbmdcbiAgICAgICAgICA/IFJlY29yZDxuZXZlciwgbmV2ZXI+ICYgc3RyaW5nXG4gICAgICAgICAgOiBVIGV4dGVuZHMgbnVtYmVyXG4gICAgICAgICAgICA/IFJlY29yZDxuZXZlciwgbmV2ZXI+ICYgbnVtYmVyXG4gICAgICAgICAgICA6IFUgZXh0ZW5kcyBzeW1ib2xcbiAgICAgICAgICAgICAgPyBSZWNvcmQ8bmV2ZXIsIG5ldmVyPiAmIHN5bWJvbFxuICAgICAgICAgICAgICA6IFUgZXh0ZW5kcyBiaWdpbnRcbiAgICAgICAgICAgICAgICA/IFJlY29yZDxuZXZlciwgbmV2ZXI+ICYgYmlnaW50XG4gICAgICAgICAgICAgICAgOiBuZXZlcik7XG4iXX0=
|
@@ -1,3 +1,4 @@
|
|
1
|
+
// TODO: Drop change to Document in v5
|
1
2
|
export function tuiIsSafari({ ownerDocument: doc }) {
|
2
3
|
const win = doc?.defaultView;
|
3
4
|
const isMacOsSafari = win.safari !== undefined &&
|
@@ -7,4 +8,4 @@ export function tuiIsSafari({ ownerDocument: doc }) {
|
|
7
8
|
!win.navigator?.userAgent?.includes('FxiOS');
|
8
9
|
return isMacOsSafari || isIosSafari;
|
9
10
|
}
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2FmYXJpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL2Jyb3dzZXIvaXMtc2FmYXJpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUN0QyxNQUFNLFVBQVUsV0FBVyxDQUFDLEVBQUMsYUFBYSxFQUFFLEdBQUcsRUFBVTtJQUNyRCxNQUFNLEdBQUcsR0FBRyxHQUFHLEVBQUUsV0FBaUQsQ0FBQztJQUVuRSxNQUFNLGFBQWEsR0FDZixHQUFHLENBQUMsTUFBTSxLQUFLLFNBQVM7UUFDeEIsR0FBRyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsS0FBSyxtQ0FBbUMsQ0FBQztJQUVyRixNQUFNLFdBQVcsR0FDYixDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUMxQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDNUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFakQsT0FBTyxhQUFhLElBQUksV0FBVyxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPOiBEcm9wIGNoYW5nZSB0byBEb2N1bWVudCBpbiB2NVxuZXhwb3J0IGZ1bmN0aW9uIHR1aUlzU2FmYXJpKHtvd25lckRvY3VtZW50OiBkb2N9OiBFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgY29uc3Qgd2luID0gZG9jPy5kZWZhdWx0VmlldyBhcyB1bmtub3duIGFzIFdpbmRvdyAmIHtzYWZhcmk/OiBhbnl9O1xuXG4gICAgY29uc3QgaXNNYWNPc1NhZmFyaSA9XG4gICAgICAgIHdpbi5zYWZhcmkgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICB3aW4uc2FmYXJpPy5wdXNoTm90aWZpY2F0aW9uPy50b1N0cmluZygpID09PSAnW29iamVjdCBTYWZhcmlSZW1vdGVOb3RpZmljYXRpb25dJztcblxuICAgIGNvbnN0IGlzSW9zU2FmYXJpID1cbiAgICAgICAgISF3aW4ubmF2aWdhdG9yPy52ZW5kb3I/LmluY2x1ZGVzKCdBcHBsZScpICYmXG4gICAgICAgICF3aW4ubmF2aWdhdG9yPy51c2VyQWdlbnQ/LmluY2x1ZGVzKCdDcmlPUycpICYmXG4gICAgICAgICF3aW4ubmF2aWdhdG9yPy51c2VyQWdlbnQ/LmluY2x1ZGVzKCdGeGlPUycpO1xuXG4gICAgcmV0dXJuIGlzTWFjT3NTYWZhcmkgfHwgaXNJb3NTYWZhcmk7XG59XG4iXX0=
|
@@ -3,4 +3,4 @@ export function tuiCreateOptions(defaults) {
|
|
3
3
|
const token = tuiCreateToken(defaults);
|
4
4
|
return [token, (options) => tuiProvideOptions(token, options, defaults)];
|
5
5
|
}
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZGkvY3JlYXRlLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXBGLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDNUIsUUFBVztJQUVYLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV2QyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDN0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtGYWN0b3J5UHJvdmlkZXIsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW4sIHR1aVByb3ZpZGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpQ3JlYXRlT3B0aW9uczxUPihcbiAgICBkZWZhdWx0czogVCxcbik6IFt0b2tlbjogSW5qZWN0aW9uVG9rZW48VD4sIHByb3ZpZGVyOiAoaXRlbTogUGFydGlhbDxUPikgPT4gRmFjdG9yeVByb3ZpZGVyXSB7XG4gICAgY29uc3QgdG9rZW4gPSB0dWlDcmVhdGVUb2tlbihkZWZhdWx0cyk7XG5cbiAgICByZXR1cm4gW3Rva2VuLCAob3B0aW9ucykgPT4gdHVpUHJvdmlkZU9wdGlvbnModG9rZW4sIG9wdGlvbnMsIGRlZmF1bHRzKV07XG59XG4iXX0=
|
@@ -3,6 +3,6 @@ export function tuiCreateToken(defaults) {
|
|
3
3
|
return tuiCreateTokenFromFactory(() => defaults);
|
4
4
|
}
|
5
5
|
export function tuiCreateTokenFromFactory(factory) {
|
6
|
-
return new InjectionToken('', { factory });
|
6
|
+
return factory ? new InjectionToken('', { factory }) : new InjectionToken('');
|
7
7
|
}
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMvY3JlYXRlLXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0MsTUFBTSxVQUFVLGNBQWMsQ0FBSSxRQUFZO0lBQzFDLE9BQU8seUJBQXlCLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FBSSxPQUFpQjtJQUMxRCxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxjQUFjLENBQUksRUFBRSxFQUFFLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxjQUFjLENBQUksRUFBRSxDQUFDLENBQUM7QUFDdEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpQ3JlYXRlVG9rZW48VD4oZGVmYXVsdHM/OiBUKTogSW5qZWN0aW9uVG9rZW48VD4ge1xuICAgIHJldHVybiB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KCgpID0+IGRlZmF1bHRzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZVRva2VuRnJvbUZhY3Rvcnk8VD4oZmFjdG9yeT86ICgpID0+IFQpOiBJbmplY3Rpb25Ub2tlbjxUPiB7XG4gICAgcmV0dXJuIGZhY3RvcnkgPyBuZXcgSW5qZWN0aW9uVG9rZW48VD4oJycsIHtmYWN0b3J5fSkgOiBuZXcgSW5qZWN0aW9uVG9rZW48VD4oJycpO1xufVxuIl19
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { __decorate } from 'tslib';
|
2
2
|
import * as i0 from '@angular/core';
|
3
|
-
import { inject, signal,
|
3
|
+
import { inject, signal, ChangeDetectorRef, computed, Directive, Input, INJECTOR, ViewContainerRef, ViewChild, Injectable } from '@angular/core';
|
4
4
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
5
5
|
import { NgControl, NgModel } from '@angular/forms';
|
6
6
|
import { EMPTY_FUNCTION } from '@taiga-ui/cdk/constants';
|
@@ -22,7 +22,6 @@ class TuiControl {
|
|
22
22
|
this.pseudoInvalid = signal(null);
|
23
23
|
this.internal = signal(this.fallback);
|
24
24
|
this.control = inject(NgControl, { self: true });
|
25
|
-
this.destroyRef = inject(DestroyRef);
|
26
25
|
this.cdr = inject(ChangeDetectorRef);
|
27
26
|
this.transformer = inject(TuiValueTransformer, FLAGS);
|
28
27
|
this.value = computed(() => this.internal() ?? this.fallback);
|
@@ -41,7 +40,7 @@ class TuiControl {
|
|
41
40
|
this.onChange = EMPTY_FUNCTION;
|
42
41
|
this.control.valueAccessor = this;
|
43
42
|
this.refresh$
|
44
|
-
.pipe(delay(0), startWith(null), map(() => this.control.control), filter(Boolean), distinctUntilChanged(), switchMap((c) => merge(c.valueChanges, c.statusChanges)), takeUntilDestroyed(
|
43
|
+
.pipe(delay(0), startWith(null), map(() => this.control.control), filter(Boolean), distinctUntilChanged(), switchMap((c) => merge(c.valueChanges, c.statusChanges)), takeUntilDestroyed())
|
45
44
|
.subscribe(() => this.update());
|
46
45
|
}
|
47
46
|
set readOnlySetter(readOnly) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-classes.mjs","sources":["../../../projects/cdk/classes/value-transformer.ts","../../../projects/cdk/classes/control.ts","../../../projects/cdk/classes/portals.ts","../../../projects/cdk/classes/validation-error.ts","../../../projects/cdk/classes/taiga-ui-cdk-classes.ts"],"sourcesContent":["export abstract class TuiValueTransformer<From, To = unknown> {\n public abstract toControlValue(componentValue: From): To;\n public abstract fromControlValue(controlValue: To): From;\n}\n","import type {Provider, Type} from '@angular/core';\nimport {\n ChangeDetectorRef,\n computed,\n DestroyRef,\n Directive,\n inject,\n Input,\n signal,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport type {ControlValueAccessor, FormControlStatus} from '@angular/forms';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {TUI_FALLBACK_VALUE} from '@taiga-ui/cdk/tokens';\nimport {tuiProvide, tuiPure} from '@taiga-ui/cdk/utils';\nimport {\n delay,\n distinctUntilChanged,\n filter,\n map,\n merge,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {TuiValueTransformer} from './value-transformer';\n\nconst FLAGS = {self: true, optional: true};\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class TuiControl<T> implements ControlValueAccessor {\n private readonly fallback = inject(TUI_FALLBACK_VALUE, FLAGS) as T;\n private readonly refresh$ = new Subject<void>();\n private readonly pseudoInvalid = signal<boolean | null>(null);\n private readonly internal = signal(this.fallback);\n\n protected readonly control = inject(NgControl, {self: true});\n protected readonly destroyRef = inject(DestroyRef);\n protected readonly cdr = inject(ChangeDetectorRef);\n protected readonly transformer = inject(TuiValueTransformer, FLAGS);\n\n public readonly value = computed(() => this.internal() ?? this.fallback);\n public readonly readOnly = signal(false);\n public readonly touched = signal(false);\n public readonly status = signal<FormControlStatus | undefined>(undefined);\n public readonly disabled = computed(() => this.status() === 'DISABLED');\n public readonly interactive = computed(() => !this.disabled() && !this.readOnly());\n public readonly invalid = computed(() =>\n this.pseudoInvalid() !== null\n ? !!this.pseudoInvalid() && this.interactive()\n : this.interactive() && this.touched() && this.status() === 'INVALID',\n );\n\n public readonly mode = computed(() =>\n // eslint-disable-next-line no-nested-ternary\n this.readOnly() ? 'readonly' : this.invalid() ? 'invalid' : 'valid',\n );\n\n public onTouched = EMPTY_FUNCTION;\n public onChange: (value: T) => void = EMPTY_FUNCTION;\n\n constructor() {\n this.control.valueAccessor = this;\n this.refresh$\n .pipe(\n delay(0),\n startWith(null),\n map(() => this.control.control),\n filter(Boolean),\n distinctUntilChanged(),\n switchMap((c) => merge(c.valueChanges, c.statusChanges)),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => this.update());\n }\n\n @Input('readOnly')\n public set readOnlySetter(readOnly: boolean) {\n this.readOnly.set(readOnly);\n }\n\n @Input('invalid')\n public set invalidSetter(invalid: boolean | null) {\n this.pseudoInvalid.set(invalid);\n }\n\n public registerOnChange(onChange: (value: T | unknown) => void): void {\n this.refresh$.next();\n\n this.onChange = (value: T) => {\n if (value === this.internal()) {\n return;\n }\n\n onChange(this.toControlValue(value));\n this.internal.set(value);\n this.update();\n };\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this.onTouched = () => {\n onTouched();\n this.update();\n };\n }\n\n public setDisabledState(): void {\n this.update();\n }\n\n public writeValue(value: T | null): void {\n // TODO: https://github.com/angular/angular/issues/14988\n const safe = this.control instanceof NgModel ? this.control.model : value;\n\n this.internal.set(this.fromControlValue(safe));\n this.update();\n }\n\n @tuiPure\n private fromControlValue(value: unknown): T {\n return this.transformer ? this.transformer.fromControlValue(value) : (value as T);\n }\n\n @tuiPure\n private toControlValue(value: T): unknown {\n return this.transformer ? this.transformer.toControlValue(value) : value;\n }\n\n private update(): void {\n this.status.set(this.control.control?.status);\n this.touched.set(!!this.control.control?.touched);\n this.cdr.markForCheck();\n }\n}\n\nexport function tuiAsControl<T>(control: Type<TuiControl<T>>): Provider {\n return tuiProvide(TuiControl, control);\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport type {ComponentRef, EmbeddedViewRef, Provider, TemplateRef} from '@angular/core';\nimport {\n Directive,\n inject,\n Injectable,\n INJECTOR,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils';\nimport type {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\n/**\n * Abstract class for host element for dynamically created portals.\n */\n@Directive()\nexport abstract class TuiPortals {\n @ViewChild('viewContainer', {read: ViewContainerRef})\n private readonly vcr!: ViewContainerRef;\n\n private readonly injector = inject(INJECTOR);\n\n protected readonly nothing = inject(TuiPortalService).attach(this);\n\n public addComponentChild<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n const injector = component.createInjector(this.injector);\n const ref = this.vcr.createComponent(component.component, {injector});\n\n ref.changeDetectorRef.detectChanges();\n\n return ref;\n }\n\n public addTemplateChild<C>(\n templateRef: TemplateRef<C>,\n context?: C,\n ): EmbeddedViewRef<C> {\n return this.vcr.createEmbeddedView(templateRef, context);\n }\n}\n\n/**\n * Abstract service for displaying portals\n */\n@Injectable()\nexport abstract class TuiPortalService {\n protected host?: TuiPortals;\n\n public attach(host: TuiPortals): void {\n this.host = host;\n }\n\n public add<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n return this.safeHost.addComponentChild(component);\n }\n\n public remove<C>({hostView}: ComponentRef<C>): void {\n if (!hostView.destroyed) {\n hostView.destroy();\n }\n }\n\n public addTemplate<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.safeHost.addTemplateChild(templateRef, context);\n }\n\n public removeTemplate<C>(viewRef: EmbeddedViewRef<C>): void {\n if (!viewRef.destroyed) {\n viewRef.destroy();\n }\n }\n\n protected get safeHost(): TuiPortals {\n if (!this.host) {\n throw new TuiNoHostException();\n }\n\n return this.host;\n }\n}\n\nexport function tuiAsPortal(portal: typeof TuiPortalService): Provider {\n return tuiProvide(TuiPortalService, portal);\n}\n\nexport class TuiNoHostException extends Error {\n constructor() {\n super(ngDevMode ? 'Portals cannot be used without TuiPortalHostComponent' : '');\n }\n}\n","import type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport class TuiValidationError<T extends Record<string, any> = Record<string, unknown>> {\n constructor(\n public readonly message: PolymorpheusContent<T>,\n public readonly context: T = {} as T,\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-classes.mjs","sources":["../../../projects/cdk/classes/value-transformer.ts","../../../projects/cdk/classes/control.ts","../../../projects/cdk/classes/portals.ts","../../../projects/cdk/classes/validation-error.ts","../../../projects/cdk/classes/taiga-ui-cdk-classes.ts"],"sourcesContent":["export abstract class TuiValueTransformer<From, To = unknown> {\n public abstract toControlValue(componentValue: From): To;\n public abstract fromControlValue(controlValue: To): From;\n}\n","import type {Provider, Type} from '@angular/core';\nimport {\n ChangeDetectorRef,\n computed,\n Directive,\n inject,\n Input,\n signal,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport type {ControlValueAccessor, FormControlStatus} from '@angular/forms';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {TUI_FALLBACK_VALUE} from '@taiga-ui/cdk/tokens';\nimport {tuiProvide, tuiPure} from '@taiga-ui/cdk/utils';\nimport {\n delay,\n distinctUntilChanged,\n filter,\n map,\n merge,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {TuiValueTransformer} from './value-transformer';\n\nconst FLAGS = {self: true, optional: true};\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class TuiControl<T> implements ControlValueAccessor {\n private readonly fallback = inject(TUI_FALLBACK_VALUE, FLAGS) as T;\n private readonly refresh$ = new Subject<void>();\n private readonly pseudoInvalid = signal<boolean | null>(null);\n private readonly internal = signal(this.fallback);\n\n protected readonly control = inject(NgControl, {self: true});\n protected readonly cdr = inject(ChangeDetectorRef);\n protected readonly transformer = inject(TuiValueTransformer, FLAGS);\n\n public readonly value = computed(() => this.internal() ?? this.fallback);\n public readonly readOnly = signal(false);\n public readonly touched = signal(false);\n public readonly status = signal<FormControlStatus | undefined>(undefined);\n public readonly disabled = computed(() => this.status() === 'DISABLED');\n public readonly interactive = computed(() => !this.disabled() && !this.readOnly());\n public readonly invalid = computed(() =>\n this.pseudoInvalid() !== null\n ? !!this.pseudoInvalid() && this.interactive()\n : this.interactive() && this.touched() && this.status() === 'INVALID',\n );\n\n public readonly mode = computed(() =>\n // eslint-disable-next-line no-nested-ternary\n this.readOnly() ? 'readonly' : this.invalid() ? 'invalid' : 'valid',\n );\n\n public onTouched = EMPTY_FUNCTION;\n public onChange: (value: T) => void = EMPTY_FUNCTION;\n\n constructor() {\n this.control.valueAccessor = this;\n this.refresh$\n .pipe(\n delay(0),\n startWith(null),\n map(() => this.control.control),\n filter(Boolean),\n distinctUntilChanged(),\n switchMap((c) => merge(c.valueChanges, c.statusChanges)),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.update());\n }\n\n @Input('readOnly')\n public set readOnlySetter(readOnly: boolean) {\n this.readOnly.set(readOnly);\n }\n\n @Input('invalid')\n public set invalidSetter(invalid: boolean | null) {\n this.pseudoInvalid.set(invalid);\n }\n\n public registerOnChange(onChange: (value: unknown) => void): void {\n this.refresh$.next();\n\n this.onChange = (value: T) => {\n if (value === this.internal()) {\n return;\n }\n\n onChange(this.toControlValue(value));\n this.internal.set(value);\n this.update();\n };\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this.onTouched = () => {\n onTouched();\n this.update();\n };\n }\n\n public setDisabledState(): void {\n this.update();\n }\n\n public writeValue(value: T | null): void {\n // TODO: https://github.com/angular/angular/issues/14988\n const safe = this.control instanceof NgModel ? this.control.model : value;\n\n this.internal.set(this.fromControlValue(safe));\n this.update();\n }\n\n @tuiPure\n private fromControlValue(value: unknown): T {\n return this.transformer ? this.transformer.fromControlValue(value) : (value as T);\n }\n\n @tuiPure\n private toControlValue(value: T): unknown {\n return this.transformer ? this.transformer.toControlValue(value) : value;\n }\n\n private update(): void {\n this.status.set(this.control.control?.status);\n this.touched.set(!!this.control.control?.touched);\n this.cdr.markForCheck();\n }\n}\n\nexport function tuiAsControl<T>(control: Type<TuiControl<T>>): Provider {\n return tuiProvide(TuiControl, control);\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport type {ComponentRef, EmbeddedViewRef, Provider, TemplateRef} from '@angular/core';\nimport {\n Directive,\n inject,\n Injectable,\n INJECTOR,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils';\nimport type {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\n/**\n * Abstract class for host element for dynamically created portals.\n */\n@Directive()\nexport abstract class TuiPortals {\n @ViewChild('viewContainer', {read: ViewContainerRef})\n private readonly vcr!: ViewContainerRef;\n\n private readonly injector = inject(INJECTOR);\n\n protected readonly nothing = inject(TuiPortalService).attach(this);\n\n public addComponentChild<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n const injector = component.createInjector(this.injector);\n const ref = this.vcr.createComponent(component.component, {injector});\n\n ref.changeDetectorRef.detectChanges();\n\n return ref;\n }\n\n public addTemplateChild<C>(\n templateRef: TemplateRef<C>,\n context?: C,\n ): EmbeddedViewRef<C> {\n return this.vcr.createEmbeddedView(templateRef, context);\n }\n}\n\n/**\n * Abstract service for displaying portals\n */\n@Injectable()\nexport abstract class TuiPortalService {\n protected host?: TuiPortals;\n\n public attach(host: TuiPortals): void {\n this.host = host;\n }\n\n public add<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n return this.safeHost.addComponentChild(component);\n }\n\n public remove<C>({hostView}: ComponentRef<C>): void {\n if (!hostView.destroyed) {\n hostView.destroy();\n }\n }\n\n public addTemplate<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.safeHost.addTemplateChild(templateRef, context);\n }\n\n public removeTemplate<C>(viewRef: EmbeddedViewRef<C>): void {\n if (!viewRef.destroyed) {\n viewRef.destroy();\n }\n }\n\n protected get safeHost(): TuiPortals {\n if (!this.host) {\n throw new TuiNoHostException();\n }\n\n return this.host;\n }\n}\n\nexport function tuiAsPortal(portal: typeof TuiPortalService): Provider {\n return tuiProvide(TuiPortalService, portal);\n}\n\nexport class TuiNoHostException extends Error {\n constructor() {\n super(ngDevMode ? 'Portals cannot be used without TuiPortalHostComponent' : '');\n }\n}\n","import type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport class TuiValidationError<T extends Record<string, any> = Record<string, unknown>> {\n constructor(\n public readonly message: PolymorpheusContent<T>,\n public readonly context: T = {} as T,\n ) {}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -158,6 +158,7 @@ const TUI_USED_ICONS = [
|
|
158
158
|
'@tui.uzcard',
|
159
159
|
'@tui.verve',
|
160
160
|
'@tui.external-link',
|
161
|
+
'@tui.languages',
|
161
162
|
'@tui.search',
|
162
163
|
'@tui.sun',
|
163
164
|
'@tui.moon',
|
@@ -184,6 +185,8 @@ const TUI_USED_ICONS = [
|
|
184
185
|
'@tui.file',
|
185
186
|
'@tui.trash',
|
186
187
|
'@tui.phone',
|
188
|
+
'@tui.heart',
|
189
|
+
'@tui.heart-filled',
|
187
190
|
'@tui.star',
|
188
191
|
'@tui.calendar',
|
189
192
|
'@tui.rotate-ccw-square',
|
@@ -204,7 +207,7 @@ const TUI_USED_ICONS = [
|
|
204
207
|
'@tui.clock',
|
205
208
|
];
|
206
209
|
|
207
|
-
const TUI_VERSION = '4.
|
210
|
+
const TUI_VERSION = '4.8.1';
|
208
211
|
|
209
212
|
/**
|
210
213
|
* 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.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.
|
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.languages',\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.heart',\n '@tui.heart-filled',\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.8.1';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|