@taiga-ui/kit 5.13.0 → 5.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/notification-middle/notification-middle.component.d.ts +1 -2
- package/components/preview/preview.component.d.ts +2 -6
- package/components/push/push.service.d.ts +2 -1
- package/components/toast/toast.service.d.ts +2 -1
- package/fesm2022/taiga-ui-kit-components-accordion.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-avatar.mjs +9 -9
- package/fesm2022/taiga-ui-kit-components-badge.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-badged-content.mjs +2 -3
- package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-block.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-chip.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-comment.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-compass.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-copy.mjs +4 -4
- package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-drawer.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-files.mjs +7 -7
- package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-color.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-input-date.mjs +4 -4
- package/fesm2022/taiga-ui-kit-components-input-inline.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-month.mjs +4 -4
- package/fesm2022/taiga-ui-kit-components-input-number.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +4 -4
- package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-pin.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-input-slider.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-time.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-like.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-message.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +5 -10
- package/fesm2022/taiga-ui-kit-components-notification-middle.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pager.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pin.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pincode.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-pincode.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-preview.mjs +17 -29
- package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-progress.mjs +8 -8
- package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pulse.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-push.mjs +8 -6
- package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-radio-list.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-rating.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-segmented.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-status.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-switch.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-tabs.mjs +5 -5
- package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-textarea.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-tiles.mjs +4 -4
- package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-toast.mjs +10 -8
- package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-tree.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-button-group.mjs +3 -3
- package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-chevron.mjs +2 -2
- package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-connected.mjs +3 -3
- package/fesm2022/taiga-ui-kit-directives-fade.mjs +3 -3
- package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +3 -3
- package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +2 -2
- package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +3 -3
- package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +2 -2
- package/package.json +32 -32
|
@@ -59,7 +59,7 @@ class TuiPager {
|
|
|
59
59
|
subtree: true,
|
|
60
60
|
},
|
|
61
61
|
},
|
|
62
|
-
], viewQueries: [{ propertyName: "items", predicate: ["item"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"t-items\"\n [style.transform]=\"`translateX(calc(var(--tui-inline) * ${left()}px))`\"\n>\n @for (_ of '-'.repeat(count()); track $index) {\n <div\n #item\n class=\"t-item\"\n [attr.data-index]=\"$index\"\n [class._active]=\"$index === index()\"\n [class._last]=\"$index === count() - 1\"\n [class._post-active]=\"$index === index() + 1\"\n [class._pre-active]=\"$index === index() - 1\"\n [class._pre-last]=\"$index === count() - 2\"\n [class._visible]=\"$index >= start() && $index <= end()\"\n >\n <ng-container *ngTemplateOutlet=\"valueContent() || null; context: {$implicit: $index}\" />\n </div>\n }\n</div>\n", styles: [":host{display:flex;align-items:center;overflow:hidden}:host[data-size=m]{--t-size: .5rem;--t-small-dot: scale(.75);--t-super-small-dot: scale(.5);--t-icon-size: 1rem;min-block-size:1.25rem}:host-context(tui-root._mobile) :host[data-size=m]{--t-icon-size: .875rem}:host[data-size=s]{--t-size: .375rem;--t-small-dot: scale(.666);--t-super-small-dot: scale(.333);--t-icon-size: .75rem;min-block-size:1rem}:host-context(tui-root._mobile) :host[data-size=s]{--t-icon-size: .6875rem}.t-items{display:flex;gap:var(--t-gap);transition:transform var(--tui-duration
|
|
62
|
+
], viewQueries: [{ propertyName: "items", predicate: ["item"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"t-items\"\n [style.transform]=\"`translateX(calc(var(--tui-inline) * ${left()}px))`\"\n>\n @for (_ of '-'.repeat(count()); track $index) {\n <div\n #item\n class=\"t-item\"\n [attr.data-index]=\"$index\"\n [class._active]=\"$index === index()\"\n [class._last]=\"$index === count() - 1\"\n [class._post-active]=\"$index === index() + 1\"\n [class._pre-active]=\"$index === index() - 1\"\n [class._pre-last]=\"$index === count() - 2\"\n [class._visible]=\"$index >= start() && $index <= end()\"\n >\n <ng-container *ngTemplateOutlet=\"valueContent() || null; context: {$implicit: $index}\" />\n </div>\n }\n</div>\n", styles: [":host{display:flex;align-items:center;overflow:hidden}:host[data-size=m]{--t-size: .5rem;--t-small-dot: scale(.75);--t-super-small-dot: scale(.5);--t-icon-size: 1rem;min-block-size:1.25rem}:host-context(tui-root._mobile) :host[data-size=m]{--t-icon-size: .875rem}:host[data-size=s]{--t-size: .375rem;--t-small-dot: scale(.666);--t-super-small-dot: scale(.333);--t-icon-size: .75rem;min-block-size:1rem}:host-context(tui-root._mobile) :host[data-size=s]{--t-icon-size: .6875rem}.t-items{display:flex;gap:var(--t-gap);transition:transform calc(var(--tui-duration) / 2) var(--tui-curve-productive-standard)}.t-item{display:flex;align-self:center;align-items:center;justify-content:center;color:var(--tui-background-neutral-2)}.t-item._active{color:var(--tui-background-accent-1)}.t-item:empty:before{content:\"\";display:flex;min-inline-size:var(--t-size);min-block-size:var(--t-size);border-radius:100%;background:currentColor;transition:inherit}.t-item:empty:not(._visible):before,.t-item:empty:not(._visible)+.t-item:not(._active):not(._pre-active):empty:before,.t-item:empty:not(._last):not(._post-active):not(._active):nth-last-child(1 of._visible):before{transform:var(--t-super-small-dot)!important}.t-item:empty:not(._last)._post-active:nth-last-child(1 of._visible):before,.t-item:empty:not(._visible)+.t-item._pre-active:empty:before,.t-item:empty:not(._visible)+.t-item:empty+.t-item:not(._active):empty:before,.t-item:empty:not(._pre-last):nth-last-child(2 of._visible):not(._active):before{transform:var(--t-small-dot)}.t-item:empty+.t-item:not(:empty)._pre-last{transform:scale(.64)}.t-item:empty+.t-item:not(:empty)._pre-last:nth-last-child(2 of._visible){transform:scale(1)}.t-item::ng-deep>tui-icon{inline-size:var(--t-icon-size);block-size:var(--t-icon-size)}.t-item,.t-item::ng-deep>tui-icon{transition:all calc(var(--tui-duration) / 2) var(--tui-curve-productive-standard)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
63
63
|
}
|
|
64
64
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiPager, decorators: [{
|
|
65
65
|
type: Component,
|
|
@@ -78,7 +78,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
78
78
|
'[attr.data-size]': 'size()',
|
|
79
79
|
'[style.--t-gap.px]': 'gap()',
|
|
80
80
|
'[style.max-width.px]': 'maxWidth()',
|
|
81
|
-
}, template: "<div\n class=\"t-items\"\n [style.transform]=\"`translateX(calc(var(--tui-inline) * ${left()}px))`\"\n>\n @for (_ of '-'.repeat(count()); track $index) {\n <div\n #item\n class=\"t-item\"\n [attr.data-index]=\"$index\"\n [class._active]=\"$index === index()\"\n [class._last]=\"$index === count() - 1\"\n [class._post-active]=\"$index === index() + 1\"\n [class._pre-active]=\"$index === index() - 1\"\n [class._pre-last]=\"$index === count() - 2\"\n [class._visible]=\"$index >= start() && $index <= end()\"\n >\n <ng-container *ngTemplateOutlet=\"valueContent() || null; context: {$implicit: $index}\" />\n </div>\n }\n</div>\n", styles: [":host{display:flex;align-items:center;overflow:hidden}:host[data-size=m]{--t-size: .5rem;--t-small-dot: scale(.75);--t-super-small-dot: scale(.5);--t-icon-size: 1rem;min-block-size:1.25rem}:host-context(tui-root._mobile) :host[data-size=m]{--t-icon-size: .875rem}:host[data-size=s]{--t-size: .375rem;--t-small-dot: scale(.666);--t-super-small-dot: scale(.333);--t-icon-size: .75rem;min-block-size:1rem}:host-context(tui-root._mobile) :host[data-size=s]{--t-icon-size: .6875rem}.t-items{display:flex;gap:var(--t-gap);transition:transform var(--tui-duration
|
|
81
|
+
}, template: "<div\n class=\"t-items\"\n [style.transform]=\"`translateX(calc(var(--tui-inline) * ${left()}px))`\"\n>\n @for (_ of '-'.repeat(count()); track $index) {\n <div\n #item\n class=\"t-item\"\n [attr.data-index]=\"$index\"\n [class._active]=\"$index === index()\"\n [class._last]=\"$index === count() - 1\"\n [class._post-active]=\"$index === index() + 1\"\n [class._pre-active]=\"$index === index() - 1\"\n [class._pre-last]=\"$index === count() - 2\"\n [class._visible]=\"$index >= start() && $index <= end()\"\n >\n <ng-container *ngTemplateOutlet=\"valueContent() || null; context: {$implicit: $index}\" />\n </div>\n }\n</div>\n", styles: [":host{display:flex;align-items:center;overflow:hidden}:host[data-size=m]{--t-size: .5rem;--t-small-dot: scale(.75);--t-super-small-dot: scale(.5);--t-icon-size: 1rem;min-block-size:1.25rem}:host-context(tui-root._mobile) :host[data-size=m]{--t-icon-size: .875rem}:host[data-size=s]{--t-size: .375rem;--t-small-dot: scale(.666);--t-super-small-dot: scale(.333);--t-icon-size: .75rem;min-block-size:1rem}:host-context(tui-root._mobile) :host[data-size=s]{--t-icon-size: .6875rem}.t-items{display:flex;gap:var(--t-gap);transition:transform calc(var(--tui-duration) / 2) var(--tui-curve-productive-standard)}.t-item{display:flex;align-self:center;align-items:center;justify-content:center;color:var(--tui-background-neutral-2)}.t-item._active{color:var(--tui-background-accent-1)}.t-item:empty:before{content:\"\";display:flex;min-inline-size:var(--t-size);min-block-size:var(--t-size);border-radius:100%;background:currentColor;transition:inherit}.t-item:empty:not(._visible):before,.t-item:empty:not(._visible)+.t-item:not(._active):not(._pre-active):empty:before,.t-item:empty:not(._last):not(._post-active):not(._active):nth-last-child(1 of._visible):before{transform:var(--t-super-small-dot)!important}.t-item:empty:not(._last)._post-active:nth-last-child(1 of._visible):before,.t-item:empty:not(._visible)+.t-item._pre-active:empty:before,.t-item:empty:not(._visible)+.t-item:empty+.t-item:not(._active):empty:before,.t-item:empty:not(._pre-last):nth-last-child(2 of._visible):not(._active):before{transform:var(--t-small-dot)}.t-item:empty+.t-item:not(:empty)._pre-last{transform:scale(.64)}.t-item:empty+.t-item:not(:empty)._pre-last:nth-last-child(2 of._visible){transform:scale(1)}.t-item::ng-deep>tui-icon{inline-size:var(--t-icon-size);block-size:var(--t-icon-size)}.t-item,.t-item::ng-deep>tui-icon{transition:all calc(var(--tui-duration) / 2) var(--tui-curve-productive-standard)}\n"] }]
|
|
82
82
|
}] });
|
|
83
83
|
|
|
84
84
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-pager.mjs","sources":["../../../projects/kit/components/pager/pager.component.ts","../../../projects/kit/components/pager/pager.component.html","../../../projects/kit/components/pager/taiga-ui-kit-components-pager.ts"],"sourcesContent":["import {NgTemplateOutlet} from '@angular/common';\nimport {\n type AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n type ElementRef,\n inject,\n input,\n type OnChanges,\n signal,\n type TemplateRef,\n viewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed, toSignal} from '@angular/core/rxjs-interop';\nimport {\n WA_MUTATION_OBSERVER_INIT,\n WaMutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\nimport {delay, map} from 'rxjs';\n\n@Component({\n selector: 'tui-pager',\n imports: [NgTemplateOutlet],\n templateUrl: './pager.component.html',\n styleUrl: './pager.styles.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n WaMutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n attributeOldValue: true,\n characterData: true,\n childList: true,\n subtree: true,\n },\n },\n ],\n host: {\n '[attr.data-size]': 'size()',\n '[style.--t-gap.px]': 'gap()',\n '[style.max-width.px]': 'maxWidth()',\n },\n})\nexport class TuiPager implements OnChanges, AfterViewInit {\n protected readonly items = viewChildren<ElementRef<HTMLElement>>('item');\n protected readonly start = signal(0);\n protected readonly end = signal(0);\n protected readonly left = signal(0);\n protected readonly gap = computed(() => (this.size() === 'm' ? 9 : 7));\n\n protected readonly maxWidth = toSignal(\n inject(WaMutationObserverService, {self: true}).pipe(\n delay(0),\n map(() => this.visibleWidth),\n tuiWatch(),\n takeUntilDestroyed(),\n ),\n {initialValue: 0},\n );\n\n public readonly max = input(6);\n public readonly count = input(6);\n public readonly size = input<TuiSizeS>('m');\n public readonly valueContent = input<TemplateRef<unknown>>();\n public readonly index = input(0);\n\n public ngOnChanges(): void {\n this.move();\n }\n\n public ngAfterViewInit(): void {\n this.move();\n }\n\n private get visibleRange(): [start: number, end: number] {\n const max = this.max() > this.count() ? this.count() : this.max();\n\n const start = Math.min(\n Math.max(this.index() - Math.floor(max / 2), 0),\n this.count() - max,\n );\n\n return [start, start + (max - 1)];\n }\n\n private get visibleWidth(): number {\n return (\n this.items()\n .map((item) => item.nativeElement.offsetWidth)\n .slice(this.start(), this.end() + 1)\n .reduce((sum, item) => sum + item + this.gap(), 0) - this.gap()\n );\n }\n\n private move(): void {\n const [start, end] = this.visibleRange;\n\n this.start.set(start);\n this.end.set(end);\n\n let left = this.start() * this.gap();\n\n for (let i = 0; i < this.start(); i++) {\n left += this.items()[i]?.nativeElement.offsetWidth ?? 0;\n }\n\n this.left.set(-1 * left);\n }\n}\n","<div\n class=\"t-items\"\n [style.transform]=\"`translateX(calc(var(--tui-inline) * ${left()}px))`\"\n>\n @for (_ of '-'.repeat(count()); track $index) {\n <div\n #item\n class=\"t-item\"\n [attr.data-index]=\"$index\"\n [class._active]=\"$index === index()\"\n [class._last]=\"$index === count() - 1\"\n [class._post-active]=\"$index === index() + 1\"\n [class._pre-active]=\"$index === index() - 1\"\n [class._pre-last]=\"$index === count() - 2\"\n [class._visible]=\"$index >= start() && $index <= end()\"\n >\n <ng-container *ngTemplateOutlet=\"valueContent() || null; context: {$implicit: $index}\" />\n </div>\n }\n</div>\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-kit-components-pager.mjs","sources":["../../../projects/kit/components/pager/pager.component.ts","../../../projects/kit/components/pager/pager.component.html","../../../projects/kit/components/pager/taiga-ui-kit-components-pager.ts"],"sourcesContent":["import {NgTemplateOutlet} from '@angular/common';\nimport {\n type AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n type ElementRef,\n inject,\n input,\n type OnChanges,\n signal,\n type TemplateRef,\n viewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed, toSignal} from '@angular/core/rxjs-interop';\nimport {\n WA_MUTATION_OBSERVER_INIT,\n WaMutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\nimport {delay, map} from 'rxjs';\n\n@Component({\n selector: 'tui-pager',\n imports: [NgTemplateOutlet],\n templateUrl: './pager.component.html',\n styleUrl: './pager.styles.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n WaMutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n attributeOldValue: true,\n characterData: true,\n childList: true,\n subtree: true,\n },\n },\n ],\n host: {\n '[attr.data-size]': 'size()',\n '[style.--t-gap.px]': 'gap()',\n '[style.max-width.px]': 'maxWidth()',\n },\n})\nexport class TuiPager implements OnChanges, AfterViewInit {\n protected readonly items = viewChildren<ElementRef<HTMLElement>>('item');\n protected readonly start = signal(0);\n protected readonly end = signal(0);\n protected readonly left = signal(0);\n protected readonly gap = computed(() => (this.size() === 'm' ? 9 : 7));\n\n protected readonly maxWidth = toSignal(\n inject(WaMutationObserverService, {self: true}).pipe(\n delay(0),\n map(() => this.visibleWidth),\n tuiWatch(),\n takeUntilDestroyed(),\n ),\n {initialValue: 0},\n );\n\n public readonly max = input(6);\n public readonly count = input(6);\n public readonly size = input<TuiSizeS>('m');\n public readonly valueContent = input<TemplateRef<unknown>>();\n public readonly index = input(0);\n\n public ngOnChanges(): void {\n this.move();\n }\n\n public ngAfterViewInit(): void {\n this.move();\n }\n\n private get visibleRange(): [start: number, end: number] {\n const max = this.max() > this.count() ? this.count() : this.max();\n\n const start = Math.min(\n Math.max(this.index() - Math.floor(max / 2), 0),\n this.count() - max,\n );\n\n return [start, start + (max - 1)];\n }\n\n private get visibleWidth(): number {\n return (\n this.items()\n .map((item) => item.nativeElement.offsetWidth)\n .slice(this.start(), this.end() + 1)\n .reduce((sum, item) => sum + item + this.gap(), 0) - this.gap()\n );\n }\n\n private move(): void {\n const [start, end] = this.visibleRange;\n\n this.start.set(start);\n this.end.set(end);\n\n let left = this.start() * this.gap();\n\n for (let i = 0; i < this.start(); i++) {\n left += this.items()[i]?.nativeElement.offsetWidth ?? 0;\n }\n\n this.left.set(-1 * left);\n }\n}\n","<div\n class=\"t-items\"\n [style.transform]=\"`translateX(calc(var(--tui-inline) * ${left()}px))`\"\n>\n @for (_ of '-'.repeat(count()); track $index) {\n <div\n #item\n class=\"t-item\"\n [attr.data-index]=\"$index\"\n [class._active]=\"$index === index()\"\n [class._last]=\"$index === count() - 1\"\n [class._post-active]=\"$index === index() + 1\"\n [class._pre-active]=\"$index === index() - 1\"\n [class._pre-last]=\"$index === count() - 2\"\n [class._visible]=\"$index >= start() && $index <= end()\"\n >\n <ng-container *ngTemplateOutlet=\"valueContent() || null; context: {$implicit: $index}\" />\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -6,11 +6,11 @@ import { tuiBadgeOptionsProvider } from '@taiga-ui/kit/components/badge';
|
|
|
6
6
|
|
|
7
7
|
class Styles {
|
|
8
8
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-pin-5.
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-pin-5.14.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiPin]:where(*[data-tui-version=\"5.14.0\"]){--t-scale: calc(1 + (var(--tui-font-scale) - 1) / 2);--t-size: calc(2rem * var(--t-scale));transition-property:min-inline-size,grid-template-columns,block-size,border,margin,font;transition-duration:calc(var(--tui-duration) / 2);transition-timing-function:var(--tui-curve-productive-standard);-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:grid;isolation:isolate;align-items:center;grid-template-rows:100%;grid-template-columns:var(--t-size) 1fr;min-inline-size:var(--t-size);max-inline-size:calc(11.25rem * var(--t-scale));block-size:var(--t-size);text-align:center;border-radius:100rem;font:var(--tui-typography-ui-xs);font-weight:700;box-sizing:border-box;color:var(--tui-text-primary-on-accent-2);background:var(--tui-background-accent-2);box-shadow:0 0 0 calc(.125rem * var(--t-scale)) var(--tui-background-elevation-1);border:0 solid var(--tui-background-accent-2);transform:translate(calc(var(--tui-inline) * -50%),-50%)}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):empty{--t-size: calc(.75rem * var(--t-scale))}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):empty:before{display:none}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has([tuiPin]){border-color:currentColor;background:var(--tui-background-elevation-1)}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>*,[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):before,[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):after{transition-duration:inherit!important}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>input{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;-webkit-appearance:none;appearance:none;border-radius:100%}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>img{max-block-size:100%;box-sizing:border-box;border-radius:100%;background:var(--tui-background-elevation-1)}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>tui-icon:not([tuiBadge]){transition-property:inline-size,font-size;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);font-size:1.25rem;block-size:100%;inline-size:100%;border-radius:100%}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>tui-icon:not([tuiBadge]):before{transition-property:font-size;transition-duration:inherit;transition-timing-function:var(--tui-curve-productive-standard)}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>[tuiPin]{color:inherit;border:.125rem solid;font:inherit;background:none;transform:none;box-shadow:none;grid-template-columns:100% 0fr}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>[tuiBadge]{transition-property:inset;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);position:absolute;inset-block-start:-.25rem;inset-inline-end:-.25rem}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>[tuiTitle]{transition-property:opacity,margin;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);position:static;font:var(--tui-typography-ui-xs);font-weight:700;color:var(--tui-text-primary);margin-inline:.5rem .75rem;gap:.125rem;white-space:nowrap}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>[tuiTitle]:before{transition-property:mask-position;transition-duration:inherit;transition-timing-function:var(--tui-curve-productive-standard);content:\"\";position:absolute;inset:-1px 0;z-index:-1;inset-inline-end:-1px;background:var(--tui-background-elevation-1);border-radius:100rem;-webkit-mask-image:radial-gradient(circle closest-corner at var(--tui-inline-start) center,transparent calc(100% - 1px),black calc(100% - .5px));mask-image:radial-gradient(circle closest-corner at var(--tui-inline-start) center,transparent calc(100% - 1px),black calc(100% - .5px));-webkit-mask-position:calc(var(--tui-inline) * var(--t-size) / 2);mask-position:calc(var(--tui-inline) * var(--t-size) / 2);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>[tuiTitle] [tuiSubtitle]{display:flex;align-items:center;gap:.125rem;font:var(--tui-typography-ui-2xs);color:var(--tui-text-secondary)}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>[tuiTitle] [tuiSubtitle] tui-icon:not([tuiBadge]){font-size:.75rem}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has(:checked){--t-size: calc(3.5rem * var(--t-scale));font:var(--tui-typography-body-l);font-weight:700;grid-template-columns:var(--t-size) 0fr;margin-block-start:-2.75rem}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has(:checked)>img{padding:.125rem}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has(:checked) tui-icon:not([tuiBadge]){font-size:2.125rem}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has(:checked)>[tuiPin]{border-color:transparent}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has(:checked)>[tuiBadge]{inset-block-start:0;inset-inline-end:0}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has(:checked)>[tuiTitle]{pointer-events:none;opacity:0;margin:0}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has(:checked):before{transform:scale(.99) translate(calc(var(--tui-inline) * -1 * calc(1.875rem * var(--t-scale))),calc(-1 * calc(1.875rem * var(--t-scale))));opacity:1}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has(:checked):after{inset-block-start:calc(4.5rem * var(--t-scale));opacity:1}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])._open{--t-size: calc(3.5rem * var(--t-scale));font:var(--tui-typography-body-l);font-weight:700;grid-template-columns:var(--t-size) 0fr;margin-block-start:-2.75rem}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])._open>img{padding:.125rem}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])._open tui-icon:not([tuiBadge]){font-size:2.125rem}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])._open>[tuiPin]{border-color:transparent}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])._open>[tuiBadge]{inset-block-start:0;inset-inline-end:0}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])._open>[tuiTitle]{pointer-events:none;opacity:0;margin:0}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])._open:before{transform:scale(.99) translate(calc(var(--tui-inline) * -1 * calc(1.875rem * var(--t-scale))),calc(-1 * calc(1.875rem * var(--t-scale))));opacity:1}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])._open:after{inset-block-start:calc(4.5rem * var(--t-scale));opacity:1}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);content:\"\";position:absolute;z-index:-1;inset-block:50% calc(-.625rem * var(--t-scale));inset-inline:50% calc(-.25rem * var(--t-scale));box-sizing:border-box;border-width:calc(2.2rem * var(--t-scale)) calc(1.875rem * var(--t-scale));border-style:solid;border-color:inherit;opacity:0;transform:scale(.57) translate(calc(var(--tui-inline) * -1 * calc(1.875rem * var(--t-scale))),calc(-1 * calc(1.875rem * var(--t-scale))));transform-origin:top var(--tui-inline-start);pointer-events:none;-webkit-mask-image:url('data:image/svg+xml,<svg width=\"60\" height=\"66\" viewBox=\"0 0 60 66\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 30.0917C0 13.4726 13.4313 0 30.0002 0C46.5687 0 60 13.4726 60 30.0917C60 44.2105 50.4927 56.0529 37.4162 59.2986C32.5552 60.5551 31.0408 65.275 31.0408 65.275C30.8892 65.697 30.4909 66 30.0183 66C29.5453 66 29.147 65.697 28.9938 65.275C28.9938 65.275 27.481 60.5551 22.6199 59.2986C9.46433 56.0206 0 43.5901 0 30.0917ZM30 57.75C45.3259 57.75 57.75 45.3259 57.75 30C57.75 14.6741 45.3259 2.25 30 2.25C14.6741 2.25 2.25 14.6741 2.25 30C2.25 45.3259 14.6741 57.75 30 57.75Z\" /></svg>');mask-image:url('data:image/svg+xml,<svg width=\"60\" height=\"66\" viewBox=\"0 0 60 66\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 30.0917C0 13.4726 13.4313 0 30.0002 0C46.5687 0 60 13.4726 60 30.0917C60 44.2105 50.4927 56.0529 37.4162 59.2986C32.5552 60.5551 31.0408 65.275 31.0408 65.275C30.8892 65.697 30.4909 66 30.0183 66C29.5453 66 29.147 65.697 28.9938 65.275C28.9938 65.275 27.481 60.5551 22.6199 59.2986C9.46433 56.0206 0 43.5901 0 30.0917ZM30 57.75C45.3259 57.75 57.75 45.3259 57.75 30C57.75 14.6741 45.3259 2.25 30 2.25C14.6741 2.25 2.25 14.6741 2.25 30C2.25 45.3259 14.6741 57.75 30 57.75Z\" /></svg>');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):after{transition-property:inset-block-start,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);content:\"\";position:absolute;inset-block-start:50%;inset-inline-start:50%;border:.1875rem solid currentColor;border-color:inherit;border-radius:100%;box-sizing:border-box;box-shadow:inherit;transform:translate(calc(var(--tui-inline) * -50%),-50%);opacity:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
10
10
|
}
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
|
-
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-pin-${TUI_VERSION}`, styles: ["[tuiPin]:where(*[data-tui-version=\"5.
|
|
13
|
+
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-pin-${TUI_VERSION}`, styles: ["[tuiPin]:where(*[data-tui-version=\"5.14.0\"]){--t-scale: calc(1 + (var(--tui-font-scale) - 1) / 2);--t-size: calc(2rem * var(--t-scale));transition-property:min-inline-size,grid-template-columns,block-size,border,margin,font;transition-duration:calc(var(--tui-duration) / 2);transition-timing-function:var(--tui-curve-productive-standard);-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:grid;isolation:isolate;align-items:center;grid-template-rows:100%;grid-template-columns:var(--t-size) 1fr;min-inline-size:var(--t-size);max-inline-size:calc(11.25rem * var(--t-scale));block-size:var(--t-size);text-align:center;border-radius:100rem;font:var(--tui-typography-ui-xs);font-weight:700;box-sizing:border-box;color:var(--tui-text-primary-on-accent-2);background:var(--tui-background-accent-2);box-shadow:0 0 0 calc(.125rem * var(--t-scale)) var(--tui-background-elevation-1);border:0 solid var(--tui-background-accent-2);transform:translate(calc(var(--tui-inline) * -50%),-50%)}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):empty{--t-size: calc(.75rem * var(--t-scale))}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):empty:before{display:none}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has([tuiPin]){border-color:currentColor;background:var(--tui-background-elevation-1)}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>*,[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):before,[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):after{transition-duration:inherit!important}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>input{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;-webkit-appearance:none;appearance:none;border-radius:100%}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>img{max-block-size:100%;box-sizing:border-box;border-radius:100%;background:var(--tui-background-elevation-1)}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>tui-icon:not([tuiBadge]){transition-property:inline-size,font-size;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);font-size:1.25rem;block-size:100%;inline-size:100%;border-radius:100%}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>tui-icon:not([tuiBadge]):before{transition-property:font-size;transition-duration:inherit;transition-timing-function:var(--tui-curve-productive-standard)}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>[tuiPin]{color:inherit;border:.125rem solid;font:inherit;background:none;transform:none;box-shadow:none;grid-template-columns:100% 0fr}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>[tuiBadge]{transition-property:inset;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);position:absolute;inset-block-start:-.25rem;inset-inline-end:-.25rem}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>[tuiTitle]{transition-property:opacity,margin;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);position:static;font:var(--tui-typography-ui-xs);font-weight:700;color:var(--tui-text-primary);margin-inline:.5rem .75rem;gap:.125rem;white-space:nowrap}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>[tuiTitle]:before{transition-property:mask-position;transition-duration:inherit;transition-timing-function:var(--tui-curve-productive-standard);content:\"\";position:absolute;inset:-1px 0;z-index:-1;inset-inline-end:-1px;background:var(--tui-background-elevation-1);border-radius:100rem;-webkit-mask-image:radial-gradient(circle closest-corner at var(--tui-inline-start) center,transparent calc(100% - 1px),black calc(100% - .5px));mask-image:radial-gradient(circle closest-corner at var(--tui-inline-start) center,transparent calc(100% - 1px),black calc(100% - .5px));-webkit-mask-position:calc(var(--tui-inline) * var(--t-size) / 2);mask-position:calc(var(--tui-inline) * var(--t-size) / 2);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>[tuiTitle] [tuiSubtitle]{display:flex;align-items:center;gap:.125rem;font:var(--tui-typography-ui-2xs);color:var(--tui-text-secondary)}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])>[tuiTitle] [tuiSubtitle] tui-icon:not([tuiBadge]){font-size:.75rem}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has(:checked){--t-size: calc(3.5rem * var(--t-scale));font:var(--tui-typography-body-l);font-weight:700;grid-template-columns:var(--t-size) 0fr;margin-block-start:-2.75rem}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has(:checked)>img{padding:.125rem}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has(:checked) tui-icon:not([tuiBadge]){font-size:2.125rem}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has(:checked)>[tuiPin]{border-color:transparent}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has(:checked)>[tuiBadge]{inset-block-start:0;inset-inline-end:0}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has(:checked)>[tuiTitle]{pointer-events:none;opacity:0;margin:0}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has(:checked):before{transform:scale(.99) translate(calc(var(--tui-inline) * -1 * calc(1.875rem * var(--t-scale))),calc(-1 * calc(1.875rem * var(--t-scale))));opacity:1}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):has(:checked):after{inset-block-start:calc(4.5rem * var(--t-scale));opacity:1}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])._open{--t-size: calc(3.5rem * var(--t-scale));font:var(--tui-typography-body-l);font-weight:700;grid-template-columns:var(--t-size) 0fr;margin-block-start:-2.75rem}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])._open>img{padding:.125rem}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])._open tui-icon:not([tuiBadge]){font-size:2.125rem}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])._open>[tuiPin]{border-color:transparent}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])._open>[tuiBadge]{inset-block-start:0;inset-inline-end:0}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])._open>[tuiTitle]{pointer-events:none;opacity:0;margin:0}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])._open:before{transform:scale(.99) translate(calc(var(--tui-inline) * -1 * calc(1.875rem * var(--t-scale))),calc(-1 * calc(1.875rem * var(--t-scale))));opacity:1}[tuiPin]:where(*[data-tui-version=\"5.14.0\"])._open:after{inset-block-start:calc(4.5rem * var(--t-scale));opacity:1}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);content:\"\";position:absolute;z-index:-1;inset-block:50% calc(-.625rem * var(--t-scale));inset-inline:50% calc(-.25rem * var(--t-scale));box-sizing:border-box;border-width:calc(2.2rem * var(--t-scale)) calc(1.875rem * var(--t-scale));border-style:solid;border-color:inherit;opacity:0;transform:scale(.57) translate(calc(var(--tui-inline) * -1 * calc(1.875rem * var(--t-scale))),calc(-1 * calc(1.875rem * var(--t-scale))));transform-origin:top var(--tui-inline-start);pointer-events:none;-webkit-mask-image:url('data:image/svg+xml,<svg width=\"60\" height=\"66\" viewBox=\"0 0 60 66\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 30.0917C0 13.4726 13.4313 0 30.0002 0C46.5687 0 60 13.4726 60 30.0917C60 44.2105 50.4927 56.0529 37.4162 59.2986C32.5552 60.5551 31.0408 65.275 31.0408 65.275C30.8892 65.697 30.4909 66 30.0183 66C29.5453 66 29.147 65.697 28.9938 65.275C28.9938 65.275 27.481 60.5551 22.6199 59.2986C9.46433 56.0206 0 43.5901 0 30.0917ZM30 57.75C45.3259 57.75 57.75 45.3259 57.75 30C57.75 14.6741 45.3259 2.25 30 2.25C14.6741 2.25 2.25 14.6741 2.25 30C2.25 45.3259 14.6741 57.75 30 57.75Z\" /></svg>');mask-image:url('data:image/svg+xml,<svg width=\"60\" height=\"66\" viewBox=\"0 0 60 66\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 30.0917C0 13.4726 13.4313 0 30.0002 0C46.5687 0 60 13.4726 60 30.0917C60 44.2105 50.4927 56.0529 37.4162 59.2986C32.5552 60.5551 31.0408 65.275 31.0408 65.275C30.8892 65.697 30.4909 66 30.0183 66C29.5453 66 29.147 65.697 28.9938 65.275C28.9938 65.275 27.481 60.5551 22.6199 59.2986C9.46433 56.0206 0 43.5901 0 30.0917ZM30 57.75C45.3259 57.75 57.75 45.3259 57.75 30C57.75 14.6741 45.3259 2.25 30 2.25C14.6741 2.25 2.25 14.6741 2.25 30C2.25 45.3259 14.6741 57.75 30 57.75Z\" /></svg>');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}[tuiPin]:where(*[data-tui-version=\"5.14.0\"]):after{transition-property:inset-block-start,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);content:\"\";position:absolute;inset-block-start:50%;inset-inline-start:50%;border:.1875rem solid currentColor;border-color:inherit;border-radius:100%;box-sizing:border-box;box-shadow:inherit;transform:translate(calc(var(--tui-inline) * -50%),-50%);opacity:0}\n"] }]
|
|
14
14
|
}] });
|
|
15
15
|
class TuiPin {
|
|
16
16
|
constructor() {
|
|
@@ -18,7 +18,7 @@ class TuiPin {
|
|
|
18
18
|
this.open = input('', { alias: 'tuiPin' });
|
|
19
19
|
}
|
|
20
20
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiPin, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.25", type: TuiPin, isStandalone: true, selector: "[tuiPin]", inputs: { open: { classPropertyName: "open", publicName: "tuiPin", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.
|
|
21
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.25", type: TuiPin, isStandalone: true, selector: "[tuiPin]", inputs: { open: { classPropertyName: "open", publicName: "tuiPin", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.14.0", "tuiPin": "" }, properties: { "class._open": "open()" } }, providers: [tuiBadgeOptionsProvider({ appearance: 'primary', size: 's' })], ngImport: i0 }); }
|
|
22
22
|
}
|
|
23
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiPin, decorators: [{
|
|
24
24
|
type: Directive,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-pin.mjs","sources":["../../../projects/kit/components/pin/pin.directive.ts","../../../projects/kit/components/pin/taiga-ui-kit-components-pin.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiBadgeOptionsProvider} from '@taiga-ui/kit/components/badge';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/pin.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-pin-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiPin]',\n providers: [tuiBadgeOptionsProvider({appearance: 'primary', size: 's'})],\n host: {'data-tui-version': TUI_VERSION, tuiPin: '', '[class._open]': 'open()'},\n})\nexport class TuiPin {\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly open = input<boolean | ''>('', {alias: 'tuiPin'});\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAWA,MAWM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,sGAVE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-pin.mjs","sources":["../../../projects/kit/components/pin/pin.directive.ts","../../../projects/kit/components/pin/taiga-ui-kit-components-pin.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiBadgeOptionsProvider} from '@taiga-ui/kit/components/badge';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/pin.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-pin-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiPin]',\n providers: [tuiBadgeOptionsProvider({appearance: 'primary', size: 's'})],\n host: {'data-tui-version': TUI_VERSION, tuiPin: '', '[class._open]': 'open()'},\n})\nexport class TuiPin {\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly open = input<boolean | ''>('', {alias: 'tuiPin'});\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAWA,MAWM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,sGAVE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,0zRAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAUV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAXX,SAAS;+BACI,EAAE,EAAA,aAAA,EAMG,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,CAAA,QAAA,EAAW,WAAW,CAAA,CAAE,EAAA,MAAA,EAAA,CAAA,0zRAAA,CAAA,EAAA;;MASzB,MAAM,CAAA;AALnB,IAAA,WAAA,GAAA;AAMuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;QAElC,IAAA,CAAA,IAAI,GAAG,KAAK,CAAe,EAAE,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAC;AACpE,IAAA;+GAJY,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EAHJ,CAAC,uBAAuB,CAAC,EAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAG/D,MAAM,EAAA,UAAA,EAAA,CAAA;kBALlB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,SAAS,EAAE,CAAC,uBAAuB,CAAC,EAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC;AACxE,oBAAA,IAAI,EAAE,EAAC,kBAAkB,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAC;AACjF,iBAAA;;;AC5BD;;AAEG;;;;"}
|
|
@@ -18,7 +18,7 @@ class TuiPincodeContent {
|
|
|
18
18
|
this.pincode = inject(TuiPincodeComponent);
|
|
19
19
|
}
|
|
20
20
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiPincodeContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: TuiPincodeContent, isStandalone: true, selector: "tui-pincode-content", host: { attributes: { "aria-hidden": "true" }, listeners: { "animationend": "pincode.onAnimationEnd($event)", "animationstart": "pincode.onAnimationStart($event)" }, properties: { "style.--t-length": "pincode.maxLength()" } }, ngImport: i0, template: "@for (_ of '-'.repeat(pincode.maxLength()); track $index) {\n <span\n class=\"t-item\"\n [class.t-item_filled]=\"pincode.value()[$index]\"\n [class.t-item_focus]=\"pincode.isFocused($index)\"\n [style.--t-index]=\"$index\"\n (pointerdown.prevent)=\"pincode.el.focus()\"\n >\n <span class=\"t-dot t-dot_placeholder\"></span>\n <span class=\"t-dot t-dot_value\"></span>\n <span class=\"t-value\">{{ pincode.el.type === 'password' ? '' : pincode.value()[$index] }}</span>\n </span>\n}\n", styles: ["tui-textfield:has(input[tuiPincode]){inline-size:max-content}input[tuiPincode]{position:absolute;inset:0;color:transparent;background:transparent;border:none;outline:none;caret-color:transparent;cursor:text}input[tuiPincode]::selection{background:transparent}input[tuiPincode]::placeholder{color:transparent!important}input[tuiPincode]+.t-content{--t-pitch: 2.625rem;gap:0;margin-inline:auto;cursor:text}input[tuiPincode]+.t-content [tuiButtonX]{display:none}input[tuiPincode]+.t-content tui-pincode-content{display:flex;align-items:center;justify-content:center;gap:1.25rem;block-size:100%}input[tuiPincode]+.t-content .t-item{--t-duration: min(var(--tui-duration), .15s);--t-stagger: calc(var(--t-duration) * 2 / 3);--t-animation-delay: calc(var(--t-index) * var(--t-stagger));--t-animation-cycle: calc(var(--t-duration) * 14 / 3 + (var(--t-length) - 1) * var(--t-stagger));--t-offset: calc(var(--t-index) - (var(--t-length) - 1) / 2);--t-collapse-start: calc(var(--t-animation-cycle) + var(--t-duration) * 4 / 3);--t-collapse-delay: calc(var(--t-collapse-start) + var(--t-duration) * 14 / 3);position:relative;flex:none;inline-size:1.375rem;block-size:2.5rem;cursor:text}input[tuiPincode]+.t-content .t-value,input[tuiPincode]+.t-content .t-dot{position:absolute;inset-block-start:50%;inset-inline-start:50%;translate:-50% -50%;scale:0;transition:color calc(var(--t-duration) * 4 / 3) var(--tui-curve-productive-standard),background-color calc(var(--t-duration) * 4 / 3) var(--tui-curve-productive-standard)}input[tuiPincode]+.t-content .t-value{color:var(--tui-text-primary);font-size:2.25rem;font-weight:500;line-height:2.5rem;letter-spacing:0}input[tuiPincode]+.t-content .t-dot{inline-size:1rem;block-size:1rem;background:var(--tui-background-neutral-2);border-radius:50%}input[tuiPincode]+.t-content .t-item:not(.t-item_filled) .t-dot_placeholder{scale:1}input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled):before{content:\"\";position:absolute;inset-block-start:50%;inset-inline-start:50%;inline-size:.125rem;block-size:2.25rem;border-radius:.0625rem;background:var(--tui-text-primary);translate:-50% -50%;animation:tuiFade 1s steps(2,jump-none) infinite reverse}input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled) .t-dot_placeholder,input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled) .t-dot_value{scale:0}input[tuiPincode]:not([type=password])+.t-content .t-item_filled .t-value{scale:1}input[tuiPincode][type=password]+.t-content .t-item_filled .t-dot_value{scale:1;background:var(--tui-text-action)}input[tuiPincode][data-state=pending]:not([type=password])+.t-content .t-item_filled .t-value,input[tuiPincode][data-state=pending][type=password]+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeWave var(--t-animation-cycle) linear infinite,tuiPincodeWavePos var(--t-animation-cycle) linear infinite;animation-delay:calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay))}input[tuiPincode][data-state=invalid]+.t-content .t-value{color:var(--tui-text-negative)}input[tuiPincode][data-state=invalid]+.t-content .t-item_filled .t-dot_value{background:var(--tui-text-negative)}input[tuiPincode][data-state=invalid]+.t-content .t-item{animation:tuiPincodeShake calc(var(--t-duration) * 10 / 3) var(--tui-curve-productive-standard)}input[tuiPincode][data-state=invalid]+.t-content .t-item_filled .t-dot_placeholder{scale:1;animation:tuiPincodeScale var(--t-duration) var(--tui-curve-expressive-standard) max(calc(var(--t-animation-cycle) + var(--t-duration)),1s) both}input[tuiPincode][data-state=invalid]:not([type=password])+.t-content .t-item_filled .t-value,input[tuiPincode][data-state=invalid][type=password]+.t-content .t-item_filled .t-dot_value{animation:tuiScale calc(var(--t-duration) * 4 / 3) var(--tui-curve-expressive-exit) max(var(--t-animation-cycle),1s) reverse forwards}input[tuiPincode][data-state=success]+.t-content .t-value{color:var(--tui-text-action)}input[tuiPincode][data-state=success]+.t-content .t-item_filled{animation:tuiPincodeItemSpread calc(var(--t-duration) * 14 / 3) var(--tui-curve-productive-entrance) var(--t-collapse-start) forwards}input[tuiPincode][data-state=success]+.t-content .t-item_filled .t-dot_value{background:var(--tui-text-action)}input[tuiPincode][data-state=success]:not([type=password])+.t-content .t-item_filled .t-value{animation:tuiPincodeWave var(--t-animation-cycle) linear 1 calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),tuiPincodeWavePos var(--t-animation-cycle) linear 1 calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),tuiScale calc(var(--t-duration) * 4 / 3) var(--tui-curve-expressive-exit) var(--t-collapse-start) reverse forwards}input[tuiPincode][data-state=success]:not([type=password])+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeDotIn calc(var(--t-duration) * 2) var(--tui-curve-productive-exit) max(var(--t-collapse-start),.1ms) forwards,tuiPincodeDotCollapsePos calc(var(--t-duration) * 2) var(--tui-curve-expressive-exit) max(var(--t-collapse-delay),.1ms) forwards,tuiPincodeDotCollapseScale calc(var(--t-duration) * 2) var(--tui-curve-productive-exit) max(var(--t-collapse-delay),.1ms) forwards,tuiFade calc(var(--t-duration) / 3) linear calc(var(--t-collapse-delay) + var(--t-duration) * 5 / 3) reverse forwards}input[tuiPincode][data-state=success][type=password]+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeWave var(--t-animation-cycle) linear 1 calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),tuiPincodeWavePos var(--t-animation-cycle) linear 1 calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),tuiPincodeDotIn calc(var(--t-duration) * 2) var(--tui-curve-productive-exit) max(var(--t-collapse-start),.1ms) forwards,tuiPincodeDotCollapsePos calc(var(--t-duration) * 2) var(--tui-curve-expressive-exit) max(var(--t-collapse-delay),.1ms) forwards,tuiPincodeDotCollapseScale calc(var(--t-duration) * 2) var(--tui-curve-productive-exit) max(var(--t-collapse-delay),.1ms) forwards,tuiFade calc(var(--t-duration) / 3) linear calc(var(--t-collapse-delay) + var(--t-duration) * 5 / 3) reverse forwards}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content{--t-pitch: 2.5rem}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item{inline-size:1.25rem;block-size:2.25rem}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-dot{transition:translate calc(var(--t-duration) * 2) var(--tui-curve-expressive-entrance),color calc(var(--t-duration) * 4 / 3) var(--tui-curve-productive-standard),background-color calc(var(--t-duration) * 4 / 3) var(--tui-curve-productive-standard)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-dot_value{transition:scale calc(var(--t-duration) * 2) var(--tui-curve-expressive-exit),color calc(var(--t-duration) * 4 / 3) var(--tui-curve-productive-standard),background-color calc(var(--t-duration) * 4 / 3) var(--tui-curve-productive-standard)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-value{font-size:1.75rem;font-weight:700;line-height:1}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-dot_placeholder{transition:scale calc(var(--t-duration) * 2) var(--tui-curve-expressive-exit)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item:not(.t-item_filled) .t-dot_placeholder{transition:scale var(--t-duration) var(--tui-curve-expressive-standard) var(--t-duration)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled):before{display:none}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled) .t-dot_placeholder{scale:1}[data-platform]:not([data-platform=web]) input[tuiPincode]:not([data-state]):not([type=password]):not(._paste)+.t-content .t-item_filled .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode]:not([data-state])[type=password]:not(._paste)+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeInput calc(var(--t-duration) * 2) cubic-bezier(.34,1.56,.64,1)}[data-platform]:not([data-platform=web]) input[tuiPincode]:not([data-state])[type=password]+.t-content .t-item_filled .t-dot_value{transition:background-color calc(var(--t-duration) * 4 / 3) var(--tui-curve-expressive-standard)}[data-platform]:not([data-platform=web]) input[tuiPincode][data-state=pending]:not(._paste):not([type=password])+.t-content .t-item_filled:last-of-type .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode][data-state=pending]:not(._paste)[type=password]+.t-content .t-item_filled:last-of-type .t-dot_value{animation:tuiPincodeInput calc(var(--t-duration) * 2) cubic-bezier(.34,1.56,.64,1),tuiPincodeWave var(--t-animation-cycle) linear infinite,tuiPincodeWavePos var(--t-animation-cycle) linear infinite;animation-delay:0ms,calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay))}[data-platform]:not([data-platform=web]) input[tuiPincode][data-state=pending]._paste:not([type=password])+.t-content .t-item_filled .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode][data-state=pending]._paste[type=password]+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeInput calc(var(--t-duration) * 2) cubic-bezier(.34,1.56,.64,1),tuiPincodeWave var(--t-animation-cycle) linear infinite,tuiPincodeWavePos var(--t-animation-cycle) linear infinite;animation-delay:0ms,calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay))}[data-platform]:not([data-platform=web]) input[tuiPincode][type=password]+.t-content .t-item:not(.t-item_filled) .t-dot_value{transition:none}@keyframes tuiPincodeItemSpread{0%{translate:0}to{translate:calc(var(--t-offset) * var(--t-pitch) / 3) 0}}@keyframes tuiPincodeDotCollapsePos{to{translate:calc(-50% - var(--t-offset) * var(--t-pitch)) -50%}}@keyframes tuiPincodeDotCollapseScale{0%{scale:1.1}to{scale:0}}@keyframes tuiPincodeDotIn{to{scale:1.1}}@keyframes tuiPincodeInput{0%{scale:0}}@keyframes tuiPincodeShake{0%,to{translate:0}20%{translate:-.125rem 0}40%{translate:.125rem 0}60%{translate:-.125rem 0}80%{translate:.125rem 0}}@keyframes tuiPincodeWave{0%{animation-timing-function:var(--tui-curve-expressive-standard);scale:1}20%{animation-timing-function:var(--tui-curve-productive-entrance);scale:1.2}50%,to{scale:1}}@keyframes tuiPincodeWavePos{0%,50%,to{translate:-50% -50%}20%{translate:-50% calc(-50% - .25rem)}}@keyframes tuiPincodeScale{0%{transform:scale(0)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: TuiPincodeContent, isStandalone: true, selector: "tui-pincode-content", host: { attributes: { "aria-hidden": "true" }, listeners: { "animationend": "pincode.onAnimationEnd($event)", "animationstart": "pincode.onAnimationStart($event)" }, properties: { "style.--t-length": "pincode.maxLength()" } }, ngImport: i0, template: "@for (_ of '-'.repeat(pincode.maxLength()); track $index) {\n <span\n class=\"t-item\"\n [class.t-item_filled]=\"pincode.value()[$index]\"\n [class.t-item_focus]=\"pincode.isFocused($index)\"\n [style.--t-index]=\"$index\"\n (pointerdown.prevent)=\"pincode.el.focus()\"\n >\n <span class=\"t-dot t-dot_placeholder\"></span>\n <span class=\"t-dot t-dot_value\"></span>\n <span class=\"t-value\">{{ pincode.el.type === 'password' ? '' : pincode.value()[$index] }}</span>\n </span>\n}\n", styles: ["tui-textfield:has(input[tuiPincode]){inline-size:max-content}input[tuiPincode]{position:absolute;inset:0;color:transparent;background:transparent;border:none;outline:none;caret-color:transparent;cursor:text}input[tuiPincode]::selection{background:transparent}input[tuiPincode]::placeholder{color:transparent!important}input[tuiPincode]+.t-content{--t-pitch: 2.625rem;gap:0;margin-inline:auto;cursor:text}input[tuiPincode]+.t-content [tuiButtonX]{display:none}input[tuiPincode]+.t-content tui-pincode-content{display:flex;align-items:center;justify-content:center;gap:1.25rem;block-size:100%}input[tuiPincode]+.t-content .t-item{--t-stagger: calc(var(--tui-duration) * 2 / 3);--t-animation-delay: calc(var(--t-index) * var(--t-stagger));--t-animation-cycle: calc(var(--tui-duration) * 14 / 3 + (var(--t-length) - 1) * var(--t-stagger));--t-offset: calc(var(--t-index) - (var(--t-length) - 1) / 2);--t-collapse-start: calc(var(--t-animation-cycle) + var(--tui-duration) * 4 / 3);--t-collapse-delay: calc(var(--t-collapse-start) + var(--tui-duration) * 14 / 3);position:relative;flex:none;inline-size:1.375rem;block-size:2.5rem;cursor:text}input[tuiPincode]+.t-content .t-value,input[tuiPincode]+.t-content .t-dot{position:absolute;inset-block-start:50%;inset-inline-start:50%;translate:-50% -50%;scale:0;transition:color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-productive-standard),background-color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-productive-standard)}input[tuiPincode]+.t-content .t-value{color:var(--tui-text-primary);font-size:2.25rem;font-weight:500;line-height:2.5rem;letter-spacing:0}input[tuiPincode]+.t-content .t-dot{inline-size:1rem;block-size:1rem;background:var(--tui-background-neutral-2);border-radius:50%}input[tuiPincode]+.t-content .t-item:not(.t-item_filled) .t-dot_placeholder{scale:1}input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled):before{content:\"\";position:absolute;inset-block-start:50%;inset-inline-start:50%;inline-size:.125rem;block-size:2.25rem;border-radius:.0625rem;background:var(--tui-text-primary);translate:-50% -50%;animation:tuiFade 1s steps(2,jump-none) infinite reverse}input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled) .t-dot_placeholder,input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled) .t-dot_value{scale:0}input[tuiPincode]:not([type=password])+.t-content .t-item_filled .t-value{scale:1}input[tuiPincode][type=password]+.t-content .t-item_filled .t-dot_value{scale:1;background:var(--tui-text-action)}input[tuiPincode][data-state=pending]:not([type=password])+.t-content .t-item_filled .t-value,input[tuiPincode][data-state=pending][type=password]+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeWave var(--t-animation-cycle) linear infinite,tuiPincodeWavePos var(--t-animation-cycle) linear infinite;animation-delay:calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay))}input[tuiPincode][data-state=invalid]+.t-content .t-value{color:var(--tui-text-negative)}input[tuiPincode][data-state=invalid]+.t-content .t-item_filled .t-dot_value{background:var(--tui-text-negative)}input[tuiPincode][data-state=invalid]+.t-content .t-item{animation:tuiPincodeShake calc(var(--tui-duration) * 10 / 3) var(--tui-curve-productive-standard)}input[tuiPincode][data-state=invalid]+.t-content .t-item_filled .t-dot_placeholder{scale:1;animation:tuiPincodeScale var(--tui-duration) var(--tui-curve-expressive-standard) max(calc(var(--t-animation-cycle) + var(--tui-duration)),1s) both}input[tuiPincode][data-state=invalid]:not([type=password])+.t-content .t-item_filled .t-value,input[tuiPincode][data-state=invalid][type=password]+.t-content .t-item_filled .t-dot_value{animation:tuiScale calc(var(--tui-duration) * 4 / 3) var(--tui-curve-expressive-exit) max(var(--t-animation-cycle),1s) reverse forwards}input[tuiPincode][data-state=success]+.t-content .t-value{color:var(--tui-text-action)}input[tuiPincode][data-state=success]+.t-content .t-item_filled{animation:tuiPincodeItemSpread calc(var(--tui-duration) * 14 / 3) var(--tui-curve-productive-entrance) var(--t-collapse-start) forwards}input[tuiPincode][data-state=success]+.t-content .t-item_filled .t-dot_value{background:var(--tui-text-action)}input[tuiPincode][data-state=success]:not([type=password])+.t-content .t-item_filled .t-value{animation:tuiPincodeWave var(--t-animation-cycle) linear 1 calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),tuiPincodeWavePos var(--t-animation-cycle) linear 1 calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),tuiScale calc(var(--tui-duration) * 4 / 3) var(--tui-curve-expressive-exit) var(--t-collapse-start) reverse forwards}input[tuiPincode][data-state=success]:not([type=password])+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeDotIn calc(var(--tui-duration) * 2) var(--tui-curve-productive-exit) max(var(--t-collapse-start),.1ms) forwards,tuiPincodeDotCollapsePos calc(var(--tui-duration) * 2) var(--tui-curve-expressive-exit) max(var(--t-collapse-delay),.1ms) forwards,tuiPincodeDotCollapseScale calc(var(--tui-duration) * 2) var(--tui-curve-productive-exit) max(var(--t-collapse-delay),.1ms) forwards,tuiFade calc(var(--tui-duration) / 3) linear calc(var(--t-collapse-delay) + var(--tui-duration) * 5 / 3) reverse forwards}input[tuiPincode][data-state=success][type=password]+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeWave var(--t-animation-cycle) linear 1 calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),tuiPincodeWavePos var(--t-animation-cycle) linear 1 calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),tuiPincodeDotIn calc(var(--tui-duration) * 2) var(--tui-curve-productive-exit) max(var(--t-collapse-start),.1ms) forwards,tuiPincodeDotCollapsePos calc(var(--tui-duration) * 2) var(--tui-curve-expressive-exit) max(var(--t-collapse-delay),.1ms) forwards,tuiPincodeDotCollapseScale calc(var(--tui-duration) * 2) var(--tui-curve-productive-exit) max(var(--t-collapse-delay),.1ms) forwards,tuiFade calc(var(--tui-duration) / 3) linear calc(var(--t-collapse-delay) + var(--tui-duration) * 5 / 3) reverse forwards}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content{--t-pitch: 2.5rem}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item{inline-size:1.25rem;block-size:2.25rem}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-dot{transition:translate calc(var(--tui-duration) * 2) var(--tui-curve-expressive-entrance),color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-productive-standard),background-color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-productive-standard)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-dot_value{transition:scale calc(var(--tui-duration) * 2) var(--tui-curve-expressive-exit),color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-productive-standard),background-color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-productive-standard)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item_filled .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item_filled .t-dot_value{transition:color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-productive-standard),background-color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-productive-standard)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-value{font-size:1.75rem;font-weight:700;line-height:1}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-dot_placeholder{transition:scale calc(var(--tui-duration) * 2) var(--tui-curve-expressive-exit)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item:not(.t-item_filled) .t-dot_placeholder{transition:scale var(--tui-duration) var(--tui-curve-expressive-standard) var(--tui-duration)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled):before{display:none}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled) .t-dot_placeholder{scale:1}[data-platform]:not([data-platform=web]) input[tuiPincode]:not([data-state]):not([type=password]):not(._paste)+.t-content .t-item_filled .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode]:not([data-state])[type=password]:not(._paste)+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeInput calc(var(--tui-duration) * 2) cubic-bezier(.34,1.56,.64,1)}[data-platform]:not([data-platform=web]) input[tuiPincode]:not([data-state])[type=password]+.t-content .t-item_filled .t-dot_value{transition:background-color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-expressive-standard)}[data-platform]:not([data-platform=web]) input[tuiPincode][data-state=pending]:not(._paste):not([type=password])+.t-content .t-item_filled:last-of-type .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode][data-state=pending]:not(._paste)[type=password]+.t-content .t-item_filled:last-of-type .t-dot_value{animation:tuiPincodeInput calc(var(--tui-duration) * 2) cubic-bezier(.34,1.56,.64,1),tuiPincodeWave var(--t-animation-cycle) linear infinite,tuiPincodeWavePos var(--t-animation-cycle) linear infinite;animation-delay:0ms,calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay))}[data-platform]:not([data-platform=web]) input[tuiPincode][data-state=pending]._paste:not([type=password])+.t-content .t-item_filled .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode][data-state=pending]._paste[type=password]+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeInput calc(var(--tui-duration) * 2) cubic-bezier(.34,1.56,.64,1),tuiPincodeWave var(--t-animation-cycle) linear infinite,tuiPincodeWavePos var(--t-animation-cycle) linear infinite;animation-delay:0ms,calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay))}[data-platform]:not([data-platform=web]) input[tuiPincode][type=password]+.t-content .t-item:not(.t-item_filled) .t-dot_value{transition:none}@keyframes tuiPincodeItemSpread{0%{translate:0}to{translate:calc(var(--t-offset) * var(--t-pitch) / 3) 0}}@keyframes tuiPincodeDotCollapsePos{to{translate:calc(-50% - var(--t-offset) * var(--t-pitch)) -50%}}@keyframes tuiPincodeDotCollapseScale{0%{scale:1.1}to{scale:0}}@keyframes tuiPincodeDotIn{to{scale:1.1}}@keyframes tuiPincodeInput{0%{scale:0}}@keyframes tuiPincodeShake{0%,to{translate:0}20%{translate:-.125rem 0}40%{translate:.125rem 0}60%{translate:-.125rem 0}80%{translate:.125rem 0}}@keyframes tuiPincodeWave{0%{animation-timing-function:var(--tui-curve-expressive-standard);scale:1}20%{animation-timing-function:var(--tui-curve-productive-entrance);scale:1.2}50%,to{scale:1}}@keyframes tuiPincodeWavePos{0%,50%,to{translate:-50% -50%}20%{translate:-50% calc(-50% - .25rem)}}@keyframes tuiPincodeScale{0%{transform:scale(0)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
22
22
|
}
|
|
23
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiPincodeContent, decorators: [{
|
|
24
24
|
type: Component,
|
|
@@ -27,7 +27,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
27
27
|
'[style.--t-length]': 'pincode.maxLength()',
|
|
28
28
|
'(animationend)': 'pincode.onAnimationEnd($event)',
|
|
29
29
|
'(animationstart)': 'pincode.onAnimationStart($event)',
|
|
30
|
-
}, template: "@for (_ of '-'.repeat(pincode.maxLength()); track $index) {\n <span\n class=\"t-item\"\n [class.t-item_filled]=\"pincode.value()[$index]\"\n [class.t-item_focus]=\"pincode.isFocused($index)\"\n [style.--t-index]=\"$index\"\n (pointerdown.prevent)=\"pincode.el.focus()\"\n >\n <span class=\"t-dot t-dot_placeholder\"></span>\n <span class=\"t-dot t-dot_value\"></span>\n <span class=\"t-value\">{{ pincode.el.type === 'password' ? '' : pincode.value()[$index] }}</span>\n </span>\n}\n", styles: ["tui-textfield:has(input[tuiPincode]){inline-size:max-content}input[tuiPincode]{position:absolute;inset:0;color:transparent;background:transparent;border:none;outline:none;caret-color:transparent;cursor:text}input[tuiPincode]::selection{background:transparent}input[tuiPincode]::placeholder{color:transparent!important}input[tuiPincode]+.t-content{--t-pitch: 2.625rem;gap:0;margin-inline:auto;cursor:text}input[tuiPincode]+.t-content [tuiButtonX]{display:none}input[tuiPincode]+.t-content tui-pincode-content{display:flex;align-items:center;justify-content:center;gap:1.25rem;block-size:100%}input[tuiPincode]+.t-content .t-item{--t-duration: min(var(--tui-duration), .15s);--t-stagger: calc(var(--t-duration) * 2 / 3);--t-animation-delay: calc(var(--t-index) * var(--t-stagger));--t-animation-cycle: calc(var(--t-duration) * 14 / 3 + (var(--t-length) - 1) * var(--t-stagger));--t-offset: calc(var(--t-index) - (var(--t-length) - 1) / 2);--t-collapse-start: calc(var(--t-animation-cycle) + var(--t-duration) * 4 / 3);--t-collapse-delay: calc(var(--t-collapse-start) + var(--t-duration) * 14 / 3);position:relative;flex:none;inline-size:1.375rem;block-size:2.5rem;cursor:text}input[tuiPincode]+.t-content .t-value,input[tuiPincode]+.t-content .t-dot{position:absolute;inset-block-start:50%;inset-inline-start:50%;translate:-50% -50%;scale:0;transition:color calc(var(--t-duration) * 4 / 3) var(--tui-curve-productive-standard),background-color calc(var(--t-duration) * 4 / 3) var(--tui-curve-productive-standard)}input[tuiPincode]+.t-content .t-value{color:var(--tui-text-primary);font-size:2.25rem;font-weight:500;line-height:2.5rem;letter-spacing:0}input[tuiPincode]+.t-content .t-dot{inline-size:1rem;block-size:1rem;background:var(--tui-background-neutral-2);border-radius:50%}input[tuiPincode]+.t-content .t-item:not(.t-item_filled) .t-dot_placeholder{scale:1}input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled):before{content:\"\";position:absolute;inset-block-start:50%;inset-inline-start:50%;inline-size:.125rem;block-size:2.25rem;border-radius:.0625rem;background:var(--tui-text-primary);translate:-50% -50%;animation:tuiFade 1s steps(2,jump-none) infinite reverse}input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled) .t-dot_placeholder,input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled) .t-dot_value{scale:0}input[tuiPincode]:not([type=password])+.t-content .t-item_filled .t-value{scale:1}input[tuiPincode][type=password]+.t-content .t-item_filled .t-dot_value{scale:1;background:var(--tui-text-action)}input[tuiPincode][data-state=pending]:not([type=password])+.t-content .t-item_filled .t-value,input[tuiPincode][data-state=pending][type=password]+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeWave var(--t-animation-cycle) linear infinite,tuiPincodeWavePos var(--t-animation-cycle) linear infinite;animation-delay:calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay))}input[tuiPincode][data-state=invalid]+.t-content .t-value{color:var(--tui-text-negative)}input[tuiPincode][data-state=invalid]+.t-content .t-item_filled .t-dot_value{background:var(--tui-text-negative)}input[tuiPincode][data-state=invalid]+.t-content .t-item{animation:tuiPincodeShake calc(var(--t-duration) * 10 / 3) var(--tui-curve-productive-standard)}input[tuiPincode][data-state=invalid]+.t-content .t-item_filled .t-dot_placeholder{scale:1;animation:tuiPincodeScale var(--t-duration) var(--tui-curve-expressive-standard) max(calc(var(--t-animation-cycle) + var(--t-duration)),1s) both}input[tuiPincode][data-state=invalid]:not([type=password])+.t-content .t-item_filled .t-value,input[tuiPincode][data-state=invalid][type=password]+.t-content .t-item_filled .t-dot_value{animation:tuiScale calc(var(--t-duration) * 4 / 3) var(--tui-curve-expressive-exit) max(var(--t-animation-cycle),1s) reverse forwards}input[tuiPincode][data-state=success]+.t-content .t-value{color:var(--tui-text-action)}input[tuiPincode][data-state=success]+.t-content .t-item_filled{animation:tuiPincodeItemSpread calc(var(--t-duration) * 14 / 3) var(--tui-curve-productive-entrance) var(--t-collapse-start) forwards}input[tuiPincode][data-state=success]+.t-content .t-item_filled .t-dot_value{background:var(--tui-text-action)}input[tuiPincode][data-state=success]:not([type=password])+.t-content .t-item_filled .t-value{animation:tuiPincodeWave var(--t-animation-cycle) linear 1 calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),tuiPincodeWavePos var(--t-animation-cycle) linear 1 calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),tuiScale calc(var(--t-duration) * 4 / 3) var(--tui-curve-expressive-exit) var(--t-collapse-start) reverse forwards}input[tuiPincode][data-state=success]:not([type=password])+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeDotIn calc(var(--t-duration) * 2) var(--tui-curve-productive-exit) max(var(--t-collapse-start),.1ms) forwards,tuiPincodeDotCollapsePos calc(var(--t-duration) * 2) var(--tui-curve-expressive-exit) max(var(--t-collapse-delay),.1ms) forwards,tuiPincodeDotCollapseScale calc(var(--t-duration) * 2) var(--tui-curve-productive-exit) max(var(--t-collapse-delay),.1ms) forwards,tuiFade calc(var(--t-duration) / 3) linear calc(var(--t-collapse-delay) + var(--t-duration) * 5 / 3) reverse forwards}input[tuiPincode][data-state=success][type=password]+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeWave var(--t-animation-cycle) linear 1 calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),tuiPincodeWavePos var(--t-animation-cycle) linear 1 calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),tuiPincodeDotIn calc(var(--t-duration) * 2) var(--tui-curve-productive-exit) max(var(--t-collapse-start),.1ms) forwards,tuiPincodeDotCollapsePos calc(var(--t-duration) * 2) var(--tui-curve-expressive-exit) max(var(--t-collapse-delay),.1ms) forwards,tuiPincodeDotCollapseScale calc(var(--t-duration) * 2) var(--tui-curve-productive-exit) max(var(--t-collapse-delay),.1ms) forwards,tuiFade calc(var(--t-duration) / 3) linear calc(var(--t-collapse-delay) + var(--t-duration) * 5 / 3) reverse forwards}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content{--t-pitch: 2.5rem}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item{inline-size:1.25rem;block-size:2.25rem}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-dot{transition:translate calc(var(--t-duration) * 2) var(--tui-curve-expressive-entrance),color calc(var(--t-duration) * 4 / 3) var(--tui-curve-productive-standard),background-color calc(var(--t-duration) * 4 / 3) var(--tui-curve-productive-standard)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-dot_value{transition:scale calc(var(--t-duration) * 2) var(--tui-curve-expressive-exit),color calc(var(--t-duration) * 4 / 3) var(--tui-curve-productive-standard),background-color calc(var(--t-duration) * 4 / 3) var(--tui-curve-productive-standard)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-value{font-size:1.75rem;font-weight:700;line-height:1}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-dot_placeholder{transition:scale calc(var(--t-duration) * 2) var(--tui-curve-expressive-exit)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item:not(.t-item_filled) .t-dot_placeholder{transition:scale var(--t-duration) var(--tui-curve-expressive-standard) var(--t-duration)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled):before{display:none}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled) .t-dot_placeholder{scale:1}[data-platform]:not([data-platform=web]) input[tuiPincode]:not([data-state]):not([type=password]):not(._paste)+.t-content .t-item_filled .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode]:not([data-state])[type=password]:not(._paste)+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeInput calc(var(--t-duration) * 2) cubic-bezier(.34,1.56,.64,1)}[data-platform]:not([data-platform=web]) input[tuiPincode]:not([data-state])[type=password]+.t-content .t-item_filled .t-dot_value{transition:background-color calc(var(--t-duration) * 4 / 3) var(--tui-curve-expressive-standard)}[data-platform]:not([data-platform=web]) input[tuiPincode][data-state=pending]:not(._paste):not([type=password])+.t-content .t-item_filled:last-of-type .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode][data-state=pending]:not(._paste)[type=password]+.t-content .t-item_filled:last-of-type .t-dot_value{animation:tuiPincodeInput calc(var(--t-duration) * 2) cubic-bezier(.34,1.56,.64,1),tuiPincodeWave var(--t-animation-cycle) linear infinite,tuiPincodeWavePos var(--t-animation-cycle) linear infinite;animation-delay:0ms,calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay))}[data-platform]:not([data-platform=web]) input[tuiPincode][data-state=pending]._paste:not([type=password])+.t-content .t-item_filled .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode][data-state=pending]._paste[type=password]+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeInput calc(var(--t-duration) * 2) cubic-bezier(.34,1.56,.64,1),tuiPincodeWave var(--t-animation-cycle) linear infinite,tuiPincodeWavePos var(--t-animation-cycle) linear infinite;animation-delay:0ms,calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay))}[data-platform]:not([data-platform=web]) input[tuiPincode][type=password]+.t-content .t-item:not(.t-item_filled) .t-dot_value{transition:none}@keyframes tuiPincodeItemSpread{0%{translate:0}to{translate:calc(var(--t-offset) * var(--t-pitch) / 3) 0}}@keyframes tuiPincodeDotCollapsePos{to{translate:calc(-50% - var(--t-offset) * var(--t-pitch)) -50%}}@keyframes tuiPincodeDotCollapseScale{0%{scale:1.1}to{scale:0}}@keyframes tuiPincodeDotIn{to{scale:1.1}}@keyframes tuiPincodeInput{0%{scale:0}}@keyframes tuiPincodeShake{0%,to{translate:0}20%{translate:-.125rem 0}40%{translate:.125rem 0}60%{translate:-.125rem 0}80%{translate:.125rem 0}}@keyframes tuiPincodeWave{0%{animation-timing-function:var(--tui-curve-expressive-standard);scale:1}20%{animation-timing-function:var(--tui-curve-productive-entrance);scale:1.2}50%,to{scale:1}}@keyframes tuiPincodeWavePos{0%,50%,to{translate:-50% -50%}20%{translate:-50% calc(-50% - .25rem)}}@keyframes tuiPincodeScale{0%{transform:scale(0)}}\n"] }]
|
|
30
|
+
}, template: "@for (_ of '-'.repeat(pincode.maxLength()); track $index) {\n <span\n class=\"t-item\"\n [class.t-item_filled]=\"pincode.value()[$index]\"\n [class.t-item_focus]=\"pincode.isFocused($index)\"\n [style.--t-index]=\"$index\"\n (pointerdown.prevent)=\"pincode.el.focus()\"\n >\n <span class=\"t-dot t-dot_placeholder\"></span>\n <span class=\"t-dot t-dot_value\"></span>\n <span class=\"t-value\">{{ pincode.el.type === 'password' ? '' : pincode.value()[$index] }}</span>\n </span>\n}\n", styles: ["tui-textfield:has(input[tuiPincode]){inline-size:max-content}input[tuiPincode]{position:absolute;inset:0;color:transparent;background:transparent;border:none;outline:none;caret-color:transparent;cursor:text}input[tuiPincode]::selection{background:transparent}input[tuiPincode]::placeholder{color:transparent!important}input[tuiPincode]+.t-content{--t-pitch: 2.625rem;gap:0;margin-inline:auto;cursor:text}input[tuiPincode]+.t-content [tuiButtonX]{display:none}input[tuiPincode]+.t-content tui-pincode-content{display:flex;align-items:center;justify-content:center;gap:1.25rem;block-size:100%}input[tuiPincode]+.t-content .t-item{--t-stagger: calc(var(--tui-duration) * 2 / 3);--t-animation-delay: calc(var(--t-index) * var(--t-stagger));--t-animation-cycle: calc(var(--tui-duration) * 14 / 3 + (var(--t-length) - 1) * var(--t-stagger));--t-offset: calc(var(--t-index) - (var(--t-length) - 1) / 2);--t-collapse-start: calc(var(--t-animation-cycle) + var(--tui-duration) * 4 / 3);--t-collapse-delay: calc(var(--t-collapse-start) + var(--tui-duration) * 14 / 3);position:relative;flex:none;inline-size:1.375rem;block-size:2.5rem;cursor:text}input[tuiPincode]+.t-content .t-value,input[tuiPincode]+.t-content .t-dot{position:absolute;inset-block-start:50%;inset-inline-start:50%;translate:-50% -50%;scale:0;transition:color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-productive-standard),background-color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-productive-standard)}input[tuiPincode]+.t-content .t-value{color:var(--tui-text-primary);font-size:2.25rem;font-weight:500;line-height:2.5rem;letter-spacing:0}input[tuiPincode]+.t-content .t-dot{inline-size:1rem;block-size:1rem;background:var(--tui-background-neutral-2);border-radius:50%}input[tuiPincode]+.t-content .t-item:not(.t-item_filled) .t-dot_placeholder{scale:1}input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled):before{content:\"\";position:absolute;inset-block-start:50%;inset-inline-start:50%;inline-size:.125rem;block-size:2.25rem;border-radius:.0625rem;background:var(--tui-text-primary);translate:-50% -50%;animation:tuiFade 1s steps(2,jump-none) infinite reverse}input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled) .t-dot_placeholder,input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled) .t-dot_value{scale:0}input[tuiPincode]:not([type=password])+.t-content .t-item_filled .t-value{scale:1}input[tuiPincode][type=password]+.t-content .t-item_filled .t-dot_value{scale:1;background:var(--tui-text-action)}input[tuiPincode][data-state=pending]:not([type=password])+.t-content .t-item_filled .t-value,input[tuiPincode][data-state=pending][type=password]+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeWave var(--t-animation-cycle) linear infinite,tuiPincodeWavePos var(--t-animation-cycle) linear infinite;animation-delay:calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay))}input[tuiPincode][data-state=invalid]+.t-content .t-value{color:var(--tui-text-negative)}input[tuiPincode][data-state=invalid]+.t-content .t-item_filled .t-dot_value{background:var(--tui-text-negative)}input[tuiPincode][data-state=invalid]+.t-content .t-item{animation:tuiPincodeShake calc(var(--tui-duration) * 10 / 3) var(--tui-curve-productive-standard)}input[tuiPincode][data-state=invalid]+.t-content .t-item_filled .t-dot_placeholder{scale:1;animation:tuiPincodeScale var(--tui-duration) var(--tui-curve-expressive-standard) max(calc(var(--t-animation-cycle) + var(--tui-duration)),1s) both}input[tuiPincode][data-state=invalid]:not([type=password])+.t-content .t-item_filled .t-value,input[tuiPincode][data-state=invalid][type=password]+.t-content .t-item_filled .t-dot_value{animation:tuiScale calc(var(--tui-duration) * 4 / 3) var(--tui-curve-expressive-exit) max(var(--t-animation-cycle),1s) reverse forwards}input[tuiPincode][data-state=success]+.t-content .t-value{color:var(--tui-text-action)}input[tuiPincode][data-state=success]+.t-content .t-item_filled{animation:tuiPincodeItemSpread calc(var(--tui-duration) * 14 / 3) var(--tui-curve-productive-entrance) var(--t-collapse-start) forwards}input[tuiPincode][data-state=success]+.t-content .t-item_filled .t-dot_value{background:var(--tui-text-action)}input[tuiPincode][data-state=success]:not([type=password])+.t-content .t-item_filled .t-value{animation:tuiPincodeWave var(--t-animation-cycle) linear 1 calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),tuiPincodeWavePos var(--t-animation-cycle) linear 1 calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),tuiScale calc(var(--tui-duration) * 4 / 3) var(--tui-curve-expressive-exit) var(--t-collapse-start) reverse forwards}input[tuiPincode][data-state=success]:not([type=password])+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeDotIn calc(var(--tui-duration) * 2) var(--tui-curve-productive-exit) max(var(--t-collapse-start),.1ms) forwards,tuiPincodeDotCollapsePos calc(var(--tui-duration) * 2) var(--tui-curve-expressive-exit) max(var(--t-collapse-delay),.1ms) forwards,tuiPincodeDotCollapseScale calc(var(--tui-duration) * 2) var(--tui-curve-productive-exit) max(var(--t-collapse-delay),.1ms) forwards,tuiFade calc(var(--tui-duration) / 3) linear calc(var(--t-collapse-delay) + var(--tui-duration) * 5 / 3) reverse forwards}input[tuiPincode][data-state=success][type=password]+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeWave var(--t-animation-cycle) linear 1 calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),tuiPincodeWavePos var(--t-animation-cycle) linear 1 calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),tuiPincodeDotIn calc(var(--tui-duration) * 2) var(--tui-curve-productive-exit) max(var(--t-collapse-start),.1ms) forwards,tuiPincodeDotCollapsePos calc(var(--tui-duration) * 2) var(--tui-curve-expressive-exit) max(var(--t-collapse-delay),.1ms) forwards,tuiPincodeDotCollapseScale calc(var(--tui-duration) * 2) var(--tui-curve-productive-exit) max(var(--t-collapse-delay),.1ms) forwards,tuiFade calc(var(--tui-duration) / 3) linear calc(var(--t-collapse-delay) + var(--tui-duration) * 5 / 3) reverse forwards}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content{--t-pitch: 2.5rem}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item{inline-size:1.25rem;block-size:2.25rem}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-dot{transition:translate calc(var(--tui-duration) * 2) var(--tui-curve-expressive-entrance),color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-productive-standard),background-color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-productive-standard)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-dot_value{transition:scale calc(var(--tui-duration) * 2) var(--tui-curve-expressive-exit),color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-productive-standard),background-color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-productive-standard)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item_filled .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item_filled .t-dot_value{transition:color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-productive-standard),background-color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-productive-standard)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-value{font-size:1.75rem;font-weight:700;line-height:1}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-dot_placeholder{transition:scale calc(var(--tui-duration) * 2) var(--tui-curve-expressive-exit)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item:not(.t-item_filled) .t-dot_placeholder{transition:scale var(--tui-duration) var(--tui-curve-expressive-standard) var(--tui-duration)}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled):before{display:none}[data-platform]:not([data-platform=web]) input[tuiPincode]+.t-content .t-item_focus:not(.t-item_filled) .t-dot_placeholder{scale:1}[data-platform]:not([data-platform=web]) input[tuiPincode]:not([data-state]):not([type=password]):not(._paste)+.t-content .t-item_filled .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode]:not([data-state])[type=password]:not(._paste)+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeInput calc(var(--tui-duration) * 2) cubic-bezier(.34,1.56,.64,1)}[data-platform]:not([data-platform=web]) input[tuiPincode]:not([data-state])[type=password]+.t-content .t-item_filled .t-dot_value{transition:background-color calc(var(--tui-duration) * 4 / 3) var(--tui-curve-expressive-standard)}[data-platform]:not([data-platform=web]) input[tuiPincode][data-state=pending]:not(._paste):not([type=password])+.t-content .t-item_filled:last-of-type .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode][data-state=pending]:not(._paste)[type=password]+.t-content .t-item_filled:last-of-type .t-dot_value{animation:tuiPincodeInput calc(var(--tui-duration) * 2) cubic-bezier(.34,1.56,.64,1),tuiPincodeWave var(--t-animation-cycle) linear infinite,tuiPincodeWavePos var(--t-animation-cycle) linear infinite;animation-delay:0ms,calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay))}[data-platform]:not([data-platform=web]) input[tuiPincode][data-state=pending]._paste:not([type=password])+.t-content .t-item_filled .t-value,[data-platform]:not([data-platform=web]) input[tuiPincode][data-state=pending]._paste[type=password]+.t-content .t-item_filled .t-dot_value{animation:tuiPincodeInput calc(var(--tui-duration) * 2) cubic-bezier(.34,1.56,.64,1),tuiPincodeWave var(--t-animation-cycle) linear infinite,tuiPincodeWavePos var(--t-animation-cycle) linear infinite;animation-delay:0ms,calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay)),calc(var(--t-animation-cycle) / 2 + var(--t-animation-delay))}[data-platform]:not([data-platform=web]) input[tuiPincode][type=password]+.t-content .t-item:not(.t-item_filled) .t-dot_value{transition:none}@keyframes tuiPincodeItemSpread{0%{translate:0}to{translate:calc(var(--t-offset) * var(--t-pitch) / 3) 0}}@keyframes tuiPincodeDotCollapsePos{to{translate:calc(-50% - var(--t-offset) * var(--t-pitch)) -50%}}@keyframes tuiPincodeDotCollapseScale{0%{scale:1.1}to{scale:0}}@keyframes tuiPincodeDotIn{to{scale:1.1}}@keyframes tuiPincodeInput{0%{scale:0}}@keyframes tuiPincodeShake{0%,to{translate:0}20%{translate:-.125rem 0}40%{translate:.125rem 0}60%{translate:-.125rem 0}80%{translate:.125rem 0}}@keyframes tuiPincodeWave{0%{animation-timing-function:var(--tui-curve-expressive-standard);scale:1}20%{animation-timing-function:var(--tui-curve-productive-entrance);scale:1.2}50%,to{scale:1}}@keyframes tuiPincodeWavePos{0%,50%,to{translate:-50% -50%}20%{translate:-50% calc(-50% - .25rem)}}@keyframes tuiPincodeScale{0%{transform:scale(0)}}\n"] }]
|
|
31
31
|
}] });
|
|
32
32
|
|
|
33
33
|
const ANIMATION = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-pincode.mjs","sources":["../../../projects/kit/components/pincode/pincode-content.component.ts","../../../projects/kit/components/pincode/pincode-content.template.html","../../../projects/kit/components/pincode/pincode.component.ts","../../../projects/kit/components/pincode/pincode.ts","../../../projects/kit/components/pincode/taiga-ui-kit-components-pincode.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport {TuiPincodeComponent} from './pincode.component';\n\n@Component({\n selector: 'tui-pincode-content',\n templateUrl: './pincode-content.template.html',\n styleUrl: './pincode.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'aria-hidden': 'true',\n '[style.--t-length]': 'pincode.maxLength()',\n '(animationend)': 'pincode.onAnimationEnd($event)',\n '(animationstart)': 'pincode.onAnimationStart($event)',\n },\n})\nexport class TuiPincodeContent {\n protected readonly pincode = inject(TuiPincodeComponent);\n}\n","@for (_ of '-'.repeat(pincode.maxLength()); track $index) {\n <span\n class=\"t-item\"\n [class.t-item_filled]=\"pincode.value()[$index]\"\n [class.t-item_focus]=\"pincode.isFocused($index)\"\n [style.--t-index]=\"$index\"\n (pointerdown.prevent)=\"pincode.el.focus()\"\n >\n <span class=\"t-dot t-dot_placeholder\"></span>\n <span class=\"t-dot t-dot_value\"></span>\n <span class=\"t-value\">{{ pincode.el.type === 'password' ? '' : pincode.value()[$index] }}</span>\n </span>\n}\n","import {computed, Directive, effect, input, output, signal} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {maskitoCaretGuard} from '@maskito/kit';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAsTextfieldContent,\n TuiTextfieldContent,\n} from '@taiga-ui/core/components/textfield';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\nimport {TuiPincodeContent} from './pincode-content.component';\n\nconst ANIMATION = {\n confirmed: 'tuiPincodeDotIn',\n collapsed: 'tuiPincodeDotCollapseScale',\n rejected: 'tuiPincodeScale',\n} as const;\n\n@Directive({\n selector: 'input[tuiPincode]',\n providers: [\n tuiAsTextfieldContent(() => TuiPincodeContent),\n tuiFallbackValueProvider(''),\n ],\n hostDirectives: [MaskitoDirective, TuiTextfieldContent],\n host: {\n autocomplete: 'one-time-code',\n inputmode: 'numeric',\n spellcheck: 'false',\n '[attr.data-state]': 'state()',\n '[class._paste]': 'paste()',\n '[maxLength]': 'maxLength()',\n '[value]': 'value()',\n '(input)': 'onInput($event.target.value)',\n },\n})\nexport class TuiPincodeComponent extends TuiControl<string> {\n private phase = 0;\n private bounced = false;\n\n public readonly el = tuiInjectElement<HTMLInputElement>();\n public readonly paste = signal(false);\n public readonly focused = tuiFocusedIn(this.el);\n\n protected readonly maskito = tuiMaskito({\n mask: /^\\d+$/,\n overwriteMode: 'replace',\n plugins: [maskitoCaretGuard((value) => [value.length, value.length])],\n postprocessors: [(newState, initial) => (this.state() ? initial : newState)],\n });\n\n public readonly maxLength = input(4);\n public readonly confirmed = output();\n public readonly finished = output();\n\n protected readonly state = computed<'invalid' | 'pending' | 'success' | null>(() => {\n if (tuiIsPresent(this.pseudoInvalid())) {\n return this.pseudoInvalid() ? 'invalid' : 'success';\n }\n\n return this.value().length === this.maxLength() ? 'pending' : null;\n });\n\n protected readonly effect = effect(() => {\n this.bounced = false;\n this.phase = tuiIsPresent(this.pseudoInvalid()) ? this.value().length : 0;\n });\n\n public onAnimationStart({animationName}: AnimationEvent): void {\n if (animationName === ANIMATION.confirmed && !this.bounced) {\n this.bounced = true;\n this.confirmed.emit();\n }\n }\n\n public onAnimationEnd({animationName}: AnimationEvent): void {\n const isCollapse = animationName === ANIMATION.collapsed;\n const isReject = animationName === ANIMATION.rejected;\n\n if ((!isReject && !isCollapse) || --this.phase) {\n return;\n }\n\n if (isReject) {\n this.onChange('');\n }\n\n this.finished.emit();\n }\n\n public isFocused(index: number): boolean {\n return (\n this.focused() &&\n index === Math.min(this.value().length, this.maxLength() - 1)\n );\n }\n\n protected onInput(value: string): void {\n this.paste.set(!this.value().length && value.length === this.maxLength());\n this.onChange(value);\n }\n}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\n\nimport {TuiPincodeComponent} from './pincode.component';\n\nexport const TuiPincode = [\n TuiPincodeComponent,\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n] as const;\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-kit-components-pincode.mjs","sources":["../../../projects/kit/components/pincode/pincode-content.component.ts","../../../projects/kit/components/pincode/pincode-content.template.html","../../../projects/kit/components/pincode/pincode.component.ts","../../../projects/kit/components/pincode/pincode.ts","../../../projects/kit/components/pincode/taiga-ui-kit-components-pincode.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport {TuiPincodeComponent} from './pincode.component';\n\n@Component({\n selector: 'tui-pincode-content',\n templateUrl: './pincode-content.template.html',\n styleUrl: './pincode.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'aria-hidden': 'true',\n '[style.--t-length]': 'pincode.maxLength()',\n '(animationend)': 'pincode.onAnimationEnd($event)',\n '(animationstart)': 'pincode.onAnimationStart($event)',\n },\n})\nexport class TuiPincodeContent {\n protected readonly pincode = inject(TuiPincodeComponent);\n}\n","@for (_ of '-'.repeat(pincode.maxLength()); track $index) {\n <span\n class=\"t-item\"\n [class.t-item_filled]=\"pincode.value()[$index]\"\n [class.t-item_focus]=\"pincode.isFocused($index)\"\n [style.--t-index]=\"$index\"\n (pointerdown.prevent)=\"pincode.el.focus()\"\n >\n <span class=\"t-dot t-dot_placeholder\"></span>\n <span class=\"t-dot t-dot_value\"></span>\n <span class=\"t-value\">{{ pincode.el.type === 'password' ? '' : pincode.value()[$index] }}</span>\n </span>\n}\n","import {computed, Directive, effect, input, output, signal} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {maskitoCaretGuard} from '@maskito/kit';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAsTextfieldContent,\n TuiTextfieldContent,\n} from '@taiga-ui/core/components/textfield';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\nimport {TuiPincodeContent} from './pincode-content.component';\n\nconst ANIMATION = {\n confirmed: 'tuiPincodeDotIn',\n collapsed: 'tuiPincodeDotCollapseScale',\n rejected: 'tuiPincodeScale',\n} as const;\n\n@Directive({\n selector: 'input[tuiPincode]',\n providers: [\n tuiAsTextfieldContent(() => TuiPincodeContent),\n tuiFallbackValueProvider(''),\n ],\n hostDirectives: [MaskitoDirective, TuiTextfieldContent],\n host: {\n autocomplete: 'one-time-code',\n inputmode: 'numeric',\n spellcheck: 'false',\n '[attr.data-state]': 'state()',\n '[class._paste]': 'paste()',\n '[maxLength]': 'maxLength()',\n '[value]': 'value()',\n '(input)': 'onInput($event.target.value)',\n },\n})\nexport class TuiPincodeComponent extends TuiControl<string> {\n private phase = 0;\n private bounced = false;\n\n public readonly el = tuiInjectElement<HTMLInputElement>();\n public readonly paste = signal(false);\n public readonly focused = tuiFocusedIn(this.el);\n\n protected readonly maskito = tuiMaskito({\n mask: /^\\d+$/,\n overwriteMode: 'replace',\n plugins: [maskitoCaretGuard((value) => [value.length, value.length])],\n postprocessors: [(newState, initial) => (this.state() ? initial : newState)],\n });\n\n public readonly maxLength = input(4);\n public readonly confirmed = output();\n public readonly finished = output();\n\n protected readonly state = computed<'invalid' | 'pending' | 'success' | null>(() => {\n if (tuiIsPresent(this.pseudoInvalid())) {\n return this.pseudoInvalid() ? 'invalid' : 'success';\n }\n\n return this.value().length === this.maxLength() ? 'pending' : null;\n });\n\n protected readonly effect = effect(() => {\n this.bounced = false;\n this.phase = tuiIsPresent(this.pseudoInvalid()) ? this.value().length : 0;\n });\n\n public onAnimationStart({animationName}: AnimationEvent): void {\n if (animationName === ANIMATION.confirmed && !this.bounced) {\n this.bounced = true;\n this.confirmed.emit();\n }\n }\n\n public onAnimationEnd({animationName}: AnimationEvent): void {\n const isCollapse = animationName === ANIMATION.collapsed;\n const isReject = animationName === ANIMATION.rejected;\n\n if ((!isReject && !isCollapse) || --this.phase) {\n return;\n }\n\n if (isReject) {\n this.onChange('');\n }\n\n this.finished.emit();\n }\n\n public isFocused(index: number): boolean {\n return (\n this.focused() &&\n index === Math.min(this.value().length, this.maxLength() - 1)\n );\n }\n\n protected onInput(value: string): void {\n this.paste.set(!this.value().length && value.length === this.maxLength());\n this.onChange(value);\n }\n}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\n\nimport {TuiPincodeComponent} from './pincode.component';\n\nexport const TuiPincode = [\n TuiPincodeComponent,\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;MAsBa,iBAAiB,CAAA;AAb9B,IAAA,WAAA,GAAA;AAcuB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAC3D,IAAA;+GAFY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,kTCtB9B,siBAaA,EAAA,MAAA,EAAA,CAAA,u4VAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDSa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAb7B,SAAS;+BACI,qBAAqB,EAAA,aAAA,EAGhB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACF,wBAAA,aAAa,EAAE,MAAM;AACrB,wBAAA,oBAAoB,EAAE,qBAAqB;AAC3C,wBAAA,gBAAgB,EAAE,gCAAgC;AAClD,wBAAA,kBAAkB,EAAE,kCAAkC;AACzD,qBAAA,EAAA,QAAA,EAAA,siBAAA,EAAA,MAAA,EAAA,CAAA,u4VAAA,CAAA,EAAA;;;AEJL,MAAM,SAAS,GAAG;AACd,IAAA,SAAS,EAAE,iBAAiB;AAC5B,IAAA,SAAS,EAAE,4BAA4B;AACvC,IAAA,QAAQ,EAAE,iBAAiB;CACrB;AAoBJ,MAAO,mBAAoB,SAAQ,UAAkB,CAAA;AAlB3D,IAAA,WAAA,GAAA;;QAmBY,IAAA,CAAA,KAAK,GAAG,CAAC;QACT,IAAA,CAAA,OAAO,GAAG,KAAK;QAEP,IAAA,CAAA,EAAE,GAAG,gBAAgB,EAAoB;AACzC,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AACrB,QAAA,IAAA,CAAA,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAE5B,IAAA,CAAA,OAAO,GAAG,UAAU,CAAC;AACpC,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACrE,cAAc,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC;AAC/E,SAAA,CAAC;AAEc,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;QACpB,IAAA,CAAA,SAAS,GAAG,MAAM,EAAE;QACpB,IAAA,CAAA,QAAQ,GAAG,MAAM,EAAE;AAEhB,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAA2C,MAAK;YAC/E,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE;AACpC,gBAAA,OAAO,IAAI,CAAC,aAAa,EAAE,GAAG,SAAS,GAAG,SAAS;YACvD;AAEA,YAAA,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,GAAG,SAAS,GAAG,IAAI;AACtE,QAAA,CAAC,CAAC;AAEiB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAK;AACpC,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;YACpB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC;AAC7E,QAAA,CAAC,CAAC;AAmCL,IAAA;IAjCU,gBAAgB,CAAC,EAAC,aAAa,EAAiB,EAAA;QACnD,IAAI,aAAa,KAAK,SAAS,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACxD,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;QACzB;IACJ;IAEO,cAAc,CAAC,EAAC,aAAa,EAAiB,EAAA;AACjD,QAAA,MAAM,UAAU,GAAG,aAAa,KAAK,SAAS,CAAC,SAAS;AACxD,QAAA,MAAM,QAAQ,GAAG,aAAa,KAAK,SAAS,CAAC,QAAQ;AAErD,QAAA,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YAC5C;QACJ;QAEA,IAAI,QAAQ,EAAE;AACV,YAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB;AAEA,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;IACxB;AAEO,IAAA,SAAS,CAAC,KAAa,EAAA;AAC1B,QAAA,QACI,IAAI,CAAC,OAAO,EAAE;YACd,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAErE;AAEU,IAAA,OAAO,CAAC,KAAa,EAAA;QAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;AACzE,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IACxB;+GAhES,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,8BAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,EAAA,SAAA,EAhBjB;AACP,YAAA,qBAAqB,CAAC,MAAM,iBAAiB,CAAC;YAC9C,wBAAwB,CAAC,EAAE,CAAC;AAC/B,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAaQ,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAlB/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,SAAS,EAAE;AACP,wBAAA,qBAAqB,CAAC,MAAM,iBAAiB,CAAC;wBAC9C,wBAAwB,CAAC,EAAE,CAAC;AAC/B,qBAAA;AACD,oBAAA,cAAc,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;AACvD,oBAAA,IAAI,EAAE;AACF,wBAAA,YAAY,EAAE,eAAe;AAC7B,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,UAAU,EAAE,OAAO;AACnB,wBAAA,mBAAmB,EAAE,SAAS;AAC9B,wBAAA,gBAAgB,EAAE,SAAS;AAC3B,wBAAA,aAAa,EAAE,aAAa;AAC5B,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,SAAS,EAAE,8BAA8B;AAC5C,qBAAA;AACJ,iBAAA;;;AC/BM,MAAM,UAAU,GAAG;IACtB,mBAAmB;IACnB,QAAQ;IACR,qBAAqB;IACrB,4BAA4B;;;ACZhC;;AAEG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, ChangeDetectionStrategy, ViewEncapsulation, Component, Injectable, inject, input, model, computed, output
|
|
2
|
+
import { Directive, ChangeDetectionStrategy, ViewEncapsulation, Component, Injectable, inject, input, model, computed, output } from '@angular/core';
|
|
3
3
|
import { tuiButtonOptionsProvider, TuiButton } from '@taiga-ui/core/components/button';
|
|
4
4
|
import { TUI_VERSION, TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
|
|
5
5
|
import * as i1 from '@taiga-ui/cdk/directives/animated';
|
|
@@ -12,8 +12,8 @@ import { tuiClamp, tuiRound } from '@taiga-ui/cdk/utils/math';
|
|
|
12
12
|
import { TUI_PAGINATION_TEXTS, TUI_PREVIEW_ZOOM_TEXTS, TUI_PREVIEW_TEXTS } from '@taiga-ui/kit/tokens';
|
|
13
13
|
import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
|
|
14
14
|
import { PercentPipe, AsyncPipe } from '@angular/common';
|
|
15
|
+
import { toSignal, toObservable } from '@angular/core/rxjs-interop';
|
|
15
16
|
import { WaMutationObserver } from '@ng-web-apis/mutation-observer';
|
|
16
|
-
import { WaResizeObserver } from '@ng-web-apis/resize-observer';
|
|
17
17
|
import { TuiPan } from '@taiga-ui/cdk/directives/pan';
|
|
18
18
|
import { TuiZoom } from '@taiga-ui/cdk/directives/zoom';
|
|
19
19
|
import { tuiDragAndDropFrom, tuiTypedFromEvent } from '@taiga-ui/cdk/observables';
|
|
@@ -22,7 +22,6 @@ import { tuiPx } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
|
22
22
|
import * as i2 from '@taiga-ui/core/portals/hint';
|
|
23
23
|
import { TuiHint } from '@taiga-ui/core/portals/hint';
|
|
24
24
|
import { skip, switchMap, merge, of, timer, map, startWith, BehaviorSubject, combineLatest } from 'rxjs';
|
|
25
|
-
import { toSignal, toObservable } from '@angular/core/rxjs-interop';
|
|
26
25
|
import * as i1$2 from '@angular/forms';
|
|
27
26
|
import { FormsModule } from '@angular/forms';
|
|
28
27
|
import * as i3 from '@taiga-ui/core/components/slider';
|
|
@@ -46,11 +45,11 @@ class TuiPreviewDialog {
|
|
|
46
45
|
this.context = injectContext();
|
|
47
46
|
}
|
|
48
47
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiPreviewDialog, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: TuiPreviewDialog, isStandalone: true, selector: "tui-preview-dialog", host: { attributes: { "data-tui-version": "5.
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: TuiPreviewDialog, isStandalone: true, selector: "tui-preview-dialog", host: { attributes: { "data-tui-version": "5.14.0" }, listeners: { "document:keydown.esc.prevent": "context.$implicit.complete()" } }, hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: `
|
|
50
49
|
<ng-container *polymorpheusOutlet="context.content as text; context: context">
|
|
51
50
|
{{ text }}
|
|
52
51
|
</ng-container>
|
|
53
|
-
`, isInline: true, styles: ["tui-preview-dialog:where(*[data-tui-version=\"5.
|
|
52
|
+
`, isInline: true, styles: ["tui-preview-dialog:where(*[data-tui-version=\"5.14.0\"]){inline-size:100%;block-size:100%;overflow:hidden}tui-preview-dialog:where(*[data-tui-version=\"5.14.0\"]).tui-enter,tui-preview-dialog:where(*[data-tui-version=\"5.14.0\"]).tui-leave{animation-name:tuiFade,tuiSlide}[tuiAppearance][data-appearance=preview-action]:where(*[data-tui-version=\"5.14.0\"]){background:#686868f5;color:#fff}@media(hover:hover)and (pointer:fine){[tuiAppearance][data-appearance=preview-action]:where(*[data-tui-version=\"5.14.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):hover:not([data-state]){background:#9f9f9fdb}}[tuiAppearance][data-appearance=preview-action]:where(*[data-tui-version=\"5.14.0\"])[data-state=hover]{background:#9f9f9fdb}[tuiAppearance][data-appearance=preview-action]:where(*[data-tui-version=\"5.14.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):active:not([data-state]){background:#9f9f9fbf}[tuiAppearance][data-appearance=preview-action]:where(*[data-tui-version=\"5.14.0\"])[data-state=active]{background:#9f9f9fbf}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
54
53
|
}
|
|
55
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiPreviewDialog, decorators: [{
|
|
56
55
|
type: Component,
|
|
@@ -61,7 +60,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
61
60
|
`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiAnimated], host: {
|
|
62
61
|
'data-tui-version': TUI_VERSION,
|
|
63
62
|
'(document:keydown.esc.prevent)': 'context.$implicit.complete()',
|
|
64
|
-
}, styles: ["tui-preview-dialog:where(*[data-tui-version=\"5.
|
|
63
|
+
}, styles: ["tui-preview-dialog:where(*[data-tui-version=\"5.14.0\"]){inline-size:100%;block-size:100%;overflow:hidden}tui-preview-dialog:where(*[data-tui-version=\"5.14.0\"]).tui-enter,tui-preview-dialog:where(*[data-tui-version=\"5.14.0\"]).tui-leave{animation-name:tuiFade,tuiSlide}[tuiAppearance][data-appearance=preview-action]:where(*[data-tui-version=\"5.14.0\"]){background:#686868f5;color:#fff}@media(hover:hover)and (pointer:fine){[tuiAppearance][data-appearance=preview-action]:where(*[data-tui-version=\"5.14.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):hover:not([data-state]){background:#9f9f9fdb}}[tuiAppearance][data-appearance=preview-action]:where(*[data-tui-version=\"5.14.0\"])[data-state=hover]{background:#9f9f9fdb}[tuiAppearance][data-appearance=preview-action]:where(*[data-tui-version=\"5.14.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):active:not([data-state]){background:#9f9f9fbf}[tuiAppearance][data-appearance=preview-action]:where(*[data-tui-version=\"5.14.0\"])[data-state=active]{background:#9f9f9fbf}\n"] }]
|
|
65
64
|
}] });
|
|
66
65
|
|
|
67
66
|
class TuiPreviewDialogService extends TuiModalService {
|
|
@@ -152,6 +151,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
152
151
|
|
|
153
152
|
const EMPTY_COORDINATES = [0, 0];
|
|
154
153
|
const ROTATION_ANGLE = 90;
|
|
154
|
+
// TODO: Refactor to signals
|
|
155
155
|
class TuiPreviewComponent {
|
|
156
156
|
constructor() {
|
|
157
157
|
this.el = tuiInjectElement();
|
|
@@ -160,7 +160,6 @@ class TuiPreviewComponent {
|
|
|
160
160
|
this.height = 0;
|
|
161
161
|
this.texts = inject(TUI_PREVIEW_TEXTS);
|
|
162
162
|
this.icons = inject(TUI_PREVIEW_ICONS);
|
|
163
|
-
this.cdr = inject(ChangeDetectorRef);
|
|
164
163
|
this.zoom$ = new BehaviorSubject(this.minZoom);
|
|
165
164
|
this.rotation$ = new BehaviorSubject(0);
|
|
166
165
|
this.coordinates$ = new BehaviorSubject(EMPTY_COORDINATES);
|
|
@@ -168,11 +167,11 @@ class TuiPreviewComponent {
|
|
|
168
167
|
passive: true,
|
|
169
168
|
}).pipe(map(TUI_FALSE_HANDLER)), tuiTypedFromEvent(this.el, 'wheel', { passive: true }).pipe(map(TUI_FALSE_HANDLER)));
|
|
170
169
|
this.cursor$ = tuiDragAndDropFrom(this.el).pipe(map(({ stage }) => (stage === 'continues' ? 'grabbing' : 'initial')), startWith('initial'));
|
|
171
|
-
this.
|
|
170
|
+
this.transform = toSignal(combineLatest([
|
|
172
171
|
this.coordinates$.pipe(map(([x, y]) => `${tuiPx(x)}, ${tuiPx(y)}`)),
|
|
173
172
|
this.zoom$,
|
|
174
173
|
this.rotation$,
|
|
175
|
-
]).pipe(map(([translate, zoom, rotation]) => `translate(${translate}) scale(${zoom}) rotate(${rotation}deg)`));
|
|
174
|
+
]).pipe(map(([translate, zoom, rotation]) => `translate(${translate}) scale(${zoom}) rotate(${rotation}deg)`)));
|
|
176
175
|
this.zoomable = input(true);
|
|
177
176
|
this.rotatable = input(false);
|
|
178
177
|
this.initialScale = input(0.8);
|
|
@@ -183,20 +182,18 @@ class TuiPreviewComponent {
|
|
|
183
182
|
onPan(delta) {
|
|
184
183
|
this.coordinates$.next(this.getGuardedCoordinates(this.coordinates$.value[0] + delta[0], this.coordinates$.value[1] + delta[1]));
|
|
185
184
|
}
|
|
186
|
-
onMutation(contentWrapper) {
|
|
187
|
-
const { clientWidth, clientHeight } = contentWrapper;
|
|
188
|
-
this.refresh(clientWidth, clientHeight);
|
|
189
|
-
}
|
|
190
185
|
onZoom({ clientX, clientY, delta }) {
|
|
191
186
|
if (this.zoomable()) {
|
|
192
187
|
this.processZoom(clientX, clientY, delta);
|
|
193
188
|
}
|
|
194
189
|
}
|
|
195
|
-
onResize(
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
190
|
+
onResize({ clientWidth, clientHeight }) {
|
|
191
|
+
this.width = clientWidth;
|
|
192
|
+
this.height = clientHeight;
|
|
193
|
+
this.minZoom = this.calculateMinZoom(clientHeight, clientWidth, this.el.clientHeight, this.el.clientWidth);
|
|
194
|
+
this.zoom$.next(this.minZoom);
|
|
195
|
+
this.coordinates$.next(EMPTY_COORDINATES);
|
|
196
|
+
this.rotation$.next(0);
|
|
200
197
|
}
|
|
201
198
|
reset() {
|
|
202
199
|
this.zoom$.next(this.minZoom);
|
|
@@ -220,14 +217,6 @@ class TuiPreviewComponent {
|
|
|
220
217
|
? tuiRound(Math.min((clientHeight * this.initialScale()) / contentHeight, (clientWidth * this.initialScale()) / contentWidth), 2)
|
|
221
218
|
: 1;
|
|
222
219
|
}
|
|
223
|
-
refresh(width, height) {
|
|
224
|
-
this.width = width;
|
|
225
|
-
this.height = height;
|
|
226
|
-
this.minZoom = this.calculateMinZoom(height, width, this.el.clientHeight, this.el.clientWidth);
|
|
227
|
-
this.zoom$.next(this.minZoom);
|
|
228
|
-
this.coordinates$.next(EMPTY_COORDINATES);
|
|
229
|
-
this.rotation$.next(0);
|
|
230
|
-
}
|
|
231
220
|
processZoom(clientX, clientY, delta) {
|
|
232
221
|
const oldScale = this.zoom$.value;
|
|
233
222
|
const newScale = tuiClamp(oldScale + delta, this.minZoom, 2);
|
|
@@ -248,7 +237,7 @@ class TuiPreviewComponent {
|
|
|
248
237
|
];
|
|
249
238
|
}
|
|
250
239
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
251
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: TuiPreviewComponent, isStandalone: true, selector: "tui-preview", inputs: { zoomable: { classPropertyName: "zoomable", publicName: "zoomable", isSignal: true, isRequired: false, transformFunction: null }, rotatable: { classPropertyName: "rotatable", publicName: "rotatable", isSignal: true, isRequired: false, transformFunction: null }, initialScale: { classPropertyName: "initialScale", publicName: "initialScale", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<section\n #contentWrapper\n attributeFilter=\"src\"\n characterData\n childList\n subtree\n class=\"t-wrapper\"\n [class.t-not-interactive-content]=\"zoomable()\"\n [class.t-transitive]=\"transitioned$ | async\"\n [style.cursor]=\"cursor$ | async\"\n [style.transform]=\"
|
|
240
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: TuiPreviewComponent, isStandalone: true, selector: "tui-preview", inputs: { zoomable: { classPropertyName: "zoomable", publicName: "zoomable", isSignal: true, isRequired: false, transformFunction: null }, rotatable: { classPropertyName: "rotatable", publicName: "rotatable", isSignal: true, isRequired: false, transformFunction: null }, initialScale: { classPropertyName: "initialScale", publicName: "initialScale", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<section\n #contentWrapper\n attributeFilter=\"src\"\n characterData\n childList\n subtree\n class=\"t-wrapper\"\n [class.t-not-interactive-content]=\"zoomable()\"\n [class.t-transitive]=\"transitioned$ | async\"\n [style.cursor]=\"cursor$ | async\"\n [style.transform]=\"transform()\"\n (resize)=\"onResize(contentWrapper)\"\n (tuiPan)=\"onPan($event)\"\n (tuiZoom)=\"onZoom($event)\"\n (waMutationObserver)=\"onResize(contentWrapper)\"\n>\n <ng-content />\n</section>\n<header class=\"t-header\">\n <div class=\"t-title\">\n <ng-content select=\"tui-preview-title\" />\n </div>\n <ng-content select=\"tui-preview-pagination\" />\n <div class=\"t-actions\">\n <ng-content select=\"[tuiPreviewAction]\" />\n </div>\n</header>\n<footer class=\"t-footer\">\n @if (rotatable()) {\n <button\n tuiHintAppearance=\"floating\"\n tuiHintDescribe\n tuiHintDirection=\"top-end\"\n tuiIconButton\n tuiPreviewAction\n type=\"button\"\n class=\"t-rotate-button\"\n [iconStart]=\"icons.rotate\"\n [tuiHint]=\"texts().rotate\"\n (click)=\"rotate()\"\n ></button>\n }\n @if (zoomable()) {\n <tui-preview-zoom\n [min]=\"minZoom\"\n [value]=\"(zoom$ | async) || 1\"\n (reset)=\"reset()\"\n (valueChange)=\"setZoom($event)\"\n />\n }\n</footer>\n", styles: [":host{position:relative;display:flex;justify-content:center;align-items:center;inline-size:100%;block-size:100%;-webkit-user-select:none;user-select:none}.t-header{position:fixed;display:flex;inset-block-start:max(1rem,env(safe-area-inset-top));inline-size:100%;padding:0 1rem;box-sizing:border-box}.t-footer{position:absolute;display:flex;inset-block-end:max(1rem,env(safe-area-inset-bottom));inline-size:100%;padding:0 1rem;box-sizing:border-box;justify-content:center}.t-actions{display:flex;flex:1;justify-content:flex-end}.t-actions ::ng-deep>*{margin-inline-start:.625rem}.t-rotate-button{margin-inline-end:.3125rem}.t-title{flex:1}:host-context(tui-root._mobile) .t-title{display:none}.t-not-interactive-content ::ng-deep>*{pointer-events:none}.t-wrapper{will-change:transform}.t-transitive{transition-duration:.3s}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i2.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"], outputs: ["tuiHintVisible"] }, { kind: "directive", type: i2.TuiHintDescribe, selector: "[tuiHintDescribe]", inputs: ["tuiHintDescribe"] }, { kind: "directive", type: TuiPan, selector: "[tuiPan]", outputs: ["tuiPan"] }, { kind: "directive", type: TuiPreviewAction, selector: "[tuiPreviewAction]" }, { kind: "component", type: TuiPreviewZoom, selector: "tui-preview-zoom", inputs: ["min", "max", "value"], outputs: ["valueChange", "reset"] }, { kind: "directive", type: TuiZoom, selector: "[tuiZoom]", outputs: ["tuiZoom"] }, { kind: "directive", type: WaMutationObserver, selector: "[waMutationObserver]", inputs: ["attributeFilter", "attributeOldValue", "attributes", "characterData", "characterDataOldValue", "childList", "subtree"], outputs: ["waMutationObserver"], exportAs: ["MutationObserver"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
252
241
|
}
|
|
253
242
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiPreviewComponent, decorators: [{
|
|
254
243
|
type: Component,
|
|
@@ -261,8 +250,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
261
250
|
TuiPreviewZoom,
|
|
262
251
|
TuiZoom,
|
|
263
252
|
WaMutationObserver,
|
|
264
|
-
|
|
265
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n #contentWrapper\n attributeFilter=\"src\"\n characterData\n childList\n subtree\n class=\"t-wrapper\"\n [class.t-not-interactive-content]=\"zoomable()\"\n [class.t-transitive]=\"transitioned$ | async\"\n [style.cursor]=\"cursor$ | async\"\n [style.transform]=\"wrapperTransform$ | async\"\n (tuiPan)=\"onPan($event)\"\n (tuiZoom)=\"onZoom($event)\"\n (waMutationObserver)=\"onMutation(contentWrapper)\"\n (waResizeObserver)=\"onResize($event)\"\n>\n <ng-content />\n</section>\n<header class=\"t-header\">\n <div class=\"t-title\">\n <ng-content select=\"tui-preview-title\" />\n </div>\n <ng-content select=\"tui-preview-pagination\" />\n <div class=\"t-actions\">\n <ng-content select=\"[tuiPreviewAction]\" />\n </div>\n</header>\n<footer class=\"t-footer\">\n @if (rotatable()) {\n <button\n tuiHintAppearance=\"floating\"\n tuiHintDescribe\n tuiHintDirection=\"top-end\"\n tuiIconButton\n tuiPreviewAction\n type=\"button\"\n class=\"t-rotate-button\"\n [iconStart]=\"icons.rotate\"\n [tuiHint]=\"texts().rotate\"\n (click)=\"rotate()\"\n ></button>\n }\n @if (zoomable()) {\n <tui-preview-zoom\n [min]=\"minZoom\"\n [value]=\"(zoom$ | async) || 1\"\n (reset)=\"reset()\"\n (valueChange)=\"setZoom($event)\"\n />\n }\n</footer>\n", styles: [":host{position:relative;display:flex;justify-content:center;align-items:center;inline-size:100%;block-size:100%;-webkit-user-select:none;user-select:none}.t-header{position:fixed;display:flex;inset-block-start:max(1rem,env(safe-area-inset-top));inline-size:100%;padding:0 1rem;box-sizing:border-box}.t-footer{position:absolute;display:flex;inset-block-end:max(1rem,env(safe-area-inset-bottom));inline-size:100%;padding:0 1rem;box-sizing:border-box;justify-content:center}.t-actions{display:flex;flex:1;justify-content:flex-end}.t-actions ::ng-deep>*{margin-inline-start:.625rem}.t-rotate-button{margin-inline-end:.3125rem}.t-title{flex:1}:host-context(tui-root._mobile) .t-title{display:none}.t-not-interactive-content ::ng-deep>*{pointer-events:none}.t-wrapper{will-change:transform}.t-transitive{transition-duration:.3s}\n"] }]
|
|
253
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n #contentWrapper\n attributeFilter=\"src\"\n characterData\n childList\n subtree\n class=\"t-wrapper\"\n [class.t-not-interactive-content]=\"zoomable()\"\n [class.t-transitive]=\"transitioned$ | async\"\n [style.cursor]=\"cursor$ | async\"\n [style.transform]=\"transform()\"\n (resize)=\"onResize(contentWrapper)\"\n (tuiPan)=\"onPan($event)\"\n (tuiZoom)=\"onZoom($event)\"\n (waMutationObserver)=\"onResize(contentWrapper)\"\n>\n <ng-content />\n</section>\n<header class=\"t-header\">\n <div class=\"t-title\">\n <ng-content select=\"tui-preview-title\" />\n </div>\n <ng-content select=\"tui-preview-pagination\" />\n <div class=\"t-actions\">\n <ng-content select=\"[tuiPreviewAction]\" />\n </div>\n</header>\n<footer class=\"t-footer\">\n @if (rotatable()) {\n <button\n tuiHintAppearance=\"floating\"\n tuiHintDescribe\n tuiHintDirection=\"top-end\"\n tuiIconButton\n tuiPreviewAction\n type=\"button\"\n class=\"t-rotate-button\"\n [iconStart]=\"icons.rotate\"\n [tuiHint]=\"texts().rotate\"\n (click)=\"rotate()\"\n ></button>\n }\n @if (zoomable()) {\n <tui-preview-zoom\n [min]=\"minZoom\"\n [value]=\"(zoom$ | async) || 1\"\n (reset)=\"reset()\"\n (valueChange)=\"setZoom($event)\"\n />\n }\n</footer>\n", styles: [":host{position:relative;display:flex;justify-content:center;align-items:center;inline-size:100%;block-size:100%;-webkit-user-select:none;user-select:none}.t-header{position:fixed;display:flex;inset-block-start:max(1rem,env(safe-area-inset-top));inline-size:100%;padding:0 1rem;box-sizing:border-box}.t-footer{position:absolute;display:flex;inset-block-end:max(1rem,env(safe-area-inset-bottom));inline-size:100%;padding:0 1rem;box-sizing:border-box;justify-content:center}.t-actions{display:flex;flex:1;justify-content:flex-end}.t-actions ::ng-deep>*{margin-inline-start:.625rem}.t-rotate-button{margin-inline-end:.3125rem}.t-title{flex:1}:host-context(tui-root._mobile) .t-title{display:none}.t-not-interactive-content ::ng-deep>*{pointer-events:none}.t-wrapper{will-change:transform}.t-transitive{transition-duration:.3s}\n"] }]
|
|
266
254
|
}] });
|
|
267
255
|
|
|
268
256
|
class TuiPreviewTitle {
|