@taiga-ui/core 2.75.0 → 2.77.0

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 (588) hide show
  1. package/abstract/abstract-dropdown.d.ts +2 -2
  2. package/abstract/taiga-ui-core-abstract.metadata.json +1 -1
  3. package/bundles/taiga-ui-core-abstract.umd.js +49 -2
  4. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-abstract.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-core-components-alert.umd.js +55 -10
  7. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-components-alert.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-button.umd.js +60 -15
  10. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-button.umd.min.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-calendar.umd.js +47 -2
  13. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  14. package/bundles/taiga-ui-core-components-calendar.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-core-components-data-list.umd.js +83 -39
  16. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  17. package/bundles/taiga-ui-core-components-data-list.umd.min.js +1 -1
  18. package/bundles/taiga-ui-core-components-data-list.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-core-components-dialog.umd.js +79 -36
  20. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  21. package/bundles/taiga-ui-core-components-dialog.umd.min.js +1 -1
  22. package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
  23. package/bundles/taiga-ui-core-components-dropdown-box.umd.js +84 -39
  24. package/bundles/taiga-ui-core-components-dropdown-box.umd.js.map +1 -1
  25. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-core-components-error.umd.js +50 -5
  27. package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
  28. package/bundles/taiga-ui-core-components-error.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-core-components-expand.umd.js +58 -13
  30. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  31. package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-core-components-group.umd.js +64 -19
  33. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  34. package/bundles/taiga-ui-core-components-group.umd.min.js.map +1 -1
  35. package/bundles/taiga-ui-core-components-hints-host.umd.js +93 -48
  36. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  37. package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
  38. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +56 -11
  39. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  40. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-core-components-label.umd.js +51 -6
  42. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  43. package/bundles/taiga-ui-core-components-label.umd.min.js +1 -1
  44. package/bundles/taiga-ui-core-components-label.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-core-components-link.umd.js +57 -12
  46. package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
  47. package/bundles/taiga-ui-core-components-link.umd.min.js.map +1 -1
  48. package/bundles/taiga-ui-core-components-loader.umd.js +48 -3
  49. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  50. package/bundles/taiga-ui-core-components-loader.umd.min.js.map +1 -1
  51. package/bundles/taiga-ui-core-components-notification.umd.js +54 -9
  52. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  53. package/bundles/taiga-ui-core-components-notification.umd.min.js.map +1 -1
  54. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +48 -3
  55. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  56. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +49 -4
  58. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  59. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js.map +1 -1
  60. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +48 -3
  61. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
  62. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js.map +1 -1
  63. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +97 -52
  64. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  65. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  66. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +48 -3
  67. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  68. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
  69. package/bundles/taiga-ui-core-components-root.umd.js +50 -5
  70. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  71. package/bundles/taiga-ui-core-components-root.umd.min.js.map +1 -1
  72. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +72 -27
  73. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  74. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js.map +1 -1
  75. package/bundles/taiga-ui-core-components-scrollbar.umd.js +54 -9
  76. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  77. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js.map +1 -1
  78. package/bundles/taiga-ui-core-components-svg.umd.js +61 -16
  79. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  80. package/bundles/taiga-ui-core-components-svg.umd.min.js.map +1 -1
  81. package/bundles/taiga-ui-core-components-theme-night.umd.js +48 -3
  82. package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
  83. package/bundles/taiga-ui-core-components-theme-night.umd.min.js.map +1 -1
  84. package/bundles/taiga-ui-core-components-tooltip.umd.js +53 -8
  85. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  86. package/bundles/taiga-ui-core-components-tooltip.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-core-directives-color.umd.js +52 -7
  88. package/bundles/taiga-ui-core-directives-color.umd.js.map +1 -1
  89. package/bundles/taiga-ui-core-directives-color.umd.min.js.map +1 -1
  90. package/bundles/taiga-ui-core-directives-described-by.umd.js +50 -5
  91. package/bundles/taiga-ui-core-directives-described-by.umd.js.map +1 -1
  92. package/bundles/taiga-ui-core-directives-described-by.umd.min.js.map +1 -1
  93. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.js +55 -10
  94. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.js.map +1 -1
  95. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.min.js.map +1 -1
  96. package/bundles/taiga-ui-core-directives-dropdown.umd.js +48 -3
  97. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  98. package/bundles/taiga-ui-core-directives-dropdown.umd.min.js.map +1 -1
  99. package/bundles/taiga-ui-core-directives-hint-controller.umd.js +52 -7
  100. package/bundles/taiga-ui-core-directives-hint-controller.umd.js.map +1 -1
  101. package/bundles/taiga-ui-core-directives-hint-controller.umd.min.js.map +1 -1
  102. package/bundles/taiga-ui-core-directives-hint.umd.js +51 -6
  103. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  104. package/bundles/taiga-ui-core-directives-hint.umd.min.js.map +1 -1
  105. package/bundles/taiga-ui-core-directives-manual-hint.umd.js +49 -4
  106. package/bundles/taiga-ui-core-directives-manual-hint.umd.js.map +1 -1
  107. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js.map +1 -1
  108. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js +47 -2
  109. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js.map +1 -1
  110. package/bundles/taiga-ui-core-directives-mask-accessor.umd.min.js.map +1 -1
  111. package/bundles/taiga-ui-core-directives-mode.umd.js +48 -3
  112. package/bundles/taiga-ui-core-directives-mode.umd.js.map +1 -1
  113. package/bundles/taiga-ui-core-directives-mode.umd.min.js.map +1 -1
  114. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js +50 -5
  115. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js.map +1 -1
  116. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js.map +1 -1
  117. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js +47 -2
  118. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js.map +1 -1
  119. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.min.js.map +1 -1
  120. package/bundles/taiga-ui-core-directives-table-mode.umd.js +48 -3
  121. package/bundles/taiga-ui-core-directives-table-mode.umd.js.map +1 -1
  122. package/bundles/taiga-ui-core-directives-table-mode.umd.min.js.map +1 -1
  123. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +79 -34
  124. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  125. package/bundles/taiga-ui-core-directives-textfield-controller.umd.min.js.map +1 -1
  126. package/bundles/taiga-ui-core-directives-wrapper.umd.js +55 -10
  127. package/bundles/taiga-ui-core-directives-wrapper.umd.js.map +1 -1
  128. package/bundles/taiga-ui-core-directives-wrapper.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +47 -2
  130. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  131. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js.map +1 -1
  132. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js +47 -2
  133. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js.map +1 -1
  134. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.min.js.map +1 -1
  135. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js +47 -2
  136. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
  137. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.min.js.map +1 -1
  138. package/bundles/taiga-ui-core-pipes-format-date.umd.js +46 -1
  139. package/bundles/taiga-ui-core-pipes-format-date.umd.js.map +1 -1
  140. package/bundles/taiga-ui-core-pipes-format-date.umd.min.js.map +1 -1
  141. package/bundles/taiga-ui-core-pipes-format-number.umd.js +46 -1
  142. package/bundles/taiga-ui-core-pipes-format-number.umd.js.map +1 -1
  143. package/bundles/taiga-ui-core-pipes-format-number.umd.min.js.map +1 -1
  144. package/bundles/taiga-ui-core-pipes-format-phone.umd.js +46 -1
  145. package/bundles/taiga-ui-core-pipes-format-phone.umd.js.map +1 -1
  146. package/bundles/taiga-ui-core-pipes-format-phone.umd.min.js.map +1 -1
  147. package/bundles/taiga-ui-core-pipes-month.umd.js +46 -1
  148. package/bundles/taiga-ui-core-pipes-month.umd.js.map +1 -1
  149. package/bundles/taiga-ui-core-pipes-month.umd.min.js.map +1 -1
  150. package/bundles/taiga-ui-core-pipes-pluralize.umd.js +46 -1
  151. package/bundles/taiga-ui-core-pipes-pluralize.umd.js.map +1 -1
  152. package/bundles/taiga-ui-core-pipes-pluralize.umd.min.js.map +1 -1
  153. package/bundles/taiga-ui-core-services.umd.js +46 -1
  154. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  155. package/bundles/taiga-ui-core-services.umd.min.js.map +1 -1
  156. package/bundles/taiga-ui-core-tokens.umd.js +46 -1
  157. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  158. package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
  159. package/bundles/taiga-ui-core-utils-dom.umd.js +1 -3
  160. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  161. package/bundles/taiga-ui-core-utils-dom.umd.min.js +1 -1
  162. package/bundles/taiga-ui-core-utils-dom.umd.min.js.map +1 -1
  163. package/bundles/taiga-ui-core-utils-format.umd.js +46 -1
  164. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  165. package/bundles/taiga-ui-core-utils-format.umd.min.js.map +1 -1
  166. package/bundles/taiga-ui-core-utils-mask.umd.js +47 -2
  167. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  168. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  169. package/bundles/taiga-ui-core-utils-polyfills.umd.js.map +1 -1
  170. package/bundles/taiga-ui-core-utils-polyfills.umd.min.js.map +1 -1
  171. package/components/button/button-options.d.ts +3 -3
  172. package/components/button/button.component.d.ts +2 -2
  173. package/components/calendar/calendar.component.d.ts +1 -1
  174. package/components/data-list/option/option.component.d.ts +1 -1
  175. package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
  176. package/components/dropdown-box/dropdown-box.component.d.ts +3 -3
  177. package/components/label/taiga-ui-core-components-label.metadata.json +1 -1
  178. package/components/link/link.component.d.ts +1 -1
  179. package/components/loader/loader.component.d.ts +1 -1
  180. package/components/notification/notification.component.d.ts +1 -1
  181. package/components/primitive-calendar/primitive-calendar.component.d.ts +2 -2
  182. package/components/primitive-textfield/primitive-textfield.component.d.ts +2 -2
  183. package/components/primitive-year-picker/primitive-year-picker.component.d.ts +1 -1
  184. package/components/svg/svg.component.d.ts +1 -1
  185. package/components/svg/taiga-ui-core-components-svg.metadata.json +1 -1
  186. package/constants/version.d.ts +1 -1
  187. package/directives/dropdown-controller/taiga-ui-core-directives-dropdown-controller.metadata.json +1 -1
  188. package/directives/textfield-controller/textfield-size.directive.d.ts +1 -1
  189. package/directives/textfield-controller/textfield.controller.d.ts +1 -1
  190. package/esm2015/abstract/abstract-dropdown.js +1 -1
  191. package/esm2015/abstract/abstract-textfield-host.js +7 -3
  192. package/esm2015/components/alert/alert.component.js +10 -10
  193. package/esm2015/components/button/button-options.js +1 -1
  194. package/esm2015/components/button/button.component.js +15 -15
  195. package/esm2015/components/calendar/calendar.component.js +2 -2
  196. package/esm2015/components/data-list/data-list-dropdown-manager.directive.js +9 -10
  197. package/esm2015/components/data-list/data-list.component.js +12 -12
  198. package/esm2015/components/data-list/data-list.directive.js +2 -2
  199. package/esm2015/components/data-list/opt-group.directive.js +5 -5
  200. package/esm2015/components/data-list/option/option.component.js +13 -13
  201. package/esm2015/components/dialog/dialog.component.js +12 -12
  202. package/esm2015/components/dialog/dialog.directive.js +4 -4
  203. package/esm2015/components/dialog/dialog.providers.js +22 -17
  204. package/esm2015/components/dropdown-box/dropdown-box.component.js +39 -39
  205. package/esm2015/components/error/error.component.js +5 -5
  206. package/esm2015/components/expand/expand-content.directive.js +2 -2
  207. package/esm2015/components/expand/expand.component.js +12 -12
  208. package/esm2015/components/group/group-styles.component.js +2 -2
  209. package/esm2015/components/group/group.component.js +4 -4
  210. package/esm2015/components/group/group.directive.js +15 -15
  211. package/esm2015/components/hints-host/hint-box/hint-box.component.js +46 -46
  212. package/esm2015/components/hints-host/hints-host.component.js +3 -3
  213. package/esm2015/components/hosted-dropdown/hosted-dropdown-connector.directive.js +2 -2
  214. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +10 -10
  215. package/esm2015/components/label/label.component.js +6 -6
  216. package/esm2015/components/link/link.component.js +12 -12
  217. package/esm2015/components/loader/loader.component.js +3 -3
  218. package/esm2015/components/notification/notification.component.js +9 -9
  219. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +3 -3
  220. package/esm2015/components/primitive-checkbox/primitive-checkbox.component.js +4 -4
  221. package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +3 -3
  222. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +28 -28
  223. package/esm2015/components/primitive-textfield/primitive-textfield.directive.js +2 -2
  224. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +13 -13
  225. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +12 -12
  226. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  227. package/esm2015/components/root/root.component.js +5 -5
  228. package/esm2015/components/scroll-controls/scroll-controls.component.js +4 -4
  229. package/esm2015/components/scroll-controls/scrollbar-wrapper.directive.js +2 -2
  230. package/esm2015/components/scroll-controls/scrollbar.directive.js +23 -23
  231. package/esm2015/components/scrollbar/scroll-ref.directive.js +2 -2
  232. package/esm2015/components/scrollbar/scrollable.directive.js +2 -2
  233. package/esm2015/components/scrollbar/scrollbar.component.js +7 -7
  234. package/esm2015/components/svg/svg.component.js +16 -16
  235. package/esm2015/components/theme-night/theme-night.component.js +3 -3
  236. package/esm2015/components/tooltip/tooltip.component.js +8 -8
  237. package/esm2015/directives/color/color.directive.js +7 -7
  238. package/esm2015/directives/described-by/described-by.directive.js +5 -5
  239. package/esm2015/directives/dropdown/dropdown.directive.js +3 -3
  240. package/esm2015/directives/dropdown-controller/dropdown-controller.directive.js +10 -10
  241. package/esm2015/directives/hint/hint.directive.js +6 -6
  242. package/esm2015/directives/hint-controller/hint-controller.directive.js +7 -7
  243. package/esm2015/directives/manual-hint/manual-hint.directive.js +4 -4
  244. package/esm2015/directives/mask-accessor/mask-accessor.directive.js +2 -2
  245. package/esm2015/directives/mode/mode.directive.js +3 -3
  246. package/esm2015/directives/pointer-hint/pointer-hint.directive.js +5 -5
  247. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +2 -2
  248. package/esm2015/directives/table-mode/table-mode.directive.js +3 -3
  249. package/esm2015/directives/textfield-controller/textfield-autocomplete.directive.js +5 -5
  250. package/esm2015/directives/textfield-controller/textfield-cleaner.directive.js +4 -4
  251. package/esm2015/directives/textfield-controller/textfield-custom-content.directive.js +5 -5
  252. package/esm2015/directives/textfield-controller/textfield-example-text.directive.js +5 -5
  253. package/esm2015/directives/textfield-controller/textfield-input-mode.directive.js +5 -5
  254. package/esm2015/directives/textfield-controller/textfield-label-outside.directive.js +4 -4
  255. package/esm2015/directives/textfield-controller/textfield-max-length.directive.js +4 -4
  256. package/esm2015/directives/textfield-controller/textfield-size.directive.js +5 -5
  257. package/esm2015/directives/textfield-controller/textfield-type.directive.js +5 -5
  258. package/esm2015/directives/textfield-controller/textfield.controller.js +1 -1
  259. package/esm2015/directives/wrapper/wrapper.directive.js +10 -10
  260. package/esm2015/interfaces/alert-options.js +1 -1
  261. package/esm2015/interfaces/dropdown-directive.js +1 -1
  262. package/esm2015/interfaces/hint.js +1 -1
  263. package/esm2015/interfaces/notification-options.js +1 -1
  264. package/esm2015/interfaces/number-format-settings.js +1 -1
  265. package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  266. package/esm2015/internal/svg-defs-host/svg-defs-host.component.js +2 -2
  267. package/esm2015/mask/text-mask-list.js +1 -1
  268. package/esm2015/mask/text-mask-pipe-handler.js +1 -1
  269. package/esm2015/pipes/calendar-sheet/utils.js +2 -2
  270. package/esm2015/pipes/format-date/format-date.pipe.js +1 -1
  271. package/esm2015/types/brightness.js +1 -1
  272. package/esm2015/types/decimal-symbol.js +1 -1
  273. package/esm2015/types/decimal.js +1 -1
  274. package/esm2015/types/dialog-size.js +1 -1
  275. package/esm2015/types/direction.js +1 -1
  276. package/esm2015/types/dropdown-width.js +1 -1
  277. package/esm2015/types/marker-handler.js +1 -1
  278. package/esm2015/types/option-role.js +1 -1
  279. package/esm2015/types/orientation.js +1 -1
  280. package/esm2015/types/size.js +1 -1
  281. package/esm2015/utils/dom/get-safe-area-size.js +1 -1
  282. package/esm2015/utils/dom/process-icon.js +2 -4
  283. package/esm2015/utils/mask/create-number-mask.js +2 -2
  284. package/esm2015/utils/polyfills/inner-html.js +3 -3
  285. package/esm5/abstract/abstract-dropdown.js +1 -1
  286. package/esm5/abstract/abstract-textfield-host.js +4 -2
  287. package/esm5/components/alert/alert.component.js +10 -10
  288. package/esm5/components/button/button-options.js +1 -1
  289. package/esm5/components/button/button.component.js +15 -15
  290. package/esm5/components/calendar/calendar.component.js +2 -2
  291. package/esm5/components/data-list/data-list-dropdown-manager.directive.js +10 -11
  292. package/esm5/components/data-list/data-list.component.js +12 -12
  293. package/esm5/components/data-list/data-list.directive.js +2 -2
  294. package/esm5/components/data-list/opt-group.directive.js +5 -5
  295. package/esm5/components/data-list/option/option.component.js +13 -13
  296. package/esm5/components/dialog/dialog.component.js +12 -12
  297. package/esm5/components/dialog/dialog.directive.js +4 -4
  298. package/esm5/components/dialog/dialog.providers.js +22 -24
  299. package/esm5/components/dropdown-box/dropdown-box.component.js +39 -39
  300. package/esm5/components/error/error.component.js +5 -5
  301. package/esm5/components/expand/expand-content.directive.js +2 -2
  302. package/esm5/components/expand/expand.component.js +12 -12
  303. package/esm5/components/group/group-styles.component.js +2 -2
  304. package/esm5/components/group/group.component.js +4 -4
  305. package/esm5/components/group/group.directive.js +15 -15
  306. package/esm5/components/hints-host/hint-box/hint-box.component.js +46 -46
  307. package/esm5/components/hints-host/hints-host.component.js +3 -3
  308. package/esm5/components/hosted-dropdown/hosted-dropdown-connector.directive.js +2 -2
  309. package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +10 -10
  310. package/esm5/components/label/label.component.js +6 -6
  311. package/esm5/components/link/link.component.js +12 -12
  312. package/esm5/components/loader/loader.component.js +3 -3
  313. package/esm5/components/notification/notification.component.js +9 -9
  314. package/esm5/components/primitive-calendar/primitive-calendar.component.js +3 -3
  315. package/esm5/components/primitive-checkbox/primitive-checkbox.component.js +4 -4
  316. package/esm5/components/primitive-spin-button/primitive-spin-button.component.js +3 -3
  317. package/esm5/components/primitive-textfield/primitive-textfield.component.js +28 -28
  318. package/esm5/components/primitive-textfield/primitive-textfield.directive.js +2 -2
  319. package/esm5/components/primitive-textfield/textfield/textfield.component.js +13 -13
  320. package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +12 -12
  321. package/esm5/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  322. package/esm5/components/root/root.component.js +5 -5
  323. package/esm5/components/scroll-controls/scroll-controls.component.js +4 -4
  324. package/esm5/components/scroll-controls/scrollbar-wrapper.directive.js +2 -2
  325. package/esm5/components/scroll-controls/scrollbar.directive.js +23 -23
  326. package/esm5/components/scrollbar/scroll-ref.directive.js +2 -2
  327. package/esm5/components/scrollbar/scrollable.directive.js +2 -2
  328. package/esm5/components/scrollbar/scrollbar.component.js +7 -7
  329. package/esm5/components/svg/svg.component.js +16 -16
  330. package/esm5/components/theme-night/theme-night.component.js +3 -3
  331. package/esm5/components/tooltip/tooltip.component.js +8 -8
  332. package/esm5/directives/color/color.directive.js +7 -7
  333. package/esm5/directives/described-by/described-by.directive.js +5 -5
  334. package/esm5/directives/dropdown/dropdown.directive.js +3 -3
  335. package/esm5/directives/dropdown-controller/dropdown-controller.directive.js +10 -10
  336. package/esm5/directives/hint/hint.directive.js +6 -6
  337. package/esm5/directives/hint-controller/hint-controller.directive.js +7 -7
  338. package/esm5/directives/manual-hint/manual-hint.directive.js +4 -4
  339. package/esm5/directives/mask-accessor/mask-accessor.directive.js +2 -2
  340. package/esm5/directives/mode/mode.directive.js +3 -3
  341. package/esm5/directives/pointer-hint/pointer-hint.directive.js +5 -5
  342. package/esm5/directives/scroll-into-view/scroll-into-view.directive.js +2 -2
  343. package/esm5/directives/table-mode/table-mode.directive.js +3 -3
  344. package/esm5/directives/textfield-controller/textfield-autocomplete.directive.js +5 -5
  345. package/esm5/directives/textfield-controller/textfield-cleaner.directive.js +4 -4
  346. package/esm5/directives/textfield-controller/textfield-custom-content.directive.js +5 -5
  347. package/esm5/directives/textfield-controller/textfield-example-text.directive.js +5 -5
  348. package/esm5/directives/textfield-controller/textfield-input-mode.directive.js +5 -5
  349. package/esm5/directives/textfield-controller/textfield-label-outside.directive.js +4 -4
  350. package/esm5/directives/textfield-controller/textfield-max-length.directive.js +4 -4
  351. package/esm5/directives/textfield-controller/textfield-size.directive.js +5 -5
  352. package/esm5/directives/textfield-controller/textfield-type.directive.js +5 -5
  353. package/esm5/directives/textfield-controller/textfield.controller.js +1 -1
  354. package/esm5/directives/wrapper/wrapper.directive.js +10 -10
  355. package/esm5/interfaces/alert-options.js +1 -1
  356. package/esm5/interfaces/dropdown-directive.js +1 -1
  357. package/esm5/interfaces/hint.js +1 -1
  358. package/esm5/interfaces/notification-options.js +1 -1
  359. package/esm5/interfaces/number-format-settings.js +1 -1
  360. package/esm5/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  361. package/esm5/internal/svg-defs-host/svg-defs-host.component.js +2 -2
  362. package/esm5/mask/text-mask-list.js +1 -1
  363. package/esm5/mask/text-mask-pipe-handler.js +1 -1
  364. package/esm5/pipes/calendar-sheet/utils.js +2 -2
  365. package/esm5/pipes/format-date/format-date.pipe.js +1 -1
  366. package/esm5/types/brightness.js +1 -1
  367. package/esm5/types/decimal-symbol.js +1 -1
  368. package/esm5/types/decimal.js +1 -1
  369. package/esm5/types/dialog-size.js +1 -1
  370. package/esm5/types/direction.js +1 -1
  371. package/esm5/types/dropdown-width.js +1 -1
  372. package/esm5/types/marker-handler.js +1 -1
  373. package/esm5/types/option-role.js +1 -1
  374. package/esm5/types/orientation.js +1 -1
  375. package/esm5/types/size.js +1 -1
  376. package/esm5/utils/dom/get-safe-area-size.js +1 -1
  377. package/esm5/utils/dom/process-icon.js +2 -4
  378. package/esm5/utils/mask/create-number-mask.js +2 -2
  379. package/esm5/utils/polyfills/inner-html.js +1 -1
  380. package/fesm2015/taiga-ui-core-abstract.js +6 -2
  381. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  382. package/fesm2015/taiga-ui-core-components-alert.js +9 -9
  383. package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
  384. package/fesm2015/taiga-ui-core-components-button.js +14 -14
  385. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  386. package/fesm2015/taiga-ui-core-components-calendar.js +1 -1
  387. package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
  388. package/fesm2015/taiga-ui-core-components-data-list.js +36 -37
  389. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  390. package/fesm2015/taiga-ui-core-components-dialog.js +35 -30
  391. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  392. package/fesm2015/taiga-ui-core-components-dropdown-box.js +38 -38
  393. package/fesm2015/taiga-ui-core-components-dropdown-box.js.map +1 -1
  394. package/fesm2015/taiga-ui-core-components-error.js +4 -4
  395. package/fesm2015/taiga-ui-core-components-error.js.map +1 -1
  396. package/fesm2015/taiga-ui-core-components-expand.js +12 -12
  397. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  398. package/fesm2015/taiga-ui-core-components-group.js +18 -18
  399. package/fesm2015/taiga-ui-core-components-group.js.map +1 -1
  400. package/fesm2015/taiga-ui-core-components-hints-host.js +47 -47
  401. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  402. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +10 -10
  403. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  404. package/fesm2015/taiga-ui-core-components-label.js +5 -5
  405. package/fesm2015/taiga-ui-core-components-label.js.map +1 -1
  406. package/fesm2015/taiga-ui-core-components-link.js +11 -11
  407. package/fesm2015/taiga-ui-core-components-link.js.map +1 -1
  408. package/fesm2015/taiga-ui-core-components-loader.js +2 -2
  409. package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
  410. package/fesm2015/taiga-ui-core-components-notification.js +8 -8
  411. package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
  412. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +2 -2
  413. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  414. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js +3 -3
  415. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  416. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +2 -2
  417. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  418. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +51 -51
  419. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  420. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +2 -2
  421. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  422. package/fesm2015/taiga-ui-core-components-root.js +4 -4
  423. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  424. package/fesm2015/taiga-ui-core-components-scroll-controls.js +26 -26
  425. package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
  426. package/fesm2015/taiga-ui-core-components-scrollbar.js +8 -8
  427. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  428. package/fesm2015/taiga-ui-core-components-svg.js +15 -15
  429. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  430. package/fesm2015/taiga-ui-core-components-theme-night.js +2 -2
  431. package/fesm2015/taiga-ui-core-components-theme-night.js.map +1 -1
  432. package/fesm2015/taiga-ui-core-components-tooltip.js +7 -7
  433. package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
  434. package/fesm2015/taiga-ui-core-directives-color.js +6 -6
  435. package/fesm2015/taiga-ui-core-directives-color.js.map +1 -1
  436. package/fesm2015/taiga-ui-core-directives-described-by.js +4 -4
  437. package/fesm2015/taiga-ui-core-directives-described-by.js.map +1 -1
  438. package/fesm2015/taiga-ui-core-directives-dropdown-controller.js +9 -9
  439. package/fesm2015/taiga-ui-core-directives-dropdown-controller.js.map +1 -1
  440. package/fesm2015/taiga-ui-core-directives-dropdown.js +2 -2
  441. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  442. package/fesm2015/taiga-ui-core-directives-hint-controller.js +6 -6
  443. package/fesm2015/taiga-ui-core-directives-hint-controller.js.map +1 -1
  444. package/fesm2015/taiga-ui-core-directives-hint.js +5 -5
  445. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  446. package/fesm2015/taiga-ui-core-directives-manual-hint.js +3 -3
  447. package/fesm2015/taiga-ui-core-directives-manual-hint.js.map +1 -1
  448. package/fesm2015/taiga-ui-core-directives-mask-accessor.js +1 -1
  449. package/fesm2015/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  450. package/fesm2015/taiga-ui-core-directives-mode.js +2 -2
  451. package/fesm2015/taiga-ui-core-directives-mode.js.map +1 -1
  452. package/fesm2015/taiga-ui-core-directives-pointer-hint.js +4 -4
  453. package/fesm2015/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  454. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js +1 -1
  455. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
  456. package/fesm2015/taiga-ui-core-directives-table-mode.js +2 -2
  457. package/fesm2015/taiga-ui-core-directives-table-mode.js.map +1 -1
  458. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +33 -33
  459. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  460. package/fesm2015/taiga-ui-core-directives-wrapper.js +9 -9
  461. package/fesm2015/taiga-ui-core-directives-wrapper.js.map +1 -1
  462. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  463. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  464. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js +1 -1
  465. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  466. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js +1 -1
  467. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  468. package/fesm2015/taiga-ui-core-pipes-format-date.js.map +1 -1
  469. package/fesm2015/taiga-ui-core-utils-dom.js +1 -3
  470. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  471. package/fesm2015/taiga-ui-core-utils-mask.js +1 -1
  472. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  473. package/fesm2015/taiga-ui-core-utils-polyfills.js +2 -2
  474. package/fesm2015/taiga-ui-core-utils-polyfills.js.map +1 -1
  475. package/fesm5/taiga-ui-core-abstract.js +3 -1
  476. package/fesm5/taiga-ui-core-abstract.js.map +1 -1
  477. package/fesm5/taiga-ui-core-components-alert.js +9 -9
  478. package/fesm5/taiga-ui-core-components-alert.js.map +1 -1
  479. package/fesm5/taiga-ui-core-components-button.js +14 -14
  480. package/fesm5/taiga-ui-core-components-button.js.map +1 -1
  481. package/fesm5/taiga-ui-core-components-calendar.js +1 -1
  482. package/fesm5/taiga-ui-core-components-calendar.js.map +1 -1
  483. package/fesm5/taiga-ui-core-components-data-list.js +37 -38
  484. package/fesm5/taiga-ui-core-components-data-list.js.map +1 -1
  485. package/fesm5/taiga-ui-core-components-dialog.js +35 -37
  486. package/fesm5/taiga-ui-core-components-dialog.js.map +1 -1
  487. package/fesm5/taiga-ui-core-components-dropdown-box.js +38 -38
  488. package/fesm5/taiga-ui-core-components-dropdown-box.js.map +1 -1
  489. package/fesm5/taiga-ui-core-components-error.js +4 -4
  490. package/fesm5/taiga-ui-core-components-error.js.map +1 -1
  491. package/fesm5/taiga-ui-core-components-expand.js +12 -12
  492. package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
  493. package/fesm5/taiga-ui-core-components-group.js +18 -18
  494. package/fesm5/taiga-ui-core-components-group.js.map +1 -1
  495. package/fesm5/taiga-ui-core-components-hints-host.js +47 -47
  496. package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
  497. package/fesm5/taiga-ui-core-components-hosted-dropdown.js +10 -10
  498. package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  499. package/fesm5/taiga-ui-core-components-label.js +5 -5
  500. package/fesm5/taiga-ui-core-components-label.js.map +1 -1
  501. package/fesm5/taiga-ui-core-components-link.js +11 -11
  502. package/fesm5/taiga-ui-core-components-link.js.map +1 -1
  503. package/fesm5/taiga-ui-core-components-loader.js +2 -2
  504. package/fesm5/taiga-ui-core-components-loader.js.map +1 -1
  505. package/fesm5/taiga-ui-core-components-notification.js +8 -8
  506. package/fesm5/taiga-ui-core-components-notification.js.map +1 -1
  507. package/fesm5/taiga-ui-core-components-primitive-calendar.js +2 -2
  508. package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  509. package/fesm5/taiga-ui-core-components-primitive-checkbox.js +3 -3
  510. package/fesm5/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  511. package/fesm5/taiga-ui-core-components-primitive-spin-button.js +2 -2
  512. package/fesm5/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  513. package/fesm5/taiga-ui-core-components-primitive-textfield.js +51 -51
  514. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  515. package/fesm5/taiga-ui-core-components-primitive-year-picker.js +2 -2
  516. package/fesm5/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  517. package/fesm5/taiga-ui-core-components-root.js +4 -4
  518. package/fesm5/taiga-ui-core-components-root.js.map +1 -1
  519. package/fesm5/taiga-ui-core-components-scroll-controls.js +26 -26
  520. package/fesm5/taiga-ui-core-components-scroll-controls.js.map +1 -1
  521. package/fesm5/taiga-ui-core-components-scrollbar.js +8 -8
  522. package/fesm5/taiga-ui-core-components-scrollbar.js.map +1 -1
  523. package/fesm5/taiga-ui-core-components-svg.js +15 -15
  524. package/fesm5/taiga-ui-core-components-svg.js.map +1 -1
  525. package/fesm5/taiga-ui-core-components-theme-night.js +2 -2
  526. package/fesm5/taiga-ui-core-components-theme-night.js.map +1 -1
  527. package/fesm5/taiga-ui-core-components-tooltip.js +7 -7
  528. package/fesm5/taiga-ui-core-components-tooltip.js.map +1 -1
  529. package/fesm5/taiga-ui-core-directives-color.js +6 -6
  530. package/fesm5/taiga-ui-core-directives-color.js.map +1 -1
  531. package/fesm5/taiga-ui-core-directives-described-by.js +4 -4
  532. package/fesm5/taiga-ui-core-directives-described-by.js.map +1 -1
  533. package/fesm5/taiga-ui-core-directives-dropdown-controller.js +9 -9
  534. package/fesm5/taiga-ui-core-directives-dropdown-controller.js.map +1 -1
  535. package/fesm5/taiga-ui-core-directives-dropdown.js +2 -2
  536. package/fesm5/taiga-ui-core-directives-dropdown.js.map +1 -1
  537. package/fesm5/taiga-ui-core-directives-hint-controller.js +6 -6
  538. package/fesm5/taiga-ui-core-directives-hint-controller.js.map +1 -1
  539. package/fesm5/taiga-ui-core-directives-hint.js +5 -5
  540. package/fesm5/taiga-ui-core-directives-hint.js.map +1 -1
  541. package/fesm5/taiga-ui-core-directives-manual-hint.js +3 -3
  542. package/fesm5/taiga-ui-core-directives-manual-hint.js.map +1 -1
  543. package/fesm5/taiga-ui-core-directives-mask-accessor.js +1 -1
  544. package/fesm5/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  545. package/fesm5/taiga-ui-core-directives-mode.js +2 -2
  546. package/fesm5/taiga-ui-core-directives-mode.js.map +1 -1
  547. package/fesm5/taiga-ui-core-directives-pointer-hint.js +4 -4
  548. package/fesm5/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  549. package/fesm5/taiga-ui-core-directives-scroll-into-view.js +1 -1
  550. package/fesm5/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
  551. package/fesm5/taiga-ui-core-directives-table-mode.js +2 -2
  552. package/fesm5/taiga-ui-core-directives-table-mode.js.map +1 -1
  553. package/fesm5/taiga-ui-core-directives-textfield-controller.js +33 -33
  554. package/fesm5/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  555. package/fesm5/taiga-ui-core-directives-wrapper.js +9 -9
  556. package/fesm5/taiga-ui-core-directives-wrapper.js.map +1 -1
  557. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  558. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  559. package/fesm5/taiga-ui-core-internal-svg-defs-host.js +1 -1
  560. package/fesm5/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  561. package/fesm5/taiga-ui-core-pipes-calendar-sheet.js +1 -1
  562. package/fesm5/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  563. package/fesm5/taiga-ui-core-pipes-format-date.js.map +1 -1
  564. package/fesm5/taiga-ui-core-utils-dom.js +1 -3
  565. package/fesm5/taiga-ui-core-utils-dom.js.map +1 -1
  566. package/fesm5/taiga-ui-core-utils-mask.js +1 -1
  567. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  568. package/fesm5/taiga-ui-core-utils-polyfills.js.map +1 -1
  569. package/interfaces/alert-options.d.ts +1 -1
  570. package/interfaces/dropdown-directive.d.ts +2 -2
  571. package/interfaces/hint.d.ts +1 -1
  572. package/interfaces/notification-options.d.ts +1 -1
  573. package/interfaces/number-format-settings.d.ts +1 -2
  574. package/mask/text-mask-list.d.ts +1 -1
  575. package/mask/text-mask-pipe-handler.d.ts +1 -1
  576. package/package.json +4 -4
  577. package/pipes/format-date/format-date.pipe.d.ts +1 -1
  578. package/tokens/dropdown-directive.d.ts +1 -1
  579. package/types/brightness.d.ts +1 -1
  580. package/types/decimal-symbol.d.ts +1 -1
  581. package/types/decimal.d.ts +1 -1
  582. package/types/dialog-size.d.ts +1 -1
  583. package/types/direction.d.ts +2 -2
  584. package/types/dropdown-width.d.ts +1 -1
  585. package/types/marker-handler.d.ts +1 -1
  586. package/types/option-role.d.ts +1 -1
  587. package/types/orientation.d.ts +1 -1
  588. package/types/size.d.ts +2 -2
