@taiga-ui/core 3.48.0 → 3.49.0

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.
Files changed (72) hide show
  1. package/bundles/taiga-ui-core-components-button.umd.js +1 -1
  2. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  4. package/bundles/taiga-ui-core-components-group.umd.js +4 -2
  5. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  6. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +17 -5
  7. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +1 -1
  9. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +5 -3
  10. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-root.umd.js +1 -1
  12. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-scrollbar.umd.js +1 -1
  14. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  15. package/bundles/taiga-ui-core-directives-dropdown.umd.js +1 -1
  16. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  17. package/bundles/taiga-ui-core-directives-hint.umd.js +6 -7
  18. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js +14 -4
  20. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js.map +1 -1
  21. package/components/calendar/calendar.component.d.ts +2 -2
  22. package/components/group/group-styles.component.d.ts +1 -1
  23. package/components/primitive-calendar/primitive-calendar.component.d.ts +5 -1
  24. package/components/primitive-year-picker/primitive-year-picker.component.d.ts +3 -3
  25. package/constants/cache-basting-payload.d.ts +1 -1
  26. package/esm2015/components/button/button.component.js +1 -1
  27. package/esm2015/components/calendar/calendar.component.js +1 -1
  28. package/esm2015/components/group/group-styles.component.js +5 -3
  29. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +14 -6
  30. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +1 -1
  31. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +6 -4
  32. package/esm2015/components/root/root.component.js +1 -1
  33. package/esm2015/components/scrollbar/scrollbar.component.js +1 -1
  34. package/esm2015/directives/dropdown/dropdown.component.js +2 -2
  35. package/esm2015/directives/hint/hint-hover.directive.js +4 -3
  36. package/esm2015/directives/hint/hint.component.js +4 -5
  37. package/esm2015/utils/miscellaneous/index.js +2 -1
  38. package/esm2015/utils/miscellaneous/is-obscured.js +9 -0
  39. package/fesm2015/taiga-ui-core-components-button.js +1 -1
  40. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  41. package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
  42. package/fesm2015/taiga-ui-core-components-group.js +4 -2
  43. package/fesm2015/taiga-ui-core-components-group.js.map +1 -1
  44. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +13 -5
  45. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  46. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +1 -1
  47. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +5 -3
  48. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  49. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  50. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  51. package/fesm2015/taiga-ui-core-components-scrollbar.js +1 -1
  52. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  53. package/fesm2015/taiga-ui-core-directives-dropdown.js +1 -1
  54. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  55. package/fesm2015/taiga-ui-core-directives-hint.js +4 -5
  56. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  57. package/fesm2015/taiga-ui-core-utils-miscellaneous.js +10 -1
  58. package/fesm2015/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  59. package/package.json +4 -4
  60. package/styles/mixins/browsers.less +23 -0
  61. package/styles/mixins/browsers.scss +23 -0
  62. package/styles/mixins/mixins.less +3 -2
  63. package/styles/mixins/mixins.scss +2 -1
  64. package/styles/mixins/picker.less +2 -1
  65. package/styles/mixins/picker.scss +2 -1
  66. package/styles/mixins/textfield.less +6 -7
  67. package/styles/mixins/textfield.scss +1 -1
  68. package/styles/taiga-ui-local.less +4 -0
  69. package/styles/taiga-ui-local.scss +5 -1
  70. package/styles/theme/wrapper/base.less +2 -2
  71. package/utils/miscellaneous/index.d.ts +1 -0
  72. package/utils/miscellaneous/is-obscured.d.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-hint.js","sources":["../../../projects/core/directives/hint/hint.providers.ts","../../../projects/core/directives/hint/hint-options.directive.ts","../../../projects/core/directives/hint/hint.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-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 {Type} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\n// eslint-disable-next-line import/no-cycle\nimport {TuiHintComponent} from './hint.component';\n\n/**\n * A component to display a hint\n */\nexport const TUI_HINT_COMPONENT = tuiCreateTokenFromFactory<Type<unknown>>(\n () => TuiHintComponent,\n);\n","import {\n Directive,\n FactoryProvider,\n forwardRef,\n Inject,\n Input,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {AbstractTuiController, tuiCreateToken} 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 appearance: string;\n readonly direction: TuiHintDirection;\n readonly hideDelay: number;\n readonly icon: PolymorpheusContent;\n readonly showDelay: number;\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: 'tuiIconHelpCircle',\n};\n\n/**\n * Default parameters for hint directive\n */\nexport const TUI_HINT_OPTIONS = tuiCreateToken(TUI_HINT_DEFAULT_OPTIONS);\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 Optional(), new SkipSelf(), TUI_HINT_OPTIONS],\n ],\n useFactory: tuiOverrideOptions(override, TUI_HINT_DEFAULT_OPTIONS),\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 content: PolymorpheusContent;\n\n @Input('tuiHintDirection')\n direction = this.options.direction;\n\n @Input('tuiHintAppearance')\n appearance = this.options.appearance;\n\n @Input('tuiHintShowDelay')\n showDelay = this.options.showDelay;\n\n @Input('tuiHintHideDelay')\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 {\n Directive,\n ElementRef,\n Inject,\n INJECTOR,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n} from '@angular/core';\nimport {TuiActiveZoneDirective} 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\n// eslint-disable-next-line import/no-cycle\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 content: PolymorpheusContent<C>;\n\n @Input('tuiHintContext')\n context?: C;\n\n @Input()\n tuiHintAppearance: string | null = null;\n\n readonly type = 'hint';\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(PolymorpheusComponent)\n readonly component: PolymorpheusComponent<unknown>,\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.el.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","/* eslint-disable rxjs/no-unsafe-takeuntil */\nimport {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {tuiGetElementObscures, TuiHoveredService} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, Observable, of, Subject} from 'rxjs';\nimport {delay, filter, map, repeat, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nimport {TUI_HINT_OPTIONS, TuiHintOptions} from './hint-options.directive';\n\n@Directive({\n selector: '[tuiHint]:not(ng-container)',\n exportAs: 'tuiHintHover',\n providers: [tuiAsDriver(TuiHintHoverDirective), TuiHoveredService],\n})\nexport class TuiHintHoverDirective extends TuiDriver {\n private visible = false;\n private readonly toggle$ = new Subject<boolean>();\n private readonly stream$ = merge(\n this.toggle$.pipe(\n switchMap(visible => of(visible).pipe(delay(visible ? 0 : this.hideDelay))),\n takeUntil(this.hovered$),\n repeat(),\n ),\n this.hovered$.pipe(\n switchMap(visible =>\n of(visible).pipe(delay(visible ? this.showDelay : this.hideDelay)),\n ),\n takeUntil(this.toggle$),\n repeat(),\n ),\n ).pipe(\n filter(() => this.enabled),\n map(value => value && !tuiGetElementObscures(this.el.nativeElement)?.length),\n tap(visible => {\n this.visible = visible;\n }),\n );\n\n @Input('tuiHintShowDelay')\n showDelay: TuiHintOptions['showDelay'] = this.options.showDelay;\n\n @Input('tuiHintHideDelay')\n hideDelay: TuiHintOptions['hideDelay'] = this.options.hideDelay;\n\n readonly type = 'hint';\n\n enabled = true;\n\n constructor(\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n @Inject(TUI_HINT_OPTIONS) private readonly options: TuiHintOptions,\n @Inject(ElementRef) readonly el: ElementRef<HTMLElement>,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n toggle(visible = !this.visible): 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 EMPTY_CLIENT_RECT,\n tuiClamp,\n TuiContextWithImplicit,\n TuiDestroyService,\n tuiGetElementObscures,\n TuiHoveredService,\n tuiPure,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {\n tuiPositionAccessorFor,\n TuiRectAccessor,\n tuiRectAccessorFor,\n} 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, TuiVisualViewportService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATION_OPTIONS, TUI_VIEWPORT} 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 {map, takeUntil} from 'rxjs/operators';\n\n// eslint-disable-next-line import/no-cycle\nimport {TuiHintDirective} from './hint.directive';\nimport {TuiHintHoverDirective} from './hint-hover.directive';\nimport {TuiHintPointerDirective} from './hint-pointer.directive';\n\nconst GAP = 4;\n\n@Component({\n selector: 'tui-hint',\n template: `\n <span\n *polymorpheusOutlet=\"content as text; context: context\"\n [innerHTML]=\"text\"\n ></span>\n `,\n styleUrls: ['./hint.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n TuiPositionService,\n TuiHoveredService,\n tuiPositionAccessorFor('hint'),\n tuiRectAccessorFor('hint', TuiHintDirective),\n ],\n animations: [tuiFadeIn],\n host: {\n '[@tuiFadeIn]': 'animation',\n '[class._untouchable]': 'pointer',\n },\n})\nexport class TuiHintComponent<C = any> {\n @HostBinding('attr.data-appearance')\n readonly appearance = this.polymorpheus.$implicit.appearance || this.mode?.mode;\n\n constructor(\n @Inject(TuiHoveredService) hovered$: Observable<boolean>,\n @Inject(TuiPositionService) position$: Observable<TuiPoint>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(TUI_ANIMATION_OPTIONS) readonly animation: AnimationOptions,\n @Optional() @Inject(TuiHintPointerDirective) readonly pointer: unknown,\n @Inject(TuiRectAccessor) protected readonly accessor: TuiRectAccessor,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(POLYMORPHEUS_CONTEXT)\n private readonly polymorpheus: TuiContextWithImplicit<TuiPortalItem<C>>,\n @Inject(TuiHintHoverDirective) private readonly hover: TuiHintHoverDirective,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly mode: TuiModeDirective | null,\n @Inject(TuiVisualViewportService)\n private readonly visualViewportService: TuiVisualViewportService,\n @Inject(TUI_VIEWPORT) private readonly viewport: TuiRectAccessor,\n ) {\n position$\n .pipe(\n map(point => this.visualViewportService.correct(point)),\n takeUntil(destroy$),\n )\n .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 (\n (!this.el.nativeElement.contains(target) &&\n !this.hover.el.nativeElement.contains(target)) ||\n tuiGetElementObscures(this.hover.el.nativeElement)?.length\n ) {\n this.hover.toggle(false);\n }\n }\n\n @tuiPure\n private update(top: number, left: number): void {\n const {height, width} = this.el.nativeElement.getBoundingClientRect();\n const {style} = this.el.nativeElement;\n const rect = this.accessor.getClientRect();\n const viewport = this.viewport.getClientRect();\n\n if (rect === EMPTY_CLIENT_RECT) {\n return;\n }\n\n const safeLeft = tuiClamp(left, GAP, viewport.width - width - GAP);\n const [beakTop, beakLeft] = this.visualViewportService.correct([\n rect.top + rect.height / 2 - top,\n rect.left + rect.width / 2 - safeLeft,\n ]);\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 {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, Inject, Input, NgZone, OnChanges} from '@angular/core';\nimport {\n tuiIfMap,\n tuiIsNativeFocused,\n tuiIsPresent,\n tuiPure,\n tuiTypedFromEvent,\n tuiZoneOptimized,\n} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, of, ReplaySubject, timer} from 'rxjs';\nimport {\n debounce,\n distinctUntilChanged,\n map,\n skip,\n startWith,\n switchMap,\n} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiHintDescribe]',\n providers: [tuiAsDriver(TuiHintDescribeDirective)],\n})\nexport class TuiHintDescribeDirective extends TuiDriver implements OnChanges {\n private readonly id$ = new ReplaySubject(1);\n\n private readonly stream$ = this.id$.pipe(\n tuiIfMap(\n () =>\n tuiTypedFromEvent(this.doc, 'keydown', {\n capture: true,\n }),\n tuiIsPresent,\n ),\n switchMap(() =>\n this.focused\n ? of(false)\n : merge(\n tuiTypedFromEvent(this.doc, '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.zone),\n );\n\n @Input()\n tuiHintDescribe: string | '' | null = '';\n\n readonly type = 'hint';\n\n constructor(\n @Inject(NgZone) private readonly zone: NgZone,\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n ngOnChanges(): void {\n this.id$.next(this.tuiHintDescribe);\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.doc.getElementById(this.tuiHintDescribe || '') || this.el.nativeElement\n );\n }\n}\n","import {Directive, Inject, Self} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {AbstractTuiDriverDirective, TuiDriver, TuiVehicle} from '@taiga-ui/core/abstract';\nimport {Observable} from 'rxjs';\n\n@Directive({\n selector: '[tuiHint]',\n providers: [TuiDestroyService],\n})\nexport class TuiHintDriverDirective extends AbstractTuiDriverDirective {\n readonly type = 'hint';\n\n // TODO: Figure out why this is necessary under nx test runner\n constructor(\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(TuiDriver) drivers: TuiDriver[],\n @Inject(TuiVehicle) vehicles: TuiVehicle[],\n ) {\n super(destroy$, drivers, vehicles);\n }\n}\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 readonly type = 'hint';\n\n getClientRect(): ClientRect {\n return this.tuiHintHost?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n }\n}\n","import {Directive, Inject, Input, OnChanges} from '@angular/core';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {BehaviorSubject} from 'rxjs';\n\nimport {TuiHintHoverDirective} from './hint-hover.directive';\n\n@Directive({\n selector: '[tuiHint][tuiHintManual]',\n providers: [tuiAsDriver(TuiHintManualDirective)],\n})\nexport class TuiHintManualDirective extends TuiDriver implements OnChanges {\n private readonly stream$ = new BehaviorSubject(false);\n\n @Input()\n tuiHintManual = false;\n\n readonly type = 'hint';\n\n constructor(@Inject(TuiHintHoverDirective) hover: TuiHintHoverDirective) {\n super(subscriber => this.stream$.subscribe(subscriber));\n hover.enabled = false;\n }\n\n ngOnChanges(): void {\n this.stream$.next(this.tuiHintManual);\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT, tuiPure} from '@taiga-ui/cdk';\nimport {\n tuiAsPositionAccessor,\n tuiFallbackRectAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_HINT_DIRECTIONS} from '@taiga-ui/core/constants';\nimport {TUI_VIEWPORT} from '@taiga-ui/core/tokens';\nimport {TuiHintDirection, TuiPoint} from '@taiga-ui/core/types';\n\nimport {TuiHintDirective} from './hint.directive';\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 extends 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 direction: TuiHintOptions['direction'] = this.options.direction;\n\n readonly type = 'hint';\n\n constructor(\n @Inject(TUI_HINT_OPTIONS) private readonly options: TuiHintOptions,\n @Inject(TUI_VIEWPORT) private readonly viewport: TuiRectAccessor,\n @Inject(TuiHintDirective) private readonly directive: TuiRectAccessor,\n @Inject(TuiRectAccessor) private readonly accessors: readonly TuiRectAccessor[],\n ) {\n super();\n }\n\n // eslint-disable-next-line max-statements\n getPosition({width, height}: ClientRect): TuiPoint {\n const hostRect = this.accessor?.getClientRect() ?? EMPTY_CLIENT_RECT;\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 @tuiPure\n private get accessor(): TuiRectAccessor | undefined {\n return tuiFallbackRectAccessor('hint')(this.accessors, this.directive);\n }\n\n private get fallback(): TuiHintDirection {\n return this.points.top[TOP] >\n this.viewport.getClientRect().bottom - this.points.bottom[TOP]\n ? 'top'\n : 'bottom';\n }\n\n private checkPosition([top, left]: TuiPoint, width: number, height: number): boolean {\n const viewport = this.viewport.getClientRect();\n\n return (\n top > OFFSET &&\n left > OFFSET &&\n top + height < viewport.bottom - OFFSET &&\n left + width < viewport.right - 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.providers.ts","../../../projects/core/directives/hint/hint-options.directive.ts","../../../projects/core/directives/hint/hint.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-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 {Type} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\n// eslint-disable-next-line import/no-cycle\nimport {TuiHintComponent} from './hint.component';\n\n/**\n * A component to display a hint\n */\nexport const TUI_HINT_COMPONENT = tuiCreateTokenFromFactory<Type<unknown>>(\n () => TuiHintComponent,\n);\n","import {\n Directive,\n FactoryProvider,\n forwardRef,\n Inject,\n Input,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {AbstractTuiController, tuiCreateToken} 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 appearance: string;\n readonly direction: TuiHintDirection;\n readonly hideDelay: number;\n readonly icon: PolymorpheusContent;\n readonly showDelay: number;\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: 'tuiIconHelpCircle',\n};\n\n/**\n * Default parameters for hint directive\n */\nexport const TUI_HINT_OPTIONS = tuiCreateToken(TUI_HINT_DEFAULT_OPTIONS);\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 Optional(), new SkipSelf(), TUI_HINT_OPTIONS],\n ],\n useFactory: tuiOverrideOptions(override, TUI_HINT_DEFAULT_OPTIONS),\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 content: PolymorpheusContent;\n\n @Input('tuiHintDirection')\n direction = this.options.direction;\n\n @Input('tuiHintAppearance')\n appearance = this.options.appearance;\n\n @Input('tuiHintShowDelay')\n showDelay = this.options.showDelay;\n\n @Input('tuiHintHideDelay')\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 {\n Directive,\n ElementRef,\n Inject,\n INJECTOR,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n} from '@angular/core';\nimport {TuiActiveZoneDirective} 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\n// eslint-disable-next-line import/no-cycle\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 content: PolymorpheusContent<C>;\n\n @Input('tuiHintContext')\n context?: C;\n\n @Input()\n tuiHintAppearance: string | null = null;\n\n readonly type = 'hint';\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(PolymorpheusComponent)\n readonly component: PolymorpheusComponent<unknown>,\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.el.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","/* eslint-disable rxjs/no-unsafe-takeuntil */\nimport {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {TuiHoveredService} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {tuiIsObscured} from '@taiga-ui/core/utils';\nimport {merge, Observable, of, Subject} from 'rxjs';\nimport {delay, filter, map, repeat, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nimport {TUI_HINT_OPTIONS, TuiHintOptions} from './hint-options.directive';\n\n@Directive({\n selector: '[tuiHint]:not(ng-container)',\n exportAs: 'tuiHintHover',\n providers: [tuiAsDriver(TuiHintHoverDirective), TuiHoveredService],\n})\nexport class TuiHintHoverDirective extends TuiDriver {\n private visible = false;\n private readonly toggle$ = new Subject<boolean>();\n private readonly stream$ = merge(\n this.toggle$.pipe(\n switchMap(visible => of(visible).pipe(delay(visible ? 0 : this.hideDelay))),\n takeUntil(this.hovered$),\n repeat(),\n ),\n this.hovered$.pipe(\n switchMap(visible =>\n of(visible).pipe(delay(visible ? this.showDelay : this.hideDelay)),\n ),\n takeUntil(this.toggle$),\n repeat(),\n ),\n ).pipe(\n filter(() => this.enabled),\n map(value => value && !tuiIsObscured(this.el.nativeElement)),\n tap(visible => {\n this.visible = visible;\n }),\n );\n\n @Input('tuiHintShowDelay')\n showDelay: TuiHintOptions['showDelay'] = this.options.showDelay;\n\n @Input('tuiHintHideDelay')\n hideDelay: TuiHintOptions['hideDelay'] = this.options.hideDelay;\n\n readonly type = 'hint';\n\n enabled = true;\n\n constructor(\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n @Inject(TUI_HINT_OPTIONS) private readonly options: TuiHintOptions,\n @Inject(ElementRef) readonly el: ElementRef<HTMLElement>,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n toggle(visible = !this.visible): 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 EMPTY_CLIENT_RECT,\n tuiClamp,\n TuiContextWithImplicit,\n TuiDestroyService,\n TuiHoveredService,\n tuiPure,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {\n tuiPositionAccessorFor,\n TuiRectAccessor,\n tuiRectAccessorFor,\n} 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, TuiVisualViewportService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATION_OPTIONS, TUI_VIEWPORT} from '@taiga-ui/core/tokens';\nimport {TuiPoint} from '@taiga-ui/core/types';\nimport {tuiIsObscured} from '@taiga-ui/core/utils';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map, takeUntil} from 'rxjs/operators';\n\nimport {TuiHintDirective} from './hint.directive';\nimport {TuiHintHoverDirective} from './hint-hover.directive';\nimport {TuiHintPointerDirective} from './hint-pointer.directive';\n\nconst GAP = 4;\n\n@Component({\n selector: 'tui-hint',\n template: `\n <span\n *polymorpheusOutlet=\"content as text; context: context\"\n [innerHTML]=\"text\"\n ></span>\n `,\n styleUrls: ['./hint.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n TuiPositionService,\n TuiHoveredService,\n tuiPositionAccessorFor('hint'),\n tuiRectAccessorFor('hint', TuiHintDirective),\n ],\n animations: [tuiFadeIn],\n host: {\n '[@tuiFadeIn]': 'animation',\n '[class._untouchable]': 'pointer',\n },\n})\nexport class TuiHintComponent<C = any> {\n @HostBinding('attr.data-appearance')\n readonly appearance = this.polymorpheus.$implicit.appearance || this.mode?.mode;\n\n constructor(\n @Inject(TuiHoveredService) hovered$: Observable<boolean>,\n @Inject(TuiPositionService) position$: Observable<TuiPoint>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(TUI_ANIMATION_OPTIONS) readonly animation: AnimationOptions,\n @Optional() @Inject(TuiHintPointerDirective) readonly pointer: unknown,\n @Inject(TuiRectAccessor) protected readonly accessor: TuiRectAccessor,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(POLYMORPHEUS_CONTEXT)\n private readonly polymorpheus: TuiContextWithImplicit<TuiPortalItem<C>>,\n @Inject(TuiHintHoverDirective) private readonly hover: TuiHintHoverDirective,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly mode: TuiModeDirective | null,\n @Inject(TuiVisualViewportService)\n private readonly visualViewportService: TuiVisualViewportService,\n @Inject(TUI_VIEWPORT) private readonly viewport: TuiRectAccessor,\n ) {\n position$\n .pipe(\n map(point => this.visualViewportService.correct(point)),\n takeUntil(destroy$),\n )\n .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 (\n (!this.el.nativeElement.contains(target) &&\n !this.hover.el.nativeElement.contains(target)) ||\n tuiIsObscured(this.hover.el.nativeElement)\n ) {\n this.hover.toggle(false);\n }\n }\n\n @tuiPure\n private update(top: number, left: number): void {\n const {height, width} = this.el.nativeElement.getBoundingClientRect();\n const {style} = this.el.nativeElement;\n const rect = this.accessor.getClientRect();\n const viewport = this.viewport.getClientRect();\n\n if (rect === EMPTY_CLIENT_RECT) {\n return;\n }\n\n const safeLeft = tuiClamp(left, GAP, viewport.width - width - GAP);\n const [beakTop, beakLeft] = this.visualViewportService.correct([\n rect.top + rect.height / 2 - top,\n rect.left + rect.width / 2 - safeLeft,\n ]);\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 {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, Inject, Input, NgZone, OnChanges} from '@angular/core';\nimport {\n tuiIfMap,\n tuiIsNativeFocused,\n tuiIsPresent,\n tuiPure,\n tuiTypedFromEvent,\n tuiZoneOptimized,\n} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, of, ReplaySubject, timer} from 'rxjs';\nimport {\n debounce,\n distinctUntilChanged,\n map,\n skip,\n startWith,\n switchMap,\n} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiHintDescribe]',\n providers: [tuiAsDriver(TuiHintDescribeDirective)],\n})\nexport class TuiHintDescribeDirective extends TuiDriver implements OnChanges {\n private readonly id$ = new ReplaySubject(1);\n\n private readonly stream$ = this.id$.pipe(\n tuiIfMap(\n () =>\n tuiTypedFromEvent(this.doc, 'keydown', {\n capture: true,\n }),\n tuiIsPresent,\n ),\n switchMap(() =>\n this.focused\n ? of(false)\n : merge(\n tuiTypedFromEvent(this.doc, '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.zone),\n );\n\n @Input()\n tuiHintDescribe: string | '' | null = '';\n\n readonly type = 'hint';\n\n constructor(\n @Inject(NgZone) private readonly zone: NgZone,\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n ngOnChanges(): void {\n this.id$.next(this.tuiHintDescribe);\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.doc.getElementById(this.tuiHintDescribe || '') || this.el.nativeElement\n );\n }\n}\n","import {Directive, Inject, Self} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {AbstractTuiDriverDirective, TuiDriver, TuiVehicle} from '@taiga-ui/core/abstract';\nimport {Observable} from 'rxjs';\n\n@Directive({\n selector: '[tuiHint]',\n providers: [TuiDestroyService],\n})\nexport class TuiHintDriverDirective extends AbstractTuiDriverDirective {\n readonly type = 'hint';\n\n // TODO: Figure out why this is necessary under nx test runner\n constructor(\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(TuiDriver) drivers: TuiDriver[],\n @Inject(TuiVehicle) vehicles: TuiVehicle[],\n ) {\n super(destroy$, drivers, vehicles);\n }\n}\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 readonly type = 'hint';\n\n getClientRect(): ClientRect {\n return this.tuiHintHost?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n }\n}\n","import {Directive, Inject, Input, OnChanges} from '@angular/core';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {BehaviorSubject} from 'rxjs';\n\nimport {TuiHintHoverDirective} from './hint-hover.directive';\n\n@Directive({\n selector: '[tuiHint][tuiHintManual]',\n providers: [tuiAsDriver(TuiHintManualDirective)],\n})\nexport class TuiHintManualDirective extends TuiDriver implements OnChanges {\n private readonly stream$ = new BehaviorSubject(false);\n\n @Input()\n tuiHintManual = false;\n\n readonly type = 'hint';\n\n constructor(@Inject(TuiHintHoverDirective) hover: TuiHintHoverDirective) {\n super(subscriber => this.stream$.subscribe(subscriber));\n hover.enabled = false;\n }\n\n ngOnChanges(): void {\n this.stream$.next(this.tuiHintManual);\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT, tuiPure} from '@taiga-ui/cdk';\nimport {\n tuiAsPositionAccessor,\n tuiFallbackRectAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_HINT_DIRECTIONS} from '@taiga-ui/core/constants';\nimport {TUI_VIEWPORT} from '@taiga-ui/core/tokens';\nimport {TuiHintDirection, TuiPoint} from '@taiga-ui/core/types';\n\nimport {TuiHintDirective} from './hint.directive';\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 extends 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 direction: TuiHintOptions['direction'] = this.options.direction;\n\n readonly type = 'hint';\n\n constructor(\n @Inject(TUI_HINT_OPTIONS) private readonly options: TuiHintOptions,\n @Inject(TUI_VIEWPORT) private readonly viewport: TuiRectAccessor,\n @Inject(TuiHintDirective) private readonly directive: TuiRectAccessor,\n @Inject(TuiRectAccessor) private readonly accessors: readonly TuiRectAccessor[],\n ) {\n super();\n }\n\n // eslint-disable-next-line max-statements\n getPosition({width, height}: ClientRect): TuiPoint {\n const hostRect = this.accessor?.getClientRect() ?? EMPTY_CLIENT_RECT;\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 @tuiPure\n private get accessor(): TuiRectAccessor | undefined {\n return tuiFallbackRectAccessor('hint')(this.accessors, this.directive);\n }\n\n private get fallback(): TuiHintDirection {\n return this.points.top[TOP] >\n this.viewport.getClientRect().bottom - this.points.bottom[TOP]\n ? 'top'\n : 'bottom';\n }\n\n private checkPosition([top, left]: TuiPoint, width: number, height: number): boolean {\n const viewport = this.viewport.getClientRect();\n\n return (\n top > OFFSET &&\n left > OFFSET &&\n top + height < viewport.bottom - OFFSET &&\n left + width < viewport.right - 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,4 +1,5 @@
