@taiga-ui/core 4.52.0-canary.bf9131e → 4.52.0-canary.c8448e0

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 (320) hide show
  1. package/README.md +1 -1
  2. package/classes/accessors.d.ts +2 -2
  3. package/components/calendar/calendar-sheet.component.d.ts +1 -1
  4. package/components/calendar/calendar-sheet.options.d.ts +1 -3
  5. package/{pipes/calendar-sheet → components/calendar}/calendar-sheet.pipe.d.ts +2 -2
  6. package/components/calendar/calendar-spin.component.d.ts +1 -0
  7. package/components/calendar/calendar-year.component.d.ts +1 -1
  8. package/components/calendar/calendar.options.d.ts +9 -0
  9. package/components/calendar/index.d.ts +3 -0
  10. package/{pipes/order-week-days → components/calendar}/order-week-days.pipe.d.ts +1 -1
  11. package/components/data-list/data-list.component.d.ts +7 -11
  12. package/components/data-list/data-list.d.ts +3 -4
  13. package/components/data-list/data-list.tokens.d.ts +1 -23
  14. package/components/data-list/index.d.ts +3 -4
  15. package/components/data-list/opt-group.directive.d.ts +2 -2
  16. package/components/data-list/option-content.directive.d.ts +14 -0
  17. package/components/data-list/option-with-value.directive.d.ts +9 -0
  18. package/components/data-list/option.directive.d.ts +19 -0
  19. package/components/icon/icon.component.d.ts +2 -2
  20. package/components/index.d.ts +2 -4
  21. package/components/input/index.d.ts +2 -0
  22. package/components/input/input.d.ts +5 -0
  23. package/components/input/input.directive.d.ts +29 -0
  24. package/components/label/label.directive.d.ts +1 -1
  25. package/components/link/index.d.ts +0 -1
  26. package/components/link/link.directive.d.ts +8 -6
  27. package/components/loader/loader.options.d.ts +1 -3
  28. package/components/notification/index.d.ts +3 -0
  29. package/components/notification/notification.component.d.ts +14 -0
  30. package/components/notification/notification.d.ts +3 -0
  31. package/components/notification/notification.directive.d.ts +7 -12
  32. package/components/notification/notification.options.d.ts +10 -7
  33. package/components/notification/notification.service.d.ts +17 -0
  34. package/components/root/root.component.d.ts +1 -1
  35. package/components/scrollbar/scroll-into-view.directive.d.ts +3 -2
  36. package/components/scrollbar/scroll-ref.directive.d.ts +2 -0
  37. package/components/scrollbar/scrollbar.component.d.ts +1 -5
  38. package/components/scrollbar/scrollbar.directive.d.ts +2 -2
  39. package/components/spin-button/spin-button.component.d.ts +1 -1
  40. package/components/textfield/index.d.ts +0 -1
  41. package/components/textfield/select-like.directive.d.ts +1 -0
  42. package/components/textfield/textfield-multi/textfield-item.component.d.ts +3 -2
  43. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +9 -14
  44. package/components/textfield/textfield.component.d.ts +20 -34
  45. package/components/textfield/textfield.d.ts +2 -3
  46. package/directives/appearance/appearance.directive.d.ts +1 -1
  47. package/directives/appearance/appearance.options.d.ts +1 -2
  48. package/directives/button-x/button-x.directive.d.ts +6 -0
  49. package/directives/button-x/index.d.ts +1 -0
  50. package/directives/date-format/date-format.directive.d.ts +3 -7
  51. package/directives/group/group.directive.d.ts +7 -7
  52. package/directives/group/group.options.d.ts +1 -3
  53. package/directives/index.d.ts +1 -5
  54. package/directives/items-handlers/items-handlers.directive.d.ts +5 -9
  55. package/directives/items-handlers/items-handlers.tokens.d.ts +4 -4
  56. package/directives/number-format/number-format.directive.d.ts +3 -7
  57. package/fesm2022/taiga-ui-core-classes.mjs +9 -11
  58. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  59. package/fesm2022/taiga-ui-core-components-button.mjs +7 -7
  60. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  61. package/fesm2022/taiga-ui-core-components-calendar.mjs +138 -39
  62. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-core-components-cell.mjs +7 -7
  64. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-core-components-data-list.mjs +110 -279
  66. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-core-components-error.mjs +12 -11
  68. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-core-components-expand.mjs +3 -3
  70. package/fesm2022/taiga-ui-core-components-icon.mjs +10 -11
  71. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-core-components-input.mjs +100 -0
  73. package/fesm2022/taiga-ui-core-components-input.mjs.map +1 -0
  74. package/fesm2022/taiga-ui-core-components-label.mjs +11 -13
  75. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-core-components-link.mjs +14 -31
  77. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-core-components-loader.mjs +7 -12
  79. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-core-components-notification.mjs +104 -49
  81. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-core-components-root.mjs +9 -13
  83. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +69 -83
  85. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  86. package/fesm2022/taiga-ui-core-components-spin-button.mjs +6 -6
  87. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-core-components-textfield.mjs +131 -322
  89. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  90. package/fesm2022/{taiga-ui-core-directives-title.mjs → taiga-ui-core-components-title.mjs} +8 -8
  91. package/fesm2022/{taiga-ui-core-directives-title.mjs.map → taiga-ui-core-components-title.mjs.map} +1 -1
  92. package/fesm2022/taiga-ui-core-components.mjs +2 -4
  93. package/fesm2022/taiga-ui-core-components.mjs.map +1 -1
  94. package/fesm2022/taiga-ui-core-directives-appearance.mjs +16 -16
  95. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  96. package/fesm2022/taiga-ui-core-directives-button-x.mjs +51 -0
  97. package/fesm2022/taiga-ui-core-directives-button-x.mjs.map +1 -0
  98. package/fesm2022/taiga-ui-core-directives-date-format.mjs +26 -20
  99. package/fesm2022/taiga-ui-core-directives-date-format.mjs.map +1 -1
  100. package/fesm2022/taiga-ui-core-directives-group.mjs +23 -35
  101. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  102. package/fesm2022/taiga-ui-core-directives-icons.mjs +12 -12
  103. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  104. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +16 -40
  105. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  106. package/fesm2022/taiga-ui-core-directives-number-format.mjs +32 -20
  107. package/fesm2022/taiga-ui-core-directives-number-format.mjs.map +1 -1
  108. package/fesm2022/taiga-ui-core-directives.mjs +1 -5
  109. package/fesm2022/taiga-ui-core-directives.mjs.map +1 -1
  110. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +21 -15
  111. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  112. package/fesm2022/taiga-ui-core-pipes.mjs +0 -7
  113. package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
  114. package/fesm2022/taiga-ui-core-portals-alert.mjs +73 -0
  115. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -0
  116. package/fesm2022/taiga-ui-core-portals-dialog.mjs +159 -0
  117. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -0
  118. package/fesm2022/{taiga-ui-core-directives-dropdown.mjs → taiga-ui-core-portals-dropdown.mjs} +223 -351
  119. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -0
  120. package/fesm2022/{taiga-ui-core-directives-hint.mjs → taiga-ui-core-portals-hint.mjs} +102 -161
  121. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -0
  122. package/fesm2022/taiga-ui-core-portals-modal.mjs +89 -0
  123. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -0
  124. package/fesm2022/{taiga-ui-core-directives-popup.mjs → taiga-ui-core-portals-popup.mjs} +11 -11
  125. package/fesm2022/taiga-ui-core-portals-popup.mjs.map +1 -0
  126. package/fesm2022/taiga-ui-core-portals.mjs +11 -0
  127. package/fesm2022/taiga-ui-core-portals.mjs.map +1 -0
  128. package/fesm2022/taiga-ui-core-services.mjs +15 -79
  129. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  130. package/fesm2022/taiga-ui-core-tokens.mjs +51 -60
  131. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  132. package/fesm2022/taiga-ui-core-utils-format.mjs +1 -22
  133. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  134. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +19 -19
  135. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  136. package/fesm2022/taiga-ui-core.mjs +1 -1
  137. package/index.d.ts +1 -1
  138. package/package.json +41 -67
  139. package/pipes/format-number/format-number.pipe.d.ts +6 -4
  140. package/pipes/index.d.ts +0 -7
  141. package/{directives/notification/notification.directive.d.ts → portals/alert/alert.directive.d.ts} +3 -3
  142. package/{directives/notification/notification.service.d.ts → portals/alert/alert.service.d.ts} +3 -3
  143. package/portals/alert/index.d.ts +2 -0
  144. package/{components → portals}/dialog/dialog.component.d.ts +2 -3
  145. package/{components → portals}/dialog/dialog.options.d.ts +2 -3
  146. package/{components → portals}/dialog/dialog.providers.d.ts +1 -2
  147. package/{components → portals}/dialog/dialog.service.d.ts +1 -1
  148. package/{components → portals}/dialog/index.d.ts +0 -1
  149. package/portals/dropdown/dropdown-close.directive.d.ts +15 -0
  150. package/{directives → portals}/dropdown/dropdown-context.directive.d.ts +0 -1
  151. package/{directives → portals}/dropdown/dropdown-hover.directive.d.ts +5 -10
  152. package/{directives → portals}/dropdown/dropdown-hover.options.d.ts +1 -3
  153. package/{directives → portals}/dropdown/dropdown-manual.directive.d.ts +2 -2
  154. package/portals/dropdown/dropdown-open.directive.d.ts +29 -0
  155. package/{directives → portals}/dropdown/dropdown-options.directive.d.ts +1 -5
  156. package/{directives → portals}/dropdown/dropdown-position-sided.directive.d.ts +3 -3
  157. package/{directives → portals}/dropdown/dropdown-position.directive.d.ts +6 -6
  158. package/{directives → portals}/dropdown/dropdown-selection.directive.d.ts +4 -5
  159. package/{directives → portals}/dropdown/dropdown.bindings.d.ts +0 -1
  160. package/{directives → portals}/dropdown/dropdown.d.ts +1 -2
  161. package/{directives → portals}/dropdown/dropdown.directive.d.ts +5 -6
  162. package/{directives → portals}/dropdown/index.d.ts +1 -1
  163. package/portals/hint/hint-options.directive.d.ts +17 -0
  164. package/{directives → portals}/hint/hint-position.directive.d.ts +5 -5
  165. package/{directives → portals}/hint/hint.d.ts +1 -2
  166. package/{directives → portals}/hint/hint.directive.d.ts +2 -2
  167. package/portals/index.d.ts +6 -0
  168. package/{components → portals}/modal/modal.component.d.ts +3 -3
  169. package/{components → portals}/modal/modal.service.d.ts +3 -3
  170. package/services/index.d.ts +0 -3
  171. package/styles/components/appearance.less +5 -0
  172. package/styles/components/button.less +10 -20
  173. package/styles/components/icon.less +11 -0
  174. package/styles/components/icons.less +2 -1
  175. package/styles/components/label.less +3 -12
  176. package/styles/components/link.less +9 -24
  177. package/styles/components/notification.less +31 -65
  178. package/styles/components/textfield.less +130 -211
  179. package/styles/components/title.less +8 -8
  180. package/styles/mixins/appearance.less +11 -26
  181. package/styles/mixins/appearance.scss +9 -24
  182. package/styles/mixins/date-picker.less +1 -1
  183. package/styles/mixins/mixins.less +0 -5
  184. package/styles/mixins/mixins.scss +0 -5
  185. package/styles/mixins/picker.less +1 -1
  186. package/styles/mixins/picker.scss +1 -1
  187. package/styles/mixins/slider.less +4 -10
  188. package/styles/mixins/slider.scss +23 -22
  189. package/styles/taiga-ui-local.less +0 -1
  190. package/styles/taiga-ui-local.scss +0 -1
  191. package/styles/taiga-ui-theme.less +0 -1
  192. package/styles/theme/appearance/outline.less +9 -18
  193. package/styles/theme/appearance/primary.less +2 -4
  194. package/styles/theme/appearance/secondary.less +6 -14
  195. package/styles/theme/appearance/status.less +0 -4
  196. package/styles/theme/appearance/table.less +36 -35
  197. package/styles/theme/appearance/textfield.less +26 -27
  198. package/styles/theme/appearance.less +0 -1
  199. package/styles/theme/variables.less +16 -19
  200. package/styles/variables/media.less +13 -18
  201. package/styles/variables/media.scss +13 -13
  202. package/tokens/breakpoint.d.ts +4 -0
  203. package/tokens/common-icons.d.ts +3 -3
  204. package/tokens/date-format.d.ts +2 -3
  205. package/tokens/icons.d.ts +0 -4
  206. package/tokens/index.d.ts +1 -4
  207. package/tokens/number-format.d.ts +2 -3
  208. package/types/direction.d.ts +1 -1
  209. package/types/index.d.ts +0 -2
  210. package/types/point.d.ts +1 -1
  211. package/types/size.d.ts +0 -11
  212. package/utils/format/index.d.ts +0 -1
  213. package/utils/miscellaneous/font-scaling.d.ts +2 -1
  214. package/utils/miscellaneous/get-duration.d.ts +2 -0
  215. package/utils/miscellaneous/index.d.ts +1 -1
  216. package/animations/animations.d.ts +0 -109
  217. package/animations/index.d.ts +0 -1
  218. package/components/alert/alert.component.d.ts +0 -14
  219. package/components/alert/alert.directive.d.ts +0 -8
  220. package/components/alert/alert.interfaces.d.ts +0 -13
  221. package/components/alert/alert.service.d.ts +0 -11
  222. package/components/alert/alert.tokens.d.ts +0 -6
  223. package/components/alert/index.d.ts +0 -5
  224. package/components/data-list/data-list.directive.d.ts +0 -7
  225. package/components/data-list/option/option-content.d.ts +0 -16
  226. package/components/data-list/option/option-legacy.component.d.ts +0 -24
  227. package/components/data-list/option/option.directive.d.ts +0 -27
  228. package/components/dialog/active-zone-adapter.directive.d.ts +0 -11
  229. package/components/dialog/dialogs.component.d.ts +0 -8
  230. package/components/header/header.directive.d.ts +0 -17
  231. package/components/header/index.d.ts +0 -1
  232. package/components/link/link.options.d.ts +0 -12
  233. package/components/textfield/textfield.directive.d.ts +0 -38
  234. package/directives/dropdown/dropdown-open-legacy.directive.d.ts +0 -12
  235. package/directives/dropdown/dropdown-open.directive.d.ts +0 -33
  236. package/directives/hint/hint-options.directive.d.ts +0 -36
  237. package/directives/notification/index.d.ts +0 -2
  238. package/fesm2022/taiga-ui-core-animations.mjs +0 -370
  239. package/fesm2022/taiga-ui-core-animations.mjs.map +0 -1
  240. package/fesm2022/taiga-ui-core-components-alert.mjs +0 -110
  241. package/fesm2022/taiga-ui-core-components-alert.mjs.map +0 -1
  242. package/fesm2022/taiga-ui-core-components-dialog.mjs +0 -227
  243. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +0 -1
  244. package/fesm2022/taiga-ui-core-components-header.mjs +0 -42
  245. package/fesm2022/taiga-ui-core-components-header.mjs.map +0 -1
  246. package/fesm2022/taiga-ui-core-components-modal.mjs +0 -89
  247. package/fesm2022/taiga-ui-core-components-modal.mjs.map +0 -1
  248. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +0 -1
  249. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +0 -1
  250. package/fesm2022/taiga-ui-core-directives-notification.mjs +0 -73
  251. package/fesm2022/taiga-ui-core-directives-notification.mjs.map +0 -1
  252. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +0 -1
  253. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +0 -25
  254. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +0 -1
  255. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +0 -94
  256. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +0 -1
  257. package/fesm2022/taiga-ui-core-pipes-flag.mjs +0 -32
  258. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +0 -1
  259. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +0 -28
  260. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +0 -1
  261. package/fesm2022/taiga-ui-core-pipes-initials.mjs +0 -29
  262. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +0 -1
  263. package/fesm2022/taiga-ui-core-pipes-month.mjs +0 -30
  264. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +0 -1
  265. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +0 -36
  266. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +0 -1
  267. package/pipes/auto-color/auto-color.pipe.d.ts +0 -7
  268. package/pipes/auto-color/index.d.ts +0 -1
  269. package/pipes/calendar-sheet/index.d.ts +0 -1
  270. package/pipes/calendar-sheet/utils.d.ts +0 -20
  271. package/pipes/flag/flag.pipe.d.ts +0 -14
  272. package/pipes/flag/index.d.ts +0 -1
  273. package/pipes/format-date/format-date.pipe.d.ts +0 -9
  274. package/pipes/format-date/index.d.ts +0 -1
  275. package/pipes/initials/index.d.ts +0 -1
  276. package/pipes/initials/initials.pipe.d.ts +0 -7
  277. package/pipes/month/index.d.ts +0 -1
  278. package/pipes/month/month.pipe.d.ts +0 -10
  279. package/pipes/order-week-days/index.d.ts +0 -1
  280. package/services/breakpoint.service.d.ts +0 -16
  281. package/services/dark-theme.service.d.ts +0 -10
  282. package/services/format-date.service.d.ts +0 -8
  283. package/styles/mixins/wrapper.less +0 -64
  284. package/styles/mixins/wrapper.scss +0 -61
  285. package/styles/theme/appearance/opposite.less +0 -17
  286. package/styles/theme/wrapper.less +0 -211
  287. package/tokens/day-type-handler.d.ts +0 -7
  288. package/tokens/first-day-of-week.d.ts +0 -5
  289. package/tokens/scroll-ref.d.ts +0 -2
  290. package/tokens/spin-icons.d.ts +0 -6
  291. package/types/range-state.d.ts +0 -4
  292. package/types/value-content-context.d.ts +0 -4
  293. package/utils/format/string-hash-to-hsl.d.ts +0 -6
  294. package/utils/miscellaneous/to-animation-options.d.ts +0 -4
  295. /package/{directives → components}/title/index.d.ts +0 -0
  296. /package/{directives → components}/title/title.directive.d.ts +0 -0
  297. /package/{components → portals}/dialog/dialog.directive.d.ts +0 -0
  298. /package/{components → portals}/dialog/dialog.factory.d.ts +0 -0
  299. /package/{directives → portals}/dropdown/dropdown-content.directive.d.ts +0 -0
  300. /package/{directives → portals}/dropdown/dropdown-limit-width.d.ts +0 -0
  301. /package/{directives → portals}/dropdown/dropdown.component.d.ts +0 -0
  302. /package/{directives → portals}/dropdown/dropdown.driver.d.ts +0 -0
  303. /package/{directives → portals}/dropdown/dropdown.providers.d.ts +0 -0
  304. /package/{directives → portals}/dropdown/with-dropdown-open.directive.d.ts +0 -0
  305. /package/{directives → portals}/hint/hint-describe.directive.d.ts +0 -0
  306. /package/{directives → portals}/hint/hint-driver.directive.d.ts +0 -0
  307. /package/{directives → portals}/hint/hint-host.directive.d.ts +0 -0
  308. /package/{directives → portals}/hint/hint-hover.directive.d.ts +0 -0
  309. /package/{directives → portals}/hint/hint-manual.directive.d.ts +0 -0
  310. /package/{directives → portals}/hint/hint-overflow.directive.d.ts +0 -0
  311. /package/{directives → portals}/hint/hint-pointer.directive.d.ts +0 -0
  312. /package/{directives → portals}/hint/hint-unstyled.component.d.ts +0 -0
  313. /package/{directives → portals}/hint/hint.component.d.ts +0 -0
  314. /package/{directives → portals}/hint/hint.providers.d.ts +0 -0
  315. /package/{directives → portals}/hint/index.d.ts +0 -0
  316. /package/{components → portals}/modal/index.d.ts +0 -0
  317. /package/{directives → portals}/popup/index.d.ts +0 -0
  318. /package/{directives → portals}/popup/popup.directive.d.ts +0 -0
  319. /package/{directives → portals}/popup/popup.service.d.ts +0 -0
  320. /package/{directives → portals}/popup/popups.component.d.ts +0 -0
