@taiga-ui/legacy 4.51.0 → 4.52.0-canary.0ec45da

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 (548) hide show
  1. package/classes/abstract-textfield-host.d.ts +1 -1
  2. package/classes/controller.d.ts +1 -1
  3. package/classes/multiple-control.d.ts +1 -1
  4. package/classes/nullable-control.d.ts +1 -1
  5. package/components/dialog/dialog.component.d.ts +20 -0
  6. package/components/dialog/dialog.directive.d.ts +7 -0
  7. package/components/dialog/dialog.factory.d.ts +16 -0
  8. package/components/dialog/dialog.interfaces.d.ts +31 -0
  9. package/components/dialog/dialog.service.d.ts +7 -0
  10. package/components/dialog/dialog.tokens.d.ts +8 -0
  11. package/components/dialog/index.d.ts +6 -0
  12. package/components/index.d.ts +2 -16
  13. package/components/input/input.module.d.ts +1 -1
  14. package/components/input-date-range/input-date-range.module.d.ts +8 -9
  15. package/components/input-date-time/input-date-time.component.d.ts +4 -3
  16. package/components/input-date-time/input-date-time.module.d.ts +1 -1
  17. package/components/input-month-range/input-month-range.module.d.ts +1 -1
  18. package/components/input-range/input-range.component.d.ts +1 -1
  19. package/components/input-tag/input-tag.module.d.ts +1 -1
  20. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +1 -1
  21. package/components/multi-select/multi-select.module.d.ts +9 -10
  22. package/components/multi-select/native-multi-select/native-multi-select.d.ts +1 -1
  23. package/components/pdf-viewer/index.d.ts +4 -0
  24. package/components/pdf-viewer/pdf-viewer.component.d.ts +12 -0
  25. package/components/pdf-viewer/pdf-viewer.directive.d.ts +7 -0
  26. package/components/pdf-viewer/pdf-viewer.options.d.ts +13 -0
  27. package/components/pdf-viewer/pdf-viewer.service.d.ts +13 -0
  28. package/components/select/select.module.d.ts +1 -1
  29. package/fesm2022/taiga-ui-legacy-classes.mjs +23 -24
  30. package/fesm2022/taiga-ui-legacy-classes.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +6 -6
  32. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-legacy-components-dialog.mjs +129 -0
  34. package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -0
  35. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +28 -32
  36. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +31 -31
  38. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +14 -14
  40. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +23 -23
  42. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +26 -26
  44. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +20 -21
  46. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +24 -24
  48. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-legacy-components-input.mjs +17 -18
  50. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +8 -8
  52. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +49 -53
  54. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +82 -0
  56. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -0
  57. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +30 -30
  58. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
  59. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +9 -9
  60. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -1
  61. package/fesm2022/taiga-ui-legacy-components-select.mjs +36 -37
  62. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-legacy-components-tag.mjs +14 -15
  64. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +24 -24
  66. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +8 -8
  68. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-legacy-components.mjs +2 -16
  70. package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +3 -3
  72. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +35 -35
  74. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +5 -6
  76. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +7 -7
  78. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +1 -1
  79. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs +9 -9
  80. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs.map +1 -1
  81. package/fesm2022/taiga-ui-legacy-tokens.mjs +1 -1
  82. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +1 -1
  83. package/fesm2022/taiga-ui-legacy-utils.mjs +1 -7
  84. package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -1
  85. package/fesm2022/taiga-ui-legacy.mjs +0 -2
  86. package/fesm2022/taiga-ui-legacy.mjs.map +1 -1
  87. package/index.d.ts +0 -2
  88. package/package.json +12 -186
  89. package/styles/mixins/textfield.less +3 -1
  90. package/utils/icons-path-factory.d.ts +1 -1
  91. package/utils/index.d.ts +0 -1
  92. package/components/color-selector/color-edit/color-edit.component.d.ts +0 -18
  93. package/components/color-selector/color-edit/color-edit.module.d.ts +0 -21
  94. package/components/color-selector/color-picker/color-picker.component.d.ts +0 -22
  95. package/components/color-selector/color-picker/color-picker.module.d.ts +0 -14
  96. package/components/color-selector/color-selector.component.d.ts +0 -47
  97. package/components/color-selector/color-selector.module.d.ts +0 -24
  98. package/components/color-selector/color-selector.options.d.ts +0 -25
  99. package/components/color-selector/flat-picker/flat-picker.component.d.ts +0 -12
  100. package/components/color-selector/flat-picker/flat-picker.module.d.ts +0 -12
  101. package/components/color-selector/index.d.ts +0 -16
  102. package/components/color-selector/linear-multi-picker/linear-multi-picker.component.d.ts +0 -17
  103. package/components/color-selector/linear-multi-picker/linear-multi-picker.module.d.ts +0 -12
  104. package/components/color-selector/linear-picker/linear-picker.component.d.ts +0 -10
  105. package/components/color-selector/linear-picker/linear-picker.module.d.ts +0 -12
  106. package/components/color-selector/palette/palette.component.d.ts +0 -10
  107. package/components/color-selector/palette/palette.module.d.ts +0 -13
  108. package/components/color-selector/services/picker.service.d.ts +0 -15
  109. package/components/combo-box/combo-box-strict.directive.d.ts +0 -12
  110. package/components/combo-box/combo-box.component.d.ts +0 -52
  111. package/components/combo-box/combo-box.directive.d.ts +0 -13
  112. package/components/combo-box/combo-box.module.d.ts +0 -20
  113. package/components/combo-box/index.d.ts +0 -4
  114. package/components/input-color/index.d.ts +0 -2
  115. package/components/input-color/input-color.component.d.ts +0 -30
  116. package/components/input-color/input-color.module.d.ts +0 -17
  117. package/components/input-copy/index.d.ts +0 -4
  118. package/components/input-copy/input-copy.component.d.ts +0 -33
  119. package/components/input-copy/input-copy.directive.d.ts +0 -11
  120. package/components/input-copy/input-copy.module.d.ts +0 -18
  121. package/components/input-copy/input-copy.options.d.ts +0 -26
  122. package/components/input-date/index.d.ts +0 -3
  123. package/components/input-date/input-date.component.d.ts +0 -62
  124. package/components/input-date/input-date.directive.d.ts +0 -19
  125. package/components/input-date/input-date.module.d.ts +0 -24
  126. package/components/input-date/native-date/native-date.component.d.ts +0 -15
  127. package/components/input-date-multi/index.d.ts +0 -2
  128. package/components/input-date-multi/input-date-multi.component.d.ts +0 -66
  129. package/components/input-date-multi/input-date-multi.module.d.ts +0 -20
  130. package/components/input-month/index.d.ts +0 -3
  131. package/components/input-month/input-month.component.d.ts +0 -44
  132. package/components/input-month/input-month.directive.d.ts +0 -19
  133. package/components/input-month/input-month.module.d.ts +0 -19
  134. package/components/input-password/index.d.ts +0 -4
  135. package/components/input-password/input-password.component.d.ts +0 -33
  136. package/components/input-password/input-password.directive.d.ts +0 -15
  137. package/components/input-password/input-password.module.d.ts +0 -19
  138. package/components/input-password/input-password.options.d.ts +0 -25
  139. package/components/input-phone/index.d.ts +0 -4
  140. package/components/input-phone/input-phone.component.d.ts +0 -49
  141. package/components/input-phone/input-phone.directive.d.ts +0 -13
  142. package/components/input-phone/input-phone.module.d.ts +0 -12
  143. package/components/input-phone/input-phone.options.d.ts +0 -13
  144. package/components/input-phone/utils/complete-phone-insertion-preprocessor.d.ts +0 -9
  145. package/components/input-phone/utils/create-phone-mask-expression.d.ts +0 -7
  146. package/components/input-phone/utils/index.d.ts +0 -2
  147. package/components/input-phone-international/index.d.ts +0 -3
  148. package/components/input-phone-international/input-phone-international.component.d.ts +0 -43
  149. package/components/input-phone-international/input-phone-international.options.d.ts +0 -25
  150. package/components/input-phone-international/utils/extract-value-from-event.d.ts +0 -4
  151. package/components/input-time/index.d.ts +0 -4
  152. package/components/input-time/input-time.component.d.ts +0 -62
  153. package/components/input-time/input-time.directive.d.ts +0 -17
  154. package/components/input-time/input-time.module.d.ts +0 -23
  155. package/components/input-time/input-time.options.d.ts +0 -42
  156. package/components/input-time/native-time/native-time.component.d.ts +0 -12
  157. package/components/input-year/index.d.ts +0 -3
  158. package/components/input-year/input-year.component.d.ts +0 -36
  159. package/components/input-year/input-year.directive.d.ts +0 -14
  160. package/components/input-year/input-year.module.d.ts +0 -18
  161. package/components/island/index.d.ts +0 -1
  162. package/components/island/island.directive.d.ts +0 -20
  163. package/components/sheet/components/sheet/sheet.component.d.ts +0 -31
  164. package/components/sheet/components/sheet/sheet.providers.d.ts +0 -2
  165. package/components/sheet/components/sheet-bar/sheet-bar.component.d.ts +0 -10
  166. package/components/sheet/components/sheet-heading/sheet-heading.component.d.ts +0 -14
  167. package/components/sheet/components/sheets-host/sheets-host.component.d.ts +0 -15
  168. package/components/sheet/directives/sheet-close/sheet-close.directive.d.ts +0 -14
  169. package/components/sheet/directives/sheet-stop/sheet-stop.directive.d.ts +0 -9
  170. package/components/sheet/directives/sheet-top/sheet-top.directive.d.ts +0 -14
  171. package/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.d.ts +0 -17
  172. package/components/sheet/index.d.ts +0 -14
  173. package/components/sheet/sheet-options.d.ts +0 -27
  174. package/components/sheet/sheet-tokens.d.ts +0 -18
  175. package/components/sheet/sheet.d.ts +0 -21
  176. package/components/sheet/sheet.directive.d.ts +0 -17
  177. package/components/sheet/sheet.module.d.ts +0 -24
  178. package/components/sheet/sheet.service.d.ts +0 -17
  179. package/components/svg/content-processor.d.ts +0 -19
  180. package/components/svg/deprecated-icons.d.ts +0 -5
  181. package/components/svg/index.d.ts +0 -5
  182. package/components/svg/svg-options.d.ts +0 -50
  183. package/components/svg/svg.component.d.ts +0 -50
  184. package/components/svg/svg.service.d.ts +0 -21
  185. package/components/table-bar/index.d.ts +0 -4
  186. package/components/table-bar/table-bar.component.d.ts +0 -17
  187. package/components/table-bar/table-bar.directive.d.ts +0 -11
  188. package/components/table-bar/table-bar.options.d.ts +0 -31
  189. package/components/table-bar/table-bars-host.component.d.ts +0 -10
  190. package/components/table-bar/table-bars.service.d.ts +0 -11
  191. package/esm2022/classes/abstract-native-select.mjs +0 -49
  192. package/esm2022/classes/abstract-textfield-host.mjs +0 -37
  193. package/esm2022/classes/control.mjs +0 -181
  194. package/esm2022/classes/controller.mjs +0 -18
  195. package/esm2022/classes/index.mjs +0 -10
  196. package/esm2022/classes/interactive.mjs +0 -82
  197. package/esm2022/classes/multiple-control.mjs +0 -21
  198. package/esm2022/classes/named-day.mjs +0 -14
  199. package/esm2022/classes/nullable-control.mjs +0 -18
  200. package/esm2022/classes/stringifiable-item.mjs +0 -14
  201. package/esm2022/classes/taiga-ui-legacy-classes.mjs +0 -5
  202. package/esm2022/components/arrow/arrow.component.mjs +0 -41
  203. package/esm2022/components/arrow/arrow.options.mjs +0 -20
  204. package/esm2022/components/arrow/arrow.providers.mjs +0 -23
  205. package/esm2022/components/arrow/index.mjs +0 -4
  206. package/esm2022/components/arrow/taiga-ui-legacy-components-arrow.mjs +0 -5
  207. package/esm2022/components/color-selector/color-edit/color-edit.component.mjs +0 -59
  208. package/esm2022/components/color-selector/color-edit/color-edit.module.mjs +0 -56
  209. package/esm2022/components/color-selector/color-picker/color-picker.component.mjs +0 -70
  210. package/esm2022/components/color-selector/color-picker/color-picker.module.mjs +0 -25
  211. package/esm2022/components/color-selector/color-selector.component.mjs +0 -191
  212. package/esm2022/components/color-selector/color-selector.module.mjs +0 -67
  213. package/esm2022/components/color-selector/color-selector.options.mjs +0 -78
  214. package/esm2022/components/color-selector/flat-picker/flat-picker.component.mjs +0 -34
  215. package/esm2022/components/color-selector/flat-picker/flat-picker.module.mjs +0 -23
  216. package/esm2022/components/color-selector/index.mjs +0 -17
  217. package/esm2022/components/color-selector/linear-multi-picker/linear-multi-picker.component.mjs +0 -61
  218. package/esm2022/components/color-selector/linear-multi-picker/linear-multi-picker.module.mjs +0 -23
  219. package/esm2022/components/color-selector/linear-picker/linear-picker.component.mjs +0 -31
  220. package/esm2022/components/color-selector/linear-picker/linear-picker.module.mjs +0 -23
  221. package/esm2022/components/color-selector/palette/palette.component.mjs +0 -23
  222. package/esm2022/components/color-selector/palette/palette.module.mjs +0 -25
  223. package/esm2022/components/color-selector/services/picker.service.mjs +0 -31
  224. package/esm2022/components/color-selector/taiga-ui-legacy-components-color-selector.mjs +0 -5
  225. package/esm2022/components/combo-box/combo-box-strict.directive.mjs +0 -34
  226. package/esm2022/components/combo-box/combo-box.component.mjs +0 -183
  227. package/esm2022/components/combo-box/combo-box.directive.mjs +0 -28
  228. package/esm2022/components/combo-box/combo-box.module.mjs +0 -71
  229. package/esm2022/components/combo-box/index.mjs +0 -5
  230. package/esm2022/components/combo-box/taiga-ui-legacy-components-combo-box.mjs +0 -5
  231. package/esm2022/components/index.mjs +0 -34
  232. package/esm2022/components/input/index.mjs +0 -4
  233. package/esm2022/components/input/input.component.mjs +0 -97
  234. package/esm2022/components/input/input.directive.mjs +0 -25
  235. package/esm2022/components/input/input.module.mjs +0 -42
  236. package/esm2022/components/input/taiga-ui-legacy-components-input.mjs +0 -5
  237. package/esm2022/components/input-color/index.mjs +0 -3
  238. package/esm2022/components/input-color/input-color.component.mjs +0 -85
  239. package/esm2022/components/input-color/input-color.module.mjs +0 -43
  240. package/esm2022/components/input-color/taiga-ui-legacy-components-input-color.mjs +0 -5
  241. package/esm2022/components/input-copy/index.mjs +0 -5
  242. package/esm2022/components/input-copy/input-copy.component.mjs +0 -105
  243. package/esm2022/components/input-copy/input-copy.directive.mjs +0 -24
  244. package/esm2022/components/input-copy/input-copy.module.mjs +0 -55
  245. package/esm2022/components/input-copy/input-copy.options.mjs +0 -24
  246. package/esm2022/components/input-copy/taiga-ui-legacy-components-input-copy.mjs +0 -5
  247. package/esm2022/components/input-date/index.mjs +0 -4
  248. package/esm2022/components/input-date/input-date.component.mjs +0 -220
  249. package/esm2022/components/input-date/input-date.directive.mjs +0 -40
  250. package/esm2022/components/input-date/input-date.module.mjs +0 -75
  251. package/esm2022/components/input-date/native-date/native-date.component.mjs +0 -53
  252. package/esm2022/components/input-date/taiga-ui-legacy-components-input-date.mjs +0 -5
  253. package/esm2022/components/input-date-multi/index.mjs +0 -3
  254. package/esm2022/components/input-date-multi/input-date-multi.component.mjs +0 -207
  255. package/esm2022/components/input-date-multi/input-date-multi.module.mjs +0 -67
  256. package/esm2022/components/input-date-multi/taiga-ui-legacy-components-input-date-multi.mjs +0 -5
  257. package/esm2022/components/input-date-range/index.mjs +0 -4
  258. package/esm2022/components/input-date-range/input-date-range.component.mjs +0 -256
  259. package/esm2022/components/input-date-range/input-date-range.directive.mjs +0 -36
  260. package/esm2022/components/input-date-range/input-date-range.module.mjs +0 -71
  261. package/esm2022/components/input-date-range/taiga-ui-legacy-components-input-date-range.mjs +0 -5
  262. package/esm2022/components/input-date-time/index.mjs +0 -4
  263. package/esm2022/components/input-date-time/input-date-time.component.mjs +0 -315
  264. package/esm2022/components/input-date-time/input-date-time.directive.mjs +0 -37
  265. package/esm2022/components/input-date-time/input-date-time.module.mjs +0 -78
  266. package/esm2022/components/input-date-time/native-date-time/native-date-time.directive.mjs +0 -49
  267. package/esm2022/components/input-date-time/taiga-ui-legacy-components-input-date-time.mjs +0 -5
  268. package/esm2022/components/input-month/index.mjs +0 -4
  269. package/esm2022/components/input-month/input-month.component.mjs +0 -135
  270. package/esm2022/components/input-month/input-month.directive.mjs +0 -46
  271. package/esm2022/components/input-month/input-month.module.mjs +0 -57
  272. package/esm2022/components/input-month/taiga-ui-legacy-components-input-month.mjs +0 -5
  273. package/esm2022/components/input-month-range/index.mjs +0 -4
  274. package/esm2022/components/input-month-range/input-month-range.component.mjs +0 -123
  275. package/esm2022/components/input-month-range/input-month-range.directive.mjs +0 -52
  276. package/esm2022/components/input-month-range/input-month-range.module.mjs +0 -53
  277. package/esm2022/components/input-month-range/taiga-ui-legacy-components-input-month-range.mjs +0 -5
  278. package/esm2022/components/input-number/index.mjs +0 -5
  279. package/esm2022/components/input-number/input-number.component.mjs +0 -284
  280. package/esm2022/components/input-number/input-number.directive.mjs +0 -38
  281. package/esm2022/components/input-number/input-number.module.mjs +0 -48
  282. package/esm2022/components/input-number/input-number.options.mjs +0 -30
  283. package/esm2022/components/input-number/taiga-ui-legacy-components-input-number.mjs +0 -5
  284. package/esm2022/components/input-password/index.mjs +0 -5
  285. package/esm2022/components/input-password/input-password.component.mjs +0 -80
  286. package/esm2022/components/input-password/input-password.directive.mjs +0 -34
  287. package/esm2022/components/input-password/input-password.module.mjs +0 -59
  288. package/esm2022/components/input-password/input-password.options.mjs +0 -24
  289. package/esm2022/components/input-password/taiga-ui-legacy-components-input-password.mjs +0 -5
  290. package/esm2022/components/input-phone/index.mjs +0 -5
  291. package/esm2022/components/input-phone/input-phone.component.mjs +0 -216
  292. package/esm2022/components/input-phone/input-phone.directive.mjs +0 -34
  293. package/esm2022/components/input-phone/input-phone.module.mjs +0 -44
  294. package/esm2022/components/input-phone/input-phone.options.mjs +0 -18
  295. package/esm2022/components/input-phone/taiga-ui-legacy-components-input-phone.mjs +0 -5
  296. package/esm2022/components/input-phone/utils/complete-phone-insertion-preprocessor.mjs +0 -41
  297. package/esm2022/components/input-phone/utils/create-phone-mask-expression.mjs +0 -17
  298. package/esm2022/components/input-phone/utils/index.mjs +0 -3
  299. package/esm2022/components/input-phone-international/index.mjs +0 -4
  300. package/esm2022/components/input-phone-international/input-phone-international.component.mjs +0 -178
  301. package/esm2022/components/input-phone-international/input-phone-international.options.mjs +0 -25
  302. package/esm2022/components/input-phone-international/taiga-ui-legacy-components-input-phone-international.mjs +0 -5
  303. package/esm2022/components/input-phone-international/utils/extract-value-from-event.mjs +0 -10
  304. package/esm2022/components/input-range/index.mjs +0 -3
  305. package/esm2022/components/input-range/input-range.component.mjs +0 -207
  306. package/esm2022/components/input-range/input-range.module.mjs +0 -55
  307. package/esm2022/components/input-range/taiga-ui-legacy-components-input-range.mjs +0 -5
  308. package/esm2022/components/input-slider/index.mjs +0 -3
  309. package/esm2022/components/input-slider/input-slider.component.mjs +0 -154
  310. package/esm2022/components/input-slider/input-slider.module.mjs +0 -48
  311. package/esm2022/components/input-slider/taiga-ui-legacy-components-input-slider.mjs +0 -5
  312. package/esm2022/components/input-tag/index.mjs +0 -4
  313. package/esm2022/components/input-tag/input-tag.component.mjs +0 -436
  314. package/esm2022/components/input-tag/input-tag.module.mjs +0 -67
  315. package/esm2022/components/input-tag/input-tag.options.mjs +0 -27
  316. package/esm2022/components/input-tag/taiga-ui-legacy-components-input-tag.mjs +0 -5
  317. package/esm2022/components/input-time/index.mjs +0 -5
  318. package/esm2022/components/input-time/input-time.component.mjs +0 -238
  319. package/esm2022/components/input-time/input-time.directive.mjs +0 -40
  320. package/esm2022/components/input-time/input-time.module.mjs +0 -71
  321. package/esm2022/components/input-time/input-time.options.mjs +0 -39
  322. package/esm2022/components/input-time/native-time/native-time.component.mjs +0 -67
  323. package/esm2022/components/input-time/taiga-ui-legacy-components-input-time.mjs +0 -5
  324. package/esm2022/components/input-year/index.mjs +0 -4
  325. package/esm2022/components/input-year/input-year.component.mjs +0 -110
  326. package/esm2022/components/input-year/input-year.directive.mjs +0 -32
  327. package/esm2022/components/input-year/input-year.module.mjs +0 -53
  328. package/esm2022/components/input-year/taiga-ui-legacy-components-input-year.mjs +0 -5
  329. package/esm2022/components/island/index.mjs +0 -2
  330. package/esm2022/components/island/island.directive.mjs +0 -62
  331. package/esm2022/components/island/taiga-ui-legacy-components-island.mjs +0 -5
  332. package/esm2022/components/multi-select/hide-selected.pipe.mjs +0 -44
  333. package/esm2022/components/multi-select/index.mjs +0 -11
  334. package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +0 -98
  335. package/esm2022/components/multi-select/multi-select-group/multi-select-group.directive.mjs +0 -94
  336. package/esm2022/components/multi-select/multi-select.component.mjs +0 -233
  337. package/esm2022/components/multi-select/multi-select.directive.mjs +0 -32
  338. package/esm2022/components/multi-select/multi-select.module.mjs +0 -113
  339. package/esm2022/components/multi-select/multi-select.options.mjs +0 -17
  340. package/esm2022/components/multi-select/native-multi-select/native-multi-select-group.component.mjs +0 -60
  341. package/esm2022/components/multi-select/native-multi-select/native-multi-select.component.mjs +0 -56
  342. package/esm2022/components/multi-select/native-multi-select/native-multi-select.mjs +0 -19
  343. package/esm2022/components/multi-select/taiga-ui-legacy-components-multi-select.mjs +0 -5
  344. package/esm2022/components/multi-select-option/index.mjs +0 -3
  345. package/esm2022/components/multi-select-option/multi-select-option.component.mjs +0 -25
  346. package/esm2022/components/multi-select-option/multi-select-option.module.mjs +0 -20
  347. package/esm2022/components/multi-select-option/taiga-ui-legacy-components-multi-select-option.mjs +0 -5
  348. package/esm2022/components/primitive-textfield/index.mjs +0 -7
  349. package/esm2022/components/primitive-textfield/primitive-textfield-options.mjs +0 -17
  350. package/esm2022/components/primitive-textfield/primitive-textfield-types.mjs +0 -2
  351. package/esm2022/components/primitive-textfield/primitive-textfield.component.mjs +0 -254
  352. package/esm2022/components/primitive-textfield/primitive-textfield.directive.mjs +0 -33
  353. package/esm2022/components/primitive-textfield/primitive-textfield.module.mjs +0 -66
  354. package/esm2022/components/primitive-textfield/taiga-ui-legacy-components-primitive-textfield.mjs +0 -5
  355. package/esm2022/components/primitive-textfield/textfield/textfield.component.mjs +0 -39
  356. package/esm2022/components/primitive-textfield/value-decoration/value-decoration.component.mjs +0 -66
  357. package/esm2022/components/select/index.mjs +0 -7
  358. package/esm2022/components/select/native-select/native-select-group.component.mjs +0 -64
  359. package/esm2022/components/select/native-select/native-select.component.mjs +0 -60
  360. package/esm2022/components/select/select.component.mjs +0 -119
  361. package/esm2022/components/select/select.directive.mjs +0 -34
  362. package/esm2022/components/select/select.module.mjs +0 -87
  363. package/esm2022/components/select/select.options.mjs +0 -24
  364. package/esm2022/components/select/taiga-ui-legacy-components-select.mjs +0 -5
  365. package/esm2022/components/select-option/index.mjs +0 -3
  366. package/esm2022/components/select-option/select-option.component.mjs +0 -65
  367. package/esm2022/components/select-option/select-option.module.mjs +0 -21
  368. package/esm2022/components/select-option/taiga-ui-legacy-components-select-option.mjs +0 -5
  369. package/esm2022/components/sheet/components/sheet/sheet.component.mjs +0 -117
  370. package/esm2022/components/sheet/components/sheet/sheet.providers.mjs +0 -42
  371. package/esm2022/components/sheet/components/sheet-bar/sheet-bar.component.mjs +0 -27
  372. package/esm2022/components/sheet/components/sheet-heading/sheet-heading.component.mjs +0 -31
  373. package/esm2022/components/sheet/components/sheets-host/sheets-host.component.mjs +0 -46
  374. package/esm2022/components/sheet/directives/sheet-close/sheet-close.directive.mjs +0 -39
  375. package/esm2022/components/sheet/directives/sheet-stop/sheet-stop.directive.mjs +0 -38
  376. package/esm2022/components/sheet/directives/sheet-top/sheet-top.directive.mjs +0 -52
  377. package/esm2022/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.mjs +0 -77
  378. package/esm2022/components/sheet/index.mjs +0 -14
  379. package/esm2022/components/sheet/sheet-options.mjs +0 -24
  380. package/esm2022/components/sheet/sheet-tokens.mjs +0 -17
  381. package/esm2022/components/sheet/sheet.directive.mjs +0 -40
  382. package/esm2022/components/sheet/sheet.mjs +0 -2
  383. package/esm2022/components/sheet/sheet.module.mjs +0 -75
  384. package/esm2022/components/sheet/sheet.service.mjs +0 -52
  385. package/esm2022/components/sheet/taiga-ui-legacy-components-sheet.mjs +0 -5
  386. package/esm2022/components/svg/content-processor.mjs +0 -41
  387. package/esm2022/components/svg/deprecated-icons.mjs +0 -63
  388. package/esm2022/components/svg/index.mjs +0 -6
  389. package/esm2022/components/svg/svg-options.mjs +0 -83
  390. package/esm2022/components/svg/svg.component.mjs +0 -150
  391. package/esm2022/components/svg/svg.service.mjs +0 -64
  392. package/esm2022/components/svg/taiga-ui-legacy-components-svg.mjs +0 -5
  393. package/esm2022/components/table-bar/index.mjs +0 -5
  394. package/esm2022/components/table-bar/table-bar.component.mjs +0 -37
  395. package/esm2022/components/table-bar/table-bar.directive.mjs +0 -25
  396. package/esm2022/components/table-bar/table-bar.options.mjs +0 -34
  397. package/esm2022/components/table-bar/table-bars-host.component.mjs +0 -39
  398. package/esm2022/components/table-bar/table-bars.service.mjs +0 -22
  399. package/esm2022/components/table-bar/taiga-ui-legacy-components-table-bar.mjs +0 -5
  400. package/esm2022/components/tag/index.mjs +0 -4
  401. package/esm2022/components/tag/tag.component.mjs +0 -158
  402. package/esm2022/components/tag/tag.module.mjs +0 -42
  403. package/esm2022/components/tag/tag.options.mjs +0 -26
  404. package/esm2022/components/tag/taiga-ui-legacy-components-tag.mjs +0 -5
  405. package/esm2022/components/taiga-ui-legacy-components.mjs +0 -5
  406. package/esm2022/components/textarea/index.mjs +0 -4
  407. package/esm2022/components/textarea/taiga-ui-legacy-components-textarea.mjs +0 -5
  408. package/esm2022/components/textarea/textarea.component.mjs +0 -175
  409. package/esm2022/components/textarea/textarea.directive.mjs +0 -25
  410. package/esm2022/components/textarea/textarea.module.mjs +0 -68
  411. package/esm2022/components/tooltip/index.mjs +0 -3
  412. package/esm2022/components/tooltip/taiga-ui-legacy-components-tooltip.mjs +0 -5
  413. package/esm2022/components/tooltip/tooltip.component.mjs +0 -27
  414. package/esm2022/components/tooltip/tooltip.module.mjs +0 -24
  415. package/esm2022/directives/index.mjs +0 -6
  416. package/esm2022/directives/legacy-dropdown-open-monitor/index.mjs +0 -2
  417. package/esm2022/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.mjs +0 -44
  418. package/esm2022/directives/legacy-dropdown-open-monitor/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +0 -5
  419. package/esm2022/directives/taiga-ui-legacy-directives.mjs +0 -5
  420. package/esm2022/directives/textfield-controller/index.mjs +0 -15
  421. package/esm2022/directives/textfield-controller/taiga-ui-legacy-directives-textfield-controller.mjs +0 -5
  422. package/esm2022/directives/textfield-controller/textfield-appearance.directive.mjs +0 -34
  423. package/esm2022/directives/textfield-controller/textfield-cleaner.directive.mjs +0 -28
  424. package/esm2022/directives/textfield-controller/textfield-controller.module.mjs +0 -72
  425. package/esm2022/directives/textfield-controller/textfield-controller.provider.mjs +0 -44
  426. package/esm2022/directives/textfield-controller/textfield-custom-content.directive.mjs +0 -28
  427. package/esm2022/directives/textfield-controller/textfield-filler.directive.mjs +0 -28
  428. package/esm2022/directives/textfield-controller/textfield-icon-left.directive.mjs +0 -24
  429. package/esm2022/directives/textfield-controller/textfield-icon.directive.mjs +0 -24
  430. package/esm2022/directives/textfield-controller/textfield-label-outside.directive.mjs +0 -32
  431. package/esm2022/directives/textfield-controller/textfield-postfix.directive.mjs +0 -28
  432. package/esm2022/directives/textfield-controller/textfield-prefix.directive.mjs +0 -28
  433. package/esm2022/directives/textfield-controller/textfield-size.directive.mjs +0 -28
  434. package/esm2022/directives/textfield-controller/textfield.controller.mjs +0 -49
  435. package/esm2022/directives/textfield-controller/textfield.options.mjs +0 -21
  436. package/esm2022/directives/unfinished-validator/index.mjs +0 -3
  437. package/esm2022/directives/unfinished-validator/taiga-ui-legacy-directives-unfinished-validator.mjs +0 -5
  438. package/esm2022/directives/unfinished-validator/unfinished-validator.directive.mjs +0 -30
  439. package/esm2022/directives/unfinished-validator/unfinished.validator.mjs +0 -15
  440. package/esm2022/directives/value-accessor/index.mjs +0 -4
  441. package/esm2022/directives/value-accessor/taiga-ui-legacy-directives-value-accessor.mjs +0 -5
  442. package/esm2022/directives/value-accessor/value-accessor.directive.mjs +0 -17
  443. package/esm2022/directives/value-accessor/value-accessor.module.mjs +0 -17
  444. package/esm2022/directives/value-accessor/value-accessor.provider.mjs +0 -10
  445. package/esm2022/directives/wrapper/index.mjs +0 -3
  446. package/esm2022/directives/wrapper/taiga-ui-legacy-directives-wrapper.mjs +0 -5
  447. package/esm2022/directives/wrapper/wrapper.directive.mjs +0 -77
  448. package/esm2022/directives/wrapper/wrapper.module.mjs +0 -20
  449. package/esm2022/index.mjs +0 -8
  450. package/esm2022/pipes/format-phone/format-phone.pipe.mjs +0 -54
  451. package/esm2022/pipes/format-phone/index.mjs +0 -2
  452. package/esm2022/pipes/format-phone/taiga-ui-legacy-pipes-format-phone.mjs +0 -5
  453. package/esm2022/pipes/index.mjs +0 -4
  454. package/esm2022/pipes/iso-to-country-code/index.mjs +0 -2
  455. package/esm2022/pipes/iso-to-country-code/iso-to-country-code.pipe.mjs +0 -44
  456. package/esm2022/pipes/iso-to-country-code/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -5
  457. package/esm2022/pipes/taiga-ui-legacy-pipes.mjs +0 -5
  458. package/esm2022/pipes/to-country-code/index.mjs +0 -2
  459. package/esm2022/pipes/to-country-code/taiga-ui-legacy-pipes-to-country-code.mjs +0 -5
  460. package/esm2022/pipes/to-country-code/to-country-code.pipe.mjs +0 -74
  461. package/esm2022/services/index.mjs +0 -2
  462. package/esm2022/services/static-request.service.mjs +0 -36
  463. package/esm2022/services/taiga-ui-legacy-services.mjs +0 -5
  464. package/esm2022/taiga-ui-legacy.mjs +0 -5
  465. package/esm2022/tokens/countries-masks.mjs +0 -257
  466. package/esm2022/tokens/focusable-item-accessor.mjs +0 -14
  467. package/esm2022/tokens/fonts-ready.mjs +0 -10
  468. package/esm2022/tokens/icons.mjs +0 -9
  469. package/esm2022/tokens/index.mjs +0 -15
  470. package/esm2022/tokens/is-apple.mjs +0 -11
  471. package/esm2022/tokens/is-chromium.mjs +0 -10
  472. package/esm2022/tokens/is-firefox.mjs +0 -11
  473. package/esm2022/tokens/is-stackblitz.mjs +0 -9
  474. package/esm2022/tokens/month-formatter.mjs +0 -18
  475. package/esm2022/tokens/sanitizer.mjs +0 -7
  476. package/esm2022/tokens/taiga-ui-legacy-tokens.mjs +0 -5
  477. package/esm2022/tokens/textfield-appearance.mjs +0 -10
  478. package/esm2022/tokens/textfield-host.mjs +0 -14
  479. package/esm2022/tokens/touch-supported.mjs +0 -9
  480. package/esm2022/tokens/value-accessor.mjs +0 -7
  481. package/esm2022/utils/capitalize-first-letter.mjs +0 -7
  482. package/esm2022/utils/date-mode-maskito-adapter.mjs +0 -9
  483. package/esm2022/utils/format-phone.mjs +0 -60
  484. package/esm2022/utils/get-border.mjs +0 -23
  485. package/esm2022/utils/get-max-allowed-phone-length.mjs +0 -26
  486. package/esm2022/utils/get-safe-area-size.mjs +0 -18
  487. package/esm2022/utils/icons-path-factory.mjs +0 -22
  488. package/esm2022/utils/index.mjs +0 -14
  489. package/esm2022/utils/is-apple.mjs +0 -6
  490. package/esm2022/utils/is-presumed-html-string.mjs +0 -8
  491. package/esm2022/utils/iso-to-country-code.mjs +0 -16
  492. package/esm2022/utils/not-kz-region.mjs +0 -24
  493. package/esm2022/utils/process-icon.mjs +0 -34
  494. package/esm2022/utils/specific-dropdown-controllers.mjs +0 -9
  495. package/esm2022/utils/status.mjs +0 -2
  496. package/esm2022/utils/taiga-ui-legacy-utils.mjs +0 -5
  497. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +0 -730
  498. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +0 -1
  499. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +0 -301
  500. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +0 -1
  501. package/fesm2022/taiga-ui-legacy-components-input-color.mjs +0 -127
  502. package/fesm2022/taiga-ui-legacy-components-input-color.mjs.map +0 -1
  503. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +0 -197
  504. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +0 -1
  505. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +0 -272
  506. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +0 -1
  507. package/fesm2022/taiga-ui-legacy-components-input-date.mjs +0 -372
  508. package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +0 -1
  509. package/fesm2022/taiga-ui-legacy-components-input-month.mjs +0 -231
  510. package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +0 -1
  511. package/fesm2022/taiga-ui-legacy-components-input-password.mjs +0 -187
  512. package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +0 -1
  513. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +0 -215
  514. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +0 -1
  515. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +0 -358
  516. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +0 -1
  517. package/fesm2022/taiga-ui-legacy-components-input-time.mjs +0 -434
  518. package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +0 -1
  519. package/fesm2022/taiga-ui-legacy-components-input-year.mjs +0 -188
  520. package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +0 -1
  521. package/fesm2022/taiga-ui-legacy-components-island.mjs +0 -68
  522. package/fesm2022/taiga-ui-legacy-components-island.mjs.map +0 -1
  523. package/fesm2022/taiga-ui-legacy-components-sheet.mjs +0 -574
  524. package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +0 -1
  525. package/fesm2022/taiga-ui-legacy-components-svg.mjs +0 -389
  526. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +0 -1
  527. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +0 -145
  528. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +0 -1
  529. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +0 -60
  530. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +0 -1
  531. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -50
  532. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +0 -1
  533. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +0 -80
  534. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +0 -1
  535. package/fesm2022/taiga-ui-legacy-pipes.mjs +0 -8
  536. package/fesm2022/taiga-ui-legacy-pipes.mjs.map +0 -1
  537. package/fesm2022/taiga-ui-legacy-services.mjs +0 -42
  538. package/fesm2022/taiga-ui-legacy-services.mjs.map +0 -1
  539. package/pipes/format-phone/format-phone.pipe.d.ts +0 -37
  540. package/pipes/format-phone/index.d.ts +0 -1
  541. package/pipes/index.d.ts +0 -3
  542. package/pipes/iso-to-country-code/index.d.ts +0 -1
  543. package/pipes/iso-to-country-code/iso-to-country-code.pipe.d.ts +0 -30
  544. package/pipes/to-country-code/index.d.ts +0 -1
  545. package/pipes/to-country-code/to-country-code.pipe.d.ts +0 -38
  546. package/services/index.d.ts +0 -1
  547. package/services/static-request.service.d.ts +0 -11
  548. package/utils/is-apple.d.ts +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-classes.mjs","sources":["../../../projects/legacy/classes/interactive.ts","../../../projects/legacy/classes/control.ts","../../../projects/legacy/classes/abstract-native-select.ts","../../../projects/legacy/classes/abstract-textfield-host.ts","../../../projects/legacy/classes/controller.ts","../../../projects/legacy/classes/multiple-control.ts","../../../projects/legacy/classes/named-day.ts","../../../projects/legacy/classes/nullable-control.ts","../../../projects/legacy/classes/stringifiable-item.ts","../../../projects/legacy/classes/taiga-ui-legacy-classes.ts"],"sourcesContent":["import {Directive, EventEmitter, Input, Output} from '@angular/core';\n\nconst TUI = 'tui_interactive_';\n\n/**\n * @deprecated: drop in v5.0\n */\n@Directive({\n standalone: false,\n host: {\n '[attr.data-focused]': 'pseudoFocus',\n '[class._disabled]': 'computedDisabled',\n '[class._focused]': 'computedFocused',\n '[class._focus-visible]': 'computedFocusVisible',\n },\n})\nexport abstract class AbstractTuiInteractive {\n private static autoId = 0;\n\n public abstract disabled: boolean;\n\n public abstract focused: boolean;\n\n private readonly autoIdString: string = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n\n protected focusVisible = false;\n\n @Input()\n public pseudoHover: boolean | null = null;\n\n @Input()\n public pseudoActive: boolean | null = null;\n\n @Input()\n public pseudoFocus: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n public focusable = true;\n\n @Input()\n public nativeId = '';\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n public readonly focusedChange = new EventEmitter<boolean>();\n\n @Output()\n public readonly focusVisibleChange = new EventEmitter<boolean>();\n\n public get computedDisabled(): boolean {\n return this.disabled;\n }\n\n public get computedFocused(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focused);\n }\n\n public get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focusVisible);\n }\n\n public get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n // TODO: 3.0 Consider removing since native input is exposed\n public get id(): string {\n return this.nativeId || this.autoIdString;\n }\n\n protected updateFocused(focused: boolean): void {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean): void {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {\n ChangeDetectorRef,\n DestroyRef,\n Directive,\n inject,\n Input,\n type OnInit,\n type Provider,\n type Type,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n type AbstractControl,\n type ControlValueAccessor,\n NgControl,\n NgModel,\n} from '@angular/forms';\nimport {TuiControl, TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiIsPresent, tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n delay,\n distinctUntilChanged,\n EMPTY,\n filter,\n map,\n merge,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {AbstractTuiInteractive} from './interactive';\n\n/**\n * @deprecated: drop in v5.0\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive({\n standalone: false,\n host: {\n '[class._readonly]': 'readOnly',\n '[class._invalid]': 'computedInvalid',\n },\n})\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnInit, ControlValueAccessor\n{\n private readonly ngControl = inject(NgControl, {optional: true});\n private previousInternalValue?: T | null;\n private readonly refresh$ = new Subject<void>();\n\n protected onTouched = EMPTY_FUNCTION;\n protected onChange = EMPTY_FUNCTION;\n protected readonly fallbackValue = this.getFallbackValue();\n protected destroyRef = inject(DestroyRef);\n protected readonly cdr = inject(ChangeDetectorRef);\n protected readonly valueTransformer = inject<TuiValueTransformer<T>>(\n TuiValueTransformer,\n {optional: true},\n );\n\n @Input()\n public readOnly = false;\n\n @Input()\n public pseudoInvalid: boolean | null = null;\n\n // Workaround for legacy control to notify of internal change in case updateOn: 'blur' is used\n public readonly update$ = new Subject<void>();\n\n constructor() {\n super();\n\n if (ngDevMode && this.ngControl === null) {\n console.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n 'Use [(ngModel)] or [formControl] or formControlName for correct work.',\n );\n }\n\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n protected abstract getFallbackValue(): T;\n\n public get computedInvalid(): boolean {\n return (\n this.interactive &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n public get value(): T {\n return this.previousInternalValue ?? this.fallbackValue;\n }\n\n public set value(value: T) {\n this.updateValue(value);\n this.update$.next();\n }\n\n public get safeCurrentValue(): T {\n return this.rawValue ?? this.fallbackValue;\n }\n\n public get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n public get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n public get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n public get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n public get interactive(): boolean {\n return !this.readOnly && !this.computedDisabled;\n }\n\n public get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n public get computedName(): string | null {\n return this.controlName?.toString() ?? null;\n }\n\n public get controlName(): string | null {\n return this.ngControl?.name?.toString() ?? null;\n }\n\n public ngOnInit(): void {\n this.refresh$\n .pipe(\n delay(0),\n startWith(null),\n map(() => this.ngControl?.control),\n filter(tuiIsPresent),\n distinctUntilChanged(),\n switchMap((control) =>\n merge(\n control.valueChanges,\n control.statusChanges,\n (control as any).events || EMPTY,\n ),\n ),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => {\n this.refreshLocalValue(this.safeCurrentValue);\n });\n }\n\n public checkControlUpdate(): void {\n this.cdr.markForCheck();\n }\n\n public registerOnChange(onChange: (value: unknown) => void): void {\n this.onChange = (componentValue: T) => {\n onChange(this.toControlValue(componentValue));\n };\n\n this.refresh$.next();\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this.onTouched = onTouched;\n }\n\n public setDisabledState(): void {\n this.checkControlUpdate();\n }\n\n public writeValue(value: T | null): void {\n const controlValue =\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value;\n\n this.refreshLocalValue(this.fromControlValue(controlValue));\n }\n\n protected override updateFocused(focused: boolean): void {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n /**\n * @deprecated use `value` setter\n */\n protected updateValue(value: T): void {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n const controlValue =\n ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n\n return this.fromControlValue(controlValue);\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;\n }\n\n private controlMarkAsTouched(): void {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T): void {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null): void {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n\n private fromControlValue(controlValue: unknown): T {\n return this.valueTransformer\n ? this.valueTransformer.fromControlValue(controlValue)\n : (controlValue as T);\n }\n\n private toControlValue(componentValue: T): unknown {\n return this.valueTransformer\n ? this.valueTransformer.toControlValue(componentValue)\n : componentValue;\n }\n}\n\nexport function tuiAsControl<T>(control: Type<AbstractTuiControl<T>>): Provider[] {\n return [tuiProvide(AbstractTuiControl, control), tuiProvide(TuiControl, control)];\n}\n","import {Directive, inject, Input, TemplateRef, ViewChild} from '@angular/core';\nimport {tuiInjectId} from '@taiga-ui/cdk/services';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiDataListDirective} from '@taiga-ui/core/components/data-list';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/kit/tokens';\nimport {TUI_TEXTFIELD_HOST, type TuiTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {AbstractTuiControl} from './control';\n\n/**\n * @deprecated: drop in v5.0\n */\n@Directive({\n standalone: false,\n host: {\n '[id]': 'id',\n },\n})\nexport abstract class AbstractTuiNativeSelect<H = TuiTextfieldHost, T = string> {\n @ViewChild(TuiDataListDirective, {read: TemplateRef, static: true})\n protected readonly datalist: TemplateRef<any> | null = null;\n\n protected readonly autoId = tuiInjectId();\n protected readonly el = tuiInjectElement<HTMLSelectElement>();\n protected readonly host = inject<H>(TUI_TEXTFIELD_HOST);\n protected readonly control = inject(AbstractTuiControl);\n protected readonly itemsHandlers = inject(TUI_ITEMS_HANDLERS);\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<T> | null = null;\n\n @Input()\n public placeholder = '';\n\n protected get id(): string {\n return this.el.id || this.autoId;\n }\n\n protected get emptyOption(): boolean {\n return !!this.placeholder && !this.control.value;\n }\n}\n","import {Directive, inject} from '@angular/core';\nimport {type TuiTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {AbstractTuiControl} from './control';\n\n/**\n * @deprecated: drop in v5.0\n */\n@Directive()\nexport abstract class AbstractTuiTextfieldHost<T extends AbstractTuiControl<any>>\n implements TuiTextfieldHost\n{\n protected readonly host: T = inject<any>(AbstractTuiControl, {optional: true});\n\n public abstract onValueChange(value: string): void;\n\n public get readOnly(): boolean {\n return this.host.readOnly;\n }\n\n public get disabled(): boolean {\n return this.host.computedDisabled;\n }\n\n public get invalid(): boolean {\n return this.host.computedInvalid;\n }\n\n public get focusable(): boolean {\n return this.host.computedFocusable;\n }\n\n public get inputMode(): TuiTextfieldHost['inputMode'] {\n return 'text';\n }\n\n public get value(): string {\n return this.host.value?.toString() || '';\n }\n\n public process(_input: HTMLInputElement): void {}\n}\n","import {Directive, type OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Directive()\nexport abstract class AbstractTuiController implements OnChanges {\n public readonly change$ = new Subject<void>();\n\n public ngOnChanges(): void {\n this.change$.next();\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n/**\n * @deprecated: drop in v5.0\n */\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n readonly T[]\n> {\n protected clear(): void {\n this.value = [];\n }\n\n protected getFallbackValue(): readonly T[] {\n return [];\n }\n}\n","import {type TuiDay} from '@taiga-ui/cdk/date-time';\n\n/**\n * @deprecated: drop in v5.0\n */\nexport class TuiNamedDay {\n constructor(\n public readonly day: TuiDay,\n private readonly name: string,\n public readonly displayDay: TuiDay = day,\n ) {}\n\n protected toString(): string {\n return this.name;\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n/**\n * @deprecated: drop in v5.0\n */\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {type TuiStringHandler} from '@taiga-ui/cdk/types';\n\n/**\n * @deprecated: drop in v5.0\n * Wrapper around an item to add `toString()` method\n */\nexport class TuiStringifiableItem<T> {\n constructor(\n public readonly item: T,\n public readonly stringify: TuiStringHandler<T>,\n ) {}\n\n protected toString(): string {\n return this.stringify(this.item);\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-legacy-classes.mjs","sources":["../../../projects/legacy/classes/interactive.ts","../../../projects/legacy/classes/control.ts","../../../projects/legacy/classes/abstract-native-select.ts","../../../projects/legacy/classes/abstract-textfield-host.ts","../../../projects/legacy/classes/controller.ts","../../../projects/legacy/classes/multiple-control.ts","../../../projects/legacy/classes/named-day.ts","../../../projects/legacy/classes/nullable-control.ts","../../../projects/legacy/classes/stringifiable-item.ts","../../../projects/legacy/classes/taiga-ui-legacy-classes.ts"],"sourcesContent":["import {Directive, EventEmitter, Input, Output} from '@angular/core';\n\nconst TUI = 'tui_interactive_';\n\n/**\n * @deprecated: drop in v5.0\n */\n@Directive({\n standalone: false,\n host: {\n '[attr.data-focused]': 'pseudoFocus',\n '[class._disabled]': 'computedDisabled',\n '[class._focused]': 'computedFocused',\n '[class._focus-visible]': 'computedFocusVisible',\n },\n})\nexport abstract class AbstractTuiInteractive {\n private static autoId = 0;\n\n public abstract disabled: boolean;\n\n public abstract focused: boolean;\n\n private readonly autoIdString: string = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n\n protected focusVisible = false;\n\n @Input()\n public pseudoHover: boolean | null = null;\n\n @Input()\n public pseudoActive: boolean | null = null;\n\n @Input()\n public pseudoFocus: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n public focusable = true;\n\n @Input()\n public nativeId = '';\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n public readonly focusedChange = new EventEmitter<boolean>();\n\n @Output()\n public readonly focusVisibleChange = new EventEmitter<boolean>();\n\n public get computedDisabled(): boolean {\n return this.disabled;\n }\n\n public get computedFocused(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focused);\n }\n\n public get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focusVisible);\n }\n\n public get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n // TODO: 3.0 Consider removing since native input is exposed\n public get id(): string {\n return this.nativeId || this.autoIdString;\n }\n\n protected updateFocused(focused: boolean): void {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean): void {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {\n ChangeDetectorRef,\n DestroyRef,\n Directive,\n inject,\n Input,\n type OnInit,\n type Provider,\n type Type,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n type AbstractControl,\n type ControlValueAccessor,\n NgControl,\n NgModel,\n} from '@angular/forms';\nimport {TuiControl, TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiIsPresent, tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n delay,\n distinctUntilChanged,\n EMPTY,\n filter,\n map,\n merge,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {AbstractTuiInteractive} from './interactive';\n\n/**\n * @deprecated: drop in v5.0\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive({\n standalone: false,\n host: {\n '[class._readonly]': 'readOnly',\n '[class._invalid]': 'computedInvalid',\n },\n})\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnInit, ControlValueAccessor\n{\n private readonly ngControl = inject(NgControl, {optional: true});\n private previousInternalValue?: T | null;\n private readonly refresh$ = new Subject<void>();\n\n protected onTouched = EMPTY_FUNCTION;\n protected onChange = EMPTY_FUNCTION;\n protected readonly fallbackValue = this.getFallbackValue();\n protected destroyRef = inject(DestroyRef);\n protected readonly cdr = inject(ChangeDetectorRef);\n protected readonly valueTransformer = inject<TuiValueTransformer<T>>(\n TuiValueTransformer,\n {optional: true},\n );\n\n @Input()\n public readOnly = false;\n\n @Input()\n public pseudoInvalid: boolean | null = null;\n\n // Workaround for legacy control to notify of internal change in case updateOn: 'blur' is used\n public readonly update$ = new Subject<void>();\n\n constructor() {\n super();\n\n if (ngDevMode && this.ngControl === null) {\n console.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n 'Use [(ngModel)] or [formControl] or formControlName for correct work.',\n );\n }\n\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n protected abstract getFallbackValue(): T;\n\n public get computedInvalid(): boolean {\n return (\n this.interactive &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n public get value(): T {\n return this.previousInternalValue ?? this.fallbackValue;\n }\n\n public set value(value: T) {\n this.updateValue(value);\n this.update$.next();\n }\n\n public get safeCurrentValue(): T {\n return this.rawValue ?? this.fallbackValue;\n }\n\n public get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n public get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n public get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n public get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n public get interactive(): boolean {\n return !this.readOnly && !this.computedDisabled;\n }\n\n public get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n public get computedName(): string | null {\n return this.controlName?.toString() ?? null;\n }\n\n public get controlName(): string | null {\n return this.ngControl?.name?.toString() ?? null;\n }\n\n public ngOnInit(): void {\n this.refresh$\n .pipe(\n delay(0),\n startWith(null),\n map(() => this.ngControl?.control),\n filter(tuiIsPresent),\n distinctUntilChanged(),\n switchMap((control) =>\n merge(\n control.valueChanges,\n control.statusChanges,\n (control as any).events || EMPTY,\n ),\n ),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => {\n this.refreshLocalValue(this.safeCurrentValue);\n });\n }\n\n public checkControlUpdate(): void {\n this.cdr.markForCheck();\n }\n\n public registerOnChange(onChange: (value: unknown) => void): void {\n this.onChange = (componentValue: T) => {\n onChange(this.toControlValue(componentValue));\n };\n\n this.refresh$.next();\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this.onTouched = onTouched;\n }\n\n public setDisabledState(): void {\n this.checkControlUpdate();\n }\n\n public writeValue(value: T | null): void {\n const controlValue =\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value;\n\n this.refreshLocalValue(this.fromControlValue(controlValue));\n }\n\n protected override updateFocused(focused: boolean): void {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n /**\n * @deprecated use `value` setter\n */\n protected updateValue(value: T): void {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n const controlValue =\n ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n\n return this.fromControlValue(controlValue);\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;\n }\n\n private controlMarkAsTouched(): void {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T): void {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null): void {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n\n private fromControlValue(controlValue: unknown): T {\n return this.valueTransformer\n ? this.valueTransformer.fromControlValue(controlValue)\n : (controlValue as T);\n }\n\n private toControlValue(componentValue: T): unknown {\n return this.valueTransformer\n ? this.valueTransformer.toControlValue(componentValue)\n : componentValue;\n }\n}\n\nexport function tuiAsControl<T>(control: Type<AbstractTuiControl<T>>): Provider[] {\n return [tuiProvide(AbstractTuiControl, control), tuiProvide(TuiControl, control)];\n}\n","import {Directive, inject, Input, TemplateRef, ViewChild} from '@angular/core';\nimport {tuiInjectId} from '@taiga-ui/cdk/services';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiDataListDirective} from '@taiga-ui/core/components/data-list';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/kit/tokens';\nimport {TUI_TEXTFIELD_HOST, type TuiTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {AbstractTuiControl} from './control';\n\n/**\n * @deprecated: drop in v5.0\n */\n@Directive({\n standalone: false,\n host: {\n '[id]': 'id',\n },\n})\nexport abstract class AbstractTuiNativeSelect<H = TuiTextfieldHost, T = string> {\n @ViewChild(TuiDataListDirective, {read: TemplateRef, static: true})\n protected readonly datalist: TemplateRef<any> | null = null;\n\n protected readonly autoId = tuiInjectId();\n protected readonly el = tuiInjectElement<HTMLSelectElement>();\n protected readonly host = inject<H>(TUI_TEXTFIELD_HOST);\n protected readonly control = inject(AbstractTuiControl);\n protected readonly itemsHandlers = inject(TUI_ITEMS_HANDLERS);\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<T> | null = null;\n\n @Input()\n public placeholder = '';\n\n protected get id(): string {\n return this.el.id || this.autoId;\n }\n\n protected get emptyOption(): boolean {\n return !!this.placeholder && !this.control.value;\n }\n}\n","import {Directive, inject} from '@angular/core';\nimport {type TuiTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {AbstractTuiControl} from './control';\n\n/**\n * @deprecated: drop in v5.0\n */\n@Directive()\nexport abstract class AbstractTuiTextfieldHost<T extends AbstractTuiControl<any>>\n implements TuiTextfieldHost\n{\n protected readonly host: T = inject<any>(AbstractTuiControl, {optional: true});\n\n public abstract onValueChange(value: string): void;\n\n public get readOnly(): boolean {\n return this.host.readOnly;\n }\n\n public get disabled(): boolean {\n return this.host.computedDisabled;\n }\n\n public get invalid(): boolean {\n return this.host.computedInvalid;\n }\n\n public get focusable(): boolean {\n return this.host.computedFocusable;\n }\n\n public get inputMode(): TuiTextfieldHost['inputMode'] {\n return 'text';\n }\n\n public get value(): string {\n return this.host.value?.toString() || '';\n }\n\n public process(_input: HTMLInputElement): void {}\n}\n","import {Directive, type OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Directive()\nexport abstract class AbstractTuiController implements OnChanges {\n public readonly change$ = new Subject<void>();\n\n public ngOnChanges(): void {\n this.change$.next();\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n/**\n * @deprecated: drop in v5.0\n */\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n readonly T[]\n> {\n protected clear(): void {\n this.value = [];\n }\n\n protected getFallbackValue(): readonly T[] {\n return [];\n }\n}\n","import {type TuiDay} from '@taiga-ui/cdk/date-time';\n\n/**\n * @deprecated: drop in v5.0\n */\nexport class TuiNamedDay {\n constructor(\n public readonly day: TuiDay,\n private readonly name: string,\n public readonly displayDay: TuiDay = day,\n ) {}\n\n protected toString(): string {\n return this.name;\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n/**\n * @deprecated: drop in v5.0\n */\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {type TuiStringHandler} from '@taiga-ui/cdk/types';\n\n/**\n * @deprecated: drop in v5.0\n * Wrapper around an item to add `toString()` method\n */\nexport class TuiStringifiableItem<T> {\n constructor(\n public readonly item: T,\n public readonly stringify: TuiStringHandler<T>,\n ) {}\n\n protected toString(): string {\n return this.stringify(this.item);\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 { InjectionToken, inject, computed, Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { InjectionToken, inject, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { toSignal } from '@angular/core/rxjs-interop';
