@taiga-ui/kit 4.52.0-canary.ca43bcb → 4.52.0-canary.e07790b

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 (224) hide show
  1. package/components/calendar-range/day-range-period.d.ts +2 -1
  2. package/components/combo-box/combo-box.d.ts +4 -1
  3. package/components/index.d.ts +0 -3
  4. package/components/input-chip/input-chip.d.ts +5 -1
  5. package/components/input-color/input-color.d.ts +4 -1
  6. package/components/input-date/input-date.d.ts +4 -1
  7. package/components/input-date/input-date.directive.d.ts +3 -3
  8. package/components/input-date/input-date.options.d.ts +3 -3
  9. package/components/input-date-multi/input-date-multi.d.ts +1 -1
  10. package/components/input-date-multi/input-date-multi.directive.d.ts +1 -1
  11. package/components/input-date-range/input-date-range.d.ts +4 -1
  12. package/components/input-date-range/input-date-range.directive.d.ts +3 -6
  13. package/components/input-date-range/input-date-range.options.d.ts +2 -2
  14. package/components/input-date-time/input-date-time.d.ts +4 -1
  15. package/components/input-date-time/input-date-time.directive.d.ts +3 -3
  16. package/components/input-date-time/input-date-time.options.d.ts +2 -2
  17. package/components/input-month/input-month.d.ts +4 -1
  18. package/components/input-month/input-month.directive.d.ts +1 -1
  19. package/components/input-month-range/input-month-range.d.ts +4 -1
  20. package/components/input-month-range/input-month-range.directive.d.ts +1 -1
  21. package/components/input-number/input-number.d.ts +4 -1
  22. package/components/input-phone/input-phone.d.ts +4 -1
  23. package/components/input-phone-international/input-phone-international.component.d.ts +5 -0
  24. package/components/input-phone-international/input-phone-international.d.ts +4 -1
  25. package/components/input-pin/input-pin.d.ts +4 -1
  26. package/components/input-range/index.d.ts +0 -1
  27. package/components/input-range/input-range.component.d.ts +40 -8
  28. package/components/input-slider/input-slider.d.ts +4 -1
  29. package/components/input-time/input-time.d.ts +4 -1
  30. package/components/input-year/input-year.d.ts +4 -1
  31. package/components/input-year/input-year.options.d.ts +2 -2
  32. package/components/like/like.options.d.ts +1 -1
  33. package/components/pagination/pagination.component.d.ts +22 -52
  34. package/components/pagination/pagination.options.d.ts +3 -6
  35. package/components/preview/index.d.ts +1 -0
  36. package/components/preview/pagination/preview-pagination.component.d.ts +2 -1
  37. package/components/preview/preview.component.d.ts +1 -1
  38. package/components/preview/zoom/preview-zoom.component.d.ts +3 -1
  39. package/components/radio/radio.component.d.ts +1 -1
  40. package/components/select/select.d.ts +4 -1
  41. package/components/switch/switch.component.d.ts +1 -0
  42. package/components/textarea/textarea.d.ts +4 -1
  43. package/directives/fade/fade.directive.d.ts +5 -5
  44. package/directives/highlight/highlight.directive.d.ts +7 -8
  45. package/directives/present/present.directive.d.ts +2 -3
  46. package/directives/unfinished-validator/unfinished-validator.directive.d.ts +2 -2
  47. package/directives/unmask-handler/unmask-handler.directive.d.ts +3 -3
  48. package/fesm2022/taiga-ui-kit-components-accordion.mjs +6 -6
  49. package/fesm2022/taiga-ui-kit-components-action-bar.mjs +5 -5
  50. package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-kit-components-avatar.mjs +18 -18
  52. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +3 -3
  53. package/fesm2022/taiga-ui-kit-components-badge.mjs +6 -6
  54. package/fesm2022/taiga-ui-kit-components-badged-content.mjs +6 -6
  55. package/fesm2022/taiga-ui-kit-components-block.mjs +6 -6
  56. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +3 -3
  57. package/fesm2022/taiga-ui-kit-components-button-loading.mjs +3 -3
  58. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +3 -3
  59. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +20 -12
  61. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-kit-components-carousel.mjs +15 -15
  63. package/fesm2022/taiga-ui-kit-components-checkbox.mjs +3 -3
  64. package/fesm2022/taiga-ui-kit-components-chip.mjs +6 -6
  65. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +15 -7
  66. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-kit-components-comment.mjs +6 -6
  68. package/fesm2022/taiga-ui-kit-components-compass.mjs +3 -3
  69. package/fesm2022/taiga-ui-kit-components-confirm.mjs +6 -6
  70. package/fesm2022/taiga-ui-kit-components-copy.mjs +7 -7
  71. package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +12 -10
  73. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-kit-components-drawer.mjs +5 -5
  75. package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-kit-components-files.mjs +24 -24
  77. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-kit-components-filter.mjs +3 -3
  79. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +3 -3
  80. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +17 -10
  81. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-kit-components-input-color.mjs +13 -5
  83. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +11 -10
  85. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
  86. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +19 -28
  87. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +20 -18
  89. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-kit-components-input-date.mjs +25 -20
  91. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  92. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +3 -3
  93. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +17 -15
  94. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
  95. package/fesm2022/taiga-ui-kit-components-input-month.mjs +23 -15
  96. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  97. package/fesm2022/taiga-ui-kit-components-input-number.mjs +22 -17
  98. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  99. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +62 -58
  100. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  101. package/fesm2022/taiga-ui-kit-components-input-phone.mjs +13 -5
  102. package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -1
  103. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +14 -6
  104. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  105. package/fesm2022/taiga-ui-kit-components-input-range.mjs +52 -57
  106. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
  107. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +13 -8
  108. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-kit-components-input-time.mjs +16 -14
  110. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-kit-components-input-year.mjs +13 -8
  112. package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +12 -12
  114. package/fesm2022/taiga-ui-kit-components-like.mjs +3 -3
  115. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  116. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +10 -10
  117. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  118. package/fesm2022/taiga-ui-kit-components-message.mjs +6 -6
  119. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +12 -12
  120. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +9 -9
  122. package/fesm2022/taiga-ui-kit-components-pager.mjs +3 -3
  123. package/fesm2022/taiga-ui-kit-components-pagination.mjs +59 -139
  124. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  125. package/fesm2022/taiga-ui-kit-components-pin.mjs +6 -6
  126. package/fesm2022/taiga-ui-kit-components-preview.mjs +42 -30
  127. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  128. package/fesm2022/taiga-ui-kit-components-progress.mjs +24 -24
  129. package/fesm2022/taiga-ui-kit-components-pulse.mjs +3 -3
  130. package/fesm2022/taiga-ui-kit-components-push.mjs +12 -12
  131. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  132. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +3 -3
  133. package/fesm2022/taiga-ui-kit-components-radio.mjs +6 -6
  134. package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
  135. package/fesm2022/taiga-ui-kit-components-range.mjs +6 -6
  136. package/fesm2022/taiga-ui-kit-components-rating.mjs +3 -3
  137. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs +3 -3
  138. package/fesm2022/taiga-ui-kit-components-segmented.mjs +7 -7
  139. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  140. package/fesm2022/taiga-ui-kit-components-select.mjs +20 -11
  141. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  142. package/fesm2022/taiga-ui-kit-components-slider.mjs +16 -16
  143. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  144. package/fesm2022/taiga-ui-kit-components-status.mjs +6 -6
  145. package/fesm2022/taiga-ui-kit-components-stepper.mjs +6 -6
  146. package/fesm2022/taiga-ui-kit-components-switch.mjs +9 -4
  147. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  148. package/fesm2022/taiga-ui-kit-components-tabs.mjs +18 -18
  149. package/fesm2022/taiga-ui-kit-components-textarea.mjs +21 -17
  150. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  151. package/fesm2022/taiga-ui-kit-components-tiles.mjs +12 -12
  152. package/fesm2022/taiga-ui-kit-components-toast.mjs +17 -18
  153. package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -1
  154. package/fesm2022/taiga-ui-kit-components-tree.mjs +24 -24
  155. package/fesm2022/taiga-ui-kit-components.mjs +0 -3
  156. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  157. package/fesm2022/taiga-ui-kit-directives-button-close.mjs +3 -3
  158. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +6 -6
  159. package/fesm2022/taiga-ui-kit-directives-button-select.mjs +3 -3
  160. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +7 -7
  161. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  162. package/fesm2022/taiga-ui-kit-directives-connected.mjs +6 -6
  163. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs +3 -3
  164. package/fesm2022/taiga-ui-kit-directives-fade.mjs +20 -30
  165. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  166. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +3 -3
  167. package/fesm2022/taiga-ui-kit-directives-highlight.mjs +16 -24
  168. package/fesm2022/taiga-ui-kit-directives-highlight.mjs.map +1 -1
  169. package/fesm2022/taiga-ui-kit-directives-password.mjs +3 -3
  170. package/fesm2022/taiga-ui-kit-directives-present.mjs +8 -12
  171. package/fesm2022/taiga-ui-kit-directives-present.mjs.map +1 -1
  172. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +6 -6
  173. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +6 -6
  174. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +7 -6
  175. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  176. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +6 -6
  177. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +7 -9
  178. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
  179. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs +9 -13
  180. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs.map +1 -1
  181. package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs +3 -3
  182. package/fesm2022/taiga-ui-kit-pipes-emails.mjs +3 -3
  183. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs +12 -24
  184. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs.map +1 -1
  185. package/fesm2022/taiga-ui-kit-pipes-flag.mjs +3 -4
  186. package/fesm2022/taiga-ui-kit-pipes-flag.mjs.map +1 -1
  187. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs +3 -3
  188. package/fesm2022/taiga-ui-kit-pipes-initials.mjs +3 -3
  189. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs +10 -8
  190. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs.map +1 -1
  191. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs +3 -3
  192. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs +3 -3
  193. package/fesm2022/taiga-ui-kit-tokens.mjs +4 -84
  194. package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
  195. package/fesm2022/taiga-ui-kit-utils.mjs +1 -7
  196. package/fesm2022/taiga-ui-kit-utils.mjs.map +1 -1
  197. package/package.json +18 -30
  198. package/pipes/filter-by-input/filter-by-input.pipe.d.ts +2 -2
  199. package/pipes/sort-countries/sort-countries.pipe.d.ts +4 -3
  200. package/styles/components/switch.less +2 -2
  201. package/tokens/i18n.d.ts +1 -0
  202. package/tokens/index.d.ts +0 -6
  203. package/utils/index.d.ts +0 -1
  204. package/components/elastic-container/elastic-container.component.d.ts +0 -8
  205. package/components/elastic-container/elastic-container.directive.d.ts +0 -7
  206. package/components/elastic-container/index.d.ts +0 -2
  207. package/components/floating-container/floating-container.directive.d.ts +0 -7
  208. package/components/floating-container/index.d.ts +0 -1
  209. package/components/input-range/input-range.d.ts +0 -3
  210. package/components/slides/index.d.ts +0 -1
  211. package/components/slides/slides.directive.d.ts +0 -11
  212. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs +0 -77
  213. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs.map +0 -1
  214. package/fesm2022/taiga-ui-kit-components-floating-container.mjs +0 -37
  215. package/fesm2022/taiga-ui-kit-components-floating-container.mjs.map +0 -1
  216. package/fesm2022/taiga-ui-kit-components-slides.mjs +0 -49
  217. package/fesm2022/taiga-ui-kit-components-slides.mjs.map +0 -1
  218. package/tokens/date-inputs-value-transformers.d.ts +0 -19
  219. package/tokens/input-date-options.d.ts +0 -15
  220. package/tokens/items-handlers.d.ts +0 -20
  221. package/tokens/mobile-calendar.d.ts +0 -6
  222. package/tokens/month-formatter.d.ts +0 -5
  223. package/utils/toggle-day.d.ts +0 -2
  224. /package/{tokens/preview-icons.d.ts → components/preview/preview.options.d.ts} +0 -0
