@taiga-ui/core 3.16.0-dev.main-0ee0b72 → 3.16.0-dev.main-ed878e6

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.
@@ -261,6 +261,7 @@ class TuiDropdownComponent {
261
261
  position$.pipe(takeUntil(destroy$)).subscribe(([top, left]) => {
262
262
  this.update(top, left);
263
263
  });
264
+ this.updateWidth();
264
265
  }
265
266
  ngOnDestroy() {
266
267
  this.onHoveredChange(false);
@@ -279,7 +280,7 @@ class TuiDropdownComponent {
279
280
  update(top, left) {
280
281
  const { style } = this.elementRef.nativeElement;
281
282
  const { right } = this.elementRef.nativeElement.getBoundingClientRect();
282
- const { limitWidth, maxHeight, offset } = this.options;
283
+ const { maxHeight, offset } = this.options;
283
284
  const { innerHeight } = this.windowRef;
284
285
  const { clientRect } = this.host;
285
286
  const { position } = this.directive;
@@ -298,6 +299,12 @@ class TuiDropdownComponent {
298
299
  style.maxHeight = tuiPx(Math.min(maxHeight, available));
299
300
  style.width = '';
300
301
  style.minWidth = '';
302
+ this.updateWidth();
303
+ }
304
+ updateWidth() {
305
+ const { style } = this.elementRef.nativeElement;
306
+ const rect = this.accessor.getClientRect();
307
+ const { limitWidth } = this.options;
301
308
  switch (limitWidth) {
302
309
  case 'min':
303
310
  style.minWidth = tuiPx(rect.width);
@@ -318,7 +325,7 @@ class TuiDropdownComponent {
318
325
  }
319
326
  }
320
327
  TuiDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDropdownComponent, deps: [{ token: TuiPositionService }, { token: TuiDestroyService, self: true }, { token: TuiDropdownDirective }, { token: ElementRef }, { token: AbstractTuiPortalHostComponent }, { token: TuiRectAccessor }, { token: WINDOW }, { token: TUI_ANIMATION_OPTIONS }, { token: TUI_DROPDOWN_OPTIONS }, { token: TuiDropdownHoverDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
321
- TuiDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownComponent, selector: "tui-dropdown", host: { properties: { "@tuiDropdownAnimation": "this.dropdownAnimation" } }, providers: [TuiDestroyService, TuiPositionService], ngImport: i0, template: "<div\n #activeZone=\"tuiActiveZone\"\n tuiActiveZone\n tuiOverscroll=\"all\"\n class=\"t-wrapper\"\n [tuiMode]=\"null\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n>\n <tui-scrollbar class=\"t-scroll\">\n <div\n tabindex=\"0\"\n (focus)=\"onTopFocus()\"\n ></div>\n <div\n *polymorpheusOutlet=\"directive.content as text; context: {$implicit: activeZone}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n <div\n tabindex=\"0\"\n (focus)=\"onBottomFocus()\"\n ></div>\n </tui-scrollbar>\n</div>\n", styles: [":host{position:relative;z-index:0;box-shadow:0 1.5rem 1rem rgba(0,0,0,.03),0 .75rem .75rem rgba(0,0,0,.04),0 .25rem .375rem rgba(0,0,0,.05);position:absolute;display:flex;background-color:var(--tui-elevation-01);border-radius:var(--tui-radius-m);overflow:hidden;border:1px solid var(--tui-base-04);box-sizing:border-box;max-width:calc(100% - 8px)}:host.ng-animating{pointer-events:none}.t-wrapper{flex-grow:1;max-width:100%;max-height:inherit;overflow:visible}.t-scroll{height:100%}.t-primitive{padding:1rem}\n"], components: [{ type: i1$1.TuiScrollbarComponent, selector: "tui-scrollbar", inputs: ["hidden"] }], directives: [{ type: i2.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i2.TuiOverscrollDirective, selector: "[tuiOverscroll]", inputs: ["tuiOverscroll"] }, { type: i3.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i2.TuiHoveredDirective, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { type: i1.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [tuiDropdownAnimation], changeDetection: i0.ChangeDetectionStrategy.Default });
328
+ TuiDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownComponent, selector: "tui-dropdown", host: { properties: { "@tuiDropdownAnimation": "this.dropdownAnimation" } }, providers: [TuiDestroyService, TuiPositionService], ngImport: i0, template: "<div\n #activeZone=\"tuiActiveZone\"\n tuiActiveZone\n tuiOverscroll=\"all\"\n class=\"t-wrapper\"\n [tuiMode]=\"null\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n>\n <tui-scrollbar class=\"t-scroll\">\n <div\n tabindex=\"0\"\n (focus)=\"onTopFocus()\"\n ></div>\n <div\n *polymorpheusOutlet=\"directive.content as text; context: {$implicit: activeZone}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n <div\n tabindex=\"0\"\n (focus)=\"onBottomFocus()\"\n ></div>\n </tui-scrollbar>\n</div>\n", styles: [":host{position:relative;z-index:0;box-shadow:0 1.5rem 1rem rgba(0,0,0,.03),0 .75rem .75rem rgba(0,0,0,.04),0 .25rem .375rem rgba(0,0,0,.05);position:absolute;display:flex;background-color:var(--tui-elevation-01);border-radius:var(--tui-radius-m);overflow:hidden;border:1px solid var(--tui-base-04);box-sizing:border-box;max-width:calc(100% - 8px)}:host.ng-animating{pointer-events:none}:host:not([style*=\"top\"]){visibility:hidden}.t-wrapper{flex-grow:1;max-width:100%;max-height:inherit;overflow:visible}.t-scroll{height:100%}.t-primitive{padding:1rem}\n"], components: [{ type: i1$1.TuiScrollbarComponent, selector: "tui-scrollbar", inputs: ["hidden"] }], directives: [{ type: i2.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i2.TuiOverscrollDirective, selector: "[tuiOverscroll]", inputs: ["tuiOverscroll"] }, { type: i3.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i2.TuiHoveredDirective, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { type: i1.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [tuiDropdownAnimation], changeDetection: i0.ChangeDetectionStrategy.Default });
322
329
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDropdownComponent, decorators: [{
323
330
  type: Component,
324
331
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-dropdown.js","sources":["../../../projects/core/directives/dropdown/dropdown.providers.ts","../../../projects/core/directives/dropdown/dropdown.directive.ts","../../../projects/core/directives/dropdown/dropdown-hover.directive.ts","../../../projects/core/directives/dropdown/dropdown-options.directive.ts","../../../projects/core/directives/dropdown/dropdown.component.ts","../../../projects/core/directives/dropdown/dropdown.template.html","../../../projects/core/directives/dropdown/dropdown-context.directive.ts","../../../projects/core/directives/dropdown/dropdown-driver.directive.ts","../../../projects/core/directives/dropdown/dropdown-host.directive.ts","../../../projects/core/directives/dropdown/dropdown-manual.directive.ts","../../../projects/core/directives/dropdown/dropdown-position.directive.ts","../../../projects/core/directives/dropdown/dropdown-position-sided.directive.ts","../../../projects/core/directives/dropdown/dropdown-selection.directive.ts","../../../projects/core/directives/dropdown/dropdown.module.ts","../../../projects/core/directives/dropdown/taiga-ui-core-directives-dropdown.ts"],"sourcesContent":["import {InjectionToken, Type} from '@angular/core';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDropdownComponent} from './dropdown.component';\n\nexport const TUI_DROPDOWN_COMPONENT = new InjectionToken<Type<any>>(\n `[TUI_DROPDOWN_COMPONENT] A component to display a dropdown`,\n {\n factory: () => TuiDropdownComponent,\n },\n);\n","import {\n AfterViewChecked,\n ComponentRef,\n Directive,\n ElementRef,\n Inject,\n INJECTOR,\n Input,\n OnChanges,\n OnDestroy,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiDropdownPortalService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsRectAccessor,\n tuiAsVehicle,\n TuiRectAccessor,\n TuiVehicle,\n} from '@taiga-ui/core/abstract';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {tuiCheckFixedPosition} from '@taiga-ui/core/utils';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TUI_DROPDOWN_COMPONENT} from './dropdown.providers';\n\n@Directive({\n selector: '[tuiDropdown]:not(ng-container)',\n exportAs: 'tuiDropdown',\n providers: [\n tuiAsRectAccessor(TuiDropdownDirective),\n tuiAsVehicle(TuiDropdownDirective),\n {\n provide: PolymorpheusComponent,\n deps: [TUI_DROPDOWN_COMPONENT, INJECTOR],\n useClass: PolymorpheusComponent,\n },\n ],\n})\nexport class TuiDropdownDirective\n implements\n AfterViewChecked,\n OnDestroy,\n OnChanges,\n TuiPortalItem,\n TuiRectAccessor,\n TuiVehicle\n{\n @Input('tuiDropdown')\n @tuiDefaultProp()\n content: PolymorpheusContent<TuiContextWithImplicit<TuiActiveZoneDirective>> = '';\n\n dropdownBoxRef: ComponentRef<unknown> | null = null;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(PolymorpheusComponent)\n readonly component: PolymorpheusComponent<unknown, any>,\n @Inject(TuiDropdownPortalService)\n private readonly dropdownService: TuiDropdownPortalService,\n ) {}\n\n @tuiPure\n get position(): 'absolute' | 'fixed' {\n return tuiCheckFixedPosition(this.elementRef.nativeElement)\n ? 'fixed'\n : 'absolute';\n }\n\n ngAfterViewChecked(): void {\n this.dropdownBoxRef?.changeDetectorRef.detectChanges();\n this.dropdownBoxRef?.changeDetectorRef.markForCheck();\n }\n\n ngOnChanges(): void {\n if (!this.content) {\n this.toggle(false);\n }\n }\n\n ngOnDestroy(): void {\n this.toggle(false);\n }\n\n getClientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n toggle(show: boolean): void {\n if (show && this.content && !this.dropdownBoxRef) {\n this.dropdownBoxRef = this.dropdownService.add(this.component);\n } else if (!show && this.dropdownBoxRef) {\n this.dropdownService.remove(this.dropdownBoxRef);\n this.dropdownBoxRef = null;\n }\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp, TuiHoveredService} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, Observable, of, Subject} from 'rxjs';\nimport {delay, share, switchMap, tap} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiDropdownHover]:not(ng-container)',\n providers: [tuiAsDriver(TuiDropdownHoverDirective), TuiHoveredService],\n})\nexport class TuiDropdownHoverDirective extends TuiDriver {\n private readonly toggle$ = new Subject<boolean>();\n private readonly stream$ = merge(this.toggle$, this.hovered$).pipe(\n switchMap(visible =>\n of(visible).pipe(delay(visible ? this.showDelay : this.hideDelay)),\n ),\n tap(visible => {\n this.hovered = visible;\n }),\n share(),\n );\n\n @Input('tuiDropdownShowDelay')\n @tuiDefaultProp()\n showDelay = 200;\n\n @Input('tuiDropdownHideDelay')\n @tuiDefaultProp()\n hideDelay = 500;\n\n hovered = false;\n\n constructor(\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n toggle(visible: boolean): void {\n this.toggle$.next(visible);\n }\n}\n","import {\n Directive,\n FactoryProvider,\n forwardRef,\n Inject,\n InjectionToken,\n Input,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n TuiDropdownWidth,\n TuiHorizontalDirection,\n TuiVerticalDirection,\n} from '@taiga-ui/core/types';\nimport {tuiOverrideOptions} from '@taiga-ui/core/utils';\n\nexport interface TuiDropdownOptions {\n readonly align: TuiHorizontalDirection;\n readonly direction: TuiVerticalDirection | null;\n readonly limitWidth: TuiDropdownWidth;\n readonly minHeight: number;\n readonly maxHeight: number;\n readonly offset: number;\n}\n\n/** Default values for dropdown options */\nexport const TUI_DROPDOWN_DEFAULT_OPTIONS: TuiDropdownOptions = {\n align: 'left',\n direction: null,\n limitWidth: 'auto',\n maxHeight: 400,\n minHeight: 80,\n offset: 4,\n};\n\nexport const TUI_DROPDOWN_OPTIONS = new InjectionToken<TuiDropdownOptions>(\n '[TUI_DROPDOWN_OPTIONS] Default parameters for dropdown directive',\n {\n factory: () => TUI_DROPDOWN_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiDropdownOptionsProvider: (\n options: Partial<TuiDropdownOptions>,\n) => FactoryProvider = (override: Partial<TuiDropdownOptions>) => ({\n provide: TUI_DROPDOWN_OPTIONS,\n deps: [\n [new Optional(), TuiDropdownOptionsDirective],\n [new SkipSelf(), TUI_DROPDOWN_OPTIONS],\n ],\n useFactory: tuiOverrideOptions(override),\n});\n\n@Directive({\n selector:\n '[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]',\n providers: [\n {\n provide: TUI_DROPDOWN_OPTIONS,\n useExisting: forwardRef(() => TuiDropdownOptionsDirective),\n },\n ],\n})\nexport class TuiDropdownOptionsDirective implements TuiDropdownOptions {\n @Input('tuiDropdownAlign')\n @tuiDefaultProp()\n align = this.options.align;\n\n @Input('tuiDropdownDirection')\n @tuiDefaultProp()\n direction = this.options.direction;\n\n @Input('tuiDropdownLimitWidth')\n @tuiDefaultProp()\n limitWidth = this.options.limitWidth;\n\n @Input('tuiDropdownMinHeight')\n @tuiDefaultProp()\n minHeight = this.options.minHeight;\n\n @Input('tuiDropdownMaxHeight')\n @tuiDefaultProp()\n maxHeight = this.options.maxHeight;\n\n @Input('tuiDropdownOffset')\n @tuiDefaultProp()\n offset = this.options.offset;\n\n constructor(\n @SkipSelf()\n @Inject(TUI_DROPDOWN_OPTIONS)\n private readonly options: TuiDropdownOptions,\n ) {}\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n OnDestroy,\n Optional,\n Self,\n} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n AbstractTuiPortalHostComponent,\n TuiDestroyService,\n tuiGetClosestFocusable,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {TuiRectAccessor} from '@taiga-ui/core/abstract';\nimport {tuiDropdownAnimation} from '@taiga-ui/core/animations';\nimport {TuiDropdownAnimation} from '@taiga-ui/core/enums';\nimport {TuiPositionService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {TuiPoint} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n/**\n * This component is used to show template in a portal using default style of white rounded box with a shadow\n */\n// @bad TODO: OnPush\n@Component({\n selector: 'tui-dropdown',\n templateUrl: './dropdown.template.html',\n styleUrls: ['./dropdown.style.less'],\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService, TuiPositionService],\n animations: [tuiDropdownAnimation],\n})\nexport class TuiDropdownComponent implements OnDestroy {\n @HostBinding('@tuiDropdownAnimation')\n readonly dropdownAnimation = {\n value: TuiDropdownAnimation.FadeInTop,\n ...this.animationOptions,\n };\n\n constructor(\n @Inject(TuiPositionService) position$: Observable<TuiPoint>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(TuiDropdownDirective) readonly directive: TuiDropdownDirective,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalHostComponent)\n private readonly host: AbstractTuiPortalHostComponent,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TUI_ANIMATION_OPTIONS)\n private readonly animationOptions: AnimationOptions,\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Optional()\n @Inject(TuiDropdownHoverDirective)\n private readonly hoverDirective: TuiDropdownHoverDirective | null,\n ) {\n position$.pipe(takeUntil(destroy$)).subscribe(([top, left]) => {\n this.update(top, left);\n });\n }\n\n ngOnDestroy(): void {\n this.onHoveredChange(false);\n }\n\n onHoveredChange(hovered: boolean): void {\n if (this.hoverDirective) {\n this.hoverDirective.toggle(hovered);\n }\n }\n\n onTopFocus(): void {\n this.moveFocusOutside(true);\n }\n\n onBottomFocus(): void {\n this.moveFocusOutside(false);\n }\n\n private update(top: number, left: number): void {\n const {style} = this.elementRef.nativeElement;\n const {right} = this.elementRef.nativeElement.getBoundingClientRect();\n const {limitWidth, maxHeight, offset} = this.options;\n const {innerHeight} = this.windowRef;\n const {clientRect} = this.host;\n const {position} = this.directive;\n const rect = this.accessor.getClientRect();\n const offsetX = position === 'fixed' ? 0 : -clientRect.left;\n const offsetY = position === 'fixed' ? 0 : -clientRect.top;\n\n top += offsetY;\n left += offsetX;\n\n const isIntersecting =\n left < rect.right && right > rect.left && top < offsetY + 2 * offset;\n const available = isIntersecting\n ? rect.top - 2 * offset\n : offsetY + innerHeight - top - offset;\n\n style.position = position;\n style.top = tuiPx(Math.max(top, offsetY + offset));\n style.left = tuiPx(left);\n style.maxHeight = tuiPx(Math.min(maxHeight, available));\n style.width = '';\n style.minWidth = '';\n\n switch (limitWidth) {\n case 'min':\n style.minWidth = tuiPx(rect.width);\n break;\n case 'fixed':\n style.width = tuiPx(rect.width);\n }\n }\n\n private moveFocusOutside(previous: boolean): void {\n const host = document.createElement('div');\n const {ownerDocument} = host;\n const root = ownerDocument ? ownerDocument.body : host;\n let focusable = tuiGetClosestFocusable({initial: host, root, previous});\n\n while (focusable !== null && host.contains(focusable)) {\n focusable = tuiGetClosestFocusable({initial: focusable, root, previous});\n }\n\n focusable?.focus();\n }\n}\n","<div\n #activeZone=\"tuiActiveZone\"\n tuiActiveZone\n tuiOverscroll=\"all\"\n class=\"t-wrapper\"\n [tuiMode]=\"null\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n>\n <tui-scrollbar class=\"t-scroll\">\n <div\n tabindex=\"0\"\n (focus)=\"onTopFocus()\"\n ></div>\n <div\n *polymorpheusOutlet=\"directive.content as text; context: {$implicit: activeZone}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n <div\n tabindex=\"0\"\n (focus)=\"onBottomFocus()\"\n ></div>\n </tui-scrollbar>\n</div>\n","import {Directive, HostListener, Inject} from '@angular/core';\nimport {\n EMPTY_CLIENT_RECT,\n TuiActiveZoneDirective,\n tuiPointToClientRect,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {Subject} from 'rxjs';\n\nfunction activeZoneFilter(this: TuiDropdownContextDirective, target: Element): boolean {\n return !this.activeZone.contains(target);\n}\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownContext]',\n providers: [\n TuiActiveZoneDirective,\n tuiAsDriver(TuiDropdownContextDirective),\n tuiAsRectAccessor(TuiDropdownContextDirective),\n ],\n})\nexport class TuiDropdownContextDirective extends TuiDriver implements TuiRectAccessor {\n private readonly stream$ = new Subject<boolean>();\n\n private currentRect = EMPTY_CLIENT_RECT;\n\n constructor(\n @Inject(TuiActiveZoneDirective)\n readonly activeZone: TuiActiveZoneDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n @HostListener('contextmenu.prevent.stop', ['$event.clientX', '$event.clientY'])\n onContextMenu(x: number, y: number): void {\n this.currentRect = tuiPointToClientRect(x, y);\n this.stream$.next(true);\n }\n\n @shouldCall(activeZoneFilter)\n @HostListener('document:click.silent', ['$event.target'])\n @HostListener('document:contextmenu.capture.silent', ['$event.target'])\n @HostListener('document:keydown.esc', ['$event.currentTarget'])\n closeDropdown(): void {\n this.stream$.next(false);\n }\n\n getClientRect(): ClientRect {\n return this.currentRect;\n }\n}\n","import {Directive} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {AbstractTuiDriverDirective} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiDropdown]',\n providers: [TuiDestroyService],\n})\nexport class TuiDropdownDriverDirective extends AbstractTuiDriverDirective {}\n","import {Directive, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk';\nimport {tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownHost]',\n providers: [tuiAsRectAccessor(TuiDropdownHostDirective)],\n})\nexport class TuiDropdownHostDirective extends TuiRectAccessor {\n @Input()\n tuiDropdownHost?: HTMLElement;\n\n getClientRect(): ClientRect {\n return this.tuiDropdownHost?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n }\n}\n","import {Directive, Input, OnChanges} from '@angular/core';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {Subject} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownManual]',\n providers: [tuiAsDriver(TuiDropdownManualDirective)],\n})\nexport class TuiDropdownManualDirective extends TuiDriver implements OnChanges {\n private readonly stream$ = new Subject<boolean>();\n\n @Input()\n tuiDropdownManual = false;\n\n constructor() {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n ngOnChanges(): void {\n this.stream$.next(this.tuiDropdownManual);\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TuiPoint, TuiVerticalDirection} from '@taiga-ui/core/types';\n\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n@Directive({\n selector: '[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])',\n providers: [tuiAsPositionAccessor(TuiDropdownPositionDirective)],\n})\nexport class TuiDropdownPositionDirective implements TuiPositionAccessor {\n private previous?: TuiVerticalDirection;\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n ) {}\n\n getPosition({width, height}: ClientRect): TuiPoint {\n const hostRect = this.accessor.getClientRect();\n const {innerHeight, innerWidth} = this.windowRef;\n const {minHeight, align, direction, offset} = this.options;\n const previous = this.previous || direction || 'bottom';\n const right = Math.max(hostRect.right - width, offset);\n const available = {\n top: hostRect.top - 2 * offset,\n bottom: innerHeight - hostRect.bottom - 2 * offset,\n } as const;\n const position = {\n top: hostRect.top - offset - height,\n bottom: hostRect.bottom + offset,\n right,\n left: hostRect.left + width < innerWidth - offset ? hostRect.left : right,\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n\n if (\n (available[previous] > minHeight && direction) ||\n available[previous] > height\n ) {\n return [position[previous], position[align]];\n }\n\n this.previous = better;\n\n return [position[better], position[align]];\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TuiPoint} from '@taiga-ui/core/types';\n\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\n\n@Directive({\n selector: '[tuiDropdownSided]',\n providers: [\n TuiDropdownPositionDirective,\n tuiAsPositionAccessor(TuiDropdownPositionSidedDirective),\n ],\n})\nexport class TuiDropdownPositionSidedDirective implements TuiPositionAccessor {\n private previous = this.options.direction || 'bottom';\n\n @Input()\n tuiDropdownSided: boolean | string = '';\n\n @Input()\n tuiDropdownSidedOffset = 4;\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n @Inject(TuiDropdownPositionDirective)\n private readonly vertical: TuiPositionAccessor,\n ) {}\n\n getPosition(rect: ClientRect): TuiPoint {\n if (this.tuiDropdownSided === false) {\n return this.vertical.getPosition(rect);\n }\n\n const {height, width} = rect;\n const hostRect = this.accessor.getClientRect();\n const {innerHeight, innerWidth} = this.windowRef;\n const {align, direction, minHeight, offset} = this.options;\n const available = {\n top: hostRect.bottom,\n left: hostRect.left - offset,\n right: innerWidth - hostRect.right - offset,\n bottom: innerHeight - hostRect.top,\n } as const;\n const position = {\n top: hostRect.bottom - height + this.tuiDropdownSidedOffset + 1, // 1 for border\n left: hostRect.left - width - offset,\n right: hostRect.right + offset,\n bottom: hostRect.top - this.tuiDropdownSidedOffset - 1, // 1 for border\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n const maxLeft = available.left > available.right ? position.left : position.right;\n const left = available[align] > width ? position[align] : maxLeft;\n\n if (\n (available[this.previous] > minHeight && direction) ||\n this.previous === better\n ) {\n return [position[this.previous], left];\n }\n\n this.previous = better;\n\n return [position[better], left];\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n EMPTY_CLIENT_RECT,\n TUI_RANGE,\n TuiBooleanHandler,\n tuiDefaultProp,\n tuiGetNativeFocused,\n tuiIsElement,\n tuiIsString,\n tuiIsTextfield,\n tuiIsTextNode,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_SELECTION_STREAM} from '@taiga-ui/core/tokens';\nimport {tuiGetWordRange} from '@taiga-ui/core/utils';\nimport {BehaviorSubject, combineLatest, Observable} from 'rxjs';\nimport {distinctUntilChanged, map} from 'rxjs/operators';\n\nimport {TuiDropdownDirective} from './dropdown.directive';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownSelection]',\n providers: [\n tuiAsDriver(TuiDropdownSelectionDirective),\n tuiAsRectAccessor(TuiDropdownSelectionDirective),\n ],\n})\nexport class TuiDropdownSelectionDirective\n extends TuiDriver\n implements TuiRectAccessor, OnDestroy\n{\n private readonly handler$ = new BehaviorSubject<TuiBooleanHandler<Range>>(\n ALWAYS_TRUE_HANDLER,\n );\n\n private readonly stream$ = combineLatest([\n this.handler$,\n this.selection$.pipe(\n map(() => this.getRange()),\n distinctUntilChanged(),\n ),\n ]).pipe(\n map(([handler, range]) => {\n const contained = this.elementRef.nativeElement.contains(\n range.commonAncestorContainer,\n );\n\n this.range =\n contained && tuiIsTextNode(range.commonAncestorContainer)\n ? range\n : this.range;\n\n return (contained && handler(this.range)) || this.inDropdown(range);\n }),\n );\n\n private ghost?: HTMLElement;\n\n @Input('tuiDropdownSelectionPosition')\n @tuiDefaultProp()\n position: 'selection' | 'tag' | 'word' = 'selection';\n\n @Input()\n set tuiDropdownSelection(visible: TuiBooleanHandler<Range> | string) {\n if (!tuiIsString(visible)) {\n this.handler$.next(visible);\n }\n }\n\n constructor(\n @Inject(TUI_RANGE) private range: Range,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TUI_SELECTION_STREAM) private readonly selection$: Observable<unknown>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ViewContainerRef) private readonly viewContainerRef: ViewContainerRef,\n @Inject(TuiDropdownDirective) private readonly dropdown: TuiDropdownDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n getClientRect(): ClientRect {\n switch (this.position) {\n case 'tag': {\n const {commonAncestorContainer} = this.range;\n const element = tuiIsElement(commonAncestorContainer)\n ? commonAncestorContainer\n : commonAncestorContainer.parentNode;\n\n return element && tuiIsElement(element)\n ? element.getBoundingClientRect()\n : EMPTY_CLIENT_RECT;\n }\n case 'word':\n return tuiGetWordRange(this.range).getBoundingClientRect();\n default:\n return this.range.getBoundingClientRect();\n }\n }\n\n ngOnDestroy(): void {\n if (this.ghost) {\n this.viewContainerRef.element.nativeElement.removeChild(this.ghost);\n }\n }\n\n private getRange(): Range {\n const {nativeElement} = this.elementRef;\n const active = tuiGetNativeFocused(this.documentRef);\n const selection = this.documentRef.getSelection();\n\n if (active && tuiIsTextfield(active) && nativeElement.contains(active)) {\n return this.veryVerySadInputFix(active);\n }\n\n return selection?.rangeCount ? selection.getRangeAt(0) : this.range;\n }\n\n /**\n * Check if Node is inside dropdown\n */\n private boxContains(node: Node): boolean {\n return !!this.dropdown.dropdownBoxRef?.location.nativeElement.contains(node);\n }\n\n /**\n * Check if given range is at least partially inside dropdown\n */\n private inDropdown(range: Range): boolean {\n const {startContainer, endContainer} = range;\n const {nativeElement} = this.elementRef;\n const inDropdown = this.boxContains(range.commonAncestorContainer);\n const hostToDropdown =\n this.boxContains(endContainer) && nativeElement.contains(startContainer);\n const dropdownToHost =\n this.boxContains(startContainer) && nativeElement.contains(endContainer);\n\n return inDropdown || hostToDropdown || dropdownToHost;\n }\n\n private veryVerySadInputFix(element: HTMLInputElement | HTMLTextAreaElement): Range {\n const {ghost = this.initGhost(element)} = this;\n const {top, left, width, height} = element.getBoundingClientRect();\n const {selectionStart, selectionEnd, value} = element;\n const range = this.documentRef.createRange();\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n ghost.style.top = tuiPx(top - hostRect.top);\n ghost.style.left = tuiPx(left - hostRect.left);\n ghost.style.width = tuiPx(width);\n ghost.style.height = tuiPx(height);\n ghost.textContent = CHAR_ZERO_WIDTH_SPACE + value + CHAR_NO_BREAK_SPACE;\n\n range.setStart(ghost.firstChild as Node, selectionStart || 0);\n range.setEnd(ghost.firstChild as Node, selectionEnd || 0);\n\n return range;\n }\n\n /**\n * Create an invisible DIV styled exactly like input/textarea element inside directive\n */\n private initGhost(element: HTMLInputElement | HTMLTextAreaElement): HTMLElement {\n const ghost = this.documentRef.createElement('div');\n const {nativeElement} = this.viewContainerRef.element;\n const {font, letterSpacing, textTransform, padding} = getComputedStyle(element);\n\n ghost.style.position = 'absolute';\n ghost.style.pointerEvents = 'none';\n ghost.style.opacity = '0';\n ghost.style.whiteSpace = 'pre-wrap';\n ghost.style.font = font;\n ghost.style.letterSpacing = letterSpacing;\n ghost.style.textTransform = textTransform;\n ghost.style.padding = padding;\n\n nativeElement.appendChild(ghost);\n this.ghost = ghost;\n\n return ghost;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiHoveredModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiModeModule} from '@taiga-ui/core/directives/mode';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownComponent} from './dropdown.component';\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownContextDirective} from './dropdown-context.directive';\nimport {TuiDropdownDriverDirective} from './dropdown-driver.directive';\nimport {TuiDropdownHostDirective} from './dropdown-host.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TuiDropdownManualDirective} from './dropdown-manual.directive';\nimport {TuiDropdownOptionsDirective} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\nimport {TuiDropdownPositionSidedDirective} from './dropdown-position-sided.directive';\nimport {TuiDropdownSelectionDirective} from './dropdown-selection.directive';\n\n@NgModule({\n imports: [\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n TuiModeModule,\n TuiHoveredModule,\n ],\n declarations: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n exports: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n})\nexport class TuiDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i4"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-directives-dropdown.js","sources":["../../../projects/core/directives/dropdown/dropdown.providers.ts","../../../projects/core/directives/dropdown/dropdown.directive.ts","../../../projects/core/directives/dropdown/dropdown-hover.directive.ts","../../../projects/core/directives/dropdown/dropdown-options.directive.ts","../../../projects/core/directives/dropdown/dropdown.component.ts","../../../projects/core/directives/dropdown/dropdown.template.html","../../../projects/core/directives/dropdown/dropdown-context.directive.ts","../../../projects/core/directives/dropdown/dropdown-driver.directive.ts","../../../projects/core/directives/dropdown/dropdown-host.directive.ts","../../../projects/core/directives/dropdown/dropdown-manual.directive.ts","../../../projects/core/directives/dropdown/dropdown-position.directive.ts","../../../projects/core/directives/dropdown/dropdown-position-sided.directive.ts","../../../projects/core/directives/dropdown/dropdown-selection.directive.ts","../../../projects/core/directives/dropdown/dropdown.module.ts","../../../projects/core/directives/dropdown/taiga-ui-core-directives-dropdown.ts"],"sourcesContent":["import {InjectionToken, Type} from '@angular/core';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDropdownComponent} from './dropdown.component';\n\nexport const TUI_DROPDOWN_COMPONENT = new InjectionToken<Type<any>>(\n `[TUI_DROPDOWN_COMPONENT] A component to display a dropdown`,\n {\n factory: () => TuiDropdownComponent,\n },\n);\n","import {\n AfterViewChecked,\n ComponentRef,\n Directive,\n ElementRef,\n Inject,\n INJECTOR,\n Input,\n OnChanges,\n OnDestroy,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiDropdownPortalService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsRectAccessor,\n tuiAsVehicle,\n TuiRectAccessor,\n TuiVehicle,\n} from '@taiga-ui/core/abstract';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {tuiCheckFixedPosition} from '@taiga-ui/core/utils';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TUI_DROPDOWN_COMPONENT} from './dropdown.providers';\n\n@Directive({\n selector: '[tuiDropdown]:not(ng-container)',\n exportAs: 'tuiDropdown',\n providers: [\n tuiAsRectAccessor(TuiDropdownDirective),\n tuiAsVehicle(TuiDropdownDirective),\n {\n provide: PolymorpheusComponent,\n deps: [TUI_DROPDOWN_COMPONENT, INJECTOR],\n useClass: PolymorpheusComponent,\n },\n ],\n})\nexport class TuiDropdownDirective\n implements\n AfterViewChecked,\n OnDestroy,\n OnChanges,\n TuiPortalItem,\n TuiRectAccessor,\n TuiVehicle\n{\n @Input('tuiDropdown')\n @tuiDefaultProp()\n content: PolymorpheusContent<TuiContextWithImplicit<TuiActiveZoneDirective>> = '';\n\n dropdownBoxRef: ComponentRef<unknown> | null = null;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(PolymorpheusComponent)\n readonly component: PolymorpheusComponent<unknown, any>,\n @Inject(TuiDropdownPortalService)\n private readonly dropdownService: TuiDropdownPortalService,\n ) {}\n\n @tuiPure\n get position(): 'absolute' | 'fixed' {\n return tuiCheckFixedPosition(this.elementRef.nativeElement)\n ? 'fixed'\n : 'absolute';\n }\n\n ngAfterViewChecked(): void {\n this.dropdownBoxRef?.changeDetectorRef.detectChanges();\n this.dropdownBoxRef?.changeDetectorRef.markForCheck();\n }\n\n ngOnChanges(): void {\n if (!this.content) {\n this.toggle(false);\n }\n }\n\n ngOnDestroy(): void {\n this.toggle(false);\n }\n\n getClientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n toggle(show: boolean): void {\n if (show && this.content && !this.dropdownBoxRef) {\n this.dropdownBoxRef = this.dropdownService.add(this.component);\n } else if (!show && this.dropdownBoxRef) {\n this.dropdownService.remove(this.dropdownBoxRef);\n this.dropdownBoxRef = null;\n }\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp, TuiHoveredService} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, Observable, of, Subject} from 'rxjs';\nimport {delay, share, switchMap, tap} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiDropdownHover]:not(ng-container)',\n providers: [tuiAsDriver(TuiDropdownHoverDirective), TuiHoveredService],\n})\nexport class TuiDropdownHoverDirective extends TuiDriver {\n private readonly toggle$ = new Subject<boolean>();\n private readonly stream$ = merge(this.toggle$, this.hovered$).pipe(\n switchMap(visible =>\n of(visible).pipe(delay(visible ? this.showDelay : this.hideDelay)),\n ),\n tap(visible => {\n this.hovered = visible;\n }),\n share(),\n );\n\n @Input('tuiDropdownShowDelay')\n @tuiDefaultProp()\n showDelay = 200;\n\n @Input('tuiDropdownHideDelay')\n @tuiDefaultProp()\n hideDelay = 500;\n\n hovered = false;\n\n constructor(\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n toggle(visible: boolean): void {\n this.toggle$.next(visible);\n }\n}\n","import {\n Directive,\n FactoryProvider,\n forwardRef,\n Inject,\n InjectionToken,\n Input,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n TuiDropdownWidth,\n TuiHorizontalDirection,\n TuiVerticalDirection,\n} from '@taiga-ui/core/types';\nimport {tuiOverrideOptions} from '@taiga-ui/core/utils';\n\nexport interface TuiDropdownOptions {\n readonly align: TuiHorizontalDirection;\n readonly direction: TuiVerticalDirection | null;\n readonly limitWidth: TuiDropdownWidth;\n readonly minHeight: number;\n readonly maxHeight: number;\n readonly offset: number;\n}\n\n/** Default values for dropdown options */\nexport const TUI_DROPDOWN_DEFAULT_OPTIONS: TuiDropdownOptions = {\n align: 'left',\n direction: null,\n limitWidth: 'auto',\n maxHeight: 400,\n minHeight: 80,\n offset: 4,\n};\n\nexport const TUI_DROPDOWN_OPTIONS = new InjectionToken<TuiDropdownOptions>(\n '[TUI_DROPDOWN_OPTIONS] Default parameters for dropdown directive',\n {\n factory: () => TUI_DROPDOWN_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiDropdownOptionsProvider: (\n options: Partial<TuiDropdownOptions>,\n) => FactoryProvider = (override: Partial<TuiDropdownOptions>) => ({\n provide: TUI_DROPDOWN_OPTIONS,\n deps: [\n [new Optional(), TuiDropdownOptionsDirective],\n [new SkipSelf(), TUI_DROPDOWN_OPTIONS],\n ],\n useFactory: tuiOverrideOptions(override),\n});\n\n@Directive({\n selector:\n '[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]',\n providers: [\n {\n provide: TUI_DROPDOWN_OPTIONS,\n useExisting: forwardRef(() => TuiDropdownOptionsDirective),\n },\n ],\n})\nexport class TuiDropdownOptionsDirective implements TuiDropdownOptions {\n @Input('tuiDropdownAlign')\n @tuiDefaultProp()\n align = this.options.align;\n\n @Input('tuiDropdownDirection')\n @tuiDefaultProp()\n direction = this.options.direction;\n\n @Input('tuiDropdownLimitWidth')\n @tuiDefaultProp()\n limitWidth = this.options.limitWidth;\n\n @Input('tuiDropdownMinHeight')\n @tuiDefaultProp()\n minHeight = this.options.minHeight;\n\n @Input('tuiDropdownMaxHeight')\n @tuiDefaultProp()\n maxHeight = this.options.maxHeight;\n\n @Input('tuiDropdownOffset')\n @tuiDefaultProp()\n offset = this.options.offset;\n\n constructor(\n @SkipSelf()\n @Inject(TUI_DROPDOWN_OPTIONS)\n private readonly options: TuiDropdownOptions,\n ) {}\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n OnDestroy,\n Optional,\n Self,\n} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n AbstractTuiPortalHostComponent,\n TuiDestroyService,\n tuiGetClosestFocusable,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {TuiRectAccessor} from '@taiga-ui/core/abstract';\nimport {tuiDropdownAnimation} from '@taiga-ui/core/animations';\nimport {TuiDropdownAnimation} from '@taiga-ui/core/enums';\nimport {TuiPositionService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {TuiPoint} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n/**\n * This component is used to show template in a portal using default style of white rounded box with a shadow\n */\n// @bad TODO: OnPush\n@Component({\n selector: 'tui-dropdown',\n templateUrl: './dropdown.template.html',\n styleUrls: ['./dropdown.style.less'],\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService, TuiPositionService],\n animations: [tuiDropdownAnimation],\n})\nexport class TuiDropdownComponent implements OnDestroy {\n @HostBinding('@tuiDropdownAnimation')\n readonly dropdownAnimation = {\n value: TuiDropdownAnimation.FadeInTop,\n ...this.animationOptions,\n };\n\n constructor(\n @Inject(TuiPositionService) position$: Observable<TuiPoint>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(TuiDropdownDirective) readonly directive: TuiDropdownDirective,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalHostComponent)\n private readonly host: AbstractTuiPortalHostComponent,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TUI_ANIMATION_OPTIONS)\n private readonly animationOptions: AnimationOptions,\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Optional()\n @Inject(TuiDropdownHoverDirective)\n private readonly hoverDirective: TuiDropdownHoverDirective | null,\n ) {\n position$.pipe(takeUntil(destroy$)).subscribe(([top, left]) => {\n this.update(top, left);\n });\n\n this.updateWidth();\n }\n\n ngOnDestroy(): void {\n this.onHoveredChange(false);\n }\n\n onHoveredChange(hovered: boolean): void {\n if (this.hoverDirective) {\n this.hoverDirective.toggle(hovered);\n }\n }\n\n onTopFocus(): void {\n this.moveFocusOutside(true);\n }\n\n onBottomFocus(): void {\n this.moveFocusOutside(false);\n }\n\n private update(top: number, left: number): void {\n const {style} = this.elementRef.nativeElement;\n const {right} = this.elementRef.nativeElement.getBoundingClientRect();\n const {maxHeight, offset} = this.options;\n const {innerHeight} = this.windowRef;\n const {clientRect} = this.host;\n const {position} = this.directive;\n const rect = this.accessor.getClientRect();\n const offsetX = position === 'fixed' ? 0 : -clientRect.left;\n const offsetY = position === 'fixed' ? 0 : -clientRect.top;\n\n top += offsetY;\n left += offsetX;\n\n const isIntersecting =\n left < rect.right && right > rect.left && top < offsetY + 2 * offset;\n const available = isIntersecting\n ? rect.top - 2 * offset\n : offsetY + innerHeight - top - offset;\n\n style.position = position;\n style.top = tuiPx(Math.max(top, offsetY + offset));\n style.left = tuiPx(left);\n style.maxHeight = tuiPx(Math.min(maxHeight, available));\n style.width = '';\n style.minWidth = '';\n\n this.updateWidth();\n }\n\n private updateWidth(): void {\n const {style} = this.elementRef.nativeElement;\n const rect = this.accessor.getClientRect();\n const {limitWidth} = this.options;\n\n switch (limitWidth) {\n case 'min':\n style.minWidth = tuiPx(rect.width);\n break;\n case 'fixed':\n style.width = tuiPx(rect.width);\n }\n }\n\n private moveFocusOutside(previous: boolean): void {\n const host = document.createElement('div');\n const {ownerDocument} = host;\n const root = ownerDocument ? ownerDocument.body : host;\n let focusable = tuiGetClosestFocusable({initial: host, root, previous});\n\n while (focusable !== null && host.contains(focusable)) {\n focusable = tuiGetClosestFocusable({initial: focusable, root, previous});\n }\n\n focusable?.focus();\n }\n}\n","<div\n #activeZone=\"tuiActiveZone\"\n tuiActiveZone\n tuiOverscroll=\"all\"\n class=\"t-wrapper\"\n [tuiMode]=\"null\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n>\n <tui-scrollbar class=\"t-scroll\">\n <div\n tabindex=\"0\"\n (focus)=\"onTopFocus()\"\n ></div>\n <div\n *polymorpheusOutlet=\"directive.content as text; context: {$implicit: activeZone}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n <div\n tabindex=\"0\"\n (focus)=\"onBottomFocus()\"\n ></div>\n </tui-scrollbar>\n</div>\n","import {Directive, HostListener, Inject} from '@angular/core';\nimport {\n EMPTY_CLIENT_RECT,\n TuiActiveZoneDirective,\n tuiPointToClientRect,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {Subject} from 'rxjs';\n\nfunction activeZoneFilter(this: TuiDropdownContextDirective, target: Element): boolean {\n return !this.activeZone.contains(target);\n}\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownContext]',\n providers: [\n TuiActiveZoneDirective,\n tuiAsDriver(TuiDropdownContextDirective),\n tuiAsRectAccessor(TuiDropdownContextDirective),\n ],\n})\nexport class TuiDropdownContextDirective extends TuiDriver implements TuiRectAccessor {\n private readonly stream$ = new Subject<boolean>();\n\n private currentRect = EMPTY_CLIENT_RECT;\n\n constructor(\n @Inject(TuiActiveZoneDirective)\n readonly activeZone: TuiActiveZoneDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n @HostListener('contextmenu.prevent.stop', ['$event.clientX', '$event.clientY'])\n onContextMenu(x: number, y: number): void {\n this.currentRect = tuiPointToClientRect(x, y);\n this.stream$.next(true);\n }\n\n @shouldCall(activeZoneFilter)\n @HostListener('document:click.silent', ['$event.target'])\n @HostListener('document:contextmenu.capture.silent', ['$event.target'])\n @HostListener('document:keydown.esc', ['$event.currentTarget'])\n closeDropdown(): void {\n this.stream$.next(false);\n }\n\n getClientRect(): ClientRect {\n return this.currentRect;\n }\n}\n","import {Directive} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {AbstractTuiDriverDirective} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiDropdown]',\n providers: [TuiDestroyService],\n})\nexport class TuiDropdownDriverDirective extends AbstractTuiDriverDirective {}\n","import {Directive, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk';\nimport {tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownHost]',\n providers: [tuiAsRectAccessor(TuiDropdownHostDirective)],\n})\nexport class TuiDropdownHostDirective extends TuiRectAccessor {\n @Input()\n tuiDropdownHost?: HTMLElement;\n\n getClientRect(): ClientRect {\n return this.tuiDropdownHost?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n }\n}\n","import {Directive, Input, OnChanges} from '@angular/core';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {Subject} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownManual]',\n providers: [tuiAsDriver(TuiDropdownManualDirective)],\n})\nexport class TuiDropdownManualDirective extends TuiDriver implements OnChanges {\n private readonly stream$ = new Subject<boolean>();\n\n @Input()\n tuiDropdownManual = false;\n\n constructor() {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n ngOnChanges(): void {\n this.stream$.next(this.tuiDropdownManual);\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TuiPoint, TuiVerticalDirection} from '@taiga-ui/core/types';\n\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n@Directive({\n selector: '[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])',\n providers: [tuiAsPositionAccessor(TuiDropdownPositionDirective)],\n})\nexport class TuiDropdownPositionDirective implements TuiPositionAccessor {\n private previous?: TuiVerticalDirection;\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n ) {}\n\n getPosition({width, height}: ClientRect): TuiPoint {\n const hostRect = this.accessor.getClientRect();\n const {innerHeight, innerWidth} = this.windowRef;\n const {minHeight, align, direction, offset} = this.options;\n const previous = this.previous || direction || 'bottom';\n const right = Math.max(hostRect.right - width, offset);\n const available = {\n top: hostRect.top - 2 * offset,\n bottom: innerHeight - hostRect.bottom - 2 * offset,\n } as const;\n const position = {\n top: hostRect.top - offset - height,\n bottom: hostRect.bottom + offset,\n right,\n left: hostRect.left + width < innerWidth - offset ? hostRect.left : right,\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n\n if (\n (available[previous] > minHeight && direction) ||\n available[previous] > height\n ) {\n return [position[previous], position[align]];\n }\n\n this.previous = better;\n\n return [position[better], position[align]];\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TuiPoint} from '@taiga-ui/core/types';\n\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\n\n@Directive({\n selector: '[tuiDropdownSided]',\n providers: [\n TuiDropdownPositionDirective,\n tuiAsPositionAccessor(TuiDropdownPositionSidedDirective),\n ],\n})\nexport class TuiDropdownPositionSidedDirective implements TuiPositionAccessor {\n private previous = this.options.direction || 'bottom';\n\n @Input()\n tuiDropdownSided: boolean | string = '';\n\n @Input()\n tuiDropdownSidedOffset = 4;\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n @Inject(TuiDropdownPositionDirective)\n private readonly vertical: TuiPositionAccessor,\n ) {}\n\n getPosition(rect: ClientRect): TuiPoint {\n if (this.tuiDropdownSided === false) {\n return this.vertical.getPosition(rect);\n }\n\n const {height, width} = rect;\n const hostRect = this.accessor.getClientRect();\n const {innerHeight, innerWidth} = this.windowRef;\n const {align, direction, minHeight, offset} = this.options;\n const available = {\n top: hostRect.bottom,\n left: hostRect.left - offset,\n right: innerWidth - hostRect.right - offset,\n bottom: innerHeight - hostRect.top,\n } as const;\n const position = {\n top: hostRect.bottom - height + this.tuiDropdownSidedOffset + 1, // 1 for border\n left: hostRect.left - width - offset,\n right: hostRect.right + offset,\n bottom: hostRect.top - this.tuiDropdownSidedOffset - 1, // 1 for border\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n const maxLeft = available.left > available.right ? position.left : position.right;\n const left = available[align] > width ? position[align] : maxLeft;\n\n if (\n (available[this.previous] > minHeight && direction) ||\n this.previous === better\n ) {\n return [position[this.previous], left];\n }\n\n this.previous = better;\n\n return [position[better], left];\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n EMPTY_CLIENT_RECT,\n TUI_RANGE,\n TuiBooleanHandler,\n tuiDefaultProp,\n tuiGetNativeFocused,\n tuiIsElement,\n tuiIsString,\n tuiIsTextfield,\n tuiIsTextNode,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_SELECTION_STREAM} from '@taiga-ui/core/tokens';\nimport {tuiGetWordRange} from '@taiga-ui/core/utils';\nimport {BehaviorSubject, combineLatest, Observable} from 'rxjs';\nimport {distinctUntilChanged, map} from 'rxjs/operators';\n\nimport {TuiDropdownDirective} from './dropdown.directive';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownSelection]',\n providers: [\n tuiAsDriver(TuiDropdownSelectionDirective),\n tuiAsRectAccessor(TuiDropdownSelectionDirective),\n ],\n})\nexport class TuiDropdownSelectionDirective\n extends TuiDriver\n implements TuiRectAccessor, OnDestroy\n{\n private readonly handler$ = new BehaviorSubject<TuiBooleanHandler<Range>>(\n ALWAYS_TRUE_HANDLER,\n );\n\n private readonly stream$ = combineLatest([\n this.handler$,\n this.selection$.pipe(\n map(() => this.getRange()),\n distinctUntilChanged(),\n ),\n ]).pipe(\n map(([handler, range]) => {\n const contained = this.elementRef.nativeElement.contains(\n range.commonAncestorContainer,\n );\n\n this.range =\n contained && tuiIsTextNode(range.commonAncestorContainer)\n ? range\n : this.range;\n\n return (contained && handler(this.range)) || this.inDropdown(range);\n }),\n );\n\n private ghost?: HTMLElement;\n\n @Input('tuiDropdownSelectionPosition')\n @tuiDefaultProp()\n position: 'selection' | 'tag' | 'word' = 'selection';\n\n @Input()\n set tuiDropdownSelection(visible: TuiBooleanHandler<Range> | string) {\n if (!tuiIsString(visible)) {\n this.handler$.next(visible);\n }\n }\n\n constructor(\n @Inject(TUI_RANGE) private range: Range,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TUI_SELECTION_STREAM) private readonly selection$: Observable<unknown>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ViewContainerRef) private readonly viewContainerRef: ViewContainerRef,\n @Inject(TuiDropdownDirective) private readonly dropdown: TuiDropdownDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n getClientRect(): ClientRect {\n switch (this.position) {\n case 'tag': {\n const {commonAncestorContainer} = this.range;\n const element = tuiIsElement(commonAncestorContainer)\n ? commonAncestorContainer\n : commonAncestorContainer.parentNode;\n\n return element && tuiIsElement(element)\n ? element.getBoundingClientRect()\n : EMPTY_CLIENT_RECT;\n }\n case 'word':\n return tuiGetWordRange(this.range).getBoundingClientRect();\n default:\n return this.range.getBoundingClientRect();\n }\n }\n\n ngOnDestroy(): void {\n if (this.ghost) {\n this.viewContainerRef.element.nativeElement.removeChild(this.ghost);\n }\n }\n\n private getRange(): Range {\n const {nativeElement} = this.elementRef;\n const active = tuiGetNativeFocused(this.documentRef);\n const selection = this.documentRef.getSelection();\n\n if (active && tuiIsTextfield(active) && nativeElement.contains(active)) {\n return this.veryVerySadInputFix(active);\n }\n\n return selection?.rangeCount ? selection.getRangeAt(0) : this.range;\n }\n\n /**\n * Check if Node is inside dropdown\n */\n private boxContains(node: Node): boolean {\n return !!this.dropdown.dropdownBoxRef?.location.nativeElement.contains(node);\n }\n\n /**\n * Check if given range is at least partially inside dropdown\n */\n private inDropdown(range: Range): boolean {\n const {startContainer, endContainer} = range;\n const {nativeElement} = this.elementRef;\n const inDropdown = this.boxContains(range.commonAncestorContainer);\n const hostToDropdown =\n this.boxContains(endContainer) && nativeElement.contains(startContainer);\n const dropdownToHost =\n this.boxContains(startContainer) && nativeElement.contains(endContainer);\n\n return inDropdown || hostToDropdown || dropdownToHost;\n }\n\n private veryVerySadInputFix(element: HTMLInputElement | HTMLTextAreaElement): Range {\n const {ghost = this.initGhost(element)} = this;\n const {top, left, width, height} = element.getBoundingClientRect();\n const {selectionStart, selectionEnd, value} = element;\n const range = this.documentRef.createRange();\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n ghost.style.top = tuiPx(top - hostRect.top);\n ghost.style.left = tuiPx(left - hostRect.left);\n ghost.style.width = tuiPx(width);\n ghost.style.height = tuiPx(height);\n ghost.textContent = CHAR_ZERO_WIDTH_SPACE + value + CHAR_NO_BREAK_SPACE;\n\n range.setStart(ghost.firstChild as Node, selectionStart || 0);\n range.setEnd(ghost.firstChild as Node, selectionEnd || 0);\n\n return range;\n }\n\n /**\n * Create an invisible DIV styled exactly like input/textarea element inside directive\n */\n private initGhost(element: HTMLInputElement | HTMLTextAreaElement): HTMLElement {\n const ghost = this.documentRef.createElement('div');\n const {nativeElement} = this.viewContainerRef.element;\n const {font, letterSpacing, textTransform, padding} = getComputedStyle(element);\n\n ghost.style.position = 'absolute';\n ghost.style.pointerEvents = 'none';\n ghost.style.opacity = '0';\n ghost.style.whiteSpace = 'pre-wrap';\n ghost.style.font = font;\n ghost.style.letterSpacing = letterSpacing;\n ghost.style.textTransform = textTransform;\n ghost.style.padding = padding;\n\n nativeElement.appendChild(ghost);\n this.ghost = ghost;\n\n return ghost;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiHoveredModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiModeModule} from '@taiga-ui/core/directives/mode';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownComponent} from './dropdown.component';\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownContextDirective} from './dropdown-context.directive';\nimport {TuiDropdownDriverDirective} from './dropdown-driver.directive';\nimport {TuiDropdownHostDirective} from './dropdown-host.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TuiDropdownManualDirective} from './dropdown-manual.directive';\nimport {TuiDropdownOptionsDirective} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\nimport {TuiDropdownPositionSidedDirective} from './dropdown-position-sided.directive';\nimport {TuiDropdownSelectionDirective} from './dropdown-selection.directive';\n\n@NgModule({\n imports: [\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n TuiModeModule,\n TuiHoveredModule,\n ],\n declarations: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n exports: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n})\nexport class TuiDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i4"],"mappings":"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"}
@@ -231,7 +231,7 @@ TuiHintComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
231
231
  <ng-container *polymorpheusOutlet="content as text; context: context">
232
232
  {{ text }}
233
233
  </ng-container>
234
- `, isInline: true, styles: [":host{position:absolute;max-width:18rem;min-height:var(--tui-height-m);padding:.75rem 1rem;background:var(--tui-primary);border-radius:var(--tui-radius-l);color:var(--tui-primary-text);box-sizing:border-box;font:var(--tui-font-text-s);white-space:pre-line;word-wrap:break-word}:host:before{content:\"\";position:absolute;top:var(--top);left:var(--left);width:.5rem;height:.5rem;border-radius:.125rem;box-sizing:border-box;background:inherit;transform:translate(-50%,-50%) rotate(45deg)}:host[data-appearance=error]{background:var(--tui-error-fill)}:host[data-appearance=onDark]{background:var(--tui-elevation-01);color:var(--tui-text-01);filter:drop-shadow(0 0 .125rem rgba(0,0,0,.16)) drop-shadow(0 1.5rem 1rem rgba(0,0,0,.03)) drop-shadow(0 .75rem .75rem rgba(0,0,0,.04)) drop-shadow(0 .25rem .375rem rgba(0,0,0,.05))}:host._untouchable{pointer-events:none}\n"], directives: [{ type: i1.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush });
234
+ `, isInline: true, styles: [":host{position:absolute;max-width:18rem;min-height:var(--tui-height-m);padding:.75rem 1rem;background:var(--tui-primary);border-radius:var(--tui-radius-l);color:var(--tui-primary-text);box-sizing:border-box;font:var(--tui-font-text-s);white-space:pre-line;word-wrap:break-word}:host:before{content:\"\";position:absolute;top:var(--top);left:var(--left);width:.5rem;height:.5rem;border-radius:.125rem;box-sizing:border-box;background:inherit;transform:translate(-50%,-50%) rotate(45deg)}:host[data-appearance=error]{background:var(--tui-error-fill)}:host[data-appearance=onDark]{background:var(--tui-elevation-01);color:var(--tui-text-01);filter:drop-shadow(0 0 .125rem rgba(0,0,0,.16)) drop-shadow(0 1.5rem 1rem rgba(0,0,0,.03)) drop-shadow(0 .75rem .75rem rgba(0,0,0,.04)) drop-shadow(0 .25rem .375rem rgba(0,0,0,.05))}:host:not([style*=\"top\"]){visibility:hidden}:host._untouchable{pointer-events:none}\n"], directives: [{ type: i1.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush });
235
235
  __decorate([
236
236
  tuiPure
237
237
  ], TuiHintComponent.prototype, "update", null);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-hint.js","sources":["../../../projects/core/directives/hint/hint-options.directive.ts","../../../projects/core/directives/hint/hint-hover.directive.ts","../../../projects/core/directives/hint/hint-pointer.directive.ts","../../../projects/core/directives/hint/hint.component.ts","../../../projects/core/directives/hint/hint.providers.ts","../../../projects/core/directives/hint/hint.directive.ts","../../../projects/core/directives/hint/hint-describe.directive.ts","../../../projects/core/directives/hint/hint-driver.directive.ts","../../../projects/core/directives/hint/hint-host.directive.ts","../../../projects/core/directives/hint/hint-manual.directive.ts","../../../projects/core/directives/hint/hint-position.directive.ts","../../../projects/core/directives/hint/hint.module.ts","../../../projects/core/directives/hint/taiga-ui-core-directives-hint.ts"],"sourcesContent":["import {\n Directive,\n FactoryProvider,\n forwardRef,\n Inject,\n InjectionToken,\n Input,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {AbstractTuiController, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiHintDirection} from '@taiga-ui/core/types';\nimport {tuiOverrideOptions} from '@taiga-ui/core/utils';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiHintOptions {\n readonly direction: TuiHintDirection;\n readonly showDelay: number;\n readonly hideDelay: number;\n readonly appearance: string;\n readonly icon: PolymorpheusContent;\n}\n\n/** Default values for hint options */\nexport const TUI_HINT_DEFAULT_OPTIONS: TuiHintOptions = {\n direction: 'bottom-left',\n showDelay: 500,\n hideDelay: 200,\n appearance: '',\n icon: 'tuiIconTooltipLarge',\n};\n\nexport const TUI_HINT_OPTIONS = new InjectionToken<TuiHintOptions>(\n '[TUI_HINT_OPTIONS] Default parameters for hint directive',\n {\n factory: () => TUI_HINT_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiHintOptionsProvider: (\n options: Partial<TuiHintOptions>,\n) => FactoryProvider = (override: Partial<TuiHintOptions>) => ({\n provide: TUI_HINT_OPTIONS,\n deps: [\n [new Optional(), TuiHintOptionsDirective],\n [new SkipSelf(), TUI_HINT_OPTIONS],\n ],\n useFactory: tuiOverrideOptions(override),\n});\n\n@Directive({\n selector: '[tuiHintContent]',\n providers: [\n {\n provide: TUI_HINT_OPTIONS,\n useExisting: forwardRef(() => TuiHintOptionsDirective),\n },\n ],\n})\nexport class TuiHintOptionsDirective\n extends AbstractTuiController\n implements TuiHintOptions\n{\n @Input('tuiHintContent')\n @tuiDefaultProp()\n content: PolymorpheusContent = '';\n\n @Input('tuiHintDirection')\n @tuiDefaultProp()\n direction = this.options.direction;\n\n @Input('tuiHintAppearance')\n @tuiDefaultProp()\n appearance = this.options.appearance;\n\n @Input('tuiHintShowDelay')\n @tuiDefaultProp()\n showDelay = this.options.showDelay;\n\n @Input('tuiHintHideDelay')\n @tuiDefaultProp()\n hideDelay = this.options.hideDelay;\n\n icon = this.options.icon;\n\n constructor(\n @SkipSelf() @Inject(TUI_HINT_OPTIONS) protected readonly options: TuiHintOptions,\n ) {\n super();\n }\n}\n","import {Directive, HostListener, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp, TuiHoveredService} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, Observable, of, Subject} from 'rxjs';\nimport {delay, switchMap} from 'rxjs/operators';\n\nimport {TUI_HINT_OPTIONS, TuiHintOptions} from './hint-options.directive';\n\n@Directive({\n selector: '[tuiHint]:not(ng-container)',\n providers: [tuiAsDriver(TuiHintHoverDirective), TuiHoveredService],\n})\nexport class TuiHintHoverDirective extends TuiDriver {\n private readonly toggle$ = new Subject<boolean>();\n private readonly stream$ = merge(this.toggle$, this.hovered$).pipe(\n switchMap(visible =>\n of(visible).pipe(delay(visible ? this.showDelay : this.hideDelay)),\n ),\n );\n\n @Input('tuiHintShowDelay')\n @tuiDefaultProp()\n showDelay: TuiHintOptions['showDelay'] = this.options.showDelay;\n\n @Input('tuiHintHideDelay')\n @tuiDefaultProp()\n hideDelay: TuiHintOptions['hideDelay'] = this.options.hideDelay;\n\n constructor(\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n @Inject(TUI_HINT_OPTIONS) private readonly options: TuiHintOptions,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n @HostListener('click', ['true'])\n toggle(visible: boolean): void {\n this.toggle$.next(visible);\n }\n}\n","import {Directive, HostListener} from '@angular/core';\nimport {EMPTY_CLIENT_RECT, tuiPointToClientRect} from '@taiga-ui/cdk';\nimport {tuiAsDriver, tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/abstract';\n\nimport {TuiHintHoverDirective} from './hint-hover.directive';\n\n@Directive({\n selector: '[tuiHint][tuiHintPointer]',\n providers: [\n tuiAsRectAccessor(TuiHintPointerDirective),\n tuiAsDriver(TuiHintPointerDirective),\n ],\n})\nexport class TuiHintPointerDirective\n extends TuiHintHoverDirective\n implements TuiRectAccessor\n{\n private currentRect = EMPTY_CLIENT_RECT;\n\n @HostListener('mousemove.silent', ['$event'])\n onMove({clientX, clientY}: MouseEvent): void {\n this.currentRect = tuiPointToClientRect(clientX, clientY);\n }\n\n getClientRect(): ClientRect {\n return this.currentRect;\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n tuiClamp,\n TuiContextWithImplicit,\n TuiDestroyService,\n TuiHoveredService,\n tuiPure,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {TuiRectAccessor} from '@taiga-ui/core/abstract';\nimport {tuiFadeIn} from '@taiga-ui/core/animations';\nimport {TuiModeDirective} from '@taiga-ui/core/directives/mode';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {TuiPositionService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {TuiPoint} from '@taiga-ui/core/types';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {TuiHintHoverDirective} from './hint-hover.directive';\nimport {TuiHintPointerDirective} from './hint-pointer.directive';\n\n@Component({\n selector: 'tui-hint',\n template: `\n <ng-container *polymorpheusOutlet=\"content as text; context: context\">\n {{ text }}\n </ng-container>\n `,\n styleUrls: ['./hint.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService, TuiPositionService, TuiHoveredService],\n animations: [tuiFadeIn],\n})\nexport class TuiHintComponent<C = any> {\n @HostBinding('@tuiFadeIn')\n readonly animation = {value: '', ...this.options} as const;\n\n @HostBinding('attr.data-appearance')\n readonly appearance = this.polymorpheus.$implicit.appearance || this.mode?.mode;\n\n @HostBinding('class._untouchable')\n readonly untouchable = !!this.pointer;\n\n constructor(\n @Inject(TuiHoveredService) hovered$: Observable<boolean>,\n @Inject(TuiPositionService) position$: Observable<TuiPoint>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(TuiRectAccessor) protected readonly accessor: TuiRectAccessor,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(POLYMORPHEUS_CONTEXT)\n private readonly polymorpheus: TuiContextWithImplicit<TuiPortalItem<C>>,\n @Inject(TuiHintHoverDirective) private readonly hover: TuiHintHoverDirective,\n @Optional() @Inject(TuiHintPointerDirective) private readonly pointer: unknown,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly mode: TuiModeDirective | null,\n ) {\n position$.pipe(takeUntil(destroy$)).subscribe(([top, left]) => {\n this.update(top, left);\n });\n\n hovered$.pipe(takeUntil(destroy$)).subscribe(hover => this.hover.toggle(hover));\n }\n\n get content(): PolymorpheusContent<C> {\n return this.polymorpheus.$implicit.content;\n }\n\n get context(): C | undefined {\n return this.polymorpheus.$implicit.context;\n }\n\n @HostListener('document:click', ['$event.target'])\n onClick(target: HTMLElement): void {\n if (!this.elementRef.nativeElement.contains(target)) {\n this.hover.toggle(false);\n }\n }\n\n @tuiPure\n private update(top: number, left: number): void {\n const {nativeElement} = this.elementRef;\n const {height, width} = nativeElement.getBoundingClientRect();\n const {style} = nativeElement;\n const rect = this.accessor.getClientRect();\n const safeLeft = Math.max(left, 4);\n const beakTop = rect.top + rect.height / 2 - top;\n const beakLeft = rect.left + rect.width / 2 - safeLeft;\n\n style.top = tuiPx(top);\n style.left = tuiPx(safeLeft);\n style.setProperty('--top', tuiPx(tuiClamp(beakTop, 0.5, height - 1)));\n style.setProperty('--left', tuiPx(tuiClamp(beakLeft, 0.5, width - 1)));\n }\n}\n","import {InjectionToken, Type} from '@angular/core';\n\nimport {TuiHintComponent} from './hint.component';\n\nexport const TUI_HINT_COMPONENT = new InjectionToken<Type<unknown>>(\n `[TUI_HINT_COMPONENT] A component to display a hint`,\n {\n factory: () => TuiHintComponent,\n },\n);\n","import {\n Directive,\n ElementRef,\n Inject,\n INJECTOR,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n} from '@angular/core';\nimport {TuiActiveZoneDirective, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n tuiAsRectAccessor,\n tuiAsVehicle,\n TuiRectAccessor,\n TuiVehicle,\n} from '@taiga-ui/core/abstract';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {TuiHintService} from '@taiga-ui/core/services';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_HINT_COMPONENT} from './hint.providers';\nimport {TUI_HINT_OPTIONS, TuiHintOptions} from './hint-options.directive';\n\n@Directive({\n selector: '[tuiHint]:not(ng-container)',\n providers: [\n tuiAsRectAccessor(TuiHintDirective),\n tuiAsVehicle(TuiHintDirective),\n {\n provide: PolymorpheusComponent,\n deps: [TUI_HINT_COMPONENT, INJECTOR],\n useClass: PolymorpheusComponent,\n },\n ],\n})\nexport class TuiHintDirective<C>\n implements OnDestroy, OnChanges, TuiPortalItem<C>, TuiRectAccessor, TuiVehicle\n{\n @Input('tuiHint')\n @tuiDefaultProp()\n content: PolymorpheusContent<C> = '';\n\n @Input('tuiHintContext')\n context?: C;\n\n @Input()\n @tuiDefaultProp()\n tuiHintAppearance: string | null = null;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(PolymorpheusComponent)\n readonly component: PolymorpheusComponent<\n Record<string, any>,\n Record<string, any>\n >,\n @Inject(TuiHintService) private readonly hintService: TuiHintService,\n @Inject(TUI_HINT_OPTIONS) private readonly options: TuiHintOptions,\n @Optional()\n @Inject(TuiActiveZoneDirective)\n readonly activeZone?: TuiActiveZoneDirective | null,\n ) {}\n\n get appearance(): string {\n return this.tuiHintAppearance ?? this.options.appearance;\n }\n\n ngOnChanges(): void {\n if (!this.content) {\n this.toggle(false);\n }\n }\n\n ngOnDestroy(): void {\n this.toggle(false);\n }\n\n getClientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n toggle(show: boolean): void {\n if (show && this.content) {\n this.hintService.add(this);\n } else {\n this.hintService.remove(this);\n }\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, Inject, Input, NgZone} from '@angular/core';\nimport {\n tuiIsNativeFocused,\n tuiPure,\n tuiTypedFromEvent,\n tuiZoneOptimized,\n} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, Observable, of, timer} from 'rxjs';\nimport {\n debounce,\n distinctUntilChanged,\n map,\n skip,\n startWith,\n switchMap,\n} from 'rxjs/operators';\n\nimport {TuiHintHoverDirective} from './hint-hover.directive';\n\n@Directive({\n selector: '[tuiHintDescribe]',\n providers: [tuiAsDriver(TuiHintDescribeDirective)],\n})\nexport class TuiHintDescribeDirective extends TuiDriver {\n private readonly focus$ = tuiTypedFromEvent(this.documentRef, 'keydown', {\n capture: true,\n }).pipe(\n switchMap(() =>\n this.focused\n ? of(false)\n : merge(\n tuiTypedFromEvent(this.documentRef, 'keyup'),\n tuiTypedFromEvent(this.element, 'blur'),\n ).pipe(map(() => this.focused)),\n ),\n debounce(visible => (visible ? timer(1000) : of(null))),\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n tuiZoneOptimized(this.ngZone),\n );\n\n private readonly stream$ = merge(this.hover$, this.focus$);\n\n @Input()\n tuiHintDescribe = '';\n\n constructor(\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(TuiHintHoverDirective) private readonly hover$: Observable<boolean>,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n private get focused(): boolean {\n return tuiIsNativeFocused(this.element);\n }\n\n @tuiPure\n private get element(): HTMLElement {\n return (\n this.documentRef.getElementById(this.tuiHintDescribe) ||\n this.elementRef.nativeElement\n );\n }\n}\n","import {Directive} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {AbstractTuiDriverDirective} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiHint]',\n providers: [TuiDestroyService],\n})\nexport class TuiHintDriverDirective extends AbstractTuiDriverDirective {}\n","import {Directive, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk';\nimport {tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiHint][tuiHintHost]',\n providers: [tuiAsRectAccessor(TuiHintHostDirective)],\n})\nexport class TuiHintHostDirective extends TuiRectAccessor {\n @Input()\n tuiHintHost?: HTMLElement;\n\n getClientRect(): ClientRect {\n return this.tuiHintHost?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n }\n}\n","import {Directive, Input, OnChanges} from '@angular/core';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {Subject} from 'rxjs';\n\n@Directive({\n selector: '[tuiHint][tuiHintManual]',\n providers: [tuiAsDriver(TuiHintManualDirective)],\n})\nexport class TuiHintManualDirective extends TuiDriver implements OnChanges {\n private readonly stream$ = new Subject<boolean>();\n\n @Input()\n tuiHintManual = false;\n\n constructor() {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n ngOnChanges(): void {\n this.stream$.next(this.tuiHintManual);\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_HINT_DIRECTIONS} from '@taiga-ui/core/constants';\nimport {TuiHintDirection, TuiPoint} from '@taiga-ui/core/types';\n\nimport {TUI_HINT_OPTIONS, TuiHintOptions} from './hint-options.directive';\n\nconst OFFSET = 8;\nconst ARROW_OFFSET = 22;\nconst TOP = 0;\nconst LEFT = 1;\n\n@Directive({\n selector: '[tuiHint]:not([tuiHintCustomPosition])',\n providers: [tuiAsPositionAccessor(TuiHintPositionDirective)],\n})\nexport class TuiHintPositionDirective implements TuiPositionAccessor {\n private readonly points: Record<TuiHintDirection, [number, number]> =\n TUI_HINT_DIRECTIONS.reduce(\n (acc, direction) => ({...acc, [direction]: [0, 0]}),\n {} as any,\n );\n\n @Input('tuiHintDirection')\n @tuiDefaultProp()\n direction: TuiHintOptions['direction'] = this.options.direction;\n\n constructor(\n @Inject(TUI_HINT_OPTIONS) private readonly options: TuiHintOptions,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n ) {}\n\n // eslint-disable-next-line max-statements\n getPosition({width, height}: ClientRect): TuiPoint {\n const hostRect = this.accessor.getClientRect();\n const leftCenter = hostRect.left + hostRect.width / 2;\n const topCenter = hostRect.top + hostRect.height / 2;\n\n this.points['top-left'][TOP] = hostRect.top - height - OFFSET;\n this.points['top-left'][LEFT] = leftCenter - width + ARROW_OFFSET;\n this.points.top[TOP] = this.points['top-left'][TOP];\n this.points.top[LEFT] = leftCenter - width / 2;\n this.points['top-right'][TOP] = this.points['top-left'][TOP];\n this.points['top-right'][LEFT] = leftCenter - ARROW_OFFSET;\n\n this.points['bottom-left'][TOP] = hostRect.bottom + OFFSET;\n this.points['bottom-left'][LEFT] = this.points['top-left'][LEFT];\n this.points.bottom[TOP] = this.points['bottom-left'][TOP];\n this.points.bottom[LEFT] = this.points.top[LEFT];\n this.points['bottom-right'][TOP] = this.points['bottom-left'][TOP];\n this.points['bottom-right'][LEFT] = this.points['top-right'][LEFT];\n\n this.points['left-top'][TOP] = topCenter - height + ARROW_OFFSET;\n this.points['left-top'][LEFT] = hostRect.left - width - OFFSET;\n this.points.left[TOP] = topCenter - height / 2;\n this.points.left[LEFT] = this.points['left-top'][LEFT];\n this.points['left-bottom'][TOP] = topCenter - ARROW_OFFSET;\n this.points['left-bottom'][LEFT] = this.points['left-top'][LEFT];\n\n this.points['right-top'][TOP] = this.points['left-top'][TOP];\n this.points['right-top'][LEFT] = hostRect.right + OFFSET;\n this.points.right[TOP] = this.points.left[TOP];\n this.points.right[LEFT] = this.points['right-top'][LEFT];\n this.points['right-bottom'][TOP] = this.points['left-bottom'][TOP];\n this.points['right-bottom'][LEFT] = this.points['right-top'][LEFT];\n\n if (this.checkPosition(this.points[this.direction], width, height)) {\n return this.points[this.direction];\n }\n\n const direction = TUI_HINT_DIRECTIONS.find(direction =>\n this.checkPosition(this.points[direction], width, height),\n );\n\n return this.points[direction || this.fallback];\n }\n\n private get fallback(): TuiHintDirection {\n return this.points.top[TOP] > this.windowRef.innerHeight - this.points.bottom[TOP]\n ? 'top'\n : 'bottom';\n }\n\n private checkPosition([top, left]: TuiPoint, width: number, height: number): boolean {\n const {innerHeight, innerWidth} = this.windowRef;\n\n return (\n top > OFFSET &&\n left > OFFSET &&\n top + height < innerHeight - OFFSET &&\n left + width < innerWidth - OFFSET\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHintComponent} from './hint.component';\nimport {TuiHintDirective} from './hint.directive';\nimport {TuiHintDescribeDirective} from './hint-describe.directive';\nimport {TuiHintDriverDirective} from './hint-driver.directive';\nimport {TuiHintHostDirective} from './hint-host.directive';\nimport {TuiHintHoverDirective} from './hint-hover.directive';\nimport {TuiHintManualDirective} from './hint-manual.directive';\nimport {TuiHintOptionsDirective} from './hint-options.directive';\nimport {TuiHintPointerDirective} from './hint-pointer.directive';\nimport {TuiHintPositionDirective} from './hint-position.directive';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule],\n declarations: [\n TuiHintComponent,\n TuiHintDirective,\n TuiHintDriverDirective,\n TuiHintHostDirective,\n TuiHintHoverDirective,\n TuiHintManualDirective,\n TuiHintPointerDirective,\n TuiHintDescribeDirective,\n TuiHintPositionDirective,\n TuiHintOptionsDirective,\n ],\n exports: [\n TuiHintComponent,\n TuiHintDirective,\n TuiHintDriverDirective,\n TuiHintHostDirective,\n TuiHintHoverDirective,\n TuiHintManualDirective,\n TuiHintPointerDirective,\n TuiHintDescribeDirective,\n TuiHintPositionDirective,\n TuiHintOptionsDirective,\n ],\n})\nexport class TuiHintModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-directives-hint.js","sources":["../../../projects/core/directives/hint/hint-options.directive.ts","../../../projects/core/directives/hint/hint-hover.directive.ts","../../../projects/core/directives/hint/hint-pointer.directive.ts","../../../projects/core/directives/hint/hint.component.ts","../../../projects/core/directives/hint/hint.providers.ts","../../../projects/core/directives/hint/hint.directive.ts","../../../projects/core/directives/hint/hint-describe.directive.ts","../../../projects/core/directives/hint/hint-driver.directive.ts","../../../projects/core/directives/hint/hint-host.directive.ts","../../../projects/core/directives/hint/hint-manual.directive.ts","../../../projects/core/directives/hint/hint-position.directive.ts","../../../projects/core/directives/hint/hint.module.ts","../../../projects/core/directives/hint/taiga-ui-core-directives-hint.ts"],"sourcesContent":["import {\n Directive,\n FactoryProvider,\n forwardRef,\n Inject,\n InjectionToken,\n Input,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {AbstractTuiController, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiHintDirection} from '@taiga-ui/core/types';\nimport {tuiOverrideOptions} from '@taiga-ui/core/utils';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiHintOptions {\n readonly direction: TuiHintDirection;\n readonly showDelay: number;\n readonly hideDelay: number;\n readonly appearance: string;\n readonly icon: PolymorpheusContent;\n}\n\n/** Default values for hint options */\nexport const TUI_HINT_DEFAULT_OPTIONS: TuiHintOptions = {\n direction: 'bottom-left',\n showDelay: 500,\n hideDelay: 200,\n appearance: '',\n icon: 'tuiIconTooltipLarge',\n};\n\nexport const TUI_HINT_OPTIONS = new InjectionToken<TuiHintOptions>(\n '[TUI_HINT_OPTIONS] Default parameters for hint directive',\n {\n factory: () => TUI_HINT_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiHintOptionsProvider: (\n options: Partial<TuiHintOptions>,\n) => FactoryProvider = (override: Partial<TuiHintOptions>) => ({\n provide: TUI_HINT_OPTIONS,\n deps: [\n [new Optional(), TuiHintOptionsDirective],\n [new SkipSelf(), TUI_HINT_OPTIONS],\n ],\n useFactory: tuiOverrideOptions(override),\n});\n\n@Directive({\n selector: '[tuiHintContent]',\n providers: [\n {\n provide: TUI_HINT_OPTIONS,\n useExisting: forwardRef(() => TuiHintOptionsDirective),\n },\n ],\n})\nexport class TuiHintOptionsDirective\n extends AbstractTuiController\n implements TuiHintOptions\n{\n @Input('tuiHintContent')\n @tuiDefaultProp()\n content: PolymorpheusContent = '';\n\n @Input('tuiHintDirection')\n @tuiDefaultProp()\n direction = this.options.direction;\n\n @Input('tuiHintAppearance')\n @tuiDefaultProp()\n appearance = this.options.appearance;\n\n @Input('tuiHintShowDelay')\n @tuiDefaultProp()\n showDelay = this.options.showDelay;\n\n @Input('tuiHintHideDelay')\n @tuiDefaultProp()\n hideDelay = this.options.hideDelay;\n\n icon = this.options.icon;\n\n constructor(\n @SkipSelf() @Inject(TUI_HINT_OPTIONS) protected readonly options: TuiHintOptions,\n ) {\n super();\n }\n}\n","import {Directive, HostListener, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp, TuiHoveredService} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, Observable, of, Subject} from 'rxjs';\nimport {delay, switchMap} from 'rxjs/operators';\n\nimport {TUI_HINT_OPTIONS, TuiHintOptions} from './hint-options.directive';\n\n@Directive({\n selector: '[tuiHint]:not(ng-container)',\n providers: [tuiAsDriver(TuiHintHoverDirective), TuiHoveredService],\n})\nexport class TuiHintHoverDirective extends TuiDriver {\n private readonly toggle$ = new Subject<boolean>();\n private readonly stream$ = merge(this.toggle$, this.hovered$).pipe(\n switchMap(visible =>\n of(visible).pipe(delay(visible ? this.showDelay : this.hideDelay)),\n ),\n );\n\n @Input('tuiHintShowDelay')\n @tuiDefaultProp()\n showDelay: TuiHintOptions['showDelay'] = this.options.showDelay;\n\n @Input('tuiHintHideDelay')\n @tuiDefaultProp()\n hideDelay: TuiHintOptions['hideDelay'] = this.options.hideDelay;\n\n constructor(\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n @Inject(TUI_HINT_OPTIONS) private readonly options: TuiHintOptions,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n @HostListener('click', ['true'])\n toggle(visible: boolean): void {\n this.toggle$.next(visible);\n }\n}\n","import {Directive, HostListener} from '@angular/core';\nimport {EMPTY_CLIENT_RECT, tuiPointToClientRect} from '@taiga-ui/cdk';\nimport {tuiAsDriver, tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/abstract';\n\nimport {TuiHintHoverDirective} from './hint-hover.directive';\n\n@Directive({\n selector: '[tuiHint][tuiHintPointer]',\n providers: [\n tuiAsRectAccessor(TuiHintPointerDirective),\n tuiAsDriver(TuiHintPointerDirective),\n ],\n})\nexport class TuiHintPointerDirective\n extends TuiHintHoverDirective\n implements TuiRectAccessor\n{\n private currentRect = EMPTY_CLIENT_RECT;\n\n @HostListener('mousemove.silent', ['$event'])\n onMove({clientX, clientY}: MouseEvent): void {\n this.currentRect = tuiPointToClientRect(clientX, clientY);\n }\n\n getClientRect(): ClientRect {\n return this.currentRect;\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n tuiClamp,\n TuiContextWithImplicit,\n TuiDestroyService,\n TuiHoveredService,\n tuiPure,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {TuiRectAccessor} from '@taiga-ui/core/abstract';\nimport {tuiFadeIn} from '@taiga-ui/core/animations';\nimport {TuiModeDirective} from '@taiga-ui/core/directives/mode';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {TuiPositionService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {TuiPoint} from '@taiga-ui/core/types';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {TuiHintHoverDirective} from './hint-hover.directive';\nimport {TuiHintPointerDirective} from './hint-pointer.directive';\n\n@Component({\n selector: 'tui-hint',\n template: `\n <ng-container *polymorpheusOutlet=\"content as text; context: context\">\n {{ text }}\n </ng-container>\n `,\n styleUrls: ['./hint.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService, TuiPositionService, TuiHoveredService],\n animations: [tuiFadeIn],\n})\nexport class TuiHintComponent<C = any> {\n @HostBinding('@tuiFadeIn')\n readonly animation = {value: '', ...this.options} as const;\n\n @HostBinding('attr.data-appearance')\n readonly appearance = this.polymorpheus.$implicit.appearance || this.mode?.mode;\n\n @HostBinding('class._untouchable')\n readonly untouchable = !!this.pointer;\n\n constructor(\n @Inject(TuiHoveredService) hovered$: Observable<boolean>,\n @Inject(TuiPositionService) position$: Observable<TuiPoint>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(TuiRectAccessor) protected readonly accessor: TuiRectAccessor,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(POLYMORPHEUS_CONTEXT)\n private readonly polymorpheus: TuiContextWithImplicit<TuiPortalItem<C>>,\n @Inject(TuiHintHoverDirective) private readonly hover: TuiHintHoverDirective,\n @Optional() @Inject(TuiHintPointerDirective) private readonly pointer: unknown,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly mode: TuiModeDirective | null,\n ) {\n position$.pipe(takeUntil(destroy$)).subscribe(([top, left]) => {\n this.update(top, left);\n });\n\n hovered$.pipe(takeUntil(destroy$)).subscribe(hover => this.hover.toggle(hover));\n }\n\n get content(): PolymorpheusContent<C> {\n return this.polymorpheus.$implicit.content;\n }\n\n get context(): C | undefined {\n return this.polymorpheus.$implicit.context;\n }\n\n @HostListener('document:click', ['$event.target'])\n onClick(target: HTMLElement): void {\n if (!this.elementRef.nativeElement.contains(target)) {\n this.hover.toggle(false);\n }\n }\n\n @tuiPure\n private update(top: number, left: number): void {\n const {nativeElement} = this.elementRef;\n const {height, width} = nativeElement.getBoundingClientRect();\n const {style} = nativeElement;\n const rect = this.accessor.getClientRect();\n const safeLeft = Math.max(left, 4);\n const beakTop = rect.top + rect.height / 2 - top;\n const beakLeft = rect.left + rect.width / 2 - safeLeft;\n\n style.top = tuiPx(top);\n style.left = tuiPx(safeLeft);\n style.setProperty('--top', tuiPx(tuiClamp(beakTop, 0.5, height - 1)));\n style.setProperty('--left', tuiPx(tuiClamp(beakLeft, 0.5, width - 1)));\n }\n}\n","import {InjectionToken, Type} from '@angular/core';\n\nimport {TuiHintComponent} from './hint.component';\n\nexport const TUI_HINT_COMPONENT = new InjectionToken<Type<unknown>>(\n `[TUI_HINT_COMPONENT] A component to display a hint`,\n {\n factory: () => TuiHintComponent,\n },\n);\n","import {\n Directive,\n ElementRef,\n Inject,\n INJECTOR,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n} from '@angular/core';\nimport {TuiActiveZoneDirective, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n tuiAsRectAccessor,\n tuiAsVehicle,\n TuiRectAccessor,\n TuiVehicle,\n} from '@taiga-ui/core/abstract';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {TuiHintService} from '@taiga-ui/core/services';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_HINT_COMPONENT} from './hint.providers';\nimport {TUI_HINT_OPTIONS, TuiHintOptions} from './hint-options.directive';\n\n@Directive({\n selector: '[tuiHint]:not(ng-container)',\n providers: [\n tuiAsRectAccessor(TuiHintDirective),\n tuiAsVehicle(TuiHintDirective),\n {\n provide: PolymorpheusComponent,\n deps: [TUI_HINT_COMPONENT, INJECTOR],\n useClass: PolymorpheusComponent,\n },\n ],\n})\nexport class TuiHintDirective<C>\n implements OnDestroy, OnChanges, TuiPortalItem<C>, TuiRectAccessor, TuiVehicle\n{\n @Input('tuiHint')\n @tuiDefaultProp()\n content: PolymorpheusContent<C> = '';\n\n @Input('tuiHintContext')\n context?: C;\n\n @Input()\n @tuiDefaultProp()\n tuiHintAppearance: string | null = null;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(PolymorpheusComponent)\n readonly component: PolymorpheusComponent<\n Record<string, any>,\n Record<string, any>\n >,\n @Inject(TuiHintService) private readonly hintService: TuiHintService,\n @Inject(TUI_HINT_OPTIONS) private readonly options: TuiHintOptions,\n @Optional()\n @Inject(TuiActiveZoneDirective)\n readonly activeZone?: TuiActiveZoneDirective | null,\n ) {}\n\n get appearance(): string {\n return this.tuiHintAppearance ?? this.options.appearance;\n }\n\n ngOnChanges(): void {\n if (!this.content) {\n this.toggle(false);\n }\n }\n\n ngOnDestroy(): void {\n this.toggle(false);\n }\n\n getClientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n toggle(show: boolean): void {\n if (show && this.content) {\n this.hintService.add(this);\n } else {\n this.hintService.remove(this);\n }\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, Inject, Input, NgZone} from '@angular/core';\nimport {\n tuiIsNativeFocused,\n tuiPure,\n tuiTypedFromEvent,\n tuiZoneOptimized,\n} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, Observable, of, timer} from 'rxjs';\nimport {\n debounce,\n distinctUntilChanged,\n map,\n skip,\n startWith,\n switchMap,\n} from 'rxjs/operators';\n\nimport {TuiHintHoverDirective} from './hint-hover.directive';\n\n@Directive({\n selector: '[tuiHintDescribe]',\n providers: [tuiAsDriver(TuiHintDescribeDirective)],\n})\nexport class TuiHintDescribeDirective extends TuiDriver {\n private readonly focus$ = tuiTypedFromEvent(this.documentRef, 'keydown', {\n capture: true,\n }).pipe(\n switchMap(() =>\n this.focused\n ? of(false)\n : merge(\n tuiTypedFromEvent(this.documentRef, 'keyup'),\n tuiTypedFromEvent(this.element, 'blur'),\n ).pipe(map(() => this.focused)),\n ),\n debounce(visible => (visible ? timer(1000) : of(null))),\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n tuiZoneOptimized(this.ngZone),\n );\n\n private readonly stream$ = merge(this.hover$, this.focus$);\n\n @Input()\n tuiHintDescribe = '';\n\n constructor(\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(TuiHintHoverDirective) private readonly hover$: Observable<boolean>,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n private get focused(): boolean {\n return tuiIsNativeFocused(this.element);\n }\n\n @tuiPure\n private get element(): HTMLElement {\n return (\n this.documentRef.getElementById(this.tuiHintDescribe) ||\n this.elementRef.nativeElement\n );\n }\n}\n","import {Directive} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {AbstractTuiDriverDirective} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiHint]',\n providers: [TuiDestroyService],\n})\nexport class TuiHintDriverDirective extends AbstractTuiDriverDirective {}\n","import {Directive, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk';\nimport {tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiHint][tuiHintHost]',\n providers: [tuiAsRectAccessor(TuiHintHostDirective)],\n})\nexport class TuiHintHostDirective extends TuiRectAccessor {\n @Input()\n tuiHintHost?: HTMLElement;\n\n getClientRect(): ClientRect {\n return this.tuiHintHost?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n }\n}\n","import {Directive, Input, OnChanges} from '@angular/core';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {Subject} from 'rxjs';\n\n@Directive({\n selector: '[tuiHint][tuiHintManual]',\n providers: [tuiAsDriver(TuiHintManualDirective)],\n})\nexport class TuiHintManualDirective extends TuiDriver implements OnChanges {\n private readonly stream$ = new Subject<boolean>();\n\n @Input()\n tuiHintManual = false;\n\n constructor() {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n ngOnChanges(): void {\n this.stream$.next(this.tuiHintManual);\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_HINT_DIRECTIONS} from '@taiga-ui/core/constants';\nimport {TuiHintDirection, TuiPoint} from '@taiga-ui/core/types';\n\nimport {TUI_HINT_OPTIONS, TuiHintOptions} from './hint-options.directive';\n\nconst OFFSET = 8;\nconst ARROW_OFFSET = 22;\nconst TOP = 0;\nconst LEFT = 1;\n\n@Directive({\n selector: '[tuiHint]:not([tuiHintCustomPosition])',\n providers: [tuiAsPositionAccessor(TuiHintPositionDirective)],\n})\nexport class TuiHintPositionDirective implements TuiPositionAccessor {\n private readonly points: Record<TuiHintDirection, [number, number]> =\n TUI_HINT_DIRECTIONS.reduce(\n (acc, direction) => ({...acc, [direction]: [0, 0]}),\n {} as any,\n );\n\n @Input('tuiHintDirection')\n @tuiDefaultProp()\n direction: TuiHintOptions['direction'] = this.options.direction;\n\n constructor(\n @Inject(TUI_HINT_OPTIONS) private readonly options: TuiHintOptions,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n ) {}\n\n // eslint-disable-next-line max-statements\n getPosition({width, height}: ClientRect): TuiPoint {\n const hostRect = this.accessor.getClientRect();\n const leftCenter = hostRect.left + hostRect.width / 2;\n const topCenter = hostRect.top + hostRect.height / 2;\n\n this.points['top-left'][TOP] = hostRect.top - height - OFFSET;\n this.points['top-left'][LEFT] = leftCenter - width + ARROW_OFFSET;\n this.points.top[TOP] = this.points['top-left'][TOP];\n this.points.top[LEFT] = leftCenter - width / 2;\n this.points['top-right'][TOP] = this.points['top-left'][TOP];\n this.points['top-right'][LEFT] = leftCenter - ARROW_OFFSET;\n\n this.points['bottom-left'][TOP] = hostRect.bottom + OFFSET;\n this.points['bottom-left'][LEFT] = this.points['top-left'][LEFT];\n this.points.bottom[TOP] = this.points['bottom-left'][TOP];\n this.points.bottom[LEFT] = this.points.top[LEFT];\n this.points['bottom-right'][TOP] = this.points['bottom-left'][TOP];\n this.points['bottom-right'][LEFT] = this.points['top-right'][LEFT];\n\n this.points['left-top'][TOP] = topCenter - height + ARROW_OFFSET;\n this.points['left-top'][LEFT] = hostRect.left - width - OFFSET;\n this.points.left[TOP] = topCenter - height / 2;\n this.points.left[LEFT] = this.points['left-top'][LEFT];\n this.points['left-bottom'][TOP] = topCenter - ARROW_OFFSET;\n this.points['left-bottom'][LEFT] = this.points['left-top'][LEFT];\n\n this.points['right-top'][TOP] = this.points['left-top'][TOP];\n this.points['right-top'][LEFT] = hostRect.right + OFFSET;\n this.points.right[TOP] = this.points.left[TOP];\n this.points.right[LEFT] = this.points['right-top'][LEFT];\n this.points['right-bottom'][TOP] = this.points['left-bottom'][TOP];\n this.points['right-bottom'][LEFT] = this.points['right-top'][LEFT];\n\n if (this.checkPosition(this.points[this.direction], width, height)) {\n return this.points[this.direction];\n }\n\n const direction = TUI_HINT_DIRECTIONS.find(direction =>\n this.checkPosition(this.points[direction], width, height),\n );\n\n return this.points[direction || this.fallback];\n }\n\n private get fallback(): TuiHintDirection {\n return this.points.top[TOP] > this.windowRef.innerHeight - this.points.bottom[TOP]\n ? 'top'\n : 'bottom';\n }\n\n private checkPosition([top, left]: TuiPoint, width: number, height: number): boolean {\n const {innerHeight, innerWidth} = this.windowRef;\n\n return (\n top > OFFSET &&\n left > OFFSET &&\n top + height < innerHeight - OFFSET &&\n left + width < innerWidth - OFFSET\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHintComponent} from './hint.component';\nimport {TuiHintDirective} from './hint.directive';\nimport {TuiHintDescribeDirective} from './hint-describe.directive';\nimport {TuiHintDriverDirective} from './hint-driver.directive';\nimport {TuiHintHostDirective} from './hint-host.directive';\nimport {TuiHintHoverDirective} from './hint-hover.directive';\nimport {TuiHintManualDirective} from './hint-manual.directive';\nimport {TuiHintOptionsDirective} from './hint-options.directive';\nimport {TuiHintPointerDirective} from './hint-pointer.directive';\nimport {TuiHintPositionDirective} from './hint-position.directive';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule],\n declarations: [\n TuiHintComponent,\n TuiHintDirective,\n TuiHintDriverDirective,\n TuiHintHostDirective,\n TuiHintHoverDirective,\n TuiHintManualDirective,\n TuiHintPointerDirective,\n TuiHintDescribeDirective,\n TuiHintPositionDirective,\n TuiHintOptionsDirective,\n ],\n exports: [\n TuiHintComponent,\n TuiHintDirective,\n TuiHintDriverDirective,\n TuiHintHostDirective,\n TuiHintHoverDirective,\n TuiHintManualDirective,\n TuiHintPointerDirective,\n TuiHintDescribeDirective,\n TuiHintPositionDirective,\n TuiHintOptionsDirective,\n ],\n})\nexport class TuiHintModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/core",
3
- "version": "3.16.0-dev.main-0ee0b72",
3
+ "version": "3.16.0-dev.main-ed878e6",
4
4
  "description": "Core library for creating Angular components and applications using Taiga UI",
5
5
  "keywords": [
6
6
  "angular",