@taiga-ui/core 4.52.0-canary.6043e8f → 4.52.0-canary.61fea47

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 (289) hide show
  1. package/README.md +1 -1
  2. package/classes/accessors.d.ts +1 -1
  3. package/components/button/button.directive.d.ts +2 -2
  4. package/components/calendar/calendar-sheet.options.d.ts +1 -3
  5. package/{pipes/calendar-sheet → components/calendar}/calendar-sheet.pipe.d.ts +1 -1
  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/index.d.ts +2 -0
  9. package/components/cell/cell.directive.d.ts +9 -0
  10. package/components/cell/cell.options.d.ts +6 -0
  11. package/components/cell/index.d.ts +2 -0
  12. package/components/data-list/data-list.component.d.ts +8 -12
  13. package/components/data-list/data-list.d.ts +2 -4
  14. package/components/data-list/data-list.tokens.d.ts +1 -5
  15. package/components/data-list/index.d.ts +0 -2
  16. package/components/data-list/opt-group.directive.d.ts +2 -2
  17. package/components/data-list/option/option-content.d.ts +6 -8
  18. package/components/data-list/option/option.directive.d.ts +7 -8
  19. package/components/error/error.component.d.ts +1 -1
  20. package/components/expand/expand.component.d.ts +9 -28
  21. package/components/expand/index.d.ts +0 -2
  22. package/components/index.d.ts +2 -3
  23. package/components/link/link.directive.d.ts +2 -2
  24. package/components/link/link.options.d.ts +1 -3
  25. package/components/loader/loader.component.d.ts +7 -7
  26. package/components/loader/loader.options.d.ts +1 -3
  27. package/components/notification/index.d.ts +3 -0
  28. package/components/notification/notification.component.d.ts +14 -0
  29. package/components/notification/notification.d.ts +3 -0
  30. package/components/notification/notification.directive.d.ts +7 -12
  31. package/components/notification/notification.options.d.ts +10 -7
  32. package/components/notification/notification.service.d.ts +17 -0
  33. package/components/root/root.component.d.ts +2 -3
  34. package/components/scrollbar/scroll-into-view.directive.d.ts +3 -2
  35. package/components/scrollbar/scrollbar.component.d.ts +2 -2
  36. package/components/scrollbar/scrollbar.directive.d.ts +2 -2
  37. package/components/spin-button/spin-button.component.d.ts +8 -9
  38. package/components/textfield/index.d.ts +1 -3
  39. package/components/textfield/textfield-multi/textfield-item.component.d.ts +3 -2
  40. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +9 -14
  41. package/components/textfield/textfield.component.d.ts +23 -37
  42. package/components/textfield/textfield.d.ts +2 -3
  43. package/components/textfield/textfield.directive.d.ts +13 -20
  44. package/components/textfield/textfield.options.d.ts +8 -11
  45. package/{directives → components}/title/title.directive.d.ts +2 -3
  46. package/directives/appearance/appearance.directive.d.ts +1 -1
  47. package/directives/appearance/appearance.options.d.ts +1 -1
  48. package/directives/date-format/date-format.directive.d.ts +3 -7
  49. package/directives/group/group.directive.d.ts +7 -7
  50. package/directives/group/group.options.d.ts +1 -3
  51. package/directives/index.d.ts +0 -5
  52. package/directives/number-format/number-format.directive.d.ts +3 -7
  53. package/fesm2022/taiga-ui-core-classes.mjs +6 -8
  54. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-core-components-button.mjs +11 -18
  56. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-core-components-calendar.mjs +124 -26
  58. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  59. package/fesm2022/taiga-ui-core-components-cell.mjs +45 -0
  60. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -0
  61. package/fesm2022/taiga-ui-core-components-data-list.mjs +46 -206
  62. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-core-components-error.mjs +4 -3
  64. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-core-components-expand.mjs +33 -131
  66. package/fesm2022/taiga-ui-core-components-expand.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-core-components-icon.mjs +1 -2
  68. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-core-components-label.mjs +6 -9
  70. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-core-components-link.mjs +14 -23
  72. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-core-components-loader.mjs +14 -32
  74. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-core-components-notification.mjs +108 -66
  76. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-core-components-root.mjs +6 -20
  78. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  79. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +36 -45
  80. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  81. package/fesm2022/taiga-ui-core-components-spin-button.mjs +14 -27
  82. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  83. package/fesm2022/taiga-ui-core-components-textfield.mjs +171 -388
  84. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  85. package/fesm2022/taiga-ui-core-components-title.mjs +37 -0
  86. package/fesm2022/taiga-ui-core-components-title.mjs.map +1 -0
  87. package/fesm2022/taiga-ui-core-components.mjs +2 -3
  88. package/fesm2022/taiga-ui-core-components.mjs.map +1 -1
  89. package/fesm2022/taiga-ui-core-directives-appearance.mjs +12 -15
  90. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  91. package/fesm2022/taiga-ui-core-directives-date-format.mjs +24 -18
  92. package/fesm2022/taiga-ui-core-directives-date-format.mjs.map +1 -1
  93. package/fesm2022/taiga-ui-core-directives-group.mjs +23 -38
  94. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  95. package/fesm2022/taiga-ui-core-directives-icons.mjs +8 -11
  96. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  97. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +3 -6
  98. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  99. package/fesm2022/taiga-ui-core-directives-number-format.mjs +30 -18
  100. package/fesm2022/taiga-ui-core-directives-number-format.mjs.map +1 -1
  101. package/fesm2022/taiga-ui-core-directives.mjs +0 -5
  102. package/fesm2022/taiga-ui-core-directives.mjs.map +1 -1
  103. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +19 -13
  104. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  105. package/fesm2022/taiga-ui-core-pipes.mjs +0 -7
  106. package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
  107. package/fesm2022/taiga-ui-core-portals-alert.mjs +73 -0
  108. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -0
  109. package/fesm2022/taiga-ui-core-portals-dialog.mjs +158 -0
  110. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -0
  111. package/fesm2022/{taiga-ui-core-directives-dropdown.mjs → taiga-ui-core-portals-dropdown.mjs} +135 -287
  112. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -0
  113. package/fesm2022/{taiga-ui-core-directives-hint.mjs → taiga-ui-core-portals-hint.mjs} +118 -218
  114. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -0
  115. package/fesm2022/taiga-ui-core-portals-modal.mjs +89 -0
  116. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -0
  117. package/fesm2022/taiga-ui-core-portals-popup.mjs +56 -0
  118. package/fesm2022/taiga-ui-core-portals-popup.mjs.map +1 -0
  119. package/fesm2022/taiga-ui-core-portals.mjs +11 -0
  120. package/fesm2022/taiga-ui-core-portals.mjs.map +1 -0
  121. package/fesm2022/taiga-ui-core-services.mjs +3 -23
  122. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-core-tokens.mjs +22 -25
  124. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  125. package/fesm2022/taiga-ui-core-utils-format.mjs +1 -22
  126. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  127. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +8 -17
  128. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  129. package/fesm2022/taiga-ui-core.mjs +1 -0
  130. package/fesm2022/taiga-ui-core.mjs.map +1 -1
  131. package/index.d.ts +1 -0
  132. package/package.json +77 -98
  133. package/pipes/format-number/format-number.pipe.d.ts +6 -4
  134. package/pipes/index.d.ts +0 -7
  135. package/portals/alert/alert.directive.d.ts +11 -0
  136. package/portals/alert/alert.service.d.ts +12 -0
  137. package/portals/alert/index.d.ts +2 -0
  138. package/portals/dialog/dialog.component.d.ts +14 -0
  139. package/portals/dialog/dialog.directive.d.ts +8 -0
  140. package/{components → portals}/dialog/dialog.factory.d.ts +1 -1
  141. package/portals/dialog/dialog.options.d.ts +25 -0
  142. package/{components/dialog/dialog-close.service.d.ts → portals/dialog/dialog.providers.d.ts} +2 -0
  143. package/portals/dialog/dialog.service.d.ts +10 -0
  144. package/portals/dialog/index.d.ts +6 -0
  145. package/portals/dropdown/dropdown-content.directive.d.ts +9 -0
  146. package/{directives → portals}/dropdown/dropdown-hover.directive.d.ts +5 -10
  147. package/{directives → portals}/dropdown/dropdown-hover.options.d.ts +1 -3
  148. package/{directives → portals}/dropdown/dropdown-manual.directive.d.ts +2 -2
  149. package/portals/dropdown/dropdown-open.directive.d.ts +30 -0
  150. package/{directives → portals}/dropdown/dropdown-position-sided.directive.d.ts +3 -3
  151. package/{directives → portals}/dropdown/dropdown-position.directive.d.ts +5 -5
  152. package/{directives → portals}/dropdown/dropdown-selection.directive.d.ts +4 -5
  153. package/{directives → portals}/dropdown/dropdown.bindings.d.ts +0 -1
  154. package/{directives → portals}/dropdown/dropdown.d.ts +2 -3
  155. package/{directives → portals}/dropdown/dropdown.directive.d.ts +6 -8
  156. package/{directives → portals}/dropdown/index.d.ts +1 -4
  157. package/{directives → portals}/hint/hint-describe.directive.d.ts +4 -6
  158. package/{directives → portals}/hint/hint-host.directive.d.ts +2 -2
  159. package/{directives → portals}/hint/hint-hover.directive.d.ts +3 -4
  160. package/{directives → portals}/hint/hint-manual.directive.d.ts +2 -2
  161. package/{directives → portals}/hint/hint-options.directive.d.ts +3 -3
  162. package/{directives → portals}/hint/hint-overflow.directive.d.ts +2 -2
  163. package/{directives → portals}/hint/hint-position.directive.d.ts +4 -5
  164. package/{directives → portals}/hint/hint-unstyled.component.d.ts +2 -7
  165. package/portals/hint/hint.component.d.ts +29 -0
  166. package/portals/hint/hint.directive.d.ts +24 -0
  167. package/{directives → portals}/hint/index.d.ts +0 -2
  168. package/portals/index.d.ts +6 -0
  169. package/portals/modal/index.d.ts +2 -0
  170. package/portals/modal/modal.component.d.ts +17 -0
  171. package/portals/modal/modal.service.d.ts +13 -0
  172. package/portals/popup/popup.directive.d.ts +12 -0
  173. package/{directives → portals}/popup/popup.service.d.ts +1 -1
  174. package/{directives → portals}/popup/popups.component.d.ts +2 -2
  175. package/services/index.d.ts +0 -1
  176. package/styles/components/link.less +1 -0
  177. package/styles/mixins/appearance.less +1 -1
  178. package/styles/mixins/mixins.less +0 -5
  179. package/styles/mixins/mixins.scss +0 -5
  180. package/styles/mixins/slider.less +21 -16
  181. package/styles/mixins/slider.scss +1 -2
  182. package/styles/theme/variables.less +2 -4
  183. package/tokens/common-icons.d.ts +1 -3
  184. package/tokens/date-format.d.ts +2 -3
  185. package/tokens/i18n.d.ts +7 -7
  186. package/tokens/icon-resolver.d.ts +0 -4
  187. package/tokens/icons.d.ts +0 -4
  188. package/tokens/number-format.d.ts +2 -3
  189. package/types/index.d.ts +0 -3
  190. package/types/size.d.ts +0 -11
  191. package/utils/format/index.d.ts +0 -1
  192. package/utils/miscellaneous/get-duration.d.ts +2 -0
  193. package/utils/miscellaneous/index.d.ts +1 -1
  194. package/components/alert/alert.component.d.ts +0 -15
  195. package/components/alert/alert.directive.d.ts +0 -7
  196. package/components/alert/alert.interfaces.d.ts +0 -12
  197. package/components/alert/alert.service.d.ts +0 -7
  198. package/components/alert/alert.tokens.d.ts +0 -12
  199. package/components/alert/alerts.component.d.ts +0 -12
  200. package/components/alert/index.d.ts +0 -6
  201. package/components/data-list/data-list.directive.d.ts +0 -7
  202. package/components/data-list/option/option-legacy.component.d.ts +0 -24
  203. package/components/dialog/active-zone-adapter.directive.d.ts +0 -11
  204. package/components/dialog/dialog.component.d.ts +0 -20
  205. package/components/dialog/dialog.directive.d.ts +0 -7
  206. package/components/dialog/dialog.interfaces.d.ts +0 -34
  207. package/components/dialog/dialog.service.d.ts +0 -7
  208. package/components/dialog/dialog.tokens.d.ts +0 -15
  209. package/components/dialog/dialogs.component.d.ts +0 -8
  210. package/components/dialog/index.d.ts +0 -8
  211. package/components/expand/expand-content.directive.d.ts +0 -8
  212. package/components/expand/expand.d.ts +0 -6
  213. package/components/fullscreen/fullscreen.component.d.ts +0 -14
  214. package/components/fullscreen/index.d.ts +0 -1
  215. package/components/textfield/select.directive.d.ts +0 -19
  216. package/components/textfield/textfield-dropdown.directive.d.ts +0 -16
  217. package/directives/dropdown/dropdown-open-legacy.directive.d.ts +0 -12
  218. package/directives/dropdown/dropdown-open.directive.d.ts +0 -33
  219. package/directives/dropdown/dropdown-portal.directive.d.ts +0 -14
  220. package/directives/dropdown/dropdown.service.d.ts +0 -6
  221. package/directives/dropdown/dropdowns.component.d.ts +0 -9
  222. package/directives/hint/hint.component.d.ts +0 -30
  223. package/directives/hint/hint.directive.d.ts +0 -26
  224. package/directives/hint/hint.service.d.ts +0 -13
  225. package/directives/hint/hints.component.d.ts +0 -12
  226. package/directives/popup/popup.directive.d.ts +0 -11
  227. package/directives/surface/index.d.ts +0 -1
  228. package/directives/surface/surface.directive.d.ts +0 -8
  229. package/fesm2022/taiga-ui-core-components-alert.mjs +0 -149
  230. package/fesm2022/taiga-ui-core-components-alert.mjs.map +0 -1
  231. package/fesm2022/taiga-ui-core-components-dialog.mjs +0 -229
  232. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +0 -1
  233. package/fesm2022/taiga-ui-core-components-fullscreen.mjs +0 -77
  234. package/fesm2022/taiga-ui-core-components-fullscreen.mjs.map +0 -1
  235. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +0 -1
  236. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +0 -1
  237. package/fesm2022/taiga-ui-core-directives-popup.mjs +0 -63
  238. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +0 -1
  239. package/fesm2022/taiga-ui-core-directives-surface.mjs +0 -50
  240. package/fesm2022/taiga-ui-core-directives-surface.mjs.map +0 -1
  241. package/fesm2022/taiga-ui-core-directives-title.mjs +0 -43
  242. package/fesm2022/taiga-ui-core-directives-title.mjs.map +0 -1
  243. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +0 -25
  244. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +0 -1
  245. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +0 -94
  246. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +0 -1
  247. package/fesm2022/taiga-ui-core-pipes-flag.mjs +0 -32
  248. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +0 -1
  249. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +0 -28
  250. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +0 -1
  251. package/fesm2022/taiga-ui-core-pipes-initials.mjs +0 -29
  252. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +0 -1
  253. package/fesm2022/taiga-ui-core-pipes-month.mjs +0 -29
  254. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +0 -1
  255. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +0 -36
  256. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +0 -1
  257. package/pipes/auto-color/auto-color.pipe.d.ts +0 -7
  258. package/pipes/auto-color/index.d.ts +0 -1
  259. package/pipes/calendar-sheet/index.d.ts +0 -1
  260. package/pipes/calendar-sheet/utils.d.ts +0 -20
  261. package/pipes/flag/flag.pipe.d.ts +0 -14
  262. package/pipes/flag/index.d.ts +0 -1
  263. package/pipes/format-date/format-date.pipe.d.ts +0 -9
  264. package/pipes/format-date/index.d.ts +0 -1
  265. package/pipes/initials/index.d.ts +0 -1
  266. package/pipes/initials/initials.pipe.d.ts +0 -7
  267. package/pipes/month/index.d.ts +0 -1
  268. package/pipes/month/month.pipe.d.ts +0 -10
  269. package/pipes/order-week-days/index.d.ts +0 -1
  270. package/services/format-date.service.d.ts +0 -8
  271. package/types/portal-item.d.ts +0 -9
  272. package/types/range-state.d.ts +0 -4
  273. package/types/value-content-context.d.ts +0 -4
  274. package/utils/format/string-hash-to-hsl.d.ts +0 -6
  275. package/utils/miscellaneous/to-animation-options.d.ts +0 -4
  276. /package/{pipes/order-week-days → components/calendar}/order-week-days.pipe.d.ts +0 -0
  277. /package/{directives → components}/title/index.d.ts +0 -0
  278. /package/{directives → portals}/dropdown/dropdown-context.directive.d.ts +0 -0
  279. /package/{directives → portals}/dropdown/dropdown-limit-width.d.ts +0 -0
  280. /package/{directives → portals}/dropdown/dropdown-options.directive.d.ts +0 -0
  281. /package/{directives → portals}/dropdown/dropdown.component.d.ts +0 -0
  282. /package/{directives → portals}/dropdown/dropdown.driver.d.ts +0 -0
  283. /package/{directives → portals}/dropdown/dropdown.providers.d.ts +0 -0
  284. /package/{directives → portals}/dropdown/with-dropdown-open.directive.d.ts +0 -0
  285. /package/{directives → portals}/hint/hint-driver.directive.d.ts +0 -0
  286. /package/{directives → portals}/hint/hint-pointer.directive.d.ts +0 -0
  287. /package/{directives → portals}/hint/hint.d.ts +0 -0
  288. /package/{directives → portals}/hint/hint.providers.d.ts +0 -0
  289. /package/{directives → portals}/popup/index.d.ts +0 -0