@@ -26,15 +26,15 @@ class TuiNotificationMiddleComponent {
26
26
  ? this.context.closable()
27
27
  : this.context.closable;
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationMiddleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiNotificationMiddleComponent, isStandalone: true, selector: "tui-notification-middle", host: { listeners: { "document:click.capture": "onClick($event.target)", "document:keydown.esc": "onClick($event.currentTarget)", "waResizeObserver": "el.style.setProperty(\"--t-width\", el.clientWidth + \"px\")" }, classAttribute: "tui-backdrop-hidden" }, providers: [tuiLoaderOptionsProvider({ size: 'l' })], hostDirectives: [{ directive: i1.TuiAnimated }, { directive: i2.WaResizeObserver, outputs: ["waResizeObserver", "waResizeObserver"] }], ngImport: i0, template: `
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiNotificationMiddleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: TuiNotificationMiddleComponent, isStandalone: true, selector: "tui-notification-middle", host: { listeners: { "document:click.capture": "onClick($event.target)", "document:keydown.esc": "onClick($event.currentTarget)", "waResizeObserver": "el.style.setProperty(\"--t-width\", el.clientWidth + \"px\")" }, classAttribute: "tui-backdrop-hidden" }, providers: [tuiLoaderOptionsProvider({ size: 'l' })], hostDirectives: [{ directive: i1.TuiAnimated }, { directive: i2.WaResizeObserver, outputs: ["waResizeObserver", "waResizeObserver"] }], ngImport: i0, template: `
31
31
  <tui-loader class="t-loader" />
32
32
  <ng-container *polymorpheusOutlet="context.content as text">
33
33
  {{ text }}
34
34
  </ng-container>
35
35
  `, isInline: true, styles: [":host{position:relative;display:grid;max-inline-size:18.75rem;min-inline-size:7rem;min-block-size:7rem;justify-items:center;gap:1rem;margin:auto;padding:2.25rem 2.25rem 1.75rem;border-radius:1.25rem;box-sizing:border-box;font:var(--tui-font-text-m);--tui-scale: .5}:host:before{inline-size:100%;block-size:100%;transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);content:\"\";z-index:-1;inline-size:var(--t-width);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-popup);border-radius:inherit;contain:strict}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiScale}:host.tui-enter ::ng-deep>.tui-enter,:host.tui-leave ::ng-deep>.tui-enter{animation-duration:0s;animation-delay:0s}:host .t-loader:not(:last-child){display:none}:host ::ng-deep>*{grid-area:2 / 1}:host ::ng-deep>*.tui-enter,:host ::ng-deep>*.tui-leave{animation-delay:var(--tui-duration);animation-name:tuiFade}:host ::ng-deep>*.tui-leave{animation-delay:0s}:host ::ng-deep>*.tui-leave~.tui-enter{opacity:0}:host ::ng-deep>tui-loader,:host ::ng-deep>[tuiAvatar],:host ::ng-deep>tui-icon,:host ::ng-deep>img{block-size:2.5rem;inline-size:2.5rem;min-inline-size:2.5rem;font-size:2.5rem;grid-area:1 / 1}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "loading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationMiddleComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiNotificationMiddleComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{ selector: 'tui-notification-middle', imports: [PolymorpheusOutlet, TuiLoader], template: `
40
40
  <tui-loader class="t-loader" />
@@ -58,10 +58,10 @@ class TuiNotificationMiddleService extends TuiModalService {
58
58
  this.options = { closable: false };
59
59
  this.content = TuiNotificationMiddleComponent;
60
60
  }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationMiddleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
62
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationMiddleService, providedIn: 'root' }); }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiNotificationMiddleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
62
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiNotificationMiddleService, providedIn: 'root' }); }
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationMiddleService, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiNotificationMiddleService, decorators: [{
65
65
  type: Injectable,
66
66
  args: [{
67
67
  providedIn: 'root',
@@ -72,10 +72,10 @@ class TuiNotificationMiddle {
72
72
  constructor() {
73
73
  this.tuiNotificationMiddleOptions = input({});
74
74
  }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationMiddle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
76
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiNotificationMiddle, isStandalone: true, selector: "ng-template[tuiNotificationMiddle]", inputs: { tuiNotificationMiddleOptions: { classPropertyName: "tuiNotificationMiddleOptions", publicName: "tuiNotificationMiddleOptions", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsPortal(TuiNotificationMiddleService)], hostDirectives: [{ directive: i1$1.TuiPortalDirective, inputs: ["options", "tuiNotificationMiddleOptions", "open", "tuiNotificationMiddle"], outputs: ["openChange", "tuiNotificationMiddleChange"] }], ngImport: i0 }); }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiNotificationMiddle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
76
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiNotificationMiddle, isStandalone: true, selector: "ng-template[tuiNotificationMiddle]", inputs: { tuiNotificationMiddleOptions: { classPropertyName: "tuiNotificationMiddleOptions", publicName: "tuiNotificationMiddleOptions", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsPortal(TuiNotificationMiddleService)], hostDirectives: [{ directive: i1$1.TuiPortalDirective, inputs: ["options", "tuiNotificationMiddleOptions", "open", "tuiNotificationMiddle"], outputs: ["openChange", "tuiNotificationMiddleChange"] }], ngImport: i0 }); }
77
77
  }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationMiddle, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiNotificationMiddle, decorators: [{
79
79
  type: Directive,
80
80
  args: [{
81
81
  selector: 'ng-template[tuiNotificationMiddle]',
@@ -46,8 +46,8 @@ class TuiPager {
46
46
  }
47
47
  this.left.set(-1 * left);
48
48
  }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPager, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiPager, isStandalone: true, selector: "tui-pager", inputs: { max: "max", count: "count", size: "size", valueContent: "valueContent", index: "index" }, host: { properties: { "attr.data-size": "size", "style.--t-gap.px": "gap", "style.max-width.px": "maxWidth()" } }, providers: [
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiPager, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: TuiPager, isStandalone: true, selector: "tui-pager", inputs: { max: "max", count: "count", size: "size", valueContent: "valueContent", index: "index" }, host: { properties: { "attr.data-size": "size", "style.--t-gap.px": "gap", "style.max-width.px": "maxWidth()" } }, providers: [
51
51
  MutationObserverService,
52
52
  {
53
53
  provide: WA_MUTATION_OBSERVER_INIT,
@@ -60,7 +60,7 @@ class TuiPager {
60
60
  },
61
61
  ], viewQueries: [{ propertyName: "items", predicate: ["item"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"t-items\"\n [style.transform]=\"`translateX(calc(var(--tui-inline) * ${left()}px))`\"\n>\n @for (_ of '-'.repeat(count); track $index) {\n <div\n #item\n class=\"t-item\"\n [attr.data-index]=\"$index\"\n [class._active]=\"$index === index\"\n [class._last]=\"$index === count - 1\"\n [class._post-active]=\"$index === index + 1\"\n [class._pre-active]=\"$index === index - 1\"\n [class._pre-last]=\"$index === count - 2\"\n [class._visible]=\"$index >= start && $index <= end\"\n >\n <ng-container *ngTemplateOutlet=\"valueContent || null; context: {$implicit: $index}\" />\n </div>\n }\n</div>\n", styles: [":host{display:flex;align-items:center;overflow:hidden}:host[data-size=m]{--t-size: .5rem;--t-small-dot: scale(.75);--t-super-small-dot: scale(.5);--t-icon-size: 1rem;min-block-size:1.25rem}:host-context(tui-root._mobile) :host[data-size=m]{--t-icon-size: .875rem}:host[data-size=s]{--t-size: .375rem;--t-small-dot: scale(.666);--t-super-small-dot: scale(.333);--t-icon-size: .75rem;min-block-size:1rem}:host-context(tui-root._mobile) :host[data-size=s]{--t-icon-size: .6875rem}.t-items{display:flex;gap:var(--t-gap);transition:transform var(--tui-duration-fast, .15s) var(--tui-curve-productive-standard, cubic-bezier(.2, 0, .4, .9))}.t-item{display:flex;align-self:center;align-items:center;justify-content:center;color:var(--tui-background-neutral-2)}.t-item._active{color:var(--tui-background-accent-1)}.t-item:empty:before{content:\"\";display:flex;min-inline-size:var(--t-size);min-block-size:var(--t-size);border-radius:100%;background:currentColor;transition:inherit}.t-item:empty:not(._visible):before,.t-item:empty:not(._visible)+.t-item:not(._active):not(._pre-active):empty:before,.t-item:empty:not(._last):not(._post-active):not(._active):nth-last-child(1 of._visible):before{transform:var(--t-super-small-dot)!important}.t-item:empty:not(._last)._post-active:nth-last-child(1 of._visible):before,.t-item:empty:not(._visible)+.t-item._pre-active:empty:before,.t-item:empty:not(._visible)+.t-item:empty+.t-item:not(._active):empty:before,.t-item:empty:not(._pre-last):nth-last-child(2 of._visible):not(._active):before{transform:var(--t-small-dot)}.t-item:empty+.t-item:not(:empty)._pre-last{transform:scale(.64)}.t-item:empty+.t-item:not(:empty)._pre-last:nth-last-child(2 of._visible){transform:scale(1)}.t-item::ng-deep>tui-icon{inline-size:var(--t-icon-size);block-size:var(--t-icon-size)}.t-item,.t-item::ng-deep>tui-icon{transition:all var(--tui-duration-fast, .15s) var(--tui-curve-productive-standard, cubic-bezier(.2, 0, .4, .9))}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
62
62
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPager, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiPager, decorators: [{
64
64
  type: Component,
65
65
  args: [{ selector: 'tui-pager', imports: [NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
66
66
  MutationObserverService,
@@ -1,88 +1,70 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, EventEmitter, ElementRef, Output, Input, ViewChildren, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { computed, inject, input, model, ElementRef, ViewChildren, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
4
4
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
5
5
  import { tuiIsFocusedIn } from '@taiga-ui/cdk/utils/focus';
6
6
  import { tuiClamp } from '@taiga-ui/cdk/utils/math';
7
7
  import { TuiButton } from '@taiga-ui/core/components/button';
8
- import { TUI_SPIN_ICONS } from '@taiga-ui/core/tokens';
8
+ import { TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
9
9
  import { TUI_PAGINATION_TEXTS } from '@taiga-ui/kit/tokens';
10
10
  import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
11
11
  import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
12
12
 
13
13
  const [TUI_PAGINATION_OPTIONS, tuiPaginationOptionsProvider] = tuiCreateOptions({
14
- appearance: ({ isActive, size }) => {
15
- const fallback = size === 's' ? 'secondary' : 'flat';
16
- return isActive ? 'primary' : fallback;
17
- },
18
- defaultSize: 'l',
14
+ size: 'l',
15
+ appearance: (isActive) => (isActive ? 'primary' : 'flat'),
19
16
  });
20
17
 
21
- const DOTS_LENGTH = 1;
18
+ const ELLIPSIS_ITEM_LENGTH = 1;
22
19
  const ACTIVE_ITEM_LENGTH = 1;
23
20
  class TuiPagination {
24
21
  constructor() {
25
22
  this.els = EMPTY_QUERY;
26
23
  this.el = tuiInjectElement();
24
+ this.maxHalfLength = computed(() => this.sidePadding() + ELLIPSIS_ITEM_LENGTH + this.activePadding());
25
+ this.maxElementsLength = computed(() => this.maxHalfLength() * 2 + ACTIVE_ITEM_LENGTH);
26
+ this.lastElementIndex = computed(() => this.elementsLength() - 1);
27
+ this.itemsFit = computed(() => this.length() <= this.maxElementsLength());
28
+ this.lastIndex = computed(() => this.length() - 1);
29
+ this.reverseIndex = computed(() => this.lastIndex() - this.index());
27
30
  this.texts = inject(TUI_PAGINATION_TEXTS);
28
- this.icons = inject(TUI_SPIN_ICONS);
31
+ this.icons = inject(TUI_COMMON_ICONS);
29
32
  this.options = inject(TUI_PAGINATION_OPTIONS);
30
- this.length = 1;
31
- this.focusable = true;
32
- this.size = this.options.defaultSize;
33
- this.disabled = false;
34
- /**
35
- * Amount of visible pages around active page
36
- */
37
- this.activePadding = 1;
38
- /**
39
- * Amount of visible pages at the edges
40
- */
41
- this.sidePadding = 1;
42
- /**
43
- * Active page index
44
- */
45
- this.index = 0;
46
- this.indexChange = new EventEmitter();
47
- }
48
- get nativeFocusableElement() {
49
- if (this.disabled) {
50
- return null;
51
- }
52
- let activeElementIndex = 0;
53
- const { elementsLength } = this;
54
- for (let i = 0; i < elementsLength; i++) {
55
- const itemIndex = this.getItemIndexByElementIndex(i);
56
- if (itemIndex) {
57
- activeElementIndex++;
33
+ this.buttonSize = computed(() => (this.size() === 'm' ? 'xs' : 's'));
34
+ this.elementsLength = computed(() => this.itemsFit() ? this.length() : this.maxElementsLength());
35
+ this.length = input(1);
36
+ this.focusable = input(true);
37
+ this.size = input(this.options.size);
38
+ this.disabled = input(false);
39
+ this.activePadding = input(1);
40
+ this.sidePadding = input(1);
41
+ this.content = input();
42
+ this.index = model(0);
43
+ this.arrowIsDisabledRight = computed(() => this.reverseIndex() === 0);
44
+ this.arrowIsDisabledLeft = computed(() => this.index() === 0);
45
+ this.nativeFocusableElement = computed(() => {
46
+ if (this.disabled()) {
47
+ return null;
58
48
  }
59
- if (itemIndex === this.index) {
60
- break;
49
+ let activeElementIndex = 0;
50
+ for (let i = 0; i < this.elementsLength(); i++) {
51
+ const itemIndex = this.getItemIndexByElementIndex(i);
52
+ if (itemIndex) {
53
+ activeElementIndex++;
54
+ }
55
+ if (itemIndex === this.index()) {
56
+ break;
57
+ }
61
58
  }
62
- }
63
- return (this.els.find((_, index) => index === activeElementIndex)?.nativeElement ??
64
- null);
59
+ return (this.els.find((_, index) => index === activeElementIndex)?.nativeElement ??
60
+ null);
61
+ });
65
62
  }
66
63
  get focused() {
67
64
  return tuiIsFocusedIn(this.el);
68
65
  }
69
- get arrowIsDisabledLeft() {
70
- return this.index === 0;
71
- }
72
- get arrowIsDisabledRight() {
73
- return this.reverseIndex === 0;
74
- }
75
- /**
76
- * Number of items in a container.
77
- */
78
- get elementsLength() {
79
- return this.itemsFit ? this.length : this.maxElementsLength;
80
- }
81
- get buttonSize() {
82
- return this.size === 'm' ? 'xs' : 's';
83
- }
84
66
  elementIsFocusable(index) {
85
- return this.index === index && !this.focused;
67
+ return this.index() === index && !this.focused;
86
68
  }
87
69
  /**
88
70
  * Get index by element index
@@ -90,31 +72,25 @@ class TuiPagination {
90
72
  * @returns index or null (for '…')
91
73
  */
92
74
  getItemIndexByElementIndex(elementIndex) {
93
- if (this.size === 's') {
75
+ const reverseElementIndex = this.lastElementIndex() - elementIndex;
76
+ if (elementIndex < this.sidePadding()) {
94
77
  return elementIndex;
95
78
  }
96
- if (elementIndex < this.sidePadding) {
97
- return elementIndex;
79
+ if (reverseElementIndex < this.sidePadding()) {
80
+ return this.lastIndex() - reverseElementIndex;
98
81
  }
99
- if (elementIndex === this.sidePadding && this.hasCollapsedItems(this.index)) {
82
+ if (elementIndex === this.sidePadding() && this.hasCollapsedItems(this.index())) {
100
83
  return null;
101
84
  }
102
- const reverseElementIndex = this.lastElementIndex - elementIndex;
103
- if (reverseElementIndex === this.sidePadding &&
104
- this.hasCollapsedItems(this.reverseIndex)) {
85
+ if (reverseElementIndex === this.sidePadding() &&
86
+ this.hasCollapsedItems(this.reverseIndex())) {
105
87
  return null;
106
88
  }
107
- if (reverseElementIndex < this.sidePadding) {
108
- return this.lastIndex - reverseElementIndex;
109
- }
110
- const computedIndex = this.index - this.maxHalfLength + elementIndex;
111
- return tuiClamp(computedIndex, elementIndex, this.lastIndex - reverseElementIndex);
89
+ const computedIndex = this.index() - this.maxHalfLength() + elementIndex;
90
+ return tuiClamp(computedIndex, elementIndex, this.lastIndex() - reverseElementIndex);
112
91
  }
113
92
  getElementMode(index = -1) {
114
- return this.options.appearance({
115
- isActive: this.index === index,
116
- size: this.size,
117
- });
93
+ return this.options.appearance(this.index() === index);
118
94
  }
119
95
  onElementClick(index) {
120
96
  this.updateIndex(index);
@@ -135,37 +111,7 @@ class TuiPagination {
135
111
  }
136
112
  onArrowClick(direction) {
137
113
  this.tryChangeTo(direction);
138
- this.focusActive();
139
- }
140
- /**
141
- * Active index from the end
142
- */
143
- get reverseIndex() {
144
- return this.lastIndex - this.index;
145
- }
146
- /**
147
- * Max number of elements in half (not counting the middle one).
148
- */
149
- get maxHalfLength() {
150
- return this.sidePadding + DOTS_LENGTH + this.activePadding;
151
- }
152
- /**
153
- * Is there '...' anywhere
154
- */
155
- get itemsFit() {
156
- return this.length <= this.maxElementsLength;
157
- }
158
- /**
159
- * Max number of elements
160
- */
161
- get maxElementsLength() {
162
- return this.maxHalfLength * 2 + ACTIVE_ITEM_LENGTH;
163
- }
164
- get lastIndex() {
165
- return this.length - 1;
166
- }
167
- get lastElementIndex() {
168
- return this.elementsLength - 1;
114
+ this.nativeFocusableElement()?.focus();
169
115
  }
170
116
  /**
171
117
  * Are there collapsed items at that index
@@ -173,51 +119,25 @@ class TuiPagination {
173
119
  * @returns there are collapsed items
174
120
  */
175
121
  hasCollapsedItems(index) {
176
- return !this.itemsFit && index > this.maxHalfLength;
122
+ return !this.itemsFit() && index > this.maxHalfLength();
177
123
  }
178
124
  tryChangeTo(direction) {
179
- this.updateIndex(tuiClamp(this.index + (direction === 'right' ? 1 : -1), 0, this.lastIndex));
180
- }
181
- focusActive() {
182
- const { nativeFocusableElement } = this;
183
- if (nativeFocusableElement) {
184
- nativeFocusableElement.focus();
185
- }
125
+ this.updateIndex(tuiClamp(this.index() + (direction === 'right' ? 1 : -1), 0, this.lastIndex()));
186
126
  }
187
127
  updateIndex(index) {
188
- if (this.index === index) {
189
- return;
128
+ if (this.index() !== index) {
129
+ this.index.set(index);
190
130
  }
191
- this.index = index;
192
- this.indexChange.emit(index);
193
131
  }
194
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPagination, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
195
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiPagination, isStandalone: true, selector: "tui-pagination", inputs: { length: "length", focusable: "focusable", size: "size", disabled: "disabled", activePadding: "activePadding", sidePadding: "sidePadding", content: "content", index: "index" }, outputs: { indexChange: "indexChange" }, viewQueries: [{ propertyName: "els", predicate: ["element"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"t-content\">\n @if (size !== 's') {\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode()\"\n [disabled]=\"arrowIsDisabledLeft\"\n [iconStart]=\"icons.decrement\"\n [size]=\"buttonSize\"\n (click)=\"onArrowClick('left')\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n {{ texts()[0] }}\n </button>\n @for (_ of '-'.repeat(elementsLength); track $index) {\n @let index = getItemIndexByElementIndex($index);\n @if (index !== null) {\n <button\n #element\n automation-id=\"tui-pagination__element\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode(index)\"\n [disabled]=\"disabled\"\n [size]=\"buttonSize\"\n [tabIndex]=\"elementIsFocusable(index) ? 0 : -1\"\n (click)=\"onElementClick(index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n <ng-container *polymorpheusOutlet=\"content || index + 1 as text; context: {$implicit: index}\">\n {{ text }}\n </ng-container>\n </button>\n } @else {\n <div\n automation-id=\"tui-pagination__element\"\n class=\"t-dots\"\n [class.t-dots_small]=\"size === 'm'\"\n ></div>\n }\n }\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode()\"\n [disabled]=\"arrowIsDisabledRight\"\n [iconStart]=\"icons.increment\"\n [size]=\"buttonSize\"\n (click)=\"onArrowClick('right')\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n {{ texts()[1] }}\n </button>\n } @else {\n @for (_ of '-'.repeat(length); track $index) {\n <button\n #element\n tuiButton\n type=\"button\"\n class=\"t-button t-button_small\"\n [appearance]=\"getElementMode($index)\"\n [disabled]=\"disabled\"\n [tabIndex]=\"elementIsFocusable($index) ? 0 : -1\"\n (click)=\"onElementClick($index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n {{ $index + 1 }}\n </button>\n }\n }\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);text-align:center}.t-content{display:flex;justify-content:center}.t-button{margin:0 .125rem;flex-shrink:0}.t-button[tuiButton]:not(.t-button_small){min-inline-size:var(--tui-height-s);padding:0 .5rem}.t-button[tuiButton]:not(.t-button_small)[data-size=xs]{min-inline-size:var(--tui-height-xs);padding:0 .375rem}.t-button:first-child{transform:scaleX(var(--tui-inline));margin-inline-start:0}.t-button:last-child{transform:scaleX(var(--tui-inline));margin-inline-end:0}.t-button[data-size=xs]{min-inline-size:var(--tui-height-xs);padding:0 .375rem}.t-button.t-button.t-button_small{inline-size:.5rem;block-size:.5rem;font-size:0;padding:0;margin:0}.t-button.t-button.t-button_small:not(:first-child){margin-inline-start:.5rem}.t-dots{inline-size:var(--tui-height-s);block-size:var(--tui-height-s);line-height:var(--tui-height-s);margin:0 .125rem;flex-shrink:0;color:var(--tui-text-action);text-align:center;cursor:default}.t-dots_small{inline-size:var(--tui-height-xs);block-size:var(--tui-height-xs);line-height:var(--tui-height-xs)}.t-dots:before{content:\"\\2026\"}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
132
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiPagination, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
133
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: TuiPagination, isStandalone: true, selector: "tui-pagination", inputs: { length: { classPropertyName: "length", publicName: "length", isSignal: true, isRequired: false, transformFunction: null }, focusable: { classPropertyName: "focusable", publicName: "focusable", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, activePadding: { classPropertyName: "activePadding", publicName: "activePadding", isSignal: true, isRequired: false, transformFunction: null }, sidePadding: { classPropertyName: "sidePadding", publicName: "sidePadding", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { index: "indexChange" }, viewQueries: [{ propertyName: "els", predicate: ["element"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"t-content\">\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode()\"\n [disabled]=\"arrowIsDisabledLeft()\"\n [iconStart]=\"icons.decrement\"\n [size]=\"buttonSize()\"\n (click)=\"onArrowClick('left')\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n {{ texts()[0] }}\n </button>\n @for (_ of '-'.repeat(elementsLength()); track $index) {\n @let index = getItemIndexByElementIndex($index);\n @if (index !== null) {\n <button\n #element\n automation-id=\"tui-pagination__element\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode(index)\"\n [disabled]=\"disabled()\"\n [size]=\"buttonSize()\"\n [tabIndex]=\"elementIsFocusable(index) ? 0 : -1\"\n (click)=\"onElementClick(index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n <ng-container *polymorpheusOutlet=\"content() || index + 1 as text; context: {$implicit: index}\">\n {{ text }}\n </ng-container>\n </button>\n } @else {\n <div\n automation-id=\"tui-pagination__element\"\n class=\"t-ellipsis\"\n [class.t-ellipsis_small]=\"size() === 'm'\"\n ></div>\n }\n }\n\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode()\"\n [disabled]=\"arrowIsDisabledRight()\"\n [iconStart]=\"icons.increment\"\n [size]=\"buttonSize()\"\n (click)=\"onArrowClick('right')\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n {{ texts()[1] }}\n </button>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);text-align:center}.t-content{display:flex;justify-content:center}.t-button{margin:0 .125rem;flex-shrink:0}.t-button[tuiButton]:not(.t-button_small){min-inline-size:var(--tui-height-s);padding:0 .5rem}.t-button[tuiButton]:not(.t-button_small)[data-size=xs]{min-inline-size:var(--tui-height-xs);padding:0 .375rem}.t-button:first-child{transform:scaleX(var(--tui-inline));margin-inline-start:0}.t-button:last-child{transform:scaleX(var(--tui-inline));margin-inline-end:0}.t-ellipsis{inline-size:var(--tui-height-s);block-size:var(--tui-height-s);line-height:var(--tui-height-s);margin:0 .125rem;flex-shrink:0;color:var(--tui-text-action);text-align:center;cursor:default}.t-ellipsis_small{inline-size:var(--tui-height-xs);block-size:var(--tui-height-xs);line-height:var(--tui-height-xs)}.t-ellipsis:before{content:\"\\2026\"}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
196
134
  }
197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPagination, decorators: [{
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiPagination, decorators: [{
198
136
  type: Component,
199
- args: [{ selector: 'tui-pagination', imports: [PolymorpheusOutlet, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"t-content\">\n @if (size !== 's') {\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode()\"\n [disabled]=\"arrowIsDisabledLeft\"\n [iconStart]=\"icons.decrement\"\n [size]=\"buttonSize\"\n (click)=\"onArrowClick('left')\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n {{ texts()[0] }}\n </button>\n @for (_ of '-'.repeat(elementsLength); track $index) {\n @let index = getItemIndexByElementIndex($index);\n @if (index !== null) {\n <button\n #element\n automation-id=\"tui-pagination__element\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode(index)\"\n [disabled]=\"disabled\"\n [size]=\"buttonSize\"\n [tabIndex]=\"elementIsFocusable(index) ? 0 : -1\"\n (click)=\"onElementClick(index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n <ng-container *polymorpheusOutlet=\"content || index + 1 as text; context: {$implicit: index}\">\n {{ text }}\n </ng-container>\n </button>\n } @else {\n <div\n automation-id=\"tui-pagination__element\"\n class=\"t-dots\"\n [class.t-dots_small]=\"size === 'm'\"\n ></div>\n }\n }\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode()\"\n [disabled]=\"arrowIsDisabledRight\"\n [iconStart]=\"icons.increment\"\n [size]=\"buttonSize\"\n (click)=\"onArrowClick('right')\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n {{ texts()[1] }}\n </button>\n } @else {\n @for (_ of '-'.repeat(length); track $index) {\n <button\n #element\n tuiButton\n type=\"button\"\n class=\"t-button t-button_small\"\n [appearance]=\"getElementMode($index)\"\n [disabled]=\"disabled\"\n [tabIndex]=\"elementIsFocusable($index) ? 0 : -1\"\n (click)=\"onElementClick($index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n {{ $index + 1 }}\n </button>\n }\n }\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);text-align:center}.t-content{display:flex;justify-content:center}.t-button{margin:0 .125rem;flex-shrink:0}.t-button[tuiButton]:not(.t-button_small){min-inline-size:var(--tui-height-s);padding:0 .5rem}.t-button[tuiButton]:not(.t-button_small)[data-size=xs]{min-inline-size:var(--tui-height-xs);padding:0 .375rem}.t-button:first-child{transform:scaleX(var(--tui-inline));margin-inline-start:0}.t-button:last-child{transform:scaleX(var(--tui-inline));margin-inline-end:0}.t-button[data-size=xs]{min-inline-size:var(--tui-height-xs);padding:0 .375rem}.t-button.t-button.t-button_small{inline-size:.5rem;block-size:.5rem;font-size:0;padding:0;margin:0}.t-button.t-button.t-button_small:not(:first-child){margin-inline-start:.5rem}.t-dots{inline-size:var(--tui-height-s);block-size:var(--tui-height-s);line-height:var(--tui-height-s);margin:0 .125rem;flex-shrink:0;color:var(--tui-text-action);text-align:center;cursor:default}.t-dots_small{inline-size:var(--tui-height-xs);block-size:var(--tui-height-xs);line-height:var(--tui-height-xs)}.t-dots:before{content:\"\\2026\"}\n"] }]
137
+ args: [{ selector: 'tui-pagination', imports: [PolymorpheusOutlet, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"t-content\">\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode()\"\n [disabled]=\"arrowIsDisabledLeft()\"\n [iconStart]=\"icons.decrement\"\n [size]=\"buttonSize()\"\n (click)=\"onArrowClick('left')\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n {{ texts()[0] }}\n </button>\n @for (_ of '-'.repeat(elementsLength()); track $index) {\n @let index = getItemIndexByElementIndex($index);\n @if (index !== null) {\n <button\n #element\n automation-id=\"tui-pagination__element\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode(index)\"\n [disabled]=\"disabled()\"\n [size]=\"buttonSize()\"\n [tabIndex]=\"elementIsFocusable(index) ? 0 : -1\"\n (click)=\"onElementClick(index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n <ng-container *polymorpheusOutlet=\"content() || index + 1 as text; context: {$implicit: index}\">\n {{ text }}\n </ng-container>\n </button>\n } @else {\n <div\n automation-id=\"tui-pagination__element\"\n class=\"t-ellipsis\"\n [class.t-ellipsis_small]=\"size() === 'm'\"\n ></div>\n }\n }\n\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode()\"\n [disabled]=\"arrowIsDisabledRight()\"\n [iconStart]=\"icons.increment\"\n [size]=\"buttonSize()\"\n (click)=\"onArrowClick('right')\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n {{ texts()[1] }}\n </button>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);text-align:center}.t-content{display:flex;justify-content:center}.t-button{margin:0 .125rem;flex-shrink:0}.t-button[tuiButton]:not(.t-button_small){min-inline-size:var(--tui-height-s);padding:0 .5rem}.t-button[tuiButton]:not(.t-button_small)[data-size=xs]{min-inline-size:var(--tui-height-xs);padding:0 .375rem}.t-button:first-child{transform:scaleX(var(--tui-inline));margin-inline-start:0}.t-button:last-child{transform:scaleX(var(--tui-inline));margin-inline-end:0}.t-ellipsis{inline-size:var(--tui-height-s);block-size:var(--tui-height-s);line-height:var(--tui-height-s);margin:0 .125rem;flex-shrink:0;color:var(--tui-text-action);text-align:center;cursor:default}.t-ellipsis_small{inline-size:var(--tui-height-xs);block-size:var(--tui-height-xs);line-height:var(--tui-height-xs)}.t-ellipsis:before{content:\"\\2026\"}\n"] }]
200
138
  }], propDecorators: { els: [{
201
139
  type: ViewChildren,
202
140
  args: ['element', { read: ElementRef }]
203
- }], length: [{
204
- type: Input
205
- }], focusable: [{
206
- type: Input
207
- }], size: [{
208
- type: Input
209
- }], disabled: [{
210
- type: Input
211
- }], activePadding: [{
212
- type: Input
213
- }], sidePadding: [{
214
- type: Input
215
- }], content: [{
216
- type: Input
217
- }], index: [{
218
- type: Input
219
- }], indexChange: [{
220
- type: Output
221
141
  }] } });
222
142
 
223
143
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-pagination.mjs","sources":["../../../projects/kit/components/pagination/pagination.options.ts","../../../projects/kit/components/pagination/pagination.component.ts","../../../projects/kit/components/pagination/pagination.template.html","../../../projects/kit/components/pagination/taiga-ui-kit-components-pagination.ts"],"sourcesContent":["import {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiPaginationOptions {\n readonly appearance: TuiStringHandler<{\n isActive: boolean;\n size: TuiSizeL | TuiSizeS;\n }>;\n readonly defaultSize: TuiSizeL | TuiSizeS;\n}\n\nexport const [TUI_PAGINATION_OPTIONS, tuiPaginationOptionsProvider] =\n tuiCreateOptions<TuiPaginationOptions>({\n appearance: ({isActive, size}) => {\n const fallback = size === 's' ? 'secondary' : 'flat';\n\n return isActive ? 'primary' : fallback;\n },\n defaultSize: 'l',\n });\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n type QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TUI_SPIN_ICONS} from '@taiga-ui/core/tokens';\nimport {\n type TuiHorizontalDirection,\n type TuiSizeL,\n type TuiSizeS,\n type TuiSizeXS,\n} from '@taiga-ui/core/types';\nimport {TUI_PAGINATION_TEXTS} from '@taiga-ui/kit/tokens';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TUI_PAGINATION_OPTIONS} from './pagination.options';\n\nconst DOTS_LENGTH = 1;\nconst ACTIVE_ITEM_LENGTH = 1;\n\n@Component({\n selector: 'tui-pagination',\n imports: [PolymorpheusOutlet, TuiButton],\n templateUrl: './pagination.template.html',\n styleUrl: './pagination.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPagination {\n @ViewChildren('element', {read: ElementRef})\n private readonly els: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n private readonly el = tuiInjectElement();\n\n protected readonly texts = inject(TUI_PAGINATION_TEXTS);\n protected readonly icons = inject(TUI_SPIN_ICONS);\n protected readonly options = inject(TUI_PAGINATION_OPTIONS);\n\n @Input()\n public length = 1;\n\n @Input()\n public focusable = true;\n\n @Input()\n public size: TuiSizeL | TuiSizeS = this.options.defaultSize;\n\n @Input()\n public readonly disabled = false;\n\n /**\n * Amount of visible pages around active page\n */\n @Input()\n public activePadding = 1;\n\n /**\n * Amount of visible pages at the edges\n */\n @Input()\n public sidePadding = 1;\n\n /**\n * Customization for page number display.\n */\n @Input()\n public content: PolymorpheusContent<TuiContext<number>>;\n\n /**\n * Active page index\n */\n @Input()\n public index = 0;\n\n @Output()\n public readonly indexChange = new EventEmitter<number>();\n\n public get nativeFocusableElement(): HTMLElement | null {\n if (this.disabled) {\n return null;\n }\n\n let activeElementIndex = 0;\n const {elementsLength} = this;\n\n for (let i = 0; i < elementsLength; i++) {\n const itemIndex = this.getItemIndexByElementIndex(i);\n\n if (itemIndex) {\n activeElementIndex++;\n }\n\n if (itemIndex === this.index) {\n break;\n }\n }\n\n return (\n this.els.find((_, index) => index === activeElementIndex)?.nativeElement ??\n null\n );\n }\n\n public get focused(): boolean {\n return tuiIsFocusedIn(this.el);\n }\n\n public get arrowIsDisabledLeft(): boolean {\n return this.index === 0;\n }\n\n public get arrowIsDisabledRight(): boolean {\n return this.reverseIndex === 0;\n }\n\n /**\n * Number of items in a container.\n */\n protected get elementsLength(): number {\n return this.itemsFit ? this.length : this.maxElementsLength;\n }\n\n protected get buttonSize(): TuiSizeXS {\n return this.size === 'm' ? 'xs' : 's';\n }\n\n protected elementIsFocusable(index: number): boolean {\n return this.index === index && !this.focused;\n }\n\n /**\n * Get index by element index\n * @param elementIndex\n * @returns index or null (for '…')\n */\n protected getItemIndexByElementIndex(elementIndex: number): number | null {\n if (this.size === 's') {\n return elementIndex;\n }\n\n if (elementIndex < this.sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === this.sidePadding && this.hasCollapsedItems(this.index)) {\n return null;\n }\n\n const reverseElementIndex = this.lastElementIndex - elementIndex;\n\n if (\n reverseElementIndex === this.sidePadding &&\n this.hasCollapsedItems(this.reverseIndex)\n ) {\n return null;\n }\n\n if (reverseElementIndex < this.sidePadding) {\n return this.lastIndex - reverseElementIndex;\n }\n\n const computedIndex = this.index - this.maxHalfLength + elementIndex;\n\n return tuiClamp(\n computedIndex,\n elementIndex,\n this.lastIndex - reverseElementIndex,\n );\n }\n\n protected getElementMode(index = -1): string {\n return this.options.appearance({\n isActive: this.index === index,\n size: this.size,\n });\n }\n\n protected onElementClick(index: number): void {\n this.updateIndex(index);\n }\n\n protected onElementKeyDownArrowLeft(element: HTMLElement): void {\n if (element === this.els.first.nativeElement) {\n return;\n }\n\n const previous = this.els.find(\n (_, index, array) => array[index + 1]?.nativeElement === element,\n );\n\n previous?.nativeElement.focus();\n }\n\n protected onElementKeyDownArrowRight(element: HTMLElement): void {\n if (element === this.els.last.nativeElement) {\n return;\n }\n\n const next = this.els.find(\n (_, index, array) => array[index - 1]?.nativeElement === element,\n );\n\n next?.nativeElement.focus();\n }\n\n protected onArrowClick(direction: TuiHorizontalDirection): void {\n this.tryChangeTo(direction);\n this.focusActive();\n }\n\n /**\n * Active index from the end\n */\n private get reverseIndex(): number {\n return this.lastIndex - this.index;\n }\n\n /**\n * Max number of elements in half (not counting the middle one).\n */\n private get maxHalfLength(): number {\n return this.sidePadding + DOTS_LENGTH + this.activePadding;\n }\n\n /**\n * Is there '...' anywhere\n */\n private get itemsFit(): boolean {\n return this.length <= this.maxElementsLength;\n }\n\n /**\n * Max number of elements\n */\n private get maxElementsLength(): number {\n return this.maxHalfLength * 2 + ACTIVE_ITEM_LENGTH;\n }\n\n private get lastIndex(): number {\n return this.length - 1;\n }\n\n private get lastElementIndex(): number {\n return this.elementsLength - 1;\n }\n\n /**\n * Are there collapsed items at that index\n * @param index\n * @returns there are collapsed items\n */\n private hasCollapsedItems(index: number): boolean {\n return !this.itemsFit && index > this.maxHalfLength;\n }\n\n private tryChangeTo(direction: TuiHorizontalDirection): void {\n this.updateIndex(\n tuiClamp(this.index + (direction === 'right' ? 1 : -1), 0, this.lastIndex),\n );\n }\n\n private focusActive(): void {\n const {nativeFocusableElement} = this;\n\n if (nativeFocusableElement) {\n nativeFocusableElement.focus();\n }\n }\n\n private updateIndex(index: number): void {\n if (this.index === index) {\n return;\n }\n\n this.index = index;\n this.indexChange.emit(index);\n }\n}\n","<div class=\"t-content\">\n @if (size !== 's') {\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode()\"\n [disabled]=\"arrowIsDisabledLeft\"\n [iconStart]=\"icons.decrement\"\n [size]=\"buttonSize\"\n (click)=\"onArrowClick('left')\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n {{ texts()[0] }}\n </button>\n @for (_ of '-'.repeat(elementsLength); track $index) {\n @let index = getItemIndexByElementIndex($index);\n @if (index !== null) {\n <button\n #element\n automation-id=\"tui-pagination__element\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode(index)\"\n [disabled]=\"disabled\"\n [size]=\"buttonSize\"\n [tabIndex]=\"elementIsFocusable(index) ? 0 : -1\"\n (click)=\"onElementClick(index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n <ng-container *polymorpheusOutlet=\"content || index + 1 as text; context: {$implicit: index}\">\n {{ text }}\n </ng-container>\n </button>\n } @else {\n <div\n automation-id=\"tui-pagination__element\"\n class=\"t-dots\"\n [class.t-dots_small]=\"size === 'm'\"\n ></div>\n }\n }\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode()\"\n [disabled]=\"arrowIsDisabledRight\"\n [iconStart]=\"icons.increment\"\n [size]=\"buttonSize\"\n (click)=\"onArrowClick('right')\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n {{ texts()[1] }}\n </button>\n } @else {\n @for (_ of '-'.repeat(length); track $index) {\n <button\n #element\n tuiButton\n type=\"button\"\n class=\"t-button t-button_small\"\n [appearance]=\"getElementMode($index)\"\n [disabled]=\"disabled\"\n [tabIndex]=\"elementIsFocusable($index) ? 0 : -1\"\n (click)=\"onElementClick($index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n {{ $index + 1 }}\n </button>\n }\n }\n</div>\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-pagination.mjs","sources":["../../../projects/kit/components/pagination/pagination.options.ts","../../../projects/kit/components/pagination/pagination.component.ts","../../../projects/kit/components/pagination/pagination.template.html","../../../projects/kit/components/pagination/taiga-ui-kit-components-pagination.ts"],"sourcesContent":["import {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL} from '@taiga-ui/core/types';\n\nexport interface TuiPaginationOptions {\n readonly size: TuiSizeL;\n readonly appearance: TuiStringHandler<boolean>;\n}\n\nexport const [TUI_PAGINATION_OPTIONS, tuiPaginationOptionsProvider] =\n tuiCreateOptions<TuiPaginationOptions>({\n size: 'l',\n appearance: (isActive) => (isActive ? 'primary' : 'flat'),\n });\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n model,\n type QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {type TuiHorizontalDirection} from '@taiga-ui/core/types';\nimport {TUI_PAGINATION_TEXTS} from '@taiga-ui/kit/tokens';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TUI_PAGINATION_OPTIONS} from './pagination.options';\n\nconst ELLIPSIS_ITEM_LENGTH = 1;\nconst ACTIVE_ITEM_LENGTH = 1;\n\n@Component({\n selector: 'tui-pagination',\n imports: [PolymorpheusOutlet, TuiButton],\n templateUrl: './pagination.template.html',\n styleUrl: './pagination.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPagination {\n @ViewChildren('element', {read: ElementRef})\n private readonly els: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n private readonly el = tuiInjectElement();\n\n private readonly maxHalfLength = computed(\n () => this.sidePadding() + ELLIPSIS_ITEM_LENGTH + this.activePadding(),\n );\n\n private readonly maxElementsLength = computed(\n () => this.maxHalfLength() * 2 + ACTIVE_ITEM_LENGTH,\n );\n\n private readonly lastElementIndex = computed(() => this.elementsLength() - 1);\n private readonly itemsFit = computed(() => this.length() <= this.maxElementsLength());\n private readonly lastIndex = computed(() => this.length() - 1);\n\n private readonly reverseIndex = computed(\n (): number => this.lastIndex() - this.index(),\n );\n\n protected readonly texts = inject(TUI_PAGINATION_TEXTS);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly options = inject(TUI_PAGINATION_OPTIONS);\n\n protected readonly buttonSize = computed(() => (this.size() === 'm' ? 'xs' : 's'));\n\n protected readonly elementsLength = computed(() =>\n this.itemsFit() ? this.length() : this.maxElementsLength(),\n );\n\n public readonly length = input(1);\n public readonly focusable = input(true);\n public readonly size = input(this.options.size);\n public readonly disabled = input(false);\n public readonly activePadding = input(1);\n public readonly sidePadding = input(1);\n public readonly content = input<PolymorpheusContent<TuiContext<number>>>();\n public readonly index = model(0);\n public readonly arrowIsDisabledRight = computed(() => this.reverseIndex() === 0);\n public readonly arrowIsDisabledLeft = computed(() => this.index() === 0);\n public readonly nativeFocusableElement = computed((): HTMLElement | null => {\n if (this.disabled()) {\n return null;\n }\n\n let activeElementIndex = 0;\n\n for (let i = 0; i < this.elementsLength(); i++) {\n const itemIndex = this.getItemIndexByElementIndex(i);\n\n if (itemIndex) {\n activeElementIndex++;\n }\n\n if (itemIndex === this.index()) {\n break;\n }\n }\n\n return (\n this.els.find((_, index) => index === activeElementIndex)?.nativeElement ??\n null\n );\n });\n\n public get focused(): boolean {\n return tuiIsFocusedIn(this.el);\n }\n\n protected elementIsFocusable(index: number): boolean {\n return this.index() === index && !this.focused;\n }\n\n /**\n * Get index by element index\n * @param elementIndex\n * @returns index or null (for '…')\n */\n protected getItemIndexByElementIndex(elementIndex: number): number | null {\n const reverseElementIndex = this.lastElementIndex() - elementIndex;\n\n if (elementIndex < this.sidePadding()) {\n return elementIndex;\n }\n\n if (reverseElementIndex < this.sidePadding()) {\n return this.lastIndex() - reverseElementIndex;\n }\n\n if (elementIndex === this.sidePadding() && this.hasCollapsedItems(this.index())) {\n return null;\n }\n\n if (\n reverseElementIndex === this.sidePadding() &&\n this.hasCollapsedItems(this.reverseIndex())\n ) {\n return null;\n }\n\n const computedIndex = this.index() - this.maxHalfLength() + elementIndex;\n\n return tuiClamp(\n computedIndex,\n elementIndex,\n this.lastIndex() - reverseElementIndex,\n );\n }\n\n protected getElementMode(index = -1): string {\n return this.options.appearance(this.index() === index);\n }\n\n protected onElementClick(index: number): void {\n this.updateIndex(index);\n }\n\n protected onElementKeyDownArrowLeft(element: HTMLElement): void {\n if (element === this.els.first.nativeElement) {\n return;\n }\n\n const previous = this.els.find(\n (_, index, array) => array[index + 1]?.nativeElement === element,\n );\n\n previous?.nativeElement.focus();\n }\n\n protected onElementKeyDownArrowRight(element: HTMLElement): void {\n if (element === this.els.last.nativeElement) {\n return;\n }\n\n const next = this.els.find(\n (_, index, array) => array[index - 1]?.nativeElement === element,\n );\n\n next?.nativeElement.focus();\n }\n\n protected onArrowClick(direction: TuiHorizontalDirection): void {\n this.tryChangeTo(direction);\n this.nativeFocusableElement()?.focus();\n }\n\n /**\n * Are there collapsed items at that index\n * @param index\n * @returns there are collapsed items\n */\n private hasCollapsedItems(index: number): boolean {\n return !this.itemsFit() && index > this.maxHalfLength();\n }\n\n private tryChangeTo(direction: TuiHorizontalDirection): void {\n this.updateIndex(\n tuiClamp(\n this.index() + (direction === 'right' ? 1 : -1),\n 0,\n this.lastIndex(),\n ),\n );\n }\n\n private updateIndex(index: number): void {\n if (this.index() !== index) {\n this.index.set(index);\n }\n }\n}\n","<div class=\"t-content\">\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode()\"\n [disabled]=\"arrowIsDisabledLeft()\"\n [iconStart]=\"icons.decrement\"\n [size]=\"buttonSize()\"\n (click)=\"onArrowClick('left')\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n {{ texts()[0] }}\n </button>\n @for (_ of '-'.repeat(elementsLength()); track $index) {\n @let index = getItemIndexByElementIndex($index);\n @if (index !== null) {\n <button\n #element\n automation-id=\"tui-pagination__element\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode(index)\"\n [disabled]=\"disabled()\"\n [size]=\"buttonSize()\"\n [tabIndex]=\"elementIsFocusable(index) ? 0 : -1\"\n (click)=\"onElementClick(index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n <ng-container *polymorpheusOutlet=\"content() || index + 1 as text; context: {$implicit: index}\">\n {{ text }}\n </ng-container>\n </button>\n } @else {\n <div\n automation-id=\"tui-pagination__element\"\n class=\"t-ellipsis\"\n [class.t-ellipsis_small]=\"size() === 'm'\"\n ></div>\n }\n }\n\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode()\"\n [disabled]=\"arrowIsDisabledRight()\"\n [iconStart]=\"icons.increment\"\n [size]=\"buttonSize()\"\n (click)=\"onArrowClick('right')\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n {{ texts()[1] }}\n </button>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -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.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-pin" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiPin]{--t-size: 2rem;transition-property:width,height,border,margin;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:flex;inline-size:var(--t-size);block-size:var(--t-size);align-items:stretch;flex-direction:column;justify-content:center;text-align:center;border-radius:100%;font:var(--tui-font-text-s);font-weight:700;box-sizing:border-box;color:var(--tui-text-primary-on-accent-2);background:var(--tui-background-accent-2);box-shadow:0 0 0 .125rem var(--tui-background-elevation-2);border:0 solid var(--tui-background-accent-2);transform:translate(-50%,-50%)}[tuiPin]:is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}[tuiPin]:empty{--t-size: .75rem}[tuiPin]:empty:before{display:none}[tuiPin]>input{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;-webkit-appearance:none;appearance:none;border-radius:100%}[tuiPin]>img{max-block-size:100%;box-sizing:border-box;border-radius:100%;background:var(--tui-background-base)}[tuiPin]>tui-icon{transition-property:width,height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;font-size:1.25rem;align-self:center}[tuiPin]:has(:checked){--t-size: 3.5rem;font:var(--tui-font-text-m);font-weight:700;border-width:0;margin-block-start:-2.75rem}[tuiPin]:has(:checked)>img{padding:.125rem}[tuiPin]:has(:checked)>tui-icon{font-size:2.125rem}[tuiPin]:has(:checked):before{transform:scale(.99) translate(-1.875rem,-1.875rem);opacity:1}[tuiPin]:has(:checked):after{top:4.5rem;opacity:1}[tuiPin]._open{--t-size: 3.5rem;font:var(--tui-font-text-m);font-weight:700;border-width:0;margin-block-start:-2.75rem}[tuiPin]._open>img{padding:.125rem}[tuiPin]._open>tui-icon{font-size:2.125rem}[tuiPin]._open:before{transform:scale(.99) translate(-1.875rem,-1.875rem);opacity:1}[tuiPin]._open:after{top:4.5rem;opacity:1}[tuiPin]:before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:50%;left:50%;right:-.25rem;bottom:-.625rem;box-sizing:border-box;border-width:2.2rem 2rem;border-style:solid;border-color:inherit;opacity:0;transform:scale(.57) translate(-1.875rem,-1.875rem);transform-origin:top left;pointer-events:none;mask:url('data:image/svg+xml,<svg width=\"60\" height=\"66\" viewBox=\"0 0 60 66\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 30.0917C0 13.4726 13.4313 0 30.0002 0C46.5687 0 60 13.4726 60 30.0917C60 44.2105 50.4927 56.0529 37.4162 59.2986C32.5552 60.5551 31.0408 65.275 31.0408 65.275C30.8892 65.697 30.4909 66 30.0183 66C29.5453 66 29.147 65.697 28.9938 65.275C28.9938 65.275 27.481 60.5551 22.6199 59.2986C9.46433 56.0206 0 43.5901 0 30.0917ZM30 57.75C45.3259 57.75 57.75 45.3259 57.75 30C57.75 14.6741 45.3259 2.25 30 2.25C14.6741 2.25 2.25 14.6741 2.25 30C2.25 45.3259 14.6741 57.75 30 57.75Z\" /></svg>') no-repeat}[tuiPin]:after{transition-property:top,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:50%;left:50%;border:.1875rem solid currentColor;border-color:inherit;border-radius:100%;box-sizing:border-box;box-shadow:inherit;transform:translate(-50%,-50%);opacity:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-pin" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiPin]{--t-size: 2rem;transition-property:width,height,border,margin;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:flex;inline-size:var(--t-size);block-size:var(--t-size);align-items:stretch;flex-direction:column;justify-content:center;text-align:center;border-radius:100%;font:var(--tui-font-text-s);font-weight:700;box-sizing:border-box;color:var(--tui-text-primary-on-accent-2);background:var(--tui-background-accent-2);box-shadow:0 0 0 .125rem var(--tui-background-elevation-2);border:0 solid var(--tui-background-accent-2);transform:translate(-50%,-50%)}[tuiPin]:is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}[tuiPin]:empty{--t-size: .75rem}[tuiPin]:empty:before{display:none}[tuiPin]>input{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;-webkit-appearance:none;appearance:none;border-radius:100%}[tuiPin]>img{max-block-size:100%;box-sizing:border-box;border-radius:100%;background:var(--tui-background-base)}[tuiPin]>tui-icon{transition-property:width,height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;font-size:1.25rem;align-self:center}[tuiPin]:has(:checked){--t-size: 3.5rem;font:var(--tui-font-text-m);font-weight:700;border-width:0;margin-block-start:-2.75rem}[tuiPin]:has(:checked)>img{padding:.125rem}[tuiPin]:has(:checked)>tui-icon{font-size:2.125rem}[tuiPin]:has(:checked):before{transform:scale(.99) translate(-1.875rem,-1.875rem);opacity:1}[tuiPin]:has(:checked):after{top:4.5rem;opacity:1}[tuiPin]._open{--t-size: 3.5rem;font:var(--tui-font-text-m);font-weight:700;border-width:0;margin-block-start:-2.75rem}[tuiPin]._open>img{padding:.125rem}[tuiPin]._open>tui-icon{font-size:2.125rem}[tuiPin]._open:before{transform:scale(.99) translate(-1.875rem,-1.875rem);opacity:1}[tuiPin]._open:after{top:4.5rem;opacity:1}[tuiPin]:before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:50%;left:50%;right:-.25rem;bottom:-.625rem;box-sizing:border-box;border-width:2.2rem 2rem;border-style:solid;border-color:inherit;opacity:0;transform:scale(.57) translate(-1.875rem,-1.875rem);transform-origin:top left;pointer-events:none;mask:url('data:image/svg+xml,<svg width=\"60\" height=\"66\" viewBox=\"0 0 60 66\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 30.0917C0 13.4726 13.4313 0 30.0002 0C46.5687 0 60 13.4726 60 30.0917C60 44.2105 50.4927 56.0529 37.4162 59.2986C32.5552 60.5551 31.0408 65.275 31.0408 65.275C30.8892 65.697 30.4909 66 30.0183 66C29.5453 66 29.147 65.697 28.9938 65.275C28.9938 65.275 27.481 60.5551 22.6199 59.2986C9.46433 56.0206 0 43.5901 0 30.0917ZM30 57.75C45.3259 57.75 57.75 45.3259 57.75 30C57.75 14.6741 45.3259 2.25 30 2.25C14.6741 2.25 2.25 14.6741 2.25 30C2.25 45.3259 14.6741 57.75 30 57.75Z\" /></svg>') no-repeat}[tuiPin]:after{transition-property:top,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:50%;left:50%;border:.1875rem solid currentColor;border-color:inherit;border-radius:100%;box-sizing:border-box;box-shadow:inherit;transform:translate(-50%,-50%);opacity:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: Styles, decorators: [{
10
10
  type: Component,
11
11
  args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-pin' }, styles: ["[tuiPin]{--t-size: 2rem;transition-property:width,height,border,margin;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:flex;inline-size:var(--t-size);block-size:var(--t-size);align-items:stretch;flex-direction:column;justify-content:center;text-align:center;border-radius:100%;font:var(--tui-font-text-s);font-weight:700;box-sizing:border-box;color:var(--tui-text-primary-on-accent-2);background:var(--tui-background-accent-2);box-shadow:0 0 0 .125rem var(--tui-background-elevation-2);border:0 solid var(--tui-background-accent-2);transform:translate(-50%,-50%)}[tuiPin]:is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}[tuiPin]:empty{--t-size: .75rem}[tuiPin]:empty:before{display:none}[tuiPin]>input{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;-webkit-appearance:none;appearance:none;border-radius:100%}[tuiPin]>img{max-block-size:100%;box-sizing:border-box;border-radius:100%;background:var(--tui-background-base)}[tuiPin]>tui-icon{transition-property:width,height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;font-size:1.25rem;align-self:center}[tuiPin]:has(:checked){--t-size: 3.5rem;font:var(--tui-font-text-m);font-weight:700;border-width:0;margin-block-start:-2.75rem}[tuiPin]:has(:checked)>img{padding:.125rem}[tuiPin]:has(:checked)>tui-icon{font-size:2.125rem}[tuiPin]:has(:checked):before{transform:scale(.99) translate(-1.875rem,-1.875rem);opacity:1}[tuiPin]:has(:checked):after{top:4.5rem;opacity:1}[tuiPin]._open{--t-size: 3.5rem;font:var(--tui-font-text-m);font-weight:700;border-width:0;margin-block-start:-2.75rem}[tuiPin]._open>img{padding:.125rem}[tuiPin]._open>tui-icon{font-size:2.125rem}[tuiPin]._open:before{transform:scale(.99) translate(-1.875rem,-1.875rem);opacity:1}[tuiPin]._open:after{top:4.5rem;opacity:1}[tuiPin]:before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:50%;left:50%;right:-.25rem;bottom:-.625rem;box-sizing:border-box;border-width:2.2rem 2rem;border-style:solid;border-color:inherit;opacity:0;transform:scale(.57) translate(-1.875rem,-1.875rem);transform-origin:top left;pointer-events:none;mask:url('data:image/svg+xml,<svg width=\"60\" height=\"66\" viewBox=\"0 0 60 66\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 30.0917C0 13.4726 13.4313 0 30.0002 0C46.5687 0 60 13.4726 60 30.0917C60 44.2105 50.4927 56.0529 37.4162 59.2986C32.5552 60.5551 31.0408 65.275 31.0408 65.275C30.8892 65.697 30.4909 66 30.0183 66C29.5453 66 29.147 65.697 28.9938 65.275C28.9938 65.275 27.481 60.5551 22.6199 59.2986C9.46433 56.0206 0 43.5901 0 30.0917ZM30 57.75C45.3259 57.75 57.75 45.3259 57.75 30C57.75 14.6741 45.3259 2.25 30 2.25C14.6741 2.25 2.25 14.6741 2.25 30C2.25 45.3259 14.6741 57.75 30 57.75Z\" /></svg>') no-repeat}[tuiPin]:after{transition-property:top,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:50%;left:50%;border:.1875rem solid currentColor;border-color:inherit;border-radius:100%;box-sizing:border-box;box-shadow:inherit;transform:translate(-50%,-50%);opacity:0}\n"] }]
12
12
  }] });
@@ -15,10 +15,10 @@ class TuiPin {
15
15
  this.nothing = tuiWithStyles(Styles);
16
16
  this.open = input('', { alias: 'tuiPin' });
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPin, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiPin, isStandalone: true, selector: "[tuiPin]", inputs: { open: { classPropertyName: "open", publicName: "tuiPin", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiPin": "" }, properties: { "class._open": "open()" } }, ngImport: i0 }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiPin, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiPin, isStandalone: true, selector: "[tuiPin]", inputs: { open: { classPropertyName: "open", publicName: "tuiPin", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiPin": "" }, properties: { "class._open": "open()" } }, ngImport: i0 }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPin, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiPin, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  selector: '[tuiPin]',