@taiga-ui/core 4.52.0-canary.c107f6a → 4.52.0-canary.ca43bcb
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/README.md +1 -1
- package/classes/accessors.d.ts +1 -1
- package/components/calendar/calendar-sheet.options.d.ts +1 -3
- package/{pipes/calendar-sheet → components/calendar}/calendar-sheet.pipe.d.ts +1 -1
- package/components/calendar/calendar-spin.component.d.ts +1 -0
- package/components/calendar/calendar-year.component.d.ts +1 -1
- package/components/calendar/index.d.ts +2 -0
- package/components/data-list/data-list.component.d.ts +7 -11
- package/components/data-list/data-list.d.ts +2 -4
- package/components/data-list/data-list.tokens.d.ts +1 -5
- package/components/data-list/index.d.ts +0 -2
- package/components/data-list/opt-group.directive.d.ts +2 -2
- package/components/data-list/option/option-content.d.ts +6 -8
- package/components/data-list/option/option.directive.d.ts +7 -8
- package/components/index.d.ts +2 -4
- package/components/input/index.d.ts +2 -0
- package/components/input/input.d.ts +2 -0
- package/components/input/input.directive.d.ts +30 -0
- package/components/link/link.options.d.ts +1 -3
- package/components/loader/loader.options.d.ts +1 -3
- package/components/notification/index.d.ts +3 -0
- package/components/notification/notification.component.d.ts +14 -0
- package/components/notification/notification.d.ts +3 -0
- package/components/notification/notification.directive.d.ts +4 -5
- package/components/notification/notification.options.d.ts +10 -7
- package/components/notification/notification.service.d.ts +17 -0
- package/components/root/root.component.d.ts +1 -1
- package/components/textfield/index.d.ts +0 -1
- package/components/textfield/textfield-multi/textfield-item.component.d.ts +3 -2
- package/components/textfield/textfield-multi/textfield-multi.component.d.ts +8 -12
- package/components/textfield/textfield.component.d.ts +23 -35
- package/components/textfield/textfield.d.ts +2 -3
- package/directives/group/group.directive.d.ts +7 -7
- package/directives/group/group.options.d.ts +1 -3
- package/directives/index.d.ts +0 -5
- package/fesm2022/taiga-ui-core-classes.mjs +6 -8
- package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-calendar.mjs +120 -21
- package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-data-list.mjs +44 -197
- package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-error.mjs +2 -1
- package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-input.mjs +95 -0
- package/fesm2022/taiga-ui-core-components-input.mjs.map +1 -0
- package/fesm2022/taiga-ui-core-components-link.mjs +6 -10
- package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-loader.mjs +3 -8
- package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-notification.mjs +92 -20
- package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-root.mjs +6 -8
- package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-scrollbar.mjs +1 -2
- package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-textfield.mjs +82 -237
- package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
- package/fesm2022/{taiga-ui-core-directives-title.mjs → taiga-ui-core-components-title.mjs} +1 -1
- package/fesm2022/{taiga-ui-core-directives-title.mjs.map → taiga-ui-core-components-title.mjs.map} +1 -1
- package/fesm2022/taiga-ui-core-components.mjs +2 -4
- package/fesm2022/taiga-ui-core-components.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-appearance.mjs +6 -5
- package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-group.mjs +17 -29
- package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-icons.mjs +2 -1
- package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +1 -1
- package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives.mjs +0 -5
- package/fesm2022/taiga-ui-core-directives.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-format-number.mjs +19 -13
- package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes.mjs +0 -7
- package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-portals-alert.mjs +73 -0
- package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -0
- package/fesm2022/taiga-ui-core-portals-dialog.mjs +158 -0
- package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -0
- package/fesm2022/{taiga-ui-core-directives-dropdown.mjs → taiga-ui-core-portals-dropdown.mjs} +109 -205
- package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -0
- package/fesm2022/{taiga-ui-core-directives-hint.mjs → taiga-ui-core-portals-hint.mjs} +9 -10
- package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -0
- package/fesm2022/taiga-ui-core-portals-modal.mjs +89 -0
- package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -0
- package/fesm2022/{taiga-ui-core-directives-popup.mjs → taiga-ui-core-portals-popup.mjs} +2 -2
- package/fesm2022/taiga-ui-core-portals-popup.mjs.map +1 -0
- package/fesm2022/taiga-ui-core-portals.mjs +11 -0
- package/fesm2022/taiga-ui-core-portals.mjs.map +1 -0
- package/fesm2022/taiga-ui-core-services.mjs +3 -23
- package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-tokens.mjs +4 -13
- package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-utils-format.mjs +1 -22
- package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +7 -16
- package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
- package/fesm2022/taiga-ui-core.mjs +1 -0
- package/fesm2022/taiga-ui-core.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/package.json +38 -66
- package/pipes/format-number/format-number.pipe.d.ts +6 -4
- package/pipes/index.d.ts +0 -7
- package/{directives/notification/notification.directive.d.ts → portals/alert/alert.directive.d.ts} +3 -3
- package/{directives/notification/notification.service.d.ts → portals/alert/alert.service.d.ts} +3 -3
- package/portals/alert/index.d.ts +2 -0
- package/{components → portals}/dialog/dialog.component.d.ts +2 -3
- package/{components → portals}/dialog/dialog.options.d.ts +2 -3
- package/{components → portals}/dialog/dialog.providers.d.ts +1 -2
- package/{components → portals}/dialog/dialog.service.d.ts +1 -1
- package/{components → portals}/dialog/index.d.ts +0 -1
- package/{directives → portals}/dropdown/dropdown-hover.directive.d.ts +5 -10
- package/{directives → portals}/dropdown/dropdown-hover.options.d.ts +1 -3
- package/{directives → portals}/dropdown/dropdown-manual.directive.d.ts +2 -2
- package/portals/dropdown/dropdown-open.directive.d.ts +30 -0
- package/{directives → portals}/dropdown/dropdown-position-sided.directive.d.ts +3 -3
- package/{directives → portals}/dropdown/dropdown-position.directive.d.ts +5 -5
- package/{directives → portals}/dropdown/dropdown-selection.directive.d.ts +4 -5
- package/{directives → portals}/dropdown/dropdown.bindings.d.ts +0 -1
- package/{directives → portals}/dropdown/dropdown.d.ts +1 -2
- package/{directives → portals}/dropdown/dropdown.directive.d.ts +5 -6
- package/{directives → portals}/dropdown/index.d.ts +0 -1
- package/portals/index.d.ts +6 -0
- package/{components → portals}/modal/modal.component.d.ts +3 -3
- package/{components → portals}/modal/modal.service.d.ts +3 -3
- package/services/index.d.ts +0 -1
- package/styles/components/link.less +1 -0
- package/styles/components/textfield.less +0 -1
- 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.scss +1 -2
- package/styles/theme/variables.less +2 -4
- package/tokens/common-icons.d.ts +1 -3
- package/tokens/icons.d.ts +0 -4
- package/types/index.d.ts +0 -2
- package/types/size.d.ts +0 -11
- package/utils/format/index.d.ts +0 -1
- package/utils/miscellaneous/get-duration.d.ts +2 -0
- package/utils/miscellaneous/index.d.ts +1 -1
- package/components/alert/alert.component.d.ts +0 -14
- package/components/alert/alert.directive.d.ts +0 -8
- package/components/alert/alert.interfaces.d.ts +0 -13
- package/components/alert/alert.service.d.ts +0 -11
- package/components/alert/alert.tokens.d.ts +0 -6
- package/components/alert/index.d.ts +0 -5
- package/components/data-list/data-list.directive.d.ts +0 -7
- package/components/data-list/option/option-legacy.component.d.ts +0 -24
- 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/textfield.directive.d.ts +0 -35
- package/directives/dropdown/dropdown-open-legacy.directive.d.ts +0 -12
- package/directives/dropdown/dropdown-open.directive.d.ts +0 -33
- package/directives/notification/index.d.ts +0 -2
- package/fesm2022/taiga-ui-core-components-alert.mjs +0 -110
- package/fesm2022/taiga-ui-core-components-alert.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-components-dialog.mjs +0 -226
- package/fesm2022/taiga-ui-core-components-dialog.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-components-header.mjs +0 -42
- package/fesm2022/taiga-ui-core-components-header.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-components-modal.mjs +0 -89
- package/fesm2022/taiga-ui-core-components-modal.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-directives-hint.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-directives-notification.mjs +0 -73
- package/fesm2022/taiga-ui-core-directives-notification.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-directives-popup.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +0 -24
- package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +0 -93
- package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-pipes-flag.mjs +0 -31
- package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-pipes-format-date.mjs +0 -27
- package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-pipes-initials.mjs +0 -28
- package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-pipes-month.mjs +0 -29
- package/fesm2022/taiga-ui-core-pipes-month.mjs.map +0 -1
- package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +0 -35
- package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +0 -1
- package/pipes/auto-color/auto-color.pipe.d.ts +0 -7
- package/pipes/auto-color/index.d.ts +0 -1
- package/pipes/calendar-sheet/index.d.ts +0 -1
- package/pipes/calendar-sheet/utils.d.ts +0 -20
- package/pipes/flag/flag.pipe.d.ts +0 -14
- package/pipes/flag/index.d.ts +0 -1
- package/pipes/format-date/format-date.pipe.d.ts +0 -9
- package/pipes/format-date/index.d.ts +0 -1
- package/pipes/initials/index.d.ts +0 -1
- package/pipes/initials/initials.pipe.d.ts +0 -7
- package/pipes/month/index.d.ts +0 -1
- package/pipes/month/month.pipe.d.ts +0 -10
- package/pipes/order-week-days/index.d.ts +0 -1
- package/services/format-date.service.d.ts +0 -8
- package/types/range-state.d.ts +0 -4
- package/types/value-content-context.d.ts +0 -4
- package/utils/format/string-hash-to-hsl.d.ts +0 -6
- package/utils/miscellaneous/to-animation-options.d.ts +0 -4
- /package/{pipes/order-week-days → components/calendar}/order-week-days.pipe.d.ts +0 -0
- /package/{directives → components}/title/index.d.ts +0 -0
- /package/{directives → components}/title/title.directive.d.ts +0 -0
- /package/{components → portals}/dialog/dialog.directive.d.ts +0 -0
- /package/{components → portals}/dialog/dialog.factory.d.ts +0 -0
- /package/{directives → portals}/dropdown/dropdown-content.directive.d.ts +0 -0
- /package/{directives → portals}/dropdown/dropdown-context.directive.d.ts +0 -0
- /package/{directives → portals}/dropdown/dropdown-limit-width.d.ts +0 -0
- /package/{directives → portals}/dropdown/dropdown-options.directive.d.ts +0 -0
- /package/{directives → portals}/dropdown/dropdown.component.d.ts +0 -0
- /package/{directives → portals}/dropdown/dropdown.driver.d.ts +0 -0
- /package/{directives → portals}/dropdown/dropdown.providers.d.ts +0 -0
- /package/{directives → portals}/dropdown/with-dropdown-open.directive.d.ts +0 -0
- /package/{directives → portals}/hint/hint-describe.directive.d.ts +0 -0
- /package/{directives → portals}/hint/hint-driver.directive.d.ts +0 -0
- /package/{directives → portals}/hint/hint-host.directive.d.ts +0 -0
- /package/{directives → portals}/hint/hint-hover.directive.d.ts +0 -0
- /package/{directives → portals}/hint/hint-manual.directive.d.ts +0 -0
- /package/{directives → portals}/hint/hint-options.directive.d.ts +0 -0
- /package/{directives → portals}/hint/hint-overflow.directive.d.ts +0 -0
- /package/{directives → portals}/hint/hint-pointer.directive.d.ts +0 -0
- /package/{directives → portals}/hint/hint-position.directive.d.ts +0 -0
- /package/{directives → portals}/hint/hint-unstyled.component.d.ts +0 -0
- /package/{directives → portals}/hint/hint.component.d.ts +0 -0
- /package/{directives → portals}/hint/hint.d.ts +0 -0
- /package/{directives → portals}/hint/hint.directive.d.ts +0 -0
- /package/{directives → portals}/hint/hint.providers.d.ts +0 -0
- /package/{directives → portals}/hint/index.d.ts +0 -0
- /package/{components → portals}/modal/index.d.ts +0 -0
- /package/{directives → portals}/popup/index.d.ts +0 -0
- /package/{directives → portals}/popup/popup.directive.d.ts +0 -0
- /package/{directives → portals}/popup/popup.service.d.ts +0 -0
- /package/{directives → portals}/popup/popups.component.d.ts +0 -0
package/fesm2022/{taiga-ui-core-directives-dropdown.mjs → taiga-ui-core-portals-dropdown.mjs}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Directive, InjectionToken, Optional, Self, SkipSelf, inject, Input,
|
|
3
|
-
import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
|
|
2
|
+
import { Injectable, Directive, InjectionToken, Optional, Self, SkipSelf, inject, Input, ChangeDetectorRef, effect, signal, INJECTOR, input, computed, TemplateRef, forwardRef, ChangeDetectionStrategy, Component, PLATFORM_ID, contentChild, ElementRef, model, ViewContainerRef } from '@angular/core';
|
|
3
|
+
import { outputFromObservable, 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';
|
|
6
6
|
import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
|
|
@@ -8,24 +8,25 @@ 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 {
|
|
12
|
-
import { TuiDriverDirective, TuiPositionAccessor, tuiFallbackAccessor, TuiRectAccessor,
|
|
11
|
+
import { tuiPx, tuiSetSignal, tuiIsString } 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';
|
|
16
16
|
import { PolymorpheusComponent, PolymorpheusTemplate, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
|
|
17
|
-
import { BehaviorSubject, Subject, throttleTime, takeWhile, map, merge, filter, fromEvent, switchMap, delay, startWith, takeUntil,
|
|
17
|
+
import { BehaviorSubject, Subject, distinctUntilChanged, throttleTime, takeWhile, map, merge, filter, fromEvent, switchMap, delay, startWith, takeUntil, 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/
|
|
20
|
+
import { TuiPopupService } from '@taiga-ui/core/portals/popup';
|
|
21
21
|
import { tuiOverrideOptions, tuiCheckFixedPosition, tuiGetWordRange } from '@taiga-ui/core/utils';
|
|
22
|
-
import {
|
|
22
|
+
import { tuiProvide, tuiCreateOptions, tuiDirectiveBinding } from '@taiga-ui/cdk/utils/di';
|
|
23
23
|
import { isPlatformBrowser, DOCUMENT } from '@angular/common';
|
|
24
|
-
import {
|
|
24
|
+
import { __decorate } from 'tslib';
|
|
25
|
+
import { TUI_IS_TOUCH } from '@taiga-ui/cdk/tokens';
|
|
25
26
|
import { shouldCall } from '@taiga-ui/event-plugins';
|
|
26
27
|
import * as i1$1 from '@taiga-ui/cdk/directives/obscured';
|
|
27
28
|
import { TuiObscured } from '@taiga-ui/cdk/directives/obscured';
|
|
28
|
-
import {
|
|
29
|
+
import { tuiIsFocusable, tuiGetClosestFocusable, tuiIsFocusedIn, tuiGetFocused } from '@taiga-ui/cdk/utils/focus';
|
|
29
30
|
import { tuiIsEditingKey, tuiOverrideOptions as tuiOverrideOptions$1 } from '@taiga-ui/core/utils/miscellaneous';
|
|
30
31
|
|
|
31
32
|
class TuiDropdownDriver extends BehaviorSubject {
|
|
@@ -132,18 +133,16 @@ class TuiDropdownPosition extends TuiPositionAccessor {
|
|
|
132
133
|
this.el = tuiInjectElement();
|
|
133
134
|
this.options = inject(TUI_DROPDOWN_OPTIONS);
|
|
134
135
|
this.viewport = inject(TUI_VIEWPORT);
|
|
135
|
-
this.
|
|
136
|
+
this.direction = new Subject();
|
|
136
137
|
this.type = 'dropdown';
|
|
137
|
-
this.accessor = tuiFallbackAccessor('dropdown')(inject(TuiRectAccessor
|
|
138
|
-
|
|
139
|
-
emitDirection(direction) {
|
|
140
|
-
this.directionChange.emit(direction);
|
|
138
|
+
this.accessor = tuiFallbackAccessor('dropdown')(inject(TuiRectAccessor, { optional: true }), { getClientRect: () => this.el.getBoundingClientRect() });
|
|
139
|
+
this.tuiDropdownDirectionChange = outputFromObservable(this.direction.pipe(distinctUntilChanged()));
|
|
141
140
|
}
|
|
142
141
|
getPosition({ width, height }) {
|
|
143
142
|
if (!width && !height) {
|
|
144
143
|
this.previous = undefined;
|
|
145
144
|
}
|
|
146
|
-
const hostRect = this.accessor
|
|
145
|
+
const hostRect = this.accessor.getClientRect();
|
|
147
146
|
const viewportRect = this.viewport.getClientRect();
|
|
148
147
|
const { minHeight, direction, offset, limitWidth } = this.options;
|
|
149
148
|
const align = this.getAlign(this.options.align);
|
|
@@ -173,11 +172,11 @@ class TuiDropdownPosition extends TuiPositionAccessor {
|
|
|
173
172
|
const better = available.top > available.bottom ? 'top' : 'bottom';
|
|
174
173
|
if ((available[previous] > minHeight && direction) ||
|
|
175
174
|
available[previous] > height) {
|
|
176
|
-
this.
|
|
175
|
+
this.direction.next(previous);
|
|
177
176
|
return [position[previous], position[align]];
|
|
178
177
|
}
|
|
179
178
|
this.previous = better;
|
|
180
|
-
this.
|
|
179
|
+
this.direction.next(better);
|
|
181
180
|
return [position[better], position[align]];
|
|
182
181
|
}
|
|
183
182
|
getAlign(align) {
|
|
@@ -188,24 +187,17 @@ class TuiDropdownPosition extends TuiPositionAccessor {
|
|
|
188
187
|
return rtl && align === 'right' ? 'left' : align;
|
|
189
188
|
}
|
|
190
189
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPosition, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
191
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownPosition, isStandalone: true, outputs: {
|
|
190
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownPosition, isStandalone: true, outputs: { tuiDropdownDirectionChange: "tuiDropdownDirectionChange" }, usesInheritance: true, ngImport: i0 }); }
|
|
192
191
|
}
|
|
193
|
-
__decorate([
|
|
194
|
-
tuiPure
|
|
195
|
-
], TuiDropdownPosition.prototype, "emitDirection", null);
|
|
196
192
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPosition, decorators: [{
|
|
197
193
|
type: Directive
|
|
198
|
-
}]
|
|
199
|
-
type: Output,
|
|
200
|
-
args: ['tuiDropdownDirectionChange']
|
|
201
|
-
}], emitDirection: [] } });
|
|
194
|
+
}] });
|
|
202
195
|
|
|
203
196
|
class TuiDropdownDirective {
|
|
204
197
|
constructor() {
|
|
205
198
|
this.refresh$ = new Subject();
|
|
206
199
|
this.service = inject(TuiPopupService);
|
|
207
200
|
this.cdr = inject(ChangeDetectorRef);
|
|
208
|
-
// TODO: think of a better solution later
|
|
209
201
|
this.drivers = coerceArray(inject(TuiDropdownDriver, { self: true, optional: true }));
|
|
210
202
|
this.sub = this.refresh$
|
|
211
203
|
.pipe(throttleTime(0, tuiZonefreeScheduler()), takeUntilDestroyed())
|
|
@@ -213,33 +205,25 @@ class TuiDropdownDirective {
|
|
|
213
205
|
this.ref()?.changeDetectorRef.detectChanges();
|
|
214
206
|
this.ref()?.changeDetectorRef.markForCheck();
|
|
215
207
|
});
|
|
208
|
+
this.autoClose = effect(() => {
|
|
209
|
+
if (!this.content()) {
|
|
210
|
+
this.toggle(false);
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
this.ref = signal(null);
|
|
216
214
|
this.el = tuiInjectElement();
|
|
217
215
|
this.type = 'dropdown';
|
|
218
216
|
this.component = new PolymorpheusComponent(inject(TUI_DROPDOWN_COMPONENT), inject(INJECTOR));
|
|
219
|
-
this.
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
this._content.set(content instanceof TemplateRef
|
|
226
|
-
? new PolymorpheusTemplate(content, this.cdr)
|
|
227
|
-
: content);
|
|
228
|
-
if (!this._content()) {
|
|
229
|
-
this.toggle(false);
|
|
230
|
-
}
|
|
217
|
+
this.tuiDropdown = input();
|
|
218
|
+
this.content = computed((content = this.tuiDropdown()) => {
|
|
219
|
+
return content instanceof TemplateRef
|
|
220
|
+
? new PolymorpheusTemplate(content, this.cdr)
|
|
221
|
+
: content;
|
|
222
|
+
});
|
|
231
223
|
}
|
|
232
224
|
get position() {
|
|
233
225
|
return tuiCheckFixedPosition(this.el) ? 'fixed' : 'absolute';
|
|
234
226
|
}
|
|
235
|
-
// TODO(v5): delete
|
|
236
|
-
get content() {
|
|
237
|
-
return this._content();
|
|
238
|
-
}
|
|
239
|
-
// TODO(v5): delete
|
|
240
|
-
set content(x) {
|
|
241
|
-
this._content.set(x);
|
|
242
|
-
}
|
|
243
227
|
ngAfterViewChecked() {
|
|
244
228
|
this.refresh$.next();
|
|
245
229
|
}
|
|
@@ -251,31 +235,25 @@ class TuiDropdownDirective {
|
|
|
251
235
|
}
|
|
252
236
|
toggle(show) {
|
|
253
237
|
const ref = this.ref();
|
|
254
|
-
if (show && this.
|
|
238
|
+
if (show && this.content() && !ref) {
|
|
255
239
|
this.ref.set(this.service.add(this.component));
|
|
256
240
|
}
|
|
257
241
|
else if (!show && ref) {
|
|
258
242
|
this.ref.set(null);
|
|
259
243
|
ref.destroy();
|
|
260
244
|
}
|
|
261
|
-
this.drivers.forEach((driver) => driver?.next(show));
|
|
262
245
|
// TODO: Remove in v5, only needed in Angular 16
|
|
263
246
|
this.cdr.markForCheck();
|
|
247
|
+
this.drivers.forEach((driver) => driver?.next(show));
|
|
264
248
|
}
|
|
265
249
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
266
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
267
|
-
tuiAsRectAccessor(TuiDropdownDirective),
|
|
268
|
-
tuiAsVehicle(TuiDropdownDirective),
|
|
269
|
-
], exportAs: ["tuiDropdown"], hostDirectives: [{ directive: TuiDropdownDriverDirective }, { directive: TuiDropdownPosition, outputs: ["tuiDropdownDirectionChange", "tuiDropdownDirectionChange"] }], ngImport: i0 }); }
|
|
250
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiDropdownDirective, isStandalone: true, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: { tuiDropdown: { classPropertyName: "tuiDropdown", publicName: "tuiDropdown", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.tui-dropdown-open": "ref()" } }, providers: [tuiAsVehicle(TuiDropdownDirective)], exportAs: ["tuiDropdown"], hostDirectives: [{ directive: TuiDropdownDriverDirective }, { directive: TuiDropdownPosition, outputs: ["tuiDropdownDirectionChange", "tuiDropdownDirectionChange"] }], ngImport: i0 }); }
|
|
270
251
|
}
|
|
271
252
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownDirective, decorators: [{
|
|
272
253
|
type: Directive,
|
|
273
254
|
args: [{
|
|
274
255
|
selector: '[tuiDropdown]:not(ng-container):not(ng-template)',
|
|
275
|
-
providers: [
|
|
276
|
-
tuiAsRectAccessor(TuiDropdownDirective),
|
|
277
|
-
tuiAsVehicle(TuiDropdownDirective),
|
|
278
|
-
],
|
|
256
|
+
providers: [tuiAsVehicle(TuiDropdownDirective)],
|
|
279
257
|
exportAs: 'tuiDropdown',
|
|
280
258
|
hostDirectives: [
|
|
281
259
|
TuiDropdownDriverDirective,
|
|
@@ -288,9 +266,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
288
266
|
'[class.tui-dropdown-open]': 'ref()',
|
|
289
267
|
},
|
|
290
268
|
}]
|
|
291
|
-
}]
|
|
292
|
-
type: Input
|
|
293
|
-
}] } });
|
|
269
|
+
}] });
|
|
294
270
|
|
|
295
271
|
/**
|
|
296
272
|
* @description:
|
|
@@ -347,32 +323,32 @@ class TuiDropdownComponent {
|
|
|
347
323
|
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: [
|
|
348
324
|
TuiPositionService,
|
|
349
325
|
tuiPositionAccessorFor('dropdown', TuiDropdownPosition),
|
|
350
|
-
tuiRectAccessorFor('dropdown', TuiDropdownDirective),
|
|
351
|
-
], hostDirectives: [{ directive: i1.TuiActiveZone }, { directive: i2.TuiAnimated }], ngImport: i0, template: "<tui-scrollbar class=\"t-scroll\">\n <div\n *polymorpheusOutlet=\"directive.
|
|
326
|
+
tuiRectAccessorFor('dropdown', forwardRef(() => TuiDropdownDirective)),
|
|
327
|
+
], 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 }); }
|
|
352
328
|
}
|
|
353
329
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownComponent, decorators: [{
|
|
354
330
|
type: Component,
|
|
355
331
|
args: [{ selector: 'tui-dropdown', imports: [PolymorpheusOutlet, TuiScrollbar], changeDetection: ChangeDetectionStrategy.Default, providers: [
|
|
356
332
|
TuiPositionService,
|
|
357
333
|
tuiPositionAccessorFor('dropdown', TuiDropdownPosition),
|
|
358
|
-
tuiRectAccessorFor('dropdown', TuiDropdownDirective),
|
|
334
|
+
tuiRectAccessorFor('dropdown', forwardRef(() => TuiDropdownDirective)),
|
|
359
335
|
], hostDirectives: [TuiActiveZone, TuiAnimated], host: {
|
|
360
336
|
'[attr.data-appearance]': 'options.appearance',
|
|
361
337
|
'[attr.tuiTheme]': 'theme()',
|
|
362
|
-
}, template: "<tui-scrollbar class=\"t-scroll\">\n <div\n *polymorpheusOutlet=\"directive.
|
|
338
|
+
}, 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"] }]
|
|
363
339
|
}] });
|
|
364
340
|
|
|
365
341
|
class TuiDropdownContent {
|
|
366
342
|
constructor() {
|
|
367
343
|
this.directive = inject(TuiDropdownDirective);
|
|
368
|
-
this.directive.tuiDropdown
|
|
344
|
+
tuiSetSignal(this.directive.tuiDropdown, inject(TemplateRef));
|
|
369
345
|
if (isPlatformBrowser(inject(PLATFORM_ID)) &&
|
|
370
346
|
this.directive.el.matches(':focus-within')) {
|
|
371
347
|
this.directive.toggle(true);
|
|
372
348
|
}
|
|
373
349
|
}
|
|
374
350
|
ngOnDestroy() {
|
|
375
|
-
this.directive.tuiDropdown
|
|
351
|
+
tuiSetSignal(this.directive.tuiDropdown, null);
|
|
376
352
|
}
|
|
377
353
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
378
354
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownContent, isStandalone: true, selector: "ng-template[tuiDropdown]", ngImport: i0 }); }
|
|
@@ -452,48 +428,40 @@ const TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS = {
|
|
|
452
428
|
/**
|
|
453
429
|
* Default parameters for dropdown hover directive
|
|
454
430
|
*/
|
|
455
|
-
const TUI_DROPDOWN_HOVER_OPTIONS =
|
|
456
|
-
factory: () => TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS,
|
|
457
|
-
});
|
|
458
|
-
function tuiDropdownHoverOptionsProvider(options) {
|
|
459
|
-
return tuiProvideOptions(TUI_DROPDOWN_HOVER_OPTIONS, options, TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS);
|
|
460
|
-
}
|
|
431
|
+
const [TUI_DROPDOWN_HOVER_OPTIONS, tuiDropdownHoverOptionsProvider] = tuiCreateOptions(TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS);
|
|
461
432
|
|
|
462
433
|
function shouldClose(event) {
|
|
463
434
|
return (
|
|
464
435
|
// @ts-ignore
|
|
465
436
|
typeof CloseWatcher === 'undefined' &&
|
|
466
|
-
// ?. for
|
|
437
|
+
// ?. for autofill events
|
|
467
438
|
event.key?.toLowerCase() === 'escape' &&
|
|
468
|
-
this.
|
|
469
|
-
|
|
439
|
+
this.enabled() &&
|
|
440
|
+
this.open() &&
|
|
470
441
|
!this['dropdown']()?.nextElementSibling);
|
|
471
442
|
}
|
|
472
443
|
class TuiDropdownOpen {
|
|
473
444
|
constructor() {
|
|
445
|
+
this.dropdownHost = contentChild('tuiDropdownHost', {
|
|
446
|
+
descendants: true,
|
|
447
|
+
read: ElementRef,
|
|
448
|
+
});
|
|
474
449
|
this.directive = inject(TuiDropdownDirective);
|
|
475
450
|
this.el = tuiInjectElement();
|
|
476
451
|
this.obscured = inject(TuiObscured);
|
|
477
452
|
this.activeZone = inject(TuiActiveZone);
|
|
478
|
-
this.dropdown = computed(() => this.directive.ref()?.location.nativeElement);
|
|
479
|
-
this.tuiDropdownEnabled = true;
|
|
480
|
-
this.tuiDropdownOpen = false;
|
|
481
|
-
this.tuiDropdownOpenChange = new EventEmitter();
|
|
482
|
-
// TODO: make it private when all legacy controls will be deleted from @taiga-ui/legacy (5.0)
|
|
483
453
|
this.driver = inject(TuiDropdownDriver);
|
|
484
|
-
this.
|
|
485
|
-
|
|
454
|
+
this.dropdown = computed(() => this.directive.ref()?.location.nativeElement);
|
|
455
|
+
this.enabled = input(true, { alias: 'tuiDropdownEnabled' });
|
|
456
|
+
this.open = model(false, { alias: 'tuiDropdownOpen' });
|
|
457
|
+
this.driveEffect = effect(() => this.drive(this.open()));
|
|
458
|
+
this.syncSub = this.driver
|
|
459
|
+
.pipe(filter((open) => open !== this.open()), takeUntilDestroyed())
|
|
460
|
+
.subscribe((open) => this.update(open));
|
|
461
|
+
this.closeSub = this.driver
|
|
462
|
+
.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)) ||
|
|
486
463
|
!this.directive.ref())))), tuiZonefull(), tuiWatch(), takeUntilDestroyed())
|
|
487
464
|
.subscribe(() => this.toggle(false));
|
|
488
|
-
this.sync = this.driver.pipe(takeUntilDestroyed()).subscribe((open) => {
|
|
489
|
-
if (open !== this.tuiDropdownOpen) {
|
|
490
|
-
this.update(open);
|
|
491
|
-
}
|
|
492
|
-
});
|
|
493
|
-
}
|
|
494
|
-
ngOnChanges() {
|
|
495
|
-
this.drive(!!this.tuiDropdownOpen);
|
|
496
|
-
this.tuiDropdownOpenChange.emit(!!this.tuiDropdownOpen);
|
|
497
465
|
}
|
|
498
466
|
toggle(open) {
|
|
499
467
|
if (this.focused && !open) {
|
|
@@ -507,14 +475,14 @@ class TuiDropdownOpen {
|
|
|
507
475
|
}
|
|
508
476
|
onClick(target) {
|
|
509
477
|
if (!this.editable && this.host.contains(target)) {
|
|
510
|
-
this.update(!this.
|
|
478
|
+
this.update(!this.open());
|
|
511
479
|
}
|
|
512
480
|
}
|
|
513
481
|
onArrow(event, up) {
|
|
514
482
|
if (!tuiIsElement(event.target) ||
|
|
515
483
|
!this.host.contains(event.target) ||
|
|
516
|
-
!this.
|
|
517
|
-
!this.directive.
|
|
484
|
+
!this.enabled() ||
|
|
485
|
+
!this.directive.content()) {
|
|
518
486
|
return;
|
|
519
487
|
}
|
|
520
488
|
event.preventDefault();
|
|
@@ -532,11 +500,11 @@ class TuiDropdownOpen {
|
|
|
532
500
|
}
|
|
533
501
|
}
|
|
534
502
|
get host() {
|
|
535
|
-
const initial = this.dropdownHost?.nativeElement || this.el;
|
|
536
|
-
const focusable =
|
|
503
|
+
const initial = this.dropdownHost()?.nativeElement || this.el;
|
|
504
|
+
const focusable = tuiIsFocusable(initial)
|
|
537
505
|
? initial
|
|
538
506
|
: tuiGetClosestFocusable({ initial, root: this.el });
|
|
539
|
-
return this.dropdownHost?.nativeElement || focusable || this.el;
|
|
507
|
+
return this.dropdownHost()?.nativeElement || focusable || this.el;
|
|
540
508
|
}
|
|
541
509
|
get editable() {
|
|
542
510
|
return tuiIsElementEditable(this.host);
|
|
@@ -545,15 +513,14 @@ class TuiDropdownOpen {
|
|
|
545
513
|
return tuiIsFocusedIn(this.host) || tuiIsFocusedIn(this.dropdown());
|
|
546
514
|
}
|
|
547
515
|
update(open) {
|
|
548
|
-
if (open && !this.
|
|
516
|
+
if (open && !this.enabled()) {
|
|
549
517
|
return this.drive();
|
|
550
518
|
}
|
|
551
|
-
this.
|
|
552
|
-
this.tuiDropdownOpenChange.emit(open);
|
|
519
|
+
this.open.set(open);
|
|
553
520
|
this.drive();
|
|
554
521
|
}
|
|
555
|
-
drive(open =
|
|
556
|
-
this.obscured.tuiObscuredEnabled
|
|
522
|
+
drive(open = this.open() && this.enabled()) {
|
|
523
|
+
tuiSetSignal(this.obscured.tuiObscuredEnabled, open);
|
|
557
524
|
this.driver.next(open);
|
|
558
525
|
}
|
|
559
526
|
focusDropdown(previous) {
|
|
@@ -570,7 +537,7 @@ class TuiDropdownOpen {
|
|
|
570
537
|
focusable?.focus();
|
|
571
538
|
}
|
|
572
539
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOpen, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
573
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
540
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.15", type: TuiDropdownOpen, isStandalone: true, selector: "[tuiDropdown][tuiDropdownAuto],[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: { enabled: { classPropertyName: "enabled", publicName: "tuiDropdownEnabled", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "tuiDropdownOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "tuiDropdownOpenChange" }, host: { listeners: { "click": "onClick($event.target)", "keydown.arrowDown": "onArrow($event, false)", "keydown.arrowUp": "onArrow($event, true)", "document:keydown.zoneless.capture": "onEsc($event)", "document:keydown.zoneless": "onKeydown($event)", "tuiActiveZoneChange": "0" } }, providers: [TuiDropdownDriver, tuiAsDriver(TuiDropdownDriver)], queries: [{ propertyName: "dropdownHost", first: true, predicate: ["tuiDropdownHost"], descendants: true, read: ElementRef, isSignal: true }], hostDirectives: [{ directive: i1$1.TuiObscured }, { directive: i1.TuiActiveZone, inputs: ["tuiActiveZoneParent", "tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange", "tuiActiveZoneChange"] }], ngImport: i0 }); }
|
|
574
541
|
}
|
|
575
542
|
__decorate([
|
|
576
543
|
shouldCall(shouldClose)
|
|
@@ -578,7 +545,7 @@ __decorate([
|
|
|
578
545
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOpen, decorators: [{
|
|
579
546
|
type: Directive,
|
|
580
547
|
args: [{
|
|
581
|
-
selector: '[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]',
|
|
548
|
+
selector: '[tuiDropdown][tuiDropdownAuto],[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]',
|
|
582
549
|
providers: [TuiDropdownDriver, tuiAsDriver(TuiDropdownDriver)],
|
|
583
550
|
hostDirectives: [
|
|
584
551
|
TuiObscured,
|
|
@@ -598,37 +565,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
598
565
|
'(tuiActiveZoneChange)': '0',
|
|
599
566
|
},
|
|
600
567
|
}]
|
|
601
|
-
}], propDecorators: {
|
|
602
|
-
type: ContentChild,
|
|
603
|
-
args: ['tuiDropdownHost', { descendants: true, read: ElementRef }]
|
|
604
|
-
}], tuiDropdownEnabled: [{
|
|
605
|
-
type: Input
|
|
606
|
-
}], tuiDropdownOpen: [{
|
|
607
|
-
type: Input
|
|
608
|
-
}], tuiDropdownOpenChange: [{
|
|
609
|
-
type: Output
|
|
610
|
-
}], onEsc: [] } });
|
|
568
|
+
}], propDecorators: { onEsc: [] } });
|
|
611
569
|
|
|
612
570
|
class TuiDropdownHover extends TuiDriver {
|
|
613
571
|
constructor() {
|
|
614
572
|
super((subscriber) => this.stream$.subscribe(subscriber));
|
|
573
|
+
this.dropdownHost = contentChild('tuiDropdownHost', {
|
|
574
|
+
descendants: true,
|
|
575
|
+
read: ElementRef,
|
|
576
|
+
});
|
|
577
|
+
this.hovered = false;
|
|
615
578
|
this.el = tuiInjectElement();
|
|
616
579
|
this.doc = inject(DOCUMENT);
|
|
617
580
|
this.options = inject(TUI_DROPDOWN_HOVER_OPTIONS);
|
|
618
581
|
this.activeZone = inject(TuiActiveZone);
|
|
619
582
|
this.open = inject(TuiDropdownOpen, { optional: true });
|
|
583
|
+
this.stream$ = merge(
|
|
620
584
|
/**
|
|
621
585
|
* Dropdown can be removed not only via click/touch –
|
|
622
586
|
* swipe on mobile devices removes dropdown sheet without triggering new mouseover / mouseout events.
|
|
623
587
|
*/
|
|
624
|
-
|
|
625
|
-
this.stream$ = merge(this.dropdownExternalRemoval$.pipe(switchMap(() => tuiTypedFromEvent(this.doc, 'pointerdown').pipe(map(tuiGetActualTarget), delay(this.hideDelay), startWith(null), takeUntil(fromEvent(this.doc, 'mouseover'))))), tuiTypedFromEvent(this.doc, 'mouseover').pipe(map(tuiGetActualTarget)), tuiTypedFromEvent(this.doc, 'mouseout').pipe(map((e) => e.relatedTarget))).pipe(map((element) => tuiIsElement(element) && this.isHovered(element)), distinctUntilChanged(), switchMap((v) => of(v).pipe(delay(v ? this.showDelay : this.hideDelay))), tuiZoneOptimized(), tap((hovered) => {
|
|
588
|
+
toObservable(inject(TuiDropdownDirective).ref).pipe(filter((x) => !x && this.hovered), switchMap(() => tuiTypedFromEvent(this.doc, 'pointerdown').pipe(map(tuiGetActualTarget), delay(this.tuiDropdownHideDelay()), startWith(null), takeUntil(fromEvent(this.doc, 'mouseover'))))), tuiTypedFromEvent(this.doc, 'mouseover').pipe(map(tuiGetActualTarget)), tuiTypedFromEvent(this.doc, 'mouseout').pipe(map((e) => e.relatedTarget))).pipe(map((element) => tuiIsElement(element) && this.isHovered(element)), distinctUntilChanged(), switchMap((v) => of(v).pipe(delay(v ? this.tuiDropdownShowDelay() : this.tuiDropdownHideDelay()))), tuiZoneOptimized(), tap((hovered) => {
|
|
626
589
|
this.hovered = hovered;
|
|
627
590
|
this.open?.toggle(hovered);
|
|
628
591
|
}), share());
|
|
629
|
-
this.
|
|
630
|
-
this.
|
|
631
|
-
this.hovered = false;
|
|
592
|
+
this.tuiDropdownShowDelay = input(this.options.showDelay);
|
|
593
|
+
this.tuiDropdownHideDelay = input(this.options.hideDelay);
|
|
632
594
|
this.type = 'dropdown';
|
|
633
595
|
}
|
|
634
596
|
onClick(event) {
|
|
@@ -637,13 +599,13 @@ class TuiDropdownHover extends TuiDriver {
|
|
|
637
599
|
}
|
|
638
600
|
}
|
|
639
601
|
isHovered(element) {
|
|
640
|
-
const host = this.dropdownHost?.nativeElement || this.el;
|
|
602
|
+
const host = this.dropdownHost()?.nativeElement || this.el;
|
|
641
603
|
const hovered = host.contains(element);
|
|
642
604
|
const child = !this.el.contains(element) && this.activeZone.contains(element);
|
|
643
605
|
return hovered || child;
|
|
644
606
|
}
|
|
645
607
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownHover, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
646
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
608
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.15", type: TuiDropdownHover, isStandalone: true, selector: "[tuiDropdownHover]", inputs: { tuiDropdownShowDelay: { classPropertyName: "tuiDropdownShowDelay", publicName: "tuiDropdownShowDelay", isSignal: true, isRequired: false, transformFunction: null }, tuiDropdownHideDelay: { classPropertyName: "tuiDropdownHideDelay", publicName: "tuiDropdownHideDelay", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click.capture": "onClick($event)" } }, providers: [TuiActiveZone, tuiAsDriver(TuiDropdownHover)], queries: [{ propertyName: "dropdownHost", first: true, predicate: ["tuiDropdownHost"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0 }); }
|
|
647
609
|
}
|
|
648
610
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownHover, decorators: [{
|
|
649
611
|
type: Directive,
|
|
@@ -654,27 +616,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
654
616
|
'(click.capture)': 'onClick($event)',
|
|
655
617
|
},
|
|
656
618
|
}]
|
|
657
|
-
}], ctorParameters: () => []
|
|
658
|
-
type: ContentChild,
|
|
659
|
-
args: ['tuiDropdownHost', { descendants: true, read: ElementRef }]
|
|
660
|
-
}], showDelay: [{
|
|
661
|
-
type: Input,
|
|
662
|
-
args: ['tuiDropdownShowDelay']
|
|
663
|
-
}], hideDelay: [{
|
|
664
|
-
type: Input,
|
|
665
|
-
args: ['tuiDropdownHideDelay']
|
|
666
|
-
}] } });
|
|
619
|
+
}], ctorParameters: () => [] });
|
|
667
620
|
|
|
668
621
|
class TuiDropdownManual {
|
|
669
622
|
constructor() {
|
|
670
623
|
this.driver = inject(TuiDropdownDriver);
|
|
671
|
-
this.tuiDropdownManual = false;
|
|
624
|
+
this.tuiDropdownManual = input(false);
|
|
672
625
|
}
|
|
673
626
|
ngOnChanges() {
|
|
674
|
-
this.driver.next(!!this.tuiDropdownManual);
|
|
627
|
+
this.driver.next(!!this.tuiDropdownManual());
|
|
675
628
|
}
|
|
676
629
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownManual, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
677
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
630
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiDropdownManual, isStandalone: true, selector: "[tuiDropdownManual]", inputs: { tuiDropdownManual: { classPropertyName: "tuiDropdownManual", publicName: "tuiDropdownManual", isSignal: true, isRequired: false, transformFunction: null } }, providers: [TuiDropdownDriver, tuiAsDriver(TuiDropdownDriver)], usesOnChanges: true, ngImport: i0 }); }
|
|
678
631
|
}
|
|
679
632
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownManual, decorators: [{
|
|
680
633
|
type: Directive,
|
|
@@ -682,37 +635,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
682
635
|
selector: '[tuiDropdownManual]',
|
|
683
636
|
providers: [TuiDropdownDriver, tuiAsDriver(TuiDropdownDriver)],
|
|
684
637
|
}]
|
|
685
|
-
}]
|
|
686
|
-
type: Input
|
|
687
|
-
}] } });
|
|
688
|
-
|
|
689
|
-
/**
|
|
690
|
-
* @deprecated TODO: remove in v.5 when legacy controls are dropped
|
|
691
|
-
*/
|
|
692
|
-
class TuiDropdownOpenLegacy {
|
|
693
|
-
constructor() {
|
|
694
|
-
this.openStateSub = new Subject();
|
|
695
|
-
this.tuiDropdownOpenChange = this.openStateSub.pipe(distinctUntilChanged());
|
|
696
|
-
}
|
|
697
|
-
set tuiDropdownOpen(open) {
|
|
698
|
-
this.emitOpenChange(open);
|
|
699
|
-
}
|
|
700
|
-
emitOpenChange(open) {
|
|
701
|
-
this.openStateSub.next(open);
|
|
702
|
-
}
|
|
703
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOpenLegacy, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
704
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownOpenLegacy, isStandalone: true, selector: "[tuiDropdownOpen]:not([tuiDropdown]),[tuiDropdownOpenChange]:not([tuiDropdown])", inputs: { tuiDropdownOpen: "tuiDropdownOpen" }, outputs: { tuiDropdownOpenChange: "tuiDropdownOpenChange" }, ngImport: i0 }); }
|
|
705
|
-
}
|
|
706
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOpenLegacy, decorators: [{
|
|
707
|
-
type: Directive,
|
|
708
|
-
args: [{
|
|
709
|
-
selector: '[tuiDropdownOpen]:not([tuiDropdown]),[tuiDropdownOpenChange]:not([tuiDropdown])',
|
|
710
|
-
}]
|
|
711
|
-
}], propDecorators: { tuiDropdownOpenChange: [{
|
|
712
|
-
type: Output
|
|
713
|
-
}], tuiDropdownOpen: [{
|
|
714
|
-
type: Input
|
|
715
|
-
}] } });
|
|
638
|
+
}] });
|
|
716
639
|
|
|
717
640
|
class TuiDropdownPositionSided extends TuiPositionAccessor {
|
|
718
641
|
constructor() {
|
|
@@ -721,12 +644,12 @@ class TuiDropdownPositionSided extends TuiPositionAccessor {
|
|
|
721
644
|
this.viewport = inject(TUI_VIEWPORT);
|
|
722
645
|
this.vertical = inject(TuiDropdownPosition);
|
|
723
646
|
this.previous = this.options.direction || 'bottom';
|
|
724
|
-
this.tuiDropdownSided = '';
|
|
725
|
-
this.tuiDropdownSidedOffset = 4;
|
|
647
|
+
this.tuiDropdownSided = input('');
|
|
648
|
+
this.tuiDropdownSidedOffset = input(4);
|
|
726
649
|
this.type = 'dropdown';
|
|
727
650
|
}
|
|
728
651
|
getPosition(rect) {
|
|
729
|
-
if (this.tuiDropdownSided === false) {
|
|
652
|
+
if (this.tuiDropdownSided() === false) {
|
|
730
653
|
return this.vertical.getPosition(rect);
|
|
731
654
|
}
|
|
732
655
|
const { height, width } = rect;
|
|
@@ -742,25 +665,25 @@ class TuiDropdownPositionSided extends TuiPositionAccessor {
|
|
|
742
665
|
bottom: viewport.bottom - hostRect.top,
|
|
743
666
|
};
|
|
744
667
|
const position = {
|
|
745
|
-
top: hostRect.bottom - height + this.tuiDropdownSidedOffset + 1, // 1 for border
|
|
668
|
+
top: hostRect.bottom - height + this.tuiDropdownSidedOffset() + 1, // 1 for border
|
|
746
669
|
left: hostRect.left - width - offset,
|
|
747
670
|
right: hostRect.right + offset,
|
|
748
|
-
bottom: hostRect.top - this.tuiDropdownSidedOffset - 1, // 1 for border
|
|
671
|
+
bottom: hostRect.top - this.tuiDropdownSidedOffset() - 1, // 1 for border
|
|
749
672
|
};
|
|
750
673
|
const better = available.top > available.bottom ? 'top' : 'bottom';
|
|
751
674
|
const maxLeft = available.left > available.right ? position.left : position.right;
|
|
752
675
|
const left = available[align] > width ? position[align] : maxLeft;
|
|
753
676
|
if ((available[this.previous] > height && direction) ||
|
|
754
677
|
this.previous === better) {
|
|
755
|
-
this.vertical.
|
|
678
|
+
this.vertical.direction.next(this.previous);
|
|
756
679
|
return [position[this.previous], left];
|
|
757
680
|
}
|
|
758
681
|
this.previous = better;
|
|
759
|
-
this.vertical.
|
|
682
|
+
this.vertical.direction.next(better);
|
|
760
683
|
return [position[better], left];
|
|
761
684
|
}
|
|
762
685
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPositionSided, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
763
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
686
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiDropdownPositionSided, isStandalone: true, selector: "[tuiDropdownSided]", inputs: { tuiDropdownSided: { classPropertyName: "tuiDropdownSided", publicName: "tuiDropdownSided", isSignal: true, isRequired: false, transformFunction: null }, tuiDropdownSidedOffset: { classPropertyName: "tuiDropdownSidedOffset", publicName: "tuiDropdownSidedOffset", isSignal: true, isRequired: false, transformFunction: null } }, providers: [TuiDropdownPosition, tuiAsPositionAccessor(TuiDropdownPositionSided)], usesInheritance: true, ngImport: i0 }); }
|
|
764
687
|
}
|
|
765
688
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPositionSided, decorators: [{
|
|
766
689
|
type: Directive,
|
|
@@ -768,11 +691,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
768
691
|
selector: '[tuiDropdownSided]',
|
|
769
692
|
providers: [TuiDropdownPosition, tuiAsPositionAccessor(TuiDropdownPositionSided)],
|
|
770
693
|
}]
|
|
771
|
-
}]
|
|
772
|
-
type: Input
|
|
773
|
-
}], tuiDropdownSidedOffset: [{
|
|
774
|
-
type: Input
|
|
775
|
-
}] } });
|
|
694
|
+
}] });
|
|
776
695
|
|
|
777
696
|
class TuiDropdownSelection extends TuiDriver {
|
|
778
697
|
constructor() {
|
|
@@ -781,9 +700,9 @@ class TuiDropdownSelection extends TuiDriver {
|
|
|
781
700
|
this.vcr = inject(ViewContainerRef);
|
|
782
701
|
this.dropdown = inject(TuiDropdownDirective);
|
|
783
702
|
this.el = tuiInjectElement();
|
|
784
|
-
this.handler
|
|
703
|
+
this.handler = computed((visible = this.tuiDropdownSelection()) => tuiIsString(visible) ? TUI_TRUE_HANDLER : visible);
|
|
785
704
|
this.stream$ = combineLatest([
|
|
786
|
-
this.handler
|
|
705
|
+
toObservable(this.handler),
|
|
787
706
|
inject(TUI_SELECTION_STREAM).pipe(map(() => this.getRange()), filter((range) => this.isValid(range)), distinctUntilChanged((x, y) => x.startOffset === y.startOffset &&
|
|
788
707
|
x.endOffset === y.endOffset &&
|
|
789
708
|
x.commonAncestorContainer === y.commonAncestorContainer)),
|
|
@@ -795,17 +714,15 @@ class TuiDropdownSelection extends TuiDriver {
|
|
|
795
714
|
: this.range;
|
|
796
715
|
return (contained && handler(this.range)) || this.inDropdown(range);
|
|
797
716
|
}));
|
|
798
|
-
this.range = inject(
|
|
799
|
-
|
|
717
|
+
this.range = isPlatformBrowser(inject(PLATFORM_ID))
|
|
718
|
+
? new Range()
|
|
719
|
+
: {};
|
|
800
720
|
this.type = 'dropdown';
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
if (!tuiIsString(visible)) {
|
|
804
|
-
this.handler$.next(visible);
|
|
805
|
-
}
|
|
721
|
+
this.tuiDropdownSelection = input('');
|
|
722
|
+
this.tuiDropdownSelectionPosition = input('selection');
|
|
806
723
|
}
|
|
807
724
|
getClientRect() {
|
|
808
|
-
switch (this.
|
|
725
|
+
switch (this.tuiDropdownSelectionPosition()) {
|
|
809
726
|
case 'tag': {
|
|
810
727
|
const { commonAncestorContainer } = this.range;
|
|
811
728
|
const element = tuiIsElement(commonAncestorContainer)
|
|
@@ -897,7 +814,7 @@ class TuiDropdownSelection extends TuiDriver {
|
|
|
897
814
|
return ghost;
|
|
898
815
|
}
|
|
899
816
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownSelection, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
900
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
817
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiDropdownSelection, isStandalone: true, selector: "[tuiDropdownSelection]", inputs: { tuiDropdownSelection: { classPropertyName: "tuiDropdownSelection", publicName: "tuiDropdownSelection", isSignal: true, isRequired: false, transformFunction: null }, tuiDropdownSelectionPosition: { classPropertyName: "tuiDropdownSelectionPosition", publicName: "tuiDropdownSelectionPosition", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
901
818
|
tuiAsDriver(TuiDropdownSelection),
|
|
902
819
|
tuiAsRectAccessor(TuiDropdownSelection),
|
|
903
820
|
], usesInheritance: true, ngImport: i0 }); }
|
|
@@ -911,12 +828,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
911
828
|
tuiAsRectAccessor(TuiDropdownSelection),
|
|
912
829
|
],
|
|
913
830
|
}]
|
|
914
|
-
}], ctorParameters: () => []
|
|
915
|
-
type: Input,
|
|
916
|
-
args: ['tuiDropdownSelectionPosition']
|
|
917
|
-
}], tuiDropdownSelection: [{
|
|
918
|
-
type: Input
|
|
919
|
-
}] } });
|
|
831
|
+
}], ctorParameters: () => [] });
|
|
920
832
|
|
|
921
833
|
const TuiDropdown = [
|
|
922
834
|
TuiDropdownOptionsDirective,
|
|
@@ -924,7 +836,6 @@ const TuiDropdown = [
|
|
|
924
836
|
TuiDropdownDirective,
|
|
925
837
|
TuiDropdownComponent,
|
|
926
838
|
TuiDropdownOpen,
|
|
927
|
-
TuiDropdownOpenLegacy,
|
|
928
839
|
TuiDropdownManual,
|
|
929
840
|
TuiDropdownHover,
|
|
930
841
|
TuiDropdownContent,
|
|
@@ -938,14 +849,7 @@ function tuiDropdown(value) {
|
|
|
938
849
|
return tuiDirectiveBinding(TuiDropdownDirective, 'tuiDropdown', value, {});
|
|
939
850
|
}
|
|
940
851
|
function tuiDropdownEnabled(value) {
|
|
941
|
-
return tuiDirectiveBinding(TuiDropdownOpen, '
|
|
942
|
-
}
|
|
943
|
-
function tuiDropdownOpen() {
|
|
944
|
-
const open = tuiDirectiveBinding(TuiDropdownOpen, 'tuiDropdownOpen', false, {});
|
|
945
|
-
inject(TuiDropdownOpen)
|
|
946
|
-
.tuiDropdownOpenChange.pipe(takeUntilDestroyed())
|
|
947
|
-
.subscribe((value) => open.set(value));
|
|
948
|
-
return open;
|
|
852
|
+
return tuiDirectiveBinding(TuiDropdownOpen, 'enabled', value, {});
|
|
949
853
|
}
|
|
950
854
|
|
|
951
855
|
class TuiDropdownFixed {
|
|
@@ -998,5 +902,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
998
902
|
* Generated bundle index. Do not edit.
|
|
999
903
|
*/
|
|
1000
904
|
|
|
1001
|
-
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,
|
|
1002
|
-
//# sourceMappingURL=taiga-ui-core-
|
|
905
|
+
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, TuiDropdownOptionsDirective, TuiDropdownPosition, TuiDropdownPositionSided, TuiDropdownSelection, TuiWithDropdownOpen, tuiDropdown, tuiDropdownEnabled, tuiDropdownHoverOptionsProvider, tuiDropdownOptionsProvider };
|
|
906
|
+
//# sourceMappingURL=taiga-ui-core-portals-dropdown.mjs.map
|