@taiga-ui/legacy 4.0.0-rc.1
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/LICENSE +190 -0
- package/README.md +22 -0
- package/classes/abstract-native-select.d.ts +17 -0
- package/classes/abstract-textfield-host.d.ts +19 -0
- package/classes/control.d.ts +58 -0
- package/classes/index.d.ts +8 -0
- package/classes/interactive.d.ts +35 -0
- package/classes/multiple-control.d.ts +8 -0
- package/classes/named-day.d.ts +8 -0
- package/classes/nullable-control.d.ts +7 -0
- package/classes/stringifiable-item.d.ts +10 -0
- package/components/arrow/arrow.component.d.ts +16 -0
- package/components/arrow/arrow.options.d.ts +13 -0
- package/components/arrow/arrow.providers.d.ts +14 -0
- package/components/arrow/index.d.ts +3 -0
- package/components/combo-box/combo-box-strict.directive.d.ts +8 -0
- package/components/combo-box/combo-box.component.d.ts +47 -0
- package/components/combo-box/combo-box.directive.d.ts +9 -0
- package/components/combo-box/combo-box.module.d.ts +16 -0
- package/components/combo-box/index.d.ts +4 -0
- package/components/index.d.ts +31 -0
- package/components/input/index.d.ts +3 -0
- package/components/input/input.component.d.ts +27 -0
- package/components/input/input.directive.d.ts +8 -0
- package/components/input/input.module.d.ts +11 -0
- package/components/input-copy/index.d.ts +4 -0
- package/components/input-copy/input-copy.component.d.ts +30 -0
- package/components/input-copy/input-copy.directive.d.ts +8 -0
- package/components/input-copy/input-copy.module.d.ts +15 -0
- package/components/input-copy/input-copy.options.d.ts +14 -0
- package/components/input-date/index.d.ts +3 -0
- package/components/input-date/input-date.component.d.ts +61 -0
- package/components/input-date/input-date.directive.d.ts +15 -0
- package/components/input-date/input-date.module.d.ts +20 -0
- package/components/input-date/native-date/native-date.component.d.ts +11 -0
- package/components/input-date-multi/index.d.ts +2 -0
- package/components/input-date-multi/input-date-multi.component.d.ts +66 -0
- package/components/input-date-multi/input-date-multi.module.d.ts +20 -0
- package/components/input-date-range/index.d.ts +3 -0
- package/components/input-date-range/input-date-range.component.d.ts +63 -0
- package/components/input-date-range/input-date-range.directive.d.ts +12 -0
- package/components/input-date-range/input-date-range.module.d.ts +18 -0
- package/components/input-date-time/index.d.ts +3 -0
- package/components/input-date-time/input-date-time.component.d.ts +77 -0
- package/components/input-date-time/input-date-time.directive.d.ts +13 -0
- package/components/input-date-time/input-date-time.module.d.ts +19 -0
- package/components/input-date-time/native-date-time/native-date-time.directive.d.ts +9 -0
- package/components/input-month/index.d.ts +3 -0
- package/components/input-month/input-month.component.d.ts +41 -0
- package/components/input-month/input-month.directive.d.ts +15 -0
- package/components/input-month/input-month.module.d.ts +15 -0
- package/components/input-month-range/index.d.ts +3 -0
- package/components/input-month-range/input-month-range.component.d.ts +35 -0
- package/components/input-month-range/input-month-range.directive.d.ts +15 -0
- package/components/input-month-range/input-month-range.module.d.ts +14 -0
- package/components/input-number/index.d.ts +4 -0
- package/components/input-number/input-number.component.d.ts +56 -0
- package/components/input-number/input-number.directive.d.ts +12 -0
- package/components/input-number/input-number.module.d.ts +14 -0
- package/components/input-number/input-number.options.d.ts +17 -0
- package/components/input-password/index.d.ts +4 -0
- package/components/input-password/input-password.component.d.ts +30 -0
- package/components/input-password/input-password.directive.d.ts +12 -0
- package/components/input-password/input-password.module.d.ts +16 -0
- package/components/input-password/input-password.options.d.ts +13 -0
- package/components/input-phone/index.d.ts +4 -0
- package/components/input-phone/input-phone.component.d.ts +48 -0
- package/components/input-phone/input-phone.directive.d.ts +13 -0
- package/components/input-phone/input-phone.module.d.ts +12 -0
- package/components/input-phone/input-phone.options.d.ts +12 -0
- package/components/input-phone/utils/complete-phone-insertion-preprocessor.d.ts +9 -0
- package/components/input-phone/utils/create-phone-mask-expression.d.ts +7 -0
- package/components/input-phone/utils/index.d.ts +2 -0
- package/components/input-phone-international/index.d.ts +3 -0
- package/components/input-phone-international/input-phone-international.component.d.ts +38 -0
- package/components/input-phone-international/input-phone-international.options.d.ts +12 -0
- package/components/input-phone-international/utils/extract-value-from-event.d.ts +1 -0
- package/components/input-range/index.d.ts +2 -0
- package/components/input-range/input-range.component.d.ts +52 -0
- package/components/input-range/input-range.module.d.ts +15 -0
- package/components/input-slider/index.d.ts +2 -0
- package/components/input-slider/input-slider.component.d.ts +38 -0
- package/components/input-slider/input-slider.module.d.ts +14 -0
- package/components/input-tag/index.d.ts +3 -0
- package/components/input-tag/input-tag.component.d.ts +94 -0
- package/components/input-tag/input-tag.module.d.ts +18 -0
- package/components/input-tag/input-tag.options.d.ts +13 -0
- package/components/input-time/index.d.ts +4 -0
- package/components/input-time/input-time.component.d.ts +60 -0
- package/components/input-time/input-time.directive.d.ts +13 -0
- package/components/input-time/input-time.module.d.ts +19 -0
- package/components/input-time/input-time.options.d.ts +20 -0
- package/components/input-time/native-time/native-time.component.d.ts +12 -0
- package/components/input-year/index.d.ts +3 -0
- package/components/input-year/input-year.component.d.ts +32 -0
- package/components/input-year/input-year.directive.d.ts +10 -0
- package/components/input-year/input-year.module.d.ts +14 -0
- package/components/island/index.d.ts +1 -0
- package/components/island/island.directive.d.ts +16 -0
- package/components/multi-select/hide-selected.pipe.d.ts +11 -0
- package/components/multi-select/index.d.ts +10 -0
- package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +23 -0
- package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +8 -0
- package/components/multi-select/multi-select.component.d.ts +65 -0
- package/components/multi-select/multi-select.directive.d.ts +14 -0
- package/components/multi-select/multi-select.module.d.ts +27 -0
- package/components/multi-select/multi-select.options.d.ts +13 -0
- package/components/multi-select/native-multi-select/native-multi-select-group.component.d.ts +9 -0
- package/components/multi-select/native-multi-select/native-multi-select.component.d.ts +8 -0
- package/components/multi-select/native-multi-select/native-multi-select.d.ts +11 -0
- package/components/multi-select-option/index.d.ts +2 -0
- package/components/multi-select-option/multi-select-option.component.d.ts +9 -0
- package/components/multi-select-option/multi-select-option.module.d.ts +9 -0
- package/components/primitive-textfield/index.d.ts +7 -0
- package/components/primitive-textfield/primitive-textfield-options.d.ts +22 -0
- package/components/primitive-textfield/primitive-textfield-types.d.ts +11 -0
- package/components/primitive-textfield/primitive-textfield.component.d.ts +68 -0
- package/components/primitive-textfield/primitive-textfield.directive.d.ts +10 -0
- package/components/primitive-textfield/primitive-textfield.module.d.ts +17 -0
- package/components/primitive-textfield/textfield/textfield.component.d.ts +13 -0
- package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +22 -0
- package/components/select/index.d.ts +6 -0
- package/components/select/native-select/native-select-group.component.d.ts +13 -0
- package/components/select/native-select/native-select.component.d.ts +12 -0
- package/components/select/select.component.d.ts +40 -0
- package/components/select/select.directive.d.ts +12 -0
- package/components/select/select.module.d.ts +20 -0
- package/components/select/select.options.d.ts +12 -0
- package/components/select-option/index.d.ts +2 -0
- package/components/select-option/select-option.component.d.ts +27 -0
- package/components/select-option/select-option.module.d.ts +10 -0
- package/components/sheet/components/sheet/sheet.component.d.ts +31 -0
- package/components/sheet/components/sheet/sheet.providers.d.ts +2 -0
- package/components/sheet/components/sheet-bar/sheet-bar.component.d.ts +10 -0
- package/components/sheet/components/sheet-heading/sheet-heading.component.d.ts +14 -0
- package/components/sheet/components/sheets-host/sheets-host.component.d.ts +15 -0
- package/components/sheet/directives/sheet-close/sheet-close.directive.d.ts +14 -0
- package/components/sheet/directives/sheet-stop/sheet-stop.directive.d.ts +6 -0
- package/components/sheet/directives/sheet-top/sheet-top.directive.d.ts +14 -0
- package/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.d.ts +17 -0
- package/components/sheet/index.d.ts +14 -0
- package/components/sheet/sheet-options.d.ts +24 -0
- package/components/sheet/sheet-tokens.d.ts +15 -0
- package/components/sheet/sheet.d.ts +19 -0
- package/components/sheet/sheet.directive.d.ts +16 -0
- package/components/sheet/sheet.module.d.ts +23 -0
- package/components/sheet/sheet.service.d.ts +16 -0
- package/components/svg/content-processor.d.ts +16 -0
- package/components/svg/deprecated-icons.d.ts +1 -0
- package/components/svg/index.d.ts +5 -0
- package/components/svg/svg-options.d.ts +22 -0
- package/components/svg/svg.component.d.ts +43 -0
- package/components/svg/svg.service.d.ts +21 -0
- package/components/table-bar/index.d.ts +5 -0
- package/components/table-bar/table-bar.component.d.ts +13 -0
- package/components/table-bar/table-bar.directive.d.ts +7 -0
- package/components/table-bar/table-bar.options.d.ts +14 -0
- package/components/table-bar/table-bars-host.component.d.ts +6 -0
- package/components/table-bar/table-bars.service.d.ts +10 -0
- package/components/tag/index.d.ts +3 -0
- package/components/tag/tag.component.d.ts +40 -0
- package/components/tag/tag.module.d.ts +12 -0
- package/components/tag/tag.options.d.ts +15 -0
- package/components/textarea/index.d.ts +3 -0
- package/components/textarea/textarea.component.d.ts +50 -0
- package/components/textarea/textarea.directive.d.ts +8 -0
- package/components/textarea/textarea.module.d.ts +17 -0
- package/components/tooltip/index.d.ts +2 -0
- package/components/tooltip/tooltip.component.d.ts +12 -0
- package/components/tooltip/tooltip.module.d.ts +12 -0
- package/directives/index.d.ts +5 -0
- package/directives/legacy-dropdown-open-monitor/index.d.ts +1 -0
- package/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.d.ts +9 -0
- package/directives/textfield-controller/index.d.ts +14 -0
- package/directives/textfield-controller/textfield-appearance.directive.d.ts +8 -0
- package/directives/textfield-controller/textfield-cleaner.directive.d.ts +8 -0
- package/directives/textfield-controller/textfield-controller.module.d.ts +17 -0
- package/directives/textfield-controller/textfield-controller.provider.d.ts +5 -0
- package/directives/textfield-controller/textfield-custom-content.directive.d.ts +9 -0
- package/directives/textfield-controller/textfield-filler.directive.d.ts +8 -0
- package/directives/textfield-controller/textfield-icon-left.directive.d.ts +11 -0
- package/directives/textfield-controller/textfield-icon.directive.d.ts +11 -0
- package/directives/textfield-controller/textfield-label-outside.directive.d.ts +8 -0
- package/directives/textfield-controller/textfield-postfix.directive.d.ts +8 -0
- package/directives/textfield-controller/textfield-prefix.directive.d.ts +8 -0
- package/directives/textfield-controller/textfield-size.directive.d.ts +9 -0
- package/directives/textfield-controller/textfield.controller.d.ts +41 -0
- package/directives/textfield-controller/textfield.options.d.ts +15 -0
- package/directives/unfinished-validator/index.d.ts +2 -0
- package/directives/unfinished-validator/unfinished-validator.directive.d.ts +8 -0
- package/directives/unfinished-validator/unfinished.validator.d.ts +4 -0
- package/directives/value-accessor/index.d.ts +3 -0
- package/directives/value-accessor/value-accessor.directive.d.ts +5 -0
- package/directives/value-accessor/value-accessor.module.d.ts +7 -0
- package/directives/value-accessor/value-accessor.provider.d.ts +2 -0
- package/directives/wrapper/README.md +19 -0
- package/directives/wrapper/index.d.ts +2 -0
- package/directives/wrapper/wrapper.directive.d.ts +21 -0
- package/directives/wrapper/wrapper.module.d.ts +10 -0
- package/esm2022/classes/abstract-native-select.mjs +37 -0
- package/esm2022/classes/abstract-textfield-host.mjs +37 -0
- package/esm2022/classes/control.mjs +175 -0
- package/esm2022/classes/index.mjs +9 -0
- package/esm2022/classes/interactive.mjs +85 -0
- package/esm2022/classes/multiple-control.mjs +18 -0
- package/esm2022/classes/named-day.mjs +11 -0
- package/esm2022/classes/nullable-control.mjs +15 -0
- package/esm2022/classes/stringifiable-item.mjs +13 -0
- package/esm2022/classes/taiga-ui-legacy-classes.mjs +5 -0
- package/esm2022/components/arrow/arrow.component.mjs +42 -0
- package/esm2022/components/arrow/arrow.options.mjs +14 -0
- package/esm2022/components/arrow/arrow.providers.mjs +14 -0
- package/esm2022/components/arrow/index.mjs +4 -0
- package/esm2022/components/arrow/taiga-ui-legacy-components-arrow.mjs +5 -0
- package/esm2022/components/combo-box/combo-box-strict.directive.mjs +29 -0
- package/esm2022/components/combo-box/combo-box.component.mjs +176 -0
- package/esm2022/components/combo-box/combo-box.directive.mjs +23 -0
- package/esm2022/components/combo-box/combo-box.module.mjs +67 -0
- package/esm2022/components/combo-box/index.mjs +5 -0
- package/esm2022/components/combo-box/taiga-ui-legacy-components-combo-box.mjs +5 -0
- package/esm2022/components/index.mjs +32 -0
- package/esm2022/components/input/index.mjs +4 -0
- package/esm2022/components/input/input.component.mjs +89 -0
- package/esm2022/components/input/input.directive.mjs +20 -0
- package/esm2022/components/input/input.module.mjs +30 -0
- package/esm2022/components/input/taiga-ui-legacy-components-input.mjs +5 -0
- package/esm2022/components/input-copy/index.mjs +5 -0
- package/esm2022/components/input-copy/input-copy.component.mjs +103 -0
- package/esm2022/components/input-copy/input-copy.directive.mjs +20 -0
- package/esm2022/components/input-copy/input-copy.module.mjs +52 -0
- package/esm2022/components/input-copy/input-copy.options.mjs +12 -0
- package/esm2022/components/input-copy/taiga-ui-legacy-components-input-copy.mjs +5 -0
- package/esm2022/components/input-date/index.mjs +4 -0
- package/esm2022/components/input-date/input-date.component.mjs +217 -0
- package/esm2022/components/input-date/input-date.directive.mjs +38 -0
- package/esm2022/components/input-date/input-date.module.mjs +71 -0
- package/esm2022/components/input-date/native-date/native-date.component.mjs +48 -0
- package/esm2022/components/input-date/taiga-ui-legacy-components-input-date.mjs +5 -0
- package/esm2022/components/input-date-multi/index.mjs +3 -0
- package/esm2022/components/input-date-multi/input-date-multi.component.mjs +212 -0
- package/esm2022/components/input-date-multi/input-date-multi.module.mjs +67 -0
- package/esm2022/components/input-date-multi/taiga-ui-legacy-components-input-date-multi.mjs +5 -0
- package/esm2022/components/input-date-range/index.mjs +4 -0
- package/esm2022/components/input-date-range/input-date-range.component.mjs +243 -0
- package/esm2022/components/input-date-range/input-date-range.directive.mjs +31 -0
- package/esm2022/components/input-date-range/input-date-range.module.mjs +67 -0
- package/esm2022/components/input-date-range/taiga-ui-legacy-components-input-date-range.mjs +5 -0
- package/esm2022/components/input-date-time/index.mjs +4 -0
- package/esm2022/components/input-date-time/input-date-time.component.mjs +302 -0
- package/esm2022/components/input-date-time/input-date-time.directive.mjs +32 -0
- package/esm2022/components/input-date-time/input-date-time.module.mjs +74 -0
- package/esm2022/components/input-date-time/native-date-time/native-date-time.directive.mjs +44 -0
- package/esm2022/components/input-date-time/taiga-ui-legacy-components-input-date-time.mjs +5 -0
- package/esm2022/components/input-month/index.mjs +4 -0
- package/esm2022/components/input-month/input-month.component.mjs +132 -0
- package/esm2022/components/input-month/input-month.directive.mjs +41 -0
- package/esm2022/components/input-month/input-month.module.mjs +53 -0
- package/esm2022/components/input-month/taiga-ui-legacy-components-input-month.mjs +5 -0
- package/esm2022/components/input-month-range/index.mjs +4 -0
- package/esm2022/components/input-month-range/input-month-range.component.mjs +120 -0
- package/esm2022/components/input-month-range/input-month-range.directive.mjs +47 -0
- package/esm2022/components/input-month-range/input-month-range.module.mjs +49 -0
- package/esm2022/components/input-month-range/taiga-ui-legacy-components-input-month-range.mjs +5 -0
- package/esm2022/components/input-number/index.mjs +5 -0
- package/esm2022/components/input-number/input-number.component.mjs +257 -0
- package/esm2022/components/input-number/input-number.directive.mjs +33 -0
- package/esm2022/components/input-number/input-number.module.mjs +44 -0
- package/esm2022/components/input-number/input-number.options.mjs +19 -0
- package/esm2022/components/input-number/taiga-ui-legacy-components-input-number.mjs +5 -0
- package/esm2022/components/input-password/index.mjs +5 -0
- package/esm2022/components/input-password/input-password.component.mjs +78 -0
- package/esm2022/components/input-password/input-password.directive.mjs +30 -0
- package/esm2022/components/input-password/input-password.module.mjs +56 -0
- package/esm2022/components/input-password/input-password.options.mjs +12 -0
- package/esm2022/components/input-password/taiga-ui-legacy-components-input-password.mjs +5 -0
- package/esm2022/components/input-phone/index.mjs +5 -0
- package/esm2022/components/input-phone/input-phone.component.mjs +217 -0
- package/esm2022/components/input-phone/input-phone.directive.mjs +33 -0
- package/esm2022/components/input-phone/input-phone.module.mjs +44 -0
- package/esm2022/components/input-phone/input-phone.options.mjs +14 -0
- package/esm2022/components/input-phone/taiga-ui-legacy-components-input-phone.mjs +5 -0
- package/esm2022/components/input-phone/utils/complete-phone-insertion-preprocessor.mjs +41 -0
- package/esm2022/components/input-phone/utils/create-phone-mask-expression.mjs +17 -0
- package/esm2022/components/input-phone/utils/index.mjs +3 -0
- package/esm2022/components/input-phone-international/index.mjs +4 -0
- package/esm2022/components/input-phone-international/input-phone-international.component.mjs +181 -0
- package/esm2022/components/input-phone-international/input-phone-international.options.mjs +13 -0
- package/esm2022/components/input-phone-international/taiga-ui-legacy-components-input-phone-international.mjs +5 -0
- package/esm2022/components/input-phone-international/utils/extract-value-from-event.mjs +7 -0
- package/esm2022/components/input-range/index.mjs +3 -0
- package/esm2022/components/input-range/input-range.component.mjs +203 -0
- package/esm2022/components/input-range/input-range.module.mjs +51 -0
- package/esm2022/components/input-range/taiga-ui-legacy-components-input-range.mjs +5 -0
- package/esm2022/components/input-slider/index.mjs +3 -0
- package/esm2022/components/input-slider/input-slider.component.mjs +150 -0
- package/esm2022/components/input-slider/input-slider.module.mjs +44 -0
- package/esm2022/components/input-slider/taiga-ui-legacy-components-input-slider.mjs +5 -0
- package/esm2022/components/input-tag/index.mjs +4 -0
- package/esm2022/components/input-tag/input-tag.component.mjs +415 -0
- package/esm2022/components/input-tag/input-tag.module.mjs +63 -0
- package/esm2022/components/input-tag/input-tag.options.mjs +14 -0
- package/esm2022/components/input-tag/taiga-ui-legacy-components-input-tag.mjs +5 -0
- package/esm2022/components/input-time/index.mjs +5 -0
- package/esm2022/components/input-time/input-time.component.mjs +275 -0
- package/esm2022/components/input-time/input-time.directive.mjs +35 -0
- package/esm2022/components/input-time/input-time.module.mjs +67 -0
- package/esm2022/components/input-time/input-time.options.mjs +22 -0
- package/esm2022/components/input-time/native-time/native-time.component.mjs +67 -0
- package/esm2022/components/input-time/taiga-ui-legacy-components-input-time.mjs +5 -0
- package/esm2022/components/input-year/index.mjs +4 -0
- package/esm2022/components/input-year/input-year.component.mjs +107 -0
- package/esm2022/components/input-year/input-year.directive.mjs +27 -0
- package/esm2022/components/input-year/input-year.module.mjs +49 -0
- package/esm2022/components/input-year/taiga-ui-legacy-components-input-year.mjs +5 -0
- package/esm2022/components/island/index.mjs +2 -0
- package/esm2022/components/island/island.directive.mjs +74 -0
- package/esm2022/components/island/taiga-ui-legacy-components-island.mjs +5 -0
- package/esm2022/components/multi-select/hide-selected.pipe.mjs +43 -0
- package/esm2022/components/multi-select/index.mjs +11 -0
- package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +99 -0
- package/esm2022/components/multi-select/multi-select-group/multi-select-group.directive.mjs +65 -0
- package/esm2022/components/multi-select/multi-select.component.mjs +204 -0
- package/esm2022/components/multi-select/multi-select.directive.mjs +31 -0
- package/esm2022/components/multi-select/multi-select.module.mjs +111 -0
- package/esm2022/components/multi-select/multi-select.options.mjs +13 -0
- package/esm2022/components/multi-select/native-multi-select/native-multi-select-group.component.mjs +60 -0
- package/esm2022/components/multi-select/native-multi-select/native-multi-select.component.mjs +56 -0
- package/esm2022/components/multi-select/native-multi-select/native-multi-select.mjs +19 -0
- package/esm2022/components/multi-select/taiga-ui-legacy-components-multi-select.mjs +5 -0
- package/esm2022/components/multi-select-option/index.mjs +3 -0
- package/esm2022/components/multi-select-option/multi-select-option.component.mjs +25 -0
- package/esm2022/components/multi-select-option/multi-select-option.module.mjs +20 -0
- package/esm2022/components/multi-select-option/taiga-ui-legacy-components-multi-select-option.mjs +5 -0
- package/esm2022/components/primitive-textfield/index.mjs +8 -0
- package/esm2022/components/primitive-textfield/primitive-textfield-options.mjs +17 -0
- package/esm2022/components/primitive-textfield/primitive-textfield-types.mjs +2 -0
- package/esm2022/components/primitive-textfield/primitive-textfield.component.mjs +247 -0
- package/esm2022/components/primitive-textfield/primitive-textfield.directive.mjs +28 -0
- package/esm2022/components/primitive-textfield/primitive-textfield.module.mjs +62 -0
- package/esm2022/components/primitive-textfield/taiga-ui-legacy-components-primitive-textfield.mjs +5 -0
- package/esm2022/components/primitive-textfield/textfield/textfield.component.mjs +39 -0
- package/esm2022/components/primitive-textfield/value-decoration/value-decoration.component.mjs +71 -0
- package/esm2022/components/select/index.mjs +7 -0
- package/esm2022/components/select/native-select/native-select-group.component.mjs +60 -0
- package/esm2022/components/select/native-select/native-select.component.mjs +56 -0
- package/esm2022/components/select/select.component.mjs +116 -0
- package/esm2022/components/select/select.directive.mjs +29 -0
- package/esm2022/components/select/select.module.mjs +83 -0
- package/esm2022/components/select/select.options.mjs +12 -0
- package/esm2022/components/select/taiga-ui-legacy-components-select.mjs +5 -0
- package/esm2022/components/select-option/index.mjs +3 -0
- package/esm2022/components/select-option/select-option.component.mjs +65 -0
- package/esm2022/components/select-option/select-option.module.mjs +21 -0
- package/esm2022/components/select-option/taiga-ui-legacy-components-select-option.mjs +5 -0
- package/esm2022/components/sheet/components/sheet/sheet.component.mjs +118 -0
- package/esm2022/components/sheet/components/sheet/sheet.providers.mjs +42 -0
- package/esm2022/components/sheet/components/sheet-bar/sheet-bar.component.mjs +27 -0
- package/esm2022/components/sheet/components/sheet-heading/sheet-heading.component.mjs +31 -0
- package/esm2022/components/sheet/components/sheets-host/sheets-host.component.mjs +46 -0
- package/esm2022/components/sheet/directives/sheet-close/sheet-close.directive.mjs +38 -0
- package/esm2022/components/sheet/directives/sheet-stop/sheet-stop.directive.mjs +37 -0
- package/esm2022/components/sheet/directives/sheet-top/sheet-top.directive.mjs +51 -0
- package/esm2022/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.mjs +76 -0
- package/esm2022/components/sheet/index.mjs +15 -0
- package/esm2022/components/sheet/sheet-options.mjs +21 -0
- package/esm2022/components/sheet/sheet-tokens.mjs +14 -0
- package/esm2022/components/sheet/sheet.directive.mjs +38 -0
- package/esm2022/components/sheet/sheet.mjs +2 -0
- package/esm2022/components/sheet/sheet.module.mjs +74 -0
- package/esm2022/components/sheet/sheet.service.mjs +51 -0
- package/esm2022/components/sheet/taiga-ui-legacy-components-sheet.mjs +5 -0
- package/esm2022/components/svg/content-processor.mjs +38 -0
- package/esm2022/components/svg/deprecated-icons.mjs +59 -0
- package/esm2022/components/svg/index.mjs +6 -0
- package/esm2022/components/svg/svg-options.mjs +60 -0
- package/esm2022/components/svg/svg.component.mjs +147 -0
- package/esm2022/components/svg/svg.service.mjs +64 -0
- package/esm2022/components/svg/taiga-ui-legacy-components-svg.mjs +5 -0
- package/esm2022/components/table-bar/index.mjs +6 -0
- package/esm2022/components/table-bar/table-bar.component.mjs +33 -0
- package/esm2022/components/table-bar/table-bar.directive.mjs +21 -0
- package/esm2022/components/table-bar/table-bar.options.mjs +16 -0
- package/esm2022/components/table-bar/table-bars-host.component.mjs +35 -0
- package/esm2022/components/table-bar/table-bars.service.mjs +21 -0
- package/esm2022/components/table-bar/taiga-ui-legacy-components-table-bar.mjs +5 -0
- package/esm2022/components/tag/index.mjs +4 -0
- package/esm2022/components/tag/tag.component.mjs +171 -0
- package/esm2022/components/tag/tag.module.mjs +38 -0
- package/esm2022/components/tag/tag.options.mjs +15 -0
- package/esm2022/components/tag/taiga-ui-legacy-components-tag.mjs +5 -0
- package/esm2022/components/taiga-ui-legacy-components.mjs +5 -0
- package/esm2022/components/textarea/index.mjs +4 -0
- package/esm2022/components/textarea/taiga-ui-legacy-components-textarea.mjs +5 -0
- package/esm2022/components/textarea/textarea.component.mjs +189 -0
- package/esm2022/components/textarea/textarea.directive.mjs +20 -0
- package/esm2022/components/textarea/textarea.module.mjs +64 -0
- package/esm2022/components/tooltip/index.mjs +3 -0
- package/esm2022/components/tooltip/taiga-ui-legacy-components-tooltip.mjs +5 -0
- package/esm2022/components/tooltip/tooltip.component.mjs +47 -0
- package/esm2022/components/tooltip/tooltip.module.mjs +24 -0
- package/esm2022/directives/index.mjs +6 -0
- package/esm2022/directives/legacy-dropdown-open-monitor/index.mjs +2 -0
- package/esm2022/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.mjs +40 -0
- package/esm2022/directives/legacy-dropdown-open-monitor/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +5 -0
- package/esm2022/directives/taiga-ui-legacy-directives.mjs +5 -0
- package/esm2022/directives/textfield-controller/index.mjs +15 -0
- package/esm2022/directives/textfield-controller/taiga-ui-legacy-directives-textfield-controller.mjs +5 -0
- package/esm2022/directives/textfield-controller/textfield-appearance.directive.mjs +32 -0
- package/esm2022/directives/textfield-controller/textfield-cleaner.directive.mjs +25 -0
- package/esm2022/directives/textfield-controller/textfield-controller.module.mjs +72 -0
- package/esm2022/directives/textfield-controller/textfield-controller.provider.mjs +44 -0
- package/esm2022/directives/textfield-controller/textfield-custom-content.directive.mjs +25 -0
- package/esm2022/directives/textfield-controller/textfield-filler.directive.mjs +25 -0
- package/esm2022/directives/textfield-controller/textfield-icon-left.directive.mjs +21 -0
- package/esm2022/directives/textfield-controller/textfield-icon.directive.mjs +21 -0
- package/esm2022/directives/textfield-controller/textfield-label-outside.directive.mjs +29 -0
- package/esm2022/directives/textfield-controller/textfield-postfix.directive.mjs +25 -0
- package/esm2022/directives/textfield-controller/textfield-prefix.directive.mjs +25 -0
- package/esm2022/directives/textfield-controller/textfield-size.directive.mjs +25 -0
- package/esm2022/directives/textfield-controller/textfield.controller.mjs +48 -0
- package/esm2022/directives/textfield-controller/textfield.options.mjs +14 -0
- package/esm2022/directives/unfinished-validator/index.mjs +3 -0
- package/esm2022/directives/unfinished-validator/taiga-ui-legacy-directives-unfinished-validator.mjs +5 -0
- package/esm2022/directives/unfinished-validator/unfinished-validator.directive.mjs +25 -0
- package/esm2022/directives/unfinished-validator/unfinished.validator.mjs +15 -0
- package/esm2022/directives/value-accessor/index.mjs +4 -0
- package/esm2022/directives/value-accessor/taiga-ui-legacy-directives-value-accessor.mjs +5 -0
- package/esm2022/directives/value-accessor/value-accessor.directive.mjs +16 -0
- package/esm2022/directives/value-accessor/value-accessor.module.mjs +17 -0
- package/esm2022/directives/value-accessor/value-accessor.provider.mjs +10 -0
- package/esm2022/directives/wrapper/index.mjs +3 -0
- package/esm2022/directives/wrapper/taiga-ui-legacy-directives-wrapper.mjs +5 -0
- package/esm2022/directives/wrapper/wrapper.directive.mjs +85 -0
- package/esm2022/directives/wrapper/wrapper.module.mjs +20 -0
- package/esm2022/index.mjs +7 -0
- package/esm2022/pipes/format-phone/format-phone.pipe.mjs +50 -0
- package/esm2022/pipes/format-phone/index.mjs +2 -0
- package/esm2022/pipes/format-phone/taiga-ui-legacy-pipes-format-phone.mjs +5 -0
- package/esm2022/pipes/index.mjs +4 -0
- package/esm2022/pipes/iso-to-country-code/index.mjs +2 -0
- package/esm2022/pipes/iso-to-country-code/iso-to-country-code.pipe.mjs +43 -0
- package/esm2022/pipes/iso-to-country-code/taiga-ui-legacy-pipes-iso-to-country-code.mjs +5 -0
- package/esm2022/pipes/taiga-ui-legacy-pipes.mjs +5 -0
- package/esm2022/pipes/to-country-code/index.mjs +2 -0
- package/esm2022/pipes/to-country-code/taiga-ui-legacy-pipes-to-country-code.mjs +5 -0
- package/esm2022/pipes/to-country-code/to-country-code.pipe.mjs +73 -0
- package/esm2022/taiga-ui-legacy.mjs +5 -0
- package/esm2022/tokens/countries-masks.mjs +254 -0
- package/esm2022/tokens/focusable-item-accessor.mjs +14 -0
- package/esm2022/tokens/fonts-ready.mjs +7 -0
- package/esm2022/tokens/icons.mjs +7 -0
- package/esm2022/tokens/index.mjs +15 -0
- package/esm2022/tokens/is-apple.mjs +9 -0
- package/esm2022/tokens/is-chromium.mjs +8 -0
- package/esm2022/tokens/is-firefox.mjs +9 -0
- package/esm2022/tokens/is-stackblitz.mjs +5 -0
- package/esm2022/tokens/month-formatter.mjs +17 -0
- package/esm2022/tokens/sanitizer.mjs +6 -0
- package/esm2022/tokens/taiga-ui-legacy-tokens.mjs +5 -0
- package/esm2022/tokens/textfield-appearance.mjs +7 -0
- package/esm2022/tokens/textfield-host.mjs +10 -0
- package/esm2022/tokens/touch-supported.mjs +5 -0
- package/esm2022/tokens/value-accessor.mjs +7 -0
- package/esm2022/utils/date-mode-maskito-adapter.mjs +6 -0
- package/esm2022/utils/format-phone.mjs +59 -0
- package/esm2022/utils/get-border.mjs +20 -0
- package/esm2022/utils/get-max-allowed-phone-length.mjs +25 -0
- package/esm2022/utils/get-safe-area-size.mjs +17 -0
- package/esm2022/utils/icons-path-factory.mjs +14 -0
- package/esm2022/utils/index.mjs +14 -0
- package/esm2022/utils/is-apple.mjs +6 -0
- package/esm2022/utils/is-presumed-html-string.mjs +6 -0
- package/esm2022/utils/iso-to-country-code.mjs +15 -0
- package/esm2022/utils/not-kz-region.mjs +23 -0
- package/esm2022/utils/process-icon.mjs +32 -0
- package/esm2022/utils/specific-dropdown-controllers.mjs +6 -0
- package/esm2022/utils/status.mjs +2 -0
- package/esm2022/utils/taiga-ui-legacy-utils.mjs +5 -0
- package/fesm2022/taiga-ui-legacy-classes.mjs +377 -0
- package/fesm2022/taiga-ui-legacy-classes.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-arrow.mjs +73 -0
- package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +280 -0
- package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +177 -0
- package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +277 -0
- package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +334 -0
- package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +438 -0
- package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-date.mjs +358 -0
- package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +209 -0
- package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-month.mjs +219 -0
- package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-number.mjs +344 -0
- package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-password.mjs +167 -0
- package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +204 -0
- package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +355 -0
- package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-range.mjs +253 -0
- package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +192 -0
- package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +488 -0
- package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-time.mjs +447 -0
- package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input-year.mjs +176 -0
- package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-input.mjs +132 -0
- package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-island.mjs +80 -0
- package/fesm2022/taiga-ui-legacy-components-island.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +47 -0
- package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +628 -0
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +443 -0
- package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-select-option.mjs +88 -0
- package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-select.mjs +323 -0
- package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-sheet.mjs +561 -0
- package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-svg.mjs +356 -0
- package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +115 -0
- package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-tag.mjs +225 -0
- package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-textarea.mjs +267 -0
- package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +71 -0
- package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-components.mjs +36 -0
- package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +46 -0
- package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +365 -0
- package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +44 -0
- package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +43 -0
- package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs +107 -0
- package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-directives.mjs +10 -0
- package/fesm2022/taiga-ui-legacy-directives.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +56 -0
- package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +49 -0
- package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +79 -0
- package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-pipes.mjs +8 -0
- package/fesm2022/taiga-ui-legacy-pipes.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-tokens.mjs +348 -0
- package/fesm2022/taiga-ui-legacy-tokens.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy-utils.mjs +235 -0
- package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -0
- package/fesm2022/taiga-ui-legacy.mjs +11 -0
- package/fesm2022/taiga-ui-legacy.mjs.map +1 -0
- package/index.d.ts +6 -0
- package/package.json +303 -0
- package/pipes/format-phone/format-phone.pipe.d.ts +34 -0
- package/pipes/format-phone/index.d.ts +1 -0
- package/pipes/index.d.ts +3 -0
- package/pipes/iso-to-country-code/index.d.ts +1 -0
- package/pipes/iso-to-country-code/iso-to-country-code.pipe.d.ts +29 -0
- package/pipes/to-country-code/index.d.ts +1 -0
- package/pipes/to-country-code/to-country-code.pipe.d.ts +37 -0
- package/styles/mixins/mixins.less +252 -0
- package/styles/mixins/mixins.scss +230 -0
- package/styles/mixins/textfield.less +315 -0
- package/styles/mixins/textfield.scss +306 -0
- package/styles/mixins/wrapper.less +65 -0
- package/styles/mixins/wrapper.scss +59 -0
- package/styles/taiga-ui-local.less +4 -0
- package/styles/taiga-ui-local.scss +4 -0
- package/styles/taiga-ui-theme.less +15 -0
- package/styles/wrapper/accent.less +28 -0
- package/styles/wrapper/base.less +44 -0
- package/styles/wrapper/floating.less +19 -0
- package/styles/wrapper/glass.less +31 -0
- package/styles/wrapper/icon.less +53 -0
- package/styles/wrapper/mono.less +23 -0
- package/styles/wrapper/none.less +5 -0
- package/styles/wrapper/opposite.less +33 -0
- package/styles/wrapper/outline.less +52 -0
- package/styles/wrapper/primary.less +32 -0
- package/styles/wrapper/secondary-destructive.less +16 -0
- package/styles/wrapper/secondary.less +47 -0
- package/styles/wrapper/table.less +82 -0
- package/styles/wrapper/textfield.less +80 -0
- package/styles/wrapper/whiteblock.less +47 -0
- package/tokens/countries-masks.d.ts +7 -0
- package/tokens/focusable-item-accessor.d.ts +22 -0
- package/tokens/fonts-ready.d.ts +3 -0
- package/tokens/icons.d.ts +5 -0
- package/tokens/index.d.ts +14 -0
- package/tokens/is-apple.d.ts +4 -0
- package/tokens/is-chromium.d.ts +4 -0
- package/tokens/is-firefox.d.ts +4 -0
- package/tokens/is-stackblitz.d.ts +1 -0
- package/tokens/month-formatter.d.ts +10 -0
- package/tokens/sanitizer.d.ts +6 -0
- package/tokens/textfield-appearance.d.ts +5 -0
- package/tokens/textfield-host.d.ts +17 -0
- package/tokens/touch-supported.d.ts +1 -0
- package/tokens/value-accessor.d.ts +7 -0
- package/utils/date-mode-maskito-adapter.d.ts +3 -0
- package/utils/format-phone.d.ts +29 -0
- package/utils/get-border.d.ts +2 -0
- package/utils/get-max-allowed-phone-length.d.ts +23 -0
- package/utils/get-safe-area-size.d.ts +6 -0
- package/utils/icons-path-factory.d.ts +4 -0
- package/utils/index.d.ts +13 -0
- package/utils/is-apple.d.ts +1 -0
- package/utils/is-presumed-html-string.d.ts +1 -0
- package/utils/iso-to-country-code.d.ts +12 -0
- package/utils/not-kz-region.d.ts +19 -0
- package/utils/process-icon.d.ts +1 -0
- package/utils/specific-dropdown-controllers.d.ts +1 -0
- package/utils/status.d.ts +1 -0
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import { __decorate } from 'tslib';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { inject, ElementRef, Component, ChangeDetectionStrategy, ViewChildren, ViewChild, Input, NgModule } from '@angular/core';
|
|
4
|
+
import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
|
|
5
|
+
import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
|
|
6
|
+
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
|
|
7
|
+
import { tuiIsNativeFocusedIn, tuiIsNativeFocused } from '@taiga-ui/cdk/utils/focus';
|
|
8
|
+
import { tuiRound, tuiClamp } from '@taiga-ui/cdk/utils/math';
|
|
9
|
+
import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
10
|
+
import { tuiGetFractionPartPadded } from '@taiga-ui/core/utils/format';
|
|
11
|
+
import * as i6 from '@taiga-ui/kit/components/range';
|
|
12
|
+
import { TuiRange } from '@taiga-ui/kit/components/range';
|
|
13
|
+
import { TUI_FLOATING_PRECISION, tuiSliderOptionsProvider } from '@taiga-ui/kit/components/slider';
|
|
14
|
+
import { AbstractTuiControl, tuiAsControl } from '@taiga-ui/legacy/classes';
|
|
15
|
+
import * as i5 from '@taiga-ui/legacy/components/input-number';
|
|
16
|
+
import { TuiInputNumberComponent, TuiInputNumberModule } from '@taiga-ui/legacy/components/input-number';
|
|
17
|
+
import * as i7 from '@taiga-ui/legacy/directives';
|
|
18
|
+
import { TUI_TEXTFIELD_WATCHED_CONTROLLER, TEXTFIELD_CONTROLLER_PROVIDER, TuiWrapperModule, TuiTextfieldControllerModule } from '@taiga-ui/legacy/directives';
|
|
19
|
+
import { tuiAsFocusableItemAccessor } from '@taiga-ui/legacy/tokens';
|
|
20
|
+
import * as i1 from '@angular/common';
|
|
21
|
+
import { CommonModule } from '@angular/common';
|
|
22
|
+
import * as i2 from '@angular/forms';
|
|
23
|
+
import { FormsModule } from '@angular/forms';
|
|
24
|
+
import * as i3 from '@taiga-ui/polymorpheus';
|
|
25
|
+
import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
|
|
26
|
+
import * as i4 from '@taiga-ui/cdk/directives/active-zone';
|
|
27
|
+
import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
|
|
28
|
+
import * as i8 from '@taiga-ui/core/directives/number-format';
|
|
29
|
+
import { TuiNumberFormat } from '@taiga-ui/core/directives/number-format';
|
|
30
|
+
|
|
31
|
+
class TuiInputRangeComponent extends AbstractTuiControl {
|
|
32
|
+
constructor() {
|
|
33
|
+
super(...arguments);
|
|
34
|
+
this.inputNumberRefs = EMPTY_QUERY;
|
|
35
|
+
this.isMobile = inject(TUI_IS_MOBILE);
|
|
36
|
+
this.el = tuiInjectElement();
|
|
37
|
+
this.leftTextfieldValue = this.safeCurrentValue[0];
|
|
38
|
+
this.rightTextfieldValue = this.safeCurrentValue[1];
|
|
39
|
+
this.lastActiveSide = 'left';
|
|
40
|
+
this.controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);
|
|
41
|
+
this.min = 0;
|
|
42
|
+
this.max = 100;
|
|
43
|
+
this.quantum = 1;
|
|
44
|
+
this.steps = 0;
|
|
45
|
+
this.segments = 1;
|
|
46
|
+
this.keySteps = null;
|
|
47
|
+
this.pluralize = null;
|
|
48
|
+
}
|
|
49
|
+
get nativeFocusableElement() {
|
|
50
|
+
return this.disabled
|
|
51
|
+
? null
|
|
52
|
+
: this.leftFocusableElement || this.rightFocusableElement;
|
|
53
|
+
}
|
|
54
|
+
get focused() {
|
|
55
|
+
return tuiIsNativeFocusedIn(this.el);
|
|
56
|
+
}
|
|
57
|
+
writeValue(value) {
|
|
58
|
+
super.writeValue(value);
|
|
59
|
+
this.updateTextfieldValues(this.value);
|
|
60
|
+
}
|
|
61
|
+
get leftFocusableElement() {
|
|
62
|
+
return this.inputNumberRefs.first?.nativeFocusableElement || null;
|
|
63
|
+
}
|
|
64
|
+
get rightFocusableElement() {
|
|
65
|
+
return this.inputNumberRefs.last?.nativeFocusableElement || null;
|
|
66
|
+
}
|
|
67
|
+
get appearance() {
|
|
68
|
+
return this.controller.appearance;
|
|
69
|
+
}
|
|
70
|
+
get showLeftValueContent() {
|
|
71
|
+
return Boolean(this.leftValueContent &&
|
|
72
|
+
!tuiIsNativeFocused(this.leftFocusableElement) &&
|
|
73
|
+
!(tuiIsNativeFocusedIn(this.range?.nativeElement) &&
|
|
74
|
+
this.lastActiveSide === 'left'));
|
|
75
|
+
}
|
|
76
|
+
get showRightValueContent() {
|
|
77
|
+
return Boolean(this.rightValueContent &&
|
|
78
|
+
!tuiIsNativeFocused(this.rightFocusableElement) &&
|
|
79
|
+
!(tuiIsNativeFocusedIn(this.range?.nativeElement) &&
|
|
80
|
+
this.lastActiveSide === 'right'));
|
|
81
|
+
}
|
|
82
|
+
get precision() {
|
|
83
|
+
return tuiGetFractionPartPadded(this.quantum).length;
|
|
84
|
+
}
|
|
85
|
+
get computedSteps() {
|
|
86
|
+
return this.steps || (this.max - this.min) / this.quantum;
|
|
87
|
+
}
|
|
88
|
+
get step() {
|
|
89
|
+
return (this.max - this.min) / this.computedSteps;
|
|
90
|
+
}
|
|
91
|
+
computeKeySteps(keySteps, min, max) {
|
|
92
|
+
return (keySteps || [
|
|
93
|
+
[0, min],
|
|
94
|
+
[100, max],
|
|
95
|
+
]);
|
|
96
|
+
}
|
|
97
|
+
onActiveZone(active) {
|
|
98
|
+
this.updateFocused(active);
|
|
99
|
+
}
|
|
100
|
+
onTextInputFocused(focused) {
|
|
101
|
+
if (!focused) {
|
|
102
|
+
this.updateTextfieldValues(this.value);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
changeByStep(event, [leftCoefficient, rightCoefficient]) {
|
|
106
|
+
if (this.readOnly) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
event.preventDefault();
|
|
110
|
+
const newValue = this.valueGuard([
|
|
111
|
+
this.value[0] + leftCoefficient * this.step,
|
|
112
|
+
this.value[1] + rightCoefficient * this.step,
|
|
113
|
+
]);
|
|
114
|
+
if (newValue[0] !== this.value[0] || newValue[1] !== this.value[1]) {
|
|
115
|
+
this.onExternalValueUpdate(newValue);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
onInputLeft(value) {
|
|
119
|
+
this.safelyUpdateValue([value ?? this.safeCurrentValue[0], this.value[1]]);
|
|
120
|
+
}
|
|
121
|
+
onInputRight(value) {
|
|
122
|
+
this.safelyUpdateValue([this.value[0], value ?? this.safeCurrentValue[1]]);
|
|
123
|
+
}
|
|
124
|
+
onExternalValueUpdate(value) {
|
|
125
|
+
this.safelyUpdateValue(value);
|
|
126
|
+
this.updateTextfieldValues(this.value);
|
|
127
|
+
}
|
|
128
|
+
focusToTextInput() {
|
|
129
|
+
const element = this.lastActiveSide === 'left'
|
|
130
|
+
? this.leftFocusableElement
|
|
131
|
+
: this.rightFocusableElement;
|
|
132
|
+
if (!this.isMobile && element) {
|
|
133
|
+
element.focus();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
onActiveThumbChange(activeThumb) {
|
|
137
|
+
this.lastActiveSide = activeThumb;
|
|
138
|
+
}
|
|
139
|
+
getFallbackValue() {
|
|
140
|
+
return [0, 0];
|
|
141
|
+
}
|
|
142
|
+
safelyUpdateValue(value) {
|
|
143
|
+
this.value = this.valueGuard(value);
|
|
144
|
+
}
|
|
145
|
+
valueGuard([leftValue, rightValue]) {
|
|
146
|
+
const leftCalibratedValue = this.calibrate(leftValue);
|
|
147
|
+
const rightCalibratedValue = this.calibrate(rightValue);
|
|
148
|
+
return [
|
|
149
|
+
Math.min(leftCalibratedValue, this.value[1]),
|
|
150
|
+
Math.max(rightCalibratedValue, this.value[0]),
|
|
151
|
+
];
|
|
152
|
+
}
|
|
153
|
+
calibrate(value) {
|
|
154
|
+
const roundedValue = tuiRound(Math.round(value / this.quantum) * this.quantum, TUI_FLOATING_PRECISION);
|
|
155
|
+
return tuiClamp(roundedValue, this.min, this.max);
|
|
156
|
+
}
|
|
157
|
+
updateTextfieldValues([leftValue, rightValue]) {
|
|
158
|
+
this.leftTextfieldValue = leftValue;
|
|
159
|
+
this.rightTextfieldValue = rightValue;
|
|
160
|
+
}
|
|
161
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
162
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputRangeComponent, selector: "tui-input-range", inputs: { min: "min", max: "max", quantum: "quantum", steps: "steps", segments: "segments", keySteps: "keySteps", leftValueContent: "leftValueContent", rightValueContent: "rightValueContent", pluralize: "pluralize" }, host: { properties: { "attr.data-size": "controller.size", "class._label-outside": "controller.labelOutside" } }, providers: [
|
|
163
|
+
tuiAsFocusableItemAccessor(TuiInputRangeComponent),
|
|
164
|
+
tuiAsControl(TuiInputRangeComponent),
|
|
165
|
+
tuiSliderOptionsProvider({ trackColor: 'transparent' }),
|
|
166
|
+
TEXTFIELD_CONTROLLER_PROVIDER,
|
|
167
|
+
], viewQueries: [{ propertyName: "range", first: true, predicate: TuiRange, descendants: true, read: ElementRef }, { propertyName: "inputNumberRefs", predicate: TuiInputNumberComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n automation-id=\"tui-input-range__left-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-left\"\n [disabled]=\"computedDisabled\"\n [max]=\"value[1]\"\n [min]=\"min\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[0] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"leftTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (ngModelChange)=\"onInputLeft($event)\"\n >\n <ng-content />\n <div\n *ngIf=\"showLeftValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"leftValueContent as text; context: {$implicit: value[0]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-input-number\n automation-id=\"tui-input-range__right-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-right\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"value[0]\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[1] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"rightTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (ngModelChange)=\"onInputRight($event)\"\n >\n <div\n *ngIf=\"showRightValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"rightValueContent as text; context: {$implicit: value[1]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-range\n class=\"t-range\"\n [disabled]=\"readOnly || disabled\"\n [focusable]=\"false\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (mousedown.prevent)=\"focusToTextInput()\"\n (ngModelChange)=\"onExternalValueUpdate($event)\"\n />\n</div>\n", styles: [".t-wrapper{position:relative}.t-left{width:100%}.t-right{position:absolute;right:0;top:0;display:flex;width:50%;height:100%;text-align:right}:host{display:block;border-radius:var(--tui-radius-m)}.t-range{position:absolute;top:100%;left:0;right:0;z-index:1;margin:-.125rem 0 0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i4.TuiActiveZone, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { kind: "component", type: i5.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "step"] }, { kind: "directive", type: i5.TuiInputNumberDirective, selector: "tui-input-number" }, { kind: "component", type: i6.TuiRange, selector: "tui-range", inputs: ["min", "max", "step", "size", "segments", "keySteps", "focusable"] }, { kind: "directive", type: i7.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { kind: "directive", type: i7.TuiTextfieldAppearanceDirective, selector: "[tuiTextfieldAppearance]", inputs: ["tuiTextfieldAppearance"] }, { kind: "directive", type: i7.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { kind: "directive", type: i8.TuiNumberFormat, selector: "[tuiNumberFormat]", inputs: ["tuiNumberFormat"] }, { kind: "pipe", type: i1.I18nPluralPipe, name: "i18nPlural" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
168
|
+
}
|
|
169
|
+
__decorate([
|
|
170
|
+
tuiPure
|
|
171
|
+
], TuiInputRangeComponent.prototype, "computeKeySteps", null);
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputRangeComponent, decorators: [{
|
|
173
|
+
type: Component,
|
|
174
|
+
args: [{ selector: 'tui-input-range', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
175
|
+
tuiAsFocusableItemAccessor(TuiInputRangeComponent),
|
|
176
|
+
tuiAsControl(TuiInputRangeComponent),
|
|
177
|
+
tuiSliderOptionsProvider({ trackColor: 'transparent' }),
|
|
178
|
+
TEXTFIELD_CONTROLLER_PROVIDER,
|
|
179
|
+
], host: {
|
|
180
|
+
'[attr.data-size]': 'controller.size',
|
|
181
|
+
'[class._label-outside]': 'controller.labelOutside',
|
|
182
|
+
}, template: "<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n automation-id=\"tui-input-range__left-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-left\"\n [disabled]=\"computedDisabled\"\n [max]=\"value[1]\"\n [min]=\"min\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[0] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"leftTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (ngModelChange)=\"onInputLeft($event)\"\n >\n <ng-content />\n <div\n *ngIf=\"showLeftValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"leftValueContent as text; context: {$implicit: value[0]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-input-number\n automation-id=\"tui-input-range__right-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-right\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"value[0]\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[1] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"rightTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (ngModelChange)=\"onInputRight($event)\"\n >\n <div\n *ngIf=\"showRightValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"rightValueContent as text; context: {$implicit: value[1]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-range\n class=\"t-range\"\n [disabled]=\"readOnly || disabled\"\n [focusable]=\"false\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (mousedown.prevent)=\"focusToTextInput()\"\n (ngModelChange)=\"onExternalValueUpdate($event)\"\n />\n</div>\n", styles: [".t-wrapper{position:relative}.t-left{width:100%}.t-right{position:absolute;right:0;top:0;display:flex;width:50%;height:100%;text-align:right}:host{display:block;border-radius:var(--tui-radius-m)}.t-range{position:absolute;top:100%;left:0;right:0;z-index:1;margin:-.125rem 0 0}\n"] }]
|
|
183
|
+
}], propDecorators: { inputNumberRefs: [{
|
|
184
|
+
type: ViewChildren,
|
|
185
|
+
args: [TuiInputNumberComponent]
|
|
186
|
+
}], range: [{
|
|
187
|
+
type: ViewChild,
|
|
188
|
+
args: [TuiRange, { read: ElementRef }]
|
|
189
|
+
}], min: [{
|
|
190
|
+
type: Input
|
|
191
|
+
}], max: [{
|
|
192
|
+
type: Input
|
|
193
|
+
}], quantum: [{
|
|
194
|
+
type: Input
|
|
195
|
+
}], steps: [{
|
|
196
|
+
type: Input
|
|
197
|
+
}], segments: [{
|
|
198
|
+
type: Input
|
|
199
|
+
}], keySteps: [{
|
|
200
|
+
type: Input
|
|
201
|
+
}], leftValueContent: [{
|
|
202
|
+
type: Input
|
|
203
|
+
}], rightValueContent: [{
|
|
204
|
+
type: Input
|
|
205
|
+
}], pluralize: [{
|
|
206
|
+
type: Input
|
|
207
|
+
}], computeKeySteps: [] } });
|
|
208
|
+
|
|
209
|
+
class TuiInputRangeModule {
|
|
210
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
211
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiInputRangeModule, declarations: [TuiInputRangeComponent], imports: [CommonModule,
|
|
212
|
+
FormsModule,
|
|
213
|
+
PolymorpheusOutlet,
|
|
214
|
+
PolymorpheusTemplate,
|
|
215
|
+
TuiActiveZone,
|
|
216
|
+
TuiInputNumberModule,
|
|
217
|
+
TuiRange,
|
|
218
|
+
TuiWrapperModule,
|
|
219
|
+
TuiTextfieldControllerModule,
|
|
220
|
+
TuiNumberFormat], exports: [TuiInputRangeComponent] }); }
|
|
221
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputRangeModule, imports: [CommonModule,
|
|
222
|
+
FormsModule,
|
|
223
|
+
TuiInputNumberModule,
|
|
224
|
+
TuiRange,
|
|
225
|
+
TuiWrapperModule,
|
|
226
|
+
TuiTextfieldControllerModule] }); }
|
|
227
|
+
}
|
|
228
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputRangeModule, decorators: [{
|
|
229
|
+
type: NgModule,
|
|
230
|
+
args: [{
|
|
231
|
+
imports: [
|
|
232
|
+
CommonModule,
|
|
233
|
+
FormsModule,
|
|
234
|
+
PolymorpheusOutlet,
|
|
235
|
+
PolymorpheusTemplate,
|
|
236
|
+
TuiActiveZone,
|
|
237
|
+
TuiInputNumberModule,
|
|
238
|
+
TuiRange,
|
|
239
|
+
TuiWrapperModule,
|
|
240
|
+
TuiTextfieldControllerModule,
|
|
241
|
+
TuiNumberFormat,
|
|
242
|
+
],
|
|
243
|
+
declarations: [TuiInputRangeComponent],
|
|
244
|
+
exports: [TuiInputRangeComponent],
|
|
245
|
+
}]
|
|
246
|
+
}] });
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Generated bundle index. Do not edit.
|
|
250
|
+
*/
|
|
251
|
+
|
|
252
|
+
export { TuiInputRangeComponent, TuiInputRangeModule };
|
|
253
|
+
//# sourceMappingURL=taiga-ui-legacy-components-input-range.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components-input-range.mjs","sources":["../../../projects/legacy/components/input-range/input-range.component.ts","../../../projects/legacy/components/input-range/input-range.template.html","../../../projects/legacy/components/input-range/input-range.module.ts","../../../projects/legacy/components/input-range/taiga-ui-legacy-components-input-range.ts"],"sourcesContent":["import type {QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n Input,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocused, tuiIsNativeFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiClamp, tuiRound} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiGetFractionPartPadded} from '@taiga-ui/core/utils/format';\nimport {TuiRange} from '@taiga-ui/kit/components/range';\nimport type {TuiKeySteps} from '@taiga-ui/kit/components/slider';\nimport {\n TUI_FLOATING_PRECISION,\n tuiSliderOptionsProvider,\n} from '@taiga-ui/kit/components/slider';\nimport {AbstractTuiControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiInputNumberComponent} from '@taiga-ui/legacy/components/input-number';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport type {\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/legacy/tokens';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n@Component({\n selector: 'tui-input-range',\n templateUrl: './input-range.template.html',\n styleUrls: ['./input-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputRangeComponent),\n tuiAsControl(TuiInputRangeComponent),\n tuiSliderOptionsProvider({trackColor: 'transparent'}),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'controller.size',\n '[class._label-outside]': 'controller.labelOutside',\n },\n})\nexport class TuiInputRangeComponent\n extends AbstractTuiControl<[number, number]>\n implements TuiFocusableElementAccessor\n{\n @ViewChildren(TuiInputNumberComponent)\n private readonly inputNumberRefs: QueryList<TuiInputNumberComponent> = EMPTY_QUERY;\n\n @ViewChild(TuiRange, {read: ElementRef})\n private readonly range?: ElementRef<HTMLElement>;\n\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly el = tuiInjectElement();\n\n protected leftTextfieldValue = this.safeCurrentValue[0];\n protected rightTextfieldValue = this.safeCurrentValue[1];\n protected lastActiveSide: 'left' | 'right' = 'left';\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n\n @Input()\n public min = 0;\n\n @Input()\n public max = 100;\n\n @Input()\n public quantum = 1;\n\n @Input()\n public steps = 0;\n\n @Input()\n public segments = 1;\n\n @Input()\n public keySteps: TuiKeySteps | null = null;\n\n @Input()\n public leftValueContent: PolymorpheusContent<TuiContext<number>>;\n\n @Input()\n public rightValueContent: PolymorpheusContent<TuiContext<number>>;\n\n @Input()\n public pluralize: Record<string, string> | null = null;\n\n public get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.disabled\n ? null\n : this.leftFocusableElement || this.rightFocusableElement;\n }\n\n public get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el);\n }\n\n public override writeValue(value: [number, number]): void {\n super.writeValue(value);\n this.updateTextfieldValues(this.value);\n }\n\n protected get leftFocusableElement(): HTMLInputElement | null {\n return this.inputNumberRefs.first?.nativeFocusableElement || null;\n }\n\n protected get rightFocusableElement(): HTMLInputElement | null {\n return this.inputNumberRefs.last?.nativeFocusableElement || null;\n }\n\n protected get appearance(): string {\n return this.controller.appearance;\n }\n\n protected get showLeftValueContent(): boolean {\n return Boolean(\n this.leftValueContent &&\n !tuiIsNativeFocused(this.leftFocusableElement) &&\n !(\n tuiIsNativeFocusedIn(this.range?.nativeElement) &&\n this.lastActiveSide === 'left'\n ),\n );\n }\n\n protected get showRightValueContent(): boolean {\n return Boolean(\n this.rightValueContent &&\n !tuiIsNativeFocused(this.rightFocusableElement) &&\n !(\n tuiIsNativeFocusedIn(this.range?.nativeElement) &&\n this.lastActiveSide === 'right'\n ),\n );\n }\n\n protected get precision(): number {\n return tuiGetFractionPartPadded(this.quantum).length;\n }\n\n protected get computedSteps(): number {\n return this.steps || (this.max - this.min) / this.quantum;\n }\n\n protected get step(): number {\n return (this.max - this.min) / this.computedSteps;\n }\n\n @tuiPure\n protected computeKeySteps(\n keySteps: TuiKeySteps | null,\n min: number,\n max: number,\n ): TuiKeySteps {\n return (\n keySteps || [\n [0, min],\n [100, max],\n ]\n );\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected onTextInputFocused(focused: boolean): void {\n if (!focused) {\n this.updateTextfieldValues(this.value);\n }\n }\n\n protected changeByStep(\n event: Event | KeyboardEvent,\n [leftCoefficient, rightCoefficient]: [number, number],\n ): void {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n\n const newValue = this.valueGuard([\n this.value[0] + leftCoefficient * this.step,\n this.value[1] + rightCoefficient * this.step,\n ]);\n\n if (newValue[0] !== this.value[0] || newValue[1] !== this.value[1]) {\n this.onExternalValueUpdate(newValue);\n }\n }\n\n protected onInputLeft(value: number | null): void {\n this.safelyUpdateValue([value ?? this.safeCurrentValue[0], this.value[1]]);\n }\n\n protected onInputRight(value: number | null): void {\n this.safelyUpdateValue([this.value[0], value ?? this.safeCurrentValue[1]]);\n }\n\n protected onExternalValueUpdate(value: [number, number]): void {\n this.safelyUpdateValue(value);\n this.updateTextfieldValues(this.value);\n }\n\n protected focusToTextInput(): void {\n const element =\n this.lastActiveSide === 'left'\n ? this.leftFocusableElement\n : this.rightFocusableElement;\n\n if (!this.isMobile && element) {\n element.focus();\n }\n }\n\n protected onActiveThumbChange(activeThumb: 'left' | 'right'): void {\n this.lastActiveSide = activeThumb;\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n private safelyUpdateValue(value: [number, number]): void {\n this.value = this.valueGuard(value);\n }\n\n private valueGuard([leftValue, rightValue]: [number, number]): [number, number] {\n const leftCalibratedValue = this.calibrate(leftValue);\n const rightCalibratedValue = this.calibrate(rightValue);\n\n return [\n Math.min(leftCalibratedValue, this.value[1]),\n Math.max(rightCalibratedValue, this.value[0]),\n ];\n }\n\n private calibrate(value: number): number {\n const roundedValue = tuiRound(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n );\n\n return tuiClamp(roundedValue, this.min, this.max);\n }\n\n private updateTextfieldValues([leftValue, rightValue]: [number, number]): void {\n this.leftTextfieldValue = leftValue;\n this.rightTextfieldValue = rightValue;\n }\n}\n","<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n automation-id=\"tui-input-range__left-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-left\"\n [disabled]=\"computedDisabled\"\n [max]=\"value[1]\"\n [min]=\"min\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[0] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"leftTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (ngModelChange)=\"onInputLeft($event)\"\n >\n <ng-content />\n <div\n *ngIf=\"showLeftValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"leftValueContent as text; context: {$implicit: value[0]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-input-number\n automation-id=\"tui-input-range__right-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-right\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"value[0]\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[1] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"rightTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (ngModelChange)=\"onInputRight($event)\"\n >\n <div\n *ngIf=\"showRightValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"rightValueContent as text; context: {$implicit: value[1]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-range\n class=\"t-range\"\n [disabled]=\"readOnly || disabled\"\n [focusable]=\"false\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (mousedown.prevent)=\"focusToTextInput()\"\n (ngModelChange)=\"onExternalValueUpdate($event)\"\n />\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TuiNumberFormat} from '@taiga-ui/core/directives/number-format';\nimport {TuiRange} from '@taiga-ui/kit/components/range';\nimport {TuiInputNumberModule} from '@taiga-ui/legacy/components/input-number';\nimport {\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputRangeComponent} from './input-range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiActiveZone,\n TuiInputNumberModule,\n TuiRange,\n TuiWrapperModule,\n TuiTextfieldControllerModule,\n TuiNumberFormat,\n ],\n declarations: [TuiInputRangeComponent],\n exports: [TuiInputRangeComponent],\n})\nexport class TuiInputRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { __decorate } from 'tslib';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { inject, ElementRef, Component, ChangeDetectionStrategy, ViewChild, Input, NgModule } from '@angular/core';
|
|
4
|
+
import { tuiIsNativeFocused } from '@taiga-ui/cdk/utils/focus';
|
|
5
|
+
import { tuiRound, tuiClamp } from '@taiga-ui/cdk/utils/math';
|
|
6
|
+
import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
7
|
+
import { tuiGetFractionPartPadded } from '@taiga-ui/core/utils/format';
|
|
8
|
+
import * as i1$1 from '@taiga-ui/kit/components/slider';
|
|
9
|
+
import { TUI_FLOATING_PRECISION, tuiSliderOptionsProvider, TuiSliderComponent, TuiSlider } from '@taiga-ui/kit/components/slider';
|
|
10
|
+
import { AbstractTuiControl, tuiAsControl } from '@taiga-ui/legacy/classes';
|
|
11
|
+
import * as i4 from '@taiga-ui/legacy/components/input-number';
|
|
12
|
+
import { TuiInputNumberComponent, TuiInputNumberModule } from '@taiga-ui/legacy/components/input-number';
|
|
13
|
+
import * as i6 from '@taiga-ui/legacy/directives';
|
|
14
|
+
import { TUI_TEXTFIELD_WATCHED_CONTROLLER, TEXTFIELD_CONTROLLER_PROVIDER, TuiTextfieldControllerModule } from '@taiga-ui/legacy/directives';
|
|
15
|
+
import { tuiAsFocusableItemAccessor } from '@taiga-ui/legacy/tokens';
|
|
16
|
+
import * as i1 from '@angular/common';
|
|
17
|
+
import { CommonModule } from '@angular/common';
|
|
18
|
+
import * as i2 from '@angular/forms';
|
|
19
|
+
import { FormsModule } from '@angular/forms';
|
|
20
|
+
import * as i3 from '@taiga-ui/polymorpheus';
|
|
21
|
+
import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
|
|
22
|
+
import * as i5 from '@taiga-ui/core/directives/number-format';
|
|
23
|
+
import { TuiNumberFormat } from '@taiga-ui/core/directives/number-format';
|
|
24
|
+
|
|
25
|
+
class TuiInputSliderComponent extends AbstractTuiControl {
|
|
26
|
+
constructor() {
|
|
27
|
+
super(...arguments);
|
|
28
|
+
this.textfieldValue = this.safeCurrentValue;
|
|
29
|
+
this.controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);
|
|
30
|
+
this.min = 0;
|
|
31
|
+
this.max = 100;
|
|
32
|
+
this.quantum = 1;
|
|
33
|
+
this.steps = 0;
|
|
34
|
+
this.segments = 1;
|
|
35
|
+
this.keySteps = null;
|
|
36
|
+
}
|
|
37
|
+
get nativeFocusableElement() {
|
|
38
|
+
return !this.inputNumberRef?.nativeFocusableElement || this.computedDisabled
|
|
39
|
+
? null
|
|
40
|
+
: this.inputNumberRef.nativeFocusableElement;
|
|
41
|
+
}
|
|
42
|
+
get focused() {
|
|
43
|
+
return (tuiIsNativeFocused(this.nativeFocusableElement) ||
|
|
44
|
+
tuiIsNativeFocused(this.sliderRef?.nativeElement || null));
|
|
45
|
+
}
|
|
46
|
+
writeValue(value) {
|
|
47
|
+
super.writeValue(value);
|
|
48
|
+
this.textfieldValue = this.value;
|
|
49
|
+
}
|
|
50
|
+
get prefix() {
|
|
51
|
+
return this.controller.prefix;
|
|
52
|
+
}
|
|
53
|
+
get postfix() {
|
|
54
|
+
return this.controller.postfix;
|
|
55
|
+
}
|
|
56
|
+
get computedSteps() {
|
|
57
|
+
return this.steps || (this.max - this.min) / this.quantum;
|
|
58
|
+
}
|
|
59
|
+
get precision() {
|
|
60
|
+
return tuiGetFractionPartPadded(this.quantum).length;
|
|
61
|
+
}
|
|
62
|
+
get showValueContent() {
|
|
63
|
+
return Boolean(this.valueContent && !this.focused);
|
|
64
|
+
}
|
|
65
|
+
get step() {
|
|
66
|
+
return (this.max - this.min) / this.computedSteps;
|
|
67
|
+
}
|
|
68
|
+
computeKeySteps(keySteps, min, max) {
|
|
69
|
+
return (keySteps || [
|
|
70
|
+
[0, min],
|
|
71
|
+
[100, max],
|
|
72
|
+
]);
|
|
73
|
+
}
|
|
74
|
+
focusTextInput() {
|
|
75
|
+
const focusableElement = this.inputNumberRef?.nativeFocusableElement;
|
|
76
|
+
if (focusableElement) {
|
|
77
|
+
focusableElement.focus();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
safelyUpdateValue(value) {
|
|
81
|
+
this.value = this.valueGuard(value ?? this.safeCurrentValue);
|
|
82
|
+
}
|
|
83
|
+
onVerticalArrowKeyDown(coefficient) {
|
|
84
|
+
if (this.readOnly || !this.step) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const value = this.value + coefficient * this.step;
|
|
88
|
+
if (value !== this.value) {
|
|
89
|
+
this.safelyUpdateValue(value);
|
|
90
|
+
this.textfieldValue = this.value;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
onSliderChange(newValue) {
|
|
94
|
+
this.safelyUpdateValue(newValue);
|
|
95
|
+
this.textfieldValue = this.value;
|
|
96
|
+
}
|
|
97
|
+
onFocused(focused) {
|
|
98
|
+
const { value, textfieldValue } = this;
|
|
99
|
+
if (!focused && textfieldValue !== value) {
|
|
100
|
+
this.textfieldValue = value;
|
|
101
|
+
}
|
|
102
|
+
this.updateFocused(focused);
|
|
103
|
+
}
|
|
104
|
+
getFallbackValue() {
|
|
105
|
+
return 0;
|
|
106
|
+
}
|
|
107
|
+
valueGuard(value) {
|
|
108
|
+
const roundedValue = tuiRound(Math.round(value / this.quantum) * this.quantum, TUI_FLOATING_PRECISION);
|
|
109
|
+
return tuiClamp(roundedValue, this.min, this.max);
|
|
110
|
+
}
|
|
111
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputSliderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
112
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputSliderComponent, selector: "tui-input-slider", inputs: { min: "min", max: "max", quantum: "quantum", steps: "steps", segments: "segments", keySteps: "keySteps", valueContent: "valueContent" }, host: { properties: { "attr.data-size": "controller.size", "class._label-outside": "controller.labelOutside" } }, providers: [
|
|
113
|
+
tuiAsFocusableItemAccessor(TuiInputSliderComponent),
|
|
114
|
+
tuiAsControl(TuiInputSliderComponent),
|
|
115
|
+
tuiSliderOptionsProvider({ trackColor: 'transparent' }),
|
|
116
|
+
TEXTFIELD_CONTROLLER_PROVIDER,
|
|
117
|
+
], viewQueries: [{ propertyName: "inputNumberRef", first: true, predicate: TuiInputNumberComponent, descendants: true }, { propertyName: "sliderRef", first: true, predicate: TuiSliderComponent, descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<tui-input-number\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"min\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"postfix\"\n [tuiTextfieldPrefix]=\"prefix\"\n [(ngModel)]=\"textfieldValue\"\n (focusedChange)=\"onFocused($event)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n>\n <ng-content />\n <div\n *ngIf=\"showValueContent\"\n automation-id=\"tui-input-slider__value-content\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n</tui-input-number>\n\n<input\n tabIndex=\"-1\"\n tuiSlider\n type=\"range\"\n [disabled]=\"readOnly || computedDisabled\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"computedSteps\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n (click)=\"focusTextInput()\"\n (ngModelChange)=\"onSliderChange($event)\"\n/>\n", styles: [":host{position:relative;display:block;height:-webkit-max-content;height:max-content;isolation:isolate;border-radius:var(--tui-radius-m)}tui-input-number{border-radius:inherit}input[type=range]{position:absolute;top:100%;left:calc(var(--tui-radius-m) / 2);right:0;width:calc(100% - calc(var(--tui-radius-m) / 2));box-sizing:border-box;height:1rem;margin:-.5625rem 0 0;border-top-left-radius:0;border-bottom-left-radius:calc(var(--tui-radius-m) * 5) calc(var(--tui-radius-m) * 1.5)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i4.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "step"] }, { kind: "directive", type: i4.TuiInputNumberDirective, selector: "tui-input-number" }, { kind: "directive", type: i5.TuiNumberFormat, selector: "[tuiNumberFormat]", inputs: ["tuiNumberFormat"] }, { kind: "directive", type: i6.TuiTextfieldPrefixDirective, selector: "[tuiTextfieldPrefix]", inputs: ["tuiTextfieldPrefix"] }, { kind: "directive", type: i6.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { kind: "component", type: i1$1.TuiSliderComponent, selector: "input[type=range][tuiSlider]", inputs: ["size", "segments"] }, { kind: "directive", type: i1$1.TuiSliderKeySteps, selector: "input[tuiSlider][keySteps]", inputs: ["keySteps"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
118
|
+
}
|
|
119
|
+
__decorate([
|
|
120
|
+
tuiPure
|
|
121
|
+
], TuiInputSliderComponent.prototype, "computeKeySteps", null);
|
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputSliderComponent, decorators: [{
|
|
123
|
+
type: Component,
|
|
124
|
+
args: [{ selector: 'tui-input-slider', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
125
|
+
tuiAsFocusableItemAccessor(TuiInputSliderComponent),
|
|
126
|
+
tuiAsControl(TuiInputSliderComponent),
|
|
127
|
+
tuiSliderOptionsProvider({ trackColor: 'transparent' }),
|
|
128
|
+
TEXTFIELD_CONTROLLER_PROVIDER,
|
|
129
|
+
], host: {
|
|
130
|
+
'[attr.data-size]': 'controller.size',
|
|
131
|
+
'[class._label-outside]': 'controller.labelOutside',
|
|
132
|
+
}, template: "<tui-input-number\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"min\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"postfix\"\n [tuiTextfieldPrefix]=\"prefix\"\n [(ngModel)]=\"textfieldValue\"\n (focusedChange)=\"onFocused($event)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n>\n <ng-content />\n <div\n *ngIf=\"showValueContent\"\n automation-id=\"tui-input-slider__value-content\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n</tui-input-number>\n\n<input\n tabIndex=\"-1\"\n tuiSlider\n type=\"range\"\n [disabled]=\"readOnly || computedDisabled\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"computedSteps\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n (click)=\"focusTextInput()\"\n (ngModelChange)=\"onSliderChange($event)\"\n/>\n", styles: [":host{position:relative;display:block;height:-webkit-max-content;height:max-content;isolation:isolate;border-radius:var(--tui-radius-m)}tui-input-number{border-radius:inherit}input[type=range]{position:absolute;top:100%;left:calc(var(--tui-radius-m) / 2);right:0;width:calc(100% - calc(var(--tui-radius-m) / 2));box-sizing:border-box;height:1rem;margin:-.5625rem 0 0;border-top-left-radius:0;border-bottom-left-radius:calc(var(--tui-radius-m) * 5) calc(var(--tui-radius-m) * 1.5)}\n"] }]
|
|
133
|
+
}], propDecorators: { inputNumberRef: [{
|
|
134
|
+
type: ViewChild,
|
|
135
|
+
args: [TuiInputNumberComponent]
|
|
136
|
+
}], sliderRef: [{
|
|
137
|
+
type: ViewChild,
|
|
138
|
+
args: [TuiSliderComponent, { read: ElementRef }]
|
|
139
|
+
}], min: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}], max: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}], quantum: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}], steps: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}], segments: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], keySteps: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], valueContent: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}], computeKeySteps: [] } });
|
|
154
|
+
|
|
155
|
+
class TuiInputSliderModule {
|
|
156
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
157
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiInputSliderModule, declarations: [TuiInputSliderComponent], imports: [CommonModule,
|
|
158
|
+
FormsModule,
|
|
159
|
+
PolymorpheusOutlet,
|
|
160
|
+
PolymorpheusTemplate,
|
|
161
|
+
TuiInputNumberModule,
|
|
162
|
+
TuiNumberFormat,
|
|
163
|
+
TuiTextfieldControllerModule, i1$1.TuiSliderComponent, i1$1.TuiSliderThumbLabel, i1$1.TuiSliderKeySteps, i1$1.TuiSliderReadonly], exports: [TuiInputSliderComponent, i1$1.TuiSliderComponent, i1$1.TuiSliderThumbLabel, i1$1.TuiSliderKeySteps, i1$1.TuiSliderReadonly] }); }
|
|
164
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputSliderModule, imports: [CommonModule,
|
|
165
|
+
FormsModule,
|
|
166
|
+
TuiInputNumberModule,
|
|
167
|
+
TuiTextfieldControllerModule, i1$1.TuiSliderComponent, i1$1.TuiSliderThumbLabel] }); }
|
|
168
|
+
}
|
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputSliderModule, decorators: [{
|
|
170
|
+
type: NgModule,
|
|
171
|
+
args: [{
|
|
172
|
+
imports: [
|
|
173
|
+
CommonModule,
|
|
174
|
+
FormsModule,
|
|
175
|
+
PolymorpheusOutlet,
|
|
176
|
+
PolymorpheusTemplate,
|
|
177
|
+
TuiInputNumberModule,
|
|
178
|
+
TuiNumberFormat,
|
|
179
|
+
TuiTextfieldControllerModule,
|
|
180
|
+
...TuiSlider,
|
|
181
|
+
],
|
|
182
|
+
declarations: [TuiInputSliderComponent],
|
|
183
|
+
exports: [TuiInputSliderComponent, ...TuiSlider],
|
|
184
|
+
}]
|
|
185
|
+
}] });
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Generated bundle index. Do not edit.
|
|
189
|
+
*/
|
|
190
|
+
|
|
191
|
+
export { TuiInputSliderComponent, TuiInputSliderModule };
|
|
192
|
+
//# sourceMappingURL=taiga-ui-legacy-components-input-slider.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components-input-slider.mjs","sources":["../../../projects/legacy/components/input-slider/input-slider.component.ts","../../../projects/legacy/components/input-slider/input-slider.template.html","../../../projects/legacy/components/input-slider/input-slider.module.ts","../../../projects/legacy/components/input-slider/taiga-ui-legacy-components-input-slider.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiClamp, tuiRound} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiGetFractionPartPadded} from '@taiga-ui/core/utils/format';\nimport type {TuiKeySteps} from '@taiga-ui/kit/components/slider';\nimport {\n TUI_FLOATING_PRECISION,\n TuiSliderComponent,\n tuiSliderOptionsProvider,\n} from '@taiga-ui/kit/components/slider';\nimport {AbstractTuiControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiInputNumberComponent} from '@taiga-ui/legacy/components/input-number';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport type {\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/legacy/tokens';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n@Component({\n selector: 'tui-input-slider',\n templateUrl: './input-slider.template.html',\n styleUrls: ['./input-slider.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputSliderComponent),\n tuiAsControl(TuiInputSliderComponent),\n tuiSliderOptionsProvider({trackColor: 'transparent'}),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'controller.size',\n '[class._label-outside]': 'controller.labelOutside',\n },\n})\nexport class TuiInputSliderComponent\n extends AbstractTuiControl<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiInputNumberComponent)\n private readonly inputNumberRef?: TuiInputNumberComponent;\n\n @ViewChild(TuiSliderComponent, {read: ElementRef})\n private readonly sliderRef?: ElementRef<HTMLInputElement>;\n\n protected textfieldValue = this.safeCurrentValue;\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n\n @Input()\n public min = 0;\n\n @Input()\n public max = 100;\n\n @Input()\n public quantum = 1;\n\n @Input()\n public steps = 0;\n\n @Input()\n public segments = 1;\n\n @Input()\n public keySteps: TuiKeySteps | null = null;\n\n @Input()\n public valueContent: PolymorpheusContent<TuiContext<number>>;\n\n public get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return !this.inputNumberRef?.nativeFocusableElement || this.computedDisabled\n ? null\n : this.inputNumberRef.nativeFocusableElement;\n }\n\n public get focused(): boolean {\n return (\n tuiIsNativeFocused(this.nativeFocusableElement) ||\n tuiIsNativeFocused(this.sliderRef?.nativeElement || null)\n );\n }\n\n public override writeValue(value: number | null): void {\n super.writeValue(value);\n this.textfieldValue = this.value;\n }\n\n protected get prefix(): string {\n return this.controller.prefix;\n }\n\n protected get postfix(): string {\n return this.controller.postfix;\n }\n\n protected get computedSteps(): number {\n return this.steps || (this.max - this.min) / this.quantum;\n }\n\n protected get precision(): number {\n return tuiGetFractionPartPadded(this.quantum).length;\n }\n\n protected get showValueContent(): boolean {\n return Boolean(this.valueContent && !this.focused);\n }\n\n protected get step(): number {\n return (this.max - this.min) / this.computedSteps;\n }\n\n @tuiPure\n protected computeKeySteps(\n keySteps: TuiKeySteps | null,\n min: number,\n max: number,\n ): TuiKeySteps {\n return (\n keySteps || [\n [0, min],\n [100, max],\n ]\n );\n }\n\n protected focusTextInput(): void {\n const focusableElement = this.inputNumberRef?.nativeFocusableElement;\n\n if (focusableElement) {\n focusableElement.focus();\n }\n }\n\n protected safelyUpdateValue(value: number | null): void {\n this.value = this.valueGuard(value ?? this.safeCurrentValue);\n }\n\n protected onVerticalArrowKeyDown(coefficient: number): void {\n if (this.readOnly || !this.step) {\n return;\n }\n\n const value = this.value + coefficient * this.step;\n\n if (value !== this.value) {\n this.safelyUpdateValue(value);\n this.textfieldValue = this.value;\n }\n }\n\n protected onSliderChange(newValue: number): void {\n this.safelyUpdateValue(newValue);\n this.textfieldValue = this.value;\n }\n\n protected onFocused(focused: boolean): void {\n const {value, textfieldValue} = this;\n\n if (!focused && textfieldValue !== value) {\n this.textfieldValue = value;\n }\n\n this.updateFocused(focused);\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n private valueGuard(value: number): number {\n const roundedValue = tuiRound(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n );\n\n return tuiClamp(roundedValue, this.min, this.max);\n }\n}\n","<tui-input-number\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"min\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"postfix\"\n [tuiTextfieldPrefix]=\"prefix\"\n [(ngModel)]=\"textfieldValue\"\n (focusedChange)=\"onFocused($event)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n>\n <ng-content />\n <div\n *ngIf=\"showValueContent\"\n automation-id=\"tui-input-slider__value-content\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n</tui-input-number>\n\n<input\n tabIndex=\"-1\"\n tuiSlider\n type=\"range\"\n [disabled]=\"readOnly || computedDisabled\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"computedSteps\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n (click)=\"focusTextInput()\"\n (ngModelChange)=\"onSliderChange($event)\"\n/>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiNumberFormat} from '@taiga-ui/core/directives/number-format';\nimport {TuiSlider} from '@taiga-ui/kit/components/slider';\nimport {TuiInputNumberModule} from '@taiga-ui/legacy/components/input-number';\nimport {TuiTextfieldControllerModule} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputSliderComponent} from './input-slider.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiInputNumberModule,\n TuiNumberFormat,\n TuiTextfieldControllerModule,\n ...TuiSlider,\n ],\n declarations: [TuiInputSliderComponent],\n exports: [TuiInputSliderComponent, ...TuiSlider],\n})\nexport class TuiInputSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i7","i1"],"mappings":"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"}
|