@taiga-ui/legacy 4.52.0-canary.e10b718 → 4.52.0-canary.e53e79e

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 (331) hide show
  1. package/README.md +1 -1
  2. package/components/dialog/dialog.component.d.ts +19 -0
  3. package/components/dialog/dialog.directive.d.ts +8 -0
  4. package/components/dialog/dialog.factory.d.ts +16 -0
  5. package/components/dialog/dialog.interfaces.d.ts +30 -0
  6. package/components/dialog/dialog.service.d.ts +10 -0
  7. package/components/dialog/dialog.tokens.d.ts +6 -0
  8. package/components/dialog/index.d.ts +6 -0
  9. package/components/index.d.ts +3 -26
  10. package/components/mobile-dialog/index.d.ts +3 -0
  11. package/components/mobile-dialog/mobile-dialog.component.d.ts +10 -0
  12. package/components/mobile-dialog/mobile-dialog.options.d.ts +10 -0
  13. package/components/mobile-dialog/mobile-dialog.service.d.ts +14 -0
  14. package/components/pdf-viewer/index.d.ts +4 -0
  15. package/components/pdf-viewer/pdf-viewer.component.d.ts +12 -0
  16. package/components/pdf-viewer/pdf-viewer.directive.d.ts +8 -0
  17. package/components/pdf-viewer/pdf-viewer.options.d.ts +11 -0
  18. package/components/pdf-viewer/pdf-viewer.service.d.ts +17 -0
  19. package/fesm2022/taiga-ui-legacy-components-dialog.mjs +136 -0
  20. package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -0
  21. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs +62 -0
  22. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs.map +1 -0
  23. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +88 -0
  24. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -0
  25. package/fesm2022/taiga-ui-legacy-components.mjs +3 -26
  26. package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-legacy.mjs +0 -6
  28. package/fesm2022/taiga-ui-legacy.mjs.map +1 -1
  29. package/index.d.ts +0 -6
  30. package/package.json +22 -165
  31. package/classes/abstract-native-select.d.ts +0 -22
  32. package/classes/abstract-textfield-host.d.ts +0 -19
  33. package/classes/control.d.ts +0 -60
  34. package/classes/controller.d.ts +0 -9
  35. package/classes/index.d.ts +0 -9
  36. package/classes/interactive.d.ts +0 -34
  37. package/classes/multiple-control.d.ts +0 -11
  38. package/classes/named-day.d.ts +0 -11
  39. package/classes/nullable-control.d.ts +0 -10
  40. package/classes/stringifiable-item.d.ts +0 -11
  41. package/components/arrow/arrow.component.d.ts +0 -17
  42. package/components/arrow/arrow.options.d.ts +0 -19
  43. package/components/arrow/arrow.providers.d.ts +0 -23
  44. package/components/arrow/index.d.ts +0 -3
  45. package/components/color-selector/color-edit/color-edit.component.d.ts +0 -18
  46. package/components/color-selector/color-edit/color-edit.module.d.ts +0 -21
  47. package/components/color-selector/color-picker/color-picker.component.d.ts +0 -22
  48. package/components/color-selector/color-picker/color-picker.module.d.ts +0 -14
  49. package/components/color-selector/color-selector.component.d.ts +0 -47
  50. package/components/color-selector/color-selector.module.d.ts +0 -23
  51. package/components/color-selector/color-selector.options.d.ts +0 -25
  52. package/components/color-selector/flat-picker/flat-picker.component.d.ts +0 -12
  53. package/components/color-selector/flat-picker/flat-picker.module.d.ts +0 -12
  54. package/components/color-selector/index.d.ts +0 -16
  55. package/components/color-selector/linear-multi-picker/linear-multi-picker.component.d.ts +0 -17
  56. package/components/color-selector/linear-multi-picker/linear-multi-picker.module.d.ts +0 -12
  57. package/components/color-selector/linear-picker/linear-picker.component.d.ts +0 -10
  58. package/components/color-selector/linear-picker/linear-picker.module.d.ts +0 -12
  59. package/components/color-selector/palette/palette.component.d.ts +0 -10
  60. package/components/color-selector/palette/palette.module.d.ts +0 -13
  61. package/components/color-selector/services/picker.service.d.ts +0 -15
  62. package/components/combo-box/combo-box-strict.directive.d.ts +0 -12
  63. package/components/combo-box/combo-box.component.d.ts +0 -52
  64. package/components/combo-box/combo-box.directive.d.ts +0 -13
  65. package/components/combo-box/combo-box.module.d.ts +0 -20
  66. package/components/combo-box/index.d.ts +0 -4
  67. package/components/input/index.d.ts +0 -3
  68. package/components/input/input.component.d.ts +0 -32
  69. package/components/input/input.directive.d.ts +0 -12
  70. package/components/input/input.module.d.ts +0 -16
  71. package/components/input-color/index.d.ts +0 -2
  72. package/components/input-color/input-color.component.d.ts +0 -30
  73. package/components/input-color/input-color.module.d.ts +0 -17
  74. package/components/input-date/index.d.ts +0 -3
  75. package/components/input-date/input-date.component.d.ts +0 -62
  76. package/components/input-date/input-date.directive.d.ts +0 -19
  77. package/components/input-date/input-date.module.d.ts +0 -24
  78. package/components/input-date/native-date/native-date.component.d.ts +0 -15
  79. package/components/input-date-range/index.d.ts +0 -3
  80. package/components/input-date-range/input-date-range.component.d.ts +0 -67
  81. package/components/input-date-range/input-date-range.directive.d.ts +0 -16
  82. package/components/input-date-range/input-date-range.module.d.ts +0 -22
  83. package/components/input-date-time/index.d.ts +0 -3
  84. package/components/input-date-time/input-date-time.component.d.ts +0 -87
  85. package/components/input-date-time/input-date-time.directive.d.ts +0 -17
  86. package/components/input-date-time/input-date-time.module.d.ts +0 -23
  87. package/components/input-date-time/native-date-time/native-date-time.directive.d.ts +0 -13
  88. package/components/input-month-range/index.d.ts +0 -3
  89. package/components/input-month-range/input-month-range.component.d.ts +0 -38
  90. package/components/input-month-range/input-month-range.directive.d.ts +0 -23
  91. package/components/input-month-range/input-month-range.module.d.ts +0 -18
  92. package/components/input-number/index.d.ts +0 -4
  93. package/components/input-number/input-number.component.d.ts +0 -63
  94. package/components/input-number/input-number.directive.d.ts +0 -16
  95. package/components/input-number/input-number.module.d.ts +0 -18
  96. package/components/input-number/input-number.options.d.ts +0 -29
  97. package/components/input-phone/index.d.ts +0 -4
  98. package/components/input-phone/input-phone.component.d.ts +0 -52
  99. package/components/input-phone/input-phone.directive.d.ts +0 -16
  100. package/components/input-phone/input-phone.module.d.ts +0 -15
  101. package/components/input-phone/input-phone.options.d.ts +0 -22
  102. package/components/input-phone/utils/complete-phone-insertion-preprocessor.d.ts +0 -9
  103. package/components/input-phone/utils/create-phone-mask-expression.d.ts +0 -7
  104. package/components/input-phone/utils/index.d.ts +0 -2
  105. package/components/input-phone-international/index.d.ts +0 -3
  106. package/components/input-phone-international/input-phone-international.component.d.ts +0 -43
  107. package/components/input-phone-international/input-phone-international.options.d.ts +0 -25
  108. package/components/input-phone-international/utils/extract-value-from-event.d.ts +0 -4
  109. package/components/input-range/index.d.ts +0 -2
  110. package/components/input-range/input-range.component.d.ts +0 -56
  111. package/components/input-range/input-range.module.d.ts +0 -19
  112. package/components/input-slider/index.d.ts +0 -2
  113. package/components/input-slider/input-slider.component.d.ts +0 -42
  114. package/components/input-slider/input-slider.module.d.ts +0 -18
  115. package/components/input-tag/index.d.ts +0 -3
  116. package/components/input-tag/input-tag.component.d.ts +0 -103
  117. package/components/input-tag/input-tag.module.d.ts +0 -22
  118. package/components/input-tag/input-tag.options.d.ts +0 -27
  119. package/components/input-time/index.d.ts +0 -4
  120. package/components/input-time/input-time.component.d.ts +0 -62
  121. package/components/input-time/input-time.directive.d.ts +0 -17
  122. package/components/input-time/input-time.module.d.ts +0 -23
  123. package/components/input-time/input-time.options.d.ts +0 -42
  124. package/components/input-time/native-time/native-time.component.d.ts +0 -12
  125. package/components/input-year/index.d.ts +0 -3
  126. package/components/input-year/input-year.component.d.ts +0 -36
  127. package/components/input-year/input-year.directive.d.ts +0 -14
  128. package/components/input-year/input-year.module.d.ts +0 -18
  129. package/components/multi-select/hide-selected.pipe.d.ts +0 -11
  130. package/components/multi-select/index.d.ts +0 -10
  131. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +0 -23
  132. package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +0 -8
  133. package/components/multi-select/multi-select.component.d.ts +0 -71
  134. package/components/multi-select/multi-select.directive.d.ts +0 -14
  135. package/components/multi-select/multi-select.module.d.ts +0 -31
  136. package/components/multi-select/multi-select.options.d.ts +0 -14
  137. package/components/multi-select/native-multi-select/native-multi-select-group.component.d.ts +0 -9
  138. package/components/multi-select/native-multi-select/native-multi-select.component.d.ts +0 -8
  139. package/components/multi-select/native-multi-select/native-multi-select.d.ts +0 -11
  140. package/components/multi-select-option/index.d.ts +0 -2
  141. package/components/multi-select-option/multi-select-option.component.d.ts +0 -9
  142. package/components/multi-select-option/multi-select-option.module.d.ts +0 -9
  143. package/components/primitive-textfield/index.d.ts +0 -7
  144. package/components/primitive-textfield/primitive-textfield-options.d.ts +0 -21
  145. package/components/primitive-textfield/primitive-textfield-types.d.ts +0 -11
  146. package/components/primitive-textfield/primitive-textfield.component.d.ts +0 -73
  147. package/components/primitive-textfield/primitive-textfield.directive.d.ts +0 -14
  148. package/components/primitive-textfield/primitive-textfield.module.d.ts +0 -21
  149. package/components/primitive-textfield/textfield/textfield.component.d.ts +0 -13
  150. package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +0 -22
  151. package/components/select/index.d.ts +0 -6
  152. package/components/select/native-select/native-select-group.component.d.ts +0 -17
  153. package/components/select/native-select/native-select.component.d.ts +0 -16
  154. package/components/select/select.component.d.ts +0 -45
  155. package/components/select/select.directive.d.ts +0 -16
  156. package/components/select/select.module.d.ts +0 -24
  157. package/components/select/select.options.d.ts +0 -25
  158. package/components/select-option/index.d.ts +0 -2
  159. package/components/select-option/select-option.component.d.ts +0 -27
  160. package/components/select-option/select-option.module.d.ts +0 -10
  161. package/components/svg/content-processor.d.ts +0 -19
  162. package/components/svg/deprecated-icons.d.ts +0 -5
  163. package/components/svg/index.d.ts +0 -5
  164. package/components/svg/svg-options.d.ts +0 -50
  165. package/components/svg/svg.component.d.ts +0 -50
  166. package/components/svg/svg.service.d.ts +0 -21
  167. package/components/tag/index.d.ts +0 -3
  168. package/components/tag/tag.component.d.ts +0 -44
  169. package/components/tag/tag.module.d.ts +0 -16
  170. package/components/tag/tag.options.d.ts +0 -27
  171. package/components/textarea/index.d.ts +0 -3
  172. package/components/textarea/textarea.component.d.ts +0 -54
  173. package/components/textarea/textarea.directive.d.ts +0 -12
  174. package/components/textarea/textarea.module.d.ts +0 -21
  175. package/components/tooltip/index.d.ts +0 -2
  176. package/components/tooltip/tooltip.component.d.ts +0 -12
  177. package/components/tooltip/tooltip.module.d.ts +0 -13
  178. package/directives/index.d.ts +0 -5
  179. package/directives/legacy-dropdown-open-monitor/index.d.ts +0 -1
  180. package/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.d.ts +0 -11
  181. package/directives/textfield-controller/index.d.ts +0 -14
  182. package/directives/textfield-controller/textfield-appearance.directive.d.ts +0 -9
  183. package/directives/textfield-controller/textfield-cleaner.directive.d.ts +0 -9
  184. package/directives/textfield-controller/textfield-controller.module.d.ts +0 -17
  185. package/directives/textfield-controller/textfield-controller.provider.d.ts +0 -4
  186. package/directives/textfield-controller/textfield-custom-content.directive.d.ts +0 -10
  187. package/directives/textfield-controller/textfield-filler.directive.d.ts +0 -9
  188. package/directives/textfield-controller/textfield-icon-left.directive.d.ts +0 -12
  189. package/directives/textfield-controller/textfield-icon.directive.d.ts +0 -12
  190. package/directives/textfield-controller/textfield-label-outside.directive.d.ts +0 -9
  191. package/directives/textfield-controller/textfield-postfix.directive.d.ts +0 -9
  192. package/directives/textfield-controller/textfield-prefix.directive.d.ts +0 -9
  193. package/directives/textfield-controller/textfield-size.directive.d.ts +0 -10
  194. package/directives/textfield-controller/textfield.controller.d.ts +0 -41
  195. package/directives/textfield-controller/textfield.options.d.ts +0 -19
  196. package/directives/unfinished-validator/index.d.ts +0 -2
  197. package/directives/unfinished-validator/unfinished-validator.directive.d.ts +0 -10
  198. package/directives/unfinished-validator/unfinished.validator.d.ts +0 -4
  199. package/directives/value-accessor/index.d.ts +0 -3
  200. package/directives/value-accessor/value-accessor.directive.d.ts +0 -5
  201. package/directives/value-accessor/value-accessor.module.d.ts +0 -7
  202. package/directives/value-accessor/value-accessor.provider.d.ts +0 -2
  203. package/directives/wrapper/README.md +0 -19
  204. package/directives/wrapper/index.d.ts +0 -2
  205. package/directives/wrapper/wrapper.directive.d.ts +0 -22
  206. package/directives/wrapper/wrapper.module.d.ts +0 -10
  207. package/fesm2022/taiga-ui-legacy-classes.mjs +0 -415
  208. package/fesm2022/taiga-ui-legacy-classes.mjs.map +0 -1
  209. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +0 -85
  210. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +0 -1
  211. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +0 -726
  212. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +0 -1
  213. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +0 -300
  214. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +0 -1
  215. package/fesm2022/taiga-ui-legacy-components-input-color.mjs +0 -127
  216. package/fesm2022/taiga-ui-legacy-components-input-color.mjs.map +0 -1
  217. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +0 -356
  218. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +0 -1
  219. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +0 -465
  220. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +0 -1
  221. package/fesm2022/taiga-ui-legacy-components-input-date.mjs +0 -372
  222. package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +0 -1
  223. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +0 -221
  224. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +0 -1
  225. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +0 -390
  226. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +0 -1
  227. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +0 -215
  228. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +0 -1
  229. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +0 -373
  230. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +0 -1
  231. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +0 -261
  232. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +0 -1
  233. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +0 -199
  234. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +0 -1
  235. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +0 -524
  236. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +0 -1
  237. package/fesm2022/taiga-ui-legacy-components-input-time.mjs +0 -430
  238. package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +0 -1
  239. package/fesm2022/taiga-ui-legacy-components-input-year.mjs +0 -188
  240. package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +0 -1
  241. package/fesm2022/taiga-ui-legacy-components-input.mjs +0 -156
  242. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +0 -1
  243. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +0 -47
  244. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +0 -1
  245. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +0 -690
  246. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +0 -1
  247. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +0 -454
  248. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +0 -1
  249. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +0 -88
  250. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +0 -1
  251. package/fesm2022/taiga-ui-legacy-components-select.mjs +0 -354
  252. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +0 -1
  253. package/fesm2022/taiga-ui-legacy-components-svg.mjs +0 -387
  254. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +0 -1
  255. package/fesm2022/taiga-ui-legacy-components-tag.mjs +0 -225
  256. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +0 -1
  257. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +0 -262
  258. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +0 -1
  259. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +0 -53
  260. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +0 -1
  261. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +0 -50
  262. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +0 -1
  263. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +0 -401
  264. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +0 -1
  265. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +0 -50
  266. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +0 -1
  267. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +0 -44
  268. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +0 -1
  269. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs +0 -99
  270. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs.map +0 -1
  271. package/fesm2022/taiga-ui-legacy-directives.mjs +0 -10
  272. package/fesm2022/taiga-ui-legacy-directives.mjs.map +0 -1
  273. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +0 -59
  274. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +0 -1
  275. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -50
  276. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +0 -1
  277. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +0 -80
  278. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +0 -1
  279. package/fesm2022/taiga-ui-legacy-pipes.mjs +0 -8
  280. package/fesm2022/taiga-ui-legacy-pipes.mjs.map +0 -1
  281. package/fesm2022/taiga-ui-legacy-services.mjs +0 -42
  282. package/fesm2022/taiga-ui-legacy-services.mjs.map +0 -1
  283. package/fesm2022/taiga-ui-legacy-tokens.mjs +0 -384
  284. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +0 -1
  285. package/fesm2022/taiga-ui-legacy-utils.mjs +0 -268
  286. package/fesm2022/taiga-ui-legacy-utils.mjs.map +0 -1
  287. package/pipes/format-phone/format-phone.pipe.d.ts +0 -37
  288. package/pipes/format-phone/index.d.ts +0 -1
  289. package/pipes/index.d.ts +0 -3
  290. package/pipes/iso-to-country-code/index.d.ts +0 -1
  291. package/pipes/iso-to-country-code/iso-to-country-code.pipe.d.ts +0 -30
  292. package/pipes/to-country-code/index.d.ts +0 -1
  293. package/pipes/to-country-code/to-country-code.pipe.d.ts +0 -38
  294. package/services/index.d.ts +0 -1
  295. package/services/static-request.service.d.ts +0 -11
  296. package/styles/mixins/mixins.less +0 -239
  297. package/styles/mixins/mixins.scss +0 -224
  298. package/styles/mixins/textfield.less +0 -324
  299. package/styles/mixins/textfield.scss +0 -308
  300. package/styles/taiga-ui-local.less +0 -3
  301. package/styles/taiga-ui-local.scss +0 -3
  302. package/tokens/countries-masks.d.ts +0 -9
  303. package/tokens/focusable-item-accessor.d.ts +0 -25
  304. package/tokens/fonts-ready.d.ts +0 -6
  305. package/tokens/icons.d.ts +0 -6
  306. package/tokens/index.d.ts +0 -14
  307. package/tokens/is-apple.d.ts +0 -6
  308. package/tokens/is-chromium.d.ts +0 -6
  309. package/tokens/is-firefox.d.ts +0 -6
  310. package/tokens/is-stackblitz.d.ts +0 -5
  311. package/tokens/month-formatter.d.ts +0 -10
  312. package/tokens/sanitizer.d.ts +0 -6
  313. package/tokens/textfield-appearance.d.ts +0 -7
  314. package/tokens/textfield-host.d.ts +0 -23
  315. package/tokens/touch-supported.d.ts +0 -5
  316. package/tokens/value-accessor.d.ts +0 -7
  317. package/utils/capitalize-first-letter.d.ts +0 -4
  318. package/utils/date-mode-maskito-adapter.d.ts +0 -6
  319. package/utils/format-phone.d.ts +0 -30
  320. package/utils/get-border.d.ts +0 -5
  321. package/utils/get-max-allowed-phone-length.d.ts +0 -24
  322. package/utils/get-safe-area-size.d.ts +0 -7
  323. package/utils/icons-path-factory.d.ts +0 -13
  324. package/utils/index.d.ts +0 -14
  325. package/utils/is-apple.d.ts +0 -5
  326. package/utils/is-presumed-html-string.d.ts +0 -4
  327. package/utils/iso-to-country-code.d.ts +0 -13
  328. package/utils/not-kz-region.d.ts +0 -20
  329. package/utils/process-icon.d.ts +0 -4
  330. package/utils/specific-dropdown-controllers.d.ts +0 -4
  331. package/utils/status.d.ts +0 -4
