@taiga-ui/kit 4.52.0-canary.aaf153c → 4.52.0-canary.b1ce38b
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/badge/badge.options.d.ts +1 -3
- package/components/badge-notification/badge-notification.options.d.ts +1 -3
- package/components/block/block.options.d.ts +1 -3
- package/components/breadcrumbs/breadcrumbs.options.d.ts +1 -3
- 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 +5 -5
- package/components/combo-box/index.d.ts +1 -0
- package/components/confirm/confirm.component.d.ts +4 -3
- package/components/confirm/confirm.service.d.ts +1 -1
- package/components/copy/copy.component.d.ts +1 -1
- package/components/copy/copy.directive.d.ts +2 -4
- package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +2 -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/files/file/file.options.d.ts +1 -1
- package/components/files/input-files/input-files.options.d.ts +1 -3
- 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 +4 -4
- package/components/input-color/input-color.d.ts +5 -0
- package/components/input-date/input-date.d.ts +4 -1
- package/components/input-date/input-date.directive.d.ts +9 -11
- package/components/input-date-multi/input-date-multi.d.ts +1 -2
- package/components/input-date-multi/input-date-multi.directive.d.ts +9 -13
- package/components/input-date-range/input-date-range.d.ts +4 -1
- package/components/input-date-range/input-date-range.directive.d.ts +3 -3
- package/components/input-date-time/input-date-time.d.ts +4 -1
- package/components/input-date-time/input-date-time.directive.d.ts +3 -3
- package/components/input-month/input-month.d.ts +4 -1
- package/components/input-month/input-month.directive.d.ts +5 -4
- package/components/input-month-range/input-month-range.d.ts +4 -1
- package/components/input-month-range/input-month-range.directive.d.ts +5 -4
- package/components/input-number/input-number.d.ts +4 -1
- package/components/input-number/input-number.directive.d.ts +7 -11
- 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 +7 -7
- package/components/input-phone-international/index.d.ts +1 -0
- package/components/input-phone-international/input-phone-international.component.d.ts +8 -8
- package/components/input-phone-international/input-phone-international.d.ts +5 -0
- package/components/input-phone-international/input-phone-international.options.d.ts +1 -3
- package/components/input-pin/index.d.ts +1 -0
- package/components/input-pin/input-pin.component.d.ts +3 -3
- package/components/input-pin/input-pin.d.ts +5 -0
- package/components/input-range/input-range.component.d.ts +1 -1
- package/components/input-slider/input-slider.d.ts +4 -1
- package/components/input-slider/input-slider.directive.d.ts +1 -1
- 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 +4 -4
- package/components/input-year/input-year.d.ts +4 -1
- package/components/input-year/input-year.directive.d.ts +5 -5
- package/components/like/like.options.d.ts +1 -1
- package/components/line-clamp/line-clamp-box.component.d.ts +1 -1
- package/components/line-clamp/line-clamp.options.d.ts +1 -3
- package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +4 -6
- 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/pagination/index.d.ts +1 -0
- package/components/pagination/pagination.component.d.ts +23 -52
- package/components/pagination/pagination.options.d.ts +7 -0
- 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/preview.d.ts +2 -1
- package/components/preview/zoom/preview-zoom.component.d.ts +1 -0
- package/components/progress/progress.options.d.ts +1 -3
- package/components/push/push-alert.component.d.ts +2 -2
- package/components/push/push.options.d.ts +4 -3
- package/components/push/push.service.d.ts +2 -2
- package/components/radio-list/radio-list.component.d.ts +5 -3
- package/components/rating/rating.component.d.ts +1 -1
- package/components/rating/rating.options.d.ts +1 -3
- 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 +4 -4
- package/components/select/select.d.ts +4 -1
- package/components/select/select.directive.d.ts +4 -3
- package/components/slider/slider.options.d.ts +1 -6
- package/components/stepper/step.component.d.ts +6 -8
- package/components/stepper/stepper.component.d.ts +6 -11
- package/components/tabs/tabs.options.d.ts +1 -6
- package/components/textarea/index.d.ts +2 -1
- package/components/textarea/textarea.component.d.ts +4 -4
- package/components/textarea/textarea.d.ts +6 -0
- package/components/textarea/textarea.directive.d.ts +13 -0
- package/components/toast/toast.component.d.ts +4 -4
- package/components/toast/toast.options.d.ts +4 -3
- package/components/toast/toast.service.d.ts +2 -2
- package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +7 -0
- package/components/tree/misc/tree.constants.d.ts +0 -3
- package/components/tree/misc/tree.tokens.d.ts +1 -6
- package/directives/button-close/button-close.directive.d.ts +2 -1
- package/directives/button-select/button-select.directive.d.ts +3 -2
- package/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.d.ts +5 -5
- package/directives/fade/fade.directive.d.ts +1 -2
- package/directives/fluid-typography/fluid-typography.options.d.ts +1 -3
- package/directives/index.d.ts +0 -1
- package/directives/password/password.directive.d.ts +1 -1
- package/directives/tooltip/tooltip.directive.d.ts +1 -1
- package/fesm2022/taiga-ui-kit-components-accordion.mjs +7 -8
- package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-action-bar.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-avatar.mjs +20 -20
- package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +7 -12
- package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-badge.mjs +10 -14
- package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-badged-content.mjs +6 -7
- package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-block.mjs +10 -14
- package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +11 -16
- package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-button-loading.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +5 -13
- package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +5 -5
- package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-carousel.mjs +16 -22
- package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-checkbox.mjs +5 -6
- package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-chip.mjs +11 -15
- package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-combo-box.mjs +37 -27
- package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-comment.mjs +6 -6
- package/fesm2022/taiga-ui-kit-components-compass.mjs +5 -5
- package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-confirm.mjs +10 -12
- package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-copy.mjs +14 -21
- package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +24 -85
- package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-drawer.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-elastic-container.mjs +6 -7
- package/fesm2022/taiga-ui-kit-components-elastic-container.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-files.mjs +30 -38
- package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-filter.mjs +4 -4
- package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-floating-container.mjs +7 -7
- package/fesm2022/taiga-ui-kit-components-floating-container.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-input-chip.mjs +69 -74
- package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-color.mjs +24 -13
- package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +30 -48
- package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +23 -14
- package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +27 -20
- package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date.mjs +38 -40
- package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-inline.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +21 -14
- package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-month.mjs +24 -17
- package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-number.mjs +51 -69
- package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +48 -41
- package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-phone.mjs +30 -20
- package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-pin.mjs +18 -9
- package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-range.mjs +5 -5
- package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-slider.mjs +15 -10
- package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-time.mjs +39 -40
- package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-year.mjs +25 -16
- package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +12 -14
- package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-like.mjs +4 -4
- package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +17 -22
- package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-message.mjs +6 -7
- package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-multi-select.mjs +29 -39
- package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +35 -24
- package/fesm2022/taiga-ui-kit-components-notification-middle.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pager.mjs +6 -8
- package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pagination.mjs +64 -133
- package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pin.mjs +7 -7
- package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-preview.mjs +52 -43
- package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-progress.mjs +31 -36
- package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pulse.mjs +4 -4
- package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-push.mjs +22 -23
- package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-radio-list.mjs +7 -7
- package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-radio.mjs +8 -9
- package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-range.mjs +8 -11
- package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-rating.mjs +7 -12
- 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 +53 -29
- package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-slider.mjs +22 -32
- package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-slides.mjs +6 -6
- package/fesm2022/taiga-ui-kit-components-status.mjs +6 -6
- package/fesm2022/taiga-ui-kit-components-stepper.mjs +45 -79
- package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-switch.mjs +5 -6
- package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-tabs.mjs +26 -34
- package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-textarea.mjs +50 -50
- package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-tiles.mjs +14 -15
- package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-toast.mjs +27 -28
- package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-tree.mjs +55 -58
- package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-button-close.mjs +15 -7
- package/fesm2022/taiga-ui-kit-directives-button-close.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-button-group.mjs +6 -6
- package/fesm2022/taiga-ui-kit-directives-button-select.mjs +18 -10
- package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-chevron.mjs +9 -8
- package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-connected.mjs +6 -7
- 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 +12 -11
- package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +6 -12
- package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-highlight.mjs +3 -4
- package/fesm2022/taiga-ui-kit-directives-highlight.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-password.mjs +10 -9
- package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-present.mjs +3 -4
- package/fesm2022/taiga-ui-kit-directives-present.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +6 -6
- package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +6 -6
- package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +6 -6
- package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +9 -9
- package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +4 -5
- package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs +4 -5
- package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives.mjs +0 -1
- 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 +12 -25
- package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes-flag.mjs +31 -0
- package/fesm2022/taiga-ui-kit-pipes-flag.mjs.map +1 -0
- package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs +4 -5
- 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 +3 -4
- 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 -0
- package/fesm2022/taiga-ui-kit-pipes.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-tokens.mjs +3 -18
- package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-utils.mjs +2 -8
- package/fesm2022/taiga-ui-kit-utils.mjs.map +1 -1
- package/package.json +26 -19
- 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 +2 -2
- package/pipes/flag/flag.pipe.d.ts +14 -0
- package/pipes/flag/index.d.ts +1 -0
- package/pipes/index.d.ts +3 -0
- package/pipes/initials/index.d.ts +1 -0
- package/pipes/initials/initials.pipe.d.ts +7 -0
- package/pipes/stringify-content/stringify-content.pipe.d.ts +2 -3
- package/tokens/items-handlers.d.ts +1 -7
- package/tokens/preview-icons.d.ts +1 -3
- package/utils/index.d.ts +0 -1
- package/components/textarea/textarea-limit.directive.d.ts +0 -26
- 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-preview-dialog.mjs +0 -64
- package/fesm2022/taiga-ui-kit-components-preview-dialog.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/utils/phone.d.ts +0 -3
|
@@ -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, signal, computed, Input, ChangeDetectionStrategy, Component, INJECTOR, input, Directive, ContentChild } from '@angular/core';
|
|
5
5
|
import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
6
|
import { NgControl, NgModel } from '@angular/forms';
|
|
7
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 { 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
|
|
@@ -53,15 +54,7 @@ const TUI_SLIDER_DEFAULT_OPTIONS = {
|
|
|
53
54
|
size: 'm',
|
|
54
55
|
trackColor: 'var(--tui-background-neutral-2)',
|
|
55
56
|
};
|
|
56
|
-
|
|
57
|
-
* Default parameters for Slider component
|
|
58
|
-
*/
|
|
59
|
-
const TUI_SLIDER_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_SLIDER_OPTIONS' : '', {
|
|
60
|
-
factory: () => TUI_SLIDER_DEFAULT_OPTIONS,
|
|
61
|
-
});
|
|
62
|
-
function tuiSliderOptionsProvider(options) {
|
|
63
|
-
return tuiProvideOptions(TUI_SLIDER_OPTIONS, options, TUI_SLIDER_DEFAULT_OPTIONS);
|
|
64
|
-
}
|
|
57
|
+
const [TUI_SLIDER_OPTIONS, tuiSliderOptionsProvider] = tuiCreateOptions(TUI_SLIDER_DEFAULT_OPTIONS);
|
|
65
58
|
|
|
66
59
|
class TuiSliderComponent {
|
|
67
60
|
constructor() {
|
|
@@ -147,12 +140,12 @@ class TuiSliderComponent {
|
|
|
147
140
|
transparent ${segment}% ${percentages[index + 1] ?? 100}%${percentages[index + 1] ? ',' : ')'}
|
|
148
141
|
`, `linear-gradient(to right, transparent 0 ${percentages[0]}%,`);
|
|
149
142
|
}
|
|
150
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
151
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.
|
|
143
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
144
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.16", type: TuiSliderComponent, isStandalone: true, selector: "input[type=range][tuiSlider]", inputs: { size: "size", segmentsSetter: ["segments", "segmentsSetter", (x) => Array.isArray(x) ? x : Array.from({ length: x }, (_, i) => i / x)] }, 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\"]){top:100%;left:var(--t-padding);right:var(--t-padding);inline-size:calc(100% - var(--t-padding) * 2);block-size:1rem;margin:calc(-.5rem - var(--tui-thickness) / 2) 0 0;padding:0;pointer-events:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
152
145
|
}
|
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiSliderComponent, decorators: [{
|
|
154
147
|
type: Component,
|
|
155
|
-
args: [{
|
|
148
|
+
args: [{ selector: 'input[type=range][tuiSlider]', template: '', changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsAuxiliary(TuiSliderComponent)], host: {
|
|
156
149
|
/**
|
|
157
150
|
* For change detection.
|
|
158
151
|
* Webkit does not have built-in method for customization of filling progress (as Firefox).
|
|
@@ -171,7 +164,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
171
164
|
type: Input,
|
|
172
165
|
args: [{
|
|
173
166
|
alias: 'segments',
|
|
174
|
-
transform: (x) => Array.isArray(x) ? x :
|
|
167
|
+
transform: (x) => Array.isArray(x) ? x : Array.from({ length: x }, (_, i) => i / x),
|
|
175
168
|
}]
|
|
176
169
|
}] } });
|
|
177
170
|
|
|
@@ -218,16 +211,15 @@ class TuiSliderKeyStepsBase {
|
|
|
218
211
|
const { value } = this.slider;
|
|
219
212
|
return this.transformer()?.toControlValue(value / this.totalSteps()) ?? value;
|
|
220
213
|
}
|
|
221
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
222
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.
|
|
214
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiSliderKeyStepsBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
215
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.16", 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: false, 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 }); }
|
|
223
216
|
}
|
|
224
217
|
__decorate([
|
|
225
218
|
tuiPure
|
|
226
219
|
], TuiSliderKeyStepsBase.prototype, "slider", null);
|
|
227
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
220
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiSliderKeyStepsBase, decorators: [{
|
|
228
221
|
type: Directive,
|
|
229
222
|
args: [{
|
|
230
|
-
standalone: true,
|
|
231
223
|
selector: 'input[tuiSlider][keySteps]',
|
|
232
224
|
host: {
|
|
233
225
|
'[attr.min]': 'transformer() ? 0 : slider.min',
|
|
@@ -254,13 +246,12 @@ class TuiSliderKeySteps extends TuiControl {
|
|
|
254
246
|
setValue(sliderValue) {
|
|
255
247
|
this.onChange(this.base.transformer() ? sliderValue / this.base.totalSteps() : sliderValue);
|
|
256
248
|
}
|
|
257
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
258
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
249
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiSliderKeySteps, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
250
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", 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 }); }
|
|
259
251
|
}
|
|
260
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
252
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiSliderKeySteps, decorators: [{
|
|
261
253
|
type: Directive,
|
|
262
254
|
args: [{
|
|
263
|
-
standalone: true,
|
|
264
255
|
selector: 'input[tuiSlider][keySteps][ngModel],input[tuiSlider][keySteps][formControl],input[tuiSlider][keySteps][formControlName]',
|
|
265
256
|
providers: [tuiFallbackValueProvider(0)],
|
|
266
257
|
host: {
|
|
@@ -322,13 +313,12 @@ class TuiSliderReadonly {
|
|
|
322
313
|
this.preventEvent(event);
|
|
323
314
|
}
|
|
324
315
|
}
|
|
325
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
326
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.
|
|
316
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiSliderReadonly, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
317
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.16", type: TuiSliderReadonly, isStandalone: true, selector: "input[tuiSlider][readonly]", inputs: { readonly: ["readonly", "readonly", coerceBooleanProperty] }, host: { listeners: { "keydown": "preventKeyboardInteraction($event)", "mousedown": "preventEvent($event)" } }, ngImport: i0 }); }
|
|
327
318
|
}
|
|
328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
319
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiSliderReadonly, decorators: [{
|
|
329
320
|
type: Directive,
|
|
330
321
|
args: [{
|
|
331
|
-
standalone: true,
|
|
332
322
|
selector: 'input[tuiSlider][readonly]',
|
|
333
323
|
host: {
|
|
334
324
|
'(keydown)': 'preventKeyboardInteraction($event)',
|
|
@@ -356,10 +346,10 @@ class TuiSliderThumbLabel {
|
|
|
356
346
|
get ghostStart() {
|
|
357
347
|
return this.ratio * (this.slider?.el.offsetWidth || 0);
|
|
358
348
|
}
|
|
359
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
360
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
349
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiSliderThumbLabel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
350
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.16", type: TuiSliderThumbLabel, isStandalone: true, selector: "[tuiSliderThumbLabel]", providers: [tuiHintOptionsProvider({ direction: 'top', appearance: 'floating' })], queries: [{ propertyName: "slider", first: true, predicate: TuiSliderComponent, descendants: true }, { propertyName: "control", first: true, predicate: NgControl, descendants: true }], ngImport: i0, template: "@if (control?.valueChanges | async) {}\n\n<div\n class=\"t-ghost\"\n [attr.data-size]=\"size\"\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;top:0;bottom: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)))}@supports (inset-inline-end: 0){:host-context([dir=\"rtl\"]) .t-ghost{left:unset!important}}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
361
351
|
}
|
|
362
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
352
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiSliderThumbLabel, decorators: [{
|
|
363
353
|
type: Component,
|
|
364
354
|
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]=\"size\"\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;top:0;bottom: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)))}@supports (inset-inline-end: 0){:host-context([dir=\"rtl\"]) .t-ghost{left:unset!important}}\n"] }]
|
|
365
355
|
}], propDecorators: { slider: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-slider.mjs","sources":["../../../projects/kit/components/slider/helpers/key-steps.ts","../../../projects/kit/components/slider/slider.options.ts","../../../projects/kit/components/slider/slider.component.ts","../../../projects/kit/components/slider/helpers/slider-key-steps.directive.ts","../../../projects/kit/components/slider/helpers/slider-readonly.directive.ts","../../../projects/kit/components/slider/helpers/slider-thumb-label.component.ts","../../../projects/kit/components/slider/helpers/slider-thumb-label.template.html","../../../projects/kit/components/slider/slider.ts","../../../projects/kit/components/slider/taiga-ui-kit-components-slider.ts"],"sourcesContent":["import {type TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {tuiRound} from '@taiga-ui/cdk/utils/math';\n\n/**\n * Used as a limit for eliminating JS issues with floating point math\n */\nexport const TUI_FLOATING_PRECISION = 7;\n\n/**\n * Steps for splitting sliders into different linear dependencies.\n * Each element of the array has the form [percent, value]\n *\n * Thus, to set a field from 50,000 to 30,000,000 in steps:\n * 1) From 50 000 to 200 000 by 5000 per step (30 steps)\n * 2) From 200 000 to 1 000 000 by 50 000 per step (16 steps)\n * 3) From 1 000 000 to 30 000 000 by 500 000 per step (58 steps)\n *\n * You need to pass the following keyStep (where 104 = 30 + 16 + 58 is the total number of steps):\n * [\n * [0, 50_000],\n * [100 / 104 * 30, 200_000],\n * [100 / 104 * (30 + 16), 1_000_000],\n * [100, 30_000_000],\n * ];\n *\n */\nexport type TuiKeySteps = [[0, number], ...Array<[number, number]>, [100, number]];\n\nfunction tuiFindKeyStepsBoundariesByFn(\n keySteps: TuiKeySteps,\n fn: ([keyStepPercent, keyStepValue]: [number, number]) => boolean,\n): [[number, number], [number, number]] {\n const keyStepUpperIndex = keySteps.findIndex((keyStep, i) => i && fn(keyStep));\n\n const lowerStep = keySteps[keyStepUpperIndex - 1] || keySteps[0];\n const upperStep = keySteps[keyStepUpperIndex] ||\n keySteps[keySteps.length - 1] || [0, 0];\n\n return [lowerStep, upperStep];\n}\n\nexport function tuiPercentageToKeyStepValue(\n valuePercentage: number,\n keySteps: TuiKeySteps,\n): number {\n const [[lowerStepPercent, lowerStepValue], [upperStepPercent, upperStepValue]] =\n tuiFindKeyStepsBoundariesByFn(\n keySteps,\n ([keyStepPercentage, _]) => valuePercentage <= keyStepPercentage,\n );\n const ratio =\n (valuePercentage - lowerStepPercent) / (upperStepPercent - lowerStepPercent);\n const controlValue = (upperStepValue - lowerStepValue) * ratio + lowerStepValue;\n\n return tuiRound(controlValue, TUI_FLOATING_PRECISION);\n}\n\nexport function tuiKeyStepValueToPercentage(\n value: number,\n keySteps: TuiKeySteps,\n): number {\n const [[lowerStepPercent, lowerStepValue], [upperStepPercent, upperStepValue]] =\n tuiFindKeyStepsBoundariesByFn(\n keySteps,\n ([_, keyStepValue]) => value <= keyStepValue,\n );\n const ratio = (value - lowerStepValue) / (upperStepValue - lowerStepValue) || 0;\n\n return (upperStepPercent - lowerStepPercent) * ratio + lowerStepPercent;\n}\n\nexport function tuiCreateKeyStepsTransformer(\n keySteps: TuiKeySteps,\n): TuiValueTransformer<number, number> {\n return new (class implements TuiValueTransformer<number, number> {\n public fromControlValue(controlValue: number): number {\n return tuiKeyStepValueToPercentage(controlValue, keySteps) / 100;\n }\n\n public toControlValue(ratio: number): number {\n return tuiPercentageToKeyStepValue(ratio * 100, keySteps);\n }\n })();\n}\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiSliderOptions {\n readonly size: TuiSizeS;\n readonly trackColor: string;\n}\n\nexport const TUI_SLIDER_DEFAULT_OPTIONS: TuiSliderOptions = {\n size: 'm',\n trackColor: 'var(--tui-background-neutral-2)',\n};\n\n/**\n * Default parameters for Slider component\n */\nexport const TUI_SLIDER_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_SLIDER_OPTIONS' : '',\n {\n factory: () => TUI_SLIDER_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiSliderOptionsProvider(options: Partial<TuiSliderOptions>): Provider {\n return tuiProvideOptions(TUI_SLIDER_OPTIONS, options, TUI_SLIDER_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n Input,\n signal,\n} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiRound} from '@taiga-ui/cdk/utils/math';\nimport {tuiAsAuxiliary} from '@taiga-ui/core/tokens';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\nimport {take} from 'rxjs';\n\nimport {TUI_FLOATING_PRECISION} from './helpers/key-steps';\nimport {TuiSliderKeyStepsBase} from './helpers/slider-key-steps.directive';\nimport {TUI_SLIDER_OPTIONS} from './slider.options';\n\n@Component({\n standalone: true,\n selector: 'input[type=range][tuiSlider]',\n template: '',\n styleUrl: './slider.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsAuxiliary(TuiSliderComponent)],\n host: {\n /**\n * For change detection.\n * Webkit does not have built-in method for customization of filling progress (as Firefox).\n * We draw filling of progress by `background: linear-gradient(...)` of the track.\n * This function triggers change detection (for {@link valueRatio} getter) when we drag thumb of the input.\n */\n '(input)': '0',\n '[style.--tui-slider-track-color]': 'options.trackColor',\n '[style.--tui-ticks-gradient]': 'ticksGradient()',\n '[style.--tui-slider-fill-ratio]': 'valueRatio',\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiSliderComponent {\n private readonly control = inject(NgControl, {self: true, optional: true});\n\n protected readonly options = inject(TUI_SLIDER_OPTIONS);\n protected readonly segments = signal<number[]>([1]);\n protected readonly ticksGradient = computed((segments = this.segments()) =>\n this.getTicksGradient(segments),\n );\n\n @Input()\n public size: TuiSizeS = this.options.size;\n\n public readonly el = tuiInjectElement<HTMLInputElement>();\n public readonly keySteps = inject(TuiSliderKeyStepsBase, {\n self: true,\n optional: true,\n });\n\n constructor() {\n if (this.control instanceof NgModel) {\n /**\n * The ValueAccessor.writeValue method is called twice on any value accessor during component initialization,\n * when a control is bound using [(ngModel)], first time with a phantom null value.\n * With `changeDetection: ChangeDetectionStrategy.OnPush` the second call of writeValue with real value don't re-render the view.\n * ___\n * See this {@link https://github.com/angular/angular/issues/14988 issue}\n */\n this.control.valueChanges?.pipe(tuiWatch(), take(1)).subscribe();\n }\n }\n\n // TODO(v5): use signal inputs\n @Input({\n alias: 'segments',\n transform: (x: number[] | number) =>\n Array.isArray(x) ? x : new Array(x).fill(null).map((_, i) => i / x),\n })\n public set segmentsSetter(segments: number[]) {\n this.segments.set(segments);\n }\n\n public get valueRatio(): number {\n return (this.value - this.min) / (this.max - this.min) || 0;\n }\n\n public get min(): number {\n return Number(this.el.min);\n }\n\n public set min(x: number) {\n this.el.min = String(x);\n }\n\n public get max(): number {\n return Number(this.el.max || 100);\n }\n\n public set max(x: number) {\n this.el.max = String(x);\n }\n\n public get step(): number {\n if (!this.el.step) {\n return 1;\n }\n\n return this.el.step === 'any' ? 0 : Number(this.el.step);\n }\n\n public set step(x: number) {\n this.el.step = String(x);\n }\n\n public get value(): number {\n /**\n * If developer uses `[(ngModel)]` and programmatically change value,\n * the `el.nativeElement.value` is equal to the previous value at this moment\n * (it will be updated only in next microtask).\n * @see https://github.com/angular/angular/issues/13568\n */\n if (this.control instanceof NgModel) {\n const transformer = this.keySteps?.transformer();\n const value =\n this.keySteps && transformer\n ? this.keySteps.toSliderValue(\n transformer.fromControlValue(this.control.value),\n )\n : this.control.viewModel;\n\n return this.step\n ? tuiRound(\n Math.round(value / this.step) * this.step,\n TUI_FLOATING_PRECISION,\n )\n : value;\n }\n\n return Number(this.el.value) || 0;\n }\n\n public set value(newValue: number) {\n this.el.value = `${newValue}`;\n }\n\n protected getTicksGradient(segments: number[]): string {\n if (segments.length <= 1) {\n return 'linear-gradient(to right, transparent 0 100%)';\n }\n\n const percentages = segments\n .filter((segment) => segment > 0 && segment < 1)\n .map((segment) => segment * 100);\n\n return percentages.reduce(\n (acc, segment, index) =>\n `${acc}\n var(--tui-text-tertiary) ${segment}% calc(${segment}% + var(--t-tick-thickness)),\n transparent ${segment}% ${percentages[index + 1] ?? 100}%${percentages[index + 1] ? ',' : ')'}\n `,\n `linear-gradient(to right, transparent 0 ${percentages[0]}%,`,\n );\n }\n}\n","import {computed, Directive, inject, INJECTOR, Input, input, signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {NgControl} from '@angular/forms';\nimport {\n TUI_IDENTITY_VALUE_TRANSFORMER,\n TuiControl,\n type TuiValueTransformer,\n} from '@taiga-ui/cdk/classes';\nimport {tuiControlValue} from '@taiga-ui/cdk/observables';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {switchMap, timer} from 'rxjs';\n\nimport {TuiSliderComponent} from '../slider.component';\nimport {tuiCreateKeyStepsTransformer, type TuiKeySteps} from './key-steps';\n\n@Directive({\n standalone: true,\n selector: 'input[tuiSlider][keySteps]',\n host: {\n '[attr.min]': 'transformer() ? 0 : slider.min',\n '[attr.step]': 'transformer() ? 1 : step()',\n '[attr.max]': 'transformer() ? totalSteps() : slider.max',\n '[attr.aria-valuemin]': 'min()',\n '[attr.aria-valuemax]': 'max()',\n '[attr.aria-valuenow]': 'controlValue()',\n },\n})\nexport class TuiSliderKeyStepsBase {\n private readonly injector = inject(INJECTOR);\n private readonly control = inject(NgControl, {self: true, optional: true});\n\n protected readonly min = signal<number | undefined>(undefined);\n protected readonly max = signal<number | undefined>(undefined);\n\n public step = input(1);\n\n public transformer = signal<TuiValueTransformer<number, number> | null>(null);\n public controlValue = toSignal(\n timer(0) // https://github.com/angular/angular/issues/54418\n .pipe(switchMap(() => tuiControlValue<number>(this.control))),\n );\n\n public readonly totalSteps = computed(() =>\n /**\n * Not-integer amount of steps is invalid usage of native sliders\n * ```html\n * <input type=\"range\" [max]=\"100\" [step]=\"3.33\" />\n * ```\n * (impossible to select 100; 99.9 is max allowed value)\n */\n Math.round(100 / this.step()),\n );\n\n @tuiPure\n public get slider(): TuiSliderComponent {\n return this.injector.get(TuiSliderComponent);\n }\n\n @Input()\n public set keySteps(steps: TuiKeySteps | null) {\n this.transformer.set(steps && tuiCreateKeyStepsTransformer(steps));\n this.min.set(steps?.[0][1]);\n this.max.set(steps?.[steps.length - 1]?.[1]);\n }\n\n public takeStep(coefficient: number): number {\n const newValue = this.slider.value + coefficient;\n\n return (\n this.transformer()?.toControlValue(\n (this.slider.value + coefficient) / this.totalSteps(),\n ) ?? newValue\n );\n }\n\n public toSliderValue(fraction: number): number {\n return this.transformer() ? fraction * this.totalSteps() : fraction;\n }\n\n public setControlValue(controlValue: number): void {\n const fraction =\n this.transformer()?.fromControlValue(controlValue) ?? controlValue;\n\n this.slider.value = this.toSliderValue(fraction);\n }\n\n public getControlValue(): number {\n const {value} = this.slider;\n\n return this.transformer()?.toControlValue(value / this.totalSteps()) ?? value;\n }\n}\n\n@Directive({\n standalone: true,\n selector:\n 'input[tuiSlider][keySteps][ngModel],input[tuiSlider][keySteps][formControl],input[tuiSlider][keySteps][formControlName]',\n providers: [tuiFallbackValueProvider(0)],\n host: {\n '[value]': 'base.toSliderValue(value())',\n '[disabled]': 'disabled()',\n '(blur)': 'onTouched()',\n '(input)': 'setValue($event.target.value)',\n '(change)': 'setValue($event.target.value)',\n },\n})\nexport class TuiSliderKeySteps extends TuiControl<number> {\n protected readonly base = inject(TuiSliderKeyStepsBase);\n\n @Input()\n public set keySteps(steps: TuiKeySteps | null) {\n this.transformer = steps\n ? tuiCreateKeyStepsTransformer(steps)\n : TUI_IDENTITY_VALUE_TRANSFORMER;\n }\n\n protected setValue(sliderValue: number): void {\n this.onChange(\n this.base.transformer() ? sliderValue / this.base.totalSteps() : sliderValue,\n );\n }\n}\n","import {type BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {DOCUMENT} from '@angular/common';\nimport {Directive, inject, Input} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {combineLatest, filter, map, merge, tap} from 'rxjs';\n\nconst SLIDER_INTERACTION_KEYS = new Set([\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'End',\n 'Home',\n 'PageDown',\n 'PageUp',\n]);\n\n/**\n * Native <input type='range' readonly> doesn't work.\n * This directive imitates this native behaviour.\n */\n@Directive({\n standalone: true,\n selector: 'input[tuiSlider][readonly]',\n host: {\n '(keydown)': 'preventKeyboardInteraction($event)',\n '(mousedown)': 'preventEvent($event)',\n },\n})\nexport class TuiSliderReadonly {\n private readonly el = tuiInjectElement<HTMLInputElement>();\n private readonly doc = inject(DOCUMENT);\n\n @Input({transform: coerceBooleanProperty})\n public readonly: BooleanInput = true;\n\n constructor() {\n const touchStart$ = tuiTypedFromEvent(this.el, 'touchstart', {\n passive: false,\n });\n const touchMove$ = tuiTypedFromEvent(this.doc, 'touchmove', {\n passive: false,\n });\n const touchEnd$ = tuiTypedFromEvent(this.doc, 'touchend', {\n passive: true,\n });\n\n const shouldPreventMove$ = merge(\n touchStart$.pipe(\n tap((e) => this.preventEvent(e)),\n map(TUI_TRUE_HANDLER),\n ),\n touchEnd$.pipe(map(TUI_FALSE_HANDLER)),\n );\n\n /**\n * @bad TODO think about another solution.\n * Keep in mind that preventing touch event (on slider) inside `@HostListener('touchstart')` doesn't work for mobile chrome.\n */\n combineLatest([touchMove$, shouldPreventMove$])\n .pipe(\n filter(([_, shouldPreventMove]) => shouldPreventMove),\n takeUntilDestroyed(),\n )\n .subscribe(([moveEvent]) => this.preventEvent(moveEvent));\n }\n\n protected preventEvent(event: Event): void {\n if (event.cancelable && this.readonly) {\n event.preventDefault();\n }\n }\n\n protected preventKeyboardInteraction(event: KeyboardEvent): void {\n if (SLIDER_INTERACTION_KEYS.has(event.key)) {\n this.preventEvent(event);\n }\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {AsyncPipe} from '@angular/common';\nimport {\n type AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiHintOptionsProvider} from '@taiga-ui/core/directives/hint';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\n\nimport {TuiSliderComponent} from '../slider.component';\n\n@Component({\n selector: '[tuiSliderThumbLabel]',\n imports: [AsyncPipe],\n templateUrl: './slider-thumb-label.template.html',\n styleUrl: './slider-thumb-label.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiHintOptionsProvider({direction: 'top', appearance: 'floating'})],\n})\nexport class TuiSliderThumbLabel implements AfterContentInit {\n @ContentChild(TuiSliderComponent)\n protected readonly slider?: TuiSliderComponent;\n\n @ContentChild(NgControl)\n protected readonly control?: NgControl;\n\n public ngAfterContentInit(): void {\n ngDevMode &&\n console.assert(\n Boolean(this.control?.valueChanges),\n '\\n[tuiSliderThumbLabel] expected <input tuiSlider type=\"range\" /> to use Angular Forms.\\n' +\n 'Use [(ngModel)] or [formControl] or formControlName for correct work.',\n );\n }\n\n protected get size(): TuiSizeS {\n return this.slider?.size || 'm';\n }\n\n protected get ratio(): number {\n return this.slider?.valueRatio || 0;\n }\n\n protected get ghostStart(): number {\n return this.ratio * (this.slider?.el.offsetWidth || 0);\n }\n}\n","@if (control?.valueChanges | async) {}\n\n<div\n class=\"t-ghost\"\n [attr.data-size]=\"size\"\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","import {\n TuiSliderKeySteps,\n TuiSliderKeyStepsBase,\n} from './helpers/slider-key-steps.directive';\nimport {TuiSliderReadonly} from './helpers/slider-readonly.directive';\nimport {TuiSliderThumbLabel} from './helpers/slider-thumb-label.component';\nimport {TuiSliderComponent} from './slider.component';\n\nexport const TuiSlider = [\n TuiSliderComponent,\n TuiSliderThumbLabel,\n TuiSliderKeyStepsBase,\n TuiSliderKeySteps,\n TuiSliderReadonly,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-slider.mjs","sources":["../../../projects/kit/components/slider/helpers/key-steps.ts","../../../projects/kit/components/slider/slider.options.ts","../../../projects/kit/components/slider/slider.component.ts","../../../projects/kit/components/slider/helpers/slider-key-steps.directive.ts","../../../projects/kit/components/slider/helpers/slider-readonly.directive.ts","../../../projects/kit/components/slider/helpers/slider-thumb-label.component.ts","../../../projects/kit/components/slider/helpers/slider-thumb-label.template.html","../../../projects/kit/components/slider/slider.ts","../../../projects/kit/components/slider/taiga-ui-kit-components-slider.ts"],"sourcesContent":["import {type TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {tuiRound} from '@taiga-ui/cdk/utils/math';\n\n/**\n * Used as a limit for eliminating JS issues with floating point math\n */\nexport const TUI_FLOATING_PRECISION = 7;\n\n/**\n * Steps for splitting sliders into different linear dependencies.\n * Each element of the array has the form [percent, value]\n *\n * Thus, to set a field from 50,000 to 30,000,000 in steps:\n * 1) From 50 000 to 200 000 by 5000 per step (30 steps)\n * 2) From 200 000 to 1 000 000 by 50 000 per step (16 steps)\n * 3) From 1 000 000 to 30 000 000 by 500 000 per step (58 steps)\n *\n * You need to pass the following keyStep (where 104 = 30 + 16 + 58 is the total number of steps):\n * [\n * [0, 50_000],\n * [100 / 104 * 30, 200_000],\n * [100 / 104 * (30 + 16), 1_000_000],\n * [100, 30_000_000],\n * ];\n *\n */\nexport type TuiKeySteps = [[0, number], ...Array<[number, number]>, [100, number]];\n\nfunction tuiFindKeyStepsBoundariesByFn(\n keySteps: TuiKeySteps,\n fn: ([keyStepPercent, keyStepValue]: [number, number]) => boolean,\n): [[number, number], [number, number]] {\n const keyStepUpperIndex = keySteps.findIndex((keyStep, i) => i && fn(keyStep));\n\n const lowerStep = keySteps[keyStepUpperIndex - 1] || keySteps[0];\n const upperStep = keySteps[keyStepUpperIndex] ||\n keySteps[keySteps.length - 1] || [0, 0];\n\n return [lowerStep, upperStep];\n}\n\nexport function tuiPercentageToKeyStepValue(\n valuePercentage: number,\n keySteps: TuiKeySteps,\n): number {\n const [[lowerStepPercent, lowerStepValue], [upperStepPercent, upperStepValue]] =\n tuiFindKeyStepsBoundariesByFn(\n keySteps,\n ([keyStepPercentage, _]) => valuePercentage <= keyStepPercentage,\n );\n const ratio =\n (valuePercentage - lowerStepPercent) / (upperStepPercent - lowerStepPercent);\n const controlValue = (upperStepValue - lowerStepValue) * ratio + lowerStepValue;\n\n return tuiRound(controlValue, TUI_FLOATING_PRECISION);\n}\n\nexport function tuiKeyStepValueToPercentage(\n value: number,\n keySteps: TuiKeySteps,\n): number {\n const [[lowerStepPercent, lowerStepValue], [upperStepPercent, upperStepValue]] =\n tuiFindKeyStepsBoundariesByFn(\n keySteps,\n ([_, keyStepValue]) => value <= keyStepValue,\n );\n const ratio = (value - lowerStepValue) / (upperStepValue - lowerStepValue) || 0;\n\n return (upperStepPercent - lowerStepPercent) * ratio + lowerStepPercent;\n}\n\nexport function tuiCreateKeyStepsTransformer(\n keySteps: TuiKeySteps,\n): TuiValueTransformer<number, number> {\n return new (class implements TuiValueTransformer<number, number> {\n public fromControlValue(controlValue: number): number {\n return tuiKeyStepValueToPercentage(controlValue, keySteps) / 100;\n }\n\n public toControlValue(ratio: number): number {\n return tuiPercentageToKeyStepValue(ratio * 100, keySteps);\n }\n })();\n}\n","import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiSliderOptions {\n readonly size: TuiSizeS;\n readonly trackColor: string;\n}\n\nexport const TUI_SLIDER_DEFAULT_OPTIONS: TuiSliderOptions = {\n size: 'm',\n trackColor: 'var(--tui-background-neutral-2)',\n};\n\nexport const [TUI_SLIDER_OPTIONS, tuiSliderOptionsProvider] = tuiCreateOptions(\n TUI_SLIDER_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n Input,\n signal,\n} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiRound} from '@taiga-ui/cdk/utils/math';\nimport {tuiAsAuxiliary} from '@taiga-ui/core/tokens';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\nimport {take} from 'rxjs';\n\nimport {TUI_FLOATING_PRECISION} from './helpers/key-steps';\nimport {TuiSliderKeyStepsBase} from './helpers/slider-key-steps.directive';\nimport {TUI_SLIDER_OPTIONS} from './slider.options';\n\n@Component({\n selector: 'input[type=range][tuiSlider]',\n template: '',\n styleUrl: './slider.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsAuxiliary(TuiSliderComponent)],\n host: {\n /**\n * For change detection.\n * Webkit does not have built-in method for customization of filling progress (as Firefox).\n * We draw filling of progress by `background: linear-gradient(...)` of the track.\n * This function triggers change detection (for {@link valueRatio} getter) when we drag thumb of the input.\n */\n '(input)': '0',\n '[style.--tui-slider-track-color]': 'options.trackColor',\n '[style.--tui-ticks-gradient]': 'ticksGradient()',\n '[style.--tui-slider-fill-ratio]': 'valueRatio',\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiSliderComponent {\n private readonly control = inject(NgControl, {self: true, optional: true});\n\n protected readonly options = inject(TUI_SLIDER_OPTIONS);\n protected readonly segments = signal<number[]>([1]);\n protected readonly ticksGradient = computed((segments = this.segments()) =>\n this.getTicksGradient(segments),\n );\n\n @Input()\n public size: TuiSizeS = this.options.size;\n\n public readonly el = tuiInjectElement<HTMLInputElement>();\n public readonly keySteps = inject(TuiSliderKeyStepsBase, {\n self: true,\n optional: true,\n });\n\n constructor() {\n if (this.control instanceof NgModel) {\n /**\n * The ValueAccessor.writeValue method is called twice on any value accessor during component initialization,\n * when a control is bound using [(ngModel)], first time with a phantom null value.\n * With `changeDetection: ChangeDetectionStrategy.OnPush` the second call of writeValue with real value don't re-render the view.\n * ___\n * See this {@link https://github.com/angular/angular/issues/14988 issue}\n */\n this.control.valueChanges?.pipe(tuiWatch(), take(1)).subscribe();\n }\n }\n\n // TODO(v5): use signal inputs\n @Input({\n alias: 'segments',\n transform: (x: number[] | number) =>\n Array.isArray(x) ? x : Array.from({length: x}, (_, i) => i / x),\n })\n public set segmentsSetter(segments: number[]) {\n this.segments.set(segments);\n }\n\n public get valueRatio(): number {\n return (this.value - this.min) / (this.max - this.min) || 0;\n }\n\n public get min(): number {\n return Number(this.el.min);\n }\n\n public set min(x: number) {\n this.el.min = String(x);\n }\n\n public get max(): number {\n return Number(this.el.max || 100);\n }\n\n public set max(x: number) {\n this.el.max = String(x);\n }\n\n public get step(): number {\n if (!this.el.step) {\n return 1;\n }\n\n return this.el.step === 'any' ? 0 : Number(this.el.step);\n }\n\n public set step(x: number) {\n this.el.step = String(x);\n }\n\n public get value(): number {\n /**\n * If developer uses `[(ngModel)]` and programmatically change value,\n * the `el.nativeElement.value` is equal to the previous value at this moment\n * (it will be updated only in next microtask).\n * @see https://github.com/angular/angular/issues/13568\n */\n if (this.control instanceof NgModel) {\n const transformer = this.keySteps?.transformer();\n const value =\n this.keySteps && transformer\n ? this.keySteps.toSliderValue(\n transformer.fromControlValue(this.control.value),\n )\n : this.control.viewModel;\n\n return this.step\n ? tuiRound(\n Math.round(value / this.step) * this.step,\n TUI_FLOATING_PRECISION,\n )\n : value;\n }\n\n return Number(this.el.value) || 0;\n }\n\n public set value(newValue: number) {\n this.el.value = `${newValue}`;\n }\n\n protected getTicksGradient(segments: number[]): string {\n if (segments.length <= 1) {\n return 'linear-gradient(to right, transparent 0 100%)';\n }\n\n const percentages = segments\n .filter((segment) => segment > 0 && segment < 1)\n .map((segment) => segment * 100);\n\n return percentages.reduce(\n (acc, segment, index) =>\n `${acc}\n var(--tui-text-tertiary) ${segment}% calc(${segment}% + var(--t-tick-thickness)),\n transparent ${segment}% ${percentages[index + 1] ?? 100}%${percentages[index + 1] ? ',' : ')'}\n `,\n `linear-gradient(to right, transparent 0 ${percentages[0]}%,`,\n );\n }\n}\n","import {computed, Directive, inject, INJECTOR, Input, input, signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {NgControl} from '@angular/forms';\nimport {\n TUI_IDENTITY_VALUE_TRANSFORMER,\n TuiControl,\n type TuiValueTransformer,\n} from '@taiga-ui/cdk/classes';\nimport {tuiControlValue} from '@taiga-ui/cdk/observables';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {switchMap, timer} from 'rxjs';\n\nimport {TuiSliderComponent} from '../slider.component';\nimport {tuiCreateKeyStepsTransformer, type TuiKeySteps} from './key-steps';\n\n@Directive({\n selector: 'input[tuiSlider][keySteps]',\n host: {\n '[attr.min]': 'transformer() ? 0 : slider.min',\n '[attr.step]': 'transformer() ? 1 : step()',\n '[attr.max]': 'transformer() ? totalSteps() : slider.max',\n '[attr.aria-valuemin]': 'min()',\n '[attr.aria-valuemax]': 'max()',\n '[attr.aria-valuenow]': 'controlValue()',\n },\n})\nexport class TuiSliderKeyStepsBase {\n private readonly injector = inject(INJECTOR);\n private readonly control = inject(NgControl, {self: true, optional: true});\n\n protected readonly min = signal<number | undefined>(undefined);\n protected readonly max = signal<number | undefined>(undefined);\n\n public step = input(1);\n\n public transformer = signal<TuiValueTransformer<number, number> | null>(null);\n public controlValue = toSignal(\n timer(0) // https://github.com/angular/angular/issues/54418\n .pipe(switchMap(() => tuiControlValue<number>(this.control))),\n );\n\n public readonly totalSteps = computed(() =>\n /**\n * Not-integer amount of steps is invalid usage of native sliders\n * ```html\n * <input type=\"range\" [max]=\"100\" [step]=\"3.33\" />\n * ```\n * (impossible to select 100; 99.9 is max allowed value)\n */\n Math.round(100 / this.step()),\n );\n\n @tuiPure\n public get slider(): TuiSliderComponent {\n return this.injector.get(TuiSliderComponent);\n }\n\n @Input()\n public set keySteps(steps: TuiKeySteps | null) {\n this.transformer.set(steps && tuiCreateKeyStepsTransformer(steps));\n this.min.set(steps?.[0][1]);\n this.max.set(steps?.[steps.length - 1]?.[1]);\n }\n\n public takeStep(coefficient: number): number {\n const newValue = this.slider.value + coefficient;\n\n return (\n this.transformer()?.toControlValue(\n (this.slider.value + coefficient) / this.totalSteps(),\n ) ?? newValue\n );\n }\n\n public toSliderValue(fraction: number): number {\n return this.transformer() ? fraction * this.totalSteps() : fraction;\n }\n\n public setControlValue(controlValue: number): void {\n const fraction =\n this.transformer()?.fromControlValue(controlValue) ?? controlValue;\n\n this.slider.value = this.toSliderValue(fraction);\n }\n\n public getControlValue(): number {\n const {value} = this.slider;\n\n return this.transformer()?.toControlValue(value / this.totalSteps()) ?? value;\n }\n}\n\n@Directive({\n selector:\n 'input[tuiSlider][keySteps][ngModel],input[tuiSlider][keySteps][formControl],input[tuiSlider][keySteps][formControlName]',\n providers: [tuiFallbackValueProvider(0)],\n host: {\n '[value]': 'base.toSliderValue(value())',\n '[disabled]': 'disabled()',\n '(blur)': 'onTouched()',\n '(input)': 'setValue($event.target.value)',\n '(change)': 'setValue($event.target.value)',\n },\n})\nexport class TuiSliderKeySteps extends TuiControl<number> {\n protected readonly base = inject(TuiSliderKeyStepsBase);\n\n @Input()\n public set keySteps(steps: TuiKeySteps | null) {\n this.transformer = steps\n ? tuiCreateKeyStepsTransformer(steps)\n : TUI_IDENTITY_VALUE_TRANSFORMER;\n }\n\n protected setValue(sliderValue: number): void {\n this.onChange(\n this.base.transformer() ? sliderValue / this.base.totalSteps() : sliderValue,\n );\n }\n}\n","import {type BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {DOCUMENT} from '@angular/common';\nimport {Directive, inject, Input} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {combineLatest, filter, map, merge, tap} from 'rxjs';\n\nconst SLIDER_INTERACTION_KEYS = new Set([\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'End',\n 'Home',\n 'PageDown',\n 'PageUp',\n]);\n\n/**\n * Native <input type='range' readonly> doesn't work.\n * This directive imitates this native behaviour.\n */\n@Directive({\n selector: 'input[tuiSlider][readonly]',\n host: {\n '(keydown)': 'preventKeyboardInteraction($event)',\n '(mousedown)': 'preventEvent($event)',\n },\n})\nexport class TuiSliderReadonly {\n private readonly el = tuiInjectElement<HTMLInputElement>();\n private readonly doc = inject(DOCUMENT);\n\n @Input({transform: coerceBooleanProperty})\n public readonly: BooleanInput = true;\n\n constructor() {\n const touchStart$ = tuiTypedFromEvent(this.el, 'touchstart', {\n passive: false,\n });\n const touchMove$ = tuiTypedFromEvent(this.doc, 'touchmove', {\n passive: false,\n });\n const touchEnd$ = tuiTypedFromEvent(this.doc, 'touchend', {\n passive: true,\n });\n\n const shouldPreventMove$ = merge(\n touchStart$.pipe(\n tap((e) => this.preventEvent(e)),\n map(TUI_TRUE_HANDLER),\n ),\n touchEnd$.pipe(map(TUI_FALSE_HANDLER)),\n );\n\n /**\n * @bad TODO think about another solution.\n * Keep in mind that preventing touch event (on slider) inside `@HostListener('touchstart')` doesn't work for mobile chrome.\n */\n combineLatest([touchMove$, shouldPreventMove$])\n .pipe(\n filter(([_, shouldPreventMove]) => shouldPreventMove),\n takeUntilDestroyed(),\n )\n .subscribe(([moveEvent]) => this.preventEvent(moveEvent));\n }\n\n protected preventEvent(event: Event): void {\n if (event.cancelable && this.readonly) {\n event.preventDefault();\n }\n }\n\n protected preventKeyboardInteraction(event: KeyboardEvent): void {\n if (SLIDER_INTERACTION_KEYS.has(event.key)) {\n this.preventEvent(event);\n }\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {AsyncPipe} from '@angular/common';\nimport {\n type AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiHintOptionsProvider} from '@taiga-ui/core/portals/hint';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\n\nimport {TuiSliderComponent} from '../slider.component';\n\n@Component({\n selector: '[tuiSliderThumbLabel]',\n imports: [AsyncPipe],\n templateUrl: './slider-thumb-label.template.html',\n styleUrl: './slider-thumb-label.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiHintOptionsProvider({direction: 'top', appearance: 'floating'})],\n})\nexport class TuiSliderThumbLabel implements AfterContentInit {\n @ContentChild(TuiSliderComponent)\n protected readonly slider?: TuiSliderComponent;\n\n @ContentChild(NgControl)\n protected readonly control?: NgControl;\n\n public ngAfterContentInit(): void {\n ngDevMode &&\n console.assert(\n Boolean(this.control?.valueChanges),\n '\\n[tuiSliderThumbLabel] expected <input tuiSlider type=\"range\" /> to use Angular Forms.\\n' +\n 'Use [(ngModel)] or [formControl] or formControlName for correct work.',\n );\n }\n\n protected get size(): TuiSizeS {\n return this.slider?.size || 'm';\n }\n\n protected get ratio(): number {\n return this.slider?.valueRatio || 0;\n }\n\n protected get ghostStart(): number {\n return this.ratio * (this.slider?.el.offsetWidth || 0);\n }\n}\n","@if (control?.valueChanges | async) {}\n\n<div\n class=\"t-ghost\"\n [attr.data-size]=\"size\"\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","import {\n TuiSliderKeySteps,\n TuiSliderKeyStepsBase,\n} from './helpers/slider-key-steps.directive';\nimport {TuiSliderReadonly} from './helpers/slider-readonly.directive';\nimport {TuiSliderThumbLabel} from './helpers/slider-thumb-label.component';\nimport {TuiSliderComponent} from './slider.component';\n\nexport const TuiSlider = [\n TuiSliderComponent,\n TuiSliderThumbLabel,\n TuiSliderKeyStepsBase,\n TuiSliderKeySteps,\n TuiSliderReadonly,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,10 @@ import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
|
|
|
6
6
|
import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
7
7
|
|
|
8
8
|
class Styles {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-slides" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiSlides]{display:grid;isolation:isolate}[tuiSlides][data-direction=\"-1\"]>*{--tui-from: translateX(-2rem)}[tuiSlides][data-direction=\"-1\"]>*.tui-leave{--tui-from: translateX(1rem)}[tuiSlides][data-direction=\"1\"]>*{--tui-from: translateX(2rem)}[tuiSlides][data-direction=\"1\"]>*.tui-leave{--tui-from: translateX(-1rem)}[tuiSlides]>*{grid-area:1 / 1;align-self:start;mix-blend-mode:plus-lighter;animation-name:tuiFade,tuiSlide;animation-duration:var(--tui-duration);animation-timing-function:ease-in-out;--tui-from: translateY(0)}[tuiSlides]>*.tui-slide:not(.tui-leave){animation-name:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Styles, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
14
|
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-slides' }, styles: ["[tuiSlides]{display:grid;isolation:isolate}[tuiSlides][data-direction=\"-1\"]>*{--tui-from: translateX(-2rem)}[tuiSlides][data-direction=\"-1\"]>*.tui-leave{--tui-from: translateX(1rem)}[tuiSlides][data-direction=\"1\"]>*{--tui-from: translateX(2rem)}[tuiSlides][data-direction=\"1\"]>*.tui-leave{--tui-from: translateX(-1rem)}[tuiSlides]>*{grid-area:1 / 1;align-self:start;mix-blend-mode:plus-lighter;animation-name:tuiFade,tuiSlide;animation-duration:var(--tui-duration);animation-timing-function:ease-in-out;--tui-from: translateY(0)}[tuiSlides]>*.tui-slide:not(.tui-leave){animation-name:none}\n"] }]
|
|
15
15
|
}] });
|
|
@@ -25,10 +25,10 @@ class TuiSlides {
|
|
|
25
25
|
.find((element) => element === target)
|
|
26
26
|
?.classList.add('tui-slide');
|
|
27
27
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
29
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiSlides, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
29
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.16", type: TuiSlides, isStandalone: true, selector: "[tuiSlides]", inputs: { direction: { classPropertyName: "direction", publicName: "tuiSlides", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiSlides": "" }, listeners: { "animationend": "onAnimation($event.target)" }, properties: { "attr.data-direction": "sign()" } }, hostDirectives: [{ directive: i1.TuiAnimatedParent }], ngImport: i0 }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiSlides, decorators: [{
|
|
32
32
|
type: Directive,
|
|
33
33
|
args: [{
|
|
34
34
|
selector: '[tuiSlides]',
|
|
@@ -3,10 +3,10 @@ import { ChangeDetectionStrategy, ViewEncapsulation, Component, input, Directive
|
|
|
3
3
|
import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
4
4
|
|
|
5
5
|
class Styles {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-status" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiStatus]{display:inline-flex;align-items:center;gap:.5rem}[tuiStatus]:before{content:\"\";display:var(--t-status, none);inline-size:.5rem;block-size:.5rem;border-radius:100%;background:var(--t-status)}[tuiStatus][data-size=s],[tuiStatus][data-size=m],[tuiStatus][data-size=l]{gap:.25rem}[tuiStatus][data-size=xl]{gap:.375rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
8
8
|
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: Styles, decorators: [{
|
|
10
10
|
type: Component,
|
|
11
11
|
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-status' }, styles: ["[tuiStatus]{display:inline-flex;align-items:center;gap:.5rem}[tuiStatus]:before{content:\"\";display:var(--t-status, none);inline-size:.5rem;block-size:.5rem;border-radius:100%;background:var(--t-status)}[tuiStatus][data-size=s],[tuiStatus][data-size=m],[tuiStatus][data-size=l]{gap:.25rem}[tuiStatus][data-size=xl]{gap:.375rem}\n"] }]
|
|
12
12
|
}] });
|
|
@@ -15,10 +15,10 @@ class TuiStatus {
|
|
|
15
15
|
this.nothing = tuiWithStyles(Styles);
|
|
16
16
|
this.tuiStatus = input('');
|
|
17
17
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
19
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiStatus, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.16", type: TuiStatus, isStandalone: true, selector: "[tuiStatus]", inputs: { tuiStatus: { classPropertyName: "tuiStatus", publicName: "tuiStatus", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiStatus": "" }, properties: { "style.--t-status": "tuiStatus() || null" } }, ngImport: i0 }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiStatus, decorators: [{
|
|
22
22
|
type: Directive,
|
|
23
23
|
args: [{
|
|
24
24
|
selector: '[tuiStatus]',
|