@taiga-ui/legacy 4.52.0-canary.6c67ccf → 4.52.0-canary.811ffeb

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 (290) hide show
  1. package/README.md +1 -1
  2. package/classes/abstract-textfield-host.d.ts +1 -1
  3. package/components/arrow/arrow.options.d.ts +1 -3
  4. package/components/arrow/arrow.providers.d.ts +1 -6
  5. package/components/dialog/dialog.component.d.ts +19 -0
  6. package/components/dialog/dialog.directive.d.ts +8 -0
  7. package/components/dialog/dialog.factory.d.ts +16 -0
  8. package/components/dialog/dialog.interfaces.d.ts +30 -0
  9. package/components/dialog/dialog.service.d.ts +10 -0
  10. package/components/dialog/dialog.tokens.d.ts +6 -0
  11. package/components/dialog/index.d.ts +6 -0
  12. package/components/index.d.ts +3 -28
  13. package/components/mobile-dialog/index.d.ts +3 -0
  14. package/components/mobile-dialog/mobile-dialog.component.d.ts +10 -0
  15. package/components/mobile-dialog/mobile-dialog.options.d.ts +10 -0
  16. package/components/mobile-dialog/mobile-dialog.service.d.ts +14 -0
  17. package/components/pdf-viewer/index.d.ts +4 -0
  18. package/components/pdf-viewer/pdf-viewer.component.d.ts +12 -0
  19. package/components/pdf-viewer/pdf-viewer.directive.d.ts +8 -0
  20. package/components/pdf-viewer/pdf-viewer.options.d.ts +11 -0
  21. package/components/pdf-viewer/pdf-viewer.service.d.ts +17 -0
  22. package/components/primitive-textfield/primitive-textfield-options.d.ts +2 -2
  23. package/components/primitive-textfield/primitive-textfield.module.d.ts +5 -5
  24. package/components/select/select.module.d.ts +8 -8
  25. package/components/select/select.options.d.ts +1 -7
  26. package/components/select-option/select-option.module.d.ts +3 -3
  27. package/directives/textfield-controller/textfield.options.d.ts +1 -3
  28. package/fesm2022/taiga-ui-legacy-classes.mjs +3 -4
  29. package/fesm2022/taiga-ui-legacy-classes.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +4 -17
  31. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-legacy-components-dialog.mjs +136 -0
  33. package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -0
  34. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs +62 -0
  35. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs.map +1 -0
  36. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +88 -0
  37. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -0
  38. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +18 -18
  39. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +6 -6
  41. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-legacy-components-select.mjs +30 -40
  43. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-legacy-components.mjs +3 -28
  45. package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +0 -1
  47. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +2 -7
  49. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +2 -4
  51. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-legacy-tokens.mjs +1 -1
  53. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-legacy-utils.mjs +1 -7
  55. package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-legacy.mjs +0 -2
  57. package/fesm2022/taiga-ui-legacy.mjs.map +1 -1
  58. package/index.d.ts +0 -2
  59. package/package.json +34 -151
  60. package/utils/icons-path-factory.d.ts +1 -1
  61. package/utils/index.d.ts +0 -1
  62. package/components/color-selector/color-edit/color-edit.component.d.ts +0 -18
  63. package/components/color-selector/color-edit/color-edit.module.d.ts +0 -21
  64. package/components/color-selector/color-picker/color-picker.component.d.ts +0 -22
  65. package/components/color-selector/color-picker/color-picker.module.d.ts +0 -14
  66. package/components/color-selector/color-selector.component.d.ts +0 -47
  67. package/components/color-selector/color-selector.module.d.ts +0 -24
  68. package/components/color-selector/color-selector.options.d.ts +0 -25
  69. package/components/color-selector/flat-picker/flat-picker.component.d.ts +0 -12
  70. package/components/color-selector/flat-picker/flat-picker.module.d.ts +0 -12
  71. package/components/color-selector/index.d.ts +0 -16
  72. package/components/color-selector/linear-multi-picker/linear-multi-picker.component.d.ts +0 -17
  73. package/components/color-selector/linear-multi-picker/linear-multi-picker.module.d.ts +0 -12
  74. package/components/color-selector/linear-picker/linear-picker.component.d.ts +0 -10
  75. package/components/color-selector/linear-picker/linear-picker.module.d.ts +0 -12
  76. package/components/color-selector/palette/palette.component.d.ts +0 -10
  77. package/components/color-selector/palette/palette.module.d.ts +0 -13
  78. package/components/color-selector/services/picker.service.d.ts +0 -15
  79. package/components/combo-box/combo-box-strict.directive.d.ts +0 -12
  80. package/components/combo-box/combo-box.component.d.ts +0 -52
  81. package/components/combo-box/combo-box.directive.d.ts +0 -13
  82. package/components/combo-box/combo-box.module.d.ts +0 -20
  83. package/components/combo-box/index.d.ts +0 -4
  84. package/components/input/index.d.ts +0 -3
  85. package/components/input/input.component.d.ts +0 -32
  86. package/components/input/input.directive.d.ts +0 -12
  87. package/components/input/input.module.d.ts +0 -16
  88. package/components/input-color/index.d.ts +0 -2
  89. package/components/input-color/input-color.component.d.ts +0 -30
  90. package/components/input-color/input-color.module.d.ts +0 -17
  91. package/components/input-copy/index.d.ts +0 -4
  92. package/components/input-copy/input-copy.component.d.ts +0 -33
  93. package/components/input-copy/input-copy.directive.d.ts +0 -11
  94. package/components/input-copy/input-copy.module.d.ts +0 -18
  95. package/components/input-copy/input-copy.options.d.ts +0 -26
  96. package/components/input-date/index.d.ts +0 -3
  97. package/components/input-date/input-date.component.d.ts +0 -62
  98. package/components/input-date/input-date.directive.d.ts +0 -19
  99. package/components/input-date/input-date.module.d.ts +0 -24
  100. package/components/input-date/native-date/native-date.component.d.ts +0 -15
  101. package/components/input-date-multi/index.d.ts +0 -2
  102. package/components/input-date-multi/input-date-multi.component.d.ts +0 -66
  103. package/components/input-date-multi/input-date-multi.module.d.ts +0 -20
  104. package/components/input-date-range/index.d.ts +0 -3
  105. package/components/input-date-range/input-date-range.component.d.ts +0 -67
  106. package/components/input-date-range/input-date-range.directive.d.ts +0 -16
  107. package/components/input-date-range/input-date-range.module.d.ts +0 -22
  108. package/components/input-date-time/index.d.ts +0 -3
  109. package/components/input-date-time/input-date-time.component.d.ts +0 -87
  110. package/components/input-date-time/input-date-time.directive.d.ts +0 -17
  111. package/components/input-date-time/input-date-time.module.d.ts +0 -23
  112. package/components/input-date-time/native-date-time/native-date-time.directive.d.ts +0 -13
  113. package/components/input-month/index.d.ts +0 -3
  114. package/components/input-month/input-month.component.d.ts +0 -44
  115. package/components/input-month/input-month.directive.d.ts +0 -19
  116. package/components/input-month/input-month.module.d.ts +0 -19
  117. package/components/input-month-range/index.d.ts +0 -3
  118. package/components/input-month-range/input-month-range.component.d.ts +0 -38
  119. package/components/input-month-range/input-month-range.directive.d.ts +0 -23
  120. package/components/input-month-range/input-month-range.module.d.ts +0 -18
  121. package/components/input-number/index.d.ts +0 -4
  122. package/components/input-number/input-number.component.d.ts +0 -63
  123. package/components/input-number/input-number.directive.d.ts +0 -16
  124. package/components/input-number/input-number.module.d.ts +0 -18
  125. package/components/input-number/input-number.options.d.ts +0 -29
  126. package/components/input-password/index.d.ts +0 -4
  127. package/components/input-password/input-password.component.d.ts +0 -33
  128. package/components/input-password/input-password.directive.d.ts +0 -15
  129. package/components/input-password/input-password.module.d.ts +0 -19
  130. package/components/input-password/input-password.options.d.ts +0 -25
  131. package/components/input-phone/index.d.ts +0 -4
  132. package/components/input-phone/input-phone.component.d.ts +0 -49
  133. package/components/input-phone/input-phone.directive.d.ts +0 -13
  134. package/components/input-phone/input-phone.module.d.ts +0 -12
  135. package/components/input-phone/input-phone.options.d.ts +0 -13
  136. package/components/input-phone/utils/complete-phone-insertion-preprocessor.d.ts +0 -9
  137. package/components/input-phone/utils/create-phone-mask-expression.d.ts +0 -7
  138. package/components/input-phone/utils/index.d.ts +0 -2
  139. package/components/input-phone-international/index.d.ts +0 -3
  140. package/components/input-phone-international/input-phone-international.component.d.ts +0 -43
  141. package/components/input-phone-international/input-phone-international.options.d.ts +0 -25
  142. package/components/input-phone-international/utils/extract-value-from-event.d.ts +0 -4
  143. package/components/input-range/index.d.ts +0 -2
  144. package/components/input-range/input-range.component.d.ts +0 -56
  145. package/components/input-range/input-range.module.d.ts +0 -19
  146. package/components/input-slider/index.d.ts +0 -2
  147. package/components/input-slider/input-slider.component.d.ts +0 -42
  148. package/components/input-slider/input-slider.module.d.ts +0 -18
  149. package/components/input-tag/index.d.ts +0 -3
  150. package/components/input-tag/input-tag.component.d.ts +0 -103
  151. package/components/input-tag/input-tag.module.d.ts +0 -22
  152. package/components/input-tag/input-tag.options.d.ts +0 -27
  153. package/components/input-time/index.d.ts +0 -4
  154. package/components/input-time/input-time.component.d.ts +0 -62
  155. package/components/input-time/input-time.directive.d.ts +0 -17
  156. package/components/input-time/input-time.module.d.ts +0 -23
  157. package/components/input-time/input-time.options.d.ts +0 -42
  158. package/components/input-time/native-time/native-time.component.d.ts +0 -12
  159. package/components/input-year/index.d.ts +0 -3
  160. package/components/input-year/input-year.component.d.ts +0 -36
  161. package/components/input-year/input-year.directive.d.ts +0 -14
  162. package/components/input-year/input-year.module.d.ts +0 -18
  163. package/components/island/index.d.ts +0 -1
  164. package/components/island/island.directive.d.ts +0 -20
  165. package/components/multi-select/hide-selected.pipe.d.ts +0 -11
  166. package/components/multi-select/index.d.ts +0 -10
  167. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +0 -23
  168. package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +0 -8
  169. package/components/multi-select/multi-select.component.d.ts +0 -71
  170. package/components/multi-select/multi-select.directive.d.ts +0 -14
  171. package/components/multi-select/multi-select.module.d.ts +0 -31
  172. package/components/multi-select/multi-select.options.d.ts +0 -14
  173. package/components/multi-select/native-multi-select/native-multi-select-group.component.d.ts +0 -9
  174. package/components/multi-select/native-multi-select/native-multi-select.component.d.ts +0 -8
  175. package/components/multi-select/native-multi-select/native-multi-select.d.ts +0 -11
  176. package/components/multi-select-option/index.d.ts +0 -2
  177. package/components/multi-select-option/multi-select-option.component.d.ts +0 -9
  178. package/components/multi-select-option/multi-select-option.module.d.ts +0 -9
  179. package/components/sheet/components/sheet/sheet.component.d.ts +0 -31
  180. package/components/sheet/components/sheet/sheet.providers.d.ts +0 -2
  181. package/components/sheet/components/sheet-bar/sheet-bar.component.d.ts +0 -11
  182. package/components/sheet/components/sheet-heading/sheet-heading.component.d.ts +0 -14
  183. package/components/sheet/components/sheets-host/sheets-host.component.d.ts +0 -15
  184. package/components/sheet/directives/sheet-close/sheet-close.directive.d.ts +0 -14
  185. package/components/sheet/directives/sheet-stop/sheet-stop.directive.d.ts +0 -9
  186. package/components/sheet/directives/sheet-top/sheet-top.directive.d.ts +0 -14
  187. package/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.d.ts +0 -17
  188. package/components/sheet/index.d.ts +0 -14
  189. package/components/sheet/sheet-options.d.ts +0 -27
  190. package/components/sheet/sheet-tokens.d.ts +0 -18
  191. package/components/sheet/sheet.d.ts +0 -21
  192. package/components/sheet/sheet.directive.d.ts +0 -17
  193. package/components/sheet/sheet.module.d.ts +0 -24
  194. package/components/sheet/sheet.service.d.ts +0 -17
  195. package/components/svg/content-processor.d.ts +0 -19
  196. package/components/svg/deprecated-icons.d.ts +0 -5
  197. package/components/svg/index.d.ts +0 -5
  198. package/components/svg/svg-options.d.ts +0 -50
  199. package/components/svg/svg.component.d.ts +0 -50
  200. package/components/svg/svg.service.d.ts +0 -21
  201. package/components/table-bar/index.d.ts +0 -4
  202. package/components/table-bar/table-bar.component.d.ts +0 -17
  203. package/components/table-bar/table-bar.directive.d.ts +0 -11
  204. package/components/table-bar/table-bar.options.d.ts +0 -31
  205. package/components/table-bar/table-bars-host.component.d.ts +0 -10
  206. package/components/table-bar/table-bars.service.d.ts +0 -11
  207. package/components/tag/index.d.ts +0 -3
  208. package/components/tag/tag.component.d.ts +0 -44
  209. package/components/tag/tag.module.d.ts +0 -16
  210. package/components/tag/tag.options.d.ts +0 -27
  211. package/components/textarea/index.d.ts +0 -3
  212. package/components/textarea/textarea.component.d.ts +0 -54
  213. package/components/textarea/textarea.directive.d.ts +0 -12
  214. package/components/textarea/textarea.module.d.ts +0 -21
  215. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +0 -730
  216. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +0 -1
  217. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +0 -300
  218. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +0 -1
  219. package/fesm2022/taiga-ui-legacy-components-input-color.mjs +0 -127
  220. package/fesm2022/taiga-ui-legacy-components-input-color.mjs.map +0 -1
  221. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +0 -197
  222. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +0 -1
  223. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +0 -272
  224. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +0 -1
  225. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +0 -356
  226. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +0 -1
  227. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +0 -465
  228. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +0 -1
  229. package/fesm2022/taiga-ui-legacy-components-input-date.mjs +0 -372
  230. package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +0 -1
  231. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +0 -221
  232. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +0 -1
  233. package/fesm2022/taiga-ui-legacy-components-input-month.mjs +0 -231
  234. package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +0 -1
  235. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +0 -390
  236. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +0 -1
  237. package/fesm2022/taiga-ui-legacy-components-input-password.mjs +0 -187
  238. package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +0 -1
  239. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +0 -215
  240. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +0 -1
  241. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +0 -358
  242. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +0 -1
  243. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +0 -261
  244. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +0 -1
  245. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +0 -199
  246. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +0 -1
  247. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +0 -524
  248. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +0 -1
  249. package/fesm2022/taiga-ui-legacy-components-input-time.mjs +0 -430
  250. package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +0 -1
  251. package/fesm2022/taiga-ui-legacy-components-input-year.mjs +0 -188
  252. package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +0 -1
  253. package/fesm2022/taiga-ui-legacy-components-input.mjs +0 -156
  254. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +0 -1
  255. package/fesm2022/taiga-ui-legacy-components-island.mjs +0 -68
  256. package/fesm2022/taiga-ui-legacy-components-island.mjs.map +0 -1
  257. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +0 -47
  258. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +0 -1
  259. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +0 -690
  260. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +0 -1
  261. package/fesm2022/taiga-ui-legacy-components-sheet.mjs +0 -577
  262. package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +0 -1
  263. package/fesm2022/taiga-ui-legacy-components-svg.mjs +0 -387
  264. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +0 -1
  265. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +0 -147
  266. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +0 -1
  267. package/fesm2022/taiga-ui-legacy-components-tag.mjs +0 -225
  268. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +0 -1
  269. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +0 -262
  270. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +0 -1
  271. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +0 -59
  272. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +0 -1
  273. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -50
  274. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +0 -1
  275. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +0 -80
  276. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +0 -1
  277. package/fesm2022/taiga-ui-legacy-pipes.mjs +0 -8
  278. package/fesm2022/taiga-ui-legacy-pipes.mjs.map +0 -1
  279. package/fesm2022/taiga-ui-legacy-services.mjs +0 -42
  280. package/fesm2022/taiga-ui-legacy-services.mjs.map +0 -1
  281. package/pipes/format-phone/format-phone.pipe.d.ts +0 -37
  282. package/pipes/format-phone/index.d.ts +0 -1
  283. package/pipes/index.d.ts +0 -3
  284. package/pipes/iso-to-country-code/index.d.ts +0 -1
  285. package/pipes/iso-to-country-code/iso-to-country-code.pipe.d.ts +0 -30
  286. package/pipes/to-country-code/index.d.ts +0 -1
  287. package/pipes/to-country-code/to-country-code.pipe.d.ts +0 -38
  288. package/services/index.d.ts +0 -1
  289. package/services/static-request.service.d.ts +0 -11
  290. package/utils/is-apple.d.ts +0 -5
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, computed, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { 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';
@@ -8,7 +8,7 @@ import { AbstractTuiControl } from '@taiga-ui/legacy/classes';
8
8
  import { TUI_TEXTFIELD_SIZE } from '@taiga-ui/legacy/directives';
9
9
  import { PolymorpheusOutlet, PolymorpheusComponent } from '@taiga-ui/polymorpheus';
10
10
  import { of } from 'rxjs';
11
- import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
11
+ import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
12
12
 
13
13
  /**
14
14
  * @deprecated: drop in v5.0 use {@link TuiChevron}
@@ -21,12 +21,7 @@ const TUI_ARROW_DEFAULT_OPTIONS = {
21
21
  * @deprecated: drop in v5.0
22
22
  * Default parameters for arrow component
23
23
  */
24
- const TUI_ARROW_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_ARROW_OPTIONS' : '', {
25
- factory: () => TUI_ARROW_DEFAULT_OPTIONS,
26
- });
27
- function tuiArrowOptionsProvider(options) {
28
- return tuiProvideOptions(TUI_ARROW_OPTIONS, options, TUI_ARROW_DEFAULT_OPTIONS);
29
- }
24
+ const [TUI_ARROW_OPTIONS, tuiArrowOptionsProvider] = tuiCreateOptions(TUI_ARROW_DEFAULT_OPTIONS);
30
25
 