@@ -10,8 +10,9 @@ export declare class TuiTextfieldItemComponent<T> {
10
10
  protected readonly el: HTMLElement;
11
11
  protected readonly handlers: import("@taiga-ui/core/directives/items-handlers").TuiItemsHandlers<unknown>;
12
12
  protected readonly context: TuiContext<TuiTextfieldItem<T>>;
13
- protected readonly textfield: TuiTextfieldMultiComponent<T>;
14
- protected get content(): PolymorpheusContent<TuiContext<TuiTextfieldItem<T>>>;
13
+ protected readonly textfield: TuiTextfieldMultiComponent<any>;
14
+ protected readonly content: import("@angular/core").Signal<string | import("@angular/core").TemplateRef<any>>;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldItemComponent<any>, never>;
16
16
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiTextfieldItemComponent<any>, "tui-textfield-item", never, {}, {}, never, never, true, never>;
17
17
  }
18
+ export declare const TUI_TEXTFIELD_ITEM: PolymorpheusContent<TuiContext<TuiTextfieldItem<any>>>;
@@ -1,26 +1,21 @@
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 "../textfield-dropdown.directive";
9
- import * as i3 from "@taiga-ui/core/directives/icons";
10
- import * as i4 from "@taiga-ui/core/directives";
11
- import * as i5 from "@taiga-ui/core/components/data-list";
12
- export declare class TuiTextfieldMultiComponent<T> extends TuiTextfieldBaseComponent<T> {
5
+ import * as i1 from "@taiga-ui/core/directives";
6
+ export declare class TuiTextfieldMultiComponent<T> extends TuiTextfieldComponent<T> {
13
7
  protected readonly height: import("@angular/core").WritableSignal<number | null>;
14
8
  protected readonly handlers: import("@taiga-ui/core/directives").TuiItemsHandlers<unknown>;
15
- protected readonly component: PolymorpheusContent<TuiContext<TuiTextfieldItem<T>>>;
9
+ protected readonly component: import("@taiga-ui/polymorpheus").PolymorpheusContent<import("@taiga-ui/cdk/types").TuiContext<import("./textfield-item.component").TuiTextfieldItem<any>>>;
16
10
  protected readonly sub: import("rxjs").Subscription;
17
- readonly item?: TemplateRef<unknown>;
18
- rows: number;
11
+ readonly cva: import("@angular/core").Signal<TuiControl<any> | undefined>;
12
+ readonly item: import("@angular/core").Signal<TemplateRef<any> | undefined>;
13
+ readonly rows: import("@angular/core").InputSignal<number>;
19
14
  handleOption(option: T): void;
20
15
  protected get placeholder(): string;
21
16
  protected onItems({ target }: ResizeObserverEntry): void;
22
17
  protected onLeft(event: any): void;
23
18
  protected onClick(target: HTMLElement): void;
24
19
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldMultiComponent<any>, never>;
25
- 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.TuiWithTextfieldDropdown; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiWithIcons; inputs: {}; outputs: {}; }, { directive: typeof i4.TuiWithItemsHandlers; inputs: {}; outputs: {}; }, { directive: typeof i5.TuiWithOptionContent; inputs: {}; outputs: {}; }, { directive: typeof i4.TuiWithAppearance; inputs: {}; outputs: {}; }]>;
20
+ 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, [{ directive: typeof i1.TuiWithAppearance; inputs: {}; outputs: {}; }]>;
26
21
  }
