@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
@@ -29,12 +29,12 @@ TuiHintsHostComponent.ctorParameters = () => [
29
29
  ];
30
30
  TuiHintsHostComponent = __decorate([
31
31
  Component({
32
- selector: `tui-hints-host`,
32
+ selector: 'tui-hints-host',
33
33
  template: "<div\n *ngFor=\"let hint of hints$ | async\"\n role=\"tooltip\"\n polymorpheus-outlet\n @tuiParentAnimation\n [attr.id]=\"hint.id\"\n [content]=\"hint.component || component\"\n [context]=\"{$implicit: hint}\"\n [tuiActiveZoneParent]=\"hint.activeZone\"\n></div>\n",
34
34
  changeDetection: ChangeDetectionStrategy.OnPush,
35
35
  animations: [TUI_PARENT_ANIMATION],
36
36
  host: {
37
- 'aria-live': `polite`,
37
+ 'aria-live': 'polite',
38
38
  },
39
39
  styles: [":host{position:fixed;bottom:0;left:0;width:100%;height:0}"]
40
40
  }),
@@ -50,24 +50,24 @@ const ARROW_SIZE = 8;
50
50
  const ARROW_OFFSET = 16;
51
51
  const ARROWHEAD_OFFSET = ARROW_OFFSET + (ARROW_SIZE * Math.sqrt(2)) / 2;
52
52
  const reverseDirectionsVertical = {
53
- 'top-left': `bottom-left`,
54
- 'top-right': `bottom-right`,
55
- 'bottom-left': `top-left`,
56
- 'bottom-right': `top-right`,
57
- left: `right`,
58
- right: `left`,
59
- 'top-middle': `bottom-middle`,
60
- 'bottom-middle': `top-middle`,
53
+ 'top-left': 'bottom-left',
54
+ 'top-right': 'bottom-right',
55
+ 'bottom-left': 'top-left',
56
+ 'bottom-right': 'top-right',
57
+ left: 'right',
58
+ right: 'left',
59
+ 'top-middle': 'bottom-middle',
60
+ 'bottom-middle': 'top-middle',
61
61
  };
62
62
  const reverseDirectionsHorizontal = {
63
- 'top-left': `top-right`,
64
- 'top-right': `top-left`,
65
- 'bottom-left': `bottom-right`,
66
- 'bottom-right': `bottom-left`,
67
- left: `right`,
68
- right: `left`,
69
- 'top-middle': `top-middle`,
70
- 'bottom-middle': `bottom-middle`,
63
+ 'top-left': 'top-right',
64
+ 'top-right': 'top-left',
65
+ 'bottom-left': 'bottom-right',
66
+ 'bottom-right': 'bottom-left',
67
+ left: 'right',
68
+ right: 'left',
69
+ 'top-middle': 'top-middle',
70
+ 'bottom-middle': 'bottom-middle',
71
71
  };
72
72
  // TODO: consider abstracting UI and move to CDK, split hint and overflow
73
73
  // Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395
@@ -80,7 +80,7 @@ let TuiHintBoxComponent = class TuiHintBoxComponent {
80
80
  this.media = media;
81
81
  this.hintsHost = hintsHost;
82
82
  this.context = context;
83
- this.animation = Object.assign({ value: `` }, this.options);
83
+ this.animation = Object.assign({ value: '' }, this.options);
84
84
  animationFrame$
85
85
  .pipe(tuiZonefree(ngZone), takeUntil(destroy$))
86
86
  .subscribe(() => this.calculatePosition());
@@ -107,7 +107,7 @@ let TuiHintBoxComponent = class TuiHintBoxComponent {
107
107
  * Styles are set directly to avoid visual shake of element
108
108
  */
109
109
  calculatePosition() {
110
- if (this.mode !== `overflow`) {
110
+ if (this.mode !== 'overflow') {
111
111
  this.calculateCoordinates();
112
112
  }
113
113
  else {
@@ -126,14 +126,14 @@ let TuiHintBoxComponent = class TuiHintBoxComponent {
126
126
  const tooltipRect = tooltip.getBoundingClientRect();
127
127
  const isHostLong = hostRect.width > ARROWHEAD_OFFSET * 2;
128
128
  const directions = [
129
- `left`,
130
- `right`,
131
- `bottom-left`,
132
- `bottom-right`,
133
- `bottom-middle`,
134
- `top-left`,
135
- `top-right`,
136
- `top-middle`,
129
+ 'left',
130
+ 'right',
131
+ 'bottom-left',
132
+ 'bottom-right',
133
+ 'bottom-middle',
134
+ 'top-left',
135
+ 'top-right',
136
+ 'top-middle',
137
137
  ];
138
138
  let top = 0;
139
139
  let left = 0;
@@ -158,35 +158,35 @@ let TuiHintBoxComponent = class TuiHintBoxComponent {
158
158
  // eslint-disable-next-line no-constant-condition
159
159
  while (true) {
160
160
  switch (direction) {
161
- case `left`:
161
+ case 'left':
162
162
  top = horizontalTop;
163
163
  left = horizontalLeft;
164
164
  break;
165
- case `right`:
165
+ case 'right':
166
166
  top = horizontalTop;
167
167
  left = horizontalRight;
168
168
  break;
169
- case `top-right`:
169
+ case 'top-right':
170
170
  top = verticalTop;
171
171
  left = verticalRight;
172
172
  break;
173
- case `top-left`:
173
+ case 'top-left':
174
174
  top = verticalTop;
175
175
  left = verticalLeft;
176
176
  break;
177
- case `bottom-right`:
177
+ case 'bottom-right':
178
178
  top = verticalBottom;
179
179
  left = verticalRight;
180
180
  break;
181
- case `bottom-left`:
181
+ case 'bottom-left':
182
182
  top = verticalBottom;
183
183
  left = verticalLeft;
184
184
  break;
185
- case `bottom-middle`:
185
+ case 'bottom-middle':
186
186
  top = verticalBottom;
187
187
  left = verticalMiddle;
188
188
  break;
189
- case `top-middle`:
189
+ case 'top-middle':
190
190
  top = verticalTop;
191
191
  left = verticalMiddle;
192
192
  break;
@@ -207,7 +207,7 @@ let TuiHintBoxComponent = class TuiHintBoxComponent {
207
207
  }
208
208
  style.top = px(top);
209
209
  style.left = px(left);
210
- tooltip.setAttribute(`data-tui-host-direction`, direction);
210
+ tooltip.setAttribute('data-tui-host-direction', direction);
211
211
  }
212
212
  calculateMobileCoordinates() {
213
213
  const hostRect = this.hint.getElementClientRect();
@@ -221,21 +221,21 @@ let TuiHintBoxComponent = class TuiHintBoxComponent {
221
221
  hostRect.top < this.windowRef.innerHeight;
222
222
  const verticalBottomFit = hostRect.bottom > 0 &&
223
223
  hostRect.bottom + 2 * SPACE + tooltipRect.height < this.windowRef.innerHeight;
224
- const direction = (this.hint.direction.includes(`top`) && verticalTopFit) || !verticalBottomFit
225
- ? `top`
226
- : `bottom`;
224
+ const direction = (this.hint.direction.includes('top') && verticalTopFit) || !verticalBottomFit
225
+ ? 'top'
226
+ : 'bottom';
227
227
  const attemptedLeft = portalRect.left + hostRect.left + hostRect.width / 2 - tooltipRect.width / 2;
228
228
  const left = Math.max(attemptedLeft + tooltipRect.width + SPACE > portalRect.right
229
229
  ? portalRect.right - SPACE - tooltipRect.width
230
230
  : attemptedLeft, SPACE * 2);
231
231
  style.left = px(left);
232
- style.top = direction === `top` ? px(verticalTop) : px(verticalBottom);
232
+ style.top = direction === 'top' ? px(verticalTop) : px(verticalBottom);
233
233
  if (this.arrow) {
234
234
  this.arrow.nativeElement.style.left = px(hostRect.left <= SPACE * 2 && hostRect.width > ARROW_OFFSET * 2
235
235
  ? ARROW_OFFSET
236
236
  : hostRect.left + hostRect.width / 2 - left - ARROW_SIZE / 2);
237
237
  }
238
- tooltip.setAttribute(`data-tui-host-direction`, direction);
238
+ tooltip.setAttribute('data-tui-host-direction', direction);
239
239
  }
240
240
  setOverflowStyles() {
241
241
  const hostRect = this.hint.getElementClientRect();
@@ -257,21 +257,21 @@ TuiHintBoxComponent.ctorParameters = () => [
257
257
  { type: undefined, decorators: [{ type: Inject, args: [POLYMORPHEUS_CONTEXT,] }] }
258
258
  ];
259
259
  __decorate([
260
- ViewChild(`arrow`)
260
+ ViewChild('arrow')
261
261
  ], TuiHintBoxComponent.prototype, "arrow", void 0);
262
262
  __decorate([
263
- HostBinding(`@tuiFadeIn`)
263
+ HostBinding('@tuiFadeIn')
264
264
  ], TuiHintBoxComponent.prototype, "animation", void 0);
265
265
  __decorate([
266
266
  tuiPure,
267
- HostBinding(`class._untouchable`)
267
+ HostBinding('class._untouchable')
268
268
  ], TuiHintBoxComponent.prototype, "isUntouchable", null);
269
269
  __decorate([
270
- HostBinding(`attr.data-mode`)
270
+ HostBinding('attr.data-mode')
271
271
  ], TuiHintBoxComponent.prototype, "mode", null);
272
272
  TuiHintBoxComponent = __decorate([
273
273
  Component({
274
- selector: `tui-hint-box[hint]`,
274
+ selector: 'tui-hint-box[hint]',
275
275
  template: "<!-- @bad TODO: Refactor to use this arrow in all cases -->\n<div\n *ngIf=\"isMobile && mode !== 'overflow'\"\n #arrow\n class=\"t-arrow\"\n></div>\n<div\n automation-id=\"tui-hint-box__tooltip\"\n polymorpheus-outlet\n class=\"t-tooltip\"\n [content]=\"hint.content\"\n (tuiHoveredChange)=\"onHovered($event)\"\n>\n <ng-template let-text>\n <span class=\"t-text\">{{ text }}</span>\n </ng-template>\n</div>\n",
276
276
  changeDetection: ChangeDetectionStrategy.OnPush,
277
277
  providers: [TuiDestroyService],
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-hints-host.js","sources":["ng://@taiga-ui/core/components/hints-host/hints-host.component.ts","ng://@taiga-ui/core/components/hints-host/hint-box/hint-box.component.ts","ng://@taiga-ui/core/components/hints-host/hint-box/hint-box.module.ts","ng://@taiga-ui/core/components/hints-host/hints-host.module.ts","ng://@taiga-ui/core/components/hints-host/taiga-ui-core-components-hints-host.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ElementRef, Inject} from '@angular/core';\nimport {TUI_PARENT_ANIMATION} from '@taiga-ui/cdk';\nimport {TuiHint} from '@taiga-ui/core/interfaces';\nimport {TuiHintService} from '@taiga-ui/core/services';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TuiHintBoxComponent} from './hint-box/hint-box.component';\n\n@Component({\n selector: `tui-hints-host`,\n templateUrl: `./hints-host.template.html`,\n styleUrls: [`./hints-host.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [TUI_PARENT_ANIMATION],\n host: {\n 'aria-live': `polite`,\n },\n})\nexport class TuiHintsHostComponent {\n readonly component = new PolymorpheusComponent(TuiHintBoxComponent);\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiHintService) readonly hints$: Observable<readonly TuiHint[]>,\n ) {}\n\n get clientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n NgZone,\n ViewChild,\n} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {\n px,\n TuiContextWithImplicit,\n TuiDestroyService,\n tuiPure,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {AbstractTuiHint} from '@taiga-ui/core/abstract';\nimport {tuiFadeIn} from '@taiga-ui/core/animations';\nimport {TuiHintDirective} from '@taiga-ui/core/directives';\nimport {TuiPointerHintDirective} from '@taiga-ui/core/directives/pointer-hint';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATION_OPTIONS, TUI_MEDIA} from '@taiga-ui/core/tokens';\nimport {TuiDirection, TuiHintModeT} from '@taiga-ui/core/types';\nimport {tuiIsMobile} from '@taiga-ui/core/utils';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {TuiHintsHostComponent} from '../hints-host.component';\n\nconst SPACE = 8;\nconst BORDER_WIDTH = 1;\nconst LEFT_PADDING = 16;\nconst TOP_PADDING = 12;\nconst ARROW_SIZE = 8;\nconst ARROW_OFFSET = 16;\nconst ARROWHEAD_OFFSET = ARROW_OFFSET + (ARROW_SIZE * Math.sqrt(2)) / 2;\nconst reverseDirectionsVertical: {[key in TuiDirection]: TuiDirection} = {\n 'top-left': `bottom-left`,\n 'top-right': `bottom-right`,\n 'bottom-left': `top-left`,\n 'bottom-right': `top-right`,\n left: `right`,\n right: `left`,\n 'top-middle': `bottom-middle`,\n 'bottom-middle': `top-middle`,\n};\nconst reverseDirectionsHorizontal: {[key in TuiDirection]: TuiDirection} = {\n 'top-left': `top-right`,\n 'top-right': `top-left`,\n 'bottom-left': `bottom-right`,\n 'bottom-right': `bottom-left`,\n left: `right`,\n right: `left`,\n 'top-middle': `top-middle`,\n 'bottom-middle': `bottom-middle`,\n};\n\n// TODO: consider abstracting UI and move to CDK, split hint and overflow\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Component({\n selector: `tui-hint-box[hint]`,\n templateUrl: `./hint-box.template.html`,\n styleUrls: [`./hint-box.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n animations: [tuiFadeIn],\n})\nexport class TuiHintBoxComponent {\n @ViewChild(`arrow`)\n private readonly arrow?: ElementRef<HTMLElement>;\n\n @HostBinding(`@tuiFadeIn`)\n readonly animation = {value: ``, ...this.options} as const;\n\n constructor(\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TUI_MEDIA) private readonly media: TuiMedia,\n @Inject(forwardRef(() => TuiHintsHostComponent))\n private readonly hintsHost: TuiHintsHostComponent,\n @Inject(POLYMORPHEUS_CONTEXT)\n private readonly context: TuiContextWithImplicit<AbstractTuiHint>,\n ) {\n animationFrame$\n .pipe(tuiZonefree(ngZone), takeUntil(destroy$))\n .subscribe(() => this.calculatePosition());\n }\n\n get hint(): AbstractTuiHint {\n return this.context.$implicit;\n }\n\n @tuiPure\n @HostBinding(`class._untouchable`)\n get isUntouchable(): boolean {\n return this.hint instanceof TuiPointerHintDirective;\n }\n\n @HostBinding(`attr.data-mode`)\n get mode(): TuiHintModeT | null {\n return this.hint.mode;\n }\n\n get isMobile(): boolean {\n return tuiIsMobile(this.windowRef, this.media);\n }\n\n onHovered(hovered: boolean): void {\n if (this.hint instanceof TuiHintDirective) {\n this.hint.componentHovered$.next(hovered);\n }\n }\n\n /**\n * Calculates wrapper position.\n * Styles are set directly to avoid visual shake of element\n */\n private calculatePosition(): void {\n if (this.mode !== `overflow`) {\n this.calculateCoordinates();\n } else {\n this.setOverflowStyles();\n }\n }\n\n private calculateCoordinates(): void {\n if (this.isMobile) {\n this.calculateMobileCoordinates();\n\n return;\n }\n\n const hostRect = this.hint.getElementClientRect();\n const portalRect = this.hintsHost.clientRect;\n const tooltip = this.elementRef.nativeElement;\n const {style} = tooltip;\n const tooltipRect = tooltip.getBoundingClientRect();\n const isHostLong = hostRect.width > ARROWHEAD_OFFSET * 2;\n const directions: TuiDirection[] = [\n `left`,\n `right`,\n `bottom-left`,\n `bottom-right`,\n `bottom-middle`,\n `top-left`,\n `top-right`,\n `top-middle`,\n ];\n\n let top = 0;\n let left = 0;\n let {direction} = this.hint;\n\n const horizontalTop =\n hostRect.top + hostRect.height / 2 - tooltipRect.height / 2 - portalRect.top;\n const horizontalLeft =\n hostRect.left - tooltipRect.width - SPACE - portalRect.left;\n const horizontalRight = hostRect.left + hostRect.width + SPACE - portalRect.left;\n const verticalBottom = hostRect.bottom + SPACE - portalRect.top;\n const verticalTop = hostRect.top - tooltipRect.height - SPACE - portalRect.top;\n const verticalRight = isHostLong\n ? hostRect.left - portalRect.left\n : hostRect.left + hostRect.width / 2 - ARROWHEAD_OFFSET - portalRect.left;\n const verticalLeft = isHostLong\n ? hostRect.left - tooltipRect.width + hostRect.width - portalRect.left\n : hostRect.left -\n tooltipRect.width +\n hostRect.width / 2 +\n ARROWHEAD_OFFSET -\n portalRect.left;\n const verticalMiddle =\n hostRect.left - tooltipRect.width / 2 + hostRect.width / 2 - portalRect.left;\n\n directions.splice(directions.indexOf(direction), 1);\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n switch (direction) {\n case `left`:\n top = horizontalTop;\n left = horizontalLeft;\n break;\n case `right`:\n top = horizontalTop;\n left = horizontalRight;\n break;\n case `top-right`:\n top = verticalTop;\n left = verticalRight;\n break;\n case `top-left`:\n top = verticalTop;\n left = verticalLeft;\n break;\n case `bottom-right`:\n top = verticalBottom;\n left = verticalRight;\n break;\n case `bottom-left`:\n top = verticalBottom;\n left = verticalLeft;\n break;\n case `bottom-middle`:\n top = verticalBottom;\n left = verticalMiddle;\n break;\n case `top-middle`:\n top = verticalTop;\n left = verticalMiddle;\n break;\n }\n\n const verticalFit =\n top + portalRect.top > SPACE &&\n top + tooltipRect.height + SPACE + portalRect.top <\n this.windowRef.innerHeight;\n const horizontalFit =\n left > SPACE &&\n left + tooltipRect.width + SPACE + portalRect.left < portalRect.width;\n\n if (directions.length === 0 || (verticalFit && horizontalFit)) {\n break;\n }\n\n direction = verticalFit\n ? reverseDirectionsHorizontal[direction]\n : reverseDirectionsVertical[direction];\n direction =\n directions.splice(directions.indexOf(direction), 1)[0] || direction;\n }\n\n style.top = px(top);\n style.left = px(left);\n\n tooltip.setAttribute(`data-tui-host-direction`, direction);\n }\n\n private calculateMobileCoordinates(): void {\n const hostRect = this.hint.getElementClientRect();\n const portalRect = this.hintsHost.clientRect;\n const tooltip = this.elementRef.nativeElement;\n const {style} = tooltip;\n const tooltipRect = tooltip.getBoundingClientRect();\n const verticalTop = hostRect.top - tooltipRect.height - SPACE - portalRect.top;\n const verticalBottom = hostRect.bottom + SPACE - portalRect.top;\n const verticalTopFit =\n verticalTop + portalRect.top > SPACE &&\n hostRect.top < this.windowRef.innerHeight;\n const verticalBottomFit =\n hostRect.bottom > 0 &&\n hostRect.bottom + 2 * SPACE + tooltipRect.height < this.windowRef.innerHeight;\n const direction =\n (this.hint.direction.includes(`top`) && verticalTopFit) || !verticalBottomFit\n ? `top`\n : `bottom`;\n const attemptedLeft =\n portalRect.left + hostRect.left + hostRect.width / 2 - tooltipRect.width / 2;\n const left = Math.max(\n attemptedLeft + tooltipRect.width + SPACE > portalRect.right\n ? portalRect.right - SPACE - tooltipRect.width\n : attemptedLeft,\n SPACE * 2,\n );\n\n style.left = px(left);\n style.top = direction === `top` ? px(verticalTop) : px(verticalBottom);\n\n if (this.arrow) {\n this.arrow.nativeElement.style.left = px(\n hostRect.left <= SPACE * 2 && hostRect.width > ARROW_OFFSET * 2\n ? ARROW_OFFSET\n : hostRect.left + hostRect.width / 2 - left - ARROW_SIZE / 2,\n );\n }\n\n tooltip.setAttribute(`data-tui-host-direction`, direction);\n }\n\n private setOverflowStyles(): void {\n const hostRect = this.hint.getElementClientRect();\n const {style} = this.elementRef.nativeElement;\n\n style.top = px(hostRect.top - window.innerHeight - TOP_PADDING - BORDER_WIDTH);\n style.left = px(hostRect.left - LEFT_PADDING - BORDER_WIDTH);\n style.width = px(hostRect.width + LEFT_PADDING * 2 + BORDER_WIDTH * 2);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiHoveredModule} from '@taiga-ui/cdk';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHintBoxComponent} from './hint-box.component';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiHoveredModule],\n declarations: [TuiHintBoxComponent],\n exports: [TuiHintBoxComponent],\n entryComponents: [TuiHintBoxComponent],\n})\nexport class TuiHintBoxModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHintBoxModule} from './hint-box/hint-box.module';\nimport {TuiHintsHostComponent} from './hints-host.component';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiHintBoxModule, TuiActiveZoneModule],\n declarations: [TuiHintsHostComponent],\n exports: [TuiHintsHostComponent],\n})\nexport class TuiHintsHostModule {}\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-hints-host.js","sources":["ng://@taiga-ui/core/components/hints-host/hints-host.component.ts","ng://@taiga-ui/core/components/hints-host/hint-box/hint-box.component.ts","ng://@taiga-ui/core/components/hints-host/hint-box/hint-box.module.ts","ng://@taiga-ui/core/components/hints-host/hints-host.module.ts","ng://@taiga-ui/core/components/hints-host/taiga-ui-core-components-hints-host.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ElementRef, Inject} from '@angular/core';\nimport {TUI_PARENT_ANIMATION} from '@taiga-ui/cdk';\nimport {TuiHint} from '@taiga-ui/core/interfaces';\nimport {TuiHintService} from '@taiga-ui/core/services';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TuiHintBoxComponent} from './hint-box/hint-box.component';\n\n@Component({\n selector: 'tui-hints-host',\n templateUrl: './hints-host.template.html',\n styleUrls: ['./hints-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [TUI_PARENT_ANIMATION],\n host: {\n 'aria-live': 'polite',\n },\n})\nexport class TuiHintsHostComponent {\n readonly component = new PolymorpheusComponent(TuiHintBoxComponent);\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiHintService) readonly hints$: Observable<readonly TuiHint[]>,\n ) {}\n\n get clientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n NgZone,\n ViewChild,\n} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {\n px,\n TuiContextWithImplicit,\n TuiDestroyService,\n tuiPure,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {AbstractTuiHint} from '@taiga-ui/core/abstract';\nimport {tuiFadeIn} from '@taiga-ui/core/animations';\nimport {TuiHintDirective} from '@taiga-ui/core/directives';\nimport {TuiPointerHintDirective} from '@taiga-ui/core/directives/pointer-hint';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATION_OPTIONS, TUI_MEDIA} from '@taiga-ui/core/tokens';\nimport {TuiDirection, TuiHintModeT} from '@taiga-ui/core/types';\nimport {tuiIsMobile} from '@taiga-ui/core/utils';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {TuiHintsHostComponent} from '../hints-host.component';\n\nconst SPACE = 8;\nconst BORDER_WIDTH = 1;\nconst LEFT_PADDING = 16;\nconst TOP_PADDING = 12;\nconst ARROW_SIZE = 8;\nconst ARROW_OFFSET = 16;\nconst ARROWHEAD_OFFSET = ARROW_OFFSET + (ARROW_SIZE * Math.sqrt(2)) / 2;\nconst reverseDirectionsVertical: {[key in TuiDirection]: TuiDirection} = {\n 'top-left': 'bottom-left',\n 'top-right': 'bottom-right',\n 'bottom-left': 'top-left',\n 'bottom-right': 'top-right',\n left: 'right',\n right: 'left',\n 'top-middle': 'bottom-middle',\n 'bottom-middle': 'top-middle',\n};\nconst reverseDirectionsHorizontal: {[key in TuiDirection]: TuiDirection} = {\n 'top-left': 'top-right',\n 'top-right': 'top-left',\n 'bottom-left': 'bottom-right',\n 'bottom-right': 'bottom-left',\n left: 'right',\n right: 'left',\n 'top-middle': 'top-middle',\n 'bottom-middle': 'bottom-middle',\n};\n\n// TODO: consider abstracting UI and move to CDK, split hint and overflow\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Component({\n selector: 'tui-hint-box[hint]',\n templateUrl: './hint-box.template.html',\n styleUrls: ['./hint-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n animations: [tuiFadeIn],\n})\nexport class TuiHintBoxComponent {\n @ViewChild('arrow')\n private readonly arrow?: ElementRef<HTMLElement>;\n\n @HostBinding('@tuiFadeIn')\n readonly animation = {value: '', ...this.options} as const;\n\n constructor(\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TUI_MEDIA) private readonly media: TuiMedia,\n @Inject(forwardRef(() => TuiHintsHostComponent))\n private readonly hintsHost: TuiHintsHostComponent,\n @Inject(POLYMORPHEUS_CONTEXT)\n private readonly context: TuiContextWithImplicit<AbstractTuiHint>,\n ) {\n animationFrame$\n .pipe(tuiZonefree(ngZone), takeUntil(destroy$))\n .subscribe(() => this.calculatePosition());\n }\n\n get hint(): AbstractTuiHint {\n return this.context.$implicit;\n }\n\n @tuiPure\n @HostBinding('class._untouchable')\n get isUntouchable(): boolean {\n return this.hint instanceof TuiPointerHintDirective;\n }\n\n @HostBinding('attr.data-mode')\n get mode(): TuiHintModeT | null {\n return this.hint.mode;\n }\n\n get isMobile(): boolean {\n return tuiIsMobile(this.windowRef, this.media);\n }\n\n onHovered(hovered: boolean): void {\n if (this.hint instanceof TuiHintDirective) {\n this.hint.componentHovered$.next(hovered);\n }\n }\n\n /**\n * Calculates wrapper position.\n * Styles are set directly to avoid visual shake of element\n */\n private calculatePosition(): void {\n if (this.mode !== 'overflow') {\n this.calculateCoordinates();\n } else {\n this.setOverflowStyles();\n }\n }\n\n private calculateCoordinates(): void {\n if (this.isMobile) {\n this.calculateMobileCoordinates();\n\n return;\n }\n\n const hostRect = this.hint.getElementClientRect();\n const portalRect = this.hintsHost.clientRect;\n const tooltip = this.elementRef.nativeElement;\n const {style} = tooltip;\n const tooltipRect = tooltip.getBoundingClientRect();\n const isHostLong = hostRect.width > ARROWHEAD_OFFSET * 2;\n const directions: TuiDirection[] = [\n 'left',\n 'right',\n 'bottom-left',\n 'bottom-right',\n 'bottom-middle',\n 'top-left',\n 'top-right',\n 'top-middle',\n ];\n\n let top = 0;\n let left = 0;\n let {direction} = this.hint;\n\n const horizontalTop =\n hostRect.top + hostRect.height / 2 - tooltipRect.height / 2 - portalRect.top;\n const horizontalLeft =\n hostRect.left - tooltipRect.width - SPACE - portalRect.left;\n const horizontalRight = hostRect.left + hostRect.width + SPACE - portalRect.left;\n const verticalBottom = hostRect.bottom + SPACE - portalRect.top;\n const verticalTop = hostRect.top - tooltipRect.height - SPACE - portalRect.top;\n const verticalRight = isHostLong\n ? hostRect.left - portalRect.left\n : hostRect.left + hostRect.width / 2 - ARROWHEAD_OFFSET - portalRect.left;\n const verticalLeft = isHostLong\n ? hostRect.left - tooltipRect.width + hostRect.width - portalRect.left\n : hostRect.left -\n tooltipRect.width +\n hostRect.width / 2 +\n ARROWHEAD_OFFSET -\n portalRect.left;\n const verticalMiddle =\n hostRect.left - tooltipRect.width / 2 + hostRect.width / 2 - portalRect.left;\n\n directions.splice(directions.indexOf(direction), 1);\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n switch (direction) {\n case 'left':\n top = horizontalTop;\n left = horizontalLeft;\n break;\n case 'right':\n top = horizontalTop;\n left = horizontalRight;\n break;\n case 'top-right':\n top = verticalTop;\n left = verticalRight;\n break;\n case 'top-left':\n top = verticalTop;\n left = verticalLeft;\n break;\n case 'bottom-right':\n top = verticalBottom;\n left = verticalRight;\n break;\n case 'bottom-left':\n top = verticalBottom;\n left = verticalLeft;\n break;\n case 'bottom-middle':\n top = verticalBottom;\n left = verticalMiddle;\n break;\n case 'top-middle':\n top = verticalTop;\n left = verticalMiddle;\n break;\n }\n\n const verticalFit =\n top + portalRect.top > SPACE &&\n top + tooltipRect.height + SPACE + portalRect.top <\n this.windowRef.innerHeight;\n const horizontalFit =\n left > SPACE &&\n left + tooltipRect.width + SPACE + portalRect.left < portalRect.width;\n\n if (directions.length === 0 || (verticalFit && horizontalFit)) {\n break;\n }\n\n direction = verticalFit\n ? reverseDirectionsHorizontal[direction]\n : reverseDirectionsVertical[direction];\n direction =\n directions.splice(directions.indexOf(direction), 1)[0] || direction;\n }\n\n style.top = px(top);\n style.left = px(left);\n\n tooltip.setAttribute('data-tui-host-direction', direction);\n }\n\n private calculateMobileCoordinates(): void {\n const hostRect = this.hint.getElementClientRect();\n const portalRect = this.hintsHost.clientRect;\n const tooltip = this.elementRef.nativeElement;\n const {style} = tooltip;\n const tooltipRect = tooltip.getBoundingClientRect();\n const verticalTop = hostRect.top - tooltipRect.height - SPACE - portalRect.top;\n const verticalBottom = hostRect.bottom + SPACE - portalRect.top;\n const verticalTopFit =\n verticalTop + portalRect.top > SPACE &&\n hostRect.top < this.windowRef.innerHeight;\n const verticalBottomFit =\n hostRect.bottom > 0 &&\n hostRect.bottom + 2 * SPACE + tooltipRect.height < this.windowRef.innerHeight;\n const direction =\n (this.hint.direction.includes('top') && verticalTopFit) || !verticalBottomFit\n ? 'top'\n : 'bottom';\n const attemptedLeft =\n portalRect.left + hostRect.left + hostRect.width / 2 - tooltipRect.width / 2;\n const left = Math.max(\n attemptedLeft + tooltipRect.width + SPACE > portalRect.right\n ? portalRect.right - SPACE - tooltipRect.width\n : attemptedLeft,\n SPACE * 2,\n );\n\n style.left = px(left);\n style.top = direction === 'top' ? px(verticalTop) : px(verticalBottom);\n\n if (this.arrow) {\n this.arrow.nativeElement.style.left = px(\n hostRect.left <= SPACE * 2 && hostRect.width > ARROW_OFFSET * 2\n ? ARROW_OFFSET\n : hostRect.left + hostRect.width / 2 - left - ARROW_SIZE / 2,\n );\n }\n\n tooltip.setAttribute('data-tui-host-direction', direction);\n }\n\n private setOverflowStyles(): void {\n const hostRect = this.hint.getElementClientRect();\n const {style} = this.elementRef.nativeElement;\n\n style.top = px(hostRect.top - window.innerHeight - TOP_PADDING - BORDER_WIDTH);\n style.left = px(hostRect.left - LEFT_PADDING - BORDER_WIDTH);\n style.width = px(hostRect.width + LEFT_PADDING * 2 + BORDER_WIDTH * 2);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiHoveredModule} from '@taiga-ui/cdk';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHintBoxComponent} from './hint-box.component';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiHoveredModule],\n declarations: [TuiHintBoxComponent],\n exports: [TuiHintBoxComponent],\n entryComponents: [TuiHintBoxComponent],\n})\nexport class TuiHintBoxModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHintBoxModule} from './hint-box/hint-box.module';\nimport {TuiHintsHostComponent} from './hints-host.component';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiHintBoxModule, TuiActiveZoneModule],\n declarations: [TuiHintsHostComponent],\n exports: [TuiHintsHostComponent],\n})\nexport class TuiHintsHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ let TuiHostedDropdownConnectorDirective = class TuiHostedDropdownConnectorDirect
11
11
  };
12
12
  TuiHostedDropdownConnectorDirective = __decorate([
13
13
  Directive({
14
- selector: `[tuiHostedDropdownHost]`,
14
+ selector: '[tuiHostedDropdownHost]',
15
15
  })
16
16
  ], TuiHostedDropdownConnectorDirective);
17
17
 
@@ -20,7 +20,7 @@ let TuiHostedDropdownComponent = TuiHostedDropdownComponent_1 = class TuiHostedD
20
20
  constructor(elementRef, controller) {
21
21
  this.elementRef = elementRef;
22
22
  this.controller = controller;
23
- this.content = ``;
23
+ this.content = '';
24
24
  this.canOpen = true;
25
25
  this.open = false;
26
26
  this.openChange = new EventEmitter();
@@ -157,7 +157,7 @@ __decorate([
157
157
  ContentChild(TuiHostedDropdownConnectorDirective, { read: ElementRef })
158
158
  ], TuiHostedDropdownComponent.prototype, "dropdownHost", void 0);
159
159
  __decorate([
160
- ViewChild(`wrapper`, { read: ElementRef })
160
+ ViewChild('wrapper', { read: ElementRef })
161
161
  ], TuiHostedDropdownComponent.prototype, "wrapper", void 0);
162
162
  __decorate([
163
163
  ViewChild(TuiDropdownDirective)
@@ -181,24 +181,24 @@ __decorate([
181
181
  Output()
182
182
  ], TuiHostedDropdownComponent.prototype, "focusedChange", void 0);
183
183
  __decorate([
184
- HostBinding(`class._hosted_dropdown_focused`)
184
+ HostBinding('class._hosted_dropdown_focused')
185
185
  ], TuiHostedDropdownComponent.prototype, "focused", null);
186
186
  __decorate([
187
- HostListener(`focusin`, [`$event.target`])
187
+ HostListener('focusin', ['$event.target'])
188
188
  ], TuiHostedDropdownComponent.prototype, "onFocusIn", null);
189
189
  __decorate([
190
- HostListener(`click`, [`$event.target`])
190
+ HostListener('click', ['$event.target'])
191
191
  ], TuiHostedDropdownComponent.prototype, "onClick", null);
192
192
  __decorate([
193
- HostListener(`keydown.esc`, [`$event`])
193
+ HostListener('keydown.esc', ['$event'])
194
194
  ], TuiHostedDropdownComponent.prototype, "onKeyDownEsc", null);
195
195
  __decorate([
196
- HostListener(`keydown.arrowDown`, [`$event`, `true`]),
197
- HostListener(`keydown.arrowUp`, [`$event`, `false`])
196
+ HostListener('keydown.arrowDown', ['$event', 'true']),
197
+ HostListener('keydown.arrowUp', ['$event', 'false'])
198
198
  ], TuiHostedDropdownComponent.prototype, "onArrow", null);
199
199
  TuiHostedDropdownComponent = TuiHostedDropdownComponent_1 = __decorate([
200
200
  Component({
201
- selector: `tui-hosted-dropdown`,
201
+ selector: 'tui-hosted-dropdown',
202
202
  template: "<div\n #activeZone=\"tuiActiveZone\"\n class=\"t-wrapper\"\n [tuiDropdownAlign]=\"controller.align\"\n [tuiDropdownDirection]=\"controller.direction\"\n [tuiDropdownHost]=\"nativeFocusableElement\"\n [tuiDropdownLimitWidth]=\"controller.limitWidth\"\n [tuiDropdownMinHeight]=\"controller.minHeight\"\n [tuiDropdownMaxHeight]=\"controller.maxHeight\"\n [tuiDropdownSided]=\"controller.sided\"\n [tuiDropdownContent]=\"dropdown\"\n [tuiDropdown]=\"open && canOpen\"\n [tuiObscuredEnabled]=\"open\"\n (tuiObscured)=\"onHostObscured($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-content></ng-content>\n <ng-template\n #dropdown=\"polymorpheus\"\n polymorpheus\n >\n <div\n #wrapper\n polymorpheus-outlet\n [content]=\"content\"\n [context]=\"{$implicit: activeZone}\"\n (keydown.esc)=\"onKeyDownEsc($event)\"\n (keydown)=\"onKeydown($event)\"\n ></div>\n <!--This DIV is here to start backwards TreeWalker for focusing last focusable item on ArrowUp-->\n <div></div>\n </ng-template>\n</div>\n",
203
203
  changeDetection: ChangeDetectionStrategy.OnPush,
204
204
  providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-hosted-dropdown.js","sources":["ng://@taiga-ui/core/components/hosted-dropdown/hosted-dropdown-connector.directive.ts","ng://@taiga-ui/core/components/hosted-dropdown/hosted-dropdown.component.ts","ng://@taiga-ui/core/components/hosted-dropdown/hosted-dropdown.module.ts","ng://@taiga-ui/core/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.ts"],"sourcesContent":["import {Directive} from '@angular/core';\n\n@Directive({\n selector: `[tuiHostedDropdownHost]`,\n})\nexport class TuiHostedDropdownConnectorDirective {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n getClosestFocusable,\n isElementEditable,\n isNativeFocusedIn,\n isNativeKeyboardFocusable,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {\n DROPDOWN_CONTROLLER_PROVIDER,\n TUI_DROPDOWN_WATCHED_CONTROLLER,\n TuiDropdownControllerDirective,\n} from '@taiga-ui/core/directives/dropdown-controller';\nimport {isEditingKey} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHostedDropdownConnectorDirective} from './hosted-dropdown-connector.directive';\n\n@Component({\n selector: `tui-hosted-dropdown`,\n templateUrl: `./hosted-dropdown.template.html`,\n styleUrls: [`./hosted-dropdown.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiHostedDropdownComponent),\n },\n DROPDOWN_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiHostedDropdownComponent implements TuiFocusableElementAccessor {\n @ContentChild(TuiHostedDropdownConnectorDirective, {read: ElementRef})\n private readonly dropdownHost?: ElementRef<HTMLElement>;\n\n @ViewChild(`wrapper`, {read: ElementRef})\n private readonly wrapper?: ElementRef<HTMLDivElement>;\n\n @ViewChild(TuiDropdownDirective)\n private readonly dropdownDirective?: TuiDropdownDirective;\n\n @Input()\n @tuiDefaultProp()\n content: PolymorpheusContent<TuiContextWithImplicit<TuiActiveZoneDirective>> = ``;\n\n @Input()\n @tuiDefaultProp()\n canOpen = true;\n\n @Input()\n @tuiDefaultProp()\n open = false;\n\n @Output()\n readonly openChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef,\n @Inject(TUI_DROPDOWN_WATCHED_CONTROLLER)\n readonly controller: TuiDropdownControllerDirective,\n ) {}\n\n get host(): HTMLElement {\n return this.dropdownHost\n ? this.dropdownHost.nativeElement\n : this.elementRef.nativeElement;\n }\n\n get dropdown(): HTMLElement | null {\n return !this.dropdownDirective || this.dropdownDirective.dropdownBoxRef === null\n ? null\n : this.dropdownDirective.dropdownBoxRef.location.nativeElement;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return isNativeKeyboardFocusable(this.host)\n ? this.host\n : getClosestFocusable(this.host, false, this.elementRef.nativeElement);\n }\n\n @HostBinding(`class._hosted_dropdown_focused`)\n get focused(): boolean {\n return (\n isNativeFocusedIn(this.host) ||\n (this.open && !!this.wrapper && isNativeFocusedIn(this.wrapper.nativeElement))\n );\n }\n\n @HostListener(`focusin`, [`$event.target`])\n onFocusIn(target: HTMLElement): void {\n const host = this.dropdownHost\n ? this.dropdownHost.nativeElement\n : this.nativeFocusableElement || this.elementRef.nativeElement;\n\n if (!host.contains(target)) {\n this.updateOpen(false);\n }\n }\n\n @HostListener(`click`, [`$event.target`])\n onClick(target: HTMLElement): void {\n const host = this.nativeFocusableElement || this.host;\n const dropdownHost = this.dropdownHost ? this.dropdownHost.nativeElement : host;\n\n if (!this.hostEditable && dropdownHost.contains(target)) {\n this.updateOpen(!this.open);\n }\n }\n\n @HostListener(`keydown.esc`, [`$event`])\n onKeyDownEsc(event: Event): void {\n if (!this.canOpen || !this.open) {\n return;\n }\n\n event.stopPropagation();\n this.closeDropdown();\n }\n\n @HostListener(`keydown.arrowDown`, [`$event`, `true`])\n @HostListener(`keydown.arrowUp`, [`$event`, `false`])\n onArrow(event: KeyboardEvent, down: boolean): void {\n this.focusDropdown(event, down);\n }\n\n onKeydown({key, target, defaultPrevented}: KeyboardEvent): void {\n if (\n !defaultPrevented &&\n isEditingKey(key) &&\n this.hostEditable &&\n // TODO: iframe warning\n target instanceof HTMLElement &&\n !isElementEditable(target)\n ) {\n this.focusHost();\n }\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n\n if (!active) {\n this.updateOpen(false);\n }\n }\n\n onHostObscured(obscured: boolean): void {\n if (obscured) {\n this.closeDropdown();\n }\n }\n\n updateOpen(open: boolean): void {\n if (open && !this.canOpen) {\n return;\n }\n\n this.open = open;\n this.openChange.emit(open);\n }\n\n private get hostEditable(): boolean {\n const host = this.nativeFocusableElement || this.host;\n\n // TODO: iframe warning\n return host instanceof HTMLElement && isElementEditable(host);\n }\n\n private focusDropdown(event: KeyboardEvent, first: boolean): void {\n const host = this.nativeFocusableElement;\n\n // TODO: iframe warning\n if (\n !host ||\n !(host instanceof HTMLElement) ||\n !(event.target instanceof Node) ||\n !host.contains(event.target)\n ) {\n return;\n }\n\n if (\n !this.wrapper ||\n !this.open ||\n this.dropdown === null ||\n // TODO: iframe warning\n !(this.wrapper.nativeElement.nextElementSibling instanceof HTMLElement)\n ) {\n this.updateOpen(true);\n\n if (!isElementEditable(host)) {\n event.preventDefault();\n }\n\n return;\n }\n\n const initial = first\n ? this.wrapper.nativeElement\n : this.wrapper.nativeElement.nextElementSibling;\n const focusable = getClosestFocusable(\n initial,\n !first,\n this.wrapper.nativeElement,\n );\n\n if (focusable === null) {\n return;\n }\n\n setNativeFocused(focusable);\n event.preventDefault();\n }\n\n private closeDropdown(): void {\n if (this.focused) {\n this.focusHost();\n }\n\n this.updateOpen(false);\n }\n\n private focusHost(): void {\n const host = this.nativeFocusableElement;\n\n if (host !== null) {\n setNativeFocused(host, true, true);\n }\n }\n\n private updateFocused(focused: boolean): void {\n this.focusedChange.emit(focused);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiObscuredModule} from '@taiga-ui/cdk';\nimport {TuiDropdownModule} from '@taiga-ui/core/directives/dropdown';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHostedDropdownComponent} from './hosted-dropdown.component';\nimport {TuiHostedDropdownConnectorDirective} from './hosted-dropdown-connector.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiObscuredModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiDropdownModule,\n ],\n declarations: [TuiHostedDropdownComponent, TuiHostedDropdownConnectorDirective],\n exports: [TuiHostedDropdownComponent, TuiHostedDropdownConnectorDirective],\n})\nexport class TuiHostedDropdownModule {}\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-hosted-dropdown.js","sources":["ng://@taiga-ui/core/components/hosted-dropdown/hosted-dropdown-connector.directive.ts","ng://@taiga-ui/core/components/hosted-dropdown/hosted-dropdown.component.ts","ng://@taiga-ui/core/components/hosted-dropdown/hosted-dropdown.module.ts","ng://@taiga-ui/core/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.ts"],"sourcesContent":["import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiHostedDropdownHost]',\n})\nexport class TuiHostedDropdownConnectorDirective {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n getClosestFocusable,\n isElementEditable,\n isNativeFocusedIn,\n isNativeKeyboardFocusable,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {\n DROPDOWN_CONTROLLER_PROVIDER,\n TUI_DROPDOWN_WATCHED_CONTROLLER,\n TuiDropdownControllerDirective,\n} from '@taiga-ui/core/directives/dropdown-controller';\nimport {isEditingKey} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHostedDropdownConnectorDirective} from './hosted-dropdown-connector.directive';\n\n@Component({\n selector: 'tui-hosted-dropdown',\n templateUrl: './hosted-dropdown.template.html',\n styleUrls: ['./hosted-dropdown.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiHostedDropdownComponent),\n },\n DROPDOWN_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiHostedDropdownComponent implements TuiFocusableElementAccessor {\n @ContentChild(TuiHostedDropdownConnectorDirective, {read: ElementRef})\n private readonly dropdownHost?: ElementRef<HTMLElement>;\n\n @ViewChild('wrapper', {read: ElementRef})\n private readonly wrapper?: ElementRef<HTMLDivElement>;\n\n @ViewChild(TuiDropdownDirective)\n private readonly dropdownDirective?: TuiDropdownDirective;\n\n @Input()\n @tuiDefaultProp()\n content: PolymorpheusContent<TuiContextWithImplicit<TuiActiveZoneDirective>> = '';\n\n @Input()\n @tuiDefaultProp()\n canOpen = true;\n\n @Input()\n @tuiDefaultProp()\n open = false;\n\n @Output()\n readonly openChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef,\n @Inject(TUI_DROPDOWN_WATCHED_CONTROLLER)\n readonly controller: TuiDropdownControllerDirective,\n ) {}\n\n get host(): HTMLElement {\n return this.dropdownHost\n ? this.dropdownHost.nativeElement\n : this.elementRef.nativeElement;\n }\n\n get dropdown(): HTMLElement | null {\n return !this.dropdownDirective || this.dropdownDirective.dropdownBoxRef === null\n ? null\n : this.dropdownDirective.dropdownBoxRef.location.nativeElement;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return isNativeKeyboardFocusable(this.host)\n ? this.host\n : getClosestFocusable(this.host, false, this.elementRef.nativeElement);\n }\n\n @HostBinding('class._hosted_dropdown_focused')\n get focused(): boolean {\n return (\n isNativeFocusedIn(this.host) ||\n (this.open && !!this.wrapper && isNativeFocusedIn(this.wrapper.nativeElement))\n );\n }\n\n @HostListener('focusin', ['$event.target'])\n onFocusIn(target: HTMLElement): void {\n const host = this.dropdownHost\n ? this.dropdownHost.nativeElement\n : this.nativeFocusableElement || this.elementRef.nativeElement;\n\n if (!host.contains(target)) {\n this.updateOpen(false);\n }\n }\n\n @HostListener('click', ['$event.target'])\n onClick(target: HTMLElement): void {\n const host = this.nativeFocusableElement || this.host;\n const dropdownHost = this.dropdownHost ? this.dropdownHost.nativeElement : host;\n\n if (!this.hostEditable && dropdownHost.contains(target)) {\n this.updateOpen(!this.open);\n }\n }\n\n @HostListener('keydown.esc', ['$event'])\n onKeyDownEsc(event: Event): void {\n if (!this.canOpen || !this.open) {\n return;\n }\n\n event.stopPropagation();\n this.closeDropdown();\n }\n\n @HostListener('keydown.arrowDown', ['$event', 'true'])\n @HostListener('keydown.arrowUp', ['$event', 'false'])\n onArrow(event: KeyboardEvent, down: boolean): void {\n this.focusDropdown(event, down);\n }\n\n onKeydown({key, target, defaultPrevented}: KeyboardEvent): void {\n if (\n !defaultPrevented &&\n isEditingKey(key) &&\n this.hostEditable &&\n // TODO: iframe warning\n target instanceof HTMLElement &&\n !isElementEditable(target)\n ) {\n this.focusHost();\n }\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n\n if (!active) {\n this.updateOpen(false);\n }\n }\n\n onHostObscured(obscured: boolean): void {\n if (obscured) {\n this.closeDropdown();\n }\n }\n\n updateOpen(open: boolean): void {\n if (open && !this.canOpen) {\n return;\n }\n\n this.open = open;\n this.openChange.emit(open);\n }\n\n private get hostEditable(): boolean {\n const host = this.nativeFocusableElement || this.host;\n\n // TODO: iframe warning\n return host instanceof HTMLElement && isElementEditable(host);\n }\n\n private focusDropdown(event: KeyboardEvent, first: boolean): void {\n const host = this.nativeFocusableElement;\n\n // TODO: iframe warning\n if (\n !host ||\n !(host instanceof HTMLElement) ||\n !(event.target instanceof Node) ||\n !host.contains(event.target)\n ) {\n return;\n }\n\n if (\n !this.wrapper ||\n !this.open ||\n this.dropdown === null ||\n // TODO: iframe warning\n !(this.wrapper.nativeElement.nextElementSibling instanceof HTMLElement)\n ) {\n this.updateOpen(true);\n\n if (!isElementEditable(host)) {\n event.preventDefault();\n }\n\n return;\n }\n\n const initial = first\n ? this.wrapper.nativeElement\n : this.wrapper.nativeElement.nextElementSibling;\n const focusable = getClosestFocusable(\n initial,\n !first,\n this.wrapper.nativeElement,\n );\n\n if (focusable === null) {\n return;\n }\n\n setNativeFocused(focusable);\n event.preventDefault();\n }\n\n private closeDropdown(): void {\n if (this.focused) {\n this.focusHost();\n }\n\n this.updateOpen(false);\n }\n\n private focusHost(): void {\n const host = this.nativeFocusableElement;\n\n if (host !== null) {\n setNativeFocused(host, true, true);\n }\n }\n\n private updateFocused(focused: boolean): void {\n this.focusedChange.emit(focused);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiObscuredModule} from '@taiga-ui/cdk';\nimport {TuiDropdownModule} from '@taiga-ui/core/directives/dropdown';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHostedDropdownComponent} from './hosted-dropdown.component';\nimport {TuiHostedDropdownConnectorDirective} from './hosted-dropdown-connector.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiObscuredModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiDropdownModule,\n ],\n declarations: [TuiHostedDropdownComponent, TuiHostedDropdownConnectorDirective],\n exports: [TuiHostedDropdownComponent, TuiHostedDropdownConnectorDirective],\n})\nexport class TuiHostedDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ let TuiLabelComponent = class TuiLabelComponent {
11
11
  constructor(mode$) {
12
12
  this.mode$ = mode$;
13
13
  // TODO: 3.0 Rename to tuiLabel
14
- this.label = ``;
14
+ this.label = '';
15
15
  this.context = {
16
16
  $implicit: null,
17
17
  };
@@ -30,16 +30,16 @@ __decorate([
30
30
  ], TuiLabelComponent.prototype, "context", void 0);
31
31
  __decorate([
32
32
  ContentChild(NgControl),
33
- HostBinding(`class._control`)
33
+ HostBinding('class._control')
34
34
  ], TuiLabelComponent.prototype, "control", void 0);
35
35
  TuiLabelComponent = __decorate([
36
36
  Component({
37
- selector: `label[tuiLabel]`,
38
- template: "<span\n polymorpheus-outlet\n class=\"t-label\"\n [content]=\"label\"\n [context]=\"context\"\n>\n <ng-template let-text>\n <span class=\"t-text\">{{ text }}</span>\n </ng-template>\n</span>\n<span class=\"t-content\"><ng-content></ng-content></span>\n",
37
+ selector: 'label[tuiLabel]',
38
+ template: "<span\n polymorpheus-outlet\n class=\"t-label\"\n [content]=\"label\"\n [context]=\"context\"\n>\n <ng-template let-text>\n <span class=\"t-text\">{{ text }}</span>\n </ng-template>\n</span>\n<span class=\"t-content\">\n <ng-content></ng-content>\n</span>\n",
39
39
  changeDetection: ChangeDetectionStrategy.OnPush,
40
40
  providers: [MODE_PROVIDER],
41
41
  host: {
42
- '($.data-mode.attr)': `mode$`,
42
+ '($.data-mode.attr)': 'mode$',
43
43
  },
44
44
  styles: [":host{display:flex;min-height:2.75rem;justify-content:space-between;flex-direction:column;pointer-events:none}.t-label{font:var(--tui-font-text-s);max-width:100%;align-self:inherit;overflow:inherit;pointer-events:auto}.t-text{display:block;overflow:inherit;text-overflow:ellipsis}:host:not(._control) .t-text{color:var(--tui-text-02)}:host([data-mode=onDark]) .t-text{color:var(--tui-text-02-night)}.t-content{line-height:1.5rem;overflow:inherit;text-overflow:ellipsis;pointer-events:auto}"]
45
45
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-label.js","sources":["ng://@taiga-ui/core/components/label/label.component.ts","ng://@taiga-ui/core/components/label/label.module.ts","ng://@taiga-ui/core/components/label/taiga-ui-core-components-label.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiContextWithImplicit, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TUI_MODE} from '@taiga-ui/core/tokens';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: `label[tuiLabel]`,\n templateUrl: `./label.template.html`,\n styleUrls: [`./label.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': `mode$`,\n },\n})\nexport class TuiLabelComponent<T> {\n // TODO: 3.0 Rename to tuiLabel\n @Input()\n @tuiDefaultProp()\n label: PolymorpheusContent = ``;\n\n @Input()\n @tuiDefaultProp()\n context: TuiContextWithImplicit<T | null> = {\n $implicit: null,\n };\n\n @ContentChild(NgControl)\n @HostBinding(`class._control`)\n readonly control?: NgControl;\n\n constructor(@Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>) {}\n}\n","import {NgModule} from '@angular/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiLabelComponent} from './label.component';\n\n@NgModule({\n imports: [PolymorpheusModule],\n declarations: [TuiLabelComponent],\n exports: [TuiLabelComponent],\n})\nexport class TuiLabelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;IA0Ba,iBAAiB,GAA9B,MAAa,iBAAiB;IAgB1B,YAAuC,KAAuC;QAAvC,UAAK,GAAL,KAAK,CAAkC;;QAZ9E,UAAK,GAAwB,EAAE,CAAC;QAIhC,YAAO,GAAqC;YACxC,SAAS,EAAE,IAAI;SAClB,CAAC;KAMgF;EACrF;;YADiD,UAAU,uBAA3C,MAAM,SAAC,QAAQ;;AAZ5B;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;gDACe;AAIhC;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;kDAGf;AAIF;IAFC,YAAY,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,gBAAgB,CAAC;kDACD;AAdpB,iBAAiB;IAV7B,SAAS,CAAC;QACP,QAAQ,EAAE,iBAAiB;QAC3B,iSAAoC;QAEpC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE,CAAC,aAAa,CAAC;QAC1B,IAAI,EAAE;YACF,oBAAoB,EAAE,OAAO;SAChC;;KACJ,CAAC;IAiBe,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;GAhBpB,iBAAiB,CAiB7B;;ICjCY,cAAc,GAA3B,MAAa,cAAc;EAAG;AAAjB,cAAc;IAL1B,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,kBAAkB,CAAC;QAC7B,YAAY,EAAE,CAAC,iBAAiB,CAAC;QACjC,OAAO,EAAE,CAAC,iBAAiB,CAAC;KAC/B,CAAC;GACW,cAAc,CAAG;;ACV9B;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-components-label.js","sources":["ng://@taiga-ui/core/components/label/label.component.ts","ng://@taiga-ui/core/components/label/label.module.ts","ng://@taiga-ui/core/components/label/taiga-ui-core-components-label.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiContextWithImplicit, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TUI_MODE} from '@taiga-ui/core/tokens';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'label[tuiLabel]',\n templateUrl: './label.template.html',\n styleUrls: ['./label.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiLabelComponent<T> {\n // TODO: 3.0 Rename to tuiLabel\n @Input()\n @tuiDefaultProp()\n label: PolymorpheusContent = '';\n\n @Input()\n @tuiDefaultProp()\n context: TuiContextWithImplicit<T | null> = {\n $implicit: null,\n };\n\n @ContentChild(NgControl)\n @HostBinding('class._control')\n readonly control?: NgControl;\n\n constructor(@Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>) {}\n}\n","import {NgModule} from '@angular/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiLabelComponent} from './label.component';\n\n@NgModule({\n imports: [PolymorpheusModule],\n declarations: [TuiLabelComponent],\n exports: [TuiLabelComponent],\n})\nexport class TuiLabelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;IA0Ba,iBAAiB,GAA9B,MAAa,iBAAiB;IAgB1B,YAAuC,KAAuC;QAAvC,UAAK,GAAL,KAAK,CAAkC;;QAZ9E,UAAK,GAAwB,EAAE,CAAC;QAIhC,YAAO,GAAqC;YACxC,SAAS,EAAE,IAAI;SAClB,CAAC;KAMgF;EACrF;;YADiD,UAAU,uBAA3C,MAAM,SAAC,QAAQ;;AAZ5B;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;gDACe;AAIhC;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;kDAGf;AAIF;IAFC,YAAY,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,gBAAgB,CAAC;kDACD;AAdpB,iBAAiB;IAV7B,SAAS,CAAC;QACP,QAAQ,EAAE,iBAAiB;QAC3B,ySAAoC;QAEpC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE,CAAC,aAAa,CAAC;QAC1B,IAAI,EAAE;YACF,oBAAoB,EAAE,OAAO;SAChC;;KACJ,CAAC;IAiBe,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;GAhBpB,iBAAiB,CAiB7B;;ICjCY,cAAc,GAA3B,MAAa,cAAc;EAAG;AAAjB,cAAc;IAL1B,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,kBAAkB,CAAC;QAC7B,YAAY,EAAE,CAAC,iBAAiB,CAAC;QACjC,OAAO,EAAE,CAAC,iBAAiB,CAAC;KAC/B,CAAC;GACW,cAAc,CAAG;;ACV9B;;;;;;"}
@@ -17,11 +17,11 @@ let TuiLinkComponent = TuiLinkComponent_1 = class TuiLinkComponent {
17
17
  this.pseudo = false;
18
18
  // TODO: 3.0 Remove `null`
19
19
  this.icon = null;
20
- this.iconAlign = `right`;
20
+ this.iconAlign = 'right';
21
21
  this.iconRotated = false;
22
22
  this.mode = null;
23
23
  this.focusVisible = false;
24
- this.focusedChange = merge(typedFromEvent(this.elementRef.nativeElement, `focusin`).pipe(mapTo(true)), typedFromEvent(this.elementRef.nativeElement, `focusout`).pipe(mapTo(false)));
24
+ this.focusedChange = merge(typedFromEvent(this.elementRef.nativeElement, 'focusin').pipe(mapTo(true)), typedFromEvent(this.elementRef.nativeElement, 'focusout').pipe(mapTo(false)));
25
25
  focusVisible$.subscribe(visible => {
26
26
  this.focusVisible = visible;
27
27
  });
@@ -36,10 +36,10 @@ let TuiLinkComponent = TuiLinkComponent_1 = class TuiLinkComponent {
36
36
  return this.icon !== null;
37
37
  }
38
38
  get iconAlignLeft() {
39
- return this.hasIcon && this.iconAlign === `left`;
39
+ return this.hasIcon && this.iconAlign === 'left';
40
40
  }
41
41
  get iconAlignRight() {
42
- return this.hasIcon && this.iconAlign === `right`;
42
+ return this.hasIcon && this.iconAlign === 'right';
43
43
  }
44
44
  };
45
45
  TuiLinkComponent.ctorParameters = () => [
@@ -49,7 +49,7 @@ TuiLinkComponent.ctorParameters = () => [
49
49
  ];
50
50
  __decorate([
51
51
  Input(),
52
- HostBinding(`class._pseudo`),
52
+ HostBinding('class._pseudo'),
53
53
  tuiDefaultProp()
54
54
  ], TuiLinkComponent.prototype, "pseudo", void 0);
55
55
  __decorate([
@@ -62,20 +62,20 @@ __decorate([
62
62
  ], TuiLinkComponent.prototype, "iconAlign", void 0);
63
63
  __decorate([
64
64
  Input(),
65
- HostBinding(`class._icon-rotated`),
65
+ HostBinding('class._icon-rotated'),
66
66
  tuiDefaultProp()
67
67
  ], TuiLinkComponent.prototype, "iconRotated", void 0);
68
68
  __decorate([
69
69
  Input(),
70
- HostBinding(`attr.data-host-mode`),
70
+ HostBinding('attr.data-host-mode'),
71
71
  tuiDefaultProp()
72
72
  ], TuiLinkComponent.prototype, "mode", void 0);
73
73
  __decorate([
74
- HostBinding(`class._focus-visible`)
74
+ HostBinding('class._focus-visible')
75
75
  ], TuiLinkComponent.prototype, "focusVisible", void 0);
76
76
  TuiLinkComponent = TuiLinkComponent_1 = __decorate([
77
77
  Component({
78
- selector: `a[tuiLink], button[tuiLink]`,
78
+ selector: 'a[tuiLink], button[tuiLink]',
79
79
  template: "<tui-svg\n *ngIf=\"iconAlignLeft\"\n class=\"t-icon t-icon_left\"\n [src]=\"icon || ''\"\n></tui-svg>\n<span class=\"t-content\">\n <ng-content></ng-content>\n</span>\n<tui-svg\n *ngIf=\"iconAlignRight\"\n class=\"t-icon t-icon_right\"\n [src]=\"icon || ''\"\n></tui-svg>\n",
80
80
  providers: [
81
81
  {
@@ -87,9 +87,9 @@ TuiLinkComponent = TuiLinkComponent_1 = __decorate([
87
87
  MODE_PROVIDER,
88
88
  ],
89
89
  changeDetection: ChangeDetectionStrategy.OnPush,
90
- exportAs: `tuiLink`,
90
+ exportAs: 'tuiLink',
91
91
  host: {
92
- '($.data-mode.attr)': `mode$`,
92
+ '($.data-mode.attr)': 'mode$',
93
93
  },
94
94
  styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;transition-property:color;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;color:var(--tui-link);text-decoration:none;text-align:left;text-transform:inherit;font-weight:inherit;cursor:pointer;outline:0}:host:hover{color:var(--tui-link-hover)}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:default}:host[data-mode=onLight]{color:var(--tui-text-02)}:host[data-mode=onLight]._active,:host[data-mode=onLight]:hover{color:var(--tui-text-01)}:host[data-mode=onLight]._pseudo{color:var(--tui-text-01)}:host[data-mode=onLight]._pseudo .t-content{-webkit-text-decoration-color:rgba(0,0,0,.48);text-decoration-color:rgba(0,0,0,.48)}:host[data-mode=onLight]._pseudo._active,:host[data-mode=onLight]._pseudo:hover{color:var(--tui-text-03)}:host[data-mode=onLight][data-host-mode=negative]{color:var(--tui-negative-night)}:host[data-mode=onLight][data-host-mode=negative]._active,:host[data-mode=onLight][data-host-mode=negative]:active,:host[data-mode=onLight][data-host-mode=negative]:hover{color:var(--tui-negative-night-hover)}:host[data-mode=onDark]{color:var(--tui-text-03-night)}:host[data-mode=onDark]._active,:host[data-mode=onDark]:active,:host[data-mode=onDark]:hover{color:var(--tui-text-01-night)}:host[data-mode=onDark]._pseudo{color:var(--tui-text-01-night)}:host[data-mode=onDark]._pseudo .t-content{-webkit-text-decoration-color:rgba(255,255,255,.48);text-decoration-color:rgba(255,255,255,.48)}:host[data-mode=onDark]._pseudo._active,:host[data-mode=onDark]._pseudo:active,:host[data-mode=onDark]._pseudo:hover{color:var(--tui-text-03-night)}:host[data-mode=onDark][data-host-mode=positive]{color:var(--tui-positive-night)}:host[data-mode=onDark][data-host-mode=positive]._active,:host[data-mode=onDark][data-host-mode=positive]:active,:host[data-mode=onDark][data-host-mode=positive]:hover{color:var(--tui-positive-night-hover)}:host[data-host-mode=negative]{color:var(--tui-negative)}:host[data-host-mode=negative]:hover{color:var(--tui-negative-hover)}:host[data-host-mode=negative]._pseudo .t-content{-webkit-text-decoration-color:rgba(222,76,30,.48);text-decoration-color:rgba(222,76,30,.48)}:host[data-host-mode=positive]{color:var(--tui-positive)}:host[data-host-mode=positive]:hover{color:var(--tui-positive-hover)}:host[data-host-mode=positive]._pseudo .t-content{-webkit-text-decoration-color:rgba(58,169,129,.48);text-decoration-color:rgba(58,169,129,.48)}:host._focus-visible .t-content{background:var(--tui-selection)}:host[data-mode=onLight]._focus-visible .t-content{background:var(--tui-clear);color:var(--tui-text-01)}:host[data-mode=onDark]._focus-visible .t-content{background:var(--tui-clear-inverse);color:var(--tui-text-01-night)}:host[data-host-mode=positive]._focus-visible .t-content{background:var(--tui-success-bg)}:host[data-host-mode=negative]._focus-visible .t-content{background:var(--tui-error-bg)}:host._pseudo .t-content{padding-bottom:.15em;-webkit-text-decoration:underline dashed rgba(51,111,238,.48);text-decoration:underline dashed rgba(51,111,238,.48);text-underline-offset:.2em;text-decoration-thickness:.7px}.t-icon{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;margin-top:-.125rem;opacity:.8}.t-icon_left{margin-right:.25rem}.t-icon_right{margin-left:.25rem}:host:hover .t-icon{opacity:1}:host._icon-rotated .t-icon{transform:rotate(180deg)}"]
95
95
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-link.js","sources":["ng://@taiga-ui/core/components/link/link.component.ts","ng://@taiga-ui/core/components/link/link.module.ts","ng://@taiga-ui/core/components/link/taiga-ui-core-components-link.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiDestroyService,\n TuiFocusableElementAccessor,\n TuiFocusVisibleService,\n TuiNativeFocusableElement,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TUI_MODE} from '@taiga-ui/core/tokens';\nimport {TuiBrightness, TuiHorizontalDirection} from '@taiga-ui/core/types';\nimport {merge, Observable} from 'rxjs';\nimport {mapTo} from 'rxjs/operators';\n\n// @bad TODO: Think about extending Interactive\n@Component({\n selector: `a[tuiLink], button[tuiLink]`,\n templateUrl: `./link.template.html`,\n styleUrls: [`./link.style.less`],\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiLinkComponent),\n },\n TuiFocusVisibleService,\n TuiDestroyService,\n MODE_PROVIDER,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tuiLink`,\n host: {\n '($.data-mode.attr)': `mode$`,\n },\n})\nexport class TuiLinkComponent implements TuiFocusableElementAccessor {\n @Input()\n @HostBinding(`class._pseudo`)\n @tuiDefaultProp()\n pseudo = false;\n\n // TODO: 3.0 Remove `null`\n @Input()\n @tuiDefaultProp()\n icon: string | null = null;\n\n @Input()\n @tuiDefaultProp()\n iconAlign: TuiHorizontalDirection = `right`;\n\n @Input()\n @HostBinding(`class._icon-rotated`)\n @tuiDefaultProp()\n iconRotated = false;\n\n @Input()\n @HostBinding(`attr.data-host-mode`)\n @tuiDefaultProp()\n mode: 'positive' | 'negative' | null = null;\n\n @HostBinding(`class._focus-visible`)\n focusVisible = false;\n\n readonly focusedChange = merge(\n typedFromEvent(this.elementRef.nativeElement, `focusin`).pipe(mapTo(true)),\n typedFromEvent(this.elementRef.nativeElement, `focusout`).pipe(mapTo(false)),\n );\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<TuiNativeFocusableElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TuiFocusVisibleService)\n focusVisible$: TuiFocusVisibleService,\n ) {\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement {\n return this.elementRef.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get hasIcon(): boolean {\n return this.icon !== null;\n }\n\n get iconAlignLeft(): boolean {\n return this.hasIcon && this.iconAlign === `left`;\n }\n\n get iconAlignRight(): boolean {\n return this.hasIcon && this.iconAlign === `right`;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\n\nimport {TuiLinkComponent} from './link.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule],\n declarations: [TuiLinkComponent],\n exports: [TuiLinkComponent],\n})\nexport class TuiLinkModule {}\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-link.js","sources":["ng://@taiga-ui/core/components/link/link.component.ts","ng://@taiga-ui/core/components/link/link.module.ts","ng://@taiga-ui/core/components/link/taiga-ui-core-components-link.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiDestroyService,\n TuiFocusableElementAccessor,\n TuiFocusVisibleService,\n TuiNativeFocusableElement,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TUI_MODE} from '@taiga-ui/core/tokens';\nimport {TuiBrightness, TuiHorizontalDirection} from '@taiga-ui/core/types';\nimport {merge, Observable} from 'rxjs';\nimport {mapTo} from 'rxjs/operators';\n\n// @bad TODO: Think about extending Interactive\n@Component({\n selector: 'a[tuiLink], button[tuiLink]',\n templateUrl: './link.template.html',\n styleUrls: ['./link.style.less'],\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiLinkComponent),\n },\n TuiFocusVisibleService,\n TuiDestroyService,\n MODE_PROVIDER,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'tuiLink',\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiLinkComponent implements TuiFocusableElementAccessor {\n @Input()\n @HostBinding('class._pseudo')\n @tuiDefaultProp()\n pseudo = false;\n\n // TODO: 3.0 Remove `null`\n @Input()\n @tuiDefaultProp()\n icon: string | null = null;\n\n @Input()\n @tuiDefaultProp()\n iconAlign: TuiHorizontalDirection = 'right';\n\n @Input()\n @HostBinding('class._icon-rotated')\n @tuiDefaultProp()\n iconRotated = false;\n\n @Input()\n @HostBinding('attr.data-host-mode')\n @tuiDefaultProp()\n mode: 'negative' | 'positive' | null = null;\n\n @HostBinding('class._focus-visible')\n focusVisible = false;\n\n readonly focusedChange = merge(\n typedFromEvent(this.elementRef.nativeElement, 'focusin').pipe(mapTo(true)),\n typedFromEvent(this.elementRef.nativeElement, 'focusout').pipe(mapTo(false)),\n );\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<TuiNativeFocusableElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TuiFocusVisibleService)\n focusVisible$: TuiFocusVisibleService,\n ) {\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement {\n return this.elementRef.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get hasIcon(): boolean {\n return this.icon !== null;\n }\n\n get iconAlignLeft(): boolean {\n return this.hasIcon && this.iconAlign === 'left';\n }\n\n get iconAlignRight(): boolean {\n return this.hasIcon && this.iconAlign === 'right';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\n\nimport {TuiLinkComponent} from './link.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule],\n declarations: [TuiLinkComponent],\n exports: [TuiLinkComponent],\n})\nexport class TuiLinkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}