@taiga-ui/kit 2.41.1 → 2.44.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/slider/slider.d.ts +3 -3
- package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.js +1 -0
- 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.map +1 -1
- package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-avatar.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-avatar.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +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.map +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.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +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.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +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 -10
- 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 +65 -45
- 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 +2 -2
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js +49 -49
- package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-filter.umd.js.map +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.map +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.map +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 +3 -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.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js +4 -2
- 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 +3 -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.map +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.map +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.map +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.min.js.map +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.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 +3 -2
- 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.map +1 -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.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +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 +5 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +9 -8
- 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 +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 +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.map +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js +7 -94
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-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.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-block.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-block.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-radio-block.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-radio-labeled.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 +4 -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 +67 -13
- 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-select-option.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.js +1 -7
- package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.js +52 -49
- 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 -0
- package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.js +67 -24
- package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js.map +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.map +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-highlight.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-present.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-present.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-project-class.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-enums.umd.js +2 -2
- package/bundles/taiga-ui-kit-enums.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-enums.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-internal-primitive-calendar-range.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-tokens.umd.js +1 -1
- 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-dom.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-dom.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-math.umd.js +253 -4
- package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-math.umd.min.js +15 -1
- package/bundles/taiga-ui-kit-utils-math.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils.umd.js +12 -4
- package/bundles/taiga-ui-kit-utils.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils.umd.min.js +1 -1
- package/components/accordion/accordion-item/accordion-item-content.directive.d.ts +2 -2
- package/components/accordion/accordion-item/accordion-item.component.d.ts +2 -2
- package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
- package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
- package/components/breadcrumbs/breadcrumbs-wrapper.component.d.ts +1 -1
- package/components/combo-box/combo-box.component.d.ts +1 -2
- 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 +5 -4
- package/components/data-list-wrapper/data-list-wrapper.component.d.ts +3 -13
- package/components/data-list-wrapper/data-list-wrapper.d.ts +15 -0
- package/components/data-list-wrapper/index.d.ts +1 -0
- package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
- package/components/files/files.component.d.ts +1 -1
- package/components/files/index.d.ts +1 -0
- package/components/files/taiga-ui-kit-components-files.d.ts +0 -1
- package/components/files/taiga-ui-kit-components-files.metadata.json +1 -1
- package/components/input-count/input-count-options.d.ts +2 -2
- package/components/input-count/input-count.component.d.ts +2 -2
- package/components/input-date/input-date.providers.d.ts +2 -1
- package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
- package/components/input-date-range/input-date-range.providers.d.ts +2 -1
- package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
- package/components/input-date-time/input-date-time.providers.d.ts +2 -1
- package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
- package/components/input-file/file/file.component.d.ts +2 -2
- package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
- package/components/input-number/input-number.component.d.ts +2 -2
- package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
- package/components/input-password/input-password-options.d.ts +2 -2
- package/components/input-password/input-password.directive.d.ts +2 -1
- package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
- package/components/input-phone/input-phone.component.d.ts +2 -2
- package/components/input-range/input-range.component.d.ts +3 -2
- package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
- package/components/input-tag/input-tag.component.d.ts +4 -7
- package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
- package/components/input-time/input-time-options.d.ts +1 -1
- package/components/input-time/input-time.component.d.ts +2 -2
- package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
- package/components/line-clamp/index.d.ts +0 -1
- package/components/line-clamp/line-clamp.component.d.ts +0 -1
- package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
- package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +3 -3
- package/components/multi-select/multi-select.component.d.ts +2 -2
- package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
- package/components/radio/radio.component.d.ts +2 -2
- package/components/radio-block/taiga-ui-kit-components-radio-block.metadata.json +1 -1
- package/components/radio-labeled/taiga-ui-kit-components-radio-labeled.metadata.json +1 -1
- package/components/radio-list/taiga-ui-kit-components-radio-list.metadata.json +1 -1
- package/components/range/range.component.d.ts +11 -2
- package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
- package/components/select/select.component.d.ts +0 -1
- package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
- package/components/select-option/select-option.component.d.ts +2 -2
- package/components/select-option/taiga-ui-kit-components-select-option.metadata.json +1 -1
- package/components/slider/slider-readonly.directive.d.ts +4 -1
- 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 +1 -0
- package/components/tabs/tab.directive.d.ts +2 -2
- package/components/tabs/tabs/tabs.component.d.ts +3 -1
- package/components/tabs/tabs-options.d.ts +9 -0
- package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +9 -4
- package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
- package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
- package/components/tree/misc/tree.interfaces.d.ts +1 -1
- package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -1
- package/directives/dropdown-selection/dropdown-selection.directive.d.ts +1 -1
- package/enums/dropdown-position.d.ts +2 -1
- package/enums/step-state.d.ts +2 -1
- package/enums/taiga-ui-kit-enums.metadata.json +1 -1
- package/esm2015/abstract/input-slider.js +1 -1
- package/esm2015/abstract/slider/slider.js +3 -2
- package/esm2015/components/accordion/accordion-item/accordion-item-content.directive.js +1 -1
- package/esm2015/components/accordion/accordion-item/accordion-item.component.js +1 -1
- package/esm2015/components/accordion/accordion.component.js +1 -1
- package/esm2015/components/action/action.component.js +1 -1
- package/esm2015/components/avatar/avatar.component.js +2 -2
- package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +1 -1
- package/esm2015/components/calendar-month/calendar-month.component.js +1 -1
- package/esm2015/components/calendar-range/calendar-range.component.js +1 -1
- package/esm2015/components/carousel/carousel.component.js +1 -1
- package/esm2015/components/checkbox/checkbox.component.js +1 -1
- package/esm2015/components/checkbox-block/checkbox-block.component.js +1 -1
- package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +1 -1
- package/esm2015/components/combo-box/combo-box-strict.directive.js +1 -1
- package/esm2015/components/combo-box/combo-box.component.js +3 -12
- package/esm2015/components/combo-box/combo-box.directive.js +1 -1
- package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +15 -10
- package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +7 -40
- package/esm2015/components/data-list-wrapper/data-list-wrapper.js +51 -0
- package/esm2015/components/data-list-wrapper/index.js +2 -1
- package/esm2015/components/field-error/field-error.component.js +1 -1
- package/esm2015/components/files/file/file.component.js +1 -1
- package/esm2015/components/files/files.component.js +1 -1
- package/esm2015/components/files/index.js +2 -1
- package/esm2015/components/files/taiga-ui-kit-components-files.js +1 -2
- package/esm2015/components/filter/filter.component.js +1 -1
- package/esm2015/components/input/input.component.js +1 -1
- package/esm2015/components/input/input.directive.js +1 -1
- package/esm2015/components/input-copy/input-copy.component.js +1 -1
- package/esm2015/components/input-copy/input-copy.directive.js +1 -1
- package/esm2015/components/input-count/input-count-options.js +1 -1
- package/esm2015/components/input-count/input-count.component.js +1 -1
- package/esm2015/components/input-count/input-count.directive.js +1 -1
- package/esm2015/components/input-date/input-date.component.js +1 -1
- package/esm2015/components/input-date/input-date.directive.js +1 -1
- package/esm2015/components/input-date/input-date.providers.js +1 -1
- package/esm2015/components/input-date-range/input-date-range.component.js +1 -1
- package/esm2015/components/input-date-range/input-date-range.directive.js +1 -1
- package/esm2015/components/input-date-range/input-date-range.providers.js +1 -1
- package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
- package/esm2015/components/input-date-time/input-date-time.directive.js +1 -1
- package/esm2015/components/input-date-time/input-date-time.providers.js +1 -1
- package/esm2015/components/input-file/file/file.component.js +1 -1
- package/esm2015/components/input-file/input-file.component.js +1 -1
- package/esm2015/components/input-files/input-files.component.js +1 -1
- package/esm2015/components/input-inline/input-inline.component.js +1 -1
- package/esm2015/components/input-month/input-month.component.js +2 -2
- package/esm2015/components/input-month/input-month.directive.js +1 -1
- package/esm2015/components/input-month-range/input-month-range.component.js +1 -1
- package/esm2015/components/input-month-range/input-month-range.directive.js +1 -1
- package/esm2015/components/input-number/input-number.component.js +6 -5
- package/esm2015/components/input-number/input-number.directive.js +1 -1
- package/esm2015/components/input-password/input-password-options.js +3 -3
- package/esm2015/components/input-password/input-password.component.js +1 -1
- package/esm2015/components/input-password/input-password.directive.js +1 -1
- package/esm2015/components/input-phone/input-phone.component.js +1 -1
- package/esm2015/components/input-phone/input-phone.directive.js +1 -1
- package/esm2015/components/input-phone-international/input-phone-international.component.js +1 -1
- package/esm2015/components/input-range/input-range.component.js +7 -3
- package/esm2015/components/input-slider/input-slider.component.js +3 -3
- package/esm2015/components/input-tag/input-tag.component.js +10 -9
- package/esm2015/components/input-time/input-time-options.js +1 -1
- package/esm2015/components/input-time/input-time.component.js +2 -2
- package/esm2015/components/line-clamp/index.js +1 -2
- package/esm2015/components/line-clamp/line-clamp.component.js +3 -6
- package/esm2015/components/line-clamp/line-clamp.module.js +2 -3
- package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +2 -2
- package/esm2015/components/multi-select/multi-select.component.js +2 -2
- package/esm2015/components/pagination/pagination.component.js +1 -1
- package/esm2015/components/radio/radio.component.js +5 -3
- package/esm2015/components/radio-block/radio-block.component.js +2 -2
- package/esm2015/components/radio-labeled/radio-labeled.component.js +2 -2
- package/esm2015/components/radio-list/radio-list.component.js +1 -1
- package/esm2015/components/range/range.component.js +70 -13
- package/esm2015/components/select/select.component.js +3 -9
- package/esm2015/components/select/select.directive.js +1 -1
- package/esm2015/components/select-option/select-option.component.js +1 -1
- package/esm2015/components/slider/slider-key-steps.directive.js +11 -28
- package/esm2015/components/slider/slider-old.component.js +1 -1
- package/esm2015/components/slider/slider-readonly.directive.js +38 -9
- package/esm2015/components/slider/slider.component.js +2 -2
- package/esm2015/components/stepper/step/step.component.js +1 -1
- package/esm2015/components/stepper/stepper.component.js +3 -2
- package/esm2015/components/tabs/index.js +2 -1
- package/esm2015/components/tabs/tab/tab.component.js +1 -1
- package/esm2015/components/tabs/tab.directive.js +1 -1
- package/esm2015/components/tabs/tabs/tabs.component.js +14 -10
- package/esm2015/components/tabs/tabs-options.js +14 -0
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +38 -17
- package/esm2015/components/tag/tag.component.js +1 -1
- package/esm2015/components/text-area/text-area.component.js +3 -3
- package/esm2015/components/text-area/text-area.directive.js +1 -1
- package/esm2015/components/toggle/toggle.component.js +1 -1
- package/esm2015/components/tree/components/tree/tree.component.js +2 -2
- package/esm2015/components/tree/components/tree-item/tree-item.component.js +1 -1
- package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +1 -1
- package/esm2015/components/tree/directives/tree-controller.directive.js +1 -1
- package/esm2015/components/tree/directives/tree-item-controller.directive.js +1 -1
- package/esm2015/components/tree/directives/tree-node.directive.js +1 -1
- package/esm2015/components/tree/misc/tree.interfaces.js +1 -1
- package/esm2015/components/tree/misc/tree.service.js +1 -1
- package/esm2015/directives/dropdown-context/dropdown-context.directive.js +1 -1
- package/esm2015/directives/dropdown-hover/dropdown-hover.directive.js +1 -1
- package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +1 -1
- package/esm2015/directives/highlight/highlight.directive.js +1 -1
- package/esm2015/directives/lazy-loading/lazy-loading.directive.js +1 -1
- package/esm2015/directives/lazy-loading/lazy-loading.service.js +1 -1
- package/esm2015/directives/present/present.directive.js +1 -1
- package/esm2015/directives/project-class/project-class.directive.js +1 -1
- package/esm2015/enums/dropdown-position.js +2 -2
- package/esm2015/enums/step-state.js +2 -2
- package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.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/tokens/i18n.js +2 -2
- package/esm2015/types/handler-with-context.js +1 -1
- package/esm2015/utils/dom/scroll-to-element.js +1 -1
- package/esm2015/utils/dom/set-range-offset.js +1 -1
- package/esm2015/utils/index.js +2 -1
- package/esm2015/utils/math/index.js +2 -1
- package/esm2015/utils/math/key-steps.js +23 -0
- package/esm5/abstract/input-slider.js +1 -1
- package/esm5/abstract/slider/slider.js +3 -2
- package/esm5/components/accordion/accordion-item/accordion-item-content.directive.js +1 -1
- package/esm5/components/accordion/accordion-item/accordion-item.component.js +1 -1
- package/esm5/components/accordion/accordion.component.js +1 -1
- package/esm5/components/action/action.component.js +1 -1
- package/esm5/components/avatar/avatar.component.js +2 -2
- package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +1 -1
- package/esm5/components/calendar-month/calendar-month.component.js +1 -1
- package/esm5/components/calendar-range/calendar-range.component.js +1 -1
- package/esm5/components/carousel/carousel.component.js +1 -1
- package/esm5/components/checkbox/checkbox.component.js +1 -1
- package/esm5/components/checkbox-block/checkbox-block.component.js +1 -1
- package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +1 -1
- package/esm5/components/combo-box/combo-box-strict.directive.js +1 -1
- package/esm5/components/combo-box/combo-box.component.js +3 -12
- package/esm5/components/combo-box/combo-box.directive.js +1 -1
- package/esm5/components/data-list-wrapper/data-list-group-wrapper.component.js +15 -10
- package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +12 -55
- package/esm5/components/data-list-wrapper/data-list-wrapper.js +64 -0
- package/esm5/components/data-list-wrapper/index.js +2 -1
- package/esm5/components/field-error/field-error.component.js +1 -1
- package/esm5/components/files/file/file.component.js +1 -1
- package/esm5/components/files/files.component.js +1 -1
- package/esm5/components/files/index.js +2 -1
- package/esm5/components/files/taiga-ui-kit-components-files.js +1 -2
- package/esm5/components/filter/filter.component.js +1 -1
- package/esm5/components/input/input.component.js +1 -1
- package/esm5/components/input/input.directive.js +1 -1
- package/esm5/components/input-copy/input-copy.component.js +1 -1
- package/esm5/components/input-copy/input-copy.directive.js +1 -1
- package/esm5/components/input-count/input-count-options.js +1 -1
- package/esm5/components/input-count/input-count.component.js +1 -1
- package/esm5/components/input-count/input-count.directive.js +1 -1
- package/esm5/components/input-date/input-date.component.js +1 -1
- package/esm5/components/input-date/input-date.directive.js +1 -1
- package/esm5/components/input-date/input-date.providers.js +4 -2
- package/esm5/components/input-date-range/input-date-range.component.js +1 -1
- package/esm5/components/input-date-range/input-date-range.directive.js +1 -1
- package/esm5/components/input-date-range/input-date-range.providers.js +4 -2
- package/esm5/components/input-date-time/input-date-time.component.js +2 -2
- package/esm5/components/input-date-time/input-date-time.directive.js +1 -1
- package/esm5/components/input-date-time/input-date-time.providers.js +4 -2
- package/esm5/components/input-file/file/file.component.js +1 -1
- package/esm5/components/input-file/input-file.component.js +1 -1
- package/esm5/components/input-files/input-files.component.js +1 -1
- package/esm5/components/input-inline/input-inline.component.js +1 -1
- package/esm5/components/input-month/input-month.component.js +2 -2
- package/esm5/components/input-month/input-month.directive.js +1 -1
- package/esm5/components/input-month-range/input-month-range.component.js +1 -1
- package/esm5/components/input-month-range/input-month-range.directive.js +1 -1
- package/esm5/components/input-number/input-number.component.js +6 -5
- package/esm5/components/input-number/input-number.directive.js +1 -1
- package/esm5/components/input-password/input-password-options.js +2 -2
- package/esm5/components/input-password/input-password.component.js +1 -1
- package/esm5/components/input-password/input-password.directive.js +1 -1
- package/esm5/components/input-phone/input-phone.component.js +1 -1
- package/esm5/components/input-phone/input-phone.directive.js +1 -1
- package/esm5/components/input-phone-international/input-phone-international.component.js +1 -1
- package/esm5/components/input-range/input-range.component.js +6 -2
- package/esm5/components/input-slider/input-slider.component.js +2 -2
- package/esm5/components/input-tag/input-tag.component.js +10 -9
- package/esm5/components/input-time/input-time-options.js +1 -1
- package/esm5/components/input-time/input-time.component.js +2 -2
- package/esm5/components/line-clamp/index.js +1 -2
- package/esm5/components/line-clamp/line-clamp.component.js +3 -10
- package/esm5/components/line-clamp/line-clamp.module.js +2 -3
- package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +2 -2
- package/esm5/components/multi-select/multi-select.component.js +2 -2
- package/esm5/components/pagination/pagination.component.js +1 -1
- package/esm5/components/radio/radio.component.js +5 -3
- package/esm5/components/radio-block/radio-block.component.js +2 -2
- package/esm5/components/radio-labeled/radio-labeled.component.js +2 -2
- package/esm5/components/radio-list/radio-list.component.js +1 -1
- package/esm5/components/range/range.component.js +68 -12
- package/esm5/components/select/select.component.js +3 -9
- package/esm5/components/select/select.directive.js +1 -1
- package/esm5/components/select-option/select-option.component.js +1 -1
- package/esm5/components/slider/slider-key-steps.directive.js +13 -43
- package/esm5/components/slider/slider-old.component.js +1 -1
- package/esm5/components/slider/slider-readonly.directive.js +45 -9
- package/esm5/components/slider/slider.component.js +2 -2
- package/esm5/components/stepper/step/step.component.js +1 -1
- package/esm5/components/stepper/stepper.component.js +3 -2
- package/esm5/components/tabs/index.js +2 -1
- package/esm5/components/tabs/tab/tab.component.js +1 -1
- package/esm5/components/tabs/tab.directive.js +1 -1
- package/esm5/components/tabs/tabs/tabs.component.js +14 -10
- package/esm5/components/tabs/tabs-options.js +15 -0
- package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +42 -17
- package/esm5/components/tag/tag.component.js +1 -1
- package/esm5/components/text-area/text-area.component.js +3 -3
- package/esm5/components/text-area/text-area.directive.js +1 -1
- package/esm5/components/toggle/toggle.component.js +1 -1
- package/esm5/components/tree/components/tree/tree.component.js +2 -2
- package/esm5/components/tree/components/tree-item/tree-item.component.js +1 -1
- package/esm5/components/tree/components/tree-item-content/tree-item-content.component.js +1 -1
- package/esm5/components/tree/directives/tree-controller.directive.js +1 -1
- package/esm5/components/tree/directives/tree-item-controller.directive.js +1 -1
- package/esm5/components/tree/directives/tree-node.directive.js +1 -1
- package/esm5/components/tree/misc/tree.interfaces.js +1 -1
- package/esm5/components/tree/misc/tree.service.js +1 -1
- package/esm5/directives/dropdown-context/dropdown-context.directive.js +1 -1
- package/esm5/directives/dropdown-hover/dropdown-hover.directive.js +1 -1
- package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +1 -1
- package/esm5/directives/highlight/highlight.directive.js +1 -1
- package/esm5/directives/lazy-loading/lazy-loading.directive.js +1 -1
- package/esm5/directives/lazy-loading/lazy-loading.service.js +1 -1
- package/esm5/directives/present/present.directive.js +1 -1
- package/esm5/directives/project-class/project-class.directive.js +1 -1
- package/esm5/enums/dropdown-position.js +2 -2
- package/esm5/enums/step-state.js +2 -2
- package/esm5/internal/primitive-calendar-range/primitive-calendar-range.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/tokens/i18n.js +2 -2
- package/esm5/types/handler-with-context.js +1 -1
- package/esm5/utils/dom/scroll-to-element.js +1 -1
- package/esm5/utils/dom/set-range-offset.js +1 -1
- package/esm5/utils/index.js +2 -1
- package/esm5/utils/math/index.js +2 -1
- package/esm5/utils/math/key-steps.js +30 -0
- package/fesm2015/taiga-ui-kit-abstract.js +2 -1
- package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-avatar.js +1 -1
- package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +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.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-combo-box.js +2 -11
- package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +56 -38
- package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-files.js +47 -47
- package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-count.js.map +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.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-inline.js.map +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 +5 -4
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-password.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-range.js +6 -2
- package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +9 -8
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-time.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-line-clamp.js +9 -91
- package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js +2 -2
- package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-block.js +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-labeled.js +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio.js +4 -2
- package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-range.js +70 -14
- package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select.js +2 -8
- package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-slider.js +44 -35
- package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-stepper.js +2 -1
- package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tabs.js +62 -26
- package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
- 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.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tree.js +1 -1
- package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-dropdown-hover.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-highlight.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-present.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-project-class.js.map +1 -1
- package/fesm2015/taiga-ui-kit-enums.js +2 -2
- package/fesm2015/taiga-ui-kit-enums.js.map +1 -1
- package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
- package/fesm2015/taiga-ui-kit-tokens.js +1 -1
- package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-dom.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-math.js +25 -1
- package/fesm2015/taiga-ui-kit-utils-math.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils.js +1 -0
- package/fesm2015/taiga-ui-kit-utils.js.map +1 -1
- package/fesm5/taiga-ui-kit-abstract.js +2 -1
- package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-avatar.js +1 -1
- package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +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.map +1 -1
- package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-combo-box.js +2 -11
- package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +66 -45
- package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-files.js +52 -52
- package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date-range.js +3 -1
- package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date-time.js +4 -2
- package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date.js +3 -1
- package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-inline.js.map +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 +5 -4
- 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.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-range.js +5 -1
- package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-slider.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-tag.js +9 -8
- package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-time.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-line-clamp.js +9 -97
- package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-multi-select.js +2 -2
- package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-radio-block.js +1 -1
- package/fesm5/taiga-ui-kit-components-radio-block.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-radio-labeled.js +1 -1
- package/fesm5/taiga-ui-kit-components-radio-labeled.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-radio.js +4 -2
- package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-range.js +68 -13
- package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-select-option.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-select.js +2 -8
- package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-slider.js +52 -49
- package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-stepper.js +2 -1
- package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tabs.js +67 -27
- package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
- 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.map +1 -1
- package/fesm5/taiga-ui-kit-components-tree.js +1 -1
- package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-dropdown-hover.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-highlight.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-present.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-project-class.js.map +1 -1
- package/fesm5/taiga-ui-kit-enums.js +2 -2
- package/fesm5/taiga-ui-kit-enums.js.map +1 -1
- package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
- package/fesm5/taiga-ui-kit-tokens.js +1 -1
- package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-dom.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-math.js +32 -1
- package/fesm5/taiga-ui-kit-utils-math.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils.js +1 -0
- package/fesm5/taiga-ui-kit-utils.js.map +1 -1
- package/package.json +7 -7
- package/tokens/i18n.d.ts +1 -5
- package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
- package/types/handler-with-context.d.ts +2 -2
- package/utils/index.d.ts +1 -0
- package/utils/math/index.d.ts +1 -0
- package/utils/math/key-steps.d.ts +4 -0
- package/utils/math/taiga-ui-kit-utils-math.metadata.json +1 -1
- package/utils/taiga-ui-kit-utils.metadata.json +1 -1
- package/components/line-clamp/line-clamp.directive.d.ts +0 -11
- package/esm2015/components/line-clamp/line-clamp.directive.js +0 -87
- package/esm5/components/line-clamp/line-clamp.directive.js +0 -89
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { __decorate, __extends, __read, __spread, __param } from 'tslib';
|
|
2
2
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
3
|
-
import { Directive, Optional, Self, Inject, ChangeDetectorRef, ElementRef, Input,
|
|
3
|
+
import { Directive, Optional, Self, Inject, ChangeDetectorRef, ElementRef, Input, HostBinding, ViewChildren, HostListener, Component, ChangeDetectionStrategy, forwardRef, EventEmitter, Output, NgModule } from '@angular/core';
|
|
4
4
|
import { NgControl, FormsModule } from '@angular/forms';
|
|
5
|
-
import { EMPTY_QUERY, isNativeFocusedIn, tuiDefaultProp, nonNegativeFiniteAssertion, tuiPure, TUI_FOCUSABLE_ITEM_ACCESSOR, typedFromEvent,
|
|
6
|
-
import { AbstractTuiSlider } from '@taiga-ui/kit/abstract';
|
|
5
|
+
import { EMPTY_QUERY, isNativeFocusedIn, clamp, quantize, round, tuiAssert, tuiDefaultProp, nonNegativeFiniteAssertion, tuiPure, TUI_FOCUSABLE_ITEM_ACCESSOR, typedFromEvent, TuiDestroyService, TuiRepeatTimesModule, TuiFocusableModule } from '@taiga-ui/cdk';
|
|
6
|
+
import { SLIDER_KEYBOARD_STEP, AbstractTuiSlider } from '@taiga-ui/kit/abstract';
|
|
7
7
|
import { TuiSliderComponent, TuiSliderModule } from '@taiga-ui/kit/components/slider';
|
|
8
|
+
import { TUI_FLOATING_PRECISION } from '@taiga-ui/kit/constants';
|
|
8
9
|
import { TUI_FROM_TO_TEXTS } from '@taiga-ui/kit/tokens';
|
|
10
|
+
import { tuiPercentageToKeyStepValue, tuiKeyStepValueToPercentage, tuiCheckKeyStepsHaveMinMaxPercents } from '@taiga-ui/kit/utils';
|
|
9
11
|
import { Observable, merge } from 'rxjs';
|
|
10
12
|
import { TuiFormatNumberPipeModule } from '@taiga-ui/core';
|
|
11
|
-
import { TUI_FLOATING_PRECISION } from '@taiga-ui/kit/constants';
|
|
12
13
|
import { filter, map, tap, switchMap, startWith, takeUntil, repeat } from 'rxjs/operators';
|
|
13
14
|
|
|
14
15
|
/**
|
|
@@ -40,14 +41,17 @@ var TuiRangeComponent = /** @class */ (function (_super) {
|
|
|
40
41
|
_this.max = Infinity;
|
|
41
42
|
/**
|
|
42
43
|
* TODO: think about replacing this props by `step` (to be like native slider).
|
|
43
|
-
* It can be
|
|
44
|
+
* It can be done after removing backward compatibility code inside {@link computePureKeySteps} in v3.0
|
|
44
45
|
*/
|
|
45
46
|
_this.steps = 0;
|
|
46
47
|
/**
|
|
47
48
|
* TODO: think about replacing this props by `step` (to be like native slider).
|
|
48
|
-
* It can be
|
|
49
|
+
* It can be done after removing backward compatibility code inside {@link computePureKeySteps} in v3.0
|
|
49
50
|
* */
|
|
50
51
|
_this.quantum = 0;
|
|
52
|
+
_this.size = 'm';
|
|
53
|
+
_this.segments = 0;
|
|
54
|
+
_this.keySteps = null;
|
|
51
55
|
_this.slidersRefs = EMPTY_QUERY;
|
|
52
56
|
_this.lastActiveThumb = 'right';
|
|
53
57
|
return _this;
|
|
@@ -73,6 +77,16 @@ var TuiRangeComponent = /** @class */ (function (_super) {
|
|
|
73
77
|
enumerable: true,
|
|
74
78
|
configurable: true
|
|
75
79
|
});
|
|
80
|
+
Object.defineProperty(TuiRangeComponent.prototype, "fractionStep", {
|
|
81
|
+
get: function () {
|
|
82
|
+
if (this.steps) {
|
|
83
|
+
return 1 / this.steps;
|
|
84
|
+
}
|
|
85
|
+
return this.quantum ? this.quantum / (this.max - this.min) : SLIDER_KEYBOARD_STEP;
|
|
86
|
+
},
|
|
87
|
+
enumerable: true,
|
|
88
|
+
configurable: true
|
|
89
|
+
});
|
|
76
90
|
Object.defineProperty(TuiRangeComponent.prototype, "computedKeySteps", {
|
|
77
91
|
get: function () {
|
|
78
92
|
return this.computePureKeySteps(this.keySteps, this.min, this.max);
|
|
@@ -82,14 +96,14 @@ var TuiRangeComponent = /** @class */ (function (_super) {
|
|
|
82
96
|
});
|
|
83
97
|
Object.defineProperty(TuiRangeComponent.prototype, "left", {
|
|
84
98
|
get: function () {
|
|
85
|
-
return
|
|
99
|
+
return this.getPercentageFromValue(this.value[0]);
|
|
86
100
|
},
|
|
87
101
|
enumerable: true,
|
|
88
102
|
configurable: true
|
|
89
103
|
});
|
|
90
104
|
Object.defineProperty(TuiRangeComponent.prototype, "right", {
|
|
91
105
|
get: function () {
|
|
92
|
-
return 100 -
|
|
106
|
+
return 100 - this.getPercentageFromValue(this.value[1]);
|
|
93
107
|
},
|
|
94
108
|
enumerable: true,
|
|
95
109
|
configurable: true
|
|
@@ -107,8 +121,8 @@ var TuiRangeComponent = /** @class */ (function (_super) {
|
|
|
107
121
|
var activeThumbElement = isRightThumb ? rightThumbElement : leftThumbElement;
|
|
108
122
|
var previousValue = isRightThumb ? this.value[1] : this.value[0];
|
|
109
123
|
/** @bad TODO think about a solution without twice conversion */
|
|
110
|
-
var previousFraction = this.
|
|
111
|
-
var newFractionValue = previousFraction + coefficient * this.
|
|
124
|
+
var previousFraction = this.getPercentageFromValue(previousValue) / 100;
|
|
125
|
+
var newFractionValue = previousFraction + coefficient * this.fractionStep;
|
|
112
126
|
this.processValue(this.getValueFromFraction(newFractionValue), isRightThumb);
|
|
113
127
|
if (activeThumbElement) {
|
|
114
128
|
activeThumbElement.focus();
|
|
@@ -124,10 +138,33 @@ var TuiRangeComponent = /** @class */ (function (_super) {
|
|
|
124
138
|
}
|
|
125
139
|
this.lastActiveThumb = right ? 'right' : 'left';
|
|
126
140
|
};
|
|
141
|
+
TuiRangeComponent.prototype.fractionGuard = function (fraction) {
|
|
142
|
+
return clamp(quantize(fraction, this.fractionStep), 0, 1);
|
|
143
|
+
};
|
|
144
|
+
TuiRangeComponent.prototype.getValueFromFraction = function (fraction) {
|
|
145
|
+
var percentage = this.fractionGuard(fraction) * 100;
|
|
146
|
+
return tuiPercentageToKeyStepValue(percentage, this.computedKeySteps);
|
|
147
|
+
};
|
|
148
|
+
TuiRangeComponent.prototype.getPercentageFromValue = function (value) {
|
|
149
|
+
return tuiKeyStepValueToPercentage(value, this.computedKeySteps);
|
|
150
|
+
};
|
|
151
|
+
TuiRangeComponent.prototype.valueGuard = function (value) {
|
|
152
|
+
return clamp(this.quantum
|
|
153
|
+
? round(Math.round(value / this.quantum) * this.quantum, TUI_FLOATING_PRECISION)
|
|
154
|
+
: value, this.min, this.max);
|
|
155
|
+
};
|
|
127
156
|
TuiRangeComponent.prototype.getFallbackValue = function () {
|
|
128
157
|
return [0, 0];
|
|
129
158
|
};
|
|
130
159
|
TuiRangeComponent.prototype.computePureKeySteps = function (keySteps, min, max) {
|
|
160
|
+
if (keySteps && tuiCheckKeyStepsHaveMinMaxPercents(keySteps)) {
|
|
161
|
+
return keySteps;
|
|
162
|
+
}
|
|
163
|
+
// TODO replace all function by `return keySteps || [[0, min], [100, max]]` in v3.0
|
|
164
|
+
tuiAssert.assert(!keySteps, '\n' +
|
|
165
|
+
'Input property [keySteps] should contain min and max percents.\n' +
|
|
166
|
+
'We have taken [min] and [max] properties of your component for now (but it will not work in v3.0).\n' +
|
|
167
|
+
'See example how properly use [keySteps]: https://taiga-ui.dev/components/range#key-steps');
|
|
131
168
|
return __spread([[0, min]], (keySteps || []), [[100, max]]);
|
|
132
169
|
};
|
|
133
170
|
TuiRangeComponent.prototype.updateStart = function (value) {
|
|
@@ -161,6 +198,19 @@ var TuiRangeComponent = /** @class */ (function (_super) {
|
|
|
161
198
|
Input(),
|
|
162
199
|
tuiDefaultProp(nonNegativeFiniteAssertion, 'Quantum must be a non-negative number')
|
|
163
200
|
], TuiRangeComponent.prototype, "quantum", void 0);
|
|
201
|
+
__decorate([
|
|
202
|
+
Input(),
|
|
203
|
+
HostBinding('attr.data-size'),
|
|
204
|
+
tuiDefaultProp()
|
|
205
|
+
], TuiRangeComponent.prototype, "size", void 0);
|
|
206
|
+
__decorate([
|
|
207
|
+
Input(),
|
|
208
|
+
tuiDefaultProp()
|
|
209
|
+
], TuiRangeComponent.prototype, "segments", void 0);
|
|
210
|
+
__decorate([
|
|
211
|
+
Input(),
|
|
212
|
+
tuiDefaultProp()
|
|
213
|
+
], TuiRangeComponent.prototype, "keySteps", void 0);
|
|
164
214
|
__decorate([
|
|
165
215
|
ViewChildren(TuiSliderComponent, { read: ElementRef })
|
|
166
216
|
], TuiRangeComponent.prototype, "slidersRefs", void 0);
|
|
@@ -186,7 +236,7 @@ var TuiRangeComponent = /** @class */ (function (_super) {
|
|
|
186
236
|
TuiRangeComponent = TuiRangeComponent_1 = __decorate([
|
|
187
237
|
Component({
|
|
188
238
|
selector: 'tui-range',
|
|
189
|
-
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=\"
|
|
239
|
+
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=\"segments > 0\"\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",
|
|
190
240
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
191
241
|
host: {
|
|
192
242
|
'[attr.tabindex]': '-1',
|
|
@@ -198,8 +248,13 @@ var TuiRangeComponent = /** @class */ (function (_super) {
|
|
|
198
248
|
useExisting: forwardRef(function () { return TuiRangeComponent_1; }),
|
|
199
249
|
},
|
|
200
250
|
],
|
|
201
|
-
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}"]
|
|
202
|
-
})
|
|
251
|
+
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;touch-action:pan-x}: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}"]
|
|
252
|
+
})
|
|
253
|
+
/**
|
|
254
|
+
* `AbstractTuiSlider` includes all legacy code (it can be deleted in v3.0)
|
|
255
|
+
* TODO replace `extends AbstractTuiSlider<[number, number]>` by `extends AbstractTuiControl<[number, number]> implements TuiWithOptionalMinMax<number>, TuiFocusableElementAccessor`
|
|
256
|
+
*/
|
|
257
|
+
,
|
|
203
258
|
__param(0, Optional()),
|
|
204
259
|
__param(0, Self()),
|
|
205
260
|
__param(0, Inject(NgControl)),
|
|
@@ -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-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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"}
|
|
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 clamp,\n EMPTY_QUERY,\n isNativeFocusedIn,\n nonNegativeFiniteAssertion,\n quantize,\n round,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiAssert,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\nimport {AbstractTuiSlider, SLIDER_KEYBOARD_STEP} from '@taiga-ui/kit/abstract';\nimport {TuiSliderComponent} from '@taiga-ui/kit/components/slider';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TUI_FROM_TO_TEXTS} from '@taiga-ui/kit/tokens';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {\n tuiCheckKeyStepsHaveMinMaxPercents,\n tuiKeyStepValueToPercentage,\n tuiPercentageToKeyStepValue,\n} from '@taiga-ui/kit/utils';\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})\n/**\n * `AbstractTuiSlider` includes all legacy code (it can be deleted in v3.0)\n * TODO replace `extends AbstractTuiSlider<[number, number]>` by `extends AbstractTuiControl<[number, number]> implements TuiWithOptionalMinMax<number>, TuiFocusableElementAccessor`\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 done after removing backward compatibility code inside {@link computePureKeySteps} in v3.0\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 done after removing backward compatibility code inside {@link computePureKeySteps} in v3.0\n * */\n @Input()\n @tuiDefaultProp(nonNegativeFiniteAssertion, 'Quantum must be a non-negative number')\n quantum = 0;\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\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 fractionStep(): number {\n if (this.steps) {\n return 1 / this.steps;\n }\n\n return this.quantum ? this.quantum / (this.max - this.min) : SLIDER_KEYBOARD_STEP;\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 this.getPercentageFromValue(this.value[0]);\n }\n\n @HostBinding('style.--right.%')\n get right(): number {\n return 100 - this.getPercentageFromValue(this.value[1]);\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\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): void {\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.getPercentageFromValue(previousValue) / 100;\n const newFractionValue = previousFraction + coefficient * this.fractionStep;\n\n this.processValue(this.getValueFromFraction(newFractionValue), isRightThumb);\n\n if (activeThumbElement) {\n activeThumbElement.focus();\n }\n }\n\n processValue(value: number, right: boolean): void {\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 fractionGuard(fraction: number): number {\n return clamp(quantize(fraction, this.fractionStep), 0, 1);\n }\n\n getValueFromFraction(fraction: number): number {\n const percentage = this.fractionGuard(fraction) * 100;\n\n return tuiPercentageToKeyStepValue(percentage, this.computedKeySteps);\n }\n\n getPercentageFromValue(value: number): number {\n return tuiKeyStepValueToPercentage(value, this.computedKeySteps);\n }\n\n protected valueGuard(value: number): number {\n return clamp(\n this.quantum\n ? round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n )\n : value,\n this.min,\n this.max,\n );\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 if (keySteps && tuiCheckKeyStepsHaveMinMaxPercents(keySteps)) {\n return keySteps;\n }\n\n // TODO replace all function by `return keySteps || [[0, min], [100, max]]` in v3.0\n tuiAssert.assert(\n !keySteps,\n '\\n' +\n 'Input property [keySteps] should contain min and max percents.\\n' +\n 'We have taken [min] and [max] properties of your component for now (but it will not work in v3.0).\\n' +\n 'See example how properly use [keySteps]: https://taiga-ui.dev/components/range#key-steps',\n );\n\n return [[0, min], ...(keySteps || []), [100, max]];\n }\n\n private updateStart(value: number): void {\n this.updateValue([Math.min(value, this.value[1]), this.value[1]]);\n }\n\n private updateEnd(value: number): void {\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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-select-option.js","sources":["ng://@taiga-ui/kit/components/select-option/select-option.component.ts","ng://@taiga-ui/kit/components/select-option/select-option.module.ts","ng://@taiga-ui/kit/components/select-option/taiga-ui-kit-components-select-option.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n OnInit,\n TemplateRef,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isPresent,\n TUI_DEFAULT_IDENTITY_MATCHER,\n TuiContextWithImplicit,\n TuiIdentityMatcher,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TuiDataListHost, TuiOptionComponent} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, merge} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-select-option',\n templateUrl: './select-option.template.html',\n styleUrls: ['./select-option.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSelectOptionComponent<T> implements OnInit {\n readonly selected$ = merge(\n this.control.valueChanges ?? EMPTY,\n typedFromEvent(this.elementRef.nativeElement, 'animationstart'),\n ).pipe(\n startWith(null),\n map(() => this.selected),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiContextWithImplicit<TemplateRef<
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-select-option.js","sources":["ng://@taiga-ui/kit/components/select-option/select-option.component.ts","ng://@taiga-ui/kit/components/select-option/select-option.module.ts","ng://@taiga-ui/kit/components/select-option/taiga-ui-kit-components-select-option.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n OnInit,\n TemplateRef,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isPresent,\n TUI_DEFAULT_IDENTITY_MATCHER,\n TuiContextWithImplicit,\n TuiIdentityMatcher,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TuiDataListHost, TuiOptionComponent} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, merge} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-select-option',\n templateUrl: './select-option.template.html',\n styleUrls: ['./select-option.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSelectOptionComponent<T> implements OnInit {\n readonly selected$ = merge(\n this.control.valueChanges ?? EMPTY,\n typedFromEvent(this.elementRef.nativeElement, 'animationstart'),\n ).pipe(\n startWith(null),\n map(() => this.selected),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>,\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiOptionComponent) protected readonly option: TuiOptionComponent<T>,\n @Inject(NgControl) protected readonly control: NgControl,\n ) {}\n\n get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n ngOnInit(): void {\n if (isPresent(this.option.value) && this.host.checkOption) {\n this.host.checkOption(this.option.value);\n }\n }\n\n protected get selected(): boolean {\n return (\n isPresent(this.option.value) &&\n isPresent(this.control.value) &&\n this.matcher(this.control.value, this.option.value)\n );\n }\n}\n\nexport const TUI_SELECT_OPTION = new PolymorpheusComponent(TuiSelectOptionComponent);\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollIntoViewModule, TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiSelectOptionComponent} from './select-option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiScrollIntoViewModule],\n declarations: [TuiSelectOptionComponent],\n exports: [TuiSelectOptionComponent],\n entryComponents: [TuiSelectOptionComponent],\n})\nexport class TuiSelectOptionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;IAqCI,kCAEa,OAAqE,EAE7D,IAAwB,EACJ,UAAmC,EACzB,MAA6B,EACtC,OAAkB;QAP5D,iBAQI;;QANS,YAAO,GAAP,OAAO,CAA8D;QAE7D,SAAI,GAAJ,IAAI,CAAoB;QACJ,eAAU,GAAV,UAAU,CAAyB;QACzB,WAAM,GAAN,MAAM,CAAuB;QACtC,YAAO,GAAP,OAAO,CAAW;QAhBnD,cAAS,GAAG,KAAK,OACtB,IAAI,CAAC,OAAO,CAAC,YAAY,mCAAI,KAAK,EAClC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAClE,CAAC,IAAI,CACF,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,cAAM,OAAA,KAAI,CAAC,QAAQ,GAAA,CAAC,EACxB,oBAAoB,EAAE,CACzB,CAAC;KAUE;IAEJ,sBAAI,6CAAO;aAAX;YACI,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,4BAA4B,CAAC;SACpE;;;OAAA;IAED,2CAAQ,GAAR;QACI,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACvD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC5C;KACJ;IAED,sBAAc,8CAAQ;aAAtB;YACI,QACI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC5B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EACrD;SACL;;;OAAA;;gDAzBI,MAAM,SAAC,oBAAoB;gDAE3B,MAAM,SAAC,kBAAkB;gBAEuB,UAAU,uBAA1D,MAAM,SAAC,UAAU;gBACqC,kBAAkB,uBAAxE,MAAM,SAAC,kBAAkB;gBACqB,SAAS,uBAAvD,MAAM,SAAC,SAAS;;IAjBZ,wBAAwB;QANpC,SAAS,CAAC;YACP,QAAQ,EAAE,mBAAmB;YAC7B,8WAA4C;YAE5C,eAAe,EAAE,uBAAuB,CAAC,MAAM;;SAClD,CAAC;QAYO,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAE5B,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAE1B,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAC1B,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;OAjBb,wBAAwB,CAqCpC;IAAD,+BAAC;CArCD,IAqCC;IAEY,iBAAiB,GAAG,IAAI,qBAAqB,CAAC,wBAAwB;;;ICtDnF;KAAqC;IAAxB,qBAAqB;QANjC,QAAQ,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,uBAAuB,CAAC;YAC9D,YAAY,EAAE,CAAC,wBAAwB,CAAC;YACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;YACnC,eAAe,EAAE,CAAC,wBAAwB,CAAC;SAC9C,CAAC;OACW,qBAAqB,CAAG;IAAD,4BAAC;CAArC;;ACZA;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __assign, __extends, __decorate, __param } from 'tslib';
|
|
2
2
|
import { forwardRef, InjectionToken, Optional, Self, Inject, ChangeDetectorRef, ViewChild, Input, ContentChild, TemplateRef, Component, ChangeDetectionStrategy, Directive, NgModule } from '@angular/core';
|
|
3
3
|
import { NgControl } from '@angular/forms';
|
|
4
|
-
import { AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR, isNativeFocused, setNativeFocused, tuiDefaultProp,
|
|
4
|
+
import { AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR, isNativeFocused, setNativeFocused, tuiDefaultProp, AbstractTuiNullableControl, TuiActiveZoneModule } from '@taiga-ui/cdk';
|
|
5
5
|
import { TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT, TuiTextfieldCleanerDirective, TUI_TEXTFIELD_CLEANER, TuiPrimitiveTextfieldComponent, TuiHostedDropdownComponent, TuiDataListDirective, TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost, TuiPrimitiveTextfieldModule, TuiHostedDropdownModule, TuiTextfieldComponent } from '@taiga-ui/core';
|
|
6
6
|
import { TUI_ARROW_MODE, TuiArrowModule } from '@taiga-ui/kit/components/arrow';
|
|
7
7
|
import { TUI_ITEMS_HANDLERS } from '@taiga-ui/kit/tokens';
|
|
@@ -93,9 +93,6 @@ var TuiSelectComponent = /** @class */ (function (_super) {
|
|
|
93
93
|
enumerable: true,
|
|
94
94
|
configurable: true
|
|
95
95
|
});
|
|
96
|
-
TuiSelectComponent.prototype.computeContext = function ($implicit, active) {
|
|
97
|
-
return { $implicit: $implicit, active: active };
|
|
98
|
-
};
|
|
99
96
|
TuiSelectComponent.prototype.onValueChange = function (value) {
|
|
100
97
|
if (!value) {
|
|
101
98
|
this.updateValue(null);
|
|
@@ -153,13 +150,10 @@ var TuiSelectComponent = /** @class */ (function (_super) {
|
|
|
153
150
|
__decorate([
|
|
154
151
|
ContentChild(TuiDataListDirective, { read: TemplateRef })
|
|
155
152
|
], TuiSelectComponent.prototype, "datalist", void 0);
|
|
156
|
-
__decorate([
|
|
157
|
-
tuiPure
|
|
158
|
-
], TuiSelectComponent.prototype, "computeContext", null);
|
|
159
153
|
TuiSelectComponent = __decorate([
|
|
160
154
|
Component({
|
|
161
155
|
selector: 'tui-select',
|
|
162
|
-
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]=\"
|
|
156
|
+
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]=\"{$implicit: value, active: 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",
|
|
163
157
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
164
158
|
providers: TUI_SELECT_PROVIDERS,
|
|
165
159
|
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} 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 onValueChange(value: string): void {\n if (!value) {\n this.updateValue(null);\n }\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n onKeyDownDelete(): void {\n if (this.textfieldCleaner.cleaner) {\n this.updateValue(null);\n }\n }\n\n handleOption(option: T): void {\n this.focusInput();\n this.updateValue(option);\n this.hostedDropdown?.updateOpen(false);\n }\n\n private focusInput(preventScroll: boolean = false): void {\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): void {\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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"}
|
|
@@ -2,14 +2,14 @@ import { __assign, __decorate, __param, __extends, __read } from 'tslib';
|
|
|
2
2
|
import { InjectionToken, Optional, Self, Inject, ChangeDetectorRef, ElementRef, Input, HostBinding, Component, ChangeDetectionStrategy, Output, HostListener, Directive, Pipe, forwardRef, NgModule } from '@angular/core';
|
|
3
3
|
import { NgModel, NgControl } from '@angular/forms';
|
|
4
4
|
import { USER_AGENT } from '@ng-web-apis/common';
|
|
5
|
-
import { watch, isEdgeOlderThan, CHROMIUM_EDGE_START_VERSION, tuiDefaultProp, typedFromEvent, isNativeFocused,
|
|
6
|
-
import { take, map } from 'rxjs/operators';
|
|
5
|
+
import { watch, isEdgeOlderThan, CHROMIUM_EDGE_START_VERSION, tuiDefaultProp, typedFromEvent, isNativeFocused, clamp, tuiAssert, AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiCoerceBooleanProperty, TuiDestroyService, TuiRepeatTimesModule, TuiFocusableModule, TuiFocusVisibleModule, TuiActiveZoneModule } from '@taiga-ui/cdk';
|
|
6
|
+
import { take, map, tap, mapTo, filter, takeUntil } from 'rxjs/operators';
|
|
7
7
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
8
8
|
import { TuiFormatNumberPipeModule } from '@taiga-ui/core';
|
|
9
|
-
import {
|
|
9
|
+
import { tuiPercentageToKeyStepValue, tuiKeyStepValueToPercentage, tuiCheckKeyStepsHaveMinMaxPercents } from '@taiga-ui/kit/utils';
|
|
10
10
|
import { AbstractTuiSlider } from '@taiga-ui/kit/abstract';
|
|
11
11
|
import { TUI_FROM_TO_TEXTS } from '@taiga-ui/kit/tokens';
|
|
12
|
-
import { Observable } from 'rxjs';
|
|
12
|
+
import { Observable, merge, combineLatest } from 'rxjs';
|
|
13
13
|
|
|
14
14
|
var TUI_SLIDER_DEFAULT_OPTIONS = {
|
|
15
15
|
size: 'm',
|
|
@@ -75,7 +75,7 @@ var TuiSliderComponent = /** @class */ (function () {
|
|
|
75
75
|
});
|
|
76
76
|
Object.defineProperty(TuiSliderComponent.prototype, "valuePercentage", {
|
|
77
77
|
get: function () {
|
|
78
|
-
return (100 * (this.value - this.min)) / (this.max - this.min);
|
|
78
|
+
return (100 * (this.value - this.min)) / (this.max - this.min) || 0;
|
|
79
79
|
},
|
|
80
80
|
enumerable: true,
|
|
81
81
|
configurable: true
|
|
@@ -196,12 +196,7 @@ var TuiSliderKeyStepsDirective = /** @class */ (function (_super) {
|
|
|
196
196
|
});
|
|
197
197
|
Object.defineProperty(TuiSliderKeyStepsDirective.prototype, "controlValue", {
|
|
198
198
|
get: function () {
|
|
199
|
-
|
|
200
|
-
var _a = __read(findKeyStepsBoundariesByFn(this.keySteps, function (_a) {
|
|
201
|
-
var _b = __read(_a, 2), keyStepPercentage = _b[0], _ = _b[1];
|
|
202
|
-
return valuePercentage <= keyStepPercentage;
|
|
203
|
-
}), 2), lowerStep = _a[0], upperStep = _a[1];
|
|
204
|
-
return transformToControlValue(valuePercentage, lowerStep, upperStep);
|
|
199
|
+
return tuiPercentageToKeyStepValue(this.slider.valuePercentage, this.keySteps);
|
|
205
200
|
},
|
|
206
201
|
enumerable: true,
|
|
207
202
|
configurable: true
|
|
@@ -213,21 +208,16 @@ var TuiSliderKeyStepsDirective = /** @class */ (function (_super) {
|
|
|
213
208
|
if (controlValue === null) {
|
|
214
209
|
return;
|
|
215
210
|
}
|
|
216
|
-
var
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
}), 2), lowerStep = _a[0], upperStep = _a[1];
|
|
220
|
-
this.slider.value = this.transformToNativeValue(controlValue, lowerStep, upperStep);
|
|
211
|
+
var clampedControlValue = clamp(controlValue, this.min, this.max);
|
|
212
|
+
tuiAssert.assert(controlValue === clampedControlValue, '\n[SliderKeySteps]: You cannot programmatically set value which is less/more than min/max');
|
|
213
|
+
this.slider.value = this.transformToNativeValue(clampedControlValue);
|
|
221
214
|
};
|
|
222
215
|
TuiSliderKeyStepsDirective.prototype.getFallbackValue = function () {
|
|
223
216
|
return 0;
|
|
224
217
|
};
|
|
225
|
-
TuiSliderKeyStepsDirective.prototype.transformToNativeValue = function (controlValue
|
|
226
|
-
var
|
|
227
|
-
var
|
|
228
|
-
var _e = this.slider, min = _e.min, max = _e.max;
|
|
229
|
-
var ratio = (controlValue - lowerStepValue) / (upperStepValue - lowerStepValue);
|
|
230
|
-
var newValuePercentage = (upperStepPercent - lowerStepPercent) * ratio + lowerStepPercent;
|
|
218
|
+
TuiSliderKeyStepsDirective.prototype.transformToNativeValue = function (controlValue) {
|
|
219
|
+
var _a = this.slider, min = _a.min, max = _a.max;
|
|
220
|
+
var newValuePercentage = tuiKeyStepValueToPercentage(controlValue, this.keySteps);
|
|
231
221
|
return (newValuePercentage * (max - min)) / 100 + min;
|
|
232
222
|
};
|
|
233
223
|
TuiSliderKeyStepsDirective.ctorParameters = function () { return [
|
|
@@ -238,7 +228,7 @@ var TuiSliderKeyStepsDirective = /** @class */ (function (_super) {
|
|
|
238
228
|
]; };
|
|
239
229
|
__decorate([
|
|
240
230
|
Input(),
|
|
241
|
-
tuiDefaultProp(
|
|
231
|
+
tuiDefaultProp(tuiCheckKeyStepsHaveMinMaxPercents, 'Should contain min and max values')
|
|
242
232
|
], TuiSliderKeyStepsDirective.prototype, "keySteps", void 0);
|
|
243
233
|
__decorate([
|
|
244
234
|
Output()
|
|
@@ -274,33 +264,13 @@ var TuiSliderTickLabelPipe = /** @class */ (function () {
|
|
|
274
264
|
}
|
|
275
265
|
TuiSliderTickLabelPipe.prototype.transform = function (tickIndex, totalSegments, keySteps) {
|
|
276
266
|
var percentage = (100 / totalSegments) * tickIndex;
|
|
277
|
-
|
|
278
|
-
var _b = __read(_a, 2), keyStepPercentage = _b[0], _ = _b[1];
|
|
279
|
-
return percentage <= keyStepPercentage;
|
|
280
|
-
}), 2), lowerStep = _a[0], upperStep = _a[1];
|
|
281
|
-
return transformToControlValue(percentage, upperStep, lowerStep);
|
|
267
|
+
return tuiPercentageToKeyStepValue(percentage, keySteps);
|
|
282
268
|
};
|
|
283
269
|
TuiSliderTickLabelPipe = __decorate([
|
|
284
270
|
Pipe({ name: 'tuiSliderTickLabel' })
|
|
285
271
|
], TuiSliderTickLabelPipe);
|
|
286
272
|
return TuiSliderTickLabelPipe;
|
|
287
273
|
}());
|
|
288
|
-
function checkHasMinMaxPercents(steps) {
|
|
289
|
-
return !steps.length || (steps[0][0] === 0 && steps[steps.length - 1][0] === 100);
|
|
290
|
-
}
|
|
291
|
-
function findKeyStepsBoundariesByFn(keySteps, fn) {
|
|
292
|
-
var keyStepUpperIndex = keySteps.findIndex(function (ketStep, i) { return i && fn(ketStep); });
|
|
293
|
-
var lowerStep = keySteps[keyStepUpperIndex - 1];
|
|
294
|
-
var upperStep = keySteps[keyStepUpperIndex];
|
|
295
|
-
return [lowerStep, upperStep];
|
|
296
|
-
}
|
|
297
|
-
function transformToControlValue(valuePercentage, _a, _b) {
|
|
298
|
-
var _c = __read(_a, 2), upperStepPercent = _c[0], upperStepValue = _c[1];
|
|
299
|
-
var _d = __read(_b, 2), lowerStepPercent = _d[0], lowerStepValue = _d[1];
|
|
300
|
-
var ratio = (valuePercentage - lowerStepPercent) / (upperStepPercent - lowerStepPercent);
|
|
301
|
-
var controlValue = (upperStepValue - lowerStepValue) * ratio + lowerStepValue;
|
|
302
|
-
return round(controlValue, TUI_FLOATING_PRECISION);
|
|
303
|
-
}
|
|
304
274
|
|
|
305
275
|
/**
|
|
306
276
|
* @deprecated use {@link TuiSliderComponent} instead
|
|
@@ -403,12 +373,37 @@ var SLIDER_INTERACTION_KEYS = new Set([
|
|
|
403
373
|
* Native <input type='range' readonly> doesn't work.
|
|
404
374
|
* This directive imitates this native behaviour.
|
|
405
375
|
*/
|
|
376
|
+
// @dynamic
|
|
406
377
|
var TuiSliderReadonlyDirective = /** @class */ (function () {
|
|
407
|
-
function TuiSliderReadonlyDirective() {
|
|
378
|
+
function TuiSliderReadonlyDirective(elementRef, documentRef, destroy$) {
|
|
379
|
+
var _this = this;
|
|
408
380
|
this.readonly = true;
|
|
381
|
+
var touchStart$ = typedFromEvent(elementRef.nativeElement, 'touchstart', {
|
|
382
|
+
passive: false,
|
|
383
|
+
});
|
|
384
|
+
var touchMove$ = typedFromEvent(documentRef, 'touchmove', {
|
|
385
|
+
passive: false,
|
|
386
|
+
});
|
|
387
|
+
var touchEnd$ = typedFromEvent(documentRef, 'touchend', {
|
|
388
|
+
passive: true,
|
|
389
|
+
});
|
|
390
|
+
var shouldPreventMove$ = merge(touchStart$.pipe(tap(function (e) { return _this.preventEvent(e); }), mapTo(true)), touchEnd$.pipe(mapTo(false)));
|
|
391
|
+
/**
|
|
392
|
+
* @bad TODO think about another solution.
|
|
393
|
+
* Keep in mind that preventing touch event (on slider) inside `@HostListener('touchstart')` doesn't work for mobile chrome.
|
|
394
|
+
*/
|
|
395
|
+
combineLatest([touchMove$, shouldPreventMove$])
|
|
396
|
+
.pipe(filter(function (_a) {
|
|
397
|
+
var _b = __read(_a, 2), _ = _b[0], shouldPreventMove = _b[1];
|
|
398
|
+
return shouldPreventMove;
|
|
399
|
+
}), takeUntil(destroy$))
|
|
400
|
+
.subscribe(function (_a) {
|
|
401
|
+
var _b = __read(_a, 1), moveEvent = _b[0];
|
|
402
|
+
return _this.preventEvent(moveEvent);
|
|
403
|
+
});
|
|
409
404
|
}
|
|
410
405
|
TuiSliderReadonlyDirective.prototype.preventEvent = function (event) {
|
|
411
|
-
if (
|
|
406
|
+
if (event.cancelable && tuiCoerceBooleanProperty(this.readonly)) {
|
|
412
407
|
event.preventDefault();
|
|
413
408
|
}
|
|
414
409
|
};
|
|
@@ -417,13 +412,17 @@ var TuiSliderReadonlyDirective = /** @class */ (function () {
|
|
|
417
412
|
this.preventEvent(event);
|
|
418
413
|
}
|
|
419
414
|
};
|
|
415
|
+
TuiSliderReadonlyDirective.ctorParameters = function () { return [
|
|
416
|
+
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
417
|
+
{ type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
418
|
+
{ type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] }
|
|
419
|
+
]; };
|
|
420
420
|
__decorate([
|
|
421
421
|
Input(),
|
|
422
422
|
tuiDefaultProp()
|
|
423
423
|
], TuiSliderReadonlyDirective.prototype, "readonly", void 0);
|
|
424
424
|
__decorate([
|
|
425
|
-
HostListener('mousedown', ['$event'])
|
|
426
|
-
HostListener('touchstart', ['$event'])
|
|
425
|
+
HostListener('mousedown', ['$event'])
|
|
427
426
|
], TuiSliderReadonlyDirective.prototype, "preventEvent", null);
|
|
428
427
|
__decorate([
|
|
429
428
|
HostListener('keydown', ['$event'])
|
|
@@ -431,7 +430,11 @@ var TuiSliderReadonlyDirective = /** @class */ (function () {
|
|
|
431
430
|
TuiSliderReadonlyDirective = __decorate([
|
|
432
431
|
Directive({
|
|
433
432
|
selector: 'input[tuiSlider][readonly]',
|
|
434
|
-
|
|
433
|
+
providers: [TuiDestroyService],
|
|
434
|
+
}),
|
|
435
|
+
__param(0, Inject(ElementRef)),
|
|
436
|
+
__param(1, Inject(DOCUMENT)),
|
|
437
|
+
__param(2, Inject(TuiDestroyService))
|
|
435
438
|
], TuiSliderReadonlyDirective);
|
|
436
439
|
return TuiSliderReadonlyDirective;
|
|
437
440
|
}());
|