@@ -1,25 +1,20 @@
1
1
  import { TemplateRef } from '@angular/core';
2
- import { type TuiContext } from '@taiga-ui/cdk/types';
3
- import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
4
- import { TuiTextfieldBaseComponent } from '../textfield.component';
5
- import { type TuiTextfieldItem } from './textfield-item.component';
2
+ import { TuiControl } from '@taiga-ui/cdk/classes';
3
+ import { TuiTextfieldComponent } from '../textfield.component';
6
4
  import * as i0 from "@angular/core";
7
- import * as i1 from "@taiga-ui/core/directives/dropdown";
8
- import * as i2 from "@taiga-ui/core/directives/icons";
9
- import * as i3 from "@taiga-ui/core/directives";
10
- import * as i4 from "@taiga-ui/core/components/data-list";
11
- export declare class TuiTextfieldMultiComponent<T> extends TuiTextfieldBaseComponent<T> {
5
+ export declare class TuiTextfieldMultiComponent<T> extends TuiTextfieldComponent<T> {
12
6
  protected readonly height: import("@angular/core").WritableSignal<number | null>;
13
- protected readonly handlers: import("@taiga-ui/core/directives").TuiItemsHandlers<unknown>;
14
- protected readonly component: PolymorpheusContent<TuiContext<TuiTextfieldItem<T>>>;
7
+ protected readonly handlers: import("@taiga-ui/core/directives/items-handlers").TuiItemsHandlers<unknown>;
8
+ protected readonly component: import("@taiga-ui/polymorpheus").PolymorpheusContent<import("@taiga-ui/cdk/types").TuiContext<import("./textfield-item.component").TuiTextfieldItem<any>>>;
15
9
  protected readonly sub: import("rxjs").Subscription;
16
- readonly item?: TemplateRef<unknown>;
17
- rows: number;
10
+ readonly cva: import("@angular/core").Signal<TuiControl<any> | undefined>;
11
+ readonly item: import("@angular/core").Signal<TemplateRef<any> | undefined>;
12
+ readonly rows: import("@angular/core").InputSignal<number>;
18
13
  handleOption(option: T): void;
19
14
  protected get placeholder(): string;
20
15
  protected onItems({ target }: ResizeObserverEntry): void;
21
16
  protected onLeft(event: any): void;
22
17
  protected onClick(target: HTMLElement): void;
23
18
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldMultiComponent<any>, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiTextfieldMultiComponent<any>, "tui-textfield[multi]", never, { "rows": { "alias": "rows"; "required": false; }; }, {}, ["item"], ["label", "input", "select", "*", "tui-icon"], true, [{ directive: typeof i1.TuiDropdownFixed; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiWithDropdownOpen; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiWithIcons; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiWithItemsHandlers; inputs: {}; outputs: {}; }, { directive: typeof i4.TuiWithOptionContent; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiWithAppearance; inputs: {}; outputs: {}; }]>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiTextfieldMultiComponent<any>, "tui-textfield[multi]", never, { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; }, {}, ["cva", "item"], ["label", "input", "select", "*", "tui-icon"], true, never>;
25
20
  }
@@ -1,59 +1,45 @@
1
- import { type AfterContentChecked, ElementRef, type QueryList, ViewContainerRef } from '@angular/core';
1
+ import { ElementRef, type Signal, ViewContainerRef } from '@angular/core';
2
2
  import { NgControl } from '@angular/forms';
3
- import { TuiControl } from '@taiga-ui/cdk/classes';
4
3
  import { type TuiContext } from '@taiga-ui/cdk/types';
5
4
  import { type TuiDataListHost } from '@taiga-ui/core/components/data-list';
6
- import { TuiDropdownDirective, TuiDropdownOpen } from '@taiga-ui/core/directives/dropdown';
5
+ import { TuiDropdownDirective, TuiDropdownOpen } from '@taiga-ui/core/portals/dropdown';
7
6
  import { type TuiSizeL, type TuiSizeS } from '@taiga-ui/core/types';
8
7
  import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
9
8
  import { type TuiTextfieldAccessor } from './textfield-accessor';
10
9
  import * as i0 from "@angular/core";
11
- import * as i1 from "@taiga-ui/core/directives/dropdown";
12
- import * as i2 from "@taiga-ui/cdk/directives/transitioned";
10
+ import * as i1 from "@taiga-ui/core/directives/appearance";
11
+ import * as i2 from "@taiga-ui/core/portals/dropdown";
13
12
  import * as i3 from "@taiga-ui/core/directives/icons";
14
13
  import * as i4 from "@taiga-ui/core/directives/items-handlers";
15
14
  import * as i5 from "@taiga-ui/core/components/data-list";
16
- export declare class TuiTextfieldBaseComponent<T> implements TuiDataListHost<T>, AfterContentChecked {
17
- private readonly filler;
15
+ export declare class TuiTextfieldComponent<T> implements TuiDataListHost<T> {
18
16
  private readonly autoId;
19
17
  private readonly focusedIn;
20
- private readonly contentReady$;
21
- private readonly inputQuery;
22
- protected readonly ghost?: ElementRef<HTMLElement>;
23
- protected readonly label?: ElementRef<HTMLElement>;
24
- protected readonly auxiliaryQuery: QueryList<object>;
25
- protected readonly _input?: ElementRef<HTMLInputElement>;
26
- protected readonly open: import("@angular/core").WritableSignal<boolean>;
18
+ protected readonly ghost: Signal<ElementRef<HTMLElement> | undefined>;
27
19
  protected readonly dropdown: TuiDropdownDirective;
28
- protected readonly dropdownOpen: TuiDropdownOpen;
29
- protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
30
- protected readonly clear: import("@angular/core").Signal<string>;
31
- protected readonly computedFiller: import("@angular/core").Signal<string>;
32
- protected readonly showFiller: import("@angular/core").Signal<boolean>;
33
- readonly vcr?: ViewContainerRef;
34
- readonly accessor?: TuiTextfieldAccessor<T>;
35
- readonly control?: NgControl;
36
- readonly cva?: TuiControl<unknown>;
37
- readonly input?: ElementRef<HTMLInputElement>;
38
- content: PolymorpheusContent<TuiContext<T>>;
39
- readonly focused: import("@angular/core").Signal<boolean>;
20
+ protected readonly open: TuiDropdownOpen;
21
+ protected readonly clear: Signal<string>;
22
+ protected readonly label: Signal<ElementRef<any> | undefined>;
23
+ protected readonly computedFiller: Signal<string>;
24
+ protected readonly showFiller: Signal<boolean>;
25
+ protected readonly accessor: Signal<TuiTextfieldAccessor<T> | undefined>;
26
+ readonly vcr: Signal<ViewContainerRef | undefined>;
27
+ readonly control: Signal<NgControl | undefined>;
28
+ readonly auxiliaries: Signal<readonly null[]>;
29
+ readonly focused: Signal<boolean>;
40
30
  readonly options: import("./textfield.options").TuiTextfieldOptions;
41
31
  readonly el: HTMLElement;
32
+ readonly input: Signal<ElementRef<HTMLInputElement> | undefined>;
33
+ readonly content: import("@angular/core").InputSignal<PolymorpheusContent<TuiContext<T>>>;
34
+ readonly filler: import("@angular/core").InputSignal<string>;
42
35
  readonly value: import("@angular/core").WritableSignal<string>;
43
- readonly auxiliaries: import("@angular/core").Signal<readonly object[]>;
44
- set fillerSetter(filler: string);
45
36
  get id(): string;
46
37
  get size(): TuiSizeL | TuiSizeS;
47
- ngAfterContentChecked(): void;
48
38
  handleOption(option: T): void;
49
39
  protected get hasLabel(): boolean;
50
40
  protected onResize({ contentRect }: ResizeObserverEntry): void;
51
41
  protected onIconClick(): void;
52
42
  protected onScroll(element: HTMLElement): void;
53
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldBaseComponent<any>, never>;
54
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextfieldBaseComponent<any>, never, never, { "content": { "alias": "content"; "required": false; }; "fillerSetter": { "alias": "filler"; "required": false; }; }, {}, ["label", "_input", "accessor", "control", "cva", "input", "auxiliaryQuery"], never, true, never>;
55
- }
56
- export declare class TuiTextfieldComponent<T> extends TuiTextfieldBaseComponent<T> {
57
43
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldComponent<any>, never>;
58
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiTextfieldComponent<any>, "tui-textfield:not([multi])", never, {}, {}, never, ["input", "select", "textarea", "label", "*", "tui-icon"], true, [{ directive: typeof i1.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiDropdownFixed; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiTransitioned; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiWithDropdownOpen; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiWithIcons; inputs: {}; outputs: {}; }, { directive: typeof i4.TuiWithItemsHandlers; inputs: {}; outputs: {}; }, { directive: typeof i5.TuiWithOptionContent; inputs: {}; outputs: {}; }]>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiTextfieldComponent<any>, "tui-textfield:not([multi])", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; "filler": { "alias": "filler"; "required": false; "isSignal": true; }; }, {}, ["label", "accessor", "control", "auxiliaries", "input"], ["input", "select", "textarea", "label", "*", "tui-icon"], true, [{ directive: typeof i1.TuiAppearance; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiDropdownFixed; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiWithDropdownOpen; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiWithIcons; inputs: {}; outputs: {}; }, { directive: typeof i4.TuiWithItemsHandlers; inputs: {}; outputs: {}; }, { directive: typeof i5.TuiWithOptionContent; inputs: {}; outputs: {}; }]>;
59
45
  }
@@ -1,8 +1,7 @@
1
1
  import { TuiItem } from '@taiga-ui/cdk/directives/item';
2
2
  import { TuiLabel } from '@taiga-ui/core/components/label';
3
- import { TuiDropdownContent } from '@taiga-ui/core/directives/dropdown';
3
+ import { TuiDropdownContent } from '@taiga-ui/core/portals/dropdown';
4
4
  import { TuiTextfieldComponent } from './textfield.component';
5
- import { TuiTextfieldDirective } from './textfield.directive';
6
5
  import { TuiTextfieldOptionsDirective } from './textfield.options';
7
6
  import { TuiTextfieldMultiComponent } from './textfield-multi/textfield-multi.component';
8
- export declare const TuiTextfield: readonly [typeof TuiItem, typeof TuiLabel, typeof TuiTextfieldComponent, typeof TuiTextfieldDirective, typeof TuiTextfieldOptionsDirective, typeof TuiTextfieldMultiComponent, typeof TuiDropdownContent];
7
+ export declare const TuiTextfield: readonly [typeof TuiItem, typeof TuiLabel, typeof TuiTextfieldComponent, typeof TuiTextfieldOptionsDirective, typeof TuiTextfieldMultiComponent, typeof TuiDropdownContent];
@@ -4,7 +4,7 @@ import * as i1 from "@taiga-ui/cdk/directives/transitioned";
4
4
  export declare class TuiAppearance {
5
5
  protected readonly nothing: undefined;
6
6
  protected readonly modes: import("@angular/core").Signal<string | null>;
7
- readonly tuiAppearance: import("@angular/core").InputSignal<"" | ("accent" | "action-destructive" | "action-grayscale" | "action" | "flat-destructive" | "flat-grayscale" | "flat" | "floating" | "glass" | "icon" | "info" | "negative" | "neutral" | "outline-destructive" | "outline-grayscale" | "outline" | "positive" | "primary-destructive" | "primary-grayscale" | "primary" | "secondary-destructive" | "secondary-grayscale" | "secondary" | "textfield" | "warning" | (Record<never, never> & string))>;
7
+ readonly tuiAppearance: import("@angular/core").InputSignal<string>;
8
8
  readonly tuiAppearanceState: import("@angular/core").InputSignal<TuiInteractiveState | null>;
9
9
  readonly tuiAppearanceFocus: import("@angular/core").InputSignal<boolean | null>;
10
10
  readonly tuiAppearanceMode: import("@angular/core").InputSignal<string | readonly string[] | null>;
@@ -1,9 +1,8 @@
1
1
  import { type ExistingProvider, InjectionToken, type ProviderToken } from '@angular/core';
2
- import { type TuiLooseUnion } from '@taiga-ui/cdk/types';
3
2
  /**
4
3
  * Bundled appearances for autocomplete purposes, not exported on purpose
5
4
  */
6
- type Appearance = TuiLooseUnion<'accent' | 'action-destructive' | 'action-grayscale' | 'action' | 'flat-destructive' | 'flat-grayscale' | 'flat' | 'floating' | 'glass' | 'icon' | 'info' | 'negative' | 'neutral' | 'outline-destructive' | 'outline-grayscale' | 'outline' | 'positive' | 'primary-destructive' | 'primary-grayscale' | 'primary' | 'secondary-destructive' | 'secondary-grayscale' | 'secondary' | 'textfield' | 'warning'>;
5
+ type Appearance = string | 'accent' | 'action-destructive' | 'action-grayscale' | 'action' | 'flat-destructive' | 'flat-grayscale' | 'flat' | 'floating' | 'glass' | 'icon' | 'info' | 'negative' | 'neutral' | 'outline-destructive' | 'outline-grayscale' | 'outline' | 'positive' | 'primary-destructive' | 'primary-grayscale' | 'primary' | 'secondary-destructive' | 'secondary-grayscale' | 'secondary' | 'textfield' | 'warning';
7
6
  export interface TuiAppearanceOptions {
8
7
  readonly appearance: Appearance | '';
9
8
  }
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@taiga-ui/core/components/button";
3
+ export declare class TuiButtonX {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiButtonX, never>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiButtonX, "[tuiButtonX]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiButton; inputs: { "size": "size"; }; outputs: {}; }]>;
6
+ }
@@ -0,0 +1 @@
1
+ export * from './button-x.directive';
@@ -1,11 +1,7 @@
1
1
  import { type TuiDateFormatSettings } from '@taiga-ui/core/tokens';
2
- import { Observable } from 'rxjs';
3
2
  import * as i0 from "@angular/core";
4
- export declare class TuiDateFormat extends Observable<TuiDateFormatSettings> {
5
- private readonly settings;
6
- private readonly parent;
7
- constructor();
8
- set tuiDateFormat(format: Partial<TuiDateFormatSettings>);
3
+ export declare class TuiDateFormat {
4
+ readonly tuiDateFormat: import("@angular/core").InputSignal<Partial<TuiDateFormatSettings>>;
9
5
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDateFormat, never>;
10
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDateFormat, "[tuiDateFormat]", never, { "tuiDateFormat": { "alias": "tuiDateFormat"; "required": false; }; }, {}, never, never, true, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDateFormat, "[tuiDateFormat]", never, { "tuiDateFormat": { "alias": "tuiDateFormat"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
11
7
  }
@@ -1,12 +1,12 @@
1
- import { type TuiOrientation, type TuiSizeL, type TuiSizeS } from '@taiga-ui/core/types';
1
+ import { type TuiOrientation } from '@taiga-ui/core/types';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiGroup {
4
- private readonly options;
4
+ protected readonly options: import("./group.options").TuiGroupOptions;
5
5
  protected readonly nothing: undefined;
6
- orientation: TuiOrientation;
7
- collapsed: boolean;
8
- rounded: boolean;
9
- size: TuiSizeL | TuiSizeS;
6
+ readonly orientation: import("@angular/core").InputSignal<TuiOrientation>;
7
+ readonly collapsed: import("@angular/core").InputSignal<boolean>;
8
+ readonly rounded: import("@angular/core").InputSignal<boolean>;
9
+ readonly size: import("@angular/core").InputSignal<"m" | "l" | "s">;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiGroup, never>;
11
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiGroup, "[tuiGroup]:not(ng-container)", never, { "orientation": { "alias": "orientation"; "required": false; }; "collapsed": { "alias": "collapsed"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiGroup, "[tuiGroup]:not(ng-container)", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
12
12
  }
@@ -1,4 +1,3 @@
1
- import { InjectionToken, type Provider } from '@angular/core';
2
1
  import { type TuiOrientation, type TuiSizeL } from '@taiga-ui/core/types';
3
2
  export interface TuiGroupOptions {
4
3
  readonly size: TuiSizeL;
@@ -7,5 +6,4 @@ export interface TuiGroupOptions {
7
6
  readonly orientation: TuiOrientation;
8
7
  }
9
8
  export declare const TUI_GROUP_DEFAULT_OPTIONS: TuiGroupOptions;
10
- export declare const TUI_GROUP_OPTIONS: InjectionToken<TuiGroupOptions>;
11
- export declare function tuiGroupOptionsProvider(options: Partial<TuiGroupOptions>): Provider;
9
+ export declare const TUI_GROUP_OPTIONS: import("@angular/core").InjectionToken<TuiGroupOptions>, tuiGroupOptionsProvider: (item: Partial<TuiGroupOptions> | (() => Partial<TuiGroupOptions>)) => import("@angular/core").FactoryProvider;
@@ -1,11 +1,7 @@
1
1
  export * from '@taiga-ui/core/directives/appearance';
2
+ export * from '@taiga-ui/core/directives/button-x';
2
3
  export * from '@taiga-ui/core/directives/date-format';
3
- export * from '@taiga-ui/core/directives/dropdown';
4
4
  export * from '@taiga-ui/core/directives/group';
5
- export * from '@taiga-ui/core/directives/hint';
6
5
  export * from '@taiga-ui/core/directives/icons';
7
6
  export * from '@taiga-ui/core/directives/items-handlers';
8
- export * from '@taiga-ui/core/directives/notification';
9
7
  export * from '@taiga-ui/core/directives/number-format';
10
- export * from '@taiga-ui/core/directives/popup';
11
- export * from '@taiga-ui/core/directives/title';
@@ -1,16 +1,12 @@
1
- import { type TuiBooleanHandler, type TuiIdentityMatcher, type TuiStringHandler } from '@taiga-ui/cdk/types';
2
1
  import { type TuiItemsHandlers } from './items-handlers.tokens';
3
2
  import * as i0 from "@angular/core";
4
3
  export declare class TuiItemsHandlersDirective<T> implements TuiItemsHandlers<T> {
5
- private readonly defaultHandlers;
6
- readonly stringify: import("@angular/core").WritableSignal<TuiStringHandler<T>>;
7
- readonly identityMatcher: import("@angular/core").WritableSignal<TuiIdentityMatcher<T>>;
8
- readonly disabledItemHandler: import("@angular/core").WritableSignal<TuiBooleanHandler<T>>;
9
- set stringifySetter(x: TuiStringHandler<T>);
10
- set identityMatcherSetter(x: TuiIdentityMatcher<T>);
11
- set disabledItemHandlerSetter(x: TuiBooleanHandler<T>);
4
+ private readonly handlers;
5
+ readonly stringify: import("@angular/core").InputSignal<import("@taiga-ui/cdk/types").TuiStringHandler<T>>;
6
+ readonly identityMatcher: import("@angular/core").InputSignal<import("@taiga-ui/cdk/types").TuiIdentityMatcher<T>>;
7
+ readonly disabledItemHandler: import("@angular/core").InputSignal<import("@taiga-ui/cdk/types").TuiBooleanHandler<T>>;
12
8
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiItemsHandlersDirective<any>, never>;
13
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiItemsHandlersDirective<any>, never, never, { "stringifySetter": { "alias": "stringify"; "required": false; }; "identityMatcherSetter": { "alias": "identityMatcher"; "required": false; }; "disabledItemHandlerSetter": { "alias": "disabledItemHandler"; "required": false; }; }, {}, never, never, true, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiItemsHandlersDirective<any>, never, never, { "stringify": { "alias": "stringify"; "required": false; "isSignal": true; }; "identityMatcher": { "alias": "identityMatcher"; "required": false; "isSignal": true; }; "disabledItemHandler": { "alias": "disabledItemHandler"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
14
10
  }
15
11
  export declare class TuiWithItemsHandlers {
16
12
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiWithItemsHandlers, never>;
@@ -1,9 +1,9 @@
1
- import { InjectionToken, type Provider, type WritableSignal } from '@angular/core';
1
+ import { InjectionToken, type Provider, type Signal } from '@angular/core';
2
2
  import { type TuiBooleanHandler, type TuiIdentityMatcher, type TuiStringHandler } from '@taiga-ui/cdk/types';
3
3
  export interface TuiItemsHandlers<T> {
4
- readonly disabledItemHandler: WritableSignal<TuiBooleanHandler<T>>;
5
- readonly identityMatcher: WritableSignal<TuiIdentityMatcher<T>>;
6
- readonly stringify: WritableSignal<TuiStringHandler<T>>;
4
+ readonly disabledItemHandler: Signal<TuiBooleanHandler<T>>;
5
+ readonly identityMatcher: Signal<TuiIdentityMatcher<T>>;
6
+ readonly stringify: Signal<TuiStringHandler<T>>;
7
7
  }
8
8
  export declare const TUI_DEFAULT_ITEMS_HANDLERS: TuiItemsHandlers<unknown>;
9
9
  /**
@@ -1,11 +1,7 @@
1
1
  import { type TuiNumberFormatSettings } from '@taiga-ui/core/tokens';
2
- import { Observable } from 'rxjs';
3
2
  import * as i0 from "@angular/core";
4
- export declare class TuiNumberFormat extends Observable<TuiNumberFormatSettings> {
5
- private readonly settings;
6
- private readonly parent;
7
- constructor();
8
- set tuiNumberFormat(format: Partial<TuiNumberFormatSettings>);
3
+ export declare class TuiNumberFormat {
4
+ readonly tuiNumberFormat: import("@angular/core").InputSignal<Partial<TuiNumberFormatSettings>>;
9
5
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiNumberFormat, never>;
10
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiNumberFormat, "[tuiNumberFormat]", never, { "tuiNumberFormat": { "alias": "tuiNumberFormat"; "required": false; }; }, {}, never, never, true, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiNumberFormat, "[tuiNumberFormat]", never, { "tuiNumberFormat": { "alias": "tuiNumberFormat"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
11
7
  }
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { SkipSelf, Optional, inject, DestroyRef, Directive } from '@angular/core';
3
- import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
3
+ import { tuiProvide } from '@taiga-ui/cdk/utils/di';
4
+ import { coerceArray } from '@angular/cdk/coercion';
4
5
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
6
  import { Observable, merge, distinctUntilChanged } from 'rxjs';
6
7
 
@@ -18,7 +19,7 @@ function tuiProvideAccessor(provide, type, fallback) {
18
19
  };
19
20
  }
20
21
  function tuiFallbackAccessor(type) {
21
- return (accessors, fallback) => accessors?.find?.((accessor) => accessor !== fallback && accessor.type === type) || fallback;
22
+ return (accessors, fallback) => accessors?.find?.((accessor) => accessor !== fallback && accessor.type === type) || Object.create(fallback, { type: { value: type } });
22
23
  }
23
24
  function tuiPositionAccessorFor(type, fallback) {
24
25
  return tuiProvideAccessor(TuiPositionAccessor, type, fallback);
@@ -47,24 +48,21 @@ function tuiAsDriver(driver) {
47
48
  class TuiDriverDirective {
48
49
  constructor() {
49
50
  this.destroyRef = inject(DestroyRef);
50
- this.drivers = inject(TuiDriver, { self: true, optional: true }) || [];
51
- this.vehicles = inject(TuiVehicle, {
52
- self: true,
53
- optional: true,
54
- });
51
+ this.drivers = coerceArray(inject(TuiDriver, { self: true, optional: true }) || []);
52
+ this.vehicles = coerceArray(inject(TuiVehicle, { self: true, optional: true }) || []);
55
53
  }
56
54
  ngAfterViewInit() {
57
- const vehicle = this.vehicles?.find(({ type }) => type === this.type);
55
+ const vehicle = this.vehicles.find(({ type }) => type === this.type);
58
56
  merge(...this.drivers.filter(({ type }) => type === this.type))
59
57
  .pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))
60
58
  .subscribe((value) => {
61
59
  vehicle?.toggle(value);
62
60
  });
63
61
  }
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDriverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
65
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDriverDirective, isStandalone: true, ngImport: i0 }); }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiDriverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
63
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: TuiDriverDirective, isStandalone: true, ngImport: i0 }); }
66
64
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDriverDirective, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiDriverDirective, decorators: [{
68
66
  type: Directive
69
67
  }] });
70
68
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-classes.mjs","sources":["../../../projects/core/classes/accessors.ts","../../../projects/core/classes/vehicle.ts","../../../projects/core/classes/driver.ts","../../../projects/core/classes/taiga-ui-core-classes.ts"],"sourcesContent":["import {\n type AbstractType,\n type ExistingProvider,\n type FactoryProvider,\n Optional,\n SkipSelf,\n type Type,\n} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiPoint} from '@taiga-ui/core/types';\n\nexport abstract class TuiAccessor {\n public abstract readonly type: string;\n}\n\nexport abstract class TuiPositionAccessor extends TuiAccessor {\n /*\n * TODO @deprecated switching from DOMRect to HTMLElement in v5\n */\n public abstract getPosition(rect: DOMRect, element?: HTMLElement): TuiPoint;\n}\n\nexport abstract class TuiRectAccessor extends TuiAccessor {\n public abstract getClientRect(): DOMRect;\n}\n\nexport function tuiProvideAccessor<T extends TuiAccessor>(\n provide: AbstractType<T>,\n type: string,\n fallback: Type<T>,\n): FactoryProvider {\n return {\n provide,\n deps: [[new SkipSelf(), new Optional(), provide], fallback],\n useFactory: tuiFallbackAccessor<T>(type),\n };\n}\n\nexport function tuiFallbackAccessor<T extends TuiAccessor>(\n type: string,\n): (accessors: readonly T[] | null, fallback: T) => T {\n return (accessors, fallback) =>\n accessors?.find?.(\n (accessor) => accessor !== fallback && accessor.type === type,\n ) || fallback;\n}\n\nexport function tuiPositionAccessorFor(\n type: string,\n fallback: Type<TuiPositionAccessor>,\n): FactoryProvider {\n return tuiProvideAccessor(TuiPositionAccessor, type, fallback);\n}\n\nexport function tuiRectAccessorFor(\n type: string,\n fallback: Type<TuiRectAccessor>,\n): FactoryProvider {\n return tuiProvideAccessor(TuiRectAccessor, type, fallback);\n}\n\nexport function tuiAsPositionAccessor(\n accessor: Type<TuiPositionAccessor>,\n): ExistingProvider {\n return tuiProvide(TuiPositionAccessor, accessor, true);\n}\n\nexport function tuiAsRectAccessor(accessor: Type<TuiRectAccessor>): ExistingProvider {\n return tuiProvide(TuiRectAccessor, accessor, true);\n}\n","import {type ExistingProvider, type Type} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport abstract class TuiVehicle {\n public abstract readonly type: string;\n public abstract toggle(value: boolean): void;\n}\n\nexport function tuiAsVehicle(vehicle: Type<TuiVehicle>): ExistingProvider {\n return tuiProvide(TuiVehicle, vehicle, true);\n}\n","import {\n type AfterViewInit,\n DestroyRef,\n Directive,\n type ExistingProvider,\n inject,\n type Type,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {distinctUntilChanged, merge, Observable} from 'rxjs';\n\nimport {TuiVehicle} from './vehicle';\n\nexport abstract class TuiDriver extends Observable<boolean> {\n public abstract readonly type: string;\n}\n\nexport function tuiAsDriver(driver: Type<TuiDriver>): ExistingProvider {\n return tuiProvide(TuiDriver, driver, true);\n}\n\n@Directive()\nexport abstract class TuiDriverDirective implements AfterViewInit {\n public abstract type: string;\n\n private readonly destroyRef = inject(DestroyRef);\n private readonly drivers: readonly TuiDriver[] =\n inject<any>(TuiDriver, {self: true, optional: true}) || [];\n\n private readonly vehicles: readonly TuiVehicle[] = inject<any>(TuiVehicle, {\n self: true,\n optional: true,\n });\n\n public ngAfterViewInit(): void {\n const vehicle = this.vehicles?.find(({type}) => type === this.type);\n\n merge(...this.drivers.filter(({type}) => type === this.type))\n .pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n vehicle?.toggle(value);\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-core-classes.mjs","sources":["../../../projects/core/classes/accessors.ts","../../../projects/core/classes/vehicle.ts","../../../projects/core/classes/driver.ts","../../../projects/core/classes/taiga-ui-core-classes.ts"],"sourcesContent":["import {\n type AbstractType,\n type ExistingProvider,\n type FactoryProvider,\n Optional,\n SkipSelf,\n type Type,\n} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {type TuiPoint} from '@taiga-ui/core/types';\n\nexport abstract class TuiAccessor {\n public abstract readonly type: string;\n}\n\nexport abstract class TuiPositionAccessor extends TuiAccessor {\n public abstract getPosition(rect: DOMRect): TuiPoint;\n}\n\nexport abstract class TuiRectAccessor extends TuiAccessor {\n public abstract getClientRect(): DOMRect;\n}\n\nexport function tuiProvideAccessor<T extends TuiAccessor>(\n provide: AbstractType<T>,\n type: string,\n fallback: Type<T>,\n): FactoryProvider {\n return {\n provide,\n deps: [[new SkipSelf(), new Optional(), provide], fallback],\n useFactory: tuiFallbackAccessor<T>(type),\n };\n}\n\nexport function tuiFallbackAccessor<T extends TuiAccessor>(\n type: string,\n): (accessors: readonly T[] | null, fallback: Omit<T, 'type'>) => T {\n return (accessors, fallback) =>\n accessors?.find?.(\n (accessor) => accessor !== fallback && accessor.type === type,\n ) || Object.create(fallback, {type: {value: type}});\n}\n\nexport function tuiPositionAccessorFor(\n type: string,\n fallback: Type<TuiPositionAccessor>,\n): FactoryProvider {\n return tuiProvideAccessor(TuiPositionAccessor, type, fallback);\n}\n\nexport function tuiRectAccessorFor(\n type: string,\n fallback: Type<TuiRectAccessor>,\n): FactoryProvider {\n return tuiProvideAccessor(TuiRectAccessor, type, fallback);\n}\n\nexport function tuiAsPositionAccessor(\n accessor: Type<TuiPositionAccessor>,\n): ExistingProvider {\n return tuiProvide(TuiPositionAccessor, accessor, true);\n}\n\nexport function tuiAsRectAccessor(accessor: Type<TuiRectAccessor>): ExistingProvider {\n return tuiProvide(TuiRectAccessor, accessor, true);\n}\n","import {type ExistingProvider, type Type} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nexport abstract class TuiVehicle {\n public abstract readonly type: string;\n public abstract toggle(value: boolean): void;\n}\n\nexport function tuiAsVehicle(vehicle: Type<TuiVehicle>): ExistingProvider {\n return tuiProvide(TuiVehicle, vehicle, true);\n}\n","import {coerceArray} from '@angular/cdk/coercion';\nimport {\n type AfterViewInit,\n DestroyRef,\n Directive,\n type ExistingProvider,\n inject,\n type Type,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {distinctUntilChanged, merge, Observable} from 'rxjs';\n\nimport {TuiVehicle} from './vehicle';\n\nexport abstract class TuiDriver extends Observable<boolean> {\n public abstract readonly type: string;\n}\n\nexport function tuiAsDriver(driver: Type<TuiDriver>): ExistingProvider {\n return tuiProvide(TuiDriver, driver, true);\n}\n\n@Directive()\nexport abstract class TuiDriverDirective implements AfterViewInit {\n public abstract type: string;\n\n private readonly destroyRef = inject(DestroyRef);\n private readonly drivers = coerceArray(\n inject(TuiDriver, {self: true, optional: true}) || [],\n );\n\n private readonly vehicles = coerceArray(\n inject(TuiVehicle, {self: true, optional: true}) || [],\n );\n\n public ngAfterViewInit(): void {\n const vehicle = this.vehicles.find(({type}) => type === this.type);\n\n merge(...this.drivers.filter(({type}) => type === this.type))\n .pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n vehicle?.toggle(value);\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -14,22 +14,22 @@ const TUI_BUTTON_DEFAULT_OPTIONS = {
14
14
  const [TUI_BUTTON_OPTIONS, tuiButtonOptionsProvider] = tuiCreateOptions(TUI_BUTTON_DEFAULT_OPTIONS);
15
15
 
16
16
  class Styles {
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-button" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiButton],[tuiIconButton]{--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);--t-gap: .25rem;--t-padding: 0 1.25rem;--t-margin: -.25rem;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;max-inline-size:100%;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));block-size:var(--t-size);justify-content:center;border-radius:var(--t-radius);padding:var(--t-padding);-webkit-user-select:none;user-select:none;cursor:pointer;font:var(--tui-font-text-m);font-weight:700}[tuiButton]>img,[tuiIconButton]>img,[tuiButton]>tui-icon,[tuiIconButton]>tui-icon,[tuiButton]>[tuiAvatar],[tuiIconButton]>[tuiAvatar],[tuiButton]>tui-badge,[tuiIconButton]>tui-badge,[tuiButton]>[tuiBadge],[tuiIconButton]>[tuiBadge],[tuiButton]>[tuiRadio],[tuiIconButton]>[tuiRadio],[tuiButton]>[tuiSwitch],[tuiIconButton]>[tuiSwitch],[tuiButton]>[tuiCheckbox],[tuiIconButton]>[tuiCheckbox],[tuiButton][tuiIcons]:before,[tuiIconButton][tuiIcons]:before,[tuiButton][tuiIcons]:after,[tuiIconButton][tuiIcons]:after{margin:var(--t-margin)}[tuiButton]>.t-loader,[tuiIconButton]>.t-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[tuiButton]>.t-loader .t-text,[tuiIconButton]>.t-loader .t-text{position:absolute}[tuiButton][data-size=xs],[tuiIconButton][data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);--t-gap: .125rem;--t-padding: 0 .375rem;--t-margin: -.125rem;font:var(--tui-font-text-s)}[tuiButton][data-size=xs] tui-icon,[tuiIconButton][data-size=xs] tui-icon,[tuiButton][data-size=xs]:before,[tuiIconButton][data-size=xs]:before{font-size:1rem}[tuiButton][data-size=s],[tuiIconButton][data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);--t-gap: .125rem;--t-padding: 0 .625rem;--t-margin: -.125rem;font:var(--tui-font-text-s)}[tuiButton][data-size=s] tui-icon,[tuiIconButton][data-size=s] tui-icon,[tuiButton][data-size=s]:not([tuiIconButton][data-appearance=icon]):not([tuiIconButton][data-appearance=link]):before,[tuiIconButton][data-size=s]:not([tuiIconButton][data-appearance=icon]):not([tuiIconButton][data-appearance=link]):before{font-size:1rem}[tuiButton][data-size=m],[tuiIconButton][data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);--t-gap: .125rem;--t-padding: 0 1rem;--t-margin: -.375rem;font:var(--tui-font-text-m);font-weight:700}[tuiButton][data-size=m]:after,[tuiIconButton][data-size=m]:after{margin-inline-end:-.125rem}[tuiButton]._loading,[tuiIconButton]._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]._loading>*,[tuiIconButton]._loading>*,[tuiButton]._loading:before,[tuiIconButton]._loading:before,[tuiButton]._loading:after,[tuiIconButton]._loading:after{opacity:0}[tuiButton]._loading>.t-loader,[tuiIconButton]._loading>.t-loader{opacity:1}[tuiButton][tuiIcons]:after,[tuiIconButton][tuiIcons]:after{font-size:1rem}[tuiButton][tuiButtonVertical],[tuiIconButton][tuiButtonVertical]{--t-margin: 0rem !important;--t-line-height: 1rem;flex-direction:column;flex-shrink:1;block-size:auto;padding:.75rem;gap:.375rem;min-inline-size:5rem;white-space:pre-line;font:var(--tui-font-text-ui-s)}[tuiButton][tuiButtonVertical]>*,[tuiIconButton][tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiIconButton]{gap:0;inline-size:var(--t-size);font-size:0!important;padding:0}[tuiIconButton][data-size=l]:after{margin:0}[tuiIconButton][tuiIconButton][style*=\"--t-icon-start:\"]:after{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-button" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiButton],[tuiIconButton]{--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);--t-gap: .25rem;--t-padding: 0 1.25rem;--t-margin: -.25rem;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;max-inline-size:100%;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));block-size:var(--t-size);justify-content:center;border-radius:var(--t-radius);padding:var(--t-padding);-webkit-user-select:none;user-select:none;cursor:pointer;font:var(--tui-font-body-m);font-weight:700}[tuiButton]>img,[tuiIconButton]>img,[tuiButton]>tui-icon,[tuiIconButton]>tui-icon,[tuiButton]>[tuiAvatar],[tuiIconButton]>[tuiAvatar],[tuiButton]>tui-badge,[tuiIconButton]>tui-badge,[tuiButton]>[tuiBadge],[tuiIconButton]>[tuiBadge],[tuiButton]>[tuiRadio],[tuiIconButton]>[tuiRadio],[tuiButton]>[tuiSwitch],[tuiIconButton]>[tuiSwitch],[tuiButton]>[tuiCheckbox],[tuiIconButton]>[tuiCheckbox],[tuiButton][tuiIcons]:before,[tuiIconButton][tuiIcons]:before,[tuiButton][tuiIcons]:after,[tuiIconButton][tuiIcons]:after{margin:var(--t-margin)}[tuiButton]>.t-loader,[tuiIconButton]>.t-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[tuiButton]>.t-loader .t-text,[tuiIconButton]>.t-loader .t-text{position:absolute}[tuiButton][data-size=xs],[tuiIconButton][data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);--t-gap: .125rem;--t-padding: 0 .375rem;--t-margin: -.125rem;font:var(--tui-font-body-s)}[tuiButton][data-size=xs] tui-icon,[tuiIconButton][data-size=xs] tui-icon,[tuiButton][data-size=xs]:before,[tuiIconButton][data-size=xs]:before,[tuiButton][data-size=xs]:after,[tuiIconButton][data-size=xs]:after{font-size:1rem}[tuiButton][data-size=s],[tuiIconButton][data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);--t-gap: .125rem;--t-padding: 0 .625rem;--t-margin: -.125rem;font:var(--tui-font-body-s)}[tuiButton][data-size=s] tui-icon,[tuiIconButton][data-size=s] tui-icon,[tuiButton][data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance=link]):before,[tuiIconButton][data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance=link]):before,[tuiButton][data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance=link]):after,[tuiIconButton][data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance=link]):after{font-size:1rem}[tuiButton][data-size=m],[tuiIconButton][data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);--t-gap: .125rem;--t-padding: 0 1rem;--t-margin: -.375rem;font:var(--tui-font-body-m);font-weight:700}[tuiButton]._loading,[tuiIconButton]._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]._loading>*,[tuiIconButton]._loading>*,[tuiButton]._loading:before,[tuiIconButton]._loading:before,[tuiButton]._loading:after,[tuiIconButton]._loading:after{opacity:0}[tuiButton]._loading>.t-loader,[tuiIconButton]._loading>.t-loader{opacity:1}[tuiButton][tuiButtonVertical],[tuiIconButton][tuiButtonVertical]{--t-margin: 0rem !important;--t-line-height: 1rem;flex-direction:column;flex-shrink:1;block-size:auto;padding:.75rem;gap:.375rem;min-inline-size:5rem;white-space:pre-line;font:var(--tui-font-ui-s)}[tuiButton][tuiButtonVertical]>*,[tuiIconButton][tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiIconButton]{gap:0;inline-size:var(--t-size);font-size:0!important;padding:0}[tuiIconButton][tuiIconButton][data-icon-start]:after{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: Styles, decorators: [{
21
21
  type: Component,
22
- args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-button' }, styles: ["[tuiButton],[tuiIconButton]{--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);--t-gap: .25rem;--t-padding: 0 1.25rem;--t-margin: -.25rem;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;max-inline-size:100%;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));block-size:var(--t-size);justify-content:center;border-radius:var(--t-radius);padding:var(--t-padding);-webkit-user-select:none;user-select:none;cursor:pointer;font:var(--tui-font-text-m);font-weight:700}[tuiButton]>img,[tuiIconButton]>img,[tuiButton]>tui-icon,[tuiIconButton]>tui-icon,[tuiButton]>[tuiAvatar],[tuiIconButton]>[tuiAvatar],[tuiButton]>tui-badge,[tuiIconButton]>tui-badge,[tuiButton]>[tuiBadge],[tuiIconButton]>[tuiBadge],[tuiButton]>[tuiRadio],[tuiIconButton]>[tuiRadio],[tuiButton]>[tuiSwitch],[tuiIconButton]>[tuiSwitch],[tuiButton]>[tuiCheckbox],[tuiIconButton]>[tuiCheckbox],[tuiButton][tuiIcons]:before,[tuiIconButton][tuiIcons]:before,[tuiButton][tuiIcons]:after,[tuiIconButton][tuiIcons]:after{margin:var(--t-margin)}[tuiButton]>.t-loader,[tuiIconButton]>.t-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[tuiButton]>.t-loader .t-text,[tuiIconButton]>.t-loader .t-text{position:absolute}[tuiButton][data-size=xs],[tuiIconButton][data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);--t-gap: .125rem;--t-padding: 0 .375rem;--t-margin: -.125rem;font:var(--tui-font-text-s)}[tuiButton][data-size=xs] tui-icon,[tuiIconButton][data-size=xs] tui-icon,[tuiButton][data-size=xs]:before,[tuiIconButton][data-size=xs]:before{font-size:1rem}[tuiButton][data-size=s],[tuiIconButton][data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);--t-gap: .125rem;--t-padding: 0 .625rem;--t-margin: -.125rem;font:var(--tui-font-text-s)}[tuiButton][data-size=s] tui-icon,[tuiIconButton][data-size=s] tui-icon,[tuiButton][data-size=s]:not([tuiIconButton][data-appearance=icon]):not([tuiIconButton][data-appearance=link]):before,[tuiIconButton][data-size=s]:not([tuiIconButton][data-appearance=icon]):not([tuiIconButton][data-appearance=link]):before{font-size:1rem}[tuiButton][data-size=m],[tuiIconButton][data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);--t-gap: .125rem;--t-padding: 0 1rem;--t-margin: -.375rem;font:var(--tui-font-text-m);font-weight:700}[tuiButton][data-size=m]:after,[tuiIconButton][data-size=m]:after{margin-inline-end:-.125rem}[tuiButton]._loading,[tuiIconButton]._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]._loading>*,[tuiIconButton]._loading>*,[tuiButton]._loading:before,[tuiIconButton]._loading:before,[tuiButton]._loading:after,[tuiIconButton]._loading:after{opacity:0}[tuiButton]._loading>.t-loader,[tuiIconButton]._loading>.t-loader{opacity:1}[tuiButton][tuiIcons]:after,[tuiIconButton][tuiIcons]:after{font-size:1rem}[tuiButton][tuiButtonVertical],[tuiIconButton][tuiButtonVertical]{--t-margin: 0rem !important;--t-line-height: 1rem;flex-direction:column;flex-shrink:1;block-size:auto;padding:.75rem;gap:.375rem;min-inline-size:5rem;white-space:pre-line;font:var(--tui-font-text-ui-s)}[tuiButton][tuiButtonVertical]>*,[tuiIconButton][tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiIconButton]{gap:0;inline-size:var(--t-size);font-size:0!important;padding:0}[tuiIconButton][data-size=l]:after{margin:0}[tuiIconButton][tuiIconButton][style*=\"--t-icon-start:\"]:after{display:none}\n"] }]
22
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-button' }, styles: ["[tuiButton],[tuiIconButton]{--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);--t-gap: .25rem;--t-padding: 0 1.25rem;--t-margin: -.25rem;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;max-inline-size:100%;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));block-size:var(--t-size);justify-content:center;border-radius:var(--t-radius);padding:var(--t-padding);-webkit-user-select:none;user-select:none;cursor:pointer;font:var(--tui-font-body-m);font-weight:700}[tuiButton]>img,[tuiIconButton]>img,[tuiButton]>tui-icon,[tuiIconButton]>tui-icon,[tuiButton]>[tuiAvatar],[tuiIconButton]>[tuiAvatar],[tuiButton]>tui-badge,[tuiIconButton]>tui-badge,[tuiButton]>[tuiBadge],[tuiIconButton]>[tuiBadge],[tuiButton]>[tuiRadio],[tuiIconButton]>[tuiRadio],[tuiButton]>[tuiSwitch],[tuiIconButton]>[tuiSwitch],[tuiButton]>[tuiCheckbox],[tuiIconButton]>[tuiCheckbox],[tuiButton][tuiIcons]:before,[tuiIconButton][tuiIcons]:before,[tuiButton][tuiIcons]:after,[tuiIconButton][tuiIcons]:after{margin:var(--t-margin)}[tuiButton]>.t-loader,[tuiIconButton]>.t-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[tuiButton]>.t-loader .t-text,[tuiIconButton]>.t-loader .t-text{position:absolute}[tuiButton][data-size=xs],[tuiIconButton][data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);--t-gap: .125rem;--t-padding: 0 .375rem;--t-margin: -.125rem;font:var(--tui-font-body-s)}[tuiButton][data-size=xs] tui-icon,[tuiIconButton][data-size=xs] tui-icon,[tuiButton][data-size=xs]:before,[tuiIconButton][data-size=xs]:before,[tuiButton][data-size=xs]:after,[tuiIconButton][data-size=xs]:after{font-size:1rem}[tuiButton][data-size=s],[tuiIconButton][data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);--t-gap: .125rem;--t-padding: 0 .625rem;--t-margin: -.125rem;font:var(--tui-font-body-s)}[tuiButton][data-size=s] tui-icon,[tuiIconButton][data-size=s] tui-icon,[tuiButton][data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance=link]):before,[tuiIconButton][data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance=link]):before,[tuiButton][data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance=link]):after,[tuiIconButton][data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance=link]):after{font-size:1rem}[tuiButton][data-size=m],[tuiIconButton][data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);--t-gap: .125rem;--t-padding: 0 1rem;--t-margin: -.375rem;font:var(--tui-font-body-m);font-weight:700}[tuiButton]._loading,[tuiIconButton]._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]._loading>*,[tuiIconButton]._loading>*,[tuiButton]._loading:before,[tuiIconButton]._loading:before,[tuiButton]._loading:after,[tuiIconButton]._loading:after{opacity:0}[tuiButton]._loading>.t-loader,[tuiIconButton]._loading>.t-loader{opacity:1}[tuiButton][tuiButtonVertical],[tuiIconButton][tuiButtonVertical]{--t-margin: 0rem !important;--t-line-height: 1rem;flex-direction:column;flex-shrink:1;block-size:auto;padding:.75rem;gap:.375rem;min-inline-size:5rem;white-space:pre-line;font:var(--tui-font-ui-s)}[tuiButton][tuiButtonVertical]>*,[tuiIconButton][tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiIconButton]{gap:0;inline-size:var(--t-size);font-size:0!important;padding:0}[tuiIconButton][tuiIconButton][data-icon-start]:after{display:none}\n"] }]
23
23
  }] });
24
24
  class TuiButton {
25
25
  constructor() {
26
26
  this.nothing = tuiWithStyles(Styles);
27
27
  this.size = input(inject(TUI_BUTTON_OPTIONS).size);
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiButton, isStandalone: true, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()" } }, providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)], hostDirectives: [{ directive: i1.TuiWithAppearance }, { directive: i2.TuiWithIcons }], ngImport: i0 }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiButton, isStandalone: true, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()" } }, providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)], hostDirectives: [{ directive: i1.TuiWithAppearance }, { directive: i2.TuiWithIcons }], ngImport: i0 }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiButton, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiButton, decorators: [{
33
33
  type: Directive,
34
34
  args: [{
35
35
  selector: 'a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]',
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-button.mjs","sources":["../../../projects/core/components/button/button.options.ts","../../../projects/core/components/button/button.directive.ts","../../../projects/core/components/button/taiga-ui-core-components-button.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {type TuiSizeXL, type TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiButtonOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeXL | TuiSizeXS;\n}\n\nexport const TUI_BUTTON_DEFAULT_OPTIONS: TuiButtonOptions = {\n appearance: 'primary',\n size: 'l',\n};\n\nexport const [TUI_BUTTON_OPTIONS, tuiButtonOptionsProvider] = tuiCreateOptions(\n TUI_BUTTON_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\n\nimport {TUI_BUTTON_OPTIONS} from './button.options';\n\n@Component({\n template: '',\n styles: '@import \"@taiga-ui/core/styles/components/button.less\";',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-button'},\n})\nclass Styles {}\n\n@Directive({\n selector: 'a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]',\n providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {'[attr.data-size]': 'size()'},\n})\nexport class TuiButton {\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly size = input(inject(TUI_BUTTON_OPTIONS).size);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAQa,MAAA,0BAA0B,GAAqB;AACxD,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,IAAI,EAAE,GAAG;;AAGN,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAAG,gBAAgB,CAC1E,0BAA0B;;ACG9B,MAOM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,gHANE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+lHAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAMV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAPX,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAE,EAEG,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA,EAAC,KAAK,EAAE,YAAY,EAAC,EAAA,MAAA,EAAA,CAAA,+lHAAA,CAAA,EAAA;;MAUlB,SAAS,CAAA;AANtB,IAAA,WAAA,GAAA;AAOuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;QAElC,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC;AAChE;+GAJY,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,2SAJP,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAIpD,SAAS,EAAA,UAAA,EAAA,CAAA;kBANrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uEAAuE;AACjF,oBAAA,SAAS,EAAE,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC;AAC7D,oBAAA,cAAc,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;AACjD,oBAAA,IAAI,EAAE,EAAC,kBAAkB,EAAE,QAAQ,EAAC;AACvC,iBAAA;;;AC/BD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-components-button.mjs","sources":["../../../projects/core/components/button/button.options.ts","../../../projects/core/components/button/button.directive.ts","../../../projects/core/components/button/taiga-ui-core-components-button.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {type TuiSizeXL, type TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiButtonOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeXL | TuiSizeXS;\n}\n\nexport const TUI_BUTTON_DEFAULT_OPTIONS: TuiButtonOptions = {\n appearance: 'primary',\n size: 'l',\n};\n\nexport const [TUI_BUTTON_OPTIONS, tuiButtonOptionsProvider] = tuiCreateOptions(\n TUI_BUTTON_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\n\nimport {TUI_BUTTON_OPTIONS} from './button.options';\n\n@Component({\n template: '',\n styles: '@import \"@taiga-ui/core/styles/components/button.less\";',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-button'},\n})\nclass Styles {}\n\n@Directive({\n selector: 'a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]',\n providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {'[attr.data-size]': 'size()'},\n})\nexport class TuiButton {\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly size = input(inject(TUI_BUTTON_OPTIONS).size);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAQa,MAAA,0BAA0B,GAAqB;AACxD,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,IAAI,EAAE,GAAG;;AAGN,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAAG,gBAAgB,CAC1E,0BAA0B;;ACG9B,MAOM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,gHANE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,ypHAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAMV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAPX,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAE,EAEG,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA,EAAC,KAAK,EAAE,YAAY,EAAC,EAAA,MAAA,EAAA,CAAA,ypHAAA,CAAA,EAAA;;MAUlB,SAAS,CAAA;AANtB,IAAA,WAAA,GAAA;AAOuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;QAElC,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC;AAChE;+GAJY,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,2SAJP,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAIpD,SAAS,EAAA,UAAA,EAAA,CAAA;kBANrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uEAAuE;AACjF,oBAAA,SAAS,EAAE,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC;AAC7D,oBAAA,cAAc,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;AACjD,oBAAA,IAAI,EAAE,EAAC,kBAAkB,EAAE,QAAQ,EAAC;AACvC,iBAAA;;;AC/BD;;AAEG;;;;"}