@taiga-ui/kit 3.22.0-dev.main-9b18d21 → 3.22.0-dev.main-29da1cb
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/abstract/abstract-native-select.d.ts +18 -0
- package/abstract/index.d.ts +1 -0
- package/abstract/package.json +10 -0
- package/abstract/taiga-ui-kit-abstract.d.ts +5 -0
- package/bundles/taiga-ui-kit-abstract.umd.js +87 -0
- package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -0
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +3 -2
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +3 -2
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.js +3 -2
- package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.js +7 -6
- package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-filter.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-copy.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.js +5 -4
- package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js +16 -13
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js +4 -4
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js +6 -5
- package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.js +5 -5
- package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.js +3 -2
- package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.js +4 -5
- package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-password.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +7 -6
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.js +4 -4
- package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +9 -9
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.js +6 -7
- package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-year.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-year.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js +50 -84
- package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-block.umd.js +3 -2
- package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +3 -2
- package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-list.umd.js +3 -2
- package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-rating.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.js +38 -83
- package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.js +6 -14
- package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
- package/bundles/taiga-ui-kit.umd.js +10 -4
- package/bundles/taiga-ui-kit.umd.js.map +1 -1
- package/components/checkbox/checkbox.component.d.ts +1 -0
- package/components/checkbox-block/checkbox-block.component.d.ts +1 -0
- package/components/checkbox-labeled/checkbox-labeled.component.d.ts +1 -0
- package/components/combo-box/combo-box.component.d.ts +1 -0
- package/components/input-count/input-count.component.d.ts +1 -0
- package/components/input-date-range/input-date-range.component.d.ts +1 -0
- package/components/input-inline/input-inline.component.d.ts +1 -0
- package/components/input-phone-international/input-phone-international.component.d.ts +1 -0
- package/components/input-tag/input-tag.component.d.ts +1 -1
- package/components/multi-select/multi-select.directive.d.ts +1 -1
- package/components/multi-select/native-multi-select/native-multi-select.component.d.ts +1 -1
- package/components/multi-select/native-multi-select/native-multi-select.d.ts +4 -12
- package/components/radio-block/radio-block.component.d.ts +1 -0
- package/components/radio-labeled/radio-labeled.component.d.ts +1 -0
- package/components/radio-list/radio-list.component.d.ts +1 -0
- package/components/select/index.d.ts +0 -1
- package/components/select/native-select/native-select-group.component.d.ts +1 -1
- package/components/select/native-select/native-select.component.d.ts +1 -1
- package/components/toggle/toggle.component.d.ts +1 -1
- package/esm2015/abstract/abstract-native-select.js +49 -0
- package/esm2015/abstract/index.js +2 -0
- package/esm2015/abstract/taiga-ui-kit-abstract.js +5 -0
- package/esm2015/components/checkbox/checkbox.component.js +4 -3
- package/esm2015/components/checkbox-block/checkbox-block.component.js +4 -3
- package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +4 -3
- package/esm2015/components/combo-box/combo-box-strict.directive.js +2 -2
- package/esm2015/components/combo-box/combo-box.component.js +7 -6
- package/esm2015/components/filter/filter.component.js +3 -3
- package/esm2015/components/input/input.component.js +3 -3
- package/esm2015/components/input-copy/input-copy.component.js +3 -3
- package/esm2015/components/input-count/input-count.component.js +6 -5
- package/esm2015/components/input-date/input-date.component.js +7 -6
- package/esm2015/components/input-date-range/input-date-range.component.js +17 -14
- package/esm2015/components/input-date-time/input-date-time.component.js +5 -5
- package/esm2015/components/input-files/input-files.component.js +6 -6
- package/esm2015/components/input-inline/input-inline.component.js +4 -3
- package/esm2015/components/input-month/input-month.component.js +3 -3
- package/esm2015/components/input-month-range/input-month-range.component.js +4 -4
- package/esm2015/components/input-number/input-number.component.js +5 -6
- package/esm2015/components/input-password/input-password.component.js +3 -3
- package/esm2015/components/input-phone/input-phone.component.js +5 -5
- package/esm2015/components/input-phone-international/input-phone-international.component.js +8 -7
- package/esm2015/components/input-range/input-range.component.js +2 -2
- package/esm2015/components/input-slider/input-slider.component.js +2 -2
- package/esm2015/components/input-tag/input-tag.component.js +10 -10
- package/esm2015/components/input-time/input-time.component.js +7 -8
- package/esm2015/components/input-year/input-year.component.js +3 -3
- package/esm2015/components/multi-select/multi-select.component.js +6 -5
- package/esm2015/components/multi-select/multi-select.directive.js +2 -4
- package/esm2015/components/multi-select/native-multi-select/native-multi-select-group.component.js +5 -4
- package/esm2015/components/multi-select/native-multi-select/native-multi-select.component.js +5 -4
- package/esm2015/components/multi-select/native-multi-select/native-multi-select.js +9 -41
- package/esm2015/components/radio/radio.component.js +2 -2
- package/esm2015/components/radio-block/radio-block.component.js +4 -3
- package/esm2015/components/radio-labeled/radio-labeled.component.js +4 -3
- package/esm2015/components/radio-list/radio-list.component.js +4 -3
- package/esm2015/components/range/range.component.js +3 -3
- package/esm2015/components/rating/rating.component.js +3 -3
- package/esm2015/components/select/index.js +1 -2
- package/esm2015/components/select/native-select/native-select-group.component.js +3 -3
- package/esm2015/components/select/native-select/native-select.component.js +3 -3
- package/esm2015/components/select/select.component.js +6 -6
- package/esm2015/components/slider/helpers/slider-key-steps.directive.js +2 -2
- package/esm2015/components/text-area/text-area.component.js +3 -3
- package/esm2015/components/toggle/toggle.component.js +7 -11
- package/esm2015/index.js +2 -1
- package/fesm2015/taiga-ui-kit-abstract.js +56 -0
- package/fesm2015/taiga-ui-kit-abstract.js.map +1 -0
- package/fesm2015/taiga-ui-kit-components-checkbox-block.js +3 -2
- package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +3 -2
- package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox.js +3 -2
- package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-combo-box.js +7 -6
- package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-filter.js +2 -2
- package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-copy.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-count.js +5 -4
- package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-range.js +16 -13
- package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-time.js +4 -4
- package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js +6 -5
- package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-files.js +5 -5
- package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-inline.js +3 -2
- package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js +3 -3
- package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js +4 -5
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-password.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +7 -6
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone.js +4 -4
- package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-range.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +9 -9
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-time.js +6 -7
- package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-year.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-year.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js +38 -67
- package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-block.js +3 -2
- package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-labeled.js +3 -2
- package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-list.js +3 -2
- package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio.js +1 -1
- package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-range.js +2 -2
- package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-rating.js +2 -2
- package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select.js +16 -52
- package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-slider.js +1 -1
- package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js +2 -2
- package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-toggle.js +6 -10
- package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
- package/fesm2015/taiga-ui-kit.js +1 -0
- package/fesm2015/taiga-ui-kit.js.map +1 -1
- package/index.d.ts +1 -0
- package/package.json +1 -1
- package/components/select/native-select/native-select.d.ts +0 -15
- package/esm2015/components/select/native-select/native-select.js +0 -42
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-text-area.js","sources":["../../../projects/kit/components/text-area/text-area.component.ts","../../../projects/kit/components/text-area/text-area.template.html","../../../projects/kit/components/text-area/text-area.directive.ts","../../../projects/kit/components/text-area/text-area.module.ts","../../../projects/kit/components/text-area/taiga-ui-kit-components-text-area.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n TUI_IS_IOS,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n} from '@taiga-ui/cdk';\nimport {\n MODE_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_MODE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiBrightness,\n tuiGetBorder,\n TuiHintOptionsDirective,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldComponent,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nexport const DEFAULT_ROWS = 20;\nexport const LINE_HEIGHT_M = 20;\nexport const LINE_HEIGHT_L = 24;\n\n@Component({\n selector: 'tui-text-area',\n templateUrl: './text-area.template.html',\n styleUrls: ['./text-area.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiTextAreaComponent),\n tuiAsControl(TuiTextAreaComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n '[class._ios]': 'isIOS',\n },\n})\nexport class TuiTextAreaComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLTextAreaElement>;\n\n @ContentChild(TuiTextfieldComponent, {read: ElementRef})\n private readonly textfield?: ElementRef<HTMLTextAreaElement>;\n\n @Input()\n @tuiDefaultProp()\n rows = DEFAULT_ROWS;\n\n @Input()\n @tuiDefaultProp()\n maxLength: number | null = null;\n\n @Input()\n @HostBinding('class._expandable')\n @tuiDefaultProp()\n expandable = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Optional()\n @Inject(TuiHintOptionsDirective)\n readonly hintOptions: TuiHintOptionsDirective | null,\n ) {\n super(control, changeDetectorRef);\n }\n\n @HostBinding('class._label-outside')\n get labelOutside(): boolean {\n return this.controller.labelOutside;\n }\n\n get nativeFocusableElement(): HTMLTextAreaElement | null {\n if (this.computedDisabled) {\n return null;\n }\n\n return (\n this.textfield?.nativeElement || this.focusableElement?.nativeElement || null\n );\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get appearance(): string {\n return this.controller.appearance;\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n @HostBinding('style.--border-end.rem')\n get border(): number {\n return tuiGetBorder(false, this.hasCleaner, this.hasTooltip);\n }\n\n get hasCleaner(): boolean {\n return this.controller.cleaner && this.hasValue && this.interactive;\n }\n\n @HostBinding('class._has-tooltip')\n get hasTooltip(): boolean {\n return !!this.hintOptions?.content && !this.computedDisabled;\n }\n\n @HostBinding('class._has-value')\n get hasValue(): boolean {\n return this.value !== '';\n }\n\n @HostBinding('class._has-counter')\n get hasCounter(): boolean {\n return !!this.maxLength && this.interactive;\n }\n\n get hasPlaceholder(): boolean {\n return this.placeholderRaisable || (!this.hasValue && !this.hasExampleText);\n }\n\n get iconCleaner(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>> {\n return this.controller.options.iconCleaner;\n }\n\n get hasExampleText(): boolean {\n return (\n !!this.textfield?.nativeElement.placeholder &&\n this.focused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n get fittedContent(): string {\n return this.value.slice(0, this.maxLength || Infinity);\n }\n\n get extraContent(): string {\n return this.value.slice(this.maxLength || Infinity);\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onValueChange(value: string): void {\n this.updateValue(value);\n }\n\n onMouseDown(event: MouseEvent): void {\n if (event.target === this.nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus();\n }\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private get lineHeight(): number {\n return this.controller.size === 'm' ? LINE_HEIGHT_M : LINE_HEIGHT_L;\n }\n\n private get placeholderRaisable(): boolean {\n return this.size !== 's' && !this.controller.labelOutside;\n }\n}\n","<ng-container *ngIf=\"hintOptions?.change$ | async\"></ng-container>\n<div\n tuiWrapper\n automation-id=\"tui-text-area__wrapper\"\n class=\"t-outline\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [invalid]=\"computedInvalid\"\n>\n <div\n *ngIf=\"hasCounter\"\n automation-id=\"tui-text-area__counter\"\n class=\"t-counter\"\n >\n {{ value.length }}/{{ maxLength }}\n </div>\n\n <label\n class=\"t-content\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-wrapper\">\n <div\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-text-area__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content></ng-content>\n </div>\n <tui-scrollbar\n automation-id=\"tui-text-area__scrollbar\"\n class=\"t-box\"\n [style.maxHeight.px]=\"computeMaxHeight\"\n >\n <div class=\"t-input-wrapper\">\n <div class=\"t-relative\">\n <div\n aria-hidden=\"true\"\n class=\"t-pseudo-content\"\n >\n <span [textContent]=\"fittedContent || nativeFocusableElement?.placeholder\"></span>\n <span\n class=\"t-pseudo-content__extra\"\n [textContent]=\"extraContent\"\n ></span>\n \n </div>\n <textarea\n #focusableElement\n automation-id=\"tui-text-area__native\"\n class=\"t-input\"\n [id]=\"id\"\n [tuiFocusable]=\"computedFocusable\"\n [disabled]=\"computedDisabled\"\n [ngModel]=\"value\"\n [readOnly]=\"readOnly\"\n (ngModelChange)=\"onValueChange($event)\"\n ></textarea>\n <ng-content select=\"textarea\"></ng-content>\n </div>\n </div>\n </tui-scrollbar>\n </div>\n <div class=\"t-icons\">\n <ng-container *ngIf=\"hasCleaner\">\n <tui-svg\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n class=\"t-cleaner\"\n [src]=\"src\"\n (click.stop)=\"onValueChange('')\"\n ></tui-svg>\n </ng-container>\n <tui-tooltip\n *ngIf=\"hintOptions && hintOptions.content && !computedDisabled\"\n automation-id=\"tui-text-area__tooltip\"\n class=\"t-tooltip\"\n [describeId]=\"id\"\n [direction]=\"hintOptions.direction\"\n [appearance]=\"hintOptions.appearance\"\n [content]=\"hintOptions.content\"\n [showDelay]=\"hintOptions.showDelay\"\n [hideDelay]=\"hintOptions.hideDelay\"\n ></tui-tooltip>\n </div>\n </label>\n</div>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiTextAreaComponent} from './text-area.component';\n\n@Directive({\n selector: 'tui-text-area',\n providers: [tuiAsTextfieldHost(TuiTextAreaDirective)],\n})\nexport class TuiTextAreaDirective extends AbstractTuiTextfieldHost<TuiTextAreaComponent> {\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule} from '@taiga-ui/cdk';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTooltipModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTextAreaComponent} from './text-area.component';\nimport {TuiTextAreaDirective} from './text-area.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiFocusableModule,\n TuiScrollbarModule,\n TuiTooltipModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiPrimitiveTextfieldModule,\n PolymorpheusModule,\n ],\n declarations: [TuiTextAreaComponent, TuiTextAreaDirective],\n exports: [TuiTextAreaComponent, TuiTextAreaDirective, TuiTextfieldComponent],\n})\nexport class TuiTextAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-text-area.js","sources":["../../../projects/kit/components/text-area/text-area.component.ts","../../../projects/kit/components/text-area/text-area.template.html","../../../projects/kit/components/text-area/text-area.directive.ts","../../../projects/kit/components/text-area/text-area.module.ts","../../../projects/kit/components/text-area/taiga-ui-kit-components-text-area.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n TUI_IS_IOS,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n} from '@taiga-ui/cdk';\nimport {\n MODE_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_MODE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiBrightness,\n tuiGetBorder,\n TuiHintOptionsDirective,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldComponent,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nexport const DEFAULT_ROWS = 20;\nexport const LINE_HEIGHT_M = 20;\nexport const LINE_HEIGHT_L = 24;\n\n@Component({\n selector: 'tui-text-area',\n templateUrl: './text-area.template.html',\n styleUrls: ['./text-area.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiTextAreaComponent),\n tuiAsControl(TuiTextAreaComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n '[class._ios]': 'isIOS',\n },\n})\nexport class TuiTextAreaComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLTextAreaElement>;\n\n @ContentChild(TuiTextfieldComponent, {read: ElementRef})\n private readonly textfield?: ElementRef<HTMLTextAreaElement>;\n\n @Input()\n @tuiDefaultProp()\n rows = DEFAULT_ROWS;\n\n @Input()\n @tuiDefaultProp()\n maxLength: number | null = null;\n\n @Input()\n @HostBinding('class._expandable')\n @tuiDefaultProp()\n expandable = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Optional()\n @Inject(TuiHintOptionsDirective)\n readonly hintOptions: TuiHintOptionsDirective | null,\n ) {\n super(control, changeDetectorRef);\n }\n\n @HostBinding('class._label-outside')\n get labelOutside(): boolean {\n return this.controller.labelOutside;\n }\n\n get nativeFocusableElement(): HTMLTextAreaElement | null {\n if (this.computedDisabled) {\n return null;\n }\n\n return (\n this.textfield?.nativeElement || this.focusableElement?.nativeElement || null\n );\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get appearance(): string {\n return this.controller.appearance;\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n @HostBinding('style.--border-end.rem')\n get border(): number {\n return tuiGetBorder(false, this.hasCleaner, this.hasTooltip);\n }\n\n get hasCleaner(): boolean {\n return this.controller.cleaner && this.hasValue && this.interactive;\n }\n\n @HostBinding('class._has-tooltip')\n get hasTooltip(): boolean {\n return !!this.hintOptions?.content && !this.computedDisabled;\n }\n\n @HostBinding('class._has-value')\n get hasValue(): boolean {\n return this.value !== '';\n }\n\n @HostBinding('class._has-counter')\n get hasCounter(): boolean {\n return !!this.maxLength && this.interactive;\n }\n\n get hasPlaceholder(): boolean {\n return this.placeholderRaisable || (!this.hasValue && !this.hasExampleText);\n }\n\n get iconCleaner(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>> {\n return this.controller.options.iconCleaner;\n }\n\n get hasExampleText(): boolean {\n return (\n !!this.textfield?.nativeElement.placeholder &&\n this.focused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n get fittedContent(): string {\n return this.value.slice(0, this.maxLength || Infinity);\n }\n\n get extraContent(): string {\n return this.value.slice(this.maxLength || Infinity);\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onValueChange(value: string): void {\n this.value = value;\n }\n\n onMouseDown(event: MouseEvent): void {\n if (event.target === this.nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus();\n }\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private get lineHeight(): number {\n return this.controller.size === 'm' ? LINE_HEIGHT_M : LINE_HEIGHT_L;\n }\n\n private get placeholderRaisable(): boolean {\n return this.size !== 's' && !this.controller.labelOutside;\n }\n}\n","<ng-container *ngIf=\"hintOptions?.change$ | async\"></ng-container>\n<div\n tuiWrapper\n automation-id=\"tui-text-area__wrapper\"\n class=\"t-outline\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [invalid]=\"computedInvalid\"\n>\n <div\n *ngIf=\"hasCounter\"\n automation-id=\"tui-text-area__counter\"\n class=\"t-counter\"\n >\n {{ value.length }}/{{ maxLength }}\n </div>\n\n <label\n class=\"t-content\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-wrapper\">\n <div\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-text-area__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content></ng-content>\n </div>\n <tui-scrollbar\n automation-id=\"tui-text-area__scrollbar\"\n class=\"t-box\"\n [style.maxHeight.px]=\"computeMaxHeight\"\n >\n <div class=\"t-input-wrapper\">\n <div class=\"t-relative\">\n <div\n aria-hidden=\"true\"\n class=\"t-pseudo-content\"\n >\n <span [textContent]=\"fittedContent || nativeFocusableElement?.placeholder\"></span>\n <span\n class=\"t-pseudo-content__extra\"\n [textContent]=\"extraContent\"\n ></span>\n \n </div>\n <textarea\n #focusableElement\n automation-id=\"tui-text-area__native\"\n class=\"t-input\"\n [id]=\"id\"\n [tuiFocusable]=\"computedFocusable\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [(ngModel)]=\"value\"\n ></textarea>\n <ng-content select=\"textarea\"></ng-content>\n </div>\n </div>\n </tui-scrollbar>\n </div>\n <div class=\"t-icons\">\n <ng-container *ngIf=\"hasCleaner\">\n <tui-svg\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n class=\"t-cleaner\"\n [src]=\"src\"\n (click.stop)=\"onValueChange('')\"\n ></tui-svg>\n </ng-container>\n <tui-tooltip\n *ngIf=\"hintOptions && hintOptions.content && !computedDisabled\"\n automation-id=\"tui-text-area__tooltip\"\n class=\"t-tooltip\"\n [describeId]=\"id\"\n [direction]=\"hintOptions.direction\"\n [appearance]=\"hintOptions.appearance\"\n [content]=\"hintOptions.content\"\n [showDelay]=\"hintOptions.showDelay\"\n [hideDelay]=\"hintOptions.hideDelay\"\n ></tui-tooltip>\n </div>\n </label>\n</div>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiTextAreaComponent} from './text-area.component';\n\n@Directive({\n selector: 'tui-text-area',\n providers: [tuiAsTextfieldHost(TuiTextAreaDirective)],\n})\nexport class TuiTextAreaDirective extends AbstractTuiTextfieldHost<TuiTextAreaComponent> {\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule} from '@taiga-ui/cdk';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTooltipModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTextAreaComponent} from './text-area.component';\nimport {TuiTextAreaDirective} from './text-area.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiFocusableModule,\n TuiScrollbarModule,\n TuiTooltipModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiPrimitiveTextfieldModule,\n PolymorpheusModule,\n ],\n declarations: [TuiTextAreaComponent, TuiTextAreaDirective],\n exports: [TuiTextAreaComponent, TuiTextAreaDirective, TuiTextfieldComponent],\n})\nexport class TuiTextAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -60,24 +60,22 @@ class TuiToggleComponent extends AbstractTuiControl {
|
|
|
60
60
|
return tuiIsNativeFocused(this.nativeFocusableElement);
|
|
61
61
|
}
|
|
62
62
|
get appearance() {
|
|
63
|
-
return this.singleColor || this.
|
|
63
|
+
return this.singleColor || this.value
|
|
64
64
|
? "primary" /* Primary */
|
|
65
65
|
: "secondary" /* Secondary */;
|
|
66
66
|
}
|
|
67
67
|
get sizeM() {
|
|
68
68
|
return this.size === 'm';
|
|
69
69
|
}
|
|
70
|
-
get checked() {
|
|
71
|
-
return this.value;
|
|
72
|
-
}
|
|
73
70
|
get loaderSize() {
|
|
74
71
|
return this.sizeM ? 'xs' : 's';
|
|
75
72
|
}
|
|
76
73
|
get hostMode() {
|
|
77
74
|
return this.modeDirective ? this.modeDirective.mode : null;
|
|
78
75
|
}
|
|
76
|
+
/** @deprecated use 'value' setter */
|
|
79
77
|
onChecked(checked) {
|
|
80
|
-
this.
|
|
78
|
+
this.value = checked;
|
|
81
79
|
}
|
|
82
80
|
onFocused(focused) {
|
|
83
81
|
this.updateFocused(focused);
|
|
@@ -90,10 +88,10 @@ class TuiToggleComponent extends AbstractTuiControl {
|
|
|
90
88
|
}
|
|
91
89
|
}
|
|
92
90
|
TuiToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiToggleComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TuiModeDirective, optional: true }, { token: TUI_TOGGLE_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
93
|
-
TuiToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiToggleComponent, selector: "tui-toggle", inputs: { singleColor: "singleColor", showIcons: "showIcons", showLoader: "showLoader", size: "size" }, host: { properties: { "
|
|
91
|
+
TuiToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiToggleComponent, selector: "tui-toggle", inputs: { singleColor: "singleColor", showIcons: "showIcons", showLoader: "showLoader", size: "size" }, host: { properties: { "class._checked": "value", "attr.data-size": "this.size", "attr.data-mode": "this.hostMode" } }, providers: [
|
|
94
92
|
tuiAsFocusableItemAccessor(TuiToggleComponent),
|
|
95
93
|
tuiAsControl(TuiToggleComponent),
|
|
96
|
-
], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiWrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n [hover]=\"pseudoHover\"\n [active]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n>\n <div class=\"t-toggle\">\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"t-loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n [showLoader]=\"
|
|
94
|
+
], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiWrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n [hover]=\"pseudoHover\"\n [active]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n>\n <div class=\"t-toggle\">\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"t-loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n [showLoader]=\"value\"\n ></tui-loader>\n <span\n *ngIf=\"showIcons && !showLoader\"\n class=\"t-icon-wrapper\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconOn as src; context: {$implicit: size}\"\n automation-id=\"tui-toggle__check-icon\"\n class=\"t-icon\"\n [src]=\"src\"\n ></tui-svg>\n </span>\n <div class=\"t-circle\"></div>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"t-loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n [showLoader]=\"!value\"\n ></tui-loader>\n <span\n *ngIf=\"showIcons && !showLoader\"\n class=\"t-icon-wrapper\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconOff as src; context: {$implicit: size}\"\n automation-id=\"tui-toggle__cancel-icon\"\n class=\"t-icon t-icon_off\"\n [src]=\"src\"\n ></tui-svg>\n </span>\n </div>\n <input\n #focusableElement\n type=\"checkbox\"\n role=\"switch\"\n automation-id=\"tui-toggle__checkbox\"\n class=\"t-checkbox\"\n [attr.aria-checked]=\"value\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [tuiFocusable]=\"focusable\"\n [(tuiChecked)]=\"value\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n />\n</div>\n", styles: [":host{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;border-radius:6.25rem}:host[data-size=m]{width:2rem;height:1rem}:host[data-size=l]{width:3rem;height:1.5rem}.t-checkbox{padding:0;margin:0;border:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;height:100%;width:100%;opacity:0;cursor:pointer}.t-checkbox:-webkit-autofill,.t-checkbox:-webkit-autofill:hover,.t-checkbox:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host._disabled .t-checkbox{pointer-events:none;cursor:default}.t-toggle{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;align-items:center;justify-content:center}:host[data-size=m] .t-toggle{width:3rem;height:1rem;transform:translate(-1rem)}:host[data-size=l] .t-toggle{width:4.5rem;height:1.5rem;transform:translate(-1.5rem)}:host._checked .t-toggle{transform:translate(0)}.t-circle{margin:.125rem 0;flex-shrink:0;border-radius:100%;background-color:var(--tui-base-01)}:host._disabled .t-circle_light{opacity:.24}:host[data-size=m] .t-circle{width:.75rem;height:.75rem}:host[data-size=l] .t-circle{width:1rem;height:1rem}:host._disabled .t-circle{background-color:var(--tui-base-01)}:host:not(._checked) .t-loader{color:var(--tui-base-06)}:host:not(._checked)._disabled .t-loader{color:var(--tui-base-05)}:host:not(._checked)[data-mode=onDark] .t-loader{color:var(--tui-text-03-night)}:host:not(._checked)[data-mode=onDark]._disabled .t-loader{color:var(--tui-clear-inverse-active)}:host:not(._checked)[data-mode=onLight] .t-loader{color:var(--tui-text-03)}:host:not(._checked)[data-mode=onLight]._disabled .t-loader{color:var(--tui-clear-active)}:host[data-size=m] .t-loader{width:.75rem;margin:0 .2rem;transform:scale(.75)}:host[data-size=l] .t-loader{width:1rem;margin:0 .25rem}.t-icon-wrapper{display:flex}.t-icon{opacity:.8}.t-icon_off{color:var(--tui-base-06)}:host._disabled .t-icon_off{color:var(--tui-base-05)}:host[data-mode=onDark] .t-icon_off{color:var(--tui-text-03-night)}:host[data-mode=onDark]._disabled .t-icon_off{color:var(--tui-clear-inverse-active)}:host[data-mode=onLight] .t-icon_off{color:var(--tui-text-03)}:host[data-mode=onLight]._disabled .t-icon_off{color:var(--tui-clear-active)}:host[data-size=m] .t-icon{width:1rem;height:1rem;transform:scale(.75)}:host[data-size=l] .t-icon{margin:0 .125rem;width:1.5rem;height:1.5rem}:host:hover .t-icon{opacity:1}\n"], components: [{ type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4.TuiCheckedDirective, selector: "input[tuiChecked], input[tuiCheckedChange]", inputs: ["tuiChecked"], outputs: ["tuiCheckedChange"] }, { type: i4.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i4.TuiFocusedDirective, selector: "[tuiFocusedChange]", outputs: ["tuiFocusedChange"] }, { type: i4.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
97
95
|
__decorate([
|
|
98
96
|
tuiDefaultProp()
|
|
99
97
|
], TuiToggleComponent.prototype, "singleColor", void 0);
|
|
@@ -117,6 +115,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
117
115
|
tuiAsFocusableItemAccessor(TuiToggleComponent),
|
|
118
116
|
tuiAsControl(TuiToggleComponent),
|
|
119
117
|
],
|
|
118
|
+
host: { '[class._checked]': 'value' },
|
|
120
119
|
}]
|
|
121
120
|
}], ctorParameters: function () { return [{ type: i5.NgControl, decorators: [{
|
|
122
121
|
type: Optional
|
|
@@ -150,9 +149,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
150
149
|
}, {
|
|
151
150
|
type: HostBinding,
|
|
152
151
|
args: ['attr.data-size']
|
|
153
|
-
}], checked: [{
|
|
154
|
-
type: HostBinding,
|
|
155
|
-
args: ['class._checked']
|
|
156
152
|
}], hostMode: [{
|
|
157
153
|
type: HostBinding,
|
|
158
154
|
args: ['attr.data-mode']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-toggle.js","sources":["../../../projects/kit/components/toggle/toggle-options.ts","../../../projects/kit/components/toggle/toggle.component.ts","../../../projects/kit/components/toggle/toggle.template.html","../../../projects/kit/components/toggle/toggle.module.ts","../../../projects/kit/components/toggle/taiga-ui-kit-components-toggle.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiToggleOptions {\n readonly icons: Readonly<{\n toggleOff: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n toggleOn: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n }>;\n readonly singleColor: boolean;\n readonly showIcons: boolean;\n readonly size: TuiSizeL;\n}\n\n/** Default values for the toggle options. */\nexport const TUI_TOGGLE_DEFAULT_OPTIONS: TuiToggleOptions = {\n icons: {\n toggleOff({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === `m` ? `tuiIconToggleOff` : `tuiIconToggleOffLarge`;\n },\n toggleOn({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === `m` ? `tuiIconToggleOn` : `tuiIconToggleOnLarge`;\n },\n },\n singleColor: false,\n showIcons: false,\n size: `m`,\n};\n\n/**\n * Default parameters for Toggle component\n */\nexport const TUI_TOGGLE_OPTIONS = new InjectionToken<TuiToggleOptions>(\n `[TUI_TOGGLE_OPTIONS]`,\n {\n factory: () => TUI_TOGGLE_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiToggleOptionsProvider: (\n options: Partial<TuiToggleOptions>,\n) => ValueProvider = (options: Partial<TuiToggleOptions>) => ({\n provide: TUI_TOGGLE_OPTIONS,\n useValue: {...TUI_TOGGLE_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiBrightness,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_TOGGLE_OPTIONS, TuiToggleOptions} from './toggle-options';\n\n@Component({\n selector: 'tui-toggle',\n templateUrl: './toggle.template.html',\n styleUrls: ['./toggle.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiToggleComponent),\n tuiAsControl(TuiToggleComponent),\n ],\n})\nexport class TuiToggleComponent\n extends AbstractTuiControl<boolean>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @tuiDefaultProp()\n singleColor = this.options.singleColor;\n\n @Input()\n @tuiDefaultProp()\n showIcons = this.options.showIcons;\n\n @Input()\n @tuiDefaultProp()\n showLoader = false;\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL = this.options.size;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_TOGGLE_OPTIONS)\n readonly options: TuiToggleOptions,\n ) {\n super(control, changeDetectorRef);\n }\n\n get iconOn(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> {\n return this.options.icons.toggleOn;\n }\n\n get iconOff(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> {\n return this.options.icons.toggleOff;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.focusableElement ? this.focusableElement.nativeElement : null;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get appearance(): TuiAppearance {\n return this.singleColor || this.checked\n ? TuiAppearance.Primary\n : TuiAppearance.Secondary;\n }\n\n get sizeM(): boolean {\n return this.size === 'm';\n }\n\n @HostBinding('class._checked')\n get checked(): boolean {\n return this.value;\n }\n\n get loaderSize(): TuiSizeXS {\n return this.sizeM ? 'xs' : 's';\n }\n\n @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective ? this.modeDirective.mode : null;\n }\n\n onChecked(checked: boolean): void {\n this.updateValue(checked);\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n\n protected getFallbackValue(): boolean {\n return false;\n }\n}\n","<div\n tuiWrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n [hover]=\"pseudoHover\"\n [active]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n>\n <div class=\"t-toggle\">\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"t-loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n [showLoader]=\"checked\"\n ></tui-loader>\n <span\n *ngIf=\"showIcons && !showLoader\"\n class=\"t-icon-wrapper\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconOn as src; context: {$implicit: size}\"\n automation-id=\"tui-toggle__check-icon\"\n class=\"t-icon\"\n [src]=\"src\"\n ></tui-svg>\n </span>\n <div class=\"t-circle\"></div>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"t-loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n [showLoader]=\"!checked\"\n ></tui-loader>\n <span\n *ngIf=\"showIcons && !showLoader\"\n class=\"t-icon-wrapper\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconOff as src; context: {$implicit: size}\"\n automation-id=\"tui-toggle__cancel-icon\"\n class=\"t-icon t-icon_off\"\n [src]=\"src\"\n ></tui-svg>\n </span>\n </div>\n <input\n #focusableElement\n type=\"checkbox\"\n role=\"switch\"\n automation-id=\"tui-toggle__checkbox\"\n class=\"t-checkbox\"\n [attr.aria-checked]=\"value\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [tuiChecked]=\"checked\"\n [tuiFocusable]=\"focusable\"\n (tuiCheckedChange)=\"onChecked($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n />\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiCheckedModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiLoaderModule, TuiSvgModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiToggleComponent} from './toggle.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusedModule,\n TuiFocusableModule,\n TuiPressedModule,\n TuiFocusVisibleModule,\n TuiCheckedModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiLoaderModule,\n PolymorpheusModule,\n ],\n declarations: [TuiToggleComponent],\n exports: [TuiToggleComponent],\n})\nexport class TuiToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-toggle.js","sources":["../../../projects/kit/components/toggle/toggle-options.ts","../../../projects/kit/components/toggle/toggle.component.ts","../../../projects/kit/components/toggle/toggle.template.html","../../../projects/kit/components/toggle/toggle.module.ts","../../../projects/kit/components/toggle/taiga-ui-kit-components-toggle.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiToggleOptions {\n readonly icons: Readonly<{\n toggleOff: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n toggleOn: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n }>;\n readonly singleColor: boolean;\n readonly showIcons: boolean;\n readonly size: TuiSizeL;\n}\n\n/** Default values for the toggle options. */\nexport const TUI_TOGGLE_DEFAULT_OPTIONS: TuiToggleOptions = {\n icons: {\n toggleOff({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === `m` ? `tuiIconToggleOff` : `tuiIconToggleOffLarge`;\n },\n toggleOn({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === `m` ? `tuiIconToggleOn` : `tuiIconToggleOnLarge`;\n },\n },\n singleColor: false,\n showIcons: false,\n size: `m`,\n};\n\n/**\n * Default parameters for Toggle component\n */\nexport const TUI_TOGGLE_OPTIONS = new InjectionToken<TuiToggleOptions>(\n `[TUI_TOGGLE_OPTIONS]`,\n {\n factory: () => TUI_TOGGLE_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiToggleOptionsProvider: (\n options: Partial<TuiToggleOptions>,\n) => ValueProvider = (options: Partial<TuiToggleOptions>) => ({\n provide: TUI_TOGGLE_OPTIONS,\n useValue: {...TUI_TOGGLE_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiBrightness,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_TOGGLE_OPTIONS, TuiToggleOptions} from './toggle-options';\n\n@Component({\n selector: 'tui-toggle',\n templateUrl: './toggle.template.html',\n styleUrls: ['./toggle.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiToggleComponent),\n tuiAsControl(TuiToggleComponent),\n ],\n host: {'[class._checked]': 'value'},\n})\nexport class TuiToggleComponent\n extends AbstractTuiControl<boolean>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @tuiDefaultProp()\n singleColor = this.options.singleColor;\n\n @Input()\n @tuiDefaultProp()\n showIcons = this.options.showIcons;\n\n @Input()\n @tuiDefaultProp()\n showLoader = false;\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL = this.options.size;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_TOGGLE_OPTIONS)\n readonly options: TuiToggleOptions,\n ) {\n super(control, changeDetectorRef);\n }\n\n get iconOn(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> {\n return this.options.icons.toggleOn;\n }\n\n get iconOff(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> {\n return this.options.icons.toggleOff;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.focusableElement ? this.focusableElement.nativeElement : null;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get appearance(): TuiAppearance {\n return this.singleColor || this.value\n ? TuiAppearance.Primary\n : TuiAppearance.Secondary;\n }\n\n get sizeM(): boolean {\n return this.size === 'm';\n }\n\n get loaderSize(): TuiSizeXS {\n return this.sizeM ? 'xs' : 's';\n }\n\n @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective ? this.modeDirective.mode : null;\n }\n\n /** @deprecated use 'value' setter */\n onChecked(checked: boolean): void {\n this.value = checked;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n\n protected getFallbackValue(): boolean {\n return false;\n }\n}\n","<div\n tuiWrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n [hover]=\"pseudoHover\"\n [active]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n>\n <div class=\"t-toggle\">\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"t-loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n [showLoader]=\"value\"\n ></tui-loader>\n <span\n *ngIf=\"showIcons && !showLoader\"\n class=\"t-icon-wrapper\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconOn as src; context: {$implicit: size}\"\n automation-id=\"tui-toggle__check-icon\"\n class=\"t-icon\"\n [src]=\"src\"\n ></tui-svg>\n </span>\n <div class=\"t-circle\"></div>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"t-loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n [showLoader]=\"!value\"\n ></tui-loader>\n <span\n *ngIf=\"showIcons && !showLoader\"\n class=\"t-icon-wrapper\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconOff as src; context: {$implicit: size}\"\n automation-id=\"tui-toggle__cancel-icon\"\n class=\"t-icon t-icon_off\"\n [src]=\"src\"\n ></tui-svg>\n </span>\n </div>\n <input\n #focusableElement\n type=\"checkbox\"\n role=\"switch\"\n automation-id=\"tui-toggle__checkbox\"\n class=\"t-checkbox\"\n [attr.aria-checked]=\"value\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [tuiFocusable]=\"focusable\"\n [(tuiChecked)]=\"value\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n />\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiCheckedModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiLoaderModule, TuiSvgModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiToggleComponent} from './toggle.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusedModule,\n TuiFocusableModule,\n TuiPressedModule,\n TuiFocusVisibleModule,\n TuiCheckedModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiLoaderModule,\n PolymorpheusModule,\n ],\n declarations: [TuiToggleComponent],\n exports: [TuiToggleComponent],\n})\nexport class TuiToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/fesm2015/taiga-ui-kit.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit.js","sources":["../../../projects/kit/taiga-ui-kit.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit.js","sources":["../../../projects/kit/taiga-ui-kit.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEG"}
|
package/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ElementRef, TemplateRef } from '@angular/core';
|
|
2
|
-
import { AbstractTuiControl, TuiIdService } from '@taiga-ui/cdk';
|
|
3
|
-
import { TuiTextfieldHost } from '@taiga-ui/core';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare abstract class AbstractTuiNativeSelect {
|
|
6
|
-
readonly host: TuiTextfieldHost;
|
|
7
|
-
readonly control: AbstractTuiControl<unknown>;
|
|
8
|
-
private readonly elementRef;
|
|
9
|
-
private readonly idService;
|
|
10
|
-
readonly datalist: TemplateRef<any> | null;
|
|
11
|
-
constructor(host: TuiTextfieldHost, control: AbstractTuiControl<unknown>, elementRef: ElementRef<HTMLInputElement>, idService: TuiIdService);
|
|
12
|
-
get id(): string;
|
|
13
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractTuiNativeSelect, never>;
|
|
14
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractTuiNativeSelect, never, never, {}, {}, never>;
|
|
15
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, HostBinding, Inject, TemplateRef, ViewChild, } from '@angular/core';
|
|
2
|
-
import { AbstractTuiControl, TuiIdService } from '@taiga-ui/cdk';
|
|
3
|
-
import { TUI_TEXTFIELD_HOST, TuiDataListDirective } from '@taiga-ui/core';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@taiga-ui/cdk";
|
|
6
|
-
export class AbstractTuiNativeSelect {
|
|
7
|
-
constructor(host, control, elementRef, idService) {
|
|
8
|
-
this.host = host;
|
|
9
|
-
this.control = control;
|
|
10
|
-
this.elementRef = elementRef;
|
|
11
|
-
this.idService = idService;
|
|
12
|
-
this.datalist = null;
|
|
13
|
-
this.host.process(this.elementRef.nativeElement);
|
|
14
|
-
}
|
|
15
|
-
get id() {
|
|
16
|
-
return this.elementRef.nativeElement.id || this.idService.generate();
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
AbstractTuiNativeSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AbstractTuiNativeSelect, deps: [{ token: TUI_TEXTFIELD_HOST }, { token: AbstractTuiControl }, { token: ElementRef }, { token: TuiIdService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20
|
-
AbstractTuiNativeSelect.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: AbstractTuiNativeSelect, host: { properties: { "id": "this.id" } }, viewQueries: [{ propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0 });
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AbstractTuiNativeSelect, decorators: [{
|
|
22
|
-
type: Directive
|
|
23
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
24
|
-
type: Inject,
|
|
25
|
-
args: [TUI_TEXTFIELD_HOST]
|
|
26
|
-
}] }, { type: i1.AbstractTuiControl, decorators: [{
|
|
27
|
-
type: Inject,
|
|
28
|
-
args: [AbstractTuiControl]
|
|
29
|
-
}] }, { type: i0.ElementRef, decorators: [{
|
|
30
|
-
type: Inject,
|
|
31
|
-
args: [ElementRef]
|
|
32
|
-
}] }, { type: i1.TuiIdService, decorators: [{
|
|
33
|
-
type: Inject,
|
|
34
|
-
args: [TuiIdService]
|
|
35
|
-
}] }]; }, propDecorators: { datalist: [{
|
|
36
|
-
type: ViewChild,
|
|
37
|
-
args: [TuiDataListDirective, { read: TemplateRef, static: true }]
|
|
38
|
-
}], id: [{
|
|
39
|
-
type: HostBinding,
|
|
40
|
-
args: [`id`]
|
|
41
|
-
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLXNlbGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3NlbGVjdC9uYXRpdmUtc2VsZWN0L25hdGl2ZS1zZWxlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFDLGtCQUFrQixFQUFFLG9CQUFvQixFQUFtQixNQUFNLGdCQUFnQixDQUFDOzs7QUFHMUYsTUFBTSxPQUFnQix1QkFBdUI7SUFJekMsWUFDeUMsSUFBc0IsRUFDdEIsT0FBb0MsRUFDcEMsVUFBd0MsRUFFNUQsU0FBdUI7UUFKSCxTQUFJLEdBQUosSUFBSSxDQUFrQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUE2QjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQUU1RCxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBUG5DLGFBQVEsR0FBNEIsSUFBSSxDQUFDO1FBUzlDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQ0ksRUFBRTtRQUNGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekUsQ0FBQzs7cUhBakJpQix1QkFBdUIsa0JBSzdCLGtCQUFrQixhQUNsQixrQkFBa0IsYUFDbEIsVUFBVSxhQUNWLFlBQVk7eUdBUk4sdUJBQXVCLCtHQUM5QixvQkFBb0IsMkJBQVMsV0FBVzs0RkFEakMsdUJBQXVCO2tCQUQ1QyxTQUFTOzswQkFNRCxNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLE1BQU07MkJBQUMsa0JBQWtCOzswQkFDekIsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxZQUFZOzRDQU5mLFFBQVE7c0JBRGhCLFNBQVM7dUJBQUMsb0JBQW9CLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBYzlELEVBQUU7c0JBREwsV0FBVzt1QkFBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RUdWlDb250cm9sLCBUdWlJZFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX0hPU1QsIFR1aURhdGFMaXN0RGlyZWN0aXZlLCBUdWlUZXh0ZmllbGRIb3N0fSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VHVpTmF0aXZlU2VsZWN0IHtcbiAgICBAVmlld0NoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZX0pXG4gICAgcmVhZG9ubHkgZGF0YWxpc3Q6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfSE9TVCkgcmVhZG9ubHkgaG9zdDogVHVpVGV4dGZpZWxkSG9zdCxcbiAgICAgICAgQEluamVjdChBYnN0cmFjdFR1aUNvbnRyb2wpIHJlYWRvbmx5IGNvbnRyb2w6IEFic3RyYWN0VHVpQ29udHJvbDx1bmtub3duPixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVHVpSWRTZXJ2aWNlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGlkU2VydmljZTogVHVpSWRTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICB0aGlzLmhvc3QucHJvY2Vzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBpZGApXG4gICAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pZCB8fCB0aGlzLmlkU2VydmljZS5nZW5lcmF0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
|