@@ -1,60 +1,46 @@
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";
13
- import * as i3 from "@taiga-ui/core/directives/icons";
14
- import * as i4 from "@taiga-ui/core/directives/items-handlers";
15
- import * as i5 from "@taiga-ui/core/components/data-list";
16
- import * as i6 from "./textfield-dropdown.directive";
17
- export declare class TuiTextfieldBaseComponent<T> implements TuiDataListHost<T>, AfterContentChecked {
18
- private readonly filler;
10
+ import * as i1 from "@taiga-ui/core/portals/dropdown";
11
+ import * as i2 from "@taiga-ui/core/directives/icons";
12
+ import * as i3 from "@taiga-ui/core/directives/items-handlers";
13
+ import * as i4 from "@taiga-ui/core/components/data-list";
14
+ export declare class TuiTextfieldComponent<T> implements TuiDataListHost<T> {
19
15
  private readonly autoId;
20
16
  private readonly focusedIn;
21
- private readonly contentReady$;
22
- private readonly inputQuery;
23
- protected readonly ghost?: ElementRef<HTMLElement>;
24
- protected readonly label?: ElementRef<HTMLElement>;
25
- protected readonly auxiliaryQuery: QueryList<object>;
26
- protected readonly _input?: ElementRef<HTMLInputElement>;
27
- protected readonly open: import("@angular/core").WritableSignal<boolean>;
17
+ protected readonly ghost: Signal<ElementRef<HTMLElement> | undefined>;
28
18
  protected readonly dropdown: TuiDropdownDirective;
29
- protected readonly dropdownOpen: TuiDropdownOpen;
19
+ protected readonly open: TuiDropdownOpen;
30
20
  protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
31
- protected readonly clear: import("@angular/core").Signal<string | undefined>;
32
- protected readonly computedFiller: import("@angular/core").Signal<string>;
33
- protected readonly showFiller: import("@angular/core").Signal<boolean>;
34
- readonly vcr?: ViewContainerRef;
35
- readonly accessor?: TuiTextfieldAccessor<T>;
36
- readonly control?: NgControl;
37
- readonly cva?: TuiControl<unknown>;
38
- readonly input?: ElementRef<HTMLInputElement>;
39
- content: PolymorpheusContent<TuiContext<T>>;
40
- readonly focused: import("@angular/core").Signal<boolean>;
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>;
41
30
  readonly options: import("./textfield.options").TuiTextfieldOptions;
42
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>;
43
35
  readonly value: import("@angular/core").WritableSignal<string>;
44
- readonly auxiliaries: import("@angular/core").Signal<readonly object[]>;
45
- set fillerSetter(filler: string);
36
+ constructor();
46
37
  get id(): string;
47
38
  get size(): TuiSizeL | TuiSizeS;
48
- ngAfterContentChecked(): void;
49
39
  handleOption(option: T): void;
50
40
  protected get hasLabel(): boolean;
51
41
  protected onResize({ contentRect }: ResizeObserverEntry): void;
52
42
  protected onIconClick(): void;
53
43
  protected onScroll(element: HTMLElement): void;
54
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldBaseComponent<any>, never>;
55
- 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>;
56
- }
57
- export declare class TuiTextfieldComponent<T> extends TuiTextfieldBaseComponent<T> {
58
44
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldComponent<any>, never>;
59
- 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: {}; }, { directive: typeof i6.TuiWithTextfieldDropdown; inputs: {}; outputs: {}; }]>;
45
+ 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.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiDropdownFixed; 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: {}; }]>;
60
46
  }
