@taiga-ui/core 3.7.0 → 3.8.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 (66) hide show
  1. package/bundles/taiga-ui-core-abstract.umd.js +2 -1
  2. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-alert.umd.js +1 -1
  4. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-button.umd.js +1 -1
  6. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-data-list.umd.js +1 -1
  8. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-notification.umd.js +1 -1
  10. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +7 -3
  12. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-root.umd.js +1 -1
  14. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +18 -19
  15. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  16. package/bundles/taiga-ui-core-directives-dropdown.umd.js +1 -1
  17. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  18. package/bundles/taiga-ui-core-directives-hint.umd.js +1 -1
  19. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  20. package/bundles/taiga-ui-core-tokens.umd.js +5 -0
  21. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  22. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  23. package/components/primitive-calendar/primitive-calendar.component.d.ts +3 -2
  24. package/esm2015/abstract/abstract-textfield-host.js +3 -2
  25. package/esm2015/components/alert/alert.component.js +2 -2
  26. package/esm2015/components/button/button.component.js +1 -1
  27. package/esm2015/components/data-list/option/option.component.js +1 -1
  28. package/esm2015/components/notification/notification.component.js +1 -1
  29. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +9 -5
  30. package/esm2015/components/root/root.component.js +1 -1
  31. package/esm2015/components/scroll-controls/scrollbar.directive.js +3 -4
  32. package/esm2015/directives/dropdown/dropdown-selection.directive.js +1 -1
  33. package/esm2015/directives/dropdown/dropdown.component.js +2 -2
  34. package/esm2015/directives/hint/hint.component.js +2 -2
  35. package/esm2015/tokens/day-type-handler.js +5 -0
  36. package/esm2015/tokens/index.js +2 -1
  37. package/esm2015/utils/dom/get-safe-area-size.js +1 -1
  38. package/fesm2015/taiga-ui-core-abstract.js +2 -1
  39. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  40. package/fesm2015/taiga-ui-core-components-alert.js +1 -1
  41. package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
  42. package/fesm2015/taiga-ui-core-components-button.js +1 -1
  43. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  44. package/fesm2015/taiga-ui-core-components-data-list.js +1 -1
  45. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  46. package/fesm2015/taiga-ui-core-components-notification.js +1 -1
  47. package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
  48. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +8 -4
  49. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  50. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  51. package/fesm2015/taiga-ui-core-components-scroll-controls.js +2 -3
  52. package/fesm2015/taiga-ui-core-components-scroll-controls.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 +1 -1
  56. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  57. package/fesm2015/taiga-ui-core-tokens.js +5 -1
  58. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  59. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  60. package/package.json +4 -4
  61. package/styles/mixins/mixins.less +14 -1
  62. package/styles/mixins/mixins.scss +5 -18
  63. package/styles/taiga-ui-theme.less +1 -0
  64. package/styles/theme/calendar.less +7 -0
  65. package/tokens/day-type-handler.d.ts +3 -0
  66. package/tokens/index.d.ts +1 -0
@@ -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} 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 @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<any>>(\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<object, object>,\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 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} 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 @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<any>>(\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<object, object>,\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 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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"}
@@ -40,6 +40,10 @@ function tuiAsDataListHost(useExisting) {
40
40
  };
41
41
  }
42
42
 
43
+ const TUI_DAY_TYPE_HANDLER = new InjectionToken(`[TUI_DAY_TYPE_HANDLER]: Token for adding data-type attribute to calendar cell`, {
44
+ factory: () => (day) => day.isWeekend ? `weekend` : `weekday`,
45
+ });
46
+
43
47
  const TUI_DOCUMENT_OR_SHADOW_ROOT = new InjectionToken(`[TUI_DOCUMENT_OR_SHADOW_ROOT]: Document or ShadowRoot`);
44
48
 
45
49
  const TUI_ELEMENT_REF = new InjectionToken(`[TUI_ELEMENT_REF]: ElementRef when you cannot use @Input for single time injection`);