@@ -24,8 +24,8 @@ var TuiOptionComponent = /** @class */ (function () {
24
24
  this.elementRef = elementRef;
25
25
  this.host = host;
26
26
  this.dropdown = dropdown;
27
- this.size = "m";
28
- this.role = "option";
27
+ this.size = 'm';
28
+ this.role = 'option';
29
29
  this.disabled = false;
30
30
  }
31
31
  Object.defineProperty(TuiOptionComponent.prototype, "active", {
@@ -58,12 +58,12 @@ var TuiOptionComponent = /** @class */ (function () {
58
58
  ]; };
59
59
  __decorate([
60
60
  Input(),
61
- HostBinding("attr.data-size"),
61
+ HostBinding('attr.data-size'),
62
62
  tuiDefaultProp()
63
63
  ], TuiOptionComponent.prototype, "size", void 0);
64
64
  __decorate([
65
65
  Input(),
66
- HostBinding("attr.role"),
66
+ HostBinding('attr.role'),
67
67
  tuiDefaultProp()
68
68
  ], TuiOptionComponent.prototype, "role", void 0);
69
69
  __decorate([
@@ -74,25 +74,25 @@ var TuiOptionComponent = /** @class */ (function () {
74
74
  Input()
75
75
  ], TuiOptionComponent.prototype, "value", void 0);
76
76
  __decorate([
77
- HostBinding("class._with-dropdown")
77
+ HostBinding('class._with-dropdown')
78
78
  ], TuiOptionComponent.prototype, "active", null);
79
79
  __decorate([
80
- HostListener("click")
80
+ HostListener('click')
81
81
  ], TuiOptionComponent.prototype, "onClick", null);
82
82
  __decorate([
83
83
  shouldCall(shouldFocus),
84
- HostListener("mousemove.init", ["$event"]),
85
- HostListener("mousemove.silent", ["$event"])
84
+ HostListener('mousemove.init', ['$event']),
85
+ HostListener('mousemove.silent', ['$event'])
86
86
  ], TuiOptionComponent.prototype, "onMouseMove", null);
87
87
  TuiOptionComponent = __decorate([
88
88
  Component({
89
- selector: "button[tuiOption], a[tuiOption]",
89
+ selector: 'button[tuiOption], a[tuiOption]',
90
90
  template: "<span\n *ngIf=\"content; else base\"\n polymorpheus-outlet\n class=\"t-content\"\n [content]=\"content\"\n [context]=\"{$implicit: base}\"\n></span>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg\n *ngIf=\"dropdown\"\n src=\"tuiIconChevronRight\"\n class=\"t-arrow\"\n ></tui-svg>\n</ng-template>\n",
91
91
  changeDetection: ChangeDetectionStrategy.OnPush,
92
92
  host: {
93
- tabIndex: "-1",
94
- type: "button",
95
- '[attr.disabled]': "disabled || null",
93
+ tabIndex: '-1',
94
+ type: 'button',
95
+ '[attr.disabled]': 'disabled || null',
96
96
  },
97
97
  styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:padding-box;font-size:inherit;line-height:inherit;transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;font:var(--tui-font-text-m);width:100%;align-items:center;justify-content:space-between;text-align:left;box-sizing:border-box;color:var(--tui-text-01);outline:0;text-decoration:none;cursor:pointer}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:default}:host._with-dropdown,:host:focus{background-color:var(--tui-base-02)}:host[data-size=xs]{font:var(--tui-font-text-s);min-height:2rem;padding:.3125rem .75rem}:host[data-size='s']{min-height:2rem;padding:.3125rem .75rem}:host[data-size='m']{min-height:2.75rem;padding:.375rem 1rem}:host[data-size='l']{min-height:3.5rem;padding:.75rem 1rem}.t-content{display:flex;flex:1;max-width:100%}.t-arrow{margin:0 -.5rem 0 .75rem}"]
98
98
  }),
@@ -116,8 +116,8 @@ var TuiDataListComponent = /** @class */ (function () {
116
116
  this.elementRef = elementRef;
117
117
  this.defaultEmptyContent$ = defaultEmptyContent$;
118
118
  this.options = EMPTY_QUERY;
119
- this.role = "listbox";
120
- this.emptyContent = "";
119
+ this.role = 'listbox';
120
+ this.emptyContent = '';
121
121
  }
122
122
  TuiDataListComponent_1 = TuiDataListComponent;
123
123
  Object.defineProperty(TuiDataListComponent.prototype, "empty$", {
@@ -170,7 +170,7 @@ var TuiDataListComponent = /** @class */ (function () {
170
170
  };
171
171
  Object.defineProperty(TuiDataListComponent.prototype, "elements", {
172
172
  get: function () {
173
- return Array.from(this.elementRef.nativeElement.querySelectorAll("[tuiOption]"));
173
+ return Array.from(this.elementRef.nativeElement.querySelectorAll('[tuiOption]'));
174
174
  },
175
175
  enumerable: true,
176
176
  configurable: true
@@ -185,7 +185,7 @@ var TuiDataListComponent = /** @class */ (function () {
185
185
  ], TuiDataListComponent.prototype, "options", void 0);
186
186
  __decorate([
187
187
  Input(),
188
- HostBinding("attr.role"),
188
+ HostBinding('attr.role'),
189
189
  tuiDefaultProp()
190
190
  ], TuiDataListComponent.prototype, "role", void 0);
191
191
  __decorate([
@@ -196,22 +196,22 @@ var TuiDataListComponent = /** @class */ (function () {
196
196
  tuiPure
197
197
  ], TuiDataListComponent.prototype, "empty$", null);
198
198
  __decorate([
199
- HostListener("focusin", ["$event.relatedTarget", "$event.currentTarget"])
199
+ HostListener('focusin', ['$event.relatedTarget', '$event.currentTarget'])
200
200
  ], TuiDataListComponent.prototype, "onFocusIn", null);
201
201
  __decorate([
202
- HostListener("mousedown.prevent")
202
+ HostListener('mousedown.prevent')
203
203
  ], TuiDataListComponent.prototype, "noop", null);
204
204
  __decorate([
205
- HostListener("keydown.arrowDown.prevent", ["$event.target", "1"]),
206
- HostListener("keydown.arrowUp.prevent", ["$event.target", "-1"])
205
+ HostListener('keydown.arrowDown.prevent', ['$event.target', '1']),
206
+ HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])
207
207
  ], TuiDataListComponent.prototype, "onKeyDownArrow", null);
208
208
  __decorate([
209
- HostListener("wheel.silent.passive"),
210
- HostListener("mouseleave", ["$event.target"])
209
+ HostListener('wheel.silent.passive'),
210
+ HostListener('mouseleave', ['$event.target'])
211
211
  ], TuiDataListComponent.prototype, "handleFocusLossIfNecessary", null);
212
212
  TuiDataListComponent = TuiDataListComponent_1 = __decorate([
213
213
  Component({
214
- selector: "tui-data-list",
214
+ selector: 'tui-data-list',
215
215
  template: "<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, true)\"\n></div>\n<ng-content></ng-content>\n<div\n *ngIf=\"empty$ | async\"\n polymorpheus-outlet\n class=\"t-empty\"\n [content]=\"emptyContent || (defaultEmptyContent$ | async)\"\n></div>\n<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, false)\"\n></div>\n",
216
216
  changeDetection: ChangeDetectionStrategy.OnPush,
217
217
  encapsulation: ViewEncapsulation.None,
@@ -234,7 +234,7 @@ var TuiDataListDirective = /** @class */ (function () {
234
234
  }
235
235
  TuiDataListDirective = __decorate([
236
236
  Directive({
237
- selector: "ng-template[tuiDataList]",
237
+ selector: 'ng-template[tuiDataList]',
238
238
  })
239
239
  ], TuiDataListDirective);
240
240
  return TuiDataListDirective;
@@ -262,8 +262,8 @@ var TuiDataListDropdownManagerDirective = /** @class */ (function () {
262
262
  return EMPTY;
263
263
  }
264
264
  var nativeElement = dropdown.dropdownBoxRef.location.nativeElement;
265
- var mouseEnter$ = typedFromEvent(nativeElement, "mouseenter").pipe(take(1));
266
- var esc$ = merge(typedFromEvent(element.nativeElement, "keydown"), typedFromEvent(nativeElement, "keydown")).pipe(filter(function (_a) {
265
+ var mouseEnter$ = typedFromEvent(nativeElement, 'mouseenter').pipe(take(1));
266
+ var esc$ = merge(typedFromEvent(element.nativeElement, 'keydown'), typedFromEvent(nativeElement, 'keydown')).pipe(filter(function (_a) {
267
267
  var keyCode = _a.keyCode;
268
268
  return keyCode === 27;
269
269
  }));
@@ -292,7 +292,7 @@ var TuiDataListDropdownManagerDirective = /** @class */ (function () {
292
292
  get: function () {
293
293
  return this.elements$.pipe(switchMap(function (elements) {
294
294
  return merge.apply(void 0, __spread(elements.map(function (element, index) {
295
- return typedFromEvent(element, "keydown").pipe(filter(function (_a) {
295
+ return typedFromEvent(element, 'keydown').pipe(filter(function (_a) {
296
296
  var keyCode = _a.keyCode;
297
297
  return keyCode === 39;
298
298
  }), preventDefault(), mapTo(index));
@@ -306,7 +306,7 @@ var TuiDataListDropdownManagerDirective = /** @class */ (function () {
306
306
  get: function () {
307
307
  return this.elements$.pipe(switchMap(function (elements) {
308
308
  return merge.apply(void 0, __spread(elements.map(function (element, index) {
309
- return typedFromEvent(element, "click").pipe(mapTo(index));
309
+ return typedFromEvent(element, 'click').pipe(mapTo(index));
310
310
  })));
311
311
  }));
312
312
  },
@@ -318,12 +318,12 @@ var TuiDataListDropdownManagerDirective = /** @class */ (function () {
318
318
  var _this = this;
319
319
  return this.elements$.pipe(switchMap(function (elements) {
320
320
  return merge.apply(void 0, __spread(elements.map(function (element, index) {
321
- return merge(typedFromEvent(element, "focus"), typedFromEvent(element, "blur")).pipe(filter(function (_a) {
321
+ return merge(typedFromEvent(element, 'focus'), typedFromEvent(element, 'blur')).pipe(filter(function (_a) {
322
322
  var relatedTarget = _a.relatedTarget;
323
323
  return _this.notInDropdown(relatedTarget, index);
324
324
  }), map(function (_a) {
325
325
  var type = _a.type;
326
- return (type === "focus" ? index : NaN);
326
+ return (type === 'focus' ? index : NaN);
327
327
  }));
328
328
  })));
329
329
  }), debounceTime(300));
@@ -332,10 +332,9 @@ var TuiDataListDropdownManagerDirective = /** @class */ (function () {
332
332
  configurable: true
333
333
  });
334
334
  TuiDataListDropdownManagerDirective.prototype.notInDropdown = function (element, index) {
335
+ var _a;
335
336
  var dropdown = this.dropdowns.toArray()[index];
336
- return (!dropdown ||
337
- !dropdown.dropdownBoxRef ||
338
- !dropdown.dropdownBoxRef.location.nativeElement.contains(element));
337
+ return !((_a = dropdown === null || dropdown === void 0 ? void 0 : dropdown.dropdownBoxRef) === null || _a === void 0 ? void 0 : _a.location.nativeElement.contains(element));
339
338
  };
340
339
  TuiDataListDropdownManagerDirective.prototype.tryToFocus = function (index) {
341
340
  var _a;
@@ -369,7 +368,7 @@ var TuiDataListDropdownManagerDirective = /** @class */ (function () {
369
368
  ], TuiDataListDropdownManagerDirective.prototype, "debounce$", null);
370
369
  TuiDataListDropdownManagerDirective = __decorate([
371
370
  Directive({
372
- selector: "tui-data-list[tuiDataListDropdownManager]",
371
+ selector: 'tui-data-list[tuiDataListDropdownManager]',
373
372
  })
374
373
  ], TuiDataListDropdownManagerDirective);
375
374
  return TuiDataListDropdownManagerDirective;
@@ -377,18 +376,18 @@ var TuiDataListDropdownManagerDirective = /** @class */ (function () {
377
376
 
378
377
  var TuiOptGroupDirective = /** @class */ (function () {
379
378
  function TuiOptGroupDirective() {
380
- this.label = "";
379
+ this.label = '';
381
380
  }
382
381
  __decorate([
383
382
  Input(),
384
- HostBinding("attr.data-label"),
383
+ HostBinding('attr.data-label'),
385
384
  tuiDefaultProp()
386
385
  ], TuiOptGroupDirective.prototype, "label", void 0);
387
386
  TuiOptGroupDirective = __decorate([
388
387
  Directive({
389
- selector: "tui-opt-group",
388
+ selector: 'tui-opt-group',
390
389
  host: {
391
- role: "group",
390
+ role: 'group',
392
391
  },
393
392
  })
394
393
  ], TuiOptGroupDirective);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-data-list.js","sources":["ng://@taiga-ui/core/components/data-list/option/option.component.ts","ng://@taiga-ui/core/components/data-list/data-list.component.ts","ng://@taiga-ui/core/components/data-list/data-list.directive.ts","ng://@taiga-ui/core/components/data-list/data-list-dropdown-manager.directive.ts","ng://@taiga-ui/core/components/data-list/opt-group.directive.ts","ng://@taiga-ui/core/components/data-list/data-list.module.ts","ng://@taiga-ui/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Self,\n TemplateRef,\n} from '@angular/core';\nimport {\n isNativeFocused,\n setNativeFocused,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiEventWith,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core/tokens';\nimport {TuiOptionRole, TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from '../data-list.component';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function shouldFocus({\n currentTarget,\n}: TuiEventWith<MouseEvent, HTMLElement>): boolean {\n return !isNativeFocused(currentTarget);\n}\n\n// TODO: Consider all use cases for aria roles\n@Component({\n selector: `button[tuiOption], a[tuiOption]`,\n templateUrl: `./option.template.html`,\n styleUrls: [`./option.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabIndex: `-1`,\n type: `button`,\n '[attr.disabled]': `disabled || null`,\n },\n})\nexport class TuiOptionComponent<T = unknown> implements OnDestroy {\n @Input()\n @HostBinding(`attr.data-size`)\n @tuiDefaultProp()\n size: TuiSizeXS | TuiSizeL = `m`;\n\n @Input()\n @HostBinding(`attr.role`)\n @tuiDefaultProp()\n role: TuiOptionRole = `option`;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n value?: T;\n\n // TODO: 3.0 Fix dataList type when updated to Ivy and compilation drops metadata\n constructor(\n @Optional()\n @Inject(TUI_OPTION_CONTENT)\n readonly content: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n > | null,\n @Inject(forwardRef(() => TuiDataListComponent))\n private readonly dataList: TuiDataListComponent<T>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T> | null,\n @Optional()\n @Self()\n @Inject(TuiDropdownDirective)\n readonly dropdown: TuiDropdownDirective | null,\n ) {}\n\n @HostBinding(`class._with-dropdown`)\n get active(): boolean {\n return !!this.dropdown && !!this.dropdown.dropdownBoxRef;\n }\n\n @HostListener(`click`)\n onClick(): void {\n if (this.host && this.value !== undefined) {\n this.host.handleOption(this.value);\n }\n }\n\n // @bad TODO: Consider aria-activedescendant for proper accessibility implementation\n @shouldCall(shouldFocus)\n @HostListener(`mousemove.init`, [`$event`])\n @HostListener(`mousemove.silent`, [`$event`])\n onMouseMove({currentTarget}: TuiEventWith<MouseEvent, HTMLElement>): void {\n setNativeFocused(currentTarget, true, true);\n }\n\n // Preventing focus loss upon focused option removal\n ngOnDestroy(): void {\n this.dataList.handleFocusLossIfNecessary(this.elementRef.nativeElement);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n isNativeFocusedIn,\n isPresent,\n itemsQueryListObservable,\n moveFocus,\n setNativeMouseFocused,\n tuiAssertIsHTMLElement,\n tuiDefaultProp,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_ACCESSOR, TUI_NOTHING_FOUND_MESSAGE} from '@taiga-ui/core/tokens';\nimport {TuiDataListRole} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TuiOptionComponent} from './option/option.component';\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n// @dynamic\n@Component({\n selector: `tui-data-list`,\n templateUrl: `./data-list.template.html`,\n styleUrls: [`./data-list.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting: forwardRef(() => TuiDataListComponent),\n },\n ],\n})\nexport class TuiDataListComponent<T> implements TuiDataListAccessor<T> {\n @ContentChildren(forwardRef(() => TuiOptionComponent), {descendants: true})\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n private origin?: HTMLElement;\n\n @Input()\n @HostBinding(`attr.role`)\n @tuiDefaultProp()\n role: TuiDataListRole = `listbox`;\n\n @Input()\n @tuiDefaultProp()\n emptyContent: PolymorpheusContent = ``;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_NOTHING_FOUND_MESSAGE)\n readonly defaultEmptyContent$: Observable<string>,\n ) {}\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return itemsQueryListObservable(this.options).pipe(map(({length}) => !length));\n }\n\n @HostListener(`focusin`, [`$event.relatedTarget`, `$event.currentTarget`])\n onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n @HostListener(`mousedown.prevent`)\n noop(): void {}\n\n @HostListener(`keydown.arrowDown.prevent`, [`$event.target`, `1`])\n @HostListener(`keydown.arrowUp.prevent`, [`$event.target`, `-1`])\n onKeyDownArrow(current: HTMLElement, step: number): void {\n const {elements} = this;\n\n moveFocus(elements.indexOf(current), elements, step);\n }\n\n // TODO: Consider aria-activedescendant for proper accessibility implementation\n @HostListener(`wheel.silent.passive`)\n @HostListener(`mouseleave`, [`$event.target`])\n handleFocusLossIfNecessary(\n element: HTMLElement = this.elementRef.nativeElement,\n ): void {\n if (this.origin && isNativeFocusedIn(element)) {\n setNativeMouseFocused(this.origin, true, true);\n }\n }\n\n getOptions(includeDisabled: boolean = false): readonly T[] {\n return this.options\n .toArray()\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(isPresent);\n }\n\n onFocus({target}: Event, top: boolean): void {\n tuiAssertIsHTMLElement(target);\n\n const {elements} = this;\n\n moveFocus(top ? -1 : elements.length, elements, top ? 1 : -1);\n this.handleFocusLossIfNecessary(target);\n }\n\n private get elements(): readonly HTMLElement[] {\n return Array.from(this.elementRef.nativeElement.querySelectorAll(`[tuiOption]`));\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: `ng-template[tuiDataList]`,\n})\nexport class TuiDataListDirective {}\n","import {\n AfterViewInit,\n ContentChildren,\n Directive,\n ElementRef,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getClosestKeyboardFocusable,\n itemsQueryListObservable,\n preventDefault,\n setNativeFocused,\n tuiPure,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {\n debounceTime,\n filter,\n map,\n mapTo,\n shareReplay,\n switchMap,\n take,\n tap,\n} from 'rxjs/operators';\n\n// TODO: 3.0 Move into separate module\n@Directive({\n selector: `tui-data-list[tuiDataListDropdownManager]`,\n})\nexport class TuiDataListDropdownManagerDirective implements AfterViewInit {\n @ContentChildren(TuiDropdownDirective, {descendants: true})\n private readonly dropdowns: QueryList<TuiDropdownDirective> = EMPTY_QUERY;\n\n @ContentChildren(TuiDropdownDirective, {read: ElementRef, descendants: true})\n private readonly elements: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n ngAfterViewInit(): void {\n this.right$.subscribe(index => {\n this.tryToFocus(index);\n });\n\n merge(this.immediate$, this.debounce$)\n .pipe(\n switchMap(active => {\n this.dropdowns.forEach((dropdown, index) => {\n dropdown.open = index === active;\n });\n\n const element = this.elements.toArray()[active];\n const dropdown = this.dropdowns.toArray()[active];\n\n if (!element || !dropdown || !dropdown.dropdownBoxRef) {\n return EMPTY;\n }\n\n const {nativeElement} = dropdown.dropdownBoxRef.location;\n const mouseEnter$ = typedFromEvent(nativeElement, `mouseenter`).pipe(\n take(1),\n );\n const esc$ = merge(\n typedFromEvent(element.nativeElement, `keydown`),\n typedFromEvent(nativeElement, `keydown`),\n ).pipe(filter(({keyCode}) => keyCode === 27));\n\n return merge(mouseEnter$, esc$).pipe(\n tap(event => {\n if (dropdown.dropdownBoxRef) {\n event.stopPropagation();\n }\n\n setNativeFocused(element.nativeElement);\n // TODO: iframe warning\n dropdown.open = event instanceof MouseEvent;\n }),\n );\n }),\n )\n .subscribe();\n }\n\n @tuiPure\n private get elements$(): Observable<readonly HTMLElement[]> {\n return itemsQueryListObservable(this.elements).pipe(\n map(array => array.map(({nativeElement}) => nativeElement)),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n }\n\n @tuiPure\n private get right$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n typedFromEvent(element, `keydown`).pipe(\n filter(({keyCode}) => keyCode === 39),\n preventDefault(),\n mapTo(index),\n ),\n ),\n ),\n ),\n );\n }\n\n @tuiPure\n private get immediate$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n typedFromEvent(element, `click`).pipe(mapTo(index)),\n ),\n ),\n ),\n );\n }\n\n @tuiPure\n private get debounce$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n merge(\n typedFromEvent(element, `focus`),\n typedFromEvent(element, `blur`),\n ).pipe(\n filter(({relatedTarget}) =>\n this.notInDropdown(relatedTarget, index),\n ),\n map(({type}) => (type === `focus` ? index : NaN)),\n ),\n ),\n ),\n ),\n debounceTime(300),\n );\n }\n\n private notInDropdown(element: EventTarget | null, index: number): boolean {\n const dropdown = this.dropdowns.toArray()[index];\n\n return (\n !dropdown ||\n !dropdown.dropdownBoxRef ||\n !dropdown.dropdownBoxRef.location.nativeElement.contains(element)\n );\n }\n\n private tryToFocus(index: number): void {\n const dropdown = this.dropdowns.toArray()[index];\n const content = dropdown?.dropdownBoxRef?.instance.contentElementRef;\n\n if (!content) {\n return;\n }\n\n const item = getClosestKeyboardFocusable(\n content.nativeElement,\n false,\n content.nativeElement,\n );\n\n if (item) {\n setNativeFocused(item);\n }\n }\n}\n","import {Directive, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: `tui-opt-group`,\n host: {\n role: `group`,\n },\n})\nexport class TuiOptGroupDirective {\n @Input()\n @HostBinding(`attr.data-label`)\n @tuiDefaultProp()\n label = ``;\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from './data-list.component';\nimport {TuiDataListDirective} from './data-list.directive';\nimport {TuiDataListDropdownManagerDirective} from './data-list-dropdown-manager.directive';\nimport {TuiOptGroupDirective} from './opt-group.directive';\nimport {TuiOptionComponent} from './option/option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, PolymorpheusModule],\n declarations: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n TuiDataListDropdownManagerDirective,\n ],\n exports: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n TuiDataListDropdownManagerDirective,\n ],\n})\nexport class TuiDataListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-data-list.js","sources":["ng://@taiga-ui/core/components/data-list/option/option.component.ts","ng://@taiga-ui/core/components/data-list/data-list.component.ts","ng://@taiga-ui/core/components/data-list/data-list.directive.ts","ng://@taiga-ui/core/components/data-list/data-list-dropdown-manager.directive.ts","ng://@taiga-ui/core/components/data-list/opt-group.directive.ts","ng://@taiga-ui/core/components/data-list/data-list.module.ts","ng://@taiga-ui/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Self,\n TemplateRef,\n} from '@angular/core';\nimport {\n isNativeFocused,\n setNativeFocused,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiEventWith,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core/tokens';\nimport {TuiOptionRole, TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from '../data-list.component';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function shouldFocus({\n currentTarget,\n}: TuiEventWith<MouseEvent, HTMLElement>): boolean {\n return !isNativeFocused(currentTarget);\n}\n\n// TODO: Consider all use cases for aria roles\n@Component({\n selector: 'button[tuiOption], a[tuiOption]',\n templateUrl: './option.template.html',\n styleUrls: ['./option.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabIndex: '-1',\n type: 'button',\n '[attr.disabled]': 'disabled || null',\n },\n})\nexport class TuiOptionComponent<T = unknown> implements OnDestroy {\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL | TuiSizeXS = 'm';\n\n @Input()\n @HostBinding('attr.role')\n @tuiDefaultProp()\n role: TuiOptionRole = 'option';\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n value?: T;\n\n // TODO: 3.0 Fix dataList type when updated to Ivy and compilation drops metadata\n constructor(\n @Optional()\n @Inject(TUI_OPTION_CONTENT)\n readonly content: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n > | null,\n @Inject(forwardRef(() => TuiDataListComponent))\n private readonly dataList: TuiDataListComponent<T>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T> | null,\n @Optional()\n @Self()\n @Inject(TuiDropdownDirective)\n readonly dropdown: TuiDropdownDirective | null,\n ) {}\n\n @HostBinding('class._with-dropdown')\n get active(): boolean {\n return !!this.dropdown && !!this.dropdown.dropdownBoxRef;\n }\n\n @HostListener('click')\n onClick(): void {\n if (this.host && this.value !== undefined) {\n this.host.handleOption(this.value);\n }\n }\n\n // @bad TODO: Consider aria-activedescendant for proper accessibility implementation\n @shouldCall(shouldFocus)\n @HostListener('mousemove.init', ['$event'])\n @HostListener('mousemove.silent', ['$event'])\n onMouseMove({currentTarget}: TuiEventWith<MouseEvent, HTMLElement>): void {\n setNativeFocused(currentTarget, true, true);\n }\n\n // Preventing focus loss upon focused option removal\n ngOnDestroy(): void {\n this.dataList.handleFocusLossIfNecessary(this.elementRef.nativeElement);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n isNativeFocusedIn,\n isPresent,\n itemsQueryListObservable,\n moveFocus,\n setNativeMouseFocused,\n tuiAssertIsHTMLElement,\n tuiDefaultProp,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_ACCESSOR, TUI_NOTHING_FOUND_MESSAGE} from '@taiga-ui/core/tokens';\nimport {TuiDataListRole} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TuiOptionComponent} from './option/option.component';\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n// @dynamic\n@Component({\n selector: 'tui-data-list',\n templateUrl: './data-list.template.html',\n styleUrls: ['./data-list.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting: forwardRef(() => TuiDataListComponent),\n },\n ],\n})\nexport class TuiDataListComponent<T> implements TuiDataListAccessor<T> {\n @ContentChildren(forwardRef(() => TuiOptionComponent), {descendants: true})\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n private origin?: HTMLElement;\n\n @Input()\n @HostBinding('attr.role')\n @tuiDefaultProp()\n role: TuiDataListRole = 'listbox';\n\n @Input()\n @tuiDefaultProp()\n emptyContent: PolymorpheusContent = '';\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_NOTHING_FOUND_MESSAGE)\n readonly defaultEmptyContent$: Observable<string>,\n ) {}\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return itemsQueryListObservable(this.options).pipe(map(({length}) => !length));\n }\n\n @HostListener('focusin', ['$event.relatedTarget', '$event.currentTarget'])\n onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n @HostListener('mousedown.prevent')\n noop(): void {}\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n onKeyDownArrow(current: HTMLElement, step: number): void {\n const {elements} = this;\n\n moveFocus(elements.indexOf(current), elements, step);\n }\n\n // TODO: Consider aria-activedescendant for proper accessibility implementation\n @HostListener('wheel.silent.passive')\n @HostListener('mouseleave', ['$event.target'])\n handleFocusLossIfNecessary(\n element: HTMLElement = this.elementRef.nativeElement,\n ): void {\n if (this.origin && isNativeFocusedIn(element)) {\n setNativeMouseFocused(this.origin, true, true);\n }\n }\n\n getOptions(includeDisabled: boolean = false): readonly T[] {\n return this.options\n .toArray()\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(isPresent);\n }\n\n onFocus({target}: Event, top: boolean): void {\n tuiAssertIsHTMLElement(target);\n\n const {elements} = this;\n\n moveFocus(top ? -1 : elements.length, elements, top ? 1 : -1);\n this.handleFocusLossIfNecessary(target);\n }\n\n private get elements(): readonly HTMLElement[] {\n return Array.from(this.elementRef.nativeElement.querySelectorAll('[tuiOption]'));\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: 'ng-template[tuiDataList]',\n})\nexport class TuiDataListDirective {}\n","import {\n AfterViewInit,\n ContentChildren,\n Directive,\n ElementRef,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getClosestKeyboardFocusable,\n itemsQueryListObservable,\n preventDefault,\n setNativeFocused,\n tuiPure,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {\n debounceTime,\n filter,\n map,\n mapTo,\n shareReplay,\n switchMap,\n take,\n tap,\n} from 'rxjs/operators';\n\n// TODO: 3.0 Move into separate module\n@Directive({\n selector: 'tui-data-list[tuiDataListDropdownManager]',\n})\nexport class TuiDataListDropdownManagerDirective implements AfterViewInit {\n @ContentChildren(TuiDropdownDirective, {descendants: true})\n private readonly dropdowns: QueryList<TuiDropdownDirective> = EMPTY_QUERY;\n\n @ContentChildren(TuiDropdownDirective, {read: ElementRef, descendants: true})\n private readonly elements: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n ngAfterViewInit(): void {\n this.right$.subscribe(index => {\n this.tryToFocus(index);\n });\n\n merge(this.immediate$, this.debounce$)\n .pipe(\n switchMap(active => {\n this.dropdowns.forEach((dropdown, index) => {\n dropdown.open = index === active;\n });\n\n const element = this.elements.toArray()[active];\n const dropdown = this.dropdowns.toArray()[active];\n\n if (!element || !dropdown || !dropdown.dropdownBoxRef) {\n return EMPTY;\n }\n\n const {nativeElement} = dropdown.dropdownBoxRef.location;\n const mouseEnter$ = typedFromEvent(nativeElement, 'mouseenter').pipe(\n take(1),\n );\n const esc$ = merge(\n typedFromEvent(element.nativeElement, 'keydown'),\n typedFromEvent(nativeElement, 'keydown'),\n ).pipe(filter(({keyCode}) => keyCode === 27));\n\n return merge(mouseEnter$, esc$).pipe(\n tap(event => {\n if (dropdown.dropdownBoxRef) {\n event.stopPropagation();\n }\n\n setNativeFocused(element.nativeElement);\n // TODO: iframe warning\n dropdown.open = event instanceof MouseEvent;\n }),\n );\n }),\n )\n .subscribe();\n }\n\n @tuiPure\n private get elements$(): Observable<readonly HTMLElement[]> {\n return itemsQueryListObservable(this.elements).pipe(\n map(array => array.map(({nativeElement}) => nativeElement)),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n }\n\n @tuiPure\n private get right$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n typedFromEvent(element, 'keydown').pipe(\n filter(({keyCode}) => keyCode === 39),\n preventDefault(),\n mapTo(index),\n ),\n ),\n ),\n ),\n );\n }\n\n @tuiPure\n private get immediate$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n typedFromEvent(element, 'click').pipe(mapTo(index)),\n ),\n ),\n ),\n );\n }\n\n @tuiPure\n private get debounce$(): Observable<number> {\n return this.elements$.pipe(\n switchMap(elements =>\n merge(\n ...elements.map((element, index) =>\n merge(\n typedFromEvent(element, 'focus'),\n typedFromEvent(element, 'blur'),\n ).pipe(\n filter(({relatedTarget}) =>\n this.notInDropdown(relatedTarget, index),\n ),\n map(({type}) => (type === 'focus' ? index : NaN)),\n ),\n ),\n ),\n ),\n debounceTime(300),\n );\n }\n\n private notInDropdown(element: EventTarget | null, index: number): boolean {\n const dropdown = this.dropdowns.toArray()[index];\n\n return !dropdown?.dropdownBoxRef?.location.nativeElement.contains(element);\n }\n\n private tryToFocus(index: number): void {\n const dropdown = this.dropdowns.toArray()[index];\n const content = dropdown?.dropdownBoxRef?.instance.contentElementRef;\n\n if (!content) {\n return;\n }\n\n const item = getClosestKeyboardFocusable(\n content.nativeElement,\n false,\n content.nativeElement,\n );\n\n if (item) {\n setNativeFocused(item);\n }\n }\n}\n","import {Directive, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'tui-opt-group',\n host: {\n role: 'group',\n },\n})\nexport class TuiOptGroupDirective {\n @Input()\n @HostBinding('attr.data-label')\n @tuiDefaultProp()\n label = '';\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from './data-list.component';\nimport {TuiDataListDirective} from './data-list.directive';\nimport {TuiDataListDropdownManagerDirective} from './data-list-dropdown-manager.directive';\nimport {TuiOptGroupDirective} from './opt-group.directive';\nimport {TuiOptionComponent} from './option/option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, PolymorpheusModule],\n declarations: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n TuiDataListDropdownManagerDirective,\n ],\n exports: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n TuiDataListDropdownManagerDirective,\n ],\n})\nexport class TuiDataListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __param, __extends } from 'tslib';
2
2
  import { InjectionToken, ElementRef, Inject, HostBinding, Component, ChangeDetectionStrategy, ɵɵdefineInjectable, ɵɵinject, Injectable, Directive, NgModule } from '@angular/core';
3
- import { typedFromEvent, isCurrentTarget, containsOrAfter, TuiDestroyService, TUI_IS_MOBILE, AbstractTuiDialogService, AbstractTuiDialogDirective, TuiPreventDefaultModule, TUI_DIALOGS } from '@taiga-ui/cdk';
3
+ import { typedFromEvent, isCurrentTarget, getActualTarget, tuiIsElement, tuiContainsOrAfter, TuiDestroyService, TUI_IS_MOBILE, AbstractTuiDialogService, AbstractTuiDialogDirective, TuiPreventDefaultModule, TUI_DIALOGS } from '@taiga-ui/cdk';
4
4
  import { tuiSlideInTop, tuiFadeIn } from '@taiga-ui/core/animations';
5
5
  import { TUI_ANIMATIONS_DURATION, TUI_CLOSE_WORD } from '@taiga-ui/core/tokens';
6
6
  import { POLYMORPHEUS_CONTEXT, PolymorpheusComponent, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
@@ -8,7 +8,7 @@ import { EMPTY, merge, Observable } from 'rxjs';
8
8
  import { DOCUMENT, CommonModule } from '@angular/common';
9
9
  import { WINDOW } from '@ng-web-apis/common';
10
10
  import { tuiGetViewportWidth } from '@taiga-ui/core/utils/dom';
11
- import { filter, switchMapTo, take, takeUntil } from 'rxjs/operators';
11
+ import { filter, switchMap, take, takeUntil } from 'rxjs/operators';
12
12
  import { TuiIdService } from '@taiga-ui/cdk/services';
13
13
  import { TuiButtonModule } from '@taiga-ui/core/components/button';
14
14
 
@@ -21,29 +21,27 @@ function dialogCloseStreamFactory(documentRef, windowRef, _a, close$, destroy$,
21
21
  var nativeElement = _a.nativeElement;
22
22
  var dismissible = _b.dismissible;
23
23
  return dismissible
24
- ? merge(typedFromEvent(nativeElement, "click").pipe(filter(isCurrentTarget)), typedFromEvent(documentRef, "keydown").pipe(
25
- // TODO: iframe warning
26
- filter(function (_a) {
27
- var key = _a.key, target = _a.target;
28
- return key === "Escape" &&
29
- target instanceof Element &&
30
- (!containsOrAfter(nativeElement, target) ||
31
- nativeElement.contains(target));
32
- })), typedFromEvent(documentRef, "mousedown").pipe(
33
- // TODO: iframe warning
34
- filter(function (_a) {
35
- var target = _a.target, clientX = _a.clientX;
36
- return target instanceof Element &&
24
+ ? merge(typedFromEvent(nativeElement, "click").pipe(filter(isCurrentTarget)), typedFromEvent(documentRef, "keydown").pipe(filter(function (event) {
25
+ var key = event.key;
26
+ var target = getActualTarget(event);
27
+ return (key === "Escape" &&
28
+ tuiIsElement(target) &&
29
+ (!tuiContainsOrAfter(nativeElement, target) ||
30
+ nativeElement.contains(target)));
31
+ })), typedFromEvent(documentRef, "mousedown").pipe(filter(function (event) {
32
+ var target = getActualTarget(event);
33
+ var clientX = event.clientX;
34
+ return (tuiIsElement(target) &&
37
35
  tuiGetViewportWidth(windowRef) - clientX >
38
36
  SCROLLBAR_PLACEHOLDER &&
39
- !containsOrAfter(nativeElement, target);
40
- }), switchMapTo(typedFromEvent(documentRef, "mouseup").pipe(take(1),
41
- // TODO: iframe warning
42
- filter(function (_a) {
43
- var target = _a.target;
44
- return target instanceof Element &&
45
- !containsOrAfter(nativeElement, target);
46
- })))), close$).pipe(takeUntil(destroy$))
37
+ !tuiContainsOrAfter(nativeElement, target));
38
+ }), switchMap(function () {
39
+ return typedFromEvent(documentRef, "mouseup").pipe(take(1), filter(function (event) {
40
+ var target = getActualTarget(event);
41
+ return (tuiIsElement(target) &&
42
+ !tuiContainsOrAfter(nativeElement, target));
43
+ }));
44
+ })), close$).pipe(takeUntil(destroy$))
47
45
  : close$;
48
46
  }
49
47
  var TUI_DIALOG_CLOSE_STREAM = new InjectionToken("Dialogs closing stream");
@@ -63,7 +61,7 @@ var TUI_DIALOG_PROVIDERS = [
63
61
  },
64
62
  ];
65
63
 
66
- var REQUIRED_ERROR = new Error("Required dialog was dismissed");
64
+ var REQUIRED_ERROR = new Error('Required dialog was dismissed');
67
65
  // @dynamic
68
66
  var TuiDialogComponent = /** @class */ (function () {
69
67
  function TuiDialogComponent(duration, isMobile, context, close$, closeWord$) {
@@ -73,16 +71,16 @@ var TuiDialogComponent = /** @class */ (function () {
73
71
  this.context = context;
74
72
  this.closeWord$ = closeWord$;
75
73
  this.animation = {
76
- value: "",
74
+ value: '',
77
75
  params: {
78
- start: "40px",
76
+ start: '40px',
79
77
  duration: this.duration,
80
78
  },
81
79
  };
82
80
  this.fullscreenAnimation = {
83
- value: "",
81
+ value: '',
84
82
  params: {
85
- start: "100vh",
83
+ start: '100vh',
86
84
  duration: this.duration,
87
85
  },
88
86
  };
@@ -106,7 +104,7 @@ var TuiDialogComponent = /** @class */ (function () {
106
104
  });
107
105
  Object.defineProperty(TuiDialogComponent.prototype, "slideInTop", {
108
106
  get: function () {
109
- return this.size === "fullscreen" || this.size === "page" || this.isMobile
107
+ return this.size === 'fullscreen' || this.size === 'page' || this.isMobile
110
108
  ? this.fullscreenAnimation
111
109
  : this.animation;
112
110
  },
@@ -129,18 +127,18 @@ var TuiDialogComponent = /** @class */ (function () {
129
127
  { type: Observable, decorators: [{ type: Inject, args: [TUI_CLOSE_WORD,] }] }
130
128
  ]; };
131
129
  __decorate([
132
- HostBinding("attr.data-size")
130
+ HostBinding('attr.data-size')
133
131
  ], TuiDialogComponent.prototype, "size", null);
134
132
  __decorate([
135
- HostBinding("class._centered")
133
+ HostBinding('class._centered')
136
134
  ], TuiDialogComponent.prototype, "header", null);
137
135
  __decorate([
138
- HostBinding("@tuiSlideInTop"),
139
- HostBinding("@tuiFadeIn")
136
+ HostBinding('@tuiSlideInTop'),
137
+ HostBinding('@tuiFadeIn')
140
138
  ], TuiDialogComponent.prototype, "slideInTop", null);
141
139
  TuiDialogComponent = __decorate([
142
140
  Component({
143
- selector: "tui-dialog",
141
+ selector: 'tui-dialog',
144
142
  template: "<header\n *ngIf=\"header\"\n polymorpheus-outlet\n class=\"t-header\"\n [content]=\"header\"\n [context]=\"context\"\n></header>\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section\n polymorpheus-outlet\n [context]=\"context\"\n [content]=\"context.content\"\n >\n <ng-template let-text>\n {{ text }}\n <div class=\"t-buttons\">\n <button\n tuiButton\n size=\"m\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ $any(context.data)?.button || 'OK' }}\n </button>\n </div>\n </ng-template>\n </section>\n</div>\n<div\n *ngIf=\"context.closeable\"\n class=\"t-wrapper\"\n>\n <button\n tuiIconButton\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-dialog__close\"\n size=\"s\"\n appearance=\"\"\n icon=\"tuiIconCloseLarge\"\n shape=\"rounded\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close()\"\n ></button>\n</div>\n",
145
143
  changeDetection: ChangeDetectionStrategy.OnPush,
146
144
  providers: TUI_DIALOG_PROVIDERS,
@@ -189,15 +187,15 @@ var TuiDialogDirective = /** @class */ (function (_super) {
189
187
  }
190
188
  TuiDialogDirective = __decorate([
191
189
  Directive({
192
- selector: "ng-template[tuiDialog]",
190
+ selector: 'ng-template[tuiDialog]',
193
191
  providers: [
194
192
  {
195
193
  provide: AbstractTuiDialogService,
196
194
  useExisting: TuiDialogService,
197
195
  },
198
196
  ],
199
- inputs: ["options: tuiDialogOptions", "open: tuiDialog"],
200
- outputs: ["openChange: tuiDialogChange"],
197
+ inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],
198
+ outputs: ['openChange: tuiDialogChange'],
201
199
  })
202
200
  ], TuiDialogDirective);
203
201
  return TuiDialogDirective;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-dialog.js","sources":["ng://@taiga-ui/core/components/dialog/dialog.providers.ts","ng://@taiga-ui/core/components/dialog/dialog.component.ts","ng://@taiga-ui/core/components/dialog/dialog.service.ts","ng://@taiga-ui/core/components/dialog/dialog.directive.ts","ng://@taiga-ui/core/components/dialog/dialog.module.ts","ng://@taiga-ui/core/components/dialog/taiga-ui-core-components-dialog.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n containsOrAfter,\n isCurrentTarget,\n TuiDestroyService,\n TuiDialog,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {tuiGetViewportWidth} from '@taiga-ui/core/utils/dom';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {filter, switchMapTo, take, takeUntil} from 'rxjs/operators';\n\nexport const TUI_DIALOGS_CLOSE = new InjectionToken<Observable<unknown>>(\n `A stream to close dialogs`,\n {\n factory: () => EMPTY,\n },\n);\n\nconst SCROLLBAR_PLACEHOLDER = 17;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function dialogCloseStreamFactory(\n documentRef: Document,\n windowRef: Window,\n {nativeElement}: ElementRef<HTMLElement>,\n close$: Observable<void>,\n destroy$: Observable<void>,\n {dismissible}: TuiDialog<TuiDialogOptions<unknown>, unknown>,\n): Observable<unknown> {\n return dismissible\n ? merge(\n typedFromEvent(nativeElement, `click`).pipe(filter(isCurrentTarget)),\n typedFromEvent(documentRef, `keydown`).pipe(\n // TODO: iframe warning\n filter(\n ({key, target}) =>\n key === `Escape` &&\n target instanceof Element &&\n (!containsOrAfter(nativeElement, target) ||\n nativeElement.contains(target)),\n ),\n ),\n typedFromEvent(documentRef, `mousedown`).pipe(\n // TODO: iframe warning\n filter(\n ({target, clientX}) =>\n target instanceof Element &&\n tuiGetViewportWidth(windowRef) - clientX >\n SCROLLBAR_PLACEHOLDER &&\n !containsOrAfter(nativeElement, target),\n ),\n switchMapTo(\n typedFromEvent(documentRef, `mouseup`).pipe(\n take(1),\n // TODO: iframe warning\n filter(\n ({target}) =>\n target instanceof Element &&\n !containsOrAfter(nativeElement, target),\n ),\n ),\n ),\n ),\n close$,\n ).pipe(takeUntil(destroy$))\n : close$;\n}\n\nexport const TUI_DIALOG_CLOSE_STREAM = new InjectionToken<Observable<unknown>>(\n `Dialogs closing stream`,\n);\nexport const TUI_DIALOG_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_DIALOG_CLOSE_STREAM,\n deps: [\n DOCUMENT,\n WINDOW,\n ElementRef,\n TUI_DIALOGS_CLOSE,\n TuiDestroyService,\n POLYMORPHEUS_CONTEXT,\n ],\n useFactory: dialogCloseStreamFactory,\n },\n];\n","import {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {TUI_IS_MOBILE, TuiDialog} from '@taiga-ui/cdk';\nimport {tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TuiAnimationOptions, TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATIONS_DURATION, TUI_CLOSE_WORD} from '@taiga-ui/core/tokens';\nimport {TuiDialogSize} from '@taiga-ui/core/types';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TUI_DIALOG_CLOSE_STREAM, TUI_DIALOG_PROVIDERS} from './dialog.providers';\n\nconst REQUIRED_ERROR = new Error(`Required dialog was dismissed`);\n\n// @dynamic\n@Component({\n selector: `tui-dialog`,\n templateUrl: `./dialog.template.html`,\n styleUrls: [`./dialog.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_DIALOG_PROVIDERS,\n animations: [tuiSlideInTop, tuiFadeIn],\n})\nexport class TuiDialogComponent<O, I> {\n private readonly animation = {\n value: ``,\n params: {\n start: `40px`,\n duration: this.duration,\n },\n } as const;\n\n private readonly fullscreenAnimation = {\n value: ``,\n params: {\n start: `100vh`,\n duration: this.duration,\n },\n } as const;\n\n constructor(\n @Inject(TUI_ANIMATIONS_DURATION) private readonly duration: number,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialog<TuiDialogOptions<I>, O>,\n @Inject(TUI_DIALOG_CLOSE_STREAM)\n close$: Observable<unknown>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n ) {\n close$.subscribe(() => {\n this.close();\n });\n }\n\n @HostBinding(`attr.data-size`)\n get size(): TuiDialogSize {\n return this.context.size;\n }\n\n @HostBinding(`class._centered`)\n get header(): PolymorpheusContent {\n return this.context.header;\n }\n\n @HostBinding(`@tuiSlideInTop`)\n @HostBinding(`@tuiFadeIn`)\n get slideInTop(): TuiAnimationOptions {\n return this.size === `fullscreen` || this.size === `page` || this.isMobile\n ? this.fullscreenAnimation\n : this.animation;\n }\n\n 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","import {Injectable} from '@angular/core';\nimport {AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogComponent} from './dialog.component';\n\nconst DIALOG = new PolymorpheusComponent(TuiDialogComponent);\nconst DEFAULT_OPTIONS = {\n size: `m`,\n required: false,\n closeable: true,\n dismissible: true,\n label: ``,\n header: ``,\n} as const;\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiDialogService extends AbstractTuiDialogService<TuiDialogOptions<any>> {\n protected readonly component = DIALOG;\n protected readonly defaultOptions: TuiDialogOptions<any> = DEFAULT_OPTIONS as any;\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiDialogDirective, AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\n\nimport {TuiDialogService} from './dialog.service';\n\n@Directive({\n selector: `ng-template[tuiDialog]`,\n providers: [\n {\n provide: AbstractTuiDialogService,\n useExisting: TuiDialogService,\n },\n ],\n inputs: [`options: tuiDialogOptions`, `open: tuiDialog`],\n outputs: [`openChange: tuiDialogChange`],\n})\nexport class TuiDialogDirective<T> extends AbstractTuiDialogDirective<\n TuiDialogOptions<T>\n> {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TUI_DIALOGS, TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogComponent} from './dialog.component';\nimport {TuiDialogDirective} from './dialog.directive';\nimport {TuiDialogService} from './dialog.service';\n\n@NgModule({\n imports: [PolymorpheusModule, TuiButtonModule, CommonModule, TuiPreventDefaultModule],\n declarations: [TuiDialogComponent, TuiDialogDirective],\n exports: [TuiDialogComponent, TuiDialogDirective],\n entryComponents: [TuiDialogComponent],\n providers: [\n {\n provide: TUI_DIALOGS,\n useExisting: TuiDialogService,\n multi: true,\n },\n ],\n})\nexport class TuiDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-dialog.js","sources":["ng://@taiga-ui/core/components/dialog/dialog.providers.ts","ng://@taiga-ui/core/components/dialog/dialog.component.ts","ng://@taiga-ui/core/components/dialog/dialog.service.ts","ng://@taiga-ui/core/components/dialog/dialog.directive.ts","ng://@taiga-ui/core/components/dialog/dialog.module.ts","ng://@taiga-ui/core/components/dialog/taiga-ui-core-components-dialog.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n getActualTarget,\n isCurrentTarget,\n tuiContainsOrAfter,\n TuiDestroyService,\n TuiDialog,\n tuiIsElement,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {tuiGetViewportWidth} from '@taiga-ui/core/utils/dom';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {filter, switchMap, take, takeUntil} from 'rxjs/operators';\n\nexport const TUI_DIALOGS_CLOSE = new InjectionToken<Observable<unknown>>(\n `A stream to close dialogs`,\n {\n factory: () => EMPTY,\n },\n);\n\nconst SCROLLBAR_PLACEHOLDER = 17;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function dialogCloseStreamFactory(\n documentRef: Document,\n windowRef: Window,\n {nativeElement}: ElementRef<HTMLElement>,\n close$: Observable<void>,\n destroy$: Observable<void>,\n {dismissible}: TuiDialog<TuiDialogOptions<unknown>, unknown>,\n): Observable<unknown> {\n return dismissible\n ? merge(\n typedFromEvent(nativeElement, `click`).pipe(filter(isCurrentTarget)),\n typedFromEvent(documentRef, `keydown`).pipe(\n filter(event => {\n const key = event.key;\n const target = getActualTarget(event);\n\n return (\n key === `Escape` &&\n tuiIsElement(target) &&\n (!tuiContainsOrAfter(nativeElement, target) ||\n nativeElement.contains(target))\n );\n }),\n ),\n typedFromEvent(documentRef, `mousedown`).pipe(\n filter(event => {\n const target = getActualTarget(event);\n const clientX = event.clientX;\n\n return (\n tuiIsElement(target) &&\n tuiGetViewportWidth(windowRef) - clientX >\n SCROLLBAR_PLACEHOLDER &&\n !tuiContainsOrAfter(nativeElement, target)\n );\n }),\n switchMap(() =>\n typedFromEvent(documentRef, `mouseup`).pipe(\n take(1),\n filter(event => {\n const target = getActualTarget(event);\n\n return (\n tuiIsElement(target) &&\n !tuiContainsOrAfter(nativeElement, target)\n );\n }),\n ),\n ),\n ),\n close$,\n ).pipe(takeUntil(destroy$))\n : close$;\n}\n\nexport const TUI_DIALOG_CLOSE_STREAM = new InjectionToken<Observable<unknown>>(\n `Dialogs closing stream`,\n);\nexport const TUI_DIALOG_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: TUI_DIALOG_CLOSE_STREAM,\n deps: [\n DOCUMENT,\n WINDOW,\n ElementRef,\n TUI_DIALOGS_CLOSE,\n TuiDestroyService,\n POLYMORPHEUS_CONTEXT,\n ],\n useFactory: dialogCloseStreamFactory,\n },\n];\n","import {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {TUI_IS_MOBILE, TuiDialog} from '@taiga-ui/cdk';\nimport {tuiFadeIn, tuiSlideInTop} from '@taiga-ui/core/animations';\nimport {TuiAnimationOptions, TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATIONS_DURATION, TUI_CLOSE_WORD} from '@taiga-ui/core/tokens';\nimport {TuiDialogSize} from '@taiga-ui/core/types';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TUI_DIALOG_CLOSE_STREAM, TUI_DIALOG_PROVIDERS} from './dialog.providers';\n\nconst REQUIRED_ERROR = new Error('Required dialog was dismissed');\n\n// @dynamic\n@Component({\n selector: 'tui-dialog',\n templateUrl: './dialog.template.html',\n styleUrls: ['./dialog.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_DIALOG_PROVIDERS,\n animations: [tuiSlideInTop, tuiFadeIn],\n})\nexport class TuiDialogComponent<O, I> {\n private readonly animation = {\n value: '',\n params: {\n start: '40px',\n duration: this.duration,\n },\n } as const;\n\n private readonly fullscreenAnimation = {\n value: '',\n params: {\n start: '100vh',\n duration: this.duration,\n },\n } as const;\n\n constructor(\n @Inject(TUI_ANIMATIONS_DURATION) private readonly duration: number,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialog<TuiDialogOptions<I>, O>,\n @Inject(TUI_DIALOG_CLOSE_STREAM)\n close$: Observable<unknown>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n ) {\n close$.subscribe(() => {\n this.close();\n });\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiDialogSize {\n return this.context.size;\n }\n\n @HostBinding('class._centered')\n get header(): PolymorpheusContent {\n return this.context.header;\n }\n\n @HostBinding('@tuiSlideInTop')\n @HostBinding('@tuiFadeIn')\n get slideInTop(): TuiAnimationOptions {\n return this.size === 'fullscreen' || this.size === 'page' || this.isMobile\n ? this.fullscreenAnimation\n : this.animation;\n }\n\n 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","import {Injectable} from '@angular/core';\nimport {AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogComponent} from './dialog.component';\n\nconst DIALOG = new PolymorpheusComponent(TuiDialogComponent);\nconst DEFAULT_OPTIONS = {\n size: `m`,\n required: false,\n closeable: true,\n dismissible: true,\n label: ``,\n header: ``,\n} as const;\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiDialogService extends AbstractTuiDialogService<TuiDialogOptions<any>> {\n protected readonly component = DIALOG;\n protected readonly defaultOptions: TuiDialogOptions<any> = DEFAULT_OPTIONS as any;\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiDialogDirective, AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiDialogOptions} from '@taiga-ui/core/interfaces';\n\nimport {TuiDialogService} from './dialog.service';\n\n@Directive({\n selector: 'ng-template[tuiDialog]',\n providers: [\n {\n provide: AbstractTuiDialogService,\n useExisting: TuiDialogService,\n },\n ],\n inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],\n outputs: ['openChange: tuiDialogChange'],\n})\nexport class TuiDialogDirective<T> extends AbstractTuiDialogDirective<\n TuiDialogOptions<T>\n> {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TUI_DIALOGS, TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDialogComponent} from './dialog.component';\nimport {TuiDialogDirective} from './dialog.directive';\nimport {TuiDialogService} from './dialog.service';\n\n@NgModule({\n imports: [PolymorpheusModule, TuiButtonModule, CommonModule, TuiPreventDefaultModule],\n declarations: [TuiDialogComponent, TuiDialogDirective],\n exports: [TuiDialogComponent, TuiDialogDirective],\n entryComponents: [TuiDialogComponent],\n providers: [\n {\n provide: TUI_DIALOGS,\n useExisting: TuiDialogService,\n multi: true,\n },\n ],\n})\nexport class TuiDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}