@taiga-ui/kit 3.14.0-dev.main-6fca3d4 → 3.14.0-dev.main-49a682e
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/bundles/taiga-ui-kit-components-accordion.umd.js +17 -17
- package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.js +8 -8
- package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-arrow.umd.js +4 -4
- package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-avatar.umd.js +15 -15
- package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-badge.umd.js +17 -17
- package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-badged-content.umd.js +22 -22
- package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +6 -6
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js +4 -4
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js +6 -6
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.js +22 -22
- package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +10 -10
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +6 -6
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.js +5 -5
- package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.js +11 -11
- package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +8 -8
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js +31 -31
- package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-filter.umd.js +5 -5
- package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-copy.umd.js +11 -11
- package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.js +27 -22
- package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js +15 -15
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js +16 -16
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js +10 -10
- package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.js +28 -28
- package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.js +6 -6
- package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js +7 -7
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.js +5 -5
- package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.js +25 -25
- package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-password.umd.js +9 -9
- package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +15 -15
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.js +33 -33
- package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js +19 -19
- package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js +15 -15
- package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +23 -23
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.js +10 -10
- package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-year.umd.js +5 -5
- package/bundles/taiga-ui-kit-components-input-year.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.js +6 -6
- package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-island.umd.js +20 -20
- package/bundles/taiga-ui-kit-components-island.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-items-with-more.umd.js +5 -5
- package/bundles/taiga-ui-kit-components-items-with-more.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js +14 -14
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-marker-icon.umd.js +8 -8
- package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +7 -7
- package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js +16 -16
- package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.js +9 -9
- package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +10 -10
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.js +31 -31
- package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-push.umd.js +17 -17
- package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-block.umd.js +11 -11
- package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-group.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-radio-group.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +7 -7
- package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-list.umd.js +7 -7
- package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio.umd.js +8 -8
- package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.js +31 -31
- package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-rating.umd.js +6 -6
- package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.js +4 -4
- package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.js +24 -24
- package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.js +37 -37
- package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.js +30 -30
- package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.js +44 -44
- package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js +24 -24
- package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js +20 -20
- package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tiles.umd.js +15 -15
- package/bundles/taiga-ui-kit-components-tiles.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.js +9 -9
- package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js +22 -22
- package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js +8 -8
- package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-highlight.umd.js +10 -10
- package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +11 -11
- package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-present.umd.js +5 -5
- package/bundles/taiga-ui-kit-directives-present.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-project-class.umd.js +2 -2
- package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js +4 -4
- package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-value-accessor.umd.js +1 -1
- package/bundles/taiga-ui-kit-directives-value-accessor.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +3 -3
- package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
- package/components/input-count/input-count.component.d.ts +3 -3
- package/esm2015/components/accordion/accordion-item/accordion-item-content.directive.js +2 -2
- package/esm2015/components/accordion/accordion-item/accordion-item-eager-content.directive.js +2 -2
- package/esm2015/components/accordion/accordion-item/accordion-item.component.js +13 -13
- package/esm2015/components/accordion/accordion.component.js +4 -4
- package/esm2015/components/action/action.component.js +9 -9
- package/esm2015/components/arrow/arrow.component.js +5 -5
- package/esm2015/components/avatar/avatar.component.js +16 -16
- package/esm2015/components/badge/badge.component.js +18 -18
- package/esm2015/components/badged-content/badged-content.component.js +23 -23
- package/esm2015/components/breadcrumbs/breadcrumbs.component.js +7 -7
- package/esm2015/components/calendar-month/calendar-month.component.js +5 -5
- package/esm2015/components/calendar-range/calendar-range.component.js +7 -7
- package/esm2015/components/carousel/carousel-autoscroll.directive.js +3 -3
- package/esm2015/components/carousel/carousel-buttons.directive.js +6 -6
- package/esm2015/components/carousel/carousel-scroll.directive.js +3 -3
- package/esm2015/components/carousel/carousel.component.js +12 -12
- package/esm2015/components/carousel/carousel.directive.js +3 -3
- package/esm2015/components/checkbox/checkbox.component.js +6 -6
- package/esm2015/components/checkbox-block/checkbox-block.component.js +11 -11
- package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +7 -7
- package/esm2015/components/combo-box/combo-box-strict.directive.js +3 -3
- package/esm2015/components/combo-box/combo-box.component.js +9 -9
- package/esm2015/components/combo-box/combo-box.directive.js +2 -2
- package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +5 -5
- package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +5 -5
- package/esm2015/components/files/file/file.component.js +29 -29
- package/esm2015/components/files/files.component.js +4 -4
- package/esm2015/components/filter/filter.component.js +6 -6
- package/esm2015/components/input/input.component.js +6 -6
- package/esm2015/components/input/input.directive.js +2 -2
- package/esm2015/components/input-copy/input-copy.component.js +11 -11
- package/esm2015/components/input-copy/input-copy.directive.js +2 -2
- package/esm2015/components/input-count/input-count.component.js +26 -21
- package/esm2015/components/input-count/input-count.directive.js +4 -4
- package/esm2015/components/input-date/input-date.component.js +9 -9
- package/esm2015/components/input-date/input-date.directive.js +3 -3
- package/esm2015/components/input-date-range/input-date-range.component.js +14 -14
- package/esm2015/components/input-date-range/input-date-range.directive.js +3 -3
- package/esm2015/components/input-date-time/input-date-time.component.js +15 -15
- package/esm2015/components/input-date-time/input-date-time.directive.js +3 -3
- package/esm2015/components/input-files/input-files.component.js +21 -21
- package/esm2015/components/input-files/input-files.directive.js +9 -9
- package/esm2015/components/input-inline/input-inline.component.js +7 -7
- package/esm2015/components/input-month/input-month.component.js +4 -4
- package/esm2015/components/input-month/input-month.directive.js +3 -3
- package/esm2015/components/input-month-range/input-month-range.component.js +5 -5
- package/esm2015/components/input-month-range/input-month-range.directive.js +4 -4
- package/esm2015/components/input-number/input-number.component.js +24 -24
- package/esm2015/components/input-number/input-number.directive.js +3 -3
- package/esm2015/components/input-password/input-password.component.js +9 -9
- package/esm2015/components/input-password/input-password.directive.js +2 -2
- package/esm2015/components/input-phone/input-phone.component.js +32 -32
- package/esm2015/components/input-phone/input-phone.directive.js +3 -3
- package/esm2015/components/input-phone-international/input-phone-international.component.js +16 -16
- package/esm2015/components/input-range/input-range.component.js +20 -20
- package/esm2015/components/input-slider/input-slider.component.js +16 -16
- package/esm2015/components/input-tag/input-tag.component.js +24 -24
- package/esm2015/components/input-time/input-time.component.js +11 -11
- package/esm2015/components/input-year/input-year.component.js +4 -4
- package/esm2015/components/input-year/input-year.directive.js +3 -3
- package/esm2015/components/island/island.component.js +21 -21
- package/esm2015/components/items-with-more/items-with-more.component.js +4 -4
- package/esm2015/components/items-with-more/items-with-more.directive.js +2 -2
- package/esm2015/components/items-with-more/more.directive.js +2 -2
- package/esm2015/components/line-clamp/line-clamp-box.component.js +4 -4
- package/esm2015/components/line-clamp/line-clamp-position.directive.js +2 -2
- package/esm2015/components/line-clamp/line-clamp.component.js +11 -11
- package/esm2015/components/marker-icon/marker-icon.component.js +9 -9
- package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +6 -6
- package/esm2015/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -2
- package/esm2015/components/multi-select/multi-select.component.js +11 -11
- package/esm2015/components/multi-select-option/multi-select-option.component.js +8 -8
- package/esm2015/components/pagination/pagination.component.js +10 -10
- package/esm2015/components/pdf-viewer/pdf-viewer.component.js +8 -8
- package/esm2015/components/pdf-viewer/pdf-viewer.directive.js +4 -4
- package/esm2015/components/progress/progress-bar/progress-bar.component.js +8 -8
- package/esm2015/components/progress/progress-bar/progress-color-segments.directive.js +6 -6
- package/esm2015/components/progress/progress-circle/progress-circle.component.js +9 -9
- package/esm2015/components/progress/progress-label/progress-label.component.js +4 -4
- package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +9 -9
- package/esm2015/components/push/push-alert.component.js +9 -9
- package/esm2015/components/push/push-alert.directive.js +2 -2
- package/esm2015/components/push/push.component.js +6 -6
- package/esm2015/components/push/push.directive.js +4 -4
- package/esm2015/components/radio/radio.component.js +9 -9
- package/esm2015/components/radio-block/radio-block.component.js +12 -12
- package/esm2015/components/radio-group/radio-group.component.js +3 -3
- package/esm2015/components/radio-labeled/radio-labeled.component.js +8 -8
- package/esm2015/components/radio-list/radio-list.component.js +8 -8
- package/esm2015/components/range/range-change.directive.js +11 -11
- package/esm2015/components/range/range.component.js +21 -21
- package/esm2015/components/rating/rating.component.js +7 -7
- package/esm2015/components/select/native-select/native-select-group.component.js +10 -10
- package/esm2015/components/select/native-select/native-select.component.js +10 -10
- package/esm2015/components/select/select.component.js +6 -6
- package/esm2015/components/select/select.directive.js +2 -2
- package/esm2015/components/select-option/select-option.component.js +5 -5
- package/esm2015/components/slider/helpers/slider-key-steps.directive.js +8 -8
- package/esm2015/components/slider/helpers/slider-readonly.directive.js +15 -15
- package/esm2015/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +7 -7
- package/esm2015/components/slider/slider.component.js +11 -11
- package/esm2015/components/stepper/step/step.component.js +14 -14
- package/esm2015/components/stepper/stepper.component.js +18 -18
- package/esm2015/components/tabs/tab/tab.component.js +9 -9
- package/esm2015/components/tabs/tabs/tabs.component.js +7 -7
- package/esm2015/components/tabs/tabs-vertical/tabs-vertical.component.js +7 -7
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +8 -8
- package/esm2015/components/tabs/tabs.directive.js +6 -6
- package/esm2015/components/tabs/underline/underline.component.js +13 -13
- package/esm2015/components/tag/tag.component.js +25 -25
- package/esm2015/components/text-area/text-area.component.js +20 -20
- package/esm2015/components/text-area/text-area.directive.js +2 -2
- package/esm2015/components/tiles/tile-handle.directive.js +6 -6
- package/esm2015/components/tiles/tile.component.js +7 -7
- package/esm2015/components/tiles/tiles.component.js +5 -5
- package/esm2015/components/toggle/toggle.component.js +10 -10
- package/esm2015/components/tree/components/tree/tree.component.js +5 -5
- package/esm2015/components/tree/components/tree-item/tree-item.component.js +6 -6
- package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +5 -5
- package/esm2015/components/tree/directives/tree-children.directive.js +2 -2
- package/esm2015/components/tree/directives/tree-controller.directive.js +4 -4
- package/esm2015/components/tree/directives/tree-item-controller.directive.js +4 -4
- package/esm2015/components/tree/directives/tree-node.directive.js +3 -3
- package/esm2015/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.js +8 -8
- package/esm2015/directives/highlight/highlight.directive.js +11 -11
- package/esm2015/directives/lazy-loading/lazy-loading.directive.js +12 -12
- package/esm2015/directives/present/present.directive.js +6 -6
- package/esm2015/directives/project-class/project-class.directive.js +3 -3
- package/esm2015/directives/unfinished-validator/unfinished-validator.directive.js +5 -5
- package/esm2015/directives/value-accessor/value-accessor.directive.js +2 -2
- package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +4 -4
- package/fesm2015/taiga-ui-kit-components-accordion.js +17 -17
- package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-action.js +8 -8
- package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-arrow.js +4 -4
- package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-avatar.js +15 -15
- package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-badge.js +17 -17
- package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-badged-content.js +22 -22
- package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +6 -6
- package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js +4 -4
- package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-range.js +6 -6
- package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-carousel.js +22 -22
- package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-block.js +10 -10
- package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +6 -6
- package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox.js +5 -5
- package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-combo-box.js +11 -11
- package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +8 -8
- package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-files.js +31 -31
- package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-filter.js +5 -5
- package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-copy.js +11 -11
- package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-count.js +28 -23
- package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-range.js +15 -15
- package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-time.js +16 -16
- package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js +10 -10
- package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-files.js +28 -28
- package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-inline.js +6 -6
- package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js +7 -7
- package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month.js +5 -5
- package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js +25 -25
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-password.js +9 -9
- package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +15 -15
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone.js +33 -33
- package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-range.js +19 -19
- package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js +15 -15
- package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +23 -23
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-time.js +10 -10
- package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-year.js +5 -5
- package/fesm2015/taiga-ui-kit-components-input-year.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input.js +6 -6
- package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-island.js +20 -20
- package/fesm2015/taiga-ui-kit-components-island.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-items-with-more.js +5 -5
- package/fesm2015/taiga-ui-kit-components-items-with-more.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-line-clamp.js +14 -14
- package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-marker-icon.js +8 -8
- package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select-option.js +7 -7
- package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js +16 -16
- package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pagination.js +9 -9
- package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +10 -10
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-progress.js +31 -31
- package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-push.js +17 -17
- package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-block.js +11 -11
- package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-group.js +2 -2
- package/fesm2015/taiga-ui-kit-components-radio-group.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-labeled.js +7 -7
- package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-list.js +7 -7
- package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio.js +8 -8
- package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-range.js +30 -30
- package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-rating.js +6 -6
- package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select-option.js +4 -4
- package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select.js +24 -24
- package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-slider.js +37 -37
- package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-stepper.js +30 -30
- package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tabs.js +44 -44
- package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tag.js +24 -24
- package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js +20 -20
- package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tiles.js +15 -15
- package/fesm2015/taiga-ui-kit-components-tiles.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-toggle.js +9 -9
- package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tree.js +22 -22
- package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js +7 -7
- package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-highlight.js +10 -10
- package/fesm2015/taiga-ui-kit-directives-highlight.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +11 -11
- package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-present.js +5 -5
- package/fesm2015/taiga-ui-kit-directives-present.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-project-class.js +2 -2
- package/fesm2015/taiga-ui-kit-directives-project-class.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js +4 -4
- package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-value-accessor.js +1 -1
- package/fesm2015/taiga-ui-kit-directives-value-accessor.js.map +1 -1
- package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +3 -3
- package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-input-count.js","sources":["../../../projects/kit/components/input-count/input-count-options.ts","../../../projects/kit/components/input-count/input-count.component.ts","../../../projects/kit/components/input-count/input-count.template.html","../../../projects/kit/components/input-count/input-count.directive.ts","../../../projects/kit/components/input-count/input-count.module.ts","../../../projects/kit/components/input-count/taiga-ui-kit-components-input-count.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiInputCountOptions {\n readonly icons: Readonly<{\n up: PolymorpheusContent<Record<string, unknown>>;\n down: PolymorpheusContent<Record<string, unknown>>;\n }>;\n readonly appearance: string;\n readonly hideButtons: boolean;\n readonly min: number;\n readonly max: number;\n readonly step: number;\n readonly postfix: string;\n}\n\n/** Default values for the input count options. */\nexport const TUI_INPUT_COUNT_DEFAULT_OPTIONS: TuiInputCountOptions = {\n icons: {\n up: `tuiIconPlus`,\n down: `tuiIconMinus`,\n },\n appearance: `textfield`,\n hideButtons: false,\n min: 0,\n max: Number.MAX_SAFE_INTEGER,\n step: 1,\n postfix: ``,\n};\n\nexport const TUI_INPUT_COUNT_OPTIONS = new InjectionToken<TuiInputCountOptions>(\n `[TUI_INPUT_COUNT_OPTIONS]: Default parameters for input count component`,\n {\n factory: () => TUI_INPUT_COUNT_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiInputCountOptionsProvider: (\n options: Partial<TuiInputCountOptions>,\n) => ValueProvider = (options: Partial<TuiInputCountOptions>) => ({\n provide: TUI_INPUT_COUNT_OPTIONS,\n useValue: {...TUI_INPUT_COUNT_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n TUI_IS_MOBILE,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n tuiClamp,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n tuiIsPresent,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TUI_NUMBER_FORMAT,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_SIZE,\n tuiCreateNumberMask,\n tuiFormatNumber,\n TuiNumberFormatSettings,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TUI_PLUS_MINUS_TEXTS} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TUI_INPUT_COUNT_OPTIONS, TuiInputCountOptions} from './input-count-options';\n\n@Component({\n selector: `tui-input-count`,\n templateUrl: `./input-count.template.html`,\n styleUrls: [`./input-count.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputCountComponent),\n tuiAsControl(TuiInputCountComponent),\n ],\n})\nexport class TuiInputCountComponent\n extends AbstractTuiControl<number>\n implements TuiWithOptionalMinMax<number>, TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly primitiveTextfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n step = this.options.step;\n\n @Input()\n @tuiDefaultProp()\n min = this.options.min;\n\n @Input()\n @tuiDefaultProp()\n max = this.options.max;\n\n @Input()\n @tuiDefaultProp()\n hideButtons = this.options.hideButtons;\n\n /** @deprecated use `tuiTextfieldPrefix` from {@link TuiTextfieldControllerModule} instead */\n @Input()\n @tuiDefaultProp()\n prefix = ``;\n\n /** @deprecated use `tuiTextfieldPostfix` from {@link TuiTextfieldControllerModule} instead */\n @Input()\n @tuiDefaultProp()\n postfix = this.options.postfix;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_APPEARANCE)\n private readonly appearance: string,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n @Inject(TUI_PLUS_MINUS_TEXTS)\n readonly minusTexts$: Observable<[string, string]>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TUI_INPUT_COUNT_OPTIONS)\n readonly options: TuiInputCountOptions,\n @Inject(TUI_NUMBER_FORMAT)\n private readonly numberFormat: TuiNumberFormatSettings,\n ) {\n super(control, changeDetectorRef);\n }\n\n @tuiPure\n getMask(allowNegative: boolean): TuiTextMaskOptions {\n return {\n mask: tuiCreateNumberMask({\n allowNegative,\n decimalSymbol: this.numberFormat.decimalSeparator,\n thousandSymbol: this.numberFormat.thousandSeparator,\n }),\n guide: false,\n };\n }\n\n @HostBinding(`class._hide-buttons`)\n get buttonsHidden(): boolean {\n return this.hideButtons || this.appearance === `table`;\n }\n\n get iconUp(): PolymorpheusContent<Record<string, unknown>> {\n return this.options.icons.up;\n }\n\n get iconDown(): PolymorpheusContent<Record<string, unknown>> {\n return this.options.icons.down;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return !this.primitiveTextfield || this.computedDisabled\n ? null\n : this.primitiveTextfield.nativeFocusableElement;\n }\n\n @HostBinding(`attr.data-size`)\n get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get exampleText(): string {\n return String(this.min);\n }\n\n get computedValue(): string {\n return this.focused ? this.nativeValue : this.formatNumber(this.value);\n }\n\n get minusButtonDisabled(): boolean {\n return !this.interactive || (tuiIsPresent(this.value) && this.value <= this.min);\n }\n\n get plusButtonDisabled(): boolean {\n return !this.interactive || (tuiIsPresent(this.value) && this.value >= this.max);\n }\n\n onButtonMouseDown(event: MouseEvent, disabled: boolean = false): void {\n if (disabled || !this.nativeFocusableElement || this.isMobile) {\n return;\n }\n\n event.preventDefault();\n this.nativeFocusableElement.focus();\n }\n\n onFocused(focused: boolean): void {\n if (!focused) {\n this.onBlur();\n }\n\n this.updateFocused(focused);\n }\n\n onValueChange(): void {\n const capped = this.capValue(this.nativeNumberValue);\n\n if (capped === null || Number.isNaN(capped)) {\n return;\n }\n\n const newValue = this.formatNumber(capped);\n\n if (this.nativeValue !== newValue) {\n this.nativeValue = newValue;\n }\n\n this.updateValue(capped);\n }\n\n decreaseValue(): void {\n if (this.readOnly) {\n return;\n }\n\n const newValue = (this.value || 0) - this.step;\n\n this.safeUpdateValue(newValue);\n }\n\n increaseValue(): void {\n if (this.readOnly) {\n return;\n }\n\n const newValue = (this.value || 0) + this.step;\n\n this.safeUpdateValue(newValue);\n }\n\n onKeydown(event: KeyboardEvent): void {\n switch (event.key) {\n case `ArrowUp`:\n case `Up`:\n this.increaseValue();\n event.preventDefault();\n break;\n case `ArrowDown`:\n case `Down`:\n this.decreaseValue();\n event.preventDefault();\n break;\n default:\n break;\n }\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n private get nativeNumberValue(): number {\n return parseInt(\n this.nativeValue.split(this.numberFormat.thousandSeparator).join(``),\n 10,\n );\n }\n\n private get nativeValue(): string {\n return this.nativeFocusableElement ? this.nativeFocusableElement.value : ``;\n }\n\n private set nativeValue(value: string) {\n if (!this.nativeFocusableElement) {\n return;\n }\n\n this.nativeFocusableElement.value = value;\n }\n\n private safeUpdateValue(newValue: number): void {\n const value = tuiClamp(newValue, this.min, this.max);\n\n this.updateValue(value);\n this.nativeValue = this.formatNumber(value);\n }\n\n private capValue(value: number): number | null {\n const capped = Math.min(value, this.max);\n\n return Number.isNaN(capped) || capped < this.min ? null : capped;\n }\n\n private onBlur(): void {\n const value = Math.max(this.nativeNumberValue || 0, this.min);\n const formattedValue = this.formatNumber(value);\n\n this.nativeValue = formattedValue;\n this.updateValue(value);\n\n if (this.primitiveTextfield) {\n this.primitiveTextfield.value = formattedValue;\n }\n }\n\n private formatNumber(value: number): string {\n return tuiFormatNumber(value, this.numberFormat);\n }\n}\n","<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-textfield\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"getMask(min < 0)\"\n [invalid]=\"computedInvalid\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange()\"\n (keydown)=\"onKeydown($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n</tui-primitive-textfield>\n<ng-container *ngIf=\"!buttonsHidden\">\n <ng-container *ngIf=\"minusTexts$ | async as texts\">\n <section class=\"t-buttons\">\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__plus-button\"\n size=\"s\"\n class=\"t-button t-button_plus\"\n [icon]=\"iconUp\"\n [appearance]=\"options.appearance\"\n [title]=\"texts[0]\"\n [disabled]=\"plusButtonDisabled\"\n [focusable]=\"false\"\n (mousedown)=\"onButtonMouseDown($event, plusButtonDisabled)\"\n (click)=\"increaseValue()\"\n ></button>\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__minus-button\"\n size=\"s\"\n class=\"t-button t-button_minus\"\n [icon]=\"iconDown\"\n [appearance]=\"options.appearance\"\n [disabled]=\"minusButtonDisabled\"\n [focusable]=\"false\"\n [title]=\"texts[1]\"\n (mousedown)=\"onButtonMouseDown($event, minusButtonDisabled)\"\n (click)=\"decreaseValue()\"\n ></button>\n </section>\n </ng-container>\n</ng-container>\n","import {AfterViewInit, Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputCountComponent} from './input-count.component';\n\n@Directive({\n selector: `tui-input-count`,\n providers: [tuiAsTextfieldHost(TuiInputCountDirective)],\n})\nexport class TuiInputCountDirective\n extends AbstractTuiTextfieldHost<TuiInputCountComponent>\n implements AfterViewInit\n{\n onValueChange(): void {\n this.host.onValueChange();\n }\n\n ngAfterViewInit(): void {\n if (this.host.nativeFocusableElement) {\n const {nativeFocusableElement} = this.host;\n\n nativeFocusableElement.autocomplete = `off`;\n nativeFocusableElement.inputMode = `numeric`;\n nativeFocusableElement.maxLength =\n nativeFocusableElement.maxLength > -1\n ? nativeFocusableElement.maxLength\n : 18;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiButtonModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TextMaskModule, TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputCountComponent} from './input-count.component';\nimport {TuiInputCountDirective} from './input-count.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TextMaskModule,\n TuiButtonModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n PolymorpheusModule,\n ],\n declarations: [TuiInputCountComponent, TuiInputCountDirective],\n exports: [TuiInputCountComponent, TuiInputCountDirective, TuiTextfieldComponent],\n})\nexport class TuiInputCountModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-input-count.js","sources":["../../../projects/kit/components/input-count/input-count-options.ts","../../../projects/kit/components/input-count/input-count.component.ts","../../../projects/kit/components/input-count/input-count.template.html","../../../projects/kit/components/input-count/input-count.directive.ts","../../../projects/kit/components/input-count/input-count.module.ts","../../../projects/kit/components/input-count/taiga-ui-kit-components-input-count.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiInputCountOptions {\n readonly icons: Readonly<{\n up: PolymorpheusContent<Record<string, unknown>>;\n down: PolymorpheusContent<Record<string, unknown>>;\n }>;\n readonly appearance: string;\n readonly hideButtons: boolean;\n readonly min: number;\n readonly max: number;\n readonly step: number;\n readonly postfix: string;\n}\n\n/** Default values for the input count options. */\nexport const TUI_INPUT_COUNT_DEFAULT_OPTIONS: TuiInputCountOptions = {\n icons: {\n up: `tuiIconPlus`,\n down: `tuiIconMinus`,\n },\n appearance: `textfield`,\n hideButtons: false,\n min: 0,\n max: Number.MAX_SAFE_INTEGER,\n step: 1,\n postfix: ``,\n};\n\nexport const TUI_INPUT_COUNT_OPTIONS = new InjectionToken<TuiInputCountOptions>(\n `[TUI_INPUT_COUNT_OPTIONS]: Default parameters for input count component`,\n {\n factory: () => TUI_INPUT_COUNT_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiInputCountOptionsProvider: (\n options: Partial<TuiInputCountOptions>,\n) => ValueProvider = (options: Partial<TuiInputCountOptions>) => ({\n provide: TUI_INPUT_COUNT_OPTIONS,\n useValue: {...TUI_INPUT_COUNT_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n TUI_IS_MOBILE,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n tuiClamp,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n tuiIsPresent,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TUI_NUMBER_FORMAT,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_SIZE,\n tuiCreateNumberMask,\n tuiFormatNumber,\n TuiNumberFormatSettings,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TUI_PLUS_MINUS_TEXTS} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TUI_INPUT_COUNT_OPTIONS, TuiInputCountOptions} from './input-count-options';\n\n@Component({\n selector: 'tui-input-count',\n templateUrl: './input-count.template.html',\n styleUrls: ['./input-count.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputCountComponent),\n tuiAsControl(TuiInputCountComponent),\n ],\n})\nexport class TuiInputCountComponent\n extends AbstractTuiNullableControl<number>\n implements TuiWithOptionalMinMax<number>, TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly primitiveTextfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n step = this.options.step;\n\n @Input()\n @tuiDefaultProp()\n min = this.options.min;\n\n @Input()\n @tuiDefaultProp()\n max = this.options.max;\n\n @Input()\n @tuiDefaultProp()\n hideButtons = this.options.hideButtons;\n\n /** @deprecated use `tuiTextfieldPrefix` from {@link TuiTextfieldControllerModule} instead */\n @Input()\n @tuiDefaultProp()\n prefix = '';\n\n /** @deprecated use `tuiTextfieldPostfix` from {@link TuiTextfieldControllerModule} instead */\n @Input()\n @tuiDefaultProp()\n postfix = this.options.postfix;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_APPEARANCE)\n private readonly appearance: string,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n @Inject(TUI_PLUS_MINUS_TEXTS)\n readonly minusTexts$: Observable<[string, string]>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TUI_INPUT_COUNT_OPTIONS)\n readonly options: TuiInputCountOptions,\n @Inject(TUI_NUMBER_FORMAT)\n private readonly numberFormat: TuiNumberFormatSettings,\n ) {\n super(control, changeDetectorRef);\n }\n\n @tuiPure\n getMask(allowNegative: boolean): TuiTextMaskOptions {\n return {\n mask: tuiCreateNumberMask({\n allowNegative,\n decimalSymbol: this.numberFormat.decimalSeparator,\n thousandSymbol: this.numberFormat.thousandSeparator,\n }),\n guide: false,\n };\n }\n\n @HostBinding('class._hide-buttons')\n get buttonsHidden(): boolean {\n return this.hideButtons || this.appearance === 'table';\n }\n\n get iconUp(): PolymorpheusContent<Record<string, unknown>> {\n return this.options.icons.up;\n }\n\n get iconDown(): PolymorpheusContent<Record<string, unknown>> {\n return this.options.icons.down;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return !this.primitiveTextfield || this.computedDisabled\n ? null\n : this.primitiveTextfield.nativeFocusableElement;\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get exampleText(): string {\n return String(this.min);\n }\n\n get computedValue(): string {\n return this.focused ? this.nativeValue : this.formatNumber(this.value);\n }\n\n get minusButtonDisabled(): boolean {\n return !this.interactive || (tuiIsPresent(this.value) && this.value <= this.min);\n }\n\n get plusButtonDisabled(): boolean {\n return !this.interactive || (tuiIsPresent(this.value) && this.value >= this.max);\n }\n\n onButtonMouseDown(event: MouseEvent, disabled: boolean = false): void {\n if (disabled || !this.nativeFocusableElement || this.isMobile) {\n return;\n }\n\n event.preventDefault();\n this.nativeFocusableElement.focus();\n }\n\n onFocused(focused: boolean): void {\n if (!focused) {\n this.onBlur();\n }\n\n this.updateFocused(focused);\n }\n\n onValueChange(): void {\n const capped = this.capValue(this.nativeNumberValue);\n\n if (this.isNotNumber(capped)) {\n this.updateValue(null);\n\n return;\n }\n\n const newValue = this.formatNumber(capped);\n\n if (this.nativeValue !== newValue) {\n this.nativeValue = newValue;\n }\n\n this.updateValue(capped);\n }\n\n decreaseValue(): void {\n if (this.readOnly) {\n return;\n }\n\n const newValue = (this.value || 0) - this.step;\n\n this.safeUpdateValue(newValue);\n }\n\n increaseValue(): void {\n if (this.readOnly) {\n return;\n }\n\n const newValue = (this.value || 0) + this.step;\n\n this.safeUpdateValue(newValue);\n }\n\n onKeydown(event: KeyboardEvent): void {\n switch (event.key) {\n case 'ArrowUp':\n case 'Up':\n this.increaseValue();\n event.preventDefault();\n break;\n case 'ArrowDown':\n case 'Down':\n this.decreaseValue();\n event.preventDefault();\n break;\n default:\n break;\n }\n }\n\n private get nativeNumberValue(): number {\n return parseInt(\n this.nativeValue.split(this.numberFormat.thousandSeparator).join(''),\n 10,\n );\n }\n\n private get nativeValue(): string {\n return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';\n }\n\n private set nativeValue(value: string) {\n if (!this.nativeFocusableElement) {\n return;\n }\n\n this.nativeFocusableElement.value = value;\n }\n\n private safeUpdateValue(newValue: number): void {\n const value = tuiClamp(newValue, this.min, this.max);\n\n this.updateValue(value);\n this.nativeValue = this.formatNumber(value);\n }\n\n private capValue(value: number): number | null {\n const capped = Math.min(value, this.max);\n\n return Number.isNaN(capped) || capped < this.min ? null : capped;\n }\n\n private onBlur(): void {\n if (this.isNotNumber(this.value)) {\n this.updateValue(null);\n\n return;\n }\n\n const value = Math.max(this.nativeNumberValue || 0, this.min);\n const formattedValue = this.formatNumber(value);\n\n this.nativeValue = formattedValue;\n this.updateValue(value);\n\n if (this.primitiveTextfield) {\n this.primitiveTextfield.value = formattedValue;\n }\n }\n\n private formatNumber(value: number | null): string {\n return this.isNotNumber(value) ? '' : tuiFormatNumber(value, this.numberFormat);\n }\n\n private isNotNumber(value: number | null): value is null {\n return Number.isNaN(value) || !tuiIsPresent(value);\n }\n}\n","<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-textfield\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"getMask(min < 0)\"\n [invalid]=\"computedInvalid\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange()\"\n (keydown)=\"onKeydown($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n</tui-primitive-textfield>\n<ng-container *ngIf=\"!buttonsHidden\">\n <ng-container *ngIf=\"minusTexts$ | async as texts\">\n <section class=\"t-buttons\">\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__plus-button\"\n size=\"s\"\n class=\"t-button t-button_plus\"\n [icon]=\"iconUp\"\n [appearance]=\"options.appearance\"\n [title]=\"texts[0]\"\n [disabled]=\"plusButtonDisabled\"\n [focusable]=\"false\"\n (mousedown)=\"onButtonMouseDown($event, plusButtonDisabled)\"\n (click)=\"increaseValue()\"\n ></button>\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__minus-button\"\n size=\"s\"\n class=\"t-button t-button_minus\"\n [icon]=\"iconDown\"\n [appearance]=\"options.appearance\"\n [disabled]=\"minusButtonDisabled\"\n [focusable]=\"false\"\n [title]=\"texts[1]\"\n (mousedown)=\"onButtonMouseDown($event, minusButtonDisabled)\"\n (click)=\"decreaseValue()\"\n ></button>\n </section>\n </ng-container>\n</ng-container>\n","import {AfterViewInit, Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputCountComponent} from './input-count.component';\n\n@Directive({\n selector: 'tui-input-count',\n providers: [tuiAsTextfieldHost(TuiInputCountDirective)],\n})\nexport class TuiInputCountDirective\n extends AbstractTuiTextfieldHost<TuiInputCountComponent>\n implements AfterViewInit\n{\n onValueChange(): void {\n this.host.onValueChange();\n }\n\n ngAfterViewInit(): void {\n if (this.host.nativeFocusableElement) {\n const {nativeFocusableElement} = this.host;\n\n nativeFocusableElement.autocomplete = 'off';\n nativeFocusableElement.inputMode = 'numeric';\n nativeFocusableElement.maxLength =\n nativeFocusableElement.maxLength > -1\n ? nativeFocusableElement.maxLength\n : 18;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiButtonModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TextMaskModule, TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputCountComponent} from './input-count.component';\nimport {TuiInputCountDirective} from './input-count.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TextMaskModule,\n TuiButtonModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n PolymorpheusModule,\n ],\n declarations: [TuiInputCountComponent, TuiInputCountDirective],\n exports: [TuiInputCountComponent, TuiInputCountDirective, TuiTextfieldComponent],\n})\nexport class TuiInputCountModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAgBA;AACa,MAAA,+BAA+B,GAAyB;AACjE,IAAA,KAAK,EAAE;AACH,QAAA,EAAE,EAAE,CAAa,WAAA,CAAA;AACjB,QAAA,IAAI,EAAE,CAAc,YAAA,CAAA;AACvB,KAAA;AACD,IAAA,UAAU,EAAE,CAAW,SAAA,CAAA;AACvB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,MAAM,CAAC,gBAAgB;AAC5B,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,OAAO,EAAE,CAAE,CAAA;EACb;MAEW,uBAAuB,GAAG,IAAI,cAAc,CACrD,yEAAyE,EACzE;AACI,IAAA,OAAO,EAAE,MAAM,+BAA+B;AACjD,CAAA,EACH;MAEW,4BAA4B,GAEpB,CAAC,OAAsC,MAAM;AAC9D,IAAA,OAAO,EAAE,uBAAuB;AAChC,IAAA,QAAQ,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,+BAA+B,CAAK,EAAA,OAAO,CAAC;AAC7D,CAAA;;ACYK,MAAO,sBACT,SAAQ,0BAAkC,CAAA;AAgC1C,IAAA,WAAA,CAII,OAAyB,EACE,iBAAoC,EAE9C,UAAkB,EAElB,aAAwC,EAEhD,WAAyC,EACV,QAAiB,EAEhD,OAA6B,EAErB,YAAqC,EAAA;AAEtD,QAAA,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAXjB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;QAElB,IAAa,CAAA,aAAA,GAAb,aAAa,CAA2B;QAEhD,IAAW,CAAA,WAAA,GAAX,WAAW,CAA8B;QACV,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;QAEhD,IAAO,CAAA,OAAA,GAAP,OAAO,CAAsB;QAErB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAyB;AAxC1D,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAIzB,QAAA,IAAA,CAAA,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AAIvB,QAAA,IAAA,CAAA,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AAIvB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;;QAKvC,IAAM,CAAA,MAAA,GAAG,EAAE,CAAC;;AAKZ,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;KAqB9B;AAGD,IAAA,OAAO,CAAC,aAAsB,EAAA;QAC1B,OAAO;YACH,IAAI,EAAE,mBAAmB,CAAC;gBACtB,aAAa;AACb,gBAAA,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB;AACjD,gBAAA,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,iBAAiB;aACtD,CAAC;AACF,YAAA,KAAK,EAAE,KAAK;SACf,CAAC;KACL;AAED,IAAA,IACI,aAAa,GAAA;QACb,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC;KAC1D;AAED,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;KAChC;AAED,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;KAClC;AAED,IAAA,IAAI,sBAAsB,GAAA;AACtB,QAAA,OAAO,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,gBAAgB;AACpD,cAAE,IAAI;AACN,cAAE,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC;KACxD;AAED,IAAA,IACI,IAAI,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;KAClC;AAED,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KAC1D;AAED,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC3B;AAED,IAAA,IAAI,aAAa,GAAA;QACb,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1E;AAED,IAAA,IAAI,mBAAmB,GAAA;QACnB,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;KACpF;AAED,IAAA,IAAI,kBAAkB,GAAA;QAClB,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;KACpF;AAED,IAAA,iBAAiB,CAAC,KAAiB,EAAE,QAAA,GAAoB,KAAK,EAAA;QAC1D,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC3D,OAAO;AACV,SAAA;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;KACvC;AAED,IAAA,SAAS,CAAC,OAAgB,EAAA;QACtB,IAAI,CAAC,OAAO,EAAE;YACV,IAAI,CAAC,MAAM,EAAE,CAAC;AACjB,SAAA;AAED,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,aAAa,GAAA;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAErD,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;AAC1B,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEvB,OAAO;AACV,SAAA;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAE3C,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE;AAC/B,YAAA,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;AAC/B,SAAA;AAED,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;KAC5B;IAED,aAAa,GAAA;QACT,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO;AACV,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;AAE/C,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;KAClC;IAED,aAAa,GAAA;QACT,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO;AACV,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;AAE/C,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;KAClC;AAED,IAAA,SAAS,CAAC,KAAoB,EAAA;QAC1B,QAAQ,KAAK,CAAC,GAAG;AACb,YAAA,KAAK,SAAS,CAAC;AACf,YAAA,KAAK,IAAI;gBACL,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;AACV,YAAA,KAAK,WAAW,CAAC;AACjB,YAAA,KAAK,MAAM;gBACP,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;AACV,YAAA;gBACI,MAAM;AACb,SAAA;KACJ;AAED,IAAA,IAAY,iBAAiB,GAAA;QACzB,OAAO,QAAQ,CACX,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EACpE,EAAE,CACL,CAAC;KACL;AAED,IAAA,IAAY,WAAW,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,GAAG,EAAE,CAAC;KAC/E;IAED,IAAY,WAAW,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC9B,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,GAAG,KAAK,CAAC;KAC7C;AAEO,IAAA,eAAe,CAAC,QAAgB,EAAA;AACpC,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAErD,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KAC/C;AAEO,IAAA,QAAQ,CAAC,KAAa,EAAA;AAC1B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC;KACpE;IAEO,MAAM,GAAA;QACV,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC9B,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEvB,OAAO;AACV,SAAA;AAED,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAEhD,QAAA,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;AAClC,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,GAAG,cAAc,CAAC;AAClD,SAAA;KACJ;AAEO,IAAA,YAAY,CAAC,KAAoB,EAAA;QACrC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KACnF;AAEO,IAAA,WAAW,CAAC,KAAoB,EAAA;AACpC,QAAA,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KACtD;;AA9OQ,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EAoCnB,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,SAAS,EAET,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,iBAAiB,aACjB,wBAAwB,EAAA,EAAA,EAAA,KAAA,EAExB,kBAAkB,EAAA,EAAA,EAAA,KAAA,EAElB,oBAAoB,EAEpB,EAAA,EAAA,KAAA,EAAA,aAAa,EACb,EAAA,EAAA,KAAA,EAAA,uBAAuB,aAEvB,iBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAhDpB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EALpB,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAAA;QACP,0BAA0B,CAAC,sBAAsB,CAAC;QAClD,YAAY,CAAC,sBAAsB,CAAC;KACvC,EAMU,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,8BAA8B,uEC1D7C,6kEA2DA,EAAA,MAAA,EAAA,CAAA,81BAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,8BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,0EAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,UAAA,EAAA,MAAA,EAAA,WAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,8BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;ADII,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACQ,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIzB,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACM,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIvB,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACM,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIvB,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACsB,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKvC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACL,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKZ,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACc,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAwB/B,UAAA,CAAA;IADC,OAAO;AAUP,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,IAAA,CAAA,CAAA;4FAhEQ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAVlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,WAAW,EAAE,6BAA6B;oBAC1C,SAAS,EAAE,CAAC,0BAA0B,CAAC;oBACvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE;AACP,wBAAA,0BAA0B,CAAwB,sBAAA,CAAA;AAClD,wBAAA,YAAY,CAAwB,sBAAA,CAAA;AACvC,qBAAA;AACJ,iBAAA,CAAA;;0BAmCQ,QAAQ;;0BACR,IAAI;;0BACJ,MAAM;2BAAC,SAAS,CAAA;;0BAEhB,MAAM;2BAAC,iBAAiB,CAAA;;0BACxB,MAAM;2BAAC,wBAAwB,CAAA;;0BAE/B,MAAM;2BAAC,kBAAkB,CAAA;;0BAEzB,MAAM;2BAAC,oBAAoB,CAAA;;0BAE3B,MAAM;2BAAC,aAAa,CAAA;;0BACpB,MAAM;2BAAC,uBAAuB,CAAA;;0BAE9B,MAAM;2BAAC,iBAAiB,CAAA;4CA3CZ,kBAAkB,EAAA,CAAA;sBADlC,SAAS;uBAAC,8BAA8B,CAAA;gBAKzC,IAAI,EAAA,CAAA;sBAFH,KAAK;gBAMN,GAAG,EAAA,CAAA;sBAFF,KAAK;gBAMN,GAAG,EAAA,CAAA;sBAFF,KAAK;gBAMN,WAAW,EAAA,CAAA;sBAFV,KAAK;gBAON,MAAM,EAAA,CAAA;sBAFL,KAAK;gBAON,OAAO,EAAA,CAAA;sBAFN,KAAK;AA0BN,aAAA,CAAA,EAAA,OAAO,MAYH,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,qBAAqB,CAAA;gBAoB9B,IAAI,EAAA,CAAA;sBADP,WAAW;uBAAC,gBAAgB,CAAA;;;AElI3B,MAAO,sBACT,SAAQ,wBAAgD,CAAA;IAGxD,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;KAC7B;IAED,eAAe,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;AAClC,YAAA,MAAM,EAAC,sBAAsB,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAE3C,YAAA,sBAAsB,CAAC,YAAY,GAAG,KAAK,CAAC;AAC5C,YAAA,sBAAsB,CAAC,SAAS,GAAG,SAAS,CAAC;AAC7C,YAAA,sBAAsB,CAAC,SAAS;AAC5B,gBAAA,sBAAsB,CAAC,SAAS,GAAG,CAAC,CAAC;sBAC/B,sBAAsB,CAAC,SAAS;sBAChC,EAAE,CAAC;AAChB,SAAA;KACJ;;oHAnBQ,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,0CAFpB,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAE9C,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,SAAS,EAAE,CAAC,kBAAkB,CAAA,sBAAA,CAAwB,CAAC;AAC1D,iBAAA,CAAA;;;MCmBY,mBAAmB,CAAA;;iHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAHb,YAAA,EAAA,CAAA,sBAAsB,EAAE,sBAAsB,aARzD,YAAY;QACZ,cAAc;QACd,eAAe;QACf,2BAA2B;QAC3B,4BAA4B;QAC5B,sBAAsB;AACtB,QAAA,kBAAkB,CAGZ,EAAA,OAAA,EAAA,CAAA,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAEtE,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAZnB,OAAA,EAAA,CAAA;YACL,YAAY;YACZ,cAAc;YACd,eAAe;YACf,2BAA2B;YAC3B,4BAA4B;YAC5B,sBAAsB;YACtB,kBAAkB;AACrB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAIQ,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAb/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,cAAc;wBACd,eAAe;wBACf,2BAA2B;wBAC3B,4BAA4B;wBAC5B,sBAAsB;wBACtB,kBAAkB;AACrB,qBAAA;AACD,oBAAA,YAAY,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;AAC9D,oBAAA,OAAO,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,CAAC;AACnF,iBAAA,CAAA;;;AC1BD;;AAEG;;;;"}
|
|
@@ -69,8 +69,8 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
|
|
|
69
69
|
get computedExampleText() {
|
|
70
70
|
var _a, _b;
|
|
71
71
|
return this.items.length
|
|
72
|
-
? ((_b = (_a = this.textfield) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) === null || _b === void 0 ? void 0 : _b.placeholder) ||
|
|
73
|
-
:
|
|
72
|
+
? ((_b = (_a = this.textfield) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) === null || _b === void 0 ? void 0 : _b.placeholder) || ''
|
|
73
|
+
: '';
|
|
74
74
|
}
|
|
75
75
|
get computedMask() {
|
|
76
76
|
return this.activePeriod ? EMPTY_MASK : this.textMaskOptions;
|
|
@@ -98,7 +98,7 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
|
|
|
98
98
|
return null;
|
|
99
99
|
}
|
|
100
100
|
get nativeValue() {
|
|
101
|
-
return this.nativeFocusableElement ? this.nativeFocusableElement.value :
|
|
101
|
+
return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';
|
|
102
102
|
}
|
|
103
103
|
set nativeValue(value) {
|
|
104
104
|
if (!this.nativeFocusableElement) {
|
|
@@ -115,7 +115,7 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
getComputedRangeFiller(dateFiller) {
|
|
118
|
-
return this.activePeriod ?
|
|
118
|
+
return this.activePeriod ? '' : this.getDateRangeFiller(dateFiller);
|
|
119
119
|
}
|
|
120
120
|
onIconClick() {
|
|
121
121
|
if (!this.computedMobile || !this.mobileCalendar) {
|
|
@@ -123,7 +123,7 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
|
|
|
123
123
|
}
|
|
124
124
|
this.dialogService
|
|
125
125
|
.open(new PolymorpheusComponent(this.mobileCalendar, this.injector), {
|
|
126
|
-
size:
|
|
126
|
+
size: 'fullscreen',
|
|
127
127
|
closeable: false,
|
|
128
128
|
data: {
|
|
129
129
|
single: false,
|
|
@@ -160,7 +160,7 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
|
|
|
160
160
|
this.toggle();
|
|
161
161
|
this.focusInput();
|
|
162
162
|
if (!range) {
|
|
163
|
-
this.nativeValue =
|
|
163
|
+
this.nativeValue = '';
|
|
164
164
|
}
|
|
165
165
|
if (!tuiNullableSame(this.value, range, (a, b) => a.daySame(b))) {
|
|
166
166
|
this.updateValue(range);
|
|
@@ -169,13 +169,13 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
|
|
|
169
169
|
onItemSelect(item) {
|
|
170
170
|
this.toggle();
|
|
171
171
|
this.focusInput();
|
|
172
|
-
if (typeof item !==
|
|
172
|
+
if (typeof item !== 'string') {
|
|
173
173
|
this.updateValue(item.range.dayLimit(this.min, this.max));
|
|
174
174
|
return;
|
|
175
175
|
}
|
|
176
176
|
if (this.activePeriod !== null) {
|
|
177
177
|
this.updateValue(null);
|
|
178
|
-
this.nativeValue =
|
|
178
|
+
this.nativeValue = '';
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
onActiveZone(focused) {
|
|
@@ -190,7 +190,7 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
|
|
|
190
190
|
}
|
|
191
191
|
writeValue(value) {
|
|
192
192
|
super.writeValue(value);
|
|
193
|
-
this.nativeValue = value ? this.computedValue :
|
|
193
|
+
this.nativeValue = value ? this.computedValue : '';
|
|
194
194
|
}
|
|
195
195
|
get itemSelected() {
|
|
196
196
|
return this.items.findIndex(item => String(item) === this.nativeValue) !== -1;
|
|
@@ -251,9 +251,9 @@ __decorate([
|
|
|
251
251
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputDateRangeComponent, decorators: [{
|
|
252
252
|
type: Component,
|
|
253
253
|
args: [{
|
|
254
|
-
selector:
|
|
255
|
-
templateUrl:
|
|
256
|
-
styleUrls: [
|
|
254
|
+
selector: 'tui-input-date-range',
|
|
255
|
+
templateUrl: './input-date-range.template.html',
|
|
256
|
+
styleUrls: ['./input-date-range.style.less'],
|
|
257
257
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
258
258
|
providers: [
|
|
259
259
|
tuiAsFocusableItemAccessor(TuiInputDateRangeComponent),
|
|
@@ -326,7 +326,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
326
326
|
type: Input
|
|
327
327
|
}], onClick: [{
|
|
328
328
|
type: HostListener,
|
|
329
|
-
args: [
|
|
329
|
+
args: ['click']
|
|
330
330
|
}] } });
|
|
331
331
|
|
|
332
332
|
class TuiInputDateRangeDirective extends AbstractTuiTextfieldHost {
|
|
@@ -337,7 +337,7 @@ class TuiInputDateRangeDirective extends AbstractTuiTextfieldHost {
|
|
|
337
337
|
this.host.onValueChange(value);
|
|
338
338
|
}
|
|
339
339
|
process(input) {
|
|
340
|
-
input.inputMode =
|
|
340
|
+
input.inputMode = 'numeric';
|
|
341
341
|
}
|
|
342
342
|
ngDoCheck() {
|
|
343
343
|
if (this.host.nativeFocusableElement) {
|
|
@@ -350,7 +350,7 @@ TuiInputDateRangeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0
|
|
|
350
350
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputDateRangeDirective, decorators: [{
|
|
351
351
|
type: Directive,
|
|
352
352
|
args: [{
|
|
353
|
-
selector:
|
|
353
|
+
selector: 'tui-input-date-range',
|
|
354
354
|
providers: [tuiAsTextfieldHost(TuiInputDateRangeDirective)],
|
|
355
355
|
}]
|
|
356
356
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-input-date-range.js","sources":["../../../projects/kit/components/input-date-range/input-date-range.component.ts","../../../projects/kit/components/input-date-range/input-date-range.template.html","../../../projects/kit/components/input-date-range/input-date-range.directive.ts","../../../projects/kit/components/input-date-range/input-date-range.module.ts","../../../projects/kit/components/input-date-range/taiga-ui-kit-components-input-date-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Inject,\n Injector,\n Input,\n Optional,\n Self,\n Type,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n ALWAYS_FALSE_HANDLER,\n changeDateSeparator,\n DATE_FILLER_LENGTH,\n DATE_RANGE_FILLER_LENGTH,\n RANGE_SEPARATOR_CHAR,\n TUI_DATE_FORMAT,\n TUI_DATE_SEPARATOR,\n TUI_IS_MOBILE,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiBooleanHandler,\n TuiControlValueTransformer,\n TuiDateMode,\n TuiDay,\n TuiDayLike,\n TuiDayRange,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiMapper,\n TuiMonth,\n tuiNullableSame,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DEFAULT_MARKER_HANDLER,\n TUI_TEXTFIELD_SIZE,\n TuiDialogService,\n TuiMarkerHandler,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiDayRangePeriod} from '@taiga-ui/kit/classes';\nimport {EMPTY_MASK, MAX_DAY_RANGE_LENGTH_MAPPER} from '@taiga-ui/kit/constants';\nimport {\n TUI_DATE_RANGE_VALUE_TRANSFORMER,\n TUI_DATE_TEXTS,\n TUI_INPUT_DATE_OPTIONS,\n TUI_MOBILE_CALENDAR,\n tuiDateStreamWithTransformer,\n TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {\n tuiCreateAutoCorrectedDateRangePipe,\n tuiCreateDateRangeMask,\n} from '@taiga-ui/kit/utils/mask';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map, takeUntil} from 'rxjs/operators';\n\n@Component({\n selector: `tui-input-date-range`,\n templateUrl: `./input-date-range.template.html`,\n styleUrls: [`./input-date-range.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputDateRangeComponent),\n tuiAsControl(TuiInputDateRangeComponent),\n tuiDateStreamWithTransformer(TUI_DATE_RANGE_VALUE_TRANSFORMER),\n ],\n})\nexport class TuiInputDateRangeComponent\n extends AbstractTuiNullableControl<TuiDayRange>\n implements TuiWithOptionalMinMax<TuiDay>, TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly textMaskOptions: TuiTextMaskOptions = {\n mask: tuiCreateDateRangeMask(this.dateFormat, this.dateSeparator),\n pipe: tuiCreateAutoCorrectedDateRangePipe(this),\n guide: false,\n };\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n defaultViewedMonth = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n @tuiDefaultProp()\n min = this.options.min;\n\n @Input()\n @tuiDefaultProp()\n max = this.options.max;\n\n @Input()\n @tuiDefaultProp()\n minLength: TuiDayLike | null = null;\n\n @Input()\n @tuiDefaultProp()\n maxLength: TuiDayLike | null = null;\n\n open = false;\n\n readonly maxLengthMapper: TuiMapper<TuiDay, TuiDay> = MAX_DAY_RANGE_LENGTH_MAPPER;\n readonly dateFiller$ = this.dateTexts$.pipe(\n map(dateTexts =>\n changeDateSeparator(dateTexts[this.dateFormat], this.dateSeparator),\n ),\n );\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(Injector) private readonly injector: Injector,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TuiDialogService) private readonly dialogService: TuiDialogService,\n @Optional()\n @Inject(TUI_MOBILE_CALENDAR)\n private readonly mobileCalendar: Type<Record<string, any>> | null,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n @Inject(TUI_DATE_FORMAT) readonly dateFormat: TuiDateMode,\n @Inject(TUI_DATE_SEPARATOR) readonly dateSeparator: string,\n @Inject(TUI_DATE_TEXTS)\n readonly dateTexts$: Observable<Record<TuiDateMode, string>>,\n @Optional()\n @Inject(TUI_DATE_RANGE_VALUE_TRANSFORMER)\n override readonly valueTransformer: TuiControlValueTransformer<TuiDayRange | null> | null,\n @Inject(TUI_INPUT_DATE_OPTIONS)\n private readonly options: TuiInputDateOptions,\n ) {\n super(control, changeDetectorRef, valueTransformer);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.textfield && this.textfield.focused;\n }\n\n get computedMobile(): boolean {\n return this.isMobile && !!this.mobileCalendar;\n }\n\n get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n get canOpen(): boolean {\n return this.interactive && !this.computedMobile;\n }\n\n get computedExampleText(): string {\n return this.items.length\n ? this.textfield?.nativeFocusableElement?.placeholder || ``\n : ``;\n }\n\n get computedMask(): TuiTextMaskOptions {\n return this.activePeriod ? EMPTY_MASK : this.textMaskOptions;\n }\n\n get activePeriod(): TuiDayRangePeriod | null {\n return (\n this.items.find(item =>\n tuiNullableSame(\n this.value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) || null\n );\n }\n\n get computedValue(): string {\n const {value, nativeValue, activePeriod} = this;\n\n if (activePeriod) {\n return String(activePeriod);\n }\n\n return value\n ? value.getFormattedDayRange(this.dateFormat, this.dateSeparator)\n : nativeValue;\n }\n\n get innerPseudoFocused(): boolean | null {\n if (this.pseudoFocus === false) {\n return false;\n }\n\n if (this.open || this.computedFocused) {\n return true;\n }\n\n return null;\n }\n\n get nativeValue(): string {\n return this.nativeFocusableElement ? this.nativeFocusableElement.value : ``;\n }\n\n set nativeValue(value: string) {\n if (!this.nativeFocusableElement) {\n return;\n }\n\n this.nativeFocusableElement.value = value;\n }\n\n get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n @HostListener(`click`)\n onClick(): void {\n if (!this.isMobile) {\n this.toggle();\n }\n }\n\n getComputedRangeFiller(dateFiller: string): string {\n return this.activePeriod ? `` : this.getDateRangeFiller(dateFiller);\n }\n\n onIconClick(): void {\n if (!this.computedMobile || !this.mobileCalendar) {\n return;\n }\n\n this.dialogService\n .open<TuiDayRange>(\n new PolymorpheusComponent(this.mobileCalendar, this.injector),\n {\n size: `fullscreen`,\n closeable: false,\n data: {\n single: false,\n min: this.maxLengthMapper(\n this.min,\n this.value,\n this.maxLength,\n true,\n ),\n max: this.maxLengthMapper(\n this.max,\n this.value,\n this.maxLength,\n false,\n ),\n disabledItemHandler: this.disabledItemHandler,\n },\n },\n )\n .pipe(takeUntil(this.destroy$))\n .subscribe(value => {\n this.updateValue(value);\n });\n }\n\n onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n onValueChange(value: string): void {\n if (this.control) {\n this.control.updateValueAndValidity({emitEvent: false});\n }\n\n if (!value) {\n this.onOpenChange(true);\n }\n\n if (value.length !== DATE_RANGE_FILLER_LENGTH) {\n this.updateValue(null);\n\n return;\n }\n\n const parsedValue = TuiDayRange.normalizeParse(value, this.dateFormat);\n\n this.updateValue(\n !this.minLength && !this.maxLength\n ? parsedValue\n : this.clampValue(parsedValue),\n );\n }\n\n onRangeChange(range: TuiDayRange | null): void {\n this.toggle();\n this.focusInput();\n\n if (!range) {\n this.nativeValue = ``;\n }\n\n if (!tuiNullableSame<TuiDayRange>(this.value, range, (a, b) => a.daySame(b))) {\n this.updateValue(range);\n }\n }\n\n onItemSelect(item: TuiDayRangePeriod | string): void {\n this.toggle();\n this.focusInput();\n\n if (typeof item !== `string`) {\n this.updateValue(item.range.dayLimit(this.min, this.max));\n\n return;\n }\n\n if (this.activePeriod !== null) {\n this.updateValue(null);\n this.nativeValue = ``;\n }\n }\n\n onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n !focused &&\n !this.itemSelected &&\n (this.nativeValue.length === DATE_FILLER_LENGTH ||\n this.nativeValue.length ===\n DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length)\n ) {\n this.updateValue(\n TuiDayRange.normalizeParse(this.nativeValue, this.dateFormat),\n );\n }\n }\n\n override writeValue(value: TuiDayRange | null): void {\n super.writeValue(value);\n this.nativeValue = value ? this.computedValue : ``;\n }\n\n private get itemSelected(): boolean {\n return this.items.findIndex(item => String(item) === this.nativeValue) !== -1;\n }\n\n private toggle(): void {\n this.open = !this.open;\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n\n private clampValue(value: TuiDayRange): TuiDayRange {\n const clampedBottom =\n this.minLength && value.from.append(this.minLength).dayAfter(value.to)\n ? new TuiDayRange(\n value.from,\n value.from.append(this.minLength).append({day: -1}),\n )\n : value;\n\n const availableMax = this.maxLength\n ? clampedBottom.from.append(this.maxLength).append({day: -1})\n : this.max;\n\n return clampedBottom.to.dayAfter(availableMax)\n ? new TuiDayRange(clampedBottom.from, availableMax)\n : clampedBottom;\n }\n\n private getDateRangeFiller(dateFiller: string): string {\n return `${dateFiller}${RANGE_SEPARATOR_CHAR}${dateFiller}`;\n }\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"canOpen\"\n [content]=\"dropdown\"\n [open]=\"open && canOpen\"\n (openChange)=\"onOpenChange($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"dateFiller$ | async as dateFiller\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"computedMask\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n automation-id=\"tui-input-date-range__icon\"\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n (click)=\"onIconClick()\"\n ></tui-svg>\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [min]=\"min\"\n [max]=\"max\"\n [markerHandler]=\"markerHandler\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"\n [value]=\"value\"\n (valueChange)=\"onRangeChange($event)\"\n ></tui-calendar-range>\n </ng-template>\n</tui-hosted-dropdown>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputDateRangeComponent} from './input-date-range.component';\n\n@Directive({\n selector: `tui-input-date-range`,\n providers: [tuiAsTextfieldHost(TuiInputDateRangeDirective)],\n})\nexport class TuiInputDateRangeDirective extends AbstractTuiTextfieldHost<TuiInputDateRangeComponent> {\n override get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n override process(input: HTMLInputElement): void {\n input.inputMode = `numeric`;\n }\n\n ngDoCheck(): void {\n if (this.host.nativeFocusableElement) {\n this.host.nativeFocusableElement.placeholder = this.host.computedExampleText;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiCalendarRangeModule} from '@taiga-ui/kit/components/calendar-range';\nimport {TextMaskModule, TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputDateRangeComponent} from './input-date-range.component';\nimport {TuiInputDateRangeDirective} from './input-date-range.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TextMaskModule,\n TuiActiveZoneModule,\n TuiLetModule,\n PolymorpheusModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiHostedDropdownModule,\n TuiSvgModule,\n TuiCalendarRangeModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputDateRangeComponent, TuiInputDateRangeDirective],\n exports: [\n TuiInputDateRangeComponent,\n TuiInputDateRangeDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiInputDateRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-input-date-range.js","sources":["../../../projects/kit/components/input-date-range/input-date-range.component.ts","../../../projects/kit/components/input-date-range/input-date-range.template.html","../../../projects/kit/components/input-date-range/input-date-range.directive.ts","../../../projects/kit/components/input-date-range/input-date-range.module.ts","../../../projects/kit/components/input-date-range/taiga-ui-kit-components-input-date-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Inject,\n Injector,\n Input,\n Optional,\n Self,\n Type,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n ALWAYS_FALSE_HANDLER,\n changeDateSeparator,\n DATE_FILLER_LENGTH,\n DATE_RANGE_FILLER_LENGTH,\n RANGE_SEPARATOR_CHAR,\n TUI_DATE_FORMAT,\n TUI_DATE_SEPARATOR,\n TUI_IS_MOBILE,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiBooleanHandler,\n TuiControlValueTransformer,\n TuiDateMode,\n TuiDay,\n TuiDayLike,\n TuiDayRange,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiMapper,\n TuiMonth,\n tuiNullableSame,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DEFAULT_MARKER_HANDLER,\n TUI_TEXTFIELD_SIZE,\n TuiDialogService,\n TuiMarkerHandler,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiDayRangePeriod} from '@taiga-ui/kit/classes';\nimport {EMPTY_MASK, MAX_DAY_RANGE_LENGTH_MAPPER} from '@taiga-ui/kit/constants';\nimport {\n TUI_DATE_RANGE_VALUE_TRANSFORMER,\n TUI_DATE_TEXTS,\n TUI_INPUT_DATE_OPTIONS,\n TUI_MOBILE_CALENDAR,\n tuiDateStreamWithTransformer,\n TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {\n tuiCreateAutoCorrectedDateRangePipe,\n tuiCreateDateRangeMask,\n} from '@taiga-ui/kit/utils/mask';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map, takeUntil} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-input-date-range',\n templateUrl: './input-date-range.template.html',\n styleUrls: ['./input-date-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputDateRangeComponent),\n tuiAsControl(TuiInputDateRangeComponent),\n tuiDateStreamWithTransformer(TUI_DATE_RANGE_VALUE_TRANSFORMER),\n ],\n})\nexport class TuiInputDateRangeComponent\n extends AbstractTuiNullableControl<TuiDayRange>\n implements TuiWithOptionalMinMax<TuiDay>, TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly textMaskOptions: TuiTextMaskOptions = {\n mask: tuiCreateDateRangeMask(this.dateFormat, this.dateSeparator),\n pipe: tuiCreateAutoCorrectedDateRangePipe(this),\n guide: false,\n };\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n defaultViewedMonth = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n @tuiDefaultProp()\n min = this.options.min;\n\n @Input()\n @tuiDefaultProp()\n max = this.options.max;\n\n @Input()\n @tuiDefaultProp()\n minLength: TuiDayLike | null = null;\n\n @Input()\n @tuiDefaultProp()\n maxLength: TuiDayLike | null = null;\n\n open = false;\n\n readonly maxLengthMapper: TuiMapper<TuiDay, TuiDay> = MAX_DAY_RANGE_LENGTH_MAPPER;\n readonly dateFiller$ = this.dateTexts$.pipe(\n map(dateTexts =>\n changeDateSeparator(dateTexts[this.dateFormat], this.dateSeparator),\n ),\n );\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(Injector) private readonly injector: Injector,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TuiDialogService) private readonly dialogService: TuiDialogService,\n @Optional()\n @Inject(TUI_MOBILE_CALENDAR)\n private readonly mobileCalendar: Type<Record<string, any>> | null,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n @Inject(TUI_DATE_FORMAT) readonly dateFormat: TuiDateMode,\n @Inject(TUI_DATE_SEPARATOR) readonly dateSeparator: string,\n @Inject(TUI_DATE_TEXTS)\n readonly dateTexts$: Observable<Record<TuiDateMode, string>>,\n @Optional()\n @Inject(TUI_DATE_RANGE_VALUE_TRANSFORMER)\n override readonly valueTransformer: TuiControlValueTransformer<TuiDayRange | null> | null,\n @Inject(TUI_INPUT_DATE_OPTIONS)\n private readonly options: TuiInputDateOptions,\n ) {\n super(control, changeDetectorRef, valueTransformer);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.textfield && this.textfield.focused;\n }\n\n get computedMobile(): boolean {\n return this.isMobile && !!this.mobileCalendar;\n }\n\n get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n get canOpen(): boolean {\n return this.interactive && !this.computedMobile;\n }\n\n get computedExampleText(): string {\n return this.items.length\n ? this.textfield?.nativeFocusableElement?.placeholder || ''\n : '';\n }\n\n get computedMask(): TuiTextMaskOptions {\n return this.activePeriod ? EMPTY_MASK : this.textMaskOptions;\n }\n\n get activePeriod(): TuiDayRangePeriod | null {\n return (\n this.items.find(item =>\n tuiNullableSame(\n this.value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) || null\n );\n }\n\n get computedValue(): string {\n const {value, nativeValue, activePeriod} = this;\n\n if (activePeriod) {\n return String(activePeriod);\n }\n\n return value\n ? value.getFormattedDayRange(this.dateFormat, this.dateSeparator)\n : nativeValue;\n }\n\n get innerPseudoFocused(): boolean | null {\n if (this.pseudoFocus === false) {\n return false;\n }\n\n if (this.open || this.computedFocused) {\n return true;\n }\n\n return null;\n }\n\n get nativeValue(): string {\n return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';\n }\n\n set nativeValue(value: string) {\n if (!this.nativeFocusableElement) {\n return;\n }\n\n this.nativeFocusableElement.value = value;\n }\n\n get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n @HostListener('click')\n onClick(): void {\n if (!this.isMobile) {\n this.toggle();\n }\n }\n\n getComputedRangeFiller(dateFiller: string): string {\n return this.activePeriod ? '' : this.getDateRangeFiller(dateFiller);\n }\n\n onIconClick(): void {\n if (!this.computedMobile || !this.mobileCalendar) {\n return;\n }\n\n this.dialogService\n .open<TuiDayRange>(\n new PolymorpheusComponent(this.mobileCalendar, this.injector),\n {\n size: 'fullscreen',\n closeable: false,\n data: {\n single: false,\n min: this.maxLengthMapper(\n this.min,\n this.value,\n this.maxLength,\n true,\n ),\n max: this.maxLengthMapper(\n this.max,\n this.value,\n this.maxLength,\n false,\n ),\n disabledItemHandler: this.disabledItemHandler,\n },\n },\n )\n .pipe(takeUntil(this.destroy$))\n .subscribe(value => {\n this.updateValue(value);\n });\n }\n\n onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n onValueChange(value: string): void {\n if (this.control) {\n this.control.updateValueAndValidity({emitEvent: false});\n }\n\n if (!value) {\n this.onOpenChange(true);\n }\n\n if (value.length !== DATE_RANGE_FILLER_LENGTH) {\n this.updateValue(null);\n\n return;\n }\n\n const parsedValue = TuiDayRange.normalizeParse(value, this.dateFormat);\n\n this.updateValue(\n !this.minLength && !this.maxLength\n ? parsedValue\n : this.clampValue(parsedValue),\n );\n }\n\n onRangeChange(range: TuiDayRange | null): void {\n this.toggle();\n this.focusInput();\n\n if (!range) {\n this.nativeValue = '';\n }\n\n if (!tuiNullableSame<TuiDayRange>(this.value, range, (a, b) => a.daySame(b))) {\n this.updateValue(range);\n }\n }\n\n onItemSelect(item: TuiDayRangePeriod | string): void {\n this.toggle();\n this.focusInput();\n\n if (typeof item !== 'string') {\n this.updateValue(item.range.dayLimit(this.min, this.max));\n\n return;\n }\n\n if (this.activePeriod !== null) {\n this.updateValue(null);\n this.nativeValue = '';\n }\n }\n\n onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n !focused &&\n !this.itemSelected &&\n (this.nativeValue.length === DATE_FILLER_LENGTH ||\n this.nativeValue.length ===\n DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length)\n ) {\n this.updateValue(\n TuiDayRange.normalizeParse(this.nativeValue, this.dateFormat),\n );\n }\n }\n\n override writeValue(value: TuiDayRange | null): void {\n super.writeValue(value);\n this.nativeValue = value ? this.computedValue : '';\n }\n\n private get itemSelected(): boolean {\n return this.items.findIndex(item => String(item) === this.nativeValue) !== -1;\n }\n\n private toggle(): void {\n this.open = !this.open;\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n\n private clampValue(value: TuiDayRange): TuiDayRange {\n const clampedBottom =\n this.minLength && value.from.append(this.minLength).dayAfter(value.to)\n ? new TuiDayRange(\n value.from,\n value.from.append(this.minLength).append({day: -1}),\n )\n : value;\n\n const availableMax = this.maxLength\n ? clampedBottom.from.append(this.maxLength).append({day: -1})\n : this.max;\n\n return clampedBottom.to.dayAfter(availableMax)\n ? new TuiDayRange(clampedBottom.from, availableMax)\n : clampedBottom;\n }\n\n private getDateRangeFiller(dateFiller: string): string {\n return `${dateFiller}${RANGE_SEPARATOR_CHAR}${dateFiller}`;\n }\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"canOpen\"\n [content]=\"dropdown\"\n [open]=\"open && canOpen\"\n (openChange)=\"onOpenChange($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"dateFiller$ | async as dateFiller\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"computedMask\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n automation-id=\"tui-input-date-range__icon\"\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n (click)=\"onIconClick()\"\n ></tui-svg>\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [min]=\"min\"\n [max]=\"max\"\n [markerHandler]=\"markerHandler\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"\n [value]=\"value\"\n (valueChange)=\"onRangeChange($event)\"\n ></tui-calendar-range>\n </ng-template>\n</tui-hosted-dropdown>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputDateRangeComponent} from './input-date-range.component';\n\n@Directive({\n selector: 'tui-input-date-range',\n providers: [tuiAsTextfieldHost(TuiInputDateRangeDirective)],\n})\nexport class TuiInputDateRangeDirective extends AbstractTuiTextfieldHost<TuiInputDateRangeComponent> {\n override get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n override process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n\n ngDoCheck(): void {\n if (this.host.nativeFocusableElement) {\n this.host.nativeFocusableElement.placeholder = this.host.computedExampleText;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiCalendarRangeModule} from '@taiga-ui/kit/components/calendar-range';\nimport {TextMaskModule, TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputDateRangeComponent} from './input-date-range.component';\nimport {TuiInputDateRangeDirective} from './input-date-range.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TextMaskModule,\n TuiActiveZoneModule,\n TuiLetModule,\n PolymorpheusModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiHostedDropdownModule,\n TuiSvgModule,\n TuiCalendarRangeModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputDateRangeComponent, TuiInputDateRangeDirective],\n exports: [\n TuiInputDateRangeComponent,\n TuiInputDateRangeDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiInputDateRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA+EM,MAAO,0BACT,SAAQ,0BAAuC,CAAA;IAqD/C,WAII,CAAA,OAAyB,EACE,iBAAoC,EAC5B,QAAkB,EACb,QAAiB,EACd,aAA+B,EAGzD,cAAgD,EAEhD,aAAwC,EACvB,UAAuB,EACpB,aAAqB,EAEjD,UAAmD,EAG1C,gBAAuE,EAExE,OAA4B,EAAA;AAE7C,QAAA,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QAlBjB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QACb,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;QACd,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;QAGzD,IAAc,CAAA,cAAA,GAAd,cAAc,CAAkC;QAEhD,IAAa,CAAA,aAAA,GAAb,aAAa,CAA2B;QACvB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAa;QACpB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAQ;QAEjD,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyC;QAG1C,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAuD;QAExE,IAAO,CAAA,OAAA,GAAP,OAAO,CAAqB;AArEhC,QAAA,IAAA,CAAA,eAAe,GAAuB;YACnD,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;AACjE,YAAA,IAAI,EAAE,mCAAmC,CAAC,IAAI,CAAC;AAC/C,YAAA,KAAK,EAAE,KAAK;SACf,CAAC;QAIF,IAAmB,CAAA,mBAAA,GAA8B,oBAAoB,CAAC;QAItE,IAAa,CAAA,aAAA,GAAqB,0BAA0B,CAAC;AAI7D,QAAA,IAAA,CAAA,kBAAkB,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAI7C,IAAK,CAAA,KAAA,GAAiC,EAAE,CAAC;AAIzC,QAAA,IAAA,CAAA,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AAIvB,QAAA,IAAA,CAAA,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAIvB,IAAS,CAAA,SAAA,GAAsB,IAAI,CAAC;QAIpC,IAAS,CAAA,SAAA,GAAsB,IAAI,CAAC;QAEpC,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;QAEJ,IAAe,CAAA,eAAA,GAA8B,2BAA2B,CAAC;AACzE,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACvC,GAAG,CAAC,SAAS,IACT,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CACtE,CACJ,CAAC;KA2BD;AAED,IAAA,IAAI,sBAAsB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,GAAG,IAAI,CAAC;KACxE;AAED,IAAA,IAAI,OAAO,GAAA;QACP,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KACrD;AAED,IAAA,IAAI,cAAc,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;KACjD;AAED,IAAA,IAAI,YAAY,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;KAC5B;AAED,IAAA,IAAI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;KACnD;AAED,IAAA,IAAI,mBAAmB,GAAA;;AACnB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM;AACpB,cAAE,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,WAAW,KAAI,EAAE;cACzD,EAAE,CAAC;KACZ;AAED,IAAA,IAAI,YAAY,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,YAAY,GAAG,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC;KAChE;AAED,IAAA,IAAI,YAAY,GAAA;QACZ,QACI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAChB,eAAe,CACX,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,EACV,CAAC,CAAC,EAAE,CAAC,KACD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACnD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CACtD,CACJ,IAAI,IAAI,EACX;KACL;AAED,IAAA,IAAI,aAAa,GAAA;QACb,MAAM,EAAC,KAAK,EAAE,WAAW,EAAE,YAAY,EAAC,GAAG,IAAI,CAAC;AAEhD,QAAA,IAAI,YAAY,EAAE;AACd,YAAA,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC;AAC/B,SAAA;AAED,QAAA,OAAO,KAAK;AACR,cAAE,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;cAC/D,WAAW,CAAC;KACrB;AAED,IAAA,IAAI,kBAAkB,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;AAC5B,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE;AACnC,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;AAED,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,GAAG,EAAE,CAAC;KAC/E;IAED,IAAI,WAAW,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC9B,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,GAAG,KAAK,CAAC;KAC7C;AAED,IAAA,IAAI,IAAI,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;KAClC;IAGD,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,MAAM,EAAE,CAAC;AACjB,SAAA;KACJ;AAED,IAAA,sBAAsB,CAAC,UAAkB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;KACvE;IAED,WAAW,GAAA;QACP,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YAC9C,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,aAAa;AACb,aAAA,IAAI,CACD,IAAI,qBAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,EAC7D;AACI,YAAA,IAAI,EAAE,YAAY;AAClB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,IAAI,EAAE;AACF,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,GAAG,EAAE,IAAI,CAAC,eAAe,CACrB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,EACd,IAAI,CACP;AACD,gBAAA,GAAG,EAAE,IAAI,CAAC,eAAe,CACrB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,EACd,KAAK,CACR;gBACD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;AAChD,aAAA;SACJ,CACJ;AACA,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,KAAK,IAAG;AACf,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,SAAC,CAAC,CAAC;KACV;AAED,IAAA,YAAY,CAAC,IAAa,EAAA;AACtB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KACpB;AAED,IAAA,aAAa,CAAC,KAAa,EAAA;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;AAC3D,SAAA;QAED,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,SAAA;AAED,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,wBAAwB,EAAE;AAC3C,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEvB,OAAO;AACV,SAAA;AAED,QAAA,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvE,IAAI,CAAC,WAAW,CACZ,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS;AAC9B,cAAE,WAAW;cACX,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CACrC,CAAC;KACL;AAED,IAAA,aAAa,CAAC,KAAyB,EAAA;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AACzB,SAAA;QAED,IAAI,CAAC,eAAe,CAAc,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;AAC1E,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC3B,SAAA;KACJ;AAED,IAAA,YAAY,CAAC,IAAgC,EAAA;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,UAAU,EAAE,CAAC;AAElB,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC1B,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAE1D,OAAO;AACV,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;AAC5B,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACvB,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AACzB,SAAA;KACJ;AAED,IAAA,YAAY,CAAC,OAAgB,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAE5B,QAAA,IACI,CAAC,OAAO;YACR,CAAC,IAAI,CAAC,YAAY;AAClB,aAAC,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,kBAAkB;gBAC3C,IAAI,CAAC,WAAW,CAAC,MAAM;AACnB,oBAAA,kBAAkB,GAAG,oBAAoB,CAAC,MAAM,CAAC,EAC3D;AACE,YAAA,IAAI,CAAC,WAAW,CACZ,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAChE,CAAC;AACL,SAAA;KACJ;AAEQ,IAAA,UAAU,CAAC,KAAyB,EAAA;AACzC,QAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;KACtD;AAED,IAAA,IAAY,YAAY,GAAA;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;KACjF;IAEO,MAAM,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;KAC1B;IAEO,UAAU,CAAC,gBAAyB,KAAK,EAAA;QAC7C,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC;AACtD,SAAA;KACJ;AAEO,IAAA,UAAU,CAAC,KAAkB,EAAA;QACjC,MAAM,aAAa,GACf,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AAClE,cAAE,IAAI,WAAW,CACX,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,CACtD;cACD,KAAK,CAAC;AAEhB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS;cAC7B,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC;AAC7D,cAAE,IAAI,CAAC,GAAG,CAAC;AAEf,QAAA,OAAO,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;cACxC,IAAI,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC;cACjD,aAAa,CAAC;KACvB;AAEO,IAAA,kBAAkB,CAAC,UAAkB,EAAA;AACzC,QAAA,OAAO,GAAG,UAAU,CAAA,EAAG,oBAAoB,CAAG,EAAA,UAAU,EAAE,CAAC;KAC9D;;wHAnUQ,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAyDvB,SAAS,EAET,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,iBAAiB,aACjB,QAAQ,EAAA,EAAA,EAAA,KAAA,EACR,aAAa,EAAA,EAAA,EAAA,KAAA,EACb,gBAAgB,EAAA,EAAA,EAAA,KAAA,EAEhB,mBAAmB,EAEnB,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,kBAAkB,EAElB,EAAA,EAAA,KAAA,EAAA,eAAe,EACf,EAAA,EAAA,KAAA,EAAA,kBAAkB,aAClB,cAAc,EAAA,EAAA,EAAA,KAAA,EAGd,gCAAgC,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAEhC,sBAAsB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA3EzB,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EANxB,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAAA;QACP,0BAA0B,CAAC,0BAA0B,CAAC;QACtD,YAAY,CAAC,0BAA0B,CAAC;QACxC,4BAA4B,CAAC,gCAAgC,CAAC;KACjE,EAMU,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,8BAA8B,uECnF7C,4/DA0DA,EAAA,MAAA,EAAA,CAAA,8OAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,8BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,OAAA,EAAA,KAAA,EAAA,KAAA,EAAA,WAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,qHAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,8BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;ADoCI,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACqD,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,qBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAItE,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AAC4C,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAI7D,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AAC4B,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAI7C,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACwB,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIzC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACM,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIvB,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACM,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIvB,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACmB,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIpC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACmB,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FA3C3B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAXtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,WAAW,EAAE,kCAAkC;oBAC/C,SAAS,EAAE,CAAC,+BAA+B,CAAC;oBAC5C,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE;AACP,wBAAA,0BAA0B,CAA4B,0BAAA,CAAA;AACtD,wBAAA,YAAY,CAA4B,0BAAA,CAAA;wBACxC,4BAA4B,CAAC,gCAAgC,CAAC;AACjE,qBAAA;AACJ,iBAAA,CAAA;;0BAwDQ,QAAQ;;0BACR,IAAI;;0BACJ,MAAM;2BAAC,SAAS,CAAA;;0BAEhB,MAAM;2BAAC,iBAAiB,CAAA;;0BACxB,MAAM;2BAAC,QAAQ,CAAA;;0BACf,MAAM;2BAAC,aAAa,CAAA;;0BACpB,MAAM;2BAAC,gBAAgB,CAAA;;0BACvB,QAAQ;;0BACR,MAAM;2BAAC,mBAAmB,CAAA;;0BAE1B,MAAM;2BAAC,kBAAkB,CAAA;;0BAEzB,MAAM;2BAAC,eAAe,CAAA;;0BACtB,MAAM;2BAAC,kBAAkB,CAAA;;0BACzB,MAAM;2BAAC,cAAc,CAAA;;0BAErB,QAAQ;;0BACR,MAAM;2BAAC,gCAAgC,CAAA;;0BAEvC,MAAM;2BAAC,sBAAsB,CAAA;4CAtEjB,SAAS,EAAA,CAAA;sBADzB,SAAS;uBAAC,8BAA8B,CAAA;gBAWzC,mBAAmB,EAAA,CAAA;sBAFlB,KAAK;gBAMN,aAAa,EAAA,CAAA;sBAFZ,KAAK;gBAMN,kBAAkB,EAAA,CAAA;sBAFjB,KAAK;gBAMN,KAAK,EAAA,CAAA;sBAFJ,KAAK;gBAMN,GAAG,EAAA,CAAA;sBAFF,KAAK;gBAMN,GAAG,EAAA,CAAA;sBAFF,KAAK;gBAMN,SAAS,EAAA,CAAA;sBAFR,KAAK;gBAMN,SAAS,EAAA,CAAA;sBAFR,KAAK;gBA6HN,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,CAAA;;;AE3OnB,MAAO,0BAA2B,SAAQ,wBAAoD,CAAA;AAChG,IAAA,IAAa,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;KAClC;AAED,IAAA,aAAa,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAClC;AAEQ,IAAA,OAAO,CAAC,KAAuB,EAAA;AACpC,QAAA,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;KAC/B;IAED,SAAS,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;AAClC,YAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;AAChF,SAAA;KACJ;;wHAjBQ,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,+CAFxB,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAElD,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,SAAS,EAAE,CAAC,kBAAkB,CAAA,0BAAA,CAA4B,CAAC;AAC9D,iBAAA,CAAA;;;MC8BY,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EAPjB,YAAA,EAAA,CAAA,0BAA0B,EAAE,0BAA0B,aAZjE,YAAY;QACZ,cAAc;QACd,mBAAmB;QACnB,YAAY;QACZ,kBAAkB;QAClB,2BAA2B;QAC3B,4BAA4B;QAC5B,uBAAuB;QACvB,YAAY;QACZ,sBAAsB;AACtB,QAAA,sBAAsB,aAItB,0BAA0B;QAC1B,0BAA0B;QAC1B,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAGhB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EApBvB,OAAA,EAAA,CAAA;YACL,YAAY;YACZ,cAAc;YACd,mBAAmB;YACnB,YAAY;YACZ,kBAAkB;YAClB,2BAA2B;YAC3B,4BAA4B;YAC5B,uBAAuB;YACvB,YAAY;YACZ,sBAAsB;YACtB,sBAAsB;AACzB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAQQ,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBArBnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,cAAc;wBACd,mBAAmB;wBACnB,YAAY;wBACZ,kBAAkB;wBAClB,2BAA2B;wBAC3B,4BAA4B;wBAC5B,uBAAuB;wBACvB,YAAY;wBACZ,sBAAsB;wBACtB,sBAAsB;AACzB,qBAAA;AACD,oBAAA,YAAY,EAAE,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;AACtE,oBAAA,OAAO,EAAE;wBACL,0BAA0B;wBAC1B,0BAA0B;wBAC1B,qBAAqB;AACxB,qBAAA;AACJ,iBAAA,CAAA;;;ACrCD;;AAEG;;;;"}
|
|
@@ -35,7 +35,7 @@ class TuiInputDateTimeComponent extends AbstractTuiControl {
|
|
|
35
35
|
this.max = this.options.max;
|
|
36
36
|
this.disabledItemHandler = ALWAYS_FALSE_HANDLER;
|
|
37
37
|
this.defaultActiveYearMonth = TuiMonth.currentLocal();
|
|
38
|
-
this.timeMode =
|
|
38
|
+
this.timeMode = 'HH:MM';
|
|
39
39
|
this.open = false;
|
|
40
40
|
this.filler$ = combineLatest([
|
|
41
41
|
this.dateTexts$.pipe(map(dateTexts => changeDateSeparator(dateTexts[this.dateFormat], this.dateSeparator))),
|
|
@@ -81,7 +81,7 @@ class TuiInputDateTimeComponent extends AbstractTuiControl {
|
|
|
81
81
|
tuiDateClamp(this.defaultActiveYearMonth, Array.isArray(this.min) ? this.min[0] : this.min, Array.isArray(this.max) ? this.max[0] : this.max));
|
|
82
82
|
}
|
|
83
83
|
get nativeValue() {
|
|
84
|
-
return this.nativeFocusableElement ? this.nativeFocusableElement.value :
|
|
84
|
+
return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';
|
|
85
85
|
}
|
|
86
86
|
set nativeValue(value) {
|
|
87
87
|
if (!this.nativeFocusableElement) {
|
|
@@ -129,7 +129,7 @@ class TuiInputDateTimeComponent extends AbstractTuiControl {
|
|
|
129
129
|
this.value[0] === null ||
|
|
130
130
|
this.value[1] !== null ||
|
|
131
131
|
this.nativeValue.length <= this.fillerLength + DATE_TIME_SEPARATOR.length ||
|
|
132
|
-
this.timeMode ===
|
|
132
|
+
this.timeMode === 'HH:MM') {
|
|
133
133
|
return;
|
|
134
134
|
}
|
|
135
135
|
const [, time] = this.nativeValue.split(DATE_TIME_SEPARATOR);
|
|
@@ -139,7 +139,7 @@ class TuiInputDateTimeComponent extends AbstractTuiControl {
|
|
|
139
139
|
const parsedTime = TuiTime.fromString(time);
|
|
140
140
|
this.updateValue([this.value[0], parsedTime]);
|
|
141
141
|
setTimeout(() => {
|
|
142
|
-
if (this.nativeValue.endsWith(
|
|
142
|
+
if (this.nativeValue.endsWith('.') || this.nativeValue.endsWith(':')) {
|
|
143
143
|
this.nativeValue = this.nativeValue.slice(0, -1);
|
|
144
144
|
}
|
|
145
145
|
});
|
|
@@ -150,7 +150,7 @@ class TuiInputDateTimeComponent extends AbstractTuiControl {
|
|
|
150
150
|
}
|
|
151
151
|
writeValue(value) {
|
|
152
152
|
super.writeValue(value);
|
|
153
|
-
this.nativeValue = value && (value[0] || value[1]) ? this.computedValue :
|
|
153
|
+
this.nativeValue = value && (value[0] || value[1]) ? this.computedValue : '';
|
|
154
154
|
}
|
|
155
155
|
getFallbackValue() {
|
|
156
156
|
return [null, null];
|
|
@@ -163,8 +163,8 @@ class TuiInputDateTimeComponent extends AbstractTuiControl {
|
|
|
163
163
|
return {
|
|
164
164
|
mask: [
|
|
165
165
|
...tuiCreateDateMask(dateFormat, dateSeparator),
|
|
166
|
-
|
|
167
|
-
|
|
166
|
+
',',
|
|
167
|
+
' ',
|
|
168
168
|
...tuiCreateTimeMask(timeMode),
|
|
169
169
|
],
|
|
170
170
|
pipe: tuiCreateAutoCorrectedDateTimePipe({
|
|
@@ -178,15 +178,15 @@ class TuiInputDateTimeComponent extends AbstractTuiControl {
|
|
|
178
178
|
guide: false,
|
|
179
179
|
};
|
|
180
180
|
}
|
|
181
|
-
getDateTimeString(date, time, timeMode =
|
|
181
|
+
getDateTimeString(date, time, timeMode = 'HH:MM') {
|
|
182
182
|
const dateString = date instanceof TuiDay
|
|
183
183
|
? date.toString(this.dateFormat, this.dateSeparator)
|
|
184
184
|
: date;
|
|
185
|
-
const timeString = time instanceof TuiTime ? time.toString(timeMode) : time ||
|
|
185
|
+
const timeString = time instanceof TuiTime ? time.toString(timeMode) : time || '';
|
|
186
186
|
return `${dateString}${DATE_TIME_SEPARATOR}${timeString}`;
|
|
187
187
|
}
|
|
188
188
|
updateNativeValue(day) {
|
|
189
|
-
const time = this.nativeValue.split(DATE_TIME_SEPARATOR)[1] ||
|
|
189
|
+
const time = this.nativeValue.split(DATE_TIME_SEPARATOR)[1] || '';
|
|
190
190
|
this.nativeValue = this.getDateTimeString(day, time);
|
|
191
191
|
}
|
|
192
192
|
clampTime(time, day) {
|
|
@@ -230,9 +230,9 @@ __decorate([
|
|
|
230
230
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputDateTimeComponent, decorators: [{
|
|
231
231
|
type: Component,
|
|
232
232
|
args: [{
|
|
233
|
-
selector:
|
|
234
|
-
templateUrl:
|
|
235
|
-
styleUrls: [
|
|
233
|
+
selector: 'tui-input-date-time',
|
|
234
|
+
templateUrl: './input-date-time.template.html',
|
|
235
|
+
styleUrls: ['./input-date-time.style.less'],
|
|
236
236
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
237
237
|
providers: [
|
|
238
238
|
tuiAsFocusableItemAccessor(TuiInputDateTimeComponent),
|
|
@@ -288,7 +288,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
288
288
|
type: Input
|
|
289
289
|
}], onClick: [{
|
|
290
290
|
type: HostListener,
|
|
291
|
-
args: [
|
|
291
|
+
args: ['click']
|
|
292
292
|
}], calculateMask: [], getDateTimeString: [] } });
|
|
293
293
|
|
|
294
294
|
class TuiInputDateTimeDirective extends AbstractTuiTextfieldHost {
|
|
@@ -299,7 +299,7 @@ class TuiInputDateTimeDirective extends AbstractTuiTextfieldHost {
|
|
|
299
299
|
this.host.onValueChange(value);
|
|
300
300
|
}
|
|
301
301
|
process(input) {
|
|
302
|
-
input.inputMode =
|
|
302
|
+
input.inputMode = 'numeric';
|
|
303
303
|
}
|
|
304
304
|
}
|
|
305
305
|
TuiInputDateTimeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputDateTimeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -307,7 +307,7 @@ TuiInputDateTimeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.
|
|
|
307
307
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputDateTimeDirective, decorators: [{
|
|
308
308
|
type: Directive,
|
|
309
309
|
args: [{
|
|
310
|
-
selector:
|
|
310
|
+
selector: 'tui-input-date-time',
|
|
311
311
|
providers: [tuiAsTextfieldHost(TuiInputDateTimeDirective)],
|
|
312
312
|
}]
|
|
313
313
|
}] });
|