@taiga-ui/core 2.61.0 → 2.62.2
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/bundles/taiga-ui-core-components-alert.umd.js +0 -1
- package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-alert.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-button.umd.js +32 -15
- package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-button.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-button.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-notification.umd.js +1 -1
- package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-notification.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-notification.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +3 -3
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-scrollbar.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-format-date.umd.js +293 -0
- package/bundles/taiga-ui-core-pipes-format-date.umd.js.map +1 -0
- package/bundles/taiga-ui-core-pipes-format-date.umd.min.js +2 -0
- package/bundles/taiga-ui-core-pipes-format-date.umd.min.js.map +1 -0
- package/bundles/taiga-ui-core-pipes.umd.js +12 -4
- package/bundles/taiga-ui-core-pipes.umd.js.map +1 -1
- package/bundles/taiga-ui-core-pipes.umd.min.js +1 -1
- package/bundles/taiga-ui-core-services.umd.js +24 -0
- package/bundles/taiga-ui-core-services.umd.js.map +1 -1
- package/bundles/taiga-ui-core-services.umd.min.js +1 -1
- package/bundles/taiga-ui-core-services.umd.min.js.map +1 -1
- package/components/button/button.component.d.ts +7 -2
- package/components/button/taiga-ui-core-components-button.metadata.json +1 -1
- package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
- package/components/scrollbar/scrollbar.component.d.ts +3 -1
- package/components/scrollbar/taiga-ui-core-components-scrollbar.metadata.json +1 -1
- package/constants/version.d.ts +1 -1
- package/esm2015/components/alert/alert.service.js +1 -2
- package/esm2015/components/button/button.component.js +29 -15
- package/esm2015/components/notification/notification.component.js +3 -3
- package/esm2015/components/primitive-textfield/primitive-textfield.component.js +1 -1
- package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +3 -3
- package/esm2015/components/scrollbar/scrollbar.component.js +5 -5
- package/esm2015/pipes/format-date/format-date.module.js +13 -0
- package/esm2015/pipes/format-date/format-date.pipe.js +22 -0
- package/esm2015/pipes/format-date/index.js +3 -0
- package/esm2015/pipes/format-date/taiga-ui-core-pipes-format-date.js +5 -0
- package/esm2015/pipes/index.js +2 -1
- package/esm2015/services/format-date.service.js +27 -0
- package/esm2015/services/index.js +2 -1
- package/esm5/components/alert/alert.service.js +1 -2
- package/esm5/components/button/button.component.js +33 -15
- package/esm5/components/notification/notification.component.js +3 -3
- package/esm5/components/primitive-textfield/primitive-textfield.component.js +1 -1
- package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +3 -3
- package/esm5/components/scrollbar/scrollbar.component.js +5 -5
- package/esm5/pipes/format-date/format-date.module.js +16 -0
- package/esm5/pipes/format-date/format-date.pipe.js +23 -0
- package/esm5/pipes/format-date/index.js +3 -0
- package/esm5/pipes/format-date/taiga-ui-core-pipes-format-date.js +5 -0
- package/esm5/pipes/index.js +2 -1
- package/esm5/services/format-date.service.js +28 -0
- package/esm5/services/index.js +2 -1
- package/fesm2015/taiga-ui-core-components-alert.js +0 -1
- package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-button.js +28 -14
- package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-notification.js +2 -2
- package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-textfield.js +3 -3
- package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
- package/fesm2015/taiga-ui-core-pipes-format-date.js +37 -0
- package/fesm2015/taiga-ui-core-pipes-format-date.js.map +1 -0
- package/fesm2015/taiga-ui-core-pipes.js +1 -0
- package/fesm2015/taiga-ui-core-pipes.js.map +1 -1
- package/fesm2015/taiga-ui-core-services.js +25 -3
- package/fesm2015/taiga-ui-core-services.js.map +1 -1
- package/fesm5/taiga-ui-core-components-alert.js +0 -1
- package/fesm5/taiga-ui-core-components-alert.js.map +1 -1
- package/fesm5/taiga-ui-core-components-button.js +32 -14
- package/fesm5/taiga-ui-core-components-button.js.map +1 -1
- package/fesm5/taiga-ui-core-components-notification.js +2 -2
- package/fesm5/taiga-ui-core-components-notification.js.map +1 -1
- package/fesm5/taiga-ui-core-components-primitive-textfield.js +3 -3
- package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
- package/fesm5/taiga-ui-core-components-scrollbar.js.map +1 -1
- package/fesm5/taiga-ui-core-pipes-format-date.js +41 -0
- package/fesm5/taiga-ui-core-pipes-format-date.js.map +1 -0
- package/fesm5/taiga-ui-core-pipes.js +1 -0
- package/fesm5/taiga-ui-core-pipes.js.map +1 -1
- package/fesm5/taiga-ui-core-services.js +27 -4
- package/fesm5/taiga-ui-core-services.js.map +1 -1
- package/package.json +4 -4
- package/pipes/format-date/format-date.module.d.ts +2 -0
- package/pipes/format-date/format-date.pipe.d.ts +8 -0
- package/pipes/format-date/index.d.ts +2 -0
- package/pipes/format-date/package.json +13 -0
- package/pipes/format-date/taiga-ui-core-pipes-format-date.d.ts +4 -0
- package/pipes/format-date/taiga-ui-core-pipes-format-date.metadata.json +1 -0
- package/pipes/index.d.ts +1 -0
- package/pipes/taiga-ui-core-pipes.metadata.json +1 -1
- package/services/format-date.service.d.ts +6 -0
- package/services/index.d.ts +1 -0
- package/services/taiga-ui-core-services.metadata.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-primitive-textfield.js","sources":["ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.providers.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield-options.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.component.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.directive.ts","ng://@taiga-ui/core/components/primitive-textfield/textfield/textfield.component.ts","ng://@taiga-ui/core/components/primitive-textfield/value-decoration/value-decoration.component.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.module.ts","ng://@taiga-ui/core/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {HINT_CONTROLLER_PROVIDER} from '@taiga-ui/core/directives/hint-controller';\nimport {TEXTFIELD_CONTROLLER_PROVIDER} from '@taiga-ui/core/directives/textfield-controller';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\nexport const TUI_PRIMITIVE_TEXTFIELD_PROVIDERS = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiPrimitiveTextfieldComponent),\n },\n TEXTFIELD_CONTROLLER_PROVIDER,\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n];\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiHorizontalDirection} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiPrimitiveTextfieldOptions {\n readonly iconAlign: TuiHorizontalDirection;\n readonly iconCleaner: PolymorpheusContent;\n}\n\n// TODO: 3.0 remove in ivy compilation\nexport const TUI_PRIMITIVE_TEXTFIELD_ICON_CLEANER = `tuiIconCloseLarge`;\n\n/** Default values for primitive textfield options */\nexport const TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS: TuiPrimitiveTextfieldOptions = {\n iconAlign: `right`,\n iconCleaner: TUI_PRIMITIVE_TEXTFIELD_ICON_CLEANER,\n};\n\nexport const TUI_PRIMITIVE_TEXTFIELD_OPTIONS =\n new InjectionToken<TuiPrimitiveTextfieldOptions>(\n `Default parameters for primitive textfield component`,\n {\n factory: () => TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS,\n },\n );\n\nexport const tuiPrimitiveTextfieldOptionsProvider: (\n options: Partial<TuiPrimitiveTextfieldOptions>,\n) => ValueProvider = (options: Partial<TuiPrimitiveTextfieldOptions>) => ({\n provide: TUI_PRIMITIVE_TEXTFIELD_OPTIONS,\n useValue: {...TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n isNativeFocusedIn,\n setNativeFocused,\n TuiContextWithImplicit,\n TuiCreditCardAutofillName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TUI_HINT_WATCHED_CONTROLLER,\n TuiHintControllerDirective,\n} from '@taiga-ui/core/directives/hint-controller';\nimport {\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives/textfield-controller';\nimport {TUI_MODE, TUI_TEXTFIELD_APPEARANCE} from '@taiga-ui/core/tokens';\nimport {TuiBrightness, TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {getBorder} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusContent, PolymorpheusOutletComponent} from '@tinkoff/ng-polymorpheus';\nimport {fromEvent, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_PRIMITIVE_TEXTFIELD_PROVIDERS} from './primitive-textfield.providers';\nimport {\n TUI_PRIMITIVE_TEXTFIELD_OPTIONS,\n TuiPrimitiveTextfieldOptions,\n} from './primitive-textfield-options';\n\nconst ICON_PADDING = 1.75;\nconst ICON_PADDING_S = 1.5;\n\n@Component({\n selector: `tui-primitive-textfield`,\n templateUrl: `./primitive-textfield.template.html`,\n styleUrls: [`./primitive-textfield.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_PRIMITIVE_TEXTFIELD_PROVIDERS,\n host: {\n '($.data-mode.attr)': `mode$`,\n '[class._autofilled]': `autofilled`,\n '[class._label-outside]': `controller.labelOutside`,\n },\n})\nexport class TuiPrimitiveTextfieldComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChild(`focusableElement`)\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @tuiDefaultProp()\n editable = true;\n\n @Input()\n @tuiDefaultProp()\n filler = ``;\n\n @Input()\n @tuiDefaultProp()\n iconAlign: TuiPrimitiveTextfieldOptions['iconAlign'] = this.options.iconAlign;\n\n // TODO: 3.0 Remove null\n @Input()\n @tuiDefaultProp()\n iconContent: PolymorpheusContent<TuiContextWithImplicit<TuiSizeS | TuiSizeL>> | null =\n null;\n\n @Input()\n @tuiDefaultProp()\n iconCleaner: TuiPrimitiveTextfieldOptions['iconCleaner'] = this.options.iconCleaner;\n\n @Input()\n @HostBinding(`class._readonly`)\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n invalid = false;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n prefix = ``;\n\n @Input()\n @tuiDefaultProp()\n postfix = ``;\n\n @Input()\n @tuiDefaultProp()\n value = ``;\n\n @Output()\n readonly valueChange = new EventEmitter<string>();\n\n /**\n * @deprecated TODO: 3.0 remove\n */\n @Output()\n readonly autofilledChange = new EventEmitter<boolean>();\n\n @ContentChildren(PolymorpheusOutletComponent)\n readonly content?: QueryList<unknown>;\n\n autofilled = false;\n\n constructor(\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_APPEARANCE) readonly appearance: string,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_HINT_WATCHED_CONTROLLER)\n readonly hintController: TuiHintControllerDirective,\n @Inject(TUI_PRIMITIVE_TEXTFIELD_OPTIONS)\n readonly options: TuiPrimitiveTextfieldOptions,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n super();\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n if (this.computedDisabled || !this.focusableElement) {\n return null;\n }\n\n // TODO: 3.0 Refactor this after we drop built-in input element\n return (\n (this.focusableElement.nativeElement\n .previousElementSibling as HTMLInputElement | null) ||\n this.focusableElement.nativeElement\n );\n }\n\n get focused(): boolean {\n return isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n @HostBinding(`attr.data-size`)\n get size(): TuiSizeS | TuiSizeL {\n return this.controller.size;\n }\n\n @HostBinding(`class._invalid`)\n get computedInvalid(): boolean {\n return !this.readOnly && !this.disabled && this.invalid;\n }\n\n @HostBinding(`class._hidden`)\n get inputHidden(): boolean {\n return !!this.content?.length;\n }\n\n get hasValue(): boolean {\n return !!this.value;\n }\n\n get hasCleaner(): boolean {\n return (\n this.controller.cleaner && this.hasValue && !this.disabled && !this.readOnly\n );\n }\n\n get hasTooltip(): boolean {\n return !!this.hintController?.content && !this.disabled;\n }\n\n get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n get showOnlyPlaceholder(): boolean {\n return (\n this.focused &&\n this.placeholderVisible &&\n (this.size === `s` || (this.size === `m` && !this.placeholderRaisable))\n );\n }\n\n get placeholderVisible(): boolean {\n const hasDecor =\n this.controller.exampleText ||\n this.prefix ||\n this.postfix ||\n this.nativeFocusableElement?.placeholder;\n const showDecor = hasDecor && !this.readOnly && this.computedFocused;\n\n return !this.hasValue && !showDecor;\n }\n\n get hasPlaceholder(): boolean {\n return (\n !this.showOnlyPlaceholder &&\n (this.placeholderRaisable || this.placeholderVisible)\n );\n }\n\n get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue || this.autofilled)\n );\n }\n\n @HostBinding(`style.--border-start.rem`)\n get borderStart(): number {\n return this.iconAlignLeft ? this.iconPaddingLeft : 0;\n }\n\n @HostBinding(`style.--border-end.rem`)\n get borderEnd(): number {\n return getBorder(\n this.iconAlignRight,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n );\n }\n\n get iconAlignLeft(): boolean {\n return this.hasIcon && this.iconAlign === `left`;\n }\n\n get iconAlignRight(): boolean {\n return this.hasIcon && this.iconAlign === `right`;\n }\n\n // Safari expiration date autofill workaround\n get name(): 'ccexpiryyear' | null {\n return this.controller.autocomplete === TuiCreditCardAutofillName.CcExp\n ? `ccexpiryyear`\n : null;\n }\n\n get computedId(): string {\n return this.nativeFocusableElement?.id || ``;\n }\n\n @HostListener(`focusin`, [`true`])\n @HostListener(`focusout`, [`false`])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n @tuiPure\n getIndent$(element: HTMLElement): Observable<number> {\n return fromEvent(element, `scroll`).pipe(map(() => -1 * element.scrollLeft));\n }\n\n clear(): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = ``;\n }\n\n this.updateValue(``);\n }\n\n onMouseDown(event: MouseEvent): void {\n const {nativeFocusableElement} = this;\n\n if (!nativeFocusableElement || event.target === nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n setNativeFocused(nativeFocusableElement);\n }\n\n onModelChange(value: string): void {\n this.updateValue(value);\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n onAutofilled(autofilled: boolean): void {\n this.updateAutofilled(autofilled);\n }\n\n private get iconPaddingLeft(): number {\n return this.size === `s` ? ICON_PADDING_S : ICON_PADDING;\n }\n\n private get placeholderRaisable(): boolean {\n return this.size !== `s` && !this.controller.labelOutside;\n }\n\n private get hasIcon(): boolean {\n return !!this.iconContent;\n }\n\n private updateAutofilled(autofilled: boolean): void {\n if (this.autofilled === autofilled) {\n return;\n }\n\n this.autofilled = autofilled;\n this.autofilledChange.emit(autofilled);\n }\n\n private updateValue(value: string): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","import {Directive, forwardRef, Inject} from '@angular/core';\nimport {AbstractTuiControl} from '@taiga-ui/cdk';\nimport {TuiAbstractTextfieldHost} from '@taiga-ui/core/abstract';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/core/tokens';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\n@Directive({\n selector: `tui-primitive-textfield`,\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiPrimitiveTextfieldDirective),\n },\n ],\n})\nexport class TuiPrimitiveTextfieldDirective extends TuiAbstractTextfieldHost<any> {\n constructor(\n @Inject(TuiPrimitiveTextfieldComponent)\n private readonly textfield: TuiPrimitiveTextfieldComponent,\n ) {\n /**\n * TuiPrimitiveTextfieldComponent satisfies all required parts of\n * AbstractTuiControl interface. A new interface is not introduced\n * so AbstractTuiControl is automatically injected for all other controls.\n */\n super(textfield as unknown as AbstractTuiControl<unknown>);\n }\n\n get readOnly(): boolean {\n return this.textfield.readOnly || !this.textfield.editable;\n }\n\n onValueChange(value: string): void {\n this.textfield.onModelChange(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n ElementRef,\n HostBinding,\n Inject,\n} from '@angular/core';\nimport {TuiIdService} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_DESCRIBED_BY_PROVIDERS,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiDescribedByDirective,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/core/tokens';\n\n// @dynamic\n@Component({\n selector: `input[tuiTextfield], textarea[tuiTextfield]`,\n template: ``,\n providers: [\n TuiDescribedByDirective,\n TUI_DESCRIBED_BY_PROVIDERS,\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n type: `text`,\n '[attr.aria-placeholder]': `controller.exampleText`,\n '[attr.aria-invalid]': `host.invalid`,\n '[attr.disabled]': `host.disabled || null`,\n '[tabIndex]': `host.focusable ? 0 : -1`,\n '[readOnly]': `host.readOnly`,\n '[value]': `host.value`,\n '(input)': `host.onValueChange($event.target.value)`,\n },\n styleUrls: [`textfield.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTextfieldComponent implements DoCheck {\n constructor(\n @Inject(TUI_TEXTFIELD_HOST) readonly host: TuiTextfieldHost,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(TuiDescribedByDirective)\n private readonly describedBy: TuiDescribedByDirective,\n @Inject(TuiIdService)\n private readonly idService: TuiIdService,\n ) {\n this.host.process(this.elementRef.nativeElement);\n }\n\n @HostBinding(`attr.aria-describedby`)\n get computedDescribedBy(): string | null {\n return this.describedBy.computedDescribedBy;\n }\n\n @HostBinding(`id`)\n get id(): string {\n return this.elementRef.nativeElement.id || this.idService.generate();\n }\n\n ngDoCheck(): void {\n this.describedBy.tuiDescribedBy = this.id;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n ViewChild,\n} from '@angular/core';\nimport {\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {BehaviorSubject} from 'rxjs';\nimport {delay, distinctUntilChanged, filter, map} from 'rxjs/operators';\n\nimport {TuiPrimitiveTextfieldComponent} from '../primitive-textfield.component';\n\n@Component({\n selector: `tui-value-decoration`,\n templateUrl: `./value-decoration.template.html`,\n styleUrls: [`./value-decoration.style.less`],\n // It follows Change Detection of PrimitiveTextfield\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TuiValueDecorationComponent implements DoCheck {\n @ViewChild(`pre`, {read: ElementRef, static: true})\n private readonly pre?: ElementRef<HTMLElement>;\n\n private readonly prefix$ = new BehaviorSubject(``);\n\n readonly pre$ = this.prefix$.pipe(\n delay(0),\n filter(() => !!this.pre?.nativeElement.isConnected),\n distinctUntilChanged(),\n map(() => this.pre?.nativeElement.offsetWidth || 0),\n );\n\n constructor(\n @Inject(TuiPrimitiveTextfieldComponent)\n private readonly textfield: TuiPrimitiveTextfieldComponent,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n private readonly controller: TuiTextfieldController,\n ) {}\n\n @HostBinding(`class._table`)\n get isContextTable(): boolean {\n return this.textfield.appearance === TuiAppearance.Table;\n }\n\n get value(): string {\n return this.textfield.value;\n }\n\n get filler(): string {\n const {focused, placeholder, exampleText, value, textfield} = this;\n\n if (placeholder && exampleText) {\n return ``;\n }\n\n return focused ? exampleText || textfield.filler.slice(value.length) : ``;\n }\n\n get prefix(): string {\n return this.decorationsVisible ? this.textfield.prefix : ``;\n }\n\n get postfix(): string {\n return this.decorationsVisible ? this.computedPostfix : ``;\n }\n\n @HostListener(`animationstart`)\n ngDoCheck(): void {\n this.prefix$.next(this.prefix);\n }\n\n private get placeholder(): string {\n return this.textfield.nativeFocusableElement?.placeholder || ``;\n }\n\n private get exampleText(): string {\n const exampleText = this.controller.exampleText || this.placeholder;\n\n return !this.value && this.focused ? exampleText : ``;\n }\n\n private get decorationsVisible(): boolean {\n return !!this.value || this.focused;\n }\n\n private get focused(): boolean {\n return this.textfield.computedFocused && !this.textfield.readOnly;\n }\n\n private get computedPostfix(): string {\n return this.textfield.postfix && (this.filler || this.value)\n ? ` ${this.textfield.postfix}`\n : this.textfield.postfix;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {\n TuiAutofilledModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiInputModeModule,\n} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiTooltipModule} from '@taiga-ui/core/components/tooltip';\nimport {TuiDescribedByModule} from '@taiga-ui/core/directives/described-by';\nimport {TuiMaskAccessorModule} from '@taiga-ui/core/directives/mask-accessor';\nimport {TuiWrapperModule} from '@taiga-ui/core/directives/wrapper';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\nimport {TuiPrimitiveTextfieldDirective} from './primitive-textfield.directive';\nimport {TuiTextfieldComponent} from './textfield/textfield.component';\nimport {TuiValueDecorationComponent} from './value-decoration/value-decoration.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiMaskAccessorModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiTooltipModule,\n TuiAutofilledModule,\n TuiDescribedByModule,\n ],\n declarations: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n TuiValueDecorationComponent,\n ],\n exports: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiPrimitiveTextfieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TuiTextfieldController","TUI_TEXTFIELD_WATCHED_CONTROLLER","TEXTFIELD_CONTROLLER_PROVIDER"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-components-primitive-textfield.js","sources":["ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.providers.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield-options.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.component.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.directive.ts","ng://@taiga-ui/core/components/primitive-textfield/textfield/textfield.component.ts","ng://@taiga-ui/core/components/primitive-textfield/value-decoration/value-decoration.component.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.module.ts","ng://@taiga-ui/core/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {HINT_CONTROLLER_PROVIDER} from '@taiga-ui/core/directives/hint-controller';\nimport {TEXTFIELD_CONTROLLER_PROVIDER} from '@taiga-ui/core/directives/textfield-controller';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\nexport const TUI_PRIMITIVE_TEXTFIELD_PROVIDERS = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiPrimitiveTextfieldComponent),\n },\n TEXTFIELD_CONTROLLER_PROVIDER,\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n];\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiHorizontalDirection} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiPrimitiveTextfieldOptions {\n readonly iconAlign: TuiHorizontalDirection;\n readonly iconCleaner: PolymorpheusContent;\n}\n\n// TODO: 3.0 remove in ivy compilation\nexport const TUI_PRIMITIVE_TEXTFIELD_ICON_CLEANER = `tuiIconCloseLarge`;\n\n/** Default values for primitive textfield options */\nexport const TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS: TuiPrimitiveTextfieldOptions = {\n iconAlign: `right`,\n iconCleaner: TUI_PRIMITIVE_TEXTFIELD_ICON_CLEANER,\n};\n\nexport const TUI_PRIMITIVE_TEXTFIELD_OPTIONS =\n new InjectionToken<TuiPrimitiveTextfieldOptions>(\n `Default parameters for primitive textfield component`,\n {\n factory: () => TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS,\n },\n );\n\nexport const tuiPrimitiveTextfieldOptionsProvider: (\n options: Partial<TuiPrimitiveTextfieldOptions>,\n) => ValueProvider = (options: Partial<TuiPrimitiveTextfieldOptions>) => ({\n provide: TUI_PRIMITIVE_TEXTFIELD_OPTIONS,\n useValue: {...TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n isNativeFocusedIn,\n setNativeFocused,\n TuiContextWithImplicit,\n TuiCreditCardAutofillName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TUI_HINT_WATCHED_CONTROLLER,\n TuiHintControllerDirective,\n} from '@taiga-ui/core/directives/hint-controller';\nimport {\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives/textfield-controller';\nimport {TUI_MODE, TUI_TEXTFIELD_APPEARANCE} from '@taiga-ui/core/tokens';\nimport {TuiBrightness, TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {getBorder} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusContent, PolymorpheusOutletComponent} from '@tinkoff/ng-polymorpheus';\nimport {fromEvent, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_PRIMITIVE_TEXTFIELD_PROVIDERS} from './primitive-textfield.providers';\nimport {\n TUI_PRIMITIVE_TEXTFIELD_OPTIONS,\n TuiPrimitiveTextfieldOptions,\n} from './primitive-textfield-options';\n\nconst ICON_PADDING = 1.75;\nconst ICON_PADDING_S = 1.5;\n\n@Component({\n selector: `tui-primitive-textfield`,\n templateUrl: `./primitive-textfield.template.html`,\n styleUrls: [`./primitive-textfield.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_PRIMITIVE_TEXTFIELD_PROVIDERS,\n host: {\n '($.data-mode.attr)': `mode$`,\n '[class._autofilled]': `autofilled`,\n '[class._label-outside]': `controller.labelOutside`,\n },\n})\nexport class TuiPrimitiveTextfieldComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChild(`focusableElement`)\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @tuiDefaultProp()\n editable = true;\n\n @Input()\n @tuiDefaultProp()\n filler = ``;\n\n @Input()\n @tuiDefaultProp()\n iconAlign: TuiPrimitiveTextfieldOptions['iconAlign'] = this.options.iconAlign;\n\n // TODO: 3.0 Remove null\n @Input()\n @tuiDefaultProp()\n iconContent: PolymorpheusContent<TuiContextWithImplicit<TuiSizeS | TuiSizeL>> | null =\n null;\n\n @Input()\n @tuiDefaultProp()\n iconCleaner: TuiPrimitiveTextfieldOptions['iconCleaner'] = this.options.iconCleaner;\n\n @Input()\n @HostBinding(`class._readonly`)\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n invalid = false;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n prefix = ``;\n\n @Input()\n @tuiDefaultProp()\n postfix = ``;\n\n @Input()\n @tuiDefaultProp()\n value = ``;\n\n @Output()\n readonly valueChange = new EventEmitter<string>();\n\n /**\n * @deprecated TODO: 3.0 remove\n */\n @Output()\n readonly autofilledChange = new EventEmitter<boolean>();\n\n @ContentChildren(PolymorpheusOutletComponent)\n readonly content?: QueryList<unknown>;\n\n autofilled = false;\n\n constructor(\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_APPEARANCE) readonly appearance: string,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_HINT_WATCHED_CONTROLLER)\n readonly hintController: TuiHintControllerDirective,\n @Inject(TUI_PRIMITIVE_TEXTFIELD_OPTIONS)\n readonly options: TuiPrimitiveTextfieldOptions,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n super();\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n if (this.computedDisabled || !this.focusableElement) {\n return null;\n }\n\n // TODO: 3.0 Refactor this after we drop built-in input element\n return (\n (this.focusableElement.nativeElement\n .previousElementSibling as HTMLInputElement | null) ||\n this.focusableElement.nativeElement\n );\n }\n\n get focused(): boolean {\n return isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n @HostBinding(`attr.data-size`)\n get size(): TuiSizeS | TuiSizeL {\n return this.controller.size;\n }\n\n @HostBinding(`class._invalid`)\n get computedInvalid(): boolean {\n return !this.readOnly && !this.disabled && this.invalid;\n }\n\n @HostBinding(`class._hidden`)\n get inputHidden(): boolean {\n return !!this.content?.length;\n }\n\n get hasValue(): boolean {\n return !!this.value;\n }\n\n get hasCleaner(): boolean {\n return (\n this.controller.cleaner && this.hasValue && !this.disabled && !this.readOnly\n );\n }\n\n get hasTooltip(): boolean {\n return !!this.hintController?.content && !this.disabled;\n }\n\n get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n get showOnlyPlaceholder(): boolean {\n return (\n this.focused &&\n this.placeholderVisible &&\n (this.size === `s` || (this.size === `m` && !this.placeholderRaisable))\n );\n }\n\n get placeholderVisible(): boolean {\n const hasDecor =\n this.controller.exampleText ||\n this.prefix ||\n this.postfix ||\n this.nativeFocusableElement?.placeholder;\n const showDecor = hasDecor && !this.readOnly && this.computedFocused;\n\n return !this.hasValue && !showDecor;\n }\n\n get hasPlaceholder(): boolean {\n return (\n !this.showOnlyPlaceholder &&\n (this.placeholderRaisable || this.placeholderVisible)\n );\n }\n\n get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue || this.autofilled)\n );\n }\n\n @HostBinding(`style.--border-start.rem`)\n get borderStart(): number {\n return this.iconAlignLeft ? this.iconPaddingLeft : 0;\n }\n\n @HostBinding(`style.--border-end.rem`)\n get borderEnd(): number {\n return getBorder(\n this.iconAlignRight,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n );\n }\n\n get iconAlignLeft(): boolean {\n return this.hasIcon && this.iconAlign === `left`;\n }\n\n get iconAlignRight(): boolean {\n return this.hasIcon && this.iconAlign === `right`;\n }\n\n // Safari expiration date autofill workaround\n get name(): 'ccexpiryyear' | null {\n return this.controller.autocomplete === TuiCreditCardAutofillName.CcExp\n ? `ccexpiryyear`\n : null;\n }\n\n get computedId(): string {\n return this.nativeFocusableElement?.id || ``;\n }\n\n @HostListener(`focusin`, [`true`])\n @HostListener(`focusout`, [`false`])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n @tuiPure\n getIndent$(element: HTMLElement): Observable<number> {\n return fromEvent(element, `scroll`).pipe(map(() => -1 * element.scrollLeft));\n }\n\n clear(): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = ``;\n }\n\n this.updateValue(``);\n }\n\n onMouseDown(event: MouseEvent): void {\n const {nativeFocusableElement} = this;\n\n if (!nativeFocusableElement || event.target === nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n setNativeFocused(nativeFocusableElement);\n }\n\n onModelChange(value: string): void {\n this.updateValue(value);\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n onAutofilled(autofilled: boolean): void {\n this.updateAutofilled(autofilled);\n }\n\n private get iconPaddingLeft(): number {\n return this.size === `s` ? ICON_PADDING_S : ICON_PADDING;\n }\n\n private get placeholderRaisable(): boolean {\n return this.size !== `s` && !this.controller.labelOutside;\n }\n\n private get hasIcon(): boolean {\n return !!this.iconContent;\n }\n\n private updateAutofilled(autofilled: boolean): void {\n if (this.autofilled === autofilled) {\n return;\n }\n\n this.autofilled = autofilled;\n this.autofilledChange.emit(autofilled);\n }\n\n private updateValue(value: string): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","import {Directive, forwardRef, Inject} from '@angular/core';\nimport {AbstractTuiControl} from '@taiga-ui/cdk';\nimport {TuiAbstractTextfieldHost} from '@taiga-ui/core/abstract';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/core/tokens';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\n@Directive({\n selector: `tui-primitive-textfield`,\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiPrimitiveTextfieldDirective),\n },\n ],\n})\nexport class TuiPrimitiveTextfieldDirective extends TuiAbstractTextfieldHost<any> {\n constructor(\n @Inject(TuiPrimitiveTextfieldComponent)\n private readonly textfield: TuiPrimitiveTextfieldComponent,\n ) {\n /**\n * TuiPrimitiveTextfieldComponent satisfies all required parts of\n * AbstractTuiControl interface. A new interface is not introduced\n * so AbstractTuiControl is automatically injected for all other controls.\n */\n super(textfield as unknown as AbstractTuiControl<unknown>);\n }\n\n get readOnly(): boolean {\n return this.textfield.readOnly || !this.textfield.editable;\n }\n\n onValueChange(value: string): void {\n this.textfield.onModelChange(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n ElementRef,\n HostBinding,\n Inject,\n} from '@angular/core';\nimport {TuiIdService} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_DESCRIBED_BY_PROVIDERS,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiDescribedByDirective,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/core/tokens';\n\n// @dynamic\n@Component({\n selector: `input[tuiTextfield], textarea[tuiTextfield]`,\n template: ``,\n providers: [\n TuiDescribedByDirective,\n TUI_DESCRIBED_BY_PROVIDERS,\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n type: `text`,\n '[attr.aria-placeholder]': `controller.exampleText`,\n '[attr.aria-invalid]': `host.invalid`,\n '[attr.disabled]': `host.disabled || null`,\n '[tabIndex]': `host.focusable ? 0 : -1`,\n '[readOnly]': `host.readOnly`,\n '[value]': `host.value`,\n '(input)': `host.onValueChange($event.target.value)`,\n },\n styleUrls: [`textfield.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTextfieldComponent implements DoCheck {\n constructor(\n @Inject(TUI_TEXTFIELD_HOST) readonly host: TuiTextfieldHost,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(TuiDescribedByDirective)\n private readonly describedBy: TuiDescribedByDirective,\n @Inject(TuiIdService)\n private readonly idService: TuiIdService,\n ) {\n this.host.process(this.elementRef.nativeElement);\n }\n\n @HostBinding(`attr.aria-describedby`)\n get computedDescribedBy(): string | null {\n return this.describedBy.computedDescribedBy;\n }\n\n @HostBinding(`id`)\n get id(): string {\n return this.elementRef.nativeElement.id || this.idService.generate();\n }\n\n ngDoCheck(): void {\n this.describedBy.tuiDescribedBy = this.id;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n ViewChild,\n} from '@angular/core';\nimport {\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {BehaviorSubject} from 'rxjs';\nimport {delay, distinctUntilChanged, filter, map} from 'rxjs/operators';\n\nimport {TuiPrimitiveTextfieldComponent} from '../primitive-textfield.component';\n\n@Component({\n selector: `tui-value-decoration`,\n templateUrl: `./value-decoration.template.html`,\n styleUrls: [`./value-decoration.style.less`],\n // It follows Change Detection of PrimitiveTextfield\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TuiValueDecorationComponent implements DoCheck {\n @ViewChild(`pre`, {read: ElementRef, static: true})\n private readonly pre?: ElementRef<HTMLElement>;\n\n private readonly prefix$ = new BehaviorSubject(``);\n\n readonly pre$ = this.prefix$.pipe(\n delay(0),\n filter(() => !!this.pre?.nativeElement.isConnected),\n distinctUntilChanged(),\n map(() => this.pre?.nativeElement.offsetWidth || 0),\n );\n\n constructor(\n @Inject(TuiPrimitiveTextfieldComponent)\n private readonly textfield: TuiPrimitiveTextfieldComponent,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n private readonly controller: TuiTextfieldController,\n ) {}\n\n @HostBinding(`class._table`)\n get isContextTable(): boolean {\n return this.textfield.appearance === TuiAppearance.Table;\n }\n\n get value(): string {\n return this.textfield.value;\n }\n\n get filler(): string {\n const {focused, placeholder, exampleText, value, textfield} = this;\n\n if (placeholder && exampleText) {\n return ``;\n }\n\n return focused ? exampleText || textfield.filler.slice(value.length) : ``;\n }\n\n get prefix(): string {\n return this.decorationsVisible ? this.textfield.prefix : ``;\n }\n\n get postfix(): string {\n return this.decorationsVisible ? this.computedPostfix : ``;\n }\n\n @HostListener(`animationstart`)\n ngDoCheck(): void {\n this.prefix$.next(this.prefix);\n }\n\n private get placeholder(): string {\n return this.textfield.nativeFocusableElement?.placeholder || ``;\n }\n\n private get exampleText(): string {\n const exampleText = this.controller.exampleText || this.placeholder;\n\n return !this.value && this.focused ? exampleText : ``;\n }\n\n private get decorationsVisible(): boolean {\n return !!this.value || this.focused;\n }\n\n private get focused(): boolean {\n return this.textfield.computedFocused && !this.textfield.readOnly;\n }\n\n private get computedPostfix(): string {\n return this.textfield.postfix && (this.filler || this.value)\n ? ` ${this.textfield.postfix}`\n : this.textfield.postfix;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {\n TuiAutofilledModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiInputModeModule,\n} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiTooltipModule} from '@taiga-ui/core/components/tooltip';\nimport {TuiDescribedByModule} from '@taiga-ui/core/directives/described-by';\nimport {TuiMaskAccessorModule} from '@taiga-ui/core/directives/mask-accessor';\nimport {TuiWrapperModule} from '@taiga-ui/core/directives/wrapper';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\nimport {TuiPrimitiveTextfieldDirective} from './primitive-textfield.directive';\nimport {TuiTextfieldComponent} from './textfield/textfield.component';\nimport {TuiValueDecorationComponent} from './value-decoration/value-decoration.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiMaskAccessorModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiTooltipModule,\n TuiAutofilledModule,\n TuiDescribedByModule,\n ],\n declarations: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n TuiValueDecorationComponent,\n ],\n exports: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiPrimitiveTextfieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TuiTextfieldController","TUI_TEXTFIELD_WATCHED_CONTROLLER","TEXTFIELD_CONTROLLER_PROVIDER"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-scrollbar.js","sources":["ng://@taiga-ui/core/components/scrollbar/scroll-ref.directive.ts","ng://@taiga-ui/core/components/scrollbar/scrollable.directive.ts","ng://@taiga-ui/core/components/scrollbar/scrollbar.component.ts","ng://@taiga-ui/core/components/scrollbar/scrollbar.module.ts","ng://@taiga-ui/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\nexport const SCROLL_REF_SELECTOR = `[tuiScrollRef]`;\n\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {Directive, ElementRef, Inject, OnInit} from '@angular/core';\nimport {TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n@Directive({\n selector: `[tuiScrollable]`,\n})\nexport class TuiScrollableDirective implements OnInit {\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n ngOnInit(): void {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SCROLLABLE, {\n bubbles: true,\n detail: this.elementRef.nativeElement,\n }),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS, USER_AGENT} from '@ng-web-apis/common';\nimport {getElementOffset
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-components-scrollbar.js","sources":["ng://@taiga-ui/core/components/scrollbar/scroll-ref.directive.ts","ng://@taiga-ui/core/components/scrollbar/scrollable.directive.ts","ng://@taiga-ui/core/components/scrollbar/scrollbar.component.ts","ng://@taiga-ui/core/components/scrollbar/scrollbar.module.ts","ng://@taiga-ui/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\nexport const SCROLL_REF_SELECTOR = `[tuiScrollRef]`;\n\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {Directive, ElementRef, Inject, OnInit} from '@angular/core';\nimport {TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n@Directive({\n selector: `[tuiScrollable]`,\n})\nexport class TuiScrollableDirective implements OnInit {\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n ngOnInit(): void {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SCROLLABLE, {\n bubbles: true,\n detail: this.elementRef.nativeElement,\n }),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS as CSS_TOKEN, USER_AGENT} from '@ng-web-apis/common';\nimport {\n getElementOffset,\n isFirefox,\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiInjectionTokenType,\n} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW, TUI_SCROLLABLE} from '@taiga-ui/core/constants';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function scrollRefFactory({\n browserScrollRef,\n}: TuiScrollbarComponent): ElementRef<HTMLElement> {\n return browserScrollRef;\n}\n\n// @dynamic\n@Component({\n selector: `tui-scrollbar`,\n templateUrl: `./scrollbar.template.html`,\n styleUrls: [`./scrollbar.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: scrollRefFactory,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n private delegated = false;\n\n private readonly isLegacy: boolean =\n !this.cssRef.supports(`position`, `sticky`) ||\n (isFirefox(this.userAgent) && !this.cssRef.supports(`scrollbar-width`, `none`));\n\n @Input()\n @tuiDefaultProp()\n hidden = false;\n\n readonly browserScrollRef = new ElementRef(this.elementRef.nativeElement);\n\n constructor(\n @Inject(CSS_TOKEN)\n private readonly cssRef: TuiInjectionTokenType<typeof CSS_TOKEN>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n ) {}\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);\n }\n\n @HostBinding(`class._legacy`)\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.delegated;\n }\n\n @HostListener(`${TUI_SCROLLABLE}.stop`, [`$event.detail`])\n onScrollable(element: HTMLElement): void {\n this.delegated = true;\n this.browserScrollRef.nativeElement = element;\n }\n\n @HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, [`$event.detail`])\n scrollIntoView(detail: HTMLElement): void {\n if (this.delegated) {\n return;\n }\n\n const {nativeElement} = this.browserScrollRef;\n const {offsetTop, offsetLeft} = getElementOffset(nativeElement, detail);\n\n nativeElement.scrollTop =\n offsetTop + detail.offsetHeight / 2 - nativeElement.clientHeight / 2;\n nativeElement.scrollLeft =\n offsetLeft + detail.offsetWidth / 2 - nativeElement.clientWidth / 2;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/core/components/scroll-controls';\n\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CSS_TOKEN"],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { __decorate, __param } from 'tslib';
|
|
2
|
+
import { Inject, Pipe, NgModule } from '@angular/core';
|
|
3
|
+
import { TuiFormatDateService } from '@taiga-ui/core/services';
|
|
4
|
+
|
|
5
|
+
var TuiFormatDatePipe = /** @class */ (function () {
|
|
6
|
+
function TuiFormatDatePipe(service) {
|
|
7
|
+
this.service = service;
|
|
8
|
+
}
|
|
9
|
+
TuiFormatDatePipe.prototype.transform = function (timestampOrDate) {
|
|
10
|
+
return this.service.format(timestampOrDate.valueOf());
|
|
11
|
+
};
|
|
12
|
+
TuiFormatDatePipe.ctorParameters = function () { return [
|
|
13
|
+
{ type: TuiFormatDateService, decorators: [{ type: Inject, args: [TuiFormatDateService,] }] }
|
|
14
|
+
]; };
|
|
15
|
+
TuiFormatDatePipe = __decorate([
|
|
16
|
+
Pipe({
|
|
17
|
+
name: "tuiFormatDate",
|
|
18
|
+
}),
|
|
19
|
+
__param(0, Inject(TuiFormatDateService))
|
|
20
|
+
], TuiFormatDatePipe);
|
|
21
|
+
return TuiFormatDatePipe;
|
|
22
|
+
}());
|
|
23
|
+
|
|
24
|
+
var TuiFormatDatePipeModule = /** @class */ (function () {
|
|
25
|
+
function TuiFormatDatePipeModule() {
|
|
26
|
+
}
|
|
27
|
+
TuiFormatDatePipeModule = __decorate([
|
|
28
|
+
NgModule({
|
|
29
|
+
declarations: [TuiFormatDatePipe],
|
|
30
|
+
exports: [TuiFormatDatePipe],
|
|
31
|
+
})
|
|
32
|
+
], TuiFormatDatePipeModule);
|
|
33
|
+
return TuiFormatDatePipeModule;
|
|
34
|
+
}());
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Generated bundle index. Do not edit.
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
export { TuiFormatDatePipe, TuiFormatDatePipeModule };
|
|
41
|
+
//# sourceMappingURL=taiga-ui-core-pipes-format-date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-pipes-format-date.js","sources":["ng://@taiga-ui/core/pipes/format-date/format-date.pipe.ts","ng://@taiga-ui/core/pipes/format-date/format-date.module.ts","ng://@taiga-ui/core/pipes/format-date/taiga-ui-core-pipes-format-date.ts"],"sourcesContent":["import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiFormatDateService} from '@taiga-ui/core/services';\nimport {Observable} from 'rxjs';\n\n@Pipe({\n name: `tuiFormatDate`,\n})\nexport class TuiFormatDatePipe implements PipeTransform {\n constructor(\n @Inject(TuiFormatDateService) private readonly service: TuiFormatDateService,\n ) {}\n\n transform(timestampOrDate: number | Date): Observable<string> {\n return this.service.format(timestampOrDate.valueOf());\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiFormatDatePipe} from './format-date.pipe';\n\n@NgModule({\n declarations: [TuiFormatDatePipe],\n exports: [TuiFormatDatePipe],\n})\nexport class TuiFormatDatePipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;IAQI,2BACmD,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;KAC5E;IAEJ,qCAAS,GAAT,UAAU,eAA8B;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;KACzD;;gBAL2D,oBAAoB,uBAA3E,MAAM,SAAC,oBAAoB;;IAFvB,iBAAiB;QAH7B,IAAI,CAAC;YACF,IAAI,EAAE,eAAe;SACxB,CAAC;QAGO,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;OAFxB,iBAAiB,CAQ7B;IAAD,wBAAC;CARD;;;ICCA;KAAuC;IAA1B,uBAAuB;QAJnC,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,iBAAiB,CAAC;YACjC,OAAO,EAAE,CAAC,iBAAiB,CAAC;SAC/B,CAAC;OACW,uBAAuB,CAAG;IAAD,8BAAC;CAAvC;;ACRA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-pipes.js","sources":["ng://@taiga-ui/core/pipes/taiga-ui-core-pipes.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-pipes.js","sources":["ng://@taiga-ui/core/pipes/taiga-ui-core-pipes.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAAA;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { BehaviorSubject, fromEvent, Observable, EMPTY } from 'rxjs';
|
|
1
|
+
import { __decorate, __param, __extends, __spread, __assign } from 'tslib';
|
|
2
|
+
import { Inject, LOCALE_ID, ɵɵdefineInjectable, ɵɵinject, Injectable, Optional, NgZone, SecurityContext, Sanitizer } from '@angular/core';
|
|
3
|
+
import { of, BehaviorSubject, fromEvent, Observable, EMPTY } from 'rxjs';
|
|
4
4
|
import { WINDOW, ANIMATION_FRAME } from '@ng-web-apis/common';
|
|
5
5
|
import { startWith, map, share, distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
6
6
|
import { RouterLinkActive } from '@angular/router';
|
|
@@ -9,6 +9,29 @@ import { DomSanitizer } from '@angular/platform-browser';
|
|
|
9
9
|
import { TUI_SANITIZER, TUI_ICONS } from '@taiga-ui/core/tokens';
|
|
10
10
|
import { processIcon } from '@taiga-ui/core/utils/dom';
|
|
11
11
|
|
|
12
|
+
var TuiFormatDateService = /** @class */ (function () {
|
|
13
|
+
function TuiFormatDateService(locale) {
|
|
14
|
+
this.locale = locale;
|
|
15
|
+
}
|
|
16
|
+
TuiFormatDateService.prototype.format = function (timestamp) {
|
|
17
|
+
return of(new Date(timestamp).toLocaleTimeString(this.locale, {
|
|
18
|
+
hour: "numeric",
|
|
19
|
+
minute: "2-digit",
|
|
20
|
+
}));
|
|
21
|
+
};
|
|
22
|
+
TuiFormatDateService.ctorParameters = function () { return [
|
|
23
|
+
{ type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }
|
|
24
|
+
]; };
|
|
25
|
+
TuiFormatDateService.ɵprov = ɵɵdefineInjectable({ factory: function TuiFormatDateService_Factory() { return new TuiFormatDateService(ɵɵinject(LOCALE_ID)); }, token: TuiFormatDateService, providedIn: "root" });
|
|
26
|
+
TuiFormatDateService = __decorate([
|
|
27
|
+
Injectable({
|
|
28
|
+
providedIn: "root",
|
|
29
|
+
}),
|
|
30
|
+
__param(0, Inject(LOCALE_ID))
|
|
31
|
+
], TuiFormatDateService);
|
|
32
|
+
return TuiFormatDateService;
|
|
33
|
+
}());
|
|
34
|
+
|
|
12
35
|
/**
|
|
13
36
|
* Service for displaying hints/tooltips
|
|
14
37
|
*/
|
|
@@ -180,5 +203,5 @@ var TuiSvgService = /** @class */ (function () {
|
|
|
180
203
|
* Generated bundle index. Do not edit.
|
|
181
204
|
*/
|
|
182
205
|
|
|
183
|
-
export { TuiHintService, TuiNightThemeService, TuiRouterLinkActiveService, TuiSvgService };
|
|
206
|
+
export { TuiFormatDateService, TuiHintService, TuiNightThemeService, TuiRouterLinkActiveService, TuiSvgService };
|
|
184
207
|
//# sourceMappingURL=taiga-ui-core-services.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-services.js","sources":["ng://@taiga-ui/core/services/hint.service.ts","ng://@taiga-ui/core/services/night-theme.service.ts","ng://@taiga-ui/core/services/router-link-active.service.ts","ng://@taiga-ui/core/services/svg.service.ts","ng://@taiga-ui/core/services/taiga-ui-core-services.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {BehaviorSubject} from 'rxjs';\n\n// TODO: 3.0 can it be removed? It prevented seps cycling before 2.0\ntype TuiHintDirective = any;\n\ntype AbstractTuiHint = any;\n\n/**\n * Service for displaying hints/tooltips\n */\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiHintService extends BehaviorSubject<readonly AbstractTuiHint[]> {\n /**\n * TODO:\n * We need the following logic for desribedBy\n * move it into another service that can register hints and\n * manage it using TuiHintService inside\n */\n private directives: readonly TuiHintDirective[] = [];\n\n constructor() {\n super([]);\n }\n\n add(directive: AbstractTuiHint): void {\n this.next(this.value.concat(directive));\n }\n\n remove(directive: AbstractTuiHint): void {\n if (this.value.includes(directive)) {\n this.next(this.value.filter(hint => hint !== directive));\n }\n }\n\n register(directive: TuiHintDirective): void {\n this.directives = [...this.directives, directive];\n }\n\n unregister(directive: TuiHintDirective): void {\n this.remove(directive);\n this.directives = this.directives.filter(dir => dir !== directive);\n }\n\n showHintForId(id: string): void {\n const directive = this.findDirectiveWithHintId(id);\n\n if (directive) {\n this.add(directive);\n }\n }\n\n hideHintForId(id: string): void {\n const directive = this.findDirectiveWithHintId(id);\n\n if (directive) {\n this.remove(directive);\n }\n }\n\n private findDirectiveWithHintId(id: string): TuiHintDirective | undefined {\n return this.directives.find(directive => directive.tuiHintId === id);\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {fromEvent, Observable} from 'rxjs';\nimport {map, share, startWith} from 'rxjs/operators';\n\n// @dynamic\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiNightThemeService extends Observable<boolean> {\n constructor(@Inject(WINDOW) windowRef: Window) {\n const media = windowRef.matchMedia(`(prefers-color-scheme: dark)`);\n const media$ = fromEvent(media, `change`).pipe(\n startWith(null),\n map(() => media.matches),\n share(),\n );\n\n super(subscriber => media$.subscribe(subscriber));\n }\n}\n","import {Inject, Injectable, NgZone, Optional} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {TuiDestroyService, tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {distinctUntilChanged, map, takeUntil} from 'rxjs/operators';\n\n@Injectable()\nexport class TuiRouterLinkActiveService extends Observable<boolean> {\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n routerLinkActive: RouterLinkActive | null,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n const stream$ = routerLinkActive\n ? animationFrame$.pipe(\n map(() => routerLinkActive.isActive),\n distinctUntilChanged(),\n tuiZoneOptimized(ngZone),\n takeUntil(destroy$),\n )\n : EMPTY;\n\n super(subscriber => stream$.subscribe(subscriber));\n }\n}\n","import {Inject, Injectable, Optional, Sanitizer, SecurityContext} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {tuiAssert} from '@taiga-ui/cdk';\nimport {TUI_ICONS, TUI_SANITIZER} from '@taiga-ui/core/tokens';\nimport {processIcon} from '@taiga-ui/core/utils/dom';\nimport {BehaviorSubject} from 'rxjs';\n\n/**\n * Service for reusing SVGs without inlining each instance\n */\n// @dynamic\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiSvgService {\n private originals: Record<string, string> = {};\n\n readonly items$ = new BehaviorSubject<Map<string, SafeHtml>>(new Map());\n\n constructor(\n @Optional()\n @Inject(TUI_SANITIZER)\n private readonly tuiSanitizer: Sanitizer | null,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_ICONS) icons: Record<string, string>,\n ) {\n this.define(icons);\n }\n\n define(icons: Record<string, string>): void {\n const {value} = this.items$;\n\n Object.keys(icons).forEach(key => {\n this.defineIcon(key, icons[key], value);\n });\n\n this.items$.next(value);\n }\n\n getOriginal(name: string): string | null {\n return this.originals[name] || null;\n }\n\n private defineIcon(name: string, src: string, map: Map<string, SafeHtml>): void {\n if (map.has(name)) {\n return;\n }\n\n const parsed = this.parseSrc(name, src);\n\n if (!parsed) {\n tuiAssert.assert(false, `Unable to parse given SVG src`);\n\n return;\n }\n\n map.set(name, parsed);\n this.originals = {\n ...this.originals,\n [name]: src,\n };\n }\n\n private parseSrc(name: string, src: string): SafeHtml {\n return this.sanitize(processIcon(src, name));\n }\n\n private sanitize(src: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(\n (this.tuiSanitizer\n ? this.tuiSanitizer.sanitize(SecurityContext.HTML, src)\n : this.sanitizer.sanitize(SecurityContext.HTML, src)) || ``,\n );\n }\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-services.js","sources":["ng://@taiga-ui/core/services/format-date.service.ts","ng://@taiga-ui/core/services/hint.service.ts","ng://@taiga-ui/core/services/night-theme.service.ts","ng://@taiga-ui/core/services/router-link-active.service.ts","ng://@taiga-ui/core/services/svg.service.ts","ng://@taiga-ui/core/services/taiga-ui-core-services.ts"],"sourcesContent":["import {Inject, Injectable, LOCALE_ID} from '@angular/core';\nimport {Observable, of} from 'rxjs';\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiFormatDateService {\n constructor(@Inject(LOCALE_ID) protected readonly locale: string) {}\n\n format(timestamp: number): Observable<string> {\n return of(\n new Date(timestamp).toLocaleTimeString(this.locale, {\n hour: `numeric`,\n minute: `2-digit`,\n }),\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {BehaviorSubject} from 'rxjs';\n\n// TODO: 3.0 can it be removed? It prevented seps cycling before 2.0\ntype TuiHintDirective = any;\n\ntype AbstractTuiHint = any;\n\n/**\n * Service for displaying hints/tooltips\n */\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiHintService extends BehaviorSubject<readonly AbstractTuiHint[]> {\n /**\n * TODO:\n * We need the following logic for desribedBy\n * move it into another service that can register hints and\n * manage it using TuiHintService inside\n */\n private directives: readonly TuiHintDirective[] = [];\n\n constructor() {\n super([]);\n }\n\n add(directive: AbstractTuiHint): void {\n this.next(this.value.concat(directive));\n }\n\n remove(directive: AbstractTuiHint): void {\n if (this.value.includes(directive)) {\n this.next(this.value.filter(hint => hint !== directive));\n }\n }\n\n register(directive: TuiHintDirective): void {\n this.directives = [...this.directives, directive];\n }\n\n unregister(directive: TuiHintDirective): void {\n this.remove(directive);\n this.directives = this.directives.filter(dir => dir !== directive);\n }\n\n showHintForId(id: string): void {\n const directive = this.findDirectiveWithHintId(id);\n\n if (directive) {\n this.add(directive);\n }\n }\n\n hideHintForId(id: string): void {\n const directive = this.findDirectiveWithHintId(id);\n\n if (directive) {\n this.remove(directive);\n }\n }\n\n private findDirectiveWithHintId(id: string): TuiHintDirective | undefined {\n return this.directives.find(directive => directive.tuiHintId === id);\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {fromEvent, Observable} from 'rxjs';\nimport {map, share, startWith} from 'rxjs/operators';\n\n// @dynamic\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiNightThemeService extends Observable<boolean> {\n constructor(@Inject(WINDOW) windowRef: Window) {\n const media = windowRef.matchMedia(`(prefers-color-scheme: dark)`);\n const media$ = fromEvent(media, `change`).pipe(\n startWith(null),\n map(() => media.matches),\n share(),\n );\n\n super(subscriber => media$.subscribe(subscriber));\n }\n}\n","import {Inject, Injectable, NgZone, Optional} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {TuiDestroyService, tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {EMPTY, Observable} from 'rxjs';\nimport {distinctUntilChanged, map, takeUntil} from 'rxjs/operators';\n\n@Injectable()\nexport class TuiRouterLinkActiveService extends Observable<boolean> {\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n routerLinkActive: RouterLinkActive | null,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n const stream$ = routerLinkActive\n ? animationFrame$.pipe(\n map(() => routerLinkActive.isActive),\n distinctUntilChanged(),\n tuiZoneOptimized(ngZone),\n takeUntil(destroy$),\n )\n : EMPTY;\n\n super(subscriber => stream$.subscribe(subscriber));\n }\n}\n","import {Inject, Injectable, Optional, Sanitizer, SecurityContext} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {tuiAssert} from '@taiga-ui/cdk';\nimport {TUI_ICONS, TUI_SANITIZER} from '@taiga-ui/core/tokens';\nimport {processIcon} from '@taiga-ui/core/utils/dom';\nimport {BehaviorSubject} from 'rxjs';\n\n/**\n * Service for reusing SVGs without inlining each instance\n */\n// @dynamic\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiSvgService {\n private originals: Record<string, string> = {};\n\n readonly items$ = new BehaviorSubject<Map<string, SafeHtml>>(new Map());\n\n constructor(\n @Optional()\n @Inject(TUI_SANITIZER)\n private readonly tuiSanitizer: Sanitizer | null,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_ICONS) icons: Record<string, string>,\n ) {\n this.define(icons);\n }\n\n define(icons: Record<string, string>): void {\n const {value} = this.items$;\n\n Object.keys(icons).forEach(key => {\n this.defineIcon(key, icons[key], value);\n });\n\n this.items$.next(value);\n }\n\n getOriginal(name: string): string | null {\n return this.originals[name] || null;\n }\n\n private defineIcon(name: string, src: string, map: Map<string, SafeHtml>): void {\n if (map.has(name)) {\n return;\n }\n\n const parsed = this.parseSrc(name, src);\n\n if (!parsed) {\n tuiAssert.assert(false, `Unable to parse given SVG src`);\n\n return;\n }\n\n map.set(name, parsed);\n this.originals = {\n ...this.originals,\n [name]: src,\n };\n }\n\n private parseSrc(name: string, src: string): SafeHtml {\n return this.sanitize(processIcon(src, name));\n }\n\n private sanitize(src: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(\n (this.tuiSanitizer\n ? this.tuiSanitizer.sanitize(SecurityContext.HTML, src)\n : this.sanitizer.sanitize(SecurityContext.HTML, src)) || ``,\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.62.2",
|
|
4
4
|
"description": "Core library for creating Angular components and applications using Taiga UI",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"repository": "https://github.com/tinkoff/taiga-ui",
|
|
16
16
|
"license": "Apache-2.0",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@taiga-ui/i18n": "^2.
|
|
18
|
+
"@taiga-ui/i18n": "^2.62.2",
|
|
19
19
|
"tslib": "^1.10.0"
|
|
20
20
|
},
|
|
21
21
|
"peerDependencies": {
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"@angular/router": ">=9.0.0",
|
|
28
28
|
"@ng-web-apis/common": ">=1.12.1 < 2",
|
|
29
29
|
"@ng-web-apis/mutation-observer": ">=1.1.0 < 2",
|
|
30
|
-
"@taiga-ui/cdk": ">=2.
|
|
31
|
-
"@taiga-ui/i18n": ">=2.
|
|
30
|
+
"@taiga-ui/cdk": ">=2.62.2",
|
|
31
|
+
"@taiga-ui/i18n": ">=2.62.2",
|
|
32
32
|
"@tinkoff/ng-event-plugins": ">=2.3.2",
|
|
33
33
|
"@tinkoff/ng-polymorpheus": ">=3.1.12 < 4",
|
|
34
34
|
"rxjs": ">=6.0.0"
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import { TuiFormatDateService } from '@taiga-ui/core/services';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
export declare class TuiFormatDatePipe implements PipeTransform {
|
|
5
|
+
private readonly service;
|
|
6
|
+
constructor(service: TuiFormatDateService);
|
|
7
|
+
transform(timestampOrDate: number | Date): Observable<string>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"main": "../../bundles/taiga-ui-core-pipes-format-date.umd.js",
|
|
3
|
+
"module": "../../fesm5/taiga-ui-core-pipes-format-date.js",
|
|
4
|
+
"es2015": "../../fesm2015/taiga-ui-core-pipes-format-date.js",
|
|
5
|
+
"esm5": "../../esm5/pipes/format-date/taiga-ui-core-pipes-format-date.js",
|
|
6
|
+
"esm2015": "../../esm2015/pipes/format-date/taiga-ui-core-pipes-format-date.js",
|
|
7
|
+
"fesm5": "../../fesm5/taiga-ui-core-pipes-format-date.js",
|
|
8
|
+
"fesm2015": "../../fesm2015/taiga-ui-core-pipes-format-date.js",
|
|
9
|
+
"typings": "taiga-ui-core-pipes-format-date.d.ts",
|
|
10
|
+
"metadata": "taiga-ui-core-pipes-format-date.metadata.json",
|
|
11
|
+
"sideEffects": false,
|
|
12
|
+
"name": "@taiga-ui/core/pipes/format-date"
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"TuiFormatDatePipeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiFormatDatePipe"}],"exports":[{"__symbolic":"reference","name":"TuiFormatDatePipe"}]}]}],"members":{}},"TuiFormatDatePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":4,"character":1},"arguments":[{"name":"tuiFormatDate"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":9,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/services","name":"TuiFormatDateService","line":9,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@taiga-ui/core/services","name":"TuiFormatDateService","line":9,"character":64}]}],"transform":[{"__symbolic":"method"}]}}},"origins":{"TuiFormatDatePipeModule":"./format-date.module","TuiFormatDatePipe":"./format-date.pipe"},"importAs":"@taiga-ui/core/pipes/format-date"}
|
package/pipes/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"exports":[{"from":"@taiga-ui/core/pipes/calendar-sheet"},{"from":"@taiga-ui/core/pipes/format-number"},{"from":"@taiga-ui/core/pipes/format-phone"},{"from":"@taiga-ui/core/pipes/month"},{"from":"@taiga-ui/core/pipes/pluralize"}],"metadata":{},"origins":{},"importAs":"@taiga-ui/core/pipes"}
|
|
1
|
+
{"__symbolic":"module","version":4,"exports":[{"from":"@taiga-ui/core/pipes/calendar-sheet"},{"from":"@taiga-ui/core/pipes/format-date"},{"from":"@taiga-ui/core/pipes/format-number"},{"from":"@taiga-ui/core/pipes/format-phone"},{"from":"@taiga-ui/core/pipes/month"},{"from":"@taiga-ui/core/pipes/pluralize"}],"metadata":{},"origins":{},"importAs":"@taiga-ui/core/pipes"}
|
package/services/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"TuiHintService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs","name":"BehaviorSubject","line":14,"character":36},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}],"unregister":[{"__symbolic":"method"}],"showHintForId":[{"__symbolic":"method"}],"hideHintForId":[{"__symbolic":"method"}],"findDirectiveWithHintId":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"TuiNightThemeService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs","name":"Observable","line":9,"character":42},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":10,"character":17},"arguments":[{"__symbolic":"reference","module":"@ng-web-apis/common","name":"WINDOW","line":10,"character":24}]}]],"parameters":[{"__symbolic":"error","message":"Could not resolve type","line":10,"character":43,"context":{"typeName":"Window"},"module":"./night-theme.service"}]}]},"statics":{"ɵprov":{}}},"TuiRouterLinkActiveService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs","name":"Observable","line":8,"character":48},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":10,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":11,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/router","name":"RouterLinkActive","line":11,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":13,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":14,"character":9},"arguments":[{"__symbolic":"reference","module":"@ng-web-apis/common","name":"ANIMATION_FRAME","line":14,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":15,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":15,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/router","name":"RouterLinkActive","line":12,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":13,"character":32},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"number"}]},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":15,"character":45}]}]}},"TuiSvgService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":20,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":21,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/tokens","name":"TUI_SANITIZER","line":21,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":23,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":23,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":24,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/tokens","name":"TUI_ICONS","line":24,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Sanitizer","line":22,"character":39},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":23,"character":58},{"__symbolic":"error","message":"Could not resolve type","line":24,"character":34,"context":{"typeName":"Record"},"module":"./svg.service"}]}],"define":[{"__symbolic":"method"}],"getOriginal":[{"__symbolic":"method"}],"defineIcon":[{"__symbolic":"method"}],"parseSrc":[{"__symbolic":"method"}],"sanitize":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}}},"origins":{"TuiHintService":"./hint.service","TuiNightThemeService":"./night-theme.service","TuiRouterLinkActiveService":"./router-link-active.service","TuiSvgService":"./svg.service"},"importAs":"@taiga-ui/core/services"}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"TuiFormatDateService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":7,"character":17},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"LOCALE_ID","line":7,"character":24}]}]],"parameters":[{"__symbolic":"reference","name":"string"}]}],"format":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"TuiHintService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs","name":"BehaviorSubject","line":14,"character":36},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}],"unregister":[{"__symbolic":"method"}],"showHintForId":[{"__symbolic":"method"}],"hideHintForId":[{"__symbolic":"method"}],"findDirectiveWithHintId":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"TuiNightThemeService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs","name":"Observable","line":9,"character":42},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":10,"character":17},"arguments":[{"__symbolic":"reference","module":"@ng-web-apis/common","name":"WINDOW","line":10,"character":24}]}]],"parameters":[{"__symbolic":"error","message":"Could not resolve type","line":10,"character":43,"context":{"typeName":"Window"},"module":"./night-theme.service"}]}]},"statics":{"ɵprov":{}}},"TuiRouterLinkActiveService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"rxjs","name":"Observable","line":8,"character":48},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":10,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":11,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/router","name":"RouterLinkActive","line":11,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":13,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":14,"character":9},"arguments":[{"__symbolic":"reference","module":"@ng-web-apis/common","name":"ANIMATION_FRAME","line":14,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":15,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":15,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/router","name":"RouterLinkActive","line":12,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":13,"character":32},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"number"}]},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":15,"character":45}]}]}},"TuiSvgService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":20,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":21,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/tokens","name":"TUI_SANITIZER","line":21,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":23,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":23,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":24,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/tokens","name":"TUI_ICONS","line":24,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Sanitizer","line":22,"character":39},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":23,"character":58},{"__symbolic":"error","message":"Could not resolve type","line":24,"character":34,"context":{"typeName":"Record"},"module":"./svg.service"}]}],"define":[{"__symbolic":"method"}],"getOriginal":[{"__symbolic":"method"}],"defineIcon":[{"__symbolic":"method"}],"parseSrc":[{"__symbolic":"method"}],"sanitize":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}}},"origins":{"TuiFormatDateService":"./format-date.service","TuiHintService":"./hint.service","TuiNightThemeService":"./night-theme.service","TuiRouterLinkActiveService":"./router-link-active.service","TuiSvgService":"./svg.service"},"importAs":"@taiga-ui/core/services"}
|