@taiga-ui/legacy 4.51.0 → 4.52.0-canary.34c26c6
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/classes/abstract-textfield-host.d.ts +1 -1
- package/classes/controller.d.ts +1 -1
- package/classes/multiple-control.d.ts +1 -1
- package/classes/nullable-control.d.ts +1 -1
- package/components/multi-select/native-multi-select/native-multi-select.d.ts +1 -1
- package/components/sheet/components/sheet-bar/sheet-bar.component.d.ts +1 -0
- package/fesm2022/taiga-ui-legacy-classes.mjs +23 -24
- package/fesm2022/taiga-ui-legacy-classes.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-arrow.mjs +4 -4
- package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +54 -54
- package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +16 -16
- package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-color.mjs +8 -8
- package/fesm2022/taiga-ui-legacy-components-input-color.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +12 -12
- package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +8 -8
- package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +13 -13
- package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +15 -15
- package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-date.mjs +16 -16
- package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +12 -12
- package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-month.mjs +12 -12
- package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-number.mjs +12 -12
- package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-password.mjs +12 -12
- package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +7 -7
- package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +14 -14
- package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-range.mjs +8 -8
- package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +11 -11
- package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +9 -9
- package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-time.mjs +15 -15
- package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-year.mjs +13 -13
- package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input.mjs +13 -13
- package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-island.mjs +4 -4
- package/fesm2022/taiga-ui-legacy-components-island.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +8 -8
- package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +38 -38
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +18 -18
- package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-select-option.mjs +8 -8
- package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-select.mjs +19 -19
- package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-sheet.mjs +39 -36
- package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-svg.mjs +10 -12
- package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +13 -13
- package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-tag.mjs +8 -8
- package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-textarea.mjs +11 -11
- package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +8 -8
- package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +3 -3
- package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +35 -35
- package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +4 -4
- package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +7 -7
- package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs +9 -9
- package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +3 -4
- package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +3 -3
- package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +3 -3
- package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-services.mjs +3 -3
- package/fesm2022/taiga-ui-legacy-services.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-tokens.mjs +1 -1
- package/fesm2022/taiga-ui-legacy-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -1
- package/package.json +10 -108
- package/utils/icons-path-factory.d.ts +1 -1
- package/esm2022/classes/abstract-native-select.mjs +0 -49
- package/esm2022/classes/abstract-textfield-host.mjs +0 -37
- package/esm2022/classes/control.mjs +0 -181
- package/esm2022/classes/controller.mjs +0 -18
- package/esm2022/classes/index.mjs +0 -10
- package/esm2022/classes/interactive.mjs +0 -82
- package/esm2022/classes/multiple-control.mjs +0 -21
- package/esm2022/classes/named-day.mjs +0 -14
- package/esm2022/classes/nullable-control.mjs +0 -18
- package/esm2022/classes/stringifiable-item.mjs +0 -14
- package/esm2022/classes/taiga-ui-legacy-classes.mjs +0 -5
- package/esm2022/components/arrow/arrow.component.mjs +0 -41
- package/esm2022/components/arrow/arrow.options.mjs +0 -20
- package/esm2022/components/arrow/arrow.providers.mjs +0 -23
- package/esm2022/components/arrow/index.mjs +0 -4
- package/esm2022/components/arrow/taiga-ui-legacy-components-arrow.mjs +0 -5
- package/esm2022/components/color-selector/color-edit/color-edit.component.mjs +0 -59
- package/esm2022/components/color-selector/color-edit/color-edit.module.mjs +0 -56
- package/esm2022/components/color-selector/color-picker/color-picker.component.mjs +0 -70
- package/esm2022/components/color-selector/color-picker/color-picker.module.mjs +0 -25
- package/esm2022/components/color-selector/color-selector.component.mjs +0 -191
- package/esm2022/components/color-selector/color-selector.module.mjs +0 -67
- package/esm2022/components/color-selector/color-selector.options.mjs +0 -78
- package/esm2022/components/color-selector/flat-picker/flat-picker.component.mjs +0 -34
- package/esm2022/components/color-selector/flat-picker/flat-picker.module.mjs +0 -23
- package/esm2022/components/color-selector/index.mjs +0 -17
- package/esm2022/components/color-selector/linear-multi-picker/linear-multi-picker.component.mjs +0 -61
- package/esm2022/components/color-selector/linear-multi-picker/linear-multi-picker.module.mjs +0 -23
- package/esm2022/components/color-selector/linear-picker/linear-picker.component.mjs +0 -31
- package/esm2022/components/color-selector/linear-picker/linear-picker.module.mjs +0 -23
- package/esm2022/components/color-selector/palette/palette.component.mjs +0 -23
- package/esm2022/components/color-selector/palette/palette.module.mjs +0 -25
- package/esm2022/components/color-selector/services/picker.service.mjs +0 -31
- package/esm2022/components/color-selector/taiga-ui-legacy-components-color-selector.mjs +0 -5
- package/esm2022/components/combo-box/combo-box-strict.directive.mjs +0 -34
- package/esm2022/components/combo-box/combo-box.component.mjs +0 -183
- package/esm2022/components/combo-box/combo-box.directive.mjs +0 -28
- package/esm2022/components/combo-box/combo-box.module.mjs +0 -71
- package/esm2022/components/combo-box/index.mjs +0 -5
- package/esm2022/components/combo-box/taiga-ui-legacy-components-combo-box.mjs +0 -5
- package/esm2022/components/index.mjs +0 -34
- package/esm2022/components/input/index.mjs +0 -4
- package/esm2022/components/input/input.component.mjs +0 -97
- package/esm2022/components/input/input.directive.mjs +0 -25
- package/esm2022/components/input/input.module.mjs +0 -42
- package/esm2022/components/input/taiga-ui-legacy-components-input.mjs +0 -5
- package/esm2022/components/input-color/index.mjs +0 -3
- package/esm2022/components/input-color/input-color.component.mjs +0 -85
- package/esm2022/components/input-color/input-color.module.mjs +0 -43
- package/esm2022/components/input-color/taiga-ui-legacy-components-input-color.mjs +0 -5
- package/esm2022/components/input-copy/index.mjs +0 -5
- package/esm2022/components/input-copy/input-copy.component.mjs +0 -105
- package/esm2022/components/input-copy/input-copy.directive.mjs +0 -24
- package/esm2022/components/input-copy/input-copy.module.mjs +0 -55
- package/esm2022/components/input-copy/input-copy.options.mjs +0 -24
- package/esm2022/components/input-copy/taiga-ui-legacy-components-input-copy.mjs +0 -5
- package/esm2022/components/input-date/index.mjs +0 -4
- package/esm2022/components/input-date/input-date.component.mjs +0 -220
- package/esm2022/components/input-date/input-date.directive.mjs +0 -40
- package/esm2022/components/input-date/input-date.module.mjs +0 -75
- package/esm2022/components/input-date/native-date/native-date.component.mjs +0 -53
- package/esm2022/components/input-date/taiga-ui-legacy-components-input-date.mjs +0 -5
- package/esm2022/components/input-date-multi/index.mjs +0 -3
- package/esm2022/components/input-date-multi/input-date-multi.component.mjs +0 -207
- package/esm2022/components/input-date-multi/input-date-multi.module.mjs +0 -67
- package/esm2022/components/input-date-multi/taiga-ui-legacy-components-input-date-multi.mjs +0 -5
- package/esm2022/components/input-date-range/index.mjs +0 -4
- package/esm2022/components/input-date-range/input-date-range.component.mjs +0 -256
- package/esm2022/components/input-date-range/input-date-range.directive.mjs +0 -36
- package/esm2022/components/input-date-range/input-date-range.module.mjs +0 -71
- package/esm2022/components/input-date-range/taiga-ui-legacy-components-input-date-range.mjs +0 -5
- package/esm2022/components/input-date-time/index.mjs +0 -4
- package/esm2022/components/input-date-time/input-date-time.component.mjs +0 -315
- package/esm2022/components/input-date-time/input-date-time.directive.mjs +0 -37
- package/esm2022/components/input-date-time/input-date-time.module.mjs +0 -78
- package/esm2022/components/input-date-time/native-date-time/native-date-time.directive.mjs +0 -49
- package/esm2022/components/input-date-time/taiga-ui-legacy-components-input-date-time.mjs +0 -5
- package/esm2022/components/input-month/index.mjs +0 -4
- package/esm2022/components/input-month/input-month.component.mjs +0 -135
- package/esm2022/components/input-month/input-month.directive.mjs +0 -46
- package/esm2022/components/input-month/input-month.module.mjs +0 -57
- package/esm2022/components/input-month/taiga-ui-legacy-components-input-month.mjs +0 -5
- package/esm2022/components/input-month-range/index.mjs +0 -4
- package/esm2022/components/input-month-range/input-month-range.component.mjs +0 -123
- package/esm2022/components/input-month-range/input-month-range.directive.mjs +0 -52
- package/esm2022/components/input-month-range/input-month-range.module.mjs +0 -53
- package/esm2022/components/input-month-range/taiga-ui-legacy-components-input-month-range.mjs +0 -5
- package/esm2022/components/input-number/index.mjs +0 -5
- package/esm2022/components/input-number/input-number.component.mjs +0 -284
- package/esm2022/components/input-number/input-number.directive.mjs +0 -38
- package/esm2022/components/input-number/input-number.module.mjs +0 -48
- package/esm2022/components/input-number/input-number.options.mjs +0 -30
- package/esm2022/components/input-number/taiga-ui-legacy-components-input-number.mjs +0 -5
- package/esm2022/components/input-password/index.mjs +0 -5
- package/esm2022/components/input-password/input-password.component.mjs +0 -80
- package/esm2022/components/input-password/input-password.directive.mjs +0 -34
- package/esm2022/components/input-password/input-password.module.mjs +0 -59
- package/esm2022/components/input-password/input-password.options.mjs +0 -24
- package/esm2022/components/input-password/taiga-ui-legacy-components-input-password.mjs +0 -5
- package/esm2022/components/input-phone/index.mjs +0 -5
- package/esm2022/components/input-phone/input-phone.component.mjs +0 -216
- package/esm2022/components/input-phone/input-phone.directive.mjs +0 -34
- package/esm2022/components/input-phone/input-phone.module.mjs +0 -44
- package/esm2022/components/input-phone/input-phone.options.mjs +0 -18
- package/esm2022/components/input-phone/taiga-ui-legacy-components-input-phone.mjs +0 -5
- package/esm2022/components/input-phone/utils/complete-phone-insertion-preprocessor.mjs +0 -41
- package/esm2022/components/input-phone/utils/create-phone-mask-expression.mjs +0 -17
- package/esm2022/components/input-phone/utils/index.mjs +0 -3
- package/esm2022/components/input-phone-international/index.mjs +0 -4
- package/esm2022/components/input-phone-international/input-phone-international.component.mjs +0 -178
- package/esm2022/components/input-phone-international/input-phone-international.options.mjs +0 -25
- package/esm2022/components/input-phone-international/taiga-ui-legacy-components-input-phone-international.mjs +0 -5
- package/esm2022/components/input-phone-international/utils/extract-value-from-event.mjs +0 -10
- package/esm2022/components/input-range/index.mjs +0 -3
- package/esm2022/components/input-range/input-range.component.mjs +0 -207
- package/esm2022/components/input-range/input-range.module.mjs +0 -55
- package/esm2022/components/input-range/taiga-ui-legacy-components-input-range.mjs +0 -5
- package/esm2022/components/input-slider/index.mjs +0 -3
- package/esm2022/components/input-slider/input-slider.component.mjs +0 -154
- package/esm2022/components/input-slider/input-slider.module.mjs +0 -48
- package/esm2022/components/input-slider/taiga-ui-legacy-components-input-slider.mjs +0 -5
- package/esm2022/components/input-tag/index.mjs +0 -4
- package/esm2022/components/input-tag/input-tag.component.mjs +0 -436
- package/esm2022/components/input-tag/input-tag.module.mjs +0 -67
- package/esm2022/components/input-tag/input-tag.options.mjs +0 -27
- package/esm2022/components/input-tag/taiga-ui-legacy-components-input-tag.mjs +0 -5
- package/esm2022/components/input-time/index.mjs +0 -5
- package/esm2022/components/input-time/input-time.component.mjs +0 -238
- package/esm2022/components/input-time/input-time.directive.mjs +0 -40
- package/esm2022/components/input-time/input-time.module.mjs +0 -71
- package/esm2022/components/input-time/input-time.options.mjs +0 -39
- package/esm2022/components/input-time/native-time/native-time.component.mjs +0 -67
- package/esm2022/components/input-time/taiga-ui-legacy-components-input-time.mjs +0 -5
- package/esm2022/components/input-year/index.mjs +0 -4
- package/esm2022/components/input-year/input-year.component.mjs +0 -110
- package/esm2022/components/input-year/input-year.directive.mjs +0 -32
- package/esm2022/components/input-year/input-year.module.mjs +0 -53
- package/esm2022/components/input-year/taiga-ui-legacy-components-input-year.mjs +0 -5
- package/esm2022/components/island/index.mjs +0 -2
- package/esm2022/components/island/island.directive.mjs +0 -62
- package/esm2022/components/island/taiga-ui-legacy-components-island.mjs +0 -5
- package/esm2022/components/multi-select/hide-selected.pipe.mjs +0 -44
- package/esm2022/components/multi-select/index.mjs +0 -11
- package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +0 -98
- package/esm2022/components/multi-select/multi-select-group/multi-select-group.directive.mjs +0 -94
- package/esm2022/components/multi-select/multi-select.component.mjs +0 -233
- package/esm2022/components/multi-select/multi-select.directive.mjs +0 -32
- package/esm2022/components/multi-select/multi-select.module.mjs +0 -113
- package/esm2022/components/multi-select/multi-select.options.mjs +0 -17
- package/esm2022/components/multi-select/native-multi-select/native-multi-select-group.component.mjs +0 -60
- package/esm2022/components/multi-select/native-multi-select/native-multi-select.component.mjs +0 -56
- package/esm2022/components/multi-select/native-multi-select/native-multi-select.mjs +0 -19
- package/esm2022/components/multi-select/taiga-ui-legacy-components-multi-select.mjs +0 -5
- package/esm2022/components/multi-select-option/index.mjs +0 -3
- package/esm2022/components/multi-select-option/multi-select-option.component.mjs +0 -25
- package/esm2022/components/multi-select-option/multi-select-option.module.mjs +0 -20
- package/esm2022/components/multi-select-option/taiga-ui-legacy-components-multi-select-option.mjs +0 -5
- package/esm2022/components/primitive-textfield/index.mjs +0 -7
- package/esm2022/components/primitive-textfield/primitive-textfield-options.mjs +0 -17
- package/esm2022/components/primitive-textfield/primitive-textfield-types.mjs +0 -2
- package/esm2022/components/primitive-textfield/primitive-textfield.component.mjs +0 -254
- package/esm2022/components/primitive-textfield/primitive-textfield.directive.mjs +0 -33
- package/esm2022/components/primitive-textfield/primitive-textfield.module.mjs +0 -66
- package/esm2022/components/primitive-textfield/taiga-ui-legacy-components-primitive-textfield.mjs +0 -5
- package/esm2022/components/primitive-textfield/textfield/textfield.component.mjs +0 -39
- package/esm2022/components/primitive-textfield/value-decoration/value-decoration.component.mjs +0 -66
- package/esm2022/components/select/index.mjs +0 -7
- package/esm2022/components/select/native-select/native-select-group.component.mjs +0 -64
- package/esm2022/components/select/native-select/native-select.component.mjs +0 -60
- package/esm2022/components/select/select.component.mjs +0 -119
- package/esm2022/components/select/select.directive.mjs +0 -34
- package/esm2022/components/select/select.module.mjs +0 -87
- package/esm2022/components/select/select.options.mjs +0 -24
- package/esm2022/components/select/taiga-ui-legacy-components-select.mjs +0 -5
- package/esm2022/components/select-option/index.mjs +0 -3
- package/esm2022/components/select-option/select-option.component.mjs +0 -65
- package/esm2022/components/select-option/select-option.module.mjs +0 -21
- package/esm2022/components/select-option/taiga-ui-legacy-components-select-option.mjs +0 -5
- package/esm2022/components/sheet/components/sheet/sheet.component.mjs +0 -117
- package/esm2022/components/sheet/components/sheet/sheet.providers.mjs +0 -42
- package/esm2022/components/sheet/components/sheet-bar/sheet-bar.component.mjs +0 -27
- package/esm2022/components/sheet/components/sheet-heading/sheet-heading.component.mjs +0 -31
- package/esm2022/components/sheet/components/sheets-host/sheets-host.component.mjs +0 -46
- package/esm2022/components/sheet/directives/sheet-close/sheet-close.directive.mjs +0 -39
- package/esm2022/components/sheet/directives/sheet-stop/sheet-stop.directive.mjs +0 -38
- package/esm2022/components/sheet/directives/sheet-top/sheet-top.directive.mjs +0 -52
- package/esm2022/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.mjs +0 -77
- package/esm2022/components/sheet/index.mjs +0 -14
- package/esm2022/components/sheet/sheet-options.mjs +0 -24
- package/esm2022/components/sheet/sheet-tokens.mjs +0 -17
- package/esm2022/components/sheet/sheet.directive.mjs +0 -40
- package/esm2022/components/sheet/sheet.mjs +0 -2
- package/esm2022/components/sheet/sheet.module.mjs +0 -75
- package/esm2022/components/sheet/sheet.service.mjs +0 -52
- package/esm2022/components/sheet/taiga-ui-legacy-components-sheet.mjs +0 -5
- package/esm2022/components/svg/content-processor.mjs +0 -41
- package/esm2022/components/svg/deprecated-icons.mjs +0 -63
- package/esm2022/components/svg/index.mjs +0 -6
- package/esm2022/components/svg/svg-options.mjs +0 -83
- package/esm2022/components/svg/svg.component.mjs +0 -150
- package/esm2022/components/svg/svg.service.mjs +0 -64
- package/esm2022/components/svg/taiga-ui-legacy-components-svg.mjs +0 -5
- package/esm2022/components/table-bar/index.mjs +0 -5
- package/esm2022/components/table-bar/table-bar.component.mjs +0 -37
- package/esm2022/components/table-bar/table-bar.directive.mjs +0 -25
- package/esm2022/components/table-bar/table-bar.options.mjs +0 -34
- package/esm2022/components/table-bar/table-bars-host.component.mjs +0 -39
- package/esm2022/components/table-bar/table-bars.service.mjs +0 -22
- package/esm2022/components/table-bar/taiga-ui-legacy-components-table-bar.mjs +0 -5
- package/esm2022/components/tag/index.mjs +0 -4
- package/esm2022/components/tag/tag.component.mjs +0 -158
- package/esm2022/components/tag/tag.module.mjs +0 -42
- package/esm2022/components/tag/tag.options.mjs +0 -26
- package/esm2022/components/tag/taiga-ui-legacy-components-tag.mjs +0 -5
- package/esm2022/components/taiga-ui-legacy-components.mjs +0 -5
- package/esm2022/components/textarea/index.mjs +0 -4
- package/esm2022/components/textarea/taiga-ui-legacy-components-textarea.mjs +0 -5
- package/esm2022/components/textarea/textarea.component.mjs +0 -175
- package/esm2022/components/textarea/textarea.directive.mjs +0 -25
- package/esm2022/components/textarea/textarea.module.mjs +0 -68
- package/esm2022/components/tooltip/index.mjs +0 -3
- package/esm2022/components/tooltip/taiga-ui-legacy-components-tooltip.mjs +0 -5
- package/esm2022/components/tooltip/tooltip.component.mjs +0 -27
- package/esm2022/components/tooltip/tooltip.module.mjs +0 -24
- package/esm2022/directives/index.mjs +0 -6
- package/esm2022/directives/legacy-dropdown-open-monitor/index.mjs +0 -2
- package/esm2022/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.mjs +0 -44
- package/esm2022/directives/legacy-dropdown-open-monitor/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +0 -5
- package/esm2022/directives/taiga-ui-legacy-directives.mjs +0 -5
- package/esm2022/directives/textfield-controller/index.mjs +0 -15
- package/esm2022/directives/textfield-controller/taiga-ui-legacy-directives-textfield-controller.mjs +0 -5
- package/esm2022/directives/textfield-controller/textfield-appearance.directive.mjs +0 -34
- package/esm2022/directives/textfield-controller/textfield-cleaner.directive.mjs +0 -28
- package/esm2022/directives/textfield-controller/textfield-controller.module.mjs +0 -72
- package/esm2022/directives/textfield-controller/textfield-controller.provider.mjs +0 -44
- package/esm2022/directives/textfield-controller/textfield-custom-content.directive.mjs +0 -28
- package/esm2022/directives/textfield-controller/textfield-filler.directive.mjs +0 -28
- package/esm2022/directives/textfield-controller/textfield-icon-left.directive.mjs +0 -24
- package/esm2022/directives/textfield-controller/textfield-icon.directive.mjs +0 -24
- package/esm2022/directives/textfield-controller/textfield-label-outside.directive.mjs +0 -32
- package/esm2022/directives/textfield-controller/textfield-postfix.directive.mjs +0 -28
- package/esm2022/directives/textfield-controller/textfield-prefix.directive.mjs +0 -28
- package/esm2022/directives/textfield-controller/textfield-size.directive.mjs +0 -28
- package/esm2022/directives/textfield-controller/textfield.controller.mjs +0 -49
- package/esm2022/directives/textfield-controller/textfield.options.mjs +0 -21
- package/esm2022/directives/unfinished-validator/index.mjs +0 -3
- package/esm2022/directives/unfinished-validator/taiga-ui-legacy-directives-unfinished-validator.mjs +0 -5
- package/esm2022/directives/unfinished-validator/unfinished-validator.directive.mjs +0 -30
- package/esm2022/directives/unfinished-validator/unfinished.validator.mjs +0 -15
- package/esm2022/directives/value-accessor/index.mjs +0 -4
- package/esm2022/directives/value-accessor/taiga-ui-legacy-directives-value-accessor.mjs +0 -5
- package/esm2022/directives/value-accessor/value-accessor.directive.mjs +0 -17
- package/esm2022/directives/value-accessor/value-accessor.module.mjs +0 -17
- package/esm2022/directives/value-accessor/value-accessor.provider.mjs +0 -10
- package/esm2022/directives/wrapper/index.mjs +0 -3
- package/esm2022/directives/wrapper/taiga-ui-legacy-directives-wrapper.mjs +0 -5
- package/esm2022/directives/wrapper/wrapper.directive.mjs +0 -77
- package/esm2022/directives/wrapper/wrapper.module.mjs +0 -20
- package/esm2022/index.mjs +0 -8
- package/esm2022/pipes/format-phone/format-phone.pipe.mjs +0 -54
- package/esm2022/pipes/format-phone/index.mjs +0 -2
- package/esm2022/pipes/format-phone/taiga-ui-legacy-pipes-format-phone.mjs +0 -5
- package/esm2022/pipes/index.mjs +0 -4
- package/esm2022/pipes/iso-to-country-code/index.mjs +0 -2
- package/esm2022/pipes/iso-to-country-code/iso-to-country-code.pipe.mjs +0 -44
- package/esm2022/pipes/iso-to-country-code/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -5
- package/esm2022/pipes/taiga-ui-legacy-pipes.mjs +0 -5
- package/esm2022/pipes/to-country-code/index.mjs +0 -2
- package/esm2022/pipes/to-country-code/taiga-ui-legacy-pipes-to-country-code.mjs +0 -5
- package/esm2022/pipes/to-country-code/to-country-code.pipe.mjs +0 -74
- package/esm2022/services/index.mjs +0 -2
- package/esm2022/services/static-request.service.mjs +0 -36
- package/esm2022/services/taiga-ui-legacy-services.mjs +0 -5
- package/esm2022/taiga-ui-legacy.mjs +0 -5
- package/esm2022/tokens/countries-masks.mjs +0 -257
- package/esm2022/tokens/focusable-item-accessor.mjs +0 -14
- package/esm2022/tokens/fonts-ready.mjs +0 -10
- package/esm2022/tokens/icons.mjs +0 -9
- package/esm2022/tokens/index.mjs +0 -15
- package/esm2022/tokens/is-apple.mjs +0 -11
- package/esm2022/tokens/is-chromium.mjs +0 -10
- package/esm2022/tokens/is-firefox.mjs +0 -11
- package/esm2022/tokens/is-stackblitz.mjs +0 -9
- package/esm2022/tokens/month-formatter.mjs +0 -18
- package/esm2022/tokens/sanitizer.mjs +0 -7
- package/esm2022/tokens/taiga-ui-legacy-tokens.mjs +0 -5
- package/esm2022/tokens/textfield-appearance.mjs +0 -10
- package/esm2022/tokens/textfield-host.mjs +0 -14
- package/esm2022/tokens/touch-supported.mjs +0 -9
- package/esm2022/tokens/value-accessor.mjs +0 -7
- package/esm2022/utils/capitalize-first-letter.mjs +0 -7
- package/esm2022/utils/date-mode-maskito-adapter.mjs +0 -9
- package/esm2022/utils/format-phone.mjs +0 -60
- package/esm2022/utils/get-border.mjs +0 -23
- package/esm2022/utils/get-max-allowed-phone-length.mjs +0 -26
- package/esm2022/utils/get-safe-area-size.mjs +0 -18
- package/esm2022/utils/icons-path-factory.mjs +0 -22
- package/esm2022/utils/index.mjs +0 -14
- package/esm2022/utils/is-apple.mjs +0 -6
- package/esm2022/utils/is-presumed-html-string.mjs +0 -8
- package/esm2022/utils/iso-to-country-code.mjs +0 -16
- package/esm2022/utils/not-kz-region.mjs +0 -24
- package/esm2022/utils/process-icon.mjs +0 -34
- package/esm2022/utils/specific-dropdown-controllers.mjs +0 -9
- package/esm2022/utils/status.mjs +0 -2
- package/esm2022/utils/taiga-ui-legacy-utils.mjs +0 -5
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, inject, EventEmitter, signal,
|
|
2
|
+
import { InjectionToken, inject, EventEmitter, signal, ElementRef, TemplateRef, Input, Output, ViewChild, ContentChild, ViewChildren, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { EMPTY_QUERY, TUI_TRUE_HANDLER, TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
|
|
5
5
|
import { tuiInjectElement, tuiRetargetedBoundaryCrossing, tuiGetActualTarget, tuiIsElement, tuiGetClipboardDataText } from '@taiga-ui/cdk/utils/dom';
|
|
6
6
|
import { tuiIsNativeFocusedIn } from '@taiga-ui/cdk/utils/focus';
|
|
7
7
|
import { tuiProvideOptions, tuiIsString, tuiArrayRemove } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
8
|
-
import {
|
|
8
|
+
import { TuiDataListDirective, tuiAsDataListHost } from '@taiga-ui/core/components/data-list';
|
|
9
9
|
import * as i5 from '@taiga-ui/core/components/scrollbar';
|
|
10
10
|
import { TuiScrollbar } from '@taiga-ui/core/components/scrollbar';
|
|
11
11
|
import { TUI_TEXTFIELD_OPTIONS } from '@taiga-ui/core/components/textfield';
|
|
@@ -382,15 +382,15 @@ class TuiInputTagComponent extends AbstractTuiMultipleControl {
|
|
|
382
382
|
clippedValue(value) {
|
|
383
383
|
return value.slice(0, this.maxLength || value.length);
|
|
384
384
|
}
|
|
385
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
386
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
385
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
386
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.9", type: TuiInputTagComponent, isStandalone: false, selector: "tui-input-tag", inputs: { separator: "separator", search: "search", editable: "editable", tagValidator: "tagValidator", rows: "rows", inputHidden: "inputHidden", uniqueTags: "uniqueTags", autoColor: "autoColor", maxLength: "maxLength", placeholder: "placeholder", removable: "removable", disabledItemHandler: "disabledItemHandler", pseudoFocusedSetter: ["pseudoFocused", "pseudoFocusedSetter"], setPseudoOpen: ["pseudoOpen", "setPseudoOpen"] }, outputs: { searchChange: "searchChange" }, host: { listeners: { "focusin.capture.zoneless": "onFocusInOut()", "focusout.capture.zoneless": "onFocusInOut()" }, properties: { "attr.data-size": "size", "class._icon-start": "iconStart", "class._expandable": "expandable", "class._label-outside": "labelOutside" } }, providers: [
|
|
387
387
|
tuiAsFocusableItemAccessor(TuiInputTagComponent),
|
|
388
388
|
tuiAsControl(TuiInputTagComponent),
|
|
389
389
|
tuiAsDataListHost(TuiInputTagComponent),
|
|
390
390
|
TEXTFIELD_CONTROLLER_PROVIDER,
|
|
391
391
|
], queries: [{ propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }, { propertyName: "valueContent", first: true, predicate: PolymorpheusOutlet, descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: TuiDropdownOpen, descendants: true }, { propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }, { propertyName: "tagsContainer", first: true, predicate: ["tagsContainer"], descendants: true }, { propertyName: "cleanerSvg", first: true, predicate: ["cleaner"], descendants: true, read: ElementRef }, { propertyName: "scrollBar", first: true, predicate: TuiScrollbar, descendants: true, read: ElementRef }, { propertyName: "errorIconTemplate", first: true, predicate: ["errorIcon"], descendants: true }, { propertyName: "tags", predicate: ["tag"], descendants: true, read: ElementRef }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownFixed }], ngImport: i0, template: "<ng-container *ngIf=\"hintOptions?.change$ | async\" />\n<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div\n tuiWrapper\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (click.prevent.zoneless)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-content\">\n <div\n *ngIf=\"iconStart\"\n class=\"t-icon t-icon_left t-textfield-icon t-icon-wrapper\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconStart as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-absolute-wrapper\">\n <div\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-tag__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content />\n </div>\n </div>\n <tui-scrollbar\n class=\"t-scrollbar\"\n [hidden]=\"!expandable\"\n [style.maxHeight.rem]=\"computeMaxHeight\"\n >\n <div\n class=\"t-tags\"\n [class.t-tags_empty]=\"tagsEmpty\"\n >\n <ng-container *ngIf=\"labelOutside; else text\">\n <tui-tag\n *ngFor=\"let item of value; index as index; trackBy: trackByFn\"\n #tag\n automation-id=\"tui-input-tag__tag\"\n tabIndex=\"-1\"\n class=\"t-tag\"\n [autoColor]=\"autoColor\"\n [disabled]=\"computedDisabled || disabledItemHandler(item)\"\n [editable]=\"editable && !readOnly\"\n [hoverable]=\"!readOnly\"\n [leftContent]=\"getLeftContent(item)\"\n [maxLength]=\"maxLength\"\n [removable]=\"!readOnly && removable\"\n [separator]=\"separator\"\n [size]=\"controller.size\"\n [status]=\"status\"\n [value]=\"item.toString()\"\n (edited)=\"onTagEdited($event, index)\"\n (keydown.arrowLeft.prevent)=\"onTagKeyDownArrowLeft(index)\"\n (keydown.arrowRight.prevent)=\"onTagKeyDownArrowRight(index)\"\n />\n </ng-container>\n <ng-template #text>\n <span\n *ngFor=\"let item of value\"\n class=\"t-text\"\n [class.t-text_comma]=\"computedFocused && !inputHidden\"\n [class.t-text_disabled]=\"disabledItemHandler(item)\"\n [class.t-text_error]=\"!tagValidator(item)\"\n [textContent]=\"item\"\n ></span>\n </ng-template>\n <div\n class=\"t-input-wrapper\"\n [class.t-input-wrapper_collapsed]=\"computedDisabled || readOnly || inputHidden\"\n >\n <div class=\"t-ghost\">{{ search }}</div>\n <input\n #focusableElement\n automation-id=\"tui-input-tag__native\"\n type=\"text\"\n class=\"t-native\"\n [attr.maxLength]=\"maxLength\"\n [class.t-native_hidden]=\"inputHidden\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"search\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [readOnly]=\"readOnly || inputHidden\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n (drop.prevent)=\"onDrop($any($event))\"\n (keydown.arrowLeft)=\"onFieldKeyDownArrowLeft($event)\"\n (keydown.backspace)=\"onFieldKeyDownBackspace($event)\"\n (keydown.enter.prevent)=\"onFieldKeyDownEnter()\"\n (ngModelChange)=\"onInput($event)\"\n (paste.prevent)=\"onPaste($event)\"\n />\n </div>\n </div>\n <div class=\"t-value-content\">\n <ng-content select=\"tuiContent\" />\n </div>\n </tui-scrollbar>\n </div>\n <ng-content select=\"select\" />\n <div\n *ngIf=\"hasRightIcons\"\n class=\"t-icons t-icon-wrapper\"\n >\n <ng-container *ngIf=\"hasCleaner\">\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n #cleaner\n automation-id=\"tui-input-tag__cleaner\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onCleanerClick()\"\n />\n </ng-container>\n <tui-tooltip\n *ngIf=\"showHint\"\n automation-id=\"tui-input-tag__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n <div\n *ngIf=\"icon\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n </div>\n </div>\n <ng-template #errorIcon>\n <tui-icon\n class=\"t-error-icon\"\n [icon]=\"icons.error\"\n />\n </ng-template>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;text-align:start;border-radius:var(--tui-radius-m);block-size:var(--tui-height);min-block-size:var(--tui-height);max-block-size:var(--tui-height)}:host[data-size=s]{--tui-height: var(--tui-height-s);font:var(--tui-font-text-s)}:host[data-size=m]{--tui-height: var(--tui-height-m);font:var(--tui-font-text-s)}:host[data-size=l]{--tui-height: var(--tui-height-l);font:var(--tui-font-text-m);line-height:1.25rem}:host :host-context(*:disabled){pointer-events:none}.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;outline:none;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;border-style:solid;border-color:transparent;border-inline-start-width:var(--t-border-start, 0);border-inline-end-width:var(--t-border-end, 0);text-indent:var(--t-text-indent);color:var(--tui-text-primary);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}.t-input[inputMode=none]{caret-color:transparent}.t-input:-webkit-autofill,.t-input:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}.t-input::-webkit-caps-lock-indicator,.t-input::-webkit-contacts-auto-fill-button,.t-input::-webkit-credit-card-auto-fill-button,.t-input::-webkit-credentials-auto-fill-button,.t-input::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input::placeholder{color:var(--tui-text-tertiary);opacity:0}:host._focused:not(._readonly) .t-input::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-textarea._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-text-area._focused:not(._readonly)) .t-input::placeholder{opacity:1}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"s\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"m\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"l\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-textarea._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-block-start:1.25rem}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-block-start:1rem}:host[data-size=l]:not(._label-outside) .t-input{padding-block-start:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em}.t-content{display:flex;block-size:100%;inline-size:100%;box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size=s] .t-content{padding:0 var(--tui-padding-s)}:host[data-size=m] .t-content{padding:0 var(--tui-padding-m)}:host[data-size=l] .t-content{padding:0 var(--tui-padding-l)}.t-wrapper{flex:1;min-inline-size:0;padding-inline-end:.25rem}.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;inline-size: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)}@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-text-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)}.t-cleaner{position:relative;display:flex;inline-size:1.5rem;block-size:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none;pointer-events:auto;border-width:.25rem}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}.t-icon{position:relative;display:flex;inline-size:1.5rem;block-size:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}:host[data-size=s] .t-icon_left{margin:0 .125rem 0 -.375rem}:host[data-size=m] .t-icon_left{margin-inline-start:-.125rem;margin-inline-end:.375rem}:host[data-size=l] .t-icon_left{margin-inline-end:.75rem}.t-icons{display:flex;align-items:center}:host[data-size=m] .t-icons{margin-inline-end:-.125rem}:host[data-size=s] .t-icons{margin-inline-end:-.375rem}:host:not([data-size=s]) .t-icons>:not(:first-child){margin-inline-start:.25rem}:host{cursor:text}:host._expandable{block-size:auto;max-block-size:none}:host._disabled,:host :host-context(*:disabled){pointer-events:none}:host._readonly{cursor:default}:host[data-size=m]{line-height:1rem}.t-hosted{display:block;border-radius:inherit}.t-scrollbar{scroll-behavior:var(--tui-scroll-behavior);margin-inline-start:-.25rem;min-inline-size:100%}:host:not(._label-outside) .t-scrollbar,:host._label-outside._icon-start .t-scrollbar{margin:0}:host[data-size=s]._icon-start .t-scrollbar{margin-inline-start:.25rem}:host[data-size=m]:not(._label-outside) .t-scrollbar{border-block-start:1rem solid transparent}:host[data-size=l]:not(._label-outside) .t-scrollbar{border-block-start:1.25rem solid transparent}.t-tags{display:flex;padding-inline-start:.25rem}.t-tags_expandable{overflow:hidden}.t-tags_empty{block-size:0}:host._expandable .t-tags{flex-wrap:wrap;white-space:normal;overflow:hidden}:host._readonly .t-tags{pointer-events:none}:host[data-size=m]:not(._label-outside) .t-tags,:host[data-size=l]:not(._label-outside) .t-tags{padding:0}.t-tags tui-tag:last-of-type{max-inline-size:80%}.t-content{align-items:flex-start}:host[data-size=s] .t-content{min-block-size:var(--tui-height-s)}:host[data-size=m] .t-content{min-block-size:var(--tui-height-m)}:host[data-size=l] .t-content{min-block-size:var(--tui-height-l)}:host[data-size=s] .t-icon-wrapper{block-size:var(--tui-height-s)}:host[data-size=m] .t-icon-wrapper{block-size:var(--tui-height-m)}:host[data-size=l] .t-icon-wrapper{block-size:var(--tui-height-l)}.t-absolute-wrapper{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;display:flex;flex-direction:column;justify-content:center}:host[data-size=m] .t-absolute-wrapper{block-size:var(--tui-height-m)}:host[data-size=l] .t-absolute-wrapper{block-size:var(--tui-height-l)}.t-wrapper{position:relative;display:flex;align-items:center;padding:0;box-sizing:border-box}:host[data-size=s] .t-wrapper{min-block-size:var(--tui-height-s);padding:calc((var(--tui-height-s) - 1.5rem) / 2) 0}:host[data-size=m] .t-wrapper{min-block-size:var(--tui-height-m);padding:calc((var(--tui-height-m) - var(--tui-height-xs) - .25rem) / 2) 0}:host[data-size=l] .t-wrapper{padding:calc((var(--tui-height-l) - var(--tui-height-s) - .25rem) / 2) 0}:host[data-size=m]:not(._label-outside) .t-wrapper{padding:calc((var(--tui-height-m) - 2rem) / 2) 0}:host[data-size=l]:not(._label-outside) .t-wrapper{padding:calc((var(--tui-height-l) - 2.5rem) / 2) 0}.t-tag{margin:.125rem .5rem .125rem -.25rem;margin-inline-start:-.25rem;margin-inline-end:.5rem;max-inline-size:100%;flex-shrink:0}:host[data-size=m] .t-tag{margin-inline-start:-.125rem;margin-inline-end:.375rem}.t-text:after{content:\",\\a0\"}.t-text_disabled{color:var(--tui-text-tertiary)}.t-text_error{color:var(--tui-text-negative)}.t-text:not(.t-text_comma):last-of-type:after{content:\"\"}:host:not(._expandable) .t-text{white-space:nowrap}.t-input-wrapper,.t-value-content{position:relative;display:flex;flex:1;max-inline-size:100%}:host[data-size=s] .t-input-wrapper,:host[data-size=s] .t-value-content{min-block-size:1.5rem}:host[data-size=m] .t-input-wrapper,:host[data-size=m] .t-value-content{min-block-size:calc(var(--tui-height-xs) + 2 * .125rem)}:host[data-size=l] .t-input-wrapper,:host[data-size=l] .t-value-content{min-block-size:calc(var(--tui-height-s) + 2 * .125rem)}:host:not(._label-outside) .t-input-wrapper,:host:not(._label-outside) .t-value-content{min-block-size:1rem}.t-input-wrapper_collapsed{flex:0;margin-inline-start:-.5rem}.t-value-content:empty{display:none}.t-ghost{visibility:hidden;white-space:pre;text-overflow:clip;min-inline-size:.125rem}:host:not(._expandable) .t-ghost{min-inline-size:2rem}.t-native{margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;padding:0;cursor:inherit}.t-native:-webkit-autofill,.t-native:-webkit-autofill:hover,.t-native:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}.t-native[inputMode=none]{caret-color:transparent}.t-native_hidden{opacity:0;text-indent:-10em}.t-native::placeholder{color:var(--tui-text-tertiary);opacity:0}:host-context([tuiTheme=\"dark\"]) .t-native::placeholder{color:var(--tui-text-tertiary)}:host._focused .t-native:not(:read-only)::placeholder{opacity:1}.t-error-icon{display:block;color:var(--tui-status-negative);font-size:1rem}:host._readonly .t-textfield-icon ::ng-deep [tuiAppearance][data-appearance=icon]{pointer-events:none}@media (hover: hover) and (pointer: fine){:host:not(._readonly):not(._disabled):hover .t-textfield-icon ::ng-deep [tuiAppearance][data-appearance=icon]:after{color:var(--tui-text-secondary)}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i5.TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }, { kind: "component", type: i6.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId", "context"] }, { kind: "component", type: i7.TuiTagComponent, selector: "tui-tag, a[tuiTag], button[tuiTag]", inputs: ["value", "editable", "separator", "maxLength", "size", "showLoader", "status", "hoverable", "removable", "disabled", "autoColor", "leftContent"], outputs: ["edited"] }, { kind: "directive", type: i8.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { kind: "directive", type: i8.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "directive", type: i9.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "component", type: i10.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
392
392
|
}
|
|
393
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
393
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTagComponent, decorators: [{
|
|
394
394
|
type: Component,
|
|
395
395
|
args: [{ standalone: false, selector: 'tui-input-tag', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
396
396
|
tuiAsFocusableItemAccessor(TuiInputTagComponent),
|
|
@@ -471,8 +471,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
471
471
|
* @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead
|
|
472
472
|
*/
|
|
473
473
|
class TuiInputTagModule {
|
|
474
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
475
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
474
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
475
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTagModule, declarations: [TuiInputTagComponent], imports: [CommonModule,
|
|
476
476
|
FormsModule,
|
|
477
477
|
PolymorpheusOutlet,
|
|
478
478
|
PolymorpheusTemplate,
|
|
@@ -484,7 +484,7 @@ class TuiInputTagModule {
|
|
|
484
484
|
TuiLegacyDropdownOpenMonitorDirective,
|
|
485
485
|
TuiAppearance,
|
|
486
486
|
TuiIcon, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownPortal, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection], exports: [TuiInputTagComponent, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownPortal, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection] }); }
|
|
487
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
487
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTagModule, providers: [TuiScrollService], imports: [CommonModule,
|
|
488
488
|
FormsModule,
|
|
489
489
|
TuiScrollbar,
|
|
490
490
|
TuiTooltipModule,
|
|
@@ -492,7 +492,7 @@ class TuiInputTagModule {
|
|
|
492
492
|
TuiWrapperModule,
|
|
493
493
|
TuiIcon, i1.TuiDropdownComponent] }); }
|
|
494
494
|
}
|
|
495
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
495
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTagModule, decorators: [{
|
|
496
496
|
type: NgModule,
|
|
497
497
|
args: [{
|
|
498
498
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-input-tag.mjs","sources":["../../../projects/legacy/components/input-tag/input-tag.options.ts","../../../projects/legacy/components/input-tag/input-tag.component.ts","../../../projects/legacy/components/input-tag/input-tag.template.html","../../../projects/legacy/components/input-tag/input-tag.module.ts","../../../projects/legacy/components/input-tag/taiga-ui-legacy-components-input-tag.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiStatus} from '@taiga-ui/legacy/utils';\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport interface TuiInputTagOptions {\n readonly autoColor: boolean;\n readonly separator: RegExp | string;\n readonly tagStatus: TuiStatus;\n readonly uniqueTags: boolean;\n}\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport const TUI_INPUT_TAG_DEFAULT_OPTIONS: TuiInputTagOptions = {\n autoColor: false,\n separator: ',',\n tagStatus: 'default',\n uniqueTags: true,\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for InputTag component\n */\nexport const TUI_INPUT_TAG_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_INPUT_TAG_OPTIONS' : '',\n {\n factory: () => TUI_INPUT_TAG_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport function tuiInputTagOptionsProvider(\n options: Partial<TuiInputTagOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_TAG_OPTIONS,\n options,\n TUI_INPUT_TAG_DEFAULT_OPTIONS,\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n type QueryList,\n signal,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY, TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {type TuiBooleanHandler, type TuiContext} from '@taiga-ui/cdk/types';\nimport {\n tuiGetActualTarget,\n tuiGetClipboardDataText,\n tuiInjectElement,\n tuiIsElement,\n tuiRetargetedBoundaryCrossing,\n} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiArrayRemove, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAsDataListHost,\n TuiDataListDirective,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {\n AbstractTuiMultipleControl,\n tuiAsControl,\n type TuiStringifiableItem,\n} from '@taiga-ui/legacy/classes';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {type TuiStatus} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {timer} from 'rxjs';\n\nimport {TUI_INPUT_TAG_OPTIONS} from './input-tag.options';\n\nconst TAG_SIZE_REM = {\n s: 1.25,\n m: 1.5,\n l: 2,\n};\nconst LINE_HEIGHT_REM = {\n s: 1,\n m: 1.25,\n l: 1.25,\n};\nconst TAG_VERTICAL_SPACE_REM = 0.125;\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-tag',\n templateUrl: './input-tag.template.html',\n styleUrls: ['./input-tag.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputTagComponent),\n tuiAsControl(TuiInputTagComponent),\n tuiAsDataListHost(TuiInputTagComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n '[class._icon-start]': 'iconStart',\n '[class._expandable]': 'expandable',\n '[class._label-outside]': 'labelOutside',\n '(focusin.capture.zoneless)': 'onFocusInOut()',\n '(focusout.capture.zoneless)': 'onFocusInOut()',\n },\n})\nexport class TuiInputTagComponent\n extends AbstractTuiMultipleControl<string>\n implements TuiFocusableElementAccessor, TuiDataListHost<string>\n{\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @ViewChild('tagsContainer')\n private readonly tagsContainer?: ElementRef<HTMLElement>;\n\n @ViewChildren('tag', {read: ElementRef})\n private readonly tags: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @ViewChild('cleaner', {read: ElementRef})\n private readonly cleanerSvg?: ElementRef<HTMLElement>;\n\n @ViewChild(TuiScrollbar, {read: ElementRef})\n private readonly scrollBar?: ElementRef<HTMLElement>;\n\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_INPUT_TAG_OPTIONS);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist?: TemplateRef<TuiContext<TuiActiveZone>>;\n\n @ContentChild(PolymorpheusOutlet)\n protected readonly valueContent?: unknown;\n\n @ViewChild('errorIcon')\n protected readonly errorIconTemplate?: TemplateRef<Record<string, unknown>>;\n\n protected readonly textfieldOptions = inject(TUI_TEXTFIELD_OPTIONS);\n protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true});\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected status: TuiStatus = this.options.tagStatus;\n protected open = false;\n\n @Input()\n public separator: RegExp | string = this.options.separator;\n\n @Input()\n public search: string | null = '';\n\n @Input()\n public editable = true;\n\n @Input()\n public tagValidator:\n | TuiBooleanHandler<string>\n | TuiBooleanHandler<TuiStringifiableItem<unknown> | string> = TUI_TRUE_HANDLER;\n\n @Input()\n public rows = Infinity;\n\n @Input()\n public inputHidden = false;\n\n @Input()\n public uniqueTags = this.options.uniqueTags;\n\n @Input()\n public autoColor = this.options.autoColor;\n\n @Input()\n public maxLength: number | null = null;\n\n @Input()\n public placeholder = '';\n\n @Input()\n public removable = true;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiStringifiableItem<any> | string> =\n TUI_FALSE_HANDLER;\n\n @Output()\n public readonly searchChange = new EventEmitter<string>();\n\n public pseudoOpen = signal(false);\n\n @Input('pseudoFocused')\n public set pseudoFocusedSetter(value: boolean | null) {\n if (!value && !this.focused) {\n this.scrollTo(0);\n }\n\n this.pseudoFocus = value;\n }\n\n /**\n * @deprecated hack\n */\n @Input('pseudoOpen')\n public set setPseudoOpen(value: boolean) {\n this.pseudoOpen.set(value);\n }\n\n public get labelOutside(): boolean {\n const {size, labelOutside} = this.controller;\n\n return this.appearance === 'table' || size === 's' || labelOutside;\n }\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return !this.focusableElement || this.computedDisabled\n ? null\n : this.focusableElement.nativeElement;\n }\n\n public get hasValue(): boolean {\n return !!this.value.length || this.hasNativeValue;\n }\n\n public get hasExampleText(): boolean {\n return (\n !!this.nativeFocusableElement?.placeholder &&\n this.computedFocused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n public get hasPlaceholder(): boolean {\n return (\n !this.labelOutside ||\n (!this.hasValue && (!this.hasExampleText || this.inputHidden))\n );\n }\n\n public get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el) || !!this.dropdown?.tuiDropdownOpen;\n }\n\n public get tagsEmpty(): boolean {\n return (\n ((!this.focused || this.inputHidden) &&\n !this.value.length &&\n !this.search?.trim()?.length &&\n !this.placeholder) ||\n !!this.valueContent\n );\n }\n\n public onTagEdited(value: string, index: number): void {\n this.focusInput(value === '');\n this.value = this.filterValue(\n this.value\n .map((tag, tagIndex) =>\n tagIndex !== index\n ? tag\n : value\n .split(this.separator)\n .map((tag) => tag.trim())\n .filter(Boolean),\n )\n .reduce<string[]>(\n (result, item: string[] | string) => result.concat(item),\n [],\n ),\n );\n }\n\n public handleOption(item: string): void {\n this.focusInput();\n this.updateSearch('');\n this.value = this.filterValue(this.value.concat(item));\n this.open = false;\n this.scrollTo();\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n protected get iconStart(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.iconStart;\n }\n\n protected get appearance(): string {\n return this.textfieldOptions.appearance() === 'table'\n ? 'table'\n : this.controller.appearance;\n }\n\n protected get expandable(): boolean {\n return this.rows > 1;\n }\n\n protected get icon(): 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 hasCleaner(): boolean {\n return this.controller.cleaner && this.hasValue && this.interactive;\n }\n\n protected get hasNativeValue(): boolean {\n return !!this.search;\n }\n\n protected get placeholderRaised(): boolean {\n return (\n !this.labelOutside &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n protected get hasRightIcons(): boolean {\n return (\n this.hasCleaner ||\n !!this.icon ||\n (!!this.hintOptions?.content && !this.computedDisabled)\n );\n }\n\n protected get showHint(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.controller.options.hintOnDisabled || !this.computedDisabled)\n );\n }\n\n protected get canOpen(): boolean {\n return this.interactive && !!this.datalist;\n }\n\n protected get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n protected onFocusInOut(): void {\n this.cdr.detectChanges();\n }\n\n protected detectRetargetFromLabel(event: Event): void {\n if (tuiRetargetedBoundaryCrossing(event)) {\n event.stopImmediatePropagation();\n }\n }\n\n protected getLeftContent(tag: string): PolymorpheusContent {\n return !this.tagValidator(tag) && this.errorIconTemplate\n ? this.errorIconTemplate\n : '';\n }\n\n protected onCleanerClick(): void {\n this.updateSearch('');\n this.clear();\n this.focusInput();\n }\n\n protected onActiveZone(active: boolean): void {\n this.open = false;\n this.addTag();\n this.updateFocused(active);\n\n if (!active && !this.computedFocused) {\n this.scrollTo(0);\n }\n }\n\n protected onMouseDown(event: MouseEvent): void {\n const actualTarget = tuiGetActualTarget(event);\n\n if (\n !this.focusableElement ||\n actualTarget === this.focusableElement.nativeElement ||\n !tuiIsElement(event.target) ||\n this.cleanerSvg?.nativeElement.contains(event.target) ||\n (this.tagsContainer &&\n actualTarget !== this.tagsContainer.nativeElement &&\n this.tagsContainer.nativeElement.contains(actualTarget))\n ) {\n return;\n }\n\n event.preventDefault();\n this.focusInput();\n }\n\n protected onFieldKeyDownBackspace(event: Event): void {\n if (!this.labelOutside && !this.hasNativeValue && this.value.length) {\n this.deleteLastEnabledItem();\n } else {\n this.onFieldKeyDownArrowLeft(event);\n }\n }\n\n protected onFieldKeyDownArrowLeft(event: Event): void {\n if (!this.labelOutside || this.hasNativeValue || !this.value.length) {\n return;\n }\n\n event.preventDefault();\n this.tags.last.nativeElement.focus();\n }\n\n protected onFieldKeyDownEnter(): void {\n this.addTag();\n this.scrollTo();\n }\n\n protected onTagKeyDownArrowLeft(currentIndex: number): void {\n if (currentIndex > 0) {\n this.onScrollKeyDown(currentIndex, -1);\n }\n }\n\n protected onTagKeyDownArrowRight(currentIndex: number): void {\n if (currentIndex === this.value.length - 1) {\n this.focusInput();\n } else {\n this.onScrollKeyDown(currentIndex, 1);\n }\n }\n\n protected onInput(value: string): void {\n const array = value.split(this.separator);\n const tags = array\n .map((item) => this.clippedValue(item.trim()))\n .filter((item) => item.length > 0);\n const validated = tags.filter((tag) => !this.disabledItemHandler(tag));\n const invalid = tags.filter((tag) => this.disabledItemHandler(tag));\n\n if (array.length > 1) {\n const search = invalid.length\n ? invalid.join(tuiIsString(this.separator) ? this.separator : ',')\n : '';\n\n this.updateSearch(this.clippedValue(search));\n\n this.value = this.filterValue([...this.value, ...validated]);\n } else {\n this.updateSearch(this.clippedValue(value));\n }\n\n this.open = this.hasNativeValue;\n }\n\n protected onPaste(event: Event): void {\n const pasted = tuiGetClipboardDataText(event as ClipboardEvent);\n\n this.onInput(pasted || '');\n }\n\n protected onDrop({dataTransfer}: DragEvent): void {\n if (dataTransfer) {\n this.onInput(dataTransfer.getData('text') || '');\n }\n }\n\n protected trackByFn(_: number, tag: string): string {\n // Actually tag has TuiStringifiableItem type not string\n return tag;\n }\n\n private get lineHeight(): number {\n return this.labelOutside\n ? TAG_SIZE_REM[this.controller.size] + 2 * TAG_VERTICAL_SPACE_REM\n : LINE_HEIGHT_REM[this.controller.size];\n }\n\n private scrollTo(scrollLeft = this.scrollBar?.nativeElement.scrollWidth): void {\n // Allow change detection to run and add new tag to DOM\n timer(0)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n if (this.scrollBar) {\n this.scrollBar.nativeElement.scrollLeft = scrollLeft || 0;\n }\n });\n }\n\n private filterValue(value: string[]): string[] {\n const seen = new Set();\n\n return value\n .reverse()\n .filter(\n (item) => !this.uniqueTags || (item && !seen.has(item) && seen.add(item)),\n )\n .reverse();\n }\n\n private onScrollKeyDown(currentIndex: number, flag: number): void {\n const tag = this.tags.find((_item, index) => index === currentIndex + flag);\n\n if (!tag || !this.scrollBar) {\n return;\n }\n\n tag.nativeElement.focus();\n\n if (\n flag * this.scrollBar.nativeElement.clientWidth -\n flag * tag.nativeElement.offsetLeft -\n tag.nativeElement.clientWidth <\n 0\n ) {\n this.scrollBar.nativeElement.scrollLeft +=\n flag * tag.nativeElement.clientWidth;\n }\n }\n\n private updateSearch(value: string): void {\n if (this.focusableElement) {\n this.focusableElement.nativeElement.value = value;\n }\n\n this.search = value;\n this.searchChange.emit(value);\n }\n\n private addTag(): void {\n const inputValue = this.search?.trim() ?? '';\n\n if (!inputValue || this.disabledItemHandler(inputValue)) {\n return;\n }\n\n this.updateSearch('');\n this.value = this.filterValue(this.value.concat(inputValue));\n }\n\n private deleteLastEnabledItem(): void {\n for (let index = this.value.length - 1; index >= 0; index--) {\n if (!this.disabledItemHandler(this.value[index] ?? '')) {\n this.value = tuiArrayRemove(this.value, index);\n\n break;\n }\n }\n }\n\n private focusInput(preventScroll = false): void {\n this.nativeFocusableElement?.focus({preventScroll});\n }\n\n private clippedValue(value: string): string {\n return value.slice(0, this.maxLength || value.length);\n }\n}\n","<ng-container *ngIf=\"hintOptions?.change$ | async\" />\n<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div\n tuiWrapper\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (click.prevent.zoneless)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-content\">\n <div\n *ngIf=\"iconStart\"\n class=\"t-icon t-icon_left t-textfield-icon t-icon-wrapper\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconStart as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-absolute-wrapper\">\n <div\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-tag__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content />\n </div>\n </div>\n <tui-scrollbar\n class=\"t-scrollbar\"\n [hidden]=\"!expandable\"\n [style.maxHeight.rem]=\"computeMaxHeight\"\n >\n <div\n class=\"t-tags\"\n [class.t-tags_empty]=\"tagsEmpty\"\n >\n <ng-container *ngIf=\"labelOutside; else text\">\n <tui-tag\n *ngFor=\"let item of value; index as index; trackBy: trackByFn\"\n #tag\n automation-id=\"tui-input-tag__tag\"\n tabIndex=\"-1\"\n class=\"t-tag\"\n [autoColor]=\"autoColor\"\n [disabled]=\"computedDisabled || disabledItemHandler(item)\"\n [editable]=\"editable && !readOnly\"\n [hoverable]=\"!readOnly\"\n [leftContent]=\"getLeftContent(item)\"\n [maxLength]=\"maxLength\"\n [removable]=\"!readOnly && removable\"\n [separator]=\"separator\"\n [size]=\"controller.size\"\n [status]=\"status\"\n [value]=\"item.toString()\"\n (edited)=\"onTagEdited($event, index)\"\n (keydown.arrowLeft.prevent)=\"onTagKeyDownArrowLeft(index)\"\n (keydown.arrowRight.prevent)=\"onTagKeyDownArrowRight(index)\"\n />\n </ng-container>\n <ng-template #text>\n <span\n *ngFor=\"let item of value\"\n class=\"t-text\"\n [class.t-text_comma]=\"computedFocused && !inputHidden\"\n [class.t-text_disabled]=\"disabledItemHandler(item)\"\n [class.t-text_error]=\"!tagValidator(item)\"\n [textContent]=\"item\"\n ></span>\n </ng-template>\n <div\n class=\"t-input-wrapper\"\n [class.t-input-wrapper_collapsed]=\"computedDisabled || readOnly || inputHidden\"\n >\n <div class=\"t-ghost\">{{ search }}</div>\n <input\n #focusableElement\n automation-id=\"tui-input-tag__native\"\n type=\"text\"\n class=\"t-native\"\n [attr.maxLength]=\"maxLength\"\n [class.t-native_hidden]=\"inputHidden\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"search\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [readOnly]=\"readOnly || inputHidden\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n (drop.prevent)=\"onDrop($any($event))\"\n (keydown.arrowLeft)=\"onFieldKeyDownArrowLeft($event)\"\n (keydown.backspace)=\"onFieldKeyDownBackspace($event)\"\n (keydown.enter.prevent)=\"onFieldKeyDownEnter()\"\n (ngModelChange)=\"onInput($event)\"\n (paste.prevent)=\"onPaste($event)\"\n />\n </div>\n </div>\n <div class=\"t-value-content\">\n <ng-content select=\"tuiContent\" />\n </div>\n </tui-scrollbar>\n </div>\n <ng-content select=\"select\" />\n <div\n *ngIf=\"hasRightIcons\"\n class=\"t-icons t-icon-wrapper\"\n >\n <ng-container *ngIf=\"hasCleaner\">\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n #cleaner\n automation-id=\"tui-input-tag__cleaner\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onCleanerClick()\"\n />\n </ng-container>\n <tui-tooltip\n *ngIf=\"showHint\"\n automation-id=\"tui-input-tag__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n <div\n *ngIf=\"icon\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n </div>\n </div>\n <ng-template #errorIcon>\n <tui-icon\n class=\"t-error-icon\"\n [icon]=\"icons.error\"\n />\n </ng-template>\n </div>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiHovered} from '@taiga-ui/cdk/directives/hovered';\nimport {TuiScrollService} from '@taiga-ui/cdk/services';\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 {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiTagModule} from '@taiga-ui/legacy/components/tag';\nimport {TuiTooltipModule} from '@taiga-ui/legacy/components/tooltip';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputTagComponent} from './input-tag.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiHovered,\n TuiScrollbar,\n TuiTooltipModule,\n TuiTagModule,\n TuiWrapperModule,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiAppearance,\n TuiIcon,\n ...TuiDropdown,\n ],\n declarations: [TuiInputTagComponent],\n providers: [TuiScrollService],\n exports: [TuiInputTagComponent, ...TuiDropdown],\n})\nexport class TuiInputTagModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components-input-tag.mjs","sources":["../../../projects/legacy/components/input-tag/input-tag.options.ts","../../../projects/legacy/components/input-tag/input-tag.component.ts","../../../projects/legacy/components/input-tag/input-tag.template.html","../../../projects/legacy/components/input-tag/input-tag.module.ts","../../../projects/legacy/components/input-tag/taiga-ui-legacy-components-input-tag.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiStatus} from '@taiga-ui/legacy/utils';\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport interface TuiInputTagOptions {\n readonly autoColor: boolean;\n readonly separator: RegExp | string;\n readonly tagStatus: TuiStatus;\n readonly uniqueTags: boolean;\n}\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport const TUI_INPUT_TAG_DEFAULT_OPTIONS: TuiInputTagOptions = {\n autoColor: false,\n separator: ',',\n tagStatus: 'default',\n uniqueTags: true,\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for InputTag component\n */\nexport const TUI_INPUT_TAG_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_INPUT_TAG_OPTIONS' : '',\n {\n factory: () => TUI_INPUT_TAG_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\nexport function tuiInputTagOptionsProvider(\n options: Partial<TuiInputTagOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_TAG_OPTIONS,\n options,\n TUI_INPUT_TAG_DEFAULT_OPTIONS,\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n type QueryList,\n signal,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY, TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {type TuiBooleanHandler, type TuiContext} from '@taiga-ui/cdk/types';\nimport {\n tuiGetActualTarget,\n tuiGetClipboardDataText,\n tuiInjectElement,\n tuiIsElement,\n tuiRetargetedBoundaryCrossing,\n} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiArrayRemove, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAsDataListHost,\n TuiDataListDirective,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {\n AbstractTuiMultipleControl,\n tuiAsControl,\n type TuiStringifiableItem,\n} from '@taiga-ui/legacy/classes';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {type TuiStatus} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {timer} from 'rxjs';\n\nimport {TUI_INPUT_TAG_OPTIONS} from './input-tag.options';\n\nconst TAG_SIZE_REM = {\n s: 1.25,\n m: 1.5,\n l: 2,\n};\nconst LINE_HEIGHT_REM = {\n s: 1,\n m: 1.25,\n l: 1.25,\n};\nconst TAG_VERTICAL_SPACE_REM = 0.125;\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-tag',\n templateUrl: './input-tag.template.html',\n styleUrls: ['./input-tag.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputTagComponent),\n tuiAsControl(TuiInputTagComponent),\n tuiAsDataListHost(TuiInputTagComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n '[class._icon-start]': 'iconStart',\n '[class._expandable]': 'expandable',\n '[class._label-outside]': 'labelOutside',\n '(focusin.capture.zoneless)': 'onFocusInOut()',\n '(focusout.capture.zoneless)': 'onFocusInOut()',\n },\n})\nexport class TuiInputTagComponent\n extends AbstractTuiMultipleControl<string>\n implements TuiFocusableElementAccessor, TuiDataListHost<string>\n{\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @ViewChild('tagsContainer')\n private readonly tagsContainer?: ElementRef<HTMLElement>;\n\n @ViewChildren('tag', {read: ElementRef})\n private readonly tags: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @ViewChild('cleaner', {read: ElementRef})\n private readonly cleanerSvg?: ElementRef<HTMLElement>;\n\n @ViewChild(TuiScrollbar, {read: ElementRef})\n private readonly scrollBar?: ElementRef<HTMLElement>;\n\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_INPUT_TAG_OPTIONS);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist?: TemplateRef<TuiContext<TuiActiveZone>>;\n\n @ContentChild(PolymorpheusOutlet)\n protected readonly valueContent?: unknown;\n\n @ViewChild('errorIcon')\n protected readonly errorIconTemplate?: TemplateRef<Record<string, unknown>>;\n\n protected readonly textfieldOptions = inject(TUI_TEXTFIELD_OPTIONS);\n protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true});\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected status: TuiStatus = this.options.tagStatus;\n protected open = false;\n\n @Input()\n public separator: RegExp | string = this.options.separator;\n\n @Input()\n public search: string | null = '';\n\n @Input()\n public editable = true;\n\n @Input()\n public tagValidator:\n | TuiBooleanHandler<string>\n | TuiBooleanHandler<TuiStringifiableItem<unknown> | string> = TUI_TRUE_HANDLER;\n\n @Input()\n public rows = Infinity;\n\n @Input()\n public inputHidden = false;\n\n @Input()\n public uniqueTags = this.options.uniqueTags;\n\n @Input()\n public autoColor = this.options.autoColor;\n\n @Input()\n public maxLength: number | null = null;\n\n @Input()\n public placeholder = '';\n\n @Input()\n public removable = true;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiStringifiableItem<any> | string> =\n TUI_FALSE_HANDLER;\n\n @Output()\n public readonly searchChange = new EventEmitter<string>();\n\n public pseudoOpen = signal(false);\n\n @Input('pseudoFocused')\n public set pseudoFocusedSetter(value: boolean | null) {\n if (!value && !this.focused) {\n this.scrollTo(0);\n }\n\n this.pseudoFocus = value;\n }\n\n /**\n * @deprecated hack\n */\n @Input('pseudoOpen')\n public set setPseudoOpen(value: boolean) {\n this.pseudoOpen.set(value);\n }\n\n public get labelOutside(): boolean {\n const {size, labelOutside} = this.controller;\n\n return this.appearance === 'table' || size === 's' || labelOutside;\n }\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return !this.focusableElement || this.computedDisabled\n ? null\n : this.focusableElement.nativeElement;\n }\n\n public get hasValue(): boolean {\n return !!this.value.length || this.hasNativeValue;\n }\n\n public get hasExampleText(): boolean {\n return (\n !!this.nativeFocusableElement?.placeholder &&\n this.computedFocused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n public get hasPlaceholder(): boolean {\n return (\n !this.labelOutside ||\n (!this.hasValue && (!this.hasExampleText || this.inputHidden))\n );\n }\n\n public get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el) || !!this.dropdown?.tuiDropdownOpen;\n }\n\n public get tagsEmpty(): boolean {\n return (\n ((!this.focused || this.inputHidden) &&\n !this.value.length &&\n !this.search?.trim()?.length &&\n !this.placeholder) ||\n !!this.valueContent\n );\n }\n\n public onTagEdited(value: string, index: number): void {\n this.focusInput(value === '');\n this.value = this.filterValue(\n this.value\n .map((tag, tagIndex) =>\n tagIndex !== index\n ? tag\n : value\n .split(this.separator)\n .map((tag) => tag.trim())\n .filter(Boolean),\n )\n .reduce<string[]>(\n (result, item: string[] | string) => result.concat(item),\n [],\n ),\n );\n }\n\n public handleOption(item: string): void {\n this.focusInput();\n this.updateSearch('');\n this.value = this.filterValue(this.value.concat(item));\n this.open = false;\n this.scrollTo();\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n protected get iconStart(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.iconStart;\n }\n\n protected get appearance(): string {\n return this.textfieldOptions.appearance() === 'table'\n ? 'table'\n : this.controller.appearance;\n }\n\n protected get expandable(): boolean {\n return this.rows > 1;\n }\n\n protected get icon(): 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 hasCleaner(): boolean {\n return this.controller.cleaner && this.hasValue && this.interactive;\n }\n\n protected get hasNativeValue(): boolean {\n return !!this.search;\n }\n\n protected get placeholderRaised(): boolean {\n return (\n !this.labelOutside &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n protected get hasRightIcons(): boolean {\n return (\n this.hasCleaner ||\n !!this.icon ||\n (!!this.hintOptions?.content && !this.computedDisabled)\n );\n }\n\n protected get showHint(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.controller.options.hintOnDisabled || !this.computedDisabled)\n );\n }\n\n protected get canOpen(): boolean {\n return this.interactive && !!this.datalist;\n }\n\n protected get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n protected onFocusInOut(): void {\n this.cdr.detectChanges();\n }\n\n protected detectRetargetFromLabel(event: Event): void {\n if (tuiRetargetedBoundaryCrossing(event)) {\n event.stopImmediatePropagation();\n }\n }\n\n protected getLeftContent(tag: string): PolymorpheusContent {\n return !this.tagValidator(tag) && this.errorIconTemplate\n ? this.errorIconTemplate\n : '';\n }\n\n protected onCleanerClick(): void {\n this.updateSearch('');\n this.clear();\n this.focusInput();\n }\n\n protected onActiveZone(active: boolean): void {\n this.open = false;\n this.addTag();\n this.updateFocused(active);\n\n if (!active && !this.computedFocused) {\n this.scrollTo(0);\n }\n }\n\n protected onMouseDown(event: MouseEvent): void {\n const actualTarget = tuiGetActualTarget(event);\n\n if (\n !this.focusableElement ||\n actualTarget === this.focusableElement.nativeElement ||\n !tuiIsElement(event.target) ||\n this.cleanerSvg?.nativeElement.contains(event.target) ||\n (this.tagsContainer &&\n actualTarget !== this.tagsContainer.nativeElement &&\n this.tagsContainer.nativeElement.contains(actualTarget))\n ) {\n return;\n }\n\n event.preventDefault();\n this.focusInput();\n }\n\n protected onFieldKeyDownBackspace(event: Event): void {\n if (!this.labelOutside && !this.hasNativeValue && this.value.length) {\n this.deleteLastEnabledItem();\n } else {\n this.onFieldKeyDownArrowLeft(event);\n }\n }\n\n protected onFieldKeyDownArrowLeft(event: Event): void {\n if (!this.labelOutside || this.hasNativeValue || !this.value.length) {\n return;\n }\n\n event.preventDefault();\n this.tags.last.nativeElement.focus();\n }\n\n protected onFieldKeyDownEnter(): void {\n this.addTag();\n this.scrollTo();\n }\n\n protected onTagKeyDownArrowLeft(currentIndex: number): void {\n if (currentIndex > 0) {\n this.onScrollKeyDown(currentIndex, -1);\n }\n }\n\n protected onTagKeyDownArrowRight(currentIndex: number): void {\n if (currentIndex === this.value.length - 1) {\n this.focusInput();\n } else {\n this.onScrollKeyDown(currentIndex, 1);\n }\n }\n\n protected onInput(value: string): void {\n const array = value.split(this.separator);\n const tags = array\n .map((item) => this.clippedValue(item.trim()))\n .filter((item) => item.length > 0);\n const validated = tags.filter((tag) => !this.disabledItemHandler(tag));\n const invalid = tags.filter((tag) => this.disabledItemHandler(tag));\n\n if (array.length > 1) {\n const search = invalid.length\n ? invalid.join(tuiIsString(this.separator) ? this.separator : ',')\n : '';\n\n this.updateSearch(this.clippedValue(search));\n\n this.value = this.filterValue([...this.value, ...validated]);\n } else {\n this.updateSearch(this.clippedValue(value));\n }\n\n this.open = this.hasNativeValue;\n }\n\n protected onPaste(event: Event): void {\n const pasted = tuiGetClipboardDataText(event as ClipboardEvent);\n\n this.onInput(pasted || '');\n }\n\n protected onDrop({dataTransfer}: DragEvent): void {\n if (dataTransfer) {\n this.onInput(dataTransfer.getData('text') || '');\n }\n }\n\n protected trackByFn(_: number, tag: string): string {\n // Actually tag has TuiStringifiableItem type not string\n return tag;\n }\n\n private get lineHeight(): number {\n return this.labelOutside\n ? TAG_SIZE_REM[this.controller.size] + 2 * TAG_VERTICAL_SPACE_REM\n : LINE_HEIGHT_REM[this.controller.size];\n }\n\n private scrollTo(scrollLeft = this.scrollBar?.nativeElement.scrollWidth): void {\n // Allow change detection to run and add new tag to DOM\n timer(0)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n if (this.scrollBar) {\n this.scrollBar.nativeElement.scrollLeft = scrollLeft || 0;\n }\n });\n }\n\n private filterValue(value: string[]): string[] {\n const seen = new Set();\n\n return value\n .reverse()\n .filter(\n (item) => !this.uniqueTags || (item && !seen.has(item) && seen.add(item)),\n )\n .reverse();\n }\n\n private onScrollKeyDown(currentIndex: number, flag: number): void {\n const tag = this.tags.find((_item, index) => index === currentIndex + flag);\n\n if (!tag || !this.scrollBar) {\n return;\n }\n\n tag.nativeElement.focus();\n\n if (\n flag * this.scrollBar.nativeElement.clientWidth -\n flag * tag.nativeElement.offsetLeft -\n tag.nativeElement.clientWidth <\n 0\n ) {\n this.scrollBar.nativeElement.scrollLeft +=\n flag * tag.nativeElement.clientWidth;\n }\n }\n\n private updateSearch(value: string): void {\n if (this.focusableElement) {\n this.focusableElement.nativeElement.value = value;\n }\n\n this.search = value;\n this.searchChange.emit(value);\n }\n\n private addTag(): void {\n const inputValue = this.search?.trim() ?? '';\n\n if (!inputValue || this.disabledItemHandler(inputValue)) {\n return;\n }\n\n this.updateSearch('');\n this.value = this.filterValue(this.value.concat(inputValue));\n }\n\n private deleteLastEnabledItem(): void {\n for (let index = this.value.length - 1; index >= 0; index--) {\n if (!this.disabledItemHandler(this.value[index] ?? '')) {\n this.value = tuiArrayRemove(this.value, index);\n\n break;\n }\n }\n }\n\n private focusInput(preventScroll = false): void {\n this.nativeFocusableElement?.focus({preventScroll});\n }\n\n private clippedValue(value: string): string {\n return value.slice(0, this.maxLength || value.length);\n }\n}\n","<ng-container *ngIf=\"hintOptions?.change$ | async\" />\n<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div\n tuiWrapper\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (click.prevent.zoneless)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-content\">\n <div\n *ngIf=\"iconStart\"\n class=\"t-icon t-icon_left t-textfield-icon t-icon-wrapper\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconStart as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-absolute-wrapper\">\n <div\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-tag__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content />\n </div>\n </div>\n <tui-scrollbar\n class=\"t-scrollbar\"\n [hidden]=\"!expandable\"\n [style.maxHeight.rem]=\"computeMaxHeight\"\n >\n <div\n class=\"t-tags\"\n [class.t-tags_empty]=\"tagsEmpty\"\n >\n <ng-container *ngIf=\"labelOutside; else text\">\n <tui-tag\n *ngFor=\"let item of value; index as index; trackBy: trackByFn\"\n #tag\n automation-id=\"tui-input-tag__tag\"\n tabIndex=\"-1\"\n class=\"t-tag\"\n [autoColor]=\"autoColor\"\n [disabled]=\"computedDisabled || disabledItemHandler(item)\"\n [editable]=\"editable && !readOnly\"\n [hoverable]=\"!readOnly\"\n [leftContent]=\"getLeftContent(item)\"\n [maxLength]=\"maxLength\"\n [removable]=\"!readOnly && removable\"\n [separator]=\"separator\"\n [size]=\"controller.size\"\n [status]=\"status\"\n [value]=\"item.toString()\"\n (edited)=\"onTagEdited($event, index)\"\n (keydown.arrowLeft.prevent)=\"onTagKeyDownArrowLeft(index)\"\n (keydown.arrowRight.prevent)=\"onTagKeyDownArrowRight(index)\"\n />\n </ng-container>\n <ng-template #text>\n <span\n *ngFor=\"let item of value\"\n class=\"t-text\"\n [class.t-text_comma]=\"computedFocused && !inputHidden\"\n [class.t-text_disabled]=\"disabledItemHandler(item)\"\n [class.t-text_error]=\"!tagValidator(item)\"\n [textContent]=\"item\"\n ></span>\n </ng-template>\n <div\n class=\"t-input-wrapper\"\n [class.t-input-wrapper_collapsed]=\"computedDisabled || readOnly || inputHidden\"\n >\n <div class=\"t-ghost\">{{ search }}</div>\n <input\n #focusableElement\n automation-id=\"tui-input-tag__native\"\n type=\"text\"\n class=\"t-native\"\n [attr.maxLength]=\"maxLength\"\n [class.t-native_hidden]=\"inputHidden\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"search\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"placeholder\"\n [readOnly]=\"readOnly || inputHidden\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n (drop.prevent)=\"onDrop($any($event))\"\n (keydown.arrowLeft)=\"onFieldKeyDownArrowLeft($event)\"\n (keydown.backspace)=\"onFieldKeyDownBackspace($event)\"\n (keydown.enter.prevent)=\"onFieldKeyDownEnter()\"\n (ngModelChange)=\"onInput($event)\"\n (paste.prevent)=\"onPaste($event)\"\n />\n </div>\n </div>\n <div class=\"t-value-content\">\n <ng-content select=\"tuiContent\" />\n </div>\n </tui-scrollbar>\n </div>\n <ng-content select=\"select\" />\n <div\n *ngIf=\"hasRightIcons\"\n class=\"t-icons t-icon-wrapper\"\n >\n <ng-container *ngIf=\"hasCleaner\">\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n #cleaner\n automation-id=\"tui-input-tag__cleaner\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onCleanerClick()\"\n />\n </ng-container>\n <tui-tooltip\n *ngIf=\"showHint\"\n automation-id=\"tui-input-tag__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n <div\n *ngIf=\"icon\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n </div>\n </div>\n <ng-template #errorIcon>\n <tui-icon\n class=\"t-error-icon\"\n [icon]=\"icons.error\"\n />\n </ng-template>\n </div>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiHovered} from '@taiga-ui/cdk/directives/hovered';\nimport {TuiScrollService} from '@taiga-ui/cdk/services';\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 {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiTagModule} from '@taiga-ui/legacy/components/tag';\nimport {TuiTooltipModule} from '@taiga-ui/legacy/components/tooltip';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputTagComponent} from './input-tag.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use {@link https://taiga-ui.dev/components/input-chip TuiInputChip} instead\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiHovered,\n TuiScrollbar,\n TuiTooltipModule,\n TuiTagModule,\n TuiWrapperModule,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiAppearance,\n TuiIcon,\n ...TuiDropdown,\n ],\n declarations: [TuiInputTagComponent],\n providers: [TuiScrollService],\n exports: [TuiInputTagComponent, ...TuiDropdown],\n})\nexport class TuiInputTagModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { InjectionToken, Directive, inject, Component,
|
|
3
|
+
import { InjectionToken, Directive, inject, ChangeDetectionStrategy, Component, Input, ViewChild, NgModule } from '@angular/core';
|
|
4
4
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
5
|
import { maskitoTimeOptionsGenerator, maskitoSelectionChangeHandler } from '@maskito/kit';
|
|
6
6
|
import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
|
|
@@ -50,7 +50,7 @@ const MAX_TIME_VALUES = {
|
|
|
50
50
|
const TUI_INPUT_TIME_DEFAULT_OPTIONS = {
|
|
51
51
|
icon: () => '@tui.clock',
|
|
52
52
|
mode: 'HH:MM',
|
|
53
|
-
maxValues: MAX_TIME_VALUES,
|
|
53
|
+
maxValues: MAX_TIME_VALUES, // TODO(v5): use empty object
|
|
54
54
|
itemSize: 'm',
|
|
55
55
|
nativePicker: false,
|
|
56
56
|
};
|
|
@@ -93,10 +93,10 @@ class TuiInputTimeDirective extends AbstractTuiTextfieldHost {
|
|
|
93
93
|
process(input) {
|
|
94
94
|
input.inputMode = this.host.inputMode;
|
|
95
95
|
}
|
|
96
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
97
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTimeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
97
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiInputTimeDirective, isStandalone: false, selector: "tui-input-time", providers: [tuiAsTextfieldHost(TuiInputTimeDirective)], usesInheritance: true, ngImport: i0 }); }
|
|
98
98
|
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTimeDirective, decorators: [{
|
|
100
100
|
type: Directive,
|
|
101
101
|
args: [{
|
|
102
102
|
standalone: false,
|
|
@@ -129,8 +129,8 @@ class TuiNativeTimeComponent {
|
|
|
129
129
|
onChange(value) {
|
|
130
130
|
this.host.onValueChange(value);
|
|
131
131
|
}
|
|
132
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
133
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
132
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiNativeTimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
133
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.9", type: TuiNativeTimeComponent, isStandalone: false, selector: "input[tuiTime]", host: { attributes: { "type": "time" }, listeners: { "change.stop": "onChange($event.target.value)", "click.stop.zoneless": "0", "mousedown.stop.zoneless": "0" }, properties: { "attr.list": "autoId", "tabIndex": "-1", "value": "value", "step": "step" } }, ngImport: i0, template: `
|
|
134
134
|
<datalist
|
|
135
135
|
*ngIf="items.length"
|
|
136
136
|
[id]="autoId"
|
|
@@ -142,7 +142,7 @@ class TuiNativeTimeComponent {
|
|
|
142
142
|
</datalist>
|
|
143
143
|
`, isInline: true, styles: [":host{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;pointer-events:auto;font-size:2rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
144
144
|
}
|
|
145
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiNativeTimeComponent, decorators: [{
|
|
146
146
|
type: Component,
|
|
147
147
|
args: [{ standalone: false, selector: 'input[tuiTime]', template: `
|
|
148
148
|
<datalist
|
|
@@ -328,8 +328,8 @@ class TuiInputTimeComponent extends AbstractTuiNullableControl {
|
|
|
328
328
|
this.open = false;
|
|
329
329
|
}
|
|
330
330
|
}
|
|
331
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
332
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
331
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
332
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.9", type: TuiInputTimeComponent, isStandalone: false, selector: "tui-input-time", inputs: { disabledItemHandler: "disabledItemHandler", items: "items", itemsHidden: "itemsHidden", itemSize: "itemSize", strict: "strict", mode: "mode" }, host: { listeners: { "click": "open = !open" }, properties: { "attr.data-size": "size" } }, providers: [
|
|
333
333
|
tuiAsFocusableItemAccessor(TuiInputTimeComponent),
|
|
334
334
|
tuiAsControl(TuiInputTimeComponent),
|
|
335
335
|
tuiAsDataListHost(TuiInputTimeComponent),
|
|
@@ -345,7 +345,7 @@ __decorate([
|
|
|
345
345
|
__decorate([
|
|
346
346
|
tuiPure
|
|
347
347
|
], TuiInputTimeComponent.prototype, "filter", null);
|
|
348
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
348
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTimeComponent, decorators: [{
|
|
349
349
|
type: Component,
|
|
350
350
|
args: [{ standalone: false, selector: 'tui-input-time', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
351
351
|
tuiAsFocusableItemAccessor(TuiInputTimeComponent),
|
|
@@ -378,8 +378,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
378
378
|
* @deprecated use new version of {@link https://taiga-ui.dev/components/input-time TuiInputTime} (from @taiga-ui/kit) instead
|
|
379
379
|
*/
|
|
380
380
|
class TuiInputTimeModule {
|
|
381
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
382
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
381
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
382
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTimeModule, declarations: [TuiInputTimeComponent, TuiNativeTimeComponent, TuiInputTimeDirective], imports: [CommonModule,
|
|
383
383
|
MaskitoDirective,
|
|
384
384
|
TuiSelectOptionModule,
|
|
385
385
|
TuiPrimitiveTextfieldModule,
|
|
@@ -391,14 +391,14 @@ class TuiInputTimeModule {
|
|
|
391
391
|
TuiIcon,
|
|
392
392
|
TuiAppearance, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownPortal, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection, i2$1.TuiDataListComponent, i2$1.TuiDataListDirective, i2$1.TuiOption, i2$1.TuiOptionNew, i2$1.TuiOptionWithValue, i2$1.TuiOptGroup], exports: [TuiInputTimeComponent,
|
|
393
393
|
TuiInputTimeDirective, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownPortal, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection, i2$1.TuiDataListComponent, i2$1.TuiDataListDirective, i2$1.TuiOption, i2$1.TuiOptionNew, i2$1.TuiOptionWithValue, i2$1.TuiOptGroup] }); }
|
|
394
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
394
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTimeModule, imports: [CommonModule,
|
|
395
395
|
TuiSelectOptionModule,
|
|
396
396
|
TuiPrimitiveTextfieldModule,
|
|
397
397
|
TuiValueAccessorModule,
|
|
398
398
|
TuiTextfieldControllerModule,
|
|
399
399
|
TuiIcon, i1.TuiDropdownComponent, i2$1.TuiDataListComponent, i2$1.TuiOption] }); }
|
|
400
400
|
}
|
|
401
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
401
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTimeModule, decorators: [{
|
|
402
402
|
type: NgModule,
|
|
403
403
|
args: [{
|
|
404
404
|
imports: [
|