@taiga-ui/kit 4.52.0-canary.9fae831 → 4.52.0-canary.a59c4d0

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.
Files changed (206) hide show
  1. package/components/accordion/accordion.component.d.ts +13 -0
  2. package/components/accordion/accordion.d.ts +4 -4
  3. package/components/accordion/accordion.directive.d.ts +11 -10
  4. package/components/accordion/index.d.ts +1 -3
  5. package/components/action-bar/action-bar.component.d.ts +5 -7
  6. package/components/action-bar/index.d.ts +0 -2
  7. package/components/avatar/avatar-outline.directive.d.ts +3 -3
  8. package/components/badge/badge.directive.d.ts +2 -2
  9. package/components/block/block.directive.d.ts +4 -4
  10. package/components/block/block.options.d.ts +1 -1
  11. package/components/chip/chip.directive.d.ts +2 -4
  12. package/components/comment/comment.directive.d.ts +2 -2
  13. package/components/floating-container/floating-container.directive.d.ts +2 -2
  14. package/components/fullscreen/fullscreen.component.d.ts +14 -0
  15. package/components/fullscreen/index.d.ts +1 -0
  16. package/components/index.d.ts +3 -1
  17. package/components/input-number/quantum.directive.d.ts +1 -1
  18. package/components/input-phone-international/input-phone-international.component.d.ts +23 -29
  19. package/components/input-range/input-range.component.d.ts +8 -11
  20. package/components/input-slider/input-slider.directive.d.ts +2 -4
  21. package/components/like/like.component.d.ts +2 -2
  22. package/components/line-clamp/line-clamp-box.component.d.ts +3 -4
  23. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +2 -2
  24. package/components/pin/pin.directive.d.ts +2 -2
  25. package/components/progress/progress-bar/fixed-gradient/progress-fixed-gradient.directive.d.ts +1 -2
  26. package/components/progress/progress-segmented/progress-segmented.directive.d.ts +2 -2
  27. package/components/push/push-alert.component.d.ts +3 -3
  28. package/components/push/push.directive.d.ts +4 -6
  29. package/components/push/push.options.d.ts +2 -0
  30. package/components/push/push.service.d.ts +5 -2
  31. package/components/range/range-change.directive.d.ts +1 -1
  32. package/components/range/range.component.d.ts +0 -5
  33. package/components/slider/helpers/key-steps.d.ts +1 -2
  34. package/components/slider/helpers/slider-key-steps.directive.d.ts +12 -21
  35. package/components/slides/slides.directive.d.ts +4 -4
  36. package/components/status/status.directive.d.ts +2 -2
  37. package/components/toast/index.d.ts +5 -0
  38. package/components/toast/toast.component.d.ts +17 -0
  39. package/components/toast/toast.d.ts +3 -0
  40. package/components/toast/toast.directive.d.ts +7 -0
  41. package/components/toast/toast.options.d.ts +8 -0
  42. package/components/toast/toast.service.d.ts +16 -0
  43. package/directives/button-select/button-select.directive.d.ts +1 -2
  44. package/directives/chevron/chevron.directive.d.ts +2 -3
  45. package/directives/fade/fade.directive.d.ts +1 -0
  46. package/directives/index.d.ts +0 -1
  47. package/directives/sensitive/sensitive.directive.d.ts +2 -2
  48. package/directives/shimmer/shimmer.directive.d.ts +3 -3
  49. package/directives/skeleton/skeleton.directive.d.ts +3 -3
  50. package/directives/tooltip/tooltip.directive.d.ts +2 -2
  51. package/fesm2022/taiga-ui-kit-components-accordion.mjs +69 -144
  52. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-kit-components-action-bar.mjs +22 -38
  54. package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-kit-components-avatar.mjs +21 -32
  56. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-kit-components-badge.mjs +11 -18
  59. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
  61. package/fesm2022/taiga-ui-kit-components-block.mjs +15 -22
  62. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +2 -2
  64. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-kit-components-carousel.mjs +2 -2
  68. package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-kit-components-checkbox.mjs +2 -2
  70. package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-kit-components-chip.mjs +13 -25
  72. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-kit-components-comment.mjs +11 -18
  74. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  77. package/fesm2022/{taiga-ui-kit-directives-copy.mjs → taiga-ui-kit-components-copy.mjs} +1 -1
  78. package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -0
  79. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +4 -4
  80. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  81. package/fesm2022/taiga-ui-kit-components-drawer.mjs +2 -2
  82. package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
  83. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-kit-components-files.mjs +4 -4
  85. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  86. package/fesm2022/taiga-ui-kit-components-filter.mjs +1 -1
  87. package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-kit-components-floating-container.mjs +11 -17
  89. package/fesm2022/taiga-ui-kit-components-floating-container.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +63 -0
  91. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs.map +1 -0
  92. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  93. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  94. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  95. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  96. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  97. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  98. package/fesm2022/taiga-ui-kit-components-input-number.mjs +7 -6
  99. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  100. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +102 -125
  101. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  102. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  103. package/fesm2022/taiga-ui-kit-components-input-range.mjs +29 -25
  104. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
  105. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +24 -37
  106. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  107. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  108. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +2 -2
  109. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  110. package/fesm2022/taiga-ui-kit-components-like.mjs +3 -3
  111. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  112. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +6 -8
  113. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  114. package/fesm2022/taiga-ui-kit-components-message.mjs +6 -8
  115. package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
  116. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +13 -11
  117. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  118. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +2 -9
  119. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs.map +1 -1
  120. package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  122. package/fesm2022/taiga-ui-kit-components-pin.mjs +13 -17
  123. package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
  124. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs +2 -2
  125. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs.map +1 -1
  126. package/fesm2022/taiga-ui-kit-components-preview.mjs +2 -2
  127. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  128. package/fesm2022/taiga-ui-kit-components-progress.mjs +21 -34
  129. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  130. package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
  131. package/fesm2022/taiga-ui-kit-components-push.mjs +34 -29
  132. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  133. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +2 -2
  134. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  135. package/fesm2022/taiga-ui-kit-components-radio.mjs +2 -2
  136. package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
  137. package/fesm2022/taiga-ui-kit-components-range.mjs +4 -13
  138. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  139. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  140. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  141. package/fesm2022/taiga-ui-kit-components-select.mjs +4 -4
  142. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  143. package/fesm2022/taiga-ui-kit-components-slider.mjs +57 -55
  144. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  145. package/fesm2022/taiga-ui-kit-components-slides.mjs +12 -20
  146. package/fesm2022/taiga-ui-kit-components-slides.mjs.map +1 -1
  147. package/fesm2022/taiga-ui-kit-components-status.mjs +10 -14
  148. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  149. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  150. package/fesm2022/taiga-ui-kit-components-switch.mjs +2 -2
  151. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  152. package/fesm2022/taiga-ui-kit-components-tabs.mjs +8 -11
  153. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  154. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  155. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  156. package/fesm2022/taiga-ui-kit-components-toast.mjs +166 -0
  157. package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -0
  158. package/fesm2022/taiga-ui-kit-components-tree.mjs +3 -3
  159. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  160. package/fesm2022/taiga-ui-kit-components.mjs +3 -1
  161. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  162. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +6 -9
  163. package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
  164. package/fesm2022/taiga-ui-kit-directives-button-select.mjs +2 -9
  165. package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
  166. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +11 -18
  167. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  168. package/fesm2022/taiga-ui-kit-directives-connected.mjs +7 -12
  169. package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
  170. package/fesm2022/taiga-ui-kit-directives-fade.mjs +6 -9
  171. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  172. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +11 -16
  173. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  174. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +22 -32
  175. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  176. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +25 -36
  177. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  178. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +11 -16
  179. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  180. package/fesm2022/taiga-ui-kit-directives.mjs +0 -1
  181. package/fesm2022/taiga-ui-kit-directives.mjs.map +1 -1
  182. package/package.json +26 -21
  183. package/styles/components/checkbox.less +1 -1
  184. package/styles/components/chip.less +1 -0
  185. package/styles/components/pin.less +0 -1
  186. package/styles/components/radio.less +1 -1
  187. package/styles/components/switch.less +1 -1
  188. package/styles/components/toast.less +44 -0
  189. package/components/accordion/accordion-item-content.directive.d.ts +0 -6
  190. package/components/accordion/accordion-item-eager-content.directive.d.ts +0 -5
  191. package/components/accordion/accordion-item.component.d.ts +0 -25
  192. package/components/action-bar/action-bar.d.ts +0 -3
  193. package/components/action-bar/action-bar.directive.d.ts +0 -6
  194. package/components/pdf-viewer/index.d.ts +0 -4
  195. package/components/pdf-viewer/pdf-viewer.component.d.ts +0 -12
  196. package/components/pdf-viewer/pdf-viewer.directive.d.ts +0 -7
  197. package/components/pdf-viewer/pdf-viewer.options.d.ts +0 -13
  198. package/components/pdf-viewer/pdf-viewer.service.d.ts +0 -13
  199. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs +0 -83
  200. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs.map +0 -1
  201. package/fesm2022/taiga-ui-kit-directives-copy.mjs.map +0 -1
  202. /package/{directives → components}/copy/copy.component.d.ts +0 -0
  203. /package/{directives → components}/copy/copy.d.ts +0 -0
  204. /package/{directives → components}/copy/copy.directive.d.ts +0 -0
  205. /package/{directives → components}/copy/copy.options.d.ts +0 -0
  206. /package/{directives → components}/copy/index.d.ts +0 -0