@@ -188,5 +192,5 @@ const TUI_VALUE_ACCESSOR = new InjectionToken(`[TUI_VALUE_ACCESSOR]: Buffer toke
188
192
  * Generated bundle index. Do not edit.
189
193
  */
190
194
 
191
- export { TUI_ANIMATIONS_DURATION, TUI_ANIMATION_OPTIONS, TUI_ASSERT_ENABLED, TUI_CLOSE_WORD, TUI_DATA_LIST_ACCESSOR, TUI_DATA_LIST_HOST, TUI_DEFAULT_ERROR_MESSAGE, TUI_DOCUMENT_OR_SHADOW_ROOT, TUI_ELEMENT_REF, TUI_FIRST_DAY_OF_WEEK, TUI_ICONS, TUI_ICONS_PATH, TUI_ICONS_PLACE, TUI_IS_MOBILE_RES, TUI_MEDIA, TUI_MODE, TUI_MONTHS, TUI_NOTHING_FOUND_MESSAGE, TUI_NOTIFICATION_DEFAULT_OPTIONS, TUI_NOTIFICATION_OPTIONS, TUI_NUMBER_FORMAT, TUI_OPTION_CONTENT, TUI_ORDERED_SHORT_WEEK_DAYS, TUI_SANITIZER, TUI_SCROLL_REF, TUI_SELECTION_STREAM, TUI_SHORT_WEEK_DAYS, TUI_SPIN_TEXTS, TUI_SVG_CONTENT_PROCESSOR, TUI_SVG_SRC_PROCESSOR, TUI_TEXTFIELD_APPEARANCE, TUI_TEXTFIELD_HOST, TUI_THEME, TUI_VALUE_ACCESSOR, tuiAsDataListAccessor, tuiAsDataListHost, tuiAsOptionContent, tuiAsTextfieldHost, tuiNotificationOptionsProvider };
195
+ export { TUI_ANIMATIONS_DURATION, TUI_ANIMATION_OPTIONS, TUI_ASSERT_ENABLED, TUI_CLOSE_WORD, TUI_DATA_LIST_ACCESSOR, TUI_DATA_LIST_HOST, TUI_DAY_TYPE_HANDLER, TUI_DEFAULT_ERROR_MESSAGE, TUI_DOCUMENT_OR_SHADOW_ROOT, TUI_ELEMENT_REF, TUI_FIRST_DAY_OF_WEEK, TUI_ICONS, TUI_ICONS_PATH, TUI_ICONS_PLACE, TUI_IS_MOBILE_RES, TUI_MEDIA, TUI_MODE, TUI_MONTHS, TUI_NOTHING_FOUND_MESSAGE, TUI_NOTIFICATION_DEFAULT_OPTIONS, TUI_NOTIFICATION_OPTIONS, TUI_NUMBER_FORMAT, TUI_OPTION_CONTENT, TUI_ORDERED_SHORT_WEEK_DAYS, TUI_SANITIZER, TUI_SCROLL_REF, TUI_SELECTION_STREAM, TUI_SHORT_WEEK_DAYS, TUI_SPIN_TEXTS, TUI_SVG_CONTENT_PROCESSOR, TUI_SVG_SRC_PROCESSOR, TUI_TEXTFIELD_APPEARANCE, TUI_TEXTFIELD_HOST, TUI_THEME, TUI_VALUE_ACCESSOR, tuiAsDataListAccessor, tuiAsDataListHost, tuiAsOptionContent, tuiAsTextfieldHost, tuiNotificationOptionsProvider };
192
196
  //# sourceMappingURL=taiga-ui-core-tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-tokens.js","sources":["../../../projects/core/tokens/animations-duration.ts","../../../projects/core/tokens/animation-options.ts","../../../projects/core/tokens/assert-enabled.ts","../../../projects/core/tokens/data-list-accessor.ts","../../../projects/core/tokens/data-list-host.ts","../../../projects/core/tokens/document-or-shadow-root.ts","../../../projects/core/tokens/element-ref.ts","../../../projects/core/tokens/first-day-of-week.ts","../../../projects/core/tokens/i18n.ts","../../../projects/core/tokens/icon-place.ts","../../../projects/core/tokens/icons.ts","../../../projects/core/tokens/icons-path.ts","../../../projects/core/tokens/media.ts","../../../projects/core/tokens/is-mobile-resolution.ts","../../../projects/core/tokens/mode.ts","../../../projects/core/tokens/notification-options.ts","../../../projects/core/tokens/number-format.ts","../../../projects/core/tokens/option-content.ts","../../../projects/core/tokens/ordered-short-week-days.ts","../../../projects/core/tokens/sanitizer.ts","../../../projects/core/tokens/scroll-ref.ts","../../../projects/core/tokens/selection-stream.ts","../../../projects/core/tokens/svg-content-processor.ts","../../../projects/core/tokens/svg-src-processor.ts","../../../projects/core/tokens/textfield-appearance.ts","../../../projects/core/tokens/textfield-host.ts","../../../projects/core/tokens/theme.ts","../../../projects/core/tokens/value-accessor.ts","../../../projects/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\n\nexport const TUI_ANIMATIONS_DURATION = new InjectionToken<number>(\n `[TUI_ANIMATIONS_DURATION]: Duration of all Taiga UI animations in ms`,\n {\n factory: () => 300,\n },\n);\n","import {AnimationOptions} from '@angular/animations';\nimport {inject, InjectionToken} from '@angular/core';\n\nimport {TUI_ANIMATIONS_DURATION} from './animations-duration';\n\nexport const TUI_ANIMATION_OPTIONS = new InjectionToken<AnimationOptions>(\n `[TUI_ANIMATION_OPTIONS]: Options for Taiga UI animations`,\n {\n factory: () => ({\n params: {\n duration: inject(TUI_ANIMATIONS_DURATION),\n },\n }),\n },\n);\n","import {InjectionToken, isDevMode} from '@angular/core';\n\nexport const TUI_ASSERT_ENABLED = new InjectionToken(\n `[TUI_ASSERT_ENABLED]: Flag to enable assertions across Taiga UI`,\n {\n factory: () => isDevMode(),\n },\n);\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n `[TUI_DATA_LIST_ACCESSOR]: Accessor for options`,\n);\n\nexport function tuiAsDataListAccessor(useExisting: Type<TuiDataListAccessor>): Provider {\n return {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting,\n };\n}\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<unknown>>(\n `[TUI_DATA_LIST_HOST]: DataList controller`,\n);\n\nexport function tuiAsDataListHost(useExisting: Type<TuiDataListHost<unknown>>): Provider {\n return {\n provide: TUI_DATA_LIST_HOST,\n useExisting,\n };\n}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOCUMENT_OR_SHADOW_ROOT = new InjectionToken<DocumentOrShadowRoot>(\n `[TUI_DOCUMENT_OR_SHADOW_ROOT]: Document or ShadowRoot`,\n);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\nexport const TUI_ELEMENT_REF = new InjectionToken<ElementRef>(\n `[TUI_ELEMENT_REF]: ElementRef when you cannot use @Input for single time injection`,\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDayOfWeek} from '@taiga-ui/cdk';\n\nexport const TUI_FIRST_DAY_OF_WEEK = new InjectionToken<TuiDayOfWeek>(\n `[TUI_FIRST_DAY_OF_WEEK]: The first day of the week index`,\n {\n factory: () => TuiDayOfWeek.Monday,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {tuiExtractI18n} from '@taiga-ui/i18n';\n\nexport const TUI_MONTHS = new InjectionToken(`[TUI_MONTHS]: Localized months names`, {\n factory: tuiExtractI18n(`months`),\n});\n\nexport const TUI_CLOSE_WORD = new InjectionToken(`[TUI_CLOSE_WORD]: i18n 'close' word`, {\n factory: tuiExtractI18n(`close`),\n});\n\nexport const TUI_NOTHING_FOUND_MESSAGE = new InjectionToken(\n `[TUI_NOTHING_FOUND_MESSAGE]: i18n 'Nothing found' message`,\n {\n factory: tuiExtractI18n(`nothingFoundMessage`),\n },\n);\n\nexport const TUI_DEFAULT_ERROR_MESSAGE = new InjectionToken(\n `[TUI_DEFAULT_ERROR_MESSAGE]: i18n of error message`,\n {\n factory: tuiExtractI18n(`defaultErrorMessage`),\n },\n);\n\nexport const TUI_SPIN_TEXTS = new InjectionToken(`[TUI_SPIN_TEXTS]: spin i18n texts`, {\n factory: tuiExtractI18n(`spinTexts`),\n});\n\nexport const TUI_SHORT_WEEK_DAYS = new InjectionToken(\n `[TUI_SHORT_WEEK_DAYS]: calendars i18n texts`,\n {\n factory: tuiExtractI18n(`shortWeekDays`),\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_ICONS_PLACE: InjectionToken<string> = new InjectionToken<string>(\n `[TUI_ICONS_PLACE]: Recommended paths to icons from documentation guide`,\n {\n factory: () => `assets/taiga-ui/icons`,\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_ICONS = new InjectionToken<Record<string, string>>(\n `[TUI_ICONS]: A key/value dictionary of icon names and src to be defined with TuiSvgService`,\n {\n factory: () => ({}),\n },\n);\n","import {inject, InjectionToken} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\n\nimport {TUI_ICONS_PLACE} from './icon-place';\n\nexport const TUI_ICONS_PATH: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>(\n `[TUI_ICONS_PATH]: A handler to retrieve USE id for icon by name`,\n {factory: () => tuiIconsPathFactory(inject(TUI_ICONS_PLACE))},\n );\n","import {InjectionToken} from '@angular/core';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\n\nexport const TUI_MEDIA = new InjectionToken<TuiMedia>(\n `[TUI_MEDIA]: Token for media constant`,\n {\n factory: () => ({\n mobile: 768,\n desktopSmall: 1024,\n desktopLarge: 1280,\n }),\n },\n);\n","import {inject, InjectionToken, NgZone} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent, tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {tuiIsMobile} from '@taiga-ui/core/utils';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, share, startWith} from 'rxjs/operators';\n\nimport {TUI_MEDIA} from './media';\n\nexport const TUI_IS_MOBILE_RES = new InjectionToken<Observable<boolean>>(\n `[TUI_IS_MOBILE_RES]: Mobile resolution stream for private providers`,\n {\n factory: () => {\n const windowRef = inject(WINDOW);\n const media = inject(TUI_MEDIA);\n\n return tuiTypedFromEvent(windowRef, `resize`).pipe(\n share(),\n startWith(null),\n map(() => tuiIsMobile(windowRef, media)),\n distinctUntilChanged(),\n tuiZoneOptimized(inject(NgZone)),\n );\n },\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\nexport const TUI_MODE: InjectionToken<Observable<TuiBrightness | null>> =\n new InjectionToken<Observable<TuiBrightness | null>>(\n `[TUI_MODE]: Mode stream for private providers`,\n );\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiNotification} from '@taiga-ui/core/enums';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\n\nexport interface TuiNotificationDefaultOptions\n extends Omit<TuiAlertOptions<unknown>, 'data'> {\n readonly defaultAutoCloseTime: number;\n}\n\n/** Default values for the notification options. */\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: TuiNotificationDefaultOptions = {\n autoClose: true,\n label: ``,\n status: TuiNotification.Info,\n hasIcon: true,\n hasCloseButton: true,\n defaultAutoCloseTime: 3000,\n};\n\nexport const TUI_NOTIFICATION_OPTIONS = new InjectionToken<TuiNotificationDefaultOptions>(\n `[TUI_NOTIFICATION_OPTIONS]: Default parameters for notification alert component`,\n {\n factory: () => TUI_NOTIFICATION_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiNotificationOptionsProvider(\n options: Partial<TuiNotificationDefaultOptions>,\n): ValueProvider {\n return {\n provide: TUI_NOTIFICATION_OPTIONS,\n useValue: {...TUI_NOTIFICATION_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {InjectionToken} from '@angular/core';\nimport {TUI_DEFAULT_NUMBER_FORMAT} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport const TUI_NUMBER_FORMAT = new InjectionToken<TuiNumberFormatSettings>(\n `[TUI_NUMBER_FORMAT]: Formatting configuration for displayed numbers`,\n {\n factory: () => TUI_DEFAULT_NUMBER_FORMAT,\n },\n);\n","import {InjectionToken, Provider, TemplateRef} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>>\n>(`[TUI_OPTION_CONTENT]: Content for tuiOption component`);\n\nexport function tuiAsOptionContent(\n useValue: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n >,\n): Provider {\n return {\n provide: TUI_OPTION_CONTENT,\n useValue,\n };\n}\n","/**\n * TODO: v4.0 delete the whole file\n */\nimport {inject, InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_FIRST_DAY_OF_WEEK} from './first-day-of-week';\nimport {TUI_SHORT_WEEK_DAYS} from './i18n';\n\n/**\n * @deprecated\n */\nexport type WEEK_DAYS_NAMES = [string, string, string, string, string, string, string];\n\nconst convertToSundayFirstWeekFormat = (\n weekDaysNames: WEEK_DAYS_NAMES,\n): WEEK_DAYS_NAMES => {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [\n weekDaysNames[sundayIndex],\n ...weekDaysNames.slice(0, sundayIndex),\n ] as WEEK_DAYS_NAMES;\n};\n\n/**\n * @deprecated\n */\nexport const TUI_ORDERED_SHORT_WEEK_DAYS = new InjectionToken<\n Observable<WEEK_DAYS_NAMES>\n>(`[TUI_ORDERED_SHORT_WEEK_DAYS]: Ordered calendars i18n texts`, {\n factory: () => {\n const firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);\n\n return inject(TUI_SHORT_WEEK_DAYS).pipe(\n map(convertToSundayFirstWeekFormat),\n map(\n weekDays =>\n [\n ...weekDays.slice(firstDayOfWeekIndex),\n ...weekDays.slice(0, firstDayOfWeekIndex),\n ] as WEEK_DAYS_NAMES,\n ),\n );\n },\n});\n","import {InjectionToken, Sanitizer} from '@angular/core';\n\nexport const TUI_SANITIZER = new InjectionToken<Sanitizer>(\n `[TUI_SANITIZER]: A custom Sanitizer to sanitize source before inlining`,\n);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\nexport const TUI_SCROLL_REF = new InjectionToken<ElementRef<HTMLElement>>(\n `[TUI_SCROLL_REF]: Scrollable container`,\n);\n","import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {share, switchMapTo, takeUntil} from 'rxjs/operators';\n\nexport const TUI_SELECTION_STREAM = new InjectionToken<Observable<unknown>>(\n `[TUI_SELECTION_STREAM]: A stream of possible selection changes`,\n {\n factory: () => {\n const documentRef = inject(DOCUMENT);\n\n return merge(\n tuiTypedFromEvent(documentRef, `selectionchange`),\n tuiTypedFromEvent(documentRef, `mouseup`),\n tuiTypedFromEvent(documentRef, `mousedown`).pipe(\n switchMapTo(\n tuiTypedFromEvent(documentRef, `mousemove`).pipe(\n takeUntil(tuiTypedFromEvent(documentRef, `mouseup`)),\n ),\n ),\n ),\n tuiTypedFromEvent(documentRef, `keydown`),\n tuiTypedFromEvent(documentRef, `keyup`),\n ).pipe(share());\n },\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiStringHandler, tuiSvgLinearGradientProcessor} from '@taiga-ui/cdk';\n\nexport const TUI_SVG_CONTENT_PROCESSOR: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>(\n `[TUI_SVG_CONTENT_PROCESSOR]: Transform function the contents of the loaded svg file`,\n {factory: () => tuiSvgLinearGradientProcessor},\n );\n","import {InjectionToken} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\nexport const TUI_SVG_SRC_PROCESSOR: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>(\n `[TUI_SVG_SRC_PROCESSOR]: Source path processor for svg`,\n {\n factory: () => identity,\n },\n );\n","import {InjectionToken} from '@angular/core';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\n\nexport const TUI_TEXTFIELD_APPEARANCE = new InjectionToken<string>(\n `[TUI_TEXTFIELD_APPEARANCE]: Appearance for inputs`,\n {\n factory: () => TuiAppearance.Textfield,\n },\n);\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\n\nexport const TUI_TEXTFIELD_HOST = new InjectionToken<TuiTextfieldHost>(\n `[TUI_TEXTFIELD_HOST]: An interface to communicate with textfield based controls`,\n);\n\nexport function tuiAsTextfieldHost(useExisting: Type<TuiTextfieldHost>): Provider {\n return {\n provide: TUI_TEXTFIELD_HOST,\n useExisting,\n };\n}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_THEME = new InjectionToken<string>(`[TUI_THEME]: Theme name`, {\n factory: () => `Taiga`,\n});\n","import {InjectionToken} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\n\nexport const TUI_VALUE_ACCESSOR = new InjectionToken<ControlValueAccessor>(\n `[TUI_VALUE_ACCESSOR]: Buffer token to pass NG_VALUE_ACCESSOR to a different Injector`,\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-tokens.js","sources":["../../../projects/core/tokens/animations-duration.ts","../../../projects/core/tokens/animation-options.ts","../../../projects/core/tokens/assert-enabled.ts","../../../projects/core/tokens/data-list-accessor.ts","../../../projects/core/tokens/data-list-host.ts","../../../projects/core/tokens/day-type-handler.ts","../../../projects/core/tokens/document-or-shadow-root.ts","../../../projects/core/tokens/element-ref.ts","../../../projects/core/tokens/first-day-of-week.ts","../../../projects/core/tokens/i18n.ts","../../../projects/core/tokens/icon-place.ts","../../../projects/core/tokens/icons.ts","../../../projects/core/tokens/icons-path.ts","../../../projects/core/tokens/media.ts","../../../projects/core/tokens/is-mobile-resolution.ts","../../../projects/core/tokens/mode.ts","../../../projects/core/tokens/notification-options.ts","../../../projects/core/tokens/number-format.ts","../../../projects/core/tokens/option-content.ts","../../../projects/core/tokens/ordered-short-week-days.ts","../../../projects/core/tokens/sanitizer.ts","../../../projects/core/tokens/scroll-ref.ts","../../../projects/core/tokens/selection-stream.ts","../../../projects/core/tokens/svg-content-processor.ts","../../../projects/core/tokens/svg-src-processor.ts","../../../projects/core/tokens/textfield-appearance.ts","../../../projects/core/tokens/textfield-host.ts","../../../projects/core/tokens/theme.ts","../../../projects/core/tokens/value-accessor.ts","../../../projects/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\n\nexport const TUI_ANIMATIONS_DURATION = new InjectionToken<number>(\n `[TUI_ANIMATIONS_DURATION]: Duration of all Taiga UI animations in ms`,\n {\n factory: () => 300,\n },\n);\n","import {AnimationOptions} from '@angular/animations';\nimport {inject, InjectionToken} from '@angular/core';\n\nimport {TUI_ANIMATIONS_DURATION} from './animations-duration';\n\nexport const TUI_ANIMATION_OPTIONS = new InjectionToken<AnimationOptions>(\n `[TUI_ANIMATION_OPTIONS]: Options for Taiga UI animations`,\n {\n factory: () => ({\n params: {\n duration: inject(TUI_ANIMATIONS_DURATION),\n },\n }),\n },\n);\n","import {InjectionToken, isDevMode} from '@angular/core';\n\nexport const TUI_ASSERT_ENABLED = new InjectionToken(\n `[TUI_ASSERT_ENABLED]: Flag to enable assertions across Taiga UI`,\n {\n factory: () => isDevMode(),\n },\n);\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n `[TUI_DATA_LIST_ACCESSOR]: Accessor for options`,\n);\n\nexport function tuiAsDataListAccessor(useExisting: Type<TuiDataListAccessor>): Provider {\n return {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting,\n };\n}\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<unknown>>(\n `[TUI_DATA_LIST_HOST]: DataList controller`,\n);\n\nexport function tuiAsDataListHost(useExisting: Type<TuiDataListHost<unknown>>): Provider {\n return {\n provide: TUI_DATA_LIST_HOST,\n useExisting,\n };\n}\n","import {InjectionToken} from '@angular/core';\nimport {TuiDay, TuiHandler} from '@taiga-ui/cdk';\n\nexport const TUI_DAY_TYPE_HANDLER = new InjectionToken<TuiHandler<TuiDay, string>>(\n `[TUI_DAY_TYPE_HANDLER]: Token for adding data-type attribute to calendar cell`,\n {\n factory: () => (day: TuiDay) => day.isWeekend ? `weekend` : `weekday`,\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOCUMENT_OR_SHADOW_ROOT = new InjectionToken<DocumentOrShadowRoot>(\n `[TUI_DOCUMENT_OR_SHADOW_ROOT]: Document or ShadowRoot`,\n);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\nexport const TUI_ELEMENT_REF = new InjectionToken<ElementRef>(\n `[TUI_ELEMENT_REF]: ElementRef when you cannot use @Input for single time injection`,\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDayOfWeek} from '@taiga-ui/cdk';\n\nexport const TUI_FIRST_DAY_OF_WEEK = new InjectionToken<TuiDayOfWeek>(\n `[TUI_FIRST_DAY_OF_WEEK]: The first day of the week index`,\n {\n factory: () => TuiDayOfWeek.Monday,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {tuiExtractI18n} from '@taiga-ui/i18n';\n\nexport const TUI_MONTHS = new InjectionToken(`[TUI_MONTHS]: Localized months names`, {\n factory: tuiExtractI18n(`months`),\n});\n\nexport const TUI_CLOSE_WORD = new InjectionToken(`[TUI_CLOSE_WORD]: i18n 'close' word`, {\n factory: tuiExtractI18n(`close`),\n});\n\nexport const TUI_NOTHING_FOUND_MESSAGE = new InjectionToken(\n `[TUI_NOTHING_FOUND_MESSAGE]: i18n 'Nothing found' message`,\n {\n factory: tuiExtractI18n(`nothingFoundMessage`),\n },\n);\n\nexport const TUI_DEFAULT_ERROR_MESSAGE = new InjectionToken(\n `[TUI_DEFAULT_ERROR_MESSAGE]: i18n of error message`,\n {\n factory: tuiExtractI18n(`defaultErrorMessage`),\n },\n);\n\nexport const TUI_SPIN_TEXTS = new InjectionToken(`[TUI_SPIN_TEXTS]: spin i18n texts`, {\n factory: tuiExtractI18n(`spinTexts`),\n});\n\nexport const TUI_SHORT_WEEK_DAYS = new InjectionToken(\n `[TUI_SHORT_WEEK_DAYS]: calendars i18n texts`,\n {\n factory: tuiExtractI18n(`shortWeekDays`),\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_ICONS_PLACE: InjectionToken<string> = new InjectionToken<string>(\n `[TUI_ICONS_PLACE]: Recommended paths to icons from documentation guide`,\n {\n factory: () => `assets/taiga-ui/icons`,\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_ICONS = new InjectionToken<Record<string, string>>(\n `[TUI_ICONS]: A key/value dictionary of icon names and src to be defined with TuiSvgService`,\n {\n factory: () => ({}),\n },\n);\n","import {inject, InjectionToken} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\n\nimport {TUI_ICONS_PLACE} from './icon-place';\n\nexport const TUI_ICONS_PATH: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>(\n `[TUI_ICONS_PATH]: A handler to retrieve USE id for icon by name`,\n {factory: () => tuiIconsPathFactory(inject(TUI_ICONS_PLACE))},\n );\n","import {InjectionToken} from '@angular/core';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\n\nexport const TUI_MEDIA = new InjectionToken<TuiMedia>(\n `[TUI_MEDIA]: Token for media constant`,\n {\n factory: () => ({\n mobile: 768,\n desktopSmall: 1024,\n desktopLarge: 1280,\n }),\n },\n);\n","import {inject, InjectionToken, NgZone} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent, tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {tuiIsMobile} from '@taiga-ui/core/utils';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, share, startWith} from 'rxjs/operators';\n\nimport {TUI_MEDIA} from './media';\n\nexport const TUI_IS_MOBILE_RES = new InjectionToken<Observable<boolean>>(\n `[TUI_IS_MOBILE_RES]: Mobile resolution stream for private providers`,\n {\n factory: () => {\n const windowRef = inject(WINDOW);\n const media = inject(TUI_MEDIA);\n\n return tuiTypedFromEvent(windowRef, `resize`).pipe(\n share(),\n startWith(null),\n map(() => tuiIsMobile(windowRef, media)),\n distinctUntilChanged(),\n tuiZoneOptimized(inject(NgZone)),\n );\n },\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\nexport const TUI_MODE: InjectionToken<Observable<TuiBrightness | null>> =\n new InjectionToken<Observable<TuiBrightness | null>>(\n `[TUI_MODE]: Mode stream for private providers`,\n );\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiNotification} from '@taiga-ui/core/enums';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\n\nexport interface TuiNotificationDefaultOptions\n extends Omit<TuiAlertOptions<unknown>, 'data'> {\n readonly defaultAutoCloseTime: number;\n}\n\n/** Default values for the notification options. */\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: TuiNotificationDefaultOptions = {\n autoClose: true,\n label: ``,\n status: TuiNotification.Info,\n hasIcon: true,\n hasCloseButton: true,\n defaultAutoCloseTime: 3000,\n};\n\nexport const TUI_NOTIFICATION_OPTIONS = new InjectionToken<TuiNotificationDefaultOptions>(\n `[TUI_NOTIFICATION_OPTIONS]: Default parameters for notification alert component`,\n {\n factory: () => TUI_NOTIFICATION_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiNotificationOptionsProvider(\n options: Partial<TuiNotificationDefaultOptions>,\n): ValueProvider {\n return {\n provide: TUI_NOTIFICATION_OPTIONS,\n useValue: {...TUI_NOTIFICATION_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {InjectionToken} from '@angular/core';\nimport {TUI_DEFAULT_NUMBER_FORMAT} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport const TUI_NUMBER_FORMAT = new InjectionToken<TuiNumberFormatSettings>(\n `[TUI_NUMBER_FORMAT]: Formatting configuration for displayed numbers`,\n {\n factory: () => TUI_DEFAULT_NUMBER_FORMAT,\n },\n);\n","import {InjectionToken, Provider, TemplateRef} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>>\n>(`[TUI_OPTION_CONTENT]: Content for tuiOption component`);\n\nexport function tuiAsOptionContent(\n useValue: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n >,\n): Provider {\n return {\n provide: TUI_OPTION_CONTENT,\n useValue,\n };\n}\n","/**\n * TODO: v4.0 delete the whole file\n */\nimport {inject, InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_FIRST_DAY_OF_WEEK} from './first-day-of-week';\nimport {TUI_SHORT_WEEK_DAYS} from './i18n';\n\n/**\n * @deprecated\n */\nexport type WEEK_DAYS_NAMES = [string, string, string, string, string, string, string];\n\nconst convertToSundayFirstWeekFormat = (\n weekDaysNames: WEEK_DAYS_NAMES,\n): WEEK_DAYS_NAMES => {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [\n weekDaysNames[sundayIndex],\n ...weekDaysNames.slice(0, sundayIndex),\n ] as WEEK_DAYS_NAMES;\n};\n\n/**\n * @deprecated\n */\nexport const TUI_ORDERED_SHORT_WEEK_DAYS = new InjectionToken<\n Observable<WEEK_DAYS_NAMES>\n>(`[TUI_ORDERED_SHORT_WEEK_DAYS]: Ordered calendars i18n texts`, {\n factory: () => {\n const firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);\n\n return inject(TUI_SHORT_WEEK_DAYS).pipe(\n map(convertToSundayFirstWeekFormat),\n map(\n weekDays =>\n [\n ...weekDays.slice(firstDayOfWeekIndex),\n ...weekDays.slice(0, firstDayOfWeekIndex),\n ] as WEEK_DAYS_NAMES,\n ),\n );\n },\n});\n","import {InjectionToken, Sanitizer} from '@angular/core';\n\nexport const TUI_SANITIZER = new InjectionToken<Sanitizer>(\n `[TUI_SANITIZER]: A custom Sanitizer to sanitize source before inlining`,\n);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\nexport const TUI_SCROLL_REF = new InjectionToken<ElementRef<HTMLElement>>(\n `[TUI_SCROLL_REF]: Scrollable container`,\n);\n","import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {share, switchMapTo, takeUntil} from 'rxjs/operators';\n\nexport const TUI_SELECTION_STREAM = new InjectionToken<Observable<unknown>>(\n `[TUI_SELECTION_STREAM]: A stream of possible selection changes`,\n {\n factory: () => {\n const documentRef = inject(DOCUMENT);\n\n return merge(\n tuiTypedFromEvent(documentRef, `selectionchange`),\n tuiTypedFromEvent(documentRef, `mouseup`),\n tuiTypedFromEvent(documentRef, `mousedown`).pipe(\n switchMapTo(\n tuiTypedFromEvent(documentRef, `mousemove`).pipe(\n takeUntil(tuiTypedFromEvent(documentRef, `mouseup`)),\n ),\n ),\n ),\n tuiTypedFromEvent(documentRef, `keydown`),\n tuiTypedFromEvent(documentRef, `keyup`),\n ).pipe(share());\n },\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiStringHandler, tuiSvgLinearGradientProcessor} from '@taiga-ui/cdk';\n\nexport const TUI_SVG_CONTENT_PROCESSOR: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>(\n `[TUI_SVG_CONTENT_PROCESSOR]: Transform function the contents of the loaded svg file`,\n {factory: () => tuiSvgLinearGradientProcessor},\n );\n","import {InjectionToken} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\nexport const TUI_SVG_SRC_PROCESSOR: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>(\n `[TUI_SVG_SRC_PROCESSOR]: Source path processor for svg`,\n {\n factory: () => identity,\n },\n );\n","import {InjectionToken} from '@angular/core';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\n\nexport const TUI_TEXTFIELD_APPEARANCE = new InjectionToken<string>(\n `[TUI_TEXTFIELD_APPEARANCE]: Appearance for inputs`,\n {\n factory: () => TuiAppearance.Textfield,\n },\n);\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\n\nexport const TUI_TEXTFIELD_HOST = new InjectionToken<TuiTextfieldHost>(\n `[TUI_TEXTFIELD_HOST]: An interface to communicate with textfield based controls`,\n);\n\nexport function tuiAsTextfieldHost(useExisting: Type<TuiTextfieldHost>): Provider {\n return {\n provide: TUI_TEXTFIELD_HOST,\n useExisting,\n };\n}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_THEME = new InjectionToken<string>(`[TUI_THEME]: Theme name`, {\n factory: () => `Taiga`,\n});\n","import {InjectionToken} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\n\nexport const TUI_VALUE_ACCESSOR = new InjectionToken<ControlValueAccessor>(\n `[TUI_VALUE_ACCESSOR]: Buffer token to pass NG_VALUE_ACCESSOR to a different Injector`,\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-utils-dom.js","sources":["../../../projects/core/utils/dom/check-fixed-position.ts","../../../projects/core/utils/dom/get-safe-area-size.ts","../../../projects/core/utils/dom/get-screen-width.ts","../../../projects/core/utils/dom/get-viewport-height.ts","../../../projects/core/utils/dom/get-viewport-width.ts","../../../projects/core/utils/dom/get-word-range.ts","../../../projects/core/utils/dom/process-icon.ts","../../../projects/core/utils/dom/taiga-ui-core-utils-dom.ts"],"sourcesContent":["export function tuiCheckFixedPosition(element: HTMLElement | null): boolean {\n if (!element || typeof getComputedStyle === `undefined`) {\n return false;\n }\n\n const style = getComputedStyle(element);\n\n return (\n style.getPropertyValue(`position`) === `fixed` ||\n tuiCheckFixedPosition(element.parentElement)\n );\n}\n","/**\n * Calculates size of safe area on mobile devices (status bars)\n *\n * ATTENTION: Only use in browser environment\n */\nexport function tuiGetSafeAreaSize(): number {\n if (!CSS.supports(`padding-top: env(safe-area-inset-top)`)) {\n return 0;\n }\n\n const div = document.createElement(`div`);\n\n div.style.paddingTop = `env(safe-area-inset-top)`;\n document.body.appendChild(div);\n\n const safeAreaSize = parseInt(window.getComputedStyle(div).paddingTop!, 10) || 0;\n\n document.body.removeChild(div);\n\n return safeAreaSize;\n}\n","export function tuiGetScreenWidth(documentRef: Document): number {\n return Math.max(\n documentRef.documentElement.clientWidth,\n documentRef.defaultView ? documentRef.defaultView.innerWidth : 0,\n );\n}\n","/**\n * @description:\n * Cross-browser @media (height)\n *\n * 1. window.innerWidth\n * 1.1. gets CSS viewport @media (height) which include scrollbars\n * 1.2. initial-scale and zoom variations may cause mobile values to\n * wrongly scale down to what PPK calls the visual\n * viewport and be smaller than the @media values\n * 1.3. zoom may cause values to be 1px off due to native rounding\n *\n * 2. document.documentElement.clientHeight\n * 2.1. equals CSS viewport width minus scrollbar width\n * 2.2. matches @media (height) when there is no scrollbar\n * 2.3. available cross-browser\n * 2.4. inaccurate if doctype is missing\n */\nexport function tuiGetViewportHeight({document, innerHeight}: Window): number {\n return Math.max(document.documentElement.clientHeight || 0, innerHeight || 0);\n}\n","/**\n * @description:\n * Cross-browser @media (width)\n *\n * 1. window.innerWidth\n * 1.1. gets CSS viewport @media (width) which include scrollbars\n * 1.2. initial-scale and zoom variations may cause mobile values to\n * wrongly scale down to what PPK calls the visual\n * viewport and be smaller than the @media values\n * 1.3. zoom may cause values to be 1px off due to native rounding\n *\n * 2. document.documentElement.clientWidth\n * 2.1. equals CSS viewport width minus scrollbar width\n * 2.2. matches @media (width) when there is no scrollbar\n * 2.3. available cross-browser\n * 2.4. inaccurate if doctype is missing\n */\nexport function tuiGetViewportWidth({document, innerWidth}: Window): number {\n return Math.max(document.documentElement.clientWidth || 0, innerWidth || 0);\n}\n","import {CHAR_NO_BREAK_SPACE, CHAR_ZERO_WIDTH_SPACE, svgNodeFilter} from '@taiga-ui/cdk';\n\n/**\n * Creates a cloned range with its boundaries set at word boundaries\n *\n * @param currentRange a range to clone\n * @return modified range\n */\nexport function tuiGetWordRange(currentRange: Range): Range {\n const range = currentRange.cloneRange();\n const {startContainer, startOffset, endContainer, endOffset} = range;\n const {ownerDocument} = startContainer;\n\n if (!ownerDocument) {\n return range;\n }\n\n const treeWalker = ownerDocument.createTreeWalker(\n ownerDocument.body,\n NodeFilter.SHOW_TEXT,\n svgNodeFilter,\n );\n\n treeWalker.currentNode = startContainer;\n\n do {\n const container = treeWalker.currentNode;\n const textContent = container.textContent || ``;\n const content =\n container === startContainer\n ? textContent.slice(0, Math.max(0, startOffset + 1))\n : textContent;\n const offset =\n Math.max(\n content.lastIndexOf(` `),\n content.lastIndexOf(CHAR_NO_BREAK_SPACE),\n content.lastIndexOf(CHAR_ZERO_WIDTH_SPACE),\n ) + 1;\n\n range.setStart(container, 0);\n\n if (offset) {\n range.setStart(container, offset);\n break;\n }\n } while (treeWalker.previousNode());\n\n treeWalker.currentNode = endContainer;\n\n do {\n const container = treeWalker.currentNode;\n const textContent = container.textContent || ``;\n const content =\n container === endContainer ? textContent.slice(endOffset + 1) : textContent;\n const offset = [\n content.indexOf(` `),\n content.indexOf(CHAR_NO_BREAK_SPACE),\n content.indexOf(CHAR_ZERO_WIDTH_SPACE),\n ].reduce(\n (result, item) =>\n result === -1 || item === -1\n ? Math.max(result, item)\n : Math.min(result, item),\n -1,\n );\n\n range.setEnd(container, textContent.length);\n\n if (offset !== -1) {\n range.setEnd(container, offset + textContent.length - content.length);\n break;\n }\n } while (treeWalker.nextNode());\n\n return range;\n}\n","const WIDTH_SEARCH = `width=\"`;\nconst HEIGHT_SEARCH = `height=\"`;\nconst START = `<svg`;\n\nexport function tuiProcessIcon(source: string, name: string): string {\n if (source.includes(`id=\"${name}\"`)) {\n return source;\n }\n\n const src = source.slice(Math.max(0, source.indexOf(START)));\n const attributes = src.slice(0, Math.max(0, src.indexOf(`>`)));\n\n if (!attributes?.includes(WIDTH_SEARCH) || !attributes.includes(HEIGHT_SEARCH)) {\n return `${src.replace(\n START,\n `<svg xmlns=\"http://www.w3.org/2000/svg\"><g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg`,\n )}</g></svg>`;\n }\n\n const indexOfWidth = attributes.indexOf(WIDTH_SEARCH);\n const indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);\n const widthOffset = indexOfWidth + WIDTH_SEARCH.length;\n const heightOffset = indexOfHeight + HEIGHT_SEARCH.length;\n const widthString = attributes.slice(\n widthOffset,\n attributes.indexOf(`\"`, widthOffset),\n );\n const heightString = attributes.slice(\n heightOffset,\n attributes.indexOf(`\"`, heightOffset),\n );\n\n if (\n !heightString ||\n !widthString ||\n widthString.includes(`%`) ||\n heightString.includes(`%`) ||\n widthString.includes(`em`) ||\n heightString.includes(`em`)\n ) {\n return src.replace(START, `<svg id=\"${name}\"`);\n }\n\n const width = parseInt(widthString, 10);\n const height = parseInt(heightString, 10);\n\n return `<g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg x=\"50%\" y=\"50%\" width=\"${\n width / 16\n }em\" height=\"${\n height / 16\n }em\" overflow=\"visible\" viewBox=\"0 0 ${width} ${height}\"><svg x=\"${-width / 2}\" y=\"${\n -height / 2\n }\">${src}</svg></svg></g>`;\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-dom.js","sources":["../../../projects/core/utils/dom/check-fixed-position.ts","../../../projects/core/utils/dom/get-safe-area-size.ts","../../../projects/core/utils/dom/get-screen-width.ts","../../../projects/core/utils/dom/get-viewport-height.ts","../../../projects/core/utils/dom/get-viewport-width.ts","../../../projects/core/utils/dom/get-word-range.ts","../../../projects/core/utils/dom/process-icon.ts","../../../projects/core/utils/dom/taiga-ui-core-utils-dom.ts"],"sourcesContent":["export function tuiCheckFixedPosition(element: HTMLElement | null): boolean {\n if (!element || typeof getComputedStyle === `undefined`) {\n return false;\n }\n\n const style = getComputedStyle(element);\n\n return (\n style.getPropertyValue(`position`) === `fixed` ||\n tuiCheckFixedPosition(element.parentElement)\n );\n}\n","/**\n * Calculates size of safe area on mobile devices (status bars)\n *\n * ATTENTION: Only use in browser environment\n */\nexport function tuiGetSafeAreaSize(): number {\n if (!CSS.supports(`padding-top: env(safe-area-inset-top)`)) {\n return 0;\n }\n\n const div = document.createElement(`div`);\n\n div.style.paddingTop = `env(safe-area-inset-top)`;\n document.body.appendChild(div);\n\n const safeAreaSize = parseInt(window.getComputedStyle(div).paddingTop, 10) || 0;\n\n document.body.removeChild(div);\n\n return safeAreaSize;\n}\n","export function tuiGetScreenWidth(documentRef: Document): number {\n return Math.max(\n documentRef.documentElement.clientWidth,\n documentRef.defaultView ? documentRef.defaultView.innerWidth : 0,\n );\n}\n","/**\n * @description:\n * Cross-browser @media (height)\n *\n * 1. window.innerWidth\n * 1.1. gets CSS viewport @media (height) which include scrollbars\n * 1.2. initial-scale and zoom variations may cause mobile values to\n * wrongly scale down to what PPK calls the visual\n * viewport and be smaller than the @media values\n * 1.3. zoom may cause values to be 1px off due to native rounding\n *\n * 2. document.documentElement.clientHeight\n * 2.1. equals CSS viewport width minus scrollbar width\n * 2.2. matches @media (height) when there is no scrollbar\n * 2.3. available cross-browser\n * 2.4. inaccurate if doctype is missing\n */\nexport function tuiGetViewportHeight({document, innerHeight}: Window): number {\n return Math.max(document.documentElement.clientHeight || 0, innerHeight || 0);\n}\n","/**\n * @description:\n * Cross-browser @media (width)\n *\n * 1. window.innerWidth\n * 1.1. gets CSS viewport @media (width) which include scrollbars\n * 1.2. initial-scale and zoom variations may cause mobile values to\n * wrongly scale down to what PPK calls the visual\n * viewport and be smaller than the @media values\n * 1.3. zoom may cause values to be 1px off due to native rounding\n *\n * 2. document.documentElement.clientWidth\n * 2.1. equals CSS viewport width minus scrollbar width\n * 2.2. matches @media (width) when there is no scrollbar\n * 2.3. available cross-browser\n * 2.4. inaccurate if doctype is missing\n */\nexport function tuiGetViewportWidth({document, innerWidth}: Window): number {\n return Math.max(document.documentElement.clientWidth || 0, innerWidth || 0);\n}\n","import {CHAR_NO_BREAK_SPACE, CHAR_ZERO_WIDTH_SPACE, svgNodeFilter} from '@taiga-ui/cdk';\n\n/**\n * Creates a cloned range with its boundaries set at word boundaries\n *\n * @param currentRange a range to clone\n * @return modified range\n */\nexport function tuiGetWordRange(currentRange: Range): Range {\n const range = currentRange.cloneRange();\n const {startContainer, startOffset, endContainer, endOffset} = range;\n const {ownerDocument} = startContainer;\n\n if (!ownerDocument) {\n return range;\n }\n\n const treeWalker = ownerDocument.createTreeWalker(\n ownerDocument.body,\n NodeFilter.SHOW_TEXT,\n svgNodeFilter,\n );\n\n treeWalker.currentNode = startContainer;\n\n do {\n const container = treeWalker.currentNode;\n const textContent = container.textContent || ``;\n const content =\n container === startContainer\n ? textContent.slice(0, Math.max(0, startOffset + 1))\n : textContent;\n const offset =\n Math.max(\n content.lastIndexOf(` `),\n content.lastIndexOf(CHAR_NO_BREAK_SPACE),\n content.lastIndexOf(CHAR_ZERO_WIDTH_SPACE),\n ) + 1;\n\n range.setStart(container, 0);\n\n if (offset) {\n range.setStart(container, offset);\n break;\n }\n } while (treeWalker.previousNode());\n\n treeWalker.currentNode = endContainer;\n\n do {\n const container = treeWalker.currentNode;\n const textContent = container.textContent || ``;\n const content =\n container === endContainer ? textContent.slice(endOffset + 1) : textContent;\n const offset = [\n content.indexOf(` `),\n content.indexOf(CHAR_NO_BREAK_SPACE),\n content.indexOf(CHAR_ZERO_WIDTH_SPACE),\n ].reduce(\n (result, item) =>\n result === -1 || item === -1\n ? Math.max(result, item)\n : Math.min(result, item),\n -1,\n );\n\n range.setEnd(container, textContent.length);\n\n if (offset !== -1) {\n range.setEnd(container, offset + textContent.length - content.length);\n break;\n }\n } while (treeWalker.nextNode());\n\n return range;\n}\n","const WIDTH_SEARCH = `width=\"`;\nconst HEIGHT_SEARCH = `height=\"`;\nconst START = `<svg`;\n\nexport function tuiProcessIcon(source: string, name: string): string {\n if (source.includes(`id=\"${name}\"`)) {\n return source;\n }\n\n const src = source.slice(Math.max(0, source.indexOf(START)));\n const attributes = src.slice(0, Math.max(0, src.indexOf(`>`)));\n\n if (!attributes?.includes(WIDTH_SEARCH) || !attributes.includes(HEIGHT_SEARCH)) {\n return `${src.replace(\n START,\n `<svg xmlns=\"http://www.w3.org/2000/svg\"><g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg`,\n )}</g></svg>`;\n }\n\n const indexOfWidth = attributes.indexOf(WIDTH_SEARCH);\n const indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);\n const widthOffset = indexOfWidth + WIDTH_SEARCH.length;\n const heightOffset = indexOfHeight + HEIGHT_SEARCH.length;\n const widthString = attributes.slice(\n widthOffset,\n attributes.indexOf(`\"`, widthOffset),\n );\n const heightString = attributes.slice(\n heightOffset,\n attributes.indexOf(`\"`, heightOffset),\n );\n\n if (\n !heightString ||\n !widthString ||\n widthString.includes(`%`) ||\n heightString.includes(`%`) ||\n widthString.includes(`em`) ||\n heightString.includes(`em`)\n ) {\n return src.replace(START, `<svg id=\"${name}\"`);\n }\n\n const width = parseInt(widthString, 10);\n const height = parseInt(heightString, 10);\n\n return `<g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg x=\"50%\" y=\"50%\" width=\"${\n width / 16\n }em\" height=\"${\n height / 16\n }em\" overflow=\"visible\" viewBox=\"0 0 ${width} ${height}\"><svg x=\"${-width / 2}\" y=\"${\n -height / 2\n }\">${src}</svg></svg></g>`;\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.7.0",
3
+ "version": "3.8.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/tinkoff/taiga-ui",
16
16
  "license": "Apache-2.0",
17
17
  "dependencies": {
18
- "@taiga-ui/i18n": "^3.7.0",
18
+ "@taiga-ui/i18n": "^3.8.0",
19
19
  "tslib": "^2.0.0"
20
20
  },
21
21
  "peerDependencies": {
@@ -27,8 +27,8 @@
27
27
  "@angular/router": ">=9.0.0",
28
28
  "@ng-web-apis/common": ">=2.0.0",
29
29
  "@ng-web-apis/mutation-observer": ">=2.0.0",
30
- "@taiga-ui/cdk": ">=3.7.0",
31
- "@taiga-ui/i18n": ">=3.7.0",
30
+ "@taiga-ui/cdk": ">=3.8.0",
31
+ "@taiga-ui/i18n": ">=3.8.0",
32
32
  "@tinkoff/ng-event-plugins": ">=3.0.0",
33
33
  "@tinkoff/ng-polymorpheus": ">=4.0.0",
34
34
  "rxjs": ">=6.0.0"
@@ -146,7 +146,8 @@
146
146
 
147
147
  // Dropdown
148
148
  & when (@mode = 2) {
149
- box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.16);
149
+ box-shadow: 0 1.5rem 1rem rgba(0, 0, 0, 0.03), 0 0.75rem 0.75rem rgba(0, 0, 0, 0.04),
150
+ 0 0.25rem 0.375rem rgba(0, 0, 0, 0.05);
150
151
  }
151
152
 
152
153
  // Modal
@@ -367,3 +368,15 @@
367
368
  overflow: hidden;
368
369
  padding: 0;
369
370
  }
371
+
372
+ /**
373
+ * @description:
374
+ * disable smooth scrolling when users have prefers-reduced-motion enabled
375
+ */
376
+ .scroll-behavior(@mode: smooth) {
377
+ scroll-behavior: @mode;
378
+
379
+ @media screen and (prefers-reduced-motion: reduce) {
380
+ scroll-behavior: auto;
381
+ }
382
+ }
@@ -146,7 +146,8 @@
146
146
 
147
147
  // Dropdown
148
148
  @if ($mode == 2) {
149
- box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.16);
149
+ box-shadow: 0 1.5rem 1rem rgba(0, 0, 0, 0.03), 0 0.75rem 0.75rem rgba(0, 0, 0, 0.04),
150
+ 0 0.25rem 0.375rem rgba(0, 0, 0, 0.05);
150
151
  }
