@taiga-ui/legacy 4.0.0-rc.1
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/LICENSE +190 -0
- package/README.md +22 -0
- package/classes/abstract-native-select.d.ts +17 -0
- package/classes/abstract-textfield-host.d.ts +19 -0
- package/classes/control.d.ts +58 -0
- package/classes/index.d.ts +8 -0
- package/classes/interactive.d.ts +35 -0
- package/classes/multiple-control.d.ts +8 -0
- package/classes/named-day.d.ts +8 -0
- package/classes/nullable-control.d.ts +7 -0
- package/classes/stringifiable-item.d.ts +10 -0
- package/components/arrow/arrow.component.d.ts +16 -0
- package/components/arrow/arrow.options.d.ts +13 -0
- package/components/arrow/arrow.providers.d.ts +14 -0
- package/components/arrow/index.d.ts +3 -0
- package/components/combo-box/combo-box-strict.directive.d.ts +8 -0
- package/components/combo-box/combo-box.component.d.ts +47 -0
- package/components/combo-box/combo-box.directive.d.ts +9 -0
- package/components/combo-box/combo-box.module.d.ts +16 -0
- package/components/combo-box/index.d.ts +4 -0
- package/components/index.d.ts +31 -0
- package/components/input/index.d.ts +3 -0
- package/components/input/input.component.d.ts +27 -0
- package/components/input/input.directive.d.ts +8 -0
- package/components/input/input.module.d.ts +11 -0
- package/components/input-copy/index.d.ts +4 -0
- package/components/input-copy/input-copy.component.d.ts +30 -0
- package/components/input-copy/input-copy.directive.d.ts +8 -0
- package/components/input-copy/input-copy.module.d.ts +15 -0
- package/components/input-copy/input-copy.options.d.ts +14 -0
- package/components/input-date/index.d.ts +3 -0
- package/components/input-date/input-date.component.d.ts +61 -0
- package/components/input-date/input-date.directive.d.ts +15 -0
- package/components/input-date/input-date.module.d.ts +20 -0
- package/components/input-date/native-date/native-date.component.d.ts +11 -0
- package/components/input-date-multi/index.d.ts +2 -0
- package/components/input-date-multi/input-date-multi.component.d.ts +66 -0
- package/components/input-date-multi/input-date-multi.module.d.ts +20 -0
- package/components/input-date-range/index.d.ts +3 -0
- package/components/input-date-range/input-date-range.component.d.ts +63 -0
- package/components/input-date-range/input-date-range.directive.d.ts +12 -0
- package/components/input-date-range/input-date-range.module.d.ts +18 -0
- package/components/input-date-time/index.d.ts +3 -0
- package/components/input-date-time/input-date-time.component.d.ts +77 -0
- package/components/input-date-time/input-date-time.directive.d.ts +13 -0
- package/components/input-date-time/input-date-time.module.d.ts +19 -0
- package/components/input-date-time/native-date-time/native-date-time.directive.d.ts +9 -0
- package/components/input-month/index.d.ts +3 -0
- package/components/input-month/input-month.component.d.ts +41 -0
- package/components/input-month/input-month.directive.d.ts +15 -0
- package/components/input-month/input-month.module.d.ts +15 -0
- package/components/input-month-range/index.d.ts +3 -0
- package/components/input-month-range/input-month-range.component.d.ts +35 -0
- package/components/input-month-range/input-month-range.directive.d.ts +15 -0
- package/components/input-month-range/input-month-range.module.d.ts +14 -0
- package/components/input-number/index.d.ts +4 -0
- package/components/input-number/input-number.component.d.ts +56 -0
- package/components/input-number/input-number.directive.d.ts +12 -0
- package/components/input-number/input-number.module.d.ts +14 -0
- package/components/input-number/input-number.options.d.ts +17 -0
- package/components/input-password/index.d.ts +4 -0
- package/components/input-password/input-password.component.d.ts +30 -0
- package/components/input-password/input-password.directive.d.ts +12 -0
- package/components/input-password/input-password.module.d.ts +16 -0
- package/components/input-password/input-password.options.d.ts +13 -0
- package/components/input-phone/index.d.ts +4 -0
- package/components/input-phone/input-phone.component.d.ts +48 -0
- package/components/input-phone/input-phone.directive.d.ts +13 -0
- package/components/input-phone/input-phone.module.d.ts +12 -0
- package/components/input-phone/input-phone.options.d.ts +12 -0
- package/components/input-phone/utils/complete-phone-insertion-preprocessor.d.ts +9 -0
- package/components/input-phone/utils/create-phone-mask-expression.d.ts +7 -0
- package/components/input-phone/utils/index.d.ts +2 -0
- package/components/input-phone-international/index.d.ts +3 -0
- package/components/input-phone-international/input-phone-international.component.d.ts +38 -0
- package/components/input-phone-international/input-phone-international.options.d.ts +12 -0
- package/components/input-phone-international/utils/extract-value-from-event.d.ts +1 -0
- package/components/input-range/index.d.ts +2 -0
- package/components/input-range/input-range.component.d.ts +52 -0
- package/components/input-range/input-range.module.d.ts +15 -0
- package/components/input-slider/index.d.ts +2 -0
- package/components/input-slider/input-slider.component.d.ts +38 -0
- package/components/input-slider/input-slider.module.d.ts +14 -0
- package/components/input-tag/index.d.ts +3 -0
- package/components/input-tag/input-tag.component.d.ts +94 -0
- package/components/input-tag/input-tag.module.d.ts +18 -0
- package/components/input-tag/input-tag.options.d.ts +13 -0
- package/components/input-time/index.d.ts +4 -0
- package/components/input-time/input-time.component.d.ts +60 -0
- package/components/input-time/input-time.directive.d.ts +13 -0
- package/components/input-time/input-time.module.d.ts +19 -0
- package/components/input-time/input-time.options.d.ts +20 -0
- package/components/input-time/native-time/native-time.component.d.ts +12 -0
- package/components/input-year/index.d.ts +3 -0
- package/components/input-year/input-year.component.d.ts +32 -0
- package/components/input-year/input-year.directive.d.ts +10 -0
- package/components/input-year/input-year.module.d.ts +14 -0
- package/components/island/index.d.ts +1 -0
- package/components/island/island.directive.d.ts +16 -0
- package/components/multi-select/hide-selected.pipe.d.ts +11 -0
- package/components/multi-select/index.d.ts +10 -0
- package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +23 -0
- package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +8 -0
- package/components/multi-select/multi-select.component.d.ts +65 -0
- package/components/multi-select/multi-select.directive.d.ts +14 -0
- package/components/multi-select/multi-select.module.d.ts +27 -0
- package/components/multi-select/multi-select.options.d.ts +13 -0
- package/components/multi-select/native-multi-select/native-multi-select-group.component.d.ts +9 -0
- package/components/multi-select/native-multi-select/native-multi-select.component.d.ts +8 -0
- package/components/multi-select/native-multi-select/native-multi-select.d.ts +11 -0
- package/components/multi-select-option/index.d.ts +2 -0
- package/components/multi-select-option/multi-select-option.component.d.ts +9 -0
- package/components/multi-select-option/multi-select-option.module.d.ts +9 -0
- package/components/primitive-textfield/index.d.ts +7 -0
- package/components/primitive-textfield/primitive-textfield-options.d.ts +22 -0
- package/components/primitive-textfield/primitive-textfield-types.d.ts +11 -0
- package/components/primitive-textfield/primitive-textfield.component.d.ts +68 -0
- package/components/primitive-textfield/primitive-textfield.directive.d.ts +10 -0
- package/components/primitive-textfield/primitive-textfield.module.d.ts +17 -0
- package/components/primitive-textfield/textfield/textfield.component.d.ts +13 -0
- package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +22 -0
- package/components/select/index.d.ts +6 -0
- package/components/select/native-select/native-select-group.component.d.ts +13 -0
- package/components/select/native-select/native-select.component.d.ts +12 -0
- package/components/select/select.component.d.ts +40 -0
- package/components/select/select.directive.d.ts +12 -0
- package/components/select/select.module.d.ts +20 -0
- package/components/select/select.options.d.ts +12 -0
- package/components/select-option/index.d.ts +2 -0
- package/components/select-option/select-option.component.d.ts +27 -0
- package/components/select-option/select-option.module.d.ts +10 -0
- package/components/sheet/components/sheet/sheet.component.d.ts +31 -0
- package/components/sheet/components/sheet/sheet.providers.d.ts +2 -0
- package/components/sheet/components/sheet-bar/sheet-bar.component.d.ts +10 -0
- package/components/sheet/components/sheet-heading/sheet-heading.component.d.ts +14 -0
- package/components/sheet/components/sheets-host/sheets-host.component.d.ts +15 -0
- package/components/sheet/directives/sheet-close/sheet-close.directive.d.ts +14 -0
- package/components/sheet/directives/sheet-stop/sheet-stop.directive.d.ts +6 -0
- package/components/sheet/directives/sheet-top/sheet-top.directive.d.ts +14 -0
- package/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.d.ts +17 -0
- package/components/sheet/index.d.ts +14 -0
- package/components/sheet/sheet-options.d.ts +24 -0
- package/components/sheet/sheet-tokens.d.ts +15 -0
- package/components/sheet/sheet.d.ts +19 -0
- package/components/sheet/sheet.directive.d.ts +16 -0
- package/components/sheet/sheet.module.d.ts +23 -0
- package/components/sheet/sheet.service.d.ts +16 -0
- package/components/svg/content-processor.d.ts +16 -0
- package/components/svg/deprecated-icons.d.ts +1 -0
- package/components/svg/index.d.ts +5 -0
- package/components/svg/svg-options.d.ts +22 -0
- package/components/svg/svg.component.d.ts +43 -0
- package/components/svg/svg.service.d.ts +21 -0
- package/components/table-bar/index.d.ts +5 -0
- package/components/table-bar/table-bar.component.d.ts +13 -0
- package/components/table-bar/table-bar.directive.d.ts +7 -0
- package/components/table-bar/table-bar.options.d.ts +14 -0
- package/components/table-bar/table-bars-host.component.d.ts +6 -0
- package/components/table-bar/table-bars.service.d.ts +10 -0
- package/components/tag/index.d.ts +3 -0
- package/components/tag/tag.component.d.ts +40 -0
- package/components/tag/tag.module.d.ts +12 -0
- package/components/tag/tag.options.d.ts +15 -0
- package/components/textarea/index.d.ts +3 -0
- package/components/textarea/textarea.component.d.ts +50 -0
- package/components/textarea/textarea.directive.d.ts +8 -0
- package/components/textarea/textarea.module.d.ts +17 -0
- package/components/tooltip/index.d.ts +2 -0
- package/components/tooltip/tooltip.component.d.ts +12 -0
- package/components/tooltip/tooltip.module.d.ts +12 -0
- package/directives/index.d.ts +5 -0
- package/directives/legacy-dropdown-open-monitor/index.d.ts +1 -0
- package/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.d.ts +9 -0
- package/directives/textfield-controller/index.d.ts +14 -0
- package/directives/textfield-controller/textfield-appearance.directive.d.ts +8 -0
- package/directives/textfield-controller/textfield-cleaner.directive.d.ts +8 -0
- package/directives/textfield-controller/textfield-controller.module.d.ts +17 -0
- package/directives/textfield-controller/textfield-controller.provider.d.ts +5 -0
- package/directives/textfield-controller/textfield-custom-content.directive.d.ts +9 -0
- package/directives/textfield-controller/textfield-filler.directive.d.ts +8 -0
- package/directives/textfield-controller/textfield-icon-left.directive.d.ts +11 -0
- package/directives/textfield-controller/textfield-icon.directive.d.ts +11 -0
- package/directives/textfield-controller/textfield-label-outside.directive.d.ts +8 -0
- package/directives/textfield-controller/textfield-postfix.directive.d.ts +8 -0
- package/directives/textfield-controller/textfield-prefix.directive.d.ts +8 -0
- package/directives/textfield-controller/textfield-size.directive.d.ts +9 -0
- package/directives/textfield-controller/textfield.controller.d.ts +41 -0
- package/directives/textfield-controller/textfield.options.d.ts +15 -0
- package/directives/unfinished-validator/index.d.ts +2 -0
- package/directives/unfinished-validator/unfinished-validator.directive.d.ts +8 -0
- package/directives/unfinished-validator/unfinished.validator.d.ts +4 -0
- package/directives/value-accessor/index.d.ts +3 -0
- package/directives/value-accessor/value-accessor.directive.d.ts +5 -0
- package/directives/value-accessor/value-accessor.module.d.ts +7 -0
- package/directives/value-accessor/value-accessor.provider.d.ts +2 -0
- package/directives/wrapper/README.md +19 -0
- package/directives/wrapper/index.d.ts +2 -0
- package/directives/wrapper/wrapper.directive.d.ts +21 -0
- package/directives/wrapper/wrapper.module.d.ts +10 -0
- package/esm2022/classes/abstract-native-select.mjs +37 -0
- package/esm2022/classes/abstract-textfield-host.mjs +37 -0
- package/esm2022/classes/control.mjs +175 -0
- package/esm2022/classes/index.mjs +9 -0
- package/esm2022/classes/interactive.mjs +85 -0
- package/esm2022/classes/multiple-control.mjs +18 -0
- package/esm2022/classes/named-day.mjs +11 -0
- package/esm2022/classes/nullable-control.mjs +15 -0
- package/esm2022/classes/stringifiable-item.mjs +13 -0
- package/esm2022/classes/taiga-ui-legacy-classes.mjs +5 -0
- package/esm2022/components/arrow/arrow.component.mjs +42 -0
- package/esm2022/components/arrow/arrow.options.mjs +14 -0
- package/esm2022/components/arrow/arrow.providers.mjs +14 -0
- package/esm2022/components/arrow/index.mjs +4 -0
- package/esm2022/components/arrow/taiga-ui-legacy-components-arrow.mjs +5 -0
- package/esm2022/components/combo-box/combo-box-strict.directive.mjs +29 -0
- package/esm2022/components/combo-box/combo-box.component.mjs +176 -0
- package/esm2022/components/combo-box/combo-box.directive.mjs +23 -0
- package/esm2022/components/combo-box/combo-box.module.mjs +67 -0
- package/esm2022/components/combo-box/index.mjs +5 -0
- package/esm2022/components/combo-box/taiga-ui-legacy-components-combo-box.mjs +5 -0
- package/esm2022/components/index.mjs +32 -0
- package/esm2022/components/input/index.mjs +4 -0
- package/esm2022/components/input/input.component.mjs +89 -0
- package/esm2022/components/input/input.directive.mjs +20 -0
- package/esm2022/components/input/input.module.mjs +30 -0
- package/esm2022/components/input/taiga-ui-legacy-components-input.mjs +5 -0
- package/esm2022/components/input-copy/index.mjs +5 -0
- package/esm2022/components/input-copy/input-copy.component.mjs +103 -0
- package/esm2022/components/input-copy/input-copy.directive.mjs +20 -0
- package/esm2022/components/input-copy/input-copy.module.mjs +52 -0
- package/esm2022/components/input-copy/input-copy.options.mjs +12 -0
- package/esm2022/components/input-copy/taiga-ui-legacy-components-input-copy.mjs +5 -0
- package/esm2022/components/input-date/index.mjs +4 -0
- package/esm2022/components/input-date/input-date.component.mjs +217 -0
- package/esm2022/components/input-date/input-date.directive.mjs +38 -0
- package/esm2022/components/input-date/input-date.module.mjs +71 -0
- package/esm2022/components/input-date/native-date/native-date.component.mjs +48 -0
- package/esm2022/components/input-date/taiga-ui-legacy-components-input-date.mjs +5 -0
- package/esm2022/components/input-date-multi/index.mjs +3 -0
- package/esm2022/components/input-date-multi/input-date-multi.component.mjs +212 -0
- package/esm2022/components/input-date-multi/input-date-multi.module.mjs +67 -0
- package/esm2022/components/input-date-multi/taiga-ui-legacy-components-input-date-multi.mjs +5 -0
- package/esm2022/components/input-date-range/index.mjs +4 -0
- package/esm2022/components/input-date-range/input-date-range.component.mjs +243 -0
- package/esm2022/components/input-date-range/input-date-range.directive.mjs +31 -0
- package/esm2022/components/input-date-range/input-date-range.module.mjs +67 -0
- package/esm2022/components/input-date-range/taiga-ui-legacy-components-input-date-range.mjs +5 -0
- package/esm2022/components/input-date-time/index.mjs +4 -0
- package/esm2022/components/input-date-time/input-date-time.component.mjs +302 -0
- package/esm2022/components/input-date-time/input-date-time.directive.mjs +32 -0
- package/esm2022/components/input-date-time/input-date-time.module.mjs +74 -0
- package/esm2022/components/input-date-time/native-date-time/native-date-time.directive.mjs +44 -0
- package/esm2022/components/input-date-time/taiga-ui-legacy-components-input-date-time.mjs +5 -0
- package/esm2022/components/input-month/index.mjs +4 -0
- package/esm2022/components/input-month/input-month.component.mjs +132 -0
- package/esm2022/components/input-month/input-month.directive.mjs +41 -0
- package/esm2022/components/input-month/input-month.module.mjs +53 -0
- package/esm2022/components/input-month/taiga-ui-legacy-components-input-month.mjs +5 -0
- package/esm2022/components/input-month-range/index.mjs +4 -0
- package/esm2022/components/input-month-range/input-month-range.component.mjs +120 -0
- package/esm2022/components/input-month-range/input-month-range.directive.mjs +47 -0
- package/esm2022/components/input-month-range/input-month-range.module.mjs +49 -0
- package/esm2022/components/input-month-range/taiga-ui-legacy-components-input-month-range.mjs +5 -0
- package/esm2022/components/input-number/index.mjs +5 -0
- package/esm2022/components/input-number/input-number.component.mjs +257 -0
- package/esm2022/components/input-number/input-number.directive.mjs +33 -0
- package/esm2022/components/input-number/input-number.module.mjs +44 -0
- package/esm2022/components/input-number/input-number.options.mjs +19 -0
- package/esm2022/components/input-number/taiga-ui-legacy-components-input-number.mjs +5 -0
- package/esm2022/components/input-password/index.mjs +5 -0
- package/esm2022/components/input-password/input-password.component.mjs +78 -0
- package/esm2022/components/input-password/input-password.directive.mjs +30 -0
- package/esm2022/components/input-password/input-password.module.mjs +56 -0
- package/esm2022/components/input-password/input-password.options.mjs +12 -0
- package/esm2022/components/input-password/taiga-ui-legacy-components-input-password.mjs +5 -0
- package/esm2022/components/input-phone/index.mjs +5 -0
- package/esm2022/components/input-phone/input-phone.component.mjs +217 -0
- package/esm2022/components/input-phone/input-phone.directive.mjs +33 -0
- package/esm2022/components/input-phone/input-phone.module.mjs +44 -0
- package/esm2022/components/input-phone/input-phone.options.mjs +14 -0
- package/esm2022/components/input-phone/taiga-ui-legacy-components-input-phone.mjs +5 -0
- package/esm2022/components/input-phone/utils/complete-phone-insertion-preprocessor.mjs +41 -0
- package/esm2022/components/input-phone/utils/create-phone-mask-expression.mjs +17 -0
- package/esm2022/components/input-phone/utils/index.mjs +3 -0
- package/esm2022/components/input-phone-international/index.mjs +4 -0
- package/esm2022/components/input-phone-international/input-phone-international.component.mjs +181 -0
- package/esm2022/components/input-phone-international/input-phone-international.options.mjs +13 -0
- package/esm2022/components/input-phone-international/taiga-ui-legacy-components-input-phone-international.mjs +5 -0
- package/esm2022/components/input-phone-international/utils/extract-value-from-event.mjs +7 -0
- package/esm2022/components/input-range/index.mjs +3 -0
- package/esm2022/components/input-range/input-range.component.mjs +203 -0
- package/esm2022/components/input-range/input-range.module.mjs +51 -0
- package/esm2022/components/input-range/taiga-ui-legacy-components-input-range.mjs +5 -0
- package/esm2022/components/input-slider/index.mjs +3 -0
- package/esm2022/components/input-slider/input-slider.component.mjs +150 -0
- package/esm2022/components/input-slider/input-slider.module.mjs +44 -0
- package/esm2022/components/input-slider/taiga-ui-legacy-components-input-slider.mjs +5 -0
- package/esm2022/components/input-tag/index.mjs +4 -0
- package/esm2022/components/input-tag/input-tag.component.mjs +415 -0
- package/esm2022/components/input-tag/input-tag.module.mjs +63 -0
- package/esm2022/components/input-tag/input-tag.options.mjs +14 -0
- package/esm2022/components/input-tag/taiga-ui-legacy-components-input-tag.mjs +5 -0
- package/esm2022/components/input-time/index.mjs +5 -0
- package/esm2022/components/input-time/input-time.component.mjs +275 -0
- package/esm2022/components/input-time/input-time.directive.mjs +35 -0
- package/esm2022/components/input-time/input-time.module.mjs +67 -0
- package/esm2022/components/input-time/input-time.options.mjs +22 -0
- package/esm2022/components/input-time/native-time/native-time.component.mjs +67 -0
- package/esm2022/components/input-time/taiga-ui-legacy-components-input-time.mjs +5 -0
- package/esm2022/components/input-year/index.mjs +4 -0
- package/esm2022/components/input-year/input-year.component.mjs +107 -0
- package/esm2022/components/input-year/input-year.directive.mjs +27 -0
- package/esm2022/components/input-year/input-year.module.mjs +49 -0
- package/esm2022/components/input-year/taiga-ui-legacy-components-input-year.mjs +5 -0
- package/esm2022/components/island/index.mjs +2 -0
- package/esm2022/components/island/island.directive.mjs +74 -0
- package/esm2022/components/island/taiga-ui-legacy-components-island.mjs +5 -0
- package/esm2022/components/multi-select/hide-selected.pipe.mjs +43 -0
- package/esm2022/components/multi-select/index.mjs +11 -0
- package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +99 -0
- package/esm2022/components/multi-select/multi-select-group/multi-select-group.directive.mjs +65 -0
- package/esm2022/components/multi-select/multi-select.component.mjs +204 -0
- package/esm2022/components/multi-select/multi-select.directive.mjs +31 -0
- package/esm2022/components/multi-select/multi-select.module.mjs +111 -0
- package/esm2022/components/multi-select/multi-select.options.mjs +13 -0
- package/esm2022/components/multi-select/native-multi-select/native-multi-select-group.component.mjs +60 -0
- package/esm2022/components/multi-select/native-multi-select/native-multi-select.component.mjs +56 -0
- package/esm2022/components/multi-select/native-multi-select/native-multi-select.mjs +19 -0
- package/esm2022/components/multi-select/taiga-ui-legacy-components-multi-select.mjs +5 -0
- package/esm2022/components/multi-select-option/index.mjs +3 -0
- package/esm2022/components/multi-select-option/multi-select-option.component.mjs +25 -0
- package/esm2022/components/multi-select-option/multi-select-option.module.mjs +20 -0
- package/esm2022/components/multi-select-option/taiga-ui-legacy-components-multi-select-option.mjs +5 -0
- package/esm2022/components/primitive-textfield/index.mjs +8 -0
- package/esm2022/components/primitive-textfield/primitive-textfield-options.mjs +17 -0
- package/esm2022/components/primitive-textfield/primitive-textfield-types.mjs +2 -0
- package/esm2022/components/primitive-textfield/primitive-textfield.component.mjs +247 -0
- package/esm2022/components/primitive-textfield/primitive-textfield.directive.mjs +28 -0
- package/esm2022/components/primitive-textfield/primitive-textfield.module.mjs +62 -0
- package/esm2022/components/primitive-textfield/taiga-ui-legacy-components-primitive-textfield.mjs +5 -0
- package/esm2022/components/primitive-textfield/textfield/textfield.component.mjs +39 -0
- package/esm2022/components/primitive-textfield/value-decoration/value-decoration.component.mjs +71 -0
- package/esm2022/components/select/index.mjs +7 -0
- package/esm2022/components/select/native-select/native-select-group.component.mjs +60 -0
- package/esm2022/components/select/native-select/native-select.component.mjs +56 -0
- package/esm2022/components/select/select.component.mjs +116 -0
- package/esm2022/components/select/select.directive.mjs +29 -0
- package/esm2022/components/select/select.module.mjs +83 -0
- package/esm2022/components/select/select.options.mjs +12 -0
- package/esm2022/components/select/taiga-ui-legacy-components-select.mjs +5 -0
- package/esm2022/components/select-option/index.mjs +3 -0
- package/esm2022/components/select-option/select-option.component.mjs +65 -0
- package/esm2022/components/select-option/select-option.module.mjs +21 -0
- package/esm2022/components/select-option/taiga-ui-legacy-components-select-option.mjs +5 -0
- package/esm2022/components/sheet/components/sheet/sheet.component.mjs +118 -0
- package/esm2022/components/sheet/components/sheet/sheet.providers.mjs +42 -0
- package/esm2022/components/sheet/components/sheet-bar/sheet-bar.component.mjs +27 -0
- package/esm2022/components/sheet/components/sheet-heading/sheet-heading.component.mjs +31 -0
- package/esm2022/components/sheet/components/sheets-host/sheets-host.component.mjs +46 -0
- package/esm2022/components/sheet/directives/sheet-close/sheet-close.directive.mjs +38 -0
- package/esm2022/components/sheet/directives/sheet-stop/sheet-stop.directive.mjs +37 -0
- package/esm2022/components/sheet/directives/sheet-top/sheet-top.directive.mjs +51 -0
- package/esm2022/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.mjs +76 -0
- package/esm2022/components/sheet/index.mjs +15 -0
- package/esm2022/components/sheet/sheet-options.mjs +21 -0
- package/esm2022/components/sheet/sheet-tokens.mjs +14 -0
- package/esm2022/components/sheet/sheet.directive.mjs +38 -0
- package/esm2022/components/sheet/sheet.mjs +2 -0
- package/esm2022/components/sheet/sheet.module.mjs +74 -0
- package/esm2022/components/sheet/sheet.service.mjs +51 -0
- package/esm2022/components/sheet/taiga-ui-legacy-components-sheet.mjs +5 -0
- package/esm2022/components/svg/content-processor.mjs +38 -0
- package/esm2022/components/svg/deprecated-icons.mjs +59 -0
- package/esm2022/components/svg/index.mjs +6 -0
- package/esm2022/components/svg/svg-options.mjs +60 -0
- package/esm2022/components/svg/svg.component.mjs +147 -0
- package/esm2022/components/svg/svg.service.mjs +64 -0
- package/esm2022/components/svg/taiga-ui-legacy-components-svg.mjs +5 -0
- package/esm2022/components/table-bar/index.mjs +6 -0
- package/esm2022/components/table-bar/table-bar.component.mjs +33 -0
- package/esm2022/components/table-bar/table-bar.directive.mjs +21 -0
- package/esm2022/components/table-bar/table-bar.options.mjs +16 -0
- package/esm2022/components/table-bar/table-bars-host.component.mjs +35 -0
- package/esm2022/components/table-bar/table-bars.service.mjs +21 -0
- package/esm2022/components/table-bar/taiga-ui-legacy-components-table-bar.mjs +5 -0
- package/esm2022/components/tag/index.mjs +4 -0
- package/esm2022/components/tag/tag.component.mjs +171 -0
- package/esm2022/components/tag/tag.module.mjs +38 -0
- package/esm2022/components/tag/tag.options.mjs +15 -0
- package/esm2022/components/tag/taiga-ui-legacy-components-tag.mjs +5 -0
- package/esm2022/components/taiga-ui-legacy-components.mjs +5 -0
- package/esm2022/components/textarea/index.mjs +4 -0
- package/esm2022/components/textarea/taiga-ui-legacy-components-textarea.mjs +5 -0
- package/esm2022/components/textarea/textarea.component.mjs +189 -0
- package/esm2022/components/textarea/textarea.directive.mjs +20 -0
- package/esm2022/components/textarea/textarea.module.mjs +64 -0
- package/esm2022/components/tooltip/index.mjs +3 -0
- package/esm2022/components/tooltip/taiga-ui-legacy-components-tooltip.mjs +5 -0
- package/esm2022/components/tooltip/tooltip.component.mjs +47 -0
- package/esm2022/components/tooltip/tooltip.module.mjs +24 -0
- package/esm2022/directives/index.mjs +6 -0
- package/esm2022/directives/legacy-dropdown-open-monitor/index.mjs +2 -0
- package/esm2022/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.mjs +40 -0
- package/esm2022/directives/legacy-dropdown-open-monitor/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +5 -0
- package/esm2022/directives/taiga-ui-legacy-directives.mjs +5 -0
- package/esm2022/directives/textfield-controller/index.mjs +15 -0
- package/esm2022/directives/textfield-controller/taiga-ui-legacy-directives-textfield-controller.mjs +5 -0
- package/esm2022/directives/textfield-controller/textfield-appearance.directive.mjs +32 -0
- package/esm2022/directives/textfield-controller/textfield-cleaner.directive.mjs +25 -0
- package/esm2022/directives/textfield-controller/textfield-controller.module.mjs +72 -0
- package/esm2022/directives/textfield-controller/textfield-controller.provider.mjs +44 -0
- package/esm2022/directives/textfield-controller/textfield-custom-content.directive.mjs +25 -0
- package/esm2022/directives/textfield-controller/textfield-filler.directive.mjs +25 -0
- package/esm2022/directives/textfield-controller/textfield-icon-left.directive.mjs +21 -0
- package/esm2022/directives/textfield-controller/textfield-icon.directive.mjs +21 -0
- package/esm2022/directives/textfield-controller/textfield-label-outside.directive.mjs +29 -0
- package/esm2022/directives/textfield-controller/textfield-postfix.directive.mjs +25 -0
- package/esm2022/directives/textfield-controller/textfield-prefix.directive.mjs +25 -0
- package/esm2022/directives/textfield-controller/textfield-size.directive.mjs +25 -0
- package/esm2022/directives/textfield-controller/textfield.controller.mjs +48 -0
- package/esm2022/directives/textfield-controller/textfield.options.mjs +14 -0
- package/esm2022/directives/unfinished-validator/index.mjs +3 -0
- package/esm2022/directives/unfinished-validator/taiga-ui-legacy-directives-unfinished-validator.mjs +5 -0
- package/esm2022/directives/unfinished-validator/unfinished-validator.directive.mjs +25 -0
- package/esm2022/directives/unfinished-validator/unfinished.validator.mjs +15 -0
- package/esm2022/directives/value-accessor/index.mjs +4 -0
- package/esm2022/directives/value-accessor/taiga-ui-legacy-directives-value-accessor.mjs +5 -0
- package/esm2022/directives/value-accessor/value-accessor.directive.mjs +16 -0
- package/esm2022/directives/value-accessor/value-accessor.module.mjs +17 -0
- package/esm2022/directives/value-accessor/value-accessor.provider.mjs +10 -0
- package/esm2022/directives/wrapper/index.mjs +3 -0
- package/esm2022/directives/wrapper/taiga-ui-legacy-directives-wrapper.mjs +5 -0
- package/esm2022/directives/wrapper/wrapper.directive.mjs +85 -0
- package/esm2022/directives/wrapper/wrapper.module.mjs +20 -0
- package/esm2022/index.mjs +7 -0
- package/esm2022/pipes/format-phone/format-phone.pipe.mjs +50 -0
- package/esm2022/pipes/format-phone/index.mjs +2 -0
- package/esm2022/pipes/format-phone/taiga-ui-legacy-pipes-format-phone.mjs +5 -0
- package/esm2022/pipes/index.mjs +4 -0
- package/esm2022/pipes/iso-to-country-code/index.mjs +2 -0
- package/esm2022/pipes/iso-to-country-code/iso-to-country-code.pipe.mjs +43 -0
- package/esm2022/pipes/iso-to-country-code/taiga-ui-legacy-pipes-iso-to-country-code.mjs +5 -0
- package/esm2022/pipes/taiga-ui-legacy-pipes.mjs +5 -0
- package/esm2022/pipes/to-country-code/index.mjs +2 -0
- package/esm2022/pipes/to-country-code/taiga-ui-legacy-pipes-to-country-code.mjs +5 -0
- package/esm2022/pipes/to-country-code/to-country-code.pipe.mjs +73 -0
- package/esm2022/taiga-ui-legacy.mjs +5 -0
- package/esm2022/tokens/countries-masks.mjs +254 -0
- package/esm2022/tokens/focusable-item-accessor.mjs +14 -0
- package/esm2022/tokens/fonts-ready.mjs +7 -0
- package/esm2022/tokens/icons.mjs +7 -0
- package/esm2022/tokens/index.mjs +15 -0
- package/esm2022/tokens/is-apple.mjs +9 -0
- package/esm2022/tokens/is-chromium.mjs +8 -0
- package/esm2022/tokens/is-firefox.mjs +9 -0
- package/esm2022/tokens/is-stackblitz.mjs +5 -0
- package/esm2022/tokens/month-formatter.mjs +17 -0
- package/esm2022/tokens/sanitizer.mjs +6 -0
- package/esm2022/tokens/taiga-ui-legacy-tokens.mjs +5 -0
- package/esm2022/tokens/textfield-appearance.mjs +7 -0
- package/esm2022/tokens/textfield-host.mjs +10 -0
- package/esm2022/tokens/touch-supported.mjs +5 -0
- package/esm2022/tokens/value-accessor.mjs +7 -0
- package/esm2022/utils/date-mode-maskito-adapter.mjs +6 -0
- package/esm2022/utils/format-phone.mjs +59 -0
- package/esm2022/utils/get-border.mjs +20 -0
- package/esm2022/utils/get-max-allowed-phone-length.mjs +25 -0
- package/esm2022/utils/get-safe-area-size.mjs +17 -0
- package/esm2022/utils/icons-path-factory.mjs +14 -0
- package/esm2022/utils/index.mjs +14 -0
- package/esm2022/utils/is-apple.mjs +6 -0
- package/esm2022/utils/is-presumed-html-string.mjs +6 -0
- package/esm2022/utils/iso-to-country-code.mjs +15 -0
- package/esm2022/utils/not-kz-region.mjs +23 -0
- package/esm2022/utils/process-icon.mjs +32 -0
- package/esm2022/utils/specific-dropdown-controllers.mjs +6 -0
- package/esm2022/utils/status.mjs +2 -0
- package/esm2022/utils/taiga-ui-legacy-utils.mjs +5 -0
- package/fesm2022/taiga-ui-legacy-classes.mjs +377 -0
- package/fesm2022/taiga-ui-legacy-classes.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-arrow.mjs +73 -0
- package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +280 -0
- package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +177 -0
- package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +277 -0
- package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +334 -0
- package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +438 -0
- package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-date.mjs +358 -0
- package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +209 -0
- package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-month.mjs +219 -0
- package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-number.mjs +344 -0
- package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-password.mjs +167 -0
- package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +204 -0
- package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +355 -0
- package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-range.mjs +253 -0
- package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +192 -0
- package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +488 -0
- package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-time.mjs +447 -0
- package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-year.mjs +176 -0
- package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input.mjs +132 -0
- package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-island.mjs +80 -0
- package/fesm2022/taiga-ui-legacy-components-island.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +47 -0
- package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +628 -0
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +443 -0
- package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-select-option.mjs +88 -0
- package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-select.mjs +323 -0
- package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-sheet.mjs +561 -0
- package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-svg.mjs +356 -0
- package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +115 -0
- package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-tag.mjs +225 -0
- package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-textarea.mjs +267 -0
- package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +71 -0
- package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components.mjs +36 -0
- package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +46 -0
- package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +365 -0
- package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +44 -0
- package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +43 -0
- package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs +107 -0
- package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-directives.mjs +10 -0
- package/fesm2022/taiga-ui-legacy-directives.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +56 -0
- package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +49 -0
- package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +79 -0
- package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-pipes.mjs +8 -0
- package/fesm2022/taiga-ui-legacy-pipes.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-tokens.mjs +348 -0
- package/fesm2022/taiga-ui-legacy-tokens.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-utils.mjs +235 -0
- package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy.mjs +11 -0
- package/fesm2022/taiga-ui-legacy.mjs.map +1 -0
- package/index.d.ts +6 -0
- package/package.json +303 -0
- package/pipes/format-phone/format-phone.pipe.d.ts +34 -0
- package/pipes/format-phone/index.d.ts +1 -0
- package/pipes/index.d.ts +3 -0
- package/pipes/iso-to-country-code/index.d.ts +1 -0
- package/pipes/iso-to-country-code/iso-to-country-code.pipe.d.ts +29 -0
- package/pipes/to-country-code/index.d.ts +1 -0
- package/pipes/to-country-code/to-country-code.pipe.d.ts +37 -0
- package/styles/mixins/mixins.less +252 -0
- package/styles/mixins/mixins.scss +230 -0
- package/styles/mixins/textfield.less +315 -0
- package/styles/mixins/textfield.scss +306 -0
- package/styles/mixins/wrapper.less +65 -0
- package/styles/mixins/wrapper.scss +59 -0
- package/styles/taiga-ui-local.less +4 -0
- package/styles/taiga-ui-local.scss +4 -0
- package/styles/taiga-ui-theme.less +15 -0
- package/styles/wrapper/accent.less +28 -0
- package/styles/wrapper/base.less +44 -0
- package/styles/wrapper/floating.less +19 -0
- package/styles/wrapper/glass.less +31 -0
- package/styles/wrapper/icon.less +53 -0
- package/styles/wrapper/mono.less +23 -0
- package/styles/wrapper/none.less +5 -0
- package/styles/wrapper/opposite.less +33 -0
- package/styles/wrapper/outline.less +52 -0
- package/styles/wrapper/primary.less +32 -0
- package/styles/wrapper/secondary-destructive.less +16 -0
- package/styles/wrapper/secondary.less +47 -0
- package/styles/wrapper/table.less +82 -0
- package/styles/wrapper/textfield.less +80 -0
- package/styles/wrapper/whiteblock.less +47 -0
- package/tokens/countries-masks.d.ts +7 -0
- package/tokens/focusable-item-accessor.d.ts +22 -0
- package/tokens/fonts-ready.d.ts +3 -0
- package/tokens/icons.d.ts +5 -0
- package/tokens/index.d.ts +14 -0
- package/tokens/is-apple.d.ts +4 -0
- package/tokens/is-chromium.d.ts +4 -0
- package/tokens/is-firefox.d.ts +4 -0
- package/tokens/is-stackblitz.d.ts +1 -0
- package/tokens/month-formatter.d.ts +10 -0
- package/tokens/sanitizer.d.ts +6 -0
- package/tokens/textfield-appearance.d.ts +5 -0
- package/tokens/textfield-host.d.ts +17 -0
- package/tokens/touch-supported.d.ts +1 -0
- package/tokens/value-accessor.d.ts +7 -0
- package/utils/date-mode-maskito-adapter.d.ts +3 -0
- package/utils/format-phone.d.ts +29 -0
- package/utils/get-border.d.ts +2 -0
- package/utils/get-max-allowed-phone-length.d.ts +23 -0
- package/utils/get-safe-area-size.d.ts +6 -0
- package/utils/icons-path-factory.d.ts +4 -0
- package/utils/index.d.ts +13 -0
- package/utils/is-apple.d.ts +1 -0
- package/utils/is-presumed-html-string.d.ts +1 -0
- package/utils/iso-to-country-code.d.ts +12 -0
- package/utils/not-kz-region.d.ts +19 -0
- package/utils/process-icon.d.ts +1 -0
- package/utils/specific-dropdown-controllers.d.ts +1 -0
- package/utils/status.d.ts +1 -0
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, ElementRef, Component, ChangeDetectionStrategy, ViewChild, ContentChild, Input, HostBinding, HostListener, Directive, NgModule } from '@angular/core';
|
|
3
|
+
import { TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
|
|
4
|
+
import { tuiIsNativeFocused } from '@taiga-ui/cdk/utils/focus';
|
|
5
|
+
import { TUI_TEXTFIELD_OPTIONS } from '@taiga-ui/core/components/textfield';
|
|
6
|
+
import { TuiHintOptionsDirective } from '@taiga-ui/core/directives/hint';
|
|
7
|
+
import { AbstractTuiControl, tuiAsControl, AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
|
|
8
|
+
import { TUI_ICON_PADDINGS, TuiTextfieldComponent, TuiPrimitiveTextfieldModule } from '@taiga-ui/legacy/components/primitive-textfield';
|
|
9
|
+
import * as i5 from '@taiga-ui/legacy/directives';
|
|
10
|
+
import { TUI_TEXTFIELD_WATCHED_CONTROLLER, TEXTFIELD_CONTROLLER_PROVIDER, TuiWrapperModule } from '@taiga-ui/legacy/directives';
|
|
11
|
+
import { tuiAsFocusableItemAccessor, tuiAsTextfieldHost } from '@taiga-ui/legacy/tokens';
|
|
12
|
+
import { tuiGetBorder } from '@taiga-ui/legacy/utils';
|
|
13
|
+
import * as i1 from '@angular/common';
|
|
14
|
+
import { CommonModule } from '@angular/common';
|
|
15
|
+
import * as i2 from '@angular/forms';
|
|
16
|
+
import { FormsModule } from '@angular/forms';
|
|
17
|
+
import * as i3 from '@taiga-ui/core/components/scrollbar';
|
|
18
|
+
import { TuiScrollbar } from '@taiga-ui/core/components/scrollbar';
|
|
19
|
+
import * as i4 from '@taiga-ui/legacy/components/tooltip';
|
|
20
|
+
import { TuiTooltip } from '@taiga-ui/legacy/components/tooltip';
|
|
21
|
+
import * as i6 from '@taiga-ui/polymorpheus';
|
|
22
|
+
import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
|
|
23
|
+
import * as i7 from '@taiga-ui/core/components/icon';
|
|
24
|
+
import { TuiIcon } from '@taiga-ui/core/components/icon';
|
|
25
|
+
import * as i8 from '@taiga-ui/core/directives/appearance';
|
|
26
|
+
import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
|
|
27
|
+
|
|
28
|
+
const DEFAULT_ROWS = 20;
|
|
29
|
+
const LINE_HEIGHT_M = 20;
|
|
30
|
+
const LINE_HEIGHT_L = 24;
|
|
31
|
+
class TuiTextareaComponent extends AbstractTuiControl {
|
|
32
|
+
constructor() {
|
|
33
|
+
super(...arguments);
|
|
34
|
+
this.options = inject(TUI_TEXTFIELD_OPTIONS);
|
|
35
|
+
this.isIOS = inject(TUI_IS_IOS);
|
|
36
|
+
this.controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);
|
|
37
|
+
this.hintOptions = inject(TuiHintOptionsDirective, { optional: true });
|
|
38
|
+
this.rows = DEFAULT_ROWS;
|
|
39
|
+
this.maxLength = null;
|
|
40
|
+
this.expandable = false;
|
|
41
|
+
}
|
|
42
|
+
get nativeFocusableElement() {
|
|
43
|
+
if (this.computedDisabled) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
return (this.textfield?.nativeElement || this.focusableElement?.nativeElement || null);
|
|
47
|
+
}
|
|
48
|
+
get focused() {
|
|
49
|
+
return tuiIsNativeFocused(this.nativeFocusableElement);
|
|
50
|
+
}
|
|
51
|
+
get computeMaxHeight() {
|
|
52
|
+
return this.expandable ? this.rows * this.lineHeight : null;
|
|
53
|
+
}
|
|
54
|
+
onValueChange(value) {
|
|
55
|
+
this.value = value;
|
|
56
|
+
}
|
|
57
|
+
get labelOutside() {
|
|
58
|
+
return this.options.appearance === 'table' || this.controller.labelOutside;
|
|
59
|
+
}
|
|
60
|
+
get size() {
|
|
61
|
+
return this.controller.size;
|
|
62
|
+
}
|
|
63
|
+
get borderStart() {
|
|
64
|
+
return this.iconLeftContent ? TUI_ICON_PADDINGS[this.size] : 0;
|
|
65
|
+
}
|
|
66
|
+
get borderEnd() {
|
|
67
|
+
return tuiGetBorder(!!this.iconContent, this.hasCleaner, this.hasTooltip, this.hasCustomContent, this.size);
|
|
68
|
+
}
|
|
69
|
+
get hasTooltip() {
|
|
70
|
+
return (!!this.hintOptions?.content &&
|
|
71
|
+
(this.controller.options.hintOnDisabled || !this.computedDisabled));
|
|
72
|
+
}
|
|
73
|
+
get hasValue() {
|
|
74
|
+
return this.value !== '';
|
|
75
|
+
}
|
|
76
|
+
get hasCounter() {
|
|
77
|
+
return !!this.maxLength && this.interactive;
|
|
78
|
+
}
|
|
79
|
+
get appearance() {
|
|
80
|
+
return this.options.appearance === 'table' ? 'table' : this.controller.appearance;
|
|
81
|
+
}
|
|
82
|
+
get hasCleaner() {
|
|
83
|
+
return this.controller.cleaner && this.hasValue && this.interactive;
|
|
84
|
+
}
|
|
85
|
+
get hasPlaceholder() {
|
|
86
|
+
return this.placeholderRaisable || (!this.hasValue && !this.hasExampleText);
|
|
87
|
+
}
|
|
88
|
+
get hasCustomContent() {
|
|
89
|
+
return !!this.controller.customContent;
|
|
90
|
+
}
|
|
91
|
+
get iconLeftContent() {
|
|
92
|
+
return this.controller.iconLeft;
|
|
93
|
+
}
|
|
94
|
+
get iconContent() {
|
|
95
|
+
return this.controller.icon;
|
|
96
|
+
}
|
|
97
|
+
get iconCleaner() {
|
|
98
|
+
return this.controller.options.iconCleaner;
|
|
99
|
+
}
|
|
100
|
+
get hasExampleText() {
|
|
101
|
+
return (!!this.textfield?.nativeElement.placeholder &&
|
|
102
|
+
this.focused &&
|
|
103
|
+
!this.hasValue &&
|
|
104
|
+
!this.readOnly);
|
|
105
|
+
}
|
|
106
|
+
get placeholderRaised() {
|
|
107
|
+
return (this.placeholderRaisable &&
|
|
108
|
+
((this.computedFocused && !this.readOnly) || this.hasValue));
|
|
109
|
+
}
|
|
110
|
+
get fittedContent() {
|
|
111
|
+
return this.value.slice(0, this.maxLength || Infinity);
|
|
112
|
+
}
|
|
113
|
+
get extraContent() {
|
|
114
|
+
return this.value.slice(this.maxLength || Infinity);
|
|
115
|
+
}
|
|
116
|
+
onFocused(focused) {
|
|
117
|
+
this.updateFocused(focused);
|
|
118
|
+
}
|
|
119
|
+
onMouseDown(event) {
|
|
120
|
+
if (event.target === this.nativeFocusableElement) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
event.preventDefault();
|
|
124
|
+
if (this.nativeFocusableElement) {
|
|
125
|
+
this.nativeFocusableElement.focus();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
getFallbackValue() {
|
|
129
|
+
return '';
|
|
130
|
+
}
|
|
131
|
+
get lineHeight() {
|
|
132
|
+
return this.controller.size === 'm' ? LINE_HEIGHT_M : LINE_HEIGHT_L;
|
|
133
|
+
}
|
|
134
|
+
get placeholderRaisable() {
|
|
135
|
+
return this.size !== 's' && !this.controller.labelOutside;
|
|
136
|
+
}
|
|
137
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
138
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTextareaComponent, selector: "tui-textarea", inputs: { rows: "rows", maxLength: "maxLength", expandable: "expandable" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)" }, properties: { "class._ios": "isIOS", "class._expandable": "this.expandable", "class._label-outside": "this.labelOutside", "attr.data-size": "this.size", "style.--border-start.rem": "this.borderStart", "style.--border-end.rem": "this.borderEnd", "class._has-tooltip": "this.hasTooltip", "class._has-value": "this.hasValue", "class._has-counter": "this.hasCounter" } }, providers: [
|
|
139
|
+
tuiAsFocusableItemAccessor(TuiTextareaComponent),
|
|
140
|
+
tuiAsControl(TuiTextareaComponent),
|
|
141
|
+
TEXTFIELD_CONTROLLER_PROVIDER,
|
|
142
|
+
], queries: [{ propertyName: "textfield", first: true, predicate: TuiTextfieldComponent, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hintOptions?.change$ | async\" />\n<div\n automation-id=\"tui-text-area__wrapper\"\n tuiWrapper\n class=\"t-outline\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\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 />\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 <span class=\"t-caret\"></span>\n </div>\n <textarea\n #focusableElement\n automation-id=\"tui-text-area__native\"\n class=\"t-input\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [readOnly]=\"readOnly\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n [(ngModel)]=\"value\"\n ></textarea>\n <ng-content select=\"textarea\" />\n </div>\n </div>\n </tui-scrollbar>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n <ng-container *ngIf=\"hasCustomContent\">\n <tui-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n [icon]=\"src\"\n />\n </ng-container>\n <ng-container *ngIf=\"hasCleaner\">\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onValueChange('')\"\n />\n </ng-container>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-text-area__tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n </div>\n </label>\n</div>\n", styles: [":host{position:relative;z-index:0;display:flex;flex-direction:column;min-height:var(--tui-textarea-height);border-radius:var(--tui-radius-m);color:var(--tui-text-primary)}:host[data-size=s]{--tui-height: var(--tui-height-s);--tui-textarea-height: 4.5625rem;font:var(--tui-font-text-s)}:host[data-size=m]{--tui-height: var(--tui-height-m);--tui-textarea-height: 5.5rem;font:var(--tui-font-text-s)}:host[data-size=l]{--tui-height: var(--tui-height-l);--tui-textarea-height: 6.75rem;font:var(--tui-font-text-m)}:host[data-size=m]._has-counter{--tui-textarea-height: 6.625rem}:host[data-size=l]._has-counter{--tui-textarea-height: 7.875rem}.t-outline{min-height:inherit}.t-content{display:block;margin-top:0;margin-bottom:0;min-height:inherit;box-sizing:border-box;overflow:hidden;cursor:text}:host._disabled .t-content{cursor:auto;opacity:var(--tui-disabled-opacity)}:host:not(._expandable) .t-content{position:absolute;top:0;left:0;bottom:1px;right:0;min-height:auto}:host._has-counter:not(._expandable) .t-content{bottom:1.6875rem}:host._label-outside._has-counter:not(._expandable) .t-content{bottom:1rem}.t-wrapper{position:relative;width:100%;height:100%;min-height:inherit;box-sizing:border-box;padding:calc((var(--tui-height) - 1.25rem) / 2) 0}:host[data-size=l]._label-outside .t-wrapper{padding:calc((var(--tui-height) - 1.5rem) / 2) 0}:host[data-size=m]:not(._label-outside) .t-wrapper{padding:calc((var(--tui-height) - 2.25rem) / 2) 0}:host[data-size=l]:not(._label-outside) .t-wrapper{padding:calc((var(--tui-height) - 2.625rem) / 2) 0}:host-context(table)[data-size=m]._label-outside .t-wrapper{padding-bottom:.75rem}:host-context(table)[data-size=l]._label-outside .t-wrapper{padding-bottom:1rem}.t-input-wrapper{min-height:inherit;width:100%;flex:1}.t-relative{position:relative;min-height:inherit}.t-box{display:flex;min-height:calc(100% - 1rem);width:100%}:host:not(._expandable) .t-box{height:calc(100% - 1rem)}:host:not(._expandable)._label-outside .t-box{height:100%}:host._has-counter._expandable .t-box{margin-bottom:1.25rem}:host[data-size=m]:not(._label-outside) .t-box{border-top:1rem solid transparent}:host[data-size=l]:not(._label-outside) .t-box{border-top:1.25rem solid transparent}.t-pseudo-content{white-space:pre-wrap;word-wrap:break-word;word-break:keep-all;pointer-events:none;color:transparent;overflow:hidden;border:0 solid transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0)}:host[data-size=s] .t-pseudo-content,:host[data-size=m] .t-pseudo-content{padding:0 .75rem}:host[data-size=l] .t-pseudo-content{padding:0 1rem}.t-pseudo-content__extra{background-color:var(--tui-status-negative-pale-night)}.t-input{padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;box-sizing:border-box;resize:none;overflow:hidden;outline:none;border-style:solid;border-color:transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0)}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{caret-color:var(--tui-text-primary);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}@supports (-webkit-touch-callout: none){.t-input:active{font-size:1rem}}.t-input:not(:last-of-type){display:none}.t-input::placeholder{color:var(--tui-text-tertiary);opacity:0}:host._focused .t-input:not(:read-only)::placeholder{opacity:1}:host[data-size=s] .t-input,:host[data-size=m] .t-input{padding:0 .75rem}:host[data-size=l] .t-input{padding:0 1rem}@supports (-webkit-marquee-repetition: infinite) and (object-fit: fill){:host._ios .t-input{padding-left:.8125rem}}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;user-select:none;font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none;will-change:transform;transform:translateY(0);position:absolute;top:calc(var(--tui-height) / 2 - .625rem);left:0;max-width:100%;border:0 solid transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);box-sizing:border-box}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);line-height:1.25rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-status-negative)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-tertiary)}:host[data-size=l] .t-placeholder{font:var(--tui-font-text-m);line-height:1.25rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-primary)}:host[data-size=s] .t-placeholder{padding:0 .75rem}:host[data-size=m] .t-placeholder{padding:0 .75rem}:host[data-size=l] .t-placeholder{padding:0 1rem}:host._label-outside .t-placeholder{overflow:initial;height:auto;white-space:initial}.t-icons{position:absolute;top:0;left:0;bottom:0;right:0;display:flex;justify-content:flex-end;pointer-events:none;padding:calc((var(--tui-height) - 1.5rem) / 2) 1rem}:host[data-size=m] .t-icons{padding:calc((var(--tui-height) - 1.5rem) / 2) .625rem}.t-icons>:not(:first-child){margin-inline-start:.25rem}.t-icon{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}.t-icon_left{margin-inline-end:auto}.t-cleaner{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none;pointer-events:auto;border:.25rem solid transparent}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}.t-caret{display:inline-block;height:1rem;width:0}.t-counter{position:absolute;right:.75rem;bottom:.5rem;font:var(--tui-font-text-s);pointer-events:none;margin-top:auto;text-align:right;color:var(--tui-text-tertiary)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }, { kind: "component", type: i4.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId", "context"] }, { kind: "directive", type: i5.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { kind: "directive", type: i6.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i7.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i8.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
143
|
+
}
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextareaComponent, decorators: [{
|
|
145
|
+
type: Component,
|
|
146
|
+
args: [{ selector: 'tui-textarea', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
147
|
+
tuiAsFocusableItemAccessor(TuiTextareaComponent),
|
|
148
|
+
tuiAsControl(TuiTextareaComponent),
|
|
149
|
+
TEXTFIELD_CONTROLLER_PROVIDER,
|
|
150
|
+
], host: {
|
|
151
|
+
'[class._ios]': 'isIOS',
|
|
152
|
+
}, template: "<ng-container *ngIf=\"hintOptions?.change$ | async\" />\n<div\n automation-id=\"tui-text-area__wrapper\"\n tuiWrapper\n class=\"t-outline\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\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 />\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 <span class=\"t-caret\"></span>\n </div>\n <textarea\n #focusableElement\n automation-id=\"tui-text-area__native\"\n class=\"t-input\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [readOnly]=\"readOnly\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n [(ngModel)]=\"value\"\n ></textarea>\n <ng-content select=\"textarea\" />\n </div>\n </div>\n </tui-scrollbar>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n <ng-container *ngIf=\"hasCustomContent\">\n <tui-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n [icon]=\"src\"\n />\n </ng-container>\n <ng-container *ngIf=\"hasCleaner\">\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onValueChange('')\"\n />\n </ng-container>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-text-area__tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n </div>\n </label>\n</div>\n", styles: [":host{position:relative;z-index:0;display:flex;flex-direction:column;min-height:var(--tui-textarea-height);border-radius:var(--tui-radius-m);color:var(--tui-text-primary)}:host[data-size=s]{--tui-height: var(--tui-height-s);--tui-textarea-height: 4.5625rem;font:var(--tui-font-text-s)}:host[data-size=m]{--tui-height: var(--tui-height-m);--tui-textarea-height: 5.5rem;font:var(--tui-font-text-s)}:host[data-size=l]{--tui-height: var(--tui-height-l);--tui-textarea-height: 6.75rem;font:var(--tui-font-text-m)}:host[data-size=m]._has-counter{--tui-textarea-height: 6.625rem}:host[data-size=l]._has-counter{--tui-textarea-height: 7.875rem}.t-outline{min-height:inherit}.t-content{display:block;margin-top:0;margin-bottom:0;min-height:inherit;box-sizing:border-box;overflow:hidden;cursor:text}:host._disabled .t-content{cursor:auto;opacity:var(--tui-disabled-opacity)}:host:not(._expandable) .t-content{position:absolute;top:0;left:0;bottom:1px;right:0;min-height:auto}:host._has-counter:not(._expandable) .t-content{bottom:1.6875rem}:host._label-outside._has-counter:not(._expandable) .t-content{bottom:1rem}.t-wrapper{position:relative;width:100%;height:100%;min-height:inherit;box-sizing:border-box;padding:calc((var(--tui-height) - 1.25rem) / 2) 0}:host[data-size=l]._label-outside .t-wrapper{padding:calc((var(--tui-height) - 1.5rem) / 2) 0}:host[data-size=m]:not(._label-outside) .t-wrapper{padding:calc((var(--tui-height) - 2.25rem) / 2) 0}:host[data-size=l]:not(._label-outside) .t-wrapper{padding:calc((var(--tui-height) - 2.625rem) / 2) 0}:host-context(table)[data-size=m]._label-outside .t-wrapper{padding-bottom:.75rem}:host-context(table)[data-size=l]._label-outside .t-wrapper{padding-bottom:1rem}.t-input-wrapper{min-height:inherit;width:100%;flex:1}.t-relative{position:relative;min-height:inherit}.t-box{display:flex;min-height:calc(100% - 1rem);width:100%}:host:not(._expandable) .t-box{height:calc(100% - 1rem)}:host:not(._expandable)._label-outside .t-box{height:100%}:host._has-counter._expandable .t-box{margin-bottom:1.25rem}:host[data-size=m]:not(._label-outside) .t-box{border-top:1rem solid transparent}:host[data-size=l]:not(._label-outside) .t-box{border-top:1.25rem solid transparent}.t-pseudo-content{white-space:pre-wrap;word-wrap:break-word;word-break:keep-all;pointer-events:none;color:transparent;overflow:hidden;border:0 solid transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0)}:host[data-size=s] .t-pseudo-content,:host[data-size=m] .t-pseudo-content{padding:0 .75rem}:host[data-size=l] .t-pseudo-content{padding:0 1rem}.t-pseudo-content__extra{background-color:var(--tui-status-negative-pale-night)}.t-input{padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;box-sizing:border-box;resize:none;overflow:hidden;outline:none;border-style:solid;border-color:transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0)}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{caret-color:var(--tui-text-primary);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}@supports (-webkit-touch-callout: none){.t-input:active{font-size:1rem}}.t-input:not(:last-of-type){display:none}.t-input::placeholder{color:var(--tui-text-tertiary);opacity:0}:host._focused .t-input:not(:read-only)::placeholder{opacity:1}:host[data-size=s] .t-input,:host[data-size=m] .t-input{padding:0 .75rem}:host[data-size=l] .t-input{padding:0 1rem}@supports (-webkit-marquee-repetition: infinite) and (object-fit: fill){:host._ios .t-input{padding-left:.8125rem}}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;user-select:none;font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none;will-change:transform;transform:translateY(0);position:absolute;top:calc(var(--tui-height) / 2 - .625rem);left:0;max-width:100%;border:0 solid transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);box-sizing:border-box}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);line-height:1.25rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-status-negative)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-tertiary)}:host[data-size=l] .t-placeholder{font:var(--tui-font-text-m);line-height:1.25rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-primary)}:host[data-size=s] .t-placeholder{padding:0 .75rem}:host[data-size=m] .t-placeholder{padding:0 .75rem}:host[data-size=l] .t-placeholder{padding:0 1rem}:host._label-outside .t-placeholder{overflow:initial;height:auto;white-space:initial}.t-icons{position:absolute;top:0;left:0;bottom:0;right:0;display:flex;justify-content:flex-end;pointer-events:none;padding:calc((var(--tui-height) - 1.5rem) / 2) 1rem}:host[data-size=m] .t-icons{padding:calc((var(--tui-height) - 1.5rem) / 2) .625rem}.t-icons>:not(:first-child){margin-inline-start:.25rem}.t-icon{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}.t-icon_left{margin-inline-end:auto}.t-cleaner{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none;pointer-events:auto;border:.25rem solid transparent}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}.t-caret{display:inline-block;height:1rem;width:0}.t-counter{position:absolute;right:.75rem;bottom:.5rem;font:var(--tui-font-text-s);pointer-events:none;margin-top:auto;text-align:right;color:var(--tui-text-tertiary)}\n"] }]
|
|
153
|
+
}], propDecorators: { focusableElement: [{
|
|
154
|
+
type: ViewChild,
|
|
155
|
+
args: ['focusableElement']
|
|
156
|
+
}], textfield: [{
|
|
157
|
+
type: ContentChild,
|
|
158
|
+
args: [TuiTextfieldComponent, { read: ElementRef }]
|
|
159
|
+
}], rows: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], maxLength: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], expandable: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}, {
|
|
166
|
+
type: HostBinding,
|
|
167
|
+
args: ['class._expandable']
|
|
168
|
+
}], labelOutside: [{
|
|
169
|
+
type: HostBinding,
|
|
170
|
+
args: ['class._label-outside']
|
|
171
|
+
}], size: [{
|
|
172
|
+
type: HostBinding,
|
|
173
|
+
args: ['attr.data-size']
|
|
174
|
+
}], borderStart: [{
|
|
175
|
+
type: HostBinding,
|
|
176
|
+
args: ['style.--border-start.rem']
|
|
177
|
+
}], borderEnd: [{
|
|
178
|
+
type: HostBinding,
|
|
179
|
+
args: ['style.--border-end.rem']
|
|
180
|
+
}], hasTooltip: [{
|
|
181
|
+
type: HostBinding,
|
|
182
|
+
args: ['class._has-tooltip']
|
|
183
|
+
}], hasValue: [{
|
|
184
|
+
type: HostBinding,
|
|
185
|
+
args: ['class._has-value']
|
|
186
|
+
}], hasCounter: [{
|
|
187
|
+
type: HostBinding,
|
|
188
|
+
args: ['class._has-counter']
|
|
189
|
+
}], onFocused: [{
|
|
190
|
+
type: HostListener,
|
|
191
|
+
args: ['focusin', ['true']]
|
|
192
|
+
}, {
|
|
193
|
+
type: HostListener,
|
|
194
|
+
args: ['focusout', ['false']]
|
|
195
|
+
}] } });
|
|
196
|
+
|
|
197
|
+
class TuiTextareaDirective extends AbstractTuiTextfieldHost {
|
|
198
|
+
onValueChange(value) {
|
|
199
|
+
this.host.onValueChange(value);
|
|
200
|
+
}
|
|
201
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextareaDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
202
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiTextareaDirective, selector: "tui-textarea", providers: [tuiAsTextfieldHost(TuiTextareaDirective)], usesInheritance: true, ngImport: i0 }); }
|
|
203
|
+
}
|
|
204
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextareaDirective, decorators: [{
|
|
205
|
+
type: Directive,
|
|
206
|
+
args: [{
|
|
207
|
+
selector: 'tui-textarea',
|
|
208
|
+
providers: [tuiAsTextfieldHost(TuiTextareaDirective)],
|
|
209
|
+
}]
|
|
210
|
+
}] });
|
|
211
|
+
|
|
212
|
+
class TuiTextareaModule {
|
|
213
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
214
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiTextareaModule, declarations: [TuiTextareaComponent, TuiTextareaDirective], imports: [CommonModule,
|
|
215
|
+
FormsModule,
|
|
216
|
+
TuiScrollbar,
|
|
217
|
+
TuiTooltip,
|
|
218
|
+
TuiWrapperModule,
|
|
219
|
+
TuiPrimitiveTextfieldModule,
|
|
220
|
+
PolymorpheusOutlet,
|
|
221
|
+
PolymorpheusTemplate,
|
|
222
|
+
TuiIcon,
|
|
223
|
+
TuiAppearance], exports: [TuiTextareaComponent,
|
|
224
|
+
TuiTextareaDirective,
|
|
225
|
+
TuiTextfieldComponent,
|
|
226
|
+
PolymorpheusOutlet,
|
|
227
|
+
PolymorpheusTemplate] }); }
|
|
228
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextareaModule, imports: [CommonModule,
|
|
229
|
+
FormsModule,
|
|
230
|
+
TuiScrollbar,
|
|
231
|
+
TuiTooltip,
|
|
232
|
+
TuiWrapperModule,
|
|
233
|
+
TuiPrimitiveTextfieldModule,
|
|
234
|
+
TuiIcon] }); }
|
|
235
|
+
}
|
|
236
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextareaModule, decorators: [{
|
|
237
|
+
type: NgModule,
|
|
238
|
+
args: [{
|
|
239
|
+
imports: [
|
|
240
|
+
CommonModule,
|
|
241
|
+
FormsModule,
|
|
242
|
+
TuiScrollbar,
|
|
243
|
+
TuiTooltip,
|
|
244
|
+
TuiWrapperModule,
|
|
245
|
+
TuiPrimitiveTextfieldModule,
|
|
246
|
+
PolymorpheusOutlet,
|
|
247
|
+
PolymorpheusTemplate,
|
|
248
|
+
TuiIcon,
|
|
249
|
+
TuiAppearance,
|
|
250
|
+
],
|
|
251
|
+
declarations: [TuiTextareaComponent, TuiTextareaDirective],
|
|
252
|
+
exports: [
|
|
253
|
+
TuiTextareaComponent,
|
|
254
|
+
TuiTextareaDirective,
|
|
255
|
+
TuiTextfieldComponent,
|
|
256
|
+
PolymorpheusOutlet,
|
|
257
|
+
PolymorpheusTemplate,
|
|
258
|
+
],
|
|
259
|
+
}]
|
|
260
|
+
}] });
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Generated bundle index. Do not edit.
|
|
264
|
+
*/
|
|
265
|
+
|
|
266
|
+
export { DEFAULT_ROWS, LINE_HEIGHT_L, LINE_HEIGHT_M, TuiTextareaComponent, TuiTextareaDirective, TuiTextareaModule };
|
|
267
|
+
//# sourceMappingURL=taiga-ui-legacy-components-textarea.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components-textarea.mjs","sources":["../../../projects/legacy/components/textarea/textarea.component.ts","../../../projects/legacy/components/textarea/textarea.template.html","../../../projects/legacy/components/textarea/textarea.directive.ts","../../../projects/legacy/components/textarea/textarea.module.ts","../../../projects/legacy/components/textarea/taiga-ui-legacy-components-textarea.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {AbstractTuiControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {\n TUI_ICON_PADDINGS,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport type {TuiFocusableElementAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiGetBorder} from '@taiga-ui/legacy/utils';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport const DEFAULT_ROWS = 20;\nexport const LINE_HEIGHT_M = 20;\nexport const LINE_HEIGHT_L = 24;\n\n@Component({\n selector: 'tui-textarea',\n templateUrl: './textarea.template.html',\n styleUrls: ['./textarea.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiTextareaComponent),\n tuiAsControl(TuiTextareaComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\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 private readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n\n protected readonly isIOS = inject(TUI_IS_IOS);\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true});\n\n @Input()\n public rows = DEFAULT_ROWS;\n\n @Input()\n public maxLength: number | null = null;\n\n @Input()\n @HostBinding('class._expandable')\n public expandable = false;\n\n public 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 public get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n public get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n public onValueChange(value: string): void {\n this.value = value;\n }\n\n @HostBinding('class._label-outside')\n protected get labelOutside(): boolean {\n return this.options.appearance === 'table' || this.controller.labelOutside;\n }\n\n @HostBinding('attr.data-size')\n protected get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n @HostBinding('style.--border-start.rem')\n protected get borderStart(): number {\n return this.iconLeftContent ? TUI_ICON_PADDINGS[this.size] : 0;\n }\n\n @HostBinding('style.--border-end.rem')\n protected get borderEnd(): number {\n return tuiGetBorder(\n !!this.iconContent,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n this.size,\n );\n }\n\n @HostBinding('class._has-tooltip')\n protected get hasTooltip(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.controller.options.hintOnDisabled || !this.computedDisabled)\n );\n }\n\n @HostBinding('class._has-value')\n protected get hasValue(): boolean {\n return this.value !== '';\n }\n\n @HostBinding('class._has-counter')\n protected get hasCounter(): boolean {\n return !!this.maxLength && this.interactive;\n }\n\n protected get appearance(): string {\n return this.options.appearance === 'table' ? 'table' : this.controller.appearance;\n }\n\n protected get hasCleaner(): boolean {\n return this.controller.cleaner && this.hasValue && this.interactive;\n }\n\n protected get hasPlaceholder(): boolean {\n return this.placeholderRaisable || (!this.hasValue && !this.hasExampleText);\n }\n\n protected get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n protected get iconLeftContent(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeS>\n > {\n return this.controller.iconLeft;\n }\n\n protected get iconContent(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.icon;\n }\n\n protected get iconCleaner(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.options.iconCleaner;\n }\n\n protected get hasExampleText(): boolean {\n return (\n !!this.textfield?.nativeElement.placeholder &&\n this.focused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n protected get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n protected get fittedContent(): string {\n return this.value.slice(0, this.maxLength || Infinity);\n }\n\n protected get extraContent(): string {\n return this.value.slice(this.maxLength || Infinity);\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected 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\" />\n<div\n automation-id=\"tui-text-area__wrapper\"\n tuiWrapper\n class=\"t-outline\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\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 />\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 <span class=\"t-caret\"></span>\n </div>\n <textarea\n #focusableElement\n automation-id=\"tui-text-area__native\"\n class=\"t-input\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [readOnly]=\"readOnly\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n [(ngModel)]=\"value\"\n ></textarea>\n <ng-content select=\"textarea\" />\n </div>\n </div>\n </tui-scrollbar>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n <ng-container *ngIf=\"hasCustomContent\">\n <tui-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n [icon]=\"src\"\n />\n </ng-container>\n <ng-container *ngIf=\"hasCleaner\">\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onValueChange('')\"\n />\n </ng-container>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-text-area__tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n </div>\n </label>\n</div>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport type {TuiTextareaComponent} from './textarea.component';\n\n@Directive({\n selector: 'tui-textarea',\n providers: [tuiAsTextfieldHost(TuiTextareaDirective)],\n})\nexport class TuiTextareaDirective extends AbstractTuiTextfieldHost<TuiTextareaComponent> {\n public 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 {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiTooltip} from '@taiga-ui/legacy/components/tooltip';\nimport {TuiWrapperModule} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiTextareaComponent} from './textarea.component';\nimport {TuiTextareaDirective} from './textarea.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiScrollbar,\n TuiTooltip,\n TuiWrapperModule,\n TuiPrimitiveTextfieldModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiIcon,\n TuiAppearance,\n ],\n declarations: [TuiTextareaComponent, TuiTextareaDirective],\n exports: [\n TuiTextareaComponent,\n TuiTextareaDirective,\n TuiTextfieldComponent,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n ],\n})\nexport class TuiTextareaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, Component, ChangeDetectionStrategy, ViewChild, Input, HostBinding, HostListener, NgModule } from '@angular/core';
|
|
3
|
+
import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
|
|
4
|
+
import * as i1$1 from '@taiga-ui/core/directives/hint';
|
|
5
|
+
import { TuiHintOptionsDirective, TuiHintHover, TuiHint } from '@taiga-ui/core/directives/hint';
|
|
6
|
+
import * as i1 from '@taiga-ui/core/components/icon';
|
|
7
|
+
import { TuiIcon } from '@taiga-ui/core/components/icon';
|
|
8
|
+
import * as i2 from '@taiga-ui/polymorpheus';
|
|
9
|
+
import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
|
|
10
|
+
import * as i3 from '@taiga-ui/core/directives/appearance';
|
|
11
|
+
import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
|
|
12
|
+
import * as i5 from '@angular/common';
|
|
13
|
+
import { CommonModule } from '@angular/common';
|
|
14
|
+
|
|
15
|
+
class TuiTooltipComponent extends TuiHintOptionsDirective {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.isMobile = inject(TUI_IS_MOBILE);
|
|
19
|
+
this.describeId = '';
|
|
20
|
+
}
|
|
21
|
+
get computedAppearance() {
|
|
22
|
+
return this.appearance || '';
|
|
23
|
+
}
|
|
24
|
+
stopOnMobile(event) {
|
|
25
|
+
if (this.isMobile) {
|
|
26
|
+
event.preventDefault();
|
|
27
|
+
event.stopPropagation();
|
|
28
|
+
}
|
|
29
|
+
this.driver$?.toggle();
|
|
30
|
+
}
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTooltipComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTooltipComponent, selector: "tui-tooltip", inputs: { content: "content", direction: "direction", appearance: "appearance", showDelay: "showDelay", hideDelay: "hideDelay", describeId: "describeId", context: "context" }, host: { listeners: { "mousedown": "stopOnMobile($event)" }, properties: { "attr.data-appearance": "this.computedAppearance" } }, viewQueries: [{ propertyName: "driver$", first: true, predicate: TuiHintHover, descendants: true }], usesInheritance: true, ngImport: i0, template: "<span\n #driver=\"tuiHintHover\"\n automation-id=\"tui-tooltip__icon\"\n tuiAppearance=\"icon\"\n class=\"t-tooltip-icon\"\n [tuiAppearanceState]=\"(driver | async) ? 'hover' : null\"\n [tuiHint]=\"content\"\n [tuiHintAppearance]=\"computedAppearance\"\n [tuiHintContext]=\"context\"\n [tuiHintDescribe]=\"describeId\"\n [tuiHintDirection]=\"direction\"\n [tuiHintHideDelay]=\"hideDelay\"\n [tuiHintShowDelay]=\"showDelay\"\n>\n <tui-icon\n *polymorpheusOutlet=\"icon as src\"\n class=\"t-icon\"\n [icon]=\"src\"\n />\n</span>\n", styles: [":host{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle;font-size:0;line-height:0;pointer-events:auto;cursor:pointer;color:var(--tui-text-primary)}:host[data-appearance=error]{color:var(--tui-status-negative)}.t-tooltip-icon{display:inline-block;width:100%;height:100%}.t-icon{border:.25rem solid transparent}\n"], dependencies: [{ kind: "component", type: i1.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i2.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i3.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus"] }, { kind: "directive", type: i1$1.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }, { kind: "directive", type: i1$1.TuiHintDescribe, selector: "[tuiHintDescribe]", inputs: ["tuiHintDescribe"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTooltipComponent, decorators: [{
|
|
35
|
+
type: Component,
|
|
36
|
+
args: [{ selector: 'tui-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['content', 'direction', 'appearance', 'showDelay', 'hideDelay'], template: "<span\n #driver=\"tuiHintHover\"\n automation-id=\"tui-tooltip__icon\"\n tuiAppearance=\"icon\"\n class=\"t-tooltip-icon\"\n [tuiAppearanceState]=\"(driver | async) ? 'hover' : null\"\n [tuiHint]=\"content\"\n [tuiHintAppearance]=\"computedAppearance\"\n [tuiHintContext]=\"context\"\n [tuiHintDescribe]=\"describeId\"\n [tuiHintDirection]=\"direction\"\n [tuiHintHideDelay]=\"hideDelay\"\n [tuiHintShowDelay]=\"showDelay\"\n>\n <tui-icon\n *polymorpheusOutlet=\"icon as src\"\n class=\"t-icon\"\n [icon]=\"src\"\n />\n</span>\n", styles: [":host{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle;font-size:0;line-height:0;pointer-events:auto;cursor:pointer;color:var(--tui-text-primary)}:host[data-appearance=error]{color:var(--tui-status-negative)}.t-tooltip-icon{display:inline-block;width:100%;height:100%}.t-icon{border:.25rem solid transparent}\n"] }]
|
|
37
|
+
}], propDecorators: { driver$: [{
|
|
38
|
+
type: ViewChild,
|
|
39
|
+
args: [TuiHintHover]
|
|
40
|
+
}], describeId: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], context: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}], computedAppearance: [{
|
|
45
|
+
type: HostBinding,
|
|
46
|
+
args: ['attr.data-appearance']
|
|
47
|
+
}], stopOnMobile: [{
|
|
48
|
+
type: HostListener,
|
|
49
|
+
args: ['mousedown', ['$event']]
|
|
50
|
+
}] } });
|
|
51
|
+
|
|
52
|
+
class TuiTooltip {
|
|
53
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTooltip, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
54
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiTooltip, declarations: [TuiTooltipComponent], imports: [CommonModule, TuiIcon, PolymorpheusOutlet, TuiAppearance, i1$1.TuiHintComponent, i1$1.TuiHintDirective, i1$1.TuiHintOptionsDirective, i1$1.TuiHintUnstyled, i1$1.TuiHintDriver, i1$1.TuiHintPosition, i1$1.TuiHintHover, i1$1.TuiHintDescribe, i1$1.TuiHintHost, i1$1.TuiHintManual, i1$1.TuiHintPointer], exports: [TuiTooltipComponent] }); }
|
|
55
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTooltip, imports: [CommonModule, TuiIcon, i1$1.TuiHintComponent] }); }
|
|
56
|
+
}
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTooltip, decorators: [{
|
|
58
|
+
type: NgModule,
|
|
59
|
+
args: [{
|
|
60
|
+
imports: [CommonModule, TuiIcon, PolymorpheusOutlet, TuiAppearance, ...TuiHint],
|
|
61
|
+
declarations: [TuiTooltipComponent],
|
|
62
|
+
exports: [TuiTooltipComponent],
|
|
63
|
+
}]
|
|
64
|
+
}] });
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Generated bundle index. Do not edit.
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
export { TuiTooltip, TuiTooltipComponent };
|
|
71
|
+
//# sourceMappingURL=taiga-ui-legacy-components-tooltip.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components-tooltip.mjs","sources":["../../../projects/legacy/components/tooltip/tooltip.component.ts","../../../projects/legacy/components/tooltip/tooltip.template.html","../../../projects/legacy/components/tooltip/tooltip.module.ts","../../../projects/legacy/components/tooltip/taiga-ui-legacy-components-tooltip.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {TuiHintHover, TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\n\n@Component({\n selector: 'tui-tooltip',\n templateUrl: './tooltip.template.html',\n styleUrls: ['./tooltip.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['content', 'direction', 'appearance', 'showDelay', 'hideDelay'],\n})\nexport class TuiTooltipComponent<C = any> extends TuiHintOptionsDirective {\n private readonly isMobile = inject(TUI_IS_MOBILE);\n\n @ViewChild(TuiHintHover)\n protected readonly driver$?: TuiHintHover;\n\n @Input()\n public describeId = '';\n\n @Input()\n public context?: C;\n\n @HostBinding('attr.data-appearance')\n protected get computedAppearance(): string {\n return this.appearance || '';\n }\n\n @HostListener('mousedown', ['$event'])\n protected stopOnMobile(event: MouseEvent): void {\n if (this.isMobile) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n this.driver$?.toggle();\n }\n}\n","<span\n #driver=\"tuiHintHover\"\n automation-id=\"tui-tooltip__icon\"\n tuiAppearance=\"icon\"\n class=\"t-tooltip-icon\"\n [tuiAppearanceState]=\"(driver | async) ? 'hover' : null\"\n [tuiHint]=\"content\"\n [tuiHintAppearance]=\"computedAppearance\"\n [tuiHintContext]=\"context\"\n [tuiHintDescribe]=\"describeId\"\n [tuiHintDirection]=\"direction\"\n [tuiHintHideDelay]=\"hideDelay\"\n [tuiHintShowDelay]=\"showDelay\"\n>\n <tui-icon\n *polymorpheusOutlet=\"icon as src\"\n class=\"t-icon\"\n [icon]=\"src\"\n />\n</span>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiHint} from '@taiga-ui/core/directives/hint';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiTooltipComponent} from './tooltip.component';\n\n@NgModule({\n imports: [CommonModule, TuiIcon, PolymorpheusOutlet, TuiAppearance, ...TuiHint],\n declarations: [TuiTooltipComponent],\n exports: [TuiTooltipComponent],\n})\nexport class TuiTooltip {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4","i1"],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export * from '@taiga-ui/legacy/components/arrow';
|
|
2
|
+
export * from '@taiga-ui/legacy/components/combo-box';
|
|
3
|
+
export * from '@taiga-ui/legacy/components/input';
|
|
4
|
+
export * from '@taiga-ui/legacy/components/input-copy';
|
|
5
|
+
export * from '@taiga-ui/legacy/components/input-date';
|
|
6
|
+
export * from '@taiga-ui/legacy/components/input-date-multi';
|
|
7
|
+
export * from '@taiga-ui/legacy/components/input-date-range';
|
|
8
|
+
export * from '@taiga-ui/legacy/components/input-date-time';
|
|
9
|
+
export * from '@taiga-ui/legacy/components/input-month';
|
|
10
|
+
export * from '@taiga-ui/legacy/components/input-month-range';
|
|
11
|
+
export * from '@taiga-ui/legacy/components/input-number';
|
|
12
|
+
export * from '@taiga-ui/legacy/components/input-password';
|
|
13
|
+
export * from '@taiga-ui/legacy/components/input-phone';
|
|
14
|
+
export * from '@taiga-ui/legacy/components/input-phone-international';
|
|
15
|
+
export * from '@taiga-ui/legacy/components/input-range';
|
|
16
|
+
export * from '@taiga-ui/legacy/components/input-slider';
|
|
17
|
+
export * from '@taiga-ui/legacy/components/input-tag';
|
|
18
|
+
export * from '@taiga-ui/legacy/components/input-time';
|
|
19
|
+
export * from '@taiga-ui/legacy/components/input-year';
|
|
20
|
+
export * from '@taiga-ui/legacy/components/island';
|
|
21
|
+
export * from '@taiga-ui/legacy/components/multi-select';
|
|
22
|
+
export * from '@taiga-ui/legacy/components/multi-select-option';
|
|
23
|
+
export * from '@taiga-ui/legacy/components/primitive-textfield';
|
|
24
|
+
export * from '@taiga-ui/legacy/components/select';
|
|
25
|
+
export * from '@taiga-ui/legacy/components/select-option';
|
|
26
|
+
export * from '@taiga-ui/legacy/components/sheet';
|
|
27
|
+
export * from '@taiga-ui/legacy/components/svg';
|
|
28
|
+
export * from '@taiga-ui/legacy/components/table-bar';
|
|
29
|
+
export * from '@taiga-ui/legacy/components/tag';
|
|
30
|
+
export * from '@taiga-ui/legacy/components/textarea';
|
|
31
|
+
export * from '@taiga-ui/legacy/components/tooltip';
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Generated bundle index. Do not edit.
|
|
35
|
+
*/
|
|
36
|
+
//# sourceMappingURL=taiga-ui-legacy-components.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components.mjs","sources":["../../../projects/legacy/components/taiga-ui-legacy-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEG"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, Directive } from '@angular/core';
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
|
|
5
|
+
import { tuiGetClosestFocusable } from '@taiga-ui/cdk/utils/focus';
|
|
6
|
+
import { TuiDropdownOpen } from '@taiga-ui/core/directives/dropdown';
|
|
7
|
+
import { filter } from 'rxjs';
|
|
8
|
+
|
|
9
|
+
class TuiLegacyDropdownOpenMonitorDirective {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.el = tuiInjectElement();
|
|
12
|
+
this.host = inject(TuiDropdownOpen, { self: true });
|
|
13
|
+
this.external = inject(TuiDropdownOpen, {
|
|
14
|
+
skipSelf: true,
|
|
15
|
+
optional: true,
|
|
16
|
+
});
|
|
17
|
+
this.external?.driver
|
|
18
|
+
.pipe(filter(() => this.host.dropdown === this.external?.dropdown &&
|
|
19
|
+
!this.host.focused), takeUntilDestroyed())
|
|
20
|
+
.subscribe(value => {
|
|
21
|
+
if (value) {
|
|
22
|
+
tuiGetClosestFocusable({
|
|
23
|
+
initial: this.el,
|
|
24
|
+
root: this.el,
|
|
25
|
+
})?.focus();
|
|
26
|
+
}
|
|
27
|
+
this.host.toggle(value);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLegacyDropdownOpenMonitorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
31
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiLegacyDropdownOpenMonitorDirective, isStandalone: true, selector: "[tuiDropdownOpenMonitor]", ngImport: i0 }); }
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLegacyDropdownOpenMonitorDirective, decorators: [{
|
|
34
|
+
type: Directive,
|
|
35
|
+
args: [{
|
|
36
|
+
standalone: true,
|
|
37
|
+
selector: '[tuiDropdownOpenMonitor]',
|
|
38
|
+
}]
|
|
39
|
+
}], ctorParameters: function () { return []; } });
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Generated bundle index. Do not edit.
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
export { TuiLegacyDropdownOpenMonitorDirective };
|
|
46
|
+
//# sourceMappingURL=taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs","sources":["../../../projects/legacy/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.ts","../../../projects/legacy/directives/legacy-dropdown-open-monitor/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.ts"],"sourcesContent":["import {Directive, inject} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGetClosestFocusable} from '@taiga-ui/cdk/utils/focus';\nimport {TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {filter} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiDropdownOpenMonitor]',\n})\nexport class TuiLegacyDropdownOpenMonitorDirective {\n private readonly el = tuiInjectElement();\n private readonly host = inject(TuiDropdownOpen, {self: true});\n private readonly external = inject(TuiDropdownOpen, {\n skipSelf: true,\n optional: true,\n });\n\n constructor() {\n this.external?.driver\n .pipe(\n filter(\n () =>\n this.host.dropdown === this.external?.dropdown &&\n !this.host.focused,\n ),\n takeUntilDestroyed(),\n )\n .subscribe(value => {\n if (value) {\n tuiGetClosestFocusable({\n initial: this.el,\n root: this.el,\n })?.focus();\n }\n\n this.host.toggle(value);\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAOA,MAIa,qCAAqC,CAAA;AAQ9C,IAAA,WAAA,GAAA;QAPiB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC,eAAe,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;AAC7C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,EAAE;AAChD,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,IAAI;AACjB,SAAA,CAAC,CAAC;QAGC,IAAI,CAAC,QAAQ,EAAE,MAAM;AAChB,aAAA,IAAI,CACD,MAAM,CACF,MACI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE,QAAQ;YAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CACzB,EACD,kBAAkB,EAAE,CACvB;aACA,SAAS,CAAC,KAAK,IAAG;AACf,YAAA,IAAI,KAAK,EAAE;AACP,gBAAA,sBAAsB,CAAC;oBACnB,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,IAAI,EAAE,IAAI,CAAC,EAAE;iBAChB,CAAC,EAAE,KAAK,EAAE,CAAC;AACf,aAAA;AAED,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,SAAC,CAAC,CAAC;KACV;+GA5BQ,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAArC,qCAAqC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAArC,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAJjD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,0BAA0B;AACvC,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
|