@taiga-ui/experimental 4.52.0-canary.f729878 → 4.52.0-canary.facf139
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/components/index.d.ts +0 -5
- package/components/search-results/search-history.component.d.ts +2 -2
- package/components/search-results/search-hotkey.directive.d.ts +2 -1
- package/components/search-results/search-results.component.d.ts +1 -1
- package/components/search-results/search-results.options.d.ts +1 -7
- package/fesm2022/taiga-ui-experimental-components-search-results.mjs +23 -26
- package/fesm2022/taiga-ui-experimental-components-search-results.mjs.map +1 -1
- package/fesm2022/taiga-ui-experimental-components.mjs +0 -5
- package/fesm2022/taiga-ui-experimental-components.mjs.map +1 -1
- package/package.json +1 -21
- package/components/accordion/accordion.component.d.ts +0 -20
- package/components/accordion/accordion.d.ts +0 -5
- package/components/accordion/accordion.directive.d.ts +0 -15
- package/components/accordion/index.d.ts +0 -3
- package/components/dialog/dialog.component.d.ts +0 -15
- package/components/dialog/dialog.directive.d.ts +0 -7
- package/components/dialog/dialog.options.d.ts +0 -27
- package/components/dialog/dialog.service.d.ts +0 -7
- package/components/dialog/index.d.ts +0 -4
- package/components/expand/expand.component.d.ts +0 -13
- package/components/expand/index.d.ts +0 -1
- package/components/hint/hint.component.d.ts +0 -26
- package/components/hint/index.d.ts +0 -1
- package/components/input-phone-international/index.d.ts +0 -1
- package/components/input-phone-international/input-phone-international.component.d.ts +0 -45
- package/fesm2022/taiga-ui-experimental-components-accordion.mjs +0 -147
- package/fesm2022/taiga-ui-experimental-components-accordion.mjs.map +0 -1
- package/fesm2022/taiga-ui-experimental-components-dialog.mjs +0 -120
- package/fesm2022/taiga-ui-experimental-components-dialog.mjs.map +0 -1
- package/fesm2022/taiga-ui-experimental-components-expand.mjs +0 -65
- package/fesm2022/taiga-ui-experimental-components-expand.mjs.map +0 -1
- package/fesm2022/taiga-ui-experimental-components-hint.mjs +0 -118
- package/fesm2022/taiga-ui-experimental-components-hint.mjs.map +0 -1
- package/fesm2022/taiga-ui-experimental-components-input-phone-international.mjs +0 -190
- package/fesm2022/taiga-ui-experimental-components-input-phone-international.mjs.map +0 -1
package/components/index.d.ts
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
export * from '@taiga-ui/experimental/components/accordion';
|
|
2
|
-
export * from '@taiga-ui/experimental/components/dialog';
|
|
3
|
-
export * from '@taiga-ui/experimental/components/expand';
|
|
4
|
-
export * from '@taiga-ui/experimental/components/hint';
|
|
5
|
-
export * from '@taiga-ui/experimental/components/input-phone-international';
|
|
6
1
|
export * from '@taiga-ui/experimental/components/search-results';
|
|
@@ -3,7 +3,7 @@ export declare class TuiSearchHistory {
|
|
|
3
3
|
private readonly textfield;
|
|
4
4
|
private readonly storage;
|
|
5
5
|
private readonly control;
|
|
6
|
-
protected readonly close: import("@angular/core").Signal<string
|
|
6
|
+
protected readonly close: import("@angular/core").Signal<string>;
|
|
7
7
|
protected readonly i18n: import("@angular/core").Signal<{
|
|
8
8
|
popular: string;
|
|
9
9
|
history: string;
|
|
@@ -11,7 +11,7 @@ export declare class TuiSearchHistory {
|
|
|
11
11
|
hotkey: string;
|
|
12
12
|
all: string;
|
|
13
13
|
empty: string;
|
|
14
|
-
}
|
|
14
|
+
}>;
|
|
15
15
|
protected readonly options: {
|
|
16
16
|
key: string;
|
|
17
17
|
history: string;
|
|
@@ -2,8 +2,9 @@ import { TuiInputSearch } from '@taiga-ui/layout/components/input-search';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class TuiSearchHotkey {
|
|
4
4
|
private readonly platform;
|
|
5
|
+
private readonly texts;
|
|
5
6
|
protected readonly search: TuiInputSearch;
|
|
6
|
-
protected readonly placeholder: import("@angular/core").Signal<string
|
|
7
|
+
protected readonly placeholder: import("@angular/core").Signal<string>;
|
|
7
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiSearchHotkey, never>;
|
|
8
9
|
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSearchHotkey, "input[tuiSearchHotkey]", never, {}, {}, never, never, true, never>;
|
|
9
10
|
}
|
|
@@ -19,7 +19,7 @@ export declare class TuiSearchResultsComponent<T> implements OnChanges {
|
|
|
19
19
|
hotkey: string;
|
|
20
20
|
all: string;
|
|
21
21
|
empty: string;
|
|
22
|
-
}
|
|
22
|
+
}>;
|
|
23
23
|
protected readonly textfield: TuiTextfieldComponent<any>;
|
|
24
24
|
protected active: number;
|
|
25
25
|
readonly template?: TemplateRef<TuiContext<T>>;
|
|
@@ -10,13 +10,7 @@ export declare const TUI_SEARCH_RESULTS_OPTIONS: import("@angular/core").Injecti
|
|
|
10
10
|
popular: string;
|
|
11
11
|
empty: string;
|
|
12
12
|
remove: string;
|
|
13
|
-
}> |
|
|
14
|
-
key: string;
|
|
15
|
-
history: string;
|
|
16
|
-
popular: string;
|
|
17
|
-
empty: string;
|
|
18
|
-
remove: string;
|
|
19
|
-
}>> | (() => Partial<{
|
|
13
|
+
}> | (() => Partial<{
|
|
20
14
|
key: string;
|
|
21
15
|
history: string;
|
|
22
16
|
popular: string;
|
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
import { NgForOf, NgIf, KeyValuePipe, NgTemplateOutlet } from '@angular/common';
|
|
2
1
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { inject, Input, ChangeDetectionStrategy, Component, Directive, TemplateRef, ContentChild } from '@angular/core';
|
|
4
|
-
import {
|
|
2
|
+
import { inject, Input, ChangeDetectionStrategy, Component, computed, Directive, TemplateRef, ContentChild } from '@angular/core';
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
4
|
import { NgControl } from '@angular/forms';
|
|
6
5
|
import { WA_LOCAL_STORAGE, WA_NAVIGATOR } from '@ng-web-apis/common';
|
|
7
6
|
import { TuiButton } from '@taiga-ui/core/components/button';
|
|
7
|
+
import { TuiCell } from '@taiga-ui/core/components/cell';
|
|
8
8
|
import { TuiTextfieldComponent } from '@taiga-ui/core/components/textfield';
|
|
9
9
|
import { TuiTitle } from '@taiga-ui/core/directives/title';
|
|
10
10
|
import { TUI_CLOSE_WORD } from '@taiga-ui/core/tokens';
|
|
11
11
|
import { TuiAvatar } from '@taiga-ui/kit/components/avatar';
|
|
12
|
-
import { TuiCell } from '@taiga-ui/layout/components/cell';
|
|
13
12
|
import { TUI_INPUT_SEARCH } from '@taiga-ui/layout/tokens';
|
|
14
13
|
import { map, filter } from 'rxjs';
|
|
15
14
|
import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
|
|
16
15
|
import { TuiInputSearch } from '@taiga-ui/layout/components/input-search';
|
|
17
16
|
import { __decorate } from 'tslib';
|
|
18
|
-
import {
|
|
17
|
+
import { KeyValuePipe, NgTemplateOutlet } from '@angular/common';
|
|
19
18
|
import { TuiFilterPipe } from '@taiga-ui/cdk/pipes/filter';
|
|
20
19
|
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
|
|
21
20
|
import { tuiMoveFocus } from '@taiga-ui/cdk/utils/focus';
|
|
22
21
|
import { tuiClamp } from '@taiga-ui/cdk/utils/math';
|
|
23
22
|
import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
24
|
-
import {
|
|
23
|
+
import { TuiIcon } from '@taiga-ui/core/components/icon';
|
|
25
24
|
import { TuiLoader } from '@taiga-ui/core/components/loader';
|
|
26
25
|
import { TuiScrollbar } from '@taiga-ui/core/components/scrollbar';
|
|
27
26
|
import * as i2 from '@taiga-ui/kit/components/tabs';
|
|
@@ -42,8 +41,8 @@ class TuiSearchHistory {
|
|
|
42
41
|
this.textfield = inject(TuiTextfieldComponent);
|
|
43
42
|
this.storage = inject(WA_LOCAL_STORAGE);
|
|
44
43
|
this.control = inject(NgControl);
|
|
45
|
-
this.close =
|
|
46
|
-
this.i18n =
|
|
44
|
+
this.close = inject(TUI_CLOSE_WORD);
|
|
45
|
+
this.i18n = inject(TUI_INPUT_SEARCH);
|
|
47
46
|
this.options = inject(TUI_SEARCH_RESULTS_OPTIONS);
|
|
48
47
|
this.$ = this.control.valueChanges
|
|
49
48
|
?.pipe(map(String), filter((item) => !!item && !this.popular.includes(item)), takeUntilDestroyed())
|
|
@@ -70,12 +69,12 @@ class TuiSearchHistory {
|
|
|
70
69
|
get items() {
|
|
71
70
|
return JSON.parse(this.storage?.getItem(this.options.key) || '[]');
|
|
72
71
|
}
|
|
73
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
74
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSearchHistory, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
73
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiSearchHistory, isStandalone: true, selector: "tui-search-history", inputs: { popular: "popular" }, ngImport: i0, template: "@if (history.length) {\n <label class=\"t-sr-label\">\n {{ i18n().history }}\n </label>\n}\n@for (item of history; track item) {\n <button\n tuiCell\n type=\"button\"\n (click)=\"select(item)\"\n (keydown.backspace)=\"remove(item)\"\n (keydown.delete)=\"remove(item)\"\n (mousedown.prevent)=\"(0)\"\n >\n <div [tuiAvatar]=\"options.history\"></div>\n <span tuiTitle>{{ item }}</span>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"options.remove\"\n (click.stop)=\"remove(item)\"\n >\n \uD83D\uDDD1\uFE0F\n </button>\n </button>\n}\n@if (popular.length) {\n <label class=\"t-sr-label\">\n {{ i18n().popular }}\n </label>\n}\n@for (item of popular; track item) {\n <button\n tuiCell\n type=\"button\"\n (click)=\"select(item)\"\n (mousedown.prevent)=\"(0)\"\n >\n <span [tuiAvatar]=\"options.popular\"></span>\n <span tuiTitle>{{ item }}</span>\n </button>\n}\n", styles: [":host:not(:empty){display:block;padding:.375rem 0}\n"], dependencies: [{ kind: "directive", type: TuiAvatar, selector: "[tuiAvatar]", inputs: ["size", "round", "badge"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiCell, selector: "[tuiCell]:not(ng-template)", inputs: ["tuiCell", "tuiCellHeight"] }, { kind: "directive", type: TuiTitle, selector: "[tuiTitle]", inputs: ["tuiTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
75
74
|
}
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSearchHistory, decorators: [{
|
|
77
76
|
type: Component,
|
|
78
|
-
args: [{
|
|
77
|
+
args: [{ selector: 'tui-search-history', imports: [TuiAvatar, TuiButton, TuiCell, TuiTitle], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (history.length) {\n <label class=\"t-sr-label\">\n {{ i18n().history }}\n </label>\n}\n@for (item of history; track item) {\n <button\n tuiCell\n type=\"button\"\n (click)=\"select(item)\"\n (keydown.backspace)=\"remove(item)\"\n (keydown.delete)=\"remove(item)\"\n (mousedown.prevent)=\"(0)\"\n >\n <div [tuiAvatar]=\"options.history\"></div>\n <span tuiTitle>{{ item }}</span>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"options.remove\"\n (click.stop)=\"remove(item)\"\n >\n \uD83D\uDDD1\uFE0F\n </button>\n </button>\n}\n@if (popular.length) {\n <label class=\"t-sr-label\">\n {{ i18n().popular }}\n </label>\n}\n@for (item of popular; track item) {\n <button\n tuiCell\n type=\"button\"\n (click)=\"select(item)\"\n (mousedown.prevent)=\"(0)\"\n >\n <span [tuiAvatar]=\"options.popular\"></span>\n <span tuiTitle>{{ item }}</span>\n </button>\n}\n", styles: [":host:not(:empty){display:block;padding:.375rem 0}\n"] }]
|
|
79
78
|
}], propDecorators: { popular: [{
|
|
80
79
|
type: Input
|
|
81
80
|
}] } });
|
|
@@ -83,13 +82,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
|
|
|
83
82
|
class TuiSearchHotkey {
|
|
84
83
|
constructor() {
|
|
85
84
|
this.platform = inject(WA_NAVIGATOR).platform;
|
|
85
|
+
this.texts = inject(TUI_INPUT_SEARCH);
|
|
86
86
|
this.search = inject(TuiInputSearch);
|
|
87
|
-
this.placeholder =
|
|
87
|
+
this.placeholder = computed(({ hotkey } = this.texts()) => this.platform.startsWith('Mac') ? `⌘+K ${hotkey}` : `Alt+K ${hotkey}`);
|
|
88
88
|
}
|
|
89
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
90
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
89
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSearchHotkey, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
90
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiSearchHotkey, isStandalone: true, selector: "input[tuiSearchHotkey]", host: { listeners: { "document:keydown.meta.k.stop": "search.open()", "document:keydown.alt.k.stop": "search.open()" }, properties: { "placeholder": "placeholder()" } }, ngImport: i0 }); }
|
|
91
91
|
}
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSearchHotkey, decorators: [{
|
|
93
93
|
type: Directive,
|
|
94
94
|
args: [{
|
|
95
95
|
standalone: true,
|
|
@@ -106,7 +106,7 @@ class TuiSearchResultsComponent {
|
|
|
106
106
|
constructor() {
|
|
107
107
|
this.el = tuiInjectElement();
|
|
108
108
|
this.options = inject(TUI_SEARCH_RESULTS_OPTIONS);
|
|
109
|
-
this.i18n =
|
|
109
|
+
this.i18n = inject(TUI_INPUT_SEARCH);
|
|
110
110
|
this.textfield = inject(TuiTextfieldComponent);
|
|
111
111
|
this.active = 0;
|
|
112
112
|
this.results = {};
|
|
@@ -137,30 +137,27 @@ class TuiSearchResultsComponent {
|
|
|
137
137
|
asIs() {
|
|
138
138
|
return 0;
|
|
139
139
|
}
|
|
140
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
141
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
140
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSearchResultsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
141
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiSearchResultsComponent, isStandalone: true, selector: "tui-search-results", inputs: { results: "results" }, host: { listeners: { "keydown.arrowDown.prevent": "onArrow($event.target, 1)", "keydown.arrowUp.prevent": "onArrow($event.target, -1)" } }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (!textfield.value()) {\n <ng-content />\n} @else {\n @if (!results) {\n <tui-loader class=\"t-loader\" />\n } @else {\n @if (results && isEmpty(results)) {\n <tui-block-status\n size=\"m\"\n class=\"t-status\"\n >\n <tui-icon\n tuiSlot=\"top\"\n class=\"t-empty\"\n [icon]=\"options.empty\"\n />\n {{ i18n().empty }}\n </tui-block-status>\n } @else {\n @let items = (results | keyvalue: asIs) || [];\n <tui-scrollbar class=\"t-scrollbar\">\n @for (group of items | tuiFilter: notEmpty; track group) {\n @if (!active || active === $index + 1) {\n @if (!active && items.length > 1) {\n <label class=\"t-sr-label\">\n {{ group.key }}\n </label>\n }\n @for (item of group.value; track item) {\n <ng-container\n [ngTemplateOutlet]=\"template || null\"\n [ngTemplateOutletContext]=\"{$implicit: item}\"\n />\n }\n }\n }\n </tui-scrollbar>\n @if (items.length > 1) {\n <tui-tabs\n size=\"m\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"active\"\n (document:keydown.shift.tab.prevent)=\"tab(-1)\"\n (document:keydown.tab.prevent)=\"tab(1)\"\n >\n <button tuiTab>{{ i18n().all }}</button>\n @for (group of items; track group) {\n @if (group.value.length) {\n <button tuiTab>\n {{ group.key }}\n </button>\n }\n }\n </tui-tabs>\n }\n }\n }\n}\n", styles: [":host{display:flex;flex-direction:column;border-radius:var(--tui-radius-l);background:var(--tui-background-base);box-shadow:inset 0 0 0 1px var(--tui-border-normal)}:host ::ng-deep [tuiCell]{inline-size:stretch;padding:.375rem;margin:.25rem .625rem;border-radius:var(--tui-radius-l)}:host ::ng-deep [tuiCell]>[tuiAvatar]{border-radius:var(--tui-radius-m)}:host ::ng-deep .t-sr-label{display:block;font:var(--tui-font-text-ui-s);color:var(--tui-text-secondary);margin:.75rem 1rem .5rem}.t-loader{margin:1rem 0}.t-status{margin-block-end:2rem}.t-empty{margin-block-start:1.5rem;font-size:6rem;color:var(--tui-text-primary)}.t-tabs{order:-1;margin:0 1rem;box-shadow:none;border-image:linear-gradient(0deg,var(--tui-border-normal) 1px,transparent 0) fill 0/0/0 1rem}.t-tabs:before{background:var(--tui-background-accent-opposite-pressed)}.t-scrollbar{max-block-size:30rem;padding:.375rem 0}\n"], dependencies: [{ kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1.TuiBlockStatusComponent, selector: "tui-block-status", inputs: ["card", "size"] }, { kind: "directive", type: i1.TuiBlockStatusDirective, selector: "[tuiSlot]", inputs: ["tuiSlot"] }, { kind: "pipe", type: TuiFilterPipe, name: "tuiFilter" }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "loading"] }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }, { kind: "directive", type: i2.TuiTab, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { kind: "directive", type: i2.TuiTabsHorizontal, selector: "tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])", inputs: ["underline"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
142
142
|
}
|
|
143
143
|
__decorate([
|
|
144
144
|
tuiPure
|
|
145
145
|
], TuiSearchResultsComponent.prototype, "isEmpty", null);
|
|
146
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSearchResultsComponent, decorators: [{
|
|
147
147
|
type: Component,
|
|
148
|
-
args: [{
|
|
148
|
+
args: [{ selector: 'tui-search-results', imports: [
|
|
149
149
|
KeyValuePipe,
|
|
150
|
-
NgForOf,
|
|
151
|
-
NgIf,
|
|
152
150
|
NgTemplateOutlet,
|
|
153
151
|
TuiBlockStatus,
|
|
154
152
|
TuiFilterPipe,
|
|
155
|
-
|
|
156
|
-
TuiLet,
|
|
153
|
+
TuiIcon,
|
|
157
154
|
TuiLoader,
|
|
158
155
|
TuiScrollbar,
|
|
159
156
|
TuiTabs,
|
|
160
157
|
], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
161
158
|
'(keydown.arrowDown.prevent)': 'onArrow($event.target, 1)',
|
|
162
159
|
'(keydown.arrowUp.prevent)': 'onArrow($event.target, -1)',
|
|
163
|
-
}, template: "
|
|
160
|
+
}, template: "@if (!textfield.value()) {\n <ng-content />\n} @else {\n @if (!results) {\n <tui-loader class=\"t-loader\" />\n } @else {\n @if (results && isEmpty(results)) {\n <tui-block-status\n size=\"m\"\n class=\"t-status\"\n >\n <tui-icon\n tuiSlot=\"top\"\n class=\"t-empty\"\n [icon]=\"options.empty\"\n />\n {{ i18n().empty }}\n </tui-block-status>\n } @else {\n @let items = (results | keyvalue: asIs) || [];\n <tui-scrollbar class=\"t-scrollbar\">\n @for (group of items | tuiFilter: notEmpty; track group) {\n @if (!active || active === $index + 1) {\n @if (!active && items.length > 1) {\n <label class=\"t-sr-label\">\n {{ group.key }}\n </label>\n }\n @for (item of group.value; track item) {\n <ng-container\n [ngTemplateOutlet]=\"template || null\"\n [ngTemplateOutletContext]=\"{$implicit: item}\"\n />\n }\n }\n }\n </tui-scrollbar>\n @if (items.length > 1) {\n <tui-tabs\n size=\"m\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"active\"\n (document:keydown.shift.tab.prevent)=\"tab(-1)\"\n (document:keydown.tab.prevent)=\"tab(1)\"\n >\n <button tuiTab>{{ i18n().all }}</button>\n @for (group of items; track group) {\n @if (group.value.length) {\n <button tuiTab>\n {{ group.key }}\n </button>\n }\n }\n </tui-tabs>\n }\n }\n }\n}\n", styles: [":host{display:flex;flex-direction:column;border-radius:var(--tui-radius-l);background:var(--tui-background-base);box-shadow:inset 0 0 0 1px var(--tui-border-normal)}:host ::ng-deep [tuiCell]{inline-size:stretch;padding:.375rem;margin:.25rem .625rem;border-radius:var(--tui-radius-l)}:host ::ng-deep [tuiCell]>[tuiAvatar]{border-radius:var(--tui-radius-m)}:host ::ng-deep .t-sr-label{display:block;font:var(--tui-font-text-ui-s);color:var(--tui-text-secondary);margin:.75rem 1rem .5rem}.t-loader{margin:1rem 0}.t-status{margin-block-end:2rem}.t-empty{margin-block-start:1.5rem;font-size:6rem;color:var(--tui-text-primary)}.t-tabs{order:-1;margin:0 1rem;box-shadow:none;border-image:linear-gradient(0deg,var(--tui-border-normal) 1px,transparent 0) fill 0/0/0 1rem}.t-tabs:before{background:var(--tui-background-accent-opposite-pressed)}.t-scrollbar{max-block-size:30rem;padding:.375rem 0}\n"] }]
|
|
164
161
|
}], propDecorators: { template: [{
|
|
165
162
|
type: ContentChild,
|
|
166
163
|
args: [TemplateRef]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-experimental-components-search-results.mjs","sources":["../../../projects/experimental/components/search-results/search-results.options.ts","../../../projects/experimental/components/search-results/search-history.component.ts","../../../projects/experimental/components/search-results/search-history.component.html","../../../projects/experimental/components/search-results/search-hotkey.directive.ts","../../../projects/experimental/components/search-results/search-results.component.ts","../../../projects/experimental/components/search-results/search-results.component.html","../../../projects/experimental/components/search-results/search-results.ts","../../../projects/experimental/components/search-results/taiga-ui-experimental-components-search-results.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport const [TUI_SEARCH_RESULTS_OPTIONS, tuiSearchResultsOptionsProvider] =\n tuiCreateOptions({\n key: 'taiga-search-history',\n history: '@tui.clock',\n popular: '@tui.search',\n empty: '@tui.search',\n remove: '@tui.trash',\n });\n","import {NgForOf, NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject, Input} from '@angular/core';\nimport {takeUntilDestroyed, toSignal} from '@angular/core/rxjs-interop';\nimport {NgControl} from '@angular/forms';\nimport {WA_LOCAL_STORAGE} from '@ng-web-apis/common';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {TuiTitle} from '@taiga-ui/core/directives/title';\nimport {TUI_CLOSE_WORD} from '@taiga-ui/core/tokens';\nimport {TuiAvatar} from '@taiga-ui/kit/components/avatar';\nimport {TuiCell} from '@taiga-ui/layout/components/cell';\nimport {TUI_INPUT_SEARCH} from '@taiga-ui/layout/tokens';\nimport {filter, map} from 'rxjs';\n\nimport {TUI_SEARCH_RESULTS_OPTIONS} from './search-results.options';\n\n@Component({\n standalone: true,\n selector: 'tui-search-history',\n imports: [NgForOf, NgIf, TuiAvatar, TuiButton, TuiCell, TuiTitle],\n templateUrl: './search-history.component.html',\n styles: [\n `\n :host:not(:empty) {\n display: block;\n padding: 0.375rem 0;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSearchHistory {\n private readonly textfield = inject(TuiTextfieldComponent);\n private readonly storage = inject(WA_LOCAL_STORAGE);\n private readonly control = inject(NgControl);\n\n protected readonly close = toSignal(inject(TUI_CLOSE_WORD));\n protected readonly i18n = toSignal(inject(TUI_INPUT_SEARCH));\n protected readonly options = inject(TUI_SEARCH_RESULTS_OPTIONS);\n protected readonly $ = this.control.valueChanges\n ?.pipe(\n map(String),\n filter((item) => !!item && !this.popular.includes(item)),\n takeUntilDestroyed(),\n )\n .subscribe((value) => {\n this.store(value);\n });\n\n protected history = this.items;\n\n @Input()\n public popular: readonly string[] = [];\n\n protected store(item: string): void {\n this.storage?.setItem(\n this.options.key,\n JSON.stringify(\n Array.from(new Set([item.trim(), ...this.items]))\n .filter((v, _, a) => v && !a.find((s) => s.startsWith(v) && s !== v))\n .slice(0, 5),\n ),\n );\n }\n\n protected remove(item: string): void {\n this.textfield.input?.nativeElement.focus();\n this.history = this.history.filter((v) => v !== item);\n this.storage?.setItem(\n this.options.key,\n JSON.stringify(this.items.filter((v) => v !== item)),\n );\n }\n\n protected select(item: string): void {\n this.control.control?.setValue(item);\n this.textfield.input?.nativeElement.focus();\n }\n\n private get items(): readonly string[] {\n return JSON.parse(this.storage?.getItem(this.options.key) || '[]');\n }\n}\n","<label\n *ngIf=\"history.length\"\n class=\"t-sr-label\"\n>\n {{ i18n()?.history }}\n</label>\n<button\n *ngFor=\"let item of history\"\n tuiCell\n type=\"button\"\n (click)=\"select(item)\"\n (keydown.backspace)=\"remove(item)\"\n (keydown.delete)=\"remove(item)\"\n (mousedown.prevent)=\"(0)\"\n>\n <tui-avatar [src]=\"options.history\" />\n <span tuiTitle>{{ item }}</span>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"options.remove\"\n (click.stop)=\"remove(item)\"\n >\n 🗑️\n </button>\n</button>\n<label\n *ngIf=\"popular.length\"\n class=\"t-sr-label\"\n>\n {{ i18n()?.popular }}\n</label>\n<button\n *ngFor=\"let item of popular\"\n tuiCell\n type=\"button\"\n (click)=\"select(item)\"\n (mousedown.prevent)=\"(0)\"\n>\n <tui-avatar [src]=\"options.popular\" />\n <span tuiTitle>{{ item }}</span>\n</button>\n","import {Directive, inject} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {WA_NAVIGATOR} from '@ng-web-apis/common';\nimport {TuiInputSearch} from '@taiga-ui/layout/components/input-search';\nimport {TUI_INPUT_SEARCH} from '@taiga-ui/layout/tokens';\nimport {map} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: 'input[tuiSearchHotkey]',\n host: {\n '[placeholder]': 'placeholder()',\n '(document:keydown.meta.k.stop)': 'search.open()',\n '(document:keydown.alt.k.stop)': 'search.open()',\n },\n})\nexport class TuiSearchHotkey {\n private readonly platform = inject(WA_NAVIGATOR).platform;\n\n protected readonly search = inject(TuiInputSearch);\n protected readonly placeholder = toSignal(\n inject(TUI_INPUT_SEARCH).pipe(\n map(({hotkey}) =>\n this.platform.startsWith('Mac') ? `⌘+K ${hotkey}` : `Alt+K ${hotkey}`,\n ),\n ),\n );\n}\n","import {\n type KeyValue,\n KeyValuePipe,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n inject,\n Input,\n type OnChanges,\n TemplateRef,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TuiLet} from '@taiga-ui/cdk/directives/let';\nimport {TuiFilterPipe} from '@taiga-ui/cdk/pipes/filter';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiMoveFocus} from '@taiga-ui/cdk/utils/focus';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiIconPipe} from '@taiga-ui/core/components/icon';\nimport {TuiLoader} from '@taiga-ui/core/components/loader';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {TuiTabs} from '@taiga-ui/kit/components/tabs';\nimport {TuiBlockStatus} from '@taiga-ui/layout/components/block-status';\nimport {TUI_INPUT_SEARCH} from '@taiga-ui/layout/tokens';\n\nimport {TUI_SEARCH_RESULTS_OPTIONS} from './search-results.options';\n\n@Component({\n standalone: true,\n selector: 'tui-search-results',\n imports: [\n KeyValuePipe,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n TuiBlockStatus,\n TuiFilterPipe,\n TuiIconPipe,\n TuiLet,\n TuiLoader,\n TuiScrollbar,\n TuiTabs,\n ],\n templateUrl: './search-results.component.html',\n styleUrls: ['./search-results.component.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(keydown.arrowDown.prevent)': 'onArrow($event.target, 1)',\n '(keydown.arrowUp.prevent)': 'onArrow($event.target, -1)',\n },\n})\nexport class TuiSearchResultsComponent<T> implements OnChanges {\n private readonly el = tuiInjectElement();\n\n protected readonly options = inject(TUI_SEARCH_RESULTS_OPTIONS);\n protected readonly i18n = toSignal(inject(TUI_INPUT_SEARCH));\n protected readonly textfield = inject(TuiTextfieldComponent);\n protected active = 0;\n\n @ContentChild(TemplateRef)\n public readonly template?: TemplateRef<TuiContext<T>>;\n\n @Input()\n public results: Record<string, readonly T[]> | null = {};\n\n public ngOnChanges(): void {\n this.active = 0;\n }\n\n @tuiPure\n protected isEmpty(results: Record<string, readonly T[]>): boolean {\n return !Object.values(results).reduce((total, {length}) => length + total, 0);\n }\n\n protected onArrow(current: HTMLElement, step: number): void {\n const elements = Array.from(this.el.querySelectorAll<HTMLElement>('[tuiCell]'));\n\n if (elements[0] === current && step < 0) {\n this.textfield.input?.nativeElement.focus();\n } else {\n tuiMoveFocus(elements.indexOf(current), elements, step);\n }\n }\n\n protected tab(step: number): void {\n const max = Object.values(this.results || {}).filter((v) => v.length).length;\n\n this.active = tuiClamp(this.active + step, 0, max);\n this.textfield.input?.nativeElement.focus();\n }\n\n protected notEmpty({value}: KeyValue<string, readonly T[]>): boolean {\n return !!value.length;\n }\n\n protected asIs(): number {\n return 0;\n }\n}\n","<ng-content *ngIf=\"!textfield.value(); else a\" />\n<ng-template #a>\n <tui-loader\n *ngIf=\"!results; else b\"\n class=\"t-loader\"\n />\n <ng-template #b>\n <tui-block-status\n *ngIf=\"results && isEmpty(results); else c\"\n size=\"m\"\n class=\"t-status\"\n >\n <img\n alt=\"\"\n tuiSlot=\"top\"\n class=\"t-empty\"\n [src]=\"options.empty | tuiIcon\"\n />\n {{ i18n()?.empty }}\n </tui-block-status>\n <ng-template #c>\n <ng-container *tuiLet=\"(results | keyvalue: asIs) || [] as items\">\n <tui-scrollbar class=\"t-scrollbar\">\n <ng-container *ngFor=\"let group of items | tuiFilter: notEmpty; let index = index\">\n <ng-container *ngIf=\"!active || active === index + 1\">\n <label\n *ngIf=\"!active && items.length > 1\"\n class=\"t-sr-label\"\n >\n {{ group.key }}\n </label>\n <ng-container\n *ngFor=\"let item of group.value\"\n [ngTemplateOutlet]=\"template || null\"\n [ngTemplateOutletContext]=\"{$implicit: item}\"\n />\n </ng-container>\n </ng-container>\n </tui-scrollbar>\n <tui-tabs\n *ngIf=\"items.length > 1\"\n size=\"m\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"active\"\n (document:keydown.shift.tab.prevent)=\"tab(-1)\"\n (document:keydown.tab.prevent)=\"tab(1)\"\n >\n <button tuiTab>{{ i18n()?.all }}</button>\n <ng-container *ngFor=\"let group of items\">\n <button\n *ngIf=\"group.value.length\"\n tuiTab\n >\n {{ group.key }}\n </button>\n </ng-container>\n </tui-tabs>\n </ng-container>\n </ng-template>\n </ng-template>\n</ng-template>\n","import {TuiSearchHistory} from './search-history.component';\nimport {TuiSearchHotkey} from './search-hotkey.directive';\nimport {TuiSearchResultsComponent} from './search-results.component';\n\nexport const TuiSearchResults = [\n TuiSearchHotkey,\n TuiSearchHistory,\n TuiSearchResultsComponent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-experimental-components-search-results.mjs","sources":["../../../projects/experimental/components/search-results/search-results.options.ts","../../../projects/experimental/components/search-results/search-history.component.ts","../../../projects/experimental/components/search-results/search-history.component.html","../../../projects/experimental/components/search-results/search-hotkey.directive.ts","../../../projects/experimental/components/search-results/search-results.component.ts","../../../projects/experimental/components/search-results/search-results.component.html","../../../projects/experimental/components/search-results/search-results.ts","../../../projects/experimental/components/search-results/taiga-ui-experimental-components-search-results.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport const [TUI_SEARCH_RESULTS_OPTIONS, tuiSearchResultsOptionsProvider] =\n tuiCreateOptions({\n key: 'taiga-search-history',\n history: '@tui.clock',\n popular: '@tui.search',\n empty: '@tui.search',\n remove: '@tui.trash',\n });\n","import {ChangeDetectionStrategy, Component, inject, Input} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {NgControl} from '@angular/forms';\nimport {WA_LOCAL_STORAGE} from '@ng-web-apis/common';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiCell} from '@taiga-ui/core/components/cell';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {TuiTitle} from '@taiga-ui/core/directives/title';\nimport {TUI_CLOSE_WORD} from '@taiga-ui/core/tokens';\nimport {TuiAvatar} from '@taiga-ui/kit/components/avatar';\nimport {TUI_INPUT_SEARCH} from '@taiga-ui/layout/tokens';\nimport {filter, map} from 'rxjs';\n\nimport {TUI_SEARCH_RESULTS_OPTIONS} from './search-results.options';\n\n@Component({\n selector: 'tui-search-history',\n imports: [TuiAvatar, TuiButton, TuiCell, TuiTitle],\n templateUrl: './search-history.component.html',\n styles: `\n :host:not(:empty) {\n display: block;\n padding: 0.375rem 0;\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSearchHistory {\n private readonly textfield = inject(TuiTextfieldComponent);\n private readonly storage = inject(WA_LOCAL_STORAGE);\n private readonly control = inject(NgControl);\n\n protected readonly close = inject(TUI_CLOSE_WORD);\n protected readonly i18n = inject(TUI_INPUT_SEARCH);\n protected readonly options = inject(TUI_SEARCH_RESULTS_OPTIONS);\n protected readonly $ = this.control.valueChanges\n ?.pipe(\n map(String),\n filter((item) => !!item && !this.popular.includes(item)),\n takeUntilDestroyed(),\n )\n .subscribe((value) => {\n this.store(value);\n });\n\n protected history = this.items;\n\n @Input()\n public popular: readonly string[] = [];\n\n protected store(item: string): void {\n this.storage?.setItem(\n this.options.key,\n JSON.stringify(\n Array.from(new Set([item.trim(), ...this.items]))\n .filter((v, _, a) => v && !a.find((s) => s.startsWith(v) && s !== v))\n .slice(0, 5),\n ),\n );\n }\n\n protected remove(item: string): void {\n this.textfield.input?.nativeElement.focus();\n this.history = this.history.filter((v) => v !== item);\n this.storage?.setItem(\n this.options.key,\n JSON.stringify(this.items.filter((v) => v !== item)),\n );\n }\n\n protected select(item: string): void {\n this.control.control?.setValue(item);\n this.textfield.input?.nativeElement.focus();\n }\n\n private get items(): readonly string[] {\n return JSON.parse(this.storage?.getItem(this.options.key) || '[]');\n }\n}\n","@if (history.length) {\n <label class=\"t-sr-label\">\n {{ i18n().history }}\n </label>\n}\n@for (item of history; track item) {\n <button\n tuiCell\n type=\"button\"\n (click)=\"select(item)\"\n (keydown.backspace)=\"remove(item)\"\n (keydown.delete)=\"remove(item)\"\n (mousedown.prevent)=\"(0)\"\n >\n <div [tuiAvatar]=\"options.history\"></div>\n <span tuiTitle>{{ item }}</span>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"options.remove\"\n (click.stop)=\"remove(item)\"\n >\n 🗑️\n </button>\n </button>\n}\n@if (popular.length) {\n <label class=\"t-sr-label\">\n {{ i18n().popular }}\n </label>\n}\n@for (item of popular; track item) {\n <button\n tuiCell\n type=\"button\"\n (click)=\"select(item)\"\n (mousedown.prevent)=\"(0)\"\n >\n <span [tuiAvatar]=\"options.popular\"></span>\n <span tuiTitle>{{ item }}</span>\n </button>\n}\n","import {computed, Directive, inject} from '@angular/core';\nimport {WA_NAVIGATOR} from '@ng-web-apis/common';\nimport {TuiInputSearch} from '@taiga-ui/layout/components/input-search';\nimport {TUI_INPUT_SEARCH} from '@taiga-ui/layout/tokens';\n\n@Directive({\n standalone: true,\n selector: 'input[tuiSearchHotkey]',\n host: {\n '[placeholder]': 'placeholder()',\n '(document:keydown.meta.k.stop)': 'search.open()',\n '(document:keydown.alt.k.stop)': 'search.open()',\n },\n})\nexport class TuiSearchHotkey {\n private readonly platform = inject(WA_NAVIGATOR).platform;\n private readonly texts = inject(TUI_INPUT_SEARCH);\n\n protected readonly search = inject(TuiInputSearch);\n\n protected readonly placeholder = computed(({hotkey} = this.texts()) =>\n this.platform.startsWith('Mac') ? `⌘+K ${hotkey}` : `Alt+K ${hotkey}`,\n );\n}\n","import {type KeyValue, KeyValuePipe, NgTemplateOutlet} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n inject,\n Input,\n type OnChanges,\n TemplateRef,\n} from '@angular/core';\nimport {TuiFilterPipe} from '@taiga-ui/cdk/pipes/filter';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiMoveFocus} from '@taiga-ui/cdk/utils/focus';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiLoader} from '@taiga-ui/core/components/loader';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {TuiTabs} from '@taiga-ui/kit/components/tabs';\nimport {TuiBlockStatus} from '@taiga-ui/layout/components/block-status';\nimport {TUI_INPUT_SEARCH} from '@taiga-ui/layout/tokens';\n\nimport {TUI_SEARCH_RESULTS_OPTIONS} from './search-results.options';\n\n@Component({\n selector: 'tui-search-results',\n imports: [\n KeyValuePipe,\n NgTemplateOutlet,\n TuiBlockStatus,\n TuiFilterPipe,\n TuiIcon,\n TuiLoader,\n TuiScrollbar,\n TuiTabs,\n ],\n templateUrl: './search-results.component.html',\n styleUrl: './search-results.component.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(keydown.arrowDown.prevent)': 'onArrow($event.target, 1)',\n '(keydown.arrowUp.prevent)': 'onArrow($event.target, -1)',\n },\n})\nexport class TuiSearchResultsComponent<T> implements OnChanges {\n private readonly el = tuiInjectElement();\n\n protected readonly options = inject(TUI_SEARCH_RESULTS_OPTIONS);\n protected readonly i18n = inject(TUI_INPUT_SEARCH);\n protected readonly textfield = inject(TuiTextfieldComponent);\n protected active = 0;\n\n @ContentChild(TemplateRef)\n public readonly template?: TemplateRef<TuiContext<T>>;\n\n @Input()\n public results: Record<string, readonly T[]> | null = {};\n\n public ngOnChanges(): void {\n this.active = 0;\n }\n\n @tuiPure\n protected isEmpty(results: Record<string, readonly T[]>): boolean {\n return !Object.values(results).reduce((total, {length}) => length + total, 0);\n }\n\n protected onArrow(current: HTMLElement, step: number): void {\n const elements = Array.from(this.el.querySelectorAll<HTMLElement>('[tuiCell]'));\n\n if (elements[0] === current && step < 0) {\n this.textfield.input?.nativeElement.focus();\n } else {\n tuiMoveFocus(elements.indexOf(current), elements, step);\n }\n }\n\n protected tab(step: number): void {\n const max = Object.values(this.results || {}).filter((v) => v.length).length;\n\n this.active = tuiClamp(this.active + step, 0, max);\n this.textfield.input?.nativeElement.focus();\n }\n\n protected notEmpty({value}: KeyValue<string, readonly T[]>): boolean {\n return !!value.length;\n }\n\n protected asIs(): number {\n return 0;\n }\n}\n","@if (!textfield.value()) {\n <ng-content />\n} @else {\n @if (!results) {\n <tui-loader class=\"t-loader\" />\n } @else {\n @if (results && isEmpty(results)) {\n <tui-block-status\n size=\"m\"\n class=\"t-status\"\n >\n <tui-icon\n tuiSlot=\"top\"\n class=\"t-empty\"\n [icon]=\"options.empty\"\n />\n {{ i18n().empty }}\n </tui-block-status>\n } @else {\n @let items = (results | keyvalue: asIs) || [];\n <tui-scrollbar class=\"t-scrollbar\">\n @for (group of items | tuiFilter: notEmpty; track group) {\n @if (!active || active === $index + 1) {\n @if (!active && items.length > 1) {\n <label class=\"t-sr-label\">\n {{ group.key }}\n </label>\n }\n @for (item of group.value; track item) {\n <ng-container\n [ngTemplateOutlet]=\"template || null\"\n [ngTemplateOutletContext]=\"{$implicit: item}\"\n />\n }\n }\n }\n </tui-scrollbar>\n @if (items.length > 1) {\n <tui-tabs\n size=\"m\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"active\"\n (document:keydown.shift.tab.prevent)=\"tab(-1)\"\n (document:keydown.tab.prevent)=\"tab(1)\"\n >\n <button tuiTab>{{ i18n().all }}</button>\n @for (group of items; track group) {\n @if (group.value.length) {\n <button tuiTab>\n {{ group.key }}\n </button>\n }\n }\n </tui-tabs>\n }\n }\n }\n}\n","import {TuiSearchHistory} from './search-history.component';\nimport {TuiSearchHotkey} from './search-hotkey.directive';\nimport {TuiSearchResultsComponent} from './search-results.component';\n\nexport const TuiSearchResults = [\n TuiSearchHotkey,\n TuiSearchHistory,\n TuiSearchResultsComponent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
export * from '@taiga-ui/experimental/components/accordion';
|
|
2
|
-
export * from '@taiga-ui/experimental/components/dialog';
|
|
3
|
-
export * from '@taiga-ui/experimental/components/expand';
|
|
4
|
-
export * from '@taiga-ui/experimental/components/hint';
|
|
5
|
-
export * from '@taiga-ui/experimental/components/input-phone-international';
|
|
6
1
|
export * from '@taiga-ui/experimental/components/search-results';
|
|
7
2
|
|
|
8
3
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-experimental-components.mjs","sources":["../../../projects/experimental/components/taiga-ui-experimental-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"taiga-ui-experimental-components.mjs","sources":["../../../projects/experimental/components/taiga-ui-experimental-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA;;AAEG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/experimental",
|
|
3
|
-
"version": "4.52.0-canary.
|
|
3
|
+
"version": "4.52.0-canary.facf139",
|
|
4
4
|
"description": "A package with Taiga UI experimental components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -35,26 +35,6 @@
|
|
|
35
35
|
"types": "./components/index.d.ts",
|
|
36
36
|
"default": "./fesm2022/taiga-ui-experimental-components.mjs"
|
|
37
37
|
},
|
|
38
|
-
"./components/accordion": {
|
|
39
|
-
"types": "./components/accordion/index.d.ts",
|
|
40
|
-
"default": "./fesm2022/taiga-ui-experimental-components-accordion.mjs"
|
|
41
|
-
},
|
|
42
|
-
"./components/dialog": {
|
|
43
|
-
"types": "./components/dialog/index.d.ts",
|
|
44
|
-
"default": "./fesm2022/taiga-ui-experimental-components-dialog.mjs"
|
|
45
|
-
},
|
|
46
|
-
"./components/expand": {
|
|
47
|
-
"types": "./components/expand/index.d.ts",
|
|
48
|
-
"default": "./fesm2022/taiga-ui-experimental-components-expand.mjs"
|
|
49
|
-
},
|
|
50
|
-
"./components/hint": {
|
|
51
|
-
"types": "./components/hint/index.d.ts",
|
|
52
|
-
"default": "./fesm2022/taiga-ui-experimental-components-hint.mjs"
|
|
53
|
-
},
|
|
54
|
-
"./components/input-phone-international": {
|
|
55
|
-
"types": "./components/input-phone-international/index.d.ts",
|
|
56
|
-
"default": "./fesm2022/taiga-ui-experimental-components-input-phone-international.mjs"
|
|
57
|
-
},
|
|
58
38
|
"./components/search-results": {
|
|
59
39
|
"types": "./components/search-results/index.d.ts",
|
|
60
40
|
"default": "./fesm2022/taiga-ui-experimental-components-search-results.mjs"
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { type AfterViewInit, type QueryList } from '@angular/core';
|
|
2
|
-
import { type TuiSizeL, type TuiSizeS } from '@taiga-ui/core/types';
|
|
3
|
-
import { TuiExpand } from '@taiga-ui/experimental/components/expand';
|
|
4
|
-
import { TuiAccordionDirective } from './accordion.directive';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@taiga-ui/core/directives/group";
|
|
7
|
-
export declare class TuiAccordionComponent implements AfterViewInit {
|
|
8
|
-
private readonly destroyRef;
|
|
9
|
-
private readonly toggle$;
|
|
10
|
-
readonly expands: QueryList<TuiExpand>;
|
|
11
|
-
readonly directives: QueryList<TuiAccordionDirective>;
|
|
12
|
-
closeOthers: boolean;
|
|
13
|
-
readonly size: import("@angular/core").WritableSignal<"s" | "m" | "l">;
|
|
14
|
-
set sizeSetter(size: TuiSizeL | TuiSizeS);
|
|
15
|
-
ngAfterViewInit(): void;
|
|
16
|
-
toggle(directive: TuiAccordionDirective): void;
|
|
17
|
-
private expand;
|
|
18
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiAccordionComponent, never>;
|
|
19
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TuiAccordionComponent, "tui-accordion", never, { "closeOthers": { "alias": "closeOthers"; "required": false; }; "sizeSetter": { "alias": "size"; "required": false; }; }, {}, ["expands", "directives"], ["*"], true, [{ directive: typeof i1.TuiGroup; inputs: {}; outputs: {}; }]>;
|
|
20
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { TuiItem } from '@taiga-ui/cdk/directives/item';
|
|
2
|
-
import { TuiExpand } from '@taiga-ui/experimental/components/expand';
|
|
3
|
-
import { TuiAccordionComponent } from './accordion.component';
|
|
4
|
-
import { TuiAccordionDirective } from './accordion.directive';
|
|
5
|
-
export declare const TuiAccordion: readonly [typeof TuiAccordionComponent, typeof TuiAccordionDirective, typeof TuiExpand, typeof TuiItem];
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, type OnChanges } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@taiga-ui/core/components/button";
|
|
4
|
-
import * as i2 from "@taiga-ui/kit/directives/chevron";
|
|
5
|
-
export declare class TuiAccordionDirective implements OnChanges {
|
|
6
|
-
private readonly accordion;
|
|
7
|
-
protected readonly size: import("@angular/core").WritableSignal<"s" | "m" | "l">;
|
|
8
|
-
tuiAccordion: boolean | string;
|
|
9
|
-
readonly tuiAccordionChange: EventEmitter<boolean>;
|
|
10
|
-
readonly open: import("@angular/core").WritableSignal<boolean>;
|
|
11
|
-
ngOnChanges(): void;
|
|
12
|
-
toggle(): void;
|
|
13
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiAccordionDirective, never>;
|
|
14
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiAccordionDirective, "button[tuiAccordion]", never, { "tuiAccordion": { "alias": "tuiAccordion"; "required": false; }; }, { "tuiAccordionChange": "tuiAccordionChange"; }, never, never, true, [{ directive: typeof i1.TuiButton; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiChevron; inputs: {}; outputs: {}; }]>;
|
|
15
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type TuiPopover } from '@taiga-ui/cdk/services';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { type TuiDialogOptions } from './dialog.options';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@taiga-ui/cdk/directives/animated";
|
|
6
|
-
export declare class TuiDialogComponent<O, I> {
|
|
7
|
-
protected readonly close$: Subject<void>;
|
|
8
|
-
protected readonly close: import("@angular/core").Signal<string | undefined>;
|
|
9
|
-
protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
|
|
10
|
-
protected readonly context: TuiPopover<TuiDialogOptions<I>, O>;
|
|
11
|
-
protected readonly sub: import("rxjs").Subscription;
|
|
12
|
-
protected get primitive(): boolean;
|
|
13
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDialogComponent<any, any>, never>;
|
|
14
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TuiDialogComponent<any, any>, "tui-dialog", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiAnimated; inputs: {}; outputs: {}; }]>;
|
|
15
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { TuiPopoverDirective } from '@taiga-ui/cdk/directives/popover';
|
|
2
|
-
import { type TuiDialogOptions } from './dialog.options';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class TuiDialog<T> extends TuiPopoverDirective<TuiDialogOptions<T>> {
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDialog<any>, never>;
|
|
6
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDialog<any>, "ng-template[tuiDialog]", never, { "options": { "alias": "tuiDialogOptions"; "required": false; }; "open": { "alias": "tuiDialog"; "required": false; }; }, { "openChange": "tuiDialogChange"; }, never, never, true, never>;
|
|
7
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { type TuiPopoverContext } from '@taiga-ui/cdk/services';
|
|
2
|
-
import { type TuiSizeL, type TuiSizeS } from '@taiga-ui/core/types';
|
|
3
|
-
import { type Observable } from 'rxjs';
|
|
4
|
-
/**
|
|
5
|
-
* Options for a dialog
|
|
6
|
-
*
|
|
7
|
-
* appearance - data-appearance attribute of the dialog ('taiga' by default)
|
|
8
|
-
* closable - show close button (true by default)
|
|
9
|
-
* data - arbitrary data for dialog
|
|
10
|
-
* dismissible - close dialog by Esc button or click on overlay (true by default)
|
|
11
|
-
* label - string title for the dialog ('' by default)
|
|
12
|
-
* required - dismissing or closing dialog by X button throws (false by default)
|
|
13
|
-
* size - size of the dialog ('m' by default)
|
|
14
|
-
*/
|
|
15
|
-
export interface TuiDialogOptions<I> {
|
|
16
|
-
readonly appearance: string;
|
|
17
|
-
readonly closable: Observable<boolean> | boolean;
|
|
18
|
-
readonly data: I extends void ? undefined : I;
|
|
19
|
-
readonly dismissible: Observable<boolean> | boolean;
|
|
20
|
-
readonly label: string;
|
|
21
|
-
readonly required: boolean;
|
|
22
|
-
readonly size: TuiSizeL | TuiSizeS;
|
|
23
|
-
}
|
|
24
|
-
export interface TuiDialogContext<O = void, I = undefined> extends TuiPopoverContext<O>, TuiDialogOptions<I> {
|
|
25
|
-
}
|
|
26
|
-
export declare const TUI_DIALOG_DEFAULT_OPTIONS: TuiDialogOptions<void>;
|
|
27
|
-
export declare const TUI_DIALOG_OPTIONS: import("@angular/core").InjectionToken<TuiDialogOptions<void>>, tuiDialogOptionsProvider: (item: Partial<TuiDialogOptions<void>> | import("@angular/core").ProviderToken<Partial<TuiDialogOptions<void>>> | (() => Partial<TuiDialogOptions<void>>)) => import("@angular/core").FactoryProvider;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { TuiPopoverService } from '@taiga-ui/cdk/services';
|
|
2
|
-
import { type TuiDialogOptions } from './dialog.options';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class TuiDialogService extends TuiPopoverService<TuiDialogOptions<any>> {
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDialogService, never>;
|
|
6
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<TuiDialogService>;
|
|
7
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { TemplateRef } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class TuiExpand {
|
|
4
|
-
private readonly el;
|
|
5
|
-
private readonly cdr;
|
|
6
|
-
protected content?: TemplateRef<any>;
|
|
7
|
-
protected readonly signal: import("@angular/core").WritableSignal<boolean>;
|
|
8
|
-
protected readonly animating: import("@angular/core").WritableSignal<boolean>;
|
|
9
|
-
set expanded(expanded: boolean);
|
|
10
|
-
protected onTransitionEnd({ propertyName }: TransitionEvent): void;
|
|
11
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiExpand, never>;
|
|
12
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TuiExpand, "tui-expand", never, { "expanded": { "alias": "expanded"; "required": false; }; }, {}, ["content"], ["*"], true, never>;
|
|
13
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './expand.component';
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { type Provider } from '@angular/core';
|
|
2
|
-
import { TuiRectAccessor } from '@taiga-ui/core/classes';
|
|
3
|
-
import { type TuiHintDirective, TuiHintPointer } from '@taiga-ui/core/directives/hint';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@taiga-ui/core/directives/appearance";
|
|
6
|
-
import * as i2 from "@taiga-ui/cdk/directives/animated";
|
|
7
|
-
export declare class TuiHintComponent<C = any> {
|
|
8
|
-
private readonly el;
|
|
9
|
-
private readonly hover;
|
|
10
|
-
private readonly vvs;
|
|
11
|
-
private readonly viewport;
|
|
12
|
-
protected readonly pointer: TuiHintPointer | null;
|
|
13
|
-
protected readonly accessor: TuiRectAccessor;
|
|
14
|
-
protected readonly hint: TuiHintDirective<C>;
|
|
15
|
-
protected readonly isMobile: boolean;
|
|
16
|
-
protected readonly content: import("@angular/core").WritableSignal<import("@taiga-ui/polymorpheus").PolymorpheusContent<C>>;
|
|
17
|
-
protected readonly theme: string | null | undefined;
|
|
18
|
-
protected readonly appearance: import("@angular/core").WritableSignal<string>;
|
|
19
|
-
constructor();
|
|
20
|
-
protected onClick(target: HTMLElement): void;
|
|
21
|
-
private apply;
|
|
22
|
-
private update;
|
|
23
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintComponent<any>, never>;
|
|
24
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TuiHintComponent<any>, "tui-hint", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.TuiAppearance; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiAnimated; inputs: {}; outputs: {}; }]>;
|
|
25
|
-
}
|
|
26
|
-
export declare function tuiProvideExperimentalHint(): Provider;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './hint.component';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './input-phone-international.component';
|