@taiga-ui/kit 3.9.0 → 3.11.0
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 +1 -1
- package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-avatar.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-badge.umd.js +2 -4
- package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-badged-content.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.js +2 -5
- package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +23 -12
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-filter.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-copy.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js +4 -5
- 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 +5 -3
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js +7 -6
- package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.js +247 -70
- package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js +17 -3
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.js +18 -4
- package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.js +4 -4
- package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-password.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.js +4 -4
- package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-year.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-year.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-island.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-island.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-marker-icon.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +10 -6
- package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-push.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-block.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-group.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-radio-group.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-list.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-rating.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.js +8 -2
- package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.js +21 -14
- package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tiles.umd.js +619 -0
- package/bundles/taiga-ui-kit-components-tiles.umd.js.map +1 -0
- package/bundles/taiga-ui-kit-components-toggle.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components.umd.js +10 -4
- package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-constants.umd.js +1 -1
- package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js +1 -1
- package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-highlight.umd.js +1 -1
- package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +1 -1
- package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-project-class.umd.js +1 -1
- package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +1 -1
- package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-field-error.umd.js +1 -1
- package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js +1 -1
- package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-format.umd.js +1 -1
- package/bundles/taiga-ui-kit-utils-format.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.js +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-math.umd.js +1 -1
- package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
- package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +3 -2
- package/components/data-list-wrapper/data-list-wrapper.component.d.ts +3 -2
- package/components/data-list-wrapper/data-list-wrapper.d.ts +2 -1
- package/components/index.d.ts +1 -0
- package/components/input-date/input-date.component.d.ts +2 -2
- package/components/input-date-range/input-date-range.component.d.ts +3 -3
- package/components/input-files/index.d.ts +2 -0
- package/components/input-files/input-files.component.d.ts +19 -5
- package/components/input-files/input-files.directive.d.ts +20 -0
- package/components/input-files/input-files.module.d.ts +8 -7
- package/components/input-files/input-files.options.d.ts +17 -0
- package/components/input-month/input-month.component.d.ts +4 -2
- package/components/input-month-range/input-month-range.component.d.ts +4 -2
- package/components/select-option/select-option.component.d.ts +4 -3
- package/components/stepper/stepper.component.d.ts +3 -2
- package/components/tiles/index.d.ts +4 -0
- package/components/tiles/package.json +10 -0
- package/components/tiles/taiga-ui-kit-components-tiles.d.ts +5 -0
- package/components/tiles/tile-handle.directive.d.ts +13 -0
- package/components/tiles/tile.component.d.ts +30 -0
- package/components/tiles/tiles.component.d.ts +12 -0
- package/components/tiles/tiles.module.d.ts +10 -0
- package/esm2015/components/badge/badge.component.js +2 -4
- package/esm2015/components/calendar-month/calendar-month.component.js +1 -1
- package/esm2015/components/calendar-range/calendar-range.component.js +1 -1
- package/esm2015/components/carousel/carousel.component.js +2 -5
- package/esm2015/components/combo-box/combo-box.component.js +2 -2
- package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +12 -7
- package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +12 -7
- package/esm2015/components/data-list-wrapper/data-list-wrapper.js +5 -4
- package/esm2015/components/index.js +2 -1
- package/esm2015/components/input/input.component.js +2 -2
- package/esm2015/components/input-count/input-count.component.js +3 -3
- package/esm2015/components/input-date/input-date.component.js +8 -7
- package/esm2015/components/input-date-range/input-date-range.component.js +7 -8
- package/esm2015/components/input-date-time/input-date-time.component.js +6 -4
- package/esm2015/components/input-files/index.js +3 -1
- package/esm2015/components/input-files/input-files.component.js +75 -26
- package/esm2015/components/input-files/input-files.directive.js +77 -0
- package/esm2015/components/input-files/input-files.module.js +12 -3
- package/esm2015/components/input-files/input-files.options.js +16 -0
- package/esm2015/components/input-month/input-month.component.js +15 -5
- package/esm2015/components/input-month-range/input-month-range.component.js +14 -4
- package/esm2015/components/input-number/input-number.component.js +4 -4
- package/esm2015/components/input-phone/input-phone.component.js +4 -4
- package/esm2015/components/input-phone-international/input-phone-international.component.js +2 -2
- package/esm2015/components/input-tag/input-tag.component.js +2 -2
- package/esm2015/components/input-time/input-time.component.js +2 -2
- package/esm2015/components/input-year/input-year.component.js +1 -1
- package/esm2015/components/multi-select/multi-select.component.js +2 -2
- package/esm2015/components/multi-select-option/multi-select-option.component.js +6 -3
- package/esm2015/components/select/select.component.js +2 -2
- package/esm2015/components/select-option/select-option.component.js +11 -5
- package/esm2015/components/stepper/step/step.component.js +1 -1
- package/esm2015/components/stepper/stepper.component.js +12 -9
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +1 -1
- package/esm2015/components/tiles/index.js +5 -0
- package/esm2015/components/tiles/taiga-ui-kit-components-tiles.js +5 -0
- package/esm2015/components/tiles/tile-handle.directive.js +53 -0
- package/esm2015/components/tiles/tile.component.js +101 -0
- package/esm2015/components/tiles/tiles.component.js +77 -0
- package/esm2015/components/tiles/tiles.module.js +20 -0
- package/esm2015/pipes/filter-by-input/filter-by-input.base.js +1 -2
- package/esm2015/utils/format/string-hash-to-hsl.js +2 -2
- package/fesm2015/taiga-ui-kit-components-badge.js +1 -3
- package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-range.js +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-carousel.js +1 -4
- package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-combo-box.js +1 -1
- package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +24 -13
- package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-count.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-range.js +6 -7
- package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-time.js +5 -3
- package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js +7 -6
- package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-files.js +167 -29
- package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js +13 -3
- package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month.js +14 -4
- package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js +3 -3
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone.js +3 -3
- package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-time.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-year.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-year.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select-option.js +7 -3
- package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select-option.js +10 -4
- package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select.js +1 -1
- package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-stepper.js +12 -9
- package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tabs.js +1 -1
- package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tiles.js +241 -0
- package/fesm2015/taiga-ui-kit-components-tiles.js.map +1 -0
- package/fesm2015/taiga-ui-kit-components.js +1 -0
- package/fesm2015/taiga-ui-kit-components.js.map +1 -1
- package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-format.js +1 -1
- package/fesm2015/taiga-ui-kit-utils-format.js.map +1 -1
- package/package.json +4 -4
|
@@ -108,7 +108,7 @@ class TuiInputCountComponent extends AbstractTuiControl {
|
|
|
108
108
|
}
|
|
109
109
|
onValueChange() {
|
|
110
110
|
const capped = this.capValue(this.nativeNumberValue);
|
|
111
|
-
if (capped === null || isNaN(capped)) {
|
|
111
|
+
if (capped === null || Number.isNaN(capped)) {
|
|
112
112
|
return;
|
|
113
113
|
}
|
|
114
114
|
const newValue = this.formatNumber(capped);
|
|
@@ -169,7 +169,7 @@ class TuiInputCountComponent extends AbstractTuiControl {
|
|
|
169
169
|
}
|
|
170
170
|
capValue(value) {
|
|
171
171
|
const capped = Math.min(value, this.max);
|
|
172
|
-
return isNaN(capped) || capped < this.min ? null : capped;
|
|
172
|
+
return Number.isNaN(capped) || capped < this.min ? null : capped;
|
|
173
173
|
}
|
|
174
174
|
onBlur() {
|
|
175
175
|
const value = Math.max(this.nativeNumberValue || 0, this.min);
|
|
@@ -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 @Input()\n @tuiDefaultProp()\n prefix = ``;\n\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 || 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 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 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 @Input()\n @tuiDefaultProp()\n prefix = ``;\n\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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"}
|
|
@@ -100,15 +100,15 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
|
|
|
100
100
|
get nativeValue() {
|
|
101
101
|
return this.nativeFocusableElement ? this.nativeFocusableElement.value : ``;
|
|
102
102
|
}
|
|
103
|
-
get size() {
|
|
104
|
-
return this.textfieldSize.size;
|
|
105
|
-
}
|
|
106
103
|
set nativeValue(value) {
|
|
107
104
|
if (!this.nativeFocusableElement) {
|
|
108
105
|
return;
|
|
109
106
|
}
|
|
110
107
|
this.nativeFocusableElement.value = value;
|
|
111
108
|
}
|
|
109
|
+
get size() {
|
|
110
|
+
return this.textfieldSize.size;
|
|
111
|
+
}
|
|
112
112
|
onClick() {
|
|
113
113
|
if (!this.isMobile) {
|
|
114
114
|
this.toggle();
|
|
@@ -117,9 +117,8 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
|
|
|
117
117
|
getComputedRangeFiller(dateFiller) {
|
|
118
118
|
return this.activePeriod ? `` : this.getDateRangeFiller(dateFiller);
|
|
119
119
|
}
|
|
120
|
-
|
|
121
|
-
if (!this.mobileCalendar) {
|
|
122
|
-
this.toggle();
|
|
120
|
+
onIconClick() {
|
|
121
|
+
if (!this.computedMobile || !this.mobileCalendar) {
|
|
123
122
|
return;
|
|
124
123
|
}
|
|
125
124
|
this.dialogService
|
|
@@ -224,7 +223,7 @@ TuiInputDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
224
223
|
tuiAsFocusableItemAccessor(TuiInputDateRangeComponent),
|
|
225
224
|
tuiAsControl(TuiInputDateRangeComponent),
|
|
226
225
|
tuiDateStreamWithTransformer(TUI_DATE_RANGE_VALUE_TRANSFORMER),
|
|
227
|
-
], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<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]=\"
|
|
226
|
+
], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<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 [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [filler]=\"getComputedRangeFiller(dateFiller || '')\"\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", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}\n"], components: [{ type: i1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "sided", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2.TuiCalendarRangeComponent, selector: "tui-calendar-range", inputs: ["defaultViewedMonth", "disabledItemHandler", "markerHandler", "items", "min", "max", "minLength", "maxLength", "value"], outputs: ["valueChange"] }], directives: [{ type: i3.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i4.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { type: i1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i4.MaskedInputDirective, selector: "[textMask]", inputs: ["textMask"], exportAs: ["textMask"] }, { type: i5.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
228
227
|
__decorate([
|
|
229
228
|
tuiDefaultProp()
|
|
230
229
|
], TuiInputDateRangeComponent.prototype, "disabledItemHandler", void 0);
|
|
@@ -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<object> | 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 get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n set nativeValue(value: string) {\n if (!this.nativeFocusableElement) {\n return;\n }\n\n this.nativeFocusableElement.value = value;\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 onMobileClick(): void {\n if (!this.mobileCalendar) {\n this.toggle();\n\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: string | TuiDayRangePeriod): 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]=\"computedMobile ? mobileIconContent : iconContent\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [filler]=\"getComputedRangeFiller(dateFiller || '')\"\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 #mobileIconContent>\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)=\"onMobileClick()\"\n ></tui-svg>\n </ng-template>\n\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\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: string | TuiDayRangePeriod): 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 [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [filler]=\"getComputedRangeFiller(dateFiller || '')\"\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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"}
|
|
@@ -4,7 +4,7 @@ import { ChangeDetectorRef, Component, ChangeDetectionStrategy, Optional, Self,
|
|
|
4
4
|
import * as i6 from '@angular/forms';
|
|
5
5
|
import { NgControl } from '@angular/forms';
|
|
6
6
|
import * as i4 from '@taiga-ui/cdk';
|
|
7
|
-
import { AbstractTuiControl, ALWAYS_FALSE_HANDLER, TuiMonth, changeDateSeparator, DATE_FILLER_LENGTH, TuiDay, TuiTime, tuiNullableSame, tuiClamp, TUI_DATE_FORMAT, TUI_DATE_SEPARATOR, tuiAsFocusableItemAccessor, tuiAsControl, tuiDefaultProp, tuiPure, TuiPreventDefaultModule } from '@taiga-ui/cdk';
|
|
7
|
+
import { AbstractTuiControl, ALWAYS_FALSE_HANDLER, TuiMonth, changeDateSeparator, DATE_FILLER_LENGTH, tuiDateClamp, TuiDay, TuiTime, tuiNullableSame, tuiClamp, TUI_DATE_FORMAT, TUI_DATE_SEPARATOR, tuiAsFocusableItemAccessor, tuiAsControl, tuiDefaultProp, tuiPure, TuiPreventDefaultModule } from '@taiga-ui/cdk';
|
|
8
8
|
import * as i1 from '@taiga-ui/core';
|
|
9
9
|
import { TUI_TEXTFIELD_SIZE, TuiPrimitiveTextfieldComponent, AbstractTuiTextfieldHost, tuiAsTextfieldHost, TuiCalendarModule, TuiSvgModule, TuiLinkModule, TuiHostedDropdownModule, TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule, TuiTextfieldComponent } from '@taiga-ui/core';
|
|
10
10
|
import { DATE_TIME_SEPARATOR } from '@taiga-ui/kit/constants';
|
|
@@ -76,7 +76,9 @@ class TuiInputDateTimeComponent extends AbstractTuiControl {
|
|
|
76
76
|
return Array.isArray(this.max) ? this.max[0] : this.max;
|
|
77
77
|
}
|
|
78
78
|
get computedActiveYearMonth() {
|
|
79
|
-
return this.month ||
|
|
79
|
+
return (this.month ||
|
|
80
|
+
this.value[0] ||
|
|
81
|
+
tuiDateClamp(this.defaultActiveYearMonth, Array.isArray(this.min) ? this.min[0] : this.min, Array.isArray(this.max) ? this.max[0] : this.max));
|
|
80
82
|
}
|
|
81
83
|
get nativeValue() {
|
|
82
84
|
return this.nativeFocusableElement ? this.nativeFocusableElement.value : ``;
|
|
@@ -203,7 +205,7 @@ TuiInputDateTimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
203
205
|
tuiAsFocusableItemAccessor(TuiInputDateTimeComponent),
|
|
204
206
|
tuiAsControl(TuiInputDateTimeComponent),
|
|
205
207
|
tuiDateStreamWithTransformer(TUI_DATE_TIME_VALUE_TRANSFORMER),
|
|
206
|
-
], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input-date-time__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [tuiTextfieldIcon]=\"iconContent\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [filler]=\"(filler$ | async) || ''\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"textMaskOptions\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($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\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n ></tui-svg>\n </ng-template>\n\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"type\"\n >\n <tui-calendar\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-input-date-time__calendar\"\n [min]=\"calendarMinDay\"\n [max]=\"calendarMaxDay\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"calendarValue\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n ></tui-calendar>\n </ng-template>\n</tui-hosted-dropdown>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-button{display:flex;height:2.75rem;justify-content:center;box-shadow:inset 0 1px var(--tui-base-03)}\n"], components: [{ type: i1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiCalendarComponent, selector: "tui-calendar", inputs: ["month", "value", "disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "hoveredItem", "showAdjacent", "markerHandler"], outputs: ["dayClick", "monthChange", "hoveredItemChange"] }], directives: [{ type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i2.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { type: i1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i2.MaskedInputDirective, selector: "[textMask]", inputs: ["textMask"], exportAs: ["textMask"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { type: i4.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]" }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
208
|
+
], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input-date-time__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [filler]=\"(filler$ | async) || ''\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"textMaskOptions\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($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\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n ></tui-svg>\n </ng-template>\n\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"type\"\n >\n <tui-calendar\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-input-date-time__calendar\"\n [min]=\"calendarMinDay\"\n [max]=\"calendarMaxDay\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"calendarValue\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n ></tui-calendar>\n </ng-template>\n</tui-hosted-dropdown>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-button{display:flex;height:2.75rem;justify-content:center;box-shadow:inset 0 1px var(--tui-base-03)}\n"], components: [{ type: i1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "sided", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiCalendarComponent, selector: "tui-calendar", inputs: ["month", "value", "disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "hoveredItem", "showAdjacent", "markerHandler"], outputs: ["dayClick", "monthChange", "hoveredItemChange"] }], directives: [{ type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i2.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { type: i1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i2.MaskedInputDirective, selector: "[textMask]", inputs: ["textMask"], exportAs: ["textMask"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { type: i4.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]" }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
207
209
|
__decorate([
|
|
208
210
|
tuiDefaultProp()
|
|
209
211
|
], TuiInputDateTimeComponent.prototype, "min", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-input-date-time.js","sources":["../../../projects/kit/components/input-date-time/input-date-time.component.ts","../../../projects/kit/components/input-date-time/input-date-time.template.html","../../../projects/kit/components/input-date-time/input-date-time.directive.ts","../../../projects/kit/components/input-date-time/input-date-time.module.ts","../../../projects/kit/components/input-date-time/taiga-ui-kit-components-input-date-time.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n ALWAYS_FALSE_HANDLER,\n changeDateSeparator,\n DATE_FILLER_LENGTH,\n TUI_DATE_FORMAT,\n TUI_DATE_SEPARATOR,\n TuiActiveZoneDirective,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiBooleanHandler,\n tuiClamp,\n TuiContextWithImplicit,\n TuiControlValueTransformer,\n TuiDateMode,\n TuiDay,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiMonth,\n tuiNullableSame,\n tuiPure,\n TuiTime,\n TuiTimeMode,\n} from '@taiga-ui/cdk';\nimport {\n TUI_TEXTFIELD_SIZE,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {DATE_TIME_SEPARATOR} from '@taiga-ui/kit/constants';\nimport {\n TUI_DATE_TEXTS,\n TUI_DATE_TIME_VALUE_TRANSFORMER,\n TUI_INPUT_DATE_OPTIONS,\n TUI_TIME_TEXTS,\n tuiDateStreamWithTransformer,\n TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {\n tuiCreateAutoCorrectedDateTimePipe,\n tuiCreateDateMask,\n tuiCreateTimeMask,\n} from '@taiga-ui/kit/utils/mask';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map, pluck} from 'rxjs/operators';\n\n@Component({\n selector: `tui-input-date-time`,\n templateUrl: `./input-date-time.template.html`,\n styleUrls: [`./input-date-time.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputDateTimeComponent),\n tuiAsControl(TuiInputDateTimeComponent),\n tuiDateStreamWithTransformer(TUI_DATE_TIME_VALUE_TRANSFORMER),\n ],\n})\nexport class TuiInputDateTimeComponent\n extends AbstractTuiControl<[TuiDay | null, TuiTime | null]>\n implements\n TuiWithOptionalMinMax<TuiDay | [TuiDay, TuiTime]>,\n TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private month: TuiMonth | null = null;\n\n @Input()\n @tuiDefaultProp()\n min: TuiDay | [TuiDay, TuiTime] = this.options.min;\n\n @Input()\n @tuiDefaultProp()\n max: TuiDay | [TuiDay, TuiTime] = this.options.max;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n defaultActiveYearMonth = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n timeMode: TuiTimeMode = `HH:MM`;\n\n open = false;\n\n readonly type!: TuiContextWithImplicit<TuiActiveZoneDirective>;\n\n readonly filler$: Observable<string> = combineLatest([\n this.dateTexts$.pipe(\n map(dateTexts =>\n changeDateSeparator(dateTexts[this.dateFormat], this.dateSeparator),\n ),\n ),\n this.timeTexts$.pipe(pluck(this.timeMode)),\n ]).pipe(map(fillers => this.getDateTimeString(...fillers)));\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\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_TIME_TEXTS)\n readonly timeTexts$: Observable<Record<TuiTimeMode, string>>,\n @Inject(TUI_DATE_TEXTS)\n readonly dateTexts$: Observable<Record<TuiDateMode, string>>,\n @Optional()\n @Inject(TUI_DATE_TIME_VALUE_TRANSFORMER)\n override readonly valueTransformer: TuiControlValueTransformer<\n [TuiDay | null, TuiTime | null]\n > | null,\n @Inject(TUI_INPUT_DATE_OPTIONS)\n private readonly options: TuiInputDateOptions,\n ) {\n super(control, changeDetectorRef, valueTransformer);\n }\n\n get fillerLength(): number {\n return DATE_FILLER_LENGTH + DATE_TIME_SEPARATOR.length + this.timeMode.length;\n }\n\n get textMaskOptions(): TuiTextMaskOptions {\n return this.calculateMask(\n this.value[0],\n this.calendarMinDay,\n this.calendarMaxDay,\n this.timeMode,\n this.dateFormat,\n this.dateSeparator,\n );\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 calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n get computedValue(): string {\n const {value, nativeValue, timeMode} = this;\n const [date, time] = value;\n const hasTimeInputChars = nativeValue.length > DATE_FILLER_LENGTH;\n\n if (!date || (!time && hasTimeInputChars)) {\n return nativeValue;\n }\n\n return this.getDateTimeString(date, time, timeMode);\n }\n\n get calendarValue(): TuiDay | null {\n return this.value[0];\n }\n\n get calendarMinDay(): TuiDay {\n return Array.isArray(this.min) ? this.min[0] : this.min;\n }\n\n get calendarMaxDay(): TuiDay {\n return Array.isArray(this.max) ? this.max[0] : this.max;\n }\n\n get computedActiveYearMonth(): TuiMonth {\n return this.month || this.value[0] || this.defaultActiveYearMonth;\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 this.open = !this.open;\n }\n\n onValueChange(value: string): void {\n if (!value) {\n this.onOpenChange(true);\n }\n\n if (value.length < DATE_FILLER_LENGTH) {\n this.updateValue([null, null]);\n\n return;\n }\n\n const [date, time] = value.split(DATE_TIME_SEPARATOR);\n\n const parsedDate = TuiDay.normalizeParse(date, this.dateFormat);\n const parsedTime =\n time && time.length === this.timeMode.length\n ? this.clampTime(TuiTime.fromString(time), parsedDate)\n : null;\n\n this.open = false;\n this.updateValue([parsedDate, parsedTime]);\n }\n\n onDayClick(day: TuiDay): void {\n const modifiedTime = this.value[1] && this.clampTime(this.value[1], day);\n\n this.updateValue([day, modifiedTime]);\n this.updateNativeValue(day);\n this.open = false;\n }\n\n onMonthChange(month: TuiMonth): void {\n this.month = month;\n }\n\n onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n focused ||\n this.value[0] === null ||\n this.value[1] !== null ||\n this.nativeValue.length <= this.fillerLength + DATE_TIME_SEPARATOR.length ||\n this.timeMode === `HH:MM`\n ) {\n return;\n }\n\n const [, time] = this.nativeValue.split(DATE_TIME_SEPARATOR);\n\n if (!time) {\n return;\n }\n\n const parsedTime = TuiTime.fromString(time);\n\n this.updateValue([this.value[0], parsedTime]);\n\n setTimeout(() => {\n if (this.nativeValue.endsWith(`.`) || this.nativeValue.endsWith(`:`)) {\n this.nativeValue = this.nativeValue.slice(0, -1);\n }\n });\n }\n\n override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n override writeValue(value: [TuiDay | null, TuiTime | null] | null): void {\n super.writeValue(value);\n\n this.nativeValue = value && (value[0] || value[1]) ? this.computedValue : ``;\n }\n\n protected getFallbackValue(): [TuiDay | null, TuiTime | null] {\n return [null, null];\n }\n\n protected override valueIdenticalComparator(\n oldValue: [TuiDay | null, TuiTime | null],\n newValue: [TuiDay | null, TuiTime | null],\n ): boolean {\n return (\n tuiNullableSame(oldValue[0], newValue[0], (a, b) => a.daySame(b)) &&\n tuiNullableSame(oldValue[1], newValue[1], (a, b) => String(a) === String(b))\n );\n }\n\n @tuiPure\n private calculateMask(\n day: TuiDay | null,\n min: TuiDay,\n max: TuiDay,\n timeMode: TuiTimeMode,\n dateFormat: TuiDateMode,\n dateSeparator: string,\n ): TuiTextMaskOptions {\n return {\n mask: [\n ...tuiCreateDateMask(dateFormat, dateSeparator),\n `,`,\n ` `,\n ...tuiCreateTimeMask(timeMode),\n ],\n pipe: tuiCreateAutoCorrectedDateTimePipe({\n value: day,\n min,\n max,\n dateFormat,\n dateSeparator,\n timeMode,\n }),\n guide: false,\n };\n }\n\n @tuiPure\n private getDateTimeString(\n date: TuiDay | string,\n time: TuiTime | string | null,\n timeMode: TuiTimeMode = `HH:MM`,\n ): string {\n const dateString =\n date instanceof TuiDay\n ? date.toString(this.dateFormat, this.dateSeparator)\n : date;\n const timeString = time instanceof TuiTime ? time.toString(timeMode) : time || ``;\n\n return `${dateString}${DATE_TIME_SEPARATOR}${timeString}`;\n }\n\n private updateNativeValue(day: TuiDay): void {\n const time = this.nativeValue.split(DATE_TIME_SEPARATOR)[1] || ``;\n\n this.nativeValue = this.getDateTimeString(day, time);\n }\n\n private clampTime(time: TuiTime, day: TuiDay): TuiTime {\n const ms = time.toAbsoluteMilliseconds();\n const min =\n Array.isArray(this.min) && day.daySame(this.calendarMinDay)\n ? this.min[1].toAbsoluteMilliseconds()\n : -Infinity;\n const max =\n Array.isArray(this.max) && day.daySame(this.calendarMaxDay)\n ? this.max[1].toAbsoluteMilliseconds()\n : Infinity;\n\n return TuiTime.fromAbsoluteMilliseconds(tuiClamp(ms, min, max));\n }\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input-date-time__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [tuiTextfieldIcon]=\"iconContent\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [filler]=\"(filler$ | async) || ''\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"textMaskOptions\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($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\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n ></tui-svg>\n </ng-template>\n\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"type\"\n >\n <tui-calendar\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-input-date-time__calendar\"\n [min]=\"calendarMinDay\"\n [max]=\"calendarMaxDay\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"calendarValue\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n ></tui-calendar>\n </ng-template>\n</tui-hosted-dropdown>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\n\n@Directive({\n selector: `tui-input-date-time`,\n providers: [tuiAsTextfieldHost(TuiInputDateTimeDirective)],\n})\nexport class TuiInputDateTimeDirective extends AbstractTuiTextfieldHost<TuiInputDateTimeComponent> {\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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {\n TuiCalendarModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\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 {TuiInputDateTimeComponent} from './input-date-time.component';\nimport {TuiInputDateTimeDirective} from './input-date-time.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TextMaskModule,\n PolymorpheusModule,\n TuiPreventDefaultModule,\n TuiCalendarModule,\n TuiSvgModule,\n TuiLinkModule,\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiValueAccessorModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [TuiInputDateTimeComponent, TuiInputDateTimeDirective],\n exports: [\n TuiInputDateTimeComponent,\n TuiInputDateTimeDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiInputDateTimeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAyEM,MAAO,yBACT,SAAQ,kBAAmD,CAAA;AA2C3D,IAAA,WAAA,CAII,OAAyB,EACE,iBAAoC,EAE9C,aAAwC,EACvB,UAAuB,EACpB,aAAqB,EAEjD,UAAmD,EAEnD,UAAmD,EAG1C,gBAEV,EAES,OAA4B,EAAA;AAE7C,QAAA,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QAfnC,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;QAEnD,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyC;QAG1C,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAE1B;QAES,IAAO,CAAA,OAAA,GAAP,OAAO,CAAqB;QAvDzC,IAAK,CAAA,KAAA,GAAoB,IAAI,CAAC;AAItC,QAAA,IAAA,CAAA,GAAG,GAA+B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AAInD,QAAA,IAAA,CAAA,GAAG,GAA+B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAInD,IAAmB,CAAA,mBAAA,GAA8B,oBAAoB,CAAC;AAItE,QAAA,IAAA,CAAA,sBAAsB,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAIjD,IAAQ,CAAA,QAAA,GAAgB,OAAO,CAAC;QAEhC,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;QAIJ,IAAO,CAAA,OAAA,GAAuB,aAAa,CAAC;YACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAChB,GAAG,CAAC,SAAS,IACT,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CACtE,CACJ;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7C,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;KAyB3D;AAED,IAAA,IAAI,YAAY,GAAA;QACZ,OAAO,kBAAkB,GAAG,mBAAmB,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;KACjF;AAED,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACb,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,aAAa,CACrB,CAAC;KACL;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,YAAY,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;KAC5B;AAED,IAAA,IAAI,aAAa,GAAA;QACb,MAAM,EAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC;AAC5C,QAAA,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;AAC3B,QAAA,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,GAAG,kBAAkB,CAAC;QAElE,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,iBAAiB,CAAC,EAAE;AACvC,YAAA,OAAO,WAAW,CAAC;AACtB,SAAA;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;KACvD;AAED,IAAA,IAAI,aAAa,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACxB;AAED,IAAA,IAAI,cAAc,GAAA;QACd,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;KAC3D;AAED,IAAA,IAAI,cAAc,GAAA;QACd,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;KAC3D;AAED,IAAA,IAAI,uBAAuB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC;KACrE;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,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;KAC1B;AAED,IAAA,aAAa,CAAC,KAAa,EAAA;QACvB,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,SAAA;AAED,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,kBAAkB,EAAE;YACnC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAE/B,OAAO;AACV,SAAA;AAED,QAAA,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAEtD,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAChE,QAAA,MAAM,UAAU,GACZ,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM;AACxC,cAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;cACpD,IAAI,CAAC;AAEf,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;KAC9C;AAED,IAAA,UAAU,CAAC,GAAW,EAAA;QAClB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEzE,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACrB;AAED,IAAA,aAAa,CAAC,KAAe,EAAA;AACzB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;AAED,IAAA,YAAY,CAAC,IAAa,EAAA;AACtB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KACpB;AAED,IAAA,SAAS,CAAC,OAAgB,EAAA;AACtB,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAE5B,QAAA,IACI,OAAO;AACP,YAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;AACtB,YAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;YACtB,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,MAAM;AACzE,YAAA,IAAI,CAAC,QAAQ,KAAK,CAAA,KAAA,CAAO,EAC3B;YACE,OAAO;AACV,SAAA;AAED,QAAA,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE7D,IAAI,CAAC,IAAI,EAAE;YACP,OAAO;AACV,SAAA;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAE5C,QAAA,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QAE9C,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAG,CAAA,CAAA,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAG,CAAC,EAAE;AAClE,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,aAAA;AACL,SAAC,CAAC,CAAC;KACN;IAEQ,gBAAgB,GAAA;QACrB,KAAK,CAAC,gBAAgB,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACrB;AAEQ,IAAA,UAAU,CAAC,KAA6C,EAAA;AAC7D,QAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,CAAC,WAAW,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,CAAA,CAAE,CAAC;KAChF;IAES,gBAAgB,GAAA;AACtB,QAAA,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACvB;IAEkB,wBAAwB,CACvC,QAAyC,EACzC,QAAyC,EAAA;QAEzC,QACI,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjE,YAAA,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,EAC9E;KACL;IAGO,aAAa,CACjB,GAAkB,EAClB,GAAW,EACX,GAAW,EACX,QAAqB,EACrB,UAAuB,EACvB,aAAqB,EAAA;QAErB,OAAO;AACH,YAAA,IAAI,EAAE;AACF,gBAAA,GAAG,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC;gBAC/C,CAAG,CAAA,CAAA;gBACH,CAAG,CAAA,CAAA;gBACH,GAAG,iBAAiB,CAAC,QAAQ,CAAC;AACjC,aAAA;YACD,IAAI,EAAE,kCAAkC,CAAC;AACrC,gBAAA,KAAK,EAAE,GAAG;gBACV,GAAG;gBACH,GAAG;gBACH,UAAU;gBACV,aAAa;gBACb,QAAQ;aACX,CAAC;AACF,YAAA,KAAK,EAAE,KAAK;SACf,CAAC;KACL;AAGO,IAAA,iBAAiB,CACrB,IAAqB,EACrB,IAA6B,EAC7B,WAAwB,CAAO,KAAA,CAAA,EAAA;AAE/B,QAAA,MAAM,UAAU,GACZ,IAAI,YAAY,MAAM;AAClB,cAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;cAClD,IAAI,CAAC;QACf,MAAM,UAAU,GAAG,IAAI,YAAY,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AAElF,QAAA,OAAO,GAAG,UAAU,CAAA,EAAG,mBAAmB,CAAG,EAAA,UAAU,EAAE,CAAC;KAC7D;AAEO,IAAA,iBAAiB,CAAC,GAAW,EAAA;AACjC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAElE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;KACxD;IAEO,SAAS,CAAC,IAAa,EAAE,GAAW,EAAA;AACxC,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;AACzC,QAAA,MAAM,GAAG,GACL,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;cACrD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE;cACpC,CAAC,QAAQ,CAAC;AACpB,QAAA,MAAM,GAAG,GACL,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;cACrD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE;cACpC,QAAQ,CAAC;AAEnB,QAAA,OAAO,OAAO,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;KACnE;;AA5SQ,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBA+CtB,SAAS,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAET,iBAAiB,EAAA,EAAA,EAAA,KAAA,EACjB,kBAAkB,EAElB,EAAA,EAAA,KAAA,EAAA,eAAe,EACf,EAAA,EAAA,KAAA,EAAA,kBAAkB,aAClB,cAAc,EAAA,EAAA,EAAA,KAAA,EAEd,cAAc,EAGd,EAAA,EAAA,KAAA,EAAA,+BAA+B,6BAI/B,sBAAsB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA/DzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EANvB,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAAA;QACP,0BAA0B,CAAC,yBAAyB,CAAC;QACrD,YAAY,CAAC,yBAAyB,CAAC;QACvC,4BAA4B,CAAC,+BAA+B,CAAC;KAChE,EAQU,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,8BAA8B,uEC/E7C,o1DAwDA,EAAA,MAAA,EAAA,CAAA,iTAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,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,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,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,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,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,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;AD8BI,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACkC,CAAA,EAAA,yBAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAInD,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACkC,CAAA,EAAA,yBAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAInD,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACqD,CAAA,EAAA,yBAAA,CAAA,SAAA,EAAA,qBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAItE,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACgC,CAAA,EAAA,yBAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIjD,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACe,CAAA,EAAA,yBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAmNhC,UAAA,CAAA;IADC,OAAO;AA0BP,CAAA,EAAA,yBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,IAAA,CAAA,CAAA;AAGD,UAAA,CAAA;IADC,OAAO;AAaP,CAAA,EAAA,yBAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,IAAA,CAAA,CAAA;4FAxRQ,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAXrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAAqB,mBAAA,CAAA;AAC/B,oBAAA,WAAW,EAAE,CAAiC,+BAAA,CAAA;oBAC9C,SAAS,EAAE,CAAC,CAAA,4BAAA,CAA8B,CAAC;oBAC3C,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE;AACP,wBAAA,0BAA0B,CAA2B,yBAAA,CAAA;AACrD,wBAAA,YAAY,CAA2B,yBAAA,CAAA;wBACvC,4BAA4B,CAAC,+BAA+B,CAAC;AAChE,qBAAA;AACJ,iBAAA,CAAA;;0BA8CQ,QAAQ;;0BACR,IAAI;;0BACJ,MAAM;2BAAC,SAAS,CAAA;;0BAEhB,MAAM;2BAAC,iBAAiB,CAAA;;0BACxB,MAAM;2BAAC,kBAAkB,CAAA;;0BAEzB,MAAM;2BAAC,eAAe,CAAA;;0BACtB,MAAM;2BAAC,kBAAkB,CAAA;;0BACzB,MAAM;2BAAC,cAAc,CAAA;;0BAErB,MAAM;2BAAC,cAAc,CAAA;;0BAErB,QAAQ;;0BACR,MAAM;2BAAC,+BAA+B,CAAA;;0BAItC,MAAM;2BAAC,sBAAsB,CAAA;4CAxDjB,SAAS,EAAA,CAAA;sBADzB,SAAS;uBAAC,8BAA8B,CAAA;gBAOzC,GAAG,EAAA,CAAA;sBAFF,KAAK;gBAMN,GAAG,EAAA,CAAA;sBAFF,KAAK;gBAMN,mBAAmB,EAAA,CAAA;sBAFlB,KAAK;gBAMN,sBAAsB,EAAA,CAAA;sBAFrB,KAAK;gBAMN,QAAQ,EAAA,CAAA;sBAFP,KAAK;gBAkHN,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,CAAO,KAAA,CAAA,CAAA;AAoGb,aAAA,CAAA,EAAA,aAAa,MA4Bb,iBAAiB,EAAA,EAAA,EAAA,EAAA,CAAA;;AE5UvB,MAAO,yBAA0B,SAAQ,wBAAmD,CAAA;AAC9F,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,CAAA,OAAA,CAAS,CAAC;KAC/B;;uHAXQ,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,8CAFvB,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAEjD,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAAqB,mBAAA,CAAA;AAC/B,oBAAA,SAAS,EAAE,CAAC,kBAAkB,CAAA,yBAAA,CAA2B,CAAC;AAC7D,iBAAA,CAAA;;;MC+BY,sBAAsB,CAAA;;oHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EAPhB,YAAA,EAAA,CAAA,yBAAyB,EAAE,yBAAyB,aAZ/D,YAAY;QACZ,cAAc;QACd,kBAAkB;QAClB,uBAAuB;QACvB,iBAAiB;QACjB,YAAY;QACZ,aAAa;QACb,uBAAuB;QACvB,2BAA2B;QAC3B,sBAAsB;AACtB,QAAA,4BAA4B,aAI5B,yBAAyB;QACzB,yBAAyB;QACzB,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAGhB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EApBtB,OAAA,EAAA,CAAA;YACL,YAAY;YACZ,cAAc;YACd,kBAAkB;YAClB,uBAAuB;YACvB,iBAAiB;YACjB,YAAY;YACZ,aAAa;YACb,uBAAuB;YACvB,2BAA2B;YAC3B,sBAAsB;YACtB,4BAA4B;AAC/B,SAAA,CAAA,EAAA,CAAA,CAAA;4FAQQ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBArBlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,cAAc;wBACd,kBAAkB;wBAClB,uBAAuB;wBACvB,iBAAiB;wBACjB,YAAY;wBACZ,aAAa;wBACb,uBAAuB;wBACvB,2BAA2B;wBAC3B,sBAAsB;wBACtB,4BAA4B;AAC/B,qBAAA;AACD,oBAAA,YAAY,EAAE,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;AACpE,oBAAA,OAAO,EAAE;wBACL,yBAAyB;wBACzB,yBAAyB;wBACzB,qBAAqB;AACxB,qBAAA;AACJ,iBAAA,CAAA;;;ACtCD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-input-date-time.js","sources":["../../../projects/kit/components/input-date-time/input-date-time.component.ts","../../../projects/kit/components/input-date-time/input-date-time.template.html","../../../projects/kit/components/input-date-time/input-date-time.directive.ts","../../../projects/kit/components/input-date-time/input-date-time.module.ts","../../../projects/kit/components/input-date-time/taiga-ui-kit-components-input-date-time.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n ALWAYS_FALSE_HANDLER,\n changeDateSeparator,\n DATE_FILLER_LENGTH,\n TUI_DATE_FORMAT,\n TUI_DATE_SEPARATOR,\n TuiActiveZoneDirective,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiBooleanHandler,\n tuiClamp,\n TuiContextWithImplicit,\n TuiControlValueTransformer,\n tuiDateClamp,\n TuiDateMode,\n TuiDay,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiMonth,\n tuiNullableSame,\n tuiPure,\n TuiTime,\n TuiTimeMode,\n} from '@taiga-ui/cdk';\nimport {\n TUI_TEXTFIELD_SIZE,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {DATE_TIME_SEPARATOR} from '@taiga-ui/kit/constants';\nimport {\n TUI_DATE_TEXTS,\n TUI_DATE_TIME_VALUE_TRANSFORMER,\n TUI_INPUT_DATE_OPTIONS,\n TUI_TIME_TEXTS,\n tuiDateStreamWithTransformer,\n TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {\n tuiCreateAutoCorrectedDateTimePipe,\n tuiCreateDateMask,\n tuiCreateTimeMask,\n} from '@taiga-ui/kit/utils/mask';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map, pluck} from 'rxjs/operators';\n\n@Component({\n selector: `tui-input-date-time`,\n templateUrl: `./input-date-time.template.html`,\n styleUrls: [`./input-date-time.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputDateTimeComponent),\n tuiAsControl(TuiInputDateTimeComponent),\n tuiDateStreamWithTransformer(TUI_DATE_TIME_VALUE_TRANSFORMER),\n ],\n})\nexport class TuiInputDateTimeComponent\n extends AbstractTuiControl<[TuiDay | null, TuiTime | null]>\n implements\n TuiWithOptionalMinMax<TuiDay | [TuiDay, TuiTime]>,\n TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private month: TuiMonth | null = null;\n\n @Input()\n @tuiDefaultProp()\n min: TuiDay | [TuiDay, TuiTime] = this.options.min;\n\n @Input()\n @tuiDefaultProp()\n max: TuiDay | [TuiDay, TuiTime] = this.options.max;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n defaultActiveYearMonth = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n timeMode: TuiTimeMode = `HH:MM`;\n\n open = false;\n\n readonly type!: TuiContextWithImplicit<TuiActiveZoneDirective>;\n\n readonly filler$: Observable<string> = combineLatest([\n this.dateTexts$.pipe(\n map(dateTexts =>\n changeDateSeparator(dateTexts[this.dateFormat], this.dateSeparator),\n ),\n ),\n this.timeTexts$.pipe(pluck(this.timeMode)),\n ]).pipe(map(fillers => this.getDateTimeString(...fillers)));\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\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_TIME_TEXTS)\n readonly timeTexts$: Observable<Record<TuiTimeMode, string>>,\n @Inject(TUI_DATE_TEXTS)\n readonly dateTexts$: Observable<Record<TuiDateMode, string>>,\n @Optional()\n @Inject(TUI_DATE_TIME_VALUE_TRANSFORMER)\n override readonly valueTransformer: TuiControlValueTransformer<\n [TuiDay | null, TuiTime | null]\n > | null,\n @Inject(TUI_INPUT_DATE_OPTIONS)\n private readonly options: TuiInputDateOptions,\n ) {\n super(control, changeDetectorRef, valueTransformer);\n }\n\n get fillerLength(): number {\n return DATE_FILLER_LENGTH + DATE_TIME_SEPARATOR.length + this.timeMode.length;\n }\n\n get textMaskOptions(): TuiTextMaskOptions {\n return this.calculateMask(\n this.value[0],\n this.calendarMinDay,\n this.calendarMaxDay,\n this.timeMode,\n this.dateFormat,\n this.dateSeparator,\n );\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 calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n get computedValue(): string {\n const {value, nativeValue, timeMode} = this;\n const [date, time] = value;\n const hasTimeInputChars = nativeValue.length > DATE_FILLER_LENGTH;\n\n if (!date || (!time && hasTimeInputChars)) {\n return nativeValue;\n }\n\n return this.getDateTimeString(date, time, timeMode);\n }\n\n get calendarValue(): TuiDay | null {\n return this.value[0];\n }\n\n get calendarMinDay(): TuiDay {\n return Array.isArray(this.min) ? this.min[0] : this.min;\n }\n\n get calendarMaxDay(): TuiDay {\n return Array.isArray(this.max) ? this.max[0] : this.max;\n }\n\n get computedActiveYearMonth(): TuiMonth {\n return (\n this.month ||\n this.value[0] ||\n tuiDateClamp(\n this.defaultActiveYearMonth,\n Array.isArray(this.min) ? this.min[0] : this.min,\n Array.isArray(this.max) ? this.max[0] : this.max,\n )\n );\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 this.open = !this.open;\n }\n\n onValueChange(value: string): void {\n if (!value) {\n this.onOpenChange(true);\n }\n\n if (value.length < DATE_FILLER_LENGTH) {\n this.updateValue([null, null]);\n\n return;\n }\n\n const [date, time] = value.split(DATE_TIME_SEPARATOR);\n\n const parsedDate = TuiDay.normalizeParse(date, this.dateFormat);\n const parsedTime =\n time && time.length === this.timeMode.length\n ? this.clampTime(TuiTime.fromString(time), parsedDate)\n : null;\n\n this.open = false;\n this.updateValue([parsedDate, parsedTime]);\n }\n\n onDayClick(day: TuiDay): void {\n const modifiedTime = this.value[1] && this.clampTime(this.value[1], day);\n\n this.updateValue([day, modifiedTime]);\n this.updateNativeValue(day);\n this.open = false;\n }\n\n onMonthChange(month: TuiMonth): void {\n this.month = month;\n }\n\n onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n focused ||\n this.value[0] === null ||\n this.value[1] !== null ||\n this.nativeValue.length <= this.fillerLength + DATE_TIME_SEPARATOR.length ||\n this.timeMode === `HH:MM`\n ) {\n return;\n }\n\n const [, time] = this.nativeValue.split(DATE_TIME_SEPARATOR);\n\n if (!time) {\n return;\n }\n\n const parsedTime = TuiTime.fromString(time);\n\n this.updateValue([this.value[0], parsedTime]);\n\n setTimeout(() => {\n if (this.nativeValue.endsWith(`.`) || this.nativeValue.endsWith(`:`)) {\n this.nativeValue = this.nativeValue.slice(0, -1);\n }\n });\n }\n\n override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n override writeValue(value: [TuiDay | null, TuiTime | null] | null): void {\n super.writeValue(value);\n\n this.nativeValue = value && (value[0] || value[1]) ? this.computedValue : ``;\n }\n\n protected getFallbackValue(): [TuiDay | null, TuiTime | null] {\n return [null, null];\n }\n\n protected override valueIdenticalComparator(\n oldValue: [TuiDay | null, TuiTime | null],\n newValue: [TuiDay | null, TuiTime | null],\n ): boolean {\n return (\n tuiNullableSame(oldValue[0], newValue[0], (a, b) => a.daySame(b)) &&\n tuiNullableSame(oldValue[1], newValue[1], (a, b) => String(a) === String(b))\n );\n }\n\n @tuiPure\n private calculateMask(\n day: TuiDay | null,\n min: TuiDay,\n max: TuiDay,\n timeMode: TuiTimeMode,\n dateFormat: TuiDateMode,\n dateSeparator: string,\n ): TuiTextMaskOptions {\n return {\n mask: [\n ...tuiCreateDateMask(dateFormat, dateSeparator),\n `,`,\n ` `,\n ...tuiCreateTimeMask(timeMode),\n ],\n pipe: tuiCreateAutoCorrectedDateTimePipe({\n value: day,\n min,\n max,\n dateFormat,\n dateSeparator,\n timeMode,\n }),\n guide: false,\n };\n }\n\n @tuiPure\n private getDateTimeString(\n date: TuiDay | string,\n time: TuiTime | string | null,\n timeMode: TuiTimeMode = `HH:MM`,\n ): string {\n const dateString =\n date instanceof TuiDay\n ? date.toString(this.dateFormat, this.dateSeparator)\n : date;\n const timeString = time instanceof TuiTime ? time.toString(timeMode) : time || ``;\n\n return `${dateString}${DATE_TIME_SEPARATOR}${timeString}`;\n }\n\n private updateNativeValue(day: TuiDay): void {\n const time = this.nativeValue.split(DATE_TIME_SEPARATOR)[1] || ``;\n\n this.nativeValue = this.getDateTimeString(day, time);\n }\n\n private clampTime(time: TuiTime, day: TuiDay): TuiTime {\n const ms = time.toAbsoluteMilliseconds();\n const min =\n Array.isArray(this.min) && day.daySame(this.calendarMinDay)\n ? this.min[1].toAbsoluteMilliseconds()\n : -Infinity;\n const max =\n Array.isArray(this.max) && day.daySame(this.calendarMaxDay)\n ? this.max[1].toAbsoluteMilliseconds()\n : Infinity;\n\n return TuiTime.fromAbsoluteMilliseconds(tuiClamp(ms, min, max));\n }\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input-date-time__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [filler]=\"(filler$ | async) || ''\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"textMaskOptions\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($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\n <ng-template #iconContent>\n <tui-svg\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n [class.t-icon]=\"!computedDisabled\"\n [src]=\"src\"\n ></tui-svg>\n </ng-template>\n\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"type\"\n >\n <tui-calendar\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-input-date-time__calendar\"\n [min]=\"calendarMinDay\"\n [max]=\"calendarMaxDay\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"calendarValue\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n ></tui-calendar>\n </ng-template>\n</tui-hosted-dropdown>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputDateTimeComponent} from './input-date-time.component';\n\n@Directive({\n selector: `tui-input-date-time`,\n providers: [tuiAsTextfieldHost(TuiInputDateTimeDirective)],\n})\nexport class TuiInputDateTimeDirective extends AbstractTuiTextfieldHost<TuiInputDateTimeComponent> {\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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {\n TuiCalendarModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiPrimitiveTextfieldModule,\n TuiSvgModule,\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 {TuiInputDateTimeComponent} from './input-date-time.component';\nimport {TuiInputDateTimeDirective} from './input-date-time.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TextMaskModule,\n PolymorpheusModule,\n TuiPreventDefaultModule,\n TuiCalendarModule,\n TuiSvgModule,\n TuiLinkModule,\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiValueAccessorModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [TuiInputDateTimeComponent, TuiInputDateTimeDirective],\n exports: [\n TuiInputDateTimeComponent,\n TuiInputDateTimeDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiInputDateTimeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|