@taiga-ui/cdk 4.98.0 → 4.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/constants/version.d.ts +1 -1
- package/constants/version.js +1 -1
- package/constants/version.js.map +1 -1
- package/esm2022/constants/version.mjs +2 -2
- package/esm2022/directives/truncate/truncate.directive.mjs +4 -4
- package/esm2022/utils/dom/value.mjs +2 -2
- package/fesm2022/taiga-ui-cdk-constants.mjs +1 -1
- package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-truncate.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-truncate.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-dom.mjs +1 -1
- package/fesm2022/taiga-ui-cdk-utils-dom.mjs.map +1 -1
- package/package.json +18 -18
package/constants/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const TUI_VERSION = "4.
|
|
1
|
+
export declare const TUI_VERSION = "4.100.0";
|
package/constants/version.js
CHANGED
package/constants/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../projects/cdk/constants/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../projects/cdk/constants/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,SAAS,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const TUI_VERSION = '4.
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export const TUI_VERSION = '4.100.0';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jb25zdGFudHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRVSV9WRVJTSU9OID0gJzQuMTAwLjAnO1xuIl19
|
|
@@ -11,11 +11,11 @@ import { TUI_VERSION } from '@taiga-ui/cdk/constants';
|
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
class Styles {
|
|
13
13
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: Styles, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: ["[tuiTruncateV=\"4.
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: Styles, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: ["[tuiTruncateV=\"4.100.0\"]{display:-webkit-box;letter-spacing:-1rem;-webkit-text-fill-color:transparent;-webkit-box-orient:block-axis;-webkit-line-clamp:1;overflow:hidden;inline-size:-webkit-fill-available}[tuiTruncateV=\"4.100.0\"][data-lines=\"1\"]:before{white-space:nowrap}[tuiTruncateV=\"4.100.0\"]:before{content:attr(data-text);inline-size:100%;letter-spacing:normal;-webkit-text-fill-color:currentColor;white-space:normal;overflow-wrap:anywhere}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
15
15
|
}
|
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Styles, decorators: [{
|
|
17
17
|
type: Component,
|
|
18
|
-
args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["[tuiTruncateV=\"4.
|
|
18
|
+
args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["[tuiTruncateV=\"4.100.0\"]{display:-webkit-box;letter-spacing:-1rem;-webkit-text-fill-color:transparent;-webkit-box-orient:block-axis;-webkit-line-clamp:1;overflow:hidden;inline-size:-webkit-fill-available}[tuiTruncateV=\"4.100.0\"][data-lines=\"1\"]:before{white-space:nowrap}[tuiTruncateV=\"4.100.0\"]:before{content:attr(data-text);inline-size:100%;letter-spacing:normal;-webkit-text-fill-color:currentColor;white-space:normal;overflow-wrap:anywhere}\n"] }]
|
|
19
19
|
}] });
|
|
20
20
|
class TuiTruncate {
|
|
21
21
|
constructor() {
|
|
@@ -34,7 +34,7 @@ class TuiTruncate {
|
|
|
34
34
|
return this.el.innerText.trim();
|
|
35
35
|
}
|
|
36
36
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTruncate, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
37
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiTruncate, isStandalone: true, selector: "[tuiTruncate]", inputs: { tuiTruncate: "tuiTruncate" }, host: { attributes: { "tuiTruncate": "", "tuiTruncateV": "4.
|
|
37
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiTruncate, isStandalone: true, selector: "[tuiTruncate]", inputs: { tuiTruncate: "tuiTruncate" }, host: { attributes: { "tuiTruncate": "", "tuiTruncateV": "4.100.0" }, properties: { "attr.data-lines": "lines()", "attr.data-text": "truncated()", "style.-webkit-line-clamp": "lines()" } }, providers: [
|
|
38
38
|
TuiTruncateService,
|
|
39
39
|
WaResizeObserverService,
|
|
40
40
|
WaMutationObserverService,
|
|
@@ -79,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
79
79
|
type: Input,
|
|
80
80
|
args: ['tuiTruncate']
|
|
81
81
|
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvdHJ1bmNhdGUvdHJ1bmNhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLHlCQUF5QixHQUM1QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXpCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFcEQsTUFPTSxNQUFNOytHQUFOLE1BQU07bUdBQU4sTUFBTSx3RUFMRSxFQUFFOzs0RkFLVixNQUFNO2tCQVBYLFNBQVM7aUNBQ00sSUFBSSxZQUNOLEVBQUUsaUJBRUcsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs7QUFJbkQsTUF3QmEsV0FBVztJQXhCeEI7UUF5QnFCLFlBQU8sR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNyQyxPQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixVQUFLLEdBQUcsUUFBUSxDQUM3QixNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxJQUFJLENBQ2hDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxFQUN2QyxnQkFBZ0IsRUFBRSxDQUNyQixFQUNELEVBQUMsWUFBWSxFQUFFLENBQUMsRUFBQyxDQUNwQixDQUFDO1FBRVEsVUFBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVULFNBQUksR0FBRyxRQUFRLENBQzlCLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQ2pFLEVBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUMsQ0FDakMsQ0FBQztRQUVpQixZQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5DLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ3RDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQ2hGLENBQUM7S0FVTDtJQVJHLElBQ1csV0FBVyxDQUFDLEtBQXNCO1FBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFZLFNBQVM7UUFDakIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDOytHQS9CUSxXQUFXO21HQUFYLFdBQVcsa1NBckJUO1lBQ1Asa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2Qix5QkFBeUI7WUFDekI7Z0JBQ0ksT0FBTyxFQUFFLHlCQUF5QjtnQkFDbEMsUUFBUSxFQUFFO29CQUNOLFVBQVUsRUFBRSxJQUFJO29CQUNoQixhQUFhLEVBQUUsSUFBSTtvQkFDbkIsT0FBTyxFQUFFLElBQUk7aUJBQ2hCO2FBQ0o7U0FDSjs7U0FTUSxXQUFXOzRGQUFYLFdBQVc7a0JBeEJ2QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZUFBZTtvQkFDekIsU0FBUyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCOzRCQUNJLE9BQU8sRUFBRSx5QkFBeUI7NEJBQ2xDLFFBQVEsRUFBRTtnQ0FDTixVQUFVLEVBQUUsSUFBSTtnQ0FDaEIsYUFBYSxFQUFFLElBQUk7Z0NBQ25CLE9BQU8sRUFBRSxJQUFJOzZCQUNoQjt5QkFDSjtxQkFDSjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsV0FBVyxFQUFFLEVBQUU7d0JBQ2YsWUFBWSxFQUFFLFdBQVc7d0JBQ3pCLG1CQUFtQixFQUFFLFNBQVM7d0JBQzlCLGtCQUFrQixFQUFFLGFBQWE7d0JBQ2pDLDRCQUE0QixFQUFFLFNBQVM7cUJBQzFDO2lCQUNKOzhCQTBCYyxXQUFXO3NCQURyQixLQUFLO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBEaXJlY3RpdmUsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIHNpZ25hbCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICAgIFdBX01VVEFUSU9OX09CU0VSVkVSX0lOSVQsXG4gICAgV2FNdXRhdGlvbk9ic2VydmVyU2VydmljZSxcbn0gZnJvbSAnQG5nLXdlYi1hcGlzL211dGF0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7V2FSZXNpemVPYnNlcnZlclNlcnZpY2V9IGZyb20gJ0BuZy13ZWItYXBpcy9yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aVdpdGhTdHlsZXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpVHJ1bmNhdGVTZXJ2aWNlfSBmcm9tICcuL3RydW5jYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHt0dWlab25lT3B0aW1pemVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7VFVJX1ZFUlNJT059IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgc3R5bGVVcmxzOiBbJy4vdHJ1bmNhdGUuc3R5bGVzLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmNsYXNzIFN0eWxlcyB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aVRydW5jYXRlXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aVRydW5jYXRlU2VydmljZSxcbiAgICAgICAgV2FSZXNpemVPYnNlcnZlclNlcnZpY2UsXG4gICAgICAgIFdhTXV0YXRpb25PYnNlcnZlclNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFdBX01VVEFUSU9OX09CU0VSVkVSX0lOSVQsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHVpVHJ1bmNhdGU6ICcnLFxuICAgICAgICB0dWlUcnVuY2F0ZVY6IFRVSV9WRVJTSU9OLFxuICAgICAgICAnW2F0dHIuZGF0YS1saW5lc10nOiAnbGluZXMoKScsXG4gICAgICAgICdbYXR0ci5kYXRhLXRleHRdJzogJ3RydW5jYXRlZCgpJyxcbiAgICAgICAgJ1tzdHlsZS4td2Via2l0LWxpbmUtY2xhbXBdJzogJ2xpbmVzKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRydW5jYXRlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2UgPSBpbmplY3QoVHVpVHJ1bmNhdGVTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgd2lkdGggPSB0b1NpZ25hbChcbiAgICAgICAgaW5qZWN0KFdhUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbZV0pID0+IGU/LmNvbnRlbnRSZWN0LndpZHRoID8/IDApLFxuICAgICAgICAgICAgdHVpWm9uZU9wdGltaXplZCgpLFxuICAgICAgICApLFxuICAgICAgICB7aW5pdGlhbFZhbHVlOiAwfSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIGxpbmVzID0gc2lnbmFsKDEpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHQgPSB0b1NpZ25hbChcbiAgICAgICAgaW5qZWN0KFdhTXV0YXRpb25PYnNlcnZlclNlcnZpY2UpLnBpcGUobWFwKCgpID0+IHRoaXMuaW5uZXJUZXh0KSksXG4gICAgICAgIHtpbml0aWFsVmFsdWU6IHRoaXMuaW5uZXJUZXh0fSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG5vdGhpbmcgPSB0dWlXaXRoU3R5bGVzKFN0eWxlcyk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJ1bmNhdGVkID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgdGhpcy53aWR0aCgpID8gdGhpcy5zZXJ2aWNlLnRydW5jYXRlKHRoaXMudGV4dCgpLCB0aGlzLmxpbmVzKCkpIDogdGhpcy50ZXh0KCksXG4gICAgKTtcblxuICAgIEBJbnB1dCgndHVpVHJ1bmNhdGUnKVxuICAgIHB1YmxpYyBzZXQgdHVpVHJ1bmNhdGUodmFsdWU6IG51bWJlciB8IHN0cmluZykge1xuICAgICAgICB0aGlzLmxpbmVzLnNldChNYXRoLm1heChOdW1iZXIodmFsdWUpIHx8IDEsIDEpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpbm5lclRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwuaW5uZXJUZXh0LnRyaW0oKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -47,7 +47,7 @@ export function tuiValue(input, injector = inject(INJECTOR)) {
|
|
|
47
47
|
if (element?.matches('select[multiple]')) {
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
|
-
if (element?.matches(':focus') && 'selectionStart' in element) {
|
|
50
|
+
if (element?.matches(':focus') && 'selectionStart' in element && element.value) {
|
|
51
51
|
const { selectionStart, selectionEnd } = element;
|
|
52
52
|
/**
|
|
53
53
|
* After programmatic updates of input's value, caret is automatically placed at the end –
|
|
@@ -80,4 +80,4 @@ function patch(prototype) {
|
|
|
80
80
|
},
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZG9tL3ZhbHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQ0gsVUFBVSxFQUNWLE1BQU0sRUFFTixNQUFNLEVBQ04sUUFBUSxFQUNSLFFBQVEsRUFDUixXQUFXLEVBRVgsTUFBTSxFQUNOLFNBQVMsR0FFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFJaEUsTUFBTSxVQUFVLFFBQVEsQ0FDcEIsS0FJZSxFQUNmLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBRTNCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQU0sU0FBUyxDQUFDLENBQUM7SUFFekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFO1FBQ3RFLEdBQUcsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBRTNCLEtBQUssQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxLQUFLLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQzFDO0lBRUQsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxD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LEtBQUssQ0FBQyxTQUFvQjtJQUMvQixNQUFNLEVBQUMsR0FBRyxFQUFDLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUUsQ0FBQztJQUVuRSxNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUU7UUFDdEMsR0FBRyxDQUFrQixNQUFjO1lBQy9CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1lBRXBFLEdBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRXhCLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRTtnQkFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM3QjtRQUNMLENBQUM7S0FDSixDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb2VyY2VFbGVtZW50fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtpc1BsYXRmb3JtQnJvd3Nlcn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgRGVzdHJveVJlZixcbiAgICBlZmZlY3QsXG4gICAgdHlwZSBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJTkpFQ1RPUixcbiAgICBpc1NpZ25hbCxcbiAgICBQTEFURk9STV9JRCxcbiAgICB0eXBlIFNpZ25hbCxcbiAgICBzaWduYWwsXG4gICAgdW50cmFja2VkLFxuICAgIHR5cGUgV3JpdGFibGVTaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXQV9XSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUVUlfQUxMT1dfU0lHTkFMX1dSSVRFU30gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuXG50eXBlIFdpdGhWYWx1ZSA9IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MU2VsZWN0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlWYWx1ZShcbiAgICBpbnB1dDpcbiAgICAgICAgfCBFbGVtZW50UmVmPFdpdGhWYWx1ZT5cbiAgICAgICAgfCBTaWduYWw8RWxlbWVudFJlZjxXaXRoVmFsdWU+IHwgdW5kZWZpbmVkPlxuICAgICAgICB8IFNpZ25hbDxXaXRoVmFsdWUgfCB1bmRlZmluZWQ+XG4gICAgICAgIHwgV2l0aFZhbHVlLFxuICAgIGluamVjdG9yID0gaW5qZWN0KElOSkVDVE9SKSxcbik6IFdyaXRhYmxlU2lnbmFsPHN0cmluZz4ge1xuICAgIGNvbnN0IHdpbiA9IGluamVjdG9yLmdldDxhbnk+KFdBX1dJTkRPVyk7XG5cbiAgICBpZiAoIXdpbi50dWlJbnB1dFBhdGNoZWQgJiYgaXNQbGF0Zm9ybUJyb3dzZXIoaW5qZWN0b3IuZ2V0KFBMQVRGT1JNX0lEKSkpIHtcbiAgICAgICAgd2luLnR1aUlucHV0UGF0Y2hlZCA9IHRydWU7XG5cbiAgICAgICAgcGF0Y2god2luLkhUTUxJbnB1dEVsZW1lbnQucHJvdG90eXBlKTtcbiAgICAgICAgcGF0Y2god2luLkhUTUxUZXh0QXJlYUVsZW1lbnQucHJvdG90eXBlKTtcbiAgICAgICAgcGF0Y2god2luLkhUTUxTZWxlY3RFbGVtZW50LnByb3RvdHlwZSk7XG4gICAgfVxuXG4gICAgbGV0IGVsZW1lbnQgPSBpc1NpZ25hbChpbnB1dCkgPyB1bmRlZmluZWQgOiBjb2VyY2VFbGVtZW50KGlucHV0KTtcbiAgICBsZXQgY2xlYW51cCA9ICgpOiB2b2lkID0+IHt9O1xuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtpbmplY3RvciwgLi4uVFVJX0FMTE9XX1NJR05BTF9XUklURVN9O1xuICAgIGNvbnN0IHZhbHVlID0gc2lnbmFsKGVsZW1lbnQ/LnZhbHVlIHx8ICcnKTtcbiAgICBjb25zdCBwcm9jZXNzID0gKGVsOiBXaXRoVmFsdWUpOiAoKCkgPT4gdm9pZCkgPT4ge1xuICAgICAgICBjb25zdCB1cGRhdGUgPSAoKTogdm9pZCA9PiB1bnRyYWNrZWQoKCkgPT4gdmFsdWUuc2V0KGVsLnZhbHVlKSk7XG5cbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCB1cGRhdGUsIHtjYXB0dXJlOiB0cnVlfSk7XG4gICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ3R1aS1pbnB1dCcsIHVwZGF0ZSwge2NhcHR1cmU6IHRydWV9KTtcblxuICAgICAgICByZXR1cm4gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignaW5wdXQnLCB1cGRhdGUsIHtjYXB0dXJlOiB0cnVlfSk7XG4gICAgICAgICAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKCd0dWktaW5wdXQnLCB1cGRhdGUsIHtjYXB0dXJlOiB0cnVlfSk7XG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIGluamVjdG9yLmdldChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4gY2xlYW51cCgpKTtcblxuICAgIGlmIChpc1NpZ25hbChpbnB1dCkpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGVsZW1lbnQgPSBjb2VyY2VFbGVtZW50KGlucHV0KCkpO1xuICAgICAgICAgICAgY2xlYW51cCgpO1xuXG4gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiAhZWxlbWVudC5tYXRjaGVzKCdzZWxlY3RbbXVsdGlwbGVdJykpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZS5zZXQoZWxlbWVudC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgY2xlYW51cCA9IHByb2Nlc3MoZWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIG9wdGlvbnMpO1xuICAgIH0gZWxzZSBpZiAoZWxlbWVudCAmJiAhZWxlbWVudC5tYXRjaGVzKCdzZWxlY3RbbXVsdGlwbGVdJykpIHtcbiAgICAgICAgY2xlYW51cCA9IHByb2Nlc3MoZWxlbWVudCk7XG4gICAgfVxuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgdiA9IHZhbHVlKCk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIHNlbGVjdFttdWx0aXBsZV0gZWxlbWVudHMgaGF2ZSB2YWx1ZSBvZiBmaXJzdCBzZWxlY3RlZCBvcHRpb24sXG4gICAgICAgICAqIGJ1dCB0aGVyZSBjb3VsZCBiZSBtb3JlLCBzZXR0aW5nIHZhbHVlIHJlc2V0cyBvdGhlciBzZWxlY3RlZCBvcHRpb25zXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoZWxlbWVudD8ubWF0Y2hlcygnc2VsZWN0W211bHRpcGxlXScpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZWxlbWVudD8ubWF0Y2hlcygnOmZvY3VzJykgJiYgJ3NlbGVjdGlvblN0YXJ0JyBpbiBlbGVtZW50ICYmIGVsZW1lbnQudmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IHtzZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kfSA9IGVsZW1lbnQ7XG5cbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogQWZ0ZXIgcHJvZ3JhbW1hdGljIHVwZGF0ZXMgb2YgaW5wdXQncyB2YWx1ZSwgY2FyZXQgaXMgYXV0b21hdGljYWxseSBwbGFjZWQgYXQgdGhlIGVuZCDigJNcbiAgICAgICAgICAgICAqIHJldmVydCB0byB0aGUgcHJldmlvdXMgcG9zaXRpb25cbiAgICAgICAgICAgICAqXG4gICAgICAgICAgICAgKiBPbmx5IHRoZSB0eXBlcyAndGV4dCcsICdzZWFyY2gnLCAncGFzc3dvcmQnLCAndGVsJywgYW5kICd1cmwnIHN1cHBvcnQgc2VsZWN0aW9uXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGVsZW1lbnQudmFsdWUgPSB2O1xuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2Uoc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVuZCk7XG4gICAgICAgICAgICB9IGNhdGNoIHt9XG4gICAgICAgIH0gZWxzZSBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgZWxlbWVudC52YWx1ZSA9IHY7XG4gICAgICAgIH1cbiAgICB9LCBvcHRpb25zKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gcGF0Y2gocHJvdG90eXBlOiBXaXRoVmFsdWUpOiB2b2lkIHtcbiAgICBjb25zdCB7c2V0fSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocHJvdG90eXBlLCAndmFsdWUnKSE7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG90eXBlLCAndmFsdWUnLCB7XG4gICAgICAgIHNldCh0aGlzOiBXaXRoVmFsdWUsIGRldGFpbDogc3RyaW5nKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudCgndHVpLWlucHV0Jywge2RldGFpbCwgYnViYmxlczogdHJ1ZX0pO1xuXG4gICAgICAgICAgICBzZXQhLmNhbGwodGhpcywgZGV0YWlsKTtcblxuICAgICAgICAgICAgaWYgKHZhbHVlICE9PSBkZXRhaWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgIH0pO1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-constants.mjs","sources":["../../../projects/cdk/constants/allow-signal-writes.ts","../../../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 {type CreateEffectOptions, VERSION} from '@angular/core';\n\nexport const TUI_ALLOW_SIGNAL_WRITES: CreateEffectOptions =\n parseInt(VERSION.major, 10) >= 19 ? {} : {allowSignalWrites: true};\n","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 * @deprecated use viewChild(), viewChildren(), contentChild() and contentChildren() for strict type checking\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, type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\n","export const svgNodeFilter: Exclude<NodeFilter, (node: Node) => number> = {\n acceptNode(node: Node): number {\n return 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n },\n};\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/00AB/ Left-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_LAQUO = '\\u00AB';\n\n/**\n * {@link https://unicode-table.com/en/00BB/ Right-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_RAQUO = '\\u00BB';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words.\n * @example well-behaved\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/2212/ Minus}\n * is used as math operator symbol or before negative digits.\n * ---\n * Can be used as `−`. Don't confuse with {@link CHAR_HYPHEN}\n */\nexport const CHAR_MINUS = '\\u2212';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * @description:\n * AUTOGENERATED\n *\n * Array of icons used in taiga-ui components\n */\nexport const TUI_USED_ICONS = [\n '@tui.mir',\n '@tui.visa',\n '@tui.electron',\n '@tui.mastercard',\n '@tui.maestro',\n '@tui.amex',\n '@tui.diners-club',\n '@tui.discover',\n '@tui.humo',\n '@tui.jcb',\n '@tui.ru-pay',\n '@tui.union-pay',\n '@tui.uzcard',\n '@tui.verve',\n '@tui.search',\n '@tui.sun',\n '@tui.moon',\n '@tui.code',\n '@tui.menu',\n '@tui.copy',\n '@tui.check',\n '@tui.link',\n '@tui.external-link',\n '@tui.languages',\n '@tui.shrink',\n '@tui.expand',\n '@tui.a-large-small',\n '@tui.arrow-right-left',\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.ellipsis',\n '@tui.chevron-left',\n '@tui.clock',\n '@tui.trash',\n '@tui.minus',\n '@tui.plus',\n '@tui.file',\n '@tui.calendar',\n '@tui.phone',\n '@tui.heart',\n '@tui.heart-filled',\n '@tui.star',\n '@tui.rotate-ccw-square',\n '@tui.arrow-left',\n '@tui.arrow-right',\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] as const;\n","export const TUI_VERSION = '4.98.0';\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-constants.mjs","sources":["../../../projects/cdk/constants/allow-signal-writes.ts","../../../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 {type CreateEffectOptions, VERSION} from '@angular/core';\n\nexport const TUI_ALLOW_SIGNAL_WRITES: CreateEffectOptions =\n parseInt(VERSION.major, 10) >= 19 ? {} : {allowSignalWrites: true};\n","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 * @deprecated use viewChild(), viewChildren(), contentChild() and contentChildren() for strict type checking\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, type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\n","export const svgNodeFilter: Exclude<NodeFilter, (node: Node) => number> = {\n acceptNode(node: Node): number {\n return 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n },\n};\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/00AB/ Left-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_LAQUO = '\\u00AB';\n\n/**\n * {@link https://unicode-table.com/en/00BB/ Right-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_RAQUO = '\\u00BB';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words.\n * @example well-behaved\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/2212/ Minus}\n * is used as math operator symbol or before negative digits.\n * ---\n * Can be used as `−`. Don't confuse with {@link CHAR_HYPHEN}\n */\nexport const CHAR_MINUS = '\\u2212';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * @description:\n * AUTOGENERATED\n *\n * Array of icons used in taiga-ui components\n */\nexport const TUI_USED_ICONS = [\n '@tui.mir',\n '@tui.visa',\n '@tui.electron',\n '@tui.mastercard',\n '@tui.maestro',\n '@tui.amex',\n '@tui.diners-club',\n '@tui.discover',\n '@tui.humo',\n '@tui.jcb',\n '@tui.ru-pay',\n '@tui.union-pay',\n '@tui.uzcard',\n '@tui.verve',\n '@tui.search',\n '@tui.sun',\n '@tui.moon',\n '@tui.code',\n '@tui.menu',\n '@tui.copy',\n '@tui.check',\n '@tui.link',\n '@tui.external-link',\n '@tui.languages',\n '@tui.shrink',\n '@tui.expand',\n '@tui.a-large-small',\n '@tui.arrow-right-left',\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.ellipsis',\n '@tui.chevron-left',\n '@tui.clock',\n '@tui.trash',\n '@tui.minus',\n '@tui.plus',\n '@tui.file',\n '@tui.calendar',\n '@tui.phone',\n '@tui.heart',\n '@tui.heart-filled',\n '@tui.star',\n '@tui.rotate-ccw-square',\n '@tui.arrow-left',\n '@tui.arrow-right',\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] as const;\n","export const TUI_VERSION = '4.100.0';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -107,11 +107,11 @@ function truncate(text, left, right) {
|
|
|
107
107
|
|
|
108
108
|
class Styles {
|
|
109
109
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
110
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: Styles, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: ["[tuiTruncateV=\"4.
|
|
110
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: Styles, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: ["[tuiTruncateV=\"4.100.0\"]{display:-webkit-box;letter-spacing:-1rem;-webkit-text-fill-color:transparent;-webkit-box-orient:block-axis;-webkit-line-clamp:1;overflow:hidden;inline-size:-webkit-fill-available}[tuiTruncateV=\"4.100.0\"][data-lines=\"1\"]:before{white-space:nowrap}[tuiTruncateV=\"4.100.0\"]:before{content:attr(data-text);inline-size:100%;letter-spacing:normal;-webkit-text-fill-color:currentColor;white-space:normal;overflow-wrap:anywhere}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
111
111
|
}
|
|
112
112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Styles, decorators: [{
|
|
113
113
|
type: Component,
|
|
114
|
-
args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["[tuiTruncateV=\"4.
|
|
114
|
+
args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["[tuiTruncateV=\"4.100.0\"]{display:-webkit-box;letter-spacing:-1rem;-webkit-text-fill-color:transparent;-webkit-box-orient:block-axis;-webkit-line-clamp:1;overflow:hidden;inline-size:-webkit-fill-available}[tuiTruncateV=\"4.100.0\"][data-lines=\"1\"]:before{white-space:nowrap}[tuiTruncateV=\"4.100.0\"]:before{content:attr(data-text);inline-size:100%;letter-spacing:normal;-webkit-text-fill-color:currentColor;white-space:normal;overflow-wrap:anywhere}\n"] }]
|
|
115
115
|
}] });
|
|
116
116
|
class TuiTruncate {
|
|
117
117
|
constructor() {
|
|
@@ -130,7 +130,7 @@ class TuiTruncate {
|
|
|
130
130
|
return this.el.innerText.trim();
|
|
131
131
|
}
|
|
132
132
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTruncate, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
133
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiTruncate, isStandalone: true, selector: "[tuiTruncate]", inputs: { tuiTruncate: "tuiTruncate" }, host: { attributes: { "tuiTruncate": "", "tuiTruncateV": "4.
|
|
133
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiTruncate, isStandalone: true, selector: "[tuiTruncate]", inputs: { tuiTruncate: "tuiTruncate" }, host: { attributes: { "tuiTruncate": "", "tuiTruncateV": "4.100.0" }, properties: { "attr.data-lines": "lines()", "attr.data-text": "truncated()", "style.-webkit-line-clamp": "lines()" } }, providers: [
|
|
134
134
|
TuiTruncateService,
|
|
135
135
|
WaResizeObserverService,
|
|
136
136
|
WaMutationObserverService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-truncate.mjs","sources":["../../../projects/cdk/directives/truncate/truncate.service.ts","../../../projects/cdk/directives/truncate/truncate.directive.ts","../../../projects/cdk/directives/truncate/taiga-ui-cdk-directives-truncate.ts"],"sourcesContent":["import {DOCUMENT, isPlatformBrowser} from '@angular/common';\nimport {inject, Injectable, PLATFORM_ID} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nconst ELLIPSIS = '\\u2026';\n\n@Injectable()\nexport class TuiTruncateService {\n private readonly el = tuiInjectElement();\n private readonly ctx = isPlatformBrowser(inject(PLATFORM_ID))\n ? inject(DOCUMENT).createElement('canvas').getContext('2d')\n : null;\n\n public truncate(text: string, lines: number): string {\n if (!this.ctx || !text || lines < 1) {\n return text;\n }\n\n const style = getComputedStyle(this.el);\n const fontFamily = style.fontFamily || 'sans-serif';\n const fontSize = style.fontSize || '14px';\n const fontWeight = style.fontWeight || '400';\n const paddingLeft = parseFloat(style.paddingLeft) || 0;\n const paddingRight = parseFloat(style.paddingRight) || 0;\n const availableWidth = this.el.clientWidth - paddingLeft - paddingRight;\n const safeWidth = Math.max(1, availableWidth - 4);\n\n this.ctx.font = `${fontWeight} ${fontSize} ${fontFamily}`;\n\n if (this.getLines(text, safeWidth).length <= lines) {\n return text;\n }\n\n let low = 1;\n let high = Math.max(1, text.length - ELLIPSIS.length);\n let best = truncate(text, 1, 0);\n\n while (low <= high) {\n const keepLength = Math.floor((low + high) / 2);\n const normalized = Math.max(1, keepLength);\n const left = Math.ceil(normalized / 2);\n const right = Math.floor(normalized / 2);\n const candidate = truncate(text, left, right);\n const candidateLines = this.getLines(candidate, safeWidth).length;\n\n if (candidateLines <= lines) {\n best = candidate;\n low = keepLength + 1;\n } else {\n high = keepLength - 1;\n }\n }\n\n return this.getLines(best, safeWidth).slice(0, lines).join(' ');\n }\n\n private getLines(text: string, maxWidth: number): string[] {\n if (!this.ctx || !text) {\n return [];\n }\n\n const words = text.split(' ');\n const lines: string[] = [];\n let currentLine = '';\n\n for (const word of words) {\n const candidate = currentLine ? `${currentLine} ${word}` : word;\n\n if (this.ctx.measureText(candidate).width <= maxWidth) {\n currentLine = candidate;\n continue;\n }\n\n if (currentLine) {\n lines.push(currentLine);\n currentLine = '';\n }\n\n if (this.ctx.measureText(word).width <= maxWidth) {\n currentLine = word;\n continue;\n }\n\n let chunk = '';\n\n for (const char of word) {\n const nextChunk = chunk + char;\n\n if (this.ctx.measureText(nextChunk).width <= maxWidth) {\n chunk = nextChunk;\n } else {\n if (chunk) {\n lines.push(chunk);\n }\n\n chunk = char;\n }\n }\n\n currentLine = chunk;\n }\n\n if (currentLine) {\n lines.push(currentLine);\n }\n\n return lines;\n }\n}\n\nfunction truncate(text: string, left: number, right: number): string {\n return `${text.slice(0, left)}${ELLIPSIS}${right > 0 ? text.slice(-right) : ''}`;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n Input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {\n WA_MUTATION_OBSERVER_INIT,\n WaMutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {WaResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {map} from 'rxjs';\n\nimport {TuiTruncateService} from './truncate.service';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./truncate.styles.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nclass Styles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiTruncate]',\n providers: [\n TuiTruncateService,\n WaResizeObserverService,\n WaMutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n attributes: true,\n characterData: true,\n subtree: true,\n },\n },\n ],\n host: {\n tuiTruncate: '',\n tuiTruncateV: TUI_VERSION,\n '[attr.data-lines]': 'lines()',\n '[attr.data-text]': 'truncated()',\n '[style.-webkit-line-clamp]': 'lines()',\n },\n})\nexport class TuiTruncate {\n private readonly service = inject(TuiTruncateService);\n private readonly el = tuiInjectElement();\n private readonly width = toSignal(\n inject(WaResizeObserverService).pipe(\n map(([e]) => e?.contentRect.width ?? 0),\n tuiZoneOptimized(),\n ),\n {initialValue: 0},\n );\n\n protected lines = signal(1);\n\n protected readonly text = toSignal(\n inject(WaMutationObserverService).pipe(map(() => this.innerText)),\n {initialValue: this.innerText},\n );\n\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly truncated = computed(() =>\n this.width() ? this.service.truncate(this.text(), this.lines()) : this.text(),\n );\n\n @Input('tuiTruncate')\n public set tuiTruncate(value: number | string) {\n this.lines.set(Math.max(Number(value) || 1, 1));\n }\n\n private get innerText(): string {\n return this.el.innerText.trim();\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-directives-truncate.mjs","sources":["../../../projects/cdk/directives/truncate/truncate.service.ts","../../../projects/cdk/directives/truncate/truncate.directive.ts","../../../projects/cdk/directives/truncate/taiga-ui-cdk-directives-truncate.ts"],"sourcesContent":["import {DOCUMENT, isPlatformBrowser} from '@angular/common';\nimport {inject, Injectable, PLATFORM_ID} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nconst ELLIPSIS = '\\u2026';\n\n@Injectable()\nexport class TuiTruncateService {\n private readonly el = tuiInjectElement();\n private readonly ctx = isPlatformBrowser(inject(PLATFORM_ID))\n ? inject(DOCUMENT).createElement('canvas').getContext('2d')\n : null;\n\n public truncate(text: string, lines: number): string {\n if (!this.ctx || !text || lines < 1) {\n return text;\n }\n\n const style = getComputedStyle(this.el);\n const fontFamily = style.fontFamily || 'sans-serif';\n const fontSize = style.fontSize || '14px';\n const fontWeight = style.fontWeight || '400';\n const paddingLeft = parseFloat(style.paddingLeft) || 0;\n const paddingRight = parseFloat(style.paddingRight) || 0;\n const availableWidth = this.el.clientWidth - paddingLeft - paddingRight;\n const safeWidth = Math.max(1, availableWidth - 4);\n\n this.ctx.font = `${fontWeight} ${fontSize} ${fontFamily}`;\n\n if (this.getLines(text, safeWidth).length <= lines) {\n return text;\n }\n\n let low = 1;\n let high = Math.max(1, text.length - ELLIPSIS.length);\n let best = truncate(text, 1, 0);\n\n while (low <= high) {\n const keepLength = Math.floor((low + high) / 2);\n const normalized = Math.max(1, keepLength);\n const left = Math.ceil(normalized / 2);\n const right = Math.floor(normalized / 2);\n const candidate = truncate(text, left, right);\n const candidateLines = this.getLines(candidate, safeWidth).length;\n\n if (candidateLines <= lines) {\n best = candidate;\n low = keepLength + 1;\n } else {\n high = keepLength - 1;\n }\n }\n\n return this.getLines(best, safeWidth).slice(0, lines).join(' ');\n }\n\n private getLines(text: string, maxWidth: number): string[] {\n if (!this.ctx || !text) {\n return [];\n }\n\n const words = text.split(' ');\n const lines: string[] = [];\n let currentLine = '';\n\n for (const word of words) {\n const candidate = currentLine ? `${currentLine} ${word}` : word;\n\n if (this.ctx.measureText(candidate).width <= maxWidth) {\n currentLine = candidate;\n continue;\n }\n\n if (currentLine) {\n lines.push(currentLine);\n currentLine = '';\n }\n\n if (this.ctx.measureText(word).width <= maxWidth) {\n currentLine = word;\n continue;\n }\n\n let chunk = '';\n\n for (const char of word) {\n const nextChunk = chunk + char;\n\n if (this.ctx.measureText(nextChunk).width <= maxWidth) {\n chunk = nextChunk;\n } else {\n if (chunk) {\n lines.push(chunk);\n }\n\n chunk = char;\n }\n }\n\n currentLine = chunk;\n }\n\n if (currentLine) {\n lines.push(currentLine);\n }\n\n return lines;\n }\n}\n\nfunction truncate(text: string, left: number, right: number): string {\n return `${text.slice(0, left)}${ELLIPSIS}${right > 0 ? text.slice(-right) : ''}`;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n Input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {\n WA_MUTATION_OBSERVER_INIT,\n WaMutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {WaResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {map} from 'rxjs';\n\nimport {TuiTruncateService} from './truncate.service';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./truncate.styles.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nclass Styles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiTruncate]',\n providers: [\n TuiTruncateService,\n WaResizeObserverService,\n WaMutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n attributes: true,\n characterData: true,\n subtree: true,\n },\n },\n ],\n host: {\n tuiTruncate: '',\n tuiTruncateV: TUI_VERSION,\n '[attr.data-lines]': 'lines()',\n '[attr.data-text]': 'truncated()',\n '[style.-webkit-line-clamp]': 'lines()',\n },\n})\nexport class TuiTruncate {\n private readonly service = inject(TuiTruncateService);\n private readonly el = tuiInjectElement();\n private readonly width = toSignal(\n inject(WaResizeObserverService).pipe(\n map(([e]) => e?.contentRect.width ?? 0),\n tuiZoneOptimized(),\n ),\n {initialValue: 0},\n );\n\n protected lines = signal(1);\n\n protected readonly text = toSignal(\n inject(WaMutationObserverService).pipe(map(() => this.innerText)),\n {initialValue: this.innerText},\n );\n\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly truncated = computed(() =>\n this.width() ? this.service.truncate(this.text(), this.lines()) : this.text(),\n );\n\n @Input('tuiTruncate')\n public set tuiTruncate(value: number | string) {\n this.lines.set(Math.max(Number(value) || 1, 1));\n }\n\n private get innerText(): string {\n return this.el.innerText.trim();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -246,7 +246,7 @@ function tuiValue(input, injector = inject(INJECTOR)) {
|
|
|
246
246
|
if (element?.matches('select[multiple]')) {
|
|
247
247
|
return;
|
|
248
248
|
}
|
|
249
|
-
if (element?.matches(':focus') && 'selectionStart' in element) {
|
|
249
|
+
if (element?.matches(':focus') && 'selectionStart' in element && element.value) {
|
|
250
250
|
const { selectionStart, selectionEnd } = element;
|
|
251
251
|
/**
|
|
252
252
|
* After programmatic updates of input's value, caret is automatically placed at the end –
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-dom.mjs","sources":["../../../projects/cdk/utils/dom/contains-or-after.ts","../../../projects/cdk/utils/dom/element-checks.ts","../../../projects/cdk/utils/dom/event-checks.ts","../../../projects/cdk/utils/dom/get-actual-target.ts","../../../projects/cdk/utils/dom/get-clipboard-data-text.ts","../../../projects/cdk/utils/dom/get-document-or-shadow-root.ts","../../../projects/cdk/utils/dom/get-element-obscurers.ts","../../../projects/cdk/utils/dom/get-element-offset.ts","../../../projects/cdk/utils/dom/get-element-point.ts","../../../projects/cdk/utils/dom/get-selected-text.ts","../../../projects/cdk/utils/dom/inject-element.ts","../../../projects/cdk/utils/dom/is-current-target.ts","../../../projects/cdk/utils/dom/is-element-editable.ts","../../../projects/cdk/utils/dom/is-inside-iframe.ts","../../../projects/cdk/utils/dom/is-node-in.ts","../../../projects/cdk/utils/dom/point-to-client-rect.ts","../../../projects/cdk/utils/dom/retarget-boundary-crossing.ts","../../../projects/cdk/utils/dom/value.ts","../../../projects/cdk/utils/dom/value-binding.ts","../../../projects/cdk/utils/dom/taiga-ui-cdk-utils-dom.ts"],"sourcesContent":["export function tuiContainsOrAfter(current: Node, node: Node): boolean {\n try {\n return (\n current.contains(node) ||\n !!(node.compareDocumentPosition(current) & Node.DOCUMENT_POSITION_PRECEDING)\n );\n } catch {\n return false;\n }\n}\n","export function tuiIsInput(element: Element): element is HTMLInputElement {\n return element.matches('input');\n}\n\nexport function tuiIsTextarea(element: Element): element is HTMLTextAreaElement {\n return element.matches('textarea');\n}\n\nexport function tuiIsTextfield(\n element: Element,\n): element is HTMLInputElement | HTMLTextAreaElement {\n return tuiIsInput(element) || tuiIsTextarea(element);\n}\n\nexport function tuiIsElement(\n node?: Element | EventTarget | Node | null,\n): node is Element {\n return !!node && 'nodeType' in node && node.nodeType === Node.ELEMENT_NODE;\n}\n\nexport function tuiIsHTMLElement(node: unknown): node is HTMLElement {\n const defaultView = (node as Element | undefined)?.ownerDocument.defaultView;\n\n return !!node && !!defaultView && node instanceof defaultView.HTMLElement;\n}\n\nexport function tuiIsTextNode(node: Node): node is Text {\n return node.nodeType === Node.TEXT_NODE;\n}\n","export function tuiIsInputEvent(event: Event): event is InputEvent {\n return 'data' in event && 'inputType' in event;\n}\n","/**\n * Gets actual target from open Shadow DOM if event happened within it\n */\nexport function tuiGetActualTarget(event: Event): Node {\n return event.composedPath()[0] as Node;\n}\n","const DEFAULT_FORMAT = 'text/plain';\n\n/**\n * Gets text from data of clipboardEvent, it also works in IE and Edge browsers\n */\nexport function tuiGetClipboardDataText(\n event: ClipboardEvent,\n format: string = DEFAULT_FORMAT,\n): string {\n return 'clipboardData' in event && event.clipboardData !== null\n ? event.clipboardData.getData(format) ||\n event.clipboardData.getData(DEFAULT_FORMAT)\n : (event as any).target.ownerDocument.defaultView.clipboardData.getData('text');\n}\n","export function tuiGetDocumentOrShadowRoot(node: Node): DocumentOrShadowRoot {\n return 'getRootNode' in node && node.isConnected\n ? (node.getRootNode() as Document)\n : (node.ownerDocument as DocumentOrShadowRoot);\n}\n","import {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {tuiGetDocumentOrShadowRoot} from './get-document-or-shadow-root';\n\n/**\n * Returns array of Elements covering edges of given element or null if at least one edge middle point is visible\n *\n * CAUTION: Empty array means element if offscreen i.e. covered by no elements, rather than not covered\n * ```ts\n * function tuiGetElementObscures(element: Element): readonly [Element, Element, Element, Element] | [] | null\n * ```\n */\nexport function tuiGetElementObscures(element: Element): readonly Element[] | null {\n if (!element.getBoundingClientRect) {\n return null;\n }\n\n const {left, right, top, bottom, width, height} = element.getBoundingClientRect();\n\n if (width === 0 && height === 0) {\n return null;\n }\n\n const doc = tuiGetDocumentOrShadowRoot(element);\n const horizontalMiddle = Math.round(left + width / 2);\n const verticalMiddle = Math.round(top + height / 2);\n const elements = [\n doc.elementFromPoint(horizontalMiddle, Math.round(top) + 2),\n doc.elementFromPoint(horizontalMiddle, Math.round(bottom) - 2),\n doc.elementFromPoint(Math.round(left) + 2, verticalMiddle),\n doc.elementFromPoint(Math.round(right) - 2, verticalMiddle),\n ].filter(tuiIsPresent);\n\n if (!elements.length) {\n return [];\n }\n\n const filtered = elements.filter(\n (el) => !element.contains(el) && !el.contains(element),\n );\n\n return filtered.length === 4\n ? (filtered as [Element, Element, Element, Element])\n : null;\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nimport {tuiIsHTMLElement} from './element-checks';\n\n/**\n * Calculates offset for an element relative to it's parent several levels above\n *\n * @param host parent element\n * @param element\n * @return object with offsetTop and offsetLeft number properties\n */\nexport function tuiGetElementOffset(\n host: Element,\n element: HTMLElement,\n): {offsetLeft: number; offsetTop: number} {\n ngDevMode && console.assert(host.contains(element), 'Host must contain element');\n\n let {offsetTop, offsetLeft, offsetParent} = element;\n\n while (tuiIsHTMLElement(offsetParent) && offsetParent !== host) {\n offsetTop += offsetParent.offsetTop;\n offsetLeft += offsetParent.offsetLeft;\n offsetParent = offsetParent.offsetParent;\n }\n\n return {offsetTop, offsetLeft};\n}\n","import {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {type TuiPoint} from '@taiga-ui/core/types';\n\nexport function tuiGetElementPoint(x: number, y: number, element: HTMLElement): TuiPoint {\n const {left, top, width, height} = element.getBoundingClientRect();\n\n return [tuiClamp(x - left, 0, width) / width, tuiClamp(y - top, 0, height) / height];\n}\n","import {tuiIsTextfield} from './element-checks';\n\n/**\n * @description:\n * cross browser way to get selected text\n *\n * History:\n * BUG - window.getSelection() fails when text selected in a form field\n * https://bugzilla.mozilla.org/show_bug.cgi?id=85686\n */\nexport function tuiGetSelectedText({getSelection, document}: Window): string | null {\n return document.activeElement && tuiIsTextfield(document.activeElement)\n ? document.activeElement.value.slice(\n document.activeElement.selectionStart || 0,\n document.activeElement.selectionEnd || 0,\n )\n : getSelection()?.toString() || null;\n}\n","import {ElementRef, inject} from '@angular/core';\n\nexport function tuiInjectElement<T = HTMLElement>(): T {\n return inject(ElementRef).nativeElement;\n}\n","export function tuiIsCurrentTarget({target, currentTarget}: Event): boolean {\n return target === currentTarget;\n}\n","import {tuiIsTextfield} from './element-checks';\n\nexport function tuiIsElementEditable(element: HTMLElement): boolean {\n return (\n (tuiIsTextfield(element) && !element.readOnly && element.inputMode !== 'none') ||\n Boolean(element.isContentEditable as unknown as string)\n );\n}\n","/**\n * Checks if an app is running inside <iframe /> tag\n */\nexport function tuiIsInsideIframe(win: Window): boolean {\n return win.parent !== win;\n}\n","import {tuiIsElement, tuiIsTextNode} from './element-checks';\n\n/**\n * Checks if node is inside a specific selector\n *\n * @param node\n * @param selector\n * @return true if node is inside a particular selector\n */\nexport function tuiIsNodeIn(node: Node, selector: string): boolean {\n return tuiIsTextNode(node)\n ? !!node.parentElement?.closest(selector)\n : tuiIsElement(node) && !!node.closest(selector);\n}\n","export function tuiPointToClientRect(x = 0, y = 0): DOMRect {\n const rect = {\n x,\n y,\n left: x,\n right: x,\n top: y,\n bottom: y,\n width: 0,\n height: 0,\n } as const;\n\n return {\n ...rect,\n toJSON: () => rect,\n };\n}\n","export function tuiRetargetedBoundaryCrossing(event: Event): boolean {\n // firefox\n if ('explicitOriginalTarget' in event) {\n return event?.explicitOriginalTarget !== event.target;\n }\n\n // chrome\n if ('pointerId' in event) {\n return event.pointerId === -1;\n }\n\n // safari\n if ('detail' in event && 'webkitForce' in event) {\n return event?.detail === 0;\n }\n\n return false;\n}\n","import {coerceElement} from '@angular/cdk/coercion';\nimport {isPlatformBrowser} from '@angular/common';\nimport {\n DestroyRef,\n effect,\n type ElementRef,\n inject,\n INJECTOR,\n isSignal,\n PLATFORM_ID,\n type Signal,\n signal,\n untracked,\n type WritableSignal,\n} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {TUI_ALLOW_SIGNAL_WRITES} from '@taiga-ui/cdk/constants';\n\ntype WithValue = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\nexport function tuiValue(\n input:\n | ElementRef<WithValue>\n | Signal<ElementRef<WithValue> | undefined>\n | Signal<WithValue | undefined>\n | WithValue,\n injector = inject(INJECTOR),\n): WritableSignal<string> {\n const win = injector.get<any>(WA_WINDOW);\n\n if (!win.tuiInputPatched && isPlatformBrowser(injector.get(PLATFORM_ID))) {\n win.tuiInputPatched = true;\n\n patch(win.HTMLInputElement.prototype);\n patch(win.HTMLTextAreaElement.prototype);\n patch(win.HTMLSelectElement.prototype);\n }\n\n let element = isSignal(input) ? undefined : coerceElement(input);\n let cleanup = (): void => {};\n\n const options = {injector, ...TUI_ALLOW_SIGNAL_WRITES};\n const value = signal(element?.value || '');\n const process = (el: WithValue): (() => void) => {\n const update = (): void => untracked(() => value.set(el.value));\n\n el.addEventListener('input', update, {capture: true});\n el.addEventListener('tui-input', update, {capture: true});\n\n return (): void => {\n el.removeEventListener('input', update, {capture: true});\n el.removeEventListener('tui-input', update, {capture: true});\n };\n };\n\n injector.get(DestroyRef).onDestroy(() => cleanup());\n\n if (isSignal(input)) {\n effect(() => {\n element = coerceElement(input());\n cleanup();\n\n if (element && !element.matches('select[multiple]')) {\n value.set(element.value);\n cleanup = process(element);\n }\n }, options);\n } else if (element && !element.matches('select[multiple]')) {\n cleanup = process(element);\n }\n\n effect(() => {\n const v = value();\n\n /**\n * select[multiple] elements have value of first selected option,\n * but there could be more, setting value resets other selected options\n */\n if (element?.matches('select[multiple]')) {\n return;\n }\n\n if (element?.matches(':focus') && 'selectionStart' in element) {\n const {selectionStart, selectionEnd} = element;\n\n /**\n * After programmatic updates of input's value, caret is automatically placed at the end –\n * revert to the previous position\n *\n * Only the types 'text', 'search', 'password', 'tel', and 'url' support selection\n */\n element.value = v;\n\n try {\n element.setSelectionRange(selectionStart, selectionEnd);\n } catch {}\n } else if (element) {\n element.value = v;\n }\n }, options);\n\n return value;\n}\n\nfunction patch(prototype: WithValue): void {\n const {set} = Object.getOwnPropertyDescriptor(prototype, 'value')!;\n\n Object.defineProperty(prototype, 'value', {\n set(this: WithValue, detail: string) {\n const value = this.value;\n const event = new CustomEvent('tui-input', {detail, bubbles: true});\n\n set!.call(this, detail);\n\n if (value !== detail) {\n this.dispatchEvent(event);\n }\n },\n });\n}\n","import {effect, type Signal, signal, type WritableSignal} from '@angular/core';\n\nimport {tuiInjectElement} from './inject-element';\n\nexport function tuiValueBinding(value?: WritableSignal<string>): WritableSignal<string>;\nexport function tuiValueBinding(value?: Signal<string>): Signal<string>;\n\n/**\n * Host binding `host: {'[value]': 'yourSignal()'}` is not an option for our textfields –\n * they use {@link TuiTextfieldDirective} as a host directive.\n * `TuiTextfieldDirective` has host binding which depends on native input's value.\n * Host bindings of the host directives are re-calculated BEFORE component's ones –\n * native input's value should be updated SYNCHRONOUSLY before next change detection iteration.\n * @deprecated\n */\nexport function tuiValueBinding(\n value: Signal<string> = signal(tuiInjectElement<HTMLInputElement>().value || ''),\n): Signal<string> {\n const el = tuiInjectElement<HTMLInputElement>();\n\n effect(() => {\n if (el.value === value()) {\n return;\n }\n\n const {selectionStart, selectionEnd} = el;\n\n el.value = value();\n\n if (el.matches(':focus')) {\n /**\n * After programmatic updates of input's value, caret is automatically placed at the end –\n * revert to the previous position\n */\n el.setSelectionRange(selectionStart, selectionEnd);\n }\n });\n\n return value;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-utils-dom.mjs","sources":["../../../projects/cdk/utils/dom/contains-or-after.ts","../../../projects/cdk/utils/dom/element-checks.ts","../../../projects/cdk/utils/dom/event-checks.ts","../../../projects/cdk/utils/dom/get-actual-target.ts","../../../projects/cdk/utils/dom/get-clipboard-data-text.ts","../../../projects/cdk/utils/dom/get-document-or-shadow-root.ts","../../../projects/cdk/utils/dom/get-element-obscurers.ts","../../../projects/cdk/utils/dom/get-element-offset.ts","../../../projects/cdk/utils/dom/get-element-point.ts","../../../projects/cdk/utils/dom/get-selected-text.ts","../../../projects/cdk/utils/dom/inject-element.ts","../../../projects/cdk/utils/dom/is-current-target.ts","../../../projects/cdk/utils/dom/is-element-editable.ts","../../../projects/cdk/utils/dom/is-inside-iframe.ts","../../../projects/cdk/utils/dom/is-node-in.ts","../../../projects/cdk/utils/dom/point-to-client-rect.ts","../../../projects/cdk/utils/dom/retarget-boundary-crossing.ts","../../../projects/cdk/utils/dom/value.ts","../../../projects/cdk/utils/dom/value-binding.ts","../../../projects/cdk/utils/dom/taiga-ui-cdk-utils-dom.ts"],"sourcesContent":["export function tuiContainsOrAfter(current: Node, node: Node): boolean {\n try {\n return (\n current.contains(node) ||\n !!(node.compareDocumentPosition(current) & Node.DOCUMENT_POSITION_PRECEDING)\n );\n } catch {\n return false;\n }\n}\n","export function tuiIsInput(element: Element): element is HTMLInputElement {\n return element.matches('input');\n}\n\nexport function tuiIsTextarea(element: Element): element is HTMLTextAreaElement {\n return element.matches('textarea');\n}\n\nexport function tuiIsTextfield(\n element: Element,\n): element is HTMLInputElement | HTMLTextAreaElement {\n return tuiIsInput(element) || tuiIsTextarea(element);\n}\n\nexport function tuiIsElement(\n node?: Element | EventTarget | Node | null,\n): node is Element {\n return !!node && 'nodeType' in node && node.nodeType === Node.ELEMENT_NODE;\n}\n\nexport function tuiIsHTMLElement(node: unknown): node is HTMLElement {\n const defaultView = (node as Element | undefined)?.ownerDocument.defaultView;\n\n return !!node && !!defaultView && node instanceof defaultView.HTMLElement;\n}\n\nexport function tuiIsTextNode(node: Node): node is Text {\n return node.nodeType === Node.TEXT_NODE;\n}\n","export function tuiIsInputEvent(event: Event): event is InputEvent {\n return 'data' in event && 'inputType' in event;\n}\n","/**\n * Gets actual target from open Shadow DOM if event happened within it\n */\nexport function tuiGetActualTarget(event: Event): Node {\n return event.composedPath()[0] as Node;\n}\n","const DEFAULT_FORMAT = 'text/plain';\n\n/**\n * Gets text from data of clipboardEvent, it also works in IE and Edge browsers\n */\nexport function tuiGetClipboardDataText(\n event: ClipboardEvent,\n format: string = DEFAULT_FORMAT,\n): string {\n return 'clipboardData' in event && event.clipboardData !== null\n ? event.clipboardData.getData(format) ||\n event.clipboardData.getData(DEFAULT_FORMAT)\n : (event as any).target.ownerDocument.defaultView.clipboardData.getData('text');\n}\n","export function tuiGetDocumentOrShadowRoot(node: Node): DocumentOrShadowRoot {\n return 'getRootNode' in node && node.isConnected\n ? (node.getRootNode() as Document)\n : (node.ownerDocument as DocumentOrShadowRoot);\n}\n","import {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {tuiGetDocumentOrShadowRoot} from './get-document-or-shadow-root';\n\n/**\n * Returns array of Elements covering edges of given element or null if at least one edge middle point is visible\n *\n * CAUTION: Empty array means element if offscreen i.e. covered by no elements, rather than not covered\n * ```ts\n * function tuiGetElementObscures(element: Element): readonly [Element, Element, Element, Element] | [] | null\n * ```\n */\nexport function tuiGetElementObscures(element: Element): readonly Element[] | null {\n if (!element.getBoundingClientRect) {\n return null;\n }\n\n const {left, right, top, bottom, width, height} = element.getBoundingClientRect();\n\n if (width === 0 && height === 0) {\n return null;\n }\n\n const doc = tuiGetDocumentOrShadowRoot(element);\n const horizontalMiddle = Math.round(left + width / 2);\n const verticalMiddle = Math.round(top + height / 2);\n const elements = [\n doc.elementFromPoint(horizontalMiddle, Math.round(top) + 2),\n doc.elementFromPoint(horizontalMiddle, Math.round(bottom) - 2),\n doc.elementFromPoint(Math.round(left) + 2, verticalMiddle),\n doc.elementFromPoint(Math.round(right) - 2, verticalMiddle),\n ].filter(tuiIsPresent);\n\n if (!elements.length) {\n return [];\n }\n\n const filtered = elements.filter(\n (el) => !element.contains(el) && !el.contains(element),\n );\n\n return filtered.length === 4\n ? (filtered as [Element, Element, Element, Element])\n : null;\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nimport {tuiIsHTMLElement} from './element-checks';\n\n/**\n * Calculates offset for an element relative to it's parent several levels above\n *\n * @param host parent element\n * @param element\n * @return object with offsetTop and offsetLeft number properties\n */\nexport function tuiGetElementOffset(\n host: Element,\n element: HTMLElement,\n): {offsetLeft: number; offsetTop: number} {\n ngDevMode && console.assert(host.contains(element), 'Host must contain element');\n\n let {offsetTop, offsetLeft, offsetParent} = element;\n\n while (tuiIsHTMLElement(offsetParent) && offsetParent !== host) {\n offsetTop += offsetParent.offsetTop;\n offsetLeft += offsetParent.offsetLeft;\n offsetParent = offsetParent.offsetParent;\n }\n\n return {offsetTop, offsetLeft};\n}\n","import {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {type TuiPoint} from '@taiga-ui/core/types';\n\nexport function tuiGetElementPoint(x: number, y: number, element: HTMLElement): TuiPoint {\n const {left, top, width, height} = element.getBoundingClientRect();\n\n return [tuiClamp(x - left, 0, width) / width, tuiClamp(y - top, 0, height) / height];\n}\n","import {tuiIsTextfield} from './element-checks';\n\n/**\n * @description:\n * cross browser way to get selected text\n *\n * History:\n * BUG - window.getSelection() fails when text selected in a form field\n * https://bugzilla.mozilla.org/show_bug.cgi?id=85686\n */\nexport function tuiGetSelectedText({getSelection, document}: Window): string | null {\n return document.activeElement && tuiIsTextfield(document.activeElement)\n ? document.activeElement.value.slice(\n document.activeElement.selectionStart || 0,\n document.activeElement.selectionEnd || 0,\n )\n : getSelection()?.toString() || null;\n}\n","import {ElementRef, inject} from '@angular/core';\n\nexport function tuiInjectElement<T = HTMLElement>(): T {\n return inject(ElementRef).nativeElement;\n}\n","export function tuiIsCurrentTarget({target, currentTarget}: Event): boolean {\n return target === currentTarget;\n}\n","import {tuiIsTextfield} from './element-checks';\n\nexport function tuiIsElementEditable(element: HTMLElement): boolean {\n return (\n (tuiIsTextfield(element) && !element.readOnly && element.inputMode !== 'none') ||\n Boolean(element.isContentEditable as unknown as string)\n );\n}\n","/**\n * Checks if an app is running inside <iframe /> tag\n */\nexport function tuiIsInsideIframe(win: Window): boolean {\n return win.parent !== win;\n}\n","import {tuiIsElement, tuiIsTextNode} from './element-checks';\n\n/**\n * Checks if node is inside a specific selector\n *\n * @param node\n * @param selector\n * @return true if node is inside a particular selector\n */\nexport function tuiIsNodeIn(node: Node, selector: string): boolean {\n return tuiIsTextNode(node)\n ? !!node.parentElement?.closest(selector)\n : tuiIsElement(node) && !!node.closest(selector);\n}\n","export function tuiPointToClientRect(x = 0, y = 0): DOMRect {\n const rect = {\n x,\n y,\n left: x,\n right: x,\n top: y,\n bottom: y,\n width: 0,\n height: 0,\n } as const;\n\n return {\n ...rect,\n toJSON: () => rect,\n };\n}\n","export function tuiRetargetedBoundaryCrossing(event: Event): boolean {\n // firefox\n if ('explicitOriginalTarget' in event) {\n return event?.explicitOriginalTarget !== event.target;\n }\n\n // chrome\n if ('pointerId' in event) {\n return event.pointerId === -1;\n }\n\n // safari\n if ('detail' in event && 'webkitForce' in event) {\n return event?.detail === 0;\n }\n\n return false;\n}\n","import {coerceElement} from '@angular/cdk/coercion';\nimport {isPlatformBrowser} from '@angular/common';\nimport {\n DestroyRef,\n effect,\n type ElementRef,\n inject,\n INJECTOR,\n isSignal,\n PLATFORM_ID,\n type Signal,\n signal,\n untracked,\n type WritableSignal,\n} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {TUI_ALLOW_SIGNAL_WRITES} from '@taiga-ui/cdk/constants';\n\ntype WithValue = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\nexport function tuiValue(\n input:\n | ElementRef<WithValue>\n | Signal<ElementRef<WithValue> | undefined>\n | Signal<WithValue | undefined>\n | WithValue,\n injector = inject(INJECTOR),\n): WritableSignal<string> {\n const win = injector.get<any>(WA_WINDOW);\n\n if (!win.tuiInputPatched && isPlatformBrowser(injector.get(PLATFORM_ID))) {\n win.tuiInputPatched = true;\n\n patch(win.HTMLInputElement.prototype);\n patch(win.HTMLTextAreaElement.prototype);\n patch(win.HTMLSelectElement.prototype);\n }\n\n let element = isSignal(input) ? undefined : coerceElement(input);\n let cleanup = (): void => {};\n\n const options = {injector, ...TUI_ALLOW_SIGNAL_WRITES};\n const value = signal(element?.value || '');\n const process = (el: WithValue): (() => void) => {\n const update = (): void => untracked(() => value.set(el.value));\n\n el.addEventListener('input', update, {capture: true});\n el.addEventListener('tui-input', update, {capture: true});\n\n return (): void => {\n el.removeEventListener('input', update, {capture: true});\n el.removeEventListener('tui-input', update, {capture: true});\n };\n };\n\n injector.get(DestroyRef).onDestroy(() => cleanup());\n\n if (isSignal(input)) {\n effect(() => {\n element = coerceElement(input());\n cleanup();\n\n if (element && !element.matches('select[multiple]')) {\n value.set(element.value);\n cleanup = process(element);\n }\n }, options);\n } else if (element && !element.matches('select[multiple]')) {\n cleanup = process(element);\n }\n\n effect(() => {\n const v = value();\n\n /**\n * select[multiple] elements have value of first selected option,\n * but there could be more, setting value resets other selected options\n */\n if (element?.matches('select[multiple]')) {\n return;\n }\n\n if (element?.matches(':focus') && 'selectionStart' in element && element.value) {\n const {selectionStart, selectionEnd} = element;\n\n /**\n * After programmatic updates of input's value, caret is automatically placed at the end –\n * revert to the previous position\n *\n * Only the types 'text', 'search', 'password', 'tel', and 'url' support selection\n */\n element.value = v;\n\n try {\n element.setSelectionRange(selectionStart, selectionEnd);\n } catch {}\n } else if (element) {\n element.value = v;\n }\n }, options);\n\n return value;\n}\n\nfunction patch(prototype: WithValue): void {\n const {set} = Object.getOwnPropertyDescriptor(prototype, 'value')!;\n\n Object.defineProperty(prototype, 'value', {\n set(this: WithValue, detail: string) {\n const value = this.value;\n const event = new CustomEvent('tui-input', {detail, bubbles: true});\n\n set!.call(this, detail);\n\n if (value !== detail) {\n this.dispatchEvent(event);\n }\n },\n });\n}\n","import {effect, type Signal, signal, type WritableSignal} from '@angular/core';\n\nimport {tuiInjectElement} from './inject-element';\n\nexport function tuiValueBinding(value?: WritableSignal<string>): WritableSignal<string>;\nexport function tuiValueBinding(value?: Signal<string>): Signal<string>;\n\n/**\n * Host binding `host: {'[value]': 'yourSignal()'}` is not an option for our textfields –\n * they use {@link TuiTextfieldDirective} as a host directive.\n * `TuiTextfieldDirective` has host binding which depends on native input's value.\n * Host bindings of the host directives are re-calculated BEFORE component's ones –\n * native input's value should be updated SYNCHRONOUSLY before next change detection iteration.\n * @deprecated\n */\nexport function tuiValueBinding(\n value: Signal<string> = signal(tuiInjectElement<HTMLInputElement>().value || ''),\n): Signal<string> {\n const el = tuiInjectElement<HTMLInputElement>();\n\n effect(() => {\n if (el.value === value()) {\n return;\n }\n\n const {selectionStart, selectionEnd} = el;\n\n el.value = value();\n\n if (el.matches(':focus')) {\n /**\n * After programmatic updates of input's value, caret is automatically placed at the end –\n * revert to the previous position\n */\n el.setSelectionRange(selectionStart, selectionEnd);\n }\n });\n\n return value;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/cdk",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.100.0",
|
|
4
4
|
"description": "Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -31,23 +31,17 @@
|
|
|
31
31
|
"esm": "./esm2022/classes/taiga-ui-cdk-classes.mjs",
|
|
32
32
|
"default": "./fesm2022/taiga-ui-cdk-classes.mjs"
|
|
33
33
|
},
|
|
34
|
-
"./constants": {
|
|
35
|
-
"types": "./constants/index.d.ts",
|
|
36
|
-
"esm2022": "./esm2022/constants/taiga-ui-cdk-constants.mjs",
|
|
37
|
-
"esm": "./esm2022/constants/taiga-ui-cdk-constants.mjs",
|
|
38
|
-
"default": "./fesm2022/taiga-ui-cdk-constants.mjs"
|
|
39
|
-
},
|
|
40
34
|
"./date-time": {
|
|
41
35
|
"types": "./date-time/index.d.ts",
|
|
42
36
|
"esm2022": "./esm2022/date-time/taiga-ui-cdk-date-time.mjs",
|
|
43
37
|
"esm": "./esm2022/date-time/taiga-ui-cdk-date-time.mjs",
|
|
44
38
|
"default": "./fesm2022/taiga-ui-cdk-date-time.mjs"
|
|
45
39
|
},
|
|
46
|
-
"./
|
|
47
|
-
"types": "./
|
|
48
|
-
"esm2022": "./esm2022/
|
|
49
|
-
"esm": "./esm2022/
|
|
50
|
-
"default": "./fesm2022/taiga-ui-cdk-
|
|
40
|
+
"./constants": {
|
|
41
|
+
"types": "./constants/index.d.ts",
|
|
42
|
+
"esm2022": "./esm2022/constants/taiga-ui-cdk-constants.mjs",
|
|
43
|
+
"esm": "./esm2022/constants/taiga-ui-cdk-constants.mjs",
|
|
44
|
+
"default": "./fesm2022/taiga-ui-cdk-constants.mjs"
|
|
51
45
|
},
|
|
52
46
|
"./observables": {
|
|
53
47
|
"types": "./observables/index.d.ts",
|
|
@@ -55,6 +49,12 @@
|
|
|
55
49
|
"esm": "./esm2022/observables/taiga-ui-cdk-observables.mjs",
|
|
56
50
|
"default": "./fesm2022/taiga-ui-cdk-observables.mjs"
|
|
57
51
|
},
|
|
52
|
+
"./directives": {
|
|
53
|
+
"types": "./directives/index.d.ts",
|
|
54
|
+
"esm2022": "./esm2022/directives/taiga-ui-cdk-directives.mjs",
|
|
55
|
+
"esm": "./esm2022/directives/taiga-ui-cdk-directives.mjs",
|
|
56
|
+
"default": "./fesm2022/taiga-ui-cdk-directives.mjs"
|
|
57
|
+
},
|
|
58
58
|
"./pipes": {
|
|
59
59
|
"types": "./pipes/index.d.ts",
|
|
60
60
|
"esm2022": "./esm2022/pipes/taiga-ui-cdk-pipes.mjs",
|
|
@@ -319,12 +319,6 @@
|
|
|
319
319
|
"esm": "./esm2022/pipes/to-array/taiga-ui-cdk-pipes-to-array.mjs",
|
|
320
320
|
"default": "./fesm2022/taiga-ui-cdk-pipes-to-array.mjs"
|
|
321
321
|
},
|
|
322
|
-
"./utils/browser": {
|
|
323
|
-
"types": "./utils/browser/index.d.ts",
|
|
324
|
-
"esm2022": "./esm2022/utils/browser/taiga-ui-cdk-utils-browser.mjs",
|
|
325
|
-
"esm": "./esm2022/utils/browser/taiga-ui-cdk-utils-browser.mjs",
|
|
326
|
-
"default": "./fesm2022/taiga-ui-cdk-utils-browser.mjs"
|
|
327
|
-
},
|
|
328
322
|
"./utils/color": {
|
|
329
323
|
"types": "./utils/color/index.d.ts",
|
|
330
324
|
"esm2022": "./esm2022/utils/color/taiga-ui-cdk-utils-color.mjs",
|
|
@@ -343,6 +337,12 @@
|
|
|
343
337
|
"esm": "./esm2022/utils/dom/taiga-ui-cdk-utils-dom.mjs",
|
|
344
338
|
"default": "./fesm2022/taiga-ui-cdk-utils-dom.mjs"
|
|
345
339
|
},
|
|
340
|
+
"./utils/browser": {
|
|
341
|
+
"types": "./utils/browser/index.d.ts",
|
|
342
|
+
"esm2022": "./esm2022/utils/browser/taiga-ui-cdk-utils-browser.mjs",
|
|
343
|
+
"esm": "./esm2022/utils/browser/taiga-ui-cdk-utils-browser.mjs",
|
|
344
|
+
"default": "./fesm2022/taiga-ui-cdk-utils-browser.mjs"
|
|
345
|
+
},
|
|
346
346
|
"./utils/focus": {
|
|
347
347
|
"types": "./utils/focus/index.d.ts",
|
|
348
348
|
"esm2022": "./esm2022/utils/focus/taiga-ui-cdk-utils-focus.mjs",
|