@taiga-ui/cdk 4.42.0 → 4.43.0-canary.0505af2
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/date-time/types.d.ts +4 -0
- package/directives/auto-focus/autofocus.options.d.ts +5 -5
- package/directives/font-size/font-size.directive.d.ts +2 -1
- package/directives/swipe/swipe.options.d.ts +2 -1
- package/directives/zoom/zoom.options.d.ts +2 -1
- package/esm2022/classes/portals.mjs +4 -2
- package/esm2022/constants/used-icons.mjs +3 -1
- package/esm2022/constants/version.mjs +2 -2
- package/esm2022/date-time/time.mjs +1 -1
- package/esm2022/date-time/types.mjs +1 -1
- package/esm2022/directives/animated/animated.directive.mjs +3 -3
- package/esm2022/directives/auto-focus/autofocus.options.mjs +4 -4
- package/esm2022/directives/font-size/font-size.directive.mjs +4 -4
- package/esm2022/directives/swipe/swipe.options.mjs +7 -5
- package/esm2022/directives/zoom/zoom.options.mjs +6 -4
- package/esm2022/observables/control-value.mjs +1 -1
- package/esm2022/services/theme-color.service.mjs +5 -4
- package/esm2022/tokens/active-element.mjs +32 -30
- package/esm2022/tokens/base-href.mjs +5 -4
- package/esm2022/tokens/environment.mjs +39 -22
- package/esm2022/tokens/fallback-value.mjs +5 -3
- package/esm2022/tokens/range.mjs +5 -4
- package/esm2022/tokens/removed-element.mjs +14 -13
- package/esm2022/tokens/window-size.mjs +24 -23
- package/esm2022/utils/di/create-options.mjs +6 -3
- package/esm2022/utils/miscellaneous/create-token.mjs +7 -1
- package/esm2022/utils/miscellaneous/with-styles.mjs +8 -7
- package/fesm2022/taiga-ui-cdk-classes.mjs +3 -1
- package/fesm2022/taiga-ui-cdk-classes.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-constants.mjs +3 -1
- package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-date-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-animated.mjs +2 -2
- package/fesm2022/taiga-ui-cdk-directives-animated.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-font-size.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-font-size.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-swipe.mjs +6 -5
- package/fesm2022/taiga-ui-cdk-directives-swipe.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-zoom.mjs +6 -4
- package/fesm2022/taiga-ui-cdk-directives-zoom.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-observables.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-services.mjs +5 -3
- package/fesm2022/taiga-ui-cdk-services.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-tokens.mjs +110 -81
- package/fesm2022/taiga-ui-cdk-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-di.mjs +5 -2
- package/fesm2022/taiga-ui-cdk-utils-di.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs +12 -4
- package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs.map +1 -1
- package/observables/control-value.d.ts +1 -1
- package/package.json +1 -1
- package/services/theme-color.service.d.ts +2 -1
- package/tokens/active-element.d.ts +2 -1
- package/tokens/base-href.d.ts +2 -1
- package/tokens/environment.d.ts +10 -9
- package/tokens/fallback-value.d.ts +2 -1
- package/tokens/range.d.ts +2 -1
- package/tokens/removed-element.d.ts +2 -1
- package/tokens/window-size.d.ts +2 -1
- package/utils/di/create-options.d.ts +2 -1
- package/utils/miscellaneous/create-token.d.ts +6 -0
@@ -1,8 +1,8 @@
|
|
1
1
|
import { DOCUMENT } from '@angular/common';
|
2
|
-
import { inject, NgZone } from '@angular/core';
|
2
|
+
import { inject, InjectionToken, NgZone } from '@angular/core';
|
3
3
|
import { WA_WINDOW } from '@ng-web-apis/common';
|
4
4
|
import { tuiTypedFromEvent, tuiZonefreeScheduler } from '@taiga-ui/cdk/observables';
|
5
|
-
import {
|
5
|
+
import { 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';
|
8
8
|
// Checks if focusout event should be considered leaving active zone
|
@@ -23,32 +23,34 @@ function shadowRootActiveElement(root) {
|
|
23
23
|
/**
|
24
24
|
* Active element on the document for ActiveZone
|
25
25
|
*/
|
26
|
-
export const TUI_ACTIVE_ELEMENT =
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
26
|
+
export const TUI_ACTIVE_ELEMENT = new InjectionToken(ngDevMode ? 'TUI_ACTIVE_ELEMENT' : '', {
|
27
|
+
factory: () => {
|
28
|
+
const removedElement$ = inject(TUI_REMOVED_ELEMENT);
|
29
|
+
const win = inject(WA_WINDOW);
|
30
|
+
const doc = inject(DOCUMENT);
|
31
|
+
const zone = inject(NgZone);
|
32
|
+
const focusout$ = tuiTypedFromEvent(win, 'focusout', { capture: true });
|
33
|
+
const focusin$ = tuiTypedFromEvent(win, 'focusin', { capture: true });
|
34
|
+
const blur$ = tuiTypedFromEvent(win, 'blur');
|
35
|
+
const mousedown$ = tuiTypedFromEvent(win, 'mousedown');
|
36
|
+
const mouseup$ = tuiTypedFromEvent(win, 'mouseup');
|
37
|
+
return merge(focusout$.pipe(takeUntil(mousedown$), repeat({ delay: () => mouseup$ }), withLatestFrom(removedElement$), filter(([event, removedElement]) => isValidFocusout(tuiGetActualTarget(event), removedElement)), map(([{ relatedTarget }]) => relatedTarget)), blur$.pipe(map(() => doc.activeElement), filter((element) => !!element?.matches('iframe'))), focusin$.pipe(switchMap((event) => {
|
38
|
+
const target = tuiGetActualTarget(event);
|
39
|
+
const root = tuiGetDocumentOrShadowRoot(target) || doc;
|
40
|
+
return root === doc
|
41
|
+
? of(target)
|
42
|
+
: shadowRootActiveElement(root).pipe(startWith(target));
|
43
|
+
})), mousedown$.pipe(switchMap((event) => {
|
44
|
+
const actualTargetInCurrentTime = tuiGetActualTarget(event);
|
45
|
+
return !doc.activeElement || doc.activeElement === doc.body
|
46
|
+
? of(actualTargetInCurrentTime)
|
47
|
+
: focusout$.pipe(take(1), map(
|
48
|
+
/**
|
49
|
+
* Do not use `map(() => tuiGetActualTarget(event))`
|
50
|
+
* because we have different result in runtime
|
51
|
+
*/
|
52
|
+
() => actualTargetInCurrentTime), takeUntil(timer(0, tuiZonefreeScheduler(zone))));
|
53
|
+
}))).pipe(distinctUntilChanged(), share());
|
54
|
+
},
|
53
55
|
});
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdG9rZW5zL2FjdGl2ZS1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGlCQUFpQixFQUFFLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDbEYsT0FBTyxFQUNILHlCQUF5QixFQUN6QixrQkFBa0IsRUFDbEIsMEJBQTBCLEVBQzFCLHlCQUF5QixHQUM1QixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEdBQUcsRUFDSCxLQUFLLEVBQ0wsRUFBRSxFQUNGLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxFQUNULEtBQUssRUFDTCxjQUFjLEdBQ2pCLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFdEQsb0VBQW9FO0FBQ3BFLFNBQVMsZUFBZSxDQUFDLE1BQVcsRUFBRSxpQkFBaUMsSUFBSTtJQUN2RSxPQUFPO0lBQ0gsOENBQThDO0lBQzlDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsS0FBSyxNQUFNO1FBQzNELHVFQUF1RTtRQUN2RSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQzVCLDRDQUE0QztRQUM1QyxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ2pDLHNEQUFzRDtRQUN0RCx5QkFBeUIsQ0FBQyxNQUFN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U0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQyxDQUFDLENBQ0wsRUFDRCxVQUFVLENBQUMsSUFBSSxDQUNYLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2hCLE1BQU0seUJBQXlCLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLGFBQWEsS0FBSyxHQUFHLENBQUMsSUFBSTtZQUN2RCxDQUFDLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO1lBQy9CLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHO1lBQ0M7OztlQUdHO1lBQ0gsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQ2xDLEVBQ0QsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNsRCxDQUFDO0lBQ1osQ0FBQyxDQUFDLENBQ0wsQ0FDSixDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtpbmplY3QsIE5nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dBX1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge3R1aVR5cGVkRnJvbUV2ZW50LCB0dWlab25lZnJlZVNjaGVkdWxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge1xuICAgIHR1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnksXG4gICAgdHVpR2V0QWN0dWFsVGFyZ2V0LFxuICAgIHR1aUdldERvY3VtZW50T3JTaGFkb3dSb290LFxuICAgIHR1aUlzTmF0aXZlTW91c2VGb2N1c2FibGUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMnO1xuaW1wb3J0IHR5cGUge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgICBmaWx0ZXIsXG4gICAgbWFwLFxuICAgIG1lcmdlLFxuICAgIG9mLFxuICAgIHJlcGVhdCxcbiAgICBzaGFyZSxcbiAgICBzdGFydFdpdGgsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRha2UsXG4gICAgdGFrZVVudGlsLFxuICAgIHRpbWVyLFxuICAgIHdpdGhMYXRlc3RGcm9tLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfUkVNT1ZFRF9FTEVNRU5UfSBmcm9tICcuL3JlbW92ZWQtZWxlbWVudCc7XG5cbi8vIENoZWNrcyBpZiBmb2N1c291dCBldmVudCBzaG91bGQgYmUgY29uc2lkZXJlZCBsZWF2aW5nIGFjdGl2ZSB6b25lXG5mdW5jdGlvbiBpc1ZhbGlkRm9jdXNvdXQodGFyZ2V0OiBhbnksIHJlbW92ZWRFbGVtZW50OiBFbGVtZW50IHwgbnVsbCA9IG51bGwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgICAvLyBOb3QgZHVlIHRvIHN3aXRjaGluZyB0YWJzL2dvaW5nIHRvIERldlRvb2xzXG4gICAgICAgIHR1aUdldERvY3VtZW50T3JTaGFkb3dSb290KHRhcmdldCkuYWN0aXZlRWxlbWVudCAhPT0gdGFyZ2V0ICYmXG4gICAgICAgIC8vIE5vdCBkdWUgdG8gYnV0dG9uL2lucHV0IGJlY29taW5nIGRpc2FibGVkIG9yIHVuZGVyIGRpc2FibGVkIGZpZWxkc2V0XG4gICAgICAgICF0YXJnZXQubWF0Y2hlcygnOmRpc2FibGVkJykgJiZcbiAgICAgICAgLy8gTm90IGR1ZSB0byBlbGVtZW50IGJlaW5nIHJlbW92ZWQgZnJvbSBET01cbiAgICAgICAgIXJlbW92ZWRFbGVtZW50Py5jb250YWlucyh0YXJnZXQpICYmXG4gICAgICAgIC8vIE5vdCBkdWUgdG8gc2Nyb2xsYWJsZSBlbGVtZW50IGJlY2FtZSBub24tc2Nyb2xsYWJsZVxuICAgICAgICB0dWlJc05hdGl2ZU1vdXNlRm9jdXNhYmxlKHRhcmdldClcbiAgICApO1xufVxuXG5mdW5jdGlvbiBzaGFkb3dSb290QWN0aXZlRWxlbWVudChyb290OiBEb2N1bWVudCk6IE9ic2VydmFibGU8RXZlbnRUYXJnZXQgfCBudWxsPiB7XG4gICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICB0dWlUeXBlZEZyb21FdmVudChyb290LCAnZm9jdXNpbicpLnBpcGUobWFwKCh7dGFyZ2V0fSkgPT4gdGFyZ2V0KSksXG4gICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KHJvb3QsICdmb2N1c291dCcpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgICAgICAgKHt0YXJnZXQsIHJlbGF0ZWRUYXJnZXR9KSA9PiAhIXJlbGF0ZWRUYXJnZXQgJiYgaXNWYWxpZEZvY3Vzb3V0KHRhcmdldCksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbWFwKCh7cmVsYXRlZFRhcmdldH0pID0+IHJlbGF0ZWRUYXJnZXQpLFxuICAgICAgICApLFxuICAgICk7XG59XG5cbi8qKlxuICogQWN0aXZlIGVsZW1lbnQgb24gdGhlIGRvY3VtZW50IGZvciBBY3RpdmVab25lXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfQUNUSVZFX0VMRU1FTlQgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5PFxuICAgIE9ic2VydmFibGU8RXZlbnRUYXJnZXQgfCBudWxsPlxuPigoKSA9PiB7XG4gICAgY29uc3QgcmVtb3ZlZEVsZW1lbnQkID0gaW5qZWN0KFRVSV9SRU1PVkVEX0VMRU1FTlQpO1xuICAgIGNvbnN0IHdpbiA9IGluamVjdChXQV9XSU5ET1cpO1xuICAgIGNvbnN0IGRvYyA9IGluamVjdChET0NVTUVOVCk7XG4gICAgY29uc3Qgem9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgIGNvbnN0IGZvY3Vzb3V0JCA9IHR1aVR5cGVkRnJvbUV2ZW50KHdpbiwgJ2ZvY3Vzb3V0Jywge2NhcHR1cmU6IHRydWV9KTtcbiAgICBjb25zdCBmb2N1c2luJCA9IHR1aVR5cGVkRnJvbUV2ZW50KHdpbiwgJ2ZvY3VzaW4nLCB7Y2FwdHVyZTogdHJ1ZX0pO1xuICAgIGNvbnN0IGJsdXIkID0gdHVpVHlwZWRGcm9tRXZlbnQod2luLCAnYmx1cicpO1xuICAgIGNvbnN0IG1vdXNlZG93biQgPSB0dWlUeXBlZEZyb21FdmVudCh3aW4sICdtb3VzZWRvd24nKTtcbiAgICBjb25zdCBtb3VzZXVwJCA9IHR1aVR5cGVkRnJvbUV2ZW50KHdpbiwgJ21vdXNldXAnKTtcblxuICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgZm9jdXNvdXQkLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwobW91c2Vkb3duJCksXG4gICAgICAgICAgICByZXBlYXQoe2RlbGF5OiAoKSA9PiBtb3VzZXVwJH0pLFxuICAgICAgICAgICAgd2l0aExhdGVzdEZyb20ocmVtb3ZlZEVsZW1lbnQkKSxcbiAgICAgICAgICAgIGZpbHRlcigoW2V2ZW50LCByZW1vdmVkRWxlbWVudF0pID0+XG4gICAgICAgICAgICAgICAgaXNWYWxpZEZvY3Vzb3V0KHR1aUdldEFjdHVhbFRhcmdldChldmVudCksIHJlbW92ZWRFbGVtZW50KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBtYXAoKFt7cmVsYXRlZFRhcmdldH1dKSA9PiByZWxhdGVkVGFyZ2V0KSxcbiAgICAgICAgKSxcbiAgICAgICAgYmx1ciQucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiBkb2MuYWN0aXZlRWxlbWVudCksXG4gICAgICAgICAgICBmaWx0ZXIoKGVsZW1lbnQpID0+ICEhZWxlbWVudD8ubWF0Y2hlcygnaWZyYW1lJykpLFxuICAgICAgICApLFxuICAgICAgICBmb2N1c2luJC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IHR1aUdldEFjdHVhbFRhcmdldChldmVudCk7XG4gICAgICAgICAgICAgICAgY29uc3Qgcm9vdCA9IHR1aUdldERvY3VtZW50T3JTaGFkb3dSb290KHRhcmdldCkgfHwgZG9jO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJvb3QgPT09IGRvY1xuICAgICAgICAgICAgICAgICAgICA/IG9mKHRhcmdldClcbiAgICAgICAgICAgICAgICAgICAgOiBzaGFkb3dSb290QWN0aXZlRWxlbWVudChyb290IGFzIERvY3VtZW50KS5waXBlKHN0YXJ0V2l0aCh0YXJnZXQpKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgICBtb3VzZWRvd24kLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0dWFsVGFyZ2V0SW5DdXJyZW50VGltZSA9IHR1aUdldEFjdHVhbFRhcmdldChldmVudCk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gIWRvYy5hY3RpdmVFbGVtZW50IHx8IGRvYy5hY3RpdmVFbGVtZW50ID09PSBkb2MuYm9keVxuICAgICAgICAgICAgICAgICAgICA/IG9mKGFjdHVhbFRhcmdldEluQ3VycmVudFRpbWUpXG4gICAgICAgICAgICAgICAgICAgIDogZm9jdXNvdXQkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogRG8gbm90IHVzZSBgbWFwKCgpID0+IHR1aUdldEFjdHVhbFRhcmdldChldmVudCkpYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogYmVjYXVzZSB3ZSBoYXZlIGRpZmZlcmVudCByZXN1bHQgaW4gcnVudGltZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiBhY3R1YWxUYXJnZXRJbkN1cnJlbnRUaW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGltZXIoMCwgdHVpWm9uZWZyZWVTY2hlZHVsZXIoem9uZSkpKSxcbiAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlKCkpO1xufSk7XG4iXX0=
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdG9rZW5zL2FjdGl2ZS1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xGLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsMEJBQTBCLEVBQzFCLHlCQUF5QixHQUM1QixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEdBQUcsRUFDSCxLQUFLLEVBQ0wsRUFBRSxFQUNGLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxFQUNULEtBQUssRUFDTCxjQUFjLEdBQ2pCLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFdEQsb0VBQW9FO0FBQ3BFLFNBQVMsZUFBZSxDQUFDLE1BQVcsRUFBRSxpQkFBaUMsSUFBSTtJQUN2RSxPQUFPO0lBQ0gsOENBQThDO0lBQzlDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsS0FBSyxNQUFNO1FBQzNELHVFQUF1RTtRQUN2RSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQzVCLDRDQUE0QztRQUM1QyxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ2pDLHNEQUFzRDtRQUN0RCx5QkFBeUIsQ0FBQyxNQUFNLENB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LENBQUMsTUFBTSxDQUFDO2dCQUNaLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFnQixDQUFDLENBQUMsSUFBSSxDQUMxQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQ3BCLENBQUM7UUFDWixDQUFDLENBQUMsQ0FDTCxFQUNELFVBQVUsQ0FBQyxJQUFJLENBQ1gsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDaEIsTUFBTSx5QkFBeUIsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU1RCxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUMsYUFBYSxLQUFLLEdBQUcsQ0FBQyxJQUFJO2dCQUN2RCxDQUFDLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO2dCQUMvQixDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDVixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRztnQkFDQzs7O21CQUdHO2dCQUNILEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUNsQyxFQUNELFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDbEQsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNMLENBQ0osQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDSixDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VuLCBOZ1pvbmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXQV9XSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHt0dWlUeXBlZEZyb21FdmVudCwgdHVpWm9uZWZyZWVTY2hlZHVsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtcbiAgICB0dWlHZXRBY3R1YWxUYXJnZXQsXG4gICAgdHVpR2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QsXG4gICAgdHVpSXNOYXRpdmVNb3VzZUZvY3VzYWJsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5pbXBvcnQgdHlwZSB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBtYXAsXG4gICAgbWVyZ2UsXG4gICAgb2YsXG4gICAgcmVwZWF0LFxuICAgIHNoYXJlLFxuICAgIHN0YXJ0V2l0aCxcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZSxcbiAgICB0YWtlVW50aWwsXG4gICAgdGltZXIsXG4gICAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9SRU1PVkVEX0VMRU1FTlR9IGZyb20gJy4vcmVtb3ZlZC1lbGVtZW50JztcblxuLy8gQ2hlY2tzIGlmIGZvY3Vzb3V0IGV2ZW50IHNob3VsZCBiZSBjb25zaWRlcmVkIGxlYXZpbmcgYWN0aXZlIHpvbmVcbmZ1bmN0aW9uIGlzVmFsaWRGb2N1c291dCh0YXJnZXQ6IGFueSwgcmVtb3ZlZEVsZW1lbnQ6IEVsZW1lbnQgfCBudWxsID0gbnVsbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIC8vIE5vdCBkdWUgdG8gc3dpdGNoaW5nIHRhYnMvZ29pbmcgdG8gRGV2VG9vbHNcbiAgICAgICAgdHVpR2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QodGFyZ2V0KS5hY3RpdmVFbGVtZW50ICE9PSB0YXJnZXQgJiZcbiAgICAgICAgLy8gTm90IGR1ZSB0byBidXR0b24vaW5wdXQgYmVjb21pbmcgZGlzYWJsZWQgb3IgdW5kZXIgZGlzYWJsZWQgZmllbGRzZXRcbiAgICAgICAgIXRhcmdldC5tYXRjaGVzKCc6ZGlzYWJsZWQnKSAmJlxuICAgICAgICAvLyBOb3QgZHVlIHRvIGVsZW1lbnQgYmVpbmcgcmVtb3ZlZCBmcm9tIERPTVxuICAgICAgICAhcmVtb3ZlZEVsZW1lbnQ/LmNvbnRhaW5zKHRhcmdldCkgJiZcbiAgICAgICAgLy8gTm90IGR1ZSB0byBzY3JvbGxhYmxlIGVsZW1lbnQgYmVjYW1lIG5vbi1zY3JvbGxhYmxlXG4gICAgICAgIHR1aUlzTmF0aXZlTW91c2VGb2N1c2FibGUodGFyZ2V0KVxuICAgICk7XG59XG5cbmZ1bmN0aW9uIHNoYWRvd1Jvb3RBY3RpdmVFbGVtZW50KHJvb3Q6IERvY3VtZW50KTogT2JzZXJ2YWJsZTxFdmVudFRhcmdldCB8IG51bGw+IHtcbiAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KHJvb3QsICdmb2N1c2luJykucGlwZShtYXAoKHt0YXJnZXR9KSA9PiB0YXJnZXQpKSxcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQocm9vdCwgJ2ZvY3Vzb3V0JykucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgICAgICAoe3RhcmdldCwgcmVsYXRlZFRhcmdldH0pID0+ICEhcmVsYXRlZFRhcmdldCAmJiBpc1ZhbGlkRm9jdXNvdXQodGFyZ2V0KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBtYXAoKHtyZWxhdGVkVGFyZ2V0fSkgPT4gcmVsYXRlZFRhcmdldCksXG4gICAgICAgICksXG4gICAgKTtcbn1cblxuLyoqXG4gKiBBY3RpdmUgZWxlbWVudCBvbiB0aGUgZG9jdW1lbnQgZm9yIEFjdGl2ZVpvbmVcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9BQ1RJVkVfRUxFTUVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPEV2ZW50VGFyZ2V0IHwgbnVsbD4+KFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfQUNUSVZFX0VMRU1FTlQnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZW1vdmVkRWxlbWVudCQgPSBpbmplY3QoVFVJX1JFTU9WRURfRUxFTUVOVCk7XG4gICAgICAgICAgICBjb25zdCB3aW4gPSBpbmplY3QoV0FfV0lORE9XKTtcbiAgICAgICAgICAgIGNvbnN0IGRvYyA9IGluamVjdChET0NVTUVOVCk7XG4gICAgICAgICAgICBjb25zdCB6b25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgICAgICAgICBjb25zdCBmb2N1c291dCQgPSB0dWlUeXBlZEZyb21FdmVudCh3aW4sICdmb2N1c291dCcsIHtjYXB0dXJlOiB0cnVlfSk7XG4gICAgICAgICAgICBjb25zdCBmb2N1c2luJCA9IHR1aVR5cGVkRnJvbUV2ZW50KHdpbiwgJ2ZvY3VzaW4nLCB7Y2FwdHVyZTogdHJ1ZX0pO1xuICAgICAgICAgICAgY29uc3QgYmx1ciQgPSB0dWlUeXBlZEZyb21FdmVudCh3aW4sICdibHVyJyk7XG4gICAgICAgICAgICBjb25zdCBtb3VzZWRvd24kID0gdHVpVHlwZWRGcm9tRXZlbnQod2luLCAnbW91c2Vkb3duJyk7XG4gICAgICAgICAgICBjb25zdCBtb3VzZXVwJCA9IHR1aVR5cGVkRnJvbUV2ZW50KHdpbiwgJ21vdXNldXAnKTtcblxuICAgICAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgICAgIGZvY3Vzb3V0JC5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwobW91c2Vkb3duJCksXG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdCh7ZGVsYXk6ICgpID0+IG1vdXNldXAkfSksXG4gICAgICAgICAgICAgICAgICAgIHdpdGhMYXRlc3RGcm9tKHJlbW92ZWRFbGVtZW50JCksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigoW2V2ZW50LCByZW1vdmVkRWxlbWVudF0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkRm9jdXNvdXQodHVpR2V0QWN0dWFsVGFyZ2V0KGV2ZW50KSwgcmVtb3ZlZEVsZW1lbnQpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKFt7cmVsYXRlZFRhcmdldH1dKSA9PiByZWxhdGVkVGFyZ2V0KSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGJsdXIkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoKSA9PiBkb2MuYWN0aXZlRWxlbWVudCksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigoZWxlbWVudCkgPT4gISFlbGVtZW50Py5tYXRjaGVzKCdpZnJhbWUnKSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBmb2N1c2luJC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSB0dWlHZXRBY3R1YWxUYXJnZXQoZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm9vdCA9IHR1aUdldERvY3VtZW50T3JTaGFkb3dSb290KHRhcmdldCkgfHwgZG9jO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcm9vdCA9PT0gZG9jXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBvZih0YXJnZXQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBzaGFkb3dSb290QWN0aXZlRWxlbWVudChyb290IGFzIERvY3VtZW50KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCh0YXJnZXQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBtb3VzZWRvd24kLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdHVhbFRhcmdldEluQ3VycmVudFRpbWUgPSB0dWlHZXRBY3R1YWxUYXJnZXQoZXZlbnQpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWRvYy5hY3RpdmVFbGVtZW50IHx8IGRvYy5hY3RpdmVFbGVtZW50ID09PSBkb2MuYm9keVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gb2YoYWN0dWFsVGFyZ2V0SW5DdXJyZW50VGltZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZvY3Vzb3V0JC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogRG8gbm90IHVzZSBgbWFwKCgpID0+IHR1aUdldEFjdHVhbFRhcmdldChldmVudCkpYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBiZWNhdXNlIHdlIGhhdmUgZGlmZmVyZW50IHJlc3VsdCBpbiBydW50aW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiBhY3R1YWxUYXJnZXRJbkN1cnJlbnRUaW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRpbWVyKDAsIHR1aVpvbmVmcmVlU2NoZWR1bGVyKHpvbmUpKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlKCkpO1xuICAgICAgICB9LFxuICAgIH0sXG4pO1xuIl19
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { DOCUMENT } from '@angular/common';
|
2
|
-
import { inject } from '@angular/core';
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
import { inject, InjectionToken } from '@angular/core';
|
3
|
+
export const TUI_BASE_HREF = new InjectionToken(ngDevMode ? 'TUI_BASE_HREF' : '', {
|
4
|
+
factory: () => inject(DOCUMENT).querySelector('base')?.href ?? '',
|
5
|
+
});
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1ocmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3Rva2Vucy9iYXNlLWhyZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQzlFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFO0NBQ3BFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVFVJX0JBU0VfSFJFRiA9IG5ldyBJbmplY3Rpb25Ub2tlbihuZ0Rldk1vZGUgPyAnVFVJX0JBU0VfSFJFRicgOiAnJywge1xuICAgIGZhY3Rvcnk6ICgpID0+IGluamVjdChET0NVTUVOVCkucXVlcnlTZWxlY3RvcignYmFzZScpPy5ocmVmID8/ICcnLFxufSk7XG4iXX0=
|
@@ -1,41 +1,58 @@
|
|
1
|
-
import { inject } from '@angular/core';
|
1
|
+
import { inject, InjectionToken } from '@angular/core';
|
2
2
|
import { toSignal } from '@angular/core/rxjs-interop';
|
3
3
|
import { WA_NAVIGATOR, WA_USER_AGENT, WA_WINDOW } from '@ng-web-apis/common';
|
4
4
|
import { isIos } from '@ng-web-apis/platform';
|
5
5
|
import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
|
6
|
-
import { tuiCreateTokenFromFactory } from '@taiga-ui/cdk/utils';
|
7
6
|
import { fromEvent, map } from 'rxjs';
|
8
7
|
// https://stackoverflow.com/a/11381730/2706426 http://detectmobilebrowsers.com/
|
9
8
|
const firstRegex = /(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/;
|
10
9
|
const secondRegex = /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-/;
|
11
|
-
export const TUI_IS_MOBILE =
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
export const
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
10
|
+
export const TUI_IS_MOBILE = new InjectionToken(ngDevMode ? 'TUI_IS_MOBILE' : '', {
|
11
|
+
factory: () => firstRegex.test(inject(WA_USER_AGENT).toLowerCase()) ||
|
12
|
+
secondRegex.test(inject(WA_USER_AGENT).slice(0, 4).toLowerCase()),
|
13
|
+
});
|
14
|
+
export const TUI_IS_IOS = new InjectionToken(ngDevMode ? 'TUI_IS_IOS' : '', {
|
15
|
+
factory: () => isIos(inject(WA_NAVIGATOR)),
|
16
|
+
});
|
17
|
+
export const TUI_IS_ANDROID = new InjectionToken(ngDevMode ? 'TUI_IS_ANDROID' : '', {
|
18
|
+
factory: () => inject(TUI_IS_MOBILE) && !inject(TUI_IS_IOS),
|
19
|
+
});
|
20
|
+
export const TUI_IS_WEBKIT = new InjectionToken(ngDevMode ? 'TUI_IS_WEBKIT' : '', {
|
21
|
+
factory: () => !!inject(WA_WINDOW)?.webkitConvertPointFromNodeToPage,
|
22
|
+
});
|
23
|
+
export const TUI_PLATFORM = new InjectionToken(ngDevMode ? 'TUI_PLATFORM' : '', {
|
24
|
+
factory: () => {
|
25
|
+
if (inject(TUI_IS_IOS)) {
|
26
|
+
return 'ios';
|
27
|
+
}
|
28
|
+
return inject(TUI_IS_ANDROID) ? 'android' : 'web';
|
29
|
+
},
|
30
|
+
});
|
31
|
+
export const TUI_IS_TOUCH = new InjectionToken(ngDevMode ? 'TUI_IS_TOUCH' : '', {
|
32
|
+
factory: () => {
|
33
|
+
const media = inject(WA_WINDOW).matchMedia('(pointer: coarse)');
|
34
|
+
return toSignal(fromEvent(media, 'change').pipe(map(() => media.matches)), {
|
35
|
+
initialValue: media.matches,
|
36
|
+
});
|
37
|
+
},
|
27
38
|
});
|
28
39
|
/**
|
29
40
|
* Detect if app is running under Cypress
|
30
41
|
* {@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}
|
31
42
|
*/
|
32
|
-
export const TUI_IS_CYPRESS =
|
43
|
+
export const TUI_IS_CYPRESS = new InjectionToken(ngDevMode ? 'TUI_IS_CYPRESS' : '', {
|
44
|
+
factory: () => !!inject(WA_WINDOW).Cypress,
|
45
|
+
});
|
33
46
|
/**
|
34
47
|
* Manually provide `true` when running tests in Playwright
|
35
48
|
*/
|
36
|
-
export const TUI_IS_PLAYWRIGHT =
|
49
|
+
export const TUI_IS_PLAYWRIGHT = new InjectionToken(ngDevMode ? 'TUI_IS_PLAYWRIGHT' : '', {
|
50
|
+
factory: TUI_FALSE_HANDLER,
|
51
|
+
});
|
37
52
|
/**
|
38
53
|
* Detect if app is running under any of test frameworks
|
39
54
|
*/
|
40
|
-
export const TUI_IS_E2E =
|
41
|
-
|
55
|
+
export const TUI_IS_E2E = new InjectionToken(ngDevMode ? 'TUI_IS_E2E' : '', {
|
56
|
+
factory: () => inject(TUI_IS_CYPRESS) || inject(TUI_IS_PLAYWRIGHT),
|
57
|
+
});
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdG9rZW5zL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRSxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDNUMsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFcEMsZ0ZBQWdGO0FBQ2hGLE1BQU0sVUFBVSxHQUNaLDBUQUEwVCxDQUFDO0FBQy9ULE1BQU0sV0FBVyxHQUNiLGlpREFBaWlELENBQUM7QUFFdGlELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQzlFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FDVixVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwRCxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0NBQ3hFLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ3hFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0NBQzdDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDaEYsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7Q0FDOUQsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDOUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQU0sU0FBUyxDQUFDLEVBQUUsZ0NBQWdDO0NBQzVFLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FDMUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDL0I7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1YsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDcEIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDdEQsQ0FBQztDQUNKLENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQzVFLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDVixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFaEUsT0FBTyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFO1lBQ3ZFLFlBQVksRUFBRSxLQUFLLENBQUMsT0FBTztTQUM5QixDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQyxDQUFDO0FBRUg7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNoRixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBTSxTQUFTLENBQUMsQ0FBQyxPQUFPO0NBQ2xELENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQy9DLFNBQVMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDcEM7SUFDSSxPQUFPLEVBQUUsaUJBQWlCO0NBQzdCLENBQ0osQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDeEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxNQUFNLENBQUMsaUJBQWlCLENBQUM7Q0FDckUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7V0FfTkFWSUdBVE9SLCBXQV9VU0VSX0FHRU5ULCBXQV9XSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtpc0lvc30gZnJvbSAnQG5nLXdlYi1hcGlzL3BsYXRmb3JtJztcbmltcG9ydCB7VFVJX0ZBTFNFX0hBTkRMRVJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBtYXB9IGZyb20gJ3J4anMnO1xuXG4vLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTEzODE3MzAvMjcwNjQyNiBodHRwOi8vZGV0ZWN0bW9iaWxlYnJvd3NlcnMuY29tL1xuY29uc3QgZmlyc3RSZWdleCA9XG4gICAgLyhhbmRyb2lkfGJiXFxkK3xtZWVnbykuK21vYmlsZXxhdmFudGdvfGJhZGFcXC98YmxhY2tiZXJyeXxibGF6ZXJ8Y29tcGFsfGVsYWluZXxmZW5uZWN8aGlwdG9wfGllbW9iaWxlfGlwKGhvbmV8b2QpfGlyaXN8a2luZGxlfGxnZSB8bWFlbW98bWlkcHxtbXB8bW9iaWxlLitmaXJlZm94fG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVxcL3xwbHVja2VyfHBvY2tldHxwc3B8c2VyaWVzKFs0Nl0pMHxzeW1iaWFufHRyZW98dXBcXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyBjZXx4ZGF8eGlpbm8vO1xuY29uc3Qgc2Vjb25kUmVnZXggPVxuICAgIC8xMjA3fDYzMTB8NjU5MHwzZ3NvfDR0aHB8NTBbMS02XWl8Nzcwc3w4MDJzfGEgd2F8YWJhY3xhYyhlcnxvb3xzLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXwtbXxyIHxzICl8YXZhbnxiZShja3xsbHxucSl8YmkobGJ8cmQpfGJsKGFjfGF6KXxicihbZXZdKXd8YnVtYnxidy0oW251XSl8YzU1XFwvfGNhcGl8Y2N3YXxjZG0tfGNlbGx8Y2h0bXxjbGRjfGNtZC18Y28obXB8bmQpfGNyYXd8ZGEoaXR8bGx8bmcpfGRidGV8ZGMtc3xkZXZpfGRpY2F8ZG1vYnxkbyhbY3BdKW98ZHMoMTJ8LWQpfGVsKDQ5fGFpKXxlbShsMnx1bCl8ZXIoaWN8azApfGVzbDh8ZXooWzQtN10wfG9zfHdhfHplKXxmZXRjfGZseShbLV9dKXxnMSB1fGc1NjB8Z2VuZXxnZi01fGctbW98Z28oXFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZC0oW21wdF0pfGhlaS18aGkocHR8dGEpfGhwKCBpfGlwKXxocy1jfGh0KGMoWy0gX2FncHN0XSl8dHApfGh1KGF3fHRjKXxpLSgyMHxnb3xtYSl8aTIzMHxpYWMoWyBcXC0vXSl8aWJyb3xpZGVhfGlnMDF8aWtvbXxpbTFrfGlubm98aXBhcXxpcmlzfGphKFt0dl0pYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KFsgL10pfGtsb258a3B0IHxrd2MtfGt5byhbY2tdKXxsZShub3x4aSl8bGcoIGd8XFwvKFtrbHVdKXw1MHw1NHwtW2Etd10pfGxpYnd8bHlueHxtMS13fG0zZ2F8bTUwXFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bS1jcnxtZShyY3xyaSl8bWkobzh8b2F8dHMpfG1tZWZ8bW8oMDF8MDJ8Yml8ZGV8ZG98dChbLSBvdl0pfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMChbMDJdKXxuNTAoWzAyNV0pfG43KDAoWzAxXSl8MTApfG5lKChbY21dKS18b258dGZ8d2Z8d2d8d3QpfG5vayhbNmldKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihbYWR0XSl8cGR4Z3xwZygxM3wtKFsxLThdfGMpKXxwaGlsfHBpcmV8cGwoYXl8dWMpfHBuLTJ8cG8oY2t8cnR8c2UpfHByb3h8cHNpb3xwdC1nfHFhLWF8cWMoMDd8MTJ8MjF8MzJ8NjB8LVsyLTddfGktKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVxcL3xzYShnZXxtYXxtbXxtc3xueXx2YSl8c2MoMDF8aC18b298cC0pfHNka1xcL3xzZShjKFstMDFdKXw0N3xtY3xuZHxyaSl8c2doLXxzaGFyfHNpZShbLW1dKXxzay0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGgtfHYtfHYgKXxzeSgwMXxtYil8dDIoMTh8NTApfHQ2KDAwfDEwfDE4KXx0YShndHxsayl8dGNsLXx0ZGctfHRlbChbaW1dKXx0aW0tfHQtbW98dG8ocGx8c2gpfHRzKDcwfG0tfG0zfG01KXx0eC05fHVwKFxcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXwtdil8dm00MHx2b2RhfHZ1bGN8dngoNTJ8NTN8NjB8NjF8NzB8ODB8ODF8ODN8ODV8OTgpfHczYyhbLSBdKXx3ZWJjfHdoaXR8d2koZyB8bmN8bncpfHdtbGJ8d29udXx4NzAwfHlhcy18eW91cnx6ZXRvfHp0ZS0vO1xuXG5leHBvcnQgY29uc3QgVFVJX0lTX01PQklMRSA9IG5ldyBJbmplY3Rpb25Ub2tlbihuZ0Rldk1vZGUgPyAnVFVJX0lTX01PQklMRScgOiAnJywge1xuICAgIGZhY3Rvcnk6ICgpID0+XG4gICAgICAgIGZpcnN0UmVnZXgudGVzdChpbmplY3QoV0FfVVNFUl9BR0VOVCkudG9Mb3dlckNhc2UoKSkgfHxcbiAgICAgICAgc2Vjb25kUmVnZXgudGVzdChpbmplY3QoV0FfVVNFUl9BR0VOVCkuc2xpY2UoMCwgNCkudG9Mb3dlckNhc2UoKSksXG59KTtcblxuZXhwb3J0IGNvbnN0IFRVSV9JU19JT1MgPSBuZXcgSW5qZWN0aW9uVG9rZW4obmdEZXZNb2RlID8gJ1RVSV9JU19JT1MnIDogJycsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiBpc0lvcyhpbmplY3QoV0FfTkFWSUdBVE9SKSksXG59KTtcblxuZXhwb3J0IGNvbnN0IFRVSV9JU19BTkRST0lEID0gbmV3IEluamVjdGlvblRva2VuKG5nRGV2TW9kZSA/ICdUVUlfSVNfQU5EUk9JRCcgOiAnJywge1xuICAgIGZhY3Rvcnk6ICgpID0+IGluamVjdChUVUlfSVNfTU9CSUxFKSAmJiAhaW5qZWN0KFRVSV9JU19JT1MpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfSVNfV0VCS0lUID0gbmV3IEluamVjdGlvblRva2VuKG5nRGV2TW9kZSA/ICdUVUlfSVNfV0VCS0lUJyA6ICcnLCB7XG4gICAgZmFjdG9yeTogKCkgPT4gISFpbmplY3Q8YW55PihXQV9XSU5ET1cpPy53ZWJraXRDb252ZXJ0UG9pbnRGcm9tTm9kZVRvUGFnZSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVFVJX1BMQVRGT1JNID0gbmV3IEluamVjdGlvblRva2VuPCdhbmRyb2lkJyB8ICdpb3MnIHwgJ3dlYic+KFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfUExBVEZPUk0nIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5qZWN0KFRVSV9JU19JT1MpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdpb3MnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gaW5qZWN0KFRVSV9JU19BTkRST0lEKSA/ICdhbmRyb2lkJyA6ICd3ZWInO1xuICAgICAgICB9LFxuICAgIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgVFVJX0lTX1RPVUNIID0gbmV3IEluamVjdGlvblRva2VuKG5nRGV2TW9kZSA/ICdUVUlfSVNfVE9VQ0gnIDogJycsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1lZGlhID0gaW5qZWN0KFdBX1dJTkRPVykubWF0Y2hNZWRpYSgnKHBvaW50ZXI6IGNvYXJzZSknKTtcblxuICAgICAgICByZXR1cm4gdG9TaWduYWwoZnJvbUV2ZW50KG1lZGlhLCAnY2hhbmdlJykucGlwZShtYXAoKCkgPT4gbWVkaWEubWF0Y2hlcykpLCB7XG4gICAgICAgICAgICBpbml0aWFsVmFsdWU6IG1lZGlhLm1hdGNoZXMsXG4gICAgICAgIH0pO1xuICAgIH0sXG59KTtcblxuLyoqXG4gKiBEZXRlY3QgaWYgYXBwIGlzIHJ1bm5pbmcgdW5kZXIgQ3lwcmVzc1xuICoge0BsaW5rIGh0dHBzOi8vZG9jcy5jeXByZXNzLmlvL2ZhcS9xdWVzdGlvbnMvdXNpbmctY3lwcmVzcy1mYXEjSXMtdGhlcmUtYW55LXdheS10by1kZXRlY3QtaWYtbXktYXBwLWlzLXJ1bm5pbmctdW5kZXItQ3lwcmVzcyBDeXByZXNzIGRvY3N9XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSVNfQ1lQUkVTUyA9IG5ldyBJbmplY3Rpb25Ub2tlbihuZ0Rldk1vZGUgPyAnVFVJX0lTX0NZUFJFU1MnIDogJycsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiAhIWluamVjdDxhbnk+KFdBX1dJTkRPVykuQ3lwcmVzcyxcbn0pO1xuXG4vKipcbiAqIE1hbnVhbGx5IHByb3ZpZGUgYHRydWVgIHdoZW4gcnVubmluZyB0ZXN0cyBpbiBQbGF5d3JpZ2h0XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSVNfUExBWVdSSUdIVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPihcbiAgICBuZ0Rldk1vZGUgPyAnVFVJX0lTX1BMQVlXUklHSFQnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiBUVUlfRkFMU0VfSEFORExFUixcbiAgICB9LFxuKTtcblxuLyoqXG4gKiBEZXRlY3QgaWYgYXBwIGlzIHJ1bm5pbmcgdW5kZXIgYW55IG9mIHRlc3QgZnJhbWV3b3Jrc1xuICovXG5leHBvcnQgY29uc3QgVFVJX0lTX0UyRSA9IG5ldyBJbmplY3Rpb25Ub2tlbihuZ0Rldk1vZGUgPyAnVFVJX0lTX0UyRScgOiAnJywge1xuICAgIGZhY3Rvcnk6ICgpID0+IGluamVjdChUVUlfSVNfQ1lQUkVTUykgfHwgaW5qZWN0KFRVSV9JU19QTEFZV1JJR0hUKSxcbn0pO1xuIl19
|
@@ -1,9 +1,11 @@
|
|
1
|
-
import {
|
2
|
-
export const TUI_FALLBACK_VALUE =
|
1
|
+
import { InjectionToken } from '@angular/core';
|
2
|
+
export const TUI_FALLBACK_VALUE = new InjectionToken(ngDevMode ? 'TUI_FALLBACK_VALUE' : '', {
|
3
|
+
factory: () => null,
|
4
|
+
});
|
3
5
|
export function tuiFallbackValueProvider(useValue) {
|
4
6
|
return {
|
5
7
|
provide: TUI_FALLBACK_VALUE,
|
6
8
|
useValue,
|
7
9
|
};
|
8
10
|
}
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsbGJhY2stdmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdG9rZW5zL2ZhbGxiYWNrLXZhbHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQ2hELFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDckM7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtDQUN0QixDQUNKLENBQUM7QUFFRixNQUFNLFVBQVUsd0JBQXdCLENBQUksUUFBVztJQUNuRCxPQUFPO1FBQ0gsT0FBTyxFQUFFLGtCQUFrQjtRQUMzQixRQUFRO0tBQ1gsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7VmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IFRVSV9GQUxMQkFDS19WQUxVRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfRkFMTEJBQ0tfVkFMVUUnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBudWxsLFxuICAgIH0sXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyPFQ+KHVzZVZhbHVlOiBUKTogVmFsdWVQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX0ZBTExCQUNLX1ZBTFVFLFxuICAgICAgICB1c2VWYWx1ZSxcbiAgICB9O1xufVxuIl19
|
package/esm2022/tokens/range.mjs
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
import { isPlatformBrowser } from '@angular/common';
|
2
|
-
import { inject, PLATFORM_ID } from '@angular/core';
|
3
|
-
import { tuiCreateTokenFromFactory } from '@taiga-ui/cdk/utils';
|
2
|
+
import { inject, InjectionToken, PLATFORM_ID } from '@angular/core';
|
4
3
|
/**
|
5
4
|
* SSR safe default empty Range
|
6
5
|
*/
|
7
|
-
export const TUI_RANGE =
|
8
|
-
|
6
|
+
export const TUI_RANGE = new InjectionToken(ngDevMode ? 'TUI_RANGE' : '', {
|
7
|
+
factory: () => isPlatformBrowser(inject(PLATFORM_ID)) ? new Range() : {},
|
8
|
+
});
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdG9rZW5zL3JhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVsRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ3RFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FDVixpQkFBaUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUUsRUFBdUI7Q0FDdEYsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc1BsYXRmb3JtQnJvd3Nlcn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7aW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgUExBVEZPUk1fSUR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFNTUiBzYWZlIGRlZmF1bHQgZW1wdHkgUmFuZ2VcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9SQU5HRSA9IG5ldyBJbmplY3Rpb25Ub2tlbihuZ0Rldk1vZGUgPyAnVFVJX1JBTkdFJyA6ICcnLCB7XG4gICAgZmFjdG9yeTogKCkgPT5cbiAgICAgICAgaXNQbGF0Zm9ybUJyb3dzZXIoaW5qZWN0KFBMQVRGT1JNX0lEKSkgPyBuZXcgUmFuZ2UoKSA6ICh7fSBhcyB1bmtub3duIGFzIFJhbmdlKSxcbn0pO1xuIl19
|
@@ -1,19 +1,20 @@
|
|
1
1
|
import { ɵAnimationEngine as AnimationEngine } from '@angular/animations/browser';
|
2
|
-
import { inject } from '@angular/core';
|
3
|
-
import { tuiCreateTokenFromFactory } from '@taiga-ui/cdk/utils';
|
2
|
+
import { inject, InjectionToken } from '@angular/core';
|
4
3
|
import { BehaviorSubject, map, share, startWith, switchMap, timer } from 'rxjs';
|
5
4
|
/**
|
6
5
|
* Element currently being removed by AnimationEngine
|
7
6
|
*/
|
8
|
-
export const TUI_REMOVED_ELEMENT =
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
7
|
+
export const TUI_REMOVED_ELEMENT = new InjectionToken(ngDevMode ? 'TUI_REMOVED_ELEMENT' : '', {
|
8
|
+
factory: () => {
|
9
|
+
const stub = { onRemovalComplete: () => { } };
|
10
|
+
const element$ = new BehaviorSubject(null);
|
11
|
+
const engine = inject(AnimationEngine, { optional: true }) || stub;
|
12
|
+
const { onRemovalComplete = stub.onRemovalComplete } = engine;
|
13
|
+
engine.onRemovalComplete = (element, context) => {
|
14
|
+
element$.next(element);
|
15
|
+
onRemovalComplete.call(engine, element, context);
|
16
|
+
};
|
17
|
+
return element$.pipe(switchMap((element) => timer(0).pipe(map(() => null), startWith(element))), share());
|
18
|
+
},
|
18
19
|
});
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlZC1lbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3Rva2Vucy9yZW1vdmVkLWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixJQUFJLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2hGLE9BQU8sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUNqRCxTQUFTLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ3RDO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNWLE1BQU0sSUFBSSxHQUFHLEVBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxFQUFDLENBQUM7UUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQWlCLElBQUksQ0FBQyxDQUFDO1FBQzNELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDakUsTUFBTSxFQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBQyxHQUFHLE1BQU0sQ0FBQztRQUU1RCxNQUFNLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDNUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2QixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ2xCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ1QsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUNmLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FDckIsQ0FDSixFQUNELEtBQUssRUFBRSxDQUNWLENBQUM7SUFDTixDQUFDO0NBQ0osQ0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHvJtUFuaW1hdGlvbkVuZ2luZSBhcyBBbmltYXRpb25FbmdpbmV9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMvYnJvd3Nlcic7XG5pbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIG1hcCwgc2hhcmUsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogRWxlbWVudCBjdXJyZW50bHkgYmVpbmcgcmVtb3ZlZCBieSBBbmltYXRpb25FbmdpbmVcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9SRU1PVkVEX0VMRU1FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICAgbmdEZXZNb2RlID8gJ1RVSV9SRU1PVkVEX0VMRU1FTlQnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdHViID0ge29uUmVtb3ZhbENvbXBsZXRlOiAoKSA9PiB7fX07XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgZW5naW5lID0gaW5qZWN0KEFuaW1hdGlvbkVuZ2luZSwge29wdGlvbmFsOiB0cnVlfSkgfHwgc3R1YjtcbiAgICAgICAgICAgIGNvbnN0IHtvblJlbW92YWxDb21wbGV0ZSA9IHN0dWIub25SZW1vdmFsQ29tcGxldGV9ID0gZW5naW5lO1xuXG4gICAgICAgICAgICBlbmdpbmUub25SZW1vdmFsQ29tcGxldGUgPSAoZWxlbWVudCwgY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQkLm5leHQoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgb25SZW1vdmFsQ29tcGxldGUuY2FsbChlbmdpbmUsIGVsZW1lbnQsIGNvbnRleHQpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQkLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChlbGVtZW50KSA9PlxuICAgICAgICAgICAgICAgICAgICB0aW1lcigwKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IG51bGwpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKGVsZW1lbnQpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgc2hhcmUoKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgfSxcbik7XG4iXX0=
|
@@ -1,27 +1,28 @@
|
|
1
|
-
import { inject } from '@angular/core';
|
1
|
+
import { inject, InjectionToken } 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';
|
5
4
|
import { map, shareReplay, startWith } from 'rxjs';
|
6
|
-
export const TUI_WINDOW_SIZE =
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
5
|
+
export const TUI_WINDOW_SIZE = new InjectionToken(ngDevMode ? 'TUI_WINDOW_SIZE' : '', {
|
6
|
+
factory: () => {
|
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 }));
|
26
|
+
},
|
26
27
|
});
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LXNpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdG9rZW5zL3dpbmRvdy1zaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFakQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUM3QyxTQUFTLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ2xDO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNWLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU1QixPQUFPLGlCQUFpQixDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQ3RDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ0wsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsV0FBVyxJQUFJLENBQUMsRUFDM0MsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLEVBQ2pCLENBQUMsQ0FBQyxjQUFjLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FDL0IsQ0FBQztZQUNGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQ25CLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksSUFBSSxDQUFDLEVBQzVDLENBQUMsQ0FBQyxXQUFXLElBQUksQ0FBQyxFQUNsQixDQUFDLENBQUMsY0FBYyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQ2hDLENBQUM7WUFDRixNQUFNLElBQUksR0FBRztnQkFDVCxLQUFLO2dCQUNMLE1BQU07Z0JBQ04sR0FBRyxFQUFFLENBQUM7Z0JBQ04sSUFBSSxFQUFFLENBQUM7Z0JBQ1AsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osTUFBTSxFQUFFLE1BQU07Z0JBQ2QsQ0FBQyxFQUFFLENBQUM7Z0JBQ0osQ0FBQyxFQUFFLENBQUM7YUFDUCxDQUFDO1lBRUYsT0FBTztnQkFDSCxHQUFHLElBQUk7Z0JBQ1AsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO2FBQ3JDLENBQUM7UUFDTixDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsRUFBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUMvQyxDQUFDO0lBQ04sQ0FBQztDQUNKLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dBX1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge3R1aVR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRofSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IFRVSV9XSU5ET1dfU0laRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPERPTVJlY3Q+PihcbiAgICBuZ0Rldk1vZGUgPyAnVFVJX1dJTkRPV19TSVpFJyA6ICcnLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdyA9IGluamVjdChXQV9XSU5ET1cpO1xuXG4gICAgICAgICAgICByZXR1cm4gdHVpVHlwZWRGcm9tRXZlbnQodywgJ3Jlc2l6ZScpLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gTWF0aC5tYXgoXG4gICAgICAgICAgICAgICAgICAgICAgICB3LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCB8fCAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgdy5pbm5lcldpZHRoIHx8IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB3LnZpc3VhbFZpZXdwb3J0Py53aWR0aCB8fCAwLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBoZWlnaHQgPSBNYXRoLm1heChcbiAgICAgICAgICAgICAgICAgICAgICAgIHcuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCB8fCAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgdy5pbm5lckhlaWdodCB8fCAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgdy52aXN1YWxWaWV3cG9ydD8uaGVpZ2h0IHx8IDAsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY3QgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogd2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IGhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHg6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB5OiAwLFxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5yZWN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgdG9KU09OOiAoKSA9PiBKU09OLnN0cmluZ2lmeShyZWN0KSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzaGFyZVJlcGxheSh7YnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWV9KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgfSxcbik7XG4iXX0=
|
@@ -1,6 +1,9 @@
|
|
1
|
-
import {
|
1
|
+
import { InjectionToken } from '@angular/core';
|
2
|
+
import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
|
2
3
|
export function tuiCreateOptions(defaults) {
|
3
|
-
const token =
|
4
|
+
const token = new InjectionToken(ngDevMode ? 'token' : '', {
|
5
|
+
factory: () => defaults,
|
6
|
+
});
|
4
7
|
return [token, (options) => tuiProvideOptions(token, options, defaults)];
|
5
8
|
}
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZGkvY3JlYXRlLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUVwRSxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLFFBQVc7SUFLWCxNQUFNLEtBQUssR0FBRyxJQUFJLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ3ZELE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRO0tBQzFCLENBQUMsQ0FBQztJQUVILE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUM3RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0ZhY3RvcnlQcm92aWRlciwgUHJvdmlkZXJUb2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpUHJvdmlkZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVPcHRpb25zPFQ+KFxuICAgIGRlZmF1bHRzOiBULFxuKTogW1xuICAgIHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPixcbiAgICBwcm92aWRlcjogKGl0ZW06IFBhcnRpYWw8VD4gfCBQcm92aWRlclRva2VuPFBhcnRpYWw8VD4+KSA9PiBGYWN0b3J5UHJvdmlkZXIsXG5dIHtcbiAgICBjb25zdCB0b2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbihuZ0Rldk1vZGUgPyAndG9rZW4nIDogJycsIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gZGVmYXVsdHMsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gW3Rva2VuLCAob3B0aW9ucykgPT4gdHVpUHJvdmlkZU9wdGlvbnModG9rZW4sIG9wdGlvbnMsIGRlZmF1bHRzKV07XG59XG4iXX0=
|
@@ -1,10 +1,16 @@
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
2
|
+
/**
|
3
|
+
* @deprecated: drop in v5.0
|
4
|
+
*/
|
2
5
|
export function tuiCreateToken(defaults) {
|
3
6
|
return defaults === undefined
|
4
7
|
? new InjectionToken('')
|
5
8
|
: tuiCreateTokenFromFactory(() => defaults);
|
6
9
|
}
|
10
|
+
/**
|
11
|
+
* @deprecated: drop in v5.0
|
12
|
+
*/
|
7
13
|
export function tuiCreateTokenFromFactory(factory) {
|
8
14
|
return factory ? new InjectionToken('', { factory }) : new InjectionToken('');
|
9
15
|
}
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMvY3JlYXRlLXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0M7O0dBRUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFJLFFBQVk7SUFDMUMsT0FBTyxRQUFRLEtBQUssU0FBUztRQUN6QixDQUFDLENBQUMsSUFBSSxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQUksT0FBaUI7SUFDMUQsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksY0FBYyxDQUFJLEVBQUUsRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksY0FBYyxDQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ3RGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogZHJvcCBpbiB2NS4wXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVUb2tlbjxUPihkZWZhdWx0cz86IFQpOiBJbmplY3Rpb25Ub2tlbjxUPiB7XG4gICAgcmV0dXJuIGRlZmF1bHRzID09PSB1bmRlZmluZWRcbiAgICAgICAgPyBuZXcgSW5qZWN0aW9uVG9rZW4oJycpXG4gICAgICAgIDogdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeSgoKSA9PiBkZWZhdWx0cyk7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQ6IGRyb3AgaW4gdjUuMFxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeTxUPihmYWN0b3J5PzogKCkgPT4gVCk6IEluamVjdGlvblRva2VuPFQ+IHtcbiAgICByZXR1cm4gZmFjdG9yeSA/IG5ldyBJbmplY3Rpb25Ub2tlbjxUPignJywge2ZhY3Rvcnl9KSA6IG5ldyBJbmplY3Rpb25Ub2tlbjxUPignJyk7XG59XG4iXX0=
|
@@ -1,9 +1,10 @@
|
|
1
|
-
import { createComponent, DestroyRef, EnvironmentInjector, inject } from '@angular/core';
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
1
|
+
import { createComponent, DestroyRef, EnvironmentInjector, inject, InjectionToken, } from '@angular/core';
|
2
|
+
const MAP = new InjectionToken(ngDevMode ? 'MAP' : '', {
|
3
|
+
factory: () => {
|
4
|
+
const map = new Map();
|
5
|
+
inject(DestroyRef).onDestroy(() => map.forEach((component) => component.destroy()));
|
6
|
+
return map;
|
7
|
+
},
|
7
8
|
});
|
8
9
|
export function tuiWithStyles(component) {
|
9
10
|
const map = inject(MAP);
|
@@ -13,4 +14,4 @@ export function tuiWithStyles(component) {
|
|
13
14
|
}
|
14
15
|
return undefined;
|
15
16
|
}
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1zdHlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cy93aXRoLXN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsZUFBZSxFQUNmLFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsTUFBTSxFQUNOLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1YsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUV0QixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUM5QixHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FDbEQsQ0FBQztRQUVGLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sVUFBVSxhQUFhLENBQUMsU0FBd0I7SUFDbEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFeEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDckIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLFNBQVMsRUFBRSxFQUFDLG1CQUFtQixFQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3pFO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgY3JlYXRlQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBNQVAgPSBuZXcgSW5qZWN0aW9uVG9rZW4obmdEZXZNb2RlID8gJ01BUCcgOiAnJywge1xuICAgIGZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgY29uc3QgbWFwID0gbmV3IE1hcCgpO1xuXG4gICAgICAgIGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT5cbiAgICAgICAgICAgIG1hcC5mb3JFYWNoKChjb21wb25lbnQpID0+IGNvbXBvbmVudC5kZXN0cm95KCkpLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBtYXA7XG4gICAgfSxcbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpV2l0aFN0eWxlcyhjb21wb25lbnQ6IFR5cGU8dW5rbm93bj4pOiB1bmRlZmluZWQge1xuICAgIGNvbnN0IG1hcCA9IGluamVjdChNQVApO1xuICAgIGNvbnN0IGVudmlyb25tZW50SW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XG5cbiAgICBpZiAoIW1hcC5oYXMoY29tcG9uZW50KSkge1xuICAgICAgICBtYXAuc2V0KGNvbXBvbmVudCwgY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwge2Vudmlyb25tZW50SW5qZWN0b3J9KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiJdfQ==
|
@@ -181,7 +181,9 @@ function tuiAsPortal(portal) {
|
|
181
181
|
}
|
182
182
|
class TuiNoHostException extends Error {
|
183
183
|
constructor() {
|
184
|
-
super(ngDevMode
|
184
|
+
super(ngDevMode
|
185
|
+
? 'Portals cannot be used without TuiPortalHostComponent; perhaps you forgot to wrap your application with tui-root.'
|
186
|
+
: '');
|
185
187
|
}
|
186
188
|
}
|
187
189
|
|
@@ -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":["import type {FactoryProvider, ProviderToken} from '@angular/core';\nimport {inject} from '@angular/core';\nimport {identity} from 'rxjs';\n\nexport abstract class TuiValueTransformer<From, To = unknown> {\n public abstract toControlValue(componentValue: From): To;\n public abstract fromControlValue(controlValue: To): From;\n}\n\nexport function tuiValueTransformerFrom<\n T extends {valueTransformer: TuiValueTransformer<unknown>},\n>(token: ProviderToken<T>): FactoryProvider {\n return {\n provide: TuiValueTransformer,\n useFactory: () => inject(token).valueTransformer,\n };\n}\n\nexport class TuiNonNullableValueTransformer<T> extends TuiValueTransformer<T | null, T> {\n private prevValue!: T;\n\n public fromControlValue(value: T): T {\n this.prevValue = value;\n\n return value;\n }\n\n public toControlValue(value: T | null): T {\n this.prevValue = value ?? this.prevValue;\n\n return this.prevValue;\n }\n}\n\nexport const TUI_IDENTITY_VALUE_TRANSFORMER: TuiValueTransformer<any, any> = {\n fromControlValue: identity,\n toControlValue: identity,\n};\n","import type {Provider, Type} from '@angular/core';\nimport {\n ChangeDetectorRef,\n computed,\n Directive,\n inject,\n Input,\n signal,\n untracked,\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} from '@taiga-ui/cdk/utils';\nimport {\n delay,\n distinctUntilChanged,\n EMPTY,\n filter,\n map,\n merge,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {TUI_IDENTITY_VALUE_TRANSFORMER, 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 transformer =\n inject(TuiValueTransformer, FLAGS) ?? TUI_IDENTITY_VALUE_TRANSFORMER;\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) =>\n merge(\n c.valueChanges,\n c.statusChanges,\n (c as any).events || EMPTY,\n ).pipe(startWith(null)),\n ),\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 const internal = untracked(() => this.internal());\n\n if (value === internal) {\n return;\n }\n\n onChange(this.transformer.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.transformer.fromControlValue(safe));\n this.update();\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 {\n ComponentRef,\n EmbeddedViewRef,\n Provider,\n TemplateRef,\n ViewRef,\n} 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 this.removeTemplate(hostView);\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> | ViewRef): 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":";;;;;;;;;MAIsB,mBAAmB,CAAA;AAGxC,CAAA;AAEK,SAAU,uBAAuB,CAErC,KAAuB,EAAA;IACrB,OAAO;AACH,QAAA,OAAO,EAAE,mBAAmB;QAC5B,UAAU,EAAE,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,gBAAgB;KACnD,CAAC;AACN,CAAC;AAEK,MAAO,8BAAkC,SAAQ,mBAAgC,CAAA;AAG5E,IAAA,gBAAgB,CAAC,KAAQ,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AAEvB,QAAA,OAAO,KAAK,CAAC;KAChB;AAEM,IAAA,cAAc,CAAC,KAAe,EAAA;QACjC,IAAI,CAAC,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC;QAEzC,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;AACJ,CAAA;AAEY,MAAA,8BAA8B,GAAkC;AACzE,IAAA,gBAAgB,EAAE,QAAQ;AAC1B,IAAA,cAAc,EAAE,QAAQ;;;ACN5B,MAAM,KAAK,GAAG,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;AAE3C;;AAEG;AACH,MACsB,UAAU,CAAA;AA+B5B,IAAA,WAAA,GAAA;AA9BiB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,kBAAkB,EAAE,KAAK,CAAM,CAAC;AAClD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;AAC/B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;AAC7C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE/B,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;AAC1C,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACzC,IAAW,CAAA,WAAA,GACjB,MAAM,CAAC,mBAAmB,EAAE,KAAK,CAAC,IAAI,8BAA8B,CAAC;AAEzD,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzD,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAgC,SAAS,CAAC,CAAC;AAC1D,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,UAAU,CAAC,CAAC;AACxD,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,IAAO,CAAA,OAAA,GAAG,QAAQ,CAAC,MAC/B,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI;cACvB,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;AAC9C,cAAE,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,SAAS,CAC5E,CAAC;AAEc,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAC;;QAE5B,IAAI,CAAC,QAAQ,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,GAAG,OAAO,CACtE,CAAC;QAEK,IAAS,CAAA,SAAA,GAAG,cAAc,CAAC;QAC3B,IAAQ,CAAA,QAAA,GAAuB,cAAc,CAAC;AAGjD,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;AAClC,QAAA,IAAI,CAAC,QAAQ;AACR,aAAA,IAAI,CACD,KAAK,CAAC,CAAC,CAAC,EACR,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAC/B,MAAM,CAAC,OAAO,CAAC,EACf,oBAAoB,EAAE,EACtB,SAAS,CAAC,CAAC,CAAC,KACR,KAAK,CACD,CAAC,CAAC,YAAY,EACd,CAAC,CAAC,aAAa,EACd,CAAS,CAAC,MAAM,IAAI,KAAK,CAC7B,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC1B,EACD,kBAAkB,EAAE,CACvB;aACA,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;KACvC;IAED,IACW,cAAc,CAAC,QAAiB,EAAA;AACvC,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KAC/B;IAED,IACW,aAAa,CAAC,OAAuB,EAAA;AAC5C,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KACnC;AAEM,IAAA,gBAAgB,CAAC,QAAkC,EAAA;AACtD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AAErB,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAQ,KAAI;AACzB,YAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAElD,IAAI,KAAK,KAAK,QAAQ,EAAE;gBACpB,OAAO;AACV,aAAA;YAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,SAAC,CAAC;KACL;AAEM,IAAA,iBAAiB,CAAC,SAAqB,EAAA;AAC1C,QAAA,IAAI,CAAC,SAAS,GAAG,MAAK;AAClB,YAAA,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,SAAC,CAAC;KACL;IAEM,gBAAgB,GAAA;QACnB,IAAI,CAAC,MAAM,EAAE,CAAC;KACjB;AAEM,IAAA,UAAU,CAAC,KAAe,EAAA;;AAE7B,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,YAAY,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AAE1E,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;KACjB;IAEO,MAAM,GAAA;AACV,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KAC3B;+GArGiB,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAV,UAAU,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,CAAA,UAAA,EAAA,gBAAA,CAAA,EAAA,aAAA,EAAA,CAAA,SAAA,EAAA,eAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAD/B,SAAS;0EAsDK,cAAc,EAAA,CAAA;sBADxB,KAAK;uBAAC,UAAU,CAAA;gBAMN,aAAa,EAAA,CAAA;sBADvB,KAAK;uBAAC,SAAS,CAAA;;AA+Cd,SAAU,YAAY,CAAI,OAA4B,EAAA;AACxD,IAAA,OAAO,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC3C;;AC9IA;AAmBA;;AAEG;AACH,MACsB,UAAU,CAAA;AADhC,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE1B,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAiBtE,KAAA;AAfU,IAAA,iBAAiB,CAAI,SAAmC,EAAA;QAC3D,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzD,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,SAAS,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAC;AAEtE,QAAA,GAAG,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;AAEtC,QAAA,OAAO,GAAG,CAAC;KACd;IAEM,gBAAgB,CACnB,WAA2B,EAC3B,OAAW,EAAA;QAEX,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;KAC5D;+GAtBiB,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,2GACO,gBAAgB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FADjC,UAAU,EAAA,UAAA,EAAA,CAAA;kBAD/B,SAAS;8BAGW,GAAG,EAAA,CAAA;sBADnB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAC,IAAI,EAAE,gBAAgB,EAAC,CAAA;;AAwBxD;;AAEG;AACH,MACsB,gBAAgB,CAAA;AAG3B,IAAA,MAAM,CAAC,IAAgB,EAAA;AAC1B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KACpB;AAEM,IAAA,GAAG,CAAI,SAAmC,EAAA;QAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;KACrD;IAEM,MAAM,CAAI,EAAC,QAAQ,EAAkB,EAAA;AACxC,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;KACjC;IAEM,WAAW,CAAI,WAA2B,EAAE,OAAW,EAAA;QAC1D,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;KAC/D;AAEM,IAAA,cAAc,CAAI,OAAqC,EAAA;AAC1D,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YACpB,OAAO,CAAC,OAAO,EAAE,CAAC;AACrB,SAAA;KACJ;AAED,IAAA,IAAc,QAAQ,GAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,MAAM,IAAI,kBAAkB,EAAE,CAAC;AAClC,SAAA;QAED,OAAO,IAAI,CAAC,IAAI,CAAC;KACpB;+GA/BiB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAhB,gBAAgB,EAAA,CAAA,CAAA,EAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBADrC,UAAU;;AAmCL,SAAU,WAAW,CAAC,MAA+B,EAAA;AACvD,IAAA,OAAO,UAAU,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAEK,MAAO,kBAAmB,SAAQ,KAAK,CAAA;AACzC,IAAA,WAAA,GAAA;QACI,KAAK,CAAC,SAAS,GAAG,uDAAuD,GAAG,EAAE,CAAC,CAAC;KACnF;AACJ;;MC5FY,kBAAkB,CAAA;IAC3B,WACoB,CAAA,OAA+B,EAC/B,OAAA,GAAa,EAAO,EAAA;QADpB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAwB;QAC/B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAa;KACpC;AACP;;ACPD;;AAEG;;;;"}
|
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":["import type {FactoryProvider, ProviderToken} from '@angular/core';\nimport {inject} from '@angular/core';\nimport {identity} from 'rxjs';\n\nexport abstract class TuiValueTransformer<From, To = unknown> {\n public abstract toControlValue(componentValue: From): To;\n public abstract fromControlValue(controlValue: To): From;\n}\n\nexport function tuiValueTransformerFrom<\n T extends {valueTransformer: TuiValueTransformer<unknown>},\n>(token: ProviderToken<T>): FactoryProvider {\n return {\n provide: TuiValueTransformer,\n useFactory: () => inject(token).valueTransformer,\n };\n}\n\nexport class TuiNonNullableValueTransformer<T> extends TuiValueTransformer<T | null, T> {\n private prevValue!: T;\n\n public fromControlValue(value: T): T {\n this.prevValue = value;\n\n return value;\n }\n\n public toControlValue(value: T | null): T {\n this.prevValue = value ?? this.prevValue;\n\n return this.prevValue;\n }\n}\n\nexport const TUI_IDENTITY_VALUE_TRANSFORMER: TuiValueTransformer<any, any> = {\n fromControlValue: identity,\n toControlValue: identity,\n};\n","import type {Provider, Type} from '@angular/core';\nimport {\n ChangeDetectorRef,\n computed,\n Directive,\n inject,\n Input,\n signal,\n untracked,\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} from '@taiga-ui/cdk/utils';\nimport {\n delay,\n distinctUntilChanged,\n EMPTY,\n filter,\n map,\n merge,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {TUI_IDENTITY_VALUE_TRANSFORMER, 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 transformer =\n inject(TuiValueTransformer, FLAGS) ?? TUI_IDENTITY_VALUE_TRANSFORMER;\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) =>\n merge(\n c.valueChanges,\n c.statusChanges,\n (c as any).events || EMPTY,\n ).pipe(startWith(null)),\n ),\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 const internal = untracked(() => this.internal());\n\n if (value === internal) {\n return;\n }\n\n onChange(this.transformer.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.transformer.fromControlValue(safe));\n this.update();\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 {\n ComponentRef,\n EmbeddedViewRef,\n Provider,\n TemplateRef,\n ViewRef,\n} 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 this.removeTemplate(hostView);\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> | ViewRef): 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(\n ngDevMode\n ? 'Portals cannot be used without TuiPortalHostComponent; perhaps you forgot to wrap your application with tui-root.'\n : '',\n );\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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"}
|