@taiga-ui/kit 4.52.0-canary.65c65f9 → 4.52.0-canary.669a014
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/components/avatar/avatar-outline.directive.d.ts +3 -3
- package/components/badge/badge.directive.d.ts +2 -2
- package/components/block/block.directive.d.ts +4 -4
- package/components/block/block.options.d.ts +1 -1
- package/components/checkbox/checkbox.component.d.ts +7 -18
- package/components/checkbox/checkbox.options.d.ts +5 -9
- package/components/chip/chip.directive.d.ts +2 -4
- package/components/comment/comment.directive.d.ts +2 -2
- package/components/confirm/confirm.component.d.ts +1 -0
- package/components/confirm/confirm.service.d.ts +2 -1
- package/components/floating-container/floating-container.directive.d.ts +2 -2
- package/components/input-color/input-color.component.d.ts +2 -2
- package/components/input-number/quantum.directive.d.ts +1 -1
- package/components/input-slider/input-slider.directive.d.ts +1 -1
- package/components/like/like.component.d.ts +4 -11
- package/components/like/like.options.d.ts +2 -3
- package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +2 -2
- package/components/pager/pager.component.d.ts +1 -1
- package/components/pin/pin.directive.d.ts +2 -2
- package/components/progress/progress-bar/fixed-gradient/progress-fixed-gradient.directive.d.ts +1 -2
- package/components/progress/progress-segmented/progress-segmented.directive.d.ts +2 -2
- package/components/radio/radio.component.d.ts +7 -8
- package/components/radio/radio.directive.d.ts +2 -2
- package/components/radio/radio.options.d.ts +2 -5
- package/components/rating/rating.component.d.ts +5 -5
- package/components/rating/rating.options.d.ts +5 -3
- package/components/slides/slides.directive.d.ts +4 -4
- package/components/status/status.directive.d.ts +2 -2
- package/components/switch/switch.component.d.ts +7 -19
- package/components/switch/switch.options.d.ts +4 -8
- package/directives/chevron/chevron.directive.d.ts +2 -3
- package/directives/copy/copy.directive.d.ts +1 -2
- package/directives/copy/copy.options.d.ts +1 -1
- package/directives/fade/fade.directive.d.ts +1 -0
- package/directives/sensitive/sensitive.directive.d.ts +2 -2
- package/directives/shimmer/shimmer.directive.d.ts +3 -3
- package/directives/skeleton/skeleton.directive.d.ts +3 -3
- package/directives/tooltip/tooltip.directive.d.ts +2 -2
- package/fesm2022/taiga-ui-kit-components-avatar.mjs +20 -31
- package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-badge.mjs +11 -18
- package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-block.mjs +15 -22
- package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-checkbox.mjs +18 -75
- package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-chip.mjs +13 -25
- package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-comment.mjs +11 -18
- package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-confirm.mjs +7 -7
- package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-filter.mjs +1 -1
- package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-floating-container.mjs +11 -17
- package/fesm2022/taiga-ui-kit-components-floating-container.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-chip.mjs +10 -5
- package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-color.mjs +4 -6
- package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-month.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-number.mjs +7 -6
- package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-pin.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-range.mjs +6 -8
- package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-slider.mjs +10 -13
- package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-time.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-year.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-like.mjs +38 -31
- package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-message.mjs +6 -8
- package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-multi-select.mjs +9 -8
- package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pager.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pagination.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pin.mjs +13 -17
- package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-progress.mjs +21 -34
- package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-radio.mjs +30 -35
- package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-rating.mjs +15 -19
- package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-select.mjs +1 -1
- package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-slider.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-slides.mjs +12 -20
- package/fesm2022/taiga-ui-kit-components-slides.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-status.mjs +10 -14
- package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-switch.mjs +18 -64
- package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-tabs.mjs +11 -14
- package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-button-group.mjs +6 -9
- package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-chevron.mjs +11 -18
- package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-connected.mjs +7 -12
- package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-copy.mjs +4 -6
- package/fesm2022/taiga-ui-kit-directives-copy.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-fade.mjs +6 -9
- package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-password.mjs +3 -3
- package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +11 -16
- package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +22 -32
- package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +25 -36
- package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +11 -16
- package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +1 -2
- package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes.mjs +0 -1
- package/fesm2022/taiga-ui-kit-pipes.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-tokens.mjs +1 -6
- package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
- package/package.json +35 -39
- package/pipes/index.d.ts +0 -1
- package/styles/components/checkbox.less +14 -12
- package/styles/components/like.less +4 -9
- package/styles/components/pin.less +0 -1
- package/styles/components/radio.less +1 -1
- package/styles/components/switch.less +9 -9
- package/tokens/index.d.ts +0 -1
- package/fesm2022/taiga-ui-kit-pipes-field-error.mjs +0 -147
- package/fesm2022/taiga-ui-kit-pipes-field-error.mjs.map +0 -1
- package/pipes/field-error/field-error-content-pipe.d.ts +0 -14
- package/pipes/field-error/field-error-pipe.d.ts +0 -29
- package/pipes/field-error/index.d.ts +0 -2
- package/tokens/validation-errors.d.ts +0 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i1 from '@angular/cdk/clipboard';
|
|
2
2
|
import { ClipboardModule } from '@angular/cdk/clipboard';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { inject, Input, ChangeDetectionStrategy, Component,
|
|
4
|
+
import { inject, Input, ChangeDetectionStrategy, Component, Directive } from '@angular/core';
|
|
5
5
|
import { toSignal } from '@angular/core/rxjs-interop';
|
|
6
6
|
import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
|
|
7
7
|
import { tuiIsString, tuiDirectiveBinding } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
@@ -14,12 +14,11 @@ import { TUI_COPY_TEXTS } from '@taiga-ui/kit/tokens';
|
|
|
14
14
|
import { BehaviorSubject, switchMap, timer, map, startWith, Subject } from 'rxjs';
|
|
15
15
|
import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
|
|
16
16
|
import { DOCUMENT } from '@angular/common';
|
|
17
|
-
import { TuiTextfieldComponent } from '@taiga-ui/core/components/textfield';
|
|
17
|
+
import { TuiTextfieldComponent, tuiTextfieldIcon } from '@taiga-ui/core/components/textfield';
|
|
18
18
|
import * as i1$1 from '@taiga-ui/core/directives/appearance';
|
|
19
19
|
import { TUI_APPEARANCE_OPTIONS, TuiWithAppearance } from '@taiga-ui/core/directives/appearance';
|
|
20
|
-
import { TuiIcons } from '@taiga-ui/core/directives/icons';
|
|
21
20
|
|
|
22
|
-
const [TUI_COPY_OPTIONS, tuiCopyOptionsProvider] = tuiCreateOptions({ icon: '@tui.copy' });
|
|
21
|
+
const [TUI_COPY_OPTIONS, tuiCopyOptionsProvider] = tuiCreateOptions({ icon: () => '@tui.copy' });
|
|
23
22
|
|
|
24
23
|
class TuiCopyComponent {
|
|
25
24
|
constructor() {
|
|
@@ -55,12 +54,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
55
54
|
|
|
56
55
|
class TuiCopyDirective {
|
|
57
56
|
constructor() {
|
|
58
|
-
this.options = inject(TUI_COPY_OPTIONS);
|
|
59
57
|
this.copied$ = new Subject();
|
|
60
58
|
this.doc = inject(DOCUMENT);
|
|
61
59
|
this.textfield = inject(TuiTextfieldComponent);
|
|
60
|
+
this.icons = tuiTextfieldIcon(TUI_COPY_OPTIONS);
|
|
62
61
|
this.hint = tuiDirectiveBinding(TuiHintDirective, 'tuiHint', toSignal(inject(TUI_COPY_TEXTS).pipe(switchMap(([copy, copied]) => this.copied$.pipe(switchMap(() => timer(3000).pipe(map(() => copy), startWith(copied))), startWith(copy)))), { initialValue: '' }));
|
|
63
|
-
this.icons = tuiDirectiveBinding(TuiIcons, 'iconStart', computed((size = this.textfield.options.size()) => tuiIsString(this.options.icon) ? this.options.icon : this.options.icon(size)));
|
|
64
62
|
this.tuiCopy = '';
|
|
65
63
|
}
|
|
66
64
|
get disabled() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-directives-copy.mjs","sources":["../../../projects/kit/directives/copy/copy.options.ts","../../../projects/kit/directives/copy/copy.component.ts","../../../projects/kit/directives/copy/copy.template.html","../../../projects/kit/directives/copy/copy.directive.ts","../../../projects/kit/directives/copy/copy.ts","../../../projects/kit/directives/copy/index.ts","../../../projects/kit/directives/copy/taiga-ui-kit-directives-copy.ts"],"sourcesContent":["import {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiCopyOptions {\n readonly icon: TuiStringHandler<TuiSizeL | TuiSizeS> | string;\n}\n\nexport const [TUI_COPY_OPTIONS, tuiCopyOptionsProvider] =\n tuiCreateOptions<TuiCopyOptions>({icon: '@tui.copy'});\n","import {ClipboardModule} from '@angular/cdk/clipboard';\nimport {ChangeDetectionStrategy, Component, inject, Input} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/components/notification';\nimport {TuiHint} from '@taiga-ui/core/directives/hint';\nimport {type TuiSizeL} from '@taiga-ui/core/types';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit/tokens';\nimport {BehaviorSubject, map, startWith, switchMap, timer} from 'rxjs';\n\nimport {TUI_COPY_OPTIONS} from './copy.options';\n\n@Component({\n selector: 'tui-copy',\n imports: [ClipboardModule, TuiButton, TuiHint, TuiIcon],\n templateUrl: './copy.template.html',\n styleUrls: ['./copy.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-size]': 'size',\n '(pointerdown)': 'copied$.next(false)',\n },\n})\nexport class TuiCopyComponent {\n protected readonly notification = inject(TUI_NOTIFICATION_OPTIONS);\n protected readonly options = inject(TUI_COPY_OPTIONS);\n protected readonly copied$ = new BehaviorSubject<boolean>(false);\n protected readonly texts = toSignal(inject(TUI_COPY_TEXTS));\n protected readonly hint = toSignal(\n this.copied$.pipe(\n switchMap((copied) =>\n timer(2000).pipe(map(TUI_FALSE_HANDLER), startWith(copied)),\n ),\n ),\n );\n\n @Input()\n public size: TuiSizeL = 'm';\n\n protected get icon(): string {\n return tuiIsString(this.options.icon)\n ? this.options.icon\n : this.options.icon(this.size);\n }\n\n protected get check(): string {\n return tuiIsString(this.notification.icon)\n ? this.notification.icon\n : this.notification.icon('positive');\n }\n}\n","<span\n #content\n tuiHintAppearance=\"dark\"\n tuiHintDirection=\"top\"\n class=\"t-content\"\n [cdkCopyToClipboard]=\"content.textContent ?? ''\"\n [tuiHint]=\"template\"\n [tuiHintManual]=\"!!hint()\"\n (cdkCopyToClipboardCopied)=\"copied$.next($event)\"\n>\n <ng-content />\n</span>\n<button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [attr.aria-label]=\"texts()?.[0]\"\n [cdkCopyToClipboard]=\"content.textContent ?? ''\"\n [iconStart]=\"icon\"\n (cdkCopyToClipboardCopied)=\"copied$.next($event)\"\n></button>\n<ng-template #template>\n <tui-icon\n class=\"t-icon\"\n [icon]=\"check\"\n />\n {{ texts()?.[1] }}\n</ng-template>\n","import {DOCUMENT} from '@angular/common';\nimport {computed, Directive, inject, Input} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {tuiDirectiveBinding, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_APPEARANCE_OPTIONS,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiHintDirective} from '@taiga-ui/core/directives/hint';\nimport {TuiIcons} from '@taiga-ui/core/directives/icons';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit/tokens';\nimport {map, startWith, Subject, switchMap, timer} from 'rxjs';\n\nimport {TUI_COPY_OPTIONS} from './copy.options';\n\n@Directive({\n standalone: true,\n selector: 'tui-icon[tuiCopy]',\n providers: [\n {\n provide: TUI_APPEARANCE_OPTIONS,\n useValue: {appearance: 'icon'},\n },\n ],\n hostDirectives: [\n TuiWithAppearance,\n {\n directive: TuiHintDirective,\n inputs: ['tuiHintAppearance', 'tuiHintContext'],\n },\n ],\n host: {\n style: 'cursor: pointer',\n '(click)': 'copy()',\n '[style.pointer-events]': 'disabled ? \"none\" : null',\n '[style.opacity]': 'disabled ? \"var(--tui-disabled-opacity)\" : null',\n '[style.border-width.rem]': 'textfield.options.size() === \"l\" ? null : 0.25',\n },\n})\nexport class TuiCopyDirective {\n private readonly options = inject(TUI_COPY_OPTIONS);\n private readonly copied$ = new Subject<void>();\n private readonly doc = inject(DOCUMENT);\n\n protected readonly textfield = inject(TuiTextfieldComponent);\n protected readonly hint = tuiDirectiveBinding(\n TuiHintDirective,\n 'tuiHint',\n toSignal(\n inject(TUI_COPY_TEXTS).pipe(\n switchMap(([copy, copied]) =>\n this.copied$.pipe(\n switchMap(() =>\n timer(3000).pipe(\n map(() => copy),\n startWith(copied),\n ),\n ),\n startWith(copy),\n ),\n ),\n ),\n {initialValue: ''},\n ),\n );\n\n protected readonly icons = tuiDirectiveBinding(\n TuiIcons,\n 'iconStart',\n computed((size = this.textfield.options.size()) =>\n tuiIsString(this.options.icon) ? this.options.icon : this.options.icon(size),\n ),\n );\n\n @Input()\n public tuiCopy = '';\n\n protected get disabled(): boolean {\n return !this.textfield.input?.nativeElement.value;\n }\n\n protected copy(): void {\n this.textfield.input?.nativeElement.select();\n this.doc.execCommand('copy');\n this.copied$.next();\n }\n}\n","import {TuiCopyComponent} from './copy.component';\nimport {TuiCopyDirective} from './copy.directive';\n\nexport const TuiCopy = [TuiCopyComponent, TuiCopyDirective] as const;\n","// TODO: Move to components in v5\nexport * from './copy';\nexport * from './copy.component';\nexport * from './copy.directive';\nexport * from './copy.options';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-directives-copy.mjs","sources":["../../../projects/kit/directives/copy/copy.options.ts","../../../projects/kit/directives/copy/copy.component.ts","../../../projects/kit/directives/copy/copy.template.html","../../../projects/kit/directives/copy/copy.directive.ts","../../../projects/kit/directives/copy/copy.ts","../../../projects/kit/directives/copy/index.ts","../../../projects/kit/directives/copy/taiga-ui-kit-directives-copy.ts"],"sourcesContent":["import {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiCopyOptions {\n readonly icon: TuiStringHandler<TuiSizeL | TuiSizeS>;\n}\n\nexport const [TUI_COPY_OPTIONS, tuiCopyOptionsProvider] =\n tuiCreateOptions<TuiCopyOptions>({icon: () => '@tui.copy'});\n","import {ClipboardModule} from '@angular/cdk/clipboard';\nimport {ChangeDetectionStrategy, Component, inject, Input} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/components/notification';\nimport {TuiHint} from '@taiga-ui/core/directives/hint';\nimport {type TuiSizeL} from '@taiga-ui/core/types';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit/tokens';\nimport {BehaviorSubject, map, startWith, switchMap, timer} from 'rxjs';\n\nimport {TUI_COPY_OPTIONS} from './copy.options';\n\n@Component({\n selector: 'tui-copy',\n imports: [ClipboardModule, TuiButton, TuiHint, TuiIcon],\n templateUrl: './copy.template.html',\n styleUrls: ['./copy.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-size]': 'size',\n '(pointerdown)': 'copied$.next(false)',\n },\n})\nexport class TuiCopyComponent {\n protected readonly notification = inject(TUI_NOTIFICATION_OPTIONS);\n protected readonly options = inject(TUI_COPY_OPTIONS);\n protected readonly copied$ = new BehaviorSubject<boolean>(false);\n protected readonly texts = toSignal(inject(TUI_COPY_TEXTS));\n protected readonly hint = toSignal(\n this.copied$.pipe(\n switchMap((copied) =>\n timer(2000).pipe(map(TUI_FALSE_HANDLER), startWith(copied)),\n ),\n ),\n );\n\n @Input()\n public size: TuiSizeL = 'm';\n\n protected get icon(): string {\n return tuiIsString(this.options.icon)\n ? this.options.icon\n : this.options.icon(this.size);\n }\n\n protected get check(): string {\n return tuiIsString(this.notification.icon)\n ? this.notification.icon\n : this.notification.icon('positive');\n }\n}\n","<span\n #content\n tuiHintAppearance=\"dark\"\n tuiHintDirection=\"top\"\n class=\"t-content\"\n [cdkCopyToClipboard]=\"content.textContent ?? ''\"\n [tuiHint]=\"template\"\n [tuiHintManual]=\"!!hint()\"\n (cdkCopyToClipboardCopied)=\"copied$.next($event)\"\n>\n <ng-content />\n</span>\n<button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [attr.aria-label]=\"texts()?.[0]\"\n [cdkCopyToClipboard]=\"content.textContent ?? ''\"\n [iconStart]=\"icon\"\n (cdkCopyToClipboardCopied)=\"copied$.next($event)\"\n></button>\n<ng-template #template>\n <tui-icon\n class=\"t-icon\"\n [icon]=\"check\"\n />\n {{ texts()?.[1] }}\n</ng-template>\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, inject, Input} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TuiTextfieldComponent,\n tuiTextfieldIcon,\n} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_APPEARANCE_OPTIONS,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiHintDirective} from '@taiga-ui/core/directives/hint';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit/tokens';\nimport {map, startWith, Subject, switchMap, timer} from 'rxjs';\n\nimport {TUI_COPY_OPTIONS} from './copy.options';\n\n@Directive({\n standalone: true,\n selector: 'tui-icon[tuiCopy]',\n providers: [\n {\n provide: TUI_APPEARANCE_OPTIONS,\n useValue: {appearance: 'icon'},\n },\n ],\n hostDirectives: [\n TuiWithAppearance,\n {\n directive: TuiHintDirective,\n inputs: ['tuiHintAppearance', 'tuiHintContext'],\n },\n ],\n host: {\n style: 'cursor: pointer',\n '(click)': 'copy()',\n '[style.pointer-events]': 'disabled ? \"none\" : null',\n '[style.opacity]': 'disabled ? \"var(--tui-disabled-opacity)\" : null',\n '[style.border-width.rem]': 'textfield.options.size() === \"l\" ? null : 0.25',\n },\n})\nexport class TuiCopyDirective {\n private readonly copied$ = new Subject<void>();\n private readonly doc = inject(DOCUMENT);\n\n protected readonly textfield = inject(TuiTextfieldComponent);\n protected readonly icons = tuiTextfieldIcon(TUI_COPY_OPTIONS);\n protected readonly hint = tuiDirectiveBinding(\n TuiHintDirective,\n 'tuiHint',\n toSignal(\n inject(TUI_COPY_TEXTS).pipe(\n switchMap(([copy, copied]) =>\n this.copied$.pipe(\n switchMap(() =>\n timer(3000).pipe(\n map(() => copy),\n startWith(copied),\n ),\n ),\n startWith(copy),\n ),\n ),\n ),\n {initialValue: ''},\n ),\n );\n\n @Input()\n public tuiCopy = '';\n\n protected get disabled(): boolean {\n return !this.textfield.input?.nativeElement.value;\n }\n\n protected copy(): void {\n this.textfield.input?.nativeElement.select();\n this.doc.execCommand('copy');\n this.copied$.next();\n }\n}\n","import {TuiCopyComponent} from './copy.component';\nimport {TuiCopyDirective} from './copy.directive';\n\nexport const TuiCopy = [TuiCopyComponent, TuiCopyDirective] as const;\n","// TODO: Move to components in v5\nexport * from './copy';\nexport * from './copy.component';\nexport * from './copy.directive';\nexport * from './copy.options';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -11,25 +11,23 @@ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
|
11
11
|
import { merge, fromEvent, filter } from 'rxjs';
|
|
12
12
|
|
|
13
13
|
const BUFFER = 1; // buffer for rounding issues
|
|
14
|
-
class
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type:
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type:
|
|
14
|
+
class Styles {
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-fade" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiFade]{scrollbar-width:none;-ms-overflow-style:none;transition-property:mask-position;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;overflow:auto;text-overflow:unset!important;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[tuiFade]::-webkit-scrollbar,[tuiFade]::-webkit-scrollbar-thumb{display:none}[tuiFade]:not([data-orientation=vertical]){overflow-y:hidden;-webkit-mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;-webkit-mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%));mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%))}[tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[tuiFade][data-orientation=vertical]{overflow-x:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));-webkit-mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset));mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._start{-webkit-mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._end{-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom;mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom}[tuiFade][data-orientation=vertical]._start._end{-webkit-mask-position:left top,left bottom;mask-position:left top,left bottom}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type:
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
|
-
args: [{
|
|
21
|
-
class: 'tui-fade-styles',
|
|
22
|
-
}, styles: ["[tuiFade]{scrollbar-width:none;-ms-overflow-style:none;transition-property:mask-position;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;overflow:auto;text-overflow:unset!important;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[tuiFade]::-webkit-scrollbar,[tuiFade]::-webkit-scrollbar-thumb{display:none}[tuiFade]:not([data-orientation=vertical]){overflow-y:hidden;-webkit-mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;-webkit-mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%));mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%))}[tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[tuiFade][data-orientation=vertical]{overflow-x:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));-webkit-mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset));mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._start{-webkit-mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._end{-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom;mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom}[tuiFade][data-orientation=vertical]._start._end{-webkit-mask-position:left top,left bottom;mask-position:left top,left bottom}\n"] }]
|
|
20
|
+
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-fade' }, styles: ["[tuiFade]{scrollbar-width:none;-ms-overflow-style:none;transition-property:mask-position;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;overflow:auto;text-overflow:unset!important;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[tuiFade]::-webkit-scrollbar,[tuiFade]::-webkit-scrollbar-thumb{display:none}[tuiFade]:not([data-orientation=vertical]){overflow-y:hidden;-webkit-mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;-webkit-mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%));mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%))}[tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[tuiFade][data-orientation=vertical]{overflow-x:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));-webkit-mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset));mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._start{-webkit-mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._end{-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom;mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom}[tuiFade][data-orientation=vertical]._start._end{-webkit-mask-position:left top,left bottom;mask-position:left top,left bottom}\n"] }]
|
|
23
21
|
}] });
|
|
24
22
|
class TuiFade {
|
|
25
23
|
constructor() {
|
|
24
|
+
this.nothing = tuiWithStyles(Styles);
|
|
26
25
|
// TODO: Remove when lh CSS units are supported: https://caniuse.com/mdn-css_types_length_lh
|
|
27
26
|
this.lineHeight = null;
|
|
28
27
|
this.size = '1.5em';
|
|
29
28
|
this.offset = '0em';
|
|
30
29
|
this.orientation = 'horizontal';
|
|
31
30
|
const el = tuiInjectElement();
|
|
32
|
-
tuiWithStyles(TuiFadeStyles);
|
|
33
31
|
merge(inject(ResizeObserverService, { self: true }), inject(MutationObserverService, { self: true }), fromEvent(el, 'scroll'))
|
|
34
32
|
.pipe(filter(() => !!el.scrollWidth), tuiZonefree(), takeUntilDestroyed())
|
|
35
33
|
.subscribe(() => {
|
|
@@ -57,7 +55,6 @@ class TuiFade {
|
|
|
57
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiFade, decorators: [{
|
|
58
56
|
type: Directive,
|
|
59
57
|
args: [{
|
|
60
|
-
standalone: true,
|
|
61
58
|
selector: '[tuiFade]',
|
|
62
59
|
providers: [
|
|
63
60
|
ResizeObserverService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-directives-fade.mjs","sources":["../../../projects/kit/directives/fade/fade.directive.ts","../../../projects/kit/directives/fade/taiga-ui-kit-directives-fade.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {TuiTransitioned} from '@taiga-ui/cdk/directives/transitioned';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiOrientation} from '@taiga-ui/core/types';\nimport {filter, fromEvent, merge} from 'rxjs';\n\nconst BUFFER = 1; // buffer for rounding issues\n\n@Component({\n
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-directives-fade.mjs","sources":["../../../projects/kit/directives/fade/fade.directive.ts","../../../projects/kit/directives/fade/taiga-ui-kit-directives-fade.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {TuiTransitioned} from '@taiga-ui/cdk/directives/transitioned';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiOrientation} from '@taiga-ui/core/types';\nimport {filter, fromEvent, merge} from 'rxjs';\n\nconst BUFFER = 1; // buffer for rounding issues\n\n@Component({\n template: '',\n styleUrls: ['./fade.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-fade'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiFade]',\n providers: [\n ResizeObserverService,\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {characterData: true, subtree: true},\n },\n ],\n hostDirectives: [TuiTransitioned],\n host: {\n '[style.line-height]': 'lineHeight',\n '[style.--t-line-height]': 'lineHeight',\n '[style.--t-fade-size]': 'size',\n '[style.--t-fade-offset]': 'offset',\n '[attr.data-orientation]': 'orientation',\n },\n})\nexport class TuiFade {\n protected readonly nothing = tuiWithStyles(Styles);\n\n // TODO: Remove when lh CSS units are supported: https://caniuse.com/mdn-css_types_length_lh\n @Input('tuiFadeHeight')\n public lineHeight: string | null = null;\n\n @Input('tuiFadeSize')\n public size = '1.5em';\n\n @Input('tuiFadeOffset')\n public offset = '0em';\n\n @Input('tuiFade')\n public orientation: TuiOrientation | '' = 'horizontal';\n\n constructor() {\n const el = tuiInjectElement();\n\n merge(\n inject(ResizeObserverService, {self: true}),\n inject(MutationObserverService, {self: true}),\n fromEvent(el, 'scroll'),\n )\n .pipe(\n filter(() => !!el.scrollWidth),\n tuiZonefree(),\n takeUntilDestroyed(),\n )\n .subscribe(() => {\n el.classList.toggle('_end', this.isEnd(el));\n el.classList.toggle(\n '_start',\n !!Math.floor(el.scrollLeft) || !!Math.floor(el.scrollTop),\n );\n });\n }\n\n private isEnd({\n scrollTop,\n scrollLeft,\n scrollHeight,\n scrollWidth,\n clientHeight,\n clientWidth,\n }: HTMLElement): boolean {\n return this.orientation === 'vertical'\n ? Math.round(scrollTop) < scrollHeight - clientHeight - BUFFER\n : Math.ceil(Math.abs(scrollLeft)) < scrollWidth - clientWidth - BUFFER ||\n // horizontal multiline fade can kick in early due to hanging elements of fonts so using bigger buffer\n scrollHeight > clientHeight + 4 * BUFFER;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, signal, computed, Directive } from '@angular/core';
|
|
3
3
|
import { toSignal } from '@angular/core/rxjs-interop';
|
|
4
|
-
import {
|
|
4
|
+
import { tuiIsString, tuiDirectiveBinding } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
5
5
|
import { TuiTextfieldComponent } from '@taiga-ui/core/components/textfield';
|
|
6
6
|
import * as i1 from '@taiga-ui/core/directives/appearance';
|
|
7
7
|
import { TUI_APPEARANCE_OPTIONS, TuiWithAppearance } from '@taiga-ui/core/directives/appearance';
|
|
8
8
|
import * as i2 from '@taiga-ui/core/directives/hint';
|
|
9
9
|
import { TuiHintDirective } from '@taiga-ui/core/directives/hint';
|
|
10
|
-
import {
|
|
10
|
+
import { tuiIconStart } from '@taiga-ui/core/directives/icons';
|
|
11
11
|
import { TUI_PASSWORD_TEXTS } from '@taiga-ui/kit/tokens';
|
|
12
12
|
import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
|
|
13
13
|
|
|
@@ -26,7 +26,7 @@ class TuiPassword {
|
|
|
26
26
|
});
|
|
27
27
|
this.textfield = inject(TuiTextfieldComponent);
|
|
28
28
|
this.hidden = signal(true);
|
|
29
|
-
this.icon =
|
|
29
|
+
this.icon = tuiIconStart(computed((size = this.textfield.options.size()) => {
|
|
30
30
|
const icon = this.hidden()
|
|
31
31
|
? this.options.icons.show
|
|
32
32
|
: this.options.icons.hide;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-directives-password.mjs","sources":["../../../projects/kit/directives/password/password.options.ts","../../../projects/kit/directives/password/password.directive.ts","../../../projects/kit/directives/password/taiga-ui-kit-directives-password.ts"],"sourcesContent":["import {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiPasswordOptions {\n readonly icons: Readonly<{\n hide: TuiStringHandler<TuiSizeL | TuiSizeS> | string;\n show: TuiStringHandler<TuiSizeL | TuiSizeS> | string;\n }>;\n}\n\nexport const [TUI_PASSWORD_OPTIONS, tuiPasswordOptionsProvider] =\n tuiCreateOptions<TuiPasswordOptions>({\n icons: {\n hide: '@tui.eye-off',\n show: '@tui.eye',\n },\n });\n","import {computed, Directive, inject, signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {tuiDirectiveBinding, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_APPEARANCE_OPTIONS,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiHintDirective} from '@taiga-ui/core/directives/hint';\nimport {
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-directives-password.mjs","sources":["../../../projects/kit/directives/password/password.options.ts","../../../projects/kit/directives/password/password.directive.ts","../../../projects/kit/directives/password/taiga-ui-kit-directives-password.ts"],"sourcesContent":["import {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiPasswordOptions {\n readonly icons: Readonly<{\n hide: TuiStringHandler<TuiSizeL | TuiSizeS> | string;\n show: TuiStringHandler<TuiSizeL | TuiSizeS> | string;\n }>;\n}\n\nexport const [TUI_PASSWORD_OPTIONS, tuiPasswordOptionsProvider] =\n tuiCreateOptions<TuiPasswordOptions>({\n icons: {\n hide: '@tui.eye-off',\n show: '@tui.eye',\n },\n });\n","import {computed, Directive, inject, signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {tuiDirectiveBinding, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_APPEARANCE_OPTIONS,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiHintDirective} from '@taiga-ui/core/directives/hint';\nimport {tuiIconStart} from '@taiga-ui/core/directives/icons';\nimport {TUI_PASSWORD_TEXTS} from '@taiga-ui/kit/tokens';\n\nimport {TUI_PASSWORD_OPTIONS} from './password.options';\n\n@Directive({\n standalone: true,\n selector: 'tui-icon[tuiPassword]',\n providers: [\n {\n provide: TUI_APPEARANCE_OPTIONS,\n useValue: {appearance: 'icon'},\n },\n ],\n hostDirectives: [\n TuiWithAppearance,\n {\n directive: TuiHintDirective,\n inputs: ['tuiHintAppearance', 'tuiHintContext'],\n },\n ],\n host: {\n style: 'cursor: pointer',\n '(click)': 'toggle()',\n '[style.border]':\n 'textfield.options.size() === \"s\" ? \"0.25rem solid transparent\" : null',\n },\n})\nexport class TuiPassword {\n private readonly options = inject(TUI_PASSWORD_OPTIONS);\n private readonly texts = toSignal(inject(TUI_PASSWORD_TEXTS), {\n initialValue: ['', ''] as const,\n });\n\n protected readonly textfield = inject(TuiTextfieldComponent);\n protected readonly hidden = signal(true);\n protected readonly icon = tuiIconStart(\n computed((size = this.textfield.options.size()) => {\n const icon = this.hidden()\n ? this.options.icons.show\n : this.options.icons.hide;\n\n return tuiIsString(icon) ? icon : icon(size);\n }),\n );\n\n protected readonly hint = tuiDirectiveBinding(\n TuiHintDirective,\n 'tuiHint',\n computed(() => (this.hidden() ? this.texts()[0] : this.texts()[1])),\n );\n\n protected toggle(): void {\n this.hidden.set(!this.hidden());\n this.textfield.input?.nativeElement.setAttribute(\n 'type',\n this.hidden() ? 'password' : 'text',\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject,
|
|
2
|
+
import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, input, Directive } from '@angular/core';
|
|
3
3
|
import { toSignal } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { ResizeObserverService } from '@ng-web-apis/resize-observer';
|
|
5
5
|
import { tuiZonefull, tuiWatch } from '@taiga-ui/cdk/observables';
|
|
@@ -7,44 +7,39 @@ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
|
7
7
|
import { map } from 'rxjs';
|
|
8
8
|
|
|
9
9
|
const rowsInSvg = 3;
|
|
10
|
-
class
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type:
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type:
|
|
10
|
+
class Styles {
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-sensitive" }, ngImport: i0, template: '', isInline: true, styles: [".tui-sensitive{position:relative;line-height:1em;clip-path:inset(0 round .25rem)}.tui-sensitive:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";display:block!important;background:currentColor;border-radius:inherit;mask:url('data:image/svg+xml,<svg width=\"360\" height=\"72\" preserveAspectRatio=\"none\" fill=\"black\" xmlns=\"http://www.w3.org/2000/svg\"><rect opacity=\"0.2\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"336\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"120\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"216\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"312\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"144\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"192\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"288\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"240\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.24\" x=\"72\" width=\"24\" height=\"24\"/><rect opacity=\"0.34\" x=\"264\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"168\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"336\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"120\" y=\"0\" width=\"24\" height=\"24\" /><rect opacity=\"0.3\" x=\"216\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"24\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"312\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"144\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"192\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"48\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"288\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.38\" x=\"96\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"240\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"72\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"264\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" x=\"168\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"240\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"72\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"192\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.34\" x=\"216\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"24\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"168\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"264\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.31\" x=\"288\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"312\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.28\" x=\"144\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"336\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"120\" y=\"48\" width=\"24\" height=\"24\"/></svg>') var(--t-offset, 0) 0 / auto var(--t-mask-height);margin:0!important}.tui-sensitive.tui-sensitive{-webkit-text-fill-color:transparent}span.tui-sensitive,a.tui-sensitive{display:inline-block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
13
13
|
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type:
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
|
|
15
15
|
type: Component,
|
|
16
|
-
args: [{
|
|
17
|
-
class: 'tui-sensitive-styles',
|
|
18
|
-
}, styles: [".tui-sensitive{position:relative;line-height:1em;clip-path:inset(0 round .25rem)}.tui-sensitive:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";display:block!important;background:currentColor;border-radius:inherit;mask:url('data:image/svg+xml,<svg width=\"360\" height=\"72\" preserveAspectRatio=\"none\" fill=\"black\" xmlns=\"http://www.w3.org/2000/svg\"><rect opacity=\"0.2\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"336\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"120\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"216\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"312\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"144\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"192\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"288\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"240\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.24\" x=\"72\" width=\"24\" height=\"24\"/><rect opacity=\"0.34\" x=\"264\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"168\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"336\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"120\" y=\"0\" width=\"24\" height=\"24\" /><rect opacity=\"0.3\" x=\"216\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"24\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"312\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"144\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"192\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"48\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"288\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.38\" x=\"96\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"240\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"72\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"264\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" x=\"168\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"240\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"72\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"192\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.34\" x=\"216\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"24\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"168\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"264\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.31\" x=\"288\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"312\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.28\" x=\"144\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"336\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"120\" y=\"48\" width=\"24\" height=\"24\"/></svg>') var(--t-offset, 0) 0 / auto var(--t-mask-height);margin:0!important}.tui-sensitive.tui-sensitive{-webkit-text-fill-color:transparent}span.tui-sensitive,a.tui-sensitive{display:inline-block}\n"] }]
|
|
16
|
+
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-sensitive' }, styles: [".tui-sensitive{position:relative;line-height:1em;clip-path:inset(0 round .25rem)}.tui-sensitive:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";display:block!important;background:currentColor;border-radius:inherit;mask:url('data:image/svg+xml,<svg width=\"360\" height=\"72\" preserveAspectRatio=\"none\" fill=\"black\" xmlns=\"http://www.w3.org/2000/svg\"><rect opacity=\"0.2\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"336\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"120\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"216\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"312\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"144\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"192\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"288\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"240\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.24\" x=\"72\" width=\"24\" height=\"24\"/><rect opacity=\"0.34\" x=\"264\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"168\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"336\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"120\" y=\"0\" width=\"24\" height=\"24\" /><rect opacity=\"0.3\" x=\"216\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"24\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"312\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"144\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"192\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"48\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"288\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.38\" x=\"96\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"240\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"72\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"264\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" x=\"168\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"240\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"72\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"192\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.34\" x=\"216\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"24\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"168\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"264\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.31\" x=\"288\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"312\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.28\" x=\"144\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"336\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"120\" y=\"48\" width=\"24\" height=\"24\"/></svg>') var(--t-offset, 0) 0 / auto var(--t-mask-height);margin:0!important}.tui-sensitive.tui-sensitive{-webkit-text-fill-color:transparent}span.tui-sensitive,a.tui-sensitive{display:inline-block}\n"] }]
|
|
19
17
|
}] });
|
|
20
18
|
class TuiSensitive {
|
|
21
19
|
constructor() {
|
|
22
|
-
this.nothing = tuiWithStyles(
|
|
20
|
+
this.nothing = tuiWithStyles(Styles);
|
|
23
21
|
this.offset = Math.round(Math.random() * 10) * 10;
|
|
24
22
|
this.height = toSignal(inject(ResizeObserverService, { self: true }).pipe(map((entry) => {
|
|
25
23
|
const height = entry[0]?.contentRect.height ?? 0;
|
|
26
24
|
return [Math.max(2, Math.floor(height / 16) + 1), height];
|
|
27
25
|
}), map(([rows, height]) => height * (rowsInSvg / rows)), tuiZonefull(), tuiWatch()));
|
|
28
|
-
this.tuiSensitive = false;
|
|
26
|
+
this.tuiSensitive = input(false);
|
|
29
27
|
}
|
|
30
28
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSensitive, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
31
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
29
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiSensitive, isStandalone: true, selector: "[tuiSensitive]", inputs: { tuiSensitive: { classPropertyName: "tuiSensitive", publicName: "tuiSensitive", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--t-offset.px": "offset", "style.--t-mask-height.px": "height()", "class.tui-sensitive": "tuiSensitive()" } }, providers: [ResizeObserverService], ngImport: i0 }); }
|
|
32
30
|
}
|
|
33
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSensitive, decorators: [{
|
|
34
32
|
type: Directive,
|
|
35
33
|
args: [{
|
|
36
|
-
standalone: true,
|
|
37
34
|
selector: '[tuiSensitive]',
|
|
38
35
|
providers: [ResizeObserverService],
|
|
39
36
|
host: {
|
|
40
37
|
'[style.--t-offset.px]': 'offset',
|
|
41
38
|
'[style.--t-mask-height.px]': 'height()',
|
|
42
|
-
'[class.tui-sensitive]': 'tuiSensitive',
|
|
39
|
+
'[class.tui-sensitive]': 'tuiSensitive()',
|
|
43
40
|
},
|
|
44
41
|
}]
|
|
45
|
-
}]
|
|
46
|
-
type: Input
|
|
47
|
-
}] } });
|
|
42
|
+
}] });
|
|
48
43
|
|
|
49
44
|
/**
|
|
50
45
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-directives-sensitive.mjs","sources":["../../../projects/kit/directives/sensitive/sensitive.directive.ts","../../../projects/kit/directives/sensitive/taiga-ui-kit-directives-sensitive.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-directives-sensitive.mjs","sources":["../../../projects/kit/directives/sensitive/sensitive.directive.ts","../../../projects/kit/directives/sensitive/taiga-ui-kit-directives-sensitive.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiWatch, tuiZonefull} from '@taiga-ui/cdk/observables';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {map} from 'rxjs';\n\nconst rowsInSvg = 3;\n\n@Component({\n template: '',\n styleUrls: ['./sensitive.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-sensitive'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiSensitive]',\n providers: [ResizeObserverService],\n host: {\n '[style.--t-offset.px]': 'offset',\n '[style.--t-mask-height.px]': 'height()',\n '[class.tui-sensitive]': 'tuiSensitive()',\n },\n})\nexport class TuiSensitive {\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly offset = Math.round(Math.random() * 10) * 10;\n protected readonly height = toSignal(\n inject(ResizeObserverService, {self: true}).pipe(\n map((entry): [number, number] => {\n const height = entry[0]?.contentRect.height ?? 0;\n\n return [Math.max(2, Math.floor(height / 16) + 1), height];\n }),\n map(([rows, height]) => height * (rowsInSvg / rows)),\n tuiZonefull(),\n tuiWatch(),\n ),\n );\n\n public readonly tuiSensitive = input<boolean | null>(false);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
import { isPlatformBrowser } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, PLATFORM_ID,
|
|
3
|
+
import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, PLATFORM_ID, input, Directive } from '@angular/core';
|
|
4
4
|
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
|
|
5
5
|
import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
static { this.ɵ
|
|
7
|
+
const OPTIONS = { duration: 1500, iterations: Infinity };
|
|
8
|
+
class Styles {
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-shimmer" }, ngImport: i0, template: '', isInline: true, styles: ["@keyframes tuiShimmer{0%{-webkit-mask-position:top left,-100rem;mask-position:top left,-100rem}to{-webkit-mask-position:top left,300rem;mask-position:top left,300rem}}[tuiShimmer]._shimmer{-webkit-mask-image:linear-gradient(#000,#000),linear-gradient(-70deg,transparent,rgba(0,0,0,.5),transparent);mask-image:linear-gradient(#000,#000),linear-gradient(-70deg,transparent,rgba(0,0,0,.5),transparent);-webkit-mask-size:100%,6rem 100%;mask-size:100%,6rem 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-out;mask-composite:subtract;animation:tuiShimmer 8s infinite linear;pointer-events:none;-webkit-user-select:none;user-select:none}[tuiShimmer]._disabled{animation:none;mask:none;opacity:var(--tui-disabled-opacity)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
10
11
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type:
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
|
|
12
13
|
type: Component,
|
|
13
|
-
args: [{
|
|
14
|
-
class: 'tui-shimmer-styles',
|
|
15
|
-
}, styles: ["@keyframes tuiShimmer{0%{-webkit-mask-position:top left,-100rem;mask-position:top left,-100rem}to{-webkit-mask-position:top left,300rem;mask-position:top left,300rem}}[tuiShimmer]._shimmer{-webkit-mask-image:linear-gradient(#000,#000),linear-gradient(-70deg,transparent,rgba(0,0,0,.5),transparent);mask-image:linear-gradient(#000,#000),linear-gradient(-70deg,transparent,rgba(0,0,0,.5),transparent);-webkit-mask-size:100%,6rem 100%;mask-size:100%,6rem 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-out;mask-composite:subtract;animation:tuiShimmer 8s infinite linear;pointer-events:none;-webkit-user-select:none;user-select:none}[tuiShimmer]._disabled{animation:none;mask:none;opacity:var(--tui-disabled-opacity)}\n"] }]
|
|
14
|
+
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-shimmer' }, styles: ["@keyframes tuiShimmer{0%{-webkit-mask-position:top left,-100rem;mask-position:top left,-100rem}to{-webkit-mask-position:top left,300rem;mask-position:top left,300rem}}[tuiShimmer]._shimmer{-webkit-mask-image:linear-gradient(#000,#000),linear-gradient(-70deg,transparent,rgba(0,0,0,.5),transparent);mask-image:linear-gradient(#000,#000),linear-gradient(-70deg,transparent,rgba(0,0,0,.5),transparent);-webkit-mask-size:100%,6rem 100%;mask-size:100%,6rem 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-out;mask-composite:subtract;animation:tuiShimmer 8s infinite linear;pointer-events:none;-webkit-user-select:none;user-select:none}[tuiShimmer]._disabled{animation:none;mask:none;opacity:var(--tui-disabled-opacity)}\n"] }]
|
|
16
15
|
}] });
|
|
17
16
|
class TuiShimmer {
|
|
18
17
|
constructor() {
|
|
19
18
|
this.isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
|
|
20
19
|
this.el = tuiInjectElement();
|
|
20
|
+
this.nothing = tuiWithStyles(Styles);
|
|
21
21
|
this.disabled = false;
|
|
22
|
-
this.
|
|
23
|
-
this.shimmer = false;
|
|
22
|
+
this.tuiShimmer = input(false);
|
|
24
23
|
}
|
|
25
24
|
ngOnChanges() {
|
|
26
25
|
if (!this.isBrowser) {
|
|
@@ -32,39 +31,30 @@ class TuiShimmer {
|
|
|
32
31
|
}
|
|
33
32
|
this.animation?.commitStyles();
|
|
34
33
|
this.animation?.cancel();
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
.then(() => {
|
|
44
|
-
this.el.style.opacity = '';
|
|
45
|
-
})
|
|
46
|
-
.catch(() => { });
|
|
47
|
-
}
|
|
34
|
+
this.animation = this.tuiShimmer()
|
|
35
|
+
? this.el.animate({ opacity: [0.5, 0.25, 0.5, 0.5] }, OPTIONS)
|
|
36
|
+
: this.el.animate([{ opacity: 0, offset: 0.5 }, { opacity: 1 }], 800);
|
|
37
|
+
this.animation.finished
|
|
38
|
+
.then(() => {
|
|
39
|
+
this.el.style.opacity = '';
|
|
40
|
+
})
|
|
41
|
+
.catch(() => { });
|
|
48
42
|
}
|
|
49
43
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiShimmer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
50
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
44
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiShimmer, isStandalone: true, selector: "[tuiShimmer]", inputs: { tuiShimmer: { classPropertyName: "tuiShimmer", publicName: "tuiShimmer", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiShimmer": "" }, properties: { "class._shimmer": "tuiShimmer()", "class._disabled": "tuiShimmer() && disabled", "attr.inert": "tuiShimmer() || null" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
51
45
|
}
|
|
52
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiShimmer, decorators: [{
|
|
53
47
|
type: Directive,
|
|
54
48
|
args: [{
|
|
55
|
-
standalone: true,
|
|
56
49
|
selector: '[tuiShimmer]',
|
|
57
50
|
host: {
|
|
58
51
|
tuiShimmer: '',
|
|
59
|
-
'[class._shimmer]': '
|
|
60
|
-
'[class._disabled]': '
|
|
61
|
-
'[attr.inert]': '
|
|
52
|
+
'[class._shimmer]': 'tuiShimmer()',
|
|
53
|
+
'[class._disabled]': 'tuiShimmer() && disabled',
|
|
54
|
+
'[attr.inert]': 'tuiShimmer() || null',
|
|
62
55
|
},
|
|
63
56
|
}]
|
|
64
|
-
}]
|
|
65
|
-
type: Input,
|
|
66
|
-
args: ['tuiShimmer']
|
|
67
|
-
}] } });
|
|
57
|
+
}] });
|
|
68
58
|
|
|
69
59
|
/**
|
|
70
60
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-directives-shimmer.mjs","sources":["../../../projects/kit/directives/shimmer/shimmer.directive.ts","../../../projects/kit/directives/shimmer/taiga-ui-kit-directives-shimmer.ts"],"sourcesContent":["import {isPlatformBrowser} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-directives-shimmer.mjs","sources":["../../../projects/kit/directives/shimmer/shimmer.directive.ts","../../../projects/kit/directives/shimmer/taiga-ui-kit-directives-shimmer.ts"],"sourcesContent":["import {isPlatformBrowser} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n input,\n type OnChanges,\n PLATFORM_ID,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\n\nconst OPTIONS = {duration: 1500, iterations: Infinity};\n\n@Component({\n template: '',\n styleUrls: ['./shimmer.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-shimmer'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiShimmer]',\n host: {\n tuiShimmer: '',\n '[class._shimmer]': 'tuiShimmer()',\n '[class._disabled]': 'tuiShimmer() && disabled',\n '[attr.inert]': 'tuiShimmer() || null',\n },\n})\nexport class TuiShimmer implements OnChanges {\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private readonly el = tuiInjectElement();\n private animation?: Animation;\n\n protected readonly nothing = tuiWithStyles(Styles);\n protected disabled = false;\n\n public readonly tuiShimmer = input(false);\n\n public ngOnChanges(): void {\n if (!this.isBrowser) {\n return;\n }\n\n this.disabled = !parseFloat(\n getComputedStyle(this.el).getPropertyValue('--tui-duration'),\n );\n\n if (this.disabled) {\n return;\n }\n\n this.animation?.commitStyles();\n this.animation?.cancel();\n this.animation = this.tuiShimmer()\n ? this.el.animate({opacity: [0.5, 0.25, 0.5, 0.5]}, OPTIONS)\n : this.el.animate([{opacity: 0, offset: 0.5}, {opacity: 1}], 800);\n this.animation.finished\n .then(() => {\n this.el.style.opacity = '';\n })\n .catch(() => {});\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|