4
4
  import { TuiIcon } from '@taiga-ui/core/components/icon';
5
5
  import { TuiDropdownOpen } from '@taiga-ui/core/directives/dropdown';
@@ -45,15 +45,15 @@ class TuiArrowComponent {
45
45
  get arrowIcon() {
46
46
  return !this.small ? this.options.iconLarge : this.options.iconSmall;
47
47
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiArrowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiArrowComponent, isStandalone: true, selector: "tui-arrow", host: { properties: { "class._rotated": "rotated()", "class._small": "small" } }, ngImport: i0, template: "<tui-icon\n *polymorpheusOutlet=\"arrowIcon as src\"\n [icon]=\"src\"\n/>\n", styles: [":host{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;cursor:pointer;pointer-events:none}:host._rotated{transform:rotate(180deg)}tui-icon{border-width:.25rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiArrowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiArrowComponent, isStandalone: true, selector: "tui-arrow", host: { properties: { "class._rotated": "rotated()", "class._small": "small" } }, ngImport: i0, template: "<tui-icon\n *polymorpheusOutlet=\"arrowIcon as src\"\n [icon]=\"src\"\n/>\n", styles: [":host{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;cursor:pointer;pointer-events:none}:host._rotated{transform:rotate(180deg)}tui-icon:before{font-size:1rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiArrowComponent, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiArrowComponent, decorators: [{
52
52
  type: Component,
53
- args: [{ standalone: true, selector: 'tui-arrow', imports: [PolymorpheusOutlet, TuiIcon], changeDetection: ChangeDetectionStrategy.OnPush, host: {
53
+ args: [{ selector: 'tui-arrow', imports: [PolymorpheusOutlet, TuiIcon], changeDetection: ChangeDetectionStrategy.OnPush, host: {
54
54
  '[class._rotated]': 'rotated()',
55
55
  '[class._small]': 'small',
56
- }, template: "<tui-icon\n *polymorpheusOutlet=\"arrowIcon as src\"\n [icon]=\"src\"\n/>\n", styles: [":host{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;cursor:pointer;pointer-events:none}:host._rotated{transform:rotate(180deg)}tui-icon{border-width:.25rem}\n"] }]
56
+ }, template: "<tui-icon\n *polymorpheusOutlet=\"arrowIcon as src\"\n [icon]=\"src\"\n/>\n", styles: [":host{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;cursor:pointer;pointer-events:none}:host._rotated{transform:rotate(180deg)}tui-icon:before{font-size:1rem}\n"] }]
57
57
  }] });