1
1
  import { TUI_CACHE_BUSTING_PAYLOAD, DEFAULT_ICONS_PATH, tuiEditingKeys } from '@taiga-ui/core/constants';
2
+ import { tuiGetElementObscures } from '@taiga-ui/cdk';
2
3
 
3
4
  const ITEM_SIZE = 1.5;
4
5
  const CONTENT_SIZE = 2.5;
@@ -37,6 +38,14 @@ function tuiIsEditingKey(key) {
37
38
  return key.length === 1 || tuiEditingKeys.includes(key);
38
39
  }
39
40
 
41
+ /**
42
+ * @internal
43
+ */
44
+ function tuiIsObscured(el, exceptSelector = `tui-hints-host`) {
45
+ var _a;
46
+ return !!((_a = tuiGetElementObscures(el)) === null || _a === void 0 ? void 0 : _a.some(el => !el.closest(exceptSelector)));
47
+ }
48
+
40
49
  function tuiIsPresumedHTMLString(candidate) {
41
50
  const trimmed = candidate.trim();
42
51
  return trimmed.startsWith(`<`) && trimmed.endsWith(`>`);
@@ -76,5 +85,5 @@ function tuiSizeBigger(size, biggerThanSize = `s`) {
76
85
  * Generated bundle index. Do not edit.
77
86
  */
78
87
 
79
- export { tuiGetBorder, tuiIconsPathFactory, tuiIsEditingKey, tuiIsPresumedHTMLString, tuiOverrideOptions, tuiSizeBigger };
88
+ export { tuiGetBorder, tuiIconsPathFactory, tuiIsEditingKey, tuiIsObscured, tuiIsPresumedHTMLString, tuiOverrideOptions, tuiSizeBigger };
80
89
  //# sourceMappingURL=taiga-ui-core-utils-miscellaneous.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-utils-miscellaneous.js","sources":["../../../projects/core/utils/miscellaneous/get-border.ts","../../../projects/core/utils/miscellaneous/icons-path-factory.ts","../../../projects/core/utils/miscellaneous/is-editing-key.ts","../../../projects/core/utils/miscellaneous/is-presumed-html-string.ts","../../../projects/core/utils/miscellaneous/override-options.ts","../../../projects/core/utils/miscellaneous/size-bigger.ts","../../../projects/core/utils/miscellaneous/taiga-ui-core-utils-miscellaneous.ts"],"sourcesContent":["import {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nconst ITEM_SIZE = 1.5;\nconst CONTENT_SIZE = 2.5;\n\nexport function tuiGetBorder(\n hasIcon: boolean,\n hasCleaner: boolean = false,\n hasTooltip: boolean = false,\n hasContent: boolean = false,\n size: TuiSizeL | TuiSizeS = `m`,\n): number {\n const offset = size === `s` ? 0 : 0.25;\n let border = 0;\n\n if (hasIcon) {\n border += ITEM_SIZE + offset;\n }\n\n if (hasCleaner) {\n border += ITEM_SIZE + offset;\n }\n\n if (hasTooltip) {\n border += ITEM_SIZE + offset;\n }\n\n if (hasContent) {\n border += CONTENT_SIZE + offset;\n }\n\n return border;\n}\n","import {TuiStringHandler} from '@taiga-ui/cdk';\nimport {DEFAULT_ICONS_PATH, TUI_CACHE_BUSTING_PAYLOAD} from '@taiga-ui/core/constants';\n\nexport function tuiIconsPathFactory(staticPath: string): TuiStringHandler<string> {\n const base = staticPath.endsWith(`/`) ? staticPath : `${staticPath}/`;\n\n return name => {\n if (name.startsWith(`tuiIcon`)) {\n return `${base}${name}.svg${TUI_CACHE_BUSTING_PAYLOAD}#${name}`;\n }\n\n return DEFAULT_ICONS_PATH(name);\n };\n}\n","import {tuiEditingKeys} from '@taiga-ui/core/constants';\n\n/**\n * Check if pressed key is interactive in terms of input field\n */\nexport function tuiIsEditingKey(key: string): boolean {\n return key.length === 1 || tuiEditingKeys.includes(key);\n}\n","export function tuiIsPresumedHTMLString(candidate: string): boolean {\n const trimmed = candidate.trim();\n\n return trimmed.startsWith(`<`) && trimmed.endsWith(`>`);\n}\n","export function tuiOverrideOptions<T>(\n override: Partial<T>,\n fallback: T,\n): (directive: T | null, options: T | null) => T {\n return (directive, options) => {\n const result = directive || {...(options || fallback)};\n\n Object.keys(override).forEach(key => {\n // Update directive props with new defaults before inputs are processed\n (result as any)[key] = override[key as keyof T];\n });\n\n return result;\n };\n}\n","import {TuiSizeXXL, TuiSizeXXS} from '@taiga-ui/core/types';\n\nconst SIZES: Record<TuiSizeXXL | TuiSizeXXS, number> = {\n xxs: 0,\n xs: 1,\n s: 2,\n m: 3,\n l: 4,\n xl: 5,\n xxl: 6,\n};\n\n/**\n * Compares size constants to determine if first size is bigger than the second\n *\n * @param size size that we need to compare\n * @param biggerThanSize size to compare with, 's' by default\n */\nexport function tuiSizeBigger(\n size: TuiSizeXXL | TuiSizeXXS,\n biggerThanSize: TuiSizeXXL | TuiSizeXXS = `s`,\n): boolean {\n return SIZES[size] > SIZES[biggerThanSize];\n}\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-utils-miscellaneous.js","sources":["../../../projects/core/utils/miscellaneous/get-border.ts","../../../projects/core/utils/miscellaneous/icons-path-factory.ts","../../../projects/core/utils/miscellaneous/is-editing-key.ts","../../../projects/core/utils/miscellaneous/is-obscured.ts","../../../projects/core/utils/miscellaneous/is-presumed-html-string.ts","../../../projects/core/utils/miscellaneous/override-options.ts","../../../projects/core/utils/miscellaneous/size-bigger.ts","../../../projects/core/utils/miscellaneous/taiga-ui-core-utils-miscellaneous.ts"],"sourcesContent":["import {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nconst ITEM_SIZE = 1.5;\nconst CONTENT_SIZE = 2.5;\n\nexport function tuiGetBorder(\n hasIcon: boolean,\n hasCleaner: boolean = false,\n hasTooltip: boolean = false,\n hasContent: boolean = false,\n size: TuiSizeL | TuiSizeS = `m`,\n): number {\n const offset = size === `s` ? 0 : 0.25;\n let border = 0;\n\n if (hasIcon) {\n border += ITEM_SIZE + offset;\n }\n\n if (hasCleaner) {\n border += ITEM_SIZE + offset;\n }\n\n if (hasTooltip) {\n border += ITEM_SIZE + offset;\n }\n\n if (hasContent) {\n border += CONTENT_SIZE + offset;\n }\n\n return border;\n}\n","import {TuiStringHandler} from '@taiga-ui/cdk';\nimport {DEFAULT_ICONS_PATH, TUI_CACHE_BUSTING_PAYLOAD} from '@taiga-ui/core/constants';\n\nexport function tuiIconsPathFactory(staticPath: string): TuiStringHandler<string> {\n const base = staticPath.endsWith(`/`) ? staticPath : `${staticPath}/`;\n\n return name => {\n if (name.startsWith(`tuiIcon`)) {\n return `${base}${name}.svg${TUI_CACHE_BUSTING_PAYLOAD}#${name}`;\n }\n\n return DEFAULT_ICONS_PATH(name);\n };\n}\n","import {tuiEditingKeys} from '@taiga-ui/core/constants';\n\n/**\n * Check if pressed key is interactive in terms of input field\n */\nexport function tuiIsEditingKey(key: string): boolean {\n return key.length === 1 || tuiEditingKeys.includes(key);\n}\n","import {tuiGetElementObscures} from '@taiga-ui/cdk';\n\n/**\n * @internal\n */\nexport function tuiIsObscured(\n el: HTMLElement,\n exceptSelector = `tui-hints-host`,\n): boolean {\n return !!tuiGetElementObscures(el)?.some(el => !el.closest(exceptSelector));\n}\n","export function tuiIsPresumedHTMLString(candidate: string): boolean {\n const trimmed = candidate.trim();\n\n return trimmed.startsWith(`<`) && trimmed.endsWith(`>`);\n}\n","export function tuiOverrideOptions<T>(\n override: Partial<T>,\n fallback: T,\n): (directive: T | null, options: T | null) => T {\n return (directive, options) => {\n const result = directive || {...(options || fallback)};\n\n Object.keys(override).forEach(key => {\n // Update directive props with new defaults before inputs are processed\n (result as any)[key] = override[key as keyof T];\n });\n\n return result;\n };\n}\n","import {TuiSizeXXL, TuiSizeXXS} from '@taiga-ui/core/types';\n\nconst SIZES: Record<TuiSizeXXL | TuiSizeXXS, number> = {\n xxs: 0,\n xs: 1,\n s: 2,\n m: 3,\n l: 4,\n xl: 5,\n xxl: 6,\n};\n\n/**\n * Compares size constants to determine if first size is bigger than the second\n *\n * @param size size that we need to compare\n * @param biggerThanSize size to compare with, 's' by default\n */\nexport function tuiSizeBigger(\n size: TuiSizeXXL | TuiSizeXXS,\n biggerThanSize: TuiSizeXXL | TuiSizeXXS = `s`,\n): boolean {\n return SIZES[size] > SIZES[biggerThanSize];\n}\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.48.0",
3
+ "version": "3.49.0",
4
4
  "description": "Core library for creating Angular components and applications using Taiga UI",
5
5
  "keywords": [
6
6
  "angular",
@@ -15,7 +15,7 @@
15
15
  "repository": "https://github.com/taiga-family/taiga-ui",
16
16
  "license": "Apache-2.0",
17
17
  "dependencies": {
18
- "@taiga-ui/i18n": "^3.48.0",
18
+ "@taiga-ui/i18n": "^3.49.0",
19
19
  "tslib": ">=2.0.0"
20
20
  },
21
21
  "peerDependencies": {
@@ -27,8 +27,8 @@
27
27
  "@angular/router": ">=12.0.0",
28
28
  "@ng-web-apis/common": ">=3.0.0",
29
29
  "@ng-web-apis/mutation-observer": ">=3.0.0",
30
- "@taiga-ui/cdk": ">=3.48.0",
31
- "@taiga-ui/i18n": ">=3.48.0",
30
+ "@taiga-ui/cdk": ">=3.49.0",
31
+ "@taiga-ui/i18n": ">=3.49.0",
32
32
  "@tinkoff/ng-event-plugins": ">=3.1.0",
33
33
  "@tinkoff/ng-polymorpheus": ">=4.0.0",
34
34
  "rxjs": ">=6.0.0"
@@ -0,0 +1,23 @@
1
+ .firefox-only(@ruleset) {
2
+ @supports (-moz-appearance: none) {
3
+ @ruleset();
4
+ }
5
+ }
6
+
7
+ .safari-only(@ruleset) {
8
+ @supports (-webkit-hyphens: none) {
9
+ @ruleset();
10
+ }
11
+ }
12
+
13
+ .ios-only(@ruleset) {
14
+ @supports (-webkit-touch-callout: none) {
15
+ @ruleset();
16
+ }
17
+ }
18
+
19
+ .chrome-only(@ruleset) {
20
+ @supports (not (-moz-appearance: none)) and (not (-webkit-hyphens: none)) {
21
+ @ruleset();
22
+ }
23
+ }
@@ -0,0 +1,23 @@
1
+ @mixin firefox-only {
2
+ @supports (-moz-appearance: none) {
3
+ @content;
4
+ }
5
+ }
6
+
7
+ @mixin safari-only {
8
+ @supports (-webkit-hyphens: none) {
9
+ @content;
10
+ }
11
+ }
12
+
13
+ @mixin ios-only {
14
+ @supports (-webkit-touch-callout: none) {
15
+ @content;
16
+ }
17
+ }
18
+
19
+ @mixin chrome-only {
20
+ @supports (not (-moz-appearance: none)) and (not (-webkit-hyphens: none)) {
21
+ @content;
22
+ }
23
+ }
@@ -246,7 +246,7 @@
246
246
  }
247
247
 
248
248
  // transition
249
- .transition(@param, @speed: var(--tui-duration, 300ms)) {
249
+ .transition(@param: all, @speed: var(--tui-duration, 300ms)) {
250
250
  transition-property: @param;
251
251
  transition-duration: @speed;
252
252
  transition-timing-function: ease-in-out;
@@ -273,7 +273,7 @@
273
273
 
274
274
  .hoverable-with-shadow() {
275
275
  .shadow();
276
- .transition(all);
276
+ .transition();
277
277
  cursor: pointer;
278
278
  transition-property: transform, box-shadow;
279
279
  will-change: transform, box-shadow;
@@ -312,6 +312,7 @@
312
312
  }
313
313
  }
314
314
 
315
+ // @deprecated use isolation: isolate instead
315
316
  .createStackingContext() {
316
317
  position: relative;
317
318
  z-index: 0;
@@ -229,7 +229,7 @@
229
229
  }
230
230
 
231
231
  // transition
232
- @mixin transition($param, $speed: var(--tui-duration, 300ms)) {
232
+ @mixin transition($param: all, $speed: var(--tui-duration, 300ms)) {
233
233
  transition-property: $param;
234
234
  transition-duration: $speed;
235
235
  transition-timing-function: ease-in-out;
@@ -295,6 +295,7 @@
295
295
  }
296
296
  }
297
297
 
298
+ // @deprecated use isolation: isolate instead
298
299
  @mixin createStackingContext() {
299
300
  position: relative;
300
301
  z-index: 0;
@@ -5,10 +5,11 @@
5
5
  }
6
6
 
7
7
  .t-row {
8
- .createStackingContext();
8
+ position: relative;
9
9
  display: flex;
10
10
  justify-content: space-between;
11
11
  height: 2.25rem;
12
+ isolation: isolate;
12
13
  }
13
14
 
14
15
  .t-item {
@@ -5,10 +5,11 @@
5
5
  }
6
6
 
7
7
  .t-row {
8
- @include createStackingContext();
8
+ position: relative;
9
9
  display: flex;
10
10
  justify-content: space-between;
11
11
  height: 2.25rem;
12
+ isolation: isolate;
12
13
  }
13
14
 
14
15
  .t-item {
@@ -169,6 +169,12 @@
169
169
  .textfield-placeholder() {
170
170
  .transition(~'transform, font-size, color, letter-spacing');
171
171
  .text-overflow();
172
+ .safari-only({
173
+ & {
174
+ will-change: unset;
175
+ transition-property: transform, color, letter-spacing;
176
+ }
177
+ });
172
178
  display: block;
173
179
  width: 100%;
174
180
  user-select: none;
@@ -234,13 +240,6 @@
234
240
  :host[data-size='l']._focused._label-outside [tuiWrapper][data-mode='onDark'] & {
235
241
  color: var(--tui-text-02-night);
236
242
  }
237
-
238
- @supports (-webkit-hyphens: none) {
239
- & {
240
- will-change: unset;
241
- transition-property: transform, color, letter-spacing;
242
- }
243
- }
244
243
  }
245
244
 
246
245
  .input-icon() {
@@ -236,7 +236,7 @@ $line-height-l: 1.25rem;
236
236
  color: var(--tui-text-02-night);
237
237
  }
238
238
 
239
- @supports (-webkit-hyphens: none) {
239
+ @include safari-only {
240
240
  & {
241
241
  will-change: unset;
242
242
  transition-property: transform, color, letter-spacing;
@@ -1,5 +1,9 @@
1
+ /**
2
+ * @deprecated remove in 4.0
3
+ */
1
4
  @space: 0.25rem;
2
5
 
6
+ @import 'mixins/browsers.less';
3
7
  @import 'mixins/mixins.less';
4
8
  @import 'mixins/picker.less';
5
9
  @import 'mixins/slider.less';
@@ -1,5 +1,9 @@
1
- $space: 4px;
1
+ /**
2
+ * @deprecated remove in 4.0
3
+ */
4
+ $space: 0.25rem;
2
5
 
6
+ @import 'mixins/browsers.scss';
3
7
  @import 'mixins/mixins.scss';
4
8
  @import 'mixins/picker.scss';
5
9
  @import 'mixins/slider.scss';
@@ -33,10 +33,10 @@
33
33
  });
34
34
 
35
35
  // Temporary hide focus in Safari until we figure out a better approach
36
- @supports (-webkit-hyphens: none) {
36
+ .safari-only({
37
37
  :focus-visible &,
38
38
  &:focus-visible {
39
39
  --tui-focus: transparent !important;
40
40
  }
41
- }
41
+ });
42
42
  }
@@ -1,6 +1,7 @@
1
1
  export * from './get-border';
2
2
  export * from './icons-path-factory';
3
3
  export * from './is-editing-key';
4
+ export * from './is-obscured';
4
5
  export * from './is-presumed-html-string';
5
6
  export * from './override-options';
6
7
  export * from './size-bigger';
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ export declare function tuiIsObscured(el: HTMLElement, exceptSelector?: string): boolean;