@cuby-ui/cdk 0.0.152 → 0.0.154
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/date-time/time.d.ts
CHANGED
|
@@ -6,7 +6,9 @@ export declare class CuiTime {
|
|
|
6
6
|
readonly ms: number;
|
|
7
7
|
constructor(hours: number, minutes: number, seconds?: number, ms?: number);
|
|
8
8
|
static fromString(time: string): CuiTime;
|
|
9
|
+
static fromPT(time: string): CuiTime;
|
|
9
10
|
private static parseHours;
|
|
10
11
|
toString(mode?: CuiTimeMode): string;
|
|
12
|
+
toPT(mode?: CuiTimeMode): string;
|
|
11
13
|
private formatTime;
|
|
12
14
|
}
|
|
@@ -12,6 +12,34 @@ export class CuiTime {
|
|
|
12
12
|
const ms = Number(time.slice(9, 12)) || 0;
|
|
13
13
|
return new CuiTime(hours, minutes, seconds, ms);
|
|
14
14
|
}
|
|
15
|
+
static fromPT(time) {
|
|
16
|
+
let duration = time.trim().toUpperCase();
|
|
17
|
+
if (!duration.startsWith('P')) {
|
|
18
|
+
throw new Error('Invalid PT format: does not start with P');
|
|
19
|
+
}
|
|
20
|
+
duration = duration.substring(1);
|
|
21
|
+
if (duration.startsWith('T')) {
|
|
22
|
+
duration = duration.substring(1);
|
|
23
|
+
}
|
|
24
|
+
const regex = /(\d+(\.\d+)?)([HMS])/g;
|
|
25
|
+
let match;
|
|
26
|
+
let hours = 0, minutes = 0, seconds = 0, ms = 0;
|
|
27
|
+
while ((match = regex.exec(duration)) !== null) {
|
|
28
|
+
const value = parseFloat(match[1]);
|
|
29
|
+
const unit = match[3];
|
|
30
|
+
if (unit === 'H') {
|
|
31
|
+
hours = value;
|
|
32
|
+
}
|
|
33
|
+
else if (unit === 'M') {
|
|
34
|
+
minutes = value;
|
|
35
|
+
}
|
|
36
|
+
else if (unit === 'S') {
|
|
37
|
+
seconds = Math.floor(value);
|
|
38
|
+
ms = Math.round((value - seconds) * 1000);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return new CuiTime(hours, minutes, seconds, ms);
|
|
42
|
+
}
|
|
15
43
|
static parseHours(time) {
|
|
16
44
|
return Number(time.slice(0, 2));
|
|
17
45
|
}
|
|
@@ -23,8 +51,22 @@ export class CuiTime {
|
|
|
23
51
|
const mss = needAddMs ? `.${this.formatTime(this.ms, 3)}` : '';
|
|
24
52
|
return `${hhMm}${ss}${mss}`;
|
|
25
53
|
}
|
|
54
|
+
toPT(mode) {
|
|
55
|
+
let duration = 'PT';
|
|
56
|
+
if (this.hours !== 0) {
|
|
57
|
+
duration += `${this.hours}H`;
|
|
58
|
+
}
|
|
59
|
+
if (this.minutes !== 0) {
|
|
60
|
+
duration += `${this.minutes}M`;
|
|
61
|
+
}
|
|
62
|
+
const totalSeconds = this.seconds + this.ms / 1000;
|
|
63
|
+
if (totalSeconds !== 0 || duration === 'PT') {
|
|
64
|
+
duration += `${parseFloat(totalSeconds.toFixed(3))}S`;
|
|
65
|
+
}
|
|
66
|
+
return duration;
|
|
67
|
+
}
|
|
26
68
|
formatTime(time, digits = 2) {
|
|
27
69
|
return String(time).padStart(digits, '0');
|
|
28
70
|
}
|
|
29
71
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kYXRlLXRpbWUvdGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sT0FBTztJQUNsQixZQUNrQixLQUFhLEVBQ2IsT0FBZSxFQUNmLFVBQVUsQ0FBQyxFQUNYLEtBQUssQ0FBQztRQUhOLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsWUFBTyxHQUFQLE9BQU8sQ0FBSTtRQUNYLE9BQUUsR0FBRixFQUFFLENBQUk7SUFFeEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBWTtRQUNuQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFDLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBWTtRQUMvQixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFD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QVEsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQztTQUM5QjtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxDQUFDLEVBQUU7WUFDdEIsUUFBUSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDO1NBQ2hDO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQztRQUVuRCxJQUFJLFlBQVksS0FBSyxDQUFDLElBQUksUUFBUSxLQUFLLElBQUksRUFBRTtZQUMzQyxRQUFRLElBQUksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7U0FDdkQ7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU8sVUFBVSxDQUFDLElBQVksRUFBRSxNQUFNLEdBQUcsQ0FBQztRQUN6QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3VpVGltZU1vZGUgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBDdWlUaW1lIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGhvdXJzOiBudW1iZXIsXG4gICAgcHVibGljIHJlYWRvbmx5IG1pbnV0ZXM6IG51bWJlcixcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2Vjb25kcyA9IDAsXG4gICAgcHVibGljIHJlYWRvbmx5IG1zID0gMCxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb21TdHJpbmcodGltZTogc3RyaW5nKTogQ3VpVGltZSB7XG4gICAgY29uc3QgaG91cnMgPSB0aGlzLnBhcnNlSG91cnModGltZSk7XG4gICAgY29uc3QgbWludXRlcyA9IE51bWJlcih0aW1lLnNsaWNlKDMsIDUpKSB8fCAwO1xuICAgIGNvbnN0IHNlY29uZHMgPSBOdW1iZXIodGltZS5zbGljZSg2LCA4KSkgfHwgMDtcbiAgICBjb25zdCBtcyA9IE51bWJlcih0aW1lLnNsaWNlKDksIDEyKSkgfHwgMDtcblxuICAgIHJldHVybiBuZXcgQ3VpVGltZShob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tUFQodGltZTogc3RyaW5nKTogQ3VpVGltZSB7XG4gICAgbGV0IGR1cmF0aW9uID0gdGltZS50cmltKCkudG9VcHBlckNhc2UoKTtcblxuICAgIGlmICghZHVyYXRpb24uc3RhcnRzV2l0aCgnUCcpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgUFQgZm9ybWF0OiBkb2VzIG5vdCBzdGFydCB3aXRoIFAnKTtcbiAgICB9XG5cbiAgICBkdXJhdGlvbiA9IGR1cmF0aW9uLnN1YnN0cmluZygxKTtcblxuICAgIGlmIChkdXJhdGlvbi5zdGFydHNXaXRoKCdUJykpIHtcbiAgICAgIGR1cmF0aW9uID0gZHVyYXRpb24uc3Vic3RyaW5nKDEpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlZ2V4ID0gLyhcXGQrKFxcLlxcZCspPykoW0hNU10pL2c7XG4gICAgbGV0IG1hdGNoO1xuICAgIGxldCBob3VycyA9IDAsXG4gICAgICBtaW51dGVzID0gMCxcbiAgICAgIHNlY29uZHMgPSAwLFxuICAgICAgbXMgPSAwO1xuXG4gICAgd2hpbGUgKChtYXRjaCA9IHJlZ2V4LmV4ZWMoZHVyYXRpb24pKSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFsdWUgPSBwYXJzZUZsb2F0KG1hdGNoWzFdKTtcbiAgICAgIGNvbnN0IHVuaXQgPSBtYXRjaFszXTtcblxuICAgICAgaWYgKHVuaXQgPT09ICdIJykge1xuICAgICAgICBob3VycyA9IHZhbHVlO1xuICAgICAgfSBlbHNlIGlmICh1bml0ID09PSAnTScpIHtcbiAgICAgICAgbWludXRlcyA9IHZhbHVlO1xuICAgICAgfSBlbHNlIGlmICh1bml0ID09PSAnUycpIHtcbiAgICAgICAgc2Vjb25kcyA9IE1hdGguZmxvb3IodmFsdWUpO1xuICAgICAgICBtcyA9IE1hdGgucm91bmQoKHZhbHVlIC0gc2Vjb25kcykgKiAxMDAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEN1aVRpbWUoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHBhcnNlSG91cnModGltZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTnVtYmVyKHRpbWUuc2xpY2UoMCwgMikpO1xuICB9XG5cbiAgcHVibGljIHRvU3RyaW5nKG1vZGU/OiBDdWlUaW1lTW9kZSk6IHN0cmluZyB7XG4gICAgY29uc3QgbmVlZEFkZE1zID0gbW9kZT8uc3RhcnRzV2l0aCgnSEg6TU06U1MuTVNTJykgfHwgKCFtb2RlICYmIHRoaXMubXMgPiAwKTtcbiAgICBjb25zdCBuZWVkQWRkU2Vjb25kcyA9XG4gICAgICBuZWVkQWRkTXMgfHwgbW9kZT8uc3RhcnRzV2l0aCgnSEg6TU06U1MnKSB8fCAoIW1vZGUgJiYgdGhpcy5zZWNvbmRzID4gMCk7XG4gICAgY29uc3QgaGhNbSA9IGAke3RoaXMuZm9ybWF0VGltZSh0aGlzLmhvdXJzKX06JHt0aGlzLmZvcm1hdFRpbWUodGhpcy5taW51dGVzKX1gO1xuICAgIGNvbnN0IHNzID0gbmVlZEFkZFNlY29uZHMgPyBgOiR7dGhpcy5mb3JtYXRUaW1lKHRoaXMuc2Vjb25kcyl9YCA6ICcnO1xuICAgIGNvbnN0IG1zcyA9IG5lZWRBZGRNcyA/IGAuJHt0aGlzLmZvcm1hdFRpbWUodGhpcy5tcywgMyl9YCA6ICcnO1xuXG4gICAgcmV0dXJuIGAke2hoTW19JHtzc30ke21zc31gO1xuICB9XG5cbiAgcHVibGljIHRvUFQobW9kZT86IEN1aVRpbWVNb2RlKTogc3RyaW5nIHtcbiAgICBsZXQgZHVyYXRpb24gPSAnUFQnO1xuICAgIGlmICh0aGlzLmhvdXJzICE9PSAwKSB7XG4gICAgICBkdXJhdGlvbiArPSBgJHt0aGlzLmhvdXJzfUhgO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm1pbnV0ZXMgIT09IDApIHtcbiAgICAgIGR1cmF0aW9uICs9IGAke3RoaXMubWludXRlc31NYDtcbiAgICB9XG5cbiAgICBjb25zdCB0b3RhbFNlY29uZHMgPSB0aGlzLnNlY29uZHMgKyB0aGlzLm1zIC8gMTAwMDtcblxuICAgIGlmICh0b3RhbFNlY29uZHMgIT09IDAgfHwgZHVyYXRpb24gPT09ICdQVCcpIHtcbiAgICAgIGR1cmF0aW9uICs9IGAke3BhcnNlRmxvYXQodG90YWxTZWNvbmRzLnRvRml4ZWQoMykpfVNgO1xuICAgIH1cblxuICAgIHJldHVybiBkdXJhdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0VGltZSh0aW1lOiBudW1iZXIsIGRpZ2l0cyA9IDIpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdHJpbmcodGltZSkucGFkU3RhcnQoZGlnaXRzLCAnMCcpO1xuICB9XG59Il19
|
package/fesm2015/cuby-ui-cdk.mjs
CHANGED
|
@@ -26,6 +26,34 @@ class CuiTime {
|
|
|
26
26
|
const ms = Number(time.slice(9, 12)) || 0;
|
|
27
27
|
return new CuiTime(hours, minutes, seconds, ms);
|
|
28
28
|
}
|
|
29
|
+
static fromPT(time) {
|
|
30
|
+
let duration = time.trim().toUpperCase();
|
|
31
|
+
if (!duration.startsWith('P')) {
|
|
32
|
+
throw new Error('Invalid PT format: does not start with P');
|
|
33
|
+
}
|
|
34
|
+
duration = duration.substring(1);
|
|
35
|
+
if (duration.startsWith('T')) {
|
|
36
|
+
duration = duration.substring(1);
|
|
37
|
+
}
|
|
38
|
+
const regex = /(\d+(\.\d+)?)([HMS])/g;
|
|
39
|
+
let match;
|
|
40
|
+
let hours = 0, minutes = 0, seconds = 0, ms = 0;
|
|
41
|
+
while ((match = regex.exec(duration)) !== null) {
|
|
42
|
+
const value = parseFloat(match[1]);
|
|
43
|
+
const unit = match[3];
|
|
44
|
+
if (unit === 'H') {
|
|
45
|
+
hours = value;
|
|
46
|
+
}
|
|
47
|
+
else if (unit === 'M') {
|
|
48
|
+
minutes = value;
|
|
49
|
+
}
|
|
50
|
+
else if (unit === 'S') {
|
|
51
|
+
seconds = Math.floor(value);
|
|
52
|
+
ms = Math.round((value - seconds) * 1000);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return new CuiTime(hours, minutes, seconds, ms);
|
|
56
|
+
}
|
|
29
57
|
static parseHours(time) {
|
|
30
58
|
return Number(time.slice(0, 2));
|
|
31
59
|
}
|
|
@@ -37,6 +65,20 @@ class CuiTime {
|
|
|
37
65
|
const mss = needAddMs ? `.${this.formatTime(this.ms, 3)}` : '';
|
|
38
66
|
return `${hhMm}${ss}${mss}`;
|
|
39
67
|
}
|
|
68
|
+
toPT(mode) {
|
|
69
|
+
let duration = 'PT';
|
|
70
|
+
if (this.hours !== 0) {
|
|
71
|
+
duration += `${this.hours}H`;
|
|
72
|
+
}
|
|
73
|
+
if (this.minutes !== 0) {
|
|
74
|
+
duration += `${this.minutes}M`;
|
|
75
|
+
}
|
|
76
|
+
const totalSeconds = this.seconds + this.ms / 1000;
|
|
77
|
+
if (totalSeconds !== 0 || duration === 'PT') {
|
|
78
|
+
duration += `${parseFloat(totalSeconds.toFixed(3))}S`;
|
|
79
|
+
}
|
|
80
|
+
return duration;
|
|
81
|
+
}
|
|
40
82
|
formatTime(time, digits = 2) {
|
|
41
83
|
return String(time).padStart(digits, '0');
|
|
42
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cuby-ui-cdk.mjs","sources":["../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/date-time/time.ts","../../../projects/cdk/utils/token/create-token.ts","../../../projects/cdk/utils/token/provide.ts","../../../projects/cdk/tokens/window.ts","../../../projects/cdk/tokens/history.ts","../../../projects/cdk/tokens/local-storage.ts","../../../projects/cdk/tokens/session-storage.ts","../../../projects/cdk/services/destroy.service.ts","../../../projects/cdk/services/id.service.ts","../../../projects/cdk/services/popover.service.ts","../../../projects/cdk/directives/auto-resizing.directive.ts","../../../projects/cdk/directives/click-outside.directive.ts","../../../projects/cdk/directives/dimensions-observer.directive.ts","../../../projects/cdk/directives/content-editable-value-accessor.directive.ts","../../../projects/cdk/directives/element.directive.ts","../../../projects/cdk/utils/dom/contains-or-after.ts","../../../projects/cdk/utils/dom/is-html-element.ts","../../../projects/cdk/utils/focus/get-native-focused.ts","../../../projects/cdk/utils/focus/blur-native-focused.ts","../../../projects/cdk/utils/focus/is-native-keyboard-focusable.ts","../../../projects/cdk/utils/focus/is-native-mouse-focusable.ts","../../../projects/cdk/utils/focus/get-closest-focusable.ts","../../../projects/cdk/directives/focus-trap.directive.ts","../../../projects/cdk/directives/item.directive.ts","../../../projects/cdk/directives/let.context.ts","../../../projects/cdk/directives/let.directive.ts","../../../projects/cdk/directives/target.directive.ts","../../../projects/cdk/pipes/filter.pipe.ts","../../../projects/cdk/cuby-ui-cdk.ts"],"sourcesContent":["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};","import type { CuiTimeMode } from '../types';\n\nexport class CuiTime {\n constructor(\n public readonly hours: number,\n public readonly minutes: number,\n public readonly seconds = 0,\n public readonly ms = 0,\n ) {\n }\n\n public static fromString(time: string): CuiTime {\n const hours = this.parseHours(time);\n const minutes = Number(time.slice(3, 5)) || 0;\n const seconds = Number(time.slice(6, 8)) || 0;\n const ms = Number(time.slice(9, 12)) || 0;\n\n return new CuiTime(hours, minutes, seconds, ms);\n }\n\n private static parseHours(time: string): number {\n return Number(time.slice(0, 2));\n }\n\n public toString(mode?: CuiTimeMode): string {\n const needAddMs = mode?.startsWith('HH:MM:SS.MSS') || (!mode && this.ms > 0);\n const needAddSeconds =\n needAddMs || mode?.startsWith('HH:MM:SS') || (!mode && this.seconds > 0);\n const hhMm = `${this.formatTime(this.hours)}:${this.formatTime(this.minutes)}`;\n const ss = needAddSeconds ? `:${this.formatTime(this.seconds)}` : '';\n const mss = needAddMs ? `.${this.formatTime(this.ms, 3)}` : '';\n\n return `${hhMm}${ss}${mss}`;\n }\n\n private formatTime(time: number, digits = 2): string {\n return String(time).padStart(digits, '0');\n }\n}","import { InjectionToken } from '@angular/core';\n\nexport function cuiCreateToken<T>(defaults: T): InjectionToken<T> {\n return cuiCreateTokenFromFactory(() => defaults);\n}\n\nexport function cuiCreateTokenFromFactory<T>(factory: () => T): InjectionToken<T> {\n return new InjectionToken<T>('', { factory });\n}\n","import type { ExistingProvider, ProviderToken } from '@angular/core';\n\nexport function cuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n): ExistingProvider;\nexport function cuiProvide<T>(\n provide: ProviderToken<T | T[]>,\n useExisting: ProviderToken<T>,\n multi: boolean,\n): ExistingProvider;\nexport function cuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n multi = false,\n): ExistingProvider {\n return { provide, useExisting, multi };\n}\n","import { inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_WINDOW = cuiCreateTokenFromFactory<Window>(() => {\n const { defaultView } = inject(DOCUMENT);\n\n if (!defaultView) {\n throw new Error('Window is not available');\n }\n\n return defaultView;\n});","import { inject } from '@angular/core';\n\nimport { CUI_WINDOW } from './window';\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\n\nexport const CUI_HISTORY = cuiCreateTokenFromFactory<History>(() => inject(CUI_WINDOW).history);","import { inject } from '@angular/core';\n\nimport { CUI_WINDOW } from './window';\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_LOCAL_STORAGE = cuiCreateTokenFromFactory(() => inject(CUI_WINDOW).localStorage);","import { inject } from '@angular/core';\n\nimport { CUI_WINDOW } from './window';\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_SESSION_STORAGE = cuiCreateTokenFromFactory(() => inject(CUI_WINDOW).sessionStorage);","import type { OnDestroy } from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class CuiDestroyService extends Subject<void> implements OnDestroy {\n public ngOnDestroy(): void {\n this.next();\n this.complete();\n }\n}\n","import { Injectable } from '@angular/core';\n\nconst CUI = 'cui_';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CuiIdService {\n private static autoId = 0;\n\n public generate(): string {\n return `${CUI}${CuiIdService.autoId++}${Date.now()}`;\n }\n}\n","import type { ProviderToken, TemplateRef, Type } from '@angular/core';\nimport { inject, Injectable } from '@angular/core';\nimport type { BehaviorSubject, Observer } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nimport { CuiIdService } from './id.service';\n\n// TODO: Content должен быть типом из директивы *content\nexport interface CuiPopoverContext {\n readonly $implicit: Observer<any>;\n readonly id: string;\n readonly component: Type<unknown>;\n readonly content: Type<unknown> | TemplateRef<unknown> | string;\n readonly completeWith: (value?: any) => void;\n}\n\nexport type CuiPopover<T> = T & CuiPopoverContext;\n\n@Injectable()\nexport abstract class CuiPopoverService<T> {\n private readonly cuiIdService = inject(CuiIdService);\n private readonly items$: BehaviorSubject<ReadonlyArray<CuiPopover<T>>>;\n private readonly component: Type<any>;\n\n constructor(\n items: ProviderToken<BehaviorSubject<ReadonlyArray<CuiPopover<T>>>>,\n component: Type<any>,\n private readonly options: T = {} as T\n ) {\n this.items$ = inject(items);\n this.component = component;\n }\n\n public open(\n content: CuiPopoverContext['content'],\n options: Partial<T> = {}\n ): Observable<any> {\n return new Observable(observer => {\n const item: CuiPopover<T> = {\n ...this.options,\n ...options,\n $implicit: observer,\n id: this.cuiIdService.generate(),\n component: this.component,\n content: content,\n completeWith: (result) => {\n observer.next(result);\n observer.complete();\n },\n };\n\n this.items$.next([...this.items$.value, item]);\n\n return () => {\n this.items$.next(this.items$.value.filter(value => value !== item));\n };\n });\n }\n}\n","import type { AfterViewInit, OnInit } from '@angular/core';\nimport {\n Directive,\n ElementRef,\n HostListener,\n inject\n} from '@angular/core';\nimport { NgControl, NgModel } from '@angular/forms';\nimport { takeUntil } from 'rxjs';\n\nimport { CUI_WINDOW } from '../tokens';\nimport { CuiDestroyService } from '../services';\n\n@Directive({\n standalone: true,\n selector: 'textarea[cuiAutoResizing]',\n providers: [CuiDestroyService]\n})\nexport class CuiAutoResizingDirective implements OnInit, AfterViewInit {\n private readonly window = inject(CUI_WINDOW);\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n private readonly ngControl = inject(NgControl, { self: true, optional: true });\n private readonly ngModel = inject(NgModel, { self: true, optional: true });\n private readonly destroy$ = inject(CuiDestroyService, { self: true });\n\n private readonly elementStyles = this.element.style;\n\n public ngOnInit(): void {\n this.initNgControlValueChangeSubscription();\n this.initNgModelValueChangeSubscription();\n }\n\n public ngAfterViewInit(): void {\n this.resize();\n }\n\n @HostListener('input')\n protected onInput(): void {\n this.resize();\n }\n\n private initNgControlValueChangeSubscription(): void {\n if (!this.ngControl) {\n return;\n }\n\n this.ngControl.valueChanges!\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.resize.bind(this));\n }\n\n private initNgModelValueChangeSubscription(): void {\n if (!this.ngModel) {\n return;\n }\n\n this.ngModel.valueChanges!\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.resize.bind(this));\n }\n\n private resize(): void {\n const computedMaxHeight = this.window.getComputedStyle(this.element).maxHeight;\n\n this.elementStyles.height = 'auto';\n this.elementStyles.height = this.element.scrollHeight + 'px';\n\n if (parseFloat(this.element.style.height) < parseFloat(computedMaxHeight)) {\n this.elementStyles.overflow = 'hidden';\n\n return;\n }\n\n this.elementStyles.overflowY = 'scroll';\n this.elementStyles.height = computedMaxHeight;\n }\n}\n","import { Directive, ElementRef, EventEmitter, HostListener, inject, Output } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '(cuiClickOutside)'\n})\nexport class CuiClickOutsideDirective {\n private readonly element = inject(ElementRef).nativeElement;\n\n @Output()\n public cuiClickOutside = new EventEmitter<HTMLElement>();\n\n @HostListener('document:click', ['$event.target'])\n protected onClickOutside(target: HTMLElement): void {\n if (this.element.contains(target)) {\n return;\n }\n\n this.cuiClickOutside.emit(target);\n }\n}","import type { OnInit, OnDestroy } from '@angular/core';\nimport { Directive, ElementRef, EventEmitter, inject, Output } from '@angular/core';\n\nimport type { CuiDimensions } from '../interfaces';\n\n@Directive({\n standalone: true,\n selector: '[cuiResizeObserver]'\n})\nexport class CuiDimensionsObserverDirective implements OnInit, OnDestroy {\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n\n private readonly observer = new ResizeObserver((entries) => {\n entries.forEach(() => this.cuiResizeObserver.emit({\n width: this.element.offsetWidth,\n height: this.element.offsetHeight\n }));\n });\n\n @Output()\n public cuiResizeObserver = new EventEmitter<CuiDimensions>();\n\n public ngOnInit(): void {\n this.observer.observe(this.element);\n }\n\n ngOnDestroy(): void {\n this.observer.disconnect();\n }\n}","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport type { CuiNullable } from '../types';\nimport type { CuiOnChange, CuiOnTouched } from '../interfaces';\nimport { cuiProvide } from '../utils/token';\n\n@Directive({\n standalone: true,\n selector: '[contenteditable][formControlName], [contenteditable][formControl], [contenteditable][ngModel]',\n providers: [cuiProvide(NG_VALUE_ACCESSOR, CuiContentEditableValueAccessorDirective, true)]\n})\nexport class CuiContentEditableValueAccessorDirective implements ControlValueAccessor {\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n\n protected onChange!: CuiOnChange<string>;\n protected onTouched!: CuiOnTouched;\n\n public writeValue(value: CuiNullable<string>): void {\n this.element.innerText = value ?? '';\n }\n\n public registerOnChange(fn: CuiOnChange<string>): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: CuiOnTouched): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.element.contentEditable = String(!isDisabled);\n }\n\n @HostListener('input')\n protected onInput(): void {\n this.onChange(this.element.innerHTML === '<br>' ? '' : this.element.innerText);\n }\n\n @HostListener('blur')\n protected onBlur(): void {\n this.onTouched();\n }\n}","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[cuiElement]',\n exportAs: 'elementRef',\n})\nexport class CuiElementDirective<T extends Element = HTMLElement> implements ElementRef<T> {\n public nativeElement = inject(ElementRef<T>).nativeElement;\n\n constructor() {\n return new ElementRef<T>(this.nativeElement);\n }\n}\n","export function cuiContainsOrAfter(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}","export function cuiIsHTMLElement(node: any): node is HTMLElement {\n return !!node && node instanceof node.ownerDocument.defaultView.HTMLElement;\n}","export function cuiGetNativeFocused({activeElement}: Document): Element | null {\n if (!activeElement?.shadowRoot) {\n return activeElement;\n }\n\n let element = activeElement.shadowRoot.activeElement;\n\n while (element?.shadowRoot) {\n element = element.shadowRoot.activeElement;\n }\n\n return element;\n}\n","import { cuiGetNativeFocused } from './get-native-focused';\nimport { cuiIsHTMLElement } from '../dom';\n\nexport function cuiBlurNativeFocused(document: Document): void {\n const activeElement = cuiGetNativeFocused(document);\n\n if (cuiIsHTMLElement(activeElement)) {\n activeElement.blur();\n }\n}","import { cuiIsHTMLElement } from '../dom';\n\nexport function cuiIsNativeKeyboardFocusable(element: Element): boolean {\n if (element.hasAttribute('disabled') || element.getAttribute('tabIndex') === '-1') {\n return false;\n }\n\n if (\n (cuiIsHTMLElement(element) && element.isContentEditable) ||\n element.getAttribute('tabIndex') === '0'\n ) {\n return true;\n }\n\n switch (element.tagName) {\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA':\n return true;\n case 'VIDEO':\n case 'AUDIO':\n return element.hasAttribute('controls');\n case 'INPUT':\n return element.getAttribute('type') !== 'hidden';\n case 'A':\n case 'LINK':\n return element.hasAttribute('href');\n default:\n return false;\n }\n}","import { cuiIsNativeKeyboardFocusable } from './is-native-keyboard-focusable';\n\nexport function cuiIsNativeMouseFocusable(element: Element): boolean {\n return (\n !element.hasAttribute('disabled') &&\n (element.getAttribute('tabIndex') === '-1' ||\n cuiIsNativeKeyboardFocusable(element))\n );\n}","import { cuiIsNativeKeyboardFocusable } from './is-native-keyboard-focusable';\nimport { cuiIsNativeMouseFocusable } from './is-native-mouse-focusable';\nimport { cuiIsHTMLElement } from '../dom';\nimport { svgNodeFilter } from '../../constants';\n\nexport interface CuiGetClosestFocusableOptions {\n initial: Element;\n keyboard?: boolean;\n previous?: boolean;\n root: Node;\n}\n\nexport function cuiGetClosestFocusable({\n initial,\n root,\n previous = false,\n keyboard = true,\n }: CuiGetClosestFocusableOptions): HTMLElement | null {\n if (!root.ownerDocument) {\n return null;\n }\n\n const check = keyboard ? cuiIsNativeKeyboardFocusable : cuiIsNativeMouseFocusable;\n const treeWalker = root.ownerDocument.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n svgNodeFilter,\n );\n\n treeWalker.currentNode = initial;\n\n while (previous ? treeWalker.previousNode() : treeWalker.nextNode()) {\n if (cuiIsHTMLElement(treeWalker.currentNode)) {\n initial = treeWalker.currentNode;\n }\n\n if (cuiIsHTMLElement(initial) && check(initial)) {\n return initial;\n }\n }\n\n return null;\n}","import type { OnDestroy } from '@angular/core';\nimport { Directive, ElementRef, HostBinding, HostListener, inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport {\n cuiBlurNativeFocused,\n cuiContainsOrAfter,\n cuiGetClosestFocusable,\n cuiGetNativeFocused,\n cuiIsHTMLElement\n} from '../utils';\n\n@Directive({\n standalone: true,\n selector: '[cuiFocusTrap]',\n})\nexport class CuiFocusTrapDirective implements OnDestroy {\n private readonly document = inject(DOCUMENT);\n private readonly element = inject(ElementRef).nativeElement;\n private readonly activeElement = cuiGetNativeFocused(this.document);\n\n constructor() {\n this.initElementFocus();\n }\n\n public ngOnDestroy(): void {\n cuiBlurNativeFocused(this.document);\n\n Promise.resolve().then(() => {\n if (!cuiIsHTMLElement(this.activeElement)) {\n return;\n }\n\n this.activeElement.focus();\n });\n }\n\n @HostBinding('tabIndex')\n protected readonly tabIndex = 0;\n\n @HostListener('window:focusin', ['$event.target'])\n protected onFocusIn(node: Node): void {\n if (cuiContainsOrAfter(this.element, node)) {\n return;\n }\n\n cuiGetClosestFocusable({\n initial: this.element,\n root: this.element,\n })?.focus();\n }\n\n private initElementFocus(): void {\n Promise.resolve().then(() => this.element.focus());\n }\n}","import { Directive } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[cuiItem]'\n})\nexport class CuiItemDirective {\n}","import type { CuiLetDirective } from './let.directive';\n\nexport class CuiLetContext<T> {\n constructor(private readonly internalDirectiveInstance: CuiLetDirective<T>) {}\n\n public get $implicit(): T {\n return this.internalDirectiveInstance.cuiLet;\n }\n\n public get cuiLet(): T {\n return this.internalDirectiveInstance.cuiLet;\n }\n}","import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\nimport { CuiLetContext } from './let.context';\n\n@Directive({\n standalone: true,\n selector: '[cuiLet]'\n})\nexport class CuiLetDirective<T> {\n @Input()\n public cuiLet!: T;\n\n constructor() {\n inject(ViewContainerRef).createEmbeddedView(\n inject(TemplateRef<CuiLetContext<T>>),\n new CuiLetContext<T>(this),\n );\n }\n\n public static ngTemplateContextGuard<T>(\n _dir: CuiLetDirective<T>,\n _ctx: unknown,\n ): _ctx is CuiLetContext<T> {\n return true;\n }\n}","import type { OnInit, OnDestroy } from '@angular/core';\r\nimport { Directive, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[ccTarget]',\r\n})\r\nexport class CuiTargetDirective implements OnInit, OnDestroy {\r\n private readonly clickListener = (event: MouseEvent): void => {\r\n this.clicked.emit(event);\r\n };\r\n\r\n @Input()\r\n public ccTarget!: HTMLElement;\r\n\r\n @Output()\r\n public clicked = new EventEmitter<MouseEvent>();\r\n\r\n public ngOnInit(): void {\r\n this.initClickListener();\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.destroyClickListener();\r\n }\r\n\r\n private initClickListener(): void {\r\n this.ccTarget.addEventListener('click', this.clickListener);\r\n }\r\n\r\n private destroyClickListener(): void {\r\n this.ccTarget.removeEventListener('click', this.clickListener);\r\n }\r\n}\r\n","import type { PipeTransform } from '@angular/core';\nimport { Pipe } from '@angular/core';\n\nimport { CuiMatcher } from '../types';\n\n@Pipe({\n standalone: true,\n name: 'cuiFilter'\n})\nexport class CuiFilterPipe implements PipeTransform {\n transform<T, U extends unknown[]>(items: ReadonlyArray<T>, matcher: CuiMatcher<[T, ...U]>, ...args: U): T[] {\n return items.filter(item => matcher(item, ...args));\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":"cuby-ui-cdk.mjs","sources":["../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/date-time/time.ts","../../../projects/cdk/utils/token/create-token.ts","../../../projects/cdk/utils/token/provide.ts","../../../projects/cdk/tokens/window.ts","../../../projects/cdk/tokens/history.ts","../../../projects/cdk/tokens/local-storage.ts","../../../projects/cdk/tokens/session-storage.ts","../../../projects/cdk/services/destroy.service.ts","../../../projects/cdk/services/id.service.ts","../../../projects/cdk/services/popover.service.ts","../../../projects/cdk/directives/auto-resizing.directive.ts","../../../projects/cdk/directives/click-outside.directive.ts","../../../projects/cdk/directives/dimensions-observer.directive.ts","../../../projects/cdk/directives/content-editable-value-accessor.directive.ts","../../../projects/cdk/directives/element.directive.ts","../../../projects/cdk/utils/dom/contains-or-after.ts","../../../projects/cdk/utils/dom/is-html-element.ts","../../../projects/cdk/utils/focus/get-native-focused.ts","../../../projects/cdk/utils/focus/blur-native-focused.ts","../../../projects/cdk/utils/focus/is-native-keyboard-focusable.ts","../../../projects/cdk/utils/focus/is-native-mouse-focusable.ts","../../../projects/cdk/utils/focus/get-closest-focusable.ts","../../../projects/cdk/directives/focus-trap.directive.ts","../../../projects/cdk/directives/item.directive.ts","../../../projects/cdk/directives/let.context.ts","../../../projects/cdk/directives/let.directive.ts","../../../projects/cdk/directives/target.directive.ts","../../../projects/cdk/pipes/filter.pipe.ts","../../../projects/cdk/cuby-ui-cdk.ts"],"sourcesContent":["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};","import type { CuiTimeMode } from '../types';\n\nexport class CuiTime {\n constructor(\n public readonly hours: number,\n public readonly minutes: number,\n public readonly seconds = 0,\n public readonly ms = 0,\n ) {\n }\n\n public static fromString(time: string): CuiTime {\n const hours = this.parseHours(time);\n const minutes = Number(time.slice(3, 5)) || 0;\n const seconds = Number(time.slice(6, 8)) || 0;\n const ms = Number(time.slice(9, 12)) || 0;\n\n return new CuiTime(hours, minutes, seconds, ms);\n }\n\n public static fromPT(time: string): CuiTime {\n let duration = time.trim().toUpperCase();\n\n if (!duration.startsWith('P')) {\n throw new Error('Invalid PT format: does not start with P');\n }\n\n duration = duration.substring(1);\n\n if (duration.startsWith('T')) {\n duration = duration.substring(1);\n }\n\n const regex = /(\\d+(\\.\\d+)?)([HMS])/g;\n let match;\n let hours = 0,\n minutes = 0,\n seconds = 0,\n ms = 0;\n\n while ((match = regex.exec(duration)) !== null) {\n const value = parseFloat(match[1]);\n const unit = match[3];\n\n if (unit === 'H') {\n hours = value;\n } else if (unit === 'M') {\n minutes = value;\n } else if (unit === 'S') {\n seconds = Math.floor(value);\n ms = Math.round((value - seconds) * 1000);\n }\n }\n\n return new CuiTime(hours, minutes, seconds, ms);\n }\n\n private static parseHours(time: string): number {\n return Number(time.slice(0, 2));\n }\n\n public toString(mode?: CuiTimeMode): string {\n const needAddMs = mode?.startsWith('HH:MM:SS.MSS') || (!mode && this.ms > 0);\n const needAddSeconds =\n needAddMs || mode?.startsWith('HH:MM:SS') || (!mode && this.seconds > 0);\n const hhMm = `${this.formatTime(this.hours)}:${this.formatTime(this.minutes)}`;\n const ss = needAddSeconds ? `:${this.formatTime(this.seconds)}` : '';\n const mss = needAddMs ? `.${this.formatTime(this.ms, 3)}` : '';\n\n return `${hhMm}${ss}${mss}`;\n }\n\n public toPT(mode?: CuiTimeMode): string {\n let duration = 'PT';\n if (this.hours !== 0) {\n duration += `${this.hours}H`;\n }\n\n if (this.minutes !== 0) {\n duration += `${this.minutes}M`;\n }\n\n const totalSeconds = this.seconds + this.ms / 1000;\n\n if (totalSeconds !== 0 || duration === 'PT') {\n duration += `${parseFloat(totalSeconds.toFixed(3))}S`;\n }\n\n return duration;\n }\n\n private formatTime(time: number, digits = 2): string {\n return String(time).padStart(digits, '0');\n }\n}","import { InjectionToken } from '@angular/core';\n\nexport function cuiCreateToken<T>(defaults: T): InjectionToken<T> {\n return cuiCreateTokenFromFactory(() => defaults);\n}\n\nexport function cuiCreateTokenFromFactory<T>(factory: () => T): InjectionToken<T> {\n return new InjectionToken<T>('', { factory });\n}\n","import type { ExistingProvider, ProviderToken } from '@angular/core';\n\nexport function cuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n): ExistingProvider;\nexport function cuiProvide<T>(\n provide: ProviderToken<T | T[]>,\n useExisting: ProviderToken<T>,\n multi: boolean,\n): ExistingProvider;\nexport function cuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n multi = false,\n): ExistingProvider {\n return { provide, useExisting, multi };\n}\n","import { inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_WINDOW = cuiCreateTokenFromFactory<Window>(() => {\n const { defaultView } = inject(DOCUMENT);\n\n if (!defaultView) {\n throw new Error('Window is not available');\n }\n\n return defaultView;\n});","import { inject } from '@angular/core';\n\nimport { CUI_WINDOW } from './window';\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\n\nexport const CUI_HISTORY = cuiCreateTokenFromFactory<History>(() => inject(CUI_WINDOW).history);","import { inject } from '@angular/core';\n\nimport { CUI_WINDOW } from './window';\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_LOCAL_STORAGE = cuiCreateTokenFromFactory(() => inject(CUI_WINDOW).localStorage);","import { inject } from '@angular/core';\n\nimport { CUI_WINDOW } from './window';\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_SESSION_STORAGE = cuiCreateTokenFromFactory(() => inject(CUI_WINDOW).sessionStorage);","import type { OnDestroy } from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class CuiDestroyService extends Subject<void> implements OnDestroy {\n public ngOnDestroy(): void {\n this.next();\n this.complete();\n }\n}\n","import { Injectable } from '@angular/core';\n\nconst CUI = 'cui_';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CuiIdService {\n private static autoId = 0;\n\n public generate(): string {\n return `${CUI}${CuiIdService.autoId++}${Date.now()}`;\n }\n}\n","import type { ProviderToken, TemplateRef, Type } from '@angular/core';\nimport { inject, Injectable } from '@angular/core';\nimport type { BehaviorSubject, Observer } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nimport { CuiIdService } from './id.service';\n\n// TODO: Content должен быть типом из директивы *content\nexport interface CuiPopoverContext {\n readonly $implicit: Observer<any>;\n readonly id: string;\n readonly component: Type<unknown>;\n readonly content: Type<unknown> | TemplateRef<unknown> | string;\n readonly completeWith: (value?: any) => void;\n}\n\nexport type CuiPopover<T> = T & CuiPopoverContext;\n\n@Injectable()\nexport abstract class CuiPopoverService<T> {\n private readonly cuiIdService = inject(CuiIdService);\n private readonly items$: BehaviorSubject<ReadonlyArray<CuiPopover<T>>>;\n private readonly component: Type<any>;\n\n constructor(\n items: ProviderToken<BehaviorSubject<ReadonlyArray<CuiPopover<T>>>>,\n component: Type<any>,\n private readonly options: T = {} as T\n ) {\n this.items$ = inject(items);\n this.component = component;\n }\n\n public open(\n content: CuiPopoverContext['content'],\n options: Partial<T> = {}\n ): Observable<any> {\n return new Observable(observer => {\n const item: CuiPopover<T> = {\n ...this.options,\n ...options,\n $implicit: observer,\n id: this.cuiIdService.generate(),\n component: this.component,\n content: content,\n completeWith: (result) => {\n observer.next(result);\n observer.complete();\n },\n };\n\n this.items$.next([...this.items$.value, item]);\n\n return () => {\n this.items$.next(this.items$.value.filter(value => value !== item));\n };\n });\n }\n}\n","import type { AfterViewInit, OnInit } from '@angular/core';\nimport {\n Directive,\n ElementRef,\n HostListener,\n inject\n} from '@angular/core';\nimport { NgControl, NgModel } from '@angular/forms';\nimport { takeUntil } from 'rxjs';\n\nimport { CUI_WINDOW } from '../tokens';\nimport { CuiDestroyService } from '../services';\n\n@Directive({\n standalone: true,\n selector: 'textarea[cuiAutoResizing]',\n providers: [CuiDestroyService]\n})\nexport class CuiAutoResizingDirective implements OnInit, AfterViewInit {\n private readonly window = inject(CUI_WINDOW);\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n private readonly ngControl = inject(NgControl, { self: true, optional: true });\n private readonly ngModel = inject(NgModel, { self: true, optional: true });\n private readonly destroy$ = inject(CuiDestroyService, { self: true });\n\n private readonly elementStyles = this.element.style;\n\n public ngOnInit(): void {\n this.initNgControlValueChangeSubscription();\n this.initNgModelValueChangeSubscription();\n }\n\n public ngAfterViewInit(): void {\n this.resize();\n }\n\n @HostListener('input')\n protected onInput(): void {\n this.resize();\n }\n\n private initNgControlValueChangeSubscription(): void {\n if (!this.ngControl) {\n return;\n }\n\n this.ngControl.valueChanges!\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.resize.bind(this));\n }\n\n private initNgModelValueChangeSubscription(): void {\n if (!this.ngModel) {\n return;\n }\n\n this.ngModel.valueChanges!\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.resize.bind(this));\n }\n\n private resize(): void {\n const computedMaxHeight = this.window.getComputedStyle(this.element).maxHeight;\n\n this.elementStyles.height = 'auto';\n this.elementStyles.height = this.element.scrollHeight + 'px';\n\n if (parseFloat(this.element.style.height) < parseFloat(computedMaxHeight)) {\n this.elementStyles.overflow = 'hidden';\n\n return;\n }\n\n this.elementStyles.overflowY = 'scroll';\n this.elementStyles.height = computedMaxHeight;\n }\n}\n","import { Directive, ElementRef, EventEmitter, HostListener, inject, Output } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '(cuiClickOutside)'\n})\nexport class CuiClickOutsideDirective {\n private readonly element = inject(ElementRef).nativeElement;\n\n @Output()\n public cuiClickOutside = new EventEmitter<HTMLElement>();\n\n @HostListener('document:click', ['$event.target'])\n protected onClickOutside(target: HTMLElement): void {\n if (this.element.contains(target)) {\n return;\n }\n\n this.cuiClickOutside.emit(target);\n }\n}","import type { OnInit, OnDestroy } from '@angular/core';\nimport { Directive, ElementRef, EventEmitter, inject, Output } from '@angular/core';\n\nimport type { CuiDimensions } from '../interfaces';\n\n@Directive({\n standalone: true,\n selector: '[cuiResizeObserver]'\n})\nexport class CuiDimensionsObserverDirective implements OnInit, OnDestroy {\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n\n private readonly observer = new ResizeObserver((entries) => {\n entries.forEach(() => this.cuiResizeObserver.emit({\n width: this.element.offsetWidth,\n height: this.element.offsetHeight\n }));\n });\n\n @Output()\n public cuiResizeObserver = new EventEmitter<CuiDimensions>();\n\n public ngOnInit(): void {\n this.observer.observe(this.element);\n }\n\n ngOnDestroy(): void {\n this.observer.disconnect();\n }\n}","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport type { CuiNullable } from '../types';\nimport type { CuiOnChange, CuiOnTouched } from '../interfaces';\nimport { cuiProvide } from '../utils/token';\n\n@Directive({\n standalone: true,\n selector: '[contenteditable][formControlName], [contenteditable][formControl], [contenteditable][ngModel]',\n providers: [cuiProvide(NG_VALUE_ACCESSOR, CuiContentEditableValueAccessorDirective, true)]\n})\nexport class CuiContentEditableValueAccessorDirective implements ControlValueAccessor {\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n\n protected onChange!: CuiOnChange<string>;\n protected onTouched!: CuiOnTouched;\n\n public writeValue(value: CuiNullable<string>): void {\n this.element.innerText = value ?? '';\n }\n\n public registerOnChange(fn: CuiOnChange<string>): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: CuiOnTouched): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.element.contentEditable = String(!isDisabled);\n }\n\n @HostListener('input')\n protected onInput(): void {\n this.onChange(this.element.innerHTML === '<br>' ? '' : this.element.innerText);\n }\n\n @HostListener('blur')\n protected onBlur(): void {\n this.onTouched();\n }\n}","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[cuiElement]',\n exportAs: 'elementRef',\n})\nexport class CuiElementDirective<T extends Element = HTMLElement> implements ElementRef<T> {\n public nativeElement = inject(ElementRef<T>).nativeElement;\n\n constructor() {\n return new ElementRef<T>(this.nativeElement);\n }\n}\n","export function cuiContainsOrAfter(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}","export function cuiIsHTMLElement(node: any): node is HTMLElement {\n return !!node && node instanceof node.ownerDocument.defaultView.HTMLElement;\n}","export function cuiGetNativeFocused({activeElement}: Document): Element | null {\n if (!activeElement?.shadowRoot) {\n return activeElement;\n }\n\n let element = activeElement.shadowRoot.activeElement;\n\n while (element?.shadowRoot) {\n element = element.shadowRoot.activeElement;\n }\n\n return element;\n}\n","import { cuiGetNativeFocused } from './get-native-focused';\nimport { cuiIsHTMLElement } from '../dom';\n\nexport function cuiBlurNativeFocused(document: Document): void {\n const activeElement = cuiGetNativeFocused(document);\n\n if (cuiIsHTMLElement(activeElement)) {\n activeElement.blur();\n }\n}","import { cuiIsHTMLElement } from '../dom';\n\nexport function cuiIsNativeKeyboardFocusable(element: Element): boolean {\n if (element.hasAttribute('disabled') || element.getAttribute('tabIndex') === '-1') {\n return false;\n }\n\n if (\n (cuiIsHTMLElement(element) && element.isContentEditable) ||\n element.getAttribute('tabIndex') === '0'\n ) {\n return true;\n }\n\n switch (element.tagName) {\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA':\n return true;\n case 'VIDEO':\n case 'AUDIO':\n return element.hasAttribute('controls');\n case 'INPUT':\n return element.getAttribute('type') !== 'hidden';\n case 'A':\n case 'LINK':\n return element.hasAttribute('href');\n default:\n return false;\n }\n}","import { cuiIsNativeKeyboardFocusable } from './is-native-keyboard-focusable';\n\nexport function cuiIsNativeMouseFocusable(element: Element): boolean {\n return (\n !element.hasAttribute('disabled') &&\n (element.getAttribute('tabIndex') === '-1' ||\n cuiIsNativeKeyboardFocusable(element))\n );\n}","import { cuiIsNativeKeyboardFocusable } from './is-native-keyboard-focusable';\nimport { cuiIsNativeMouseFocusable } from './is-native-mouse-focusable';\nimport { cuiIsHTMLElement } from '../dom';\nimport { svgNodeFilter } from '../../constants';\n\nexport interface CuiGetClosestFocusableOptions {\n initial: Element;\n keyboard?: boolean;\n previous?: boolean;\n root: Node;\n}\n\nexport function cuiGetClosestFocusable({\n initial,\n root,\n previous = false,\n keyboard = true,\n }: CuiGetClosestFocusableOptions): HTMLElement | null {\n if (!root.ownerDocument) {\n return null;\n }\n\n const check = keyboard ? cuiIsNativeKeyboardFocusable : cuiIsNativeMouseFocusable;\n const treeWalker = root.ownerDocument.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n svgNodeFilter,\n );\n\n treeWalker.currentNode = initial;\n\n while (previous ? treeWalker.previousNode() : treeWalker.nextNode()) {\n if (cuiIsHTMLElement(treeWalker.currentNode)) {\n initial = treeWalker.currentNode;\n }\n\n if (cuiIsHTMLElement(initial) && check(initial)) {\n return initial;\n }\n }\n\n return null;\n}","import type { OnDestroy } from '@angular/core';\nimport { Directive, ElementRef, HostBinding, HostListener, inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport {\n cuiBlurNativeFocused,\n cuiContainsOrAfter,\n cuiGetClosestFocusable,\n cuiGetNativeFocused,\n cuiIsHTMLElement\n} from '../utils';\n\n@Directive({\n standalone: true,\n selector: '[cuiFocusTrap]',\n})\nexport class CuiFocusTrapDirective implements OnDestroy {\n private readonly document = inject(DOCUMENT);\n private readonly element = inject(ElementRef).nativeElement;\n private readonly activeElement = cuiGetNativeFocused(this.document);\n\n constructor() {\n this.initElementFocus();\n }\n\n public ngOnDestroy(): void {\n cuiBlurNativeFocused(this.document);\n\n Promise.resolve().then(() => {\n if (!cuiIsHTMLElement(this.activeElement)) {\n return;\n }\n\n this.activeElement.focus();\n });\n }\n\n @HostBinding('tabIndex')\n protected readonly tabIndex = 0;\n\n @HostListener('window:focusin', ['$event.target'])\n protected onFocusIn(node: Node): void {\n if (cuiContainsOrAfter(this.element, node)) {\n return;\n }\n\n cuiGetClosestFocusable({\n initial: this.element,\n root: this.element,\n })?.focus();\n }\n\n private initElementFocus(): void {\n Promise.resolve().then(() => this.element.focus());\n }\n}","import { Directive } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[cuiItem]'\n})\nexport class CuiItemDirective {\n}","import type { CuiLetDirective } from './let.directive';\n\nexport class CuiLetContext<T> {\n constructor(private readonly internalDirectiveInstance: CuiLetDirective<T>) {}\n\n public get $implicit(): T {\n return this.internalDirectiveInstance.cuiLet;\n }\n\n public get cuiLet(): T {\n return this.internalDirectiveInstance.cuiLet;\n }\n}","import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\nimport { CuiLetContext } from './let.context';\n\n@Directive({\n standalone: true,\n selector: '[cuiLet]'\n})\nexport class CuiLetDirective<T> {\n @Input()\n public cuiLet!: T;\n\n constructor() {\n inject(ViewContainerRef).createEmbeddedView(\n inject(TemplateRef<CuiLetContext<T>>),\n new CuiLetContext<T>(this),\n );\n }\n\n public static ngTemplateContextGuard<T>(\n _dir: CuiLetDirective<T>,\n _ctx: unknown,\n ): _ctx is CuiLetContext<T> {\n return true;\n }\n}","import type { OnInit, OnDestroy } from '@angular/core';\r\nimport { Directive, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[ccTarget]',\r\n})\r\nexport class CuiTargetDirective implements OnInit, OnDestroy {\r\n private readonly clickListener = (event: MouseEvent): void => {\r\n this.clicked.emit(event);\r\n };\r\n\r\n @Input()\r\n public ccTarget!: HTMLElement;\r\n\r\n @Output()\r\n public clicked = new EventEmitter<MouseEvent>();\r\n\r\n public ngOnInit(): void {\r\n this.initClickListener();\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.destroyClickListener();\r\n }\r\n\r\n private initClickListener(): void {\r\n this.ccTarget.addEventListener('click', this.clickListener);\r\n }\r\n\r\n private destroyClickListener(): void {\r\n this.ccTarget.removeEventListener('click', this.clickListener);\r\n }\r\n}\r\n","import type { PipeTransform } from '@angular/core';\nimport { Pipe } from '@angular/core';\n\nimport { CuiMatcher } from '../types';\n\n@Pipe({\n standalone: true,\n name: 'cuiFilter'\n})\nexport class CuiFilterPipe implements PipeTransform {\n transform<T, U extends unknown[]>(items: ReadonlyArray<T>, matcher: CuiMatcher<[T, ...U]>, ...args: U): T[] {\n return items.filter(item => matcher(item, ...args));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/fesm2020/cuby-ui-cdk.mjs
CHANGED
|
@@ -26,6 +26,34 @@ class CuiTime {
|
|
|
26
26
|
const ms = Number(time.slice(9, 12)) || 0;
|
|
27
27
|
return new CuiTime(hours, minutes, seconds, ms);
|
|
28
28
|
}
|
|
29
|
+
static fromPT(time) {
|
|
30
|
+
let duration = time.trim().toUpperCase();
|
|
31
|
+
if (!duration.startsWith('P')) {
|
|
32
|
+
throw new Error('Invalid PT format: does not start with P');
|
|
33
|
+
}
|
|
34
|
+
duration = duration.substring(1);
|
|
35
|
+
if (duration.startsWith('T')) {
|
|
36
|
+
duration = duration.substring(1);
|
|
37
|
+
}
|
|
38
|
+
const regex = /(\d+(\.\d+)?)([HMS])/g;
|
|
39
|
+
let match;
|
|
40
|
+
let hours = 0, minutes = 0, seconds = 0, ms = 0;
|
|
41
|
+
while ((match = regex.exec(duration)) !== null) {
|
|
42
|
+
const value = parseFloat(match[1]);
|
|
43
|
+
const unit = match[3];
|
|
44
|
+
if (unit === 'H') {
|
|
45
|
+
hours = value;
|
|
46
|
+
}
|
|
47
|
+
else if (unit === 'M') {
|
|
48
|
+
minutes = value;
|
|
49
|
+
}
|
|
50
|
+
else if (unit === 'S') {
|
|
51
|
+
seconds = Math.floor(value);
|
|
52
|
+
ms = Math.round((value - seconds) * 1000);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return new CuiTime(hours, minutes, seconds, ms);
|
|
56
|
+
}
|
|
29
57
|
static parseHours(time) {
|
|
30
58
|
return Number(time.slice(0, 2));
|
|
31
59
|
}
|
|
@@ -37,6 +65,20 @@ class CuiTime {
|
|
|
37
65
|
const mss = needAddMs ? `.${this.formatTime(this.ms, 3)}` : '';
|
|
38
66
|
return `${hhMm}${ss}${mss}`;
|
|
39
67
|
}
|
|
68
|
+
toPT(mode) {
|
|
69
|
+
let duration = 'PT';
|
|
70
|
+
if (this.hours !== 0) {
|
|
71
|
+
duration += `${this.hours}H`;
|
|
72
|
+
}
|
|
73
|
+
if (this.minutes !== 0) {
|
|
74
|
+
duration += `${this.minutes}M`;
|
|
75
|
+
}
|
|
76
|
+
const totalSeconds = this.seconds + this.ms / 1000;
|
|
77
|
+
if (totalSeconds !== 0 || duration === 'PT') {
|
|
78
|
+
duration += `${parseFloat(totalSeconds.toFixed(3))}S`;
|
|
79
|
+
}
|
|
80
|
+
return duration;
|
|
81
|
+
}
|
|
40
82
|
formatTime(time, digits = 2) {
|
|
41
83
|
return String(time).padStart(digits, '0');
|
|
42
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cuby-ui-cdk.mjs","sources":["../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/date-time/time.ts","../../../projects/cdk/utils/token/create-token.ts","../../../projects/cdk/utils/token/provide.ts","../../../projects/cdk/tokens/window.ts","../../../projects/cdk/tokens/history.ts","../../../projects/cdk/tokens/local-storage.ts","../../../projects/cdk/tokens/session-storage.ts","../../../projects/cdk/services/destroy.service.ts","../../../projects/cdk/services/id.service.ts","../../../projects/cdk/services/popover.service.ts","../../../projects/cdk/directives/auto-resizing.directive.ts","../../../projects/cdk/directives/click-outside.directive.ts","../../../projects/cdk/directives/dimensions-observer.directive.ts","../../../projects/cdk/directives/content-editable-value-accessor.directive.ts","../../../projects/cdk/directives/element.directive.ts","../../../projects/cdk/utils/dom/contains-or-after.ts","../../../projects/cdk/utils/dom/is-html-element.ts","../../../projects/cdk/utils/focus/get-native-focused.ts","../../../projects/cdk/utils/focus/blur-native-focused.ts","../../../projects/cdk/utils/focus/is-native-keyboard-focusable.ts","../../../projects/cdk/utils/focus/is-native-mouse-focusable.ts","../../../projects/cdk/utils/focus/get-closest-focusable.ts","../../../projects/cdk/directives/focus-trap.directive.ts","../../../projects/cdk/directives/item.directive.ts","../../../projects/cdk/directives/let.context.ts","../../../projects/cdk/directives/let.directive.ts","../../../projects/cdk/directives/target.directive.ts","../../../projects/cdk/pipes/filter.pipe.ts","../../../projects/cdk/cuby-ui-cdk.ts"],"sourcesContent":["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};","import type { CuiTimeMode } from '../types';\n\nexport class CuiTime {\n constructor(\n public readonly hours: number,\n public readonly minutes: number,\n public readonly seconds = 0,\n public readonly ms = 0,\n ) {\n }\n\n public static fromString(time: string): CuiTime {\n const hours = this.parseHours(time);\n const minutes = Number(time.slice(3, 5)) || 0;\n const seconds = Number(time.slice(6, 8)) || 0;\n const ms = Number(time.slice(9, 12)) || 0;\n\n return new CuiTime(hours, minutes, seconds, ms);\n }\n\n private static parseHours(time: string): number {\n return Number(time.slice(0, 2));\n }\n\n public toString(mode?: CuiTimeMode): string {\n const needAddMs = mode?.startsWith('HH:MM:SS.MSS') || (!mode && this.ms > 0);\n const needAddSeconds =\n needAddMs || mode?.startsWith('HH:MM:SS') || (!mode && this.seconds > 0);\n const hhMm = `${this.formatTime(this.hours)}:${this.formatTime(this.minutes)}`;\n const ss = needAddSeconds ? `:${this.formatTime(this.seconds)}` : '';\n const mss = needAddMs ? `.${this.formatTime(this.ms, 3)}` : '';\n\n return `${hhMm}${ss}${mss}`;\n }\n\n private formatTime(time: number, digits = 2): string {\n return String(time).padStart(digits, '0');\n }\n}","import { InjectionToken } from '@angular/core';\n\nexport function cuiCreateToken<T>(defaults: T): InjectionToken<T> {\n return cuiCreateTokenFromFactory(() => defaults);\n}\n\nexport function cuiCreateTokenFromFactory<T>(factory: () => T): InjectionToken<T> {\n return new InjectionToken<T>('', { factory });\n}\n","import type { ExistingProvider, ProviderToken } from '@angular/core';\n\nexport function cuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n): ExistingProvider;\nexport function cuiProvide<T>(\n provide: ProviderToken<T | T[]>,\n useExisting: ProviderToken<T>,\n multi: boolean,\n): ExistingProvider;\nexport function cuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n multi = false,\n): ExistingProvider {\n return { provide, useExisting, multi };\n}\n","import { inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_WINDOW = cuiCreateTokenFromFactory<Window>(() => {\n const { defaultView } = inject(DOCUMENT);\n\n if (!defaultView) {\n throw new Error('Window is not available');\n }\n\n return defaultView;\n});","import { inject } from '@angular/core';\n\nimport { CUI_WINDOW } from './window';\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\n\nexport const CUI_HISTORY = cuiCreateTokenFromFactory<History>(() => inject(CUI_WINDOW).history);","import { inject } from '@angular/core';\n\nimport { CUI_WINDOW } from './window';\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_LOCAL_STORAGE = cuiCreateTokenFromFactory(() => inject(CUI_WINDOW).localStorage);","import { inject } from '@angular/core';\n\nimport { CUI_WINDOW } from './window';\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_SESSION_STORAGE = cuiCreateTokenFromFactory(() => inject(CUI_WINDOW).sessionStorage);","import type { OnDestroy } from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class CuiDestroyService extends Subject<void> implements OnDestroy {\n public ngOnDestroy(): void {\n this.next();\n this.complete();\n }\n}\n","import { Injectable } from '@angular/core';\n\nconst CUI = 'cui_';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CuiIdService {\n private static autoId = 0;\n\n public generate(): string {\n return `${CUI}${CuiIdService.autoId++}${Date.now()}`;\n }\n}\n","import type { ProviderToken, TemplateRef, Type } from '@angular/core';\nimport { inject, Injectable } from '@angular/core';\nimport type { BehaviorSubject, Observer } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nimport { CuiIdService } from './id.service';\n\n// TODO: Content должен быть типом из директивы *content\nexport interface CuiPopoverContext {\n readonly $implicit: Observer<any>;\n readonly id: string;\n readonly component: Type<unknown>;\n readonly content: Type<unknown> | TemplateRef<unknown> | string;\n readonly completeWith: (value?: any) => void;\n}\n\nexport type CuiPopover<T> = T & CuiPopoverContext;\n\n@Injectable()\nexport abstract class CuiPopoverService<T> {\n private readonly cuiIdService = inject(CuiIdService);\n private readonly items$: BehaviorSubject<ReadonlyArray<CuiPopover<T>>>;\n private readonly component: Type<any>;\n\n constructor(\n items: ProviderToken<BehaviorSubject<ReadonlyArray<CuiPopover<T>>>>,\n component: Type<any>,\n private readonly options: T = {} as T\n ) {\n this.items$ = inject(items);\n this.component = component;\n }\n\n public open(\n content: CuiPopoverContext['content'],\n options: Partial<T> = {}\n ): Observable<any> {\n return new Observable(observer => {\n const item: CuiPopover<T> = {\n ...this.options,\n ...options,\n $implicit: observer,\n id: this.cuiIdService.generate(),\n component: this.component,\n content: content,\n completeWith: (result) => {\n observer.next(result);\n observer.complete();\n },\n };\n\n this.items$.next([...this.items$.value, item]);\n\n return () => {\n this.items$.next(this.items$.value.filter(value => value !== item));\n };\n });\n }\n}\n","import type { AfterViewInit, OnInit } from '@angular/core';\nimport {\n Directive,\n ElementRef,\n HostListener,\n inject\n} from '@angular/core';\nimport { NgControl, NgModel } from '@angular/forms';\nimport { takeUntil } from 'rxjs';\n\nimport { CUI_WINDOW } from '../tokens';\nimport { CuiDestroyService } from '../services';\n\n@Directive({\n standalone: true,\n selector: 'textarea[cuiAutoResizing]',\n providers: [CuiDestroyService]\n})\nexport class CuiAutoResizingDirective implements OnInit, AfterViewInit {\n private readonly window = inject(CUI_WINDOW);\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n private readonly ngControl = inject(NgControl, { self: true, optional: true });\n private readonly ngModel = inject(NgModel, { self: true, optional: true });\n private readonly destroy$ = inject(CuiDestroyService, { self: true });\n\n private readonly elementStyles = this.element.style;\n\n public ngOnInit(): void {\n this.initNgControlValueChangeSubscription();\n this.initNgModelValueChangeSubscription();\n }\n\n public ngAfterViewInit(): void {\n this.resize();\n }\n\n @HostListener('input')\n protected onInput(): void {\n this.resize();\n }\n\n private initNgControlValueChangeSubscription(): void {\n if (!this.ngControl) {\n return;\n }\n\n this.ngControl.valueChanges!\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.resize.bind(this));\n }\n\n private initNgModelValueChangeSubscription(): void {\n if (!this.ngModel) {\n return;\n }\n\n this.ngModel.valueChanges!\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.resize.bind(this));\n }\n\n private resize(): void {\n const computedMaxHeight = this.window.getComputedStyle(this.element).maxHeight;\n\n this.elementStyles.height = 'auto';\n this.elementStyles.height = this.element.scrollHeight + 'px';\n\n if (parseFloat(this.element.style.height) < parseFloat(computedMaxHeight)) {\n this.elementStyles.overflow = 'hidden';\n\n return;\n }\n\n this.elementStyles.overflowY = 'scroll';\n this.elementStyles.height = computedMaxHeight;\n }\n}\n","import { Directive, ElementRef, EventEmitter, HostListener, inject, Output } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '(cuiClickOutside)'\n})\nexport class CuiClickOutsideDirective {\n private readonly element = inject(ElementRef).nativeElement;\n\n @Output()\n public cuiClickOutside = new EventEmitter<HTMLElement>();\n\n @HostListener('document:click', ['$event.target'])\n protected onClickOutside(target: HTMLElement): void {\n if (this.element.contains(target)) {\n return;\n }\n\n this.cuiClickOutside.emit(target);\n }\n}","import type { OnInit, OnDestroy } from '@angular/core';\nimport { Directive, ElementRef, EventEmitter, inject, Output } from '@angular/core';\n\nimport type { CuiDimensions } from '../interfaces';\n\n@Directive({\n standalone: true,\n selector: '[cuiResizeObserver]'\n})\nexport class CuiDimensionsObserverDirective implements OnInit, OnDestroy {\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n\n private readonly observer = new ResizeObserver((entries) => {\n entries.forEach(() => this.cuiResizeObserver.emit({\n width: this.element.offsetWidth,\n height: this.element.offsetHeight\n }));\n });\n\n @Output()\n public cuiResizeObserver = new EventEmitter<CuiDimensions>();\n\n public ngOnInit(): void {\n this.observer.observe(this.element);\n }\n\n ngOnDestroy(): void {\n this.observer.disconnect();\n }\n}","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport type { CuiNullable } from '../types';\nimport type { CuiOnChange, CuiOnTouched } from '../interfaces';\nimport { cuiProvide } from '../utils/token';\n\n@Directive({\n standalone: true,\n selector: '[contenteditable][formControlName], [contenteditable][formControl], [contenteditable][ngModel]',\n providers: [cuiProvide(NG_VALUE_ACCESSOR, CuiContentEditableValueAccessorDirective, true)]\n})\nexport class CuiContentEditableValueAccessorDirective implements ControlValueAccessor {\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n\n protected onChange!: CuiOnChange<string>;\n protected onTouched!: CuiOnTouched;\n\n public writeValue(value: CuiNullable<string>): void {\n this.element.innerText = value ?? '';\n }\n\n public registerOnChange(fn: CuiOnChange<string>): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: CuiOnTouched): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.element.contentEditable = String(!isDisabled);\n }\n\n @HostListener('input')\n protected onInput(): void {\n this.onChange(this.element.innerHTML === '<br>' ? '' : this.element.innerText);\n }\n\n @HostListener('blur')\n protected onBlur(): void {\n this.onTouched();\n }\n}","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[cuiElement]',\n exportAs: 'elementRef',\n})\nexport class CuiElementDirective<T extends Element = HTMLElement> implements ElementRef<T> {\n public nativeElement = inject(ElementRef<T>).nativeElement;\n\n constructor() {\n return new ElementRef<T>(this.nativeElement);\n }\n}\n","export function cuiContainsOrAfter(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}","export function cuiIsHTMLElement(node: any): node is HTMLElement {\n return !!node && node instanceof node.ownerDocument.defaultView.HTMLElement;\n}","export function cuiGetNativeFocused({activeElement}: Document): Element | null {\n if (!activeElement?.shadowRoot) {\n return activeElement;\n }\n\n let element = activeElement.shadowRoot.activeElement;\n\n while (element?.shadowRoot) {\n element = element.shadowRoot.activeElement;\n }\n\n return element;\n}\n","import { cuiGetNativeFocused } from './get-native-focused';\nimport { cuiIsHTMLElement } from '../dom';\n\nexport function cuiBlurNativeFocused(document: Document): void {\n const activeElement = cuiGetNativeFocused(document);\n\n if (cuiIsHTMLElement(activeElement)) {\n activeElement.blur();\n }\n}","import { cuiIsHTMLElement } from '../dom';\n\nexport function cuiIsNativeKeyboardFocusable(element: Element): boolean {\n if (element.hasAttribute('disabled') || element.getAttribute('tabIndex') === '-1') {\n return false;\n }\n\n if (\n (cuiIsHTMLElement(element) && element.isContentEditable) ||\n element.getAttribute('tabIndex') === '0'\n ) {\n return true;\n }\n\n switch (element.tagName) {\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA':\n return true;\n case 'VIDEO':\n case 'AUDIO':\n return element.hasAttribute('controls');\n case 'INPUT':\n return element.getAttribute('type') !== 'hidden';\n case 'A':\n case 'LINK':\n return element.hasAttribute('href');\n default:\n return false;\n }\n}","import { cuiIsNativeKeyboardFocusable } from './is-native-keyboard-focusable';\n\nexport function cuiIsNativeMouseFocusable(element: Element): boolean {\n return (\n !element.hasAttribute('disabled') &&\n (element.getAttribute('tabIndex') === '-1' ||\n cuiIsNativeKeyboardFocusable(element))\n );\n}","import { cuiIsNativeKeyboardFocusable } from './is-native-keyboard-focusable';\nimport { cuiIsNativeMouseFocusable } from './is-native-mouse-focusable';\nimport { cuiIsHTMLElement } from '../dom';\nimport { svgNodeFilter } from '../../constants';\n\nexport interface CuiGetClosestFocusableOptions {\n initial: Element;\n keyboard?: boolean;\n previous?: boolean;\n root: Node;\n}\n\nexport function cuiGetClosestFocusable({\n initial,\n root,\n previous = false,\n keyboard = true,\n }: CuiGetClosestFocusableOptions): HTMLElement | null {\n if (!root.ownerDocument) {\n return null;\n }\n\n const check = keyboard ? cuiIsNativeKeyboardFocusable : cuiIsNativeMouseFocusable;\n const treeWalker = root.ownerDocument.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n svgNodeFilter,\n );\n\n treeWalker.currentNode = initial;\n\n while (previous ? treeWalker.previousNode() : treeWalker.nextNode()) {\n if (cuiIsHTMLElement(treeWalker.currentNode)) {\n initial = treeWalker.currentNode;\n }\n\n if (cuiIsHTMLElement(initial) && check(initial)) {\n return initial;\n }\n }\n\n return null;\n}","import type { OnDestroy } from '@angular/core';\nimport { Directive, ElementRef, HostBinding, HostListener, inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport {\n cuiBlurNativeFocused,\n cuiContainsOrAfter,\n cuiGetClosestFocusable,\n cuiGetNativeFocused,\n cuiIsHTMLElement\n} from '../utils';\n\n@Directive({\n standalone: true,\n selector: '[cuiFocusTrap]',\n})\nexport class CuiFocusTrapDirective implements OnDestroy {\n private readonly document = inject(DOCUMENT);\n private readonly element = inject(ElementRef).nativeElement;\n private readonly activeElement = cuiGetNativeFocused(this.document);\n\n constructor() {\n this.initElementFocus();\n }\n\n public ngOnDestroy(): void {\n cuiBlurNativeFocused(this.document);\n\n Promise.resolve().then(() => {\n if (!cuiIsHTMLElement(this.activeElement)) {\n return;\n }\n\n this.activeElement.focus();\n });\n }\n\n @HostBinding('tabIndex')\n protected readonly tabIndex = 0;\n\n @HostListener('window:focusin', ['$event.target'])\n protected onFocusIn(node: Node): void {\n if (cuiContainsOrAfter(this.element, node)) {\n return;\n }\n\n cuiGetClosestFocusable({\n initial: this.element,\n root: this.element,\n })?.focus();\n }\n\n private initElementFocus(): void {\n Promise.resolve().then(() => this.element.focus());\n }\n}","import { Directive } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[cuiItem]'\n})\nexport class CuiItemDirective {\n}","import type { CuiLetDirective } from './let.directive';\n\nexport class CuiLetContext<T> {\n constructor(private readonly internalDirectiveInstance: CuiLetDirective<T>) {}\n\n public get $implicit(): T {\n return this.internalDirectiveInstance.cuiLet;\n }\n\n public get cuiLet(): T {\n return this.internalDirectiveInstance.cuiLet;\n }\n}","import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\nimport { CuiLetContext } from './let.context';\n\n@Directive({\n standalone: true,\n selector: '[cuiLet]'\n})\nexport class CuiLetDirective<T> {\n @Input()\n public cuiLet!: T;\n\n constructor() {\n inject(ViewContainerRef).createEmbeddedView(\n inject(TemplateRef<CuiLetContext<T>>),\n new CuiLetContext<T>(this),\n );\n }\n\n public static ngTemplateContextGuard<T>(\n _dir: CuiLetDirective<T>,\n _ctx: unknown,\n ): _ctx is CuiLetContext<T> {\n return true;\n }\n}","import type { OnInit, OnDestroy } from '@angular/core';\r\nimport { Directive, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[ccTarget]',\r\n})\r\nexport class CuiTargetDirective implements OnInit, OnDestroy {\r\n private readonly clickListener = (event: MouseEvent): void => {\r\n this.clicked.emit(event);\r\n };\r\n\r\n @Input()\r\n public ccTarget!: HTMLElement;\r\n\r\n @Output()\r\n public clicked = new EventEmitter<MouseEvent>();\r\n\r\n public ngOnInit(): void {\r\n this.initClickListener();\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.destroyClickListener();\r\n }\r\n\r\n private initClickListener(): void {\r\n this.ccTarget.addEventListener('click', this.clickListener);\r\n }\r\n\r\n private destroyClickListener(): void {\r\n this.ccTarget.removeEventListener('click', this.clickListener);\r\n }\r\n}\r\n","import type { PipeTransform } from '@angular/core';\nimport { Pipe } from '@angular/core';\n\nimport { CuiMatcher } from '../types';\n\n@Pipe({\n standalone: true,\n name: 'cuiFilter'\n})\nexport class CuiFilterPipe implements PipeTransform {\n transform<T, U extends unknown[]>(items: ReadonlyArray<T>, matcher: CuiMatcher<[T, ...U]>, ...args: U): T[] {\n return items.filter(item => matcher(item, ...args));\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":"cuby-ui-cdk.mjs","sources":["../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/date-time/time.ts","../../../projects/cdk/utils/token/create-token.ts","../../../projects/cdk/utils/token/provide.ts","../../../projects/cdk/tokens/window.ts","../../../projects/cdk/tokens/history.ts","../../../projects/cdk/tokens/local-storage.ts","../../../projects/cdk/tokens/session-storage.ts","../../../projects/cdk/services/destroy.service.ts","../../../projects/cdk/services/id.service.ts","../../../projects/cdk/services/popover.service.ts","../../../projects/cdk/directives/auto-resizing.directive.ts","../../../projects/cdk/directives/click-outside.directive.ts","../../../projects/cdk/directives/dimensions-observer.directive.ts","../../../projects/cdk/directives/content-editable-value-accessor.directive.ts","../../../projects/cdk/directives/element.directive.ts","../../../projects/cdk/utils/dom/contains-or-after.ts","../../../projects/cdk/utils/dom/is-html-element.ts","../../../projects/cdk/utils/focus/get-native-focused.ts","../../../projects/cdk/utils/focus/blur-native-focused.ts","../../../projects/cdk/utils/focus/is-native-keyboard-focusable.ts","../../../projects/cdk/utils/focus/is-native-mouse-focusable.ts","../../../projects/cdk/utils/focus/get-closest-focusable.ts","../../../projects/cdk/directives/focus-trap.directive.ts","../../../projects/cdk/directives/item.directive.ts","../../../projects/cdk/directives/let.context.ts","../../../projects/cdk/directives/let.directive.ts","../../../projects/cdk/directives/target.directive.ts","../../../projects/cdk/pipes/filter.pipe.ts","../../../projects/cdk/cuby-ui-cdk.ts"],"sourcesContent":["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};","import type { CuiTimeMode } from '../types';\n\nexport class CuiTime {\n constructor(\n public readonly hours: number,\n public readonly minutes: number,\n public readonly seconds = 0,\n public readonly ms = 0,\n ) {\n }\n\n public static fromString(time: string): CuiTime {\n const hours = this.parseHours(time);\n const minutes = Number(time.slice(3, 5)) || 0;\n const seconds = Number(time.slice(6, 8)) || 0;\n const ms = Number(time.slice(9, 12)) || 0;\n\n return new CuiTime(hours, minutes, seconds, ms);\n }\n\n public static fromPT(time: string): CuiTime {\n let duration = time.trim().toUpperCase();\n\n if (!duration.startsWith('P')) {\n throw new Error('Invalid PT format: does not start with P');\n }\n\n duration = duration.substring(1);\n\n if (duration.startsWith('T')) {\n duration = duration.substring(1);\n }\n\n const regex = /(\\d+(\\.\\d+)?)([HMS])/g;\n let match;\n let hours = 0,\n minutes = 0,\n seconds = 0,\n ms = 0;\n\n while ((match = regex.exec(duration)) !== null) {\n const value = parseFloat(match[1]);\n const unit = match[3];\n\n if (unit === 'H') {\n hours = value;\n } else if (unit === 'M') {\n minutes = value;\n } else if (unit === 'S') {\n seconds = Math.floor(value);\n ms = Math.round((value - seconds) * 1000);\n }\n }\n\n return new CuiTime(hours, minutes, seconds, ms);\n }\n\n private static parseHours(time: string): number {\n return Number(time.slice(0, 2));\n }\n\n public toString(mode?: CuiTimeMode): string {\n const needAddMs = mode?.startsWith('HH:MM:SS.MSS') || (!mode && this.ms > 0);\n const needAddSeconds =\n needAddMs || mode?.startsWith('HH:MM:SS') || (!mode && this.seconds > 0);\n const hhMm = `${this.formatTime(this.hours)}:${this.formatTime(this.minutes)}`;\n const ss = needAddSeconds ? `:${this.formatTime(this.seconds)}` : '';\n const mss = needAddMs ? `.${this.formatTime(this.ms, 3)}` : '';\n\n return `${hhMm}${ss}${mss}`;\n }\n\n public toPT(mode?: CuiTimeMode): string {\n let duration = 'PT';\n if (this.hours !== 0) {\n duration += `${this.hours}H`;\n }\n\n if (this.minutes !== 0) {\n duration += `${this.minutes}M`;\n }\n\n const totalSeconds = this.seconds + this.ms / 1000;\n\n if (totalSeconds !== 0 || duration === 'PT') {\n duration += `${parseFloat(totalSeconds.toFixed(3))}S`;\n }\n\n return duration;\n }\n\n private formatTime(time: number, digits = 2): string {\n return String(time).padStart(digits, '0');\n }\n}","import { InjectionToken } from '@angular/core';\n\nexport function cuiCreateToken<T>(defaults: T): InjectionToken<T> {\n return cuiCreateTokenFromFactory(() => defaults);\n}\n\nexport function cuiCreateTokenFromFactory<T>(factory: () => T): InjectionToken<T> {\n return new InjectionToken<T>('', { factory });\n}\n","import type { ExistingProvider, ProviderToken } from '@angular/core';\n\nexport function cuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n): ExistingProvider;\nexport function cuiProvide<T>(\n provide: ProviderToken<T | T[]>,\n useExisting: ProviderToken<T>,\n multi: boolean,\n): ExistingProvider;\nexport function cuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n multi = false,\n): ExistingProvider {\n return { provide, useExisting, multi };\n}\n","import { inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_WINDOW = cuiCreateTokenFromFactory<Window>(() => {\n const { defaultView } = inject(DOCUMENT);\n\n if (!defaultView) {\n throw new Error('Window is not available');\n }\n\n return defaultView;\n});","import { inject } from '@angular/core';\n\nimport { CUI_WINDOW } from './window';\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\n\nexport const CUI_HISTORY = cuiCreateTokenFromFactory<History>(() => inject(CUI_WINDOW).history);","import { inject } from '@angular/core';\n\nimport { CUI_WINDOW } from './window';\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_LOCAL_STORAGE = cuiCreateTokenFromFactory(() => inject(CUI_WINDOW).localStorage);","import { inject } from '@angular/core';\n\nimport { CUI_WINDOW } from './window';\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_SESSION_STORAGE = cuiCreateTokenFromFactory(() => inject(CUI_WINDOW).sessionStorage);","import type { OnDestroy } from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class CuiDestroyService extends Subject<void> implements OnDestroy {\n public ngOnDestroy(): void {\n this.next();\n this.complete();\n }\n}\n","import { Injectable } from '@angular/core';\n\nconst CUI = 'cui_';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CuiIdService {\n private static autoId = 0;\n\n public generate(): string {\n return `${CUI}${CuiIdService.autoId++}${Date.now()}`;\n }\n}\n","import type { ProviderToken, TemplateRef, Type } from '@angular/core';\nimport { inject, Injectable } from '@angular/core';\nimport type { BehaviorSubject, Observer } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nimport { CuiIdService } from './id.service';\n\n// TODO: Content должен быть типом из директивы *content\nexport interface CuiPopoverContext {\n readonly $implicit: Observer<any>;\n readonly id: string;\n readonly component: Type<unknown>;\n readonly content: Type<unknown> | TemplateRef<unknown> | string;\n readonly completeWith: (value?: any) => void;\n}\n\nexport type CuiPopover<T> = T & CuiPopoverContext;\n\n@Injectable()\nexport abstract class CuiPopoverService<T> {\n private readonly cuiIdService = inject(CuiIdService);\n private readonly items$: BehaviorSubject<ReadonlyArray<CuiPopover<T>>>;\n private readonly component: Type<any>;\n\n constructor(\n items: ProviderToken<BehaviorSubject<ReadonlyArray<CuiPopover<T>>>>,\n component: Type<any>,\n private readonly options: T = {} as T\n ) {\n this.items$ = inject(items);\n this.component = component;\n }\n\n public open(\n content: CuiPopoverContext['content'],\n options: Partial<T> = {}\n ): Observable<any> {\n return new Observable(observer => {\n const item: CuiPopover<T> = {\n ...this.options,\n ...options,\n $implicit: observer,\n id: this.cuiIdService.generate(),\n component: this.component,\n content: content,\n completeWith: (result) => {\n observer.next(result);\n observer.complete();\n },\n };\n\n this.items$.next([...this.items$.value, item]);\n\n return () => {\n this.items$.next(this.items$.value.filter(value => value !== item));\n };\n });\n }\n}\n","import type { AfterViewInit, OnInit } from '@angular/core';\nimport {\n Directive,\n ElementRef,\n HostListener,\n inject\n} from '@angular/core';\nimport { NgControl, NgModel } from '@angular/forms';\nimport { takeUntil } from 'rxjs';\n\nimport { CUI_WINDOW } from '../tokens';\nimport { CuiDestroyService } from '../services';\n\n@Directive({\n standalone: true,\n selector: 'textarea[cuiAutoResizing]',\n providers: [CuiDestroyService]\n})\nexport class CuiAutoResizingDirective implements OnInit, AfterViewInit {\n private readonly window = inject(CUI_WINDOW);\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n private readonly ngControl = inject(NgControl, { self: true, optional: true });\n private readonly ngModel = inject(NgModel, { self: true, optional: true });\n private readonly destroy$ = inject(CuiDestroyService, { self: true });\n\n private readonly elementStyles = this.element.style;\n\n public ngOnInit(): void {\n this.initNgControlValueChangeSubscription();\n this.initNgModelValueChangeSubscription();\n }\n\n public ngAfterViewInit(): void {\n this.resize();\n }\n\n @HostListener('input')\n protected onInput(): void {\n this.resize();\n }\n\n private initNgControlValueChangeSubscription(): void {\n if (!this.ngControl) {\n return;\n }\n\n this.ngControl.valueChanges!\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.resize.bind(this));\n }\n\n private initNgModelValueChangeSubscription(): void {\n if (!this.ngModel) {\n return;\n }\n\n this.ngModel.valueChanges!\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.resize.bind(this));\n }\n\n private resize(): void {\n const computedMaxHeight = this.window.getComputedStyle(this.element).maxHeight;\n\n this.elementStyles.height = 'auto';\n this.elementStyles.height = this.element.scrollHeight + 'px';\n\n if (parseFloat(this.element.style.height) < parseFloat(computedMaxHeight)) {\n this.elementStyles.overflow = 'hidden';\n\n return;\n }\n\n this.elementStyles.overflowY = 'scroll';\n this.elementStyles.height = computedMaxHeight;\n }\n}\n","import { Directive, ElementRef, EventEmitter, HostListener, inject, Output } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '(cuiClickOutside)'\n})\nexport class CuiClickOutsideDirective {\n private readonly element = inject(ElementRef).nativeElement;\n\n @Output()\n public cuiClickOutside = new EventEmitter<HTMLElement>();\n\n @HostListener('document:click', ['$event.target'])\n protected onClickOutside(target: HTMLElement): void {\n if (this.element.contains(target)) {\n return;\n }\n\n this.cuiClickOutside.emit(target);\n }\n}","import type { OnInit, OnDestroy } from '@angular/core';\nimport { Directive, ElementRef, EventEmitter, inject, Output } from '@angular/core';\n\nimport type { CuiDimensions } from '../interfaces';\n\n@Directive({\n standalone: true,\n selector: '[cuiResizeObserver]'\n})\nexport class CuiDimensionsObserverDirective implements OnInit, OnDestroy {\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n\n private readonly observer = new ResizeObserver((entries) => {\n entries.forEach(() => this.cuiResizeObserver.emit({\n width: this.element.offsetWidth,\n height: this.element.offsetHeight\n }));\n });\n\n @Output()\n public cuiResizeObserver = new EventEmitter<CuiDimensions>();\n\n public ngOnInit(): void {\n this.observer.observe(this.element);\n }\n\n ngOnDestroy(): void {\n this.observer.disconnect();\n }\n}","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport type { CuiNullable } from '../types';\nimport type { CuiOnChange, CuiOnTouched } from '../interfaces';\nimport { cuiProvide } from '../utils/token';\n\n@Directive({\n standalone: true,\n selector: '[contenteditable][formControlName], [contenteditable][formControl], [contenteditable][ngModel]',\n providers: [cuiProvide(NG_VALUE_ACCESSOR, CuiContentEditableValueAccessorDirective, true)]\n})\nexport class CuiContentEditableValueAccessorDirective implements ControlValueAccessor {\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n\n protected onChange!: CuiOnChange<string>;\n protected onTouched!: CuiOnTouched;\n\n public writeValue(value: CuiNullable<string>): void {\n this.element.innerText = value ?? '';\n }\n\n public registerOnChange(fn: CuiOnChange<string>): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: CuiOnTouched): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.element.contentEditable = String(!isDisabled);\n }\n\n @HostListener('input')\n protected onInput(): void {\n this.onChange(this.element.innerHTML === '<br>' ? '' : this.element.innerText);\n }\n\n @HostListener('blur')\n protected onBlur(): void {\n this.onTouched();\n }\n}","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[cuiElement]',\n exportAs: 'elementRef',\n})\nexport class CuiElementDirective<T extends Element = HTMLElement> implements ElementRef<T> {\n public nativeElement = inject(ElementRef<T>).nativeElement;\n\n constructor() {\n return new ElementRef<T>(this.nativeElement);\n }\n}\n","export function cuiContainsOrAfter(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}","export function cuiIsHTMLElement(node: any): node is HTMLElement {\n return !!node && node instanceof node.ownerDocument.defaultView.HTMLElement;\n}","export function cuiGetNativeFocused({activeElement}: Document): Element | null {\n if (!activeElement?.shadowRoot) {\n return activeElement;\n }\n\n let element = activeElement.shadowRoot.activeElement;\n\n while (element?.shadowRoot) {\n element = element.shadowRoot.activeElement;\n }\n\n return element;\n}\n","import { cuiGetNativeFocused } from './get-native-focused';\nimport { cuiIsHTMLElement } from '../dom';\n\nexport function cuiBlurNativeFocused(document: Document): void {\n const activeElement = cuiGetNativeFocused(document);\n\n if (cuiIsHTMLElement(activeElement)) {\n activeElement.blur();\n }\n}","import { cuiIsHTMLElement } from '../dom';\n\nexport function cuiIsNativeKeyboardFocusable(element: Element): boolean {\n if (element.hasAttribute('disabled') || element.getAttribute('tabIndex') === '-1') {\n return false;\n }\n\n if (\n (cuiIsHTMLElement(element) && element.isContentEditable) ||\n element.getAttribute('tabIndex') === '0'\n ) {\n return true;\n }\n\n switch (element.tagName) {\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA':\n return true;\n case 'VIDEO':\n case 'AUDIO':\n return element.hasAttribute('controls');\n case 'INPUT':\n return element.getAttribute('type') !== 'hidden';\n case 'A':\n case 'LINK':\n return element.hasAttribute('href');\n default:\n return false;\n }\n}","import { cuiIsNativeKeyboardFocusable } from './is-native-keyboard-focusable';\n\nexport function cuiIsNativeMouseFocusable(element: Element): boolean {\n return (\n !element.hasAttribute('disabled') &&\n (element.getAttribute('tabIndex') === '-1' ||\n cuiIsNativeKeyboardFocusable(element))\n );\n}","import { cuiIsNativeKeyboardFocusable } from './is-native-keyboard-focusable';\nimport { cuiIsNativeMouseFocusable } from './is-native-mouse-focusable';\nimport { cuiIsHTMLElement } from '../dom';\nimport { svgNodeFilter } from '../../constants';\n\nexport interface CuiGetClosestFocusableOptions {\n initial: Element;\n keyboard?: boolean;\n previous?: boolean;\n root: Node;\n}\n\nexport function cuiGetClosestFocusable({\n initial,\n root,\n previous = false,\n keyboard = true,\n }: CuiGetClosestFocusableOptions): HTMLElement | null {\n if (!root.ownerDocument) {\n return null;\n }\n\n const check = keyboard ? cuiIsNativeKeyboardFocusable : cuiIsNativeMouseFocusable;\n const treeWalker = root.ownerDocument.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n svgNodeFilter,\n );\n\n treeWalker.currentNode = initial;\n\n while (previous ? treeWalker.previousNode() : treeWalker.nextNode()) {\n if (cuiIsHTMLElement(treeWalker.currentNode)) {\n initial = treeWalker.currentNode;\n }\n\n if (cuiIsHTMLElement(initial) && check(initial)) {\n return initial;\n }\n }\n\n return null;\n}","import type { OnDestroy } from '@angular/core';\nimport { Directive, ElementRef, HostBinding, HostListener, inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport {\n cuiBlurNativeFocused,\n cuiContainsOrAfter,\n cuiGetClosestFocusable,\n cuiGetNativeFocused,\n cuiIsHTMLElement\n} from '../utils';\n\n@Directive({\n standalone: true,\n selector: '[cuiFocusTrap]',\n})\nexport class CuiFocusTrapDirective implements OnDestroy {\n private readonly document = inject(DOCUMENT);\n private readonly element = inject(ElementRef).nativeElement;\n private readonly activeElement = cuiGetNativeFocused(this.document);\n\n constructor() {\n this.initElementFocus();\n }\n\n public ngOnDestroy(): void {\n cuiBlurNativeFocused(this.document);\n\n Promise.resolve().then(() => {\n if (!cuiIsHTMLElement(this.activeElement)) {\n return;\n }\n\n this.activeElement.focus();\n });\n }\n\n @HostBinding('tabIndex')\n protected readonly tabIndex = 0;\n\n @HostListener('window:focusin', ['$event.target'])\n protected onFocusIn(node: Node): void {\n if (cuiContainsOrAfter(this.element, node)) {\n return;\n }\n\n cuiGetClosestFocusable({\n initial: this.element,\n root: this.element,\n })?.focus();\n }\n\n private initElementFocus(): void {\n Promise.resolve().then(() => this.element.focus());\n }\n}","import { Directive } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[cuiItem]'\n})\nexport class CuiItemDirective {\n}","import type { CuiLetDirective } from './let.directive';\n\nexport class CuiLetContext<T> {\n constructor(private readonly internalDirectiveInstance: CuiLetDirective<T>) {}\n\n public get $implicit(): T {\n return this.internalDirectiveInstance.cuiLet;\n }\n\n public get cuiLet(): T {\n return this.internalDirectiveInstance.cuiLet;\n }\n}","import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\nimport { CuiLetContext } from './let.context';\n\n@Directive({\n standalone: true,\n selector: '[cuiLet]'\n})\nexport class CuiLetDirective<T> {\n @Input()\n public cuiLet!: T;\n\n constructor() {\n inject(ViewContainerRef).createEmbeddedView(\n inject(TemplateRef<CuiLetContext<T>>),\n new CuiLetContext<T>(this),\n );\n }\n\n public static ngTemplateContextGuard<T>(\n _dir: CuiLetDirective<T>,\n _ctx: unknown,\n ): _ctx is CuiLetContext<T> {\n return true;\n }\n}","import type { OnInit, OnDestroy } from '@angular/core';\r\nimport { Directive, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[ccTarget]',\r\n})\r\nexport class CuiTargetDirective implements OnInit, OnDestroy {\r\n private readonly clickListener = (event: MouseEvent): void => {\r\n this.clicked.emit(event);\r\n };\r\n\r\n @Input()\r\n public ccTarget!: HTMLElement;\r\n\r\n @Output()\r\n public clicked = new EventEmitter<MouseEvent>();\r\n\r\n public ngOnInit(): void {\r\n this.initClickListener();\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.destroyClickListener();\r\n }\r\n\r\n private initClickListener(): void {\r\n this.ccTarget.addEventListener('click', this.clickListener);\r\n }\r\n\r\n private destroyClickListener(): void {\r\n this.ccTarget.removeEventListener('click', this.clickListener);\r\n }\r\n}\r\n","import type { PipeTransform } from '@angular/core';\nimport { Pipe } from '@angular/core';\n\nimport { CuiMatcher } from '../types';\n\n@Pipe({\n standalone: true,\n name: 'cuiFilter'\n})\nexport class CuiFilterPipe implements PipeTransform {\n transform<T, U extends unknown[]>(items: ReadonlyArray<T>, matcher: CuiMatcher<[T, ...U]>, ...args: U): T[] {\n return items.filter(item => matcher(item, ...args));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|