@taiga-ui/core 4.52.0-canary.24b31eb → 4.52.0-canary.2c75afa
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/classes/accessors.d.ts +1 -1
- package/components/alert/alert.component.d.ts +5 -6
- package/components/alert/alert.directive.d.ts +4 -3
- package/components/alert/alert.interfaces.d.ts +6 -6
- package/components/alert/alert.service.d.ts +6 -2
- package/components/alert/alert.tokens.d.ts +1 -7
- package/components/alert/index.d.ts +0 -1
- package/components/data-list/data-list.component.d.ts +1 -1
- package/components/dialog/dialog.component.d.ts +3 -4
- package/components/dialog/dialog.directive.d.ts +4 -3
- package/components/dialog/dialog.options.d.ts +2 -3
- package/components/dialog/dialog.providers.d.ts +1 -2
- package/components/dialog/dialog.service.d.ts +5 -2
- package/components/dialog/index.d.ts +0 -1
- package/components/error/error.component.d.ts +1 -1
- package/components/index.d.ts +1 -1
- package/components/link/link.directive.d.ts +2 -2
- package/components/loader/loader.component.d.ts +7 -7
- package/components/modal/index.d.ts +2 -0
- package/components/modal/modal.component.d.ts +17 -0
- package/components/modal/modal.service.d.ts +13 -0
- package/components/notification/notification.directive.d.ts +6 -11
- package/components/root/root.component.d.ts +1 -1
- package/components/scrollbar/scroll-into-view.directive.d.ts +3 -2
- package/components/scrollbar/scrollbar.component.d.ts +2 -2
- package/components/scrollbar/scrollbar.directive.d.ts +2 -2
- package/components/spin-button/spin-button.component.d.ts +8 -9
- package/components/textfield/index.d.ts +1 -3
- package/components/textfield/textfield-multi/textfield-multi.component.d.ts +5 -6
- package/components/textfield/textfield.component.d.ts +5 -7
- package/components/textfield/textfield.d.ts +2 -3
- package/components/textfield/textfield.directive.d.ts +10 -13
- package/components/textfield/textfield.options.d.ts +8 -11
- package/directives/appearance/appearance.directive.d.ts +1 -1
- package/directives/appearance/appearance.options.d.ts +1 -1
- package/directives/date-format/date-format.directive.d.ts +3 -7
- package/directives/dropdown/dropdown-content.directive.d.ts +9 -0
- package/directives/dropdown/dropdown-position.directive.d.ts +1 -1
- package/directives/dropdown/dropdown.d.ts +2 -2
- package/directives/dropdown/dropdown.directive.d.ts +1 -2
- package/directives/dropdown/index.d.ts +1 -3
- package/directives/hint/hint-describe.directive.d.ts +4 -6
- package/directives/hint/hint-host.directive.d.ts +2 -2
- package/directives/hint/hint-hover.directive.d.ts +3 -4
- package/directives/hint/hint-manual.directive.d.ts +2 -2
- package/directives/hint/hint-options.directive.d.ts +1 -1
- package/directives/hint/hint-overflow.directive.d.ts +2 -2
- package/directives/hint/hint-position.directive.d.ts +4 -5
- package/directives/hint/hint-unstyled.component.d.ts +2 -7
- package/directives/hint/hint.component.d.ts +7 -6
- package/directives/hint/hint.directive.d.ts +9 -11
- package/directives/hint/index.d.ts +0 -2
- package/directives/index.d.ts +1 -0
- package/directives/notification/index.d.ts +2 -0
- package/directives/notification/notification.directive.d.ts +11 -0
- package/directives/notification/notification.service.d.ts +12 -0
- package/directives/number-format/number-format.directive.d.ts +3 -7
- package/directives/popup/popup.directive.d.ts +6 -5
- package/directives/popup/popup.service.d.ts +1 -1
- package/directives/popup/popups.component.d.ts +2 -2
- package/fesm2022/taiga-ui-core-classes.mjs +1 -1
- package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-alert.mjs +57 -96
- package/fesm2022/taiga-ui-core-components-alert.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-calendar.mjs +7 -8
- package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-data-list.mjs +4 -11
- package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-dialog.mjs +34 -91
- package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-error.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-expand.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-icon.mjs +1 -2
- package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-link.mjs +7 -9
- package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-loader.mjs +12 -25
- package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-modal.mjs +89 -0
- package/fesm2022/taiga-ui-core-components-modal.mjs.map +1 -0
- package/fesm2022/taiga-ui-core-components-notification.mjs +12 -28
- package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-root.mjs +3 -14
- package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-scrollbar.mjs +35 -43
- package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-spin-button.mjs +14 -27
- package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-textfield.mjs +127 -271
- package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components.mjs +1 -1
- package/fesm2022/taiga-ui-core-directives-appearance.mjs +0 -1
- package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-date-format.mjs +24 -18
- package/fesm2022/taiga-ui-core-directives-date-format.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-dropdown.mjs +44 -104
- package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-hint.mjs +98 -189
- package/fesm2022/taiga-ui-core-directives-hint.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-icons.mjs +0 -1
- package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +2 -5
- package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-notification.mjs +73 -0
- package/fesm2022/taiga-ui-core-directives-notification.mjs.map +1 -0
- package/fesm2022/taiga-ui-core-directives-number-format.mjs +30 -18
- package/fesm2022/taiga-ui-core-directives-number-format.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-popup.mjs +13 -20
- package/fesm2022/taiga-ui-core-directives-popup.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-title.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives.mjs +1 -0
- package/fesm2022/taiga-ui-core-directives.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +0 -1
- package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +0 -1
- package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-flag.mjs +0 -1
- package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-format-date.mjs +0 -1
- package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-format-number.mjs +21 -12
- package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-initials.mjs +0 -1
- package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-month.mjs +2 -2
- package/fesm2022/taiga-ui-core-pipes-month.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +0 -1
- package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-tokens.mjs +19 -9
- package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-utils-format.mjs +1 -0
- package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +1 -1
- package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
- package/package.json +13 -6
- package/pipes/format-number/format-number.pipe.d.ts +5 -3
- package/styles/components/link.less +1 -0
- package/styles/mixins/appearance.less +1 -1
- package/styles/mixins/mixins.less +0 -5
- package/styles/mixins/mixins.scss +0 -5
- package/styles/mixins/slider.less +24 -14
- package/styles/theme/variables.less +2 -4
- package/tokens/date-format.d.ts +2 -3
- package/tokens/i18n.d.ts +7 -7
- package/tokens/number-format.d.ts +2 -3
- package/types/index.d.ts +0 -1
- package/components/alert/alerts.component.d.ts +0 -12
- package/components/dialog/active-zone-adapter.directive.d.ts +0 -11
- package/components/dialog/dialogs.component.d.ts +0 -8
- package/components/header/header.directive.d.ts +0 -17
- package/components/header/index.d.ts +0 -1
- package/components/textfield/select.directive.d.ts +0 -19
- package/components/textfield/textfield-dropdown.directive.d.ts +0 -16
- package/directives/dropdown/dropdown-portal.directive.d.ts +0 -14
- package/directives/dropdown/dropdown.service.d.ts +0 -6
- package/directives/dropdown/dropdowns.component.d.ts +0 -9
- package/directives/hint/hint.service.d.ts +0 -13
- package/directives/hint/hints.component.d.ts +0 -12
- package/fesm2022/taiga-ui-core-components-header.mjs +0 -42
- package/fesm2022/taiga-ui-core-components-header.mjs.map +0 -1
- package/types/portal-item.d.ts +0 -9
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Directive, InjectionToken, Optional, Self, SkipSelf, inject, Input, EventEmitter, Output, ChangeDetectorRef, INJECTOR, signal, TemplateRef, computed, ChangeDetectionStrategy, Component, ElementRef, ContentChild, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { Injectable, Directive, InjectionToken, Optional, Self, SkipSelf, inject, Input, EventEmitter, Output, ChangeDetectorRef, INJECTOR, signal, TemplateRef, computed, forwardRef, ChangeDetectionStrategy, Component, PLATFORM_ID, ElementRef, ContentChild, ViewContainerRef } from '@angular/core';
|
|
3
3
|
import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { EMPTY_CLIENT_RECT, TUI_TRUE_HANDLER, CHAR_ZERO_WIDTH_SPACE, CHAR_NO_BREAK_SPACE } from '@taiga-ui/cdk/constants';
|
|
5
5
|
import * as i1 from '@taiga-ui/cdk/directives/active-zone';
|
|
@@ -8,8 +8,8 @@ import * as i2 from '@taiga-ui/cdk/directives/animated';
|
|
|
8
8
|
import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
|
|
9
9
|
import { tuiInjectElement, tuiGetActualTarget, tuiPointToClientRect, tuiIsElement, tuiIsHTMLElement, tuiIsElementEditable, tuiIsTextNode, tuiIsTextfield } from '@taiga-ui/cdk/utils/dom';
|
|
10
10
|
import { tuiClamp } from '@taiga-ui/cdk/utils/math';
|
|
11
|
-
import { tuiProvide, tuiPure, tuiPx, tuiProvideOptions, tuiIsString, tuiDirectiveBinding } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
12
|
-
import { TuiDriverDirective, TuiPositionAccessor, tuiFallbackAccessor, TuiRectAccessor,
|
|
11
|
+
import { tuiProvide, tuiPure, tuiPx, tuiProvideOptions, tuiSetSignal, tuiIsString, tuiDirectiveBinding } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
12
|
+
import { TuiDriverDirective, TuiPositionAccessor, tuiFallbackAccessor, TuiRectAccessor, tuiAsVehicle, tuiPositionAccessorFor, tuiRectAccessorFor, tuiAsDriver, tuiAsRectAccessor, TuiDriver, tuiAsPositionAccessor } from '@taiga-ui/core/classes';
|
|
13
13
|
import { TuiScrollbar } from '@taiga-ui/core/components/scrollbar';
|
|
14
14
|
import { TuiVisualViewportService, TuiPositionService } from '@taiga-ui/core/services';
|
|
15
15
|
import { TUI_VIEWPORT, TUI_DARK_MODE, TUI_SELECTION_STREAM } from '@taiga-ui/core/tokens';
|
|
@@ -17,10 +17,10 @@ import { PolymorpheusComponent, PolymorpheusTemplate, PolymorpheusOutlet } from
|
|
|
17
17
|
import { BehaviorSubject, Subject, throttleTime, takeWhile, map, merge, filter, fromEvent, switchMap, delay, startWith, takeUntil, distinctUntilChanged, of, tap, share, combineLatest } from 'rxjs';
|
|
18
18
|
import { coerceArray } from '@angular/cdk/coercion';
|
|
19
19
|
import { tuiZonefreeScheduler, tuiTypedFromEvent, tuiZonefree, tuiIfMap, tuiCloseWatcher, tuiZonefull, tuiWatch, tuiZoneOptimized } from '@taiga-ui/cdk/observables';
|
|
20
|
+
import { TuiPopupService } from '@taiga-ui/core/directives/popup';
|
|
20
21
|
import { tuiOverrideOptions, tuiCheckFixedPosition, tuiGetWordRange } from '@taiga-ui/core/utils';
|
|
21
|
-
import { TuiPortalService, TuiPortals, tuiAsPortal } from '@taiga-ui/cdk/classes';
|
|
22
22
|
import { __decorate } from 'tslib';
|
|
23
|
-
import { DOCUMENT } from '@angular/common';
|
|
23
|
+
import { isPlatformBrowser, DOCUMENT } from '@angular/common';
|
|
24
24
|
import { TUI_IS_TOUCH, TUI_RANGE } from '@taiga-ui/cdk/tokens';
|
|
25
25
|
import { shouldCall } from '@taiga-ui/event-plugins';
|
|
26
26
|
import * as i1$1 from '@taiga-ui/cdk/directives/obscured';
|
|
@@ -48,10 +48,7 @@ class TuiDropdownDriverDirective extends TuiDriverDirective {
|
|
|
48
48
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownDriverDirective, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
|
|
49
49
|
}
|
|
50
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownDriverDirective, decorators: [{
|
|
51
|
-
type: Directive
|
|
52
|
-
args: [{
|
|
53
|
-
standalone: true,
|
|
54
|
-
}]
|
|
51
|
+
type: Directive
|
|
55
52
|
}] });
|
|
56
53
|
|
|
57
54
|
/**
|
|
@@ -62,17 +59,6 @@ const TUI_DROPDOWN_COMPONENT = new InjectionToken(ngDevMode ? 'TUI_DROPDOWN_COMP
|
|
|
62
59
|
});
|
|
63
60
|
const TUI_DROPDOWN_CONTEXT = new InjectionToken(ngDevMode ? 'TUI_DROPDOWN_CONTEXT' : '');
|
|
64
61
|
|
|
65
|
-
class TuiDropdownService extends TuiPortalService {
|
|
66
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
67
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownService, providedIn: 'root' }); }
|
|
68
|
-
}
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownService, decorators: [{
|
|
70
|
-
type: Injectable,
|
|
71
|
-
args: [{
|
|
72
|
-
providedIn: 'root',
|
|
73
|
-
}]
|
|
74
|
-
}] });
|
|
75
|
-
|
|
76
62
|
/** Default values for dropdown options */
|
|
77
63
|
const TUI_DROPDOWN_DEFAULT_OPTIONS = {
|
|
78
64
|
align: 'left',
|
|
@@ -114,7 +100,6 @@ class TuiDropdownOptionsDirective {
|
|
|
114
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOptionsDirective, decorators: [{
|
|
115
101
|
type: Directive,
|
|
116
102
|
args: [{
|
|
117
|
-
standalone: true,
|
|
118
103
|
selector: '[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]',
|
|
119
104
|
providers: [tuiProvide(TUI_DROPDOWN_OPTIONS, TuiDropdownOptionsDirective)],
|
|
120
105
|
}]
|
|
@@ -149,7 +134,9 @@ class TuiDropdownPosition extends TuiPositionAccessor {
|
|
|
149
134
|
this.viewport = inject(TUI_VIEWPORT);
|
|
150
135
|
this.directionChange = new EventEmitter();
|
|
151
136
|
this.type = 'dropdown';
|
|
152
|
-
this.accessor = tuiFallbackAccessor('dropdown')(inject(TuiRectAccessor
|
|
137
|
+
this.accessor = tuiFallbackAccessor('dropdown')(inject(TuiRectAccessor, { optional: true }), {
|
|
138
|
+
getClientRect: () => this.el.getBoundingClientRect(),
|
|
139
|
+
});
|
|
153
140
|
}
|
|
154
141
|
emitDirection(direction) {
|
|
155
142
|
this.directionChange.emit(direction);
|
|
@@ -158,7 +145,7 @@ class TuiDropdownPosition extends TuiPositionAccessor {
|
|
|
158
145
|
if (!width && !height) {
|
|
159
146
|
this.previous = undefined;
|
|
160
147
|
}
|
|
161
|
-
const hostRect = this.accessor
|
|
148
|
+
const hostRect = this.accessor.getClientRect();
|
|
162
149
|
const viewportRect = this.viewport.getClientRect();
|
|
163
150
|
const { minHeight, direction, offset, limitWidth } = this.options;
|
|
164
151
|
const align = this.getAlign(this.options.align);
|
|
@@ -209,10 +196,7 @@ __decorate([
|
|
|
209
196
|
tuiPure
|
|
210
197
|
], TuiDropdownPosition.prototype, "emitDirection", null);
|
|
211
198
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPosition, decorators: [{
|
|
212
|
-
type: Directive
|
|
213
|
-
args: [{
|
|
214
|
-
standalone: true,
|
|
215
|
-
}]
|
|
199
|
+
type: Directive
|
|
216
200
|
}], propDecorators: { directionChange: [{
|
|
217
201
|
type: Output,
|
|
218
202
|
args: ['tuiDropdownDirectionChange']
|
|
@@ -221,7 +205,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
221
205
|
class TuiDropdownDirective {
|
|
222
206
|
constructor() {
|
|
223
207
|
this.refresh$ = new Subject();
|
|
224
|
-
this.service = inject(
|
|
208
|
+
this.service = inject(TuiPopupService);
|
|
225
209
|
this.cdr = inject(ChangeDetectorRef);
|
|
226
210
|
// TODO: think of a better solution later
|
|
227
211
|
this.drivers = coerceArray(inject(TuiDropdownDriver, { self: true, optional: true }));
|
|
@@ -274,27 +258,20 @@ class TuiDropdownDirective {
|
|
|
274
258
|
}
|
|
275
259
|
else if (!show && ref) {
|
|
276
260
|
this.ref.set(null);
|
|
277
|
-
|
|
261
|
+
ref.destroy();
|
|
278
262
|
}
|
|
279
263
|
this.drivers.forEach((driver) => driver?.next(show));
|
|
280
264
|
// TODO: Remove in v5, only needed in Angular 16
|
|
281
265
|
this.cdr.markForCheck();
|
|
282
266
|
}
|
|
283
267
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
284
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownDirective, isStandalone: true, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: { tuiDropdown: "tuiDropdown" }, host: { properties: { "class.tui-dropdown-open": "ref()" } }, providers: [
|
|
285
|
-
tuiAsRectAccessor(TuiDropdownDirective),
|
|
286
|
-
tuiAsVehicle(TuiDropdownDirective),
|
|
287
|
-
], exportAs: ["tuiDropdown"], hostDirectives: [{ directive: TuiDropdownDriverDirective }, { directive: TuiDropdownPosition, outputs: ["tuiDropdownDirectionChange", "tuiDropdownDirectionChange"] }], ngImport: i0 }); }
|
|
268
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownDirective, isStandalone: true, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: { tuiDropdown: "tuiDropdown" }, host: { properties: { "class.tui-dropdown-open": "ref()" } }, providers: [tuiAsVehicle(TuiDropdownDirective)], exportAs: ["tuiDropdown"], hostDirectives: [{ directive: TuiDropdownDriverDirective }, { directive: TuiDropdownPosition, outputs: ["tuiDropdownDirectionChange", "tuiDropdownDirectionChange"] }], ngImport: i0 }); }
|
|
288
269
|
}
|
|
289
270
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownDirective, decorators: [{
|
|
290
271
|
type: Directive,
|
|
291
272
|
args: [{
|
|
292
|
-
standalone: true,
|
|
293
273
|
selector: '[tuiDropdown]:not(ng-container):not(ng-template)',
|
|
294
|
-
providers: [
|
|
295
|
-
tuiAsRectAccessor(TuiDropdownDirective),
|
|
296
|
-
tuiAsVehicle(TuiDropdownDirective),
|
|
297
|
-
],
|
|
274
|
+
providers: [tuiAsVehicle(TuiDropdownDirective)],
|
|
298
275
|
exportAs: 'tuiDropdown',
|
|
299
276
|
hostDirectives: [
|
|
300
277
|
TuiDropdownDriverDirective,
|
|
@@ -366,7 +343,7 @@ class TuiDropdownComponent {
|
|
|
366
343
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownComponent, isStandalone: true, selector: "tui-dropdown", host: { properties: { "attr.data-appearance": "options.appearance", "attr.tuiTheme": "theme()" } }, providers: [
|
|
367
344
|
TuiPositionService,
|
|
368
345
|
tuiPositionAccessorFor('dropdown', TuiDropdownPosition),
|
|
369
|
-
tuiRectAccessorFor('dropdown', TuiDropdownDirective),
|
|
346
|
+
tuiRectAccessorFor('dropdown', forwardRef(() => TuiDropdownDirective)),
|
|
370
347
|
], hostDirectives: [{ directive: i1.TuiActiveZone }, { directive: i2.TuiAnimated }], ngImport: i0, template: "<tui-scrollbar class=\"t-scroll\">\n <div\n *polymorpheusOutlet=\"directive._content() as text; context: {$implicit: close}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n</tui-scrollbar>\n", styles: [":host{position:absolute;display:flex;box-shadow:var(--tui-shadow-medium);color:var(--tui-text-primary);background:var(--tui-background-elevation-3);border-radius:var(--tui-radius-m);overflow:hidden;border:1px solid var(--tui-border-normal);box-sizing:border-box;isolation:isolate;pointer-events:auto;--tui-from: translateY(-1rem)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host:not([style*=top]){visibility:hidden}.t-scroll{flex-grow:1;max-inline-size:100%;inline-size:max-content;overscroll-behavior:none}.t-primitive{padding:1rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
371
348
|
}
|
|
372
349
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownComponent, decorators: [{
|
|
@@ -374,13 +351,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
374
351
|
args: [{ selector: 'tui-dropdown', imports: [PolymorpheusOutlet, TuiScrollbar], changeDetection: ChangeDetectionStrategy.Default, providers: [
|
|
375
352
|
TuiPositionService,
|
|
376
353
|
tuiPositionAccessorFor('dropdown', TuiDropdownPosition),
|
|
377
|
-
tuiRectAccessorFor('dropdown', TuiDropdownDirective),
|
|
354
|
+
tuiRectAccessorFor('dropdown', forwardRef(() => TuiDropdownDirective)),
|
|
378
355
|
], hostDirectives: [TuiActiveZone, TuiAnimated], host: {
|
|
379
356
|
'[attr.data-appearance]': 'options.appearance',
|
|
380
357
|
'[attr.tuiTheme]': 'theme()',
|
|
381
358
|
}, template: "<tui-scrollbar class=\"t-scroll\">\n <div\n *polymorpheusOutlet=\"directive._content() as text; context: {$implicit: close}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n</tui-scrollbar>\n", styles: [":host{position:absolute;display:flex;box-shadow:var(--tui-shadow-medium);color:var(--tui-text-primary);background:var(--tui-background-elevation-3);border-radius:var(--tui-radius-m);overflow:hidden;border:1px solid var(--tui-border-normal);box-sizing:border-box;isolation:isolate;pointer-events:auto;--tui-from: translateY(-1rem)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host:not([style*=top]){visibility:hidden}.t-scroll{flex-grow:1;max-inline-size:100%;inline-size:max-content;overscroll-behavior:none}.t-primitive{padding:1rem}\n"] }]
|
|
382
359
|
}] });
|
|
383
360
|
|
|
361
|
+
class TuiDropdownContent {
|
|
362
|
+
constructor() {
|
|
363
|
+
this.directive = inject(TuiDropdownDirective);
|
|
364
|
+
this.directive.tuiDropdown = inject(TemplateRef);
|
|
365
|
+
if (isPlatformBrowser(inject(PLATFORM_ID)) &&
|
|
366
|
+
this.directive.el.matches(':focus-within')) {
|
|
367
|
+
this.directive.toggle(true);
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
ngOnDestroy() {
|
|
371
|
+
this.directive.tuiDropdown = null;
|
|
372
|
+
}
|
|
373
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
374
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownContent, isStandalone: true, selector: "ng-template[tuiDropdown]", ngImport: i0 }); }
|
|
375
|
+
}
|
|
376
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownContent, decorators: [{
|
|
377
|
+
type: Directive,
|
|
378
|
+
args: [{
|
|
379
|
+
selector: 'ng-template[tuiDropdown]',
|
|
380
|
+
}]
|
|
381
|
+
}], ctorParameters: () => [] });
|
|
382
|
+
|
|
384
383
|
function activeZoneFilter(event) {
|
|
385
384
|
return (!event ||
|
|
386
385
|
(this.driver.value && !this.activeZone.contains(tuiGetActualTarget(event))));
|
|
@@ -424,7 +423,6 @@ __decorate([
|
|
|
424
423
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownContext, decorators: [{
|
|
425
424
|
type: Directive,
|
|
426
425
|
args: [{
|
|
427
|
-
standalone: true,
|
|
428
426
|
selector: '[tuiDropdownContext]',
|
|
429
427
|
providers: [
|
|
430
428
|
TuiActiveZone,
|
|
@@ -480,7 +478,7 @@ class TuiDropdownOpen {
|
|
|
480
478
|
// TODO: make it private when all legacy controls will be deleted from @taiga-ui/legacy (5.0)
|
|
481
479
|
this.driver = inject(TuiDropdownDriver);
|
|
482
480
|
this.sub = this.driver
|
|
483
|
-
.pipe(tuiIfMap(() => merge(tuiCloseWatcher(), this.obscured.tuiObscured
|
|
481
|
+
.pipe(tuiIfMap(() => merge(tuiCloseWatcher(), this.obscured.tuiObscured$.pipe(filter(Boolean)), this.activeZone.tuiActiveZoneChange.pipe(filter((a) => !a)), fromEvent(this.el, 'focusin').pipe(filter((event) => !this.host.contains(tuiGetActualTarget(event)) ||
|
|
484
482
|
!this.directive.ref())))), tuiZonefull(), tuiWatch(), takeUntilDestroyed())
|
|
485
483
|
.subscribe(() => this.toggle(false));
|
|
486
484
|
this.sync = this.driver.pipe(takeUntilDestroyed()).subscribe((open) => {
|
|
@@ -551,7 +549,7 @@ class TuiDropdownOpen {
|
|
|
551
549
|
this.drive();
|
|
552
550
|
}
|
|
553
551
|
drive(open = !!this.tuiDropdownOpen && this.tuiDropdownEnabled) {
|
|
554
|
-
this.obscured.tuiObscuredEnabled
|
|
552
|
+
tuiSetSignal(this.obscured.tuiObscuredEnabled, open);
|
|
555
553
|
this.driver.next(open);
|
|
556
554
|
}
|
|
557
555
|
focusDropdown(previous) {
|
|
@@ -576,7 +574,6 @@ __decorate([
|
|
|
576
574
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOpen, decorators: [{
|
|
577
575
|
type: Directive,
|
|
578
576
|
args: [{
|
|
579
|
-
standalone: true,
|
|
580
577
|
selector: '[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]',
|
|
581
578
|
providers: [TuiDropdownDriver, tuiAsDriver(TuiDropdownDriver)],
|
|
582
579
|
hostDirectives: [
|
|
@@ -647,7 +644,6 @@ class TuiDropdownHover extends TuiDriver {
|
|
|
647
644
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownHover, decorators: [{
|
|
648
645
|
type: Directive,
|
|
649
646
|
args: [{
|
|
650
|
-
standalone: true,
|
|
651
647
|
selector: '[tuiDropdownHover]',
|
|
652
648
|
providers: [TuiActiveZone, tuiAsDriver(TuiDropdownHover)],
|
|
653
649
|
host: {
|
|
@@ -679,7 +675,6 @@ class TuiDropdownManual {
|
|
|
679
675
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownManual, decorators: [{
|
|
680
676
|
type: Directive,
|
|
681
677
|
args: [{
|
|
682
|
-
standalone: true,
|
|
683
678
|
selector: '[tuiDropdownManual]',
|
|
684
679
|
providers: [TuiDropdownDriver, tuiAsDriver(TuiDropdownDriver)],
|
|
685
680
|
}]
|
|
@@ -707,7 +702,6 @@ class TuiDropdownOpenLegacy {
|
|
|
707
702
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOpenLegacy, decorators: [{
|
|
708
703
|
type: Directive,
|
|
709
704
|
args: [{
|
|
710
|
-
standalone: true,
|
|
711
705
|
selector: '[tuiDropdownOpen]:not([tuiDropdown]),[tuiDropdownOpenChange]:not([tuiDropdown])',
|
|
712
706
|
}]
|
|
713
707
|
}], propDecorators: { tuiDropdownOpenChange: [{
|
|
@@ -716,36 +710,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
716
710
|
type: Input
|
|
717
711
|
}] } });
|
|
718
712
|
|
|
719
|
-
/**
|
|
720
|
-
* @deprecated use {@link TuiPopup} directive instead
|
|
721
|
-
*/
|
|
722
|
-
class TuiDropdownPortal {
|
|
723
|
-
constructor() {
|
|
724
|
-
this.template = inject(TemplateRef);
|
|
725
|
-
this.service = inject(TuiDropdownService);
|
|
726
|
-
}
|
|
727
|
-
set tuiDropdown(show) {
|
|
728
|
-
this.viewRef?.destroy();
|
|
729
|
-
if (show) {
|
|
730
|
-
this.viewRef = this.service.addTemplate(this.template);
|
|
731
|
-
}
|
|
732
|
-
}
|
|
733
|
-
ngOnDestroy() {
|
|
734
|
-
this.viewRef?.destroy();
|
|
735
|
-
}
|
|
736
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPortal, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
737
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownPortal, isStandalone: true, selector: "ng-template[tuiDropdown]", inputs: { tuiDropdown: "tuiDropdown" }, ngImport: i0 }); }
|
|
738
|
-
}
|
|
739
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPortal, decorators: [{
|
|
740
|
-
type: Directive,
|
|
741
|
-
args: [{
|
|
742
|
-
standalone: true,
|
|
743
|
-
selector: 'ng-template[tuiDropdown]',
|
|
744
|
-
}]
|
|
745
|
-
}], propDecorators: { tuiDropdown: [{
|
|
746
|
-
type: Input
|
|
747
|
-
}] } });
|
|
748
|
-
|
|
749
713
|
class TuiDropdownPositionSided extends TuiPositionAccessor {
|
|
750
714
|
constructor() {
|
|
751
715
|
super(...arguments);
|
|
@@ -797,7 +761,6 @@ class TuiDropdownPositionSided extends TuiPositionAccessor {
|
|
|
797
761
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPositionSided, decorators: [{
|
|
798
762
|
type: Directive,
|
|
799
763
|
args: [{
|
|
800
|
-
standalone: true,
|
|
801
764
|
selector: '[tuiDropdownSided]',
|
|
802
765
|
providers: [TuiDropdownPosition, tuiAsPositionAccessor(TuiDropdownPositionSided)],
|
|
803
766
|
}]
|
|
@@ -938,7 +901,6 @@ class TuiDropdownSelection extends TuiDriver {
|
|
|
938
901
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownSelection, decorators: [{
|
|
939
902
|
type: Directive,
|
|
940
903
|
args: [{
|
|
941
|
-
standalone: true,
|
|
942
904
|
selector: '[tuiDropdownSelection]',
|
|
943
905
|
providers: [
|
|
944
906
|
tuiAsDriver(TuiDropdownSelection),
|
|
@@ -959,9 +921,9 @@ const TuiDropdown = [
|
|
|
959
921
|
TuiDropdownComponent,
|
|
960
922
|
TuiDropdownOpen,
|
|
961
923
|
TuiDropdownOpenLegacy,
|
|
962
|
-
TuiDropdownPortal,
|
|
963
924
|
TuiDropdownManual,
|
|
964
925
|
TuiDropdownHover,
|
|
926
|
+
TuiDropdownContent,
|
|
965
927
|
TuiDropdownContext,
|
|
966
928
|
TuiDropdownPosition,
|
|
967
929
|
TuiDropdownPositionSided,
|
|
@@ -993,7 +955,6 @@ class TuiDropdownFixed {
|
|
|
993
955
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownFixed, decorators: [{
|
|
994
956
|
type: Directive,
|
|
995
957
|
args: [{
|
|
996
|
-
standalone: true,
|
|
997
958
|
providers: [tuiDropdownOptionsProvider({})],
|
|
998
959
|
}]
|
|
999
960
|
}], ctorParameters: () => [] });
|
|
@@ -1009,29 +970,9 @@ class TuiDropdownAuto {
|
|
|
1009
970
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownAuto, isStandalone: true, ngImport: i0 }); }
|
|
1010
971
|
}
|
|
1011
972
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownAuto, decorators: [{
|
|
1012
|
-
type: Directive
|
|
1013
|
-
args: [{ standalone: true }]
|
|
973
|
+
type: Directive
|
|
1014
974
|
}], ctorParameters: () => [] });
|
|
1015
975
|
|
|
1016
|
-
/**
|
|
1017
|
-
* Host element for dynamically created portals, for example using {@link TuiDropdownDirective}.
|
|
1018
|
-
*/
|
|
1019
|
-
class TuiDropdowns extends TuiPortals {
|
|
1020
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdowns, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1021
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdowns, isStandalone: true, selector: "tui-dropdowns", host: { styleAttribute: "position: absolute; width: 100%; top: 0" }, providers: [tuiAsPortal(TuiDropdownService)], usesInheritance: true, ngImport: i0, template: '<ng-container #viewContainer />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1022
|
-
}
|
|
1023
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdowns, decorators: [{
|
|
1024
|
-
type: Component,
|
|
1025
|
-
args: [{
|
|
1026
|
-
standalone: true,
|
|
1027
|
-
selector: 'tui-dropdowns',
|
|
1028
|
-
template: '<ng-container #viewContainer />',
|
|
1029
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1030
|
-
providers: [tuiAsPortal(TuiDropdownService)],
|
|
1031
|
-
host: { style: 'position: absolute; width: 100%; top: 0' },
|
|
1032
|
-
}]
|
|
1033
|
-
}] });
|
|
1034
|
-
|
|
1035
976
|
class TuiWithDropdownOpen {
|
|
1036
977
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithDropdownOpen, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1037
978
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiWithDropdownOpen, isStandalone: true, hostDirectives: [{ directive: TuiDropdownOpen, inputs: ["tuiDropdownOpen", "open", "tuiDropdownEnabled", "tuiDropdownEnabled"], outputs: ["tuiDropdownOpenChange", "openChange"] }], ngImport: i0 }); }
|
|
@@ -1039,7 +980,6 @@ class TuiWithDropdownOpen {
|
|
|
1039
980
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithDropdownOpen, decorators: [{
|
|
1040
981
|
type: Directive,
|
|
1041
982
|
args: [{
|
|
1042
|
-
standalone: true,
|
|
1043
983
|
hostDirectives: [
|
|
1044
984
|
{
|
|
1045
985
|
directive: TuiDropdownOpen,
|
|
@@ -1054,5 +994,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
1054
994
|
* Generated bundle index. Do not edit.
|
|
1055
995
|
*/
|
|
1056
996
|
|
|
1057
|
-
export { TUI_DROPDOWN_COMPONENT, TUI_DROPDOWN_CONTEXT, TUI_DROPDOWN_DEFAULT_OPTIONS, TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS, TUI_DROPDOWN_HOVER_OPTIONS, TUI_DROPDOWN_OPTIONS, TuiDropdown, TuiDropdownAuto, TuiDropdownComponent, TuiDropdownContext, TuiDropdownDirective, TuiDropdownDriver, TuiDropdownDriverDirective, TuiDropdownFixed, TuiDropdownHover, TuiDropdownManual, TuiDropdownOpen, TuiDropdownOpenLegacy, TuiDropdownOptionsDirective,
|
|
997
|
+
export { TUI_DROPDOWN_COMPONENT, TUI_DROPDOWN_CONTEXT, TUI_DROPDOWN_DEFAULT_OPTIONS, TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS, TUI_DROPDOWN_HOVER_OPTIONS, TUI_DROPDOWN_OPTIONS, TuiDropdown, TuiDropdownAuto, TuiDropdownComponent, TuiDropdownContent, TuiDropdownContext, TuiDropdownDirective, TuiDropdownDriver, TuiDropdownDriverDirective, TuiDropdownFixed, TuiDropdownHover, TuiDropdownManual, TuiDropdownOpen, TuiDropdownOpenLegacy, TuiDropdownOptionsDirective, TuiDropdownPosition, TuiDropdownPositionSided, TuiDropdownSelection, TuiWithDropdownOpen, tuiDropdown, tuiDropdownEnabled, tuiDropdownHoverOptionsProvider, tuiDropdownOpen, tuiDropdownOptionsProvider };
|
|
1058
998
|
//# sourceMappingURL=taiga-ui-core-directives-dropdown.mjs.map
|