@taiga-ui/kit 2.38.0 → 2.41.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/abstract/input-slider.d.ts +27 -9
- package/abstract/slider/slider.d.ts +3 -6
- package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.js +43 -64
- package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
- 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-accordion.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-accordion.umd.min.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-action.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-avatar.umd.js +27 -5
- package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-avatar.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-avatar.umd.min.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-breadcrumbs.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.min.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-labeled.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.min.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-filter.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-filter.umd.min.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-copy.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.js +9 -6
- package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.min.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-password.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +5 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.js +6 -9
- package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js +196 -164
- package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js +10 -30
- package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +21 -12
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.min.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-marker-icon.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.min.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-pagination.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.min.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-pdf-viewer.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-list.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.js +221 -31
- package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-range.umd.min.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-rating.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.js +86 -9
- package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.js +38 -36
- package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js +28 -8
- package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.js +7 -0
- package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
- package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
- package/components/action/taiga-ui-kit-components-action.metadata.json +1 -1
- package/components/avatar/avatar-options.d.ts +11 -0
- package/components/avatar/avatar.component.d.ts +4 -2
- package/components/avatar/index.d.ts +1 -0
- package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
- package/components/breadcrumbs/breadcrumbs.component.d.ts +1 -1
- package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
- package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
- package/components/calendar-range/calendar-range.component.d.ts +2 -2
- package/components/carousel/taiga-ui-kit-components-carousel.metadata.json +1 -1
- package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
- package/components/checkbox-labeled/taiga-ui-kit-components-checkbox-labeled.metadata.json +1 -1
- package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
- package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +1 -1
- package/components/data-list-wrapper/data-list-wrapper.component.d.ts +2 -2
- package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
- package/components/files/taiga-ui-kit-components-files.metadata.json +1 -1
- package/components/filter/filter.component.d.ts +1 -1
- package/components/filter/taiga-ui-kit-components-filter.metadata.json +1 -1
- package/components/input/taiga-ui-kit-components-input.metadata.json +1 -1
- package/components/input-copy/taiga-ui-kit-components-input-copy.metadata.json +1 -1
- package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
- package/components/input-date/input-date.component.d.ts +1 -1
- package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
- package/components/input-date-range/input-date-range.component.d.ts +1 -1
- package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
- package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
- package/components/input-file/input-file.component.d.ts +6 -6
- package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
- package/components/input-files/input-files.component.d.ts +2 -2
- package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
- package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
- package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
- package/components/input-number/input-number.component.d.ts +2 -1
- package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
- package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
- package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
- package/components/input-phone-international/input-phone-international.component.d.ts +1 -1
- package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
- package/components/input-range/input-range.component.d.ts +44 -31
- package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
- package/components/input-slider/input-slider.component.d.ts +2 -8
- package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
- package/components/input-tag/input-tag.component.d.ts +11 -4
- package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
- package/components/input-time/input-time.component.d.ts +2 -2
- package/components/marker-icon/taiga-ui-kit-components-marker-icon.metadata.json +1 -1
- package/components/multi-select/multi-select-options.d.ts +1 -1
- package/components/multi-select/multi-select.component.d.ts +3 -3
- package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
- package/components/pagination/taiga-ui-kit-components-pagination.metadata.json +1 -1
- package/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.metadata.json +1 -1
- package/components/progress/progress-segmented/progress-segmented.component.d.ts +1 -1
- package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
- package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
- package/components/radio-list/radio-list.component.d.ts +1 -1
- package/components/range/index.d.ts +1 -0
- package/components/range/range-change.directive.d.ts +20 -0
- package/components/range/range.component.d.ts +33 -5
- package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
- package/components/rating/taiga-ui-kit-components-rating.metadata.json +1 -1
- package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
- package/components/slider/index.d.ts +1 -0
- package/components/slider/slider-key-steps.directive.d.ts +3 -1
- package/components/slider/slider-old.component.d.ts +3 -1
- package/components/slider/slider-readonly.directive.d.ts +9 -0
- package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
- package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
- package/components/tabs/index.d.ts +0 -1
- package/components/tabs/tab/tab.component.d.ts +2 -1
- package/components/tabs/tabs/tabs.component.d.ts +3 -4
- package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +5 -2
- package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
- package/components/tag/index.d.ts +1 -0
- package/components/tag/tag-options.d.ts +12 -0
- package/components/tag/tag.component.d.ts +3 -1
- package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
- package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
- package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
- package/esm2015/abstract/input-slider.js +30 -37
- package/esm2015/abstract/slider/slider.js +13 -19
- package/esm2015/components/accordion/accordion-item/accordion-item.component.js +2 -2
- package/esm2015/components/action/action.component.js +2 -2
- package/esm2015/components/avatar/avatar-options.js +15 -0
- package/esm2015/components/avatar/avatar.component.js +14 -8
- package/esm2015/components/avatar/index.js +2 -1
- package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
- package/esm2015/components/breadcrumbs/breadcrumbs.component.js +1 -1
- package/esm2015/components/calendar-month/calendar-month.component.js +2 -2
- package/esm2015/components/calendar-range/calendar-range.component.js +1 -1
- package/esm2015/components/carousel/carousel.component.js +2 -2
- package/esm2015/components/checkbox/checkbox.component.js +1 -1
- package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +2 -2
- package/esm2015/components/combo-box/combo-box.component.js +2 -2
- package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
- package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
- package/esm2015/components/files/file/file.component.js +2 -2
- package/esm2015/components/files/files.component.js +3 -3
- package/esm2015/components/filter/filter.component.js +2 -2
- package/esm2015/components/input/input.component.js +2 -2
- package/esm2015/components/input-copy/input-copy.component.js +2 -2
- package/esm2015/components/input-count/input-count.component.js +2 -2
- package/esm2015/components/input-date/input-date.component.js +2 -2
- package/esm2015/components/input-date-range/input-date-range.component.js +2 -2
- package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
- package/esm2015/components/input-file/file/file.component.js +2 -2
- package/esm2015/components/input-file/input-file.component.js +1 -1
- package/esm2015/components/input-files/input-files.component.js +2 -2
- package/esm2015/components/input-month/input-month.component.js +2 -2
- package/esm2015/components/input-month-range/input-month-range.component.js +2 -2
- package/esm2015/components/input-number/input-number.component.js +11 -8
- package/esm2015/components/input-password/input-password.component.js +2 -2
- package/esm2015/components/input-phone/input-phone.component.js +8 -11
- package/esm2015/components/input-phone-international/input-phone-international.component.js +7 -3
- package/esm2015/components/input-range/input-range.component.js +192 -156
- package/esm2015/components/input-range/input-range.module.js +13 -15
- package/esm2015/components/input-slider/input-slider.component.js +8 -20
- package/esm2015/components/input-slider/input-slider.module.js +3 -12
- package/esm2015/components/input-tag/input-tag.component.js +24 -15
- package/esm2015/components/input-time/input-time.component.js +1 -1
- package/esm2015/components/marker-icon/marker-icon.component.js +2 -2
- package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +1 -1
- package/esm2015/components/multi-select/multi-select-options.js +1 -1
- package/esm2015/components/multi-select/multi-select.component.js +2 -2
- package/esm2015/components/pagination/pagination.component.js +2 -2
- package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
- package/esm2015/components/progress/progress-circle/progress-circle.component.js +2 -2
- package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +2 -2
- package/esm2015/components/radio/radio.component.js +3 -3
- package/esm2015/components/radio-list/radio-list.component.js +1 -1
- package/esm2015/components/range/index.js +2 -1
- package/esm2015/components/range/range-change.directive.js +83 -0
- package/esm2015/components/range/range.component.js +118 -28
- package/esm2015/components/range/range.module.js +10 -7
- package/esm2015/components/rating/rating.component.js +2 -2
- package/esm2015/components/select/select.component.js +2 -2
- package/esm2015/components/slider/index.js +2 -1
- package/esm2015/components/slider/slider-key-steps.directive.js +15 -2
- package/esm2015/components/slider/slider-old.component.js +11 -5
- package/esm2015/components/slider/slider-readonly.directive.js +50 -0
- package/esm2015/components/slider/slider.component.js +5 -5
- package/esm2015/components/slider/slider.module.js +4 -1
- package/esm2015/components/stepper/step/step.component.js +2 -2
- package/esm2015/components/tabs/index.js +1 -2
- package/esm2015/components/tabs/tab/tab.component.js +13 -9
- package/esm2015/components/tabs/tabs/tabs.component.js +5 -11
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +24 -16
- package/esm2015/components/tabs/underline/underline.component.js +2 -2
- package/esm2015/components/tag/index.js +2 -1
- package/esm2015/components/tag/tag-options.js +15 -0
- package/esm2015/components/tag/tag.component.js +13 -9
- package/esm2015/components/text-area/text-area.component.js +3 -3
- package/esm2015/components/toggle/toggle.component.js +1 -1
- package/esm2015/pipes/field-error/field-error-content-pipe.js +1 -1
- package/esm2015/pipes/field-error/field-error-pipe.js +1 -1
- package/esm2015/pipes/filter-by-input/filter-by-input.base.js +1 -1
- package/esm2015/tokens/index.js +2 -1
- package/esm2015/tokens/mobile-aware.js +2 -1
- package/esm2015/tokens/tab-margin.js +5 -0
- package/esm2015/tokens/tag-status.js +2 -1
- package/esm2015/types/key-steps.js +1 -1
- package/esm2015/utils/mask/create-time-mask.js +1 -1
- package/esm2015/utils/miscellaneous/create-default-day-range-periods.js +1 -1
- package/esm2015/utils/miscellaneous/create-time-periods.js +1 -1
- package/esm5/abstract/input-slider.js +30 -48
- package/esm5/abstract/slider/slider.js +13 -19
- package/esm5/components/accordion/accordion-item/accordion-item.component.js +2 -2
- package/esm5/components/action/action.component.js +2 -2
- package/esm5/components/avatar/avatar-options.js +16 -0
- package/esm5/components/avatar/avatar.component.js +14 -8
- package/esm5/components/avatar/index.js +2 -1
- package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
- package/esm5/components/breadcrumbs/breadcrumbs.component.js +1 -1
- package/esm5/components/calendar-month/calendar-month.component.js +2 -2
- package/esm5/components/calendar-range/calendar-range.component.js +1 -1
- package/esm5/components/carousel/carousel.component.js +2 -2
- package/esm5/components/checkbox/checkbox.component.js +1 -1
- package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +2 -2
- package/esm5/components/combo-box/combo-box.component.js +2 -2
- package/esm5/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
- package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
- package/esm5/components/files/file/file.component.js +2 -2
- package/esm5/components/files/files.component.js +3 -3
- package/esm5/components/filter/filter.component.js +2 -2
- package/esm5/components/input/input.component.js +2 -2
- package/esm5/components/input-copy/input-copy.component.js +2 -2
- package/esm5/components/input-count/input-count.component.js +2 -2
- package/esm5/components/input-date/input-date.component.js +2 -2
- package/esm5/components/input-date-range/input-date-range.component.js +2 -2
- package/esm5/components/input-date-time/input-date-time.component.js +2 -2
- package/esm5/components/input-file/file/file.component.js +2 -2
- package/esm5/components/input-file/input-file.component.js +1 -1
- package/esm5/components/input-files/input-files.component.js +2 -2
- package/esm5/components/input-month/input-month.component.js +2 -2
- package/esm5/components/input-month-range/input-month-range.component.js +2 -2
- package/esm5/components/input-number/input-number.component.js +11 -8
- package/esm5/components/input-password/input-password.component.js +2 -2
- package/esm5/components/input-phone/input-phone.component.js +8 -11
- package/esm5/components/input-phone-international/input-phone-international.component.js +7 -3
- package/esm5/components/input-range/input-range.component.js +194 -157
- package/esm5/components/input-range/input-range.module.js +13 -15
- package/esm5/components/input-slider/input-slider.component.js +8 -20
- package/esm5/components/input-slider/input-slider.module.js +3 -12
- package/esm5/components/input-tag/input-tag.component.js +24 -15
- package/esm5/components/input-time/input-time.component.js +1 -1
- package/esm5/components/marker-icon/marker-icon.component.js +2 -2
- package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +1 -1
- package/esm5/components/multi-select/multi-select-options.js +1 -1
- package/esm5/components/multi-select/multi-select.component.js +2 -2
- package/esm5/components/pagination/pagination.component.js +2 -2
- package/esm5/components/pdf-viewer/pdf-viewer.component.js +2 -2
- package/esm5/components/progress/progress-circle/progress-circle.component.js +2 -2
- package/esm5/components/progress/progress-segmented/progress-segmented.component.js +2 -2
- package/esm5/components/radio/radio.component.js +3 -3
- package/esm5/components/radio-list/radio-list.component.js +1 -1
- package/esm5/components/range/index.js +2 -1
- package/esm5/components/range/range-change.directive.js +101 -0
- package/esm5/components/range/range.component.js +126 -29
- package/esm5/components/range/range.module.js +10 -7
- package/esm5/components/rating/rating.component.js +2 -2
- package/esm5/components/select/select.component.js +2 -2
- package/esm5/components/slider/index.js +2 -1
- package/esm5/components/slider/slider-key-steps.directive.js +23 -2
- package/esm5/components/slider/slider-old.component.js +11 -5
- package/esm5/components/slider/slider-readonly.directive.js +51 -0
- package/esm5/components/slider/slider.component.js +5 -5
- package/esm5/components/slider/slider.module.js +4 -1
- package/esm5/components/stepper/step/step.component.js +2 -2
- package/esm5/components/tabs/index.js +1 -2
- package/esm5/components/tabs/tab/tab.component.js +13 -9
- package/esm5/components/tabs/tabs/tabs.component.js +5 -15
- package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +27 -16
- package/esm5/components/tabs/underline/underline.component.js +2 -2
- package/esm5/components/tag/index.js +2 -1
- package/esm5/components/tag/tag-options.js +16 -0
- package/esm5/components/tag/tag.component.js +13 -9
- package/esm5/components/text-area/text-area.component.js +3 -3
- package/esm5/components/toggle/toggle.component.js +1 -1
- package/esm5/pipes/field-error/field-error-content-pipe.js +1 -1
- package/esm5/pipes/field-error/field-error-pipe.js +1 -1
- package/esm5/pipes/filter-by-input/filter-by-input.base.js +1 -1
- package/esm5/tokens/index.js +2 -1
- package/esm5/tokens/mobile-aware.js +2 -1
- package/esm5/tokens/tab-margin.js +5 -0
- package/esm5/tokens/tag-status.js +2 -1
- package/esm5/types/key-steps.js +1 -1
- package/esm5/utils/mask/create-time-mask.js +1 -1
- package/esm5/utils/miscellaneous/create-default-day-range-periods.js +1 -1
- package/esm5/utils/miscellaneous/create-time-periods.js +1 -1
- package/fesm2015/taiga-ui-kit-abstract.js +43 -55
- package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-accordion.js +1 -1
- package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-action.js +1 -1
- package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-avatar.js +27 -8
- package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +1 -1
- package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-carousel.js +1 -1
- package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox.js +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 +2 -2
- package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-files.js +3 -3
- package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-filter.js +1 -1
- package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-copy.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-count.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-range.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-time.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-file.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-files.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js +10 -7
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-password.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +6 -2
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone.js +7 -10
- package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-range.js +198 -167
- package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js +8 -29
- package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +24 -15
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-time.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-marker-icon.js +1 -1
- package/fesm2015/taiga-ui-kit-components-marker-icon.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-pagination.js +1 -1
- package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +1 -1
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-progress.js +2 -2
- package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio.js +2 -2
- package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-range.js +199 -34
- package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-rating.js +1 -1
- package/fesm2015/taiga-ui-kit-components-rating.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-slider.js +77 -10
- package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-stepper.js +1 -1
- package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tabs.js +39 -34
- package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tag.js +27 -10
- package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js +2 -2
- package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-toggle.js +1 -1
- package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
- package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
- package/fesm2015/taiga-ui-kit-tokens.js +7 -1
- package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
- package/fesm5/taiga-ui-kit-abstract.js +43 -66
- package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-accordion.js +1 -1
- package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-action.js +1 -1
- package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-avatar.js +27 -8
- package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-breadcrumbs.js +1 -1
- package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-calendar-month.js +1 -1
- package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-calendar-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-carousel.js +1 -1
- package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-checkbox-labeled.js +1 -1
- package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-checkbox.js +1 -1
- package/fesm5/taiga-ui-kit-components-combo-box.js +1 -1
- package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +2 -2
- package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-files.js +3 -3
- package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-filter.js +1 -1
- package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-copy.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-count.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date-range.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date-time.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-file.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-files.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-month-range.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-month.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-number.js +10 -7
- package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-password.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone-international.js +6 -2
- package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone.js +7 -10
- package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-range.js +200 -168
- package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-slider.js +8 -29
- package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-tag.js +24 -15
- package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input.js +1 -1
- package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-marker-icon.js +1 -1
- package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-multi-select.js +1 -1
- package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-pagination.js +1 -1
- package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-pdf-viewer.js +1 -1
- package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-progress.js +2 -2
- package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-radio.js +2 -2
- package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-range.js +225 -35
- package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-rating.js +1 -1
- package/fesm5/taiga-ui-kit-components-rating.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-select.js +1 -1
- package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-slider.js +86 -10
- package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-stepper.js +1 -1
- package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tabs.js +42 -38
- package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tag.js +28 -11
- package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-text-area.js +2 -2
- package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-toggle.js +1 -1
- package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
- package/fesm5/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
- package/fesm5/taiga-ui-kit-tokens.js +7 -1
- package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
- package/package.json +4 -4
- package/pipes/field-error/field-error-content-pipe.d.ts +1 -1
- package/pipes/field-error/field-error-pipe.d.ts +1 -1
- package/pipes/filter-by-input/filter-by-input.base.d.ts +1 -1
- package/tokens/index.d.ts +1 -0
- package/tokens/mobile-aware.d.ts +1 -0
- package/tokens/tab-margin.d.ts +2 -0
- package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
- package/types/key-steps.d.ts +1 -1
- package/utils/miscellaneous/create-default-day-range-periods.d.ts +1 -1
- package/utils/miscellaneous/create-time-periods.d.ts +1 -1
- package/components/tabs/tabs.const.d.ts +0 -2
- package/esm2015/components/tabs/tabs.const.js +0 -3
- package/esm5/components/tabs/tabs.const.js +0 -3
|
@@ -1,63 +1,109 @@
|
|
|
1
1
|
import { __decorate, __param } from 'tslib';
|
|
2
2
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
3
|
-
import { Optional, Self, Inject, ChangeDetectorRef, ElementRef, Component, ChangeDetectionStrategy, forwardRef, NgModule } from '@angular/core';
|
|
4
|
-
import { NgControl } from '@angular/forms';
|
|
5
|
-
import { isNativeFocusedIn,
|
|
6
|
-
import { AbstractTuiSlider
|
|
7
|
-
import {
|
|
3
|
+
import { Directive, Optional, Self, Inject, ChangeDetectorRef, ElementRef, Input, ViewChildren, HostBinding, HostListener, Component, ChangeDetectionStrategy, forwardRef, EventEmitter, Output, NgModule } from '@angular/core';
|
|
4
|
+
import { NgControl, FormsModule } from '@angular/forms';
|
|
5
|
+
import { EMPTY_QUERY, isNativeFocusedIn, tuiDefaultProp, nonNegativeFiniteAssertion, tuiPure, TUI_FOCUSABLE_ITEM_ACCESSOR, typedFromEvent, clamp, round, TuiDestroyService, TuiRepeatTimesModule, TuiFocusableModule } from '@taiga-ui/cdk';
|
|
6
|
+
import { AbstractTuiSlider } from '@taiga-ui/kit/abstract';
|
|
7
|
+
import { TuiSliderComponent, TuiSliderModule } from '@taiga-ui/kit/components/slider';
|
|
8
8
|
import { TUI_FROM_TO_TEXTS } from '@taiga-ui/kit/tokens';
|
|
9
|
-
import { Observable } from 'rxjs';
|
|
9
|
+
import { Observable, merge } from 'rxjs';
|
|
10
10
|
import { TuiFormatNumberPipeModule } from '@taiga-ui/core';
|
|
11
|
+
import { TUI_FLOATING_PRECISION } from '@taiga-ui/kit/constants';
|
|
12
|
+
import { filter, map, tap, switchMap, startWith, takeUntil, repeat } from 'rxjs/operators';
|
|
11
13
|
|
|
12
14
|
var TuiRangeComponent_1;
|
|
15
|
+
/**
|
|
16
|
+
* Turn on new mode for `Range` and `InputRange`.
|
|
17
|
+
* The new version of component will behave almost the same as the same component from the next major release.
|
|
18
|
+
* @deprecated TODO remove me in v3.0 and make `Range` and `InputRange` always "new".
|
|
19
|
+
*/
|
|
20
|
+
let TuiNewRangeDirective = class TuiNewRangeDirective {
|
|
21
|
+
};
|
|
22
|
+
TuiNewRangeDirective = __decorate([
|
|
23
|
+
Directive({
|
|
24
|
+
selector: 'tui-range[new], tui-input-range[new]',
|
|
25
|
+
})
|
|
26
|
+
], TuiNewRangeDirective);
|
|
13
27
|
// @dynamic
|
|
14
28
|
let TuiRangeComponent = TuiRangeComponent_1 = class TuiRangeComponent extends AbstractTuiSlider {
|
|
15
|
-
constructor(control, changeDetectorRef, documentRef, elementRef, fromToTexts
|
|
29
|
+
constructor(control, changeDetectorRef, documentRef, elementRef, fromToTexts$, isNew) {
|
|
16
30
|
super(control, changeDetectorRef, documentRef, fromToTexts$);
|
|
17
31
|
this.elementRef = elementRef;
|
|
32
|
+
this.isNew = isNew;
|
|
33
|
+
this.min = 0;
|
|
34
|
+
/**
|
|
35
|
+
* TODO: make `100` as default value (to be like native sliders) in v3.0
|
|
36
|
+
*/
|
|
37
|
+
this.max = Infinity;
|
|
38
|
+
/**
|
|
39
|
+
* TODO: think about replacing this props by `step` (to be like native slider).
|
|
40
|
+
* It can be easy after refactor of keySteps.
|
|
41
|
+
*/
|
|
42
|
+
this.steps = 0;
|
|
43
|
+
/**
|
|
44
|
+
* TODO: think about replacing this props by `step` (to be like native slider).
|
|
45
|
+
* It can be easy after refactor of keySteps.
|
|
46
|
+
* */
|
|
47
|
+
this.quantum = 0;
|
|
48
|
+
this.slidersRefs = EMPTY_QUERY;
|
|
49
|
+
this.lastActiveThumb = 'right';
|
|
18
50
|
}
|
|
19
51
|
get nativeFocusableElement() {
|
|
20
|
-
|
|
52
|
+
const [sliderLeftRef, sliderRightRef] = this.slidersRefs;
|
|
53
|
+
if (this.computedDisabled || !sliderLeftRef || !sliderRightRef) {
|
|
21
54
|
return null;
|
|
22
55
|
}
|
|
23
56
|
return this.isLeftFocusable
|
|
24
|
-
?
|
|
25
|
-
:
|
|
57
|
+
? sliderLeftRef.nativeElement
|
|
58
|
+
: sliderRightRef.nativeElement;
|
|
26
59
|
}
|
|
27
60
|
get focused() {
|
|
28
61
|
return isNativeFocusedIn(this.elementRef.nativeElement);
|
|
29
62
|
}
|
|
63
|
+
get computedKeySteps() {
|
|
64
|
+
return this.computePureKeySteps(this.keySteps, this.min, this.max);
|
|
65
|
+
}
|
|
30
66
|
get left() {
|
|
31
67
|
return 100 * this.getFractionFromValue(this.value[0]);
|
|
32
68
|
}
|
|
33
69
|
get right() {
|
|
34
70
|
return 100 - 100 * this.getFractionFromValue(this.value[1]);
|
|
35
71
|
}
|
|
36
|
-
|
|
37
|
-
|
|
72
|
+
onFocused(focused) {
|
|
73
|
+
this.updateFocused(focused);
|
|
38
74
|
}
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
this.
|
|
75
|
+
changeByStep(coefficient, target) {
|
|
76
|
+
const [sliderLeftRef, sliderRightRef] = this.slidersRefs;
|
|
77
|
+
const leftThumbElement = sliderLeftRef.nativeElement;
|
|
78
|
+
const rightThumbElement = sliderRightRef.nativeElement;
|
|
79
|
+
const isRightThumb = target === this.elementRef.nativeElement
|
|
80
|
+
? this.lastActiveThumb === 'right'
|
|
81
|
+
: target === rightThumbElement;
|
|
82
|
+
const activeThumbElement = isRightThumb ? rightThumbElement : leftThumbElement;
|
|
83
|
+
const previousValue = isRightThumb ? this.value[1] : this.value[0];
|
|
84
|
+
/** @bad TODO think about a solution without twice conversion */
|
|
85
|
+
const previousFraction = this.getFractionFromValue(previousValue);
|
|
86
|
+
const newFractionValue = previousFraction + coefficient * this.computedStep;
|
|
87
|
+
this.processValue(this.getValueFromFraction(newFractionValue), isRightThumb);
|
|
88
|
+
if (activeThumbElement) {
|
|
89
|
+
activeThumbElement.focus();
|
|
90
|
+
}
|
|
44
91
|
}
|
|
45
92
|
processValue(value, right) {
|
|
46
93
|
const guardedValue = this.valueGuard(value);
|
|
47
|
-
if (right
|
|
94
|
+
if (right) {
|
|
48
95
|
this.updateEnd(guardedValue);
|
|
49
96
|
}
|
|
50
97
|
else {
|
|
51
98
|
this.updateStart(guardedValue);
|
|
52
99
|
}
|
|
100
|
+
this.lastActiveThumb = right ? 'right' : 'left';
|
|
53
101
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const total = rect.width - 2 * DOT_WIDTH[this.size];
|
|
60
|
-
return round(value / total, TUI_FLOATING_PRECISION);
|
|
102
|
+
getFallbackValue() {
|
|
103
|
+
return [0, 0];
|
|
104
|
+
}
|
|
105
|
+
computePureKeySteps(keySteps, min, max) {
|
|
106
|
+
return [[0, min], ...(keySteps || []), [100, max]];
|
|
61
107
|
}
|
|
62
108
|
updateStart(value) {
|
|
63
109
|
this.updateValue([Math.min(value, this.value[1]), this.value[1]]);
|
|
@@ -71,20 +117,63 @@ TuiRangeComponent.ctorParameters = () => [
|
|
|
71
117
|
{ type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
|
|
72
118
|
{ type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
73
119
|
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
74
|
-
{ type: Observable, decorators: [{ type: Inject, args: [TUI_FROM_TO_TEXTS,] }] }
|
|
120
|
+
{ type: Observable, decorators: [{ type: Inject, args: [TUI_FROM_TO_TEXTS,] }] },
|
|
121
|
+
{ type: TuiNewRangeDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiNewRangeDirective,] }] }
|
|
75
122
|
];
|
|
123
|
+
__decorate([
|
|
124
|
+
Input(),
|
|
125
|
+
tuiDefaultProp()
|
|
126
|
+
], TuiRangeComponent.prototype, "min", void 0);
|
|
127
|
+
__decorate([
|
|
128
|
+
Input(),
|
|
129
|
+
tuiDefaultProp()
|
|
130
|
+
], TuiRangeComponent.prototype, "max", void 0);
|
|
131
|
+
__decorate([
|
|
132
|
+
Input(),
|
|
133
|
+
tuiDefaultProp()
|
|
134
|
+
], TuiRangeComponent.prototype, "steps", void 0);
|
|
135
|
+
__decorate([
|
|
136
|
+
Input(),
|
|
137
|
+
tuiDefaultProp(nonNegativeFiniteAssertion, 'Quantum must be a non-negative number')
|
|
138
|
+
], TuiRangeComponent.prototype, "quantum", void 0);
|
|
139
|
+
__decorate([
|
|
140
|
+
ViewChildren(TuiSliderComponent, { read: ElementRef })
|
|
141
|
+
], TuiRangeComponent.prototype, "slidersRefs", void 0);
|
|
142
|
+
__decorate([
|
|
143
|
+
HostBinding('style.--left.%')
|
|
144
|
+
], TuiRangeComponent.prototype, "left", null);
|
|
145
|
+
__decorate([
|
|
146
|
+
HostBinding('style.--right.%')
|
|
147
|
+
], TuiRangeComponent.prototype, "right", null);
|
|
148
|
+
__decorate([
|
|
149
|
+
HostListener('focusin', ['true']),
|
|
150
|
+
HostListener('focusout', ['false'])
|
|
151
|
+
], TuiRangeComponent.prototype, "onFocused", null);
|
|
152
|
+
__decorate([
|
|
153
|
+
HostListener('keydown.arrowUp.prevent', ['1', '$event.target']),
|
|
154
|
+
HostListener('keydown.arrowRight.prevent', ['1', '$event.target']),
|
|
155
|
+
HostListener('keydown.arrowLeft.prevent', ['-1', '$event.target']),
|
|
156
|
+
HostListener('keydown.arrowDown.prevent', ['-1', '$event.target'])
|
|
157
|
+
], TuiRangeComponent.prototype, "changeByStep", null);
|
|
158
|
+
__decorate([
|
|
159
|
+
tuiPure
|
|
160
|
+
], TuiRangeComponent.prototype, "computePureKeySteps", null);
|
|
76
161
|
TuiRangeComponent = TuiRangeComponent_1 = __decorate([
|
|
77
162
|
Component({
|
|
78
163
|
selector: 'tui-range',
|
|
79
|
-
template: "<div
|
|
164
|
+
template: "<div class=\"track\">\n <input\n tuiSlider\n readonly\n type=\"range\"\n step=\"any\"\n automation-id=\"tui-range__left\"\n class=\"thumb\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value[0]\"\n [size]=\"size\"\n [keySteps]=\"computedKeySteps\"\n [tuiFocusable]=\"focusable\"\n [attr.disabled]=\"computedDisabled || null\"\n />\n <input\n tuiSlider\n readonly\n type=\"range\"\n step=\"any\"\n automation-id=\"tui-range__right\"\n class=\"thumb\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value[1]\"\n [size]=\"size\"\n [keySteps]=\"computedKeySteps\"\n [tuiFocusable]=\"focusable\"\n [attr.disabled]=\"computedDisabled || null\"\n />\n</div>\n\n<!-- TODO backward compatibility only (remove in v3.0) -->\n<div\n *ngIf=\"segmented\"\n class=\"segments\"\n>\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n class=\"segment\"\n >\n <ng-container *ngIf=\"fromToTexts$ | async as fromToText\">\n <span\n *ngIf=\"!isNew\"\n class=\"number\"\n >\n {{ getSegmentPrefix(tickIndex, fromToText) }} {{ tickIndex |\n tuiSliderTickLabel:segments:computedKeySteps | tuiFormatNumber\n }}\n <span *ngIf=\"pluralizeMap\">\n {{ tickIndex | tuiSliderTickLabel:segments:computedKeySteps\n | i18nPlural: pluralizeMap }}\n </span>\n </span>\n </ng-container>\n </span>\n</div>\n",
|
|
80
165
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
166
|
+
host: {
|
|
167
|
+
'[attr.tabindex]': '-1',
|
|
168
|
+
'[attr.aria-disabled]': 'computedDisabled',
|
|
169
|
+
},
|
|
81
170
|
providers: [
|
|
82
171
|
{
|
|
83
172
|
provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
|
|
84
173
|
useExisting: forwardRef(() => TuiRangeComponent_1),
|
|
85
174
|
},
|
|
86
175
|
],
|
|
87
|
-
styles: [":host{display:block;border-radius:var(--tui-radius-m);
|
|
176
|
+
styles: [":host{position:relative;display:block;height:.125rem;border-radius:var(--tui-radius-m);background:var(--tui-base-03);cursor:pointer;outline:0;margin:.4375rem 0}:host:active{cursor:ew-resize}:host:after{content:'';position:absolute;top:-.4375rem;bottom:-.4375rem;width:100%}:host._disabled{opacity:var(--tui-disabled-opacity);cursor:auto}:host[data-size='s'] .track{position:relative;margin:0 .25rem;height:100%}:host[data-size='s'] .track:after{content:'';position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-primary);margin:0 -.25rem}:host[data-size='m'] .track{position:relative;margin:0 .5rem;height:100%}:host[data-size='m'] .track:after{content:'';position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-primary);margin:0 -.5rem}.thumb{pointer-events:none;position:absolute;top:.0625rem;left:0;right:0;z-index:1;transform:translate(0,-50%)}.thumb::-webkit-slider-thumb{pointer-events:all}.thumb::-moz-range-thumb{pointer-events:all}input[type=range].thumb::-webkit-slider-runnable-track{background:0 0}input[type=range].thumb::-moz-range-track{background:0 0}input[type=range].thumb::-moz-range-progress{background:0 0}input[type=range].thumb::-ms-track{background:0 0}input[type=range].thumb::-ms-fill-lower{background:0 0}.thumb:last-of-type::-webkit-slider-thumb{transform:translate(50%,0)}.thumb:first-of-type::-webkit-slider-thumb{transform:translate(-50%,0)}.thumb:last-of-type::-moz-range-thumb{transform:translate(50%,0)}.thumb:first-of-type::-moz-range-thumb{transform:translate(-50%,0)}:host._disabled .thumb{opacity:1}.segments{position:absolute;top:0;left:0;bottom:0;right:0}:host[data-size='s'] .segments{display:flex;margin:0 .25rem;font:var(--tui-font-text-s);padding:0 .25rem}:host[data-size='s'] .segments>*{position:relative;flex:2;text-align:center}:host[data-size='s'] .segments>:first-child{left:-.25rem;flex:1;text-align:left}:host[data-size='s'] .segments>:last-child{right:-.25rem;flex:1;text-align:right}tui-input-slider+:host[data-size='s'] .segments{margin-left:calc(var(--tui-radius-m)/ 2 + .25rem)}tui-input-range+:host[data-size='s'] .segments,tui-range+:host[data-size='s'] .segments{margin-left:.5rem;margin-right:.5rem}tui-input-range+:host[data-size='s'] .segments>:first-child,tui-range+:host[data-size='s'] .segments>:first-child{left:-.5rem}tui-input-range+:host[data-size='s'] .segments>:last-child,tui-range+:host[data-size='s'] .segments>:last-child{right:-.5rem}:host[data-size='m'] .segments{display:flex;margin:0 .5rem;font:var(--tui-font-text-s);padding:0 .5rem}:host[data-size='m'] .segments>*{position:relative;flex:2;text-align:center}:host[data-size='m'] .segments>:first-child{left:-.5rem;flex:1;text-align:left}:host[data-size='m'] .segments>:last-child{right:-.5rem;flex:1;text-align:right}tui-input-slider+:host[data-size='m'] .segments{margin-left:calc(var(--tui-radius-m)/ 2 + .5rem)}tui-input-range+:host[data-size='m'] .segments,tui-range+:host[data-size='m'] .segments{margin-left:1rem;margin-right:1rem}tui-input-range+:host[data-size='m'] .segments>:first-child,tui-range+:host[data-size='m'] .segments>:first-child{left:-1rem}tui-input-range+:host[data-size='m'] .segments>:last-child,tui-range+:host[data-size='m'] .segments>:last-child{right:-1rem}.segment:not(:last-of-type):not(:first-of-type):before{content:'';position:absolute;left:0;right:0;margin:auto;background:var(--tui-base-07);width:.25rem;height:100%}.segment:last-of-type .number{margin-right:-.5rem}.segment:first-of-type .number{margin-left:-.5rem}.number{display:inline-block;margin-top:.5rem}"]
|
|
88
177
|
}),
|
|
89
178
|
__param(0, Optional()),
|
|
90
179
|
__param(0, Self()),
|
|
@@ -92,9 +181,85 @@ TuiRangeComponent = TuiRangeComponent_1 = __decorate([
|
|
|
92
181
|
__param(1, Inject(ChangeDetectorRef)),
|
|
93
182
|
__param(2, Inject(DOCUMENT)),
|
|
94
183
|
__param(3, Inject(ElementRef)),
|
|
95
|
-
__param(4, Inject(TUI_FROM_TO_TEXTS))
|
|
184
|
+
__param(4, Inject(TUI_FROM_TO_TEXTS)),
|
|
185
|
+
__param(5, Optional()),
|
|
186
|
+
__param(5, Inject(TuiNewRangeDirective))
|
|
96
187
|
], TuiRangeComponent);
|
|
97
188
|
|
|
189
|
+
// @dynamic
|
|
190
|
+
let TuiRangeChangeDirective = class TuiRangeChangeDirective {
|
|
191
|
+
constructor(documentRef, elementRef, range, destroy$) {
|
|
192
|
+
this.documentRef = documentRef;
|
|
193
|
+
this.elementRef = elementRef;
|
|
194
|
+
this.range = range;
|
|
195
|
+
/**
|
|
196
|
+
* TODO replace with pointer events (when all supported browsers can handle them).
|
|
197
|
+
* Dont forget to use setPointerCapture instead of listening all documentRef events
|
|
198
|
+
*/
|
|
199
|
+
this.pointerDown$ = merge(typedFromEvent(this.elementRef.nativeElement, 'touchstart', { passive: true }).pipe(filter(({ touches }) => touches.length === 1), map(({ touches }) => touches[0])), typedFromEvent(this.elementRef.nativeElement, 'mousedown', { passive: true }));
|
|
200
|
+
this.pointerMove$ = merge(typedFromEvent(this.documentRef, 'touchmove').pipe(filter(({ touches }) => touches.length === 1), map(({ touches }) => touches[0])), typedFromEvent(this.documentRef, 'mousemove'));
|
|
201
|
+
this.pointerUp$ = merge(typedFromEvent(this.documentRef, 'touchend', { passive: true }), typedFromEvent(this.documentRef, 'mouseup', { passive: true }));
|
|
202
|
+
this.activeThumbChange = new EventEmitter();
|
|
203
|
+
let activeThumb;
|
|
204
|
+
this.pointerDown$
|
|
205
|
+
.pipe(tap(({ clientX, target }) => {
|
|
206
|
+
activeThumb = this.detectActiveThumb(clientX, target);
|
|
207
|
+
this.activeThumbChange.emit(activeThumb);
|
|
208
|
+
elementRef.nativeElement.focus();
|
|
209
|
+
}), switchMap(event => this.pointerMove$.pipe(startWith(event))), map(({ clientX }) => clamp(this.getFractionFromEvents(clientX), 0, 1)), takeUntil(this.pointerUp$), repeat(), takeUntil(destroy$))
|
|
210
|
+
.subscribe(fraction => {
|
|
211
|
+
const value = this.range.getValueFromFraction(this.range.fractionGuard(fraction));
|
|
212
|
+
this.range.processValue(value, activeThumb === 'right');
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
getFractionFromEvents(clickClientX) {
|
|
216
|
+
const hostRect = this.elementRef.nativeElement.getBoundingClientRect();
|
|
217
|
+
const value = clickClientX - hostRect.left;
|
|
218
|
+
const total = hostRect.width;
|
|
219
|
+
return round(value / total, TUI_FLOATING_PRECISION);
|
|
220
|
+
}
|
|
221
|
+
detectActiveThumb(clientX, target) {
|
|
222
|
+
const [leftSliderRef, rightSliderRef] = this.range.slidersRefs;
|
|
223
|
+
switch (target) {
|
|
224
|
+
case leftSliderRef.nativeElement:
|
|
225
|
+
return 'left';
|
|
226
|
+
case rightSliderRef.nativeElement:
|
|
227
|
+
return 'right';
|
|
228
|
+
default:
|
|
229
|
+
return this.findNearestActiveThumb(clientX);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
findNearestActiveThumb(clientX) {
|
|
233
|
+
const fraction = this.getFractionFromEvents(clientX);
|
|
234
|
+
const deltaLeft = fraction * 100 - this.range.left;
|
|
235
|
+
const deltaRight = fraction * 100 - 100 + this.range.right;
|
|
236
|
+
return Math.abs(deltaLeft) > Math.abs(deltaRight) ||
|
|
237
|
+
deltaRight > 0 ||
|
|
238
|
+
(this.range.left === 0 && this.range.right === 100)
|
|
239
|
+
? 'right'
|
|
240
|
+
: 'left';
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
TuiRangeChangeDirective.ctorParameters = () => [
|
|
244
|
+
{ type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
245
|
+
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
246
|
+
{ type: TuiRangeComponent, decorators: [{ type: Inject, args: [TuiRangeComponent,] }] },
|
|
247
|
+
{ type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] }
|
|
248
|
+
];
|
|
249
|
+
__decorate([
|
|
250
|
+
Output()
|
|
251
|
+
], TuiRangeChangeDirective.prototype, "activeThumbChange", void 0);
|
|
252
|
+
TuiRangeChangeDirective = __decorate([
|
|
253
|
+
Directive({
|
|
254
|
+
selector: 'tui-range',
|
|
255
|
+
providers: [TuiDestroyService],
|
|
256
|
+
}),
|
|
257
|
+
__param(0, Inject(DOCUMENT)),
|
|
258
|
+
__param(1, Inject(ElementRef)),
|
|
259
|
+
__param(2, Inject(TuiRangeComponent)),
|
|
260
|
+
__param(3, Inject(TuiDestroyService))
|
|
261
|
+
], TuiRangeChangeDirective);
|
|
262
|
+
|
|
98
263
|
let TuiRangeModule = class TuiRangeModule {
|
|
99
264
|
};
|
|
100
265
|
TuiRangeModule = __decorate([
|
|
@@ -103,12 +268,12 @@ TuiRangeModule = __decorate([
|
|
|
103
268
|
CommonModule,
|
|
104
269
|
TuiRepeatTimesModule,
|
|
105
270
|
TuiFocusableModule,
|
|
106
|
-
TuiActiveZoneModule,
|
|
107
|
-
TuiFocusVisibleModule,
|
|
108
271
|
TuiFormatNumberPipeModule,
|
|
272
|
+
TuiSliderModule,
|
|
273
|
+
FormsModule,
|
|
109
274
|
],
|
|
110
|
-
declarations: [TuiRangeComponent],
|
|
111
|
-
exports: [TuiRangeComponent],
|
|
275
|
+
declarations: [TuiRangeComponent, TuiRangeChangeDirective, TuiNewRangeDirective],
|
|
276
|
+
exports: [TuiRangeComponent, TuiRangeChangeDirective, TuiNewRangeDirective],
|
|
112
277
|
})
|
|
113
278
|
], TuiRangeModule);
|
|
114
279
|
|
|
@@ -116,5 +281,5 @@ TuiRangeModule = __decorate([
|
|
|
116
281
|
* Generated bundle index. Do not edit.
|
|
117
282
|
*/
|
|
118
283
|
|
|
119
|
-
export { TuiRangeComponent, TuiRangeModule };
|
|
284
|
+
export { TuiNewRangeDirective, TuiRangeChangeDirective, TuiRangeComponent, TuiRangeModule };
|
|
120
285
|
//# sourceMappingURL=taiga-ui-kit-components-range.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-range.js","sources":["ng://@taiga-ui/kit/components/range/range.component.ts","ng://@taiga-ui/kit/components/range/range.module.ts","ng://@taiga-ui/kit/components/range/taiga-ui-kit-components-range.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n Inject,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isNativeFocusedIn,\n round,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {AbstractTuiSlider, DOT_WIDTH} from '@taiga-ui/kit/abstract';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TUI_FROM_TO_TEXTS} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\n// @dynamic\n@Component({\n selector: 'tui-range',\n templateUrl: '../../abstract/slider/slider.common.template.html',\n styleUrls: ['../../abstract/slider/slider.common.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiRangeComponent),\n },\n ],\n})\nexport class TuiRangeComponent\n extends AbstractTuiSlider<[number, number]>\n implements TuiFocusableElementAccessor\n{\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_FROM_TO_TEXTS) fromToTexts$: Observable<[string, string]>,\n ) {\n super(control, changeDetectorRef, documentRef, fromToTexts$);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n if (this.computedDisabled || !this.dotLeft || !this.dotRight) {\n return null;\n }\n\n return this.isLeftFocusable\n ? this.dotLeft.nativeElement\n : this.dotRight.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n get left(): number {\n return 100 * this.getFractionFromValue(this.value[0]);\n }\n\n get right(): number {\n return 100 - 100 * this.getFractionFromValue(this.value[1]);\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n protected processStep(increment: boolean, right: boolean) {\n const fraction = this.getFractionFromValue(right ? this.value[1] : this.value[0]);\n const step = this.computedStep;\n const value = this.getValueFromFraction(\n increment ? fraction + step : fraction - step,\n );\n\n this.processValue(value, right);\n }\n\n protected processValue(value: number, right: boolean) {\n const guardedValue = this.valueGuard(value);\n\n if (right === true) {\n this.updateEnd(guardedValue);\n } else {\n this.updateStart(guardedValue);\n }\n }\n\n protected getCalibratedFractionFromEvents(\n rect: ClientRect,\n clientX: number,\n isMouseDownRight: boolean,\n ): number {\n const value =\n clientX -\n rect.left -\n DOT_WIDTH[this.size] / 2 -\n (isMouseDownRight ? DOT_WIDTH[this.size] : 0);\n const total = rect.width - 2 * DOT_WIDTH[this.size];\n\n return round(value / total, TUI_FLOATING_PRECISION);\n }\n\n private updateStart(value: number) {\n this.updateValue([Math.min(value, this.value[1]), this.value[1]]);\n }\n\n private updateEnd(value: number) {\n this.updateValue([this.value[0], Math.max(value, this.value[0])]);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiActiveZoneModule,\n TuiFocusableModule,\n TuiFocusVisibleModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {TuiFormatNumberPipeModule} from '@taiga-ui/core';\n\nimport {TuiRangeComponent} from './range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiRepeatTimesModule,\n TuiFocusableModule,\n TuiActiveZoneModule,\n TuiFocusVisibleModule,\n TuiFormatNumberPipeModule,\n ],\n declarations: [TuiRangeComponent],\n exports: [TuiRangeComponent],\n})\nexport class TuiRangeModule {}\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-range.js","sources":["ng://@taiga-ui/kit/components/range/range.component.ts","ng://@taiga-ui/kit/components/range/range-change.directive.ts","ng://@taiga-ui/kit/components/range/range.module.ts","ng://@taiga-ui/kit/components/range/taiga-ui-kit-components-range.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n QueryList,\n Self,\n ViewChildren,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n EMPTY_QUERY,\n isNativeFocusedIn,\n nonNegativeFiniteAssertion,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {AbstractTuiSlider} from '@taiga-ui/kit/abstract';\nimport {TuiSliderComponent} from '@taiga-ui/kit/components/slider';\nimport {TUI_FROM_TO_TEXTS} from '@taiga-ui/kit/tokens';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {Observable} from 'rxjs';\n\n/**\n * Turn on new mode for `Range` and `InputRange`.\n * The new version of component will behave almost the same as the same component from the next major release.\n * @deprecated TODO remove me in v3.0 and make `Range` and `InputRange` always \"new\".\n */\n@Directive({\n selector: 'tui-range[new], tui-input-range[new]',\n})\nexport class TuiNewRangeDirective {}\n\n// @dynamic\n@Component({\n selector: 'tui-range',\n templateUrl: './range.template.html',\n styleUrls: ['./range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.tabindex]': '-1',\n '[attr.aria-disabled]': 'computedDisabled',\n },\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiRangeComponent),\n },\n ],\n})\nexport class TuiRangeComponent\n extends AbstractTuiSlider<[number, number]>\n implements TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n /**\n * TODO: make `100` as default value (to be like native sliders) in v3.0\n */\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n /**\n * TODO: think about replacing this props by `step` (to be like native slider).\n * It can be easy after refactor of keySteps.\n */\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n /**\n * TODO: think about replacing this props by `step` (to be like native slider).\n * It can be easy after refactor of keySteps.\n * */\n @Input()\n @tuiDefaultProp(nonNegativeFiniteAssertion, 'Quantum must be a non-negative number')\n quantum = 0;\n\n @ViewChildren(TuiSliderComponent, {read: ElementRef})\n slidersRefs: QueryList<ElementRef<HTMLInputElement>> = EMPTY_QUERY;\n\n lastActiveThumb: 'right' | 'left' = 'right';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_FROM_TO_TEXTS) fromToTexts$: Observable<[string, string]>,\n @Optional()\n @Inject(TuiNewRangeDirective)\n readonly isNew: TuiNewRangeDirective | null,\n ) {\n super(control, changeDetectorRef, documentRef, fromToTexts$);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n const [sliderLeftRef, sliderRightRef] = this.slidersRefs;\n\n if (this.computedDisabled || !sliderLeftRef || !sliderRightRef) {\n return null;\n }\n\n return this.isLeftFocusable\n ? sliderLeftRef.nativeElement\n : sliderRightRef.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n get computedKeySteps(): TuiKeySteps {\n return this.computePureKeySteps(this.keySteps, this.min, this.max);\n }\n\n @HostBinding('style.--left.%')\n get left(): number {\n return 100 * this.getFractionFromValue(this.value[0]);\n }\n\n @HostBinding('style.--right.%')\n get right(): number {\n return 100 - 100 * this.getFractionFromValue(this.value[1]);\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n @HostListener('keydown.arrowUp.prevent', ['1', '$event.target'])\n @HostListener('keydown.arrowRight.prevent', ['1', '$event.target'])\n @HostListener('keydown.arrowLeft.prevent', ['-1', '$event.target'])\n @HostListener('keydown.arrowDown.prevent', ['-1', '$event.target'])\n changeByStep(coefficient: number, target: HTMLElement) {\n const [sliderLeftRef, sliderRightRef] = this.slidersRefs;\n const leftThumbElement = sliderLeftRef.nativeElement;\n const rightThumbElement = sliderRightRef.nativeElement;\n\n const isRightThumb =\n target === this.elementRef.nativeElement\n ? this.lastActiveThumb === 'right'\n : target === rightThumbElement;\n const activeThumbElement = isRightThumb ? rightThumbElement : leftThumbElement;\n const previousValue = isRightThumb ? this.value[1] : this.value[0];\n /** @bad TODO think about a solution without twice conversion */\n const previousFraction = this.getFractionFromValue(previousValue);\n const newFractionValue = previousFraction + coefficient * this.computedStep;\n\n this.processValue(this.getValueFromFraction(newFractionValue), isRightThumb);\n\n if (activeThumbElement) {\n activeThumbElement.focus();\n }\n }\n\n processValue(value: number, right: boolean) {\n const guardedValue = this.valueGuard(value);\n\n if (right) {\n this.updateEnd(guardedValue);\n } else {\n this.updateStart(guardedValue);\n }\n\n this.lastActiveThumb = right ? 'right' : 'left';\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n @tuiPure\n private computePureKeySteps(\n keySteps: TuiKeySteps | null,\n min: number,\n max: number,\n ): TuiKeySteps {\n return [[0, min], ...(keySteps || []), [100, max]];\n }\n\n private updateStart(value: number) {\n this.updateValue([Math.min(value, this.value[1]), this.value[1]]);\n }\n\n private updateEnd(value: number) {\n this.updateValue([this.value[0], Math.max(value, this.value[0])]);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, EventEmitter, Inject, Output} from '@angular/core';\nimport {clamp, round, TuiDestroyService, typedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, repeat, startWith, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nimport {TuiRangeComponent} from './range.component';\n\n// @dynamic\n@Directive({\n selector: 'tui-range',\n providers: [TuiDestroyService],\n})\nexport class TuiRangeChangeDirective {\n /**\n * TODO replace with pointer events (when all supported browsers can handle them).\n * Dont forget to use setPointerCapture instead of listening all documentRef events\n */\n private readonly pointerDown$ = merge(\n typedFromEvent(this.elementRef.nativeElement, 'touchstart', {passive: true}).pipe(\n filter(({touches}) => touches.length === 1),\n map(({touches}) => touches[0]),\n ),\n typedFromEvent(this.elementRef.nativeElement, 'mousedown', {passive: true}),\n );\n\n private readonly pointerMove$ = merge(\n typedFromEvent(this.documentRef, 'touchmove').pipe(\n filter(({touches}) => touches.length === 1),\n map(({touches}) => touches[0]),\n ),\n typedFromEvent(this.documentRef, 'mousemove'),\n );\n\n private readonly pointerUp$ = merge(\n typedFromEvent(this.documentRef, 'touchend', {passive: true}),\n typedFromEvent(this.documentRef, 'mouseup', {passive: true}),\n );\n\n @Output()\n activeThumbChange = new EventEmitter<'left' | 'right'>();\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiRangeComponent) private readonly range: TuiRangeComponent,\n @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n ) {\n let activeThumb: 'left' | 'right';\n\n this.pointerDown$\n .pipe(\n tap(({clientX, target}) => {\n activeThumb = this.detectActiveThumb(clientX, target);\n this.activeThumbChange.emit(activeThumb);\n elementRef.nativeElement.focus();\n }),\n switchMap(event => this.pointerMove$.pipe(startWith(event))),\n map(({clientX}) => clamp(this.getFractionFromEvents(clientX), 0, 1)),\n takeUntil(this.pointerUp$),\n repeat(),\n takeUntil(destroy$),\n )\n .subscribe(fraction => {\n const value = this.range.getValueFromFraction(\n this.range.fractionGuard(fraction),\n );\n\n this.range.processValue(value, activeThumb === 'right');\n });\n }\n\n private getFractionFromEvents(clickClientX: number): number {\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n const value = clickClientX - hostRect.left;\n const total = hostRect.width;\n\n return round(value / total, TUI_FLOATING_PRECISION);\n }\n\n private detectActiveThumb(\n clientX: number,\n target: EventTarget | null,\n ): 'left' | 'right' {\n const [leftSliderRef, rightSliderRef] = this.range.slidersRefs;\n\n switch (target) {\n case leftSliderRef.nativeElement:\n return 'left';\n case rightSliderRef.nativeElement:\n return 'right';\n default:\n return this.findNearestActiveThumb(clientX);\n }\n }\n\n private findNearestActiveThumb(clientX: number): 'left' | 'right' {\n const fraction = this.getFractionFromEvents(clientX);\n const deltaLeft = fraction * 100 - this.range.left;\n const deltaRight = fraction * 100 - 100 + this.range.right;\n\n return Math.abs(deltaLeft) > Math.abs(deltaRight) ||\n deltaRight > 0 ||\n (this.range.left === 0 && this.range.right === 100)\n ? 'right'\n : 'left';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiFormatNumberPipeModule} from '@taiga-ui/core';\nimport {TuiSliderModule} from '@taiga-ui/kit/components/slider';\n\nimport {TuiNewRangeDirective, TuiRangeComponent} from './range.component';\nimport {TuiRangeChangeDirective} from './range-change.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiRepeatTimesModule,\n TuiFocusableModule,\n TuiFormatNumberPipeModule,\n TuiSliderModule,\n FormsModule,\n ],\n declarations: [TuiRangeComponent, TuiRangeChangeDirective, TuiNewRangeDirective],\n exports: [TuiRangeComponent, TuiRangeChangeDirective, TuiNewRangeDirective],\n})\nexport class TuiRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -86,7 +86,7 @@ __decorate([
|
|
|
86
86
|
TuiRatingComponent = TuiRatingComponent_1 = __decorate([
|
|
87
87
|
Component({
|
|
88
88
|
selector: 'tui-rating',
|
|
89
|
-
template: "<label>\n <ng-content></ng-content>\n\n <div class=\"t-host\">\n <div class=\"t-interactive\">\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-filled\"\n [src]=\"iconFilled\"\n (click)=\"setRateByReverseIndex(index)\"\n ></tui-svg>\n </div>\n\n <div
|
|
89
|
+
template: "<label>\n <ng-content></ng-content>\n\n <div class=\"t-host\">\n <div class=\"t-interactive\">\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-filled\"\n [src]=\"iconFilled\"\n (click)=\"setRateByReverseIndex(index)\"\n ></tui-svg>\n </div>\n\n <div\n class=\"t-wrapper\"\n [style.width.%]=\"percent\"\n >\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-filled\"\n [src]=\"iconFilled\"\n ></tui-svg>\n </div>\n\n <tui-svg\n *tuiRepeatTimes=\"let item of max\"\n [src]=\"iconNormal\"\n ></tui-svg>\n\n <input\n #focusableElement\n type=\"range\"\n step=\"1\"\n class=\"t-input\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value\"\n [tuiFocusable]=\"isFocusable\"\n (ngModelChange)=\"setRate($event)\"\n />\n </div>\n</label>\n",
|
|
90
90
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
91
91
|
providers: [
|
|
92
92
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-rating.js","sources":["ng://@taiga-ui/kit/components/rating/rating-options.ts","ng://@taiga-ui/kit/components/rating/rating.component.ts","ng://@taiga-ui/kit/components/rating/rating.module.ts","ng://@taiga-ui/kit/components/rating/taiga-ui-kit-components-rating.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiRatingOptions {\n readonly min: number;\n readonly max: number;\n readonly iconNormal: string;\n readonly iconFilled: string;\n}\n\nexport const TUI_RATING_DEFAULT_OPTIONS: TuiRatingOptions = {\n min: 0,\n max: 5,\n iconNormal: 'tuiIconStarLarge',\n iconFilled: 'tuiIconStarFilledLarge',\n};\n\nexport const TUI_RATING_OPTIONS = new InjectionToken<TuiRatingOptions>(\n 'Default parameters for rating component',\n {\n factory: () => TUI_RATING_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiRatingOptionsProvider: (\n options: Partial<TuiRatingOptions>,\n) => ValueProvider = (options: Partial<TuiRatingOptions>) => ({\n provide: TUI_RATING_OPTIONS,\n useValue: {...TUI_RATING_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\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 isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\n\nimport {TUI_RATING_OPTIONS, TuiRatingOptions} from './rating-options';\n\n@Component({\n selector: 'tui-rating',\n templateUrl: './rating.template.html',\n styleUrls: ['./rating.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiRatingComponent),\n },\n ],\n})\nexport class TuiRatingComponent\n extends AbstractTuiControl<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\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 iconNormal = this.options.iconNormal;\n\n @Input()\n @tuiDefaultProp()\n iconFilled = this.options.iconFilled;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n ngControl: NgControl | null,\n @Inject(ChangeDetectorRef)\n changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_RATING_OPTIONS)\n private readonly options: TuiRatingOptions,\n ) {\n super(ngControl, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.computedDisabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get isFocusable(): boolean {\n return !(this.readOnly || this.disabled);\n }\n\n get percent(): number {\n return (100 * this.value) / this.max;\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n setRateByReverseIndex(index: number): void {\n this.updateValue(this.max - index);\n }\n\n setRate(value: number): void {\n this.updateValue(value);\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiRatingComponent} from './rating.component';\n\n@NgModule({\n imports: [\n TuiSvgModule,\n TuiFocusableModule,\n TuiRepeatTimesModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n declarations: [TuiRatingComponent],\n exports: [TuiRatingComponent],\n})\nexport class TuiRatingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MASa,0BAA0B,GAAqB;IACxD,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,UAAU,EAAE,kBAAkB;IAC9B,UAAU,EAAE,wBAAwB;EACtC;MAEW,kBAAkB,GAAG,IAAI,cAAc,CAChD,yCAAyC,EACzC;IACI,OAAO,EAAE,MAAM,0BAA0B;CAC5C,EACH;MAEW,wBAAwB,GAEhB,CAAC,OAAkC,MAAM;IAC1D,OAAO,EAAE,kBAAkB;IAC3B,QAAQ,kCAAM,0BAA0B,GAAK,OAAO,CAAC;CACxD;;;ICQY,kBAAkB,0BAA/B,MAAa,kBACT,SAAQ,kBAA0B;IAsBlC,YAII,SAA2B,EAE3B,iBAAoC,EAEnB,OAAyB;QAE1C,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAFnB,YAAO,GAAP,OAAO,CAAkB;QAtB9C,QAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAIvB,QAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAIvB,eAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAIrC,eAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;KAapC;IAED,IAAI,sBAAsB;QACtB,OAAO,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,gBAAgB;cAChD,IAAI;cACJ,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;KAC7C;IAED,IAAI,OAAO;QACP,OAAO,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACvD;IAED,IAAI,WAAW;QACX,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC5C;IAED,IAAI,OAAO;QACP,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC;KACxC;IAID,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,qBAAqB,CAAC,KAAa;QAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;KACtC;IAED,OAAO,CAAC,KAAa;QACjB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KAC3B;IAES,gBAAgB;QACtB,OAAO,CAAC,CAAC;KACZ;EACJ;;YA5CkB,SAAS,uBAHnB,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,SAAS;YAGE,iBAAiB,uBADnC,MAAM,SAAC,iBAAiB;4CAExB,MAAM,SAAC,kBAAkB;;AAzB9B;IADC,SAAS,CAAC,kBAAkB,CAAC;4DACmC;AAIjE;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;+CACM;AAIvB;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;+CACM;AAIvB;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;sDACoB;AAIrC;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;sDACoB;AAmCrC;IAFC,YAAY,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;mDAGnC;AA1DQ,kBAAkB;IAZ9B,SAAS,CAAC;QACP,QAAQ,EAAE,YAAY;QACtB,
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-rating.js","sources":["ng://@taiga-ui/kit/components/rating/rating-options.ts","ng://@taiga-ui/kit/components/rating/rating.component.ts","ng://@taiga-ui/kit/components/rating/rating.module.ts","ng://@taiga-ui/kit/components/rating/taiga-ui-kit-components-rating.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiRatingOptions {\n readonly min: number;\n readonly max: number;\n readonly iconNormal: string;\n readonly iconFilled: string;\n}\n\nexport const TUI_RATING_DEFAULT_OPTIONS: TuiRatingOptions = {\n min: 0,\n max: 5,\n iconNormal: 'tuiIconStarLarge',\n iconFilled: 'tuiIconStarFilledLarge',\n};\n\nexport const TUI_RATING_OPTIONS = new InjectionToken<TuiRatingOptions>(\n 'Default parameters for rating component',\n {\n factory: () => TUI_RATING_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiRatingOptionsProvider: (\n options: Partial<TuiRatingOptions>,\n) => ValueProvider = (options: Partial<TuiRatingOptions>) => ({\n provide: TUI_RATING_OPTIONS,\n useValue: {...TUI_RATING_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\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 isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\n\nimport {TUI_RATING_OPTIONS, TuiRatingOptions} from './rating-options';\n\n@Component({\n selector: 'tui-rating',\n templateUrl: './rating.template.html',\n styleUrls: ['./rating.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiRatingComponent),\n },\n ],\n})\nexport class TuiRatingComponent\n extends AbstractTuiControl<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\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 iconNormal = this.options.iconNormal;\n\n @Input()\n @tuiDefaultProp()\n iconFilled = this.options.iconFilled;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n ngControl: NgControl | null,\n @Inject(ChangeDetectorRef)\n changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_RATING_OPTIONS)\n private readonly options: TuiRatingOptions,\n ) {\n super(ngControl, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.computedDisabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get isFocusable(): boolean {\n return !(this.readOnly || this.disabled);\n }\n\n get percent(): number {\n return (100 * this.value) / this.max;\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n setRateByReverseIndex(index: number): void {\n this.updateValue(this.max - index);\n }\n\n setRate(value: number): void {\n this.updateValue(value);\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiRatingComponent} from './rating.component';\n\n@NgModule({\n imports: [\n TuiSvgModule,\n TuiFocusableModule,\n TuiRepeatTimesModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n declarations: [TuiRatingComponent],\n exports: [TuiRatingComponent],\n})\nexport class TuiRatingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -137,7 +137,7 @@ __decorate([
|
|
|
137
137
|
TuiSelectComponent = __decorate([
|
|
138
138
|
Component({
|
|
139
139
|
selector: 'tui-select',
|
|
140
|
-
template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"datalist || ''\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [editable]=\"false\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"arrow\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n >\n <ng-content></ng-content>\n <ng-content
|
|
140
|
+
template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"datalist || ''\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [editable]=\"false\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"arrow\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n <div\n *ngIf=\"value !== null\"\n polymorpheus-outlet\n automation-id=\"tui-select__value\"\n class=\"t-value\"\n [content]=\"computedContent\"\n [context]=\"computeContext(value, computedFocused)\"\n >\n <ng-template let-primitiveValue>\n <div class=\"t-primitive-value\">{{ primitiveValue }}</div>\n </ng-template>\n </div>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n",
|
|
141
141
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
142
142
|
providers: TUI_SELECT_PROVIDERS,
|
|
143
143
|
styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}:host:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}:host._readonly ::ng-deep input{cursor:default}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;width:100%;align-items:center}.t-primitive-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-select.js","sources":["ng://@taiga-ui/kit/components/select/select.providers.ts","ng://@taiga-ui/kit/components/select/select-options.ts","ng://@taiga-ui/kit/components/select/select.component.ts","ng://@taiga-ui/kit/components/select/select.directive.ts","ng://@taiga-ui/kit/components/select/select.module.ts","ng://@taiga-ui/kit/components/select/taiga-ui-kit-components-select.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/kit/components/select-option';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\n\nimport {TuiSelectComponent} from './select.component';\n\n// TODO: remove in ivy compilation\nexport const SELECT_OPTION: unknown = TUI_SELECT_OPTION;\n\nexport const TUI_SELECT_PROVIDERS = [\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_OPTION_CONTENT,\n useValue: SELECT_OPTION,\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiValueContentContext} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiSelectOptions<T> {\n readonly valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n}\n\nexport const TUI_SELECT_DEFAULT_OPTIONS: TuiSelectOptions<unknown> = {\n valueContent: '',\n};\n\nexport const TUI_SELECT_OPTIONS = new InjectionToken<TuiSelectOptions<unknown>>(\n 'Default parameters for select component',\n {\n factory: () => TUI_SELECT_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiSelectOptionsProvider: <T>(\n options: Partial<TuiSelectOptions<T>>,\n) => ValueProvider = <T>(options: Partial<TuiSelectOptions<T>>) => ({\n provide: TUI_SELECT_OPTIONS,\n useValue: {...TUI_SELECT_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Inject,\n Input,\n Optional,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n setNativeFocused,\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TUI_TEXTFIELD_CLEANER,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiTextfieldCleanerDirective,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_SELECT_PROVIDERS} from './select.providers';\nimport {TUI_SELECT_OPTIONS, TuiSelectOptions} from './select-options';\n\n@Component({\n selector: 'tui-select',\n templateUrl: './select.template.html',\n styleUrls: ['./select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_SELECT_PROVIDERS,\n})\nexport class TuiSelectComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n valueContent: TuiSelectOptions<T>['valueContent'] = this.options.valueContent;\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent<\n TuiContextWithImplicit<TuiActiveZoneDirective>\n > = '';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_CLEANER)\n private readonly textfieldCleaner: TuiTextfieldCleanerDirective,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n @Inject(TUI_SELECT_OPTIONS)\n private readonly options: TuiSelectOptions<T>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get arrow(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeS | TuiSizeM | TuiSizeL>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get computedValue(): string {\n return this.value === null ? '' : this.stringify(this.value) || ' ';\n }\n\n get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.computedValue;\n }\n\n @tuiPure\n computeContext(\n $implicit: T | null,\n active: boolean,\n ): TuiValueContentContext<T | null> {\n return {$implicit, active};\n }\n\n onValueChange(value: string) {\n if (!value) {\n this.updateValue(null);\n }\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onKeyDownDelete() {\n if (this.textfieldCleaner.cleaner) {\n this.updateValue(null);\n }\n }\n\n handleOption(option: T) {\n this.focusInput();\n this.updateValue(option);\n this.hostedDropdown?.updateOpen(false);\n }\n\n private focusInput(preventScroll: boolean = false) {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiSelectComponent} from './select.component';\n\n@Directive({\n selector: 'tui-select',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiSelectDirective),\n },\n ],\n})\nexport class TuiSelectDirective extends TuiAbstractTextfieldHost<\n TuiSelectComponent<unknown>\n> {\n get readOnly(): boolean {\n return true;\n }\n\n get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string) {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiSelectComponent} from './select.component';\nimport {TuiSelectDirective} from './select.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiSelectOptionModule,\n TuiArrowModule,\n ],\n declarations: [TuiSelectComponent, TuiSelectDirective],\n exports: [TuiSelectComponent, TuiSelectDirective, TuiTextfieldComponent],\n})\nexport class TuiSelectModule {}\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-select.js","sources":["ng://@taiga-ui/kit/components/select/select.providers.ts","ng://@taiga-ui/kit/components/select/select-options.ts","ng://@taiga-ui/kit/components/select/select.component.ts","ng://@taiga-ui/kit/components/select/select.directive.ts","ng://@taiga-ui/kit/components/select/select.module.ts","ng://@taiga-ui/kit/components/select/taiga-ui-kit-components-select.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/kit/components/select-option';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\n\nimport {TuiSelectComponent} from './select.component';\n\n// TODO: remove in ivy compilation\nexport const SELECT_OPTION: unknown = TUI_SELECT_OPTION;\n\nexport const TUI_SELECT_PROVIDERS = [\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_OPTION_CONTENT,\n useValue: SELECT_OPTION,\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiValueContentContext} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiSelectOptions<T> {\n readonly valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n}\n\nexport const TUI_SELECT_DEFAULT_OPTIONS: TuiSelectOptions<unknown> = {\n valueContent: '',\n};\n\nexport const TUI_SELECT_OPTIONS = new InjectionToken<TuiSelectOptions<unknown>>(\n 'Default parameters for select component',\n {\n factory: () => TUI_SELECT_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiSelectOptionsProvider: <T>(\n options: Partial<TuiSelectOptions<T>>,\n) => ValueProvider = <T>(options: Partial<TuiSelectOptions<T>>) => ({\n provide: TUI_SELECT_OPTIONS,\n useValue: {...TUI_SELECT_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Inject,\n Input,\n Optional,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n setNativeFocused,\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TUI_TEXTFIELD_CLEANER,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiTextfieldCleanerDirective,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_SELECT_PROVIDERS} from './select.providers';\nimport {TUI_SELECT_OPTIONS, TuiSelectOptions} from './select-options';\n\n@Component({\n selector: 'tui-select',\n templateUrl: './select.template.html',\n styleUrls: ['./select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_SELECT_PROVIDERS,\n})\nexport class TuiSelectComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n valueContent: TuiSelectOptions<T>['valueContent'] = this.options.valueContent;\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent<\n TuiContextWithImplicit<TuiActiveZoneDirective>\n > = '';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_CLEANER)\n private readonly textfieldCleaner: TuiTextfieldCleanerDirective,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n @Inject(TUI_SELECT_OPTIONS)\n private readonly options: TuiSelectOptions<T>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get arrow(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeS | TuiSizeM | TuiSizeL>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get computedValue(): string {\n return this.value === null ? '' : this.stringify(this.value) || ' ';\n }\n\n get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.computedValue;\n }\n\n @tuiPure\n computeContext(\n $implicit: T | null,\n active: boolean,\n ): TuiValueContentContext<T | null> {\n return {$implicit, active};\n }\n\n onValueChange(value: string) {\n if (!value) {\n this.updateValue(null);\n }\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onKeyDownDelete() {\n if (this.textfieldCleaner.cleaner) {\n this.updateValue(null);\n }\n }\n\n handleOption(option: T) {\n this.focusInput();\n this.updateValue(option);\n this.hostedDropdown?.updateOpen(false);\n }\n\n private focusInput(preventScroll: boolean = false) {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiSelectComponent} from './select.component';\n\n@Directive({\n selector: 'tui-select',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiSelectDirective),\n },\n ],\n})\nexport class TuiSelectDirective extends TuiAbstractTextfieldHost<\n TuiSelectComponent<unknown>\n> {\n get readOnly(): boolean {\n return true;\n }\n\n get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string) {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiSelectComponent} from './select.component';\nimport {TuiSelectDirective} from './select.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiSelectOptionModule,\n TuiArrowModule,\n ],\n declarations: [TuiSelectComponent, TuiSelectDirective],\n exports: [TuiSelectComponent, TuiSelectDirective, TuiTextfieldComponent],\n})\nexport class TuiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;AAQA;MACa,aAAa,GAAY,kBAAkB;MAE3C,oBAAoB,GAAG;IAChC;QACI,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;KACpD;IACD;QACI,OAAO,EAAE,2BAA2B;QACpC,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;KACpD;IACD;QACI,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;KACpD;IACD;QACI,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,aAAa;KAC1B;IACD,kCAAkC;;;MCpBzB,0BAA0B,GAA8B;IACjE,YAAY,EAAE,EAAE;EAClB;MAEW,kBAAkB,GAAG,IAAI,cAAc,CAChD,yCAAyC,EACzC;IACI,OAAO,EAAE,MAAM,0BAA0B;CAC5C,EACH;MAEW,wBAAwB,GAEhB,CAAI,OAAqC,MAAM;IAChE,OAAO,EAAE,kBAAkB;IAC3B,QAAQ,kCAAM,0BAA0B,GAAK,OAAO,CAAC;CACxD;;ICyBY,kBAAkB,GAA/B,MAAa,kBACT,SAAQ,0BAA6B;IA2BrC,YAII,OAAyB,EACE,iBAAoC,EAE9C,gBAA8C,EAE9C,SAAuB,EAEvB,aAAkC,EAElC,OAA4B;QAE7C,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QARjB,qBAAgB,GAAhB,gBAAgB,CAA8B;QAE9C,cAAS,GAAT,SAAS,CAAc;QAEvB,kBAAa,GAAb,aAAa,CAAqB;QAElC,YAAO,GAAP,OAAO,CAAqB;QA7BjD,cAAS,GAAqC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;QAI3E,oBAAe,GACX,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAIvC,iBAAY,GAAwC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QAGrE,aAAQ,GAEb,EAAE,CAAC;KAkBN;IAED,IAAI,KAAK;QAGL,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;KACnF;IAED,IAAI,sBAAsB;QACtB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,GAAG,IAAI,CAAC;KACxE;IAED,IAAI,OAAO;QACP,QACI,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC;aAC3C,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EACxD;KACL;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;KACvE;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC;KAClD;IAGD,cAAc,CACV,SAAmB,EACnB,MAAe;QAEf,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,CAAC;KAC9B;IAED,aAAa,CAAC,KAAa;QACvB,IAAI,CAAC,KAAK,EAAE;YACR,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC1B;KACJ;IAED,YAAY,CAAC,MAAe;QACxB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;KAC9B;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,eAAe;QACX,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC1B;KACJ;IAED,YAAY,CAAC,MAAS;;QAClB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,MAAA,IAAI,CAAC,cAAc,0CAAE,UAAU,CAAC,KAAK,EAAE;KAC1C;IAEO,UAAU,CAAC,gBAAyB,KAAK;QAC7C,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;SACtE;KACJ;EACJ;;YA9EgB,SAAS,uBAHjB,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,SAAS;YAE6B,iBAAiB,uBAA9D,MAAM,SAAC,iBAAiB;YAEU,4BAA4B,uBAD9D,MAAM,SAAC,qBAAqB;4CAE5B,MAAM,SAAC,cAAc;4CAErB,MAAM,SAAC,kBAAkB;4CAEzB,MAAM,SAAC,kBAAkB;;AAnC9B;IADC,SAAS,CAAC,8BAA8B,CAAC;qDACkB;AAG5D;IADC,SAAS,CAAC,0BAA0B,CAAC;0DACuB;AAI7D;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;qDAC0D;AAI3E;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;2DAEsB;AAIvC;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;wDAC6D;AAG9E;IADC,YAAY,CAAC,oBAAoB,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC;oDAGjD;AA8CP;IADC,OAAO;wDAMP;AA7EQ,kBAAkB;IAP9B,SAAS,CAAC;QACP,QAAQ,EAAE,YAAY;QACtB,yiDAAqC;QAErC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE,oBAAoB;;KAClC,CAAC;IA8BO,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,IAAI,EAAE,CAAA;IACN,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;IAEjB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;IACzB,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAE7B,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;IAEtB,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAE1B,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;GAxCtB,kBAAkB,CA8G9B;;;ICjJY,kBAAkB,0BAA/B,MAAa,kBAAmB,SAAQ,wBAEvC;IACG,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC;KACf;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;KAClC;IAED,aAAa,CAAC,KAAa;QACvB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAClC;EACJ;AAdY,kBAAkB;IAT9B,SAAS,CAAC;QACP,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE;YACP;gBACI,OAAO,EAAE,kBAAkB;gBAC3B,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAkB,CAAC;aACpD;SACJ;KACJ,CAAC;GACW,kBAAkB,CAc9B;;ICAY,eAAe,GAA5B,MAAa,eAAe;EAAG;AAAlB,eAAe;IAb3B,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,YAAY;YACZ,kBAAkB;YAClB,mBAAmB;YACnB,2BAA2B;YAC3B,uBAAuB;YACvB,qBAAqB;YACrB,cAAc;SACjB;QACD,YAAY,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;QACtD,OAAO,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;KAC3E,CAAC;GACW,eAAe,CAAG;;AC5B/B;;;;;;"}
|