@@ -11,25 +11,23 @@ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
11
11
  import { merge, fromEvent, filter } from 'rxjs';
12
12
 
13
13
  const BUFFER = 1; // buffer for rounding issues
14
- class TuiFadeStyles {
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiFadeStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiFadeStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-fade-styles" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiFade]{scrollbar-width:none;-ms-overflow-style:none;transition-property:mask-position;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;overflow:auto;text-overflow:unset!important;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[tuiFade]::-webkit-scrollbar,[tuiFade]::-webkit-scrollbar-thumb{display:none}[tuiFade]:not([data-orientation=vertical]){overflow-y:hidden;-webkit-mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;-webkit-mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%));mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%))}[tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[tuiFade][data-orientation=vertical]{overflow-x:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));-webkit-mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset));mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._start{-webkit-mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._end{-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom;mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom}[tuiFade][data-orientation=vertical]._start._end{-webkit-mask-position:left top,left bottom;mask-position:left top,left bottom}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14
+ class Styles {
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-fade" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiFade]{scrollbar-width:none;-ms-overflow-style:none;transition-property:mask-position;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;overflow:auto;text-overflow:unset!important;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[tuiFade]::-webkit-scrollbar,[tuiFade]::-webkit-scrollbar-thumb{display:none}[tuiFade]:not([data-orientation=vertical]){overflow-y:hidden;-webkit-mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;-webkit-mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%));mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%))}[tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[tuiFade][data-orientation=vertical]{overflow-x:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));-webkit-mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset));mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._start{-webkit-mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._end{-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom;mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom}[tuiFade][data-orientation=vertical]._start._end{-webkit-mask-position:left top,left bottom;mask-position:left top,left bottom}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiFadeStyles, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
19
19
  type: Component,
20
- args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
21
- class: 'tui-fade-styles',
22
- }, styles: ["[tuiFade]{scrollbar-width:none;-ms-overflow-style:none;transition-property:mask-position;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;overflow:auto;text-overflow:unset!important;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[tuiFade]::-webkit-scrollbar,[tuiFade]::-webkit-scrollbar-thumb{display:none}[tuiFade]:not([data-orientation=vertical]){overflow-y:hidden;-webkit-mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;-webkit-mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%));mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%))}[tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[tuiFade][data-orientation=vertical]{overflow-x:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));-webkit-mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset));mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._start{-webkit-mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._end{-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom;mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom}[tuiFade][data-orientation=vertical]._start._end{-webkit-mask-position:left top,left bottom;mask-position:left top,left bottom}\n"] }]
20
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-fade' }, styles: ["[tuiFade]{scrollbar-width:none;-ms-overflow-style:none;transition-property:mask-position;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;overflow:auto;text-overflow:unset!important;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[tuiFade]::-webkit-scrollbar,[tuiFade]::-webkit-scrollbar-thumb{display:none}[tuiFade]:not([data-orientation=vertical]){overflow-y:hidden;-webkit-mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;-webkit-mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%));mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%))}[tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[tuiFade][data-orientation=vertical]{overflow-x:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));-webkit-mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset));mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._start{-webkit-mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._end{-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom;mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom}[tuiFade][data-orientation=vertical]._start._end{-webkit-mask-position:left top,left bottom;mask-position:left top,left bottom}\n"] }]
23
21
  }] });
