@taiga-ui/legacy 4.21.0-canary.07e335a → 4.21.0-canary.1e9c372
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/esm2022/components/color-selector/flat-picker/flat-picker.component.mjs +2 -2
- package/esm2022/components/color-selector/linear-multi-picker/linear-multi-picker.component.mjs +2 -2
- package/esm2022/components/color-selector/linear-picker/linear-picker.component.mjs +2 -2
- package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +6 -6
- package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +2 -2
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
- package/package.json +13 -13
- package/utils/icons-path-factory.d.ts +1 -1
|
@@ -20,12 +20,12 @@ class TuiFlatPickerComponent {
|
|
|
20
20
|
return this.value[1] * 100;
|
|
21
21
|
}
|
|
22
22
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFlatPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiFlatPickerComponent, selector: "tui-flat-picker", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, providers: [TuiPickerService], ngImport: i0, template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n [style.top.%]=\"top\"\n></div>\n", styles: [":host{position:relative;display:block}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:-.5rem 0 0 -.5rem;box-shadow:inset 0 0 0 1px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiFlatPickerComponent, selector: "tui-flat-picker", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, providers: [TuiPickerService], ngImport: i0, template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n [style.top.%]=\"top\"\n></div>\n", styles: [":host{position:relative;display:block}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;outline:1px solid var(--tui-background-base);margin:-.5rem 0 0 -.5rem;box-shadow:inset 0 0 0 1px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24
24
|
}
|
|
25
25
|
export { TuiFlatPickerComponent };
|
|
26
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFlatPickerComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
|
-
args: [{ standalone: false, selector: 'tui-flat-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiPickerService], template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n [style.top.%]=\"top\"\n></div>\n", styles: [":host{position:relative;display:block}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:-.5rem 0 0 -.5rem;box-shadow:inset 0 0 0 1px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
|
|
28
|
+
args: [{ standalone: false, selector: 'tui-flat-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiPickerService], template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n [style.top.%]=\"top\"\n></div>\n", styles: [":host{position:relative;display:block}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;outline:1px solid var(--tui-background-base);margin:-.5rem 0 0 -.5rem;box-shadow:inset 0 0 0 1px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
|
|
29
29
|
}], propDecorators: { value: [{
|
|
30
30
|
type: Input
|
|
31
31
|
}], valueChange: [{
|
package/esm2022/components/color-selector/linear-multi-picker/linear-multi-picker.component.mjs
CHANGED
|
@@ -43,14 +43,14 @@ class TuiLinearMultiPickerComponent {
|
|
|
43
43
|
this.valueChange.emit(value);
|
|
44
44
|
}
|
|
45
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLinearMultiPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiLinearMultiPickerComponent, selector: "tui-linear-multi-picker", inputs: { value: "value" }, outputs: { valueChange: "valueChange", indexChange: "indexChange" }, host: { listeners: { "document:mouseup": "onMouseUp()" } }, providers: [TuiPickerService], ngImport: i0, template: "<div\n *ngFor=\"let item of value; let index = index\"\n class=\"t-circle\"\n [style.left.%]=\"item * 100\"\n (dblclick)=\"onClick(index)\"\n (mousedown)=\"onMouseDown(index)\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiLinearMultiPickerComponent, selector: "tui-linear-multi-picker", inputs: { value: "value" }, outputs: { valueChange: "valueChange", indexChange: "indexChange" }, host: { listeners: { "document:mouseup": "onMouseUp()" } }, providers: [TuiPickerService], ngImport: i0, template: "<div\n *ngFor=\"let item of value; let index = index\"\n class=\"t-circle\"\n [style.left.%]=\"item * 100\"\n (dblclick)=\"onClick(index)\"\n (mousedown)=\"onMouseDown(index)\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;outline:1px solid var(--tui-background-base);margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
47
47
|
}
|
|
48
48
|
export { TuiLinearMultiPickerComponent };
|
|
49
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLinearMultiPickerComponent, decorators: [{
|
|
50
50
|
type: Component,
|
|
51
51
|
args: [{ standalone: false, selector: 'tui-linear-multi-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiPickerService], host: {
|
|
52
52
|
'(document:mouseup)': 'onMouseUp()',
|
|
53
|
-
}, template: "<div\n *ngFor=\"let item of value; let index = index\"\n class=\"t-circle\"\n [style.left.%]=\"item * 100\"\n (dblclick)=\"onClick(index)\"\n (mousedown)=\"onMouseDown(index)\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
|
|
53
|
+
}, template: "<div\n *ngFor=\"let item of value; let index = index\"\n class=\"t-circle\"\n [style.left.%]=\"item * 100\"\n (dblclick)=\"onClick(index)\"\n (mousedown)=\"onMouseDown(index)\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;outline:1px solid var(--tui-background-base);margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
|
|
54
54
|
}], propDecorators: { value: [{
|
|
55
55
|
type: Input
|
|
56
56
|
}], valueChange: [{
|
|
@@ -17,12 +17,12 @@ class TuiLinearPickerComponent {
|
|
|
17
17
|
return this.value * 100;
|
|
18
18
|
}
|
|
19
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLinearPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiLinearPickerComponent, selector: "tui-linear-picker", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, providers: [TuiPickerService], ngImport: i0, template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiLinearPickerComponent, selector: "tui-linear-picker", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, providers: [TuiPickerService], ngImport: i0, template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;outline:1px solid var(--tui-background-base);margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
21
|
}
|
|
22
22
|
export { TuiLinearPickerComponent };
|
|
23
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLinearPickerComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
|
-
args: [{ standalone: false, selector: 'tui-linear-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiPickerService], template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
|
|
25
|
+
args: [{ standalone: false, selector: 'tui-linear-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiPickerService], template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;outline:1px solid var(--tui-background-base);margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
|
|
26
26
|
}], propDecorators: { value: [{
|
|
27
27
|
type: Input
|
|
28
28
|
}], valueChange: [{
|
|
@@ -63,7 +63,7 @@ class TuiMultiSelectGroupComponent {
|
|
|
63
63
|
return items.map(({ value }) => value).filter(tuiIsPresent);
|
|
64
64
|
}
|
|
65
65
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMultiSelectGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiMultiSelectGroupComponent, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: { label: "label" }, host: { properties: { "class._label": "label" } }, queries: [{ propertyName: "options", predicate: TuiOption }], ngImport: i0, template: "<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n</span>\n<ng-content />\n", styles: [":host._label:before{display:none}:host:not(:first-of-type) .t-label:not(:empty){padding-top:1.25rem}:host:not(:first-of-type) .t-button{margin-top:1.25rem}.t-wrapper{display:flex;align-items:flex-start}.t-label:not(:empty){flex:1;padding:.75rem 1rem .25rem .625rem}.t-button{margin:.75rem 1rem 0 auto}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: i3.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiMultiSelectGroupComponent, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: { label: "label" }, host: { properties: { "class._label": "label" } }, queries: [{ propertyName: "options", predicate: TuiOption }], ngImport: i0, template: "<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n</span>\n<ng-content />\n", styles: [":host._label:before{display:none}:host:not(:first-of-type) .t-label:not(:empty){padding-top:1.25rem}:host:not(:first-of-type) .t-button{margin-top:1.25rem}.t-wrapper{display:flex;align-items:flex-start}.t-label:not(:empty){flex:1;padding:.75rem 1rem .25rem .625rem}.t-button{margin:.75rem 1rem 0 auto;font-weight:400}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: i3.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
67
67
|
}
|
|
68
68
|
__decorate([
|
|
69
69
|
tuiPure
|
|
@@ -88,7 +88,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
88
88
|
type: Component,
|
|
89
89
|
args: [{ standalone: false, selector: 'tui-opt-group[tuiMultiSelectGroup]', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
90
90
|
'[class._label]': 'label',
|
|
91
|
-
}, template: "<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n</span>\n<ng-content />\n", styles: [":host._label:before{display:none}:host:not(:first-of-type) .t-label:not(:empty){padding-top:1.25rem}:host:not(:first-of-type) .t-button{margin-top:1.25rem}.t-wrapper{display:flex;align-items:flex-start}.t-label:not(:empty){flex:1;padding:.75rem 1rem .25rem .625rem}.t-button{margin:.75rem 1rem 0 auto}\n"] }]
|
|
91
|
+
}, template: "<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n</span>\n<ng-content />\n", styles: [":host._label:before{display:none}:host:not(:first-of-type) .t-label:not(:empty){padding-top:1.25rem}:host:not(:first-of-type) .t-button{margin-top:1.25rem}.t-wrapper{display:flex;align-items:flex-start}.t-label:not(:empty){flex:1;padding:.75rem 1rem .25rem .625rem}.t-button{margin:.75rem 1rem 0 auto;font-weight:400}\n"] }]
|
|
92
92
|
}], propDecorators: { options: [{
|
|
93
93
|
type: ContentChildren,
|
|
94
94
|
args: [TuiOption]
|
|
@@ -159,11 +159,11 @@ class TuiFlatPickerComponent {
|
|
|
159
159
|
return this.value[1] * 100;
|
|
160
160
|
}
|
|
161
161
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFlatPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
162
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiFlatPickerComponent, selector: "tui-flat-picker", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, providers: [TuiPickerService], ngImport: i0, template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n [style.top.%]=\"top\"\n></div>\n", styles: [":host{position:relative;display:block}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:-.5rem 0 0 -.5rem;box-shadow:inset 0 0 0 1px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
162
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiFlatPickerComponent, selector: "tui-flat-picker", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, providers: [TuiPickerService], ngImport: i0, template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n [style.top.%]=\"top\"\n></div>\n", styles: [":host{position:relative;display:block}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;outline:1px solid var(--tui-background-base);margin:-.5rem 0 0 -.5rem;box-shadow:inset 0 0 0 1px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
163
163
|
}
|
|
164
164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFlatPickerComponent, decorators: [{
|
|
165
165
|
type: Component,
|
|
166
|
-
args: [{ standalone: false, selector: 'tui-flat-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiPickerService], template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n [style.top.%]=\"top\"\n></div>\n", styles: [":host{position:relative;display:block}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:-.5rem 0 0 -.5rem;box-shadow:inset 0 0 0 1px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
|
|
166
|
+
args: [{ standalone: false, selector: 'tui-flat-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiPickerService], template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n [style.top.%]=\"top\"\n></div>\n", styles: [":host{position:relative;display:block}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;outline:1px solid var(--tui-background-base);margin:-.5rem 0 0 -.5rem;box-shadow:inset 0 0 0 1px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
|
|
167
167
|
}], propDecorators: { value: [{
|
|
168
168
|
type: Input
|
|
169
169
|
}], valueChange: [{
|
|
@@ -185,11 +185,11 @@ class TuiLinearPickerComponent {
|
|
|
185
185
|
return this.value * 100;
|
|
186
186
|
}
|
|
187
187
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLinearPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
188
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiLinearPickerComponent, selector: "tui-linear-picker", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, providers: [TuiPickerService], ngImport: i0, template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
188
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiLinearPickerComponent, selector: "tui-linear-picker", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, providers: [TuiPickerService], ngImport: i0, template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;outline:1px solid var(--tui-background-base);margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
189
189
|
}
|
|
190
190
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLinearPickerComponent, decorators: [{
|
|
191
191
|
type: Component,
|
|
192
|
-
args: [{ standalone: false, selector: 'tui-linear-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiPickerService], template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
|
|
192
|
+
args: [{ standalone: false, selector: 'tui-linear-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiPickerService], template: "<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;outline:1px solid var(--tui-background-base);margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
|
|
193
193
|
}], propDecorators: { value: [{
|
|
194
194
|
type: Input
|
|
195
195
|
}], valueChange: [{
|
|
@@ -413,13 +413,13 @@ class TuiLinearMultiPickerComponent {
|
|
|
413
413
|
this.valueChange.emit(value);
|
|
414
414
|
}
|
|
415
415
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLinearMultiPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
416
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiLinearMultiPickerComponent, selector: "tui-linear-multi-picker", inputs: { value: "value" }, outputs: { valueChange: "valueChange", indexChange: "indexChange" }, host: { listeners: { "document:mouseup": "onMouseUp()" } }, providers: [TuiPickerService], ngImport: i0, template: "<div\n *ngFor=\"let item of value; let index = index\"\n class=\"t-circle\"\n [style.left.%]=\"item * 100\"\n (dblclick)=\"onClick(index)\"\n (mousedown)=\"onMouseDown(index)\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
416
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiLinearMultiPickerComponent, selector: "tui-linear-multi-picker", inputs: { value: "value" }, outputs: { valueChange: "valueChange", indexChange: "indexChange" }, host: { listeners: { "document:mouseup": "onMouseUp()" } }, providers: [TuiPickerService], ngImport: i0, template: "<div\n *ngFor=\"let item of value; let index = index\"\n class=\"t-circle\"\n [style.left.%]=\"item * 100\"\n (dblclick)=\"onClick(index)\"\n (mousedown)=\"onMouseDown(index)\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;outline:1px solid var(--tui-background-base);margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
417
417
|
}
|
|
418
418
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLinearMultiPickerComponent, decorators: [{
|
|
419
419
|
type: Component,
|
|
420
420
|
args: [{ standalone: false, selector: 'tui-linear-multi-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiPickerService], host: {
|
|
421
421
|
'(document:mouseup)': 'onMouseUp()',
|
|
422
|
-
}, template: "<div\n *ngFor=\"let item of value; let index = index\"\n class=\"t-circle\"\n [style.left.%]=\"item * 100\"\n (dblclick)=\"onClick(index)\"\n (mousedown)=\"onMouseDown(index)\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
|
|
422
|
+
}, template: "<div\n *ngFor=\"let item of value; let index = index\"\n class=\"t-circle\"\n [style.left.%]=\"item * 100\"\n (dblclick)=\"onClick(index)\"\n (mousedown)=\"onMouseDown(index)\"\n></div>\n", styles: [":host{position:relative;display:block;block-size:1rem;box-sizing:border-box}.t-circle{position:absolute;inline-size:1rem;block-size:1rem;border-radius:100%;outline:1px solid var(--tui-background-base);margin:0 -.5rem;box-shadow:inset 0 0 0 2px var(--tui-base-01),0 0 0 1px var(--tui-base-03)}\n"] }]
|
|
423
423
|
}], propDecorators: { value: [{
|
|
424
424
|
type: Input
|
|
425
425
|
}], valueChange: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-color-selector.mjs","sources":["../../../projects/legacy/components/color-selector/color-edit/color-edit.component.ts","../../../projects/legacy/components/color-selector/color-edit/color-edit.template.html","../../../projects/legacy/components/color-selector/color-edit/color-edit.module.ts","../../../projects/legacy/components/color-selector/services/picker.service.ts","../../../projects/legacy/components/color-selector/flat-picker/flat-picker.component.ts","../../../projects/legacy/components/color-selector/flat-picker/flat-picker.template.html","../../../projects/legacy/components/color-selector/linear-picker/linear-picker.component.ts","../../../projects/legacy/components/color-selector/linear-picker/linear-picker.template.html","../../../projects/legacy/components/color-selector/color-picker/color-picker.component.ts","../../../projects/legacy/components/color-selector/color-picker/color-picker.template.html","../../../projects/legacy/components/color-selector/flat-picker/flat-picker.module.ts","../../../projects/legacy/components/color-selector/linear-picker/linear-picker.module.ts","../../../projects/legacy/components/color-selector/color-picker/color-picker.module.ts","../../../projects/legacy/components/color-selector/color-selector.options.ts","../../../projects/legacy/components/color-selector/linear-multi-picker/linear-multi-picker.component.ts","../../../projects/legacy/components/color-selector/linear-multi-picker/linear-multi-picker.template.html","../../../projects/legacy/components/color-selector/palette/palette.component.ts","../../../projects/legacy/components/color-selector/palette/palette.template.html","../../../projects/legacy/components/color-selector/color-selector.component.ts","../../../projects/legacy/components/color-selector/color-selector.template.html","../../../projects/legacy/components/color-selector/linear-multi-picker/linear-multi-picker.module.ts","../../../projects/legacy/components/color-selector/palette/palette.module.ts","../../../projects/legacy/components/color-selector/color-selector.module.ts","../../../projects/legacy/components/color-selector/taiga-ui-legacy-components-color-selector.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport type {MaskitoOptions} from '@maskito/core';\nimport {tuiHexToRgb, tuiRgbToHex} from '@taiga-ui/cdk/utils/color';\n\nconst HEX_MODE_LENGTH = 6;\n\n@Component({\n standalone: false,\n selector: 'tui-color-edit',\n templateUrl: './color-edit.template.html',\n styleUrls: ['./color-edit.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiColorEditComponent {\n @Input()\n public color: [number, number, number, number] = [0, 0, 0, 1];\n\n @Output()\n public readonly colorChange = new EventEmitter<[number, number, number, number]>();\n\n public readonly hexMask: MaskitoOptions = {\n mask: new RegExp(`^[A-F\\\\d]{0,${HEX_MODE_LENGTH}}$`, 'gi'),\n };\n\n public readonly modes = ['HEX', 'RGB'];\n\n public mode = this.modes[0];\n\n public get isHex(): boolean {\n return this.mode === this.modes[0];\n }\n\n public get hex(): string {\n return tuiRgbToHex(this.color[0], this.color[1], this.color[2]).replace('#', '');\n }\n\n public get opacity(): number {\n return Math.round(this.color[3] * 100);\n }\n\n public onHexChange(hex: string): void {\n if (hex.length !== HEX_MODE_LENGTH) {\n return;\n }\n\n const rgb = tuiHexToRgb(hex);\n\n this.updateColor([rgb[0], rgb[1], rgb[2], this.color[3]]);\n }\n\n public onRgbChange(...rgba: [number, number, number, number]): void {\n this.updateColor(rgba);\n }\n\n private updateColor(color: [number, number, number, number]): void {\n this.color = color;\n this.colorChange.emit(color);\n }\n}\n","<tui-select\n tuiDropdownAlign=\"left\"\n tuiDropdownLimitWidth=\"min\"\n tuiTextfieldSize=\"m\"\n class=\"t-select\"\n [ngModelOptions]=\"{standalone: true}\"\n [style.flex]=\"'0 0 auto'\"\n [tuiTextfieldLabelOutside]=\"true\"\n [(ngModel)]=\"mode\"\n>\n <tui-data-list\n *tuiDataList\n size=\"s\"\n >\n <button\n *ngFor=\"let item of modes\"\n tuiOption\n type=\"button\"\n [value]=\"item\"\n >\n {{ item }}\n </button>\n </tui-data-list>\n</tui-select>\n<tui-primitive-textfield\n *ngIf=\"isHex; else rgb\"\n tuiTextfieldSize=\"m\"\n [maskito]=\"hexMask\"\n [tuiTextfieldLabelOutside]=\"true\"\n [value]=\"hex\"\n (valueChange)=\"onHexChange($event)\"\n/>\n<ng-template #rgb>\n <tui-input-number\n tuiTextfieldSize=\"m\"\n class=\"t-rgb\"\n [max]=\"255\"\n [min]=\"0\"\n [ngModel]=\"color[0]\"\n [ngModelOptions]=\"{standalone: true}\"\n [tuiTextfieldLabelOutside]=\"true\"\n (ngModelChange)=\"onRgbChange($event, color[1], color[2], color[3])\"\n />\n <tui-input-number\n tuiTextfieldSize=\"m\"\n class=\"t-rgb\"\n [max]=\"255\"\n [min]=\"0\"\n [ngModel]=\"color[1]\"\n [ngModelOptions]=\"{standalone: true}\"\n [tuiTextfieldLabelOutside]=\"true\"\n (ngModelChange)=\"onRgbChange(color[0], $event, color[2], color[3])\"\n />\n <tui-input-number\n tuiTextfieldSize=\"m\"\n class=\"t-rgb\"\n [max]=\"255\"\n [min]=\"0\"\n [ngModel]=\"color[2]\"\n [ngModelOptions]=\"{standalone: true}\"\n [tuiTextfieldLabelOutside]=\"true\"\n (ngModelChange)=\"onRgbChange(color[0], color[1], $event, color[3])\"\n />\n</ng-template>\n<tui-input-number\n tuiTextfieldPostfix=\"%\"\n tuiTextfieldSize=\"m\"\n class=\"t-opacity\"\n [max]=\"100\"\n [min]=\"0\"\n [ngModel]=\"opacity\"\n [ngModelOptions]=\"{standalone: true}\"\n [style.flex]=\"'0 0 auto'\"\n [tuiTextfieldLabelOutside]=\"true\"\n (ngModelChange)=\"onRgbChange(color[0], color[1], color[2], $event / 100)\"\n/>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiInputNumberModule} from '@taiga-ui/legacy/components/input-number';\nimport {TuiPrimitiveTextfieldModule} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiSelectModule} from '@taiga-ui/legacy/components/select';\nimport {TuiTextfieldControllerModule} from '@taiga-ui/legacy/directives/textfield-controller';\n\nimport {TuiColorEditComponent} from './color-edit.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MaskitoDirective,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiInputNumberModule,\n TuiSelectModule,\n ...TuiDropdown,\n ...TuiDataList,\n TuiButton,\n ],\n declarations: [TuiColorEditComponent],\n exports: [TuiColorEditComponent, ...TuiDropdown, ...TuiDataList],\n})\nexport class TuiColorEditModule {}\n","import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiGetElementPoint, tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport type {TuiPoint} from '@taiga-ui/core/types';\nimport {map, Observable, startWith, switchMap, takeUntil} from 'rxjs';\n\n@Injectable()\nexport class TuiPickerService extends Observable<TuiPoint> {\n private readonly el = tuiInjectElement();\n private readonly doc = inject(DOCUMENT);\n private readonly point$ = tuiTypedFromEvent(this.el, 'mousedown').pipe(\n tuiPreventDefault(),\n switchMap((event) => {\n const mouseMove$ = tuiTypedFromEvent(this.doc, 'mousemove').pipe(\n map(({clientX, clientY}) =>\n tuiGetElementPoint(clientX, clientY, this.el),\n ),\n takeUntil(tuiTypedFromEvent(this.doc, 'mouseup')),\n );\n\n return event.target === this.el\n ? mouseMove$.pipe(\n startWith(\n tuiGetElementPoint(event.clientX, event.clientY, this.el),\n ),\n )\n : mouseMove$;\n }),\n takeUntilDestroyed(),\n );\n\n constructor() {\n super((subscriber) => this.point$.subscribe(subscriber));\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport type {TuiPoint} from '@taiga-ui/core/types';\n\nimport {TuiPickerService} from '../services/picker.service';\n\n@Component({\n standalone: false,\n selector: 'tui-flat-picker',\n templateUrl: './flat-picker.template.html',\n styleUrls: ['./flat-picker.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiPickerService],\n})\nexport class TuiFlatPickerComponent {\n protected readonly $ = inject(TuiPickerService)\n .pipe(takeUntilDestroyed())\n .subscribe((point) => {\n this.value = point;\n this.valueChange.emit([point[0], point[1]]);\n });\n\n @Input()\n public value: TuiPoint = [0, 0];\n\n @Output()\n public readonly valueChange = new EventEmitter<[number, number]>();\n\n public get left(): number {\n return this.value[0] * 100;\n }\n\n public get top(): number {\n return this.value[1] * 100;\n }\n}\n","<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n [style.top.%]=\"top\"\n></div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\n\nimport {TuiPickerService} from '../services/picker.service';\n\n@Component({\n standalone: false,\n selector: 'tui-linear-picker',\n templateUrl: './linear-picker.template.html',\n styleUrls: ['./linear-picker.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiPickerService],\n})\nexport class TuiLinearPickerComponent {\n protected readonly $ = inject(TuiPickerService)\n .pipe(takeUntilDestroyed())\n .subscribe(([x]) => {\n this.value = x;\n this.valueChange.emit(x);\n });\n\n @Input()\n public value = 0;\n\n @Output()\n public readonly valueChange = new EventEmitter<number>();\n\n public get left(): number {\n return this.value * 100;\n }\n}\n","<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n></div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport type {SafeStyle} from '@angular/platform-browser';\nimport {DomSanitizer} from '@angular/platform-browser';\nimport {tuiHsvToRgb, tuiRgbToHsv} from '@taiga-ui/cdk/utils/color';\nimport {tuiRound} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiPoint} from '@taiga-ui/core/types';\n\n@Component({\n standalone: false,\n selector: 'tui-color-picker',\n templateUrl: './color-picker.template.html',\n styleUrls: ['./color-picker.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiColorPickerComponent {\n private readonly sanitizer = inject(DomSanitizer);\n\n protected point: TuiPoint = [0, 1];\n protected hue = 0;\n protected opacity = 1;\n\n @Output()\n public readonly colorChange = new EventEmitter<\n [h: number, s: number, v: number, opacity: number]\n >();\n\n @Input()\n public set color(color: [h: number, s: number, v: number, opacity: number]) {\n if (\n this.currentColor.every((item, index) => item === color[index]) &&\n color[3] === this.opacity\n ) {\n return;\n }\n\n const [h, s, v] = tuiRgbToHsv(color[0], color[1], color[2]);\n\n this.opacity = color[3];\n this.hue = h / 360;\n this.point = [s, 1 - v / 255];\n }\n\n public get currentColor(): [h: number, s: number, v: number] {\n return this.getCurrentColor(this.hue, this.point);\n }\n\n public get base(): string {\n return `rgb(${tuiHsvToRgb(this.hue * 360, 1, 255)})`;\n }\n\n public get gradient(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(\n `linear-gradient(to right, rgba(${this.currentColor.join(\n ',',\n )}, 0), rgb(${this.currentColor.join(',')}))`,\n );\n }\n\n public onPointChange(point: TuiPoint): void {\n this.point = point;\n this.updateColor();\n }\n\n public onHueChange(hue: number): void {\n this.hue = hue;\n this.updateColor();\n }\n\n public onOpacityChange(opacity: number): void {\n this.opacity = tuiRound(opacity, 2);\n this.updateColor();\n }\n\n @tuiPure\n private getCurrentColor(\n hue: number,\n point: TuiPoint,\n ): [h: number, s: number, v: number] {\n return tuiHsvToRgb(hue * 360, point[0], (1 - point[1]) * 255);\n }\n\n private updateColor(): void {\n this.colorChange.emit([...this.currentColor, this.opacity]);\n }\n}\n","<tui-flat-picker\n class=\"t-flat\"\n [style.backgroundColor]=\"base\"\n [value]=\"point\"\n (valueChange)=\"onPointChange($event)\"\n/>\n<div class=\"t-wrapper t-wrapper_hue\">\n <tui-linear-picker\n class=\"t-hue\"\n [value]=\"hue\"\n (valueChange)=\"onHueChange($event)\"\n />\n</div>\n<div\n class=\"t-wrapper t-wrapper_opacity\"\n [style.background]=\"gradient\"\n>\n <tui-linear-picker\n class=\"t-opacity\"\n [value]=\"opacity\"\n (valueChange)=\"onOpacityChange($event)\"\n />\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiFlatPickerComponent} from './flat-picker.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TuiFlatPickerComponent],\n exports: [TuiFlatPickerComponent],\n})\nexport class TuiFlatPickerModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiLinearPickerComponent} from './linear-picker.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TuiLinearPickerComponent],\n exports: [TuiLinearPickerComponent],\n})\nexport class TuiLinearPickerModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiFlatPickerModule} from '../flat-picker/flat-picker.module';\nimport {TuiLinearPickerModule} from '../linear-picker/linear-picker.module';\nimport {TuiColorPickerComponent} from './color-picker.component';\n\n@NgModule({\n imports: [CommonModule, TuiFlatPickerModule, TuiLinearPickerModule],\n declarations: [TuiColorPickerComponent],\n exports: [TuiColorPickerComponent],\n})\nexport class TuiColorPickerModule {}\n","import type {Provider} from '@angular/core';\nimport type {TuiGradientDirection} from '@taiga-ui/cdk/utils/color';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_COLOR_SELECTOR_MODE_NAMES = tuiCreateToken<[string, string]>([\n 'Solid color',\n 'Gradient',\n]);\n\nexport const TUI_DEFAULT_INPUT_COLORS = new Map([\n ['color-black-100', '#909090'],\n ['color-black-200', '#666666'],\n ['color-black-300', '#333333'],\n ['color-blue-100', '#1771e6'],\n ['color-blue-200', '#1464cc'],\n ['color-blue-300', '#0953b3'],\n ['color-gray-100', '#f5f5f6'],\n ['color-gray-200', '#e7e8ea'],\n ['color-gray-300', '#cbcfd3'],\n ['color-gray-400', '#959ba4'],\n ['color-gray-500', '#79818c'],\n ['color-gray-600', '#616871'],\n ['color-green-100', '#39b54a'],\n ['color-green-200', '#2ca53a'],\n ['color-green-300', '#168a21'],\n ['color-light-blue-100', '#ecf1f7'],\n ['color-light-blue-200', '#e4ebf3'],\n ['color-light-blue-300', '#dde4ed'],\n ['color-red-100', '#e01f19'],\n ['color-red-200', '#d3120e'],\n ['color-red-300', '#c40b08'],\n ['color-yellow-100', '#FFDD2C'],\n ['color-yellow-200', '#FCC521'],\n ['color-yellow-300', '#FAB618'],\n ['transparent', 'transparent'],\n]);\n\nexport const TuiColorSelectorMode = {\n SolidColor: 0,\n Gradient: 1,\n} as const;\n\nexport interface TuiColorSelectorOptions {\n readonly mode: (typeof TuiColorSelectorMode)[keyof typeof TuiColorSelectorMode];\n readonly selectorMode: boolean;\n readonly color: [number, number, number, number];\n readonly colors: ReadonlyMap<string, string>;\n readonly gradient: {\n readonly icons: Record<TuiGradientDirection, string>;\n readonly steps: ReadonlyArray<[number, [number, number, number, number]]>;\n readonly stop: number;\n readonly direction: TuiGradientDirection;\n readonly emptyStop: [number, number, number, number];\n readonly buttons: readonly TuiGradientDirection[];\n };\n}\n\nexport const TUI_COLOR_SELECTOR_DEFAULT_OPTIONS: TuiColorSelectorOptions = {\n selectorMode: true,\n mode: TuiColorSelectorMode.SolidColor,\n color: [0, 0, 0, 1],\n colors: new Map<string, string>(),\n gradient: {\n icons: {\n 'to top right': '@tui.move-up-right',\n 'to right': '@tui.move-right',\n 'to bottom right': '@tui.move-down-right',\n 'to bottom': '@tui.move-down',\n 'to bottom left': '@tui.move-down-left',\n 'to left': '@tui.move-left',\n 'to top left': '@tui.move-up-left',\n 'to top': '@tui.move-up',\n },\n steps: [\n [0, [0, 0, 0, 1]],\n [1, [255, 255, 255, 1]],\n ],\n stop: 0,\n direction: 'to bottom',\n emptyStop: [0, 0, 0, 0],\n buttons: [\n 'to top right',\n 'to right',\n 'to bottom right',\n 'to bottom',\n 'to bottom left',\n 'to left',\n 'to top left',\n 'to top',\n ],\n },\n};\n\nexport const TUI_COLOR_SELECTOR_OPTIONS = tuiCreateToken(\n TUI_COLOR_SELECTOR_DEFAULT_OPTIONS,\n);\n\nexport function tuiColorSelectorOptionsProvider(\n options: Partial<TuiColorSelectorOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_COLOR_SELECTOR_OPTIONS,\n options,\n TUI_COLOR_SELECTOR_DEFAULT_OPTIONS,\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\n\nimport {TuiPickerService} from '../services/picker.service';\n\n@Component({\n standalone: false,\n selector: 'tui-linear-multi-picker',\n templateUrl: './linear-multi-picker.template.html',\n styleUrls: ['./linear-multi-picker.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiPickerService],\n host: {\n '(document:mouseup)': 'onMouseUp()',\n },\n})\nexport class TuiLinearMultiPickerComponent {\n protected readonly $ = inject(TuiPickerService)\n .pipe(takeUntilDestroyed())\n .subscribe(([x]) => this.onPicker(x));\n\n @Input()\n public value = [0, 1];\n\n @Output()\n public readonly valueChange = new EventEmitter<number[]>();\n\n @Output()\n public readonly indexChange = new EventEmitter<number>();\n\n public index = NaN;\n\n public onMouseUp(): void {\n this.index = NaN;\n }\n\n public onMouseDown(index: number): void {\n this.updateIndex(index);\n }\n\n public onClick(index: number): void {\n if (this.value.length > 2) {\n this.updateValue(this.value.filter((_, i) => i !== index));\n }\n }\n\n private onPicker(x: number): void {\n if (Number.isNaN(this.index)) {\n this.updateIndex(this.value.length);\n this.value = [...this.value, 0];\n }\n\n if (this.value.some((item, index) => item === x && index !== this.index)) {\n return;\n }\n\n this.updateValue(\n this.value.map((item, index) => (index === this.index ? x : item)),\n );\n }\n\n private updateIndex(index: number): void {\n this.index = index;\n this.indexChange.emit(index);\n }\n\n private updateValue(value: number[]): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","<div\n *ngFor=\"let item of value; let index = index\"\n class=\"t-circle\"\n [style.left.%]=\"item * 100\"\n (dblclick)=\"onClick(index)\"\n (mousedown)=\"onMouseDown(index)\"\n></div>\n","import type {KeyValue} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\n@Component({\n standalone: false,\n selector: 'tui-palette',\n templateUrl: './palette.template.html',\n styleUrls: ['./palette.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPaletteComponent {\n @Input()\n public colors: ReadonlyMap<string, string> = new Map<string, string>();\n\n @Output()\n public readonly selectedColor = new EventEmitter<string>();\n\n public originalOrder = (\n _a: KeyValue<string, string>,\n _b: KeyValue<string, string>,\n ): number => 0;\n}\n","<button\n *ngFor=\"let color of colors | keyvalue: originalOrder\"\n type=\"button\"\n class=\"t-button\"\n [id]=\"color.key\"\n [style.background]=\"color.value\"\n [tuiHint]=\"color.key\"\n [tuiHintDescribe]=\"color.key\"\n (click)=\"selectedColor.emit(color.value)\"\n></button>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport type {SafeStyle} from '@angular/platform-browser';\nimport {DomSanitizer} from '@angular/platform-browser';\nimport type {TuiGradientDirection} from '@taiga-ui/cdk/utils/color';\nimport {\n tuiGetGradientData,\n tuiParseColor,\n tuiParseGradient,\n} from '@taiga-ui/cdk/utils/color';\nimport {tuiDefaultSort, tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {\n TUI_COLOR_SELECTOR_MODE_NAMES,\n TUI_COLOR_SELECTOR_OPTIONS,\n TuiColorSelectorMode,\n} from './color-selector.options';\n\n@Component({\n standalone: false,\n selector: 'tui-color-selector',\n templateUrl: './color-selector.template.html',\n styleUrls: ['./color-selector.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiColorSelectorComponent {\n private readonly selectorOptions = inject(TUI_COLOR_SELECTOR_OPTIONS);\n private stops = new Map(this.selectorOptions.gradient.steps);\n private currentStop = this.selectorOptions.gradient.stop;\n private direction = this.selectorOptions.gradient.direction;\n\n private readonly sanitizer = inject(DomSanitizer);\n protected open = false;\n\n @Input()\n public colors = this.selectorOptions.colors;\n\n @Output()\n public readonly colorChange = new EventEmitter<string>();\n\n public color = this.selectorOptions.color;\n\n public readonly modes = inject(TUI_COLOR_SELECTOR_MODE_NAMES);\n\n public currentMode = this.modes[this.selectorOptions.mode];\n\n public readonly buttons = this.selectorOptions.gradient.buttons;\n\n @Input('color')\n public set colorSetter(color: string) {\n if (color.startsWith('linear-gradient')) {\n this.parseGradient(color);\n } else {\n this.parseColor(color);\n }\n }\n\n public get selectorMode(): boolean {\n return this.selectorOptions.selectorMode;\n }\n\n public get palette(): Map<string, string> {\n return this.filterPalette(this.colors, this.isGradient);\n }\n\n public get stopsKeys(): number[] {\n return this.getStopsKeys(this.stops);\n }\n\n public get currentColor(): [number, number, number, number] {\n return this.isGradient ? this.getStop(this.currentStop) : this.color;\n }\n\n public get gradient(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(this.getGradient('to right'));\n }\n\n public get isGradient(): boolean {\n return this.currentMode === this.modes[TuiColorSelectorMode.Gradient];\n }\n\n public getIcon(direction: TuiGradientDirection): string {\n return this.selectorOptions.gradient.icons[direction];\n }\n\n public isModeActive(mode: string): boolean {\n return this.currentMode === mode;\n }\n\n public isDirectionActive(direction: TuiGradientDirection): boolean {\n return this.direction === direction;\n }\n\n public onPalettePick(color: string): void {\n this.updateColor(color);\n }\n\n public onDirectionChange(direction: TuiGradientDirection): void {\n this.direction = direction;\n this.updateColor(this.getGradient(direction));\n }\n\n public onModeSelect(mode: string): void {\n this.currentMode = mode;\n this.open = false;\n\n this.updateColor(\n mode === this.modes[TuiColorSelectorMode.SolidColor]\n ? `rgba(${this.color.join(', ')})`\n : this.getGradient(this.direction),\n );\n }\n\n public onIndexChange(index: number): void {\n this.currentStop = this.stopsKeys[index] ?? 0;\n }\n\n public onColorChange(color: [number, number, number, number]): void {\n if (!this.isGradient) {\n this.updateColor(`rgba(${color.join(', ')})`);\n\n return;\n }\n\n this.stops.set(this.currentStop, color);\n this.updateColor(this.getGradient(this.direction));\n }\n\n public onStopsChange(stopsKeys: readonly number[]): void {\n const removed = this.stopsKeys.find((item) => !stopsKeys.includes(item));\n const added = stopsKeys.find((item) => !this.stopsKeys.includes(item));\n\n if (removed === undefined && added !== undefined) {\n this.addStop(added);\n }\n\n if (removed !== undefined && added === undefined) {\n this.removeStop(removed);\n }\n\n if (removed !== undefined && added !== undefined) {\n this.replaceStop(removed, added);\n }\n\n this.updateColor(this.getGradient(this.direction));\n }\n\n @tuiPure\n private getStopsKeys(stops: Map<number, unknown>): number[] {\n return Array.from(stops.keys());\n }\n\n @tuiPure\n private filterPalette(\n colors: ReadonlyMap<string, string>,\n isGradient: boolean,\n ): Map<string, string> {\n const map = new Map(colors);\n\n map.forEach((value, key) => {\n if (\n (value.startsWith('linear-gradient') && !isGradient) ||\n (!value.startsWith('linear-gradient') && isGradient)\n ) {\n map.delete(key);\n }\n });\n\n return map;\n }\n\n private updateColor(color: string): void {\n this.colorChange.emit(color);\n }\n\n private getGradient(direction: TuiGradientDirection): string {\n return `linear-gradient(${direction}, ${[...this.stopsKeys]\n .sort(tuiDefaultSort)\n .map((key) => `rgba(${this.getStop(key).join(', ')}) ${key * 100}%`)\n .join(', ')})`;\n }\n\n private getStop(stop: number): [number, number, number, number] {\n return this.stops.get(stop) || this.selectorOptions.gradient.emptyStop;\n }\n\n private addStop(stop: number): void {\n const closest = this.stopsKeys.reduce(\n (prev, curr) => (Math.abs(curr - stop) < Math.abs(prev - stop) ? curr : prev),\n this.stopsKeys[0] ?? 0,\n );\n\n this.stops.set(stop, this.getStop(closest));\n this.stops = new Map(this.stops);\n this.currentStop = stop;\n }\n\n private removeStop(stop: number): void {\n this.stops.delete(stop);\n this.stops = new Map(this.stops);\n this.currentStop = this.stopsKeys[0] ?? 0;\n }\n\n private replaceStop(removed: number, added: number): void {\n const value = this.getStop(removed);\n\n this.currentStop = added;\n this.stops = new Map(\n this.stopsKeys.map<[number, [number, number, number, number]]>((key) =>\n key === removed ? [added, value] : [key, this.getStop(key)],\n ),\n );\n }\n\n private parseGradient(color: string): void {\n if (color === this.getGradient(this.direction)) {\n return;\n }\n\n const gradient = tuiParseGradient(tuiGetGradientData(color));\n\n this.direction = gradient.side;\n this.currentStop = this.selectorOptions.gradient.stop;\n this.stops = new Map(\n gradient.stops.length\n ? gradient.stops.map<[number, [number, number, number, number]]>(\n ({color, position}) => [\n parseFloat(position) / 100,\n tuiParseColor(color),\n ],\n )\n : this.selectorOptions.gradient.steps,\n );\n }\n\n private parseColor(color: string): void {\n this.currentStop = this.selectorOptions.gradient.stop;\n this.color = tuiParseColor(color);\n }\n}\n","<ng-container *ngIf=\"selectorMode\">\n <div\n class=\"t-select\"\n [tuiDropdown]=\"menu\"\n [(tuiDropdownOpen)]=\"open\"\n >\n <button\n appearance=\"\"\n size=\"s\"\n tuiButton\n tuiChevron\n type=\"button\"\n >\n {{ currentMode }}\n </button>\n\n <ng-template #menu>\n <tui-data-list\n role=\"menu\"\n size=\"s\"\n class=\"t-menu\"\n >\n <button\n *ngFor=\"let mode of modes\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isModeActive(mode)\"\n (click)=\"onModeSelect(mode)\"\n (keydown.enter.prevent)=\"onModeSelect(mode)\"\n (keydown.space.prevent)=\"onModeSelect(mode)\"\n >\n {{ mode }}\n <tui-icon\n *ngIf=\"isModeActive(mode)\"\n icon=\"@tui.check\"\n class=\"t-checkmark\"\n />\n </button>\n </tui-data-list>\n </ng-template>\n </div>\n <hr class=\"t-hr\" />\n</ng-container>\n\n<ng-container *ngIf=\"isGradient\">\n <div\n class=\"t-wrapper\"\n [style.background]=\"gradient\"\n >\n <tui-linear-multi-picker\n class=\"t-gradient\"\n [value]=\"stopsKeys\"\n (indexChange)=\"onIndexChange($event)\"\n (valueChange)=\"onStopsChange($event)\"\n />\n </div>\n <div class=\"t-buttons\">\n <!-- TODO: Change to `tuiHintDescribe` when figure tuiDriver order issue -->\n <button\n *ngFor=\"let button of buttons\"\n appearance=\"\"\n size=\"xs\"\n tuiHintDescribe\n tuiIconButton\n type=\"button\"\n class=\"t-direction\"\n [class.t-direction_active]=\"isDirectionActive(button)\"\n [iconStart]=\"getIcon(button)\"\n [tuiHint]=\"button\"\n (click)=\"onDirectionChange(button)\"\n ></button>\n </div>\n</ng-container>\n<tui-color-picker\n [color]=\"currentColor\"\n (colorChange)=\"onColorChange($event)\"\n/>\n<tui-color-edit\n *ngIf=\"!isGradient\"\n tuiGroup\n class=\"t-edit\"\n [color]=\"color\"\n (colorChange)=\"onColorChange($event)\"\n/>\n<tui-palette\n *ngIf=\"palette.size\"\n class=\"t-palette\"\n [colors]=\"palette\"\n (selectedColor)=\"onPalettePick($event)\"\n/>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiLinearMultiPickerComponent} from './linear-multi-picker.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TuiLinearMultiPickerComponent],\n exports: [TuiLinearMultiPickerComponent],\n})\nexport class TuiLinearMultiPickerModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiHint} from '@taiga-ui/core/directives/hint';\n\nimport {TuiPaletteComponent} from './palette.component';\n\n@NgModule({\n imports: [CommonModule, ...TuiHint],\n declarations: [TuiPaletteComponent],\n exports: [TuiPaletteComponent, ...TuiHint],\n})\nexport class TuiPaletteModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiGroup} from '@taiga-ui/core/directives/group';\nimport {TuiHint} from '@taiga-ui/core/directives/hint';\nimport {TuiChevron} from '@taiga-ui/kit/directives/chevron';\nimport {TuiSvgComponent} from '@taiga-ui/legacy/components/svg';\n\nimport {TuiColorEditModule} from './color-edit/color-edit.module';\nimport {TuiColorPickerModule} from './color-picker/color-picker.module';\nimport {TuiColorSelectorComponent} from './color-selector.component';\nimport {TuiLinearMultiPickerModule} from './linear-multi-picker/linear-multi-picker.module';\nimport {TuiPaletteModule} from './palette/palette.module';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiButton,\n TuiSvgComponent,\n TuiColorPickerModule,\n TuiLinearMultiPickerModule,\n TuiActiveZone,\n TuiColorEditModule,\n TuiGroup,\n TuiPaletteModule,\n TuiChevron,\n TuiIcon,\n ...TuiHint,\n ...TuiDataList,\n ],\n declarations: [TuiColorSelectorComponent],\n exports: [TuiColorSelectorComponent, ...TuiHint, ...TuiDataList],\n})\nexport class TuiColorSelectorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i8","i9","i1","i2","i1.TuiFlatPickerComponent","i2.TuiLinearPickerComponent","i3.TuiColorPickerComponent","i4.TuiLinearMultiPickerComponent","i5.TuiColorEditComponent","i6","i7","i9.TuiPaletteComponent","i10"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components-color-selector.mjs","sources":["../../../projects/legacy/components/color-selector/color-edit/color-edit.component.ts","../../../projects/legacy/components/color-selector/color-edit/color-edit.template.html","../../../projects/legacy/components/color-selector/color-edit/color-edit.module.ts","../../../projects/legacy/components/color-selector/services/picker.service.ts","../../../projects/legacy/components/color-selector/flat-picker/flat-picker.component.ts","../../../projects/legacy/components/color-selector/flat-picker/flat-picker.template.html","../../../projects/legacy/components/color-selector/linear-picker/linear-picker.component.ts","../../../projects/legacy/components/color-selector/linear-picker/linear-picker.template.html","../../../projects/legacy/components/color-selector/color-picker/color-picker.component.ts","../../../projects/legacy/components/color-selector/color-picker/color-picker.template.html","../../../projects/legacy/components/color-selector/flat-picker/flat-picker.module.ts","../../../projects/legacy/components/color-selector/linear-picker/linear-picker.module.ts","../../../projects/legacy/components/color-selector/color-picker/color-picker.module.ts","../../../projects/legacy/components/color-selector/color-selector.options.ts","../../../projects/legacy/components/color-selector/linear-multi-picker/linear-multi-picker.component.ts","../../../projects/legacy/components/color-selector/linear-multi-picker/linear-multi-picker.template.html","../../../projects/legacy/components/color-selector/palette/palette.component.ts","../../../projects/legacy/components/color-selector/palette/palette.template.html","../../../projects/legacy/components/color-selector/color-selector.component.ts","../../../projects/legacy/components/color-selector/color-selector.template.html","../../../projects/legacy/components/color-selector/linear-multi-picker/linear-multi-picker.module.ts","../../../projects/legacy/components/color-selector/palette/palette.module.ts","../../../projects/legacy/components/color-selector/color-selector.module.ts","../../../projects/legacy/components/color-selector/taiga-ui-legacy-components-color-selector.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport type {MaskitoOptions} from '@maskito/core';\nimport {tuiHexToRgb, tuiRgbToHex} from '@taiga-ui/cdk/utils/color';\n\nconst HEX_MODE_LENGTH = 6;\n\n@Component({\n standalone: false,\n selector: 'tui-color-edit',\n templateUrl: './color-edit.template.html',\n styleUrls: ['./color-edit.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiColorEditComponent {\n @Input()\n public color: [number, number, number, number] = [0, 0, 0, 1];\n\n @Output()\n public readonly colorChange = new EventEmitter<[number, number, number, number]>();\n\n public readonly hexMask: MaskitoOptions = {\n mask: new RegExp(`^[A-F\\\\d]{0,${HEX_MODE_LENGTH}}$`, 'gi'),\n };\n\n public readonly modes = ['HEX', 'RGB'];\n\n public mode = this.modes[0];\n\n public get isHex(): boolean {\n return this.mode === this.modes[0];\n }\n\n public get hex(): string {\n return tuiRgbToHex(this.color[0], this.color[1], this.color[2]).replace('#', '');\n }\n\n public get opacity(): number {\n return Math.round(this.color[3] * 100);\n }\n\n public onHexChange(hex: string): void {\n if (hex.length !== HEX_MODE_LENGTH) {\n return;\n }\n\n const rgb = tuiHexToRgb(hex);\n\n this.updateColor([rgb[0], rgb[1], rgb[2], this.color[3]]);\n }\n\n public onRgbChange(...rgba: [number, number, number, number]): void {\n this.updateColor(rgba);\n }\n\n private updateColor(color: [number, number, number, number]): void {\n this.color = color;\n this.colorChange.emit(color);\n }\n}\n","<tui-select\n tuiDropdownAlign=\"left\"\n tuiDropdownLimitWidth=\"min\"\n tuiTextfieldSize=\"m\"\n class=\"t-select\"\n [ngModelOptions]=\"{standalone: true}\"\n [style.flex]=\"'0 0 auto'\"\n [tuiTextfieldLabelOutside]=\"true\"\n [(ngModel)]=\"mode\"\n>\n <tui-data-list\n *tuiDataList\n size=\"s\"\n >\n <button\n *ngFor=\"let item of modes\"\n tuiOption\n type=\"button\"\n [value]=\"item\"\n >\n {{ item }}\n </button>\n </tui-data-list>\n</tui-select>\n<tui-primitive-textfield\n *ngIf=\"isHex; else rgb\"\n tuiTextfieldSize=\"m\"\n [maskito]=\"hexMask\"\n [tuiTextfieldLabelOutside]=\"true\"\n [value]=\"hex\"\n (valueChange)=\"onHexChange($event)\"\n/>\n<ng-template #rgb>\n <tui-input-number\n tuiTextfieldSize=\"m\"\n class=\"t-rgb\"\n [max]=\"255\"\n [min]=\"0\"\n [ngModel]=\"color[0]\"\n [ngModelOptions]=\"{standalone: true}\"\n [tuiTextfieldLabelOutside]=\"true\"\n (ngModelChange)=\"onRgbChange($event, color[1], color[2], color[3])\"\n />\n <tui-input-number\n tuiTextfieldSize=\"m\"\n class=\"t-rgb\"\n [max]=\"255\"\n [min]=\"0\"\n [ngModel]=\"color[1]\"\n [ngModelOptions]=\"{standalone: true}\"\n [tuiTextfieldLabelOutside]=\"true\"\n (ngModelChange)=\"onRgbChange(color[0], $event, color[2], color[3])\"\n />\n <tui-input-number\n tuiTextfieldSize=\"m\"\n class=\"t-rgb\"\n [max]=\"255\"\n [min]=\"0\"\n [ngModel]=\"color[2]\"\n [ngModelOptions]=\"{standalone: true}\"\n [tuiTextfieldLabelOutside]=\"true\"\n (ngModelChange)=\"onRgbChange(color[0], color[1], $event, color[3])\"\n />\n</ng-template>\n<tui-input-number\n tuiTextfieldPostfix=\"%\"\n tuiTextfieldSize=\"m\"\n class=\"t-opacity\"\n [max]=\"100\"\n [min]=\"0\"\n [ngModel]=\"opacity\"\n [ngModelOptions]=\"{standalone: true}\"\n [style.flex]=\"'0 0 auto'\"\n [tuiTextfieldLabelOutside]=\"true\"\n (ngModelChange)=\"onRgbChange(color[0], color[1], color[2], $event / 100)\"\n/>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiInputNumberModule} from '@taiga-ui/legacy/components/input-number';\nimport {TuiPrimitiveTextfieldModule} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiSelectModule} from '@taiga-ui/legacy/components/select';\nimport {TuiTextfieldControllerModule} from '@taiga-ui/legacy/directives/textfield-controller';\n\nimport {TuiColorEditComponent} from './color-edit.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MaskitoDirective,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiInputNumberModule,\n TuiSelectModule,\n ...TuiDropdown,\n ...TuiDataList,\n TuiButton,\n ],\n declarations: [TuiColorEditComponent],\n exports: [TuiColorEditComponent, ...TuiDropdown, ...TuiDataList],\n})\nexport class TuiColorEditModule {}\n","import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiGetElementPoint, tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport type {TuiPoint} from '@taiga-ui/core/types';\nimport {map, Observable, startWith, switchMap, takeUntil} from 'rxjs';\n\n@Injectable()\nexport class TuiPickerService extends Observable<TuiPoint> {\n private readonly el = tuiInjectElement();\n private readonly doc = inject(DOCUMENT);\n private readonly point$ = tuiTypedFromEvent(this.el, 'mousedown').pipe(\n tuiPreventDefault(),\n switchMap((event) => {\n const mouseMove$ = tuiTypedFromEvent(this.doc, 'mousemove').pipe(\n map(({clientX, clientY}) =>\n tuiGetElementPoint(clientX, clientY, this.el),\n ),\n takeUntil(tuiTypedFromEvent(this.doc, 'mouseup')),\n );\n\n return event.target === this.el\n ? mouseMove$.pipe(\n startWith(\n tuiGetElementPoint(event.clientX, event.clientY, this.el),\n ),\n )\n : mouseMove$;\n }),\n takeUntilDestroyed(),\n );\n\n constructor() {\n super((subscriber) => this.point$.subscribe(subscriber));\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport type {TuiPoint} from '@taiga-ui/core/types';\n\nimport {TuiPickerService} from '../services/picker.service';\n\n@Component({\n standalone: false,\n selector: 'tui-flat-picker',\n templateUrl: './flat-picker.template.html',\n styleUrls: ['./flat-picker.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiPickerService],\n})\nexport class TuiFlatPickerComponent {\n protected readonly $ = inject(TuiPickerService)\n .pipe(takeUntilDestroyed())\n .subscribe((point) => {\n this.value = point;\n this.valueChange.emit([point[0], point[1]]);\n });\n\n @Input()\n public value: TuiPoint = [0, 0];\n\n @Output()\n public readonly valueChange = new EventEmitter<[number, number]>();\n\n public get left(): number {\n return this.value[0] * 100;\n }\n\n public get top(): number {\n return this.value[1] * 100;\n }\n}\n","<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n [style.top.%]=\"top\"\n></div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\n\nimport {TuiPickerService} from '../services/picker.service';\n\n@Component({\n standalone: false,\n selector: 'tui-linear-picker',\n templateUrl: './linear-picker.template.html',\n styleUrls: ['./linear-picker.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiPickerService],\n})\nexport class TuiLinearPickerComponent {\n protected readonly $ = inject(TuiPickerService)\n .pipe(takeUntilDestroyed())\n .subscribe(([x]) => {\n this.value = x;\n this.valueChange.emit(x);\n });\n\n @Input()\n public value = 0;\n\n @Output()\n public readonly valueChange = new EventEmitter<number>();\n\n public get left(): number {\n return this.value * 100;\n }\n}\n","<div\n class=\"t-circle\"\n [style.left.%]=\"left\"\n></div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport type {SafeStyle} from '@angular/platform-browser';\nimport {DomSanitizer} from '@angular/platform-browser';\nimport {tuiHsvToRgb, tuiRgbToHsv} from '@taiga-ui/cdk/utils/color';\nimport {tuiRound} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiPoint} from '@taiga-ui/core/types';\n\n@Component({\n standalone: false,\n selector: 'tui-color-picker',\n templateUrl: './color-picker.template.html',\n styleUrls: ['./color-picker.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiColorPickerComponent {\n private readonly sanitizer = inject(DomSanitizer);\n\n protected point: TuiPoint = [0, 1];\n protected hue = 0;\n protected opacity = 1;\n\n @Output()\n public readonly colorChange = new EventEmitter<\n [h: number, s: number, v: number, opacity: number]\n >();\n\n @Input()\n public set color(color: [h: number, s: number, v: number, opacity: number]) {\n if (\n this.currentColor.every((item, index) => item === color[index]) &&\n color[3] === this.opacity\n ) {\n return;\n }\n\n const [h, s, v] = tuiRgbToHsv(color[0], color[1], color[2]);\n\n this.opacity = color[3];\n this.hue = h / 360;\n this.point = [s, 1 - v / 255];\n }\n\n public get currentColor(): [h: number, s: number, v: number] {\n return this.getCurrentColor(this.hue, this.point);\n }\n\n public get base(): string {\n return `rgb(${tuiHsvToRgb(this.hue * 360, 1, 255)})`;\n }\n\n public get gradient(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(\n `linear-gradient(to right, rgba(${this.currentColor.join(\n ',',\n )}, 0), rgb(${this.currentColor.join(',')}))`,\n );\n }\n\n public onPointChange(point: TuiPoint): void {\n this.point = point;\n this.updateColor();\n }\n\n public onHueChange(hue: number): void {\n this.hue = hue;\n this.updateColor();\n }\n\n public onOpacityChange(opacity: number): void {\n this.opacity = tuiRound(opacity, 2);\n this.updateColor();\n }\n\n @tuiPure\n private getCurrentColor(\n hue: number,\n point: TuiPoint,\n ): [h: number, s: number, v: number] {\n return tuiHsvToRgb(hue * 360, point[0], (1 - point[1]) * 255);\n }\n\n private updateColor(): void {\n this.colorChange.emit([...this.currentColor, this.opacity]);\n }\n}\n","<tui-flat-picker\n class=\"t-flat\"\n [style.backgroundColor]=\"base\"\n [value]=\"point\"\n (valueChange)=\"onPointChange($event)\"\n/>\n<div class=\"t-wrapper t-wrapper_hue\">\n <tui-linear-picker\n class=\"t-hue\"\n [value]=\"hue\"\n (valueChange)=\"onHueChange($event)\"\n />\n</div>\n<div\n class=\"t-wrapper t-wrapper_opacity\"\n [style.background]=\"gradient\"\n>\n <tui-linear-picker\n class=\"t-opacity\"\n [value]=\"opacity\"\n (valueChange)=\"onOpacityChange($event)\"\n />\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiFlatPickerComponent} from './flat-picker.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TuiFlatPickerComponent],\n exports: [TuiFlatPickerComponent],\n})\nexport class TuiFlatPickerModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiLinearPickerComponent} from './linear-picker.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TuiLinearPickerComponent],\n exports: [TuiLinearPickerComponent],\n})\nexport class TuiLinearPickerModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiFlatPickerModule} from '../flat-picker/flat-picker.module';\nimport {TuiLinearPickerModule} from '../linear-picker/linear-picker.module';\nimport {TuiColorPickerComponent} from './color-picker.component';\n\n@NgModule({\n imports: [CommonModule, TuiFlatPickerModule, TuiLinearPickerModule],\n declarations: [TuiColorPickerComponent],\n exports: [TuiColorPickerComponent],\n})\nexport class TuiColorPickerModule {}\n","import type {Provider} from '@angular/core';\nimport type {TuiGradientDirection} from '@taiga-ui/cdk/utils/color';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_COLOR_SELECTOR_MODE_NAMES = tuiCreateToken<[string, string]>([\n 'Solid color',\n 'Gradient',\n]);\n\nexport const TUI_DEFAULT_INPUT_COLORS = new Map([\n ['color-black-100', '#909090'],\n ['color-black-200', '#666666'],\n ['color-black-300', '#333333'],\n ['color-blue-100', '#1771e6'],\n ['color-blue-200', '#1464cc'],\n ['color-blue-300', '#0953b3'],\n ['color-gray-100', '#f5f5f6'],\n ['color-gray-200', '#e7e8ea'],\n ['color-gray-300', '#cbcfd3'],\n ['color-gray-400', '#959ba4'],\n ['color-gray-500', '#79818c'],\n ['color-gray-600', '#616871'],\n ['color-green-100', '#39b54a'],\n ['color-green-200', '#2ca53a'],\n ['color-green-300', '#168a21'],\n ['color-light-blue-100', '#ecf1f7'],\n ['color-light-blue-200', '#e4ebf3'],\n ['color-light-blue-300', '#dde4ed'],\n ['color-red-100', '#e01f19'],\n ['color-red-200', '#d3120e'],\n ['color-red-300', '#c40b08'],\n ['color-yellow-100', '#FFDD2C'],\n ['color-yellow-200', '#FCC521'],\n ['color-yellow-300', '#FAB618'],\n ['transparent', 'transparent'],\n]);\n\nexport const TuiColorSelectorMode = {\n SolidColor: 0,\n Gradient: 1,\n} as const;\n\nexport interface TuiColorSelectorOptions {\n readonly mode: (typeof TuiColorSelectorMode)[keyof typeof TuiColorSelectorMode];\n readonly selectorMode: boolean;\n readonly color: [number, number, number, number];\n readonly colors: ReadonlyMap<string, string>;\n readonly gradient: {\n readonly icons: Record<TuiGradientDirection, string>;\n readonly steps: ReadonlyArray<[number, [number, number, number, number]]>;\n readonly stop: number;\n readonly direction: TuiGradientDirection;\n readonly emptyStop: [number, number, number, number];\n readonly buttons: readonly TuiGradientDirection[];\n };\n}\n\nexport const TUI_COLOR_SELECTOR_DEFAULT_OPTIONS: TuiColorSelectorOptions = {\n selectorMode: true,\n mode: TuiColorSelectorMode.SolidColor,\n color: [0, 0, 0, 1],\n colors: new Map<string, string>(),\n gradient: {\n icons: {\n 'to top right': '@tui.move-up-right',\n 'to right': '@tui.move-right',\n 'to bottom right': '@tui.move-down-right',\n 'to bottom': '@tui.move-down',\n 'to bottom left': '@tui.move-down-left',\n 'to left': '@tui.move-left',\n 'to top left': '@tui.move-up-left',\n 'to top': '@tui.move-up',\n },\n steps: [\n [0, [0, 0, 0, 1]],\n [1, [255, 255, 255, 1]],\n ],\n stop: 0,\n direction: 'to bottom',\n emptyStop: [0, 0, 0, 0],\n buttons: [\n 'to top right',\n 'to right',\n 'to bottom right',\n 'to bottom',\n 'to bottom left',\n 'to left',\n 'to top left',\n 'to top',\n ],\n },\n};\n\nexport const TUI_COLOR_SELECTOR_OPTIONS = tuiCreateToken(\n TUI_COLOR_SELECTOR_DEFAULT_OPTIONS,\n);\n\nexport function tuiColorSelectorOptionsProvider(\n options: Partial<TuiColorSelectorOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_COLOR_SELECTOR_OPTIONS,\n options,\n TUI_COLOR_SELECTOR_DEFAULT_OPTIONS,\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\n\nimport {TuiPickerService} from '../services/picker.service';\n\n@Component({\n standalone: false,\n selector: 'tui-linear-multi-picker',\n templateUrl: './linear-multi-picker.template.html',\n styleUrls: ['./linear-multi-picker.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiPickerService],\n host: {\n '(document:mouseup)': 'onMouseUp()',\n },\n})\nexport class TuiLinearMultiPickerComponent {\n protected readonly $ = inject(TuiPickerService)\n .pipe(takeUntilDestroyed())\n .subscribe(([x]) => this.onPicker(x));\n\n @Input()\n public value = [0, 1];\n\n @Output()\n public readonly valueChange = new EventEmitter<number[]>();\n\n @Output()\n public readonly indexChange = new EventEmitter<number>();\n\n public index = NaN;\n\n public onMouseUp(): void {\n this.index = NaN;\n }\n\n public onMouseDown(index: number): void {\n this.updateIndex(index);\n }\n\n public onClick(index: number): void {\n if (this.value.length > 2) {\n this.updateValue(this.value.filter((_, i) => i !== index));\n }\n }\n\n private onPicker(x: number): void {\n if (Number.isNaN(this.index)) {\n this.updateIndex(this.value.length);\n this.value = [...this.value, 0];\n }\n\n if (this.value.some((item, index) => item === x && index !== this.index)) {\n return;\n }\n\n this.updateValue(\n this.value.map((item, index) => (index === this.index ? x : item)),\n );\n }\n\n private updateIndex(index: number): void {\n this.index = index;\n this.indexChange.emit(index);\n }\n\n private updateValue(value: number[]): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","<div\n *ngFor=\"let item of value; let index = index\"\n class=\"t-circle\"\n [style.left.%]=\"item * 100\"\n (dblclick)=\"onClick(index)\"\n (mousedown)=\"onMouseDown(index)\"\n></div>\n","import type {KeyValue} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\n@Component({\n standalone: false,\n selector: 'tui-palette',\n templateUrl: './palette.template.html',\n styleUrls: ['./palette.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPaletteComponent {\n @Input()\n public colors: ReadonlyMap<string, string> = new Map<string, string>();\n\n @Output()\n public readonly selectedColor = new EventEmitter<string>();\n\n public originalOrder = (\n _a: KeyValue<string, string>,\n _b: KeyValue<string, string>,\n ): number => 0;\n}\n","<button\n *ngFor=\"let color of colors | keyvalue: originalOrder\"\n type=\"button\"\n class=\"t-button\"\n [id]=\"color.key\"\n [style.background]=\"color.value\"\n [tuiHint]=\"color.key\"\n [tuiHintDescribe]=\"color.key\"\n (click)=\"selectedColor.emit(color.value)\"\n></button>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport type {SafeStyle} from '@angular/platform-browser';\nimport {DomSanitizer} from '@angular/platform-browser';\nimport type {TuiGradientDirection} from '@taiga-ui/cdk/utils/color';\nimport {\n tuiGetGradientData,\n tuiParseColor,\n tuiParseGradient,\n} from '@taiga-ui/cdk/utils/color';\nimport {tuiDefaultSort, tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {\n TUI_COLOR_SELECTOR_MODE_NAMES,\n TUI_COLOR_SELECTOR_OPTIONS,\n TuiColorSelectorMode,\n} from './color-selector.options';\n\n@Component({\n standalone: false,\n selector: 'tui-color-selector',\n templateUrl: './color-selector.template.html',\n styleUrls: ['./color-selector.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiColorSelectorComponent {\n private readonly selectorOptions = inject(TUI_COLOR_SELECTOR_OPTIONS);\n private stops = new Map(this.selectorOptions.gradient.steps);\n private currentStop = this.selectorOptions.gradient.stop;\n private direction = this.selectorOptions.gradient.direction;\n\n private readonly sanitizer = inject(DomSanitizer);\n protected open = false;\n\n @Input()\n public colors = this.selectorOptions.colors;\n\n @Output()\n public readonly colorChange = new EventEmitter<string>();\n\n public color = this.selectorOptions.color;\n\n public readonly modes = inject(TUI_COLOR_SELECTOR_MODE_NAMES);\n\n public currentMode = this.modes[this.selectorOptions.mode];\n\n public readonly buttons = this.selectorOptions.gradient.buttons;\n\n @Input('color')\n public set colorSetter(color: string) {\n if (color.startsWith('linear-gradient')) {\n this.parseGradient(color);\n } else {\n this.parseColor(color);\n }\n }\n\n public get selectorMode(): boolean {\n return this.selectorOptions.selectorMode;\n }\n\n public get palette(): Map<string, string> {\n return this.filterPalette(this.colors, this.isGradient);\n }\n\n public get stopsKeys(): number[] {\n return this.getStopsKeys(this.stops);\n }\n\n public get currentColor(): [number, number, number, number] {\n return this.isGradient ? this.getStop(this.currentStop) : this.color;\n }\n\n public get gradient(): SafeStyle {\n return this.sanitizer.bypassSecurityTrustStyle(this.getGradient('to right'));\n }\n\n public get isGradient(): boolean {\n return this.currentMode === this.modes[TuiColorSelectorMode.Gradient];\n }\n\n public getIcon(direction: TuiGradientDirection): string {\n return this.selectorOptions.gradient.icons[direction];\n }\n\n public isModeActive(mode: string): boolean {\n return this.currentMode === mode;\n }\n\n public isDirectionActive(direction: TuiGradientDirection): boolean {\n return this.direction === direction;\n }\n\n public onPalettePick(color: string): void {\n this.updateColor(color);\n }\n\n public onDirectionChange(direction: TuiGradientDirection): void {\n this.direction = direction;\n this.updateColor(this.getGradient(direction));\n }\n\n public onModeSelect(mode: string): void {\n this.currentMode = mode;\n this.open = false;\n\n this.updateColor(\n mode === this.modes[TuiColorSelectorMode.SolidColor]\n ? `rgba(${this.color.join(', ')})`\n : this.getGradient(this.direction),\n );\n }\n\n public onIndexChange(index: number): void {\n this.currentStop = this.stopsKeys[index] ?? 0;\n }\n\n public onColorChange(color: [number, number, number, number]): void {\n if (!this.isGradient) {\n this.updateColor(`rgba(${color.join(', ')})`);\n\n return;\n }\n\n this.stops.set(this.currentStop, color);\n this.updateColor(this.getGradient(this.direction));\n }\n\n public onStopsChange(stopsKeys: readonly number[]): void {\n const removed = this.stopsKeys.find((item) => !stopsKeys.includes(item));\n const added = stopsKeys.find((item) => !this.stopsKeys.includes(item));\n\n if (removed === undefined && added !== undefined) {\n this.addStop(added);\n }\n\n if (removed !== undefined && added === undefined) {\n this.removeStop(removed);\n }\n\n if (removed !== undefined && added !== undefined) {\n this.replaceStop(removed, added);\n }\n\n this.updateColor(this.getGradient(this.direction));\n }\n\n @tuiPure\n private getStopsKeys(stops: Map<number, unknown>): number[] {\n return Array.from(stops.keys());\n }\n\n @tuiPure\n private filterPalette(\n colors: ReadonlyMap<string, string>,\n isGradient: boolean,\n ): Map<string, string> {\n const map = new Map(colors);\n\n map.forEach((value, key) => {\n if (\n (value.startsWith('linear-gradient') && !isGradient) ||\n (!value.startsWith('linear-gradient') && isGradient)\n ) {\n map.delete(key);\n }\n });\n\n return map;\n }\n\n private updateColor(color: string): void {\n this.colorChange.emit(color);\n }\n\n private getGradient(direction: TuiGradientDirection): string {\n return `linear-gradient(${direction}, ${[...this.stopsKeys]\n .sort(tuiDefaultSort)\n .map((key) => `rgba(${this.getStop(key).join(', ')}) ${key * 100}%`)\n .join(', ')})`;\n }\n\n private getStop(stop: number): [number, number, number, number] {\n return this.stops.get(stop) || this.selectorOptions.gradient.emptyStop;\n }\n\n private addStop(stop: number): void {\n const closest = this.stopsKeys.reduce(\n (prev, curr) => (Math.abs(curr - stop) < Math.abs(prev - stop) ? curr : prev),\n this.stopsKeys[0] ?? 0,\n );\n\n this.stops.set(stop, this.getStop(closest));\n this.stops = new Map(this.stops);\n this.currentStop = stop;\n }\n\n private removeStop(stop: number): void {\n this.stops.delete(stop);\n this.stops = new Map(this.stops);\n this.currentStop = this.stopsKeys[0] ?? 0;\n }\n\n private replaceStop(removed: number, added: number): void {\n const value = this.getStop(removed);\n\n this.currentStop = added;\n this.stops = new Map(\n this.stopsKeys.map<[number, [number, number, number, number]]>((key) =>\n key === removed ? [added, value] : [key, this.getStop(key)],\n ),\n );\n }\n\n private parseGradient(color: string): void {\n if (color === this.getGradient(this.direction)) {\n return;\n }\n\n const gradient = tuiParseGradient(tuiGetGradientData(color));\n\n this.direction = gradient.side;\n this.currentStop = this.selectorOptions.gradient.stop;\n this.stops = new Map(\n gradient.stops.length\n ? gradient.stops.map<[number, [number, number, number, number]]>(\n ({color, position}) => [\n parseFloat(position) / 100,\n tuiParseColor(color),\n ],\n )\n : this.selectorOptions.gradient.steps,\n );\n }\n\n private parseColor(color: string): void {\n this.currentStop = this.selectorOptions.gradient.stop;\n this.color = tuiParseColor(color);\n }\n}\n","<ng-container *ngIf=\"selectorMode\">\n <div\n class=\"t-select\"\n [tuiDropdown]=\"menu\"\n [(tuiDropdownOpen)]=\"open\"\n >\n <button\n appearance=\"\"\n size=\"s\"\n tuiButton\n tuiChevron\n type=\"button\"\n >\n {{ currentMode }}\n </button>\n\n <ng-template #menu>\n <tui-data-list\n role=\"menu\"\n size=\"s\"\n class=\"t-menu\"\n >\n <button\n *ngFor=\"let mode of modes\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isModeActive(mode)\"\n (click)=\"onModeSelect(mode)\"\n (keydown.enter.prevent)=\"onModeSelect(mode)\"\n (keydown.space.prevent)=\"onModeSelect(mode)\"\n >\n {{ mode }}\n <tui-icon\n *ngIf=\"isModeActive(mode)\"\n icon=\"@tui.check\"\n class=\"t-checkmark\"\n />\n </button>\n </tui-data-list>\n </ng-template>\n </div>\n <hr class=\"t-hr\" />\n</ng-container>\n\n<ng-container *ngIf=\"isGradient\">\n <div\n class=\"t-wrapper\"\n [style.background]=\"gradient\"\n >\n <tui-linear-multi-picker\n class=\"t-gradient\"\n [value]=\"stopsKeys\"\n (indexChange)=\"onIndexChange($event)\"\n (valueChange)=\"onStopsChange($event)\"\n />\n </div>\n <div class=\"t-buttons\">\n <!-- TODO: Change to `tuiHintDescribe` when figure tuiDriver order issue -->\n <button\n *ngFor=\"let button of buttons\"\n appearance=\"\"\n size=\"xs\"\n tuiHintDescribe\n tuiIconButton\n type=\"button\"\n class=\"t-direction\"\n [class.t-direction_active]=\"isDirectionActive(button)\"\n [iconStart]=\"getIcon(button)\"\n [tuiHint]=\"button\"\n (click)=\"onDirectionChange(button)\"\n ></button>\n </div>\n</ng-container>\n<tui-color-picker\n [color]=\"currentColor\"\n (colorChange)=\"onColorChange($event)\"\n/>\n<tui-color-edit\n *ngIf=\"!isGradient\"\n tuiGroup\n class=\"t-edit\"\n [color]=\"color\"\n (colorChange)=\"onColorChange($event)\"\n/>\n<tui-palette\n *ngIf=\"palette.size\"\n class=\"t-palette\"\n [colors]=\"palette\"\n (selectedColor)=\"onPalettePick($event)\"\n/>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiLinearMultiPickerComponent} from './linear-multi-picker.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TuiLinearMultiPickerComponent],\n exports: [TuiLinearMultiPickerComponent],\n})\nexport class TuiLinearMultiPickerModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiHint} from '@taiga-ui/core/directives/hint';\n\nimport {TuiPaletteComponent} from './palette.component';\n\n@NgModule({\n imports: [CommonModule, ...TuiHint],\n declarations: [TuiPaletteComponent],\n exports: [TuiPaletteComponent, ...TuiHint],\n})\nexport class TuiPaletteModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiGroup} from '@taiga-ui/core/directives/group';\nimport {TuiHint} from '@taiga-ui/core/directives/hint';\nimport {TuiChevron} from '@taiga-ui/kit/directives/chevron';\nimport {TuiSvgComponent} from '@taiga-ui/legacy/components/svg';\n\nimport {TuiColorEditModule} from './color-edit/color-edit.module';\nimport {TuiColorPickerModule} from './color-picker/color-picker.module';\nimport {TuiColorSelectorComponent} from './color-selector.component';\nimport {TuiLinearMultiPickerModule} from './linear-multi-picker/linear-multi-picker.module';\nimport {TuiPaletteModule} from './palette/palette.module';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiButton,\n TuiSvgComponent,\n TuiColorPickerModule,\n TuiLinearMultiPickerModule,\n TuiActiveZone,\n TuiColorEditModule,\n TuiGroup,\n TuiPaletteModule,\n TuiChevron,\n TuiIcon,\n ...TuiHint,\n ...TuiDataList,\n ],\n declarations: [TuiColorSelectorComponent],\n exports: [TuiColorSelectorComponent, ...TuiHint, ...TuiDataList],\n})\nexport class TuiColorSelectorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i8","i9","i1","i2","i1.TuiFlatPickerComponent","i2.TuiLinearPickerComponent","i3.TuiColorPickerComponent","i4.TuiLinearMultiPickerComponent","i5.TuiColorEditComponent","i6","i7","i9.TuiPaletteComponent","i10"],"mappings":"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"}
|
|
@@ -390,7 +390,7 @@ class TuiMultiSelectGroupComponent {
|
|
|
390
390
|
return items.map(({ value }) => value).filter(tuiIsPresent);
|
|
391
391
|
}
|
|
392
392
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMultiSelectGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
393
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiMultiSelectGroupComponent, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: { label: "label" }, host: { properties: { "class._label": "label" } }, queries: [{ propertyName: "options", predicate: TuiOption }], ngImport: i0, template: "<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n</span>\n<ng-content />\n", styles: [":host._label:before{display:none}:host:not(:first-of-type) .t-label:not(:empty){padding-top:1.25rem}:host:not(:first-of-type) .t-button{margin-top:1.25rem}.t-wrapper{display:flex;align-items:flex-start}.t-label:not(:empty){flex:1;padding:.75rem 1rem .25rem .625rem}.t-button{margin:.75rem 1rem 0 auto}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: i3.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
393
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiMultiSelectGroupComponent, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: { label: "label" }, host: { properties: { "class._label": "label" } }, queries: [{ propertyName: "options", predicate: TuiOption }], ngImport: i0, template: "<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n</span>\n<ng-content />\n", styles: [":host._label:before{display:none}:host:not(:first-of-type) .t-label:not(:empty){padding-top:1.25rem}:host:not(:first-of-type) .t-button{margin-top:1.25rem}.t-wrapper{display:flex;align-items:flex-start}.t-label:not(:empty){flex:1;padding:.75rem 1rem .25rem .625rem}.t-button{margin:.75rem 1rem 0 auto;font-weight:400}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: i3.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
394
394
|
}
|
|
395
395
|
__decorate([
|
|
396
396
|
tuiPure
|
|
@@ -414,7 +414,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
414
414
|
type: Component,
|
|
415
415
|
args: [{ standalone: false, selector: 'tui-opt-group[tuiMultiSelectGroup]', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
416
416
|
'[class._label]': 'label',
|
|
417
|
-
}, template: "<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n</span>\n<ng-content />\n", styles: [":host._label:before{display:none}:host:not(:first-of-type) .t-label:not(:empty){padding-top:1.25rem}:host:not(:first-of-type) .t-button{margin-top:1.25rem}.t-wrapper{display:flex;align-items:flex-start}.t-label:not(:empty){flex:1;padding:.75rem 1rem .25rem .625rem}.t-button{margin:.75rem 1rem 0 auto}\n"] }]
|
|
417
|
+
}, template: "<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n</span>\n<ng-content />\n", styles: [":host._label:before{display:none}:host:not(:first-of-type) .t-label:not(:empty){padding-top:1.25rem}:host:not(:first-of-type) .t-button{margin-top:1.25rem}.t-wrapper{display:flex;align-items:flex-start}.t-label:not(:empty){flex:1;padding:.75rem 1rem .25rem .625rem}.t-button{margin:.75rem 1rem 0 auto;font-weight:400}\n"] }]
|
|
418
418
|
}], propDecorators: { options: [{
|
|
419
419
|
type: ContentChildren,
|
|
420
420
|
args: [TuiOption]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-multi-select.mjs","sources":["../../../projects/legacy/components/multi-select/multi-select.options.ts","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select.ts","../../../projects/legacy/components/multi-select/multi-select.component.ts","../../../projects/legacy/components/multi-select/multi-select.template.html","../../../projects/legacy/components/multi-select/hide-selected.pipe.ts","../../../projects/legacy/components/multi-select/multi-select.directive.ts","../../../projects/legacy/components/multi-select/multi-select-group/multi-select-group.component.ts","../../../projects/legacy/components/multi-select/multi-select-group/multi-select-group.template.html","../../../projects/legacy/components/multi-select/multi-select-group/multi-select-group.directive.ts","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select.component.ts","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select.template.html","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select-group.component.ts","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select-group.template.html","../../../projects/legacy/components/multi-select/multi-select.module.ts","../../../projects/legacy/components/multi-select/taiga-ui-legacy-components-multi-select.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport interface TuiMultiSelectOptions<T> {\n readonly rows: number;\n readonly valueContent: PolymorpheusContent<TuiContext<readonly T[]>>;\n}\n\nexport const TUI_MULTI_SELECT_DEFAULT_OPTIONS: TuiMultiSelectOptions<unknown> = {\n rows: Infinity,\n valueContent: '',\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for MultiSelect component\n */\nexport const TUI_MULTI_SELECT_OPTIONS = tuiCreateToken(TUI_MULTI_SELECT_DEFAULT_OPTIONS);\n\nexport function tuiMultiSelectOptionsProvider<T>(\n options: Partial<TuiMultiSelectOptions<T>>,\n): Provider {\n return tuiProvideOptions(\n TUI_MULTI_SELECT_OPTIONS,\n options,\n TUI_MULTI_SELECT_DEFAULT_OPTIONS,\n );\n}\n","import {Directive} from '@angular/core';\nimport type {TuiMapper} from '@taiga-ui/cdk/types';\nimport type {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNativeSelect} from '@taiga-ui/legacy/classes';\n\nimport type {TuiMultiSelectDirective} from '../multi-select.directive';\n\n@Directive()\nexport abstract class AbstractTuiNativeMultiSelect<T> extends AbstractTuiNativeSelect<\n TuiMultiSelectDirective<T>,\n T\n> {\n protected get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n protected selectedMapper: TuiMapper<[T, ...any[]], boolean> = (option, value) =>\n value.includes(option);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n inject,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {EMPTY_ARRAY, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport type {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport type {\n TuiBooleanHandler,\n TuiContext,\n TuiMapper,\n TuiStringHandler,\n} from '@taiga-ui/cdk/types';\nimport {tuiGetClipboardDataText} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiArrayToggle, tuiIsString, tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {\n TuiDataListAccessor,\n TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n tuiAsDataListHost,\n TuiDataListDirective,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport type {TuiSizeL, TuiSizeM, TuiSizeS} from '@taiga-ui/core/types';\nimport type {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/kit/tokens';\nimport {\n AbstractTuiMultipleControl,\n tuiAsControl,\n TuiStringifiableItem,\n} from '@taiga-ui/legacy/classes';\nimport {TUI_ARROW_MODE} from '@taiga-ui/legacy/components/arrow';\nimport {\n TUI_INPUT_TAG_OPTIONS,\n TuiInputTagComponent,\n} from '@taiga-ui/legacy/components/input-tag';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport type {TuiFocusableElementAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport type {TuiMultiSelectOptions} from './multi-select.options';\nimport {TUI_MULTI_SELECT_OPTIONS} from './multi-select.options';\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select/native-multi-select';\n\n@Component({\n standalone: false,\n selector: 'tui-multi-select',\n templateUrl: './multi-select.template.html',\n styleUrls: ['./multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiMultiSelectComponent),\n tuiAsControl(TuiMultiSelectComponent),\n tuiAsDataListHost(TuiMultiSelectComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n '[class._editable]': 'editable',\n '[class._expandable]': 'rows > 1',\n },\n})\nexport class TuiMultiSelectComponent<T>\n extends AbstractTuiMultipleControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ContentChild(AbstractTuiNativeMultiSelect, {static: true})\n private readonly nativeSelect?: AbstractTuiNativeMultiSelect<T>;\n\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild(TuiInputTagComponent)\n private readonly input?: TuiInputTagComponent;\n\n private readonly arrowMode = inject(TUI_ARROW_MODE);\n private readonly itemsHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n private readonly options = inject<TuiMultiSelectOptions<T>>(TUI_MULTI_SELECT_OPTIONS);\n private readonly inputTagOptions = inject(TUI_INPUT_TAG_OPTIONS);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n protected open = false;\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly isMobile: boolean = inject(TUI_IS_MOBILE);\n\n @Input()\n public stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n public identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n public search: string | null = '';\n\n @Input()\n public placeholder = '';\n\n @Input()\n public editable = true;\n\n @Input()\n public disabledItemHandler: TuiItemsHandlers<T>['disabledItemHandler'] =\n this.itemsHandlers.disabledItemHandler;\n\n @Input()\n public valueContent: TuiMultiSelectOptions<T>['valueContent'] =\n this.options.valueContent;\n\n @Input()\n public tagValidator: TuiBooleanHandler<T> = TUI_TRUE_HANDLER;\n\n @Input()\n public rows: TuiMultiSelectOptions<T>['rows'] = this.options.rows;\n\n @Input()\n public autoColor = false;\n\n @Output()\n public readonly searchChange = new EventEmitter<string | null>();\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.input?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return !!this.input?.focused || !!this.dropdown?.tuiDropdownOpen;\n }\n\n public onValueChange(value: readonly T[]): void {\n this.value = value;\n }\n\n public onSearch(search: string | null): void {\n // Clearing sets the empty value, the dropdown should not be opened on clear.\n if (search !== '') {\n this.open = true;\n }\n\n this.updateSearch(search);\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n public handleOption(option: T): void {\n const {value, identityMatcher} = this;\n const index = value.findIndex((item) => identityMatcher(item, option));\n\n this.value =\n index === -1 ? [...value, option] : value.filter((_, i) => i !== index);\n this.updateSearch(null);\n }\n\n protected get arrow(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return this.interactive ? this.arrowMode.interactive : this.arrowMode.disabled;\n }\n\n protected get nativeDropdownMode(): boolean {\n return !!this.nativeSelect && this.isMobile && !this.editable;\n }\n\n protected get computedValue(): readonly T[] {\n return this.computedGroup ? EMPTY_ARRAY : this.value;\n }\n\n // @bad TODO: think of a better way\n protected get searchOrSpace(): string {\n return this.computedGroup ? ' ' : this.searchString;\n }\n\n protected get searchString(): string {\n return this.search === null ? '' : this.search;\n }\n\n protected get computedGroup(): boolean {\n return (\n !!this.valueContent &&\n this.value.length > 0 &&\n (!this.focused || !this.editable)\n );\n }\n\n @tuiPure\n protected getStringifier(\n stringify: TuiStringHandler<T>,\n ): TuiStringHandler<TuiContext<T>> {\n return ({$implicit}) => stringify($implicit);\n }\n\n protected readonly valueMapper: TuiMapper<\n [readonly T[], TuiStringHandler<T>, boolean?],\n ReadonlyArray<TuiStringifiableItem<T>>\n > = (value, stringify, group) =>\n group\n ? EMPTY_ARRAY\n : value.map((item) => new TuiStringifiableItem(item, stringify));\n\n protected readonly disabledItemHandlerWrapper: TuiMapper<\n [TuiBooleanHandler<T>],\n TuiBooleanHandler<TuiStringifiableItem<T> | string>\n > = (handler) => (stringifiable) =>\n tuiIsString(stringifiable) || handler(stringifiable.item);\n\n protected onSpace(event: Event): void {\n if (!this.editable) {\n event.preventDefault();\n }\n\n if (!this.readOnly) {\n this.open = true;\n }\n }\n\n protected onEnter(event: Event): void {\n const {value} = this;\n const options = this.accessor ? this.accessor.getOptions() : [];\n\n if (options.length !== 1) {\n return;\n }\n\n event.preventDefault();\n this.value = options[0] ? tuiArrayToggle(value, options[0]) : value;\n this.updateSearch(null);\n }\n\n protected onKeyDown(event: KeyboardEvent): void {\n if (event.key === this.inputTagOptions.separator) {\n this.onEnter(event);\n }\n }\n\n protected onPaste(event: Event): void {\n const pasted = tuiGetClipboardDataText(event as ClipboardEvent);\n const tags = pasted\n .split(this.inputTagOptions.separator)\n .map((tag) => tag.trim());\n const options = this.accessor?.getOptions() ?? [];\n const separator = tuiIsString(this.inputTagOptions.separator)\n ? this.inputTagOptions.separator\n : ',';\n\n const matches =\n options?.filter((option) => tags.includes(this.stringify(option))) ?? [];\n const matchingStrings = matches.map((v) => String(v));\n const invalid = tags.filter((value) => !matchingStrings.includes(value));\n\n this.value = this.filterValue([...this.value, ...matches]);\n this.updateSearch(invalid.length ? invalid.join(separator) : null);\n }\n\n protected onClick({nativeFocusableElement}: TuiInputTagComponent): void {\n if (\n this.interactive &&\n nativeFocusableElement &&\n tuiIsNativeFocused(nativeFocusableElement)\n ) {\n this.open = !this.open;\n }\n }\n\n protected onInput(value: ReadonlyArray<TuiStringifiableItem<T>>): void {\n this.value = value.map(({item}) => item);\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n private filterValue(value: T[]): T[] {\n const seen = new Set();\n\n return value\n .reverse()\n .filter((item) => item && !seen.has(item) && seen.add(item))\n .reverse();\n }\n\n private updateSearch(search: string | null): void {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !nativeDropdownMode\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-tag\n #inputTag\n automation-id=\"tui-multi-select__input\"\n class=\"t-input\"\n [autoColor]=\"autoColor\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [editable]=\"false\"\n [inputHidden]=\"!editable\"\n [nativeId]=\"nativeId\"\n [ngModel]=\"computedValue | tuiMapper: valueMapper : stringify\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [pseudoOpen]=\"open\"\n [readOnly]=\"readOnly\"\n [removable]=\"!nativeDropdownMode\"\n [rows]=\"rows\"\n [search]=\"searchOrSpace\"\n [tagValidator]=\"tagValidator | tuiMapper: disabledItemHandlerWrapper\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n (click.prevent)=\"onClick(inputTag)\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.space)=\"onSpace($event)\"\n (keydown)=\"onKeyDown($event)\"\n (ngModelChange)=\"onInput($event)\"\n (paste.capture.stop.prevent)=\"onPaste($event)\"\n (searchChange)=\"onSearch($event)\"\n >\n <ng-content />\n <ng-template #select>\n <ng-content\n *ngIf=\"isMobile\"\n select=\"select\"\n />\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"select\"\n ngProjectAs=\"select\"\n />\n\n <div\n *ngIf=\"computedGroup\"\n ngProjectAs=\"tuiContent\"\n class=\"t-content\"\n [class.t-content_fullsize]=\"inputTag.labelOutside\"\n >\n <span\n *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </span>\n </div>\n </tui-input-tag>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n automation-id=\"tui-multi-select__arrow\"\n tuiWrapper\n class=\"t-arrow\"\n [class.t-arrow_native-dropdown]=\"nativeDropdownMode\"\n (mousedown.prevent.silent)=\"(0)\"\n >\n <ng-container *polymorpheusOutlet=\"arrow as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n</div>\n","import type {PipeTransform} from '@angular/core';\nimport {inject, Pipe} from '@angular/core';\nimport type {TuiIdentityMatcher} from '@taiga-ui/cdk/types';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiIsFlat} from '@taiga-ui/kit/utils';\n\nimport {TuiMultiSelectComponent} from './multi-select.component';\n\n@Pipe({\n standalone: false,\n name: 'tuiHideSelected',\n pure: false,\n})\nexport class TuiHideSelectedPipe implements PipeTransform {\n private readonly component = inject(TuiMultiSelectComponent);\n\n public transform<T>(items: readonly T[] | null): readonly T[] | null;\n public transform<T>(\n items: ReadonlyArray<readonly T[]> | null,\n ): ReadonlyArray<readonly T[]> | null;\n public transform<T>(\n items: ReadonlyArray<readonly T[]> | readonly T[] | null,\n ): ReadonlyArray<readonly T[]> | readonly T[] | null {\n const {value, identityMatcher} = this.component;\n\n if (!items) {\n return null;\n }\n\n return tuiIsFlat(items)\n ? this.filter(items, value, identityMatcher)\n : this.filter2d(items, value, identityMatcher);\n }\n\n @tuiPure\n private filter2d<T>(\n items: ReadonlyArray<readonly T[]>,\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): ReadonlyArray<readonly T[]> {\n return items.map((subItems) => this.filter(subItems, value, matcher));\n }\n\n @tuiPure\n private filter<T>(\n items: readonly T[],\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): readonly T[] {\n return items.filter((item) =>\n value.every((selected) => !matcher(selected, item)),\n );\n }\n}\n","import {Directive} from '@angular/core';\nimport type {TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport type {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport type {TuiMultiSelectComponent} from './multi-select.component';\n\n@Directive({\n standalone: false,\n selector: 'tui-multi-select',\n providers: [tuiAsTextfieldHost(TuiMultiSelectDirective)],\n})\nexport class TuiMultiSelectDirective<T = string> extends AbstractTuiTextfieldHost<\n TuiMultiSelectComponent<T>\n> {\n public override get readOnly(): boolean {\n return true;\n }\n\n public get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n public disableItemHandler: TuiBooleanHandler<T> = (item) =>\n this.host.disabledItemHandler(item);\n\n public onValueChange(): void {}\n\n public onSelectionChange(value: T[]): void {\n this.host.onValueChange(value);\n }\n}\n","import type {QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n inject,\n Input,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {EMPTY_QUERY, TUI_DEFAULT_IDENTITY_MATCHER} from '@taiga-ui/cdk/constants';\nimport {tuiControlValue, tuiQueryListChanges} from '@taiga-ui/cdk/observables';\nimport type {TuiIdentityMatcher} from '@taiga-ui/cdk/types';\nimport {\n tuiGetOriginalArrayFromQueryList,\n tuiIsPresent,\n tuiPure,\n} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiDataListHost} from '@taiga-ui/core/components/data-list';\nimport {TUI_DATA_LIST_HOST, TuiOption} from '@taiga-ui/core/components/data-list';\nimport {TUI_MULTI_SELECT_TEXTS} from '@taiga-ui/kit/tokens';\nimport type {Observable} from 'rxjs';\nimport {combineLatest, map} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'tui-opt-group[tuiMultiSelectGroup]',\n templateUrl: './multi-select-group.template.html',\n styleUrls: ['./multi-select-group.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._label]': 'label',\n },\n})\nexport class TuiMultiSelectGroupComponent<T> {\n @ContentChildren(TuiOption)\n private readonly options: QueryList<TuiOption<T>> = EMPTY_QUERY;\n\n private readonly host = inject<TuiDataListHost<T>>(TUI_DATA_LIST_HOST);\n private readonly control = inject(NgControl);\n\n protected readonly multiSelectTexts$ = inject(TUI_MULTI_SELECT_TEXTS);\n\n @Input()\n public label = '';\n\n @tuiPure\n protected get empty$(): Observable<boolean> {\n return tuiQueryListChanges(this.options).pipe(map(({length}) => !length));\n }\n\n @tuiPure\n protected get disabled$(): Observable<boolean> {\n return tuiQueryListChanges(this.options).pipe(\n map((items) => items.every(({disabled}) => disabled)),\n );\n }\n\n @tuiPure\n protected get value$(): Observable<boolean | null> {\n return combineLatest([this.items$, this.valueChanges$]).pipe(\n map(([items, current]) => {\n let result = false;\n\n for (let i = 0; i < items.length; i++) {\n const selected = current.some((selected) =>\n this.matcher(selected, items[i]!),\n );\n\n if ((!selected && result) || (selected && !result && i)) {\n return null;\n }\n\n result = selected;\n }\n\n return result;\n }),\n );\n }\n\n protected onClick(checked: boolean | null): void {\n if (!this.control.control) {\n return;\n }\n\n const controlValue: readonly T[] = this.control.value || [];\n const {values} = this;\n const filtered = controlValue.filter((current) =>\n values.every((item) => !this.matcher(current, item)),\n );\n\n this.control.control.setValue(checked ? filtered : [...filtered, ...values]);\n }\n\n @tuiPure\n private get items$(): Observable<readonly T[]> {\n return tuiQueryListChanges(this.options).pipe(\n map((options) => options.map(({value}) => value).filter(tuiIsPresent)),\n );\n }\n\n @tuiPure\n private get valueChanges$(): Observable<readonly T[]> {\n return tuiControlValue<readonly T[]>(this.control).pipe(\n map((value) => value || []),\n );\n }\n\n private get values(): readonly T[] {\n return this.filter(tuiGetOriginalArrayFromQueryList(this.options));\n }\n\n private get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n @tuiPure\n private filter(items: ReadonlyArray<TuiOption<T>>): readonly T[] {\n return items.map(({value}) => value).filter(tuiIsPresent);\n }\n}\n","<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n</span>\n<ng-content />\n","import {Directive, inject} from '@angular/core';\nimport {NG_VALUE_ACCESSOR, NgControl} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiArrayToggle} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiDataListHost} from '@taiga-ui/core/components/data-list';\nimport {\n TUI_DATA_LIST_HOST,\n tuiAsOptionContent,\n} from '@taiga-ui/core/components/data-list';\nimport {AbstractTuiControl} from '@taiga-ui/legacy/classes';\nimport {TuiMultiSelectOptionComponent} from '@taiga-ui/legacy/components/multi-select-option';\nimport {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\nimport {TuiMultiSelectComponent} from '../multi-select.component';\n\nexport const TUI_MULTI_SELECT_OPTION = new PolymorpheusComponent(\n TuiMultiSelectOptionComponent,\n);\n\n@Directive({\n standalone: false,\n selector: '[tuiMultiSelectGroup]',\n providers: [\n tuiAsOptionContent(TUI_MULTI_SELECT_OPTION),\n {\n provide: TUI_DATA_LIST_HOST,\n useFactory: <T>(): TuiDataListHost<T> => {\n const multiSelect = inject(TuiMultiSelectComponent, {optional: true});\n const {control} = inject(NgControl);\n const host = inject(AbstractTuiControl, {optional: true});\n\n return (\n multiSelect || {\n handleOption: (option) => {\n if (host) {\n host.value = tuiArrayToggle(host.value, option);\n } else {\n control?.setValue(\n tuiArrayToggle(control.value || [], option),\n );\n }\n },\n }\n );\n },\n },\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useValue: {\n writeValue: EMPTY_FUNCTION,\n registerOnChange: EMPTY_FUNCTION,\n registerOnTouched: EMPTY_FUNCTION,\n },\n },\n ],\n})\nexport class TuiMultiSelectGroupDirective {}\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\n\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select';\n\n@Component({\n standalone: false,\n selector: 'select[multiple][tuiSelect]:not([labels])',\n templateUrl: './native-multi-select.template.html',\n styleUrls: ['./native-multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeMultiSelectComponent),\n tuiProvide(AbstractTuiNativeMultiSelect, TuiNativeMultiSelectComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeMultiSelectComponent],\n useFactory: ({datalist}: TuiNativeMultiSelectComponent<unknown>) => datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '(change)': 'onValueChange($event.target.selectedOptions)',\n '(click.stop.silent)': '0',\n '(mousedown.stop.silent)': '0',\n },\n})\nexport class TuiNativeMultiSelectComponent<T> extends AbstractTuiNativeMultiSelect<T> {\n @Input()\n public items: readonly T[] | null = [];\n\n protected onValueChange(selectedOptions: HTMLSelectElement['selectedOptions']): void {\n const selected = Array.from(selectedOptions).map((option) => option.index);\n const value = this.items?.filter((_, index) => selected.includes(index)) || [];\n\n this.host.onSelectionChange(value);\n }\n}\n","<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n<option\n *ngFor=\"let option of items\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\n [value]=\"stringify(option)\"\n>\n {{ stringify(option) }}\n</option>\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\n\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select';\n\n@Component({\n standalone: false,\n selector: 'select[multiple][tuiSelect][labels]',\n templateUrl: './native-multi-select-group.template.html',\n styleUrls: ['./native-multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeMultiSelectGroupComponent),\n tuiProvide(AbstractTuiNativeMultiSelect, TuiNativeMultiSelectGroupComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeMultiSelectGroupComponent],\n useFactory: ({datalist}: TuiNativeMultiSelectGroupComponent<unknown>) =>\n datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '(change)': 'onValueChange($event.target.selectedOptions)',\n '(click.stop.silent)': '0',\n '(mousedown.stop.silent)': '0',\n },\n})\nexport class TuiNativeMultiSelectGroupComponent<\n T,\n> extends AbstractTuiNativeMultiSelect<T> {\n @Input()\n public items: readonly T[][] | null = [];\n\n @Input()\n public labels: readonly string[] = [];\n\n protected onValueChange(selectedOptions: HTMLSelectElement['selectedOptions']): void {\n const selected = Array.from(selectedOptions).map((option) => option.index);\n const flatItems = this.items?.reduce((acc, val) => acc.concat(val), []) || [];\n const value = flatItems.filter((_, index) => selected.includes(index));\n\n this.host.onSelectionChange(value);\n }\n}\n","<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n</optgroup>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiLet} from '@taiga-ui/cdk/directives/let';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListWrapper} from '@taiga-ui/kit/components/data-list-wrapper';\nimport {TuiStringifyContentPipe} from '@taiga-ui/kit/pipes/stringify-content';\nimport {TuiArrowComponent} from '@taiga-ui/legacy/components/arrow';\nimport {TuiInputTagModule} from '@taiga-ui/legacy/components/input-tag';\nimport {TuiMultiSelectOptionModule} from '@taiga-ui/legacy/components/multi-select-option';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiHideSelectedPipe} from './hide-selected.pipe';\nimport {TuiMultiSelectComponent} from './multi-select.component';\nimport {TuiMultiSelectDirective} from './multi-select.directive';\nimport {TuiMultiSelectGroupComponent} from './multi-select-group/multi-select-group.component';\nimport {TuiMultiSelectGroupDirective} from './multi-select-group/multi-select-group.directive';\nimport {TuiNativeMultiSelectComponent} from './native-multi-select/native-multi-select.component';\nimport {TuiNativeMultiSelectGroupComponent} from './native-multi-select/native-multi-select-group.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiWrapperModule,\n TuiArrowComponent,\n TuiLet,\n TuiMapperPipe,\n TuiInputTagModule,\n TuiMultiSelectOptionModule,\n TuiMapperPipe,\n TuiLink,\n TuiTextfieldControllerModule,\n TuiStringifyContentPipe,\n TuiLegacyDropdownOpenMonitorDirective,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n declarations: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n TuiNativeMultiSelectComponent,\n TuiNativeMultiSelectGroupComponent,\n TuiMultiSelectDirective,\n ],\n exports: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n TuiMultiSelectDirective,\n TuiNativeMultiSelectComponent,\n TuiNativeMultiSelectGroupComponent,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n})\nexport class TuiMultiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3","i7","i1","i4","i5.TuiMultiSelectGroupDirective","i6"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components-multi-select.mjs","sources":["../../../projects/legacy/components/multi-select/multi-select.options.ts","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select.ts","../../../projects/legacy/components/multi-select/multi-select.component.ts","../../../projects/legacy/components/multi-select/multi-select.template.html","../../../projects/legacy/components/multi-select/hide-selected.pipe.ts","../../../projects/legacy/components/multi-select/multi-select.directive.ts","../../../projects/legacy/components/multi-select/multi-select-group/multi-select-group.component.ts","../../../projects/legacy/components/multi-select/multi-select-group/multi-select-group.template.html","../../../projects/legacy/components/multi-select/multi-select-group/multi-select-group.directive.ts","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select.component.ts","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select.template.html","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select-group.component.ts","../../../projects/legacy/components/multi-select/native-multi-select/native-multi-select-group.template.html","../../../projects/legacy/components/multi-select/multi-select.module.ts","../../../projects/legacy/components/multi-select/taiga-ui-legacy-components-multi-select.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport interface TuiMultiSelectOptions<T> {\n readonly rows: number;\n readonly valueContent: PolymorpheusContent<TuiContext<readonly T[]>>;\n}\n\nexport const TUI_MULTI_SELECT_DEFAULT_OPTIONS: TuiMultiSelectOptions<unknown> = {\n rows: Infinity,\n valueContent: '',\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for MultiSelect component\n */\nexport const TUI_MULTI_SELECT_OPTIONS = tuiCreateToken(TUI_MULTI_SELECT_DEFAULT_OPTIONS);\n\nexport function tuiMultiSelectOptionsProvider<T>(\n options: Partial<TuiMultiSelectOptions<T>>,\n): Provider {\n return tuiProvideOptions(\n TUI_MULTI_SELECT_OPTIONS,\n options,\n TUI_MULTI_SELECT_DEFAULT_OPTIONS,\n );\n}\n","import {Directive} from '@angular/core';\nimport type {TuiMapper} from '@taiga-ui/cdk/types';\nimport type {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNativeSelect} from '@taiga-ui/legacy/classes';\n\nimport type {TuiMultiSelectDirective} from '../multi-select.directive';\n\n@Directive()\nexport abstract class AbstractTuiNativeMultiSelect<T> extends AbstractTuiNativeSelect<\n TuiMultiSelectDirective<T>,\n T\n> {\n protected get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n protected selectedMapper: TuiMapper<[T, ...any[]], boolean> = (option, value) =>\n value.includes(option);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n inject,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {EMPTY_ARRAY, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport type {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport type {\n TuiBooleanHandler,\n TuiContext,\n TuiMapper,\n TuiStringHandler,\n} from '@taiga-ui/cdk/types';\nimport {tuiGetClipboardDataText} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiArrayToggle, tuiIsString, tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {\n TuiDataListAccessor,\n TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n tuiAsDataListHost,\n TuiDataListDirective,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport type {TuiSizeL, TuiSizeM, TuiSizeS} from '@taiga-ui/core/types';\nimport type {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/kit/tokens';\nimport {\n AbstractTuiMultipleControl,\n tuiAsControl,\n TuiStringifiableItem,\n} from '@taiga-ui/legacy/classes';\nimport {TUI_ARROW_MODE} from '@taiga-ui/legacy/components/arrow';\nimport {\n TUI_INPUT_TAG_OPTIONS,\n TuiInputTagComponent,\n} from '@taiga-ui/legacy/components/input-tag';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport type {TuiFocusableElementAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport type {TuiMultiSelectOptions} from './multi-select.options';\nimport {TUI_MULTI_SELECT_OPTIONS} from './multi-select.options';\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select/native-multi-select';\n\n@Component({\n standalone: false,\n selector: 'tui-multi-select',\n templateUrl: './multi-select.template.html',\n styleUrls: ['./multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiMultiSelectComponent),\n tuiAsControl(TuiMultiSelectComponent),\n tuiAsDataListHost(TuiMultiSelectComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n '[class._editable]': 'editable',\n '[class._expandable]': 'rows > 1',\n },\n})\nexport class TuiMultiSelectComponent<T>\n extends AbstractTuiMultipleControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ContentChild(AbstractTuiNativeMultiSelect, {static: true})\n private readonly nativeSelect?: AbstractTuiNativeMultiSelect<T>;\n\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild(TuiInputTagComponent)\n private readonly input?: TuiInputTagComponent;\n\n private readonly arrowMode = inject(TUI_ARROW_MODE);\n private readonly itemsHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n private readonly options = inject<TuiMultiSelectOptions<T>>(TUI_MULTI_SELECT_OPTIONS);\n private readonly inputTagOptions = inject(TUI_INPUT_TAG_OPTIONS);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n protected open = false;\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly isMobile: boolean = inject(TUI_IS_MOBILE);\n\n @Input()\n public stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n public identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n public search: string | null = '';\n\n @Input()\n public placeholder = '';\n\n @Input()\n public editable = true;\n\n @Input()\n public disabledItemHandler: TuiItemsHandlers<T>['disabledItemHandler'] =\n this.itemsHandlers.disabledItemHandler;\n\n @Input()\n public valueContent: TuiMultiSelectOptions<T>['valueContent'] =\n this.options.valueContent;\n\n @Input()\n public tagValidator: TuiBooleanHandler<T> = TUI_TRUE_HANDLER;\n\n @Input()\n public rows: TuiMultiSelectOptions<T>['rows'] = this.options.rows;\n\n @Input()\n public autoColor = false;\n\n @Output()\n public readonly searchChange = new EventEmitter<string | null>();\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.input?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return !!this.input?.focused || !!this.dropdown?.tuiDropdownOpen;\n }\n\n public onValueChange(value: readonly T[]): void {\n this.value = value;\n }\n\n public onSearch(search: string | null): void {\n // Clearing sets the empty value, the dropdown should not be opened on clear.\n if (search !== '') {\n this.open = true;\n }\n\n this.updateSearch(search);\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n public handleOption(option: T): void {\n const {value, identityMatcher} = this;\n const index = value.findIndex((item) => identityMatcher(item, option));\n\n this.value =\n index === -1 ? [...value, option] : value.filter((_, i) => i !== index);\n this.updateSearch(null);\n }\n\n protected get arrow(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return this.interactive ? this.arrowMode.interactive : this.arrowMode.disabled;\n }\n\n protected get nativeDropdownMode(): boolean {\n return !!this.nativeSelect && this.isMobile && !this.editable;\n }\n\n protected get computedValue(): readonly T[] {\n return this.computedGroup ? EMPTY_ARRAY : this.value;\n }\n\n // @bad TODO: think of a better way\n protected get searchOrSpace(): string {\n return this.computedGroup ? ' ' : this.searchString;\n }\n\n protected get searchString(): string {\n return this.search === null ? '' : this.search;\n }\n\n protected get computedGroup(): boolean {\n return (\n !!this.valueContent &&\n this.value.length > 0 &&\n (!this.focused || !this.editable)\n );\n }\n\n @tuiPure\n protected getStringifier(\n stringify: TuiStringHandler<T>,\n ): TuiStringHandler<TuiContext<T>> {\n return ({$implicit}) => stringify($implicit);\n }\n\n protected readonly valueMapper: TuiMapper<\n [readonly T[], TuiStringHandler<T>, boolean?],\n ReadonlyArray<TuiStringifiableItem<T>>\n > = (value, stringify, group) =>\n group\n ? EMPTY_ARRAY\n : value.map((item) => new TuiStringifiableItem(item, stringify));\n\n protected readonly disabledItemHandlerWrapper: TuiMapper<\n [TuiBooleanHandler<T>],\n TuiBooleanHandler<TuiStringifiableItem<T> | string>\n > = (handler) => (stringifiable) =>\n tuiIsString(stringifiable) || handler(stringifiable.item);\n\n protected onSpace(event: Event): void {\n if (!this.editable) {\n event.preventDefault();\n }\n\n if (!this.readOnly) {\n this.open = true;\n }\n }\n\n protected onEnter(event: Event): void {\n const {value} = this;\n const options = this.accessor ? this.accessor.getOptions() : [];\n\n if (options.length !== 1) {\n return;\n }\n\n event.preventDefault();\n this.value = options[0] ? tuiArrayToggle(value, options[0]) : value;\n this.updateSearch(null);\n }\n\n protected onKeyDown(event: KeyboardEvent): void {\n if (event.key === this.inputTagOptions.separator) {\n this.onEnter(event);\n }\n }\n\n protected onPaste(event: Event): void {\n const pasted = tuiGetClipboardDataText(event as ClipboardEvent);\n const tags = pasted\n .split(this.inputTagOptions.separator)\n .map((tag) => tag.trim());\n const options = this.accessor?.getOptions() ?? [];\n const separator = tuiIsString(this.inputTagOptions.separator)\n ? this.inputTagOptions.separator\n : ',';\n\n const matches =\n options?.filter((option) => tags.includes(this.stringify(option))) ?? [];\n const matchingStrings = matches.map((v) => String(v));\n const invalid = tags.filter((value) => !matchingStrings.includes(value));\n\n this.value = this.filterValue([...this.value, ...matches]);\n this.updateSearch(invalid.length ? invalid.join(separator) : null);\n }\n\n protected onClick({nativeFocusableElement}: TuiInputTagComponent): void {\n if (\n this.interactive &&\n nativeFocusableElement &&\n tuiIsNativeFocused(nativeFocusableElement)\n ) {\n this.open = !this.open;\n }\n }\n\n protected onInput(value: ReadonlyArray<TuiStringifiableItem<T>>): void {\n this.value = value.map(({item}) => item);\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n private filterValue(value: T[]): T[] {\n const seen = new Set();\n\n return value\n .reverse()\n .filter((item) => item && !seen.has(item) && seen.add(item))\n .reverse();\n }\n\n private updateSearch(search: string | null): void {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !nativeDropdownMode\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-tag\n #inputTag\n automation-id=\"tui-multi-select__input\"\n class=\"t-input\"\n [autoColor]=\"autoColor\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [editable]=\"false\"\n [inputHidden]=\"!editable\"\n [nativeId]=\"nativeId\"\n [ngModel]=\"computedValue | tuiMapper: valueMapper : stringify\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [pseudoOpen]=\"open\"\n [readOnly]=\"readOnly\"\n [removable]=\"!nativeDropdownMode\"\n [rows]=\"rows\"\n [search]=\"searchOrSpace\"\n [tagValidator]=\"tagValidator | tuiMapper: disabledItemHandlerWrapper\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n (click.prevent)=\"onClick(inputTag)\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.space)=\"onSpace($event)\"\n (keydown)=\"onKeyDown($event)\"\n (ngModelChange)=\"onInput($event)\"\n (paste.capture.stop.prevent)=\"onPaste($event)\"\n (searchChange)=\"onSearch($event)\"\n >\n <ng-content />\n <ng-template #select>\n <ng-content\n *ngIf=\"isMobile\"\n select=\"select\"\n />\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"select\"\n ngProjectAs=\"select\"\n />\n\n <div\n *ngIf=\"computedGroup\"\n ngProjectAs=\"tuiContent\"\n class=\"t-content\"\n [class.t-content_fullsize]=\"inputTag.labelOutside\"\n >\n <span\n *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </span>\n </div>\n </tui-input-tag>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n automation-id=\"tui-multi-select__arrow\"\n tuiWrapper\n class=\"t-arrow\"\n [class.t-arrow_native-dropdown]=\"nativeDropdownMode\"\n (mousedown.prevent.silent)=\"(0)\"\n >\n <ng-container *polymorpheusOutlet=\"arrow as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n</div>\n","import type {PipeTransform} from '@angular/core';\nimport {inject, Pipe} from '@angular/core';\nimport type {TuiIdentityMatcher} from '@taiga-ui/cdk/types';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiIsFlat} from '@taiga-ui/kit/utils';\n\nimport {TuiMultiSelectComponent} from './multi-select.component';\n\n@Pipe({\n standalone: false,\n name: 'tuiHideSelected',\n pure: false,\n})\nexport class TuiHideSelectedPipe implements PipeTransform {\n private readonly component = inject(TuiMultiSelectComponent);\n\n public transform<T>(items: readonly T[] | null): readonly T[] | null;\n public transform<T>(\n items: ReadonlyArray<readonly T[]> | null,\n ): ReadonlyArray<readonly T[]> | null;\n public transform<T>(\n items: ReadonlyArray<readonly T[]> | readonly T[] | null,\n ): ReadonlyArray<readonly T[]> | readonly T[] | null {\n const {value, identityMatcher} = this.component;\n\n if (!items) {\n return null;\n }\n\n return tuiIsFlat(items)\n ? this.filter(items, value, identityMatcher)\n : this.filter2d(items, value, identityMatcher);\n }\n\n @tuiPure\n private filter2d<T>(\n items: ReadonlyArray<readonly T[]>,\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): ReadonlyArray<readonly T[]> {\n return items.map((subItems) => this.filter(subItems, value, matcher));\n }\n\n @tuiPure\n private filter<T>(\n items: readonly T[],\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): readonly T[] {\n return items.filter((item) =>\n value.every((selected) => !matcher(selected, item)),\n );\n }\n}\n","import {Directive} from '@angular/core';\nimport type {TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport type {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport type {TuiMultiSelectComponent} from './multi-select.component';\n\n@Directive({\n standalone: false,\n selector: 'tui-multi-select',\n providers: [tuiAsTextfieldHost(TuiMultiSelectDirective)],\n})\nexport class TuiMultiSelectDirective<T = string> extends AbstractTuiTextfieldHost<\n TuiMultiSelectComponent<T>\n> {\n public override get readOnly(): boolean {\n return true;\n }\n\n public get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n public disableItemHandler: TuiBooleanHandler<T> = (item) =>\n this.host.disabledItemHandler(item);\n\n public onValueChange(): void {}\n\n public onSelectionChange(value: T[]): void {\n this.host.onValueChange(value);\n }\n}\n","import type {QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n inject,\n Input,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {EMPTY_QUERY, TUI_DEFAULT_IDENTITY_MATCHER} from '@taiga-ui/cdk/constants';\nimport {tuiControlValue, tuiQueryListChanges} from '@taiga-ui/cdk/observables';\nimport type {TuiIdentityMatcher} from '@taiga-ui/cdk/types';\nimport {\n tuiGetOriginalArrayFromQueryList,\n tuiIsPresent,\n tuiPure,\n} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiDataListHost} from '@taiga-ui/core/components/data-list';\nimport {TUI_DATA_LIST_HOST, TuiOption} from '@taiga-ui/core/components/data-list';\nimport {TUI_MULTI_SELECT_TEXTS} from '@taiga-ui/kit/tokens';\nimport type {Observable} from 'rxjs';\nimport {combineLatest, map} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'tui-opt-group[tuiMultiSelectGroup]',\n templateUrl: './multi-select-group.template.html',\n styleUrls: ['./multi-select-group.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._label]': 'label',\n },\n})\nexport class TuiMultiSelectGroupComponent<T> {\n @ContentChildren(TuiOption)\n private readonly options: QueryList<TuiOption<T>> = EMPTY_QUERY;\n\n private readonly host = inject<TuiDataListHost<T>>(TUI_DATA_LIST_HOST);\n private readonly control = inject(NgControl);\n\n protected readonly multiSelectTexts$ = inject(TUI_MULTI_SELECT_TEXTS);\n\n @Input()\n public label = '';\n\n @tuiPure\n protected get empty$(): Observable<boolean> {\n return tuiQueryListChanges(this.options).pipe(map(({length}) => !length));\n }\n\n @tuiPure\n protected get disabled$(): Observable<boolean> {\n return tuiQueryListChanges(this.options).pipe(\n map((items) => items.every(({disabled}) => disabled)),\n );\n }\n\n @tuiPure\n protected get value$(): Observable<boolean | null> {\n return combineLatest([this.items$, this.valueChanges$]).pipe(\n map(([items, current]) => {\n let result = false;\n\n for (let i = 0; i < items.length; i++) {\n const selected = current.some((selected) =>\n this.matcher(selected, items[i]!),\n );\n\n if ((!selected && result) || (selected && !result && i)) {\n return null;\n }\n\n result = selected;\n }\n\n return result;\n }),\n );\n }\n\n protected onClick(checked: boolean | null): void {\n if (!this.control.control) {\n return;\n }\n\n const controlValue: readonly T[] = this.control.value || [];\n const {values} = this;\n const filtered = controlValue.filter((current) =>\n values.every((item) => !this.matcher(current, item)),\n );\n\n this.control.control.setValue(checked ? filtered : [...filtered, ...values]);\n }\n\n @tuiPure\n private get items$(): Observable<readonly T[]> {\n return tuiQueryListChanges(this.options).pipe(\n map((options) => options.map(({value}) => value).filter(tuiIsPresent)),\n );\n }\n\n @tuiPure\n private get valueChanges$(): Observable<readonly T[]> {\n return tuiControlValue<readonly T[]>(this.control).pipe(\n map((value) => value || []),\n );\n }\n\n private get values(): readonly T[] {\n return this.filter(tuiGetOriginalArrayFromQueryList(this.options));\n }\n\n private get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n @tuiPure\n private filter(items: ReadonlyArray<TuiOption<T>>): readonly T[] {\n return items.map(({value}) => value).filter(tuiIsPresent);\n }\n}\n","<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n</span>\n<ng-content />\n","import {Directive, inject} from '@angular/core';\nimport {NG_VALUE_ACCESSOR, NgControl} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiArrayToggle} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiDataListHost} from '@taiga-ui/core/components/data-list';\nimport {\n TUI_DATA_LIST_HOST,\n tuiAsOptionContent,\n} from '@taiga-ui/core/components/data-list';\nimport {AbstractTuiControl} from '@taiga-ui/legacy/classes';\nimport {TuiMultiSelectOptionComponent} from '@taiga-ui/legacy/components/multi-select-option';\nimport {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\nimport {TuiMultiSelectComponent} from '../multi-select.component';\n\nexport const TUI_MULTI_SELECT_OPTION = new PolymorpheusComponent(\n TuiMultiSelectOptionComponent,\n);\n\n@Directive({\n standalone: false,\n selector: '[tuiMultiSelectGroup]',\n providers: [\n tuiAsOptionContent(TUI_MULTI_SELECT_OPTION),\n {\n provide: TUI_DATA_LIST_HOST,\n useFactory: <T>(): TuiDataListHost<T> => {\n const multiSelect = inject(TuiMultiSelectComponent, {optional: true});\n const {control} = inject(NgControl);\n const host = inject(AbstractTuiControl, {optional: true});\n\n return (\n multiSelect || {\n handleOption: (option) => {\n if (host) {\n host.value = tuiArrayToggle(host.value, option);\n } else {\n control?.setValue(\n tuiArrayToggle(control.value || [], option),\n );\n }\n },\n }\n );\n },\n },\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useValue: {\n writeValue: EMPTY_FUNCTION,\n registerOnChange: EMPTY_FUNCTION,\n registerOnTouched: EMPTY_FUNCTION,\n },\n },\n ],\n})\nexport class TuiMultiSelectGroupDirective {}\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\n\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select';\n\n@Component({\n standalone: false,\n selector: 'select[multiple][tuiSelect]:not([labels])',\n templateUrl: './native-multi-select.template.html',\n styleUrls: ['./native-multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeMultiSelectComponent),\n tuiProvide(AbstractTuiNativeMultiSelect, TuiNativeMultiSelectComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeMultiSelectComponent],\n useFactory: ({datalist}: TuiNativeMultiSelectComponent<unknown>) => datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '(change)': 'onValueChange($event.target.selectedOptions)',\n '(click.stop.silent)': '0',\n '(mousedown.stop.silent)': '0',\n },\n})\nexport class TuiNativeMultiSelectComponent<T> extends AbstractTuiNativeMultiSelect<T> {\n @Input()\n public items: readonly T[] | null = [];\n\n protected onValueChange(selectedOptions: HTMLSelectElement['selectedOptions']): void {\n const selected = Array.from(selectedOptions).map((option) => option.index);\n const value = this.items?.filter((_, index) => selected.includes(index)) || [];\n\n this.host.onSelectionChange(value);\n }\n}\n","<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n<option\n *ngFor=\"let option of items\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\n [value]=\"stringify(option)\"\n>\n {{ stringify(option) }}\n</option>\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\n\nimport {AbstractTuiNativeMultiSelect} from './native-multi-select';\n\n@Component({\n standalone: false,\n selector: 'select[multiple][tuiSelect][labels]',\n templateUrl: './native-multi-select-group.template.html',\n styleUrls: ['./native-multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeMultiSelectGroupComponent),\n tuiProvide(AbstractTuiNativeMultiSelect, TuiNativeMultiSelectGroupComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeMultiSelectGroupComponent],\n useFactory: ({datalist}: TuiNativeMultiSelectGroupComponent<unknown>) =>\n datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '(change)': 'onValueChange($event.target.selectedOptions)',\n '(click.stop.silent)': '0',\n '(mousedown.stop.silent)': '0',\n },\n})\nexport class TuiNativeMultiSelectGroupComponent<\n T,\n> extends AbstractTuiNativeMultiSelect<T> {\n @Input()\n public items: readonly T[][] | null = [];\n\n @Input()\n public labels: readonly string[] = [];\n\n protected onValueChange(selectedOptions: HTMLSelectElement['selectedOptions']): void {\n const selected = Array.from(selectedOptions).map((option) => option.index);\n const flatItems = this.items?.reduce((acc, val) => acc.concat(val), []) || [];\n const value = flatItems.filter((_, index) => selected.includes(index));\n\n this.host.onSelectionChange(value);\n }\n}\n","<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n</optgroup>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiLet} from '@taiga-ui/cdk/directives/let';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListWrapper} from '@taiga-ui/kit/components/data-list-wrapper';\nimport {TuiStringifyContentPipe} from '@taiga-ui/kit/pipes/stringify-content';\nimport {TuiArrowComponent} from '@taiga-ui/legacy/components/arrow';\nimport {TuiInputTagModule} from '@taiga-ui/legacy/components/input-tag';\nimport {TuiMultiSelectOptionModule} from '@taiga-ui/legacy/components/multi-select-option';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiHideSelectedPipe} from './hide-selected.pipe';\nimport {TuiMultiSelectComponent} from './multi-select.component';\nimport {TuiMultiSelectDirective} from './multi-select.directive';\nimport {TuiMultiSelectGroupComponent} from './multi-select-group/multi-select-group.component';\nimport {TuiMultiSelectGroupDirective} from './multi-select-group/multi-select-group.directive';\nimport {TuiNativeMultiSelectComponent} from './native-multi-select/native-multi-select.component';\nimport {TuiNativeMultiSelectGroupComponent} from './native-multi-select/native-multi-select-group.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiWrapperModule,\n TuiArrowComponent,\n TuiLet,\n TuiMapperPipe,\n TuiInputTagModule,\n TuiMultiSelectOptionModule,\n TuiMapperPipe,\n TuiLink,\n TuiTextfieldControllerModule,\n TuiStringifyContentPipe,\n TuiLegacyDropdownOpenMonitorDirective,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n declarations: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n TuiNativeMultiSelectComponent,\n TuiNativeMultiSelectGroupComponent,\n TuiMultiSelectDirective,\n ],\n exports: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n TuiMultiSelectDirective,\n TuiNativeMultiSelectComponent,\n TuiNativeMultiSelectGroupComponent,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n})\nexport class TuiMultiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3","i7","i1","i4","i5.TuiMultiSelectGroupDirective","i6"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/legacy",
|
|
3
|
-
"version": "4.21.0-canary.
|
|
3
|
+
"version": "4.21.0-canary.1e9c372",
|
|
4
4
|
"description": "Legacy Taiga UI entities from the previous major release to simplify migration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legacy",
|
|
@@ -39,18 +39,18 @@
|
|
|
39
39
|
"esm": "./esm2022/directives/taiga-ui-legacy-directives.mjs",
|
|
40
40
|
"default": "./fesm2022/taiga-ui-legacy-directives.mjs"
|
|
41
41
|
},
|
|
42
|
-
"./services": {
|
|
43
|
-
"types": "./services/index.d.ts",
|
|
44
|
-
"esm2022": "./esm2022/services/taiga-ui-legacy-services.mjs",
|
|
45
|
-
"esm": "./esm2022/services/taiga-ui-legacy-services.mjs",
|
|
46
|
-
"default": "./fesm2022/taiga-ui-legacy-services.mjs"
|
|
47
|
-
},
|
|
48
42
|
"./pipes": {
|
|
49
43
|
"types": "./pipes/index.d.ts",
|
|
50
44
|
"esm2022": "./esm2022/pipes/taiga-ui-legacy-pipes.mjs",
|
|
51
45
|
"esm": "./esm2022/pipes/taiga-ui-legacy-pipes.mjs",
|
|
52
46
|
"default": "./fesm2022/taiga-ui-legacy-pipes.mjs"
|
|
53
47
|
},
|
|
48
|
+
"./services": {
|
|
49
|
+
"types": "./services/index.d.ts",
|
|
50
|
+
"esm2022": "./esm2022/services/taiga-ui-legacy-services.mjs",
|
|
51
|
+
"esm": "./esm2022/services/taiga-ui-legacy-services.mjs",
|
|
52
|
+
"default": "./fesm2022/taiga-ui-legacy-services.mjs"
|
|
53
|
+
},
|
|
54
54
|
"./tokens": {
|
|
55
55
|
"types": "./tokens/index.d.ts",
|
|
56
56
|
"esm2022": "./esm2022/tokens/taiga-ui-legacy-tokens.mjs",
|
|
@@ -219,6 +219,12 @@
|
|
|
219
219
|
"esm": "./esm2022/components/select/taiga-ui-legacy-components-select.mjs",
|
|
220
220
|
"default": "./fesm2022/taiga-ui-legacy-components-select.mjs"
|
|
221
221
|
},
|
|
222
|
+
"./components/select-option": {
|
|
223
|
+
"types": "./components/select-option/index.d.ts",
|
|
224
|
+
"esm2022": "./esm2022/components/select-option/taiga-ui-legacy-components-select-option.mjs",
|
|
225
|
+
"esm": "./esm2022/components/select-option/taiga-ui-legacy-components-select-option.mjs",
|
|
226
|
+
"default": "./fesm2022/taiga-ui-legacy-components-select-option.mjs"
|
|
227
|
+
},
|
|
222
228
|
"./components/sheet": {
|
|
223
229
|
"types": "./components/sheet/index.d.ts",
|
|
224
230
|
"esm2022": "./esm2022/components/sheet/taiga-ui-legacy-components-sheet.mjs",
|
|
@@ -237,12 +243,6 @@
|
|
|
237
243
|
"esm": "./esm2022/components/table-bar/taiga-ui-legacy-components-table-bar.mjs",
|
|
238
244
|
"default": "./fesm2022/taiga-ui-legacy-components-table-bar.mjs"
|
|
239
245
|
},
|
|
240
|
-
"./components/select-option": {
|
|
241
|
-
"types": "./components/select-option/index.d.ts",
|
|
242
|
-
"esm2022": "./esm2022/components/select-option/taiga-ui-legacy-components-select-option.mjs",
|
|
243
|
-
"esm": "./esm2022/components/select-option/taiga-ui-legacy-components-select-option.mjs",
|
|
244
|
-
"default": "./fesm2022/taiga-ui-legacy-components-select-option.mjs"
|
|
245
|
-
},
|
|
246
246
|
"./components/tag": {
|
|
247
247
|
"types": "./components/tag/index.d.ts",
|
|
248
248
|
"esm2022": "./esm2022/components/tag/taiga-ui-legacy-components-tag.mjs",
|
|
@@ -2,7 +2,7 @@ import type { TuiStringHandler } from '@taiga-ui/cdk/types';
|
|
|
2
2
|
/**
|
|
3
3
|
* @deprecated: drop in v5.0
|
|
4
4
|
*/
|
|
5
|
-
export declare const TUI_CACHE_BUSTING_PAYLOAD: "?v=4.21.0-canary.
|
|
5
|
+
export declare const TUI_CACHE_BUSTING_PAYLOAD: "?v=4.21.0-canary.1e9c372";
|
|
6
6
|
/**
|
|
7
7
|
* @deprecated: drop in v5.0
|
|
8
8
|
*/
|