@@ -1,9 +1,8 @@
1
1
  import { TuiItem } from '@taiga-ui/cdk/directives/item';
2
2
  import { TuiLabel } from '@taiga-ui/core/components/label';
3
- import { TuiSelect } from './select.directive';
3
+ import { TuiDropdownContent } from '@taiga-ui/core/portals/dropdown';
4
4
  import { TuiTextfieldComponent } from './textfield.component';
5
5
  import { TuiTextfieldDirective } from './textfield.directive';
6
6
  import { TuiTextfieldOptionsDirective } from './textfield.options';
7
- import { TuiTextfieldDropdownDirective } from './textfield-dropdown.directive';
8
7
  import { TuiTextfieldMultiComponent } from './textfield-multi/textfield-multi.component';
9
- export declare const TuiTextfield: readonly [typeof TuiItem, typeof TuiLabel, typeof TuiSelect, typeof TuiTextfieldComponent, typeof TuiTextfieldDirective, typeof TuiTextfieldOptionsDirective, typeof TuiTextfieldDropdownDirective, typeof TuiTextfieldMultiComponent];
8
+ export declare const TuiTextfield: readonly [typeof TuiItem, typeof TuiLabel, typeof TuiTextfieldComponent, typeof TuiTextfieldDirective, typeof TuiTextfieldOptionsDirective, typeof TuiTextfieldMultiComponent, typeof TuiDropdownContent];
@@ -1,4 +1,3 @@
1
- import { type OnChanges } from '@angular/core';
2
1
  import { NgControl } from '@angular/forms';
