@taiga-ui/core 4.0.1 → 4.2.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/esm2022/components/button/button.directive.mjs +2 -2
- package/esm2022/components/data-list/data-list.component.mjs +3 -3
- package/esm2022/components/root/root.component.mjs +1 -1
- package/esm2022/components/textfield/textfield.component.mjs +3 -3
- package/esm2022/directives/group/group.directive.mjs +5 -4
- package/fesm2022/taiga-ui-core-components-button.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-data-list.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-root.mjs +1 -1
- package/fesm2022/taiga-ui-core-components-textfield.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-group.mjs +4 -3
- package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
- package/package.json +3 -3
- package/styles/components/button.less +1 -1
- package/styles/components/group.less +24 -0
- package/styles/components/textfield.less +1 -5
- package/styles/mixins/mixins.less +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-data-list.mjs","sources":["../../../projects/core/components/data-list/data-list.tokens.ts","../../../projects/core/components/data-list/option.component.ts","../../../projects/core/components/data-list/data-list.component.ts","../../../projects/core/components/data-list/data-list.template.html","../../../projects/core/components/data-list/data-list.directive.ts","../../../projects/core/components/data-list/opt-group.directive.ts","../../../projects/core/components/data-list/data-list.ts","../../../projects/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import type {Provider, TemplateRef, Type} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\nimport type {TuiContext, TuiIdentityMatcher, TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport interface TuiDataListAccessor<T = unknown> {\n getOptions(includeDisabled?: boolean): readonly T[];\n}\n\n// TODO: Consider refactoring checkOption, it is only needed in ComboBox\nexport interface TuiDataListHost<T> {\n checkOption?(option: T): void;\n handleOption?(option: T): void;\n readonly identityMatcher?: TuiIdentityMatcher<T>;\n readonly stringify?: TuiStringHandler<T>;\n readonly size?: TuiSizeL | TuiSizeS;\n}\n\n/**\n * Content for tuiOption component\n */\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContext<TemplateRef<Record<string, unknown>>>>\n>('[TUI_OPTION_CONTENT]');\n\nexport function tuiAsOptionContent(\n useValue: PolymorpheusContent<TuiContext<TemplateRef<Record<string, unknown>>>>,\n): Provider {\n return {\n provide: TUI_OPTION_CONTENT,\n useValue,\n };\n}\n\n/**\n * Accessor for data-list options\n */\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n '[TUI_DATA_LIST_ACCESSOR]',\n);\n\nexport function tuiAsDataListAccessor(accessor: Type<TuiDataListAccessor>): Provider {\n return tuiProvide(TUI_DATA_LIST_ACCESSOR, accessor);\n}\n\n/**\n * DataList controller\n */\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<unknown>>(\n '[TUI_DATA_LIST_HOST]',\n);\n\nexport function tuiAsDataListHost<T>(host: Type<TuiDataListHost<T>>): Provider {\n return tuiProvide(TUI_DATA_LIST_HOST, host);\n}\n","import type {OnDestroy, TemplateRef} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n inject,\n Input,\n} from '@angular/core';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiDataListComponent} from './data-list.component';\nimport type {TuiDataListHost} from './data-list.tokens';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from './data-list.tokens';\n\n// TODO: Consider all use cases for aria roles\n@Component({\n standalone: true,\n selector: 'button[tuiOption], a[tuiOption], label[tuiOption]',\n imports: [PolymorpheusOutlet],\n template: `\n <ng-container *polymorpheusOutlet=\"content || t as text; context: {$implicit: t}\">\n {{ text }}\n </ng-container>\n <ng-template #t>\n <ng-content />\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiWithIcons],\n host: {\n type: 'button',\n role: 'option',\n '[attr.disabled]': 'disabled || null',\n '[class._with-dropdown]': 'dropdown?.()',\n '(click)': 'onClick()',\n '(mousemove.silent)': 'onMouseMove()',\n },\n})\nexport class TuiOption<T = unknown> implements OnDestroy {\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly el = tuiInjectElement();\n private readonly dataList = inject<TuiDataListComponent<T>>(\n forwardRef(() => TuiDataListComponent),\n {optional: true},\n );\n\n private readonly host = inject<TuiDataListHost<T>>(TUI_DATA_LIST_HOST, {\n optional: true,\n });\n\n protected readonly content: PolymorpheusContent<\n TuiContext<TemplateRef<Record<string, unknown>>>\n > = inject(TUI_OPTION_CONTENT, {optional: true});\n\n protected readonly dropdown = inject(TuiDropdownDirective, {\n self: true,\n optional: true,\n })?.ref;\n\n @Input()\n public disabled = false;\n\n @Input()\n public value?: T;\n\n // Preventing focus loss upon focused option removal\n public ngOnDestroy(): void {\n this.dataList?.handleFocusLossIfNecessary(this.el);\n }\n\n protected onClick(): void {\n if (this.host?.handleOption && this.value !== undefined) {\n this.host.handleOption(this.value);\n }\n }\n\n protected onMouseMove(): void {\n if (!this.isMobile && !tuiIsNativeFocused(this.el) && this.dataList) {\n this.el.focus({preventScroll: true});\n }\n }\n}\n","import {NgIf} from '@angular/common';\nimport type {AfterContentChecked, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n HostBinding,\n HostListener,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocusedIn, tuiMoveFocus} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_NOTHING_FOUND_MESSAGE} from '@taiga-ui/core/tokens';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport type {TuiDataListAccessor} from './data-list.tokens';\nimport {TUI_DATA_LIST_HOST, tuiAsDataListAccessor} from './data-list.tokens';\nimport {TuiOption} from './option.component';\n\nexport function tuiInjectDataListSize(): TuiSizeL | TuiSizeS {\n const sizes = ['s', 'm', 'l'] as const;\n const size = inject(TUI_DATA_LIST_HOST, {optional: true})?.size;\n\n return size && sizes.includes(size) ? size : 'l';\n}\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n@Component({\n standalone: true,\n selector: 'tui-data-list',\n imports: [NgIf, PolymorpheusOutlet],\n templateUrl: './data-list.template.html',\n styleUrls: ['./data-list.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsDataListAccessor(TuiDataListComponent)],\n host: {\n role: 'listbox',\n },\n})\nexport class TuiDataListComponent<T>\n implements TuiDataListAccessor<T>, AfterContentChecked\n{\n @ContentChildren(forwardRef(() => TuiOption), {descendants: true})\n private readonly options: QueryList<TuiOption<T>> = EMPTY_QUERY;\n\n private origin?: HTMLElement;\n private readonly el = tuiInjectElement();\n\n protected readonly fallback = toSignal(inject(TUI_NOTHING_FOUND_MESSAGE));\n protected empty = true;\n\n @Input()\n public emptyContent: PolymorpheusContent;\n\n @Input()\n @HostBinding('attr.data-size')\n public size = tuiInjectDataListSize();\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n public onKeyDownArrow(current: HTMLElement, step: number): void {\n const {elements} = this;\n\n tuiMoveFocus(elements.indexOf(current), elements, step);\n }\n\n @HostListener('wheel.silent.passive')\n @HostListener('mouseleave', ['$event.target'])\n @HostListener('keydown.tab')\n @HostListener('keydown.shift.tab')\n public handleFocusLossIfNecessary(element: Element = this.el): void {\n if (tuiIsNativeFocusedIn(element)) {\n this.origin?.focus({preventScroll: true});\n }\n }\n\n public ngAfterContentChecked(): void {\n // TODO: Refactor to :has after Safari support bumped to 15\n this.empty = !this.el.querySelector('[tuiOption]');\n }\n\n public getOptions(includeDisabled = false): readonly T[] {\n return this.options\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(tuiIsPresent);\n }\n\n @HostListener('focusin', ['$event.relatedTarget', '$event.currentTarget'])\n protected onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n @HostListener('mousedown.prevent')\n protected noop(): void {}\n\n private get elements(): readonly HTMLElement[] {\n return Array.from(\n this.el.querySelectorAll('a[tuiOption],button[tuiOption],input'),\n );\n }\n}\n","<ng-content />\n<div\n *ngIf=\"empty\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || fallback() as text\">\n {{ text }}\n </ng-container>\n</div>\n","import type {Provider, Type} from '@angular/core';\nimport {Directive} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiDataList]',\n})\nexport class TuiDataListDirective {}\n\nexport function tuiAsDataList(list: Type<TuiDataListDirective>): Provider {\n return tuiProvide(TuiDataListDirective, list);\n}\n","import {Directive, Input} from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: 'tui-opt-group',\n host: {\n role: 'group',\n '[attr.data-label]': 'label',\n },\n})\nexport class TuiOptGroup {\n @Input()\n public label?: string | null;\n}\n","import {TuiDataListComponent} from './data-list.component';\nimport {TuiDataListDirective} from './data-list.directive';\nimport {TuiOptGroup} from './opt-group.directive';\nimport {TuiOption} from './option.component';\n\nexport const TuiDataList = [\n TuiDataListComponent,\n TuiDataListDirective,\n TuiOption,\n TuiOptGroup,\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-core-components-data-list.mjs","sources":["../../../projects/core/components/data-list/data-list.tokens.ts","../../../projects/core/components/data-list/option.component.ts","../../../projects/core/components/data-list/data-list.component.ts","../../../projects/core/components/data-list/data-list.template.html","../../../projects/core/components/data-list/data-list.directive.ts","../../../projects/core/components/data-list/opt-group.directive.ts","../../../projects/core/components/data-list/data-list.ts","../../../projects/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import type {Provider, TemplateRef, Type} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\nimport type {TuiContext, TuiIdentityMatcher, TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport interface TuiDataListAccessor<T = unknown> {\n getOptions(includeDisabled?: boolean): readonly T[];\n}\n\n// TODO: Consider refactoring checkOption, it is only needed in ComboBox\nexport interface TuiDataListHost<T> {\n checkOption?(option: T): void;\n handleOption?(option: T): void;\n readonly identityMatcher?: TuiIdentityMatcher<T>;\n readonly stringify?: TuiStringHandler<T>;\n readonly size?: TuiSizeL | TuiSizeS;\n}\n\n/**\n * Content for tuiOption component\n */\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContext<TemplateRef<Record<string, unknown>>>>\n>('[TUI_OPTION_CONTENT]');\n\nexport function tuiAsOptionContent(\n useValue: PolymorpheusContent<TuiContext<TemplateRef<Record<string, unknown>>>>,\n): Provider {\n return {\n provide: TUI_OPTION_CONTENT,\n useValue,\n };\n}\n\n/**\n * Accessor for data-list options\n */\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n '[TUI_DATA_LIST_ACCESSOR]',\n);\n\nexport function tuiAsDataListAccessor(accessor: Type<TuiDataListAccessor>): Provider {\n return tuiProvide(TUI_DATA_LIST_ACCESSOR, accessor);\n}\n\n/**\n * DataList controller\n */\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<unknown>>(\n '[TUI_DATA_LIST_HOST]',\n);\n\nexport function tuiAsDataListHost<T>(host: Type<TuiDataListHost<T>>): Provider {\n return tuiProvide(TUI_DATA_LIST_HOST, host);\n}\n","import type {OnDestroy, TemplateRef} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n inject,\n Input,\n} from '@angular/core';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiDataListComponent} from './data-list.component';\nimport type {TuiDataListHost} from './data-list.tokens';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from './data-list.tokens';\n\n// TODO: Consider all use cases for aria roles\n@Component({\n standalone: true,\n selector: 'button[tuiOption], a[tuiOption], label[tuiOption]',\n imports: [PolymorpheusOutlet],\n template: `\n <ng-container *polymorpheusOutlet=\"content || t as text; context: {$implicit: t}\">\n {{ text }}\n </ng-container>\n <ng-template #t>\n <ng-content />\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiWithIcons],\n host: {\n type: 'button',\n role: 'option',\n '[attr.disabled]': 'disabled || null',\n '[class._with-dropdown]': 'dropdown?.()',\n '(click)': 'onClick()',\n '(mousemove.silent)': 'onMouseMove()',\n },\n})\nexport class TuiOption<T = unknown> implements OnDestroy {\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly el = tuiInjectElement();\n private readonly dataList = inject<TuiDataListComponent<T>>(\n forwardRef(() => TuiDataListComponent),\n {optional: true},\n );\n\n private readonly host = inject<TuiDataListHost<T>>(TUI_DATA_LIST_HOST, {\n optional: true,\n });\n\n protected readonly content: PolymorpheusContent<\n TuiContext<TemplateRef<Record<string, unknown>>>\n > = inject(TUI_OPTION_CONTENT, {optional: true});\n\n protected readonly dropdown = inject(TuiDropdownDirective, {\n self: true,\n optional: true,\n })?.ref;\n\n @Input()\n public disabled = false;\n\n @Input()\n public value?: T;\n\n // Preventing focus loss upon focused option removal\n public ngOnDestroy(): void {\n this.dataList?.handleFocusLossIfNecessary(this.el);\n }\n\n protected onClick(): void {\n if (this.host?.handleOption && this.value !== undefined) {\n this.host.handleOption(this.value);\n }\n }\n\n protected onMouseMove(): void {\n if (!this.isMobile && !tuiIsNativeFocused(this.el) && this.dataList) {\n this.el.focus({preventScroll: true});\n }\n }\n}\n","import {NgIf} from '@angular/common';\nimport type {AfterContentChecked, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n HostBinding,\n HostListener,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocusedIn, tuiMoveFocus} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_NOTHING_FOUND_MESSAGE} from '@taiga-ui/core/tokens';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport type {TuiDataListAccessor} from './data-list.tokens';\nimport {TUI_DATA_LIST_HOST, tuiAsDataListAccessor} from './data-list.tokens';\nimport {TuiOption} from './option.component';\n\nexport function tuiInjectDataListSize(): TuiSizeL | TuiSizeS {\n const sizes = ['s', 'm', 'l'] as const;\n const size = inject(TUI_DATA_LIST_HOST, {optional: true})?.size;\n\n return size && sizes.includes(size) ? size : 'l';\n}\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n@Component({\n standalone: true,\n selector: 'tui-data-list',\n imports: [NgIf, PolymorpheusOutlet],\n templateUrl: './data-list.template.html',\n styleUrls: ['./data-list.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsDataListAccessor(TuiDataListComponent)],\n host: {\n role: 'listbox',\n },\n})\nexport class TuiDataListComponent<T>\n implements TuiDataListAccessor<T>, AfterContentChecked\n{\n @ContentChildren(forwardRef(() => TuiOption), {descendants: true})\n private readonly options: QueryList<TuiOption<T>> = EMPTY_QUERY;\n\n private origin?: HTMLElement;\n private readonly el = tuiInjectElement();\n\n protected readonly fallback = toSignal(inject(TUI_NOTHING_FOUND_MESSAGE));\n protected empty = true;\n\n @Input()\n public emptyContent: PolymorpheusContent;\n\n @Input()\n @HostBinding('attr.data-size')\n public size = tuiInjectDataListSize();\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n public onKeyDownArrow(current: HTMLElement, step: number): void {\n const {elements} = this;\n\n tuiMoveFocus(elements.indexOf(current), elements, step);\n }\n\n @HostListener('wheel.silent.passive')\n @HostListener('mouseleave', ['$event.target'])\n @HostListener('keydown.tab')\n @HostListener('keydown.shift.tab')\n public handleFocusLossIfNecessary(element: Element = this.el): void {\n if (tuiIsNativeFocusedIn(element)) {\n this.origin?.focus({preventScroll: true});\n }\n }\n\n public ngAfterContentChecked(): void {\n // TODO: Refactor to :has after Safari support bumped to 15\n this.empty = !this.el.querySelector('[tuiOption]');\n }\n\n public getOptions(includeDisabled = false): readonly T[] {\n return this.options\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(tuiIsPresent);\n }\n\n @HostListener('focusin', ['$event.relatedTarget', '$event.currentTarget'])\n protected onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n @HostListener('mousedown.prevent')\n protected noop(): void {}\n\n private get elements(): readonly HTMLElement[] {\n return Array.from(\n this.el.querySelectorAll('a[tuiOption],button[tuiOption],input'),\n );\n }\n}\n","<ng-content />\n<div\n *ngIf=\"empty\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || fallback() as text\">\n {{ text }}\n </ng-container>\n</div>\n","import type {Provider, Type} from '@angular/core';\nimport {Directive} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiDataList]',\n})\nexport class TuiDataListDirective {}\n\nexport function tuiAsDataList(list: Type<TuiDataListDirective>): Provider {\n return tuiProvide(TuiDataListDirective, list);\n}\n","import {Directive, Input} from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: 'tui-opt-group',\n host: {\n role: 'group',\n '[attr.data-label]': 'label',\n },\n})\nexport class TuiOptGroup {\n @Input()\n public label?: string | null;\n}\n","import {TuiDataListComponent} from './data-list.component';\nimport {TuiDataListDirective} from './data-list.directive';\nimport {TuiOptGroup} from './opt-group.directive';\nimport {TuiOption} from './option.component';\n\nexport const TuiDataList = [\n TuiDataListComponent,\n TuiDataListDirective,\n TuiOption,\n TuiOptGroup,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ class TuiRoot {
|
|
|
28
28
|
inject(DOCUMENT).defaultView?.document.documentElement.setAttribute('data-tui-theme', inject(TUI_THEME).toLowerCase());
|
|
29
29
|
}
|
|
30
30
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRoot, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "4.0
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "4.2.0" }, listeners: { "touchstart.passive.silent": "0" }, properties: { "style.--tui-duration.ms": "duration", "style.--tui-scroll-behavior": "reducedMotion ? \"auto\" : \"smooth\"", "class._mobile": "isMobileRes()" } }, hostDirectives: [{ directive: i1.TuiPlatform }], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html[data-tui-theme],.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html[data-tui-theme]::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html[data-tui-theme]::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);height:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: TuiDropdowns, selector: "tui-dropdowns" }, { kind: "component", type: TuiDialogs, selector: "tui-dialogs" }, { kind: "component", type: TuiAlerts, selector: "tui-alerts" }, { kind: "component", type: TuiHints, selector: "tui-hints" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
32
32
|
}
|
|
33
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRoot, decorators: [{
|
|
34
34
|
type: Component,
|
|
@@ -149,7 +149,7 @@ class TuiTextfieldComponent {
|
|
|
149
149
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTextfieldComponent, isStandalone: true, selector: "tui-textfield", inputs: { filler: "filler", stringify: "stringify", content: "content" }, host: { properties: { "style.--t-side.px": "side", "attr.data-size": "options.size()", "class._with-label": "hasLabel", "class._disabled": "el?.nativeElement.disabled" } }, providers: [
|
|
150
150
|
tuiAsDataListHost(TuiTextfieldComponent),
|
|
151
151
|
tuiDropdownOptionsProvider({ limitWidth: 'fixed' }),
|
|
152
|
-
], queries: [{ propertyName: "directive", first: true, predicate: i0.forwardRef(function () { return TuiTextfieldDirective; }), descendants: true }, { propertyName: "label", first: true, predicate: i0.forwardRef(function () { return TuiLabel; }), descendants: true, read: ElementRef }, { propertyName: "control", first: true, predicate: NgControl, descendants: true }, { propertyName: "el", first: true, predicate: i0.forwardRef(function () { return TuiTextfieldDirective; }), descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.TuiNativeValidator }, { directive: i2.TuiDropdownDirective }, { directive: i2.TuiWithDropdownOpen }, { directive: TuiWithTextfieldDropdown }, { directive: i4.TuiWithIcons }], ngImport: i0, template: "<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (waResizeObserver)=\"side = $event[0].contentRect.width\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner()\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-clear\"\n [iconStart]=\"icons.close\"\n (click)=\"directive?.setValue('')\"\n (pointerdown.silent.prevent)=\"el?.nativeElement?.focus()\"\n ></button>\n <ng-content select=\"tui-icon\" />\n</span>\n<span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller\"\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller\"\n/>\n", styles: ["tui-textfield{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-height: var(--tui-height-l);position:relative;display:flex;align-items:center;pointer-events:none;cursor:pointer;height:var(--t-height);color:var(--tui-text-tertiary);padding:0 var(--tui-padding-l);border-radius:var(--tui-radius-l);font:var(--tui-font-text-m)}tui-textfield[style*=\"--t-icon-start:\"]{--t-left: 2.25rem}tui-textfield[style*=\"--t-icon-end:\"]{--t-right: 2.25rem}tui-textfield:before{margin-inline-end:.75rem}tui-textfield:after{margin-inline-start:.25rem}tui-textfield input,tui-textfield select{font:var(--tui-font-text-m)}tui-textfield[data-size=s]{--t-height: var(--tui-height-s);padding:0 var(--tui-padding-s);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}tui-textfield[data-size=s][style*=\"--t-icon-start:\"]{--t-left: 1.25rem}tui-textfield[data-size=s][style*=\"--t-icon-end:\"]{--t-right: 1.25rem}tui-textfield[data-size=s]:before{margin-inline-start:-.25rem;margin-inline-end:.5rem;font-size:1rem}tui-textfield[data-size=s]:after{margin-inline-end:-.175rem;margin-inline-start:.25rem;font-size:1rem}tui-textfield[data-size=s] input,tui-textfield[data-size=s] select{font:var(--tui-font-text-s)}tui-textfield[data-size=s] .t-content{gap:0}tui-textfield[data-size=m]{--t-height: var(--tui-height-m);padding:0 var(--tui-padding-m);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}tui-textfield[data-size=m][style*=\"--t-icon-start:\"]{--t-left: 1.75rem}tui-textfield[data-size=m][style*=\"--t-icon-end:\"]{--t-right: 1.75rem}tui-textfield[data-size=m]:before{margin-inline-start:-.125rem;margin-inline-end:.375rem}tui-textfield[data-size=m]:after{margin-inline-start:.375rem;margin-inline-end:-.125rem}tui-textfield[data-size=m] input,tui-textfield[data-size=m] select{font:var(--tui-font-text-s)}tui-textfield:hover{color:var(--tui-text-secondary)}tui-textfield:before{z-index:1}tui-textfield:has(:disabled:not(.t-filler,button,option)):before,tui-textfield:has(:disabled:not(.t-filler,button,option)):after,tui-textfield:has(:disabled:not(.t-filler,button,option)) .t-template{opacity:var(--tui-disabled-opacity)}tui-textfield._disabled:before,tui-textfield._disabled:after,tui-textfield._disabled .t-template{opacity:var(--tui-disabled-opacity)}tui-textfield:has(label:not(:empty)) .t-template,tui-textfield:has(label:not(:empty)) input,tui-textfield:has(label:not(:empty)) select{padding-top:calc(var(--t-height) / 3)}tui-textfield:has(label:not(:empty)) .t-template::placeholder,tui-textfield:has(label:not(:empty)) input::placeholder,tui-textfield:has(label:not(:empty)) select::placeholder,tui-textfield:has(label:not(:empty)) .t-template._empty,tui-textfield:has(label:not(:empty)) input._empty,tui-textfield:has(label:not(:empty)) select._empty{color:transparent}tui-textfield._with-label .t-template,tui-textfield._with-label input,tui-textfield._with-label select{padding-top:calc(var(--t-height) / 3)}tui-textfield._with-label .t-template::placeholder,tui-textfield._with-label input::placeholder,tui-textfield._with-label select::placeholder,tui-textfield._with-label .t-template._empty,tui-textfield._with-label input._empty,tui-textfield._with-label select._empty{color:transparent}tui-textfield .t-template,tui-textfield input:defined,tui-textfield select:defined{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box;border:none;border-inline-start:var(--t-left, 0) solid transparent!important;border-inline-end:calc(var(--t-right, 0rem) + var(--t-side)) solid transparent!important;border-radius:inherit;padding:inherit}tui-textfield input:defined,tui-textfield select:defined{pointer-events:auto;background:transparent no-repeat center right 1rem / 2rem;background-clip:border-box,padding-box}tui-textfield input:defined:read-only~.t-filler,tui-textfield select:defined:read-only~.t-filler{display:none}tui-textfield input:defined:disabled~label,tui-textfield select:defined:disabled~label,tui-textfield input:defined:disabled~.t-content,tui-textfield select:defined:disabled~.t-content{opacity:var(--tui-disabled-opacity)}tui-textfield input:defined:disabled~label [tuiTooltip],tui-textfield select:defined:disabled~label [tuiTooltip],tui-textfield input:defined:disabled~.t-content [tuiTooltip],tui-textfield select:defined:disabled~.t-content [tuiTooltip]{display:none}tui-textfield input:defined:not(._empty):not(:placeholder-shown)~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown)~label{font-size:.83em;transform:translateY(-.7em)}tui-textfield input:defined:not(._empty):not(:placeholder-shown):not(:disabled)[data-mode=invalid]~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown):not(:disabled)[data-mode=invalid]~label,tui-textfield input:defined:not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label{color:var(--tui-text-negative)}tui-textfield input:defined:not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode=readonly])~.t-content .t-clear,tui-textfield select:defined:not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode=readonly])~.t-content .t-clear{display:flex}tui-textfield input:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield select:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield input:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])._empty,tui-textfield select:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])._empty{color:var(--tui-text-tertiary)}tui-textfield input:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])~label,tui-textfield select:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}tui-textfield input:defined:not([data-mode=readonly])[data-focus=true]::placeholder,tui-textfield select:defined:not([data-mode=readonly])[data-focus=true]::placeholder,tui-textfield input:defined:not([data-mode=readonly])[data-focus=true]._empty,tui-textfield select:defined:not([data-mode=readonly])[data-focus=true]._empty{color:var(--tui-text-tertiary)}tui-textfield input:defined:not([data-mode=readonly])[data-focus=true]~label,tui-textfield select:defined:not([data-mode=readonly])[data-focus=true]~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}tui-textfield label:defined{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:block;flex:1;font-size:inherit}tui-textfield label:defined,tui-textfield input::placeholder,tui-textfield select._empty{color:var(--tui-text-secondary)}tui-textfield select:not([data-mode=readonly]){cursor:pointer}@supports (-webkit-touch-callout: none){tui-textfield input:defined:active,tui-textfield select:defined:active{font-size:1rem}tui-textfield input:defined._ios-fix,tui-textfield select:defined._ios-fix{position:fixed;left:1000rem}}tui-textfield button,tui-textfield a{pointer-events:auto}tui-textfield .t-content{display:flex;align-items:center;gap:.25rem;margin-inline-start:auto}tui-textfield .t-clear{display:none;pointer-events:auto}tui-textfield .t-filler:defined{pointer-events:none;background:none;color:var(--tui-text-tertiary);opacity:1}tui-textfield [tuiFluidTypography]{font-weight:700}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: WaResizeObserver, selector: "[waResizeObserver]", inputs: ["box"], outputs: ["waResizeObserver"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
152
|
+
], queries: [{ propertyName: "directive", first: true, predicate: i0.forwardRef(function () { return TuiTextfieldDirective; }), descendants: true }, { propertyName: "label", first: true, predicate: i0.forwardRef(function () { return TuiLabel; }), descendants: true, read: ElementRef }, { propertyName: "control", first: true, predicate: NgControl, descendants: true }, { propertyName: "el", first: true, predicate: i0.forwardRef(function () { return TuiTextfieldDirective; }), descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.TuiNativeValidator }, { directive: i2.TuiDropdownDirective }, { directive: i2.TuiWithDropdownOpen }, { directive: TuiWithTextfieldDropdown }, { directive: i4.TuiWithIcons }], ngImport: i0, template: "<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (waResizeObserver)=\"side = $event[0].contentRect.width\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner()\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-clear\"\n [iconStart]=\"icons.close\"\n (click)=\"directive?.setValue('')\"\n (pointerdown.silent.prevent)=\"el?.nativeElement?.focus()\"\n ></button>\n <ng-content select=\"tui-icon\" />\n</span>\n<span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller\"\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller\"\n/>\n", styles: ["tui-textfield{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-height: var(--tui-height-l);position:relative;display:flex;align-items:center;pointer-events:none;cursor:pointer;height:var(--t-height);color:var(--tui-text-tertiary);padding:0 var(--tui-padding-l);border-radius:var(--tui-radius-l);font:var(--tui-font-text-m)}tui-textfield[style*=\"--t-icon-start:\"]{--t-left: 2.25rem}tui-textfield[style*=\"--t-icon-end:\"]{--t-right: 2.25rem}tui-textfield:before{margin-inline-end:.75rem}tui-textfield:after{margin-inline-start:.25rem}tui-textfield input,tui-textfield select{font:var(--tui-font-text-m)}tui-textfield[data-size=s]{--t-height: var(--tui-height-s);padding:0 var(--tui-padding-s);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}tui-textfield[data-size=s][style*=\"--t-icon-start:\"]{--t-left: 1.25rem}tui-textfield[data-size=s][style*=\"--t-icon-end:\"]{--t-right: 1.25rem}tui-textfield[data-size=s]:before{margin-inline-start:-.25rem;margin-inline-end:.5rem;font-size:1rem}tui-textfield[data-size=s]:after{margin-inline-end:-.175rem;margin-inline-start:.25rem;font-size:1rem}tui-textfield[data-size=s] input,tui-textfield[data-size=s] select{font:var(--tui-font-text-s)}tui-textfield[data-size=s] .t-content{gap:0}tui-textfield[data-size=m]{--t-height: var(--tui-height-m);padding:0 var(--tui-padding-m);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}tui-textfield[data-size=m][style*=\"--t-icon-start:\"]{--t-left: 1.75rem}tui-textfield[data-size=m][style*=\"--t-icon-end:\"]{--t-right: 1.75rem}tui-textfield[data-size=m]:before{margin-inline-start:-.125rem;margin-inline-end:.375rem}tui-textfield[data-size=m]:after{margin-inline-start:.375rem;margin-inline-end:-.125rem}tui-textfield[data-size=m] input,tui-textfield[data-size=m] select{font:var(--tui-font-text-s)}tui-textfield:hover{color:var(--tui-text-secondary)}tui-textfield:before{z-index:1}tui-textfield:has(:disabled:not(.t-filler,button,option)):before,tui-textfield:has(:disabled:not(.t-filler,button,option)):after,tui-textfield:has(:disabled:not(.t-filler,button,option)) .t-template{opacity:var(--tui-disabled-opacity)}tui-textfield._disabled:before,tui-textfield._disabled:after,tui-textfield._disabled .t-template{opacity:var(--tui-disabled-opacity)}tui-textfield:has(label:not(:empty)) .t-template,tui-textfield:has(label:not(:empty)) input,tui-textfield:has(label:not(:empty)) select{padding-top:calc(var(--t-height) / 3)}tui-textfield:has(label:not(:empty)) .t-template::placeholder,tui-textfield:has(label:not(:empty)) input::placeholder,tui-textfield:has(label:not(:empty)) select::placeholder,tui-textfield:has(label:not(:empty)) .t-template._empty,tui-textfield:has(label:not(:empty)) input._empty,tui-textfield:has(label:not(:empty)) select._empty{color:transparent}tui-textfield._with-label .t-template,tui-textfield._with-label input,tui-textfield._with-label select{padding-top:calc(var(--t-height) / 3)}tui-textfield._with-label .t-template::placeholder,tui-textfield._with-label input::placeholder,tui-textfield._with-label select::placeholder,tui-textfield._with-label .t-template._empty,tui-textfield._with-label input._empty,tui-textfield._with-label select._empty{color:transparent}tui-textfield .t-template,tui-textfield input:defined,tui-textfield select:defined{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box;border:none;border-inline-start:var(--t-left, 0) solid transparent!important;border-inline-end:calc(var(--t-right, var(--t-0, 0rem)) + var(--t-side)) solid transparent!important;border-radius:inherit;padding:inherit}tui-textfield input:defined,tui-textfield select:defined{pointer-events:auto;background:transparent no-repeat center right 1rem / 2rem;background-clip:border-box,padding-box}tui-textfield input:defined:read-only~.t-filler,tui-textfield select:defined:read-only~.t-filler{display:none}tui-textfield input:defined:disabled~label,tui-textfield select:defined:disabled~label,tui-textfield input:defined:disabled~.t-content,tui-textfield select:defined:disabled~.t-content{opacity:var(--tui-disabled-opacity)}tui-textfield input:defined:disabled~label [tuiTooltip],tui-textfield select:defined:disabled~label [tuiTooltip],tui-textfield input:defined:disabled~.t-content [tuiTooltip],tui-textfield select:defined:disabled~.t-content [tuiTooltip]{display:none}tui-textfield input:defined:not(._empty):not(:placeholder-shown)~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown)~label{font-size:.83em;transform:translateY(-.7em)}tui-textfield input:defined:not(._empty):not(:placeholder-shown):not(:disabled)[data-mode=invalid]~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown):not(:disabled)[data-mode=invalid]~label,tui-textfield input:defined:not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label{color:var(--tui-text-negative)}tui-textfield input:defined:not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode=readonly])~.t-content .t-clear,tui-textfield select:defined:not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode=readonly])~.t-content .t-clear{display:flex}tui-textfield input:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield select:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield input:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])._empty,tui-textfield select:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])._empty{color:var(--tui-text-tertiary)}tui-textfield input:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])~label,tui-textfield select:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}tui-textfield input:defined:not([data-mode=readonly])[data-focus=true]::placeholder,tui-textfield select:defined:not([data-mode=readonly])[data-focus=true]::placeholder,tui-textfield input:defined:not([data-mode=readonly])[data-focus=true]._empty,tui-textfield select:defined:not([data-mode=readonly])[data-focus=true]._empty{color:var(--tui-text-tertiary)}tui-textfield input:defined:not([data-mode=readonly])[data-focus=true]~label,tui-textfield select:defined:not([data-mode=readonly])[data-focus=true]~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}tui-textfield label:defined{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:block;flex:1;font-size:inherit}tui-textfield label:defined,tui-textfield input::placeholder,tui-textfield select._empty{color:var(--tui-text-secondary)}tui-textfield select:not([data-mode=readonly]){cursor:pointer}@supports (-webkit-touch-callout: none){tui-textfield input:defined._ios-fix,tui-textfield select:defined._ios-fix{position:fixed;left:1000rem}}tui-textfield button,tui-textfield a{pointer-events:auto}tui-textfield .t-content{display:flex;align-items:center;gap:.25rem;margin-inline-start:auto}tui-textfield .t-clear{display:none;pointer-events:auto}tui-textfield .t-filler:defined{pointer-events:none;background:none;color:var(--tui-text-tertiary);opacity:1}tui-textfield [tuiFluidTypography]{font-weight:700}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: WaResizeObserver, selector: "[waResizeObserver]", inputs: ["box"], outputs: ["waResizeObserver"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
153
153
|
}
|
|
154
154
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextfieldComponent, decorators: [{
|
|
155
155
|
type: Component,
|
|
@@ -167,7 +167,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
167
167
|
'[attr.data-size]': 'options.size()',
|
|
168
168
|
'[class._with-label]': 'hasLabel',
|
|
169
169
|
'[class._disabled]': 'el?.nativeElement.disabled',
|
|
170
|
-
}, template: "<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (waResizeObserver)=\"side = $event[0].contentRect.width\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner()\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-clear\"\n [iconStart]=\"icons.close\"\n (click)=\"directive?.setValue('')\"\n (pointerdown.silent.prevent)=\"el?.nativeElement?.focus()\"\n ></button>\n <ng-content select=\"tui-icon\" />\n</span>\n<span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller\"\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller\"\n/>\n", styles: ["tui-textfield{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-height: var(--tui-height-l);position:relative;display:flex;align-items:center;pointer-events:none;cursor:pointer;height:var(--t-height);color:var(--tui-text-tertiary);padding:0 var(--tui-padding-l);border-radius:var(--tui-radius-l);font:var(--tui-font-text-m)}tui-textfield[style*=\"--t-icon-start:\"]{--t-left: 2.25rem}tui-textfield[style*=\"--t-icon-end:\"]{--t-right: 2.25rem}tui-textfield:before{margin-inline-end:.75rem}tui-textfield:after{margin-inline-start:.25rem}tui-textfield input,tui-textfield select{font:var(--tui-font-text-m)}tui-textfield[data-size=s]{--t-height: var(--tui-height-s);padding:0 var(--tui-padding-s);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}tui-textfield[data-size=s][style*=\"--t-icon-start:\"]{--t-left: 1.25rem}tui-textfield[data-size=s][style*=\"--t-icon-end:\"]{--t-right: 1.25rem}tui-textfield[data-size=s]:before{margin-inline-start:-.25rem;margin-inline-end:.5rem;font-size:1rem}tui-textfield[data-size=s]:after{margin-inline-end:-.175rem;margin-inline-start:.25rem;font-size:1rem}tui-textfield[data-size=s] input,tui-textfield[data-size=s] select{font:var(--tui-font-text-s)}tui-textfield[data-size=s] .t-content{gap:0}tui-textfield[data-size=m]{--t-height: var(--tui-height-m);padding:0 var(--tui-padding-m);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}tui-textfield[data-size=m][style*=\"--t-icon-start:\"]{--t-left: 1.75rem}tui-textfield[data-size=m][style*=\"--t-icon-end:\"]{--t-right: 1.75rem}tui-textfield[data-size=m]:before{margin-inline-start:-.125rem;margin-inline-end:.375rem}tui-textfield[data-size=m]:after{margin-inline-start:.375rem;margin-inline-end:-.125rem}tui-textfield[data-size=m] input,tui-textfield[data-size=m] select{font:var(--tui-font-text-s)}tui-textfield:hover{color:var(--tui-text-secondary)}tui-textfield:before{z-index:1}tui-textfield:has(:disabled:not(.t-filler,button,option)):before,tui-textfield:has(:disabled:not(.t-filler,button,option)):after,tui-textfield:has(:disabled:not(.t-filler,button,option)) .t-template{opacity:var(--tui-disabled-opacity)}tui-textfield._disabled:before,tui-textfield._disabled:after,tui-textfield._disabled .t-template{opacity:var(--tui-disabled-opacity)}tui-textfield:has(label:not(:empty)) .t-template,tui-textfield:has(label:not(:empty)) input,tui-textfield:has(label:not(:empty)) select{padding-top:calc(var(--t-height) / 3)}tui-textfield:has(label:not(:empty)) .t-template::placeholder,tui-textfield:has(label:not(:empty)) input::placeholder,tui-textfield:has(label:not(:empty)) select::placeholder,tui-textfield:has(label:not(:empty)) .t-template._empty,tui-textfield:has(label:not(:empty)) input._empty,tui-textfield:has(label:not(:empty)) select._empty{color:transparent}tui-textfield._with-label .t-template,tui-textfield._with-label input,tui-textfield._with-label select{padding-top:calc(var(--t-height) / 3)}tui-textfield._with-label .t-template::placeholder,tui-textfield._with-label input::placeholder,tui-textfield._with-label select::placeholder,tui-textfield._with-label .t-template._empty,tui-textfield._with-label input._empty,tui-textfield._with-label select._empty{color:transparent}tui-textfield .t-template,tui-textfield input:defined,tui-textfield select:defined{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box;border:none;border-inline-start:var(--t-left, 0) solid transparent!important;border-inline-end:calc(var(--t-right, 0rem) + var(--t-side)) solid transparent!important;border-radius:inherit;padding:inherit}tui-textfield input:defined,tui-textfield select:defined{pointer-events:auto;background:transparent no-repeat center right 1rem / 2rem;background-clip:border-box,padding-box}tui-textfield input:defined:read-only~.t-filler,tui-textfield select:defined:read-only~.t-filler{display:none}tui-textfield input:defined:disabled~label,tui-textfield select:defined:disabled~label,tui-textfield input:defined:disabled~.t-content,tui-textfield select:defined:disabled~.t-content{opacity:var(--tui-disabled-opacity)}tui-textfield input:defined:disabled~label [tuiTooltip],tui-textfield select:defined:disabled~label [tuiTooltip],tui-textfield input:defined:disabled~.t-content [tuiTooltip],tui-textfield select:defined:disabled~.t-content [tuiTooltip]{display:none}tui-textfield input:defined:not(._empty):not(:placeholder-shown)~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown)~label{font-size:.83em;transform:translateY(-.7em)}tui-textfield input:defined:not(._empty):not(:placeholder-shown):not(:disabled)[data-mode=invalid]~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown):not(:disabled)[data-mode=invalid]~label,tui-textfield input:defined:not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label{color:var(--tui-text-negative)}tui-textfield input:defined:not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode=readonly])~.t-content .t-clear,tui-textfield select:defined:not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode=readonly])~.t-content .t-clear{display:flex}tui-textfield input:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield select:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield input:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])._empty,tui-textfield select:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])._empty{color:var(--tui-text-tertiary)}tui-textfield input:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])~label,tui-textfield select:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}tui-textfield input:defined:not([data-mode=readonly])[data-focus=true]::placeholder,tui-textfield select:defined:not([data-mode=readonly])[data-focus=true]::placeholder,tui-textfield input:defined:not([data-mode=readonly])[data-focus=true]._empty,tui-textfield select:defined:not([data-mode=readonly])[data-focus=true]._empty{color:var(--tui-text-tertiary)}tui-textfield input:defined:not([data-mode=readonly])[data-focus=true]~label,tui-textfield select:defined:not([data-mode=readonly])[data-focus=true]~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}tui-textfield label:defined{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:block;flex:1;font-size:inherit}tui-textfield label:defined,tui-textfield input::placeholder,tui-textfield select._empty{color:var(--tui-text-secondary)}tui-textfield select:not([data-mode=readonly]){cursor:pointer}@supports (-webkit-touch-callout: none){tui-textfield input:defined
|
|
170
|
+
}, template: "<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (waResizeObserver)=\"side = $event[0].contentRect.width\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner()\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-clear\"\n [iconStart]=\"icons.close\"\n (click)=\"directive?.setValue('')\"\n (pointerdown.silent.prevent)=\"el?.nativeElement?.focus()\"\n ></button>\n <ng-content select=\"tui-icon\" />\n</span>\n<span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller\"\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller\"\n/>\n", styles: ["tui-textfield{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-height: var(--tui-height-l);position:relative;display:flex;align-items:center;pointer-events:none;cursor:pointer;height:var(--t-height);color:var(--tui-text-tertiary);padding:0 var(--tui-padding-l);border-radius:var(--tui-radius-l);font:var(--tui-font-text-m)}tui-textfield[style*=\"--t-icon-start:\"]{--t-left: 2.25rem}tui-textfield[style*=\"--t-icon-end:\"]{--t-right: 2.25rem}tui-textfield:before{margin-inline-end:.75rem}tui-textfield:after{margin-inline-start:.25rem}tui-textfield input,tui-textfield select{font:var(--tui-font-text-m)}tui-textfield[data-size=s]{--t-height: var(--tui-height-s);padding:0 var(--tui-padding-s);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}tui-textfield[data-size=s][style*=\"--t-icon-start:\"]{--t-left: 1.25rem}tui-textfield[data-size=s][style*=\"--t-icon-end:\"]{--t-right: 1.25rem}tui-textfield[data-size=s]:before{margin-inline-start:-.25rem;margin-inline-end:.5rem;font-size:1rem}tui-textfield[data-size=s]:after{margin-inline-end:-.175rem;margin-inline-start:.25rem;font-size:1rem}tui-textfield[data-size=s] input,tui-textfield[data-size=s] select{font:var(--tui-font-text-s)}tui-textfield[data-size=s] .t-content{gap:0}tui-textfield[data-size=m]{--t-height: var(--tui-height-m);padding:0 var(--tui-padding-m);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}tui-textfield[data-size=m][style*=\"--t-icon-start:\"]{--t-left: 1.75rem}tui-textfield[data-size=m][style*=\"--t-icon-end:\"]{--t-right: 1.75rem}tui-textfield[data-size=m]:before{margin-inline-start:-.125rem;margin-inline-end:.375rem}tui-textfield[data-size=m]:after{margin-inline-start:.375rem;margin-inline-end:-.125rem}tui-textfield[data-size=m] input,tui-textfield[data-size=m] select{font:var(--tui-font-text-s)}tui-textfield:hover{color:var(--tui-text-secondary)}tui-textfield:before{z-index:1}tui-textfield:has(:disabled:not(.t-filler,button,option)):before,tui-textfield:has(:disabled:not(.t-filler,button,option)):after,tui-textfield:has(:disabled:not(.t-filler,button,option)) .t-template{opacity:var(--tui-disabled-opacity)}tui-textfield._disabled:before,tui-textfield._disabled:after,tui-textfield._disabled .t-template{opacity:var(--tui-disabled-opacity)}tui-textfield:has(label:not(:empty)) .t-template,tui-textfield:has(label:not(:empty)) input,tui-textfield:has(label:not(:empty)) select{padding-top:calc(var(--t-height) / 3)}tui-textfield:has(label:not(:empty)) .t-template::placeholder,tui-textfield:has(label:not(:empty)) input::placeholder,tui-textfield:has(label:not(:empty)) select::placeholder,tui-textfield:has(label:not(:empty)) .t-template._empty,tui-textfield:has(label:not(:empty)) input._empty,tui-textfield:has(label:not(:empty)) select._empty{color:transparent}tui-textfield._with-label .t-template,tui-textfield._with-label input,tui-textfield._with-label select{padding-top:calc(var(--t-height) / 3)}tui-textfield._with-label .t-template::placeholder,tui-textfield._with-label input::placeholder,tui-textfield._with-label select::placeholder,tui-textfield._with-label .t-template._empty,tui-textfield._with-label input._empty,tui-textfield._with-label select._empty{color:transparent}tui-textfield .t-template,tui-textfield input:defined,tui-textfield select:defined{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box;border:none;border-inline-start:var(--t-left, 0) solid transparent!important;border-inline-end:calc(var(--t-right, var(--t-0, 0rem)) + var(--t-side)) solid transparent!important;border-radius:inherit;padding:inherit}tui-textfield input:defined,tui-textfield select:defined{pointer-events:auto;background:transparent no-repeat center right 1rem / 2rem;background-clip:border-box,padding-box}tui-textfield input:defined:read-only~.t-filler,tui-textfield select:defined:read-only~.t-filler{display:none}tui-textfield input:defined:disabled~label,tui-textfield select:defined:disabled~label,tui-textfield input:defined:disabled~.t-content,tui-textfield select:defined:disabled~.t-content{opacity:var(--tui-disabled-opacity)}tui-textfield input:defined:disabled~label [tuiTooltip],tui-textfield select:defined:disabled~label [tuiTooltip],tui-textfield input:defined:disabled~.t-content [tuiTooltip],tui-textfield select:defined:disabled~.t-content [tuiTooltip]{display:none}tui-textfield input:defined:not(._empty):not(:placeholder-shown)~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown)~label{font-size:.83em;transform:translateY(-.7em)}tui-textfield input:defined:not(._empty):not(:placeholder-shown):not(:disabled)[data-mode=invalid]~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown):not(:disabled)[data-mode=invalid]~label,tui-textfield input:defined:not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label,tui-textfield select:defined:not(._empty):not(:placeholder-shown):invalid:not(:disabled):not([data-mode])~label{color:var(--tui-text-negative)}tui-textfield input:defined:not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode=readonly])~.t-content .t-clear,tui-textfield select:defined:not(._empty):not(:placeholder-shown):not(:disabled):not([data-mode=readonly])~.t-content .t-clear{display:flex}tui-textfield input:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield select:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])::placeholder,tui-textfield input:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])._empty,tui-textfield select:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])._empty{color:var(--tui-text-tertiary)}tui-textfield input:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])~label,tui-textfield select:defined:not([data-mode=readonly]):focus-visible:not([data-focus=false])~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}tui-textfield input:defined:not([data-mode=readonly])[data-focus=true]::placeholder,tui-textfield select:defined:not([data-mode=readonly])[data-focus=true]::placeholder,tui-textfield input:defined:not([data-mode=readonly])[data-focus=true]._empty,tui-textfield select:defined:not([data-mode=readonly])[data-focus=true]._empty{color:var(--tui-text-tertiary)}tui-textfield input:defined:not([data-mode=readonly])[data-focus=true]~label,tui-textfield select:defined:not([data-mode=readonly])[data-focus=true]~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}tui-textfield label:defined{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:block;flex:1;font-size:inherit}tui-textfield label:defined,tui-textfield input::placeholder,tui-textfield select._empty{color:var(--tui-text-secondary)}tui-textfield select:not([data-mode=readonly]){cursor:pointer}@supports (-webkit-touch-callout: none){tui-textfield input:defined._ios-fix,tui-textfield select:defined._ios-fix{position:fixed;left:1000rem}}tui-textfield button,tui-textfield a{pointer-events:auto}tui-textfield .t-content{display:flex;align-items:center;gap:.25rem;margin-inline-start:auto}tui-textfield .t-clear{display:none;pointer-events:auto}tui-textfield .t-filler:defined{pointer-events:none;background:none;color:var(--tui-text-tertiary);opacity:1}tui-textfield [tuiFluidTypography]{font-weight:700}\n"] }]
|
|
171
171
|
}], propDecorators: { directive: [{
|
|
172
172
|
type: ContentChild,
|
|
173
173
|
args: [forwardRef(() => TuiTextfieldDirective)]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-textfield.mjs","sources":["../../../projects/core/components/textfield/textfield.options.ts","../../../projects/core/components/textfield/textfield-dropdown.directive.ts","../../../projects/core/components/textfield/textfield.component.ts","../../../projects/core/components/textfield/textfield.template.html","../../../projects/core/components/textfield/textfield.directive.ts","../../../projects/core/components/textfield/select.directive.ts","../../../projects/core/components/textfield/select.template.html","../../../projects/core/components/textfield/textfield.ts","../../../projects/core/components/textfield/taiga-ui-core-components-textfield.ts"],"sourcesContent":["import type {Provider, WritableSignal} from '@angular/core';\nimport {Directive, inject, Input, Optional, signal, SkipSelf} from '@angular/core';\nimport {tuiCreateToken, tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nconst DEFAULT = {\n appearance: 'textfield',\n size: 'l',\n cleaner: true,\n} as const;\n\nexport interface TuiTextfieldOptions {\n readonly appearance: WritableSignal<string>;\n readonly size: WritableSignal<TuiSizeL | TuiSizeS>;\n readonly cleaner: WritableSignal<boolean>;\n}\n\nexport const TUI_TEXTFIELD_OPTIONS = tuiCreateToken<TuiTextfieldOptions>({\n appearance: signal(DEFAULT.appearance),\n size: signal(DEFAULT.size),\n cleaner: signal(DEFAULT.cleaner),\n});\n\nexport function tuiTextfieldOptionsProvider(\n options: Partial<TuiTextfieldOptions>,\n): Provider {\n return {\n provide: TUI_TEXTFIELD_OPTIONS,\n deps: [[new Optional(), new SkipSelf(), TUI_TEXTFIELD_OPTIONS]],\n useFactory: (parent: TuiTextfieldOptions | null) => ({\n appearance: signal(parent?.appearance() ?? DEFAULT.appearance),\n size: signal(parent?.size() ?? DEFAULT.size),\n cleaner: signal(parent?.cleaner() ?? DEFAULT.cleaner),\n ...options,\n }),\n };\n}\n\n@Directive({\n standalone: true,\n selector: '[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]',\n providers: [tuiProvide(TUI_TEXTFIELD_OPTIONS, TuiTextfieldOptionsDirective)],\n})\nexport class TuiTextfieldOptionsDirective implements TuiTextfieldOptions {\n private readonly options = inject(TUI_TEXTFIELD_OPTIONS, {skipSelf: true});\n\n // TODO: refactor to signal inputs after Angular update\n public appearance = signal(this.options.appearance());\n public size = signal(this.options.size());\n public cleaner = signal(this.options.cleaner());\n\n @Input()\n public set tuiTextfieldAppearance(appearance: string) {\n this.appearance.set(appearance);\n }\n\n @Input()\n public set tuiTextfieldSize(size: TuiSizeL | TuiSizeS) {\n this.size.set(size);\n }\n\n @Input()\n public set tuiTextfieldCleaner(enabled: boolean) {\n this.cleaner.set(enabled);\n }\n}\n","import {ContentChild, Directive, TemplateRef} from '@angular/core';\nimport {tuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiTextfieldDropdown]',\n})\nexport class TuiTextfieldDropdownDirective {}\n\n@Directive({\n standalone: true,\n})\nexport class TuiWithTextfieldDropdown {\n private readonly dropdown = tuiDropdown(null);\n\n @ContentChild(TuiTextfieldDropdownDirective, {read: TemplateRef})\n protected set template(template: PolymorpheusContent) {\n this.dropdown.set(template);\n }\n}\n","import {NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChild,\n ElementRef,\n forwardRef,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {WaResizeObserver} from '@ng-web-apis/resize-observer';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport type {TuiContext, TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport type {TuiDataListHost} from '@taiga-ui/core/components/data-list';\nimport {tuiAsDataListHost} from '@taiga-ui/core/components/data-list';\nimport {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiDropdownDirective,\n tuiDropdownOpen,\n tuiDropdownOptionsProvider,\n TuiWithDropdownOpen,\n} from '@taiga-ui/core/directives/dropdown';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiTextfieldDirective} from './textfield.directive';\nimport {TUI_TEXTFIELD_OPTIONS} from './textfield.options';\nimport {TuiWithTextfieldDropdown} from './textfield-dropdown.directive';\n\n@Component({\n standalone: true,\n selector: 'tui-textfield',\n imports: [NgIf, WaResizeObserver, TuiButton, PolymorpheusOutlet],\n templateUrl: './textfield.template.html',\n styles: ['@import \"@taiga-ui/core/styles/components/textfield.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataListHost(TuiTextfieldComponent),\n tuiDropdownOptionsProvider({limitWidth: 'fixed'}),\n ],\n hostDirectives: [\n TuiNativeValidator,\n TuiDropdownDirective,\n TuiWithDropdownOpen,\n TuiWithTextfieldDropdown,\n TuiWithIcons,\n ],\n host: {\n '[style.--t-side.px]': 'side',\n '[attr.data-size]': 'options.size()',\n '[class._with-label]': 'hasLabel',\n '[class._disabled]': 'el?.nativeElement.disabled',\n },\n})\nexport class TuiTextfieldComponent<T> implements TuiDataListHost<T> {\n private readonly open = tuiDropdownOpen();\n private readonly focusedIn = tuiFocusedIn(tuiInjectElement());\n\n @ContentChild(forwardRef(() => TuiTextfieldDirective))\n protected readonly directive?: TuiTextfieldDirective;\n\n @ContentChild(forwardRef(() => TuiLabel), {read: ElementRef})\n protected readonly label?: ElementRef<HTMLElement>;\n\n @ContentChild(NgControl)\n protected readonly control?: NgControl;\n\n protected side = 0;\n\n protected readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n\n @ContentChild(forwardRef(() => TuiTextfieldDirective), {read: ElementRef})\n public readonly el?: ElementRef<HTMLInputElement>;\n\n @Input()\n public filler = '';\n\n @Input()\n public stringify: TuiStringHandler<T> = String;\n\n @Input()\n public content: PolymorpheusContent<TuiContext<T>>;\n\n public readonly focused = computed(() => this.open() || this.focusedIn());\n\n public get id(): string {\n return this.el?.nativeElement.id || '';\n }\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.options.size();\n }\n\n public handleOption(option: T): void {\n this.directive?.setValue(this.stringify(option));\n this.open.set(false);\n }\n\n protected get computedFiller(): string {\n const value = this.el?.nativeElement.value || '';\n const filler = value + this.filler.slice(value.length);\n\n return filler.length > value.length ? filler : '';\n }\n\n protected get showFiller(): boolean {\n return (\n this.focused() &&\n !!this.computedFiller &&\n (!!this.el?.nativeElement.value || !this.el?.nativeElement.placeholder)\n );\n }\n\n protected get hasLabel(): boolean {\n return Boolean(this.label?.nativeElement?.childNodes.length);\n }\n}\n","<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (waResizeObserver)=\"side = $event[0].contentRect.width\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner()\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-clear\"\n [iconStart]=\"icons.close\"\n (click)=\"directive?.setValue('')\"\n (pointerdown.silent.prevent)=\"el?.nativeElement?.focus()\"\n ></button>\n <ng-content select=\"tui-icon\" />\n</span>\n<span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller\"\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller\"\n/>\n","import {computed, Directive, inject, Input, signal} from '@angular/core';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n TuiAppearance,\n tuiAppearance,\n tuiAppearanceFocus,\n tuiAppearanceState,\n} from '@taiga-ui/core/directives/appearance';\nimport type {TuiInteractiveState} from '@taiga-ui/core/types';\n\nimport {TuiTextfieldComponent} from './textfield.component';\nimport {TUI_TEXTFIELD_OPTIONS} from './textfield.options';\n\n@Directive()\nexport class TuiTextfieldBase {\n // TODO: refactor to signal inputs after Angular update\n private readonly focused = signal<boolean | null>(null);\n\n protected readonly a = tuiAppearance(inject(TUI_TEXTFIELD_OPTIONS).appearance);\n protected readonly s = tuiAppearanceState(null);\n protected readonly f = tuiAppearanceFocus(\n computed(() => this.focused() || this.textfield.focused()),\n );\n\n protected readonly textfield = inject(TuiTextfieldComponent);\n protected readonly id = inject(TuiIdService).generate();\n protected readonly el = tuiInjectElement<HTMLInputElement>();\n\n @Input()\n public readOnly = false;\n\n @Input()\n public invalid: boolean | null = null;\n\n @Input('focused')\n public set focusedSetter(focused: boolean | null) {\n this.focused.set(focused);\n }\n\n @Input('state')\n public set stateSetter(state: TuiInteractiveState | null) {\n this.s.set(state);\n }\n\n public get mode(): string | null {\n if (this.readOnly) {\n return 'readonly';\n }\n\n if (this.invalid === false) {\n return 'valid';\n }\n\n if (this.invalid) {\n return 'invalid';\n }\n\n return null;\n }\n\n public setValue(value: string): void {\n this.el.value = value;\n this.el.dispatchEvent(new Event('input', {bubbles: true}));\n }\n}\n\n@Directive({\n standalone: true,\n selector: 'input[tuiTextfield]',\n hostDirectives: [TuiNativeValidator, TuiAppearance],\n host: {\n '[id]': 'el.id || id',\n '[readOnly]': 'readOnly',\n '[class._empty]': 'el.value === \"\"',\n '[attr.data-mode]': 'mode',\n '(input)': '0',\n '(focusin)': '0',\n '(focusout)': '0',\n },\n})\nexport class TuiTextfieldDirective extends TuiTextfieldBase {}\n","import {CommonModule} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject, Input} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {WA_NAVIGATOR} from '@ng-web-apis/common';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\n\nimport {TuiTextfieldBase, TuiTextfieldDirective} from './textfield.directive';\n\n@Component({\n standalone: true,\n selector: 'select[tuiTextfield]',\n imports: [CommonModule],\n templateUrl: './select.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiProvide(TuiTextfieldDirective, TuiSelect)],\n hostDirectives: [TuiNativeValidator, TuiAppearance],\n host: {\n '[id]': 'el.id || id',\n '[attr.data-mode]': 'mode',\n '[class._empty]': 'value === \"\"',\n '(input)': '0',\n '(focusin)': '0',\n '(focusout)': '0',\n '(keydown.space.prevent)': '0',\n '(keydown.enter.prevent)': '0',\n '(keydown.backspace)': 'setValue(\"\")',\n '(mousedown.prevent)': 'focus()',\n '(keydown.control.c)': 'onCopy()',\n '(keydown.meta.c)': 'onCopy()',\n },\n})\nexport class TuiSelect extends TuiTextfieldBase {\n private readonly nav = inject(WA_NAVIGATOR);\n private readonly control = inject(NgControl);\n\n @Input()\n public placeholder = '';\n\n public override setValue(value: string): void {\n this.control.control?.setValue(value);\n this.el.dispatchEvent(new Event('input', {bubbles: true}));\n }\n\n public focus(): void {\n this.el.classList.add('_ios-fix');\n this.el.focus();\n this.el.classList.remove('_ios-fix');\n }\n\n protected get value(): string {\n return this.textfield.stringify(this.control.value);\n }\n\n protected async onCopy(): Promise<void> {\n await this.nav.clipboard.writeText(this.value);\n }\n}\n","<option\n *ngIf=\"placeholder && !value; else selected\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<ng-template #selected>\n <option\n *ngFor=\"let item of [value]\"\n selected\n >\n {{ item }}\n </option>\n</ng-template>\n","import {TuiLabel} from '@taiga-ui/core/components/label';\n\nimport {TuiSelect} from './select.directive';\nimport {TuiTextfieldComponent} from './textfield.component';\nimport {TuiTextfieldDirective} from './textfield.directive';\nimport {TuiTextfieldOptionsDirective} from './textfield.options';\nimport {TuiTextfieldDropdownDirective} from './textfield-dropdown.directive';\n\nexport const TuiTextfield = [\n TuiLabel,\n TuiSelect,\n TuiTextfieldComponent,\n TuiTextfieldDirective,\n TuiTextfieldOptionsDirective,\n TuiTextfieldDropdownDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.TuiWithTextfieldDropdown","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-components-textfield.mjs","sources":["../../../projects/core/components/textfield/textfield.options.ts","../../../projects/core/components/textfield/textfield-dropdown.directive.ts","../../../projects/core/components/textfield/textfield.component.ts","../../../projects/core/components/textfield/textfield.template.html","../../../projects/core/components/textfield/textfield.directive.ts","../../../projects/core/components/textfield/select.directive.ts","../../../projects/core/components/textfield/select.template.html","../../../projects/core/components/textfield/textfield.ts","../../../projects/core/components/textfield/taiga-ui-core-components-textfield.ts"],"sourcesContent":["import type {Provider, WritableSignal} from '@angular/core';\nimport {Directive, inject, Input, Optional, signal, SkipSelf} from '@angular/core';\nimport {tuiCreateToken, tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nconst DEFAULT = {\n appearance: 'textfield',\n size: 'l',\n cleaner: true,\n} as const;\n\nexport interface TuiTextfieldOptions {\n readonly appearance: WritableSignal<string>;\n readonly size: WritableSignal<TuiSizeL | TuiSizeS>;\n readonly cleaner: WritableSignal<boolean>;\n}\n\nexport const TUI_TEXTFIELD_OPTIONS = tuiCreateToken<TuiTextfieldOptions>({\n appearance: signal(DEFAULT.appearance),\n size: signal(DEFAULT.size),\n cleaner: signal(DEFAULT.cleaner),\n});\n\nexport function tuiTextfieldOptionsProvider(\n options: Partial<TuiTextfieldOptions>,\n): Provider {\n return {\n provide: TUI_TEXTFIELD_OPTIONS,\n deps: [[new Optional(), new SkipSelf(), TUI_TEXTFIELD_OPTIONS]],\n useFactory: (parent: TuiTextfieldOptions | null) => ({\n appearance: signal(parent?.appearance() ?? DEFAULT.appearance),\n size: signal(parent?.size() ?? DEFAULT.size),\n cleaner: signal(parent?.cleaner() ?? DEFAULT.cleaner),\n ...options,\n }),\n };\n}\n\n@Directive({\n standalone: true,\n selector: '[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]',\n providers: [tuiProvide(TUI_TEXTFIELD_OPTIONS, TuiTextfieldOptionsDirective)],\n})\nexport class TuiTextfieldOptionsDirective implements TuiTextfieldOptions {\n private readonly options = inject(TUI_TEXTFIELD_OPTIONS, {skipSelf: true});\n\n // TODO: refactor to signal inputs after Angular update\n public appearance = signal(this.options.appearance());\n public size = signal(this.options.size());\n public cleaner = signal(this.options.cleaner());\n\n @Input()\n public set tuiTextfieldAppearance(appearance: string) {\n this.appearance.set(appearance);\n }\n\n @Input()\n public set tuiTextfieldSize(size: TuiSizeL | TuiSizeS) {\n this.size.set(size);\n }\n\n @Input()\n public set tuiTextfieldCleaner(enabled: boolean) {\n this.cleaner.set(enabled);\n }\n}\n","import {ContentChild, Directive, TemplateRef} from '@angular/core';\nimport {tuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiTextfieldDropdown]',\n})\nexport class TuiTextfieldDropdownDirective {}\n\n@Directive({\n standalone: true,\n})\nexport class TuiWithTextfieldDropdown {\n private readonly dropdown = tuiDropdown(null);\n\n @ContentChild(TuiTextfieldDropdownDirective, {read: TemplateRef})\n protected set template(template: PolymorpheusContent) {\n this.dropdown.set(template);\n }\n}\n","import {NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChild,\n ElementRef,\n forwardRef,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {WaResizeObserver} from '@ng-web-apis/resize-observer';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport type {TuiContext, TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport type {TuiDataListHost} from '@taiga-ui/core/components/data-list';\nimport {tuiAsDataListHost} from '@taiga-ui/core/components/data-list';\nimport {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiDropdownDirective,\n tuiDropdownOpen,\n tuiDropdownOptionsProvider,\n TuiWithDropdownOpen,\n} from '@taiga-ui/core/directives/dropdown';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiTextfieldDirective} from './textfield.directive';\nimport {TUI_TEXTFIELD_OPTIONS} from './textfield.options';\nimport {TuiWithTextfieldDropdown} from './textfield-dropdown.directive';\n\n@Component({\n standalone: true,\n selector: 'tui-textfield',\n imports: [NgIf, WaResizeObserver, TuiButton, PolymorpheusOutlet],\n templateUrl: './textfield.template.html',\n styles: ['@import \"@taiga-ui/core/styles/components/textfield.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataListHost(TuiTextfieldComponent),\n tuiDropdownOptionsProvider({limitWidth: 'fixed'}),\n ],\n hostDirectives: [\n TuiNativeValidator,\n TuiDropdownDirective,\n TuiWithDropdownOpen,\n TuiWithTextfieldDropdown,\n TuiWithIcons,\n ],\n host: {\n '[style.--t-side.px]': 'side',\n '[attr.data-size]': 'options.size()',\n '[class._with-label]': 'hasLabel',\n '[class._disabled]': 'el?.nativeElement.disabled',\n },\n})\nexport class TuiTextfieldComponent<T> implements TuiDataListHost<T> {\n private readonly open = tuiDropdownOpen();\n private readonly focusedIn = tuiFocusedIn(tuiInjectElement());\n\n @ContentChild(forwardRef(() => TuiTextfieldDirective))\n protected readonly directive?: TuiTextfieldDirective;\n\n @ContentChild(forwardRef(() => TuiLabel), {read: ElementRef})\n protected readonly label?: ElementRef<HTMLElement>;\n\n @ContentChild(NgControl)\n protected readonly control?: NgControl;\n\n protected side = 0;\n\n protected readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n\n @ContentChild(forwardRef(() => TuiTextfieldDirective), {read: ElementRef})\n public readonly el?: ElementRef<HTMLInputElement>;\n\n @Input()\n public filler = '';\n\n @Input()\n public stringify: TuiStringHandler<T> = String;\n\n @Input()\n public content: PolymorpheusContent<TuiContext<T>>;\n\n public readonly focused = computed(() => this.open() || this.focusedIn());\n\n public get id(): string {\n return this.el?.nativeElement.id || '';\n }\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.options.size();\n }\n\n public handleOption(option: T): void {\n this.directive?.setValue(this.stringify(option));\n this.open.set(false);\n }\n\n protected get computedFiller(): string {\n const value = this.el?.nativeElement.value || '';\n const filler = value + this.filler.slice(value.length);\n\n return filler.length > value.length ? filler : '';\n }\n\n protected get showFiller(): boolean {\n return (\n this.focused() &&\n !!this.computedFiller &&\n (!!this.el?.nativeElement.value || !this.el?.nativeElement.placeholder)\n );\n }\n\n protected get hasLabel(): boolean {\n return Boolean(this.label?.nativeElement?.childNodes.length);\n }\n}\n","<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (waResizeObserver)=\"side = $event[0].contentRect.width\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner()\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-clear\"\n [iconStart]=\"icons.close\"\n (click)=\"directive?.setValue('')\"\n (pointerdown.silent.prevent)=\"el?.nativeElement?.focus()\"\n ></button>\n <ng-content select=\"tui-icon\" />\n</span>\n<span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller\"\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller\"\n/>\n","import {computed, Directive, inject, Input, signal} from '@angular/core';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n TuiAppearance,\n tuiAppearance,\n tuiAppearanceFocus,\n tuiAppearanceState,\n} from '@taiga-ui/core/directives/appearance';\nimport type {TuiInteractiveState} from '@taiga-ui/core/types';\n\nimport {TuiTextfieldComponent} from './textfield.component';\nimport {TUI_TEXTFIELD_OPTIONS} from './textfield.options';\n\n@Directive()\nexport class TuiTextfieldBase {\n // TODO: refactor to signal inputs after Angular update\n private readonly focused = signal<boolean | null>(null);\n\n protected readonly a = tuiAppearance(inject(TUI_TEXTFIELD_OPTIONS).appearance);\n protected readonly s = tuiAppearanceState(null);\n protected readonly f = tuiAppearanceFocus(\n computed(() => this.focused() || this.textfield.focused()),\n );\n\n protected readonly textfield = inject(TuiTextfieldComponent);\n protected readonly id = inject(TuiIdService).generate();\n protected readonly el = tuiInjectElement<HTMLInputElement>();\n\n @Input()\n public readOnly = false;\n\n @Input()\n public invalid: boolean | null = null;\n\n @Input('focused')\n public set focusedSetter(focused: boolean | null) {\n this.focused.set(focused);\n }\n\n @Input('state')\n public set stateSetter(state: TuiInteractiveState | null) {\n this.s.set(state);\n }\n\n public get mode(): string | null {\n if (this.readOnly) {\n return 'readonly';\n }\n\n if (this.invalid === false) {\n return 'valid';\n }\n\n if (this.invalid) {\n return 'invalid';\n }\n\n return null;\n }\n\n public setValue(value: string): void {\n this.el.value = value;\n this.el.dispatchEvent(new Event('input', {bubbles: true}));\n }\n}\n\n@Directive({\n standalone: true,\n selector: 'input[tuiTextfield]',\n hostDirectives: [TuiNativeValidator, TuiAppearance],\n host: {\n '[id]': 'el.id || id',\n '[readOnly]': 'readOnly',\n '[class._empty]': 'el.value === \"\"',\n '[attr.data-mode]': 'mode',\n '(input)': '0',\n '(focusin)': '0',\n '(focusout)': '0',\n },\n})\nexport class TuiTextfieldDirective extends TuiTextfieldBase {}\n","import {CommonModule} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject, Input} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {WA_NAVIGATOR} from '@ng-web-apis/common';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\n\nimport {TuiTextfieldBase, TuiTextfieldDirective} from './textfield.directive';\n\n@Component({\n standalone: true,\n selector: 'select[tuiTextfield]',\n imports: [CommonModule],\n templateUrl: './select.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiProvide(TuiTextfieldDirective, TuiSelect)],\n hostDirectives: [TuiNativeValidator, TuiAppearance],\n host: {\n '[id]': 'el.id || id',\n '[attr.data-mode]': 'mode',\n '[class._empty]': 'value === \"\"',\n '(input)': '0',\n '(focusin)': '0',\n '(focusout)': '0',\n '(keydown.space.prevent)': '0',\n '(keydown.enter.prevent)': '0',\n '(keydown.backspace)': 'setValue(\"\")',\n '(mousedown.prevent)': 'focus()',\n '(keydown.control.c)': 'onCopy()',\n '(keydown.meta.c)': 'onCopy()',\n },\n})\nexport class TuiSelect extends TuiTextfieldBase {\n private readonly nav = inject(WA_NAVIGATOR);\n private readonly control = inject(NgControl);\n\n @Input()\n public placeholder = '';\n\n public override setValue(value: string): void {\n this.control.control?.setValue(value);\n this.el.dispatchEvent(new Event('input', {bubbles: true}));\n }\n\n public focus(): void {\n this.el.classList.add('_ios-fix');\n this.el.focus();\n this.el.classList.remove('_ios-fix');\n }\n\n protected get value(): string {\n return this.textfield.stringify(this.control.value);\n }\n\n protected async onCopy(): Promise<void> {\n await this.nav.clipboard.writeText(this.value);\n }\n}\n","<option\n *ngIf=\"placeholder && !value; else selected\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<ng-template #selected>\n <option\n *ngFor=\"let item of [value]\"\n selected\n >\n {{ item }}\n </option>\n</ng-template>\n","import {TuiLabel} from '@taiga-ui/core/components/label';\n\nimport {TuiSelect} from './select.directive';\nimport {TuiTextfieldComponent} from './textfield.component';\nimport {TuiTextfieldDirective} from './textfield.directive';\nimport {TuiTextfieldOptionsDirective} from './textfield.options';\nimport {TuiTextfieldDropdownDirective} from './textfield-dropdown.directive';\n\nexport const TuiTextfield = [\n TuiLabel,\n TuiSelect,\n TuiTextfieldComponent,\n TuiTextfieldDirective,\n TuiTextfieldOptionsDirective,\n TuiTextfieldDropdownDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.TuiWithTextfieldDropdown","i2"],"mappings":"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"}
|
|
@@ -15,13 +15,13 @@ function tuiGroupOptionsProvider(options) {
|
|
|
15
15
|
|
|
16
16
|
class TuiGroupStyles {
|
|
17
17
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiGroupStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiGroupStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-group" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiGroup]{position:relative;display:flex;isolation:isolate;--t-group-radius: var(--tui-radius-l);--t-group-margin: -1px}[tuiGroup]>*{z-index:1;flex:1 1 0;min-width:0}[tuiGroup]>*._disabled,[tuiGroup]>*._disabled:hover{z-index:0}[tuiGroup]>*:invalid{z-index:2}[tuiGroup]>*:invalid:hover{z-index:4}[tuiGroup]>*:has(:invalid),[tuiGroup]>*:has([data-mode=invalid]){z-index:2}[tuiGroup]>*:has(:invalid):hover,[tuiGroup]>*:has([data-mode=invalid]):hover{z-index:4}[tuiGroup]>*:hover{z-index:3}[tuiGroup]>*:has([data-state=hover]){z-index:3}[tuiGroup]>*:focus-within{z-index:5}[tuiGroup]>*:has([data-focus=true]){z-index:5}[tuiGroup]>*[data-mode=checked]{z-index:6}[tuiGroup]>*:has([tuiBlock]:checked){z-index:6}[tuiGroup]>*:not(:last-child){margin-inline-end:var(--t-group-margin)}[tuiGroup]>*:nth-child(n){border-radius:0}[tuiGroup]>*:first-child{border-top-left-radius:var(--t-group-radius);border-bottom-left-radius:var(--t-group-radius)}[tuiGroup]>*:last-child{border-top-right-radius:var(--t-group-radius);border-bottom-right-radius:var(--t-group-radius)}[tuiGroup][data-size=s],[tuiGroup][data-size=m]{--t-group-radius: var(--tui-radius-m)}[tuiGroup][data-orientation=vertical]{display:inline-flex;flex-direction:column}[tuiGroup][data-orientation=vertical]>*{min-height:auto;flex:0 0 auto}[tuiGroup][data-orientation=vertical]>*:not(:last-child){margin-inline-end:0;margin-block-end:var(--t-group-margin)}[tuiGroup][data-orientation=vertical]>*:first-child{border-radius:var(--t-group-radius) var(--t-group-radius) 0 0}[tuiGroup][data-orientation=vertical]>*:last-child{border-radius:0 0 var(--t-group-radius) var(--t-group-radius)}[tuiGroup][data-orientation=vertical]>*:only-child{border-radius:var(--t-group-radius)}.tui-group{position:relative;display:flex;isolation:isolate;--t-group-radius: var(--tui-radius-m)}.tui-group>*{flex:1 1 0;min-width:0}.tui-group>*:not(:last-child){margin-right:.125rem}.tui-group.tui-group>*:nth-child(n){border-radius:0}.tui-group_radius_large{--t-group-radius: var(--tui-radius-l)}.tui-group_collapsed>*{z-index:1}.tui-group_collapsed>*:not(:last-child){margin:0 -1px 0 0}.tui-group_collapsed>*._readonly,.tui-group_collapsed>*._disabled,.tui-group_collapsed>*._readonly:hover,.tui-group_collapsed>*._disabled:hover{z-index:0}.tui-group_collapsed>*._invalid{z-index:2}.tui-group_collapsed>*._invalid:hover,.tui-group_collapsed>*._invalid._hovered,.tui-group_collapsed>*._invalid._pressed{z-index:4}.tui-group_collapsed>*:hover,.tui-group_collapsed>*._hovered,.tui-group_collapsed>*._pressed{z-index:3}.tui-group_collapsed>*._hosted_dropdown_focused,.tui-group_collapsed>*._focus-visible,.tui-group_collapsed>*._focused.ng-touched,.tui-group_collapsed>*._focused.ng-untouched{z-index:5}.tui-group_collapsed>*._active,.tui-group_collapsed>*[data-appearance=whiteblock-active]{z-index:6}.tui-group_collapsed>*:has([tuiBlock]:checked){z-index:6}.tui-group_collapsed>*._focus-visible._focused,.tui-group_collapsed>*._focus-visible._active,.tui-group_collapsed>*._focus-visible[data-appearance=whiteblock-active]{z-index:7}.tui-group_orientation_vertical{display:inline-flex;flex-direction:column}.tui-group_orientation_vertical>*{min-height:auto;flex:0 0 auto}.tui-group_orientation_vertical>*:not(:last-child){margin-right:0;margin-bottom:.125rem}.tui-group_orientation_vertical.tui-group_collapsed>*:not(:last-child){margin:0 0 -1px}.tui-group_rounded.tui-group_orientation_horizontal>*:first-child{border-top-left-radius:var(--t-group-radius);border-bottom-left-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_horizontal>*:last-child{border-top-right-radius:var(--t-group-radius);border-bottom-right-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_vertical>*:first-child{border-top-left-radius:var(--t-group-radius);border-top-right-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_vertical>*:last-child{border-bottom-left-radius:var(--t-group-radius);border-bottom-right-radius:var(--t-group-radius)}.tui-group__auto-width-item{min-width:auto;flex:0 0 auto}.tui-group__inherit-item{border-radius:inherit!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiGroupStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-group" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiGroup]{position:relative;display:flex;isolation:isolate;--t-group-radius: var(--tui-radius-l);--t-group-margin: -1px;--t-group-clip: inset(-1px 1px -1px -1px)}[tuiGroup]>*{z-index:1;flex:1 1 0;min-width:0}[tuiGroup]>*._disabled,[tuiGroup]>*._disabled:hover{z-index:0}[tuiGroup]>*:invalid{z-index:2;--t-group-clip: none}[tuiGroup]>*:invalid:hover{z-index:4}[tuiGroup]>*:has(:invalid),[tuiGroup]>*:has([data-mode=invalid]){z-index:2;--t-group-clip: none}[tuiGroup]>*:has(:invalid):hover,[tuiGroup]>*:has([data-mode=invalid]):hover{z-index:4}[tuiGroup]>*:hover{z-index:3;--t-group-clip: inset(-1px .5px -1px -1px)}[tuiGroup]>*:has([data-state=hover]){z-index:3;--t-group-clip: none}[tuiGroup]>*:focus-within{z-index:5;--t-group-clip: none}[tuiGroup]>*:has([data-focus=true]){z-index:5;--t-group-clip: none}[tuiGroup]>*[data-mode=checked]{z-index:6;--t-group-clip: none}[tuiGroup]>*:has([tuiBlock]:checked){z-index:6;--t-group-clip: none}[tuiGroup]>*:not(:last-child){margin-inline-end:var(--t-group-margin);clip-path:var(--t-group-clip)}[tuiGroup]>*:nth-child(n){border-radius:0}[tuiGroup]>*:first-child{border-top-left-radius:var(--t-group-radius);border-bottom-left-radius:var(--t-group-radius)}[tuiGroup]>*:last-child{border-top-right-radius:var(--t-group-radius);border-bottom-right-radius:var(--t-group-radius)}[tuiGroup][data-size=s],[tuiGroup][data-size=m]{--t-group-radius: var(--tui-radius-m)}[tuiGroup][data-orientation=vertical]{display:inline-flex;flex-direction:column;--t-group-clip: inset(-1px -1px 1px -1px)}[tuiGroup][data-orientation=vertical]>*{min-height:auto;flex:0 0 auto}[tuiGroup][data-orientation=vertical]>*:not(:last-child){margin-inline-end:0;margin-block-end:var(--t-group-margin)}[tuiGroup][data-orientation=vertical]>*:first-child{border-radius:var(--t-group-radius) var(--t-group-radius) 0 0}[tuiGroup][data-orientation=vertical]>*:last-child{border-radius:0 0 var(--t-group-radius) var(--t-group-radius)}[tuiGroup][data-orientation=vertical]>*:only-child{border-radius:var(--t-group-radius)}[tuiGroup][data-orientation=vertical]>*:hover{--t-group-clip: inset(-1px -1px .5px -1px)}.tui-group{position:relative;display:flex;isolation:isolate;--t-group-radius: var(--tui-radius-m)}.tui-group>*{flex:1 1 0;min-width:0}.tui-group>*:not(:last-child){margin-right:.125rem}.tui-group.tui-group>*:nth-child(n){border-radius:0}.tui-group_radius_large{--t-group-radius: var(--tui-radius-l)}.tui-group_collapsed>*{z-index:1}.tui-group_collapsed>*:not(:last-child){margin:0 -1px 0 0}.tui-group_collapsed>*._readonly,.tui-group_collapsed>*._disabled,.tui-group_collapsed>*._readonly:hover,.tui-group_collapsed>*._disabled:hover{z-index:0}.tui-group_collapsed>*._invalid{z-index:2}.tui-group_collapsed>*._invalid:hover,.tui-group_collapsed>*._invalid._hovered,.tui-group_collapsed>*._invalid._pressed{z-index:4}.tui-group_collapsed>*:hover,.tui-group_collapsed>*._hovered,.tui-group_collapsed>*._pressed{z-index:3}.tui-group_collapsed>*._hosted_dropdown_focused,.tui-group_collapsed>*._focus-visible,.tui-group_collapsed>*._focused.ng-touched,.tui-group_collapsed>*._focused.ng-untouched{z-index:5}.tui-group_collapsed>*._active,.tui-group_collapsed>*[data-appearance=whiteblock-active]{z-index:6}.tui-group_collapsed>*:has([tuiBlock]:checked){z-index:6}.tui-group_collapsed>*._focus-visible._focused,.tui-group_collapsed>*._focus-visible._active,.tui-group_collapsed>*._focus-visible[data-appearance=whiteblock-active]{z-index:7}.tui-group_orientation_vertical{display:inline-flex;flex-direction:column}.tui-group_orientation_vertical>*{min-height:auto;flex:0 0 auto}.tui-group_orientation_vertical>*:not(:last-child){margin-right:0;margin-bottom:.125rem}.tui-group_orientation_vertical.tui-group_collapsed>*:not(:last-child){margin:0 0 -1px}.tui-group_rounded.tui-group_orientation_horizontal>*:first-child{border-top-left-radius:var(--t-group-radius);border-bottom-left-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_horizontal>*:last-child{border-top-right-radius:var(--t-group-radius);border-bottom-right-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_vertical>*:first-child{border-top-left-radius:var(--t-group-radius);border-top-right-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_vertical>*:last-child{border-bottom-left-radius:var(--t-group-radius);border-bottom-right-radius:var(--t-group-radius)}.tui-group__auto-width-item{min-width:auto;flex:0 0 auto}.tui-group__inherit-item{border-radius:inherit!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
19
19
|
}
|
|
20
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiGroupStyles, decorators: [{
|
|
21
21
|
type: Component,
|
|
22
22
|
args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
23
23
|
class: 'tui-group',
|
|
24
|
-
}, styles: ["[tuiGroup]{position:relative;display:flex;isolation:isolate;--t-group-radius: var(--tui-radius-l);--t-group-margin: -1px}[tuiGroup]>*{z-index:1;flex:1 1 0;min-width:0}[tuiGroup]>*._disabled,[tuiGroup]>*._disabled:hover{z-index:0}[tuiGroup]>*:invalid{z-index:2}[tuiGroup]>*:invalid:hover{z-index:4}[tuiGroup]>*:has(:invalid),[tuiGroup]>*:has([data-mode=invalid]){z-index:2}[tuiGroup]>*:has(:invalid):hover,[tuiGroup]>*:has([data-mode=invalid]):hover{z-index:4}[tuiGroup]>*:hover{z-index:3}[tuiGroup]>*:has([data-state=hover]){z-index:3}[tuiGroup]>*:focus-within{z-index:5}[tuiGroup]>*:has([data-focus=true]){z-index:5}[tuiGroup]>*[data-mode=checked]{z-index:6}[tuiGroup]>*:has([tuiBlock]:checked){z-index:6}[tuiGroup]>*:not(:last-child){margin-inline-end:var(--t-group-margin)}[tuiGroup]>*:nth-child(n){border-radius:0}[tuiGroup]>*:first-child{border-top-left-radius:var(--t-group-radius);border-bottom-left-radius:var(--t-group-radius)}[tuiGroup]>*:last-child{border-top-right-radius:var(--t-group-radius);border-bottom-right-radius:var(--t-group-radius)}[tuiGroup][data-size=s],[tuiGroup][data-size=m]{--t-group-radius: var(--tui-radius-m)}[tuiGroup][data-orientation=vertical]{display:inline-flex;flex-direction:column}[tuiGroup][data-orientation=vertical]>*{min-height:auto;flex:0 0 auto}[tuiGroup][data-orientation=vertical]>*:not(:last-child){margin-inline-end:0;margin-block-end:var(--t-group-margin)}[tuiGroup][data-orientation=vertical]>*:first-child{border-radius:var(--t-group-radius) var(--t-group-radius) 0 0}[tuiGroup][data-orientation=vertical]>*:last-child{border-radius:0 0 var(--t-group-radius) var(--t-group-radius)}[tuiGroup][data-orientation=vertical]>*:only-child{border-radius:var(--t-group-radius)}.tui-group{position:relative;display:flex;isolation:isolate;--t-group-radius: var(--tui-radius-m)}.tui-group>*{flex:1 1 0;min-width:0}.tui-group>*:not(:last-child){margin-right:.125rem}.tui-group.tui-group>*:nth-child(n){border-radius:0}.tui-group_radius_large{--t-group-radius: var(--tui-radius-l)}.tui-group_collapsed>*{z-index:1}.tui-group_collapsed>*:not(:last-child){margin:0 -1px 0 0}.tui-group_collapsed>*._readonly,.tui-group_collapsed>*._disabled,.tui-group_collapsed>*._readonly:hover,.tui-group_collapsed>*._disabled:hover{z-index:0}.tui-group_collapsed>*._invalid{z-index:2}.tui-group_collapsed>*._invalid:hover,.tui-group_collapsed>*._invalid._hovered,.tui-group_collapsed>*._invalid._pressed{z-index:4}.tui-group_collapsed>*:hover,.tui-group_collapsed>*._hovered,.tui-group_collapsed>*._pressed{z-index:3}.tui-group_collapsed>*._hosted_dropdown_focused,.tui-group_collapsed>*._focus-visible,.tui-group_collapsed>*._focused.ng-touched,.tui-group_collapsed>*._focused.ng-untouched{z-index:5}.tui-group_collapsed>*._active,.tui-group_collapsed>*[data-appearance=whiteblock-active]{z-index:6}.tui-group_collapsed>*:has([tuiBlock]:checked){z-index:6}.tui-group_collapsed>*._focus-visible._focused,.tui-group_collapsed>*._focus-visible._active,.tui-group_collapsed>*._focus-visible[data-appearance=whiteblock-active]{z-index:7}.tui-group_orientation_vertical{display:inline-flex;flex-direction:column}.tui-group_orientation_vertical>*{min-height:auto;flex:0 0 auto}.tui-group_orientation_vertical>*:not(:last-child){margin-right:0;margin-bottom:.125rem}.tui-group_orientation_vertical.tui-group_collapsed>*:not(:last-child){margin:0 0 -1px}.tui-group_rounded.tui-group_orientation_horizontal>*:first-child{border-top-left-radius:var(--t-group-radius);border-bottom-left-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_horizontal>*:last-child{border-top-right-radius:var(--t-group-radius);border-bottom-right-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_vertical>*:first-child{border-top-left-radius:var(--t-group-radius);border-top-right-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_vertical>*:last-child{border-bottom-left-radius:var(--t-group-radius);border-bottom-right-radius:var(--t-group-radius)}.tui-group__auto-width-item{min-width:auto;flex:0 0 auto}.tui-group__inherit-item{border-radius:inherit!important}\n"] }]
|
|
24
|
+
}, styles: ["[tuiGroup]{position:relative;display:flex;isolation:isolate;--t-group-radius: var(--tui-radius-l);--t-group-margin: -1px;--t-group-clip: inset(-1px 1px -1px -1px)}[tuiGroup]>*{z-index:1;flex:1 1 0;min-width:0}[tuiGroup]>*._disabled,[tuiGroup]>*._disabled:hover{z-index:0}[tuiGroup]>*:invalid{z-index:2;--t-group-clip: none}[tuiGroup]>*:invalid:hover{z-index:4}[tuiGroup]>*:has(:invalid),[tuiGroup]>*:has([data-mode=invalid]){z-index:2;--t-group-clip: none}[tuiGroup]>*:has(:invalid):hover,[tuiGroup]>*:has([data-mode=invalid]):hover{z-index:4}[tuiGroup]>*:hover{z-index:3;--t-group-clip: inset(-1px .5px -1px -1px)}[tuiGroup]>*:has([data-state=hover]){z-index:3;--t-group-clip: none}[tuiGroup]>*:focus-within{z-index:5;--t-group-clip: none}[tuiGroup]>*:has([data-focus=true]){z-index:5;--t-group-clip: none}[tuiGroup]>*[data-mode=checked]{z-index:6;--t-group-clip: none}[tuiGroup]>*:has([tuiBlock]:checked){z-index:6;--t-group-clip: none}[tuiGroup]>*:not(:last-child){margin-inline-end:var(--t-group-margin);clip-path:var(--t-group-clip)}[tuiGroup]>*:nth-child(n){border-radius:0}[tuiGroup]>*:first-child{border-top-left-radius:var(--t-group-radius);border-bottom-left-radius:var(--t-group-radius)}[tuiGroup]>*:last-child{border-top-right-radius:var(--t-group-radius);border-bottom-right-radius:var(--t-group-radius)}[tuiGroup][data-size=s],[tuiGroup][data-size=m]{--t-group-radius: var(--tui-radius-m)}[tuiGroup][data-orientation=vertical]{display:inline-flex;flex-direction:column;--t-group-clip: inset(-1px -1px 1px -1px)}[tuiGroup][data-orientation=vertical]>*{min-height:auto;flex:0 0 auto}[tuiGroup][data-orientation=vertical]>*:not(:last-child){margin-inline-end:0;margin-block-end:var(--t-group-margin)}[tuiGroup][data-orientation=vertical]>*:first-child{border-radius:var(--t-group-radius) var(--t-group-radius) 0 0}[tuiGroup][data-orientation=vertical]>*:last-child{border-radius:0 0 var(--t-group-radius) var(--t-group-radius)}[tuiGroup][data-orientation=vertical]>*:only-child{border-radius:var(--t-group-radius)}[tuiGroup][data-orientation=vertical]>*:hover{--t-group-clip: inset(-1px -1px .5px -1px)}.tui-group{position:relative;display:flex;isolation:isolate;--t-group-radius: var(--tui-radius-m)}.tui-group>*{flex:1 1 0;min-width:0}.tui-group>*:not(:last-child){margin-right:.125rem}.tui-group.tui-group>*:nth-child(n){border-radius:0}.tui-group_radius_large{--t-group-radius: var(--tui-radius-l)}.tui-group_collapsed>*{z-index:1}.tui-group_collapsed>*:not(:last-child){margin:0 -1px 0 0}.tui-group_collapsed>*._readonly,.tui-group_collapsed>*._disabled,.tui-group_collapsed>*._readonly:hover,.tui-group_collapsed>*._disabled:hover{z-index:0}.tui-group_collapsed>*._invalid{z-index:2}.tui-group_collapsed>*._invalid:hover,.tui-group_collapsed>*._invalid._hovered,.tui-group_collapsed>*._invalid._pressed{z-index:4}.tui-group_collapsed>*:hover,.tui-group_collapsed>*._hovered,.tui-group_collapsed>*._pressed{z-index:3}.tui-group_collapsed>*._hosted_dropdown_focused,.tui-group_collapsed>*._focus-visible,.tui-group_collapsed>*._focused.ng-touched,.tui-group_collapsed>*._focused.ng-untouched{z-index:5}.tui-group_collapsed>*._active,.tui-group_collapsed>*[data-appearance=whiteblock-active]{z-index:6}.tui-group_collapsed>*:has([tuiBlock]:checked){z-index:6}.tui-group_collapsed>*._focus-visible._focused,.tui-group_collapsed>*._focus-visible._active,.tui-group_collapsed>*._focus-visible[data-appearance=whiteblock-active]{z-index:7}.tui-group_orientation_vertical{display:inline-flex;flex-direction:column}.tui-group_orientation_vertical>*{min-height:auto;flex:0 0 auto}.tui-group_orientation_vertical>*:not(:last-child){margin-right:0;margin-bottom:.125rem}.tui-group_orientation_vertical.tui-group_collapsed>*:not(:last-child){margin:0 0 -1px}.tui-group_rounded.tui-group_orientation_horizontal>*:first-child{border-top-left-radius:var(--t-group-radius);border-bottom-left-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_horizontal>*:last-child{border-top-right-radius:var(--t-group-radius);border-bottom-right-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_vertical>*:first-child{border-top-left-radius:var(--t-group-radius);border-top-right-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_vertical>*:last-child{border-bottom-left-radius:var(--t-group-radius);border-bottom-right-radius:var(--t-group-radius)}.tui-group__auto-width-item{min-width:auto;flex:0 0 auto}.tui-group__inherit-item{border-radius:inherit!important}\n"] }]
|
|
25
25
|
}] });
|
|
26
26
|
class TuiGroup {
|
|
27
27
|
constructor() {
|
|
@@ -33,7 +33,7 @@ class TuiGroup {
|
|
|
33
33
|
this.size = this.options.size;
|
|
34
34
|
}
|
|
35
35
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
36
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiGroup, isStandalone: true, selector: "[tuiGroup]:not(ng-container)", inputs: { orientation: "orientation", collapsed: "collapsed", rounded: "rounded", size: "size" }, host: { attributes: { "tuiGroup": "", "role": "group" }, properties: { "attr.data-orientation": "orientation", "attr.data-size": "size", "style.--t-group-radius": "rounded ? null : 0", "style.--t-group-margin.rem": "collapsed ? null : 0.125" } }, ngImport: i0 }); }
|
|
36
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiGroup, isStandalone: true, selector: "[tuiGroup]:not(ng-container)", inputs: { orientation: "orientation", collapsed: "collapsed", rounded: "rounded", size: "size" }, host: { attributes: { "tuiGroup": "", "role": "group" }, properties: { "attr.data-orientation": "orientation", "attr.data-size": "size", "style.--t-group-radius": "rounded ? null : 0", "style.--t-group-margin.rem": "collapsed ? null : 0.125", "style.--t-group-clip": "collapsed ? null : 0.125" } }, ngImport: i0 }); }
|
|
37
37
|
}
|
|
38
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiGroup, decorators: [{
|
|
39
39
|
type: Directive,
|
|
@@ -47,6 +47,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
47
47
|
'[attr.data-size]': 'size',
|
|
48
48
|
'[style.--t-group-radius]': 'rounded ? null : 0',
|
|
49
49
|
'[style.--t-group-margin.rem]': 'collapsed ? null : 0.125',
|
|
50
|
+
'[style.--t-group-clip]': 'collapsed ? null : 0.125',
|
|
50
51
|
},
|
|
51
52
|
}]
|
|
52
53
|
}], propDecorators: { orientation: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-directives-group.mjs","sources":["../../../projects/core/directives/group/group.options.ts","../../../projects/core/directives/group/group.directive.ts","../../../projects/core/directives/group/taiga-ui-core-directives-group.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiOrientation, TuiSizeL} from '@taiga-ui/core/types';\n\nexport interface TuiGroupOptions {\n readonly size: TuiSizeL;\n readonly collapsed: boolean;\n readonly rounded: boolean;\n readonly orientation: TuiOrientation;\n}\n\nexport const TUI_GROUP_DEFAULT_OPTIONS: TuiGroupOptions = {\n size: 'l',\n collapsed: false,\n rounded: true,\n orientation: 'horizontal',\n};\n\nexport const TUI_GROUP_OPTIONS = tuiCreateToken(TUI_GROUP_DEFAULT_OPTIONS);\n\nexport function tuiGroupOptionsProvider(options: Partial<TuiGroupOptions>): Provider {\n return tuiProvideOptions(TUI_GROUP_OPTIONS, options, TUI_GROUP_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiOrientation, TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nimport {TUI_GROUP_OPTIONS} from './group.options';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./group.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-group',\n },\n})\nclass TuiGroupStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiGroup]:not(ng-container)',\n host: {\n tuiGroup: '',\n role: 'group',\n '[attr.data-orientation]': 'orientation',\n '[attr.data-size]': 'size',\n '[style.--t-group-radius]': 'rounded ? null : 0',\n '[style.--t-group-margin.rem]': 'collapsed ? null : 0.125',\n },\n})\nexport class TuiGroup {\n private readonly options = inject(TUI_GROUP_OPTIONS);\n\n protected readonly nothing = tuiWithStyles(TuiGroupStyles);\n\n @Input()\n public orientation: TuiOrientation = this.options.orientation;\n\n @Input()\n public collapsed = this.options.collapsed;\n\n @Input()\n public rounded = this.options.rounded;\n\n @Input()\n public size: TuiSizeL | TuiSizeS = this.options.size;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAWa,MAAA,yBAAyB,GAAoB;AACtD,IAAA,IAAI,EAAE,GAAG;AACT,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,WAAW,EAAE,YAAY;EAC3B;MAEW,iBAAiB,GAAG,cAAc,CAAC,yBAAyB,EAAE;AAErE,SAAU,uBAAuB,CAAC,OAAiC,EAAA;IACrE,OAAO,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC;AACpF;;ACTA,MAUM,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,+GARN,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-directives-group.mjs","sources":["../../../projects/core/directives/group/group.options.ts","../../../projects/core/directives/group/group.directive.ts","../../../projects/core/directives/group/taiga-ui-core-directives-group.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiOrientation, TuiSizeL} from '@taiga-ui/core/types';\n\nexport interface TuiGroupOptions {\n readonly size: TuiSizeL;\n readonly collapsed: boolean;\n readonly rounded: boolean;\n readonly orientation: TuiOrientation;\n}\n\nexport const TUI_GROUP_DEFAULT_OPTIONS: TuiGroupOptions = {\n size: 'l',\n collapsed: false,\n rounded: true,\n orientation: 'horizontal',\n};\n\nexport const TUI_GROUP_OPTIONS = tuiCreateToken(TUI_GROUP_DEFAULT_OPTIONS);\n\nexport function tuiGroupOptionsProvider(options: Partial<TuiGroupOptions>): Provider {\n return tuiProvideOptions(TUI_GROUP_OPTIONS, options, TUI_GROUP_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiOrientation, TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nimport {TUI_GROUP_OPTIONS} from './group.options';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./group.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-group',\n },\n})\nclass TuiGroupStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiGroup]:not(ng-container)',\n host: {\n tuiGroup: '',\n role: 'group',\n '[attr.data-orientation]': 'orientation',\n '[attr.data-size]': 'size',\n '[style.--t-group-radius]': 'rounded ? null : 0',\n '[style.--t-group-margin.rem]': 'collapsed ? null : 0.125',\n '[style.--t-group-clip]': 'collapsed ? null : 0.125',\n },\n})\nexport class TuiGroup {\n private readonly options = inject(TUI_GROUP_OPTIONS);\n\n protected readonly nothing = tuiWithStyles(TuiGroupStyles);\n\n @Input()\n public orientation: TuiOrientation = this.options.orientation;\n\n @Input()\n public collapsed = this.options.collapsed;\n\n @Input()\n public rounded = this.options.rounded;\n\n @Input()\n public size: TuiSizeL | TuiSizeS = this.options.size;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/core",
|
|
3
|
-
"version": "4.0
|
|
3
|
+
"version": "4.2.0",
|
|
4
4
|
"description": "Core library for creating Angular components and applications using Taiga UI",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -311,9 +311,9 @@
|
|
|
311
311
|
"@angular/router": ">=16.0.0",
|
|
312
312
|
"@ng-web-apis/common": "^4.2.1",
|
|
313
313
|
"@ng-web-apis/mutation-observer": "^4.2.1",
|
|
314
|
-
"@taiga-ui/cdk": "^4.0
|
|
314
|
+
"@taiga-ui/cdk": "^4.2.0",
|
|
315
315
|
"@taiga-ui/event-plugins": "^4.0.1",
|
|
316
|
-
"@taiga-ui/i18n": "^4.0
|
|
316
|
+
"@taiga-ui/i18n": "^4.2.0",
|
|
317
317
|
"@taiga-ui/polymorpheus": "^4.6.4",
|
|
318
318
|
"rxjs": ">=7.0.0"
|
|
319
319
|
},
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
--t-group-radius: var(--tui-radius-l);
|
|
28
28
|
--t-group-margin: -1px;
|
|
29
|
+
--t-group-clip: inset(-1px 1px -1px -1px);
|
|
29
30
|
|
|
30
31
|
& > * {
|
|
31
32
|
z-index: 1;
|
|
@@ -40,6 +41,8 @@
|
|
|
40
41
|
&:invalid {
|
|
41
42
|
z-index: 2;
|
|
42
43
|
|
|
44
|
+
--t-group-clip: none;
|
|
45
|
+
|
|
43
46
|
&:hover {
|
|
44
47
|
z-index: 4;
|
|
45
48
|
}
|
|
@@ -49,6 +52,8 @@
|
|
|
49
52
|
&:has([data-mode='invalid']) {
|
|
50
53
|
z-index: 2;
|
|
51
54
|
|
|
55
|
+
--t-group-clip: none;
|
|
56
|
+
|
|
52
57
|
&:hover {
|
|
53
58
|
z-index: 4;
|
|
54
59
|
}
|
|
@@ -56,30 +61,43 @@
|
|
|
56
61
|
|
|
57
62
|
&:hover {
|
|
58
63
|
z-index: 3;
|
|
64
|
+
|
|
65
|
+
--t-group-clip: inset(-1px 0.5px -1px -1px);
|
|
59
66
|
}
|
|
60
67
|
|
|
61
68
|
&:has([data-state='hover']) {
|
|
62
69
|
z-index: 3;
|
|
70
|
+
|
|
71
|
+
--t-group-clip: none;
|
|
63
72
|
}
|
|
64
73
|
|
|
65
74
|
&:focus-within {
|
|
66
75
|
z-index: 5;
|
|
76
|
+
|
|
77
|
+
--t-group-clip: none;
|
|
67
78
|
}
|
|
68
79
|
|
|
69
80
|
&:has([data-focus='true']) {
|
|
70
81
|
z-index: 5;
|
|
82
|
+
|
|
83
|
+
--t-group-clip: none;
|
|
71
84
|
}
|
|
72
85
|
|
|
73
86
|
&[data-mode='checked'] {
|
|
74
87
|
z-index: 6;
|
|
88
|
+
|
|
89
|
+
--t-group-clip: none;
|
|
75
90
|
}
|
|
76
91
|
|
|
77
92
|
&:has([tuiBlock]:checked) {
|
|
78
93
|
z-index: 6;
|
|
94
|
+
|
|
95
|
+
--t-group-clip: none;
|
|
79
96
|
}
|
|
80
97
|
|
|
81
98
|
&:not(:last-child) {
|
|
82
99
|
margin-inline-end: var(--t-group-margin);
|
|
100
|
+
clip-path: var(--t-group-clip);
|
|
83
101
|
}
|
|
84
102
|
|
|
85
103
|
&:nth-child(n) {
|
|
@@ -106,6 +124,8 @@
|
|
|
106
124
|
display: inline-flex;
|
|
107
125
|
flex-direction: column;
|
|
108
126
|
|
|
127
|
+
--t-group-clip: inset(-1px -1px 1px -1px);
|
|
128
|
+
|
|
109
129
|
& > * {
|
|
110
130
|
min-height: auto;
|
|
111
131
|
flex: 0 0 auto;
|
|
@@ -126,6 +146,10 @@
|
|
|
126
146
|
&:only-child {
|
|
127
147
|
border-radius: var(--t-group-radius);
|
|
128
148
|
}
|
|
149
|
+
|
|
150
|
+
&:hover {
|
|
151
|
+
--t-group-clip: inset(-1px -1px 0.5px -1px);
|
|
152
|
+
}
|
|
129
153
|
}
|
|
130
154
|
}
|
|
131
155
|
}
|