24
22
  class TuiFade {
25
23
  constructor() {
24
+ this.nothing = tuiWithStyles(Styles);
26
25
  // TODO: Remove when lh CSS units are supported: https://caniuse.com/mdn-css_types_length_lh
27
26
  this.lineHeight = null;
28
27
  this.size = '1.5em';
29
28
  this.offset = '0em';
30
29
  this.orientation = 'horizontal';
31
30
  const el = tuiInjectElement();
32
- tuiWithStyles(TuiFadeStyles);
33
31
  merge(inject(ResizeObserverService, { self: true }), inject(MutationObserverService, { self: true }), fromEvent(el, 'scroll'))
34
32
  .pipe(filter(() => !!el.scrollWidth), tuiZonefree(), takeUntilDestroyed())
35
33
  .subscribe(() => {
@@ -57,7 +55,6 @@ class TuiFade {
57
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiFade, decorators: [{
58
56
  type: Directive,
59
57
  args: [{
60
- standalone: true,
61
58
  selector: '[tuiFade]',
62
59
  providers: [
63
60
  ResizeObserverService,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-fade.mjs","sources":["../../../projects/kit/directives/fade/fade.directive.ts","../../../projects/kit/directives/fade/taiga-ui-kit-directives-fade.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {TuiTransitioned} from '@taiga-ui/cdk/directives/transitioned';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiOrientation} from '@taiga-ui/core/types';\nimport {filter, fromEvent, merge} from 'rxjs';\n\nconst BUFFER = 1; // buffer for rounding issues\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./fade.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-fade-styles',\n },\n})\nclass TuiFadeStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiFade]',\n providers: [\n ResizeObserverService,\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {characterData: true, subtree: true},\n },\n ],\n hostDirectives: [TuiTransitioned],\n host: {\n '[style.line-height]': 'lineHeight',\n '[style.--t-line-height]': 'lineHeight',\n '[style.--t-fade-size]': 'size',\n '[style.--t-fade-offset]': 'offset',\n '[attr.data-orientation]': 'orientation',\n },\n})\nexport class TuiFade {\n // TODO: Remove when lh CSS units are supported: https://caniuse.com/mdn-css_types_length_lh\n @Input('tuiFadeHeight')\n public lineHeight: string | null = null;\n\n @Input('tuiFadeSize')\n public size = '1.5em';\n\n @Input('tuiFadeOffset')\n public offset = '0em';\n\n @Input('tuiFade')\n public orientation: TuiOrientation | '' = 'horizontal';\n\n constructor() {\n const el = tuiInjectElement();\n\n tuiWithStyles(TuiFadeStyles);\n merge(\n inject(ResizeObserverService, {self: true}),\n inject(MutationObserverService, {self: true}),\n fromEvent(el, 'scroll'),\n )\n .pipe(\n filter(() => !!el.scrollWidth),\n tuiZonefree(),\n takeUntilDestroyed(),\n )\n .subscribe(() => {\n el.classList.toggle('_end', this.isEnd(el));\n el.classList.toggle(\n '_start',\n !!Math.floor(el.scrollLeft) || !!Math.floor(el.scrollTop),\n );\n });\n }\n\n private isEnd({\n scrollTop,\n scrollLeft,\n scrollHeight,\n scrollWidth,\n clientHeight,\n clientWidth,\n }: HTMLElement): boolean {\n return this.orientation === 'vertical'\n ? Math.round(scrollTop) < scrollHeight - clientHeight - BUFFER\n : Math.ceil(Math.abs(scrollLeft)) < scrollWidth - clientWidth - BUFFER ||\n // horizontal multiline fade can kick in early due to hanging elements of fonts so using bigger buffer\n scrollHeight > clientHeight + 4 * BUFFER;\n }\n}\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-directives-fade.mjs","sources":["../../../projects/kit/directives/fade/fade.directive.ts","../../../projects/kit/directives/fade/taiga-ui-kit-directives-fade.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {TuiTransitioned} from '@taiga-ui/cdk/directives/transitioned';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiOrientation} from '@taiga-ui/core/types';\nimport {filter, fromEvent, merge} from 'rxjs';\n\nconst BUFFER = 1; // buffer for rounding issues\n\n@Component({\n template: '',\n styleUrl: './fade.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-fade'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiFade]',\n providers: [\n ResizeObserverService,\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {characterData: true, subtree: true},\n },\n ],\n hostDirectives: [TuiTransitioned],\n host: {\n '[style.line-height]': 'lineHeight',\n '[style.--t-line-height]': 'lineHeight',\n '[style.--t-fade-size]': 'size',\n '[style.--t-fade-offset]': 'offset',\n '[attr.data-orientation]': 'orientation',\n },\n})\nexport class TuiFade {\n protected readonly nothing = tuiWithStyles(Styles);\n\n // TODO: Remove when lh CSS units are supported: https://caniuse.com/mdn-css_types_length_lh\n @Input('tuiFadeHeight')\n public lineHeight: string | null = null;\n\n @Input('tuiFadeSize')\n public size = '1.5em';\n\n @Input('tuiFadeOffset')\n public offset = '0em';\n\n @Input('tuiFade')\n public orientation: TuiOrientation | '' = 'horizontal';\n\n constructor() {\n const el = tuiInjectElement();\n\n merge(\n inject(ResizeObserverService, {self: true}),\n inject(MutationObserverService, {self: true}),\n fromEvent(el, 'scroll'),\n )\n .pipe(\n filter(() => !!el.scrollWidth),\n tuiZonefree(),\n takeUntilDestroyed(),\n )\n .subscribe(() => {\n el.classList.toggle('_end', this.isEnd(el));\n el.classList.toggle(\n '_start',\n !!Math.floor(el.scrollLeft) || !!Math.floor(el.scrollTop),\n );\n });\n }\n\n private isEnd({\n scrollTop,\n scrollLeft,\n scrollHeight,\n scrollWidth,\n clientHeight,\n clientWidth,\n }: HTMLElement): boolean {\n return this.orientation === 'vertical'\n ? Math.round(scrollTop) < scrollHeight - clientHeight - BUFFER\n : Math.ceil(Math.abs(scrollLeft)) < scrollWidth - clientWidth - BUFFER ||\n // horizontal multiline fade can kick in early due to hanging elements of fonts so using bigger buffer\n scrollHeight > clientHeight + 4 * BUFFER;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, Input, Directive } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, input, Directive } from '@angular/core';
3
3
  import { toSignal } from '@angular/core/rxjs-interop';
4
4
  import { ResizeObserverService } from '@ng-web-apis/resize-observer';
5
5
  import { tuiZonefull, tuiWatch } from '@taiga-ui/cdk/observables';
@@ -7,44 +7,39 @@ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
7
7
  import { map } from 'rxjs';
8
8
 
9
9
  const rowsInSvg = 3;
10
- class TuiSensitiveStyles {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSensitiveStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiSensitiveStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-sensitive-styles" }, ngImport: i0, template: '', isInline: true, styles: [".tui-sensitive{position:relative;line-height:1em;clip-path:inset(0 round .25rem)}.tui-sensitive:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";display:block!important;background:currentColor;border-radius:inherit;mask:url('data:image/svg+xml,<svg width=\"360\" height=\"72\" preserveAspectRatio=\"none\" fill=\"black\" xmlns=\"http://www.w3.org/2000/svg\"><rect opacity=\"0.2\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"336\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"120\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"216\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"312\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"144\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"192\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"288\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"240\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.24\" x=\"72\" width=\"24\" height=\"24\"/><rect opacity=\"0.34\" x=\"264\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"168\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"336\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"120\" y=\"0\" width=\"24\" height=\"24\" /><rect opacity=\"0.3\" x=\"216\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"24\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"312\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"144\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"192\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"48\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"288\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.38\" x=\"96\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"240\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"72\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"264\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" x=\"168\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"240\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"72\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"192\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.34\" x=\"216\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"24\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"168\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"264\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.31\" x=\"288\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"312\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.28\" x=\"144\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"336\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"120\" y=\"48\" width=\"24\" height=\"24\"/></svg>') var(--t-offset, 0) 0 / auto var(--t-mask-height);margin:0!important}.tui-sensitive.tui-sensitive{-webkit-text-fill-color:transparent}span.tui-sensitive,a.tui-sensitive{display:inline-block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
+ class Styles {
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-sensitive" }, ngImport: i0, template: '', isInline: true, styles: [".tui-sensitive{position:relative;line-height:1em;clip-path:inset(0 round .25rem)}.tui-sensitive:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";display:block!important;background:currentColor;border-radius:inherit;mask:url('data:image/svg+xml,<svg width=\"360\" height=\"72\" preserveAspectRatio=\"none\" fill=\"black\" xmlns=\"http://www.w3.org/2000/svg\"><rect opacity=\"0.2\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"336\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"120\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"216\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"312\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"144\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"192\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"288\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"240\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.24\" x=\"72\" width=\"24\" height=\"24\"/><rect opacity=\"0.34\" x=\"264\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"168\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"336\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"120\" y=\"0\" width=\"24\" height=\"24\" /><rect opacity=\"0.3\" x=\"216\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"24\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"312\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"144\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"192\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"48\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"288\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.38\" x=\"96\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"240\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"72\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"264\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" x=\"168\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"240\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"72\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"192\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.34\" x=\"216\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"24\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"168\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"264\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.31\" x=\"288\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"312\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.28\" x=\"144\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"336\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"120\" y=\"48\" width=\"24\" height=\"24\"/></svg>') var(--t-offset, 0) 0 / auto var(--t-mask-height);margin:0!important}.tui-sensitive.tui-sensitive{-webkit-text-fill-color:transparent}span.tui-sensitive,a.tui-sensitive{display:inline-block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSensitiveStyles, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
15
15
  type: Component,
16
- args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
17
- class: 'tui-sensitive-styles',
18
- }, styles: [".tui-sensitive{position:relative;line-height:1em;clip-path:inset(0 round .25rem)}.tui-sensitive:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";display:block!important;background:currentColor;border-radius:inherit;mask:url('data:image/svg+xml,<svg width=\"360\" height=\"72\" preserveAspectRatio=\"none\" fill=\"black\" xmlns=\"http://www.w3.org/2000/svg\"><rect opacity=\"0.2\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"336\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"120\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"216\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"312\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"144\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"192\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"288\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"240\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.24\" x=\"72\" width=\"24\" height=\"24\"/><rect opacity=\"0.34\" x=\"264\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"168\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"336\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"120\" y=\"0\" width=\"24\" height=\"24\" /><rect opacity=\"0.3\" x=\"216\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"24\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"312\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"144\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"192\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"48\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"288\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.38\" x=\"96\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"240\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"72\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"264\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" x=\"168\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"240\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"72\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"192\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.34\" x=\"216\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"24\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"168\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"264\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.31\" x=\"288\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"312\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.28\" x=\"144\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"336\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"120\" y=\"48\" width=\"24\" height=\"24\"/></svg>') var(--t-offset, 0) 0 / auto var(--t-mask-height);margin:0!important}.tui-sensitive.tui-sensitive{-webkit-text-fill-color:transparent}span.tui-sensitive,a.tui-sensitive{display:inline-block}\n"] }]
16
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-sensitive' }, styles: [".tui-sensitive{position:relative;line-height:1em;clip-path:inset(0 round .25rem)}.tui-sensitive:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";display:block!important;background:currentColor;border-radius:inherit;mask:url('data:image/svg+xml,<svg width=\"360\" height=\"72\" preserveAspectRatio=\"none\" fill=\"black\" xmlns=\"http://www.w3.org/2000/svg\"><rect opacity=\"0.2\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"336\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"120\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"216\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"312\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"144\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"192\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"288\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"240\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.24\" x=\"72\" width=\"24\" height=\"24\"/><rect opacity=\"0.34\" x=\"264\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"168\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"336\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"120\" y=\"0\" width=\"24\" height=\"24\" /><rect opacity=\"0.3\" x=\"216\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"24\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"312\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"144\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"192\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"48\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"288\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.38\" x=\"96\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"240\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"72\" y=\"24\" width=\"24\" height=\"24\"/><rect opacity=\"0.2\" x=\"264\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" x=\"168\" y=\"0\" width=\"24\" height=\"24\"/><rect opacity=\"0.35\" x=\"240\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.4\" x=\"72\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"192\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"48\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.34\" x=\"216\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"24\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"168\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.32\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"264\" y=\"48\" width=\"24\" height=\"24\"/> <rect opacity=\"0.31\" x=\"288\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.3\" x=\"96\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.25\" x=\"312\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.28\" x=\"144\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.36\" x=\"336\" y=\"48\" width=\"24\" height=\"24\"/><rect opacity=\"0.21\" x=\"120\" y=\"48\" width=\"24\" height=\"24\"/></svg>') var(--t-offset, 0) 0 / auto var(--t-mask-height);margin:0!important}.tui-sensitive.tui-sensitive{-webkit-text-fill-color:transparent}span.tui-sensitive,a.tui-sensitive{display:inline-block}\n"] }]
19
17
  }] });
20
18
  class TuiSensitive {
21
19
  constructor() {
22
- this.nothing = tuiWithStyles(TuiSensitiveStyles);
20
+ this.nothing = tuiWithStyles(Styles);
23
21
  this.offset = Math.round(Math.random() * 10) * 10;
24
22
  this.height = toSignal(inject(ResizeObserverService, { self: true }).pipe(map((entry) => {
25
23
  const height = entry[0]?.contentRect.height ?? 0;
26
24
  return [Math.max(2, Math.floor(height / 16) + 1), height];
27
25
  }), map(([rows, height]) => height * (rowsInSvg / rows)), tuiZonefull(), tuiWatch()));
28
- this.tuiSensitive = false;
26
+ this.tuiSensitive = input(false);
29
27
  }
30
28
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSensitive, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiSensitive, isStandalone: true, selector: "[tuiSensitive]", inputs: { tuiSensitive: "tuiSensitive" }, host: { properties: { "style.--t-offset.px": "offset", "style.--t-mask-height.px": "height()", "class.tui-sensitive": "tuiSensitive" } }, providers: [ResizeObserverService], ngImport: i0 }); }
29
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiSensitive, isStandalone: true, selector: "[tuiSensitive]", inputs: { tuiSensitive: { classPropertyName: "tuiSensitive", publicName: "tuiSensitive", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--t-offset.px": "offset", "style.--t-mask-height.px": "height()", "class.tui-sensitive": "tuiSensitive()" } }, providers: [ResizeObserverService], ngImport: i0 }); }
32
30
  }
33
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSensitive, decorators: [{
34
32
  type: Directive,
35
33
  args: [{
36
- standalone: true,
37
34
  selector: '[tuiSensitive]',
38
35
  providers: [ResizeObserverService],
39
36
  host: {
40
37
  '[style.--t-offset.px]': 'offset',
41
38
  '[style.--t-mask-height.px]': 'height()',
42
- '[class.tui-sensitive]': 'tuiSensitive',
39
+ '[class.tui-sensitive]': 'tuiSensitive()',
43
40
  },
44
41
  }]
45
- }], propDecorators: { tuiSensitive: [{
46
- type: Input
47
- }] } });
42
+ }] });
48
43
 