3
2
  import { type TuiItemsHandlers } from '@taiga-ui/core/directives/items-handlers';
4
3
  import { type TuiInteractiveState } from '@taiga-ui/core/types';
@@ -7,30 +6,24 @@ import { type TuiTextfieldAccessor } from './textfield-accessor';
7
6
  import * as i0 from "@angular/core";
8
7
  import * as i1 from "@taiga-ui/cdk/directives/native-validator";
9
8
  import * as i2 from "@taiga-ui/core/directives/appearance";
10
- export declare class TuiTextfieldBase<T> implements OnChanges, TuiTextfieldAccessor<T> {
11
- private readonly focused;
12
- protected readonly control: NgControl | null;
13
- protected readonly a: import("@angular/core").WritableSignal<string>;
14
- protected readonly s: import("@angular/core").WritableSignal<TuiInteractiveState | null>;
15
- protected readonly m: import("@angular/core").WritableSignal<string | readonly string[] | null>;
16
- protected readonly f: import("@angular/core").Signal<boolean | null>;
9
+ export declare class TuiTextfieldDirective<T> implements TuiTextfieldAccessor<T> {
17
10
  protected readonly el: HTMLInputElement;
11
+ protected readonly control: NgControl | null;
18
12
  protected readonly handlers: TuiItemsHandlers<T>;
19
- protected readonly textfield: TuiTextfieldComponent<T>;
20
- readOnly: boolean;
21
- invalid: boolean | null;
13
+ protected readonly textfield: TuiTextfieldComponent<any>;
14
+ protected readonly a: import("@angular/core").Signal<string>;
15
+ protected readonly s: import("@angular/core").Signal<TuiInteractiveState | null>;
16
+ protected readonly m: import("@angular/core").Signal<string | readonly string[] | null>;
17
+ protected readonly f: import("@angular/core").Signal<boolean | null>;
18
+ readonly readOnly: import("@angular/core").InputSignal<boolean>;
19
+ readonly invalid: import("@angular/core").InputSignal<boolean | null>;
20
+ readonly focused: import("@angular/core").InputSignal<boolean | null>;
21
+ readonly state: import("@angular/core").InputSignal<TuiInteractiveState | null>;
22
22
  readonly value: import("@angular/core").WritableSignal<string>;
23
- set focusedSetter(focused: boolean | null);
24
- set stateSetter(state: TuiInteractiveState | null);
25
- get mode(): string | null;
26
- ngOnChanges(): void;
23
+ readonly mode: import("@angular/core").Signal<string | null>;
27
24
  setValue(value: T | null): void;
28
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldBase<any>, never>;
29
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextfieldBase<any>, never, never, { "readOnly": { "alias": "readOnly"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "focusedSetter": { "alias": "focused"; "required": false; }; "stateSetter": { "alias": "state"; "required": false; }; }, {}, never, never, true, never>;
30
- }
31
- export declare class TuiTextfieldDirective<T> extends TuiTextfieldBase<T> {
32
25
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldDirective<any>, never>;
33
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextfieldDirective<any>, "input[tuiTextfield]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiNativeValidator; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiAppearance; inputs: {}; outputs: {}; }]>;
26
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextfieldDirective<any>, "input[tuiTextfield]", never, { "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "focused": { "alias": "focused"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.TuiNativeValidator; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiAppearance; inputs: {}; outputs: {}; }]>;
34
27
  }
35
28
  export declare class TuiWithTextfield {
36
29
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiWithTextfield, never>;
@@ -1,21 +1,18 @@
1
- import { InjectionToken, type Provider, type WritableSignal } from '@angular/core';
1
+ import { InjectionToken, type Provider, type Signal } from '@angular/core';
2
2
  import { type TuiSizeL, type TuiSizeS } from '@taiga-ui/core/types';
3
3
  import * as i0 from "@angular/core";
4
4
  export interface TuiTextfieldOptions {
5
- readonly appearance: WritableSignal<string>;
6
- readonly size: WritableSignal<TuiSizeL | TuiSizeS>;
7
- readonly cleaner: WritableSignal<boolean>;
5
+ readonly appearance: Signal<string>;
6
+ readonly size: Signal<TuiSizeL | TuiSizeS>;
7
+ readonly cleaner: Signal<boolean>;
8
8
  }
9
9
  export declare const TUI_TEXTFIELD_OPTIONS: InjectionToken<TuiTextfieldOptions>;
10
10
  export declare function tuiTextfieldOptionsProvider(options: Partial<TuiTextfieldOptions>): Provider;
11
11
  export declare class TuiTextfieldOptionsDirective implements TuiTextfieldOptions {
12
12
  private readonly options;
13
- appearance: WritableSignal<string>;
14
- size: WritableSignal<"l" | "m" | "s">;
15
- cleaner: WritableSignal<boolean>;
16
- set tuiTextfieldAppearance(appearance: string);
17
- set tuiTextfieldSize(size: TuiSizeL | TuiSizeS);
18
- set tuiTextfieldCleaner(enabled: boolean);
13
+ readonly appearance: import("@angular/core").InputSignal<string>;
14
+ readonly size: import("@angular/core").InputSignalWithTransform<"l" | "m" | "s", "" | "l" | "m" | "s">;
15
+ readonly cleaner: import("@angular/core").InputSignal<boolean>;
19
16
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldOptionsDirective, never>;
20
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextfieldOptionsDirective, "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", never, { "tuiTextfieldAppearance": { "alias": "tuiTextfieldAppearance"; "required": false; }; "tuiTextfieldSize": { "alias": "tuiTextfieldSize"; "required": false; }; "tuiTextfieldCleaner": { "alias": "tuiTextfieldCleaner"; "required": false; }; }, {}, never, never, true, never>;
17
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextfieldOptionsDirective, "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", never, { "appearance": { "alias": "tuiTextfieldAppearance"; "required": false; "isSignal": true; }; "size": { "alias": "tuiTextfieldSize"; "required": false; "isSignal": true; }; "cleaner": { "alias": "tuiTextfieldCleaner"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
21
18
  }
@@ -1,8 +1,7 @@
1
- import { type TuiSizeL, type TuiSizeS } from '@taiga-ui/core/types';
2
1
  import * as i0 from "@angular/core";
3
2
  export declare class TuiTitle {
4
3
  protected readonly nothing: undefined;
5
- size: TuiSizeL | TuiSizeS | '';
4
+ readonly tuiTitle: import("@angular/core").InputSignal<"" | "m" | "l" | "s">;
6
5
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTitle, never>;
7
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTitle, "[tuiTitle]", never, { "size": { "alias": "tuiTitle"; "required": false; }; }, {}, never, never, true, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTitle, "[tuiTitle]", never, { "tuiTitle": { "alias": "tuiTitle"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8
7
  }
@@ -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<"" | ("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))>;
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>;
@@ -5,7 +5,7 @@ import { type TuiLooseUnion } from '@taiga-ui/cdk/types';
5
5
  */
6
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'>;
7
7
  export interface TuiAppearanceOptions {
8
- readonly appearance: Appearance;
8
+ readonly appearance: Appearance | '';
9
9
  }
10
10
  export declare const TUI_APPEARANCE_DEFAULT_OPTIONS: TuiAppearanceOptions;
11
11
  export declare const TUI_APPEARANCE_OPTIONS: InjectionToken<TuiAppearanceOptions>;
@@ -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,6 @@
1
1
  export * from '@taiga-ui/core/directives/appearance';
2
2
  export * from '@taiga-ui/core/directives/date-format';
3
- export * from '@taiga-ui/core/directives/dropdown';
4
3
  export * from '@taiga-ui/core/directives/group';
5
- export * from '@taiga-ui/core/directives/hint';
6
4
  export * from '@taiga-ui/core/directives/icons';
7
5
  export * from '@taiga-ui/core/directives/items-handlers';
8
6
  export * from '@taiga-ui/core/directives/number-format';
9
- export * from '@taiga-ui/core/directives/popup';
10
- export * from '@taiga-ui/core/directives/surface';
11
- export * from '@taiga-ui/core/directives/title';
@@ -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,14 +48,11 @@ 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) => {
@@ -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 /*\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: 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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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, Input, Directive } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, input, inject, Directive } from '@angular/core';
3
3
  import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
4
4
  import * as i1 from '@taiga-ui/core/directives/appearance';
5
5
  import { tuiAppearanceOptionsProvider, TuiWithAppearance } from '@taiga-ui/core/directives/appearance';
@@ -13,38 +13,31 @@ const TUI_BUTTON_DEFAULT_OPTIONS = {
13
13
  };
14
14
  const [TUI_BUTTON_OPTIONS, tuiButtonOptionsProvider] = tuiCreateOptions(TUI_BUTTON_DEFAULT_OPTIONS);
15
15
 
16
- class TuiButtonStyles {
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiButtonStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiButtonStyles, 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 }); }
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 }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiButtonStyles, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
21
21
  type: Component,
22
- args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
23
- class: 'tui-button',
24
- }, 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-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"] }]
25
23
  }] });
26
24
  class TuiButton {
27
25
  constructor() {
28
- this.nothing = tuiWithStyles(TuiButtonStyles);
29
- this.size = inject(TUI_BUTTON_OPTIONS).size;
26
+ this.nothing = tuiWithStyles(Styles);
27
+ this.size = input(inject(TUI_BUTTON_OPTIONS).size);
30
28
  }
31
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
32
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiButton, isStandalone: true, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: { size: "size" }, host: { properties: { "attr.data-size": "size" } }, providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)], hostDirectives: [{ directive: i1.TuiWithAppearance }, { directive: i2.TuiWithIcons }], ngImport: i0 }); }
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 }); }
33
31
  }
34
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiButton, decorators: [{
35
33
  type: Directive,
36
34
  args: [{
37
- standalone: true,
38
35
  selector: 'a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]',
39
36
  providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)],
40
37
  hostDirectives: [TuiWithAppearance, TuiWithIcons],
41
- host: {
42
- '[attr.data-size]': 'size',
43
- },
38
+ host: { '[attr.data-size]': 'size()' },
44
39
  }]
45
- }], propDecorators: { size: [{
46
- type: Input
47
- }] } });
40
+ }] });
48
41
 
49
42
  /**
50
43
  * Generated bundle index. Do not edit.
@@ -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 standalone: true,\n template: '',\n styles: ['@import \"@taiga-ui/core/styles/components/button.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-button',\n },\n})\nclass TuiButtonStyles {}\n\n@Directive({\n standalone: true,\n selector: 'a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]',\n providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiButton {\n protected readonly nothing = tuiWithStyles(TuiButtonStyles);\n\n @Input()\n public size = 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,MAUM,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,gHARP,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;;4FAQV,eAAe,EAAA,UAAA,EAAA,CAAA;kBAVpB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,YAAY;AACtB,qBAAA,EAAA,MAAA,EAAA,CAAA,+lHAAA,CAAA,EAAA;;MAaQ,SAAS,CAAA;AATtB,IAAA,WAAA,GAAA;AAUuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,eAAe,CAAC;AAGpD,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI;AAChD;+GALY,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,kMANP,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;;4FAMpD,SAAS,EAAA,UAAA,EAAA,CAAA;kBATrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,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;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC7B,qBAAA;AACJ,iBAAA;8BAKU,IAAI,EAAA,CAAA;sBADV;;;ACzCL;;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,+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;;;;"}