@taiga-ui/legacy 4.52.0-canary.536e4ff → 4.52.0-canary.5601aa6
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/color-selector/color-selector.module.d.ts +11 -12
- package/components/index.d.ts +0 -7
- package/components/input-phone/input-phone.component.d.ts +3 -0
- package/components/input-phone/input-phone.directive.d.ts +3 -0
- package/components/input-phone/input-phone.module.d.ts +3 -0
- package/components/input-phone/input-phone.options.d.ts +10 -1
- package/components/multi-select/native-multi-select/native-multi-select.d.ts +1 -1
- 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 +6 -6
- package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +70 -74
- package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +24 -26
- 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-date-range.mjs +25 -25
- package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +26 -26
- package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-date.mjs +29 -29
- 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-number.mjs +21 -21
- package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +10 -10
- package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +32 -18
- package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-range.mjs +25 -25
- package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +20 -21
- package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +23 -23
- package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-time.mjs +42 -46
- 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 +15 -16
- package/fesm2022/taiga-ui-legacy-components-input.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 +50 -50
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +30 -30
- package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-select-option.mjs +9 -9
- package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-select.mjs +36 -37
- package/fesm2022/taiga-ui-legacy-components-select.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-tag.mjs +14 -15
- package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-textarea.mjs +24 -24
- 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-components.mjs +0 -7
- package/fesm2022/taiga-ui-legacy-components.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 +18 -144
- package/styles/mixins/textfield.less +3 -1
- package/utils/icons-path-factory.d.ts +1 -1
- package/components/input-copy/index.d.ts +0 -4
- package/components/input-copy/input-copy.component.d.ts +0 -33
- package/components/input-copy/input-copy.directive.d.ts +0 -11
- package/components/input-copy/input-copy.module.d.ts +0 -18
- package/components/input-copy/input-copy.options.d.ts +0 -26
- package/components/input-date-multi/index.d.ts +0 -2
- package/components/input-date-multi/input-date-multi.component.d.ts +0 -66
- package/components/input-date-multi/input-date-multi.module.d.ts +0 -20
- package/components/input-month/index.d.ts +0 -3
- package/components/input-month/input-month.component.d.ts +0 -44
- package/components/input-month/input-month.directive.d.ts +0 -19
- package/components/input-month/input-month.module.d.ts +0 -19
- package/components/input-password/index.d.ts +0 -4
- package/components/input-password/input-password.component.d.ts +0 -33
- package/components/input-password/input-password.directive.d.ts +0 -15
- package/components/input-password/input-password.module.d.ts +0 -19
- package/components/input-password/input-password.options.d.ts +0 -25
- package/components/island/index.d.ts +0 -1
- package/components/island/island.directive.d.ts +0 -20
- package/components/sheet/components/sheet/sheet.component.d.ts +0 -31
- package/components/sheet/components/sheet/sheet.providers.d.ts +0 -2
- package/components/sheet/components/sheet-bar/sheet-bar.component.d.ts +0 -10
- package/components/sheet/components/sheet-heading/sheet-heading.component.d.ts +0 -14
- package/components/sheet/components/sheets-host/sheets-host.component.d.ts +0 -15
- package/components/sheet/directives/sheet-close/sheet-close.directive.d.ts +0 -14
- package/components/sheet/directives/sheet-stop/sheet-stop.directive.d.ts +0 -9
- package/components/sheet/directives/sheet-top/sheet-top.directive.d.ts +0 -14
- package/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.d.ts +0 -17
- package/components/sheet/index.d.ts +0 -14
- package/components/sheet/sheet-options.d.ts +0 -27
- package/components/sheet/sheet-tokens.d.ts +0 -18
- package/components/sheet/sheet.d.ts +0 -21
- package/components/sheet/sheet.directive.d.ts +0 -17
- package/components/sheet/sheet.module.d.ts +0 -24
- package/components/sheet/sheet.service.d.ts +0 -17
- package/components/table-bar/index.d.ts +0 -4
- package/components/table-bar/table-bar.component.d.ts +0 -17
- package/components/table-bar/table-bar.directive.d.ts +0 -11
- package/components/table-bar/table-bar.options.d.ts +0 -31
- package/components/table-bar/table-bars-host.component.d.ts +0 -10
- package/components/table-bar/table-bars.service.d.ts +0 -11
- 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
- package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +0 -197
- package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +0 -1
- package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +0 -272
- package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +0 -1
- package/fesm2022/taiga-ui-legacy-components-input-month.mjs +0 -231
- package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +0 -1
- package/fesm2022/taiga-ui-legacy-components-input-password.mjs +0 -187
- package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +0 -1
- package/fesm2022/taiga-ui-legacy-components-island.mjs +0 -68
- package/fesm2022/taiga-ui-legacy-components-island.mjs.map +0 -1
- package/fesm2022/taiga-ui-legacy-components-sheet.mjs +0 -574
- package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +0 -1
- package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +0 -145
- package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-input-number.mjs","sources":["../../../projects/legacy/components/input-number/input-number.options.ts","../../../projects/legacy/components/input-number/input-number.component.ts","../../../projects/legacy/components/input-number/input-number.template.html","../../../projects/legacy/components/input-number/input-number.directive.ts","../../../projects/legacy/components/input-number/input-number.module.ts","../../../projects/legacy/components/input-number/taiga-ui-legacy-components-input-number.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\n/**\n * @deprecated use new version of {@link TuiInputNumberOptions} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\nexport interface TuiInputNumberOptions {\n readonly icons: Readonly<{\n down: string;\n up: string;\n }>;\n readonly max: number;\n readonly min: number;\n readonly step: number;\n}\n\n/**\n * @deprecated use new version of {@link TUI_INPUT_NUMBER_DEFAULT_OPTIONS} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\nexport const TUI_INPUT_NUMBER_DEFAULT_OPTIONS: TuiInputNumberOptions = {\n icons: {\n up: '@tui.plus',\n down: '@tui.minus',\n },\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n step: 0,\n};\n\n/**\n * @deprecated use new version of {@link TUI_INPUT_NUMBER_OPTIONS} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\nexport const TUI_INPUT_NUMBER_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_INPUT_NUMBER_OPTIONS' : '',\n {\n factory: () => TUI_INPUT_NUMBER_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * @deprecated use new version of {@link tuiInputNumberOptionsProvider} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\nexport function tuiInputNumberOptionsProvider(\n options: Partial<TuiInputNumberOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_NUMBER_OPTIONS,\n options,\n TUI_INPUT_NUMBER_DEFAULT_OPTIONS,\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n inject,\n InjectionToken,\n Input,\n type QueryList,\n ViewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {maskitoInitialCalibrationPlugin, type MaskitoOptions} from '@maskito/core';\nimport {\n maskitoCaretGuard,\n maskitoNumberOptionsGenerator,\n type MaskitoNumberParams,\n maskitoParseNumber,\n} from '@maskito/kit';\nimport {type TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {CHAR_HYPHEN, CHAR_MINUS, EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {tuiClamp, tuiIsSafeToRound} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_DEFAULT_NUMBER_FORMAT,\n TUI_NUMBER_FORMAT,\n type TuiDecimalMode,\n} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {tuiFormatNumber} from '@taiga-ui/core/utils/format';\nimport {AbstractTuiNullableControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_SIZE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {\n TUI_INPUT_NUMBER_OPTIONS,\n type TuiInputNumberOptions,\n} from './input-number.options';\n\nconst DEFAULT_MAX_LENGTH = 18;\n\n/**\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number tuiInputNumberOptionsProvider} (from @taiga-ui/kit) (property `valueTransformer`) instead\n * TODO(v5): delete it\n */\nexport const TUI_NUMBER_VALUE_TRANSFORMER = new InjectionToken<\n TuiValueTransformer<number | null>\n>(ngDevMode ? 'TUI_NUMBER_VALUE_TRANSFORMER' : '');\n\n/**\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number TuiInputNumber} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\n@Component({\n standalone: false,\n selector: 'tui-input-number',\n templateUrl: './input-number.template.html',\n styleUrls: ['./input-number.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputNumberComponent),\n tuiAsControl(TuiInputNumberComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'size',\n '(keydown.arrowDown)': 'onArrow(-step)',\n '(keydown.arrowUp)': 'onArrow(step)',\n },\n})\nexport class TuiInputNumberComponent\n extends AbstractTuiNullableControl<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly isIOS = inject(TUI_IS_IOS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly options = inject(TUI_INPUT_NUMBER_OPTIONS);\n private unfinishedValue: string | null = '';\n\n @ContentChildren(PolymorpheusOutlet, {descendants: true})\n protected readonly polymorpheusValueContent: QueryList<unknown> = EMPTY_QUERY;\n\n protected override readonly valueTransformer = inject<\n TuiValueTransformer<number | null>\n >(TUI_NUMBER_VALUE_TRANSFORMER, {optional: true});\n\n protected numberFormat = TUI_DEFAULT_NUMBER_FORMAT;\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly numberFormat$ = inject(TUI_NUMBER_FORMAT)\n .pipe(tuiWatch(this.cdr), takeUntilDestroyed())\n .subscribe((format) => {\n this.numberFormat = format;\n });\n\n @Input()\n public min: number | null = this.options.min;\n\n @Input()\n public max: number | null = this.options.max;\n\n @Input()\n public step = this.options.step;\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return !this.textfield || this.computedDisabled\n ? null\n : this.textfield.nativeFocusableElement;\n }\n\n public get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n public get inputMode(): string {\n if (this.isIOS) {\n return this.isNegativeAllowed\n ? 'text' // iPhone does not have minus sign if inputMode equals to 'numeric' / 'decimal'\n : 'decimal';\n }\n\n /**\n * Samsung Keyboard does not minus sign for `inputmode=decimal`\n * @see https://github.com/taiga-family/taiga-ui/issues/11061#issuecomment-2939103792\n */\n return 'numeric';\n }\n\n public get calculatedMaxLength(): number {\n const decimalPart =\n !!this.precision &&\n this.nativeValue.includes(this.numberFormat.decimalSeparator);\n const precision = decimalPart ? Math.min(this.precision + 1, 20) : 0;\n const takeThousand = this.numberFormat.thousandSeparator.repeat(5).length;\n\n return DEFAULT_MAX_LENGTH + precision + takeThousand;\n }\n\n public get computedValue(): string {\n return this.focused ? this.nativeValue : this.formattedValue;\n }\n\n public onValueChange(nativeValue: string): void {\n const parsedValue = maskitoParseNumber(nativeValue, this.numberFormat);\n\n this.unfinishedValue = null;\n\n if (Number.isNaN(parsedValue)) {\n this.value = null;\n\n return;\n }\n\n if (this.isNativeValueNotFinished) {\n this.unfinishedValue = nativeValue;\n this.cdr.markForCheck();\n\n return;\n }\n\n if (parsedValue < this.computedMin || parsedValue > this.computedMax) {\n return;\n }\n\n this.value = parsedValue;\n }\n\n public override writeValue(value: number | null): void {\n super.writeValue(value);\n this.nativeValue = this.formattedValue;\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n protected get icons(): TuiInputNumberOptions['icons'] {\n return this.options.icons;\n }\n\n protected get computedMin(): number {\n return this.computeMin(this.min, this.max);\n }\n\n protected get computedMax(): number {\n return this.computeMax(this.min, this.max);\n }\n\n protected get isNegativeAllowed(): boolean {\n return this.computedMin < 0;\n }\n\n protected get formattedValue(): string {\n return this.value !== null ? this.getFormattedValue(this.value || 0) : '';\n }\n\n protected get canDecrement(): boolean {\n return this.interactive && (this.value || 0) > this.computedMin;\n }\n\n protected get canIncrement(): boolean {\n return this.interactive && (this.value || 0) < this.computedMax;\n }\n\n protected get computedPrefix(): string {\n return this.controller.prefix;\n }\n\n protected get computedPostfix(): string {\n const {postfix} = this.controller;\n\n return postfix && ` ${postfix}`;\n }\n\n protected get mask(): MaskitoOptions {\n return this.calculateMask(\n this.precision,\n this.numberFormat.decimalMode,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n this.computedMin,\n this.computedMax,\n this.computedPrefix,\n this.computedPostfix,\n );\n }\n\n protected get nativeValue(): string {\n return this.nativeFocusableElement?.value || '';\n }\n\n protected set nativeValue(value: string) {\n if (!this.textfield || !this.nativeFocusableElement) {\n return;\n }\n\n this.textfield.value = value;\n this.nativeFocusableElement.value = value;\n }\n\n protected onArrow(step: number | null): void {\n if (!step) {\n return;\n }\n\n this.value = tuiClamp(\n (this.value || 0) + step,\n this.computedMin,\n this.computedMax,\n );\n this.nativeValue = this.formattedValue;\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n\n const nativeNumberValue = this.unfinishedValue\n ? maskitoParseNumber(this.unfinishedValue, this.numberFormat)\n : this.nativeNumberValue;\n\n this.unfinishedValue = null;\n\n if (Number.isNaN(nativeNumberValue)) {\n this.nativeValue =\n focused && !this.readOnly\n ? this.computedPrefix + this.computedPostfix\n : '';\n this.value = null;\n\n return;\n }\n\n if (!focused) {\n this.value = nativeNumberValue;\n this.nativeValue = this.formattedValue;\n }\n }\n\n protected getFormattedValue(value: number): string {\n return (\n this.computedPrefix +\n tuiFormatNumber(value, {\n ...this.numberFormat,\n /**\n * Number can satisfy interval [Number.MIN_SAFE_INTEGER; Number.MAX_SAFE_INTEGER]\n * but its rounding can violate it.\n * Before BigInt support there is no perfect solution – only trade off.\n * No rounding is better than lose precision and incorrect mutation of already valid value.\n */\n precision: tuiIsSafeToRound(value, this.precision)\n ? this.precision\n : Infinity,\n }).replace(CHAR_HYPHEN, CHAR_MINUS) +\n this.computedPostfix\n );\n }\n\n private get isNativeValueNotFinished(): boolean {\n const {nativeNumberValue} = this;\n\n return nativeNumberValue < 0\n ? nativeNumberValue > this.computedMax\n : nativeNumberValue < this.computedMin;\n }\n\n private get nativeNumberValue(): number {\n return maskitoParseNumber(this.nativeValue, this.numberFormat);\n }\n\n private get precision(): number {\n return Number.isNaN(this.numberFormat.precision)\n ? 2\n : this.numberFormat.precision;\n }\n\n @tuiPure\n private computeMin(min: number | null, max: number | null): number {\n return Math.min(\n this.valueTransformer?.fromControlValue(min) ?? min ?? this.options.min,\n this.valueTransformer?.fromControlValue(max) ?? max ?? this.options.max,\n );\n }\n\n @tuiPure\n private computeMax(min: number | null, max: number | null): number {\n return Math.max(\n this.valueTransformer?.fromControlValue(min) ?? min ?? this.options.min,\n this.valueTransformer?.fromControlValue(max) ?? max ?? this.options.max,\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/max-params,max-params\n @tuiPure\n private calculateMask(\n precision: number,\n decimalMode: TuiDecimalMode,\n decimalSeparator: string,\n thousandSeparator: string,\n min: number,\n max: number,\n prefix: string,\n postfix: string,\n ): MaskitoOptions {\n const params: MaskitoNumberParams = {\n decimalSeparator,\n thousandSeparator,\n min,\n max,\n prefix,\n postfix,\n maximumFractionDigits: precision,\n minimumFractionDigits: decimalMode === 'always' ? precision : 0,\n };\n const {plugins, ...options} = maskitoNumberOptionsGenerator(params);\n const initialCalibrationPlugin = maskitoInitialCalibrationPlugin(\n maskitoNumberOptionsGenerator({\n ...params,\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n }),\n );\n\n return {\n ...options,\n plugins: [\n ...plugins,\n initialCalibrationPlugin,\n maskitoCaretGuard((value) => [\n prefix.length,\n value.length - postfix.length,\n ]),\n ],\n };\n }\n}\n","<tui-primitive-textfield\n #textfield\n tuiTextfieldPostfix=\"\"\n tuiTextfieldPrefix=\"\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"mask\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [value]=\"computedValue\"\n (focusedChange)=\"onFocused($event)\"\n (valueChange)=\"onValueChange($event)\"\n>\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n <div\n *ngIf=\"polymorpheusValueContent.length\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value-content\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text\">\n {{ text }}\n </ng-container>\n </div>\n</tui-primitive-textfield>\n\n<section\n *ngIf=\"step\"\n class=\"t-buttons\"\n>\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfield.appearance\"\n [disabled]=\"!canIncrement\"\n [iconStart]=\"icons.up\"\n (click.prevent)=\"onArrow(step)\"\n (mousedown.prevent)=\"nativeFocusableElement?.focus()\"\n >\n +\n </button>\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfield.appearance\"\n [disabled]=\"!canDecrement\"\n [iconStart]=\"icons.down\"\n (click.prevent)=\"onArrow(-step)\"\n (mousedown.prevent)=\"nativeFocusableElement?.focus()\"\n >\n -\n </button>\n</section>\n\n<ng-container *ngIf=\"polymorpheusValueContent.changes | async\" />\n\n<ng-template #valueContent>\n <ng-content select=\"tuiContent\" />\n</ng-template>\n","import {Directive, type DoCheck} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiInputNumberComponent} from './input-number.component';\n\n/**\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number TuiInputNumber} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\n@Directive({\n standalone: false,\n selector: 'tui-input-number',\n providers: [tuiAsTextfieldHost(TuiInputNumberDirective)],\n})\nexport class TuiInputNumberDirective\n extends AbstractTuiTextfieldHost<TuiInputNumberComponent>\n implements DoCheck\n{\n protected input?: HTMLInputElement;\n\n public override get value(): string {\n return this.host.computedValue;\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n public ngDoCheck(): void {\n if (!this.host.nativeFocusableElement) {\n return;\n }\n\n this.host.nativeFocusableElement.inputMode = this.host.inputMode;\n this.host.nativeFocusableElement.maxLength =\n this.host.nativeFocusableElement.maxLength > 0\n ? this.host.nativeFocusableElement.maxLength\n : this.host.calculatedMaxLength;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputNumberComponent} from './input-number.component';\nimport {TuiInputNumberDirective} from './input-number.directive';\n\n/**\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number TuiInputNumber} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\n@NgModule({\n imports: [\n CommonModule,\n MaskitoDirective,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiButton,\n ],\n declarations: [TuiInputNumberComponent, TuiInputNumberDirective],\n exports: [TuiInputNumberComponent, TuiInputNumberDirective, TuiTextfieldComponent],\n})\nexport class TuiInputNumberModule {}\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-number.mjs","sources":["../../../projects/legacy/components/input-number/input-number.options.ts","../../../projects/legacy/components/input-number/input-number.component.ts","../../../projects/legacy/components/input-number/input-number.template.html","../../../projects/legacy/components/input-number/input-number.directive.ts","../../../projects/legacy/components/input-number/input-number.module.ts","../../../projects/legacy/components/input-number/taiga-ui-legacy-components-input-number.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\n/**\n * @deprecated use new version of {@link TuiInputNumberOptions} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\nexport interface TuiInputNumberOptions {\n readonly icons: Readonly<{\n down: string;\n up: string;\n }>;\n readonly max: number;\n readonly min: number;\n readonly step: number;\n}\n\n/**\n * @deprecated use new version of {@link TUI_INPUT_NUMBER_DEFAULT_OPTIONS} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\nexport const TUI_INPUT_NUMBER_DEFAULT_OPTIONS: TuiInputNumberOptions = {\n icons: {\n up: '@tui.plus',\n down: '@tui.minus',\n },\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n step: 0,\n};\n\n/**\n * @deprecated use new version of {@link TUI_INPUT_NUMBER_OPTIONS} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\nexport const TUI_INPUT_NUMBER_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_INPUT_NUMBER_OPTIONS' : '',\n {\n factory: () => TUI_INPUT_NUMBER_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * @deprecated use new version of {@link tuiInputNumberOptionsProvider} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\nexport function tuiInputNumberOptionsProvider(\n options: Partial<TuiInputNumberOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_NUMBER_OPTIONS,\n options,\n TUI_INPUT_NUMBER_DEFAULT_OPTIONS,\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n inject,\n InjectionToken,\n Input,\n type QueryList,\n ViewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {maskitoInitialCalibrationPlugin, type MaskitoOptions} from '@maskito/core';\nimport {\n maskitoCaretGuard,\n maskitoNumberOptionsGenerator,\n type MaskitoNumberParams,\n maskitoParseNumber,\n} from '@maskito/kit';\nimport {type TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {CHAR_HYPHEN, CHAR_MINUS, EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {tuiClamp, tuiIsSafeToRound} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_DEFAULT_NUMBER_FORMAT,\n TUI_NUMBER_FORMAT,\n type TuiDecimalMode,\n} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {tuiFormatNumber} from '@taiga-ui/core/utils/format';\nimport {AbstractTuiNullableControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_SIZE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {\n TUI_INPUT_NUMBER_OPTIONS,\n type TuiInputNumberOptions,\n} from './input-number.options';\n\nconst DEFAULT_MAX_LENGTH = 18;\n\n/**\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number tuiInputNumberOptionsProvider} (from @taiga-ui/kit) (property `valueTransformer`) instead\n * TODO(v5): delete it\n */\nexport const TUI_NUMBER_VALUE_TRANSFORMER = new InjectionToken<\n TuiValueTransformer<number | null>\n>(ngDevMode ? 'TUI_NUMBER_VALUE_TRANSFORMER' : '');\n\n/**\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number TuiInputNumber} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\n@Component({\n standalone: false,\n selector: 'tui-input-number',\n templateUrl: './input-number.template.html',\n styleUrls: ['./input-number.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputNumberComponent),\n tuiAsControl(TuiInputNumberComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'size',\n '(keydown.arrowDown)': 'onArrow(-step)',\n '(keydown.arrowUp)': 'onArrow(step)',\n },\n})\nexport class TuiInputNumberComponent\n extends AbstractTuiNullableControl<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly isIOS = inject(TUI_IS_IOS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly options = inject(TUI_INPUT_NUMBER_OPTIONS);\n private unfinishedValue: string | null = '';\n\n @ContentChildren(PolymorpheusOutlet, {descendants: true})\n protected readonly polymorpheusValueContent: QueryList<unknown> = EMPTY_QUERY;\n\n protected override readonly valueTransformer = inject<\n TuiValueTransformer<number | null>\n >(TUI_NUMBER_VALUE_TRANSFORMER, {optional: true});\n\n protected numberFormat = TUI_DEFAULT_NUMBER_FORMAT;\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly numberFormat$ = inject(TUI_NUMBER_FORMAT)\n .pipe(tuiWatch(this.cdr), takeUntilDestroyed())\n .subscribe((format) => {\n this.numberFormat = format;\n });\n\n @Input()\n public min: number | null = this.options.min;\n\n @Input()\n public max: number | null = this.options.max;\n\n @Input()\n public step = this.options.step;\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return !this.textfield || this.computedDisabled\n ? null\n : this.textfield.nativeFocusableElement;\n }\n\n public get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n public get inputMode(): string {\n if (this.isIOS) {\n return this.isNegativeAllowed\n ? 'text' // iPhone does not have minus sign if inputMode equals to 'numeric' / 'decimal'\n : 'decimal';\n }\n\n /**\n * Samsung Keyboard does not minus sign for `inputmode=decimal`\n * @see https://github.com/taiga-family/taiga-ui/issues/11061#issuecomment-2939103792\n */\n return 'numeric';\n }\n\n public get calculatedMaxLength(): number {\n const decimalPart =\n !!this.precision &&\n this.nativeValue.includes(this.numberFormat.decimalSeparator);\n const precision = decimalPart ? Math.min(this.precision + 1, 20) : 0;\n const takeThousand = this.numberFormat.thousandSeparator.repeat(5).length;\n\n return DEFAULT_MAX_LENGTH + precision + takeThousand;\n }\n\n public get computedValue(): string {\n return this.focused ? this.nativeValue : this.formattedValue;\n }\n\n public onValueChange(nativeValue: string): void {\n const parsedValue = maskitoParseNumber(nativeValue, this.numberFormat);\n\n this.unfinishedValue = null;\n\n if (Number.isNaN(parsedValue)) {\n this.value = null;\n\n return;\n }\n\n if (this.isNativeValueNotFinished) {\n this.unfinishedValue = nativeValue;\n this.cdr.markForCheck();\n\n return;\n }\n\n if (parsedValue < this.computedMin || parsedValue > this.computedMax) {\n return;\n }\n\n this.value = parsedValue;\n }\n\n public override writeValue(value: number | null): void {\n super.writeValue(value);\n this.nativeValue = this.formattedValue;\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n protected get icons(): TuiInputNumberOptions['icons'] {\n return this.options.icons;\n }\n\n protected get computedMin(): number {\n return this.computeMin(this.min, this.max);\n }\n\n protected get computedMax(): number {\n return this.computeMax(this.min, this.max);\n }\n\n protected get isNegativeAllowed(): boolean {\n return this.computedMin < 0;\n }\n\n protected get formattedValue(): string {\n return this.value !== null ? this.getFormattedValue(this.value || 0) : '';\n }\n\n protected get canDecrement(): boolean {\n return this.interactive && (this.value || 0) > this.computedMin;\n }\n\n protected get canIncrement(): boolean {\n return this.interactive && (this.value || 0) < this.computedMax;\n }\n\n protected get computedPrefix(): string {\n return this.controller.prefix;\n }\n\n protected get computedPostfix(): string {\n const {postfix} = this.controller;\n\n return postfix && ` ${postfix}`;\n }\n\n protected get mask(): MaskitoOptions {\n return this.calculateMask(\n this.precision,\n this.numberFormat.decimalMode,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n this.computedMin,\n this.computedMax,\n this.computedPrefix,\n this.computedPostfix,\n );\n }\n\n protected get nativeValue(): string {\n return this.nativeFocusableElement?.value || '';\n }\n\n protected set nativeValue(value: string) {\n if (!this.textfield || !this.nativeFocusableElement) {\n return;\n }\n\n this.textfield.value = value;\n this.nativeFocusableElement.value = value;\n }\n\n protected onArrow(step: number | null): void {\n if (!step) {\n return;\n }\n\n this.value = tuiClamp(\n (this.value || 0) + step,\n this.computedMin,\n this.computedMax,\n );\n this.nativeValue = this.formattedValue;\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n\n const nativeNumberValue = this.unfinishedValue\n ? maskitoParseNumber(this.unfinishedValue, this.numberFormat)\n : this.nativeNumberValue;\n\n this.unfinishedValue = null;\n\n if (Number.isNaN(nativeNumberValue)) {\n this.nativeValue =\n focused && !this.readOnly\n ? this.computedPrefix + this.computedPostfix\n : '';\n this.value = null;\n\n return;\n }\n\n if (!focused) {\n this.value = nativeNumberValue;\n this.nativeValue = this.formattedValue;\n }\n }\n\n protected getFormattedValue(value: number): string {\n return (\n this.computedPrefix +\n tuiFormatNumber(value, {\n ...this.numberFormat,\n /**\n * Number can satisfy interval [Number.MIN_SAFE_INTEGER; Number.MAX_SAFE_INTEGER]\n * but its rounding can violate it.\n * Before BigInt support there is no perfect solution – only trade off.\n * No rounding is better than lose precision and incorrect mutation of already valid value.\n */\n precision: tuiIsSafeToRound(value, this.precision)\n ? this.precision\n : Infinity,\n }).replace(CHAR_HYPHEN, CHAR_MINUS) +\n this.computedPostfix\n );\n }\n\n private get isNativeValueNotFinished(): boolean {\n const {nativeNumberValue} = this;\n\n return nativeNumberValue < 0\n ? nativeNumberValue > this.computedMax\n : nativeNumberValue < this.computedMin;\n }\n\n private get nativeNumberValue(): number {\n return maskitoParseNumber(this.nativeValue, this.numberFormat);\n }\n\n private get precision(): number {\n return Number.isNaN(this.numberFormat.precision)\n ? 2\n : this.numberFormat.precision;\n }\n\n @tuiPure\n private computeMin(min: number | null, max: number | null): number {\n return Math.min(\n this.valueTransformer?.fromControlValue(min) ?? min ?? this.options.min,\n this.valueTransformer?.fromControlValue(max) ?? max ?? this.options.max,\n );\n }\n\n @tuiPure\n private computeMax(min: number | null, max: number | null): number {\n return Math.max(\n this.valueTransformer?.fromControlValue(min) ?? min ?? this.options.min,\n this.valueTransformer?.fromControlValue(max) ?? max ?? this.options.max,\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/max-params,max-params\n @tuiPure\n private calculateMask(\n precision: number,\n decimalMode: TuiDecimalMode,\n decimalSeparator: string,\n thousandSeparator: string,\n min: number,\n max: number,\n prefix: string,\n postfix: string,\n ): MaskitoOptions {\n const params: MaskitoNumberParams = {\n decimalSeparator,\n thousandSeparator,\n min,\n max,\n prefix,\n postfix,\n maximumFractionDigits: precision,\n minimumFractionDigits: decimalMode === 'always' ? precision : 0,\n };\n const {plugins, ...options} = maskitoNumberOptionsGenerator(params);\n const initialCalibrationPlugin = maskitoInitialCalibrationPlugin(\n maskitoNumberOptionsGenerator({\n ...params,\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n }),\n );\n\n return {\n ...options,\n plugins: [\n ...plugins,\n initialCalibrationPlugin,\n maskitoCaretGuard((value) => [\n prefix.length,\n value.length - postfix.length,\n ]),\n ],\n };\n }\n}\n","<tui-primitive-textfield\n #textfield\n tuiTextfieldPostfix=\"\"\n tuiTextfieldPrefix=\"\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"mask\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [value]=\"computedValue\"\n (focusedChange)=\"onFocused($event)\"\n (valueChange)=\"onValueChange($event)\"\n>\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n @if (polymorpheusValueContent.length) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-value-content\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text\">\n {{ text }}\n </ng-container>\n </div>\n }\n</tui-primitive-textfield>\n\n@if (step) {\n <section class=\"t-buttons\">\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfield.appearance\"\n [disabled]=\"!canIncrement\"\n [iconStart]=\"icons.up\"\n (click.prevent)=\"onArrow(step)\"\n (mousedown.prevent)=\"nativeFocusableElement?.focus()\"\n >\n +\n </button>\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfield.appearance\"\n [disabled]=\"!canDecrement\"\n [iconStart]=\"icons.down\"\n (click.prevent)=\"onArrow(-step)\"\n (mousedown.prevent)=\"nativeFocusableElement?.focus()\"\n >\n -\n </button>\n </section>\n}\n\n@if (polymorpheusValueContent.changes | async) {}\n\n<ng-template #valueContent>\n <ng-content select=\"tuiContent\" />\n</ng-template>\n","import {Directive, type DoCheck} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiInputNumberComponent} from './input-number.component';\n\n/**\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number TuiInputNumber} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\n@Directive({\n standalone: false,\n selector: 'tui-input-number',\n providers: [tuiAsTextfieldHost(TuiInputNumberDirective)],\n})\nexport class TuiInputNumberDirective\n extends AbstractTuiTextfieldHost<TuiInputNumberComponent>\n implements DoCheck\n{\n protected input?: HTMLInputElement;\n\n public override get value(): string {\n return this.host.computedValue;\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n public ngDoCheck(): void {\n if (!this.host.nativeFocusableElement) {\n return;\n }\n\n this.host.nativeFocusableElement.inputMode = this.host.inputMode;\n this.host.nativeFocusableElement.maxLength =\n this.host.nativeFocusableElement.maxLength > 0\n ? this.host.nativeFocusableElement.maxLength\n : this.host.calculatedMaxLength;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputNumberComponent} from './input-number.component';\nimport {TuiInputNumberDirective} from './input-number.directive';\n\n/**\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number TuiInputNumber} (from @taiga-ui/kit) instead\n * TODO(v5): delete it\n */\n@NgModule({\n imports: [\n CommonModule,\n MaskitoDirective,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiButton,\n ],\n declarations: [TuiInputNumberComponent, TuiInputNumberDirective],\n exports: [TuiInputNumberComponent, TuiInputNumberDirective, TuiTextfieldComponent],\n})\nexport class TuiInputNumberModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA;;;AAGG;AACU,MAAA,gCAAgC,GAA0B;AACnE,IAAA,KAAK,EAAE;AACH,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,IAAI,EAAE,YAAY;AACrB,KAAA;IACD,GAAG,EAAE,MAAM,CAAC,gBAAgB;IAC5B,GAAG,EAAE,MAAM,CAAC,gBAAgB;AAC5B,IAAA,IAAI,EAAE,CAAC;;AAGX;;;AAGG;AACU,MAAA,wBAAwB,GAAG,IAAI,cAAc,CACtD,SAAS,GAAG,0BAA0B,GAAG,EAAE,EAC3C;AACI,IAAA,OAAO,EAAE,MAAM,gCAAgC;AAClD,CAAA;AAGL;;;AAGG;AACG,SAAU,6BAA6B,CACzC,OAAuC,EAAA;IAEvC,OAAO,iBAAiB,CACpB,wBAAwB,EACxB,OAAO,EACP,gCAAgC,CACnC;AACL;;ACLA,MAAM,kBAAkB,GAAG,EAAE;AAE7B;;;AAGG;AACU,MAAA,4BAA4B,GAAG,IAAI,cAAc,CAE5D,SAAS,GAAG,8BAA8B,GAAG,EAAE;AAEjD;;;AAGG;AAkBG,MAAO,uBACT,SAAQ,0BAAkC,CAAA;AAlB9C,IAAA,WAAA,GAAA;;AAwBqB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;AAC1B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC1C,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,wBAAwB,CAAC;QACnD,IAAe,CAAA,eAAA,GAAkB,EAAE;QAGxB,IAAwB,CAAA,wBAAA,GAAuB,WAAW;QAEjD,IAAgB,CAAA,gBAAA,GAAG,MAAM,CAEnD,4BAA4B,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;QAEvC,IAAY,CAAA,YAAA,GAAG,yBAAyB;AAC/B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,gCAAgC,CAAC;AACrD,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,iBAAiB;aACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,kBAAkB,EAAE;AAC7C,aAAA,SAAS,CAAC,CAAC,MAAM,KAAI;AAClB,YAAA,IAAI,CAAC,YAAY,GAAG,MAAM;AAC9B,SAAC,CAAC;AAGC,QAAA,IAAA,CAAA,GAAG,GAAkB,IAAI,CAAC,OAAO,CAAC,GAAG;AAGrC,QAAA,IAAA,CAAA,GAAG,GAAkB,IAAI,CAAC,OAAO,CAAC,GAAG;AAGrC,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI;AAgRlC;AA9QG,IAAA,IAAW,sBAAsB,GAAA;AAC7B,QAAA,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;AAC3B,cAAE;AACF,cAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB;;AAG/C,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO;;AAGpC,IAAA,IAAW,SAAS,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,OAAO,IAAI,CAAC;kBACN,MAAM;kBACN,SAAS;;AAGnB;;;AAGG;AACH,QAAA,OAAO,SAAS;;AAGpB,IAAA,IAAW,mBAAmB,GAAA;AAC1B,QAAA,MAAM,WAAW,GACb,CAAC,CAAC,IAAI,CAAC,SAAS;YAChB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;QACjE,MAAM,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;AACpE,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;AAEzE,QAAA,OAAO,kBAAkB,GAAG,SAAS,GAAG,YAAY;;AAGxD,IAAA,IAAW,aAAa,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc;;AAGzD,IAAA,aAAa,CAAC,WAAmB,EAAA;QACpC,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC;AAEtE,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAE3B,QAAA,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;YAEjB;;AAGJ,QAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE;AAC/B,YAAA,IAAI,CAAC,eAAe,GAAG,WAAW;AAClC,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;YAEvB;;AAGJ,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;YAClE;;AAGJ,QAAA,IAAI,CAAC,KAAK,GAAG,WAAW;;AAGZ,IAAA,UAAU,CAAC,KAAoB,EAAA;AAC3C,QAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc;;AAG1C,IAAA,IAAc,IAAI,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI;;AAGlC,IAAA,IAAc,KAAK,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;;AAG7B,IAAA,IAAc,WAAW,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;;AAG9C,IAAA,IAAc,WAAW,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;;AAG9C,IAAA,IAAc,iBAAiB,GAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,WAAW,GAAG,CAAC;;AAG/B,IAAA,IAAc,cAAc,GAAA;QACxB,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE;;AAG7E,IAAA,IAAc,YAAY,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW;;AAGnE,IAAA,IAAc,YAAY,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW;;AAGnE,IAAA,IAAc,cAAc,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM;;AAGjC,IAAA,IAAc,eAAe,GAAA;AACzB,QAAA,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU;AAEjC,QAAA,OAAO,OAAO,IAAI,CAAI,CAAA,EAAA,OAAO,EAAE;;AAGnC,IAAA,IAAc,IAAI,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CAAC,WAAW,EAC7B,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAClC,IAAI,CAAC,YAAY,CAAC,iBAAiB,EACnC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,CACvB;;AAGL,IAAA,IAAc,WAAW,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;;IAGnD,IAAc,WAAW,CAAC,KAAa,EAAA;QACnC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACjD;;AAGJ,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK;AAC5B,QAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,GAAG,KAAK;;AAGnC,IAAA,OAAO,CAAC,IAAmB,EAAA;QACjC,IAAI,CAAC,IAAI,EAAE;YACP;;QAGJ,IAAI,CAAC,KAAK,GAAG,QAAQ,CACjB,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,EACxB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,CACnB;AACD,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc;;AAGhC,IAAA,SAAS,CAAC,OAAgB,EAAA;AAChC,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;AAE3B,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC;cACzB,kBAAkB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY;AAC5D,cAAE,IAAI,CAAC,iBAAiB;AAE5B,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAE3B,QAAA,IAAI,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE;AACjC,YAAA,IAAI,CAAC,WAAW;AACZ,gBAAA,OAAO,IAAI,CAAC,IAAI,CAAC;AACb,sBAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;sBAC3B,EAAE;AACZ,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;YAEjB;;QAGJ,IAAI,CAAC,OAAO,EAAE;AACV,YAAA,IAAI,CAAC,KAAK,GAAG,iBAAiB;AAC9B,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc;;;AAIpC,IAAA,iBAAiB,CAAC,KAAa,EAAA;QACrC,QACI,IAAI,CAAC,cAAc;YACnB,eAAe,CAAC,KAAK,EAAE;gBACnB,GAAG,IAAI,CAAC,YAAY;AACpB;;;;;AAKG;gBACH,SAAS,EAAE,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS;sBAC3C,IAAI,CAAC;AACP,sBAAE,QAAQ;AACjB,aAAA,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC;YACnC,IAAI,CAAC,eAAe;;AAI5B,IAAA,IAAY,wBAAwB,GAAA;AAChC,QAAA,MAAM,EAAC,iBAAiB,EAAC,GAAG,IAAI;QAEhC,OAAO,iBAAiB,GAAG;AACvB,cAAE,iBAAiB,GAAG,IAAI,CAAC;AAC3B,cAAE,iBAAiB,GAAG,IAAI,CAAC,WAAW;;AAG9C,IAAA,IAAY,iBAAiB,GAAA;QACzB,OAAO,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC;;AAGlE,IAAA,IAAY,SAAS,GAAA;QACjB,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS;AAC3C,cAAE;AACF,cAAE,IAAI,CAAC,YAAY,CAAC,SAAS;;IAI7B,UAAU,CAAC,GAAkB,EAAE,GAAkB,EAAA;AACrD,QAAA,OAAO,IAAI,CAAC,GAAG,CACX,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EACvE,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAC1E;;IAIG,UAAU,CAAC,GAAkB,EAAE,GAAkB,EAAA;AACrD,QAAA,OAAO,IAAI,CAAC,GAAG,CACX,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EACvE,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAC1E;;;AAKG,IAAA,aAAa,CACjB,SAAiB,EACjB,WAA2B,EAC3B,gBAAwB,EACxB,iBAAyB,EACzB,GAAW,EACX,GAAW,EACX,MAAc,EACd,OAAe,EAAA;AAEf,QAAA,MAAM,MAAM,GAAwB;YAChC,gBAAgB;YAChB,iBAAiB;YACjB,GAAG;YACH,GAAG;YACH,MAAM;YACN,OAAO;AACP,YAAA,qBAAqB,EAAE,SAAS;YAChC,qBAAqB,EAAE,WAAW,KAAK,QAAQ,GAAG,SAAS,GAAG,CAAC;SAClE;QACD,MAAM,EAAC,OAAO,EAAE,GAAG,OAAO,EAAC,GAAG,6BAA6B,CAAC,MAAM,CAAC;AACnE,QAAA,MAAM,wBAAwB,GAAG,+BAA+B,CAC5D,6BAA6B,CAAC;AAC1B,YAAA,GAAG,MAAM;YACT,GAAG,EAAE,MAAM,CAAC,gBAAgB;YAC5B,GAAG,EAAE,MAAM,CAAC,gBAAgB;AAC/B,SAAA,CAAC,CACL;QAED,OAAO;AACH,YAAA,GAAG,OAAO;AACV,YAAA,OAAO,EAAE;AACL,gBAAA,GAAG,OAAO;gBACV,wBAAwB;AACxB,gBAAA,iBAAiB,CAAC,CAAC,KAAK,KAAK;AACzB,oBAAA,MAAM,CAAC,MAAM;AACb,oBAAA,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;iBAChC,CAAC;AACL,aAAA;SACJ;;+GAhTI,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAXrB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,SAAA,EAAA;YACP,0BAA0B,CAAC,uBAAuB,CAAC;YACnD,YAAY,CAAC,uBAAuB,CAAC;YACrC,6BAA6B;AAChC,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,SAAA,EAmBgB,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EARxB,8BAA8B,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpF7C,wiEAyEA,EAAA,MAAA,EAAA,CAAA,onCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,8BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,8BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AD+PY,UAAA,CAAA;IADP;AAMA,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,IAAA,CAAA;AAGO,UAAA,CAAA;IADP;AAMA,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,IAAA,CAAA;AAIO,UAAA,CAAA;IADP;AAyCA,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,IAAA,CAAA;4FAjTQ,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAjBnC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,YACP,kBAAkB,EAAA,eAAA,EAGX,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA,0BAA0B,CAAyB,uBAAA,CAAA;AACnD,wBAAA,YAAY,CAAyB,uBAAA,CAAA;wBACrC,6BAA6B;qBAChC,EACK,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,qBAAqB,EAAE,gBAAgB;AACvC,wBAAA,mBAAmB,EAAE,eAAe;AACvC,qBAAA,EAAA,QAAA,EAAA,wiEAAA,EAAA,MAAA,EAAA,CAAA,onCAAA,CAAA,EAAA;8BAOgB,SAAS,EAAA,CAAA;sBADzB,SAAS;uBAAC,8BAA8B;gBAStB,wBAAwB,EAAA,CAAA;sBAD1C,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,kBAAkB,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC;gBAgBjD,GAAG,EAAA,CAAA;sBADT;gBAIM,GAAG,EAAA,CAAA;sBADT;gBAIM,IAAI,EAAA,CAAA;sBADV;gBAuNO,UAAU,EAAA,EAAA,EAQV,UAAU,EAAA,EAAA,EASV,aAAa,EAAA,EAAA,EAAA,EAAA,CAAA;;AEnVzB;;;AAGG;AAMG,MAAO,uBACT,SAAQ,wBAAiD,CAAA;AAKzD,IAAA,IAAoB,KAAK,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa;;AAG3B,IAAA,aAAa,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;;IAG3B,SAAS,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACnC;;AAGJ,QAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS;AAChE,QAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,SAAS;AACtC,YAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,SAAS,GAAG;AACzC,kBAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC;AACnC,kBAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB;;+GAvBlC,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,gEAFrB,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAE/C,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,SAAS,EAAE,CAAC,kBAAkB,CAAA,uBAAA,CAAyB,CAAC;AAC3D,iBAAA;;;ACGD;;;AAGG;MAeU,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAHd,YAAA,EAAA,CAAA,uBAAuB,EAAE,uBAAuB,aAT3D,YAAY;YACZ,gBAAgB;YAChB,2BAA2B;YAC3B,4BAA4B;YAC5B,sBAAsB;YACtB,kBAAkB;YAClB,oBAAoB;AACpB,YAAA,SAAS,CAGH,EAAA,OAAA,EAAA,CAAA,uBAAuB,EAAE,uBAAuB,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAExE,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAZzB,YAAY;YAEZ,2BAA2B;YAC3B,4BAA4B;YAC5B,sBAAsB,CAAA,EAAA,CAAA,CAAA;;4FAQjB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAdhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,gBAAgB;wBAChB,2BAA2B;wBAC3B,4BAA4B;wBAC5B,sBAAsB;wBACtB,kBAAkB;wBAClB,oBAAoB;wBACpB,SAAS;AACZ,qBAAA;AACD,oBAAA,YAAY,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;AAChE,oBAAA,OAAO,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,EAAE,qBAAqB,CAAC;AACrF,iBAAA;;;AClCD;;AAEG;;;;"}
|
|
@@ -2,7 +2,7 @@ import { __decorate } from 'tslib';
|
|
|
2
2
|
import * as i2 from '@angular/common';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { InjectionToken, inject, EventEmitter,
|
|
5
|
+
import { InjectionToken, inject, EventEmitter, Input, Output, ViewChild, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
6
6
|
import * as i3 from '@angular/forms';
|
|
7
7
|
import { FormsModule } from '@angular/forms';
|
|
8
8
|
import { TUI_NON_DIGITS_REGEXP, CHAR_PLUS } from '@taiga-ui/cdk/constants';
|
|
@@ -11,7 +11,7 @@ import * as i4 from '@taiga-ui/core/components/data-list';
|
|
|
11
11
|
import { TuiDataList } from '@taiga-ui/core/components/data-list';
|
|
12
12
|
import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
|
|
13
13
|
import * as i1 from '@taiga-ui/core/directives/dropdown';
|
|
14
|
-
import {
|
|
14
|
+
import { TuiDropdownFixed, TuiDropdown } from '@taiga-ui/core/directives/dropdown';
|
|
15
15
|
import { TuiGroup } from '@taiga-ui/core/directives/group';
|
|
16
16
|
import * as i5 from '@taiga-ui/core/directives/hint';
|
|
17
17
|
import { TuiHint } from '@taiga-ui/core/directives/hint';
|
|
@@ -20,9 +20,9 @@ import { TUI_COUNTRIES } from '@taiga-ui/kit/tokens';
|
|
|
20
20
|
import { AbstractTuiControl, tuiAsControl } from '@taiga-ui/legacy/classes';
|
|
21
21
|
import { TUI_ARROW } from '@taiga-ui/legacy/components/arrow';
|
|
22
22
|
import * as i6 from '@taiga-ui/legacy/components/input-phone';
|
|
23
|
-
import {
|
|
23
|
+
import { TuiInputPhoneModule, TuiInputPhoneComponent } from '@taiga-ui/legacy/components/input-phone';
|
|
24
24
|
import * as i7 from '@taiga-ui/legacy/components/primitive-textfield';
|
|
25
|
-
import {
|
|
25
|
+
import { TuiPrimitiveTextfieldModule, TuiPrimitiveTextfieldComponent } from '@taiga-ui/legacy/components/primitive-textfield';
|
|
26
26
|
import * as i8 from '@taiga-ui/legacy/directives';
|
|
27
27
|
import { TUI_TEXTFIELD_SIZE, TuiLegacyDropdownOpenMonitorDirective, TuiTextfieldControllerModule } from '@taiga-ui/legacy/directives';
|
|
28
28
|
import { TuiToCountryCodePipe, TuiIsoToCountryCodePipe } from '@taiga-ui/legacy/pipes';
|
|
@@ -156,19 +156,19 @@ class TuiInputPhoneInternationalComponent extends AbstractTuiControl {
|
|
|
156
156
|
this.countryIsoCode = code;
|
|
157
157
|
this.countryIsoCodeChange.emit(code);
|
|
158
158
|
}
|
|
159
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
160
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
159
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputPhoneInternationalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
160
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiInputPhoneInternationalComponent, isStandalone: true, selector: "tui-input-phone-international", inputs: { countries: "countries", isoCode: ["countryIsoCode", "isoCode"] }, outputs: { countryIsoCodeChange: "countryIsoCodeChange" }, host: { listeners: { "paste.capture.prevent.stop": "onPaste($event)", "drop.capture.prevent.stop": "onPaste($event)" }, properties: { "attr.data-size": "size" } }, providers: [
|
|
161
161
|
tuiAsFocusableItemAccessor(TuiInputPhoneInternationalComponent),
|
|
162
162
|
tuiAsControl(TuiInputPhoneInternationalComponent),
|
|
163
163
|
TuiToCountryCodePipe,
|
|
164
|
-
], viewQueries: [{ propertyName: "inputPhoneComponent", first: true, predicate: TuiInputPhoneComponent, descendants: true }, { propertyName: "primitiveTextfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownFixed }], ngImport: i0, template: "
|
|
164
|
+
], viewQueries: [{ propertyName: "inputPhoneComponent", first: true, predicate: TuiInputPhoneComponent, descendants: true }, { propertyName: "primitiveTextfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownFixed }], ngImport: i0, template: "@if (countriesNames$ | async; as countriesNames) {\n <div\n tuiDropdownOpenMonitor\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"!readOnly\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n >\n <div tuiGroup>\n <tui-primitive-textfield\n tuiHintContent=\"\"\n tuiTextfieldPostfix=\"\"\n tuiTextfieldPrefix=\"\"\n class=\"t-country-select\"\n [disabled]=\"disabled\"\n [editable]=\"false\"\n [focusable]=\"focusable\"\n [pseudoFocus]=\"open || null\"\n [readOnly]=\"readOnly\"\n [style.flex]=\"'0 0 auto'\"\n [tuiTextfieldCustomContent]=\"countryValueContent\"\n [tuiTextfieldIcon]=\"icon\"\n [tuiTextfieldLabelOutside]=\"true\"\n />\n <tui-input-phone\n class=\"t-input-phone\"\n [countryCode]=\"inputPhoneCountryCode\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [ngModelOptions]=\"{standalone: true}\"\n [phoneMaskAfterCountryCode]=\"phoneMaskAfterCountryCode\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [style.flex]=\"'0 0 auto'\"\n [(ngModel)]=\"value\"\n >\n <ng-content />\n <input\n autocomplete=\"new-password\"\n tuiTextfieldLegacy\n />\n </tui-input-phone>\n </div>\n <ng-template #dropdown>\n <tui-data-list>\n @for (item of countries; track item) {\n <button\n tuiOption\n type=\"button\"\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiIsoToCountryCode }}\n </span>\n </button>\n }\n </tui-data-list>\n </ng-template>\n <ng-template #countryValueContent>\n <img\n class=\"t-flag t-flag_select\"\n [alt]=\"countriesNames[countryIsoCode]\"\n [src]=\"countryIsoCode | tuiFlag\"\n />\n </ng-template>\n <ng-template #icon>\n <div tuiAppearance=\"icon\">\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n </div>\n}\n", styles: [":host{display:block}:host._disabled,:host :host-context(*:disabled){pointer-events:none}.t-country-select{inline-size:5.625rem}.t-country-select:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}.t-country-select._readonly ::ng-deep input{cursor:default}.t-country-select[data-size=m]{inline-size:5.5rem}.t-country-select[data-size=s]{inline-size:2rem}.t-country-select[data-size=s] .t-flag{margin-inline-start:-1rem}.t-input-phone{flex:1}.t-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:50%}.t-flag_select{margin-inline-start:-.5rem}.t-country-item-name{margin-inline-start:.75rem;margin-inline-end:auto}.t-country-item-code{color:var(--tui-text-secondary);margin-inline-end:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { 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: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "component", type: i4.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i4.TuiOption, selector: "button[tuiOption]:not([new]), a[tuiOption]:not([new]), label[tuiOption]:not([new])", inputs: ["disabled", "value"] }, { 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: TuiFlagPipe, name: "tuiFlag" }, { kind: "directive", type: TuiGroup, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "collapsed", "rounded", "size"] }, { kind: "directive", type: i5.TuiHintOptionsDirective, selector: "[tuiHintContent]", inputs: ["tuiHintContent", "tuiHintDirection", "tuiHintAppearance", "tuiHintShowDelay", "tuiHintHideDelay"] }, { kind: "ngmodule", type: TuiInputPhoneModule }, { kind: "component", type: i6.TuiInputPhoneComponent, selector: "tui-input-phone", inputs: ["phoneMaskAfterCountryCode", "allowText", "search", "countryCode"], outputs: ["searchChange"] }, { kind: "directive", type: i6.TuiInputPhoneDirective, selector: "tui-input-phone" }, { kind: "component", type: i7.TuiTextfieldComponent, selector: "input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]" }, { kind: "pipe", type: TuiIsoToCountryCodePipe, name: "tuiIsoToCountryCode" }, { kind: "directive", type: TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "ngmodule", type: TuiPrimitiveTextfieldModule }, { kind: "component", type: i7.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i7.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "ngmodule", type: TuiTextfieldControllerModule }, { kind: "directive", type: i8.TuiTextfieldCustomContentDirective, selector: "[tuiTextfieldCustomContent]", inputs: ["tuiTextfieldCustomContent"] }, { kind: "directive", type: i8.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { kind: "directive", type: i8.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i8.TuiTextfieldPrefixDirective, selector: "[tuiTextfieldPrefix]", inputs: ["tuiTextfieldPrefix"] }, { kind: "directive", type: i8.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
165
165
|
}
|
|
166
166
|
__decorate([
|
|
167
167
|
tuiPure
|
|
168
168
|
], TuiInputPhoneInternationalComponent.prototype, "calculateMaskAfterCountryCode", null);
|
|
169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputPhoneInternationalComponent, decorators: [{
|
|
170
170
|
type: Component,
|
|
171
|
-
args: [{
|
|
171
|
+
args: [{ selector: 'tui-input-phone-international', imports: [
|
|
172
172
|
CommonModule,
|
|
173
173
|
FormsModule,
|
|
174
174
|
PolymorpheusOutlet,
|
|
@@ -191,7 +191,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
191
191
|
'[attr.data-size]': 'size',
|
|
192
192
|
'(paste.capture.prevent.stop)': 'onPaste($event)',
|
|
193
193
|
'(drop.capture.prevent.stop)': 'onPaste($event)',
|
|
194
|
-
}, template: "
|
|
194
|
+
}, template: "@if (countriesNames$ | async; as countriesNames) {\n <div\n tuiDropdownOpenMonitor\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"!readOnly\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n >\n <div tuiGroup>\n <tui-primitive-textfield\n tuiHintContent=\"\"\n tuiTextfieldPostfix=\"\"\n tuiTextfieldPrefix=\"\"\n class=\"t-country-select\"\n [disabled]=\"disabled\"\n [editable]=\"false\"\n [focusable]=\"focusable\"\n [pseudoFocus]=\"open || null\"\n [readOnly]=\"readOnly\"\n [style.flex]=\"'0 0 auto'\"\n [tuiTextfieldCustomContent]=\"countryValueContent\"\n [tuiTextfieldIcon]=\"icon\"\n [tuiTextfieldLabelOutside]=\"true\"\n />\n <tui-input-phone\n class=\"t-input-phone\"\n [countryCode]=\"inputPhoneCountryCode\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [ngModelOptions]=\"{standalone: true}\"\n [phoneMaskAfterCountryCode]=\"phoneMaskAfterCountryCode\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [style.flex]=\"'0 0 auto'\"\n [(ngModel)]=\"value\"\n >\n <ng-content />\n <input\n autocomplete=\"new-password\"\n tuiTextfieldLegacy\n />\n </tui-input-phone>\n </div>\n <ng-template #dropdown>\n <tui-data-list>\n @for (item of countries; track item) {\n <button\n tuiOption\n type=\"button\"\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiIsoToCountryCode }}\n </span>\n </button>\n }\n </tui-data-list>\n </ng-template>\n <ng-template #countryValueContent>\n <img\n class=\"t-flag t-flag_select\"\n [alt]=\"countriesNames[countryIsoCode]\"\n [src]=\"countryIsoCode | tuiFlag\"\n />\n </ng-template>\n <ng-template #icon>\n <div tuiAppearance=\"icon\">\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n </div>\n}\n", styles: [":host{display:block}:host._disabled,:host :host-context(*:disabled){pointer-events:none}.t-country-select{inline-size:5.625rem}.t-country-select:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}.t-country-select._readonly ::ng-deep input{cursor:default}.t-country-select[data-size=m]{inline-size:5.5rem}.t-country-select[data-size=s]{inline-size:2rem}.t-country-select[data-size=s] .t-flag{margin-inline-start:-1rem}.t-input-phone{flex:1}.t-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:50%}.t-flag_select{margin-inline-start:-.5rem}.t-country-item-name{margin-inline-start:.75rem;margin-inline-end:auto}.t-country-item-code{color:var(--tui-text-secondary);margin-inline-end:.25rem}\n"] }]
|
|
195
195
|
}], propDecorators: { inputPhoneComponent: [{
|
|
196
196
|
type: ViewChild,
|
|
197
197
|
args: [TuiInputPhoneComponent]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-input-phone-international.mjs","sources":["../../../projects/legacy/components/input-phone-international/input-phone-international.options.ts","../../../projects/legacy/components/input-phone-international/utils/extract-value-from-event.ts","../../../projects/legacy/components/input-phone-international/input-phone-international.component.ts","../../../projects/legacy/components/input-phone-international/input-phone-international.template.html","../../../projects/legacy/components/input-phone-international/taiga-ui-legacy-components-input-phone-international.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiCountryIsoCode} from '@taiga-ui/i18n/types';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}\n * https://taiga-ui.dev/components/input-phone-international\n */\nexport interface TuiInputPhoneInternationalOptions {\n readonly countries: readonly TuiCountryIsoCode[];\n readonly countryIsoCode: TuiCountryIsoCode;\n}\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}\n * https://taiga-ui.dev/components/input-phone-international\n */\nexport const TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS: TuiInputPhoneInternationalOptions =\n {\n countries: [],\n countryIsoCode: 'RU',\n };\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}\n * https://taiga-ui.dev/components/input-phone-international\n */\nexport const TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS' : '',\n {\n factory: () => TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}\n * https://taiga-ui.dev/components/input-phone-international\n */\nexport function tuiInputPhoneInternationalOptionsProvider(\n options: Partial<TuiInputPhoneInternationalOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS,\n options,\n TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS,\n );\n}\n","import {tuiGetClipboardDataText} from '@taiga-ui/cdk/utils/dom';\n\n/**\n * @deprecated: drop in v5.0\n */\nexport function tuiExtractValueFromEvent(event: ClipboardEvent | DragEvent): string {\n return 'dataTransfer' in event\n ? event.dataTransfer?.getData('text/plain') || ''\n : tuiGetClipboardDataText(event);\n}\n","import {CommonModule} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {CHAR_PLUS, TUI_NON_DIGITS_REGEXP} from '@taiga-ui/cdk/constants';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiDropdown, TuiDropdownFixed} from '@taiga-ui/core/directives/dropdown';\nimport {TuiGroup} from '@taiga-ui/core/directives/group';\nimport {TuiHint} from '@taiga-ui/core/directives/hint';\nimport {TuiFlagPipe} from '@taiga-ui/core/pipes/flag';\nimport {type TuiSizeL, type TuiSizeM, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type TuiCountryIsoCode} from '@taiga-ui/i18n/types';\nimport {TUI_COUNTRIES} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TUI_ARROW} from '@taiga-ui/legacy/components/arrow';\nimport {\n TuiInputPhoneComponent,\n TuiInputPhoneModule,\n} from '@taiga-ui/legacy/components/input-phone';\nimport {\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldModule,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TUI_TEXTFIELD_SIZE,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/legacy/directives';\nimport {TuiIsoToCountryCodePipe, TuiToCountryCodePipe} from '@taiga-ui/legacy/pipes';\nimport {\n TUI_COUNTRIES_MASKS,\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {tuiGetMaxAllowedPhoneLength, tuiIsoToCountryCode} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS} from './input-phone-international.options';\nimport {tuiExtractValueFromEvent} from './utils/extract-value-from-event';\n\nconst MASK_SYMBOLS = /[ \\-_()]/g;\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}\n * https://taiga-ui.dev/components/input-phone-international\n */\n@Component({\n standalone: true,\n selector: 'tui-input-phone-international',\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n TuiAppearance,\n TuiDataList,\n TuiDropdown,\n TuiFlagPipe,\n TuiGroup,\n TuiHint,\n TuiInputPhoneModule,\n TuiIsoToCountryCodePipe,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n ],\n templateUrl: './input-phone-international.template.html',\n styleUrls: ['./input-phone-international.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputPhoneInternationalComponent),\n tuiAsControl(TuiInputPhoneInternationalComponent),\n TuiToCountryCodePipe,\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n '(paste.capture.prevent.stop)': 'onPaste($event)',\n '(drop.capture.prevent.stop)': 'onPaste($event)',\n },\n})\nexport class TuiInputPhoneInternationalComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiInputPhoneComponent)\n private readonly inputPhoneComponent?: TuiInputPhoneComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly primitiveTextfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly options = inject(TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS);\n private readonly extractCountryCodePipe = inject(TuiToCountryCodePipe);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n protected open = false;\n protected readonly countriesNames$ = inject(TUI_COUNTRIES);\n protected readonly countriesMasks = inject(TUI_COUNTRIES_MASKS);\n protected readonly arrow: PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>\n > = TUI_ARROW;\n\n @Input()\n public countries = this.options.countries;\n\n @Output()\n public readonly countryIsoCodeChange = new EventEmitter<TuiCountryIsoCode>();\n\n public countryIsoCode = this.options.countryIsoCode;\n\n @Input('countryIsoCode')\n public set isoCode(code: TuiCountryIsoCode) {\n if (this.countryIsoCode === code) {\n return;\n }\n\n this.inputPhoneComponent?.writeValue(this.value);\n this.countryIsoCode = code;\n }\n\n public get nativeFocusableElement(): HTMLElement | null {\n return this.inputPhoneComponent && !this.computedDisabled\n ? this.inputPhoneComponent.nativeFocusableElement\n : null;\n }\n\n public get focused(): boolean {\n return (\n (!!this.primitiveTextfield && this.primitiveTextfield.focused) ||\n (!!this.inputPhoneComponent && this.inputPhoneComponent.focused)\n );\n }\n\n public get inputPhoneCountryCode(): string {\n return tuiIsoToCountryCode(this.countriesMasks, this.countryIsoCode);\n }\n\n public get phoneMaskAfterCountryCode(): string {\n const countryCode = this.inputPhoneCountryCode;\n\n return this.calculateMaskAfterCountryCode(\n this.countriesMasks[this.countryIsoCode],\n countryCode,\n );\n }\n\n public onPaste(event: ClipboardEvent | DragEvent): void {\n let value = tuiExtractValueFromEvent(event).replace(TUI_NON_DIGITS_REGEXP, '');\n const countryIsoCode = this.extractCountryCodePipe.transform(\n value,\n this.countries,\n );\n\n if (!countryIsoCode) {\n this.value = `${this.inputPhoneCountryCode}${value}`\n .replaceAll(MASK_SYMBOLS, '')\n .slice(\n 0,\n tuiGetMaxAllowedPhoneLength(this.countriesMasks, this.countryIsoCode),\n );\n\n return;\n }\n\n if (countryIsoCode === 'RU') {\n value = value.replace(/^8/, '7');\n }\n\n this.updateCountryIsoCode(countryIsoCode);\n this.value = `${CHAR_PLUS}${value}`;\n }\n\n public onItemClick(isoCode: TuiCountryIsoCode): void {\n this.open = false;\n this.updateCountryIsoCode(isoCode);\n // recalculates mask inside inputPhone to prevent isoCode conflict\n this.cdr.detectChanges();\n\n const maxLength = tuiGetMaxAllowedPhoneLength(this.countriesMasks, isoCode);\n\n if (this.value.length > maxLength) {\n this.value = this.value.slice(0, maxLength);\n }\n\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus();\n }\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.close();\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n @tuiPure\n private calculateMaskAfterCountryCode(mask: string, countryCode: string): string {\n return mask.replace(countryCode, '').trim();\n }\n\n private close(): void {\n this.open = false;\n }\n\n private updateCountryIsoCode(code: TuiCountryIsoCode): void {\n this.countryIsoCode = code;\n this.countryIsoCodeChange.emit(code);\n }\n}\n","<div\n *ngIf=\"countriesNames$ | async as countriesNames\"\n tuiDropdownOpenMonitor\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"!readOnly\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div tuiGroup>\n <tui-primitive-textfield\n tuiHintContent=\"\"\n tuiTextfieldPostfix=\"\"\n tuiTextfieldPrefix=\"\"\n class=\"t-country-select\"\n [disabled]=\"disabled\"\n [editable]=\"false\"\n [focusable]=\"focusable\"\n [pseudoFocus]=\"open || null\"\n [readOnly]=\"readOnly\"\n [style.flex]=\"'0 0 auto'\"\n [tuiTextfieldCustomContent]=\"countryValueContent\"\n [tuiTextfieldIcon]=\"icon\"\n [tuiTextfieldLabelOutside]=\"true\"\n />\n <tui-input-phone\n class=\"t-input-phone\"\n [countryCode]=\"inputPhoneCountryCode\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [ngModelOptions]=\"{standalone: true}\"\n [phoneMaskAfterCountryCode]=\"phoneMaskAfterCountryCode\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [style.flex]=\"'0 0 auto'\"\n [(ngModel)]=\"value\"\n >\n <ng-content />\n <input\n autocomplete=\"new-password\"\n tuiTextfieldLegacy\n />\n </tui-input-phone>\n </div>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n type=\"button\"\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiIsoToCountryCode }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n\n <ng-template #countryValueContent>\n <img\n class=\"t-flag t-flag_select\"\n [alt]=\"countriesNames[countryIsoCode]\"\n [src]=\"countryIsoCode | tuiFlag\"\n />\n </ng-template>\n\n <ng-template #icon>\n <div tuiAppearance=\"icon\">\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components-input-phone-international.mjs","sources":["../../../projects/legacy/components/input-phone-international/input-phone-international.options.ts","../../../projects/legacy/components/input-phone-international/utils/extract-value-from-event.ts","../../../projects/legacy/components/input-phone-international/input-phone-international.component.ts","../../../projects/legacy/components/input-phone-international/input-phone-international.template.html","../../../projects/legacy/components/input-phone-international/taiga-ui-legacy-components-input-phone-international.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiCountryIsoCode} from '@taiga-ui/i18n/types';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}\n * https://taiga-ui.dev/components/input-phone-international\n */\nexport interface TuiInputPhoneInternationalOptions {\n readonly countries: readonly TuiCountryIsoCode[];\n readonly countryIsoCode: TuiCountryIsoCode;\n}\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}\n * https://taiga-ui.dev/components/input-phone-international\n */\nexport const TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS: TuiInputPhoneInternationalOptions =\n {\n countries: [],\n countryIsoCode: 'RU',\n };\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}\n * https://taiga-ui.dev/components/input-phone-international\n */\nexport const TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS' : '',\n {\n factory: () => TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}\n * https://taiga-ui.dev/components/input-phone-international\n */\nexport function tuiInputPhoneInternationalOptionsProvider(\n options: Partial<TuiInputPhoneInternationalOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS,\n options,\n TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS,\n );\n}\n","import {tuiGetClipboardDataText} from '@taiga-ui/cdk/utils/dom';\n\n/**\n * @deprecated: drop in v5.0\n */\nexport function tuiExtractValueFromEvent(event: ClipboardEvent | DragEvent): string {\n return 'dataTransfer' in event\n ? event.dataTransfer?.getData('text/plain') || ''\n : tuiGetClipboardDataText(event);\n}\n","import {CommonModule} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {CHAR_PLUS, TUI_NON_DIGITS_REGEXP} from '@taiga-ui/cdk/constants';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiDropdown, TuiDropdownFixed} from '@taiga-ui/core/directives/dropdown';\nimport {TuiGroup} from '@taiga-ui/core/directives/group';\nimport {TuiHint} from '@taiga-ui/core/directives/hint';\nimport {TuiFlagPipe} from '@taiga-ui/core/pipes/flag';\nimport {type TuiSizeL, type TuiSizeM, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type TuiCountryIsoCode} from '@taiga-ui/i18n/types';\nimport {TUI_COUNTRIES} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TUI_ARROW} from '@taiga-ui/legacy/components/arrow';\nimport {\n TuiInputPhoneComponent,\n TuiInputPhoneModule,\n} from '@taiga-ui/legacy/components/input-phone';\nimport {\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldModule,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TUI_TEXTFIELD_SIZE,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/legacy/directives';\nimport {TuiIsoToCountryCodePipe, TuiToCountryCodePipe} from '@taiga-ui/legacy/pipes';\nimport {\n TUI_COUNTRIES_MASKS,\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {tuiGetMaxAllowedPhoneLength, tuiIsoToCountryCode} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS} from './input-phone-international.options';\nimport {tuiExtractValueFromEvent} from './utils/extract-value-from-event';\n\nconst MASK_SYMBOLS = /[ \\-_()]/g;\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}\n * https://taiga-ui.dev/components/input-phone-international\n */\n@Component({\n selector: 'tui-input-phone-international',\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n TuiAppearance,\n TuiDataList,\n TuiDropdown,\n TuiFlagPipe,\n TuiGroup,\n TuiHint,\n TuiInputPhoneModule,\n TuiIsoToCountryCodePipe,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n ],\n templateUrl: './input-phone-international.template.html',\n styleUrls: ['./input-phone-international.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputPhoneInternationalComponent),\n tuiAsControl(TuiInputPhoneInternationalComponent),\n TuiToCountryCodePipe,\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n '(paste.capture.prevent.stop)': 'onPaste($event)',\n '(drop.capture.prevent.stop)': 'onPaste($event)',\n },\n})\nexport class TuiInputPhoneInternationalComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiInputPhoneComponent)\n private readonly inputPhoneComponent?: TuiInputPhoneComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly primitiveTextfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly options = inject(TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS);\n private readonly extractCountryCodePipe = inject(TuiToCountryCodePipe);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n protected open = false;\n protected readonly countriesNames$ = inject(TUI_COUNTRIES);\n protected readonly countriesMasks = inject(TUI_COUNTRIES_MASKS);\n protected readonly arrow: PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>\n > = TUI_ARROW;\n\n @Input()\n public countries = this.options.countries;\n\n @Output()\n public readonly countryIsoCodeChange = new EventEmitter<TuiCountryIsoCode>();\n\n public countryIsoCode = this.options.countryIsoCode;\n\n @Input('countryIsoCode')\n public set isoCode(code: TuiCountryIsoCode) {\n if (this.countryIsoCode === code) {\n return;\n }\n\n this.inputPhoneComponent?.writeValue(this.value);\n this.countryIsoCode = code;\n }\n\n public get nativeFocusableElement(): HTMLElement | null {\n return this.inputPhoneComponent && !this.computedDisabled\n ? this.inputPhoneComponent.nativeFocusableElement\n : null;\n }\n\n public get focused(): boolean {\n return (\n (!!this.primitiveTextfield && this.primitiveTextfield.focused) ||\n (!!this.inputPhoneComponent && this.inputPhoneComponent.focused)\n );\n }\n\n public get inputPhoneCountryCode(): string {\n return tuiIsoToCountryCode(this.countriesMasks, this.countryIsoCode);\n }\n\n public get phoneMaskAfterCountryCode(): string {\n const countryCode = this.inputPhoneCountryCode;\n\n return this.calculateMaskAfterCountryCode(\n this.countriesMasks[this.countryIsoCode],\n countryCode,\n );\n }\n\n public onPaste(event: ClipboardEvent | DragEvent): void {\n let value = tuiExtractValueFromEvent(event).replace(TUI_NON_DIGITS_REGEXP, '');\n const countryIsoCode = this.extractCountryCodePipe.transform(\n value,\n this.countries,\n );\n\n if (!countryIsoCode) {\n this.value = `${this.inputPhoneCountryCode}${value}`\n .replaceAll(MASK_SYMBOLS, '')\n .slice(\n 0,\n tuiGetMaxAllowedPhoneLength(this.countriesMasks, this.countryIsoCode),\n );\n\n return;\n }\n\n if (countryIsoCode === 'RU') {\n value = value.replace(/^8/, '7');\n }\n\n this.updateCountryIsoCode(countryIsoCode);\n this.value = `${CHAR_PLUS}${value}`;\n }\n\n public onItemClick(isoCode: TuiCountryIsoCode): void {\n this.open = false;\n this.updateCountryIsoCode(isoCode);\n // recalculates mask inside inputPhone to prevent isoCode conflict\n this.cdr.detectChanges();\n\n const maxLength = tuiGetMaxAllowedPhoneLength(this.countriesMasks, isoCode);\n\n if (this.value.length > maxLength) {\n this.value = this.value.slice(0, maxLength);\n }\n\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus();\n }\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.close();\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n @tuiPure\n private calculateMaskAfterCountryCode(mask: string, countryCode: string): string {\n return mask.replace(countryCode, '').trim();\n }\n\n private close(): void {\n this.open = false;\n }\n\n private updateCountryIsoCode(code: TuiCountryIsoCode): void {\n this.countryIsoCode = code;\n this.countryIsoCodeChange.emit(code);\n }\n}\n","@if (countriesNames$ | async; as countriesNames) {\n <div\n tuiDropdownOpenMonitor\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"!readOnly\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n >\n <div tuiGroup>\n <tui-primitive-textfield\n tuiHintContent=\"\"\n tuiTextfieldPostfix=\"\"\n tuiTextfieldPrefix=\"\"\n class=\"t-country-select\"\n [disabled]=\"disabled\"\n [editable]=\"false\"\n [focusable]=\"focusable\"\n [pseudoFocus]=\"open || null\"\n [readOnly]=\"readOnly\"\n [style.flex]=\"'0 0 auto'\"\n [tuiTextfieldCustomContent]=\"countryValueContent\"\n [tuiTextfieldIcon]=\"icon\"\n [tuiTextfieldLabelOutside]=\"true\"\n />\n <tui-input-phone\n class=\"t-input-phone\"\n [countryCode]=\"inputPhoneCountryCode\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [ngModelOptions]=\"{standalone: true}\"\n [phoneMaskAfterCountryCode]=\"phoneMaskAfterCountryCode\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [style.flex]=\"'0 0 auto'\"\n [(ngModel)]=\"value\"\n >\n <ng-content />\n <input\n autocomplete=\"new-password\"\n tuiTextfieldLegacy\n />\n </tui-input-phone>\n </div>\n <ng-template #dropdown>\n <tui-data-list>\n @for (item of countries; track item) {\n <button\n tuiOption\n type=\"button\"\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiIsoToCountryCode }}\n </span>\n </button>\n }\n </tui-data-list>\n </ng-template>\n <ng-template #countryValueContent>\n <img\n class=\"t-flag t-flag_select\"\n [alt]=\"countriesNames[countryIsoCode]\"\n [src]=\"countryIsoCode | tuiFlag\"\n />\n </ng-template>\n <ng-template #icon>\n <div tuiAppearance=\"icon\">\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,40 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { InjectionToken, inject, EventEmitter, TemplateRef,
|
|
3
|
+
import { InjectionToken, inject, EventEmitter, TemplateRef, Input, Output, ContentChild, ViewChild, ChangeDetectionStrategy, Component, Directive, NgModule } from '@angular/core';
|
|
4
4
|
import { maskitoTransform, MASKITO_DEFAULT_OPTIONS } from '@maskito/core';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { maskitoCaretGuard, maskitoPrefixPostprocessorGenerator } from '@maskito/kit';
|
|
6
|
+
import { tuiIsFocused } from '@taiga-ui/cdk/utils/focus';
|
|
7
7
|
import { tuiProvideOptions, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
8
|
-
import {
|
|
8
|
+
import { TuiDataListDirective, tuiAsDataListHost } from '@taiga-ui/core/components/data-list';
|
|
9
9
|
import * as i1 from '@taiga-ui/core/directives/dropdown';
|
|
10
10
|
import { TuiDropdownOpen, TuiDropdownFixed, TuiDropdown } from '@taiga-ui/core/directives/dropdown';
|
|
11
11
|
import { AbstractTuiControl, tuiAsControl, AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
|
|
12
12
|
import * as i3 from '@taiga-ui/legacy/components/primitive-textfield';
|
|
13
|
-
import { TuiPrimitiveTextfieldComponent,
|
|
13
|
+
import { TuiPrimitiveTextfieldComponent, TuiTextfieldComponent, TuiPrimitiveTextfieldModule } from '@taiga-ui/legacy/components/primitive-textfield';
|
|
14
14
|
import * as i4 from '@taiga-ui/legacy/directives';
|
|
15
15
|
import { TUI_TEXTFIELD_CLEANER, TUI_TEXTFIELD_SIZE, TuiTextfieldControllerModule, TuiValueAccessorModule, TuiLegacyDropdownOpenMonitorDirective } from '@taiga-ui/legacy/directives';
|
|
16
16
|
import { tuiAsFocusableItemAccessor, tuiAsTextfieldHost } from '@taiga-ui/legacy/tokens';
|
|
17
17
|
import * as i2 from '@maskito/angular';
|
|
18
18
|
import { MaskitoDirective } from '@maskito/angular';
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* @deprecated use {@link https://taiga-ui.dev/components/input-phone TuiInputPhone} with {@link https://taiga-ui.dev/components/textfield TuiTextfield}
|
|
22
|
+
*/
|
|
20
23
|
const TUI_INPUT_PHONE_DEFAULT_OPTIONS = {
|
|
21
24
|
phoneMaskAfterCountryCode: '### ###-##-##',
|
|
22
25
|
allowText: false,
|
|
23
26
|
countryCode: '+7',
|
|
24
27
|
};
|
|
25
28
|
/**
|
|
26
|
-
* @deprecated: drop in v5.0
|
|
27
29
|
* Default parameters for input phone component
|
|
30
|
+
* @deprecated drop in v5.0, use {@link https://taiga-ui.dev/components/input-phone TuiInputPhone} with {@link https://taiga-ui.dev/components/textfield TuiTextfield}
|
|
28
31
|
*/
|
|
29
32
|
const TUI_INPUT_PHONE_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_INPUT_PHONE_OPTIONS' : '', {
|
|
30
33
|
factory: () => TUI_INPUT_PHONE_DEFAULT_OPTIONS,
|
|
31
34
|
});
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated use {@link https://taiga-ui.dev/components/input-phone TuiInputPhone} with {@link https://taiga-ui.dev/components/textfield TuiTextfield}
|
|
37
|
+
*/
|
|
32
38
|
function tuiInputPhoneOptionsProvider(options) {
|
|
33
39
|
return tuiProvideOptions(TUI_INPUT_PHONE_OPTIONS, options, TUI_INPUT_PHONE_DEFAULT_OPTIONS);
|
|
34
40
|
}
|
|
@@ -95,6 +101,9 @@ const MASK_SYMBOLS = /[ \-_()]/g;
|
|
|
95
101
|
function isText(value) {
|
|
96
102
|
return Number.isNaN(parseInt(value.replaceAll(MASK_SYMBOLS, ''), 10));
|
|
97
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* @deprecated use {@link https://taiga-ui.dev/components/input-phone TuiInputPhone} with {@link https://taiga-ui.dev/components/textfield TuiTextfield}
|
|
106
|
+
*/
|
|
98
107
|
class TuiInputPhoneComponent extends AbstractTuiControl {
|
|
99
108
|
constructor() {
|
|
100
109
|
super(...arguments);
|
|
@@ -122,8 +131,7 @@ class TuiInputPhoneComponent extends AbstractTuiControl {
|
|
|
122
131
|
: this.textfield.nativeFocusableElement;
|
|
123
132
|
}
|
|
124
133
|
get focused() {
|
|
125
|
-
return (
|
|
126
|
-
!!this.dropdown?.tuiDropdownOpen);
|
|
134
|
+
return (tuiIsFocused(this.nativeFocusableElement) || !!this.dropdown?.tuiDropdownOpen);
|
|
127
135
|
}
|
|
128
136
|
get nativeValue() {
|
|
129
137
|
return (this.nativeFocusableElement?.value ||
|
|
@@ -246,8 +254,8 @@ class TuiInputPhoneComponent extends AbstractTuiControl {
|
|
|
246
254
|
this.nativeValue = maskitoTransform(this.value, this.maskOptions);
|
|
247
255
|
}
|
|
248
256
|
}
|
|
249
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
250
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
257
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputPhoneComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
258
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiInputPhoneComponent, isStandalone: false, selector: "tui-input-phone", inputs: { phoneMaskAfterCountryCode: "phoneMaskAfterCountryCode", allowText: "allowText", search: "search", countryCodeSetter: ["countryCode", "countryCodeSetter"] }, outputs: { searchChange: "searchChange" }, host: { properties: { "attr.data-size": "size" } }, providers: [
|
|
251
259
|
tuiAsFocusableItemAccessor(TuiInputPhoneComponent),
|
|
252
260
|
tuiAsControl(TuiInputPhoneComponent),
|
|
253
261
|
tuiAsDataListHost(TuiInputPhoneComponent),
|
|
@@ -256,7 +264,7 @@ class TuiInputPhoneComponent extends AbstractTuiControl {
|
|
|
256
264
|
__decorate([
|
|
257
265
|
tuiPure
|
|
258
266
|
], TuiInputPhoneComponent.prototype, "calculateMask", null);
|
|
259
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
267
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputPhoneComponent, decorators: [{
|
|
260
268
|
type: Component,
|
|
261
269
|
args: [{ standalone: false, selector: 'tui-input-phone', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
262
270
|
tuiAsFocusableItemAccessor(TuiInputPhoneComponent),
|
|
@@ -287,6 +295,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
287
295
|
args: ['countryCode']
|
|
288
296
|
}], calculateMask: [] } });
|
|
289
297
|
|
|
298
|
+
/**
|
|
299
|
+
* @deprecated use {@link https://taiga-ui.dev/components/input-phone TuiInputPhone} with {@link https://taiga-ui.dev/components/textfield TuiTextfield}
|
|
300
|
+
*/
|
|
290
301
|
class TuiInputPhoneDirective extends AbstractTuiTextfieldHost {
|
|
291
302
|
get value() {
|
|
292
303
|
return this.host.nativeValue;
|
|
@@ -304,10 +315,10 @@ class TuiInputPhoneDirective extends AbstractTuiTextfieldHost {
|
|
|
304
315
|
this.input.type = 'tel';
|
|
305
316
|
this.input.inputMode = this.host.inputMode;
|
|
306
317
|
}
|
|
307
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
308
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
318
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputPhoneDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
319
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiInputPhoneDirective, isStandalone: false, selector: "tui-input-phone", providers: [tuiAsTextfieldHost(TuiInputPhoneDirective)], usesInheritance: true, ngImport: i0 }); }
|
|
309
320
|
}
|
|
310
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
321
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputPhoneDirective, decorators: [{
|
|
311
322
|
type: Directive,
|
|
312
323
|
args: [{
|
|
313
324
|
standalone: false,
|
|
@@ -316,20 +327,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
316
327
|
}]
|
|
317
328
|
}] });
|
|
318
329
|
|
|
330
|
+
/**
|
|
331
|
+
* @deprecated use {@link https://taiga-ui.dev/components/input-phone TuiInputPhone} with {@link https://taiga-ui.dev/components/textfield TuiTextfield}
|
|
332
|
+
*/
|
|
319
333
|
class TuiInputPhoneModule {
|
|
320
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
321
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
334
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputPhoneModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
335
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiInputPhoneModule, declarations: [TuiInputPhoneComponent, TuiInputPhoneDirective], imports: [MaskitoDirective,
|
|
322
336
|
TuiPrimitiveTextfieldModule,
|
|
323
337
|
TuiTextfieldControllerModule,
|
|
324
338
|
TuiValueAccessorModule,
|
|
325
339
|
TuiLegacyDropdownOpenMonitorDirective, 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: [TuiInputPhoneComponent,
|
|
326
340
|
TuiInputPhoneDirective,
|
|
327
341
|
TuiTextfieldComponent, 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] }); }
|
|
328
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
342
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputPhoneModule, imports: [TuiPrimitiveTextfieldModule,
|
|
329
343
|
TuiTextfieldControllerModule,
|
|
330
344
|
TuiValueAccessorModule, i1.TuiDropdownComponent] }); }
|
|
331
345
|
}
|
|
332
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
346
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputPhoneModule, decorators: [{
|
|
333
347
|
type: NgModule,
|
|
334
348
|
args: [{
|
|
335
349
|
imports: [
|