49
44
  /**
50
45
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-sensitive.mjs","sources":["../../../projects/kit/directives/sensitive/sensitive.directive.ts","../../../projects/kit/directives/sensitive/taiga-ui-kit-directives-sensitive.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiWatch, tuiZonefull} from '@taiga-ui/cdk/observables';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {map} from 'rxjs';\n\nconst rowsInSvg = 3;\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./sensitive.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-sensitive-styles',\n },\n})\nclass TuiSensitiveStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiSensitive]',\n providers: [ResizeObserverService],\n host: {\n '[style.--t-offset.px]': 'offset',\n '[style.--t-mask-height.px]': 'height()',\n '[class.tui-sensitive]': 'tuiSensitive',\n },\n})\nexport class TuiSensitive {\n protected readonly nothing = tuiWithStyles(TuiSensitiveStyles);\n protected readonly offset = Math.round(Math.random() * 10) * 10;\n\n protected readonly height = toSignal(\n inject(ResizeObserverService, {self: true}).pipe(\n map((entry): [number, number] => {\n const height = entry[0]?.contentRect.height ?? 0;\n\n return [Math.max(2, Math.floor(height / 16) + 1), height];\n }),\n map(([rows, height]) => height * (rowsInSvg / rows)),\n tuiZonefull(),\n tuiWatch(),\n ),\n );\n\n @Input()\n public tuiSensitive: boolean | null = false;\n}\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-directives-sensitive.mjs","sources":["../../../projects/kit/directives/sensitive/sensitive.directive.ts","../../../projects/kit/directives/sensitive/taiga-ui-kit-directives-sensitive.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiWatch, tuiZonefull} from '@taiga-ui/cdk/observables';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {map} from 'rxjs';\n\nconst rowsInSvg = 3;\n\n@Component({\n template: '',\n styleUrl: './sensitive.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-sensitive'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiSensitive]',\n providers: [ResizeObserverService],\n host: {\n '[style.--t-offset.px]': 'offset',\n '[style.--t-mask-height.px]': 'height()',\n '[class.tui-sensitive]': 'tuiSensitive()',\n },\n})\nexport class TuiSensitive {\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly offset = Math.round(Math.random() * 10) * 10;\n protected readonly height = toSignal(\n inject(ResizeObserverService, {self: true}).pipe(\n map((entry): [number, number] => {\n const height = entry[0]?.contentRect.height ?? 0;\n\n return [Math.max(2, Math.floor(height / 16) + 1), height];\n }),\n map(([rows, height]) => height * (rowsInSvg / rows)),\n tuiZonefull(),\n tuiWatch(),\n ),\n );\n\n public readonly tuiSensitive = input<boolean | null>(false);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,26 +1,25 @@
1
1
  import { isPlatformBrowser } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, PLATFORM_ID, Input, Directive } from '@angular/core';
3
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, PLATFORM_ID, input, Directive } from '@angular/core';
4
4
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
5
5
  import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
6
6
 
7
- class TuiShimmerStyles {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiShimmerStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiShimmerStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-shimmer-styles" }, ngImport: i0, template: '', isInline: true, styles: ["@keyframes tuiShimmer{0%{-webkit-mask-position:top left,-100rem;mask-position:top left,-100rem}to{-webkit-mask-position:top left,300rem;mask-position:top left,300rem}}[tuiShimmer]._shimmer{-webkit-mask-image:linear-gradient(#000,#000),linear-gradient(-70deg,transparent,rgba(0,0,0,.5),transparent);mask-image:linear-gradient(#000,#000),linear-gradient(-70deg,transparent,rgba(0,0,0,.5),transparent);-webkit-mask-size:100%,6rem 100%;mask-size:100%,6rem 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-out;mask-composite:subtract;animation:tuiShimmer 8s infinite linear;pointer-events:none;-webkit-user-select:none;user-select:none}[tuiShimmer]._disabled{animation:none;mask:none;opacity:var(--tui-disabled-opacity)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7
+ const OPTIONS = { duration: 1500, iterations: Infinity };
8
+ class Styles {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-shimmer" }, ngImport: i0, template: '', isInline: true, styles: ["@keyframes tuiShimmer{0%{-webkit-mask-position:top left,-100rem;mask-position:top left,-100rem}to{-webkit-mask-position:top left,300rem;mask-position:top left,300rem}}[tuiShimmer]._shimmer{-webkit-mask-image:linear-gradient(#000,#000),linear-gradient(-70deg,transparent,rgba(0,0,0,.5),transparent);mask-image:linear-gradient(#000,#000),linear-gradient(-70deg,transparent,rgba(0,0,0,.5),transparent);-webkit-mask-size:100%,6rem 100%;mask-size:100%,6rem 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-out;mask-composite:subtract;animation:tuiShimmer 8s infinite linear;pointer-events:none;-webkit-user-select:none;user-select:none}[tuiShimmer]._disabled{animation:none;mask:none;opacity:var(--tui-disabled-opacity)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
11
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiShimmerStyles, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
12
13
  type: Component,
13
- args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
14
- class: 'tui-shimmer-styles',
15
- }, styles: ["@keyframes tuiShimmer{0%{-webkit-mask-position:top left,-100rem;mask-position:top left,-100rem}to{-webkit-mask-position:top left,300rem;mask-position:top left,300rem}}[tuiShimmer]._shimmer{-webkit-mask-image:linear-gradient(#000,#000),linear-gradient(-70deg,transparent,rgba(0,0,0,.5),transparent);mask-image:linear-gradient(#000,#000),linear-gradient(-70deg,transparent,rgba(0,0,0,.5),transparent);-webkit-mask-size:100%,6rem 100%;mask-size:100%,6rem 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-out;mask-composite:subtract;animation:tuiShimmer 8s infinite linear;pointer-events:none;-webkit-user-select:none;user-select:none}[tuiShimmer]._disabled{animation:none;mask:none;opacity:var(--tui-disabled-opacity)}\n"] }]
14
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-shimmer' }, styles: ["@keyframes tuiShimmer{0%{-webkit-mask-position:top left,-100rem;mask-position:top left,-100rem}to{-webkit-mask-position:top left,300rem;mask-position:top left,300rem}}[tuiShimmer]._shimmer{-webkit-mask-image:linear-gradient(#000,#000),linear-gradient(-70deg,transparent,rgba(0,0,0,.5),transparent);mask-image:linear-gradient(#000,#000),linear-gradient(-70deg,transparent,rgba(0,0,0,.5),transparent);-webkit-mask-size:100%,6rem 100%;mask-size:100%,6rem 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-out;mask-composite:subtract;animation:tuiShimmer 8s infinite linear;pointer-events:none;-webkit-user-select:none;user-select:none}[tuiShimmer]._disabled{animation:none;mask:none;opacity:var(--tui-disabled-opacity)}\n"] }]
16
15
  }] });
17
16
  class TuiShimmer {
18
17
  constructor() {
19
18
  this.isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
20
19
  this.el = tuiInjectElement();
20
+ this.nothing = tuiWithStyles(Styles);
21
21
  this.disabled = false;
22
- this.nothing = tuiWithStyles(TuiShimmerStyles);
23
- this.shimmer = false;
22
+ this.tuiShimmer = input(false);
24
23
  }
25
24
  ngOnChanges() {
26
25
  if (!this.isBrowser) {
@@ -32,39 +31,30 @@ class TuiShimmer {
32
31
  }
33
32
  this.animation?.commitStyles();
34
33
  this.animation?.cancel();
35
- if (this.shimmer) {
36
- this.animation = this.el.animate({ opacity: [0.5, 0.25, 0.5, 0.5] }, { duration: 1500, iterations: Infinity });
37
- }
38
- else {
39
- this.animation = this.el.animate([{ opacity: 0, offset: 0.5 }, { opacity: 1 }], {
40
- duration: 800,
41
- });
42
- this.animation.finished
43
- .then(() => {
44
- this.el.style.opacity = '';
45
- })
46
- .catch(() => { });
47
- }
34
+ this.animation = this.tuiShimmer()
35
+ ? this.el.animate({ opacity: [0.5, 0.25, 0.5, 0.5] }, OPTIONS)
36
+ : this.el.animate([{ opacity: 0, offset: 0.5 }, { opacity: 1 }], 800);
37
+ this.animation.finished
38
+ .then(() => {
39
+ this.el.style.opacity = '';
40
+ })
41
+ .catch(() => { });
48
42
  }
49
43
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiShimmer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
50
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiShimmer, isStandalone: true, selector: "[tuiShimmer]", inputs: { shimmer: ["tuiShimmer", "shimmer"] }, host: { attributes: { "tuiShimmer": "" }, properties: { "class._shimmer": "shimmer", "class._disabled": "shimmer && disabled", "attr.inert": "shimmer || null" } }, usesOnChanges: true, ngImport: i0 }); }
44
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiShimmer, isStandalone: true, selector: "[tuiShimmer]", inputs: { tuiShimmer: { classPropertyName: "tuiShimmer", publicName: "tuiShimmer", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiShimmer": "" }, properties: { "class._shimmer": "tuiShimmer()", "class._disabled": "tuiShimmer() && disabled", "attr.inert": "tuiShimmer() || null" } }, usesOnChanges: true, ngImport: i0 }); }
51
45
  }
52
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiShimmer, decorators: [{
53
47
  type: Directive,
54
48
  args: [{
55
- standalone: true,
56
49
  selector: '[tuiShimmer]',
57
50
  host: {
58
51
  tuiShimmer: '',
59
- '[class._shimmer]': 'shimmer',
60
- '[class._disabled]': 'shimmer && disabled',
61
- '[attr.inert]': 'shimmer || null',
52
+ '[class._shimmer]': 'tuiShimmer()',
53
+ '[class._disabled]': 'tuiShimmer() && disabled',
54
+ '[attr.inert]': 'tuiShimmer() || null',
62
55
  },
63
56
  }]
64
- }], propDecorators: { shimmer: [{
65
- type: Input,
66
- args: ['tuiShimmer']
67
- }] } });
57
+ }] });
68
58
 
69
59
  /**
70
60
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-shimmer.mjs","sources":["../../../projects/kit/directives/shimmer/shimmer.directive.ts","../../../projects/kit/directives/shimmer/taiga-ui-kit-directives-shimmer.ts"],"sourcesContent":["import {isPlatformBrowser} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n type OnChanges,\n PLATFORM_ID,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./shimmer.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-shimmer-styles',\n },\n})\nclass TuiShimmerStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiShimmer]',\n host: {\n tuiShimmer: '',\n '[class._shimmer]': 'shimmer',\n '[class._disabled]': 'shimmer && disabled',\n '[attr.inert]': 'shimmer || null',\n },\n})\nexport class TuiShimmer implements OnChanges {\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private readonly el = tuiInjectElement();\n private animation?: Animation;\n\n protected disabled = false;\n\n protected readonly nothing = tuiWithStyles(TuiShimmerStyles);\n\n @Input('tuiShimmer')\n public shimmer = false;\n\n public ngOnChanges(): void {\n if (!this.isBrowser) {\n return;\n }\n\n this.disabled = !parseFloat(\n getComputedStyle(this.el).getPropertyValue('--tui-duration'),\n );\n\n if (this.disabled) {\n return;\n }\n\n this.animation?.commitStyles();\n this.animation?.cancel();\n\n if (this.shimmer) {\n this.animation = this.el.animate(\n {opacity: [0.5, 0.25, 0.5, 0.5]},\n {duration: 1500, iterations: Infinity},\n );\n } else {\n this.animation = this.el.animate([{opacity: 0, offset: 0.5}, {opacity: 1}], {\n duration: 800,\n });\n\n this.animation.finished\n .then(() => {\n this.el.style.opacity = '';\n })\n .catch(() => {});\n }\n }\n}\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-directives-shimmer.mjs","sources":["../../../projects/kit/directives/shimmer/shimmer.directive.ts","../../../projects/kit/directives/shimmer/taiga-ui-kit-directives-shimmer.ts"],"sourcesContent":["import {isPlatformBrowser} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n input,\n type OnChanges,\n PLATFORM_ID,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\n\nconst OPTIONS = {duration: 1500, iterations: Infinity};\n\n@Component({\n template: '',\n styleUrl: './shimmer.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-shimmer'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiShimmer]',\n host: {\n tuiShimmer: '',\n '[class._shimmer]': 'tuiShimmer()',\n '[class._disabled]': 'tuiShimmer() && disabled',\n '[attr.inert]': 'tuiShimmer() || null',\n },\n})\nexport class TuiShimmer implements OnChanges {\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private readonly el = tuiInjectElement();\n private animation?: Animation;\n\n protected readonly nothing = tuiWithStyles(Styles);\n protected disabled = false;\n\n public readonly tuiShimmer = input(false);\n\n public ngOnChanges(): void {\n if (!this.isBrowser) {\n return;\n }\n\n this.disabled = !parseFloat(\n getComputedStyle(this.el).getPropertyValue('--tui-duration'),\n );\n\n if (this.disabled) {\n return;\n }\n\n this.animation?.commitStyles();\n this.animation?.cancel();\n this.animation = this.tuiShimmer()\n ? this.el.animate({opacity: [0.5, 0.25, 0.5, 0.5]}, OPTIONS)\n : this.el.animate([{opacity: 0, offset: 0.5}, {opacity: 1}], 800);\n this.animation.finished\n .then(() => {\n this.el.style.opacity = '';\n })\n .catch(() => {});\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,29 +1,36 @@
1
- import { __decorate } from 'tslib';
2
1
  import * as i0 from '@angular/core';
3
- import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, Input, Directive } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, computed, input, Directive } from '@angular/core';
4
3
  import { CHAR_NO_BREAK_SPACE } from '@taiga-ui/cdk/constants';
5
4
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
6
- import { tuiWithStyles, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
5
+ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
7
6
  import { TUI_ANIMATIONS_SPEED } from '@taiga-ui/core/tokens';
8
7
  import { tuiGetDuration } from '@taiga-ui/core/utils/miscellaneous';
9
8
 
10
9
  const FADE = [{ opacity: 0.06 }, { opacity: 1 }];
11
- class TuiSkeletonStyles {
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSkeletonStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiSkeletonStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-skeleton-styles" }, ngImport: i0, template: '', isInline: true, styles: ["@keyframes tuiSkeleton{0%{opacity:.03}to{opacity:.06}}[tuiSkeleton]._skeleton{color:transparent;background:var(--tui-background-base)!important;box-shadow:none!important;filter:contrast(0) brightness(0);animation:tuiSkeleton ease-in-out calc(var(--tui-duration) * 4) infinite alternate;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:.06}[tuiSkeleton]._skeleton[data-tui-skeleton]{background:transparent!important}[tuiSkeleton]._skeleton[data-tui-skeleton]:before{content:attr(data-tui-skeleton);background:var(--tui-background-base);font-size:smaller;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.25rem}[tuiTheme=dark] [tuiSkeleton]._skeleton,[tuiTheme=dark][tuiSkeleton]._skeleton{filter:contrast(0) brightness(0) invert(1)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
+ class Styles {
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-skeleton" }, ngImport: i0, template: '', isInline: true, styles: ["@keyframes tuiSkeleton{0%{opacity:.03}to{opacity:.06}}[tuiSkeleton]._skeleton{color:transparent;background:var(--tui-background-base)!important;box-shadow:none!important;filter:contrast(0) brightness(0);animation:tuiSkeleton ease-in-out calc(var(--tui-duration) * 4) infinite alternate;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:.06}[tuiSkeleton]._skeleton[data-tui-skeleton]{background:transparent!important}[tuiSkeleton]._skeleton[data-tui-skeleton]:before{content:attr(data-tui-skeleton);background:var(--tui-background-base);font-size:smaller;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.25rem}[tuiTheme=dark] [tuiSkeleton]._skeleton,[tuiTheme=dark][tuiSkeleton]._skeleton{filter:contrast(0) brightness(0) invert(1)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14
13
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSkeletonStyles, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
16
15
  type: Component,
17
- args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
18
- class: 'tui-skeleton-styles',
19
- }, styles: ["@keyframes tuiSkeleton{0%{opacity:.03}to{opacity:.06}}[tuiSkeleton]._skeleton{color:transparent;background:var(--tui-background-base)!important;box-shadow:none!important;filter:contrast(0) brightness(0);animation:tuiSkeleton ease-in-out calc(var(--tui-duration) * 4) infinite alternate;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:.06}[tuiSkeleton]._skeleton[data-tui-skeleton]{background:transparent!important}[tuiSkeleton]._skeleton[data-tui-skeleton]:before{content:attr(data-tui-skeleton);background:var(--tui-background-base);font-size:smaller;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.25rem}[tuiTheme=dark] [tuiSkeleton]._skeleton,[tuiTheme=dark][tuiSkeleton]._skeleton{filter:contrast(0) brightness(0) invert(1)}\n"] }]
16
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-skeleton' }, styles: ["@keyframes tuiSkeleton{0%{opacity:.03}to{opacity:.06}}[tuiSkeleton]._skeleton{color:transparent;background:var(--tui-background-base)!important;box-shadow:none!important;filter:contrast(0) brightness(0);animation:tuiSkeleton ease-in-out calc(var(--tui-duration) * 4) infinite alternate;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:.06}[tuiSkeleton]._skeleton[data-tui-skeleton]{background:transparent!important}[tuiSkeleton]._skeleton[data-tui-skeleton]:before{content:attr(data-tui-skeleton);background:var(--tui-background-base);font-size:smaller;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.25rem}[tuiTheme=dark] [tuiSkeleton]._skeleton,[tuiTheme=dark][tuiSkeleton]._skeleton{filter:contrast(0) brightness(0) invert(1)}\n"] }]
20
17
  }] });
21
18
  class TuiSkeleton {
22
19
  constructor() {
23
20
  this.el = tuiInjectElement();
24
21
  this.duration = tuiGetDuration(inject(TUI_ANIMATIONS_SPEED)) * 2;
25
- this.nothing = tuiWithStyles(TuiSkeletonStyles);
26
- this.tuiSkeleton = false;
22
+ this.nothing = tuiWithStyles(Styles);
23
+ this.placeholder = computed((length = this.tuiSkeleton()) => {
24
+ switch (typeof length) {
25
+ case 'number':
26
+ return Array.from({ length }).map(getWord).join(' ');
27
+ case 'string':
28
+ return length;
29
+ default:
30
+ return null;
31
+ }
32
+ });
33
+ this.tuiSkeleton = input(false);
27
34
  }
28
35
  ngOnChanges({ tuiSkeleton }) {
29
36
  this.animation?.cancel();
@@ -31,40 +38,22 @@ class TuiSkeleton {
31
38
  this.animation = this.el.animate?.(FADE, this.duration);
32
39
  }
33
40
  }
34
- getPlaceholder(value) {
35
- switch (typeof value) {
36
- case 'number':
37
- return Array.from({ length: value })
38
- .map(() => CHAR_NO_BREAK_SPACE.repeat(getLength()))
39
- .join(' ');
40
- case 'string':
41
- return value;
42
- default:
43
- return null;
44
- }
45
- }
46
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSkeleton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
47
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiSkeleton, isStandalone: true, selector: "[tuiSkeleton]", inputs: { tuiSkeleton: "tuiSkeleton" }, host: { attributes: { "tuiSkeleton": "" }, properties: { "class._skeleton": "tuiSkeleton", "attr.data-tui-skeleton": "getPlaceholder(tuiSkeleton)" } }, usesOnChanges: true, ngImport: i0 }); }
42
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiSkeleton, isStandalone: true, selector: "[tuiSkeleton]", inputs: { tuiSkeleton: { classPropertyName: "tuiSkeleton", publicName: "tuiSkeleton", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiSkeleton": "" }, properties: { "class._skeleton": "tuiSkeleton()", "attr.data-tui-skeleton": "placeholder()" } }, usesOnChanges: true, ngImport: i0 }); }
48
43
  }
49
- __decorate([
50
- tuiPure
51
- ], TuiSkeleton.prototype, "getPlaceholder", null);
52
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSkeleton, decorators: [{
53
45
  type: Directive,
54
46
  args: [{
55
- standalone: true,
56
47
  selector: '[tuiSkeleton]',
57
48
  host: {
58
49
  tuiSkeleton: '',
59
- '[class._skeleton]': 'tuiSkeleton',
60
- '[attr.data-tui-skeleton]': 'getPlaceholder(tuiSkeleton)',
50
+ '[class._skeleton]': 'tuiSkeleton()',
51
+ '[attr.data-tui-skeleton]': 'placeholder()',
61
52
  },
62
53
  }]
63
- }], propDecorators: { tuiSkeleton: [{
64
- type: Input
65
- }], getPlaceholder: [] } });
66
- function getLength() {
67
- return Math.floor(Math.random() * (15 - 5 + 1)) + 5;
54
+ }] });
55
+ function getWord() {
56
+ return CHAR_NO_BREAK_SPACE.repeat(Math.floor(Math.random() * (15 - 5 + 1)) + 5);
68
57
  }
69
58
 
70
59
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-skeleton.mjs","sources":["../../../projects/kit/directives/skeleton/skeleton.directive.ts","../../../projects/kit/directives/skeleton/taiga-ui-kit-directives-skeleton.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n type OnChanges,\n type SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiPure, tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_ANIMATIONS_SPEED} from '@taiga-ui/core/tokens';\nimport {tuiGetDuration} from '@taiga-ui/core/utils/miscellaneous';\n\nconst FADE = [{opacity: 0.06}, {opacity: 1}];\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./skeleton.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-skeleton-styles',\n },\n})\nclass TuiSkeletonStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiSkeleton]',\n host: {\n tuiSkeleton: '',\n '[class._skeleton]': 'tuiSkeleton',\n '[attr.data-tui-skeleton]': 'getPlaceholder(tuiSkeleton)',\n },\n})\nexport class TuiSkeleton implements OnChanges {\n private animation?: Animation;\n private readonly el = tuiInjectElement();\n private readonly duration = tuiGetDuration(inject(TUI_ANIMATIONS_SPEED)) * 2;\n\n protected readonly nothing = tuiWithStyles(TuiSkeletonStyles);\n\n @Input()\n public tuiSkeleton: boolean | number | string = false;\n\n public ngOnChanges({tuiSkeleton}: SimpleChanges): void {\n this.animation?.cancel();\n\n if (!tuiSkeleton?.currentValue && !tuiSkeleton?.firstChange) {\n this.animation = this.el.animate?.(FADE, this.duration);\n }\n }\n\n @tuiPure\n protected getPlaceholder(value: boolean | number | string): string | null {\n switch (typeof value) {\n case 'number':\n return Array.from({length: value})\n .map(() => CHAR_NO_BREAK_SPACE.repeat(getLength()))\n .join(' ');\n case 'string':\n return value;\n default:\n return null;\n }\n }\n}\n\nfunction getLength(): number {\n return Math.floor(Math.random() * (15 - 5 + 1)) + 5;\n}\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-directives-skeleton.mjs","sources":["../../../projects/kit/directives/skeleton/skeleton.directive.ts","../../../projects/kit/directives/skeleton/taiga-ui-kit-directives-skeleton.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n input,\n type OnChanges,\n type SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_ANIMATIONS_SPEED} from '@taiga-ui/core/tokens';\nimport {tuiGetDuration} from '@taiga-ui/core/utils/miscellaneous';\n\nconst FADE = [{opacity: 0.06}, {opacity: 1}];\n\n@Component({\n template: '',\n styleUrl: './skeleton.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-skeleton'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiSkeleton]',\n host: {\n tuiSkeleton: '',\n '[class._skeleton]': 'tuiSkeleton()',\n '[attr.data-tui-skeleton]': 'placeholder()',\n },\n})\nexport class TuiSkeleton implements OnChanges {\n private animation?: Animation;\n private readonly el = tuiInjectElement();\n private readonly duration = tuiGetDuration(inject(TUI_ANIMATIONS_SPEED)) * 2;\n\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly placeholder = computed((length = this.tuiSkeleton()) => {\n switch (typeof length) {\n case 'number':\n return Array.from({length}).map(getWord).join(' ');\n case 'string':\n return length;\n default:\n return null;\n }\n });\n\n public readonly tuiSkeleton = input<boolean | number | string>(false);\n\n public ngOnChanges({tuiSkeleton}: SimpleChanges): void {\n this.animation?.cancel();\n\n if (!tuiSkeleton?.currentValue && !tuiSkeleton?.firstChange) {\n this.animation = this.el.animate?.(FADE, this.duration);\n }\n }\n}\n\nfunction getWord(): string {\n return CHAR_NO_BREAK_SPACE.repeat(Math.floor(Math.random() * (15 - 5 + 1)) + 5);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}