package/README.md CHANGED
@@ -14,7 +14,7 @@ consisting of multiple base libraries and several add-ons
14
14
 
15
15
  ## How to install
16
16
 
17
- ```
17
+ ```bash
18
18
  npm i @taiga-ui/legacy
19
19
  ```
20
20
 
@@ -0,0 +1,19 @@
1
+ import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
2
+ import { Subject } from 'rxjs';
3
+ import { type TuiDialogContext, type TuiDialogSize } from './dialog.interfaces';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@taiga-ui/cdk/directives/animated";
6
+ export declare class TuiDialogComponent<O, I> {
7
+ protected readonly close$: Subject<void>;
8
+ protected readonly context: TuiDialogContext<I, O>;
9
+ protected readonly closeWord: import("@angular/core").Signal<string>;
10
+ protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
11
+ protected readonly from: import("@angular/core").Signal<"translateY(100vh)" | "translateY(2.5rem)">;
12
+ protected readonly isMobile: import("@angular/core").Signal<boolean | undefined>;
13
+ constructor();
14
+ protected get size(): TuiDialogSize;
15
+ protected get header(): PolymorpheusContent<TuiDialogContext<I, O>>;
16
+ private close;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiDialogComponent<any, any>, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiDialogComponent<any, any>, "tui-dialog-legacy", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiAnimated; inputs: {}; outputs: {}; }]>;
19
+ }
@@ -0,0 +1,8 @@
1
+ import { type TuiDialogOptions } from './dialog.interfaces';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@taiga-ui/cdk/portals";
4
+ export declare class TuiDialog<T> {
5
+ readonly tuiDialogOptions: import("@angular/core").InputSignal<Partial<TuiDialogOptions<T>>>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiDialog<any>, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDialog<any>, "ng-template[tuiDialog]", never, { "tuiDialogOptions": { "alias": "tuiDialogOptions"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.TuiPortalDirective; inputs: { "options": "tuiDialogOptions"; "open": "tuiDialog"; }; outputs: { "openChange": "tuiDialogChange"; }; }]>;
8
+ }
@@ -0,0 +1,16 @@
1
+ import { type Injector } from '@angular/core';
2
+ import { type Observable } from 'rxjs';
3
+ import { type TuiDialogContext, type TuiDialogOptions } from './dialog.interfaces';
4
+ type SingleUnionOrNever<T, U = T> = [T] extends [never] ? never : T extends U ? [U] extends [T] ? T : never : never;
5
+ type ReplaceAny<T> = 0 extends T & 1 ? void : T;
6
+ type ContextKeys<T> = {
7
+ [K in keyof T]: ReplaceAny<T[K]> extends TuiDialogContext<any, any> | null ? K : never;
8
+ }[keyof T];
9
+ type AssertNotMultipleContexts<T, K extends keyof T> = [K] extends [never] ? new (...args: any[]) => T : [SingleUnionOrNever<K>] extends [never] ? 'Component has multiple context. Cannot determine the type...' : new (...args: any[]) => T;
10
+ type ExtractDialogData<T, K extends keyof T = ContextKeys<T>> = [K] extends [never] ? void : [SingleUnionOrNever<K>] extends [never] ? never : T[K] extends TuiDialogContext<any, infer D> | null ? D : void;
11
+ type ExtractDialogResult<T, K extends keyof T = ContextKeys<T>> = [K] extends [never] ? void : [SingleUnionOrNever<K>] extends [never] ? never : T[K] extends TuiDialogContext<infer R, any> | null ? R : void;
12
+ type Options<T> = Omit<TuiDialogOptions<T>, 'data'> & {
13
+ injector: Injector;
14
+ };
15
+ export declare function tuiDialog<T, K extends ContextKeys<T>, D extends ExtractDialogData<T, K>, R extends ExtractDialogResult<T, K>>(component: AssertNotMultipleContexts<T, K>, { injector, ...options }?: Partial<Options<D>>): (data: D) => Observable<R>;
16
+ export {};
@@ -0,0 +1,30 @@
1
+ import { type TuiPortalContext } from '@taiga-ui/cdk/portals';
2
+ import { type TuiSizeL, type TuiSizeS } from '@taiga-ui/core/types';
3
+ import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
4
+ import { type Observable } from 'rxjs';
5
+ export type TuiDialogSize = TuiSizeL | TuiSizeS | 'auto' | 'fullscreen' | 'page';
6
+ /**
7
+ * Options for a dialog
8
+ *
9
+ * appearance - data-appearance attribute of the dialog ('' by default)
10
+ * size - size of the dialog ('m' by default)
11
+ * required - closing dialog throws (false by default)
12
+ * closable - show close button (true by default)
13
+ * dismissible - close dialog by Esc button or click on overlay (true by default)
14
+ * label - string title for the dialog ('' by default)
15
+ * header - content above title ('' by default)
16
+ * data - arbitrary data for dialog
17
+ */
18
+ export interface TuiDialogOptions<I> {
19
+ readonly appearance: string;
20
+ readonly closable: Observable<boolean> | boolean;
21
+ readonly data: I extends void ? undefined : I & {
22
+ button?: string;
23
+ };
24
+ readonly dismissible: Observable<boolean> | boolean;
25
+ readonly header: PolymorpheusContent<TuiDialogContext<I, any>>;
26
+ readonly label: string;
27
+ readonly required: boolean;
28
+ readonly size: TuiDialogSize;
29
+ }
30
+ export type TuiDialogContext<O = void, I = undefined> = TuiPortalContext<TuiDialogOptions<I>, O>;
@@ -0,0 +1,10 @@
1
+ import { TuiModalService } from '@taiga-ui/core/portals/modal';
2
+ import { TuiDialogComponent } from './dialog.component';
3
+ import { type TuiDialogOptions } from './dialog.interfaces';
4
+ import * as i0 from "@angular/core";
5
+ export declare class TuiDialogService extends TuiModalService<TuiDialogOptions<any>> {
6
+ protected readonly options: TuiDialogOptions<void>;
7
+ protected readonly content: typeof TuiDialogComponent;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiDialogService, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<TuiDialogService>;
10
+ }
@@ -0,0 +1,6 @@
1
+ import { type TuiDialogOptions } from './dialog.interfaces';
2
+ export declare const TUI_DIALOG_DEFAULT_OPTIONS: TuiDialogOptions<void>;
3
+ /**
4
+ * Default parameters for dialog component
5
+ */
6
+ export declare const TUI_DIALOG_OPTIONS: import("@angular/core").InjectionToken<TuiDialogOptions<void>>, tuiDialogOptionsProvider: (item: Partial<TuiDialogOptions<void>> | (() => Partial<TuiDialogOptions<void>>)) => import("@angular/core").FactoryProvider;
@@ -0,0 +1,6 @@
1
+ export * from './dialog.component';
2
+ export * from './dialog.directive';
3
+ export * from './dialog.factory';
4
+ export type * from './dialog.interfaces';
5
+ export * from './dialog.service';
6
+ export * from './dialog.tokens';
@@ -1,26 +1,3 @@
1
- export * from '@taiga-ui/legacy/components/arrow';
2
- export * from '@taiga-ui/legacy/components/color-selector';
3
- export * from '@taiga-ui/legacy/components/combo-box';
4
- export * from '@taiga-ui/legacy/components/input';
5
- export * from '@taiga-ui/legacy/components/input-color';
6
- export * from '@taiga-ui/legacy/components/input-date';
7
- export * from '@taiga-ui/legacy/components/input-date-range';
8
- export * from '@taiga-ui/legacy/components/input-date-time';
9
- export * from '@taiga-ui/legacy/components/input-month-range';
10
- export * from '@taiga-ui/legacy/components/input-number';
11
- export * from '@taiga-ui/legacy/components/input-phone';
12
- export * from '@taiga-ui/legacy/components/input-phone-international';
13
- export * from '@taiga-ui/legacy/components/input-range';
14
- export * from '@taiga-ui/legacy/components/input-slider';
15
- export * from '@taiga-ui/legacy/components/input-tag';
16
- export * from '@taiga-ui/legacy/components/input-time';
17
- export * from '@taiga-ui/legacy/components/input-year';
18
- export * from '@taiga-ui/legacy/components/multi-select';
19
- export * from '@taiga-ui/legacy/components/multi-select-option';
20
- export * from '@taiga-ui/legacy/components/primitive-textfield';
21
- export * from '@taiga-ui/legacy/components/select';
22
- export * from '@taiga-ui/legacy/components/select-option';
23
- export * from '@taiga-ui/legacy/components/svg';
24
- export * from '@taiga-ui/legacy/components/tag';
25
- export * from '@taiga-ui/legacy/components/textarea';
26
- export * from '@taiga-ui/legacy/components/tooltip';
1
+ export * from '@taiga-ui/legacy/components/dialog';
2
+ export * from '@taiga-ui/legacy/components/mobile-dialog';
3
+ export * from '@taiga-ui/legacy/components/pdf-viewer';
@@ -0,0 +1,3 @@
1
+ export * from './mobile-dialog.component';
2
+ export * from './mobile-dialog.options';
3
+ export * from './mobile-dialog.service';
@@ -0,0 +1,10 @@
1
+ import { type TuiPortalContext } from '@taiga-ui/cdk/portals';
2
+ import { type TuiMobileDialogOptions } from './mobile-dialog.options';
3
+ import * as i0 from "@angular/core";
4
+ export declare class TuiMobileDialog<I> {
5
+ protected readonly isIOS: boolean;
6
+ protected readonly context: TuiPortalContext<TuiMobileDialogOptions<I>, number>;
7
+ protected onAction(index: number): void;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiMobileDialog<any>, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiMobileDialog<any>, "tui-mobile-dialog", never, {}, {}, never, never, true, never>;
10
+ }
@@ -0,0 +1,10 @@
1
+ export interface TuiMobileDialogOptions<I = undefined> {
2
+ readonly actions: readonly string[];
3
+ readonly data: I;
4
+ readonly label: string;
5
+ }
6
+ export declare const TUI_MOBILE_DIALOG_DEFAULT_OPTIONS: TuiMobileDialogOptions;
7
+ /**
8
+ * Default parameters for mobile dialog component
9
+ */
10
+ export declare const TUI_MOBILE_DIALOG_OPTIONS: import("@angular/core").InjectionToken<TuiMobileDialogOptions<undefined>>, tuiMobileDialogOptionsProvider: (item: Partial<TuiMobileDialogOptions<undefined>> | (() => Partial<TuiMobileDialogOptions<undefined>>)) => import("@angular/core").FactoryProvider;
@@ -0,0 +1,14 @@
1
+ import { type TuiPortalContext } from '@taiga-ui/cdk/portals';
2
+ import { TuiModalService } from '@taiga-ui/core/portals/modal';
3
+ import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
4
+ import { type Observable } from 'rxjs';
5
+ import { TuiMobileDialog } from './mobile-dialog.component';
6
+ import { type TuiMobileDialogOptions } from './mobile-dialog.options';
7
+ import * as i0 from "@angular/core";
8
+ export declare class TuiMobileDialogService extends TuiModalService<TuiMobileDialogOptions<any>, number> {
9
+ protected readonly options: TuiMobileDialogOptions<undefined>;
10
+ protected readonly content: typeof TuiMobileDialog;
11
+ open(content: PolymorpheusContent<TuiPortalContext<TuiMobileDialogOptions<any>, number>>, options?: Partial<TuiMobileDialogOptions<any>>): Observable<number>;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiMobileDialogService, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<TuiMobileDialogService>;
14
+ }
@@ -0,0 +1,4 @@
1
+ export * from './pdf-viewer.component';
2
+ export * from './pdf-viewer.directive';
3
+ export * from './pdf-viewer.options';
4
+ export * from './pdf-viewer.service';
@@ -0,0 +1,12 @@
1
+ import { type TuiPortalContext } from '@taiga-ui/cdk/portals';
2
+ import { type TuiPdfViewerOptions } from './pdf-viewer.options';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@taiga-ui/cdk/directives/animated";
5
+ export declare class TuiPdfViewerComponent<I, O> {
6
+ protected readonly closeWord: import("@angular/core").Signal<string>;
7
+ protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
8
+ protected readonly context: TuiPortalContext<TuiPdfViewerOptions<I>, O>;
9
+ protected onKeyDownEsc(): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiPdfViewerComponent<any, any>, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiPdfViewerComponent<any, any>, "tui-pdf-viewer", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiAnimated; inputs: {}; outputs: {}; }]>;
12
+ }
@@ -0,0 +1,8 @@
1
+ import { type TuiPdfViewerOptions } from './pdf-viewer.options';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@taiga-ui/cdk/portals";
4
+ export declare class TuiPdfViewerDirective<T> {
5
+ readonly tuiPdfViewerOptions: import("@angular/core").InputSignal<Partial<TuiPdfViewerOptions<T>>>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiPdfViewerDirective<any>, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiPdfViewerDirective<any>, "ng-template[tuiPdfViewer]", never, { "tuiPdfViewerOptions": { "alias": "tuiPdfViewerOptions"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.TuiPortalDirective; inputs: { "options": "tuiPdfViewerOptions"; "open": "tuiPdfViewer"; }; outputs: { "openChange": "tuiPdfViewerChange"; }; }]>;
8
+ }
@@ -0,0 +1,11 @@
1
+ import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
2
+ export declare const TUI_PDF_VIEWER_DEFAULT_OPTIONS: TuiPdfViewerOptions;
3
+ /**
4
+ * Default parameters for PdfViewer component
5
+ */
6
+ export declare const TUI_PDF_VIEWER_OPTIONS: import("@angular/core").InjectionToken<TuiPdfViewerOptions<undefined>>, tuiPdfViewerOptionsProvider: (item: Partial<TuiPdfViewerOptions<undefined>> | (() => Partial<TuiPdfViewerOptions<undefined>>)) => import("@angular/core").FactoryProvider;
7
+ export interface TuiPdfViewerOptions<I = undefined> {
8
+ readonly actions: PolymorpheusContent<TuiPdfViewerOptions<I>>;
9
+ readonly data: I;
10
+ readonly label: string;
11
+ }
@@ -0,0 +1,17 @@
1
+ import { type SafeResourceUrl } from '@angular/platform-browser';
2
+ import { type TuiPortalContext } from '@taiga-ui/cdk/portals';
3
+ import { TuiModalService } from '@taiga-ui/core/portals/modal';
4
+ import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
5
+ import { type Observable } from 'rxjs';
6
+ import { TuiPdfViewerComponent } from './pdf-viewer.component';
7
+ import { type TuiPdfViewerOptions } from './pdf-viewer.options';
8
+ import * as i0 from "@angular/core";
9
+ type Content<G> = PolymorpheusContent<TuiPortalContext<TuiPdfViewerOptions<unknown>, G>>;
10
+ export declare class TuiPdfViewerService extends TuiModalService<TuiPdfViewerOptions<unknown>> {
11
+ protected readonly options: TuiPdfViewerOptions<undefined>;
12
+ protected readonly content: typeof TuiPdfViewerComponent;
13
+ open<G>(content: Content<G> | SafeResourceUrl, options?: Partial<TuiPdfViewerOptions<any>>): Observable<G>;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiPdfViewerService, never>;
15
+ static ɵprov: i0.ɵɵInjectableDeclaration<TuiPdfViewerService>;
16
+ }
17
+ export {};
@@ -0,0 +1,136 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, computed, ChangeDetectionStrategy, Component, Injectable, input, 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 } from '@taiga-ui/core/portals/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 * as i1$1 from '@taiga-ui/cdk/portals';
15
+ import { tuiAsPortal, TuiPortalDirective } from '@taiga-ui/cdk/portals';
16
+ import { TuiModalService } from '@taiga-ui/core/portals/modal';
17
+ import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
18
+
19
+ const REQUIRED_ERROR = new Error('Required dialog was dismissed');
20
+ function toObservable(valueOrStream) {
21
+ return isObservable(valueOrStream) ? valueOrStream : of(valueOrStream);
22
+ }
23
+ class TuiDialogComponent {
24
+ constructor() {
25
+ this.close$ = new Subject();
26
+ this.context = injectContext();
27
+ this.closeWord = inject(TUI_CLOSE_WORD);
28
+ this.icons = inject(TUI_COMMON_ICONS);
29
+ this.from = computed(() => this.size === 'fullscreen' || this.size === 'page' || this.isMobile()
30
+ ? 'translateY(100vh)'
31
+ : 'translateY(2.5rem)');
32
+ this.isMobile = toSignal(inject(TuiBreakpointService).pipe(map((breakpoint) => breakpoint === 'mobile')));
33
+ 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)))
34
+ .pipe(filter(Boolean), takeUntilDestroyed())
35
+ .subscribe(() => {
36
+ this.close();
37
+ });
38
+ }
39
+ get size() {
40
+ return this.context.size;
41
+ }
42
+ get header() {
43
+ return this.context.header;
44
+ }
45
+ close() {
46
+ if (this.context.required) {
47
+ this.context.$implicit.error(REQUIRED_ERROR);
48
+ }
49
+ else {
50
+ this.context.$implicit.complete();
51
+ }
52
+ }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
54
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.16", 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 }); }
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiDialogComponent, decorators: [{
57
+ type: Component,
58
+ args: [{ selector: 'tui-dialog-legacy', imports: [PolymorpheusOutlet, TuiAutoFocus, TuiButton], changeDetection: ChangeDetectionStrategy.Default, providers: [TuiDialogCloseService], hostDirectives: [TuiAnimated], host: {
59
+ '[attr.data-appearance]': 'context.appearance',
60
+ '[attr.data-size]': 'size',
61
+ '[class._centered]': 'header',
62
+ '[style.--tui-from]': 'from()',
63
+ }, 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"] }]
64
+ }], ctorParameters: () => [] });
65
+
66
+ const TUI_DIALOG_DEFAULT_OPTIONS = {
67
+ appearance: '',
68
+ size: 'm',
69
+ required: false,
70
+ closable: true,
71
+ dismissible: true,
72
+ label: '',
73
+ header: '',
74
+ data: undefined,
75
+ };
76
+ /**
77
+ * Default parameters for dialog component
78
+ */
79
+ const [TUI_DIALOG_OPTIONS, tuiDialogOptionsProvider] = tuiCreateOptions(TUI_DIALOG_DEFAULT_OPTIONS);
80
+
81
+ class TuiDialogService extends TuiModalService {
82
+ constructor() {
83
+ super(...arguments);
84
+ this.options = inject(TUI_DIALOG_OPTIONS);
85
+ this.content = TuiDialogComponent;
86
+ }
87
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiDialogService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
88
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiDialogService, providedIn: 'root' }); }
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiDialogService, decorators: [{
91
+ type: Injectable,
92
+ args: [{
93
+ providedIn: 'root',
94
+ }]
95
+ }] });
96
+
97
+ class TuiDialog {
98
+ constructor() {
99
+ this.tuiDialogOptions = input({});
100
+ }
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiDialog, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
102
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.16", type: TuiDialog, isStandalone: true, selector: "ng-template[tuiDialog]", inputs: { tuiDialogOptions: { classPropertyName: "tuiDialogOptions", publicName: "tuiDialogOptions", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsPortal(TuiDialogService)], hostDirectives: [{ directive: i1$1.TuiPortalDirective, inputs: ["options", "tuiDialogOptions", "open", "tuiDialog"], outputs: ["openChange", "tuiDialogChange"] }], ngImport: i0 }); }
103
+ }
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiDialog, decorators: [{
105
+ type: Directive,
106
+ args: [{
107
+ selector: 'ng-template[tuiDialog]',
108
+ providers: [tuiAsPortal(TuiDialogService)],
109
+ hostDirectives: [
110
+ {
111
+ directive: TuiPortalDirective,
112
+ inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],
113
+ outputs: ['openChange: tuiDialogChange'],
114
+ },
115
+ ],
116
+ }]
117
+ }] });
118
+
119
+ function tuiDialog(component, { injector, ...options } = {}) {
120
+ if (!injector) {
121
+ assertInInjectionContext(tuiDialog);
122
+ injector = inject(INJECTOR);
123
+ }
124
+ const dialogService = injector.get(TuiDialogService);
125
+ return (data) => dialogService.open(new PolymorpheusComponent(component, injector), {
126
+ ...options,
127
+ data,
128
+ });
129
+ }
130
+
131
+ /**
132
+ * Generated bundle index. Do not edit.
133
+ */
134
+
135
+ export { TUI_DIALOG_DEFAULT_OPTIONS, TUI_DIALOG_OPTIONS, TuiDialog, TuiDialogComponent, TuiDialogService, tuiDialog, tuiDialogOptionsProvider };
136
+ //# 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 {TuiButton} from '@taiga-ui/core/components/button';\nimport {TUI_DIALOGS_CLOSE, TuiDialogCloseService} from '@taiga-ui/core/portals/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 TuiDialogContext, 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<TuiDialogContext<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<TuiDialogContext<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 {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\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, tuiDialogOptionsProvider] = tuiCreateOptions(\n TUI_DIALOG_DEFAULT_OPTIONS,\n);\n","import {inject, Injectable} from '@angular/core';\nimport {TuiModalService} from '@taiga-ui/core/portals/modal';\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})\nexport class TuiDialogService extends TuiModalService<TuiDialogOptions<any>> {\n protected readonly options = inject(TUI_DIALOG_OPTIONS);\n protected readonly content = TuiDialogComponent;\n}\n","import {Directive, input} from '@angular/core';\nimport {tuiAsPortal, TuiPortalDirective} from '@taiga-ui/cdk/portals';\n\nimport {type TuiDialogOptions} from './dialog.interfaces';\nimport {TuiDialogService} from './dialog.service';\n\n@Directive({\n selector: 'ng-template[tuiDialog]',\n providers: [tuiAsPortal(TuiDialogService)],\n hostDirectives: [\n {\n directive: TuiPortalDirective,\n inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],\n outputs: ['openChange: tuiDialogChange'],\n },\n ],\n})\nexport class TuiDialog<T> {\n public readonly tuiDialogOptions = input<Partial<TuiDialogOptions<T>>>({});\n}\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":["i1"],"mappings":";;;;;;;;;;;;;;;;;;AA6BA,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,+BAA+B,CAAC;AAEjE,SAAS,YAAY,CAAI,aAAgC,EAAA;AACrD,IAAA,OAAO,YAAY,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;AAC1E;MAmBa,kBAAkB,CAAA;AAe3B,IAAA,WAAA,GAAA;AAdmB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,OAAO,EAAQ;QAC5B,IAAO,CAAA,OAAA,GAAG,aAAa,EAA0B;AACjD,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AAClC,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAChC,IAAI,CAAA,IAAA,GAAG,QAAQ,CAAC,MAC/B,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ;AAC/D,cAAE;cACA,oBAAoB,CAC7B;QAEkB,IAAQ,CAAA,QAAA,GAAG,QAAQ,CAClC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK,UAAU,KAAK,QAAQ,CAAC,CAAC,CAClF;AAGG,QAAA,KAAK,CACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EACtE,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAC9B,UAAU,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CACzE,EACD,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;aAEpD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE;aAC1C,SAAS,CAAC,MAAK;YACZ,IAAI,CAAC,KAAK,EAAE;AAChB,SAAC,CAAC;;AAGV,IAAA,IAAc,IAAI,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI;;AAG5B,IAAA,IAAc,MAAM,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;;IAGtB,KAAK,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACvB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC;;aACzC;AACH,YAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;;;+GAzChC,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EAThB,CAAC,qBAAqB,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3CtC,krDAoDA,EAAA,MAAA,EAAA,CAAA,wwFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDfc,kBAAkB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,YAAY,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,CAAA,CAAA;;4FAe5C,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAjB9B,SAAS;+BACI,mBAAmB,EAAA,OAAA,EACpB,CAAC,kBAAkB,EAAE,YAAY,EAAE,SAAS,CAAC,EAKrC,eAAA,EAAA,uBAAuB,CAAC,OAAO,EAAA,SAAA,EACrC,CAAC,qBAAqB,CAAC,kBAClB,CAAC,WAAW,CAAC,EACvB,IAAA,EAAA;AACF,wBAAA,wBAAwB,EAAE,oBAAoB;AAC9C,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,mBAAmB,EAAE,QAAQ;AAC7B,wBAAA,oBAAoB,EAAE,QAAQ;AACjC,qBAAA,EAAA,QAAA,EAAA,krDAAA,EAAA,MAAA,EAAA,CAAA,wwFAAA,CAAA,EAAA;;;AE9CQ,MAAA,0BAA0B,GAA2B;AAC9D,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,IAAI,EAAE,GAAG;AACT,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,IAAI,EAAE,SAAS;;AAGnB;;AAEG;AACI,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAAG,gBAAgB,CAC1E,0BAA0B;;ACTxB,MAAO,gBAAiB,SAAQ,eAAsC,CAAA;AAH5E,IAAA,WAAA,GAAA;;AAIuB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACpC,IAAO,CAAA,OAAA,GAAG,kBAAkB;AAClD;+GAHY,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFb,MAAM,EAAA,CAAA,CAAA;;4FAET,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;;MCQY,SAAS,CAAA;AAXtB,IAAA,WAAA,GAAA;AAYoB,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAA+B,EAAE,CAAC;AAC7E;+GAFY,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,0OATP,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FASjC,SAAS,EAAA,UAAA,EAAA,CAAA;kBAXrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,SAAS,EAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;AAC1C,oBAAA,cAAc,EAAE;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,kBAAkB;AAC7B,4BAAA,MAAM,EAAE,CAAC,2BAA2B,EAAE,iBAAiB,CAAC;4BACxD,OAAO,EAAE,CAAC,6BAA6B,CAAC;AAC3C,yBAAA;AACJ,qBAAA;AACJ,iBAAA;;;AC+BK,SAAU,SAAS,CAMrB,SAA0C,EAC1C,EAAC,QAAQ,EAAE,GAAG,OAAO,EAAA,GAAyB,EAAE,EAAA;IAEhD,IAAI,CAAC,QAAQ,EAAE;QACX,wBAAwB,CAAC,SAAS,CAAC;AACnC,QAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;;IAG/B,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAEpD,IAAA,OAAO,CAAC,IAAI,KACR,aAAa,CAAC,IAAI,CACd,IAAI,qBAAqB,CAAC,SAAwB,EAAE,QAAQ,CAAC,EAC7D;AACI,QAAA,GAAG,OAAO;QACV,IAAI;AACP,KAAA,CACJ;AACT;;ACvEA;;AAEG;;;;"}
@@ -0,0 +1,62 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, ChangeDetectionStrategy, Component, Injectable } from '@angular/core';
3
+ import { TuiRipple } from '@taiga-ui/addon-mobile/directives/ripple';
4
+ import { TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
5
+ import { TuiButton } from '@taiga-ui/core/components/button';
6
+ import { injectContext, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
7
+ import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
8
+ import { TuiModalService } from '@taiga-ui/core/portals/modal';
9
+
10
+ class TuiMobileDialog {
11
+ constructor() {
12
+ this.isIOS = inject(TUI_IS_IOS);
13
+ this.context = injectContext();
14
+ }
15
+ onAction(index) {
16
+ this.context.completeWith(index);
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiMobileDialog, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.16", type: TuiMobileDialog, isStandalone: true, selector: "tui-mobile-dialog", host: { properties: { "class._ios": "isIOS" } }, ngImport: i0, template: "@if (!!context.label) {\n <h2\n automation-id=\"tui-mobile-dialog__label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n {{ context.label }}\n </h2>\n}\n<div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n</div>\n@for (action of context.actions; track action) {\n <button\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n tuiRipple\n type=\"button\"\n class=\"t-button\"\n [class.t-button_column]=\"$count > 2\"\n (click)=\"onAction($index)\"\n >\n {{ action }}\n </button>\n}\n", styles: [":host{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block;background:var(--tui-background-base);word-break:break-word;overflow:hidden;padding:1.25rem .75rem 0 1.5rem}:host:not(._ios){max-inline-size:17.5rem;border-radius:.125rem;text-align:start;box-shadow:0 1.5rem 1.5rem #00000052}:host._ios{max-inline-size:16.875rem;padding:1.5rem 0 0;border-radius:.75rem;text-align:center}.t-heading{font-size:1rem}:host._ios .t-heading{font-weight:700;font-size:1.125rem}.t-content{margin-block-start:.75rem;font-size:.875rem;line-height:1.25rem;padding-inline-end:.75rem}:host._ios .t-content{margin-block-start:.25rem;padding-inline-start:1.5rem;padding-inline-end:1.5rem}.t-button{border-radius:0}:host._ios .t-button{border-block-start:#b8b8b8 1px solid;block-size:2.625rem;inline-size:100%}:host._ios .t-button:first-of-type{margin-block-start:1.125rem}:host:not(._ios) .t-button{margin:.5rem 0 .5rem .5rem;float:inline-end}:host:not(._ios) .t-button_column{display:block;float:none;margin-inline-start:auto}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiRipple, selector: "[tuiRipple]", inputs: ["tuiRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiMobileDialog, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'tui-mobile-dialog', imports: [PolymorpheusOutlet, TuiButton, TuiRipple], changeDetection: ChangeDetectionStrategy.OnPush, host: {
24
+ '[class._ios]': 'isIOS',
25
+ }, template: "@if (!!context.label) {\n <h2\n automation-id=\"tui-mobile-dialog__label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n {{ context.label }}\n </h2>\n}\n<div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n</div>\n@for (action of context.actions; track action) {\n <button\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n tuiRipple\n type=\"button\"\n class=\"t-button\"\n [class.t-button_column]=\"$count > 2\"\n (click)=\"onAction($index)\"\n >\n {{ action }}\n </button>\n}\n", styles: [":host{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block;background:var(--tui-background-base);word-break:break-word;overflow:hidden;padding:1.25rem .75rem 0 1.5rem}:host:not(._ios){max-inline-size:17.5rem;border-radius:.125rem;text-align:start;box-shadow:0 1.5rem 1.5rem #00000052}:host._ios{max-inline-size:16.875rem;padding:1.5rem 0 0;border-radius:.75rem;text-align:center}.t-heading{font-size:1rem}:host._ios .t-heading{font-weight:700;font-size:1.125rem}.t-content{margin-block-start:.75rem;font-size:.875rem;line-height:1.25rem;padding-inline-end:.75rem}:host._ios .t-content{margin-block-start:.25rem;padding-inline-start:1.5rem;padding-inline-end:1.5rem}.t-button{border-radius:0}:host._ios .t-button{border-block-start:#b8b8b8 1px solid;block-size:2.625rem;inline-size:100%}:host._ios .t-button:first-of-type{margin-block-start:1.125rem}:host:not(._ios) .t-button{margin:.5rem 0 .5rem .5rem;float:inline-end}:host:not(._ios) .t-button_column{display:block;float:none;margin-inline-start:auto}\n"] }]
26
+ }] });
27
+
28
+ const TUI_MOBILE_DIALOG_DEFAULT_OPTIONS = {
29
+ label: '',
30
+ actions: ['OK'],
31
+ data: undefined,
32
+ };
33
+ /**
34
+ * Default parameters for mobile dialog component
35
+ */
36
+ const [TUI_MOBILE_DIALOG_OPTIONS, tuiMobileDialogOptionsProvider] = tuiCreateOptions(TUI_MOBILE_DIALOG_DEFAULT_OPTIONS);
37
+
38
+ class TuiMobileDialogService extends TuiModalService {
39
+ constructor() {
40
+ super(...arguments);
41
+ this.options = inject(TUI_MOBILE_DIALOG_OPTIONS);
42
+ this.content = TuiMobileDialog;
43
+ }
44
+ open(content, options = {}) {
45
+ return super.open(content, options);
46
+ }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiMobileDialogService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
48
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiMobileDialogService, providedIn: 'root' }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiMobileDialogService, decorators: [{
51
+ type: Injectable,
52
+ args: [{
53
+ providedIn: 'root',
54
+ }]
55
+ }] });
56
+
57
+ /**
58
+ * Generated bundle index. Do not edit.
59
+ */
60
+
61
+ export { TUI_MOBILE_DIALOG_DEFAULT_OPTIONS, TUI_MOBILE_DIALOG_OPTIONS, TuiMobileDialog, TuiMobileDialogService, tuiMobileDialogOptionsProvider };
62
+ //# sourceMappingURL=taiga-ui-legacy-components-mobile-dialog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-legacy-components-mobile-dialog.mjs","sources":["../../../projects/legacy/components/mobile-dialog/mobile-dialog.component.ts","../../../projects/legacy/components/mobile-dialog/mobile-dialog.template.html","../../../projects/legacy/components/mobile-dialog/mobile-dialog.options.ts","../../../projects/legacy/components/mobile-dialog/mobile-dialog.service.ts","../../../projects/legacy/components/mobile-dialog/taiga-ui-legacy-components-mobile-dialog.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TuiRipple} from '@taiga-ui/addon-mobile/directives/ripple';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {type TuiMobileDialogOptions} from './mobile-dialog.options';\n\n@Component({\n selector: 'tui-mobile-dialog',\n imports: [PolymorpheusOutlet, TuiButton, TuiRipple],\n templateUrl: './mobile-dialog.template.html',\n styleUrl: './mobile-dialog.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._ios]': 'isIOS',\n },\n})\nexport class TuiMobileDialog<I> {\n protected readonly isIOS = inject(TUI_IS_IOS);\n protected readonly context =\n injectContext<TuiPortalContext<TuiMobileDialogOptions<I>, number>>();\n\n protected onAction(index: number): void {\n this.context.completeWith(index);\n }\n}\n","@if (!!context.label) {\n <h2\n automation-id=\"tui-mobile-dialog__label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n {{ context.label }}\n </h2>\n}\n<div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n</div>\n@for (action of context.actions; track action) {\n <button\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n tuiRipple\n type=\"button\"\n class=\"t-button\"\n [class.t-button_column]=\"$count > 2\"\n (click)=\"onAction($index)\"\n >\n {{ action }}\n </button>\n}\n","import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiMobileDialogOptions<I = undefined> {\n readonly actions: readonly string[];\n readonly data: I;\n readonly label: string;\n}\n\nexport const TUI_MOBILE_DIALOG_DEFAULT_OPTIONS: TuiMobileDialogOptions = {\n label: '',\n actions: ['OK'],\n data: undefined,\n};\n\n/**\n * Default parameters for mobile dialog component\n */\nexport const [TUI_MOBILE_DIALOG_OPTIONS, tuiMobileDialogOptionsProvider] =\n tuiCreateOptions(TUI_MOBILE_DIALOG_DEFAULT_OPTIONS);\n","import {inject, Injectable} from '@angular/core';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {TuiModalService} from '@taiga-ui/core/portals/modal';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {type Observable} from 'rxjs';\n\nimport {TuiMobileDialog} from './mobile-dialog.component';\nimport {\n TUI_MOBILE_DIALOG_OPTIONS,\n type TuiMobileDialogOptions,\n} from './mobile-dialog.options';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiMobileDialogService extends TuiModalService<\n TuiMobileDialogOptions<any>,\n number\n> {\n protected readonly options = inject(TUI_MOBILE_DIALOG_OPTIONS);\n protected readonly content = TuiMobileDialog;\n\n public override open(\n content: PolymorpheusContent<\n TuiPortalContext<TuiMobileDialogOptions<any>, number>\n >,\n options: Partial<TuiMobileDialogOptions<any>> = {},\n ): Observable<number> {\n return super.open(content, options);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;MAmBa,eAAe,CAAA;AAV5B,IAAA,WAAA,GAAA;AAWuB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;QAC1B,IAAO,CAAA,OAAA,GACtB,aAAa,EAAuD;AAK3E;AAHa,IAAA,QAAQ,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;;+GAN3B,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,8HCnB5B,srBA4BA,EAAA,MAAA,EAAA,CAAA,2gCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDjBc,kBAAkB,EAAE,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,SAAS,oIAAE,SAAS,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAQzC,eAAe,EAAA,UAAA,EAAA,CAAA;kBAV3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EACpB,OAAA,EAAA,CAAC,kBAAkB,EAAE,SAAS,EAAE,SAAS,CAAC,EAGlC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,cAAc,EAAE,OAAO;AAC1B,qBAAA,EAAA,QAAA,EAAA,srBAAA,EAAA,MAAA,EAAA,CAAA,2gCAAA,CAAA,EAAA;;;AETQ,MAAA,iCAAiC,GAA2B;AACrE,IAAA,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,CAAC,IAAI,CAAC;AACf,IAAA,IAAI,EAAE,SAAS;;AAGnB;;AAEG;AACI,MAAM,CAAC,yBAAyB,EAAE,8BAA8B,CAAC,GACpE,gBAAgB,CAAC,iCAAiC;;ACHhD,MAAO,sBAAuB,SAAQ,eAG3C,CAAA;AAND,IAAA,WAAA,GAAA;;AAOuB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,yBAAyB,CAAC;QAC3C,IAAO,CAAA,OAAA,GAAG,eAAe;AAU/C;AARmB,IAAA,IAAI,CAChB,OAEC,EACD,OAAA,GAAgD,EAAE,EAAA;QAElD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;;+GAb9B,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFnB,MAAM,EAAA,CAAA,CAAA;;4FAET,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;;ACdD;;AAEG;;;;"}