151
152
 
152
153
  // Modal
@@ -236,12 +237,7 @@
236
237
  @mixin dashed-border($color: currentColor, $alignment: bottom, $spacing: 4) {
237
238
  $size: $spacing * 1px;
238
239
  $percentage: (100% / $spacing * 2);
239
- background-image: linear-gradient(
240
- to right,
241
- $color 0%,
242
- $color $percentage,
243
- transparent $percentage
244
- );
240
+ background-image: linear-gradient(to right, $color 0%, $color $percentage, transparent $percentage);
245
241
  background-position: 0 $alignment;
246
242
  background-size: $size 1px;
247
243
  background-repeat: repeat-x;
@@ -282,11 +278,7 @@
282
278
  }
283
279
 
284
280
  /* stylelint-disable selector-max-specificity */
285
- @mixin text-overflow-with-fade(
286
- $color: var(--tui-base-01),
287
- $transparentColor: transparent,
288
- $width: 1.875rem
289
- ) {
281
+ @mixin text-overflow-with-fade($color: var(--tui-base-01), $transparentColor: transparent, $width: 1.875rem) {
290
282
  position: relative;
291
283
  overflow: hidden;
292
284
 
@@ -297,12 +289,7 @@
297
289
  right: 0;
298
290
  width: $width;
299
291
  height: 100%;
300
- background-image: linear-gradient(
301
- to right,
302
- $transparentColor 0%,
303
- $color 80%,
304
- $color 100%
305
- );
292
+ background-image: linear-gradient(to right, $transparentColor 0%, $color 80%, $color 100%);
306
293
  pointer-events: none;
307
294
  }
308
295
  }
@@ -1,3 +1,4 @@
1
1
  @import 'theme/dialog.less';
2
2
  @import 'theme/variables.less';
3
3
  @import 'theme/wrapper.less';
4
+ @import 'theme/calendar.less';
@@ -0,0 +1,7 @@
1
+ tui-primitive-calendar [data-type='weekday'] {
2
+ color: var(--tui-text-01);
3
+ }
4
+
5
+ tui-primitive-calendar [data-type='weekend'] {
6
+ color: var(--tui-negative);
7
+ }
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { TuiDay, TuiHandler } from '@taiga-ui/cdk';
3
+ export declare const TUI_DAY_TYPE_HANDLER: InjectionToken<TuiHandler<TuiDay, string>>;
package/tokens/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './animations-duration';
3
3
  export * from './assert-enabled';
4
4
  export * from './data-list-accessor';
5
5
  export * from './data-list-host';
6
+ export * from './day-type-handler';
6
7
  export * from './document-or-shadow-root';
7
8
  export * from './element-ref';
8
9
  export * from './first-day-of-week';