@taiga-ui/kit 4.52.0-canary.932d3ef → 4.52.0-canary.9c7b1f0
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/README.md +1 -1
- package/components/accordion/accordion.component.d.ts +13 -0
- package/components/accordion/accordion.d.ts +4 -4
- package/components/accordion/accordion.directive.d.ts +11 -10
- package/components/accordion/index.d.ts +1 -3
- package/components/action-bar/action-bar.component.d.ts +5 -7
- package/components/action-bar/index.d.ts +0 -2
- package/components/avatar/avatar-labeled.component.d.ts +3 -3
- package/components/avatar/avatar-outline.directive.d.ts +3 -3
- package/components/avatar/avatar-stack.component.d.ts +2 -2
- package/components/avatar/avatar.directive.d.ts +4 -3
- package/components/badge/badge.directive.d.ts +2 -2
- package/components/badge/badge.options.d.ts +1 -3
- package/components/badge-notification/badge-notification.component.d.ts +2 -3
- package/components/badge-notification/badge-notification.options.d.ts +1 -3
- package/components/badged-content/badged-content.directive.d.ts +2 -3
- package/components/block/block.directive.d.ts +4 -4
- package/components/block/block.options.d.ts +2 -4
- package/components/breadcrumbs/breadcrumbs.component.d.ts +6 -7
- package/components/breadcrumbs/breadcrumbs.options.d.ts +1 -3
- package/components/button-loading/button-loading.component.d.ts +5 -5
- package/components/calendar-month/calendar-month.component.d.ts +1 -1
- package/components/calendar-range/calendar-range.component.d.ts +1 -3
- package/components/calendar-range/day-range-period.d.ts +2 -1
- package/components/carousel/carousel-autoscroll.directive.d.ts +1 -2
- package/components/carousel/carousel-scroll.directive.d.ts +1 -1
- package/components/carousel/carousel.component.d.ts +15 -18
- package/components/carousel/carousel.directive.d.ts +5 -4
- package/components/checkbox/checkbox.component.d.ts +7 -18
- package/components/checkbox/checkbox.options.d.ts +5 -9
- package/components/chip/chip.directive.d.ts +2 -4
- package/components/chip/chip.options.d.ts +1 -3
- package/components/combo-box/combo-box.d.ts +5 -0
- package/components/combo-box/combo-box.directive.d.ts +7 -9
- package/components/combo-box/index.d.ts +1 -0
- package/components/comment/comment.directive.d.ts +2 -2
- package/components/compass/compass.component.d.ts +2 -2
- package/components/confirm/confirm.component.d.ts +5 -3
- package/components/confirm/confirm.service.d.ts +3 -2
- package/{directives → components}/copy/copy.component.d.ts +4 -5
- package/{directives → components}/copy/copy.directive.d.ts +4 -6
- package/{directives → components}/copy/copy.options.d.ts +1 -1
- package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +4 -2
- package/components/data-list-wrapper/data-list-wrapper.component.d.ts +14 -22
- package/components/data-list-wrapper/{data-list-wrapper.module.d.ts → data-list-wrapper.d.ts} +1 -2
- package/components/data-list-wrapper/index.d.ts +1 -1
- package/components/drawer/drawer.component.d.ts +3 -4
- package/components/files/file/file.component.d.ts +16 -29
- package/components/files/file/file.options.d.ts +1 -1
- package/components/files/files/files.component.d.ts +7 -10
- package/components/files/input-files/input-files.component.d.ts +2 -2
- package/components/files/input-files/input-files.content.d.ts +7 -8
- package/components/files/input-files/input-files.directive.d.ts +2 -2
- package/components/files/input-files/input-files.options.d.ts +1 -3
- package/components/filter/filter.component.d.ts +9 -12
- package/components/fullscreen/fullscreen.component.d.ts +11 -0
- package/components/fullscreen/index.d.ts +1 -0
- package/components/index.d.ts +3 -5
- package/components/input-chip/input-chip.component.d.ts +9 -8
- package/components/input-chip/input-chip.d.ts +5 -1
- package/components/input-chip/input-chip.directive.d.ts +7 -12
- package/components/input-color/index.d.ts +1 -0
- package/components/input-color/input-color.component.d.ts +10 -14
- package/components/input-color/input-color.d.ts +5 -0
- package/components/input-date/input-date.component.d.ts +2 -2
- package/components/input-date/input-date.d.ts +4 -1
- package/components/input-date/input-date.directive.d.ts +21 -22
- package/components/input-date/input-date.options.d.ts +3 -3
- package/components/input-date-multi/input-date-multi.d.ts +1 -2
- package/components/input-date-multi/input-date-multi.directive.d.ts +10 -14
- package/components/input-date-range/input-date-range.d.ts +4 -1
- package/components/input-date-range/input-date-range.directive.d.ts +9 -10
- package/components/input-date-range/input-date-range.options.d.ts +2 -2
- package/components/input-date-time/input-date-time.d.ts +4 -1
- package/components/input-date-time/input-date-time.directive.d.ts +14 -14
- package/components/input-date-time/input-date-time.options.d.ts +2 -2
- package/components/input-inline/input-inline.component.d.ts +3 -2
- package/components/input-month/input-month.component.d.ts +3 -5
- package/components/input-month/input-month.d.ts +4 -1
- package/components/input-month/input-month.directive.d.ts +6 -5
- package/components/input-month-range/input-month-range.d.ts +4 -1
- package/components/input-month-range/input-month-range.directive.d.ts +6 -5
- package/components/input-number/index.d.ts +3 -0
- package/components/input-number/input-number.d.ts +7 -2
- package/components/input-number/input-number.directive.d.ts +11 -28
- package/components/input-number/input-number.options.d.ts +4 -7
- package/components/input-number/number-mask.directive.d.ts +42 -0
- package/components/input-number/quantum.directive.d.ts +10 -8
- package/components/input-number/step/input-number-step.component.d.ts +11 -10
- package/components/input-number/transformers/bigint.value-transformer.d.ts +11 -0
- package/components/input-number/transformers/number.value-transformer.d.ts +11 -0
- package/components/input-phone/index.d.ts +1 -0
- package/components/input-phone/input-phone.d.ts +5 -0
- package/components/input-phone/input-phone.directive.d.ts +12 -14
- package/components/input-phone-international/index.d.ts +1 -0
- package/components/input-phone-international/input-phone-international.component.d.ts +28 -36
- package/components/input-phone-international/input-phone-international.d.ts +5 -0
- package/components/input-phone-international/input-phone-international.options.d.ts +2 -3
- package/components/input-pin/index.d.ts +1 -0
- package/components/input-pin/input-pin.component.d.ts +6 -7
- package/components/input-pin/input-pin.d.ts +5 -0
- package/components/input-range/index.d.ts +0 -1
- package/components/input-range/input-range.component.d.ts +29 -62
- package/components/input-slider/input-slider.d.ts +4 -1
- package/components/input-slider/input-slider.directive.d.ts +6 -7
- package/components/input-time/input-time.component.d.ts +1 -3
- package/components/input-time/input-time.d.ts +4 -1
- package/components/input-time/input-time.directive.d.ts +9 -11
- package/components/input-year/input-year.d.ts +4 -1
- package/components/input-year/input-year.directive.d.ts +8 -10
- package/components/input-year/input-year.options.d.ts +2 -2
- package/components/items-with-more/items-with-more.component.d.ts +6 -6
- package/components/items-with-more/items-with-more.directive.d.ts +6 -6
- package/components/like/like.component.d.ts +4 -11
- package/components/like/like.options.d.ts +3 -4
- package/components/line-clamp/line-clamp-box.component.d.ts +3 -4
- package/components/line-clamp/line-clamp.component.d.ts +8 -10
- package/components/line-clamp/line-clamp.options.d.ts +1 -3
- package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +6 -8
- package/components/multi-select/multi-select-native/multi-select-native.component.d.ts +5 -4
- package/components/multi-select/multi-select-option/multi-select-option.component.d.ts +1 -1
- package/components/notification-middle/notification-middle.component.d.ts +2 -2
- package/components/notification-middle/notification-middle.directive.d.ts +4 -3
- package/components/notification-middle/notification-middle.service.d.ts +7 -3
- package/components/pager/pager.component.d.ts +13 -13
- package/components/pagination/index.d.ts +1 -0
- package/components/pagination/pagination.component.d.ts +25 -54
- package/components/pagination/pagination.options.d.ts +7 -0
- package/components/pin/pin.directive.d.ts +2 -2
- package/components/preview/dialog/preview-dialog.component.d.ts +2 -2
- package/components/preview/dialog/preview-dialog.directive.d.ts +3 -3
- package/components/preview/dialog/preview-dialog.service.d.ts +5 -2
- package/components/preview/index.d.ts +1 -0
- package/components/preview/pagination/preview-pagination.component.d.ts +6 -10
- package/components/preview/preview.component.d.ts +6 -6
- package/components/preview/preview.d.ts +2 -1
- package/{tokens/preview-icons.d.ts → components/preview/preview.options.d.ts} +1 -3
- package/components/preview/zoom/preview-zoom.component.d.ts +11 -17
- package/components/progress/progress-bar/fixed-gradient/progress-fixed-gradient.directive.d.ts +1 -2
- package/components/progress/progress-bar/progress-bar.component.d.ts +3 -4
- package/components/progress/progress-bar/progress-color-segments.directive.d.ts +4 -4
- package/components/progress/progress-circle/progress-circle.component.d.ts +7 -11
- package/components/progress/progress-segmented/progress-segmented.directive.d.ts +2 -2
- package/components/progress/progress.options.d.ts +1 -3
- package/components/pulse/pulse.component.d.ts +2 -2
- package/components/push/push-alert.component.d.ts +4 -3
- package/components/push/push.component.d.ts +7 -8
- package/components/push/push.directive.d.ts +4 -6
- package/components/push/push.options.d.ts +5 -8
- package/components/push/push.service.d.ts +6 -2
- package/components/radio/radio.component.d.ts +8 -9
- package/components/radio/radio.directive.d.ts +2 -2
- package/components/radio/radio.options.d.ts +2 -5
- package/components/radio-list/radio-list.component.d.ts +11 -9
- package/components/range/range-change.directive.d.ts +1 -2
- package/components/range/range.component.d.ts +16 -25
- package/components/rating/rating.component.d.ts +5 -5
- package/components/rating/rating.options.d.ts +6 -6
- package/components/routable-dialog/generate-dialogable-route.d.ts +1 -1
- package/components/segmented/segmented.component.d.ts +4 -6
- package/components/segmented/segmented.directive.d.ts +6 -7
- package/components/select/native-select/native-select.component.d.ts +7 -8
- package/components/select/select.d.ts +4 -1
- package/components/select/select.directive.d.ts +4 -3
- package/components/slider/helpers/key-steps.d.ts +1 -2
- package/components/slider/helpers/slider-key-steps.directive.d.ts +15 -23
- package/components/slider/helpers/slider-readonly.directive.d.ts +2 -4
- package/components/slider/helpers/slider-thumb-label.component.d.ts +2 -4
- package/components/slider/slider.component.d.ts +4 -7
- package/components/slider/slider.options.d.ts +1 -6
- package/components/status/status.directive.d.ts +2 -2
- package/components/stepper/step.component.d.ts +14 -9
- package/components/stepper/stepper.component.d.ts +5 -12
- package/components/switch/switch.component.d.ts +8 -19
- package/components/switch/switch.options.d.ts +4 -8
- package/components/tabs/tabs-horizontal.directive.d.ts +4 -5
- package/components/tabs/tabs-vertical.directive.d.ts +2 -2
- package/components/tabs/tabs-with-more.component.d.ts +13 -17
- package/components/tabs/tabs.directive.d.ts +5 -7
- package/components/tabs/tabs.options.d.ts +1 -6
- package/components/textarea/index.d.ts +2 -1
- package/components/textarea/textarea.component.d.ts +10 -11
- package/components/textarea/textarea.d.ts +6 -0
- package/components/textarea/textarea.directive.d.ts +13 -0
- package/components/tiles/tile.component.d.ts +7 -10
- package/components/tiles/tile.service.d.ts +1 -1
- package/components/tiles/tiles.component.d.ts +4 -7
- package/components/toast/index.d.ts +5 -0
- package/components/toast/toast.component.d.ts +18 -0
- package/components/toast/toast.d.ts +3 -0
- package/components/toast/toast.directive.d.ts +7 -0
- package/components/toast/toast.options.d.ts +10 -0
- package/components/toast/toast.service.d.ts +17 -0
- package/components/tree/components/tree/tree.component.d.ts +7 -7
- package/components/tree/components/tree-item/tree-item.component.d.ts +1 -1
- package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +8 -1
- package/components/tree/directives/tree-children.directive.d.ts +2 -2
- package/components/tree/directives/tree-controller.directive.d.ts +4 -5
- package/components/tree/directives/tree-item-controller.directive.d.ts +2 -2
- package/components/tree/directives/tree-node.directive.d.ts +5 -4
- package/components/tree/misc/tree.constants.d.ts +0 -3
- package/components/tree/misc/tree.tokens.d.ts +1 -6
- package/directives/appearance-proxy/appearance-proxy.directive.d.ts +10 -0
- package/directives/appearance-proxy/index.d.ts +1 -0
- package/directives/button-select/button-select.directive.d.ts +4 -4
- package/directives/chevron/chevron.directive.d.ts +2 -3
- package/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.d.ts +5 -5
- package/directives/fade/fade.directive.d.ts +6 -6
- package/directives/fluid-typography/fluid-typography.directive.d.ts +3 -6
- package/directives/fluid-typography/fluid-typography.options.d.ts +1 -3
- package/directives/highlight/highlight.directive.d.ts +4 -4
- package/directives/index.d.ts +1 -3
- package/directives/password/password.directive.d.ts +1 -1
- package/directives/present/present.directive.d.ts +2 -4
- package/directives/sensitive/sensitive.directive.d.ts +2 -2
- package/directives/shimmer/shimmer.directive.d.ts +3 -3
- package/directives/skeleton/skeleton.directive.d.ts +3 -3
- package/directives/tooltip/tooltip.directive.d.ts +3 -3
- package/directives/unfinished-validator/unfinished-validator.directive.d.ts +2 -2
- package/directives/unmask-handler/unmask-handler.directive.d.ts +3 -3
- package/fesm2022/taiga-ui-kit-components-accordion.mjs +69 -145
- package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-action-bar.mjs +24 -40
- package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-avatar.mjs +54 -80
- package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +11 -18
- package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-badge.mjs +16 -27
- package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-badged-content.mjs +9 -12
- package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-block.mjs +20 -31
- package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +19 -39
- package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-button-loading.mjs +19 -27
- package/fesm2022/taiga-ui-kit-components-button-loading.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +6 -17
- package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +25 -26
- package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-carousel.mjs +70 -123
- package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-checkbox.mjs +18 -76
- package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-chip.mjs +18 -34
- package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-combo-box.mjs +45 -50
- package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-comment.mjs +13 -20
- package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-compass.mjs +9 -11
- package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-confirm.mjs +14 -17
- package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-copy.mjs +106 -0
- package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -0
- package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +25 -78
- package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-drawer.mjs +15 -32
- package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-files.mjs +118 -245
- package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-filter.mjs +21 -34
- package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +44 -0
- package/fesm2022/taiga-ui-kit-components-fullscreen.mjs.map +1 -0
- package/fesm2022/taiga-ui-kit-components-input-chip.mjs +72 -81
- package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-color.mjs +30 -33
- package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +36 -53
- package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +37 -37
- package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +42 -59
- package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date.mjs +58 -72
- package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-inline.mjs +10 -13
- package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +30 -28
- package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-month.mjs +43 -51
- package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-number.mjs +270 -214
- package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +126 -159
- package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-phone.mjs +40 -46
- package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-pin.mjs +26 -24
- package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-range.mjs +68 -91
- package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-slider.mjs +46 -50
- package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-time.mjs +64 -71
- package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-year.mjs +33 -40
- package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +50 -72
- package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-like.mjs +40 -33
- package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +38 -82
- package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-message.mjs +9 -12
- package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-multi-select.mjs +44 -60
- package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +38 -34
- package/fesm2022/taiga-ui-kit-components-notification-middle.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pager.mjs +31 -45
- package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pagination.mjs +75 -150
- package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pin.mjs +15 -19
- package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-preview.mjs +98 -158
- package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-progress.mjs +93 -117
- package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pulse.mjs +7 -11
- package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-push.mjs +54 -74
- package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-radio-list.mjs +23 -35
- package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-radio.mjs +35 -41
- package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-range.mjs +42 -96
- package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-rating.mjs +19 -28
- package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs +11 -7
- package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-segmented.mjs +32 -59
- package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-select.mjs +81 -62
- package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-slider.mjs +96 -122
- package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-status.mjs +12 -16
- package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-stepper.mjs +61 -88
- package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-switch.mjs +22 -64
- package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-tabs.mjs +96 -166
- package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-textarea.mjs +62 -82
- package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-tiles.mjs +38 -71
- package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-toast.mjs +164 -0
- package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -0
- package/fesm2022/taiga-ui-kit-components-tree.mjs +92 -127
- package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components.mjs +3 -5
- package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs +27 -0
- package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs.map +1 -0
- package/fesm2022/taiga-ui-kit-directives-button-group.mjs +9 -12
- package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-button-select.mjs +20 -19
- package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-chevron.mjs +16 -22
- package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-connected.mjs +9 -15
- package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs +25 -53
- package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-fade.mjs +28 -40
- package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +14 -27
- package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-highlight.mjs +16 -21
- package/fesm2022/taiga-ui-kit-directives-highlight.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-password.mjs +14 -16
- package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-present.mjs +10 -18
- package/fesm2022/taiga-ui-kit-directives-present.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +13 -18
- package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +24 -34
- package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +28 -38
- package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +17 -22
- package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +10 -14
- package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs +10 -15
- package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives.mjs +1 -3
- package/fesm2022/taiga-ui-kit-directives.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs +43 -0
- package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs.map +1 -0
- package/fesm2022/taiga-ui-kit-pipes-emails.mjs +3 -4
- package/fesm2022/taiga-ui-kit-pipes-emails.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs +22 -36
- package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes-flag.mjs +30 -0
- package/fesm2022/taiga-ui-kit-pipes-flag.mjs.map +1 -0
- package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs +23 -27
- package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes-initials.mjs +28 -0
- package/fesm2022/taiga-ui-kit-pipes-initials.mjs.map +1 -0
- package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs +10 -8
- package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs +3 -4
- package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes-stringify.mjs +3 -4
- package/fesm2022/taiga-ui-kit-pipes-stringify.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes.mjs +3 -1
- package/fesm2022/taiga-ui-kit-pipes.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-tokens.mjs +4 -126
- package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-utils.mjs +3 -15
- package/fesm2022/taiga-ui-kit-utils.mjs.map +1 -1
- package/package.json +49 -57
- package/pipes/auto-color/auto-color.pipe.d.ts +13 -0
- package/pipes/auto-color/index.d.ts +1 -0
- package/pipes/filter-by-input/filter-by-input.pipe.d.ts +5 -2
- package/pipes/flag/flag.pipe.d.ts +13 -0
- package/pipes/flag/index.d.ts +1 -0
- package/pipes/hide-selected/hide-selected.pipe.d.ts +2 -0
- package/pipes/index.d.ts +3 -1
- package/pipes/initials/index.d.ts +1 -0
- package/pipes/initials/initials.pipe.d.ts +7 -0
- package/pipes/sort-countries/sort-countries.pipe.d.ts +4 -3
- package/pipes/stringify-content/stringify-content.pipe.d.ts +2 -3
- package/styles/components/avatar.less +188 -0
- package/styles/components/badge.less +4 -3
- package/styles/components/block.less +4 -4
- package/styles/components/checkbox.less +14 -12
- package/styles/components/chip.less +15 -4
- package/styles/components/comment.less +1 -1
- package/styles/components/like.less +4 -9
- package/styles/components/message.less +1 -1
- package/styles/components/pin.less +6 -10
- package/styles/components/radio.less +1 -1
- package/styles/components/switch.less +12 -11
- package/styles/components/toast.less +44 -0
- package/tokens/i18n.d.ts +26 -26
- package/tokens/index.d.ts +0 -8
- package/utils/index.d.ts +0 -2
- package/utils/maskito.binding.d.ts +1 -1
- package/components/accordion/accordion-item-content.directive.d.ts +0 -6
- package/components/accordion/accordion-item-eager-content.directive.d.ts +0 -5
- package/components/accordion/accordion-item.component.d.ts +0 -25
- package/components/action-bar/action-bar.d.ts +0 -3
- package/components/action-bar/action-bar.directive.d.ts +0 -6
- package/components/elastic-container/elastic-container.component.d.ts +0 -8
- package/components/elastic-container/elastic-container.directive.d.ts +0 -7
- package/components/elastic-container/index.d.ts +0 -2
- package/components/floating-container/floating-container.directive.d.ts +0 -7
- package/components/floating-container/index.d.ts +0 -1
- package/components/input-password/index.d.ts +0 -2
- package/components/input-password/input-password.component.d.ts +0 -16
- package/components/input-password/input-password.options.d.ts +0 -24
- package/components/input-range/input-range.d.ts +0 -3
- package/components/pdf-viewer/index.d.ts +0 -4
- package/components/pdf-viewer/pdf-viewer.component.d.ts +0 -12
- package/components/pdf-viewer/pdf-viewer.directive.d.ts +0 -7
- package/components/pdf-viewer/pdf-viewer.options.d.ts +0 -13
- package/components/pdf-viewer/pdf-viewer.service.d.ts +0 -13
- package/components/slides/index.d.ts +0 -1
- package/components/slides/slides.directive.d.ts +0 -11
- package/components/textarea/textarea-limit.directive.d.ts +0 -27
- package/directives/button-close/button-close.directive.d.ts +0 -5
- package/directives/button-close/index.d.ts +0 -1
- package/directives/lazy-loading/index.d.ts +0 -2
- package/directives/lazy-loading/lazy-loading.directive.d.ts +0 -18
- package/directives/lazy-loading/lazy-loading.service.d.ts +0 -12
- package/fesm2022/taiga-ui-kit-components-elastic-container.mjs +0 -78
- package/fesm2022/taiga-ui-kit-components-elastic-container.mjs.map +0 -1
- package/fesm2022/taiga-ui-kit-components-floating-container.mjs +0 -43
- package/fesm2022/taiga-ui-kit-components-floating-container.mjs.map +0 -1
- package/fesm2022/taiga-ui-kit-components-input-password.mjs +0 -95
- package/fesm2022/taiga-ui-kit-components-input-password.mjs.map +0 -1
- package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs +0 -83
- package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs.map +0 -1
- package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs +0 -64
- package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs.map +0 -1
- package/fesm2022/taiga-ui-kit-components-slides.mjs +0 -57
- package/fesm2022/taiga-ui-kit-components-slides.mjs.map +0 -1
- package/fesm2022/taiga-ui-kit-directives-button-close.mjs +0 -39
- package/fesm2022/taiga-ui-kit-directives-button-close.mjs.map +0 -1
- package/fesm2022/taiga-ui-kit-directives-copy.mjs +0 -121
- package/fesm2022/taiga-ui-kit-directives-copy.mjs.map +0 -1
- package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs +0 -81
- package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs.map +0 -1
- package/fesm2022/taiga-ui-kit-pipes-field-error.mjs +0 -147
- package/fesm2022/taiga-ui-kit-pipes-field-error.mjs.map +0 -1
- package/pipes/field-error/field-error-content-pipe.d.ts +0 -14
- package/pipes/field-error/field-error-pipe.d.ts +0 -29
- package/pipes/field-error/index.d.ts +0 -2
- package/tokens/calendar-date-stream.d.ts +0 -10
- package/tokens/date-inputs-value-transformers.d.ts +0 -19
- package/tokens/input-date-options.d.ts +0 -15
- package/tokens/items-handlers.d.ts +0 -26
- package/tokens/mobile-calendar.d.ts +0 -6
- package/tokens/month-formatter.d.ts +0 -5
- package/tokens/validation-errors.d.ts +0 -5
- package/utils/phone.d.ts +0 -3
- package/utils/toggle-day.d.ts +0 -2
- /package/{directives → components}/copy/copy.d.ts +0 -0
- /package/{directives → components}/copy/index.d.ts +0 -0
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { tuiRound } from '@taiga-ui/cdk/utils/math';
|
|
2
2
|
import { __decorate } from 'tslib';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import {
|
|
4
|
+
import { inject, computed, input, ChangeDetectionStrategy, Component, INJECTOR, signal, effect, Directive, contentChild } from '@angular/core';
|
|
5
5
|
import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
6
|
import { NgControl, NgModel } from '@angular/forms';
|
|
7
|
-
import { TuiControl } from '@taiga-ui/cdk/classes';
|
|
7
|
+
import { TuiControl, TUI_IDENTITY_VALUE_TRANSFORMER } from '@taiga-ui/cdk/classes';
|
|
8
8
|
import { tuiWatch, tuiControlValue, tuiTypedFromEvent } from '@taiga-ui/cdk/observables';
|
|
9
9
|
import { tuiFallbackValueProvider } from '@taiga-ui/cdk/tokens';
|
|
10
|
-
import {
|
|
10
|
+
import { tuiIsNumber, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
11
11
|
import { take, timer, switchMap, merge, tap, map, combineLatest, filter } from 'rxjs';
|
|
12
12
|
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
|
|
13
13
|
import { tuiAsAuxiliary } from '@taiga-ui/core/tokens';
|
|
14
|
+
import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
|
|
14
15
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
15
16
|
import { DOCUMENT, AsyncPipe } from '@angular/common';
|
|
16
17
|
import { TUI_TRUE_HANDLER, TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
|
|
17
|
-
import { tuiHintOptionsProvider } from '@taiga-ui/core/
|
|
18
|
+
import { tuiHintOptionsProvider } from '@taiga-ui/core/portals/hint';
|
|
18
19
|
|
|
19
20
|
/**
|
|
20
21
|
* Used as a limit for eliminating JS issues with floating point math
|
|
@@ -38,15 +39,13 @@ function tuiKeyStepValueToPercentage(value, keySteps) {
|
|
|
38
39
|
const ratio = (value - lowerStepValue) / (upperStepValue - lowerStepValue) || 0;
|
|
39
40
|
return (upperStepPercent - lowerStepPercent) * ratio + lowerStepPercent;
|
|
40
41
|
}
|
|
41
|
-
function tuiCreateKeyStepsTransformer(keySteps
|
|
42
|
+
function tuiCreateKeyStepsTransformer(keySteps) {
|
|
42
43
|
return new (class {
|
|
43
44
|
fromControlValue(controlValue) {
|
|
44
|
-
|
|
45
|
-
return (newValuePercentage * (slider.max - slider.min)) / 100 + slider.min;
|
|
45
|
+
return tuiKeyStepValueToPercentage(controlValue, keySteps) / 100;
|
|
46
46
|
}
|
|
47
|
-
toControlValue(
|
|
48
|
-
|
|
49
|
-
return tuiPercentageToKeyStepValue(valueRatio * 100, keySteps);
|
|
47
|
+
toControlValue(ratio) {
|
|
48
|
+
return tuiPercentageToKeyStepValue(ratio * 100, keySteps);
|
|
50
49
|
}
|
|
51
50
|
})();
|
|
52
51
|
}
|
|
@@ -55,23 +54,18 @@ const TUI_SLIDER_DEFAULT_OPTIONS = {
|
|
|
55
54
|
size: 'm',
|
|
56
55
|
trackColor: 'var(--tui-background-neutral-2)',
|
|
57
56
|
};
|
|
58
|
-
|
|
59
|
-
* Default parameters for Slider component
|
|
60
|
-
*/
|
|
61
|
-
const TUI_SLIDER_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_SLIDER_OPTIONS' : '', {
|
|
62
|
-
factory: () => TUI_SLIDER_DEFAULT_OPTIONS,
|
|
63
|
-
});
|
|
64
|
-
function tuiSliderOptionsProvider(options) {
|
|
65
|
-
return tuiProvideOptions(TUI_SLIDER_OPTIONS, options, TUI_SLIDER_DEFAULT_OPTIONS);
|
|
66
|
-
}
|
|
57
|
+
const [TUI_SLIDER_OPTIONS, tuiSliderOptionsProvider] = tuiCreateOptions(TUI_SLIDER_DEFAULT_OPTIONS);
|
|
67
58
|
|
|
68
59
|
class TuiSliderComponent {
|
|
69
60
|
constructor() {
|
|
70
61
|
this.control = inject(NgControl, { self: true, optional: true });
|
|
71
62
|
this.options = inject(TUI_SLIDER_OPTIONS);
|
|
72
|
-
this.segments = signal([1]);
|
|
73
63
|
this.ticksGradient = computed((segments = this.segments()) => this.getTicksGradient(segments));
|
|
74
|
-
this.size = this.options.size;
|
|
64
|
+
this.size = input(this.options.size);
|
|
65
|
+
this.segments = input([1], {
|
|
66
|
+
alias: 'segments',
|
|
67
|
+
transform: (x) => tuiIsNumber(x) ? Array.from({ length: x }, (_, i) => i / x) : x,
|
|
68
|
+
});
|
|
75
69
|
this.el = tuiInjectElement();
|
|
76
70
|
this.keySteps = inject(TuiSliderKeyStepsBase, {
|
|
77
71
|
self: true,
|
|
@@ -88,10 +82,6 @@ class TuiSliderComponent {
|
|
|
88
82
|
this.control.valueChanges?.pipe(tuiWatch(), take(1)).subscribe();
|
|
89
83
|
}
|
|
90
84
|
}
|
|
91
|
-
// TODO(v5): use signal inputs
|
|
92
|
-
set segmentsSetter(segments) {
|
|
93
|
-
this.segments.set(segments);
|
|
94
|
-
}
|
|
95
85
|
get valueRatio() {
|
|
96
86
|
return (this.value - this.min) / (this.max - this.min) || 0;
|
|
97
87
|
}
|
|
@@ -125,8 +115,8 @@ class TuiSliderComponent {
|
|
|
125
115
|
*/
|
|
126
116
|
if (this.control instanceof NgModel) {
|
|
127
117
|
const transformer = this.keySteps?.transformer();
|
|
128
|
-
const value = transformer
|
|
129
|
-
? transformer.fromControlValue(this.control.value)
|
|
118
|
+
const value = this.keySteps && transformer
|
|
119
|
+
? this.keySteps.toSliderValue(transformer.fromControlValue(this.control.value))
|
|
130
120
|
: this.control.viewModel;
|
|
131
121
|
return this.step
|
|
132
122
|
? tuiRound(Math.round(value / this.step) * this.step, TUI_FLOATING_PRECISION)
|
|
@@ -149,12 +139,12 @@ class TuiSliderComponent {
|
|
|
149
139
|
transparent ${segment}% ${percentages[index + 1] ?? 100}%${percentages[index + 1] ? ',' : ')'}
|
|
150
140
|
`, `linear-gradient(to right, transparent 0 ${percentages[0]}%,`);
|
|
151
141
|
}
|
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
153
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
142
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
143
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.17", type: TuiSliderComponent, isStandalone: true, selector: "input[type=range][tuiSlider]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, segments: { classPropertyName: "segments", publicName: "segments", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "input": "0" }, properties: { "style.--tui-slider-track-color": "options.trackColor", "style.--tui-ticks-gradient": "ticksGradient()", "style.--tui-slider-fill-ratio": "valueRatio", "attr.data-size": "size()" } }, providers: [tuiAsAuxiliary(TuiSliderComponent)], ngImport: i0, template: '', isInline: true, styles: [":host{--t-tick-thickness: .25rem;position:relative;display:block;inline-size:100%;color:var(--tui-background-accent-1);cursor:pointer;-webkit-appearance:none;appearance:none;block-size:1rem;background-color:transparent;background-clip:content-box;outline:none;border-radius:var(--tui-radius-m);--tui-thickness: .125rem}:host:active{cursor:ew-resize}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:auto}:host[data-size=s]:not(:disabled):before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.25rem;left:var(--t-left);inset-inline-start:var(--t-left);inline-size:.5rem;block-size:.5rem;border-radius:50%;transform:var(--tui-slider-thumb-transform, scale(1));--t-left: calc(var(--tui-slider-fill-ratio) * 100% - var(--tui-slider-fill-ratio) * .5rem);content:\"\";cursor:ew-resize;background:currentColor;opacity:0}:host[data-size=s]:active:before{opacity:.2;transform:var(--tui-slider-thumb-transform, scale(1)) scale(2.33)}:host[data-size=m]:not(:disabled):before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.125rem;left:var(--t-left);inset-inline-start:var(--t-left);inline-size:.75rem;block-size:.75rem;border-radius:50%;transform:var(--tui-slider-thumb-transform, scale(1));--t-left: calc(var(--tui-slider-fill-ratio) * 100% - var(--tui-slider-fill-ratio) * .75rem);content:\"\";cursor:ew-resize;background:currentColor;opacity:0}:host[data-size=m]:active:before{opacity:.2;transform:var(--tui-slider-thumb-transform, scale(1)) scale(2.33)}:host::-webkit-slider-container{border-radius:inherit}:host[data-size=m]::-webkit-slider-runnable-track{block-size:var(--tui-thickness);border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:var(--tui-ticks-gradient),linear-gradient(to var(--tui-inline-end),currentColor calc(100% * var(--tui-slider-fill-ratio)),transparent calc(100% * var(--tui-slider-fill-ratio)));background-position-x:calc((.75rem - var(--t-tick-thickness)) / 2),0;background-size:calc(100% - .75rem),auto}:host[data-size=s]::-webkit-slider-runnable-track{block-size:var(--tui-thickness);border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:var(--tui-ticks-gradient),linear-gradient(to var(--tui-inline-end),currentColor calc(100% * var(--tui-slider-fill-ratio)),transparent calc(100% * var(--tui-slider-fill-ratio)));background-position-x:calc((.5rem - var(--t-tick-thickness)) / 2),0;background-size:calc(100% - .5rem),auto}:host[data-size=m]::-moz-range-track{block-size:var(--tui-thickness);border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:var(--tui-ticks-gradient);background-position-x:calc((.75rem - var(--t-tick-thickness)) / 2);background-size:calc(100% - .75rem)}:host[data-size=s]::-moz-range-track{block-size:var(--tui-thickness);border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:var(--tui-ticks-gradient);background-position-x:calc((.5rem - var(--t-tick-thickness)) / 2);background-size:calc(100% - .5rem)}:host[data-size=m]::-webkit-slider-thumb{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.75rem;inline-size:.75rem;box-sizing:content-box;background-clip:content-box;border:.125rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1));margin-block-start:calc(var(--tui-thickness) / 2 - (1rem / 2))}:not(:disabled):host[data-size=m]::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host[data-size=m]::-webkit-slider-thumb:hover,:active:not(:disabled):host[data-size=m]::-webkit-slider-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.333)}:focus-visible:host[data-size=m]::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=s]::-webkit-slider-thumb{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.5rem;inline-size:.5rem;box-sizing:content-box;background-clip:content-box;border:.25rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1));margin-block-start:calc(var(--tui-thickness) / 2 - (1rem / 2))}:not(:disabled):host[data-size=s]::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host[data-size=s]::-webkit-slider-thumb:hover,:active:not(:disabled):host[data-size=s]::-webkit-slider-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.5)}:focus-visible:host[data-size=s]::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=m]::-moz-range-thumb{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.75rem;inline-size:.75rem;box-sizing:content-box;background-clip:content-box;border:.125rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1))}:not(:disabled):host[data-size=m]::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host[data-size=m]::-moz-range-thumb:hover,:active:not(:disabled):host[data-size=m]::-moz-range-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.333)}:focus-visible:host[data-size=m]::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=s]::-moz-range-thumb{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.5rem;inline-size:.5rem;box-sizing:content-box;background-clip:content-box;border:.25rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1))}:not(:disabled):host[data-size=s]::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host[data-size=s]::-moz-range-thumb:hover,:active:not(:disabled):host[data-size=s]::-moz-range-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.5)}:focus-visible:host[data-size=s]::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host::-moz-range-progress{border-radius:inherit}:host::-moz-range-progress{block-size:var(--tui-thickness);background:currentColor;border-top-right-radius:0;border-bottom-right-radius:0}:host-context(tui-textfield) :host([type=\"range\"]){position:absolute;inset:100% var(--t-padding) 0;block-size:1rem;inline-size:auto;margin:calc(-.5rem - var(--tui-thickness) / 2) 0 0;padding:0;pointer-events:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
154
144
|
}
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiSliderComponent, decorators: [{
|
|
156
146
|
type: Component,
|
|
157
|
-
args: [{
|
|
147
|
+
args: [{ selector: 'input[type=range][tuiSlider]', template: '', changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsAuxiliary(TuiSliderComponent)], host: {
|
|
158
148
|
/**
|
|
159
149
|
* For change detection.
|
|
160
150
|
* Webkit does not have built-in method for customization of filling progress (as Firefox).
|
|
@@ -165,48 +155,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
165
155
|
'[style.--tui-slider-track-color]': 'options.trackColor',
|
|
166
156
|
'[style.--tui-ticks-gradient]': 'ticksGradient()',
|
|
167
157
|
'[style.--tui-slider-fill-ratio]': 'valueRatio',
|
|
168
|
-
'[attr.data-size]': 'size',
|
|
169
|
-
}, styles: [":host{--t-tick-thickness: .25rem;position:relative;display:block;inline-size:100%;color:var(--tui-background-accent-1);cursor:pointer;-webkit-appearance:none;appearance:none;block-size:1rem;background-color:transparent;background-clip:content-box;outline:none;border-radius:var(--tui-radius-m);--tui-thickness: .125rem}:host:active{cursor:ew-resize}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:auto}:host[data-size=s]:not(:disabled):before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.25rem;left:var(--t-left);inset-inline-start:var(--t-left);inline-size:.5rem;block-size:.5rem;border-radius:50%;transform:var(--tui-slider-thumb-transform, scale(1));--t-left: calc(var(--tui-slider-fill-ratio) * 100% - var(--tui-slider-fill-ratio) * .5rem);content:\"\";cursor:ew-resize;background:currentColor;opacity:0}:host[data-size=s]:active:before{opacity:.2;transform:var(--tui-slider-thumb-transform, scale(1)) scale(2.33)}:host[data-size=m]:not(:disabled):before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.125rem;left:var(--t-left);inset-inline-start:var(--t-left);inline-size:.75rem;block-size:.75rem;border-radius:50%;transform:var(--tui-slider-thumb-transform, scale(1));--t-left: calc(var(--tui-slider-fill-ratio) * 100% - var(--tui-slider-fill-ratio) * .75rem);content:\"\";cursor:ew-resize;background:currentColor;opacity:0}:host[data-size=m]:active:before{opacity:.2;transform:var(--tui-slider-thumb-transform, scale(1)) scale(2.33)}:host::-webkit-slider-container{border-radius:inherit}:host[data-size=m]::-webkit-slider-runnable-track{block-size:var(--tui-thickness);border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:var(--tui-ticks-gradient),linear-gradient(to var(--tui-inline-end),currentColor calc(100% * var(--tui-slider-fill-ratio)),transparent calc(100% * var(--tui-slider-fill-ratio)));background-position-x:calc((.75rem - var(--t-tick-thickness)) / 2),0;background-size:calc(100% - .75rem),auto}:host[data-size=s]::-webkit-slider-runnable-track{block-size:var(--tui-thickness);border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:var(--tui-ticks-gradient),linear-gradient(to var(--tui-inline-end),currentColor calc(100% * var(--tui-slider-fill-ratio)),transparent calc(100% * var(--tui-slider-fill-ratio)));background-position-x:calc((.5rem - var(--t-tick-thickness)) / 2),0;background-size:calc(100% - .5rem),auto}:host[data-size=m]::-moz-range-track{block-size:var(--tui-thickness);border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:var(--tui-ticks-gradient);background-position-x:calc((.75rem - var(--t-tick-thickness)) / 2);background-size:calc(100% - .75rem)}:host[data-size=s]::-moz-range-track{block-size:var(--tui-thickness);border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:var(--tui-ticks-gradient);background-position-x:calc((.5rem - var(--t-tick-thickness)) / 2);background-size:calc(100% - .5rem)}:host[data-size=m]::-webkit-slider-thumb{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.75rem;inline-size:.75rem;box-sizing:content-box;background-clip:content-box;border:.125rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1));margin-block-start:calc(var(--tui-thickness) / 2 - (1rem / 2))}:not(:disabled):host[data-size=m]::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host[data-size=m]::-webkit-slider-thumb:hover,:active:not(:disabled):host[data-size=m]::-webkit-slider-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.333)}:focus-visible:host[data-size=m]::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=s]::-webkit-slider-thumb{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.5rem;inline-size:.5rem;box-sizing:content-box;background-clip:content-box;border:.25rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1));margin-block-start:calc(var(--tui-thickness) / 2 - (1rem / 2))}:not(:disabled):host[data-size=s]::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host[data-size=s]::-webkit-slider-thumb:hover,:active:not(:disabled):host[data-size=s]::-webkit-slider-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.5)}:focus-visible:host[data-size=s]::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=m]::-moz-range-thumb{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.75rem;inline-size:.75rem;box-sizing:content-box;background-clip:content-box;border:.125rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1))}:not(:disabled):host[data-size=m]::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host[data-size=m]::-moz-range-thumb:hover,:active:not(:disabled):host[data-size=m]::-moz-range-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.333)}:focus-visible:host[data-size=m]::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=s]::-moz-range-thumb{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.5rem;inline-size:.5rem;box-sizing:content-box;background-clip:content-box;border:.25rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1))}:not(:disabled):host[data-size=s]::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host[data-size=s]::-moz-range-thumb:hover,:active:not(:disabled):host[data-size=s]::-moz-range-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.5)}:focus-visible:host[data-size=s]::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host::-moz-range-progress{border-radius:inherit}:host::-moz-range-progress{block-size:var(--tui-thickness);background:currentColor;border-top-right-radius:0;border-bottom-right-radius:0}:host-context(tui-textfield) :host([type=\"range\"]){
|
|
170
|
-
}], ctorParameters: () => []
|
|
171
|
-
type: Input
|
|
172
|
-
}], segmentsSetter: [{
|
|
173
|
-
type: Input,
|
|
174
|
-
args: [{
|
|
175
|
-
alias: 'segments',
|
|
176
|
-
transform: (x) => Array.isArray(x) ? x : new Array(x).fill(null).map((_, i) => i / x),
|
|
177
|
-
}]
|
|
178
|
-
}] } });
|
|
158
|
+
'[attr.data-size]': 'size()',
|
|
159
|
+
}, styles: [":host{--t-tick-thickness: .25rem;position:relative;display:block;inline-size:100%;color:var(--tui-background-accent-1);cursor:pointer;-webkit-appearance:none;appearance:none;block-size:1rem;background-color:transparent;background-clip:content-box;outline:none;border-radius:var(--tui-radius-m);--tui-thickness: .125rem}:host:active{cursor:ew-resize}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:auto}:host[data-size=s]:not(:disabled):before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.25rem;left:var(--t-left);inset-inline-start:var(--t-left);inline-size:.5rem;block-size:.5rem;border-radius:50%;transform:var(--tui-slider-thumb-transform, scale(1));--t-left: calc(var(--tui-slider-fill-ratio) * 100% - var(--tui-slider-fill-ratio) * .5rem);content:\"\";cursor:ew-resize;background:currentColor;opacity:0}:host[data-size=s]:active:before{opacity:.2;transform:var(--tui-slider-thumb-transform, scale(1)) scale(2.33)}:host[data-size=m]:not(:disabled):before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.125rem;left:var(--t-left);inset-inline-start:var(--t-left);inline-size:.75rem;block-size:.75rem;border-radius:50%;transform:var(--tui-slider-thumb-transform, scale(1));--t-left: calc(var(--tui-slider-fill-ratio) * 100% - var(--tui-slider-fill-ratio) * .75rem);content:\"\";cursor:ew-resize;background:currentColor;opacity:0}:host[data-size=m]:active:before{opacity:.2;transform:var(--tui-slider-thumb-transform, scale(1)) scale(2.33)}:host::-webkit-slider-container{border-radius:inherit}:host[data-size=m]::-webkit-slider-runnable-track{block-size:var(--tui-thickness);border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:var(--tui-ticks-gradient),linear-gradient(to var(--tui-inline-end),currentColor calc(100% * var(--tui-slider-fill-ratio)),transparent calc(100% * var(--tui-slider-fill-ratio)));background-position-x:calc((.75rem - var(--t-tick-thickness)) / 2),0;background-size:calc(100% - .75rem),auto}:host[data-size=s]::-webkit-slider-runnable-track{block-size:var(--tui-thickness);border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:var(--tui-ticks-gradient),linear-gradient(to var(--tui-inline-end),currentColor calc(100% * var(--tui-slider-fill-ratio)),transparent calc(100% * var(--tui-slider-fill-ratio)));background-position-x:calc((.5rem - var(--t-tick-thickness)) / 2),0;background-size:calc(100% - .5rem),auto}:host[data-size=m]::-moz-range-track{block-size:var(--tui-thickness);border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:var(--tui-ticks-gradient);background-position-x:calc((.75rem - var(--t-tick-thickness)) / 2);background-size:calc(100% - .75rem)}:host[data-size=s]::-moz-range-track{block-size:var(--tui-thickness);border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:var(--tui-ticks-gradient);background-position-x:calc((.5rem - var(--t-tick-thickness)) / 2);background-size:calc(100% - .5rem)}:host[data-size=m]::-webkit-slider-thumb{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.75rem;inline-size:.75rem;box-sizing:content-box;background-clip:content-box;border:.125rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1));margin-block-start:calc(var(--tui-thickness) / 2 - (1rem / 2))}:not(:disabled):host[data-size=m]::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host[data-size=m]::-webkit-slider-thumb:hover,:active:not(:disabled):host[data-size=m]::-webkit-slider-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.333)}:focus-visible:host[data-size=m]::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=s]::-webkit-slider-thumb{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.5rem;inline-size:.5rem;box-sizing:content-box;background-clip:content-box;border:.25rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1));margin-block-start:calc(var(--tui-thickness) / 2 - (1rem / 2))}:not(:disabled):host[data-size=s]::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host[data-size=s]::-webkit-slider-thumb:hover,:active:not(:disabled):host[data-size=s]::-webkit-slider-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.5)}:focus-visible:host[data-size=s]::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=m]::-moz-range-thumb{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.75rem;inline-size:.75rem;box-sizing:content-box;background-clip:content-box;border:.125rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1))}:not(:disabled):host[data-size=m]::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host[data-size=m]::-moz-range-thumb:hover,:active:not(:disabled):host[data-size=m]::-moz-range-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.333)}:focus-visible:host[data-size=m]::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=s]::-moz-range-thumb{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.5rem;inline-size:.5rem;box-sizing:content-box;background-clip:content-box;border:.25rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1))}:not(:disabled):host[data-size=s]::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host[data-size=s]::-moz-range-thumb:hover,:active:not(:disabled):host[data-size=s]::-moz-range-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.5)}:focus-visible:host[data-size=s]::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host::-moz-range-progress{border-radius:inherit}:host::-moz-range-progress{block-size:var(--tui-thickness);background:currentColor;border-top-right-radius:0;border-bottom-right-radius:0}:host-context(tui-textfield) :host([type=\"range\"]){position:absolute;inset:100% var(--t-padding) 0;block-size:1rem;inline-size:auto;margin:calc(-.5rem - var(--tui-thickness) / 2) 0 0;padding:0;pointer-events:auto}\n"] }]
|
|
160
|
+
}], ctorParameters: () => [] });
|
|
179
161
|
|
|
180
162
|
class TuiSliderKeyStepsBase {
|
|
181
163
|
constructor() {
|
|
182
164
|
this.injector = inject(INJECTOR);
|
|
183
165
|
this.control = inject(NgControl, { self: true, optional: true });
|
|
184
|
-
this.
|
|
185
|
-
this.
|
|
186
|
-
this.
|
|
166
|
+
this.min = signal(undefined);
|
|
167
|
+
this.max = signal(undefined);
|
|
168
|
+
this.sync = effect(() => {
|
|
169
|
+
const steps = this.keySteps();
|
|
170
|
+
this.transformer.set(steps && tuiCreateKeyStepsTransformer(steps));
|
|
171
|
+
this.min.set(steps?.[0][1]);
|
|
172
|
+
this.max.set(steps?.[steps.length - 1]?.[1]);
|
|
173
|
+
});
|
|
174
|
+
this.step = input(1);
|
|
175
|
+
this.keySteps = input();
|
|
176
|
+
this.transformer = signal(undefined);
|
|
177
|
+
this.controlValue = toSignal(timer(0) // https://github.com/angular/angular/issues/54418
|
|
187
178
|
.pipe(switchMap(() => tuiControlValue(this.control))));
|
|
188
|
-
|
|
189
|
-
get slider() {
|
|
190
|
-
return this.injector.get(TuiSliderComponent);
|
|
191
|
-
}
|
|
192
|
-
set keySteps(steps) {
|
|
193
|
-
this.transformer.set(steps && tuiCreateKeyStepsTransformer(steps, this.slider));
|
|
194
|
-
this.min = steps?.[0][1];
|
|
195
|
-
this.max = steps?.[steps.length - 1]?.[1];
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* TODO(v5): standardize logic between `TuiSlider` & `TuiInputSlider` & `Range` & `InputRange`
|
|
199
|
-
* For non-linear slider (with `[keySteps]` property) `step` means percentage
|
|
200
|
-
* Add these host-bindings to `TuiSliderKeyStepsBase`:
|
|
201
|
-
* ```
|
|
202
|
-
* host: {
|
|
203
|
-
* '[attr.min]': '0',
|
|
204
|
-
* '[attr.step]': '1',
|
|
205
|
-
* '[attr.max]': 'totalSteps',
|
|
206
|
-
* },
|
|
207
|
-
* ```
|
|
208
|
-
*/
|
|
209
|
-
get totalSteps() {
|
|
179
|
+
this.totalSteps = computed(() =>
|
|
210
180
|
/**
|
|
211
181
|
* Not-integer amount of steps is invalid usage of native sliders
|
|
212
182
|
* ```html
|
|
@@ -214,64 +184,77 @@ class TuiSliderKeyStepsBase {
|
|
|
214
184
|
* ```
|
|
215
185
|
* (impossible to select 100; 99.9 is max allowed value)
|
|
216
186
|
*/
|
|
217
|
-
|
|
187
|
+
Math.round(100 / this.step()));
|
|
188
|
+
}
|
|
189
|
+
get slider() {
|
|
190
|
+
return this.injector.get(TuiSliderComponent);
|
|
218
191
|
}
|
|
219
192
|
takeStep(coefficient) {
|
|
220
193
|
const newValue = this.slider.value + coefficient;
|
|
221
|
-
return (this.transformer()?.toControlValue(this.slider.value + coefficient) ??
|
|
222
|
-
|
|
194
|
+
return (this.transformer()?.toControlValue((this.slider.value + coefficient) / this.totalSteps()) ?? newValue);
|
|
195
|
+
}
|
|
196
|
+
toSliderValue(fraction) {
|
|
197
|
+
return this.transformer() ? fraction * this.totalSteps() : fraction;
|
|
198
|
+
}
|
|
199
|
+
setControlValue(controlValue) {
|
|
200
|
+
const fraction = this.transformer()?.fromControlValue(controlValue) ?? controlValue;
|
|
201
|
+
this.slider.value = this.toSliderValue(fraction);
|
|
223
202
|
}
|
|
224
|
-
|
|
225
|
-
|
|
203
|
+
getControlValue() {
|
|
204
|
+
const { value } = this.slider;
|
|
205
|
+
return this.transformer()?.toControlValue(value / this.totalSteps()) ?? value;
|
|
206
|
+
}
|
|
207
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiSliderKeyStepsBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
208
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiSliderKeyStepsBase, isStandalone: true, selector: "input[tuiSlider][keySteps]", inputs: { step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, keySteps: { classPropertyName: "keySteps", publicName: "keySteps", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.min": "transformer() ? 0 : slider.min", "attr.step": "transformer() ? 1 : step()", "attr.max": "transformer() ? totalSteps() : slider.max", "attr.aria-valuemin": "min()", "attr.aria-valuemax": "max()", "attr.aria-valuenow": "controlValue()" } }, ngImport: i0 }); }
|
|
226
209
|
}
|
|
227
210
|
__decorate([
|
|
228
211
|
tuiPure
|
|
229
212
|
], TuiSliderKeyStepsBase.prototype, "slider", null);
|
|
230
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
213
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiSliderKeyStepsBase, decorators: [{
|
|
231
214
|
type: Directive,
|
|
232
215
|
args: [{
|
|
233
|
-
standalone: true,
|
|
234
216
|
selector: 'input[tuiSlider][keySteps]',
|
|
235
217
|
host: {
|
|
236
|
-
'[attr.
|
|
237
|
-
'[attr.
|
|
238
|
-
'[attr.
|
|
218
|
+
'[attr.min]': 'transformer() ? 0 : slider.min',
|
|
219
|
+
'[attr.step]': 'transformer() ? 1 : step()',
|
|
220
|
+
'[attr.max]': 'transformer() ? totalSteps() : slider.max',
|
|
221
|
+
'[attr.aria-valuemin]': 'min()',
|
|
222
|
+
'[attr.aria-valuemax]': 'max()',
|
|
223
|
+
'[attr.aria-valuenow]': 'controlValue()',
|
|
239
224
|
},
|
|
240
225
|
}]
|
|
241
|
-
}], propDecorators: {
|
|
242
|
-
type: Input,
|
|
243
|
-
args: [{ transform: (x) => (x === 'any' ? null : x) }]
|
|
244
|
-
}], slider: [], keySteps: [{
|
|
245
|
-
type: Input
|
|
246
|
-
}] } });
|
|
226
|
+
}], propDecorators: { slider: [] } });
|
|
247
227
|
class TuiSliderKeySteps extends TuiControl {
|
|
248
228
|
constructor() {
|
|
249
229
|
super(...arguments);
|
|
250
|
-
this.
|
|
230
|
+
this.base = inject(TuiSliderKeyStepsBase);
|
|
251
231
|
}
|
|
252
232
|
set keySteps(steps) {
|
|
253
|
-
this.transformer =
|
|
233
|
+
this.transformer = steps
|
|
234
|
+
? tuiCreateKeyStepsTransformer(steps)
|
|
235
|
+
: TUI_IDENTITY_VALUE_TRANSFORMER;
|
|
236
|
+
}
|
|
237
|
+
setValue(sliderValue) {
|
|
238
|
+
this.onChange(this.base.transformer() ? sliderValue / this.base.totalSteps() : sliderValue);
|
|
254
239
|
}
|
|
255
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
256
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
240
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiSliderKeySteps, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
241
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: TuiSliderKeySteps, isStandalone: true, selector: "input[tuiSlider][keySteps][ngModel],input[tuiSlider][keySteps][formControl],input[tuiSlider][keySteps][formControlName]", inputs: { keySteps: "keySteps" }, host: { listeners: { "blur": "onTouched()", "input": "setValue($event.target.value)", "change": "setValue($event.target.value)" }, properties: { "value": "base.toSliderValue(value())", "disabled": "disabled()" } }, providers: [tuiFallbackValueProvider(0)], usesInheritance: true, ngImport: i0 }); }
|
|
257
242
|
}
|
|
258
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
243
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiSliderKeySteps, decorators: [{
|
|
259
244
|
type: Directive,
|
|
260
245
|
args: [{
|
|
261
|
-
standalone: true,
|
|
262
246
|
selector: 'input[tuiSlider][keySteps][ngModel],input[tuiSlider][keySteps][formControl],input[tuiSlider][keySteps][formControlName]',
|
|
247
|
+
inputs: ['keySteps'],
|
|
263
248
|
providers: [tuiFallbackValueProvider(0)],
|
|
264
249
|
host: {
|
|
265
|
-
'[value]': 'value()',
|
|
250
|
+
'[value]': 'base.toSliderValue(value())',
|
|
266
251
|
'[disabled]': 'disabled()',
|
|
267
252
|
'(blur)': 'onTouched()',
|
|
268
|
-
'(input)': '
|
|
269
|
-
'(change)': '
|
|
253
|
+
'(input)': 'setValue($event.target.value)',
|
|
254
|
+
'(change)': 'setValue($event.target.value)',
|
|
270
255
|
},
|
|
271
256
|
}]
|
|
272
|
-
}]
|
|
273
|
-
type: Input
|
|
274
|
-
}] } });
|
|
257
|
+
}] });
|
|
275
258
|
|
|
276
259
|
const SLIDER_INTERACTION_KEYS = new Set([
|
|
277
260
|
'ArrowDown',
|
|
@@ -291,7 +274,7 @@ class TuiSliderReadonly {
|
|
|
291
274
|
constructor() {
|
|
292
275
|
this.el = tuiInjectElement();
|
|
293
276
|
this.doc = inject(DOCUMENT);
|
|
294
|
-
this.readonly = true;
|
|
277
|
+
this.readonly = input(true, { transform: coerceBooleanProperty });
|
|
295
278
|
const touchStart$ = tuiTypedFromEvent(this.el, 'touchstart', {
|
|
296
279
|
passive: false,
|
|
297
280
|
});
|
|
@@ -311,7 +294,7 @@ class TuiSliderReadonly {
|
|
|
311
294
|
.subscribe(([moveEvent]) => this.preventEvent(moveEvent));
|
|
312
295
|
}
|
|
313
296
|
preventEvent(event) {
|
|
314
|
-
if (event.cancelable && this.readonly) {
|
|
297
|
+
if (event.cancelable && this.readonly()) {
|
|
315
298
|
event.preventDefault();
|
|
316
299
|
}
|
|
317
300
|
}
|
|
@@ -320,53 +303,44 @@ class TuiSliderReadonly {
|
|
|
320
303
|
this.preventEvent(event);
|
|
321
304
|
}
|
|
322
305
|
}
|
|
323
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
324
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
306
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiSliderReadonly, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
307
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiSliderReadonly, isStandalone: true, selector: "input[tuiSlider][readonly]", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown": "preventKeyboardInteraction($event)", "mousedown": "preventEvent($event)" } }, ngImport: i0 }); }
|
|
325
308
|
}
|
|
326
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
309
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiSliderReadonly, decorators: [{
|
|
327
310
|
type: Directive,
|
|
328
311
|
args: [{
|
|
329
|
-
standalone: true,
|
|
330
312
|
selector: 'input[tuiSlider][readonly]',
|
|
331
313
|
host: {
|
|
332
314
|
'(keydown)': 'preventKeyboardInteraction($event)',
|
|
333
315
|
'(mousedown)': 'preventEvent($event)',
|
|
334
316
|
},
|
|
335
317
|
}]
|
|
336
|
-
}], ctorParameters: () => []
|
|
337
|
-
type: Input,
|
|
338
|
-
args: [{ transform: coerceBooleanProperty }]
|
|
339
|
-
}] } });
|
|
318
|
+
}], ctorParameters: () => [] });
|
|
340
319
|
|
|
341
320
|
/// <reference types="@taiga-ui/tsconfig/ng-dev-mode" />
|
|
342
321
|
class TuiSliderThumbLabel {
|
|
322
|
+
constructor() {
|
|
323
|
+
this.slider = contentChild(TuiSliderComponent);
|
|
324
|
+
this.control = contentChild(NgControl);
|
|
325
|
+
}
|
|
343
326
|
ngAfterContentInit() {
|
|
344
327
|
ngDevMode &&
|
|
345
|
-
console.assert(Boolean(this.control?.valueChanges), '\n[tuiSliderThumbLabel] expected <input tuiSlider type="range" /> to use Angular Forms.\n' +
|
|
328
|
+
console.assert(Boolean(this.control()?.valueChanges), '\n[tuiSliderThumbLabel] expected <input tuiSlider type="range" /> to use Angular Forms.\n' +
|
|
346
329
|
'Use [(ngModel)] or [formControl] or formControlName for correct work.');
|
|
347
330
|
}
|
|
348
|
-
get size() {
|
|
349
|
-
return this.slider?.size || 'm';
|
|
350
|
-
}
|
|
351
331
|
get ratio() {
|
|
352
|
-
return this.slider?.valueRatio || 0;
|
|
332
|
+
return this.slider()?.valueRatio || 0;
|
|
353
333
|
}
|
|
354
334
|
get ghostStart() {
|
|
355
|
-
return this.ratio * (this.slider?.el.offsetWidth || 0);
|
|
335
|
+
return this.ratio * (this.slider()?.el.offsetWidth || 0);
|
|
356
336
|
}
|
|
357
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
358
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
337
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiSliderThumbLabel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
338
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: TuiSliderThumbLabel, isStandalone: true, selector: "[tuiSliderThumbLabel]", providers: [tuiHintOptionsProvider({ direction: 'top', appearance: 'floating' })], queries: [{ propertyName: "slider", first: true, predicate: TuiSliderComponent, descendants: true, isSignal: true }, { propertyName: "control", first: true, predicate: NgControl, descendants: true, isSignal: true }], ngImport: i0, template: "@if (control()?.valueChanges | async) {}\n\n<div\n class=\"t-ghost\"\n [attr.data-size]=\"slider()?.size || 'm'\"\n [style.--tui-slider-thumb-ratio]=\"ratio\"\n [style.inset-inline-start.px]=\"ghostStart\"\n>\n <ng-content />\n</div>\n\n<ng-content select=\"input[type=range]\" />\n", styles: [":host{position:relative}.t-ghost{position:absolute;inset-block:0;margin:auto;border-radius:50%;pointer-events:none}.t-ghost[data-size=s]{inline-size:.5rem;block-size:.5rem;transform:translate(calc(var(--tui-slider-thumb-ratio) * -.5rem * var(--tui-inline)))}.t-ghost[data-size=m]{inline-size:.75rem;block-size:.75rem;transform:translate(calc(var(--tui-slider-thumb-ratio) * -.75rem * var(--tui-inline)))}:host-context([dir=\"rtl\"]) .t-ghost{left:unset!important}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
359
339
|
}
|
|
360
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
340
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiSliderThumbLabel, decorators: [{
|
|
361
341
|
type: Component,
|
|
362
|
-
args: [{ selector: '[tuiSliderThumbLabel]', imports: [AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiHintOptionsProvider({ direction: 'top', appearance: '
|
|
363
|
-
}]
|
|
364
|
-
type: ContentChild,
|
|
365
|
-
args: [TuiSliderComponent]
|
|
366
|
-
}], control: [{
|
|
367
|
-
type: ContentChild,
|
|
368
|
-
args: [NgControl]
|
|
369
|
-
}] } });
|
|
342
|
+
args: [{ selector: '[tuiSliderThumbLabel]', imports: [AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiHintOptionsProvider({ direction: 'top', appearance: 'floating' })], template: "@if (control()?.valueChanges | async) {}\n\n<div\n class=\"t-ghost\"\n [attr.data-size]=\"slider()?.size || 'm'\"\n [style.--tui-slider-thumb-ratio]=\"ratio\"\n [style.inset-inline-start.px]=\"ghostStart\"\n>\n <ng-content />\n</div>\n\n<ng-content select=\"input[type=range]\" />\n", styles: [":host{position:relative}.t-ghost{position:absolute;inset-block:0;margin:auto;border-radius:50%;pointer-events:none}.t-ghost[data-size=s]{inline-size:.5rem;block-size:.5rem;transform:translate(calc(var(--tui-slider-thumb-ratio) * -.5rem * var(--tui-inline)))}.t-ghost[data-size=m]{inline-size:.75rem;block-size:.75rem;transform:translate(calc(var(--tui-slider-thumb-ratio) * -.75rem * var(--tui-inline)))}:host-context([dir=\"rtl\"]) .t-ghost{left:unset!important}\n"] }]
|
|
343
|
+
}] });
|
|
370
344
|
|
|
371
345
|
const TuiSlider = [
|
|
372
346
|
TuiSliderComponent,
|