58
58
  const TUI_ARROW = new PolymorpheusComponent(TuiArrowComponent);
59
59
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-arrow.mjs","sources":["../../../projects/legacy/components/arrow/arrow.options.ts","../../../projects/legacy/components/arrow/arrow.component.ts","../../../projects/legacy/components/arrow/arrow.template.html","../../../projects/legacy/components/arrow/arrow.providers.ts","../../../projects/legacy/components/arrow/taiga-ui-legacy-components-arrow.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport interface TuiArrowOptions {\n readonly iconLarge: PolymorpheusContent;\n readonly iconSmall: PolymorpheusContent;\n}\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport const TUI_ARROW_DEFAULT_OPTIONS: TuiArrowOptions = {\n iconSmall: '@tui.chevron-down',\n iconLarge: '@tui.chevron-down',\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for arrow component\n */\nexport const TUI_ARROW_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_ARROW_OPTIONS' : '',\n {\n factory: () => TUI_ARROW_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiArrowOptionsProvider(options: Partial<TuiArrowOptions>): Provider {\n return tuiProvideOptions(TUI_ARROW_OPTIONS, options, TUI_ARROW_DEFAULT_OPTIONS);\n}\n","import {ChangeDetectionStrategy, Component, computed, inject} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {tuiSizeBigger} from '@taiga-ui/core/utils/miscellaneous';\nimport {AbstractTuiControl} from '@taiga-ui/legacy/classes';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n PolymorpheusComponent,\n type PolymorpheusContent,\n PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\nimport {of} from 'rxjs';\n\nimport {TUI_ARROW_OPTIONS} from './arrow.options';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\n@Component({\n standalone: true,\n selector: 'tui-arrow',\n imports: [PolymorpheusOutlet, TuiIcon],\n templateUrl: './arrow.template.html',\n styleUrls: ['./arrow.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._rotated]': 'rotated()',\n '[class._small]': 'small',\n },\n})\nexport class TuiArrowComponent {\n private readonly control: any = inject(AbstractTuiControl, {optional: true});\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly options = inject(TUI_ARROW_OPTIONS);\n protected readonly dropdownOpen = toSignal(\n inject(TuiDropdownOpen, {optional: true})?.tuiDropdownOpenChange || of(false),\n );\n\n protected readonly rotated = computed(\n () => this.dropdownOpen() || this.control.pseudoOpen?.(),\n );\n\n protected get small(): boolean {\n return !tuiSizeBigger(this.textfieldSize.size);\n }\n\n protected get arrowIcon(): PolymorpheusContent {\n return !this.small ? this.options.iconLarge : this.options.iconSmall;\n }\n}\n\nexport const TUI_ARROW = new PolymorpheusComponent(TuiArrowComponent);\n","<tui-icon\n *polymorpheusOutlet=\"arrowIcon as src\"\n [icon]=\"src\"\n/>\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiSizeL, type TuiSizeM, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TUI_ARROW} from './arrow.component';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport interface TuiArrowMode {\n readonly disabled: PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>>;\n readonly interactive: PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>>;\n}\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport const TUI_ARROW_DEFAULT_MODE: TuiArrowMode = {\n interactive: TUI_ARROW,\n disabled: TUI_ARROW,\n};\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport const TUI_ARROW_MODE = new InjectionToken(ngDevMode ? 'TUI_ARROW_MODE' : '', {\n factory: () => TUI_ARROW_DEFAULT_MODE,\n});\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport function tuiArrowModeProvider(options: Partial<TuiArrowMode>): Provider {\n return tuiProvideOptions(TUI_ARROW_MODE, options, TUI_ARROW_DEFAULT_MODE);\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-legacy-components-arrow.mjs","sources":["../../../projects/legacy/components/arrow/arrow.options.ts","../../../projects/legacy/components/arrow/arrow.component.ts","../../../projects/legacy/components/arrow/arrow.template.html","../../../projects/legacy/components/arrow/arrow.providers.ts","../../../projects/legacy/components/arrow/taiga-ui-legacy-components-arrow.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport interface TuiArrowOptions {\n readonly iconLarge: PolymorpheusContent;\n readonly iconSmall: PolymorpheusContent;\n}\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport const TUI_ARROW_DEFAULT_OPTIONS: TuiArrowOptions = {\n iconSmall: '@tui.chevron-down',\n iconLarge: '@tui.chevron-down',\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for arrow component\n */\nexport const TUI_ARROW_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_ARROW_OPTIONS' : '',\n {\n factory: () => TUI_ARROW_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiArrowOptionsProvider(options: Partial<TuiArrowOptions>): Provider {\n return tuiProvideOptions(TUI_ARROW_OPTIONS, options, TUI_ARROW_DEFAULT_OPTIONS);\n}\n","import {ChangeDetectionStrategy, Component, computed, inject} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {tuiSizeBigger} from '@taiga-ui/core/utils/miscellaneous';\nimport {AbstractTuiControl} from '@taiga-ui/legacy/classes';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n PolymorpheusComponent,\n type PolymorpheusContent,\n PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\nimport {of} from 'rxjs';\n\nimport {TUI_ARROW_OPTIONS} from './arrow.options';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\n@Component({\n selector: 'tui-arrow',\n imports: [PolymorpheusOutlet, TuiIcon],\n templateUrl: './arrow.template.html',\n styleUrl: './arrow.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._rotated]': 'rotated()',\n '[class._small]': 'small',\n },\n})\nexport class TuiArrowComponent {\n private readonly control: any = inject(AbstractTuiControl, {optional: true});\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly options = inject(TUI_ARROW_OPTIONS);\n protected readonly dropdownOpen = toSignal(\n inject(TuiDropdownOpen, {optional: true})?.tuiDropdownOpenChange || of(false),\n );\n\n protected readonly rotated = computed(\n () => this.dropdownOpen() || this.control.pseudoOpen?.(),\n );\n\n protected get small(): boolean {\n return !tuiSizeBigger(this.textfieldSize.size);\n }\n\n protected get arrowIcon(): PolymorpheusContent {\n return !this.small ? this.options.iconLarge : this.options.iconSmall;\n }\n}\n\nexport const TUI_ARROW = new PolymorpheusComponent(TuiArrowComponent);\n","<tui-icon\n *polymorpheusOutlet=\"arrowIcon as src\"\n [icon]=\"src\"\n/>\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiSizeL, type TuiSizeM, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TUI_ARROW} from './arrow.component';\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport interface TuiArrowMode {\n readonly disabled: PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>>;\n readonly interactive: PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>>;\n}\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport const TUI_ARROW_DEFAULT_MODE: TuiArrowMode = {\n interactive: TUI_ARROW,\n disabled: TUI_ARROW,\n};\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport const TUI_ARROW_MODE = new InjectionToken(ngDevMode ? 'TUI_ARROW_MODE' : '', {\n factory: () => TUI_ARROW_DEFAULT_MODE,\n});\n\n/**\n * @deprecated: drop in v5.0 use {@link TuiChevron}\n */\nexport function tuiArrowModeProvider(options: Partial<TuiArrowMode>): Provider {\n return tuiProvideOptions(TUI_ARROW_MODE, options, TUI_ARROW_DEFAULT_MODE);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, computed, ChangeDetectionStrategy, Component, InjectionToken, Injectable, Directive, assertInInjectionContext, INJECTOR } from '@angular/core';
3
+ import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { TUI_TRUE_HANDLER } from '@taiga-ui/cdk/constants';
5
+ import * as i1 from '@taiga-ui/cdk/directives/animated';
6
+ import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
7
+ import { TuiAutoFocus } from '@taiga-ui/cdk/directives/auto-focus';
8
+ import { TuiButton } from '@taiga-ui/core/components/button';
9
+ import { TuiDialogCloseService, TUI_DIALOGS_CLOSE, TUI_DIALOGS } from '@taiga-ui/core/components/dialog';
10
+ import { TuiBreakpointService } from '@taiga-ui/core/services';
11
+ import { TUI_CLOSE_WORD, TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
12
+ import { injectContext, PolymorpheusOutlet, PolymorpheusComponent } from '@taiga-ui/polymorpheus';
13
+ import { of, isObservable, Subject, map, merge, switchMap, exhaustMap, take, filter } from 'rxjs';
14
+ import { TuiPopoverDirective } from '@taiga-ui/cdk/directives/popover';
15
+ import { TuiPopoverService, tuiAsPopover } from '@taiga-ui/cdk/services';
16
+ import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
17
+
18
+ const REQUIRED_ERROR = new Error('Required dialog was dismissed');
19
+ function toObservable(valueOrStream) {
20
+ return isObservable(valueOrStream) ? valueOrStream : of(valueOrStream);
21
+ }
22
+ class TuiDialogComponent {
23
+ constructor() {
24
+ this.close$ = new Subject();
25
+ this.context = injectContext();
26
+ this.closeWord = inject(TUI_CLOSE_WORD);
27
+ this.icons = inject(TUI_COMMON_ICONS);
28
+ this.from = computed(() => this.size === 'fullscreen' || this.size === 'page' || this.isMobile()
29
+ ? 'translateY(100vh)'
30
+ : 'translateY(2.5rem)');
31
+ this.isMobile = toSignal(inject(TuiBreakpointService).pipe(map((breakpoint) => breakpoint === 'mobile')));
32
+ merge(this.close$.pipe(switchMap(() => toObservable(this.context.closable))), inject(TuiDialogCloseService).pipe(exhaustMap(() => toObservable(this.context.dismissible).pipe(take(1)))), inject(TUI_DIALOGS_CLOSE).pipe(map(TUI_TRUE_HANDLER)))
33
+ .pipe(filter(Boolean), takeUntilDestroyed())
34
+ .subscribe(() => {
35
+ this.close();
36
+ });
37
+ }
38
+ get size() {
39
+ return this.context.size;
40
+ }
41
+ get header() {
42
+ return this.context.header;
43
+ }
44
+ close() {
45
+ if (this.context.required) {
46
+ this.context.$implicit.error(REQUIRED_ERROR);
47
+ }
48
+ else {
49
+ this.context.$implicit.complete();
50
+ }
51
+ }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiDialogComponent, isStandalone: true, selector: "tui-dialog-legacy", host: { properties: { "attr.data-appearance": "context.appearance", "attr.data-size": "size", "class._centered": "header", "style.--tui-from": "from()" } }, providers: [TuiDialogCloseService], hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "@if (header) {\n <header class=\"t-header\">\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n </header>\n}\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [class.t-heading_closable]=\"context.closable && !header\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n @if (context.closable || context.dismissible) {\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data?.button || 'OK' }}\n </button>\n </div>\n }\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n\n<!-- Close button is insensitive to `context.closable === Observable<false>` by design -->\n@if (context.closable) {\n <button\n automation-id=\"tui-dialog__close\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"isMobile() ? 'icon' : 'neutral'\"\n [iconStart]=\"icons.close\"\n [size]=\"isMobile() ? 'xs' : 's'\"\n [style.border-radius.%]=\"100\"\n (click)=\"close$.next()\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n {{ closeWord() }}\n </button>\n}\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:2.5rem;border-radius:1.5rem}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";border-radius:inherit;pointer-events:none;box-shadow:var(--tui-shadow-popup)}:host[data-size=auto]{inline-size:auto}:host[data-size=s]{inline-size:25rem}:host[data-size=s] .t-content{padding:1.5rem}:host[data-size=s] .t-heading{font:var(--tui-font-heading-5)}:host[data-size=m]{inline-size:37.5rem}:host[data-size=l]{inline-size:50rem}:host[data-size=fullscreen],:host[data-size=page]{min-inline-size:100vw;min-block-size:100%;border-radius:0;border:none;background:var(--tui-background-elevation-1);box-shadow:0 4rem var(--tui-background-elevation-1)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - 22.5rem)}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{font:var(--tui-font-heading-3)}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-inline-size:100%;inline-size:100%;max-inline-size:100%;border-radius:0;border:none;margin:auto 0 0;background:var(--tui-background-elevation-1);padding-block-end:env(safe-area-inset-bottom)}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:1rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{font:var(--tui-font-heading-5)}:host :host-context(tui-root._mobile)[data-size=fullscreen],:host :host-context(tui-root._mobile)[data-size=page]{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}:host :host-context(tui-root._mobile)[data-size=fullscreen] .t-close,:host :host-context(tui-root._mobile)[data-size=page] .t-close{top:max(1rem,env(safe-area-inset-top))}:host[data-size=page] .t-content,:host-context(tui-root._mobile) :host[data-size=page] .t-content{padding:0}.t-heading{margin:0 0 .5rem;overflow-wrap:break-word;font:var(--tui-font-heading-4)}.t-heading_closable{padding-inline-end:2rem}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:1.75rem;background:var(--tui-background-elevation-1)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-content>section{border-radius:inherit}.t-filler{flex-grow:1}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:1rem;right:1rem}@supports (inset-inline-end: 0){.t-close{right:unset;inset-inline-end:1rem}}.t-buttons{margin-block-start:1.25rem;text-align:end}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogComponent, decorators: [{
56
+ type: Component,
57
+ args: [{ selector: 'tui-dialog-legacy', imports: [PolymorpheusOutlet, TuiAutoFocus, TuiButton], changeDetection: ChangeDetectionStrategy.Default, providers: [TuiDialogCloseService], hostDirectives: [TuiAnimated], host: {
58
+ '[attr.data-appearance]': 'context.appearance',
59
+ '[attr.data-size]': 'size',
60
+ '[class._centered]': 'header',
61
+ '[style.--tui-from]': 'from()',
62
+ }, template: "@if (header) {\n <header class=\"t-header\">\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n </header>\n}\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [class.t-heading_closable]=\"context.closable && !header\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n @if (context.closable || context.dismissible) {\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data?.button || 'OK' }}\n </button>\n </div>\n }\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n\n<!-- Close button is insensitive to `context.closable === Observable<false>` by design -->\n@if (context.closable) {\n <button\n automation-id=\"tui-dialog__close\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"isMobile() ? 'icon' : 'neutral'\"\n [iconStart]=\"icons.close\"\n [size]=\"isMobile() ? 'xs' : 's'\"\n [style.border-radius.%]=\"100\"\n (click)=\"close$.next()\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n {{ closeWord() }}\n </button>\n}\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:2.5rem;border-radius:1.5rem}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";border-radius:inherit;pointer-events:none;box-shadow:var(--tui-shadow-popup)}:host[data-size=auto]{inline-size:auto}:host[data-size=s]{inline-size:25rem}:host[data-size=s] .t-content{padding:1.5rem}:host[data-size=s] .t-heading{font:var(--tui-font-heading-5)}:host[data-size=m]{inline-size:37.5rem}:host[data-size=l]{inline-size:50rem}:host[data-size=fullscreen],:host[data-size=page]{min-inline-size:100vw;min-block-size:100%;border-radius:0;border:none;background:var(--tui-background-elevation-1);box-shadow:0 4rem var(--tui-background-elevation-1)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - 22.5rem)}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{font:var(--tui-font-heading-3)}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-inline-size:100%;inline-size:100%;max-inline-size:100%;border-radius:0;border:none;margin:auto 0 0;background:var(--tui-background-elevation-1);padding-block-end:env(safe-area-inset-bottom)}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:1rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{font:var(--tui-font-heading-5)}:host :host-context(tui-root._mobile)[data-size=fullscreen],:host :host-context(tui-root._mobile)[data-size=page]{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}:host :host-context(tui-root._mobile)[data-size=fullscreen] .t-close,:host :host-context(tui-root._mobile)[data-size=page] .t-close{top:max(1rem,env(safe-area-inset-top))}:host[data-size=page] .t-content,:host-context(tui-root._mobile) :host[data-size=page] .t-content{padding:0}.t-heading{margin:0 0 .5rem;overflow-wrap:break-word;font:var(--tui-font-heading-4)}.t-heading_closable{padding-inline-end:2rem}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:1.75rem;background:var(--tui-background-elevation-1)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-content>section{border-radius:inherit}.t-filler{flex-grow:1}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:1rem;right:1rem}@supports (inset-inline-end: 0){.t-close{right:unset;inset-inline-end:1rem}}.t-buttons{margin-block-start:1.25rem;text-align:end}\n"] }]
63
+ }], ctorParameters: () => [] });
64
+
65
+ const TUI_DIALOG_DEFAULT_OPTIONS = {
66
+ appearance: '',
67
+ size: 'm',
68
+ required: false,
69
+ closable: true,
70
+ dismissible: true,
71
+ label: '',
72
+ header: '',
73
+ data: undefined,
74
+ };
75
+ /**
76
+ * Default parameters for dialog component
77
+ */
78
+ const TUI_DIALOG_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_DIALOG_OPTIONS' : '', {
79
+ factory: () => TUI_DIALOG_DEFAULT_OPTIONS,
80
+ });
81
+ function tuiDialogOptionsProvider(options) {
82
+ return tuiProvideOptions(TUI_DIALOG_OPTIONS, options, TUI_DIALOG_DEFAULT_OPTIONS);
83
+ }
84
+
85
+ class TuiDialogService extends TuiPopoverService {
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
87
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogService, providedIn: 'root', useFactory: () => new TuiDialogService(TUI_DIALOGS, TuiDialogComponent, inject(TUI_DIALOG_OPTIONS)) }); }
88
+ }
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogService, decorators: [{
90
+ type: Injectable,
91
+ args: [{
92
+ providedIn: 'root',
93
+ useFactory: () => new TuiDialogService(TUI_DIALOGS, TuiDialogComponent, inject(TUI_DIALOG_OPTIONS)),
94
+ }]
95
+ }] });
96
+
97
+ class TuiDialog extends TuiPopoverDirective {
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialog, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
99
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDialog, isStandalone: true, selector: "ng-template[tuiDialog]", inputs: { options: ["tuiDialogOptions", "options"], open: ["tuiDialog", "open"] }, outputs: { openChange: "tuiDialogChange" }, providers: [tuiAsPopover(TuiDialogService)], usesInheritance: true, ngImport: i0 }); }
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialog, decorators: [{
102
+ type: Directive,
103
+ args: [{
104
+ standalone: true,
105
+ selector: 'ng-template[tuiDialog]',
106
+ inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],
107
+ outputs: ['openChange: tuiDialogChange'],
108
+ providers: [tuiAsPopover(TuiDialogService)],
109
+ }]
110
+ }] });
111
+
112
+ function tuiDialog(component, { injector, ...options } = {}) {
113
+ if (!injector) {
114
+ assertInInjectionContext(tuiDialog);
115
+ injector = inject(INJECTOR);
116
+ }
117
+ const dialogService = injector.get(TuiDialogService);
118
+ return (data) => dialogService.open(new PolymorpheusComponent(component, injector), {
119
+ ...options,
120
+ data,
121
+ });
122
+ }
123
+
124
+ /**
125
+ * Generated bundle index. Do not edit.
126
+ */
127
+
128
+ export { TUI_DIALOG_DEFAULT_OPTIONS, TUI_DIALOG_OPTIONS, TuiDialog, TuiDialogComponent, TuiDialogService, tuiDialog, tuiDialogOptionsProvider };
129
+ //# sourceMappingURL=taiga-ui-legacy-components-dialog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-legacy-components-dialog.mjs","sources":["../../../projects/legacy/components/dialog/dialog.component.ts","../../../projects/legacy/components/dialog/dialog.template.html","../../../projects/legacy/components/dialog/dialog.tokens.ts","../../../projects/legacy/components/dialog/dialog.service.ts","../../../projects/legacy/components/dialog/dialog.directive.ts","../../../projects/legacy/components/dialog/dialog.factory.ts","../../../projects/legacy/components/dialog/taiga-ui-legacy-components-dialog.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, computed, inject} from '@angular/core';\nimport {takeUntilDestroyed, toSignal} from '@angular/core/rxjs-interop';\nimport {TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {TuiAutoFocus} from '@taiga-ui/cdk/directives/auto-focus';\nimport {type TuiPopover} from '@taiga-ui/cdk/services';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TUI_DIALOGS_CLOSE, TuiDialogCloseService} from '@taiga-ui/core/components/dialog';\nimport {TuiBreakpointService} from '@taiga-ui/core/services';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {\n injectContext,\n type PolymorpheusContent,\n PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\nimport {\n exhaustMap,\n filter,\n isObservable,\n map,\n merge,\n type Observable,\n of,\n Subject,\n switchMap,\n take,\n} from 'rxjs';\n\nimport {type TuiDialogOptions, type TuiDialogSize} from './dialog.interfaces';\n\nconst REQUIRED_ERROR = new Error('Required dialog was dismissed');\n\nfunction toObservable<T>(valueOrStream: Observable<T> | T): Observable<T> {\n return isObservable(valueOrStream) ? valueOrStream : of(valueOrStream);\n}\n\n@Component({\n selector: 'tui-dialog-legacy',\n imports: [PolymorpheusOutlet, TuiAutoFocus, TuiButton],\n templateUrl: './dialog.template.html',\n styleUrl: './dialog.style.less',\n // So we don't force OnPush on dialog content\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDialogCloseService],\n hostDirectives: [TuiAnimated],\n host: {\n '[attr.data-appearance]': 'context.appearance',\n '[attr.data-size]': 'size',\n '[class._centered]': 'header',\n '[style.--tui-from]': 'from()',\n },\n})\nexport class TuiDialogComponent<O, I> {\n protected readonly close$ = new Subject<void>();\n protected readonly context = injectContext<TuiPopover<TuiDialogOptions<I>, O>>();\n protected readonly closeWord = inject(TUI_CLOSE_WORD);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly from = computed(() =>\n this.size === 'fullscreen' || this.size === 'page' || this.isMobile()\n ? 'translateY(100vh)'\n : 'translateY(2.5rem)',\n );\n\n protected readonly isMobile = toSignal(\n inject(TuiBreakpointService).pipe(map((breakpoint) => breakpoint === 'mobile')),\n );\n\n constructor() {\n merge(\n this.close$.pipe(switchMap(() => toObservable(this.context.closable))),\n inject(TuiDialogCloseService).pipe(\n exhaustMap(() => toObservable(this.context.dismissible).pipe(take(1))),\n ),\n inject(TUI_DIALOGS_CLOSE).pipe(map(TUI_TRUE_HANDLER)),\n )\n .pipe(filter(Boolean), takeUntilDestroyed())\n .subscribe(() => {\n this.close();\n });\n }\n\n protected get size(): TuiDialogSize {\n return this.context.size;\n }\n\n protected get header(): PolymorpheusContent<TuiPopover<TuiDialogOptions<I>, O>> {\n return this.context.header;\n }\n\n private close(): void {\n if (this.context.required) {\n this.context.$implicit.error(REQUIRED_ERROR);\n } else {\n this.context.$implicit.complete();\n }\n }\n}\n","@if (header) {\n <header class=\"t-header\">\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n </header>\n}\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [class.t-heading_closable]=\"context.closable && !header\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n @if (context.closable || context.dismissible) {\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data?.button || 'OK' }}\n </button>\n </div>\n }\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n\n<!-- Close button is insensitive to `context.closable === Observable<false>` by design -->\n@if (context.closable) {\n <button\n automation-id=\"tui-dialog__close\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"isMobile() ? 'icon' : 'neutral'\"\n [iconStart]=\"icons.close\"\n [size]=\"isMobile() ? 'xs' : 's'\"\n [style.border-radius.%]=\"100\"\n (click)=\"close$.next()\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n {{ closeWord() }}\n </button>\n}\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {type TuiDialogOptions} from './dialog.interfaces';\n\nexport const TUI_DIALOG_DEFAULT_OPTIONS: TuiDialogOptions<void> = {\n appearance: '',\n size: 'm',\n required: false,\n closable: true,\n dismissible: true,\n label: '',\n header: '',\n data: undefined,\n};\n\n/**\n * Default parameters for dialog component\n */\nexport const TUI_DIALOG_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_DIALOG_OPTIONS' : '',\n {\n factory: () => TUI_DIALOG_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiDialogOptionsProvider(\n options: Partial<TuiDialogOptions<unknown>>,\n): Provider {\n return tuiProvideOptions(TUI_DIALOG_OPTIONS, options, TUI_DIALOG_DEFAULT_OPTIONS);\n}\n","import {inject, Injectable} from '@angular/core';\nimport {TuiPopoverService} from '@taiga-ui/cdk/services';\nimport {TUI_DIALOGS} from '@taiga-ui/core/components/dialog';\n\nimport {TuiDialogComponent} from './dialog.component';\nimport {type TuiDialogOptions} from './dialog.interfaces';\nimport {TUI_DIALOG_OPTIONS} from './dialog.tokens';\n\n@Injectable({\n providedIn: 'root',\n useFactory: () =>\n new TuiDialogService(TUI_DIALOGS, TuiDialogComponent, inject(TUI_DIALOG_OPTIONS)),\n})\nexport class TuiDialogService extends TuiPopoverService<TuiDialogOptions<any>> {}\n","import {Directive} from '@angular/core';\nimport {TuiPopoverDirective} from '@taiga-ui/cdk/directives/popover';\nimport {tuiAsPopover} from '@taiga-ui/cdk/services';\n\nimport {type TuiDialogOptions} from './dialog.interfaces';\nimport {TuiDialogService} from './dialog.service';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiDialog]',\n inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],\n outputs: ['openChange: tuiDialogChange'],\n providers: [tuiAsPopover(TuiDialogService)],\n})\nexport class TuiDialog<T> extends TuiPopoverDirective<TuiDialogOptions<T>> {}\n","import {assertInInjectionContext, inject, INJECTOR, type Injector} from '@angular/core';\nimport {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\nimport {type Observable} from 'rxjs';\n\nimport {type TuiDialogContext, type TuiDialogOptions} from './dialog.interfaces';\nimport {TuiDialogService} from './dialog.service';\n\ntype SingleUnionOrNever<T, U = T> = [T] extends [never]\n ? never\n : T extends U\n ? [U] extends [T]\n ? T\n : never\n : never;\n\ntype ReplaceAny<T> = 0 extends T & 1 ? void : T;\n\ntype ContextKeys<T> = {\n [K in keyof T]: ReplaceAny<T[K]> extends TuiDialogContext<any, any> | null\n ? K\n : never;\n}[keyof T];\n\ntype AssertNotMultipleContexts<T, K extends keyof T> = [K] extends [never]\n ? new (...args: any[]) => T\n : [SingleUnionOrNever<K>] extends [never]\n ? 'Component has multiple context. Cannot determine the type...'\n : new (...args: any[]) => T;\n\ntype ExtractDialogData<T, K extends keyof T = ContextKeys<T>> = [K] extends [never]\n ? void\n : [SingleUnionOrNever<K>] extends [never]\n ? never\n : T[K] extends TuiDialogContext<any, infer D> | null\n ? D\n : void;\n\ntype ExtractDialogResult<T, K extends keyof T = ContextKeys<T>> = [K] extends [never]\n ? void\n : [SingleUnionOrNever<K>] extends [never]\n ? never\n : T[K] extends TuiDialogContext<infer R, any> | null\n ? R\n : void;\n\ntype Options<T> = Omit<TuiDialogOptions<T>, 'data'> & {injector: Injector};\n\nexport function tuiDialog<\n T,\n K extends ContextKeys<T>,\n D extends ExtractDialogData<T, K>,\n R extends ExtractDialogResult<T, K>,\n>(\n component: AssertNotMultipleContexts<T, K>,\n {injector, ...options}: Partial<Options<D>> = {},\n): (data: D) => Observable<R> {\n if (!injector) {\n assertInInjectionContext(tuiDialog);\n injector = inject(INJECTOR);\n }\n\n const dialogService = injector.get(TuiDialogService);\n\n return (data) =>\n dialogService.open(\n new PolymorpheusComponent(component as new () => T, injector),\n {\n ...options,\n data,\n },\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}