@taiga-ui/core 5.0.0-canary.c4f5d4b → 5.0.0-canary.cf66fed
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/taiga-ui-core-components-calendar.mjs +5 -15
- package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-cell.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-data-list.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-error.mjs +1 -3
- package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-icon.mjs +2 -6
- package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-notification.mjs +3 -5
- package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-root.mjs +1 -1
- package/fesm2022/taiga-ui-core-components-scrollbar.mjs +3 -9
- package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-textfield.mjs +1 -3
- package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-appearance.mjs +2 -6
- package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +3 -9
- package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-portals-dialog.mjs +1 -3
- package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-portals-dropdown.mjs +6 -18
- package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-portals-hint.mjs +4 -12
- package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-portals-popup.mjs +2 -6
- package/fesm2022/taiga-ui-core-portals-popup.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-services.mjs +1 -3
- package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-tokens.mjs +16 -32
- package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
- package/package.json +33 -33
- package/styles/components/notification.less +1 -1
- package/tokens/i18n.d.ts +4 -0
- package/tokens/index.d.ts +0 -1
- package/tokens/theme.d.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-portals-hint.mjs","sources":["../../../projects/core/portals/hint/hint.providers.ts","../../../projects/core/portals/hint/hint-driver.directive.ts","../../../projects/core/portals/hint/hint-options.directive.ts","../../../projects/core/portals/hint/hint-hover.directive.ts","../../../projects/core/portals/hint/hint-position.directive.ts","../../../projects/core/portals/hint/hint.directive.ts","../../../projects/core/portals/hint/hint-pointer.directive.ts","../../../projects/core/portals/hint/hint-unstyled.component.ts","../../../projects/core/portals/hint/hint.component.ts","../../../projects/core/portals/hint/hint-describe.directive.ts","../../../projects/core/portals/hint/hint-host.directive.ts","../../../projects/core/portals/hint/hint-manual.directive.ts","../../../projects/core/portals/hint/hint-overflow.directive.ts","../../../projects/core/portals/hint/hint.ts","../../../projects/core/portals/hint/taiga-ui-core-portals-hint.ts"],"sourcesContent":["import {InjectionToken, type Type} from '@angular/core';\n\nimport {TuiHintComponent} from './hint.component';\n\n/**\n * A component to display a hint\n */\nexport const TUI_HINT_COMPONENT = new InjectionToken<Type<unknown>>(\n ngDevMode ? 'TUI_HINT_COMPONENT' : '',\n {\n factory: () => TuiHintComponent,\n },\n);\n","import {Directive} from '@angular/core';\nimport {TuiDriverDirective} from '@taiga-ui/core/classes';\n\n@Directive()\nexport class TuiHintDriver extends TuiDriverDirective {\n public readonly type = 'hint';\n}\n","import {type FactoryProvider, InjectionToken, Optional, SkipSelf} from '@angular/core';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {tuiOverrideOptions} from '@taiga-ui/core/utils/miscellaneous';\n\nexport type TuiHintDirection =\n | 'bottom-end'\n | 'bottom-start'\n | 'bottom'\n | 'end-bottom'\n | 'end-top'\n | 'end'\n | 'start-bottom'\n | 'start-top'\n | 'start'\n | 'top-end'\n | 'top-start'\n | 'top';\n\nexport const TUI_HINT_DIRECTIONS: readonly TuiHintDirection[] = [\n 'bottom-start',\n 'bottom',\n 'bottom-end',\n 'top-start',\n 'top',\n 'top-end',\n 'start-top',\n 'start',\n 'start-bottom',\n 'end-top',\n 'end',\n 'end-bottom',\n];\n\nexport interface TuiHintOptions extends TuiAppearanceOptions {\n readonly direction: TuiHintDirection | TuiHintDirection[];\n readonly hideDelay: number;\n readonly icon: string;\n readonly showDelay: number;\n}\n\n/** Default values for hint options */\nexport const TUI_HINT_DEFAULT_OPTIONS: TuiHintOptions = {\n direction: 'bottom-start',\n showDelay: 500,\n hideDelay: 200,\n appearance: '',\n /** TODO @deprecated use {@link TUI_TOOLTIP_OPTIONS} instead **/\n icon: '@tui.circle-help',\n};\n\n/**\n * Default parameters for hint directive\n */\nexport const TUI_HINT_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_HINT_OPTIONS' : '', {\n factory: () => TUI_HINT_DEFAULT_OPTIONS,\n});\n\nexport const tuiHintOptionsProvider: (\n options: Partial<TuiHintOptions>,\n) => FactoryProvider = (override: Partial<TuiHintOptions>) => ({\n provide: TUI_HINT_OPTIONS,\n deps: [[new Optional(), new SkipSelf(), TUI_HINT_OPTIONS]],\n useFactory: tuiOverrideOptions(override, TUI_HINT_DEFAULT_OPTIONS),\n});\n","import {Directive, inject, input} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {TuiHoveredService} from '@taiga-ui/cdk/directives/hovered';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/classes';\nimport {tuiIsObscured} from '@taiga-ui/core/utils/miscellaneous';\nimport {\n delay,\n filter,\n map,\n merge,\n of,\n repeat,\n Subject,\n switchMap,\n takeUntil,\n tap,\n} from 'rxjs';\n\nimport {TUI_HINT_OPTIONS} from './hint-options.directive';\n\n@Directive({\n providers: [tuiAsDriver(TuiHintHover), TuiHoveredService],\n exportAs: 'tuiHintHover',\n})\nexport class TuiHintHover extends TuiDriver {\n private readonly isMobile = inject(WA_IS_MOBILE);\n private readonly el = tuiInjectElement();\n private readonly hovered$ = inject(TuiHoveredService);\n private readonly options = inject(TUI_HINT_OPTIONS);\n private visible = false;\n private readonly toggle$ = new Subject<boolean>();\n private readonly stream$ = merge(\n this.toggle$.pipe(\n switchMap((show) =>\n this.isMobile\n ? of(show)\n : of(show).pipe(delay(show ? 0 : this.hideDelay())),\n ),\n takeUntil(this.hovered$),\n repeat(),\n ),\n this.hovered$.pipe(\n switchMap((show) =>\n this.isMobile\n ? of(show).pipe(delay(0))\n : of(show).pipe(delay(show ? this.showDelay() : this.hideDelay())),\n ),\n takeUntil(this.toggle$),\n repeat(),\n ),\n ).pipe(\n filter(() => this.enabled),\n map(\n (value) =>\n value &&\n (this.el.hasAttribute('tuiHintPointer') || !tuiIsObscured(this.el)),\n ),\n tap((visible) => {\n this.visible = visible;\n }),\n );\n\n private readonly parent = inject(TuiHintHover, {\n optional: true,\n skipSelf: true,\n });\n\n public readonly showDelay = input(this.options.showDelay, {\n alias: 'tuiHintShowDelay',\n });\n\n public readonly hideDelay = input(this.options.hideDelay, {\n alias: 'tuiHintHideDelay',\n });\n\n public readonly type = 'hint';\n\n public enabled = true;\n\n constructor() {\n super((subscriber) => this.stream$.subscribe(subscriber));\n }\n\n public toggle(visible = !this.visible): void {\n this.toggle$.next(visible);\n this.parent?.toggle(visible);\n }\n\n public close(): void {\n this.toggle$.next(false);\n }\n}\n","import {Directive, inject, input} from '@angular/core';\nimport {outputFromObservable} from '@angular/core/rxjs-interop';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n tuiFallbackAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/classes';\nimport {TUI_VIEWPORT} from '@taiga-ui/core/tokens';\nimport {type TuiPoint} from '@taiga-ui/core/types';\nimport {distinctUntilChanged, Subject} from 'rxjs';\n\nimport {\n TUI_HINT_DIRECTIONS,\n TUI_HINT_OPTIONS,\n type TuiHintDirection,\n} from './hint-options.directive';\n\nconst GAP = 8;\nconst ARROW_OFFSET = 24;\nconst TOP = 1;\nconst LEFT = 0;\n\n@Directive()\nexport class TuiHintPosition extends TuiPositionAccessor {\n private readonly el = tuiInjectElement();\n private readonly viewport = inject(TUI_VIEWPORT);\n private readonly directionChange = new Subject<TuiHintDirection>();\n private readonly accessor = tuiFallbackAccessor<TuiRectAccessor>('hint')(\n inject<any>(TuiRectAccessor, {optional: true}),\n {getClientRect: () => this.el.getBoundingClientRect()},\n );\n\n private readonly points: Record<TuiHintDirection, [number, number]> =\n TUI_HINT_DIRECTIONS.reduce(\n (acc, direction) => ({...acc, [direction]: [0, 0]}),\n {} as Record<TuiHintDirection, [number, number]>,\n );\n\n public readonly direction = input(inject(TUI_HINT_OPTIONS).direction, {\n alias: 'tuiHintDirection',\n });\n\n public readonly offset = input(inject(WA_IS_MOBILE) ? 16 : 8, {\n alias: 'tuiHintOffset',\n });\n\n public readonly tuiHintDirectionChange = outputFromObservable(\n this.directionChange.pipe(distinctUntilChanged()),\n );\n\n public readonly type = 'hint';\n\n public getPosition({width, height}: DOMRect): TuiPoint {\n const direction = this.direction();\n const hostRect = this.accessor.getClientRect();\n const leftCenter = hostRect.left + hostRect.width / 2;\n const topCenter = hostRect.top + hostRect.height / 2;\n const rtl = this.el.matches('[dir=\"rtl\"] :scope');\n\n this.points['top-start'][TOP] = hostRect.top - height - this.offset();\n this.points['top-start'][LEFT] = leftCenter - width + ARROW_OFFSET;\n this.points.top[TOP] = this.points['top-start'][TOP];\n this.points.top[LEFT] = leftCenter - width / 2;\n this.points['top-end'][TOP] = this.points['top-start'][TOP];\n this.points['top-end'][LEFT] = leftCenter - ARROW_OFFSET;\n\n this.points['bottom-start'][TOP] = hostRect.bottom + this.offset();\n this.points['bottom-start'][LEFT] = this.points['top-start'][LEFT];\n this.points.bottom[TOP] = this.points['bottom-start'][TOP];\n this.points.bottom[LEFT] = this.points.top[LEFT];\n this.points['bottom-end'][TOP] = this.points['bottom-start'][TOP];\n this.points['bottom-end'][LEFT] = this.points['top-end'][LEFT];\n\n this.points['start-top'][TOP] = topCenter - height + ARROW_OFFSET;\n this.points['start-top'][LEFT] = hostRect.left - width - this.offset();\n this.points.start[TOP] = topCenter - height / 2;\n this.points.start[LEFT] = this.points['start-top'][LEFT];\n this.points['start-bottom'][TOP] = topCenter - ARROW_OFFSET;\n this.points['start-bottom'][LEFT] = this.points['start-top'][LEFT];\n\n this.points['end-top'][TOP] = this.points['start-top'][TOP];\n this.points['end-top'][LEFT] = hostRect.right + this.offset();\n this.points.end[TOP] = this.points.start[TOP];\n this.points.end[LEFT] = this.points['end-top'][LEFT];\n this.points['end-bottom'][TOP] = this.points['start-bottom'][TOP];\n this.points['end-bottom'][LEFT] = this.points['end-top'][LEFT];\n\n const array = Array.isArray(direction) ? direction : [direction];\n const priority = array.map((direction) => adjust(direction, rtl));\n const updated =\n priority\n .concat(TUI_HINT_DIRECTIONS)\n .find((dir) => this.checkPosition(this.points[dir], width, height)) ||\n this.fallback;\n\n this.directionChange.next(adjust(updated, rtl));\n\n return this.points[updated];\n }\n\n private get fallback(): TuiHintDirection {\n return this.points.top[TOP] >\n this.viewport.getClientRect().bottom - this.points.bottom[TOP]\n ? 'top'\n : 'bottom';\n }\n\n private checkPosition([left, top]: TuiPoint, width: number, height: number): boolean {\n const viewport = this.viewport.getClientRect();\n\n return (\n top > viewport.top + GAP &&\n left > viewport.left + GAP &&\n top + height < viewport.bottom - GAP &&\n left + width < viewport.right - GAP\n );\n }\n}\n\nfunction adjust(direction: TuiHintDirection, rtl: boolean): TuiHintDirection {\n if (rtl && direction.includes('left')) {\n return direction.replace('left', 'right') as TuiHintDirection;\n }\n\n if (rtl && direction.includes('right')) {\n return direction.replace('right', 'left') as TuiHintDirection;\n }\n\n return direction;\n}\n","import {\n type ComponentRef,\n Directive,\n inject,\n INJECTOR,\n input,\n type OnChanges,\n type OnDestroy,\n output,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n tuiAsVehicle,\n type TuiRectAccessor,\n type TuiVehicle,\n} from '@taiga-ui/core/classes';\nimport {TuiPopupService} from '@taiga-ui/core/portals/popup';\nimport {PolymorpheusComponent, type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TUI_HINT_COMPONENT} from './hint.providers';\nimport {TuiHintDriver} from './hint-driver.directive';\nimport {TuiHintHover} from './hint-hover.directive';\nimport {TUI_HINT_OPTIONS} from './hint-options.directive';\nimport {TuiHintPosition} from './hint-position.directive';\n\n@Directive({\n selector: '[tuiHint]:not(ng-container):not(ng-template)',\n providers: [\n tuiAsVehicle(TuiHintDirective),\n {\n provide: PolymorpheusComponent,\n deps: [TUI_HINT_COMPONENT, INJECTOR],\n useClass: PolymorpheusComponent,\n },\n ],\n hostDirectives: [\n TuiHintDriver,\n {\n directive: TuiHintHover,\n inputs: ['tuiHintHideDelay', 'tuiHintShowDelay'],\n },\n {\n directive: TuiHintPosition,\n inputs: ['tuiHintDirection', 'tuiHintOffset'],\n outputs: ['tuiHintDirectionChange'],\n },\n ],\n})\nexport class TuiHintDirective<C>\n implements OnDestroy, OnChanges, TuiRectAccessor, TuiVehicle\n{\n private readonly service = inject(TuiPopupService);\n private ref?: ComponentRef<unknown>;\n\n public readonly content = input<PolymorpheusContent<C>>(null, {alias: 'tuiHint'});\n public readonly context = input<C>(undefined, {alias: 'tuiHintContext'});\n public readonly appearance = input(inject(TUI_HINT_OPTIONS).appearance, {\n alias: 'tuiHintAppearance',\n });\n\n public readonly visible = output<boolean>({alias: 'tuiHintVisible'});\n\n public component = inject(PolymorpheusComponent<unknown>);\n public readonly el = tuiInjectElement();\n public readonly type = 'hint';\n\n public ngOnChanges(): void {\n if (!this.content()) {\n this.toggle(false);\n }\n }\n\n public ngOnDestroy(): void {\n this.toggle(false);\n }\n\n public getClientRect(): DOMRect {\n return this.el.getBoundingClientRect();\n }\n\n public toggle(show: boolean): void {\n if (show && this.content() && !this.ref) {\n this.ref = this.service.add(this.component);\n this.visible.emit(true);\n } else if (this.ref) {\n this.ref.destroy();\n this.ref = undefined;\n this.visible.emit(false);\n }\n }\n}\n","import {Directive} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk/constants';\nimport {tuiPointToClientRect} from '@taiga-ui/cdk/utils/dom';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n type TuiRectAccessor,\n} from '@taiga-ui/core/classes';\n\nimport {TuiHintHover} from './hint-hover.directive';\n\n@Directive({\n selector: '[tuiHint][tuiHintPointer]',\n providers: [tuiAsRectAccessor(TuiHintPointer), tuiAsDriver(TuiHintPointer)],\n host: {\n '(mousemove.zoneless)': 'onMove($event)',\n },\n})\nexport class TuiHintPointer extends TuiHintHover implements TuiRectAccessor {\n private currentRect = EMPTY_CLIENT_RECT;\n\n public getClientRect(): DOMRect {\n return this.currentRect;\n }\n\n protected onMove({clientX, clientY}: MouseEvent): void {\n this.currentRect = tuiPointToClientRect(clientX, clientY);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n INJECTOR,\n TemplateRef,\n} from '@angular/core';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {PolymorpheusComponent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiHintDirective} from './hint.directive';\n\n@Component({\n imports: [PolymorpheusOutlet],\n template: '<ng-container *polymorpheusOutlet=\"hint.content()\" />',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiHintUnstyledComponent {\n protected readonly hint = inject(TuiHintDirective);\n}\n\n@Directive({\n selector: 'ng-template[tuiHint]',\n})\nexport class TuiHintUnstyled<C> {\n constructor() {\n const hint = inject(TuiHintDirective<C>);\n\n tuiSetSignal(hint.content, inject(TemplateRef<C>));\n hint.component = new PolymorpheusComponent(\n TuiHintUnstyledComponent,\n inject(INJECTOR),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n inject,\n signal,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk/constants';\nimport {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {TuiHoveredService} from '@taiga-ui/cdk/directives/hovered';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiPositionAccessorFor,\n TuiRectAccessor,\n tuiRectAccessorFor,\n} from '@taiga-ui/core/classes';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {TuiAppearance, tuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiPositionService, TuiVisualViewportService} from '@taiga-ui/core/services';\nimport {TUI_VIEWPORT} from '@taiga-ui/core/tokens';\nimport {tuiIsObscured} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {map, takeWhile} from 'rxjs';\n\nimport {TuiHintDirective} from './hint.directive';\nimport {TuiHintHover} from './hint-hover.directive';\nimport {TuiHintPointer} from './hint-pointer.directive';\nimport {TuiHintPosition} from './hint-position.directive';\nimport {TuiHintUnstyledComponent} from './hint-unstyled.component';\n\nexport const TUI_HINT_PROVIDERS = [\n TuiPositionService,\n TuiHoveredService,\n tuiPositionAccessorFor('hint', TuiHintPosition),\n tuiRectAccessorFor(\n 'hint',\n forwardRef(() => TuiHintDirective),\n ),\n];\n\nconst GAP = 8;\n\n@Component({\n selector: 'tui-hint',\n imports: [PolymorpheusOutlet],\n template: `\n <ng-content />\n <span\n *polymorpheusOutlet=\"content() as text; context: hint.context()\"\n [innerHTML]=\"text\"\n ></span>\n `,\n styleUrl: './hint.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_HINT_PROVIDERS, tuiButtonOptionsProvider({size: 's'})],\n hostDirectives: [TuiAppearance, TuiAnimated, TuiActiveZone],\n host: {\n role: 'tooltip',\n '[class._untouchable]': 'pointer',\n '[class._mobile]': 'isMobile',\n '[attr.tuiTheme]': 'theme',\n '(document:click)': 'onClick($event.target)',\n },\n})\nexport class TuiHintComponent {\n private readonly el = tuiInjectElement();\n private readonly hover = inject(TuiHintHover);\n private readonly vvs = inject(TuiVisualViewportService);\n private readonly viewport = inject(TUI_VIEWPORT);\n\n protected readonly pointer = inject(TuiHintPointer, {optional: true});\n protected readonly accessor = inject(TuiRectAccessor);\n protected readonly hint = inject(TuiHintDirective);\n protected readonly isMobile = inject(WA_IS_MOBILE);\n\n protected readonly content =\n this.hint.component.component === TuiHintUnstyledComponent\n ? signal('')\n : this.hint.content;\n\n protected readonly theme = this.hint.el\n .closest('[tuiTheme]')\n ?.getAttribute('tuiTheme');\n\n protected readonly appearance = tuiAppearance(this.hint.appearance);\n\n constructor() {\n inject(TuiPositionService)\n .pipe(\n takeWhile(() => this.hint.el.isConnected),\n map((point) => this.vvs.correct(point)),\n takeUntilDestroyed(),\n )\n .subscribe({\n next: (point) => this.update(...point),\n complete: () => this.hover.close(),\n });\n\n inject(TuiHoveredService)\n .pipe(takeUntilDestroyed())\n .subscribe((hover) => this.hover.toggle(hover));\n }\n\n protected onClick(target: HTMLElement): void {\n if (\n (!target.closest(this.el.tagName) && !this.hint.el.contains(target)) ||\n tuiIsObscured(this.hint.el)\n ) {\n this.hover.toggle(false);\n }\n }\n\n private apply(top: string, left: string, beakTop: number, beakLeft: number): void {\n this.el.style.setProperty('top', top);\n this.el.style.setProperty('left', left);\n this.el.style.setProperty('--t-top', `${beakTop}%`);\n this.el.style.setProperty('--t-left', `${beakLeft}%`);\n this.el.style.setProperty(\n '--t-rotate',\n !beakLeft || Math.ceil(beakLeft) === 100 ? '90deg' : '0deg',\n );\n }\n\n private update(left: number, top: number): void {\n const {clientHeight, clientWidth} = this.el;\n const rect = this.accessor.getClientRect();\n\n if (rect === EMPTY_CLIENT_RECT || !clientHeight || !clientWidth) {\n return;\n }\n\n const viewport = this.viewport.getClientRect();\n const safeLeft = tuiClamp(\n Math.max(GAP, left),\n viewport.left + GAP,\n Math.max(GAP, viewport.width + viewport.left - clientWidth - GAP),\n );\n\n const [beakTop, beakLeft] = this.vvs.correct([\n rect.top + rect.height / 2 - top,\n rect.left + rect.width / 2 - safeLeft,\n ]);\n\n this.apply(\n tuiPx(Math.round(top)),\n tuiPx(Math.round(safeLeft)),\n Math.round((tuiClamp(beakTop, 0, clientHeight) / clientHeight) * 100),\n Math.round((tuiClamp(beakLeft, 0, clientWidth) / clientWidth) * 100),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {computed, Directive, inject, input} from '@angular/core';\nimport {toObservable} from '@angular/core/rxjs-interop';\nimport {tuiIfMap, tuiTypedFromEvent, tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/classes';\nimport {\n debounce,\n distinctUntilChanged,\n fromEvent,\n map,\n merge,\n of,\n skip,\n startWith,\n switchMap,\n timer,\n} from 'rxjs';\n\n@Directive({\n selector: '[tuiHintDescribe]',\n providers: [tuiAsDriver(TuiHintDescribe)],\n})\nexport class TuiHintDescribe extends TuiDriver {\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n\n protected readonly element = computed((id = this.id()) =>\n id ? this.doc.querySelector(`#${id}`) || this.el : this.el,\n );\n\n public readonly id = input<string | null | undefined>('', {alias: 'tuiHintDescribe'});\n public readonly type = 'hint';\n\n protected readonly stream$ = toObservable(this.id).pipe(\n distinctUntilChanged(),\n tuiIfMap(() => fromEvent(this.doc, 'keydown', {capture: true}), tuiIsPresent),\n switchMap(() =>\n this.focused\n ? of(false)\n : merge(\n tuiTypedFromEvent(this.doc, 'keyup'),\n tuiTypedFromEvent(this.element(), 'blur'),\n ).pipe(map(() => this.focused)),\n ),\n debounce((visible) => (visible ? timer(1000) : of(null))),\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n tuiZoneOptimized(),\n );\n\n constructor() {\n super((subscriber) => this.stream$.subscribe(subscriber));\n }\n\n private get focused(): boolean {\n return tuiIsFocused(this.element());\n }\n}\n","import {Directive, input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk/constants';\nimport {tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/classes';\n\n@Directive({\n selector: '[tuiHint][tuiHintHost]',\n providers: [tuiAsRectAccessor(TuiHintHost)],\n})\nexport class TuiHintHost extends TuiRectAccessor {\n public readonly tuiHintHost = input<HTMLElement>();\n public readonly type = 'hint';\n\n public getClientRect(): DOMRect {\n return this.tuiHintHost()?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n }\n}\n","import {Directive, inject, input, type OnChanges} from '@angular/core';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/classes';\nimport {BehaviorSubject} from 'rxjs';\n\nimport {TuiHintHover} from './hint-hover.directive';\n\n@Directive({\n selector: '[tuiHint][tuiHintManual]',\n providers: [tuiAsDriver(TuiHintManual)],\n})\nexport class TuiHintManual extends TuiDriver implements OnChanges {\n private readonly hover = inject(TuiHintHover);\n private readonly stream$ = new BehaviorSubject(false);\n\n public readonly visible = input<boolean | null>(false, {alias: 'tuiHintManual'});\n public readonly type = 'hint';\n\n constructor() {\n super((subscriber) => this.stream$.subscribe(subscriber));\n this.hover.enabled = false;\n }\n\n public ngOnChanges(): void {\n this.stream$.next(!!this.visible());\n this.hover.enabled = this.visible() === null;\n }\n}\n","import {Directive, inject, input} from '@angular/core';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiHintDirective} from './hint.directive';\n\n@Directive({\n selector: '[tuiHintOverflow]',\n hostDirectives: [\n {\n directive: TuiHintDirective,\n inputs: ['tuiHintAppearance'],\n },\n ],\n host: {\n '(mouseenter)': 'onMouseEnter($event.currentTarget)',\n },\n})\nexport class TuiHintOverflow {\n private readonly hint = inject(TuiHintDirective);\n\n public readonly content = input<string | null>('', {alias: 'tuiHintOverflow'});\n\n protected onMouseEnter({scrollWidth, clientWidth, textContent}: Element): void {\n tuiSetSignal(\n this.hint.content,\n scrollWidth > clientWidth && this.content() !== null\n ? this.content() || textContent\n : '',\n );\n }\n}\n","import {TuiHintComponent} from './hint.component';\nimport {TuiHintDirective} from './hint.directive';\nimport {TuiHintDescribe} from './hint-describe.directive';\nimport {TuiHintDriver} from './hint-driver.directive';\nimport {TuiHintHost} from './hint-host.directive';\nimport {TuiHintHover} from './hint-hover.directive';\nimport {TuiHintManual} from './hint-manual.directive';\nimport {TuiHintOverflow} from './hint-overflow.directive';\nimport {TuiHintPointer} from './hint-pointer.directive';\nimport {TuiHintPosition} from './hint-position.directive';\nimport {TuiHintUnstyled} from './hint-unstyled.component';\n\nexport const TuiHint = [\n TuiHintComponent,\n TuiHintDirective,\n TuiHintUnstyled,\n TuiHintDriver,\n TuiHintPosition,\n TuiHintHover,\n TuiHintOverflow,\n TuiHintDescribe,\n TuiHintHost,\n TuiHintManual,\n TuiHintPointer,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["GAP","i1.TuiHintDriver","i2.TuiHintHover","i3.TuiHintPosition","i1.TuiHintDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-portals-hint.mjs","sources":["../../../projects/core/portals/hint/hint.providers.ts","../../../projects/core/portals/hint/hint-driver.directive.ts","../../../projects/core/portals/hint/hint-options.directive.ts","../../../projects/core/portals/hint/hint-hover.directive.ts","../../../projects/core/portals/hint/hint-position.directive.ts","../../../projects/core/portals/hint/hint.directive.ts","../../../projects/core/portals/hint/hint-pointer.directive.ts","../../../projects/core/portals/hint/hint-unstyled.component.ts","../../../projects/core/portals/hint/hint.component.ts","../../../projects/core/portals/hint/hint-describe.directive.ts","../../../projects/core/portals/hint/hint-host.directive.ts","../../../projects/core/portals/hint/hint-manual.directive.ts","../../../projects/core/portals/hint/hint-overflow.directive.ts","../../../projects/core/portals/hint/hint.ts","../../../projects/core/portals/hint/taiga-ui-core-portals-hint.ts"],"sourcesContent":["import {InjectionToken, type Type} from '@angular/core';\n\nimport {TuiHintComponent} from './hint.component';\n\n/**\n * A component to display a hint\n */\nexport const TUI_HINT_COMPONENT = new InjectionToken<Type<unknown>>(\n ngDevMode ? 'TUI_HINT_COMPONENT' : '',\n {factory: () => TuiHintComponent},\n);\n","import {Directive} from '@angular/core';\nimport {TuiDriverDirective} from '@taiga-ui/core/classes';\n\n@Directive()\nexport class TuiHintDriver extends TuiDriverDirective {\n public readonly type = 'hint';\n}\n","import {type FactoryProvider, InjectionToken, Optional, SkipSelf} from '@angular/core';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {tuiOverrideOptions} from '@taiga-ui/core/utils/miscellaneous';\n\nexport type TuiHintDirection =\n | 'bottom-end'\n | 'bottom-start'\n | 'bottom'\n | 'end-bottom'\n | 'end-top'\n | 'end'\n | 'start-bottom'\n | 'start-top'\n | 'start'\n | 'top-end'\n | 'top-start'\n | 'top';\n\nexport const TUI_HINT_DIRECTIONS: readonly TuiHintDirection[] = [\n 'bottom-start',\n 'bottom',\n 'bottom-end',\n 'top-start',\n 'top',\n 'top-end',\n 'start-top',\n 'start',\n 'start-bottom',\n 'end-top',\n 'end',\n 'end-bottom',\n];\n\nexport interface TuiHintOptions extends TuiAppearanceOptions {\n readonly direction: TuiHintDirection | TuiHintDirection[];\n readonly hideDelay: number;\n readonly icon: string;\n readonly showDelay: number;\n}\n\n/** Default values for hint options */\nexport const TUI_HINT_DEFAULT_OPTIONS: TuiHintOptions = {\n direction: 'bottom-start',\n showDelay: 500,\n hideDelay: 200,\n appearance: '',\n /** TODO @deprecated use {@link TUI_TOOLTIP_OPTIONS} instead **/\n icon: '@tui.circle-help',\n};\n\n/**\n * Default parameters for hint directive\n */\nexport const TUI_HINT_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_HINT_OPTIONS' : '', {\n factory: () => TUI_HINT_DEFAULT_OPTIONS,\n});\n\nexport const tuiHintOptionsProvider: (\n options: Partial<TuiHintOptions>,\n) => FactoryProvider = (override: Partial<TuiHintOptions>) => ({\n provide: TUI_HINT_OPTIONS,\n deps: [[new Optional(), new SkipSelf(), TUI_HINT_OPTIONS]],\n useFactory: tuiOverrideOptions(override, TUI_HINT_DEFAULT_OPTIONS),\n});\n","import {Directive, inject, input} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {TuiHoveredService} from '@taiga-ui/cdk/directives/hovered';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/classes';\nimport {tuiIsObscured} from '@taiga-ui/core/utils/miscellaneous';\nimport {\n delay,\n filter,\n map,\n merge,\n of,\n repeat,\n Subject,\n switchMap,\n takeUntil,\n tap,\n} from 'rxjs';\n\nimport {TUI_HINT_OPTIONS} from './hint-options.directive';\n\n@Directive({\n providers: [tuiAsDriver(TuiHintHover), TuiHoveredService],\n exportAs: 'tuiHintHover',\n})\nexport class TuiHintHover extends TuiDriver {\n private readonly isMobile = inject(WA_IS_MOBILE);\n private readonly el = tuiInjectElement();\n private readonly hovered$ = inject(TuiHoveredService);\n private readonly options = inject(TUI_HINT_OPTIONS);\n private visible = false;\n private readonly toggle$ = new Subject<boolean>();\n private readonly stream$ = merge(\n this.toggle$.pipe(\n switchMap((show) =>\n this.isMobile\n ? of(show)\n : of(show).pipe(delay(show ? 0 : this.hideDelay())),\n ),\n takeUntil(this.hovered$),\n repeat(),\n ),\n this.hovered$.pipe(\n switchMap((show) =>\n this.isMobile\n ? of(show).pipe(delay(0))\n : of(show).pipe(delay(show ? this.showDelay() : this.hideDelay())),\n ),\n takeUntil(this.toggle$),\n repeat(),\n ),\n ).pipe(\n filter(() => this.enabled),\n map(\n (value) =>\n value &&\n (this.el.hasAttribute('tuiHintPointer') || !tuiIsObscured(this.el)),\n ),\n tap((visible) => {\n this.visible = visible;\n }),\n );\n\n private readonly parent = inject(TuiHintHover, {\n optional: true,\n skipSelf: true,\n });\n\n public readonly showDelay = input(this.options.showDelay, {\n alias: 'tuiHintShowDelay',\n });\n\n public readonly hideDelay = input(this.options.hideDelay, {\n alias: 'tuiHintHideDelay',\n });\n\n public readonly type = 'hint';\n\n public enabled = true;\n\n constructor() {\n super((subscriber) => this.stream$.subscribe(subscriber));\n }\n\n public toggle(visible = !this.visible): void {\n this.toggle$.next(visible);\n this.parent?.toggle(visible);\n }\n\n public close(): void {\n this.toggle$.next(false);\n }\n}\n","import {Directive, inject, input} from '@angular/core';\nimport {outputFromObservable} from '@angular/core/rxjs-interop';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n tuiFallbackAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/classes';\nimport {TUI_VIEWPORT} from '@taiga-ui/core/tokens';\nimport {type TuiPoint} from '@taiga-ui/core/types';\nimport {distinctUntilChanged, Subject} from 'rxjs';\n\nimport {\n TUI_HINT_DIRECTIONS,\n TUI_HINT_OPTIONS,\n type TuiHintDirection,\n} from './hint-options.directive';\n\nconst GAP = 8;\nconst ARROW_OFFSET = 24;\nconst TOP = 1;\nconst LEFT = 0;\n\n@Directive()\nexport class TuiHintPosition extends TuiPositionAccessor {\n private readonly el = tuiInjectElement();\n private readonly viewport = inject(TUI_VIEWPORT);\n private readonly directionChange = new Subject<TuiHintDirection>();\n private readonly accessor = tuiFallbackAccessor<TuiRectAccessor>('hint')(\n inject<any>(TuiRectAccessor, {optional: true}),\n {getClientRect: () => this.el.getBoundingClientRect()},\n );\n\n private readonly points: Record<TuiHintDirection, [number, number]> =\n TUI_HINT_DIRECTIONS.reduce(\n (acc, direction) => ({...acc, [direction]: [0, 0]}),\n {} as Record<TuiHintDirection, [number, number]>,\n );\n\n public readonly direction = input(inject(TUI_HINT_OPTIONS).direction, {\n alias: 'tuiHintDirection',\n });\n\n public readonly offset = input(inject(WA_IS_MOBILE) ? 16 : 8, {\n alias: 'tuiHintOffset',\n });\n\n public readonly tuiHintDirectionChange = outputFromObservable(\n this.directionChange.pipe(distinctUntilChanged()),\n );\n\n public readonly type = 'hint';\n\n public getPosition({width, height}: DOMRect): TuiPoint {\n const direction = this.direction();\n const hostRect = this.accessor.getClientRect();\n const leftCenter = hostRect.left + hostRect.width / 2;\n const topCenter = hostRect.top + hostRect.height / 2;\n const rtl = this.el.matches('[dir=\"rtl\"] :scope');\n\n this.points['top-start'][TOP] = hostRect.top - height - this.offset();\n this.points['top-start'][LEFT] = leftCenter - width + ARROW_OFFSET;\n this.points.top[TOP] = this.points['top-start'][TOP];\n this.points.top[LEFT] = leftCenter - width / 2;\n this.points['top-end'][TOP] = this.points['top-start'][TOP];\n this.points['top-end'][LEFT] = leftCenter - ARROW_OFFSET;\n\n this.points['bottom-start'][TOP] = hostRect.bottom + this.offset();\n this.points['bottom-start'][LEFT] = this.points['top-start'][LEFT];\n this.points.bottom[TOP] = this.points['bottom-start'][TOP];\n this.points.bottom[LEFT] = this.points.top[LEFT];\n this.points['bottom-end'][TOP] = this.points['bottom-start'][TOP];\n this.points['bottom-end'][LEFT] = this.points['top-end'][LEFT];\n\n this.points['start-top'][TOP] = topCenter - height + ARROW_OFFSET;\n this.points['start-top'][LEFT] = hostRect.left - width - this.offset();\n this.points.start[TOP] = topCenter - height / 2;\n this.points.start[LEFT] = this.points['start-top'][LEFT];\n this.points['start-bottom'][TOP] = topCenter - ARROW_OFFSET;\n this.points['start-bottom'][LEFT] = this.points['start-top'][LEFT];\n\n this.points['end-top'][TOP] = this.points['start-top'][TOP];\n this.points['end-top'][LEFT] = hostRect.right + this.offset();\n this.points.end[TOP] = this.points.start[TOP];\n this.points.end[LEFT] = this.points['end-top'][LEFT];\n this.points['end-bottom'][TOP] = this.points['start-bottom'][TOP];\n this.points['end-bottom'][LEFT] = this.points['end-top'][LEFT];\n\n const array = Array.isArray(direction) ? direction : [direction];\n const priority = array.map((direction) => adjust(direction, rtl));\n const updated =\n priority\n .concat(TUI_HINT_DIRECTIONS)\n .find((dir) => this.checkPosition(this.points[dir], width, height)) ||\n this.fallback;\n\n this.directionChange.next(adjust(updated, rtl));\n\n return this.points[updated];\n }\n\n private get fallback(): TuiHintDirection {\n return this.points.top[TOP] >\n this.viewport.getClientRect().bottom - this.points.bottom[TOP]\n ? 'top'\n : 'bottom';\n }\n\n private checkPosition([left, top]: TuiPoint, width: number, height: number): boolean {\n const viewport = this.viewport.getClientRect();\n\n return (\n top > viewport.top + GAP &&\n left > viewport.left + GAP &&\n top + height < viewport.bottom - GAP &&\n left + width < viewport.right - GAP\n );\n }\n}\n\nfunction adjust(direction: TuiHintDirection, rtl: boolean): TuiHintDirection {\n if (rtl && direction.includes('left')) {\n return direction.replace('left', 'right') as TuiHintDirection;\n }\n\n if (rtl && direction.includes('right')) {\n return direction.replace('right', 'left') as TuiHintDirection;\n }\n\n return direction;\n}\n","import {\n type ComponentRef,\n Directive,\n inject,\n INJECTOR,\n input,\n type OnChanges,\n type OnDestroy,\n output,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n tuiAsVehicle,\n type TuiRectAccessor,\n type TuiVehicle,\n} from '@taiga-ui/core/classes';\nimport {TuiPopupService} from '@taiga-ui/core/portals/popup';\nimport {PolymorpheusComponent, type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TUI_HINT_COMPONENT} from './hint.providers';\nimport {TuiHintDriver} from './hint-driver.directive';\nimport {TuiHintHover} from './hint-hover.directive';\nimport {TUI_HINT_OPTIONS} from './hint-options.directive';\nimport {TuiHintPosition} from './hint-position.directive';\n\n@Directive({\n selector: '[tuiHint]:not(ng-container):not(ng-template)',\n providers: [\n tuiAsVehicle(TuiHintDirective),\n {\n provide: PolymorpheusComponent,\n deps: [TUI_HINT_COMPONENT, INJECTOR],\n useClass: PolymorpheusComponent,\n },\n ],\n hostDirectives: [\n TuiHintDriver,\n {\n directive: TuiHintHover,\n inputs: ['tuiHintHideDelay', 'tuiHintShowDelay'],\n },\n {\n directive: TuiHintPosition,\n inputs: ['tuiHintDirection', 'tuiHintOffset'],\n outputs: ['tuiHintDirectionChange'],\n },\n ],\n})\nexport class TuiHintDirective<C>\n implements OnDestroy, OnChanges, TuiRectAccessor, TuiVehicle\n{\n private readonly service = inject(TuiPopupService);\n private ref?: ComponentRef<unknown>;\n\n public readonly content = input<PolymorpheusContent<C>>(null, {alias: 'tuiHint'});\n public readonly context = input<C>(undefined, {alias: 'tuiHintContext'});\n public readonly appearance = input(inject(TUI_HINT_OPTIONS).appearance, {\n alias: 'tuiHintAppearance',\n });\n\n public readonly visible = output<boolean>({alias: 'tuiHintVisible'});\n\n public component = inject(PolymorpheusComponent<unknown>);\n public readonly el = tuiInjectElement();\n public readonly type = 'hint';\n\n public ngOnChanges(): void {\n if (!this.content()) {\n this.toggle(false);\n }\n }\n\n public ngOnDestroy(): void {\n this.toggle(false);\n }\n\n public getClientRect(): DOMRect {\n return this.el.getBoundingClientRect();\n }\n\n public toggle(show: boolean): void {\n if (show && this.content() && !this.ref) {\n this.ref = this.service.add(this.component);\n this.visible.emit(true);\n } else if (this.ref) {\n this.ref.destroy();\n this.ref = undefined;\n this.visible.emit(false);\n }\n }\n}\n","import {Directive} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk/constants';\nimport {tuiPointToClientRect} from '@taiga-ui/cdk/utils/dom';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n type TuiRectAccessor,\n} from '@taiga-ui/core/classes';\n\nimport {TuiHintHover} from './hint-hover.directive';\n\n@Directive({\n selector: '[tuiHint][tuiHintPointer]',\n providers: [tuiAsRectAccessor(TuiHintPointer), tuiAsDriver(TuiHintPointer)],\n host: {'(mousemove.zoneless)': 'onMove($event)'},\n})\nexport class TuiHintPointer extends TuiHintHover implements TuiRectAccessor {\n private currentRect = EMPTY_CLIENT_RECT;\n\n public getClientRect(): DOMRect {\n return this.currentRect;\n }\n\n protected onMove({clientX, clientY}: MouseEvent): void {\n this.currentRect = tuiPointToClientRect(clientX, clientY);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n INJECTOR,\n TemplateRef,\n} from '@angular/core';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {PolymorpheusComponent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiHintDirective} from './hint.directive';\n\n@Component({\n imports: [PolymorpheusOutlet],\n template: '<ng-container *polymorpheusOutlet=\"hint.content()\" />',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiHintUnstyledComponent {\n protected readonly hint = inject(TuiHintDirective);\n}\n\n@Directive({selector: 'ng-template[tuiHint]'})\nexport class TuiHintUnstyled<C> {\n constructor() {\n const hint = inject(TuiHintDirective<C>);\n\n tuiSetSignal(hint.content, inject(TemplateRef<C>));\n hint.component = new PolymorpheusComponent(\n TuiHintUnstyledComponent,\n inject(INJECTOR),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n inject,\n signal,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk/constants';\nimport {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {TuiHoveredService} from '@taiga-ui/cdk/directives/hovered';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiPositionAccessorFor,\n TuiRectAccessor,\n tuiRectAccessorFor,\n} from '@taiga-ui/core/classes';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {TuiAppearance, tuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiPositionService, TuiVisualViewportService} from '@taiga-ui/core/services';\nimport {TUI_VIEWPORT} from '@taiga-ui/core/tokens';\nimport {tuiIsObscured} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {map, takeWhile} from 'rxjs';\n\nimport {TuiHintDirective} from './hint.directive';\nimport {TuiHintHover} from './hint-hover.directive';\nimport {TuiHintPointer} from './hint-pointer.directive';\nimport {TuiHintPosition} from './hint-position.directive';\nimport {TuiHintUnstyledComponent} from './hint-unstyled.component';\n\nexport const TUI_HINT_PROVIDERS = [\n TuiPositionService,\n TuiHoveredService,\n tuiPositionAccessorFor('hint', TuiHintPosition),\n tuiRectAccessorFor(\n 'hint',\n forwardRef(() => TuiHintDirective),\n ),\n];\n\nconst GAP = 8;\n\n@Component({\n selector: 'tui-hint',\n imports: [PolymorpheusOutlet],\n template: `\n <ng-content />\n <span\n *polymorpheusOutlet=\"content() as text; context: hint.context()\"\n [innerHTML]=\"text\"\n ></span>\n `,\n styleUrl: './hint.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_HINT_PROVIDERS, tuiButtonOptionsProvider({size: 's'})],\n hostDirectives: [TuiAppearance, TuiAnimated, TuiActiveZone],\n host: {\n role: 'tooltip',\n '[class._untouchable]': 'pointer',\n '[class._mobile]': 'isMobile',\n '[attr.tuiTheme]': 'theme',\n '(document:click)': 'onClick($event.target)',\n },\n})\nexport class TuiHintComponent {\n private readonly el = tuiInjectElement();\n private readonly hover = inject(TuiHintHover);\n private readonly vvs = inject(TuiVisualViewportService);\n private readonly viewport = inject(TUI_VIEWPORT);\n\n protected readonly pointer = inject(TuiHintPointer, {optional: true});\n protected readonly accessor = inject(TuiRectAccessor);\n protected readonly hint = inject(TuiHintDirective);\n protected readonly isMobile = inject(WA_IS_MOBILE);\n\n protected readonly content =\n this.hint.component.component === TuiHintUnstyledComponent\n ? signal('')\n : this.hint.content;\n\n protected readonly theme = this.hint.el\n .closest('[tuiTheme]')\n ?.getAttribute('tuiTheme');\n\n protected readonly appearance = tuiAppearance(this.hint.appearance);\n\n constructor() {\n inject(TuiPositionService)\n .pipe(\n takeWhile(() => this.hint.el.isConnected),\n map((point) => this.vvs.correct(point)),\n takeUntilDestroyed(),\n )\n .subscribe({\n next: (point) => this.update(...point),\n complete: () => this.hover.close(),\n });\n\n inject(TuiHoveredService)\n .pipe(takeUntilDestroyed())\n .subscribe((hover) => this.hover.toggle(hover));\n }\n\n protected onClick(target: HTMLElement): void {\n if (\n (!target.closest(this.el.tagName) && !this.hint.el.contains(target)) ||\n tuiIsObscured(this.hint.el)\n ) {\n this.hover.toggle(false);\n }\n }\n\n private apply(top: string, left: string, beakTop: number, beakLeft: number): void {\n this.el.style.setProperty('top', top);\n this.el.style.setProperty('left', left);\n this.el.style.setProperty('--t-top', `${beakTop}%`);\n this.el.style.setProperty('--t-left', `${beakLeft}%`);\n this.el.style.setProperty(\n '--t-rotate',\n !beakLeft || Math.ceil(beakLeft) === 100 ? '90deg' : '0deg',\n );\n }\n\n private update(left: number, top: number): void {\n const {clientHeight, clientWidth} = this.el;\n const rect = this.accessor.getClientRect();\n\n if (rect === EMPTY_CLIENT_RECT || !clientHeight || !clientWidth) {\n return;\n }\n\n const viewport = this.viewport.getClientRect();\n const safeLeft = tuiClamp(\n Math.max(GAP, left),\n viewport.left + GAP,\n Math.max(GAP, viewport.width + viewport.left - clientWidth - GAP),\n );\n\n const [beakTop, beakLeft] = this.vvs.correct([\n rect.top + rect.height / 2 - top,\n rect.left + rect.width / 2 - safeLeft,\n ]);\n\n this.apply(\n tuiPx(Math.round(top)),\n tuiPx(Math.round(safeLeft)),\n Math.round((tuiClamp(beakTop, 0, clientHeight) / clientHeight) * 100),\n Math.round((tuiClamp(beakLeft, 0, clientWidth) / clientWidth) * 100),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {computed, Directive, inject, input} from '@angular/core';\nimport {toObservable} from '@angular/core/rxjs-interop';\nimport {tuiIfMap, tuiTypedFromEvent, tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/classes';\nimport {\n debounce,\n distinctUntilChanged,\n fromEvent,\n map,\n merge,\n of,\n skip,\n startWith,\n switchMap,\n timer,\n} from 'rxjs';\n\n@Directive({\n selector: '[tuiHintDescribe]',\n providers: [tuiAsDriver(TuiHintDescribe)],\n})\nexport class TuiHintDescribe extends TuiDriver {\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n\n protected readonly element = computed((id = this.id()) =>\n id ? this.doc.querySelector(`#${id}`) || this.el : this.el,\n );\n\n public readonly id = input<string | null | undefined>('', {alias: 'tuiHintDescribe'});\n public readonly type = 'hint';\n\n protected readonly stream$ = toObservable(this.id).pipe(\n distinctUntilChanged(),\n tuiIfMap(() => fromEvent(this.doc, 'keydown', {capture: true}), tuiIsPresent),\n switchMap(() =>\n this.focused\n ? of(false)\n : merge(\n tuiTypedFromEvent(this.doc, 'keyup'),\n tuiTypedFromEvent(this.element(), 'blur'),\n ).pipe(map(() => this.focused)),\n ),\n debounce((visible) => (visible ? timer(1000) : of(null))),\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n tuiZoneOptimized(),\n );\n\n constructor() {\n super((subscriber) => this.stream$.subscribe(subscriber));\n }\n\n private get focused(): boolean {\n return tuiIsFocused(this.element());\n }\n}\n","import {Directive, input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk/constants';\nimport {tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/classes';\n\n@Directive({\n selector: '[tuiHint][tuiHintHost]',\n providers: [tuiAsRectAccessor(TuiHintHost)],\n})\nexport class TuiHintHost extends TuiRectAccessor {\n public readonly tuiHintHost = input<HTMLElement>();\n public readonly type = 'hint';\n\n public getClientRect(): DOMRect {\n return this.tuiHintHost()?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n }\n}\n","import {Directive, inject, input, type OnChanges} from '@angular/core';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/classes';\nimport {BehaviorSubject} from 'rxjs';\n\nimport {TuiHintHover} from './hint-hover.directive';\n\n@Directive({\n selector: '[tuiHint][tuiHintManual]',\n providers: [tuiAsDriver(TuiHintManual)],\n})\nexport class TuiHintManual extends TuiDriver implements OnChanges {\n private readonly hover = inject(TuiHintHover);\n private readonly stream$ = new BehaviorSubject(false);\n\n public readonly visible = input<boolean | null>(false, {alias: 'tuiHintManual'});\n public readonly type = 'hint';\n\n constructor() {\n super((subscriber) => this.stream$.subscribe(subscriber));\n this.hover.enabled = false;\n }\n\n public ngOnChanges(): void {\n this.stream$.next(!!this.visible());\n this.hover.enabled = this.visible() === null;\n }\n}\n","import {Directive, inject, input} from '@angular/core';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiHintDirective} from './hint.directive';\n\n@Directive({\n selector: '[tuiHintOverflow]',\n hostDirectives: [\n {\n directive: TuiHintDirective,\n inputs: ['tuiHintAppearance'],\n },\n ],\n host: {'(mouseenter)': 'onMouseEnter($event.currentTarget)'},\n})\nexport class TuiHintOverflow {\n private readonly hint = inject(TuiHintDirective);\n\n public readonly content = input<string | null>('', {alias: 'tuiHintOverflow'});\n\n protected onMouseEnter({scrollWidth, clientWidth, textContent}: Element): void {\n tuiSetSignal(\n this.hint.content,\n scrollWidth > clientWidth && this.content() !== null\n ? this.content() || textContent\n : '',\n );\n }\n}\n","import {TuiHintComponent} from './hint.component';\nimport {TuiHintDirective} from './hint.directive';\nimport {TuiHintDescribe} from './hint-describe.directive';\nimport {TuiHintDriver} from './hint-driver.directive';\nimport {TuiHintHost} from './hint-host.directive';\nimport {TuiHintHover} from './hint-hover.directive';\nimport {TuiHintManual} from './hint-manual.directive';\nimport {TuiHintOverflow} from './hint-overflow.directive';\nimport {TuiHintPointer} from './hint-pointer.directive';\nimport {TuiHintPosition} from './hint-position.directive';\nimport {TuiHintUnstyled} from './hint-unstyled.component';\n\nexport const TuiHint = [\n TuiHintComponent,\n TuiHintDirective,\n TuiHintUnstyled,\n TuiHintDriver,\n TuiHintPosition,\n TuiHintHover,\n TuiHintOverflow,\n TuiHintDescribe,\n TuiHintHost,\n TuiHintManual,\n TuiHintPointer,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["GAP","i1.TuiHintDriver","i2.TuiHintHover","i3.TuiHintPosition","i1.TuiHintDirective"],"mappings":"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"}
|
|
@@ -9,9 +9,7 @@ class TuiPopupService extends TuiPortalService {
|
|
|
9
9
|
}
|
|
10
10
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiPopupService, decorators: [{
|
|
11
11
|
type: Injectable,
|
|
12
|
-
args: [{
|
|
13
|
-
providedIn: 'root',
|
|
14
|
-
}]
|
|
12
|
+
args: [{ providedIn: 'root' }]
|
|
15
13
|
}] });
|
|
16
14
|
|
|
17
15
|
class TuiPopup {
|
|
@@ -34,9 +32,7 @@ class TuiPopup {
|
|
|
34
32
|
}
|
|
35
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiPopup, decorators: [{
|
|
36
34
|
type: Directive,
|
|
37
|
-
args: [{
|
|
38
|
-
selector: 'ng-template[tuiPopup]',
|
|
39
|
-
}]
|
|
35
|
+
args: [{ selector: 'ng-template[tuiPopup]' }]
|
|
40
36
|
}] });
|
|
41
37
|
|
|
42
38
|
class TuiPopups extends TuiPortals {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-portals-popup.mjs","sources":["../../../projects/core/portals/popup/popup.service.ts","../../../projects/core/portals/popup/popup.directive.ts","../../../projects/core/portals/popup/popups.component.ts","../../../projects/core/portals/popup/taiga-ui-core-portals-popup.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {TuiPortalService} from '@taiga-ui/cdk/portals';\n\n@Injectable({
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-portals-popup.mjs","sources":["../../../projects/core/portals/popup/popup.service.ts","../../../projects/core/portals/popup/popup.directive.ts","../../../projects/core/portals/popup/popups.component.ts","../../../projects/core/portals/popup/taiga-ui-core-portals-popup.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {TuiPortalService} from '@taiga-ui/cdk/portals';\n\n@Injectable({providedIn: 'root'})\nexport class TuiPopupService extends TuiPortalService {}\n","import {\n Directive,\n type EmbeddedViewRef,\n inject,\n input,\n type OnChanges,\n type OnDestroy,\n TemplateRef,\n} from '@angular/core';\n\nimport {TuiPopupService} from './popup.service';\n\n@Directive({selector: 'ng-template[tuiPopup]'})\nexport class TuiPopup implements OnChanges, OnDestroy {\n private readonly template = inject(TemplateRef);\n private readonly service = inject(TuiPopupService);\n private ref?: EmbeddedViewRef<unknown>;\n\n public readonly show = input(false, {alias: 'tuiPopup'});\n\n public ngOnChanges(): void {\n this.ref?.destroy();\n\n if (this.show()) {\n this.ref = this.service.add(this.template);\n }\n }\n\n public ngOnDestroy(): void {\n this.ref?.destroy();\n }\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {TuiPortals, TuiPortalService} from '@taiga-ui/cdk/portals';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nimport {TuiPopupService} from './popup.service';\n\n@Component({\n selector: 'tui-popups',\n template: '<ng-content/><ng-container #vcr />',\n styleUrl: './popups.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiProvide(TuiPortalService, TuiPopupService)],\n})\nexport class TuiPopups extends TuiPortals {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIM,MAAO,eAAgB,SAAQ,gBAAgB,CAAA;+GAAxC,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADH,MAAM,EAAA,CAAA,CAAA;;4FAClB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;MCUnB,QAAQ,CAAA;AADrB,IAAA,WAAA,GAAA;AAEqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;AAC9B,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC;QAGlC,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC,CAAC;AAa3D;IAXU,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE;AAEnB,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;AACb,YAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;;;IAI3C,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE;;+GAhBd,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBADpB,SAAS;mBAAC,EAAC,QAAQ,EAAE,uBAAuB,EAAC;;;ACCxC,MAAO,SAAU,SAAQ,UAAU,CAAA;+GAA5B,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAFP,CAAC,UAAU,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAHhD,oCAAoC,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,iZAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAKrC,SAAS,EAAA,UAAA,EAAA,CAAA;kBAPrB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACZ,QAAA,EAAA,oCAAoC,EAE7B,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,UAAU,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,EAAA,MAAA,EAAA,CAAA,iZAAA,CAAA,EAAA;;;ACX9D;;AAEG;;;;"}
|
|
@@ -44,9 +44,7 @@ class TuiVisualViewportService {
|
|
|
44
44
|
}
|
|
45
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiVisualViewportService, decorators: [{
|
|
46
46
|
type: Injectable,
|
|
47
|
-
args: [{
|
|
48
|
-
providedIn: 'root',
|
|
49
|
-
}]
|
|
47
|
+
args: [{ providedIn: 'root' }]
|
|
50
48
|
}] });
|
|
51
49
|
|
|
52
50
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-services.mjs","sources":["../../../projects/core/services/position.service.ts","../../../projects/core/services/visual-viewport.service.ts","../../../projects/core/services/taiga-ui-core-services.ts"],"sourcesContent":["import {inject, Injectable, NgZone} from '@angular/core';\nimport {WA_ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk/constants';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiPositionAccessor} from '@taiga-ui/core/classes';\nimport {type TuiPoint} from '@taiga-ui/core/types';\nimport {finalize, map, Observable, startWith} from 'rxjs';\n\n@Injectable()\nexport class TuiPositionService extends Observable<TuiPoint> {\n private readonly el = tuiInjectElement();\n private readonly accessor = inject(TuiPositionAccessor);\n\n constructor() {\n const animationFrame$ = inject(WA_ANIMATION_FRAME);\n const zone = inject(NgZone);\n\n super((subscriber) =>\n animationFrame$\n .pipe(\n startWith(null),\n map(() => this.accessor.getPosition(this.el.getBoundingClientRect())),\n tuiZonefree(zone),\n finalize(() => this.accessor.getPosition(EMPTY_CLIENT_RECT)),\n )\n .subscribe(subscriber),\n );\n }\n}\n","import {inject, Injectable} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {WA_IS_WEBKIT} from '@ng-web-apis/platform';\nimport {type TuiPoint} from '@taiga-ui/core/types';\n\n@Injectable({
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-services.mjs","sources":["../../../projects/core/services/position.service.ts","../../../projects/core/services/visual-viewport.service.ts","../../../projects/core/services/taiga-ui-core-services.ts"],"sourcesContent":["import {inject, Injectable, NgZone} from '@angular/core';\nimport {WA_ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk/constants';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiPositionAccessor} from '@taiga-ui/core/classes';\nimport {type TuiPoint} from '@taiga-ui/core/types';\nimport {finalize, map, Observable, startWith} from 'rxjs';\n\n@Injectable()\nexport class TuiPositionService extends Observable<TuiPoint> {\n private readonly el = tuiInjectElement();\n private readonly accessor = inject(TuiPositionAccessor);\n\n constructor() {\n const animationFrame$ = inject(WA_ANIMATION_FRAME);\n const zone = inject(NgZone);\n\n super((subscriber) =>\n animationFrame$\n .pipe(\n startWith(null),\n map(() => this.accessor.getPosition(this.el.getBoundingClientRect())),\n tuiZonefree(zone),\n finalize(() => this.accessor.getPosition(EMPTY_CLIENT_RECT)),\n )\n .subscribe(subscriber),\n );\n }\n}\n","import {inject, Injectable} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {WA_IS_WEBKIT} from '@ng-web-apis/platform';\nimport {type TuiPoint} from '@taiga-ui/core/types';\n\n@Injectable({providedIn: 'root'})\nexport class TuiVisualViewportService {\n private readonly isWebkit = inject(WA_IS_WEBKIT);\n private readonly win = inject(WA_WINDOW);\n\n // https://bugs.webkit.org/show_bug.cgi?id=207089\n public correct(point: TuiPoint): TuiPoint {\n return this.isWebkit\n ? [\n point[0] + (this.win.visualViewport?.offsetLeft ?? 0),\n point[1] + (this.win.visualViewport?.offsetTop ?? 0),\n ]\n : point;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAUM,MAAO,kBAAmB,SAAQ,UAAoB,CAAA;AAIxD,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAClD,QAAA,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;AAE3B,QAAA,KAAK,CAAC,CAAC,UAAU,KACb;aACK,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,CAAC,EACrE,WAAW,CAAC,IAAI,CAAC,EACjB,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAE/D,aAAA,SAAS,CAAC,UAAU,CAAC,CAC7B;QAhBY,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE;AACvB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC;;+GAF9C,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAlB,kBAAkB,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B;;;MCHY,wBAAwB,CAAA;AADrC,IAAA,WAAA,GAAA;AAEqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;AAC/B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;AAW3C;;AARU,IAAA,OAAO,CAAC,KAAe,EAAA;QAC1B,OAAO,IAAI,CAAC;AACR,cAAE;AACI,gBAAA,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,IAAI,CAAC,CAAC;AACrD,gBAAA,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,IAAI,CAAC,CAAC;AACvD;cACD,KAAK;;+GAXN,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADZ,MAAM,EAAA,CAAA,CAAA;;4FAClB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;ACLhC;;AAEG;;;;"}
|
|
@@ -17,9 +17,7 @@ const TUI_REDUCED_MOTION = new InjectionToken(ngDevMode ? 'TUI_REDUCED_MOTION' :
|
|
|
17
17
|
/**
|
|
18
18
|
* Speed of all Taiga UI animations. 1 equals 300ms.
|
|
19
19
|
*/
|
|
20
|
-
const TUI_ANIMATIONS_SPEED = new InjectionToken(ngDevMode ? 'TUI_ANIMATIONS_SPEED' : '', {
|
|
21
|
-
factory: () => (inject(TUI_REDUCED_MOTION) ? 0 : 1),
|
|
22
|
-
});
|
|
20
|
+
const TUI_ANIMATIONS_SPEED = new InjectionToken(ngDevMode ? 'TUI_ANIMATIONS_SPEED' : '', { factory: () => (inject(TUI_REDUCED_MOTION) ? 0 : 1) });
|
|
23
21
|
|
|
24
22
|
const TUI_ASSETS_PATH = new InjectionToken(ngDevMode ? 'TUI_ASSETS_PATH' : '', {
|
|
25
23
|
factory: () => 'assets/taiga-ui/icons',
|
|
@@ -76,9 +74,7 @@ const COMMON_ICONS = {
|
|
|
76
74
|
const [TUI_COMMON_ICONS, tuiCommonIconsProvider] = tuiCreateOptions(COMMON_ICONS);
|
|
77
75
|
|
|
78
76
|
const TUI_DARK_MODE_DEFAULT_KEY = 'tuiDark';
|
|
79
|
-
const TUI_DARK_MODE_KEY = new InjectionToken(ngDevMode ? 'TUI_DARK_MODE_KEY' : '', {
|
|
80
|
-
factory: () => TUI_DARK_MODE_DEFAULT_KEY,
|
|
81
|
-
});
|
|
77
|
+
const TUI_DARK_MODE_KEY = new InjectionToken(ngDevMode ? 'TUI_DARK_MODE_KEY' : '', { factory: () => TUI_DARK_MODE_DEFAULT_KEY });
|
|
82
78
|
const TUI_DARK_MODE = new InjectionToken(ngDevMode ? 'TUI_DARK_MODE' : '', {
|
|
83
79
|
factory: () => {
|
|
84
80
|
let automatic = true;
|
|
@@ -121,9 +117,7 @@ const TUI_DEFAULT_DATE_FORMAT = {
|
|
|
121
117
|
/**
|
|
122
118
|
* Formatting configuration for displayed dates
|
|
123
119
|
*/
|
|
124
|
-
const TUI_DATE_FORMAT = new InjectionToken(ngDevMode ? 'TUI_DATE_FORMAT' : '', {
|
|
125
|
-
factory: () => signal(TUI_DEFAULT_DATE_FORMAT),
|
|
126
|
-
});
|
|
120
|
+
const TUI_DATE_FORMAT = new InjectionToken(ngDevMode ? 'TUI_DATE_FORMAT' : '', { factory: () => signal(TUI_DEFAULT_DATE_FORMAT) });
|
|
127
121
|
function tuiDateFormatProvider(options) {
|
|
128
122
|
return {
|
|
129
123
|
provide: TUI_DATE_FORMAT,
|
|
@@ -149,6 +143,12 @@ const TUI_MONTHS = new InjectionToken(ngDevMode ? 'TUI_MONTHS' : '', {
|
|
|
149
143
|
const TUI_CLOSE_WORD = new InjectionToken(ngDevMode ? 'TUI_CLOSE_WORD' : '', {
|
|
150
144
|
factory: tuiExtractI18n('close'),
|
|
151
145
|
});
|
|
146
|
+
/**
|
|
147
|
+
* i18n 'back' word
|
|
148
|
+
*/
|
|
149
|
+
const TUI_BACK_WORD = new InjectionToken(ngDevMode ? 'TUI_BACK_WORD' : '', {
|
|
150
|
+
factory: tuiExtractI18n('back'),
|
|
151
|
+
});
|
|
152
152
|
/**
|
|
153
153
|
* i18n 'clear' word
|
|
154
154
|
*/
|
|
@@ -158,15 +158,11 @@ const TUI_CLEAR_WORD = new InjectionToken(ngDevMode ? 'TUI_CLEAR_WORD' : '', {
|
|
|
158
158
|
/**
|
|
159
159
|
* i18n 'Nothing found' message
|
|
160
160
|
*/
|
|
161
|
-
const TUI_NOTHING_FOUND_MESSAGE = new InjectionToken(ngDevMode ? 'TUI_NOTHING_FOUND_MESSAGE' : '', {
|
|
162
|
-
factory: tuiExtractI18n('nothingFoundMessage'),
|
|
163
|
-
});
|
|
161
|
+
const TUI_NOTHING_FOUND_MESSAGE = new InjectionToken(ngDevMode ? 'TUI_NOTHING_FOUND_MESSAGE' : '', { factory: tuiExtractI18n('nothingFoundMessage') });
|
|
164
162
|
/**
|
|
165
163
|
* i18n of error message
|
|
166
164
|
*/
|
|
167
|
-
const TUI_DEFAULT_ERROR_MESSAGE = new InjectionToken(ngDevMode ? 'TUI_DEFAULT_ERROR_MESSAGE' : '', {
|
|
168
|
-
factory: tuiExtractI18n('defaultErrorMessage'),
|
|
169
|
-
});
|
|
165
|
+
const TUI_DEFAULT_ERROR_MESSAGE = new InjectionToken(ngDevMode ? 'TUI_DEFAULT_ERROR_MESSAGE' : '', { factory: tuiExtractI18n('defaultErrorMessage') });
|
|
170
166
|
/**
|
|
171
167
|
* spin i18n texts
|
|
172
168
|
*/
|
|
@@ -176,9 +172,7 @@ const TUI_SPIN_TEXTS = new InjectionToken(ngDevMode ? 'TUI_SPIN_TEXTS' : '', {
|
|
|
176
172
|
/**
|
|
177
173
|
* calendars i18n texts
|
|
178
174
|
*/
|
|
179
|
-
const TUI_SHORT_WEEK_DAYS = new InjectionToken(ngDevMode ? 'TUI_SHORT_WEEK_DAYS' : '', {
|
|
180
|
-
factory: tuiExtractI18n('shortWeekDays'),
|
|
181
|
-
});
|
|
175
|
+
const TUI_SHORT_WEEK_DAYS = new InjectionToken(ngDevMode ? 'TUI_SHORT_WEEK_DAYS' : '', { factory: tuiExtractI18n('shortWeekDays') });
|
|
182
176
|
|
|
183
177
|
const TUI_ICON_START = new InjectionToken(ngDevMode ? 'TUI_ICON_START' : '', {
|
|
184
178
|
factory: () => '',
|
|
@@ -187,9 +181,7 @@ const TUI_ICON_END = new InjectionToken(ngDevMode ? 'TUI_ICON_END' : '', {
|
|
|
187
181
|
factory: () => '',
|
|
188
182
|
});
|
|
189
183
|
|
|
190
|
-
const TUI_ICON_REGISTRY = new InjectionToken(ngDevMode ? 'TUI_ICON_REGISTRY' : '', {
|
|
191
|
-
factory: () => ({}),
|
|
192
|
-
});
|
|
184
|
+
const TUI_ICON_REGISTRY = new InjectionToken(ngDevMode ? 'TUI_ICON_REGISTRY' : '', { factory: () => ({}) });
|
|
193
185
|
function tuiIconsProvider(icons) {
|
|
194
186
|
return {
|
|
195
187
|
provide: TUI_ICON_REGISTRY,
|
|
@@ -239,9 +231,7 @@ const TUI_DEFAULT_NUMBER_FORMAT = {
|
|
|
239
231
|
/**
|
|
240
232
|
* Formatting configuration for displayed numbers
|
|
241
233
|
*/
|
|
242
|
-
const TUI_NUMBER_FORMAT = new InjectionToken(ngDevMode ? 'TUI_NUMBER_FORMAT' : '', {
|
|
243
|
-
factory: () => signal(TUI_DEFAULT_NUMBER_FORMAT),
|
|
244
|
-
});
|
|
234
|
+
const TUI_NUMBER_FORMAT = new InjectionToken(ngDevMode ? 'TUI_NUMBER_FORMAT' : '', { factory: () => signal(TUI_DEFAULT_NUMBER_FORMAT) });
|
|
245
235
|
function tuiNumberFormatProvider(options) {
|
|
246
236
|
return {
|
|
247
237
|
provide: TUI_NUMBER_FORMAT,
|
|
@@ -265,13 +255,7 @@ const TUI_SELECTION_STREAM = new InjectionToken(ngDevMode ? 'TUI_SELECTION_STREA
|
|
|
265
255
|
},
|
|
266
256
|
});
|
|
267
257
|
|
|
268
|
-
const
|
|
269
|
-
factory: () => 'Taiga UI',
|
|
270
|
-
});
|
|
271
|
-
|
|
272
|
-
const TUI_VALIDATION_ERRORS = new InjectionToken(ngDevMode ? 'TUI_VALIDATION_ERRORS' : '', {
|
|
273
|
-
factory: () => ({}),
|
|
274
|
-
});
|
|
258
|
+
const TUI_VALIDATION_ERRORS = new InjectionToken(ngDevMode ? 'TUI_VALIDATION_ERRORS' : '', { factory: () => ({}) });
|
|
275
259
|
const tuiValidationErrorsProvider = (useValue) => ({ provide: TUI_VALIDATION_ERRORS, useValue });
|
|
276
260
|
|
|
277
261
|
/**
|
|
@@ -310,5 +294,5 @@ function tuiAsViewport(accessor) {
|
|
|
310
294
|
* Generated bundle index. Do not edit.
|
|
311
295
|
*/
|
|
312
296
|
|
|
313
|
-
export { TUI_ANIMATIONS_SPEED, TUI_ASSETS_PATH, TUI_AUXILIARY, TUI_BREAKPOINT, TUI_CLEAR_WORD, TUI_CLOSE_WORD, TUI_COMMON_ICONS, TUI_DARK_MODE, TUI_DARK_MODE_DEFAULT_KEY, TUI_DARK_MODE_KEY, TUI_DATE_FORMAT, TUI_DEFAULT_DATE_FORMAT, TUI_DEFAULT_ERROR_MESSAGE, TUI_DEFAULT_NUMBER_FORMAT, TUI_ICON_END, TUI_ICON_REGISTRY, TUI_ICON_RESOLVER, TUI_ICON_START, TUI_MEDIA, TUI_MONTHS, TUI_NOTHING_FOUND_MESSAGE, TUI_NUMBER_FORMAT, TUI_REDUCED_MOTION, TUI_SELECTION_STREAM, TUI_SHORT_WEEK_DAYS, TUI_SPIN_TEXTS,
|
|
297
|
+
export { TUI_ANIMATIONS_SPEED, TUI_ASSETS_PATH, TUI_AUXILIARY, TUI_BACK_WORD, TUI_BREAKPOINT, TUI_CLEAR_WORD, TUI_CLOSE_WORD, TUI_COMMON_ICONS, TUI_DARK_MODE, TUI_DARK_MODE_DEFAULT_KEY, TUI_DARK_MODE_KEY, TUI_DATE_FORMAT, TUI_DEFAULT_DATE_FORMAT, TUI_DEFAULT_ERROR_MESSAGE, TUI_DEFAULT_NUMBER_FORMAT, TUI_ICON_END, TUI_ICON_REGISTRY, TUI_ICON_RESOLVER, TUI_ICON_START, TUI_MEDIA, TUI_MONTHS, TUI_NOTHING_FOUND_MESSAGE, TUI_NUMBER_FORMAT, TUI_REDUCED_MOTION, TUI_SELECTION_STREAM, TUI_SHORT_WEEK_DAYS, TUI_SPIN_TEXTS, TUI_VALIDATION_ERRORS, TUI_VIEWPORT, tuiAsAuxiliary, tuiAsViewport, tuiAssetsPathProvider, tuiCommonIconsProvider, tuiDateFormatProvider, tuiGetIconMode, tuiIconResolverProvider, tuiIconsProvider, tuiInjectIconResolver, tuiNumberFormatProvider, tuiValidationErrorsProvider };
|
|
314
298
|
//# sourceMappingURL=taiga-ui-core-tokens.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-tokens.mjs","sources":["../../../projects/core/tokens/reduced-motion.ts","../../../projects/core/tokens/animations-speed.ts","../../../projects/core/tokens/assets-path.ts","../../../projects/core/tokens/auxiliary.ts","../../../projects/core/tokens/media.ts","../../../projects/core/tokens/breakpoint.ts","../../../projects/core/tokens/common-icons.ts","../../../projects/core/tokens/dark-mode.ts","../../../projects/core/tokens/date-format.ts","../../../projects/core/tokens/i18n.ts","../../../projects/core/tokens/icon.ts","../../../projects/core/tokens/icons.ts","../../../projects/core/tokens/icon-resolver.ts","../../../projects/core/tokens/number-format.ts","../../../projects/core/tokens/selection-stream.ts","../../../projects/core/tokens/theme.ts","../../../projects/core/tokens/validation-errors.ts","../../../projects/core/tokens/viewport.ts","../../../projects/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\n\nexport const TUI_REDUCED_MOTION = new InjectionToken(\n ngDevMode ? 'TUI_REDUCED_MOTION' : '',\n {\n factory: () =>\n inject(DOCUMENT).defaultView?.matchMedia?.('(prefers-reduced-motion: reduce)')\n .matches ?? false,\n },\n);\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {TUI_REDUCED_MOTION} from './reduced-motion';\n\n/**\n * Speed of all Taiga UI animations. 1 equals 300ms.\n */\nexport const TUI_ANIMATIONS_SPEED = new InjectionToken<number>(\n ngDevMode ? 'TUI_ANIMATIONS_SPEED' : '',\n {\n factory: () => (inject(TUI_REDUCED_MOTION) ? 0 : 1),\n },\n);\n","import {InjectionToken, type ValueProvider} from '@angular/core';\n\nexport const TUI_ASSETS_PATH = new InjectionToken(ngDevMode ? 'TUI_ASSETS_PATH' : '', {\n factory: () => 'assets/taiga-ui/icons',\n});\n\nexport function tuiAssetsPathProvider(useValue: string): ValueProvider {\n return {\n provide: TUI_ASSETS_PATH,\n useValue,\n };\n}\n","import {InjectionToken, type Provider, type Type} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nexport const TUI_AUXILIARY = new InjectionToken(ngDevMode ? 'TUI_AUXILIARY' : '', {\n factory: () => null,\n});\n\nexport function tuiAsAuxiliary(x: Type<unknown>): Provider {\n return tuiProvide(TUI_AUXILIARY, x);\n}\n","import {InjectionToken} from '@angular/core';\n\nexport interface TuiMedia {\n readonly desktopLarge: number;\n readonly desktopSmall: number;\n readonly mobile: number;\n readonly tablet?: number;\n}\n\n/**\n * Token for media constant\n */\nexport const TUI_MEDIA = new InjectionToken<TuiMedia>(ngDevMode ? 'TUI_MEDIA' : '', {\n factory: () => ({\n mobile: 768,\n desktopSmall: 1280,\n desktopLarge: Infinity,\n }),\n});\n","import {inject, InjectionToken, type Signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_WINDOW_SIZE} from '@taiga-ui/cdk/tokens';\nimport {distinctUntilChanged, map} from 'rxjs';\n\nimport {TUI_MEDIA, type TuiMedia} from './media';\n\nexport type TuiBreakpointMediaKey = keyof Omit<TuiMedia, 'tablet'>;\n\nexport const TUI_BREAKPOINT = new InjectionToken<Signal<TuiBreakpointMediaKey>>(\n ngDevMode ? 'TUI_BREAKPOINT' : '',\n {\n factory: () => {\n const media = inject(TUI_MEDIA);\n const sorted: number[] = Object.values(media).sort((a, b) => a - b);\n const invert: Record<number, TuiBreakpointMediaKey> = Object.keys(\n media,\n ).reduce(\n (ret, key) => ({\n ...ret,\n [media[key as TuiBreakpointMediaKey]]: key,\n }),\n {},\n );\n\n const stream$ = inject(TUI_WINDOW_SIZE).pipe(\n map(({width}) => sorted.find((size) => size > width)),\n map(\n (key) =>\n invert[key || sorted[sorted.length - 1] || 0] ?? 'desktopLarge',\n ),\n distinctUntilChanged(),\n tuiZoneOptimized(),\n );\n\n return toSignal(stream$, {initialValue: 'desktopLarge'});\n },\n },\n);\n","import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\n// TODO: Rename `ellipsis` to `more` in the next major version\nconst COMMON_ICONS: TuiCommonIcons = {\n check: '@tui.check',\n close: '@tui.x',\n error: '@tui.circle-alert',\n more: '@tui.chevron-right',\n search: '@tui.search',\n ellipsis: '@tui.ellipsis',\n decrement: '@tui.chevron-left',\n increment: '@tui.chevron-right',\n};\n\nexport interface TuiCommonIcons {\n readonly check: string;\n readonly close: string;\n readonly error: string;\n readonly more: string;\n readonly search: string;\n readonly ellipsis: string;\n readonly decrement: string;\n readonly increment: string;\n}\n\nexport const [TUI_COMMON_ICONS, tuiCommonIconsProvider] = tuiCreateOptions(COMMON_ICONS);\n","import {\n effect,\n inject,\n InjectionToken,\n signal,\n untracked,\n type WritableSignal,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {WA_LOCAL_STORAGE, WA_WINDOW} from '@ng-web-apis/common';\nimport {filter, fromEvent} from 'rxjs';\n\nexport const TUI_DARK_MODE_DEFAULT_KEY = 'tuiDark';\nexport const TUI_DARK_MODE_KEY = new InjectionToken(\n ngDevMode ? 'TUI_DARK_MODE_KEY' : '',\n {\n factory: () => TUI_DARK_MODE_DEFAULT_KEY,\n },\n);\nexport const TUI_DARK_MODE = new InjectionToken<\n WritableSignal<boolean> & {reset(): void}\n>(ngDevMode ? 'TUI_DARK_MODE' : '', {\n factory: () => {\n let automatic = true;\n\n const storage = inject(WA_LOCAL_STORAGE);\n const key = inject(TUI_DARK_MODE_KEY);\n const saved = storage?.getItem(key);\n const media = inject(WA_WINDOW).matchMedia('(prefers-color-scheme: dark)');\n const result = signal(Boolean((saved && JSON.parse(saved)) ?? media.matches));\n\n fromEvent(media, 'change')\n .pipe(\n filter(() => !storage?.getItem(key)),\n takeUntilDestroyed(),\n )\n .subscribe(() => {\n automatic = true;\n result.set(media.matches);\n });\n\n untracked(() => {\n effect(() => {\n const value = String(result());\n\n if (automatic) {\n automatic = false;\n } else {\n storage?.setItem(key, value);\n }\n });\n });\n\n return Object.assign(result, {\n reset: () => {\n storage?.removeItem(key);\n automatic = true;\n result.set(media.matches);\n },\n });\n },\n});\n","import {\n computed,\n inject,\n InjectionToken,\n type Provider,\n type Signal,\n signal,\n} from '@angular/core';\nimport {type TuiDateMode} from '@taiga-ui/cdk/date-time';\n\n/**\n * Formatting configuration for displayed dates\n */\nexport interface TuiDateFormatSettings {\n /**\n * Date format mode.\n */\n readonly mode: TuiDateMode;\n /**\n * Separator between date segments\n * @example 10.02 ('.' by default)\n */\n readonly separator: string;\n}\n\nexport const TUI_DEFAULT_DATE_FORMAT: TuiDateFormatSettings = {\n mode: 'dd/mm/yyyy',\n separator: '.',\n};\n\n/**\n * Formatting configuration for displayed dates\n */\nexport const TUI_DATE_FORMAT = new InjectionToken<Signal<TuiDateFormatSettings>>(\n ngDevMode ? 'TUI_DATE_FORMAT' : '',\n {\n factory: () => signal(TUI_DEFAULT_DATE_FORMAT),\n },\n);\n\nexport function tuiDateFormatProvider(options: Partial<TuiDateFormatSettings>): Provider {\n return {\n provide: TUI_DATE_FORMAT,\n useFactory: (): Signal<TuiDateFormatSettings> => {\n const parent = inject(TUI_DATE_FORMAT, {optional: true, skipSelf: true});\n\n return computed(() => ({\n ...(parent?.() || TUI_DEFAULT_DATE_FORMAT),\n ...options,\n }));\n },\n };\n}\n","import {InjectionToken} from '@angular/core';\nimport {tuiExtractI18n} from '@taiga-ui/i18n/utils';\n\n/**\n * Localized months names\n */\nexport const TUI_MONTHS = new InjectionToken(ngDevMode ? 'TUI_MONTHS' : '', {\n factory: tuiExtractI18n('months'),\n});\n\n/**\n * i18n 'close' word\n */\nexport const TUI_CLOSE_WORD = new InjectionToken(ngDevMode ? 'TUI_CLOSE_WORD' : '', {\n factory: tuiExtractI18n('close'),\n});\n\n/**\n * i18n 'clear' word\n */\nexport const TUI_CLEAR_WORD = new InjectionToken(ngDevMode ? 'TUI_CLEAR_WORD' : '', {\n factory: tuiExtractI18n('clear'),\n});\n\n/**\n * i18n 'Nothing found' message\n */\nexport const TUI_NOTHING_FOUND_MESSAGE = new InjectionToken(\n ngDevMode ? 'TUI_NOTHING_FOUND_MESSAGE' : '',\n {\n factory: tuiExtractI18n('nothingFoundMessage'),\n },\n);\n\n/**\n * i18n of error message\n */\nexport const TUI_DEFAULT_ERROR_MESSAGE = new InjectionToken(\n ngDevMode ? 'TUI_DEFAULT_ERROR_MESSAGE' : '',\n {\n factory: tuiExtractI18n('defaultErrorMessage'),\n },\n);\n\n/**\n * spin i18n texts\n */\nexport const TUI_SPIN_TEXTS = new InjectionToken(ngDevMode ? 'TUI_SPIN_TEXTS' : '', {\n factory: tuiExtractI18n('spinTexts'),\n});\n\n/**\n * calendars i18n texts\n */\nexport const TUI_SHORT_WEEK_DAYS = new InjectionToken(\n ngDevMode ? 'TUI_SHORT_WEEK_DAYS' : '',\n {\n factory: tuiExtractI18n('shortWeekDays'),\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_ICON_START = new InjectionToken(ngDevMode ? 'TUI_ICON_START' : '', {\n factory: () => '',\n});\nexport const TUI_ICON_END = new InjectionToken(ngDevMode ? 'TUI_ICON_END' : '', {\n factory: () => '',\n});\n","import {type FactoryProvider, inject, InjectionToken} from '@angular/core';\n\nexport const TUI_ICON_REGISTRY = new InjectionToken<Record<string, string>>(\n ngDevMode ? 'TUI_ICON_REGISTRY' : '',\n {\n factory: () => ({}),\n },\n);\n\nexport function tuiIconsProvider(icons: Record<string, string>): FactoryProvider {\n return {\n provide: TUI_ICON_REGISTRY,\n useFactory: () => ({\n ...(inject(TUI_ICON_REGISTRY, {skipSelf: true, optional: true}) || {}),\n ...Object.fromEntries(\n Object.entries(icons).map(([key, value]) => [\n key,\n `\"data:image/svg+xml;charset=UTF-8,${encodeURIComponent(value)}\"`,\n ]),\n ),\n }),\n };\n}\n","import {inject, InjectionToken, type Provider} from '@angular/core';\nimport {type TuiStringHandler} from '@taiga-ui/cdk/types';\n\nimport {TUI_ASSETS_PATH} from './assets-path';\nimport {TUI_ICON_REGISTRY} from './icons';\n\nexport const TUI_ICON_RESOLVER = new InjectionToken<TuiStringHandler<string>>(\n ngDevMode ? 'TUI_ICON_RESOLVER' : '',\n {\n factory: () => {\n const path = inject(TUI_ASSETS_PATH);\n\n // regex for @{any text}. used as a default fallback, returns path to svg from icon pack\n return (icon) =>\n `${path}/${icon.replace(/@[a-zA-Z]+\\./, '').replaceAll('.', '/')}.svg`;\n },\n },\n);\n\nexport function tuiGetIconMode(icon?: string | null): string | undefined {\n return icon?.match(/@([^.]*)\\./)?.[1] || icon || undefined;\n}\n\nexport function tuiInjectIconResolver(): TuiStringHandler<string> {\n const icons = inject(TUI_ICON_REGISTRY);\n const resolver = inject(TUI_ICON_RESOLVER);\n\n return (icon) => {\n if (!icon || icon.includes('/')) {\n return icon;\n }\n\n return icon.startsWith('@font.')\n ? icon.replace('@font.', '')\n : (icons[icon] ?? resolver(icon));\n };\n}\n\nexport function tuiIconResolverProvider(useValue: TuiStringHandler<string>): Provider {\n return {provide: TUI_ICON_RESOLVER, useValue};\n}\n","import {\n computed,\n inject,\n InjectionToken,\n type Provider,\n type Signal,\n signal,\n} from '@angular/core';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {type TuiRounding} from '@taiga-ui/cdk/types';\n\nexport type TuiDecimalMode = 'always' | 'not-zero' | 'pad';\nexport type TuiDecimalSymbol = ',' | '.';\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport interface TuiNumberFormatSettings {\n /**\n * Number of digits of decimal part.\n * @note Use `Infinity` to keep untouched.\n */\n readonly precision: number;\n /**\n * Separator between the integer and the decimal part.\n * @example 0,42 (',' by default)\n */\n readonly decimalSeparator: TuiDecimalSymbol;\n /**\n * Rounding method.\n */\n readonly rounding: TuiRounding;\n /**\n * Separator between thousands.\n * @example 360 000 (' ' by default)\n */\n readonly thousandSeparator: string;\n /**\n * Decimal part display mode. ('pad' by default)\n */\n readonly decimalMode: TuiDecimalMode;\n}\n\nexport const TUI_DEFAULT_NUMBER_FORMAT: TuiNumberFormatSettings = {\n precision: NaN,\n decimalSeparator: '.',\n thousandSeparator: CHAR_NO_BREAK_SPACE,\n rounding: 'truncate',\n decimalMode: 'pad',\n};\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport const TUI_NUMBER_FORMAT = new InjectionToken<Signal<TuiNumberFormatSettings>>(\n ngDevMode ? 'TUI_NUMBER_FORMAT' : '',\n {\n factory: () => signal(TUI_DEFAULT_NUMBER_FORMAT),\n },\n);\n\nexport function tuiNumberFormatProvider(\n options: Partial<TuiNumberFormatSettings>,\n): Provider {\n return {\n provide: TUI_NUMBER_FORMAT,\n useFactory: (): Signal<TuiNumberFormatSettings> => {\n const parent = inject(TUI_NUMBER_FORMAT, {optional: true, skipSelf: true});\n\n return computed(() => ({\n ...(parent?.() || TUI_DEFAULT_NUMBER_FORMAT),\n ...options,\n }));\n },\n };\n}\n","import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {merge, type Observable, share, switchMap, takeUntil} from 'rxjs';\n\n/**\n * A stream of possible selection changes\n */\nexport const TUI_SELECTION_STREAM = new InjectionToken<Observable<unknown>>(\n ngDevMode ? 'TUI_SELECTION_STREAM' : '',\n {\n factory: () => {\n const doc = inject(DOCUMENT);\n\n return merge(\n tuiTypedFromEvent(doc, 'selectionchange'),\n tuiTypedFromEvent(doc, 'mouseup'),\n tuiTypedFromEvent(doc, 'mousedown').pipe(\n switchMap(() =>\n tuiTypedFromEvent(doc, 'mousemove').pipe(\n takeUntil(tuiTypedFromEvent(doc, 'mouseup')),\n ),\n ),\n ),\n tuiTypedFromEvent(doc, 'keydown'),\n tuiTypedFromEvent(doc, 'keyup'),\n ).pipe(share());\n },\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_THEME = new InjectionToken(ngDevMode ? 'TUI_THEME' : '', {\n factory: () => 'Taiga UI',\n});\n","import {InjectionToken, type Provider, type Signal} from '@angular/core';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport const TUI_VALIDATION_ERRORS = new InjectionToken<\n Record<string, PolymorpheusContent | Signal<PolymorpheusContent>>\n>(ngDevMode ? 'TUI_VALIDATION_ERRORS' : '', {\n factory: () => ({}),\n});\n\nexport const tuiValidationErrorsProvider = (\n useValue: Record<string, PolymorpheusContent | Signal<PolymorpheusContent>>,\n): Provider => ({provide: TUI_VALIDATION_ERRORS, useValue});\n","import {inject, InjectionToken, type Provider, type Type} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {type TuiRectAccessor} from '@taiga-ui/core/classes';\n\n/**\n * Viewport accessor\n */\nexport const TUI_VIEWPORT = new InjectionToken<TuiRectAccessor>(\n ngDevMode ? 'TUI_VIEWPORT' : '',\n {\n factory: () => {\n const win = inject(WA_WINDOW);\n\n return {\n type: 'viewport',\n getClientRect() {\n const {height = 0, offsetTop = 0} = win.visualViewport || {};\n const rect = {\n top: 0,\n left: 0,\n right: win.innerWidth,\n bottom: win.innerHeight,\n width: win.innerWidth,\n height: height + offsetTop || win.innerHeight,\n x: 0,\n y: 0,\n };\n\n return {\n ...rect,\n toJSON: () => JSON.stringify(rect),\n };\n },\n };\n },\n },\n);\n\nexport function tuiAsViewport(accessor: Type<TuiRectAccessor>): Provider {\n return tuiProvide(TUI_VIEWPORT, accessor);\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.mjs","sources":["../../../projects/core/tokens/reduced-motion.ts","../../../projects/core/tokens/animations-speed.ts","../../../projects/core/tokens/assets-path.ts","../../../projects/core/tokens/auxiliary.ts","../../../projects/core/tokens/media.ts","../../../projects/core/tokens/breakpoint.ts","../../../projects/core/tokens/common-icons.ts","../../../projects/core/tokens/dark-mode.ts","../../../projects/core/tokens/date-format.ts","../../../projects/core/tokens/i18n.ts","../../../projects/core/tokens/icon.ts","../../../projects/core/tokens/icons.ts","../../../projects/core/tokens/icon-resolver.ts","../../../projects/core/tokens/number-format.ts","../../../projects/core/tokens/selection-stream.ts","../../../projects/core/tokens/validation-errors.ts","../../../projects/core/tokens/viewport.ts","../../../projects/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\n\nexport const TUI_REDUCED_MOTION = new InjectionToken(\n ngDevMode ? 'TUI_REDUCED_MOTION' : '',\n {\n factory: () =>\n inject(DOCUMENT).defaultView?.matchMedia?.('(prefers-reduced-motion: reduce)')\n .matches ?? false,\n },\n);\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {TUI_REDUCED_MOTION} from './reduced-motion';\n\n/**\n * Speed of all Taiga UI animations. 1 equals 300ms.\n */\nexport const TUI_ANIMATIONS_SPEED = new InjectionToken<number>(\n ngDevMode ? 'TUI_ANIMATIONS_SPEED' : '',\n {factory: () => (inject(TUI_REDUCED_MOTION) ? 0 : 1)},\n);\n","import {InjectionToken, type ValueProvider} from '@angular/core';\n\nexport const TUI_ASSETS_PATH = new InjectionToken(ngDevMode ? 'TUI_ASSETS_PATH' : '', {\n factory: () => 'assets/taiga-ui/icons',\n});\n\nexport function tuiAssetsPathProvider(useValue: string): ValueProvider {\n return {\n provide: TUI_ASSETS_PATH,\n useValue,\n };\n}\n","import {InjectionToken, type Provider, type Type} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nexport const TUI_AUXILIARY = new InjectionToken(ngDevMode ? 'TUI_AUXILIARY' : '', {\n factory: () => null,\n});\n\nexport function tuiAsAuxiliary(x: Type<unknown>): Provider {\n return tuiProvide(TUI_AUXILIARY, x);\n}\n","import {InjectionToken} from '@angular/core';\n\nexport interface TuiMedia {\n readonly desktopLarge: number;\n readonly desktopSmall: number;\n readonly mobile: number;\n readonly tablet?: number;\n}\n\n/**\n * Token for media constant\n */\nexport const TUI_MEDIA = new InjectionToken<TuiMedia>(ngDevMode ? 'TUI_MEDIA' : '', {\n factory: () => ({\n mobile: 768,\n desktopSmall: 1280,\n desktopLarge: Infinity,\n }),\n});\n","import {inject, InjectionToken, type Signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_WINDOW_SIZE} from '@taiga-ui/cdk/tokens';\nimport {distinctUntilChanged, map} from 'rxjs';\n\nimport {TUI_MEDIA, type TuiMedia} from './media';\n\nexport type TuiBreakpointMediaKey = keyof Omit<TuiMedia, 'tablet'>;\n\nexport const TUI_BREAKPOINT = new InjectionToken<Signal<TuiBreakpointMediaKey>>(\n ngDevMode ? 'TUI_BREAKPOINT' : '',\n {\n factory: () => {\n const media = inject(TUI_MEDIA);\n const sorted: number[] = Object.values(media).sort((a, b) => a - b);\n const invert: Record<number, TuiBreakpointMediaKey> = Object.keys(\n media,\n ).reduce(\n (ret, key) => ({\n ...ret,\n [media[key as TuiBreakpointMediaKey]]: key,\n }),\n {},\n );\n\n const stream$ = inject(TUI_WINDOW_SIZE).pipe(\n map(({width}) => sorted.find((size) => size > width)),\n map(\n (key) =>\n invert[key || sorted[sorted.length - 1] || 0] ?? 'desktopLarge',\n ),\n distinctUntilChanged(),\n tuiZoneOptimized(),\n );\n\n return toSignal(stream$, {initialValue: 'desktopLarge'});\n },\n },\n);\n","import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\n// TODO: Rename `ellipsis` to `more` in the next major version\nconst COMMON_ICONS: TuiCommonIcons = {\n check: '@tui.check',\n close: '@tui.x',\n error: '@tui.circle-alert',\n more: '@tui.chevron-right',\n search: '@tui.search',\n ellipsis: '@tui.ellipsis',\n decrement: '@tui.chevron-left',\n increment: '@tui.chevron-right',\n};\n\nexport interface TuiCommonIcons {\n readonly check: string;\n readonly close: string;\n readonly error: string;\n readonly more: string;\n readonly search: string;\n readonly ellipsis: string;\n readonly decrement: string;\n readonly increment: string;\n}\n\nexport const [TUI_COMMON_ICONS, tuiCommonIconsProvider] = tuiCreateOptions(COMMON_ICONS);\n","import {\n effect,\n inject,\n InjectionToken,\n signal,\n untracked,\n type WritableSignal,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {WA_LOCAL_STORAGE, WA_WINDOW} from '@ng-web-apis/common';\nimport {filter, fromEvent} from 'rxjs';\n\nexport const TUI_DARK_MODE_DEFAULT_KEY = 'tuiDark';\nexport const TUI_DARK_MODE_KEY = new InjectionToken(\n ngDevMode ? 'TUI_DARK_MODE_KEY' : '',\n {factory: () => TUI_DARK_MODE_DEFAULT_KEY},\n);\nexport const TUI_DARK_MODE = new InjectionToken<\n WritableSignal<boolean> & {reset(): void}\n>(ngDevMode ? 'TUI_DARK_MODE' : '', {\n factory: () => {\n let automatic = true;\n\n const storage = inject(WA_LOCAL_STORAGE);\n const key = inject(TUI_DARK_MODE_KEY);\n const saved = storage?.getItem(key);\n const media = inject(WA_WINDOW).matchMedia('(prefers-color-scheme: dark)');\n const result = signal(Boolean((saved && JSON.parse(saved)) ?? media.matches));\n\n fromEvent(media, 'change')\n .pipe(\n filter(() => !storage?.getItem(key)),\n takeUntilDestroyed(),\n )\n .subscribe(() => {\n automatic = true;\n result.set(media.matches);\n });\n\n untracked(() => {\n effect(() => {\n const value = String(result());\n\n if (automatic) {\n automatic = false;\n } else {\n storage?.setItem(key, value);\n }\n });\n });\n\n return Object.assign(result, {\n reset: () => {\n storage?.removeItem(key);\n automatic = true;\n result.set(media.matches);\n },\n });\n },\n});\n","import {\n computed,\n inject,\n InjectionToken,\n type Provider,\n type Signal,\n signal,\n} from '@angular/core';\nimport {type TuiDateMode} from '@taiga-ui/cdk/date-time';\n\n/**\n * Formatting configuration for displayed dates\n */\nexport interface TuiDateFormatSettings {\n /**\n * Date format mode.\n */\n readonly mode: TuiDateMode;\n /**\n * Separator between date segments\n * @example 10.02 ('.' by default)\n */\n readonly separator: string;\n}\n\nexport const TUI_DEFAULT_DATE_FORMAT: TuiDateFormatSettings = {\n mode: 'dd/mm/yyyy',\n separator: '.',\n};\n\n/**\n * Formatting configuration for displayed dates\n */\nexport const TUI_DATE_FORMAT = new InjectionToken<Signal<TuiDateFormatSettings>>(\n ngDevMode ? 'TUI_DATE_FORMAT' : '',\n {factory: () => signal(TUI_DEFAULT_DATE_FORMAT)},\n);\n\nexport function tuiDateFormatProvider(options: Partial<TuiDateFormatSettings>): Provider {\n return {\n provide: TUI_DATE_FORMAT,\n useFactory: (): Signal<TuiDateFormatSettings> => {\n const parent = inject(TUI_DATE_FORMAT, {optional: true, skipSelf: true});\n\n return computed(() => ({\n ...(parent?.() || TUI_DEFAULT_DATE_FORMAT),\n ...options,\n }));\n },\n };\n}\n","import {InjectionToken} from '@angular/core';\nimport {tuiExtractI18n} from '@taiga-ui/i18n/utils';\n\n/**\n * Localized months names\n */\nexport const TUI_MONTHS = new InjectionToken(ngDevMode ? 'TUI_MONTHS' : '', {\n factory: tuiExtractI18n('months'),\n});\n\n/**\n * i18n 'close' word\n */\nexport const TUI_CLOSE_WORD = new InjectionToken(ngDevMode ? 'TUI_CLOSE_WORD' : '', {\n factory: tuiExtractI18n('close'),\n});\n\n/**\n * i18n 'back' word\n */\nexport const TUI_BACK_WORD = new InjectionToken(ngDevMode ? 'TUI_BACK_WORD' : '', {\n factory: tuiExtractI18n('back'),\n});\n\n/**\n * i18n 'clear' word\n */\nexport const TUI_CLEAR_WORD = new InjectionToken(ngDevMode ? 'TUI_CLEAR_WORD' : '', {\n factory: tuiExtractI18n('clear'),\n});\n\n/**\n * i18n 'Nothing found' message\n */\nexport const TUI_NOTHING_FOUND_MESSAGE = new InjectionToken(\n ngDevMode ? 'TUI_NOTHING_FOUND_MESSAGE' : '',\n {factory: tuiExtractI18n('nothingFoundMessage')},\n);\n\n/**\n * i18n of error message\n */\nexport const TUI_DEFAULT_ERROR_MESSAGE = new InjectionToken(\n ngDevMode ? 'TUI_DEFAULT_ERROR_MESSAGE' : '',\n {factory: tuiExtractI18n('defaultErrorMessage')},\n);\n\n/**\n * spin i18n texts\n */\nexport const TUI_SPIN_TEXTS = new InjectionToken(ngDevMode ? 'TUI_SPIN_TEXTS' : '', {\n factory: tuiExtractI18n('spinTexts'),\n});\n\n/**\n * calendars i18n texts\n */\nexport const TUI_SHORT_WEEK_DAYS = new InjectionToken(\n ngDevMode ? 'TUI_SHORT_WEEK_DAYS' : '',\n {factory: tuiExtractI18n('shortWeekDays')},\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_ICON_START = new InjectionToken(ngDevMode ? 'TUI_ICON_START' : '', {\n factory: () => '',\n});\nexport const TUI_ICON_END = new InjectionToken(ngDevMode ? 'TUI_ICON_END' : '', {\n factory: () => '',\n});\n","import {type FactoryProvider, inject, InjectionToken} from '@angular/core';\n\nexport const TUI_ICON_REGISTRY = new InjectionToken<Record<string, string>>(\n ngDevMode ? 'TUI_ICON_REGISTRY' : '',\n {factory: () => ({})},\n);\n\nexport function tuiIconsProvider(icons: Record<string, string>): FactoryProvider {\n return {\n provide: TUI_ICON_REGISTRY,\n useFactory: () => ({\n ...(inject(TUI_ICON_REGISTRY, {skipSelf: true, optional: true}) || {}),\n ...Object.fromEntries(\n Object.entries(icons).map(([key, value]) => [\n key,\n `\"data:image/svg+xml;charset=UTF-8,${encodeURIComponent(value)}\"`,\n ]),\n ),\n }),\n };\n}\n","import {inject, InjectionToken, type Provider} from '@angular/core';\nimport {type TuiStringHandler} from '@taiga-ui/cdk/types';\n\nimport {TUI_ASSETS_PATH} from './assets-path';\nimport {TUI_ICON_REGISTRY} from './icons';\n\nexport const TUI_ICON_RESOLVER = new InjectionToken<TuiStringHandler<string>>(\n ngDevMode ? 'TUI_ICON_RESOLVER' : '',\n {\n factory: () => {\n const path = inject(TUI_ASSETS_PATH);\n\n // regex for @{any text}. used as a default fallback, returns path to svg from icon pack\n return (icon) =>\n `${path}/${icon.replace(/@[a-zA-Z]+\\./, '').replaceAll('.', '/')}.svg`;\n },\n },\n);\n\nexport function tuiGetIconMode(icon?: string | null): string | undefined {\n return icon?.match(/@([^.]*)\\./)?.[1] || icon || undefined;\n}\n\nexport function tuiInjectIconResolver(): TuiStringHandler<string> {\n const icons = inject(TUI_ICON_REGISTRY);\n const resolver = inject(TUI_ICON_RESOLVER);\n\n return (icon) => {\n if (!icon || icon.includes('/')) {\n return icon;\n }\n\n return icon.startsWith('@font.')\n ? icon.replace('@font.', '')\n : (icons[icon] ?? resolver(icon));\n };\n}\n\nexport function tuiIconResolverProvider(useValue: TuiStringHandler<string>): Provider {\n return {provide: TUI_ICON_RESOLVER, useValue};\n}\n","import {\n computed,\n inject,\n InjectionToken,\n type Provider,\n type Signal,\n signal,\n} from '@angular/core';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {type TuiRounding} from '@taiga-ui/cdk/types';\n\nexport type TuiDecimalMode = 'always' | 'not-zero' | 'pad';\nexport type TuiDecimalSymbol = ',' | '.';\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport interface TuiNumberFormatSettings {\n /**\n * Number of digits of decimal part.\n * @note Use `Infinity` to keep untouched.\n */\n readonly precision: number;\n /**\n * Separator between the integer and the decimal part.\n * @example 0,42 (',' by default)\n */\n readonly decimalSeparator: TuiDecimalSymbol;\n /**\n * Rounding method.\n */\n readonly rounding: TuiRounding;\n /**\n * Separator between thousands.\n * @example 360 000 (' ' by default)\n */\n readonly thousandSeparator: string;\n /**\n * Decimal part display mode. ('pad' by default)\n */\n readonly decimalMode: TuiDecimalMode;\n}\n\nexport const TUI_DEFAULT_NUMBER_FORMAT: TuiNumberFormatSettings = {\n precision: NaN,\n decimalSeparator: '.',\n thousandSeparator: CHAR_NO_BREAK_SPACE,\n rounding: 'truncate',\n decimalMode: 'pad',\n};\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport const TUI_NUMBER_FORMAT = new InjectionToken<Signal<TuiNumberFormatSettings>>(\n ngDevMode ? 'TUI_NUMBER_FORMAT' : '',\n {factory: () => signal(TUI_DEFAULT_NUMBER_FORMAT)},\n);\n\nexport function tuiNumberFormatProvider(\n options: Partial<TuiNumberFormatSettings>,\n): Provider {\n return {\n provide: TUI_NUMBER_FORMAT,\n useFactory: (): Signal<TuiNumberFormatSettings> => {\n const parent = inject(TUI_NUMBER_FORMAT, {optional: true, skipSelf: true});\n\n return computed(() => ({\n ...(parent?.() || TUI_DEFAULT_NUMBER_FORMAT),\n ...options,\n }));\n },\n };\n}\n","import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {merge, type Observable, share, switchMap, takeUntil} from 'rxjs';\n\n/**\n * A stream of possible selection changes\n */\nexport const TUI_SELECTION_STREAM = new InjectionToken<Observable<unknown>>(\n ngDevMode ? 'TUI_SELECTION_STREAM' : '',\n {\n factory: () => {\n const doc = inject(DOCUMENT);\n\n return merge(\n tuiTypedFromEvent(doc, 'selectionchange'),\n tuiTypedFromEvent(doc, 'mouseup'),\n tuiTypedFromEvent(doc, 'mousedown').pipe(\n switchMap(() =>\n tuiTypedFromEvent(doc, 'mousemove').pipe(\n takeUntil(tuiTypedFromEvent(doc, 'mouseup')),\n ),\n ),\n ),\n tuiTypedFromEvent(doc, 'keydown'),\n tuiTypedFromEvent(doc, 'keyup'),\n ).pipe(share());\n },\n },\n);\n","import {InjectionToken, type Provider, type Signal} from '@angular/core';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport const TUI_VALIDATION_ERRORS = new InjectionToken<\n Record<string, PolymorpheusContent | Signal<PolymorpheusContent>>\n>(ngDevMode ? 'TUI_VALIDATION_ERRORS' : '', {factory: () => ({})});\n\nexport const tuiValidationErrorsProvider = (\n useValue: Record<string, PolymorpheusContent | Signal<PolymorpheusContent>>,\n): Provider => ({provide: TUI_VALIDATION_ERRORS, useValue});\n","import {inject, InjectionToken, type Provider, type Type} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {type TuiRectAccessor} from '@taiga-ui/core/classes';\n\n/**\n * Viewport accessor\n */\nexport const TUI_VIEWPORT = new InjectionToken<TuiRectAccessor>(\n ngDevMode ? 'TUI_VIEWPORT' : '',\n {\n factory: () => {\n const win = inject(WA_WINDOW);\n\n return {\n type: 'viewport',\n getClientRect() {\n const {height = 0, offsetTop = 0} = win.visualViewport || {};\n const rect = {\n top: 0,\n left: 0,\n right: win.innerWidth,\n bottom: win.innerHeight,\n width: win.innerWidth,\n height: height + offsetTop || win.innerHeight,\n x: 0,\n y: 0,\n };\n\n return {\n ...rect,\n toJSON: () => JSON.stringify(rect),\n };\n },\n };\n },\n },\n);\n\nexport function tuiAsViewport(accessor: Type<TuiRectAccessor>): Provider {\n return tuiProvide(TUI_VIEWPORT, accessor);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|