31
26
  /**
32
27
  * @deprecated: drop in v5.0 use {@link TuiChevron}
@@ -67,15 +62,7 @@ const TUI_ARROW_DEFAULT_MODE = {
67
62
  /**
68
63
  * @deprecated: drop in v5.0 use {@link TuiChevron}
69
64
  */
70
- const TUI_ARROW_MODE = new InjectionToken(ngDevMode ? 'TUI_ARROW_MODE' : '', {
71
- factory: () => TUI_ARROW_DEFAULT_MODE,
72
- });
73
- /**
74
- * @deprecated: drop in v5.0 use {@link TuiChevron}
75
- */
76
- function tuiArrowModeProvider(options) {
77
- return tuiProvideOptions(TUI_ARROW_MODE, options, TUI_ARROW_DEFAULT_MODE);
78
- }
65
+ const [TUI_ARROW_MODE, tuiArrowModeProvider] = tuiCreateOptions(TUI_ARROW_DEFAULT_MODE);
79
66
 
80
67
  /**
81
68
  * Generated bundle index. Do not edit.
@@ -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 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 {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\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, tuiArrowOptionsProvider] = tuiCreateOptions(\n 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 {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\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, tuiArrowModeProvider] =\n tuiCreateOptions(TUI_ARROW_DEFAULT_MODE);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;AAWA;;AAEG;AACU,MAAA,yBAAyB,GAAoB;AACtD,IAAA,SAAS,EAAE,mBAAmB;AAC9B,IAAA,SAAS,EAAE,mBAAmB;;AAGlC;;;AAGG;AACI,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,GAAG,gBAAgB,CACxE,yBAAyB;;ACR7B;;AAEG;MAYU,iBAAiB,CAAA;AAX9B,IAAA,WAAA,GAAA;QAYqB,IAAO,CAAA,OAAA,GAAQ,MAAM,CAAC,kBAAkB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC1C,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACjC,IAAY,CAAA,YAAA,GAAG,QAAQ,CACtC,MAAM,CAAC,eAAe,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,EAAE,qBAAqB,IAAI,EAAE,CAAC,KAAK,CAAC,CAChF;AAEkB,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CACjC,MAAM,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAC3D;AASJ;AAPG,IAAA,IAAc,KAAK,GAAA;QACf,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;;AAGlD,IAAA,IAAc,SAAS,GAAA;QACnB,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;;+GAjB/D,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EC9B9B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,OAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,mFAIA,EDiBc,MAAA,EAAA,CAAA,oPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,8HAAE,OAAO,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAS5B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAX7B,SAAS;+BACI,WAAW,EAAA,OAAA,EACZ,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAGrB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,WAAW;AAC/B,wBAAA,gBAAgB,EAAE,OAAO;AAC5B,qBAAA,EAAA,QAAA,EAAA,mFAAA,EAAA,MAAA,EAAA,CAAA,oPAAA,CAAA,EAAA;;MAuBQ,SAAS,GAAG,IAAI,qBAAqB,CAAC,iBAAiB;;AEpCpE;;AAEG;AACU,MAAA,sBAAsB,GAAiB;AAChD,IAAA,WAAW,EAAE,SAAS;AACtB,IAAA,QAAQ,EAAE,SAAS;;AAGvB;;AAEG;AACI,MAAM,CAAC,cAAc,EAAE,oBAAoB,CAAC,GAC/C,gBAAgB,CAAC,sBAAsB;;AC3B3C;;AAEG;;;;"}
@@ -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/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 * as i1$1 from '@taiga-ui/cdk/portals';
15
+ import { tuiAsPortal, TuiPortalDirective } from '@taiga-ui/cdk/portals';
16
+ import { TuiModalService } from '@taiga-ui/core/components/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.15", ngImport: i0, type: TuiDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
54
+ 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 }); }
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", 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.15", ngImport: i0, type: TuiDialogService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
88
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogService, providedIn: 'root' }); }
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", 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.15", ngImport: i0, type: TuiDialog, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
102
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", 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.15", 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/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 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/components/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":"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"}
@@ -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';
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/components/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.15", ngImport: i0, type: TuiMobileDialog, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", 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.15", 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.15", ngImport: i0, type: TuiMobileDialogService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
48
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiMobileDialogService, providedIn: 'root' }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", 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';\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/components/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;;;;"}
@@ -0,0 +1,88 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, ChangeDetectionStrategy, Component, Injectable, input, Directive } from '@angular/core';
3
+ import * as i1 from '@taiga-ui/cdk/directives/animated';
4
+ import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
5
+ import { TuiButton } from '@taiga-ui/core/components/button';
6
+ import { TUI_CLOSE_WORD, TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
7
+ import { injectContext, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
8
+ import * as i1$1 from '@taiga-ui/cdk/portals';
9
+ import { tuiAsPortal, TuiPortalDirective } from '@taiga-ui/cdk/portals';
10
+ import { TuiModalService } from '@taiga-ui/core/components/modal';
11
+ import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
12
+
13
+ class TuiPdfViewerComponent {
14
+ constructor() {
15
+ this.closeWord = inject(TUI_CLOSE_WORD);
16
+ this.icons = inject(TUI_COMMON_ICONS);
17
+ this.context = injectContext();
18
+ }
19
+ onKeyDownEsc() {
20
+ this.context.$implicit.complete();
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPdfViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiPdfViewerComponent, isStandalone: true, selector: "tui-pdf-viewer", host: { listeners: { "document:keydown.esc": "onKeyDownEsc()" } }, hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "<header class=\"t-header\">\n <h2\n automation-id=\"tui-pdf-viewer__label\"\n class=\"t-title\"\n >\n {{ context.label }}\n </h2>\n <div class=\"t-actions\">\n <ng-container *polymorpheusOutlet=\"context.actions as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n <button\n appearance=\"\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ closeWord() }}\n </button>\n</header>\n<section class=\"t-content\">\n <iframe\n *polymorpheusOutlet=\"context.content as content; context: context\"\n title=\"pdf\"\n class=\"t-iframe\"\n [src]=\"content\"\n ></iframe>\n</section>\n", styles: [":host{display:block;inline-size:100%;block-size:100%;box-sizing:border-box;color:#fff;background:#333639;padding-block-start:env(safe-area-inset-top);padding-block-end:env(safe-area-inset-bottom)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}.t-header{display:flex;align-items:center;block-size:4rem;padding:0 1rem 0 1.5625rem;box-shadow:inset 0 -1px #535659}.t-title{margin:0;font:var(--tui-font-text-m);white-space:nowrap;text-overflow:ellipsis;padding-inline-end:.3125rem;overflow:hidden}.t-actions{display:flex;margin-inline-start:auto}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-inline-start:.75rem;color:#fff;background:#ffffff52}.t-close:hover{background:#fff6}.t-content{block-size:calc(100% - 4rem);overflow:hidden}.t-iframe{inline-size:100%;block-size:100%}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPdfViewerComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: 'tui-pdf-viewer', imports: [PolymorpheusOutlet, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiAnimated], host: {
28
+ '(document:keydown.esc)': 'onKeyDownEsc()',
29
+ }, template: "<header class=\"t-header\">\n <h2\n automation-id=\"tui-pdf-viewer__label\"\n class=\"t-title\"\n >\n {{ context.label }}\n </h2>\n <div class=\"t-actions\">\n <ng-container *polymorpheusOutlet=\"context.actions as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n <button\n appearance=\"\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ closeWord() }}\n </button>\n</header>\n<section class=\"t-content\">\n <iframe\n *polymorpheusOutlet=\"context.content as content; context: context\"\n title=\"pdf\"\n class=\"t-iframe\"\n [src]=\"content\"\n ></iframe>\n</section>\n", styles: [":host{display:block;inline-size:100%;block-size:100%;box-sizing:border-box;color:#fff;background:#333639;padding-block-start:env(safe-area-inset-top);padding-block-end:env(safe-area-inset-bottom)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}.t-header{display:flex;align-items:center;block-size:4rem;padding:0 1rem 0 1.5625rem;box-shadow:inset 0 -1px #535659}.t-title{margin:0;font:var(--tui-font-text-m);white-space:nowrap;text-overflow:ellipsis;padding-inline-end:.3125rem;overflow:hidden}.t-actions{display:flex;margin-inline-start:auto}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-inline-start:.75rem;color:#fff;background:#ffffff52}.t-close:hover{background:#fff6}.t-content{block-size:calc(100% - 4rem);overflow:hidden}.t-iframe{inline-size:100%;block-size:100%}\n"] }]
30
+ }] });
31
+
32
+ const TUI_PDF_VIEWER_DEFAULT_OPTIONS = {
33
+ label: '',
34
+ actions: '',
35
+ data: undefined,
36
+ };
37
+ /**
38
+ * Default parameters for PdfViewer component
39
+ */
40
+ const [TUI_PDF_VIEWER_OPTIONS, tuiPdfViewerOptionsProvider] = tuiCreateOptions(TUI_PDF_VIEWER_DEFAULT_OPTIONS);
41
+
42
+ class TuiPdfViewerService extends TuiModalService {
43
+ constructor() {
44
+ super(...arguments);
45
+ this.options = inject(TUI_PDF_VIEWER_OPTIONS);
46
+ this.content = TuiPdfViewerComponent;
47
+ }
48
+ open(content, options = {}) {
49
+ return super.open(content, options);
50
+ }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPdfViewerService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
52
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPdfViewerService, providedIn: 'root' }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPdfViewerService, decorators: [{
55
+ type: Injectable,
56
+ args: [{
57
+ providedIn: 'root',
58
+ }]
59
+ }] });
60
+
61
+ class TuiPdfViewerDirective {
62
+ constructor() {
63
+ this.tuiPdfViewerOptions = input({});
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPdfViewerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
66
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiPdfViewerDirective, isStandalone: true, selector: "ng-template[tuiPdfViewer]", inputs: { tuiPdfViewerOptions: { classPropertyName: "tuiPdfViewerOptions", publicName: "tuiPdfViewerOptions", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsPortal(TuiPdfViewerService)], hostDirectives: [{ directive: i1$1.TuiPortalDirective, inputs: ["options", "tuiPdfViewerOptions", "open", "tuiPdfViewer"], outputs: ["openChange", "tuiPdfViewerChange"] }], ngImport: i0 }); }
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPdfViewerDirective, decorators: [{
69
+ type: Directive,
70
+ args: [{
71
+ selector: 'ng-template[tuiPdfViewer]',
72
+ providers: [tuiAsPortal(TuiPdfViewerService)],
73
+ hostDirectives: [
74
+ {
75
+ directive: TuiPortalDirective,
76
+ inputs: ['options: tuiPdfViewerOptions', 'open: tuiPdfViewer'],
77
+ outputs: ['openChange: tuiPdfViewerChange'],
78
+ },
79
+ ],
80
+ }]
81
+ }] });
82
+
83
+ /**
84
+ * Generated bundle index. Do not edit.
85
+ */
86
+
87
+ export { TUI_PDF_VIEWER_DEFAULT_OPTIONS, TUI_PDF_VIEWER_OPTIONS, TuiPdfViewerComponent, TuiPdfViewerDirective, TuiPdfViewerService, tuiPdfViewerOptionsProvider };
88
+ //# sourceMappingURL=taiga-ui-legacy-components-pdf-viewer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-legacy-components-pdf-viewer.mjs","sources":["../../../projects/legacy/components/pdf-viewer/pdf-viewer.component.ts","../../../projects/legacy/components/pdf-viewer/pdf-viewer.template.html","../../../projects/legacy/components/pdf-viewer/pdf-viewer.options.ts","../../../projects/legacy/components/pdf-viewer/pdf-viewer.service.ts","../../../projects/legacy/components/pdf-viewer/pdf-viewer.directive.ts","../../../projects/legacy/components/pdf-viewer/taiga-ui-legacy-components-pdf-viewer.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {type TuiPdfViewerOptions} from './pdf-viewer.options';\n\n@Component({\n selector: 'tui-pdf-viewer',\n imports: [PolymorpheusOutlet, TuiButton],\n templateUrl: './pdf-viewer.template.html',\n styleUrl: './pdf-viewer.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiAnimated],\n host: {\n '(document:keydown.esc)': 'onKeyDownEsc()',\n },\n})\nexport class TuiPdfViewerComponent<I, O> {\n protected readonly closeWord = inject(TUI_CLOSE_WORD);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly context =\n injectContext<TuiPortalContext<TuiPdfViewerOptions<I>, O>>();\n\n protected onKeyDownEsc(): void {\n this.context.$implicit.complete();\n }\n}\n","<header class=\"t-header\">\n <h2\n automation-id=\"tui-pdf-viewer__label\"\n class=\"t-title\"\n >\n {{ context.label }}\n </h2>\n <div class=\"t-actions\">\n <ng-container *polymorpheusOutlet=\"context.actions as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n <button\n appearance=\"\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ closeWord() }}\n </button>\n</header>\n<section class=\"t-content\">\n <iframe\n *polymorpheusOutlet=\"context.content as content; context: context\"\n title=\"pdf\"\n class=\"t-iframe\"\n [src]=\"content\"\n ></iframe>\n</section>\n","import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport const TUI_PDF_VIEWER_DEFAULT_OPTIONS: TuiPdfViewerOptions = {\n label: '',\n actions: '',\n data: undefined,\n};\n\n/**\n * Default parameters for PdfViewer component\n */\nexport const [TUI_PDF_VIEWER_OPTIONS, tuiPdfViewerOptionsProvider] = tuiCreateOptions(\n TUI_PDF_VIEWER_DEFAULT_OPTIONS,\n);\n\nexport interface TuiPdfViewerOptions<I = undefined> {\n readonly actions: PolymorpheusContent<TuiPdfViewerOptions<I>>;\n readonly data: I;\n readonly label: string;\n}\n","import {inject, Injectable} from '@angular/core';\nimport {type SafeResourceUrl} from '@angular/platform-browser';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {TuiModalService} from '@taiga-ui/core/components/modal';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {type Observable} from 'rxjs';\n\nimport {TuiPdfViewerComponent} from './pdf-viewer.component';\nimport {TUI_PDF_VIEWER_OPTIONS, type TuiPdfViewerOptions} from './pdf-viewer.options';\n\ntype Content<G> = PolymorpheusContent<TuiPortalContext<TuiPdfViewerOptions<unknown>, G>>;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiPdfViewerService extends TuiModalService<TuiPdfViewerOptions<unknown>> {\n protected readonly options = inject(TUI_PDF_VIEWER_OPTIONS);\n protected readonly content = TuiPdfViewerComponent;\n\n public override open<G>(\n content: Content<G> | SafeResourceUrl,\n options: Partial<TuiPdfViewerOptions<any>> = {},\n ): Observable<G> {\n return super.open(content as Content<G>, options);\n }\n}\n","import {Directive, input} from '@angular/core';\nimport {tuiAsPortal, TuiPortalDirective} from '@taiga-ui/cdk/portals';\n\nimport {type TuiPdfViewerOptions} from './pdf-viewer.options';\nimport {TuiPdfViewerService} from './pdf-viewer.service';\n\n@Directive({\n selector: 'ng-template[tuiPdfViewer]',\n providers: [tuiAsPortal(TuiPdfViewerService)],\n hostDirectives: [\n {\n directive: TuiPortalDirective,\n inputs: ['options: tuiPdfViewerOptions', 'open: tuiPdfViewer'],\n outputs: ['openChange: tuiPdfViewerChange'],\n },\n ],\n})\nexport class TuiPdfViewerDirective<T> {\n public readonly tuiPdfViewerOptions = input<Partial<TuiPdfViewerOptions<T>>>({});\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}