@taiga-ui/core 2.44.0 → 2.47.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 (513) hide show
  1. package/bundles/taiga-ui-core-abstract.umd.js +50 -20
  2. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-abstract.umd.min.js +1 -15
  4. package/bundles/taiga-ui-core-abstract.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-alert.umd.js +51 -21
  6. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-alert.umd.min.js +1 -15
  8. package/bundles/taiga-ui-core-components-alert.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-button.umd.js +50 -20
  10. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-button.umd.min.js +1 -15
  12. package/bundles/taiga-ui-core-components-button.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-calendar.umd.js +50 -20
  14. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  15. package/bundles/taiga-ui-core-components-calendar.umd.min.js +1 -15
  16. package/bundles/taiga-ui-core-components-calendar.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-core-components-data-list.umd.js +56 -26
  18. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-components-data-list.umd.min.js +1 -15
  20. package/bundles/taiga-ui-core-components-data-list.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-core-components-dialog.umd.js +51 -21
  22. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  23. package/bundles/taiga-ui-core-components-dialog.umd.min.js +1 -15
  24. package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-core-components-dropdown-box.umd.js +74 -27
  26. package/bundles/taiga-ui-core-components-dropdown-box.umd.js.map +1 -1
  27. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js +1 -15
  28. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-core-components-error.umd.js +50 -20
  30. package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
  31. package/bundles/taiga-ui-core-components-error.umd.min.js +1 -15
  32. package/bundles/taiga-ui-core-components-error.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-core-components-expand.umd.js +52 -22
  34. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  35. package/bundles/taiga-ui-core-components-expand.umd.min.js +1 -15
  36. package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-core-components-group.umd.js +50 -20
  38. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  39. package/bundles/taiga-ui-core-components-group.umd.min.js +1 -15
  40. package/bundles/taiga-ui-core-components-group.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-core-components-hints-host.umd.js +88 -46
  42. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  43. package/bundles/taiga-ui-core-components-hints-host.umd.min.js +1 -15
  44. package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +50 -20
  46. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  47. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js +1 -15
  48. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-core-components-label.umd.js +51 -21
  50. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  51. package/bundles/taiga-ui-core-components-label.umd.min.js +1 -15
  52. package/bundles/taiga-ui-core-components-label.umd.min.js.map +1 -1
  53. package/bundles/taiga-ui-core-components-link.umd.js +52 -22
  54. package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
  55. package/bundles/taiga-ui-core-components-link.umd.min.js +1 -15
  56. package/bundles/taiga-ui-core-components-link.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-core-components-loader.umd.js +60 -95
  58. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  59. package/bundles/taiga-ui-core-components-loader.umd.min.js +1 -15
  60. package/bundles/taiga-ui-core-components-loader.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-core-components-notification.umd.js +50 -20
  62. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  63. package/bundles/taiga-ui-core-components-notification.umd.min.js +1 -15
  64. package/bundles/taiga-ui-core-components-notification.umd.min.js.map +1 -1
  65. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +50 -20
  66. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  67. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js +1 -15
  68. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
  69. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +50 -20
  70. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  71. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js +1 -15
  72. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js.map +1 -1
  73. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +50 -20
  74. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
  75. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js +1 -15
  76. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js.map +1 -1
  77. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +76 -30
  78. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  79. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +1 -15
  80. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  81. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +50 -20
  82. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  83. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js +1 -15
  84. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
  85. package/bundles/taiga-ui-core-components-root.umd.js +51 -21
  86. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  87. package/bundles/taiga-ui-core-components-root.umd.min.js +1 -15
  88. package/bundles/taiga-ui-core-components-root.umd.min.js.map +1 -1
  89. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +50 -20
  90. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  91. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js +1 -15
  92. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js.map +1 -1
  93. package/bundles/taiga-ui-core-components-scrollbar.umd.js +52 -22
  94. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  95. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js +1 -15
  96. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js.map +1 -1
  97. package/bundles/taiga-ui-core-components-svg.umd.js +59 -25
  98. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  99. package/bundles/taiga-ui-core-components-svg.umd.min.js +1 -15
  100. package/bundles/taiga-ui-core-components-svg.umd.min.js.map +1 -1
  101. package/bundles/taiga-ui-core-components-theme-night.umd.js +50 -20
  102. package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
  103. package/bundles/taiga-ui-core-components-theme-night.umd.min.js +1 -15
  104. package/bundles/taiga-ui-core-components-theme-night.umd.min.js.map +1 -1
  105. package/bundles/taiga-ui-core-components-tooltip.umd.js +50 -20
  106. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  107. package/bundles/taiga-ui-core-components-tooltip.umd.min.js +1 -15
  108. package/bundles/taiga-ui-core-components-tooltip.umd.min.js.map +1 -1
  109. package/bundles/taiga-ui-core-constants.umd.js +1 -1
  110. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  111. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  112. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-core-directives-color.umd.js +50 -20
  114. package/bundles/taiga-ui-core-directives-color.umd.js.map +1 -1
  115. package/bundles/taiga-ui-core-directives-color.umd.min.js +1 -15
  116. package/bundles/taiga-ui-core-directives-color.umd.min.js.map +1 -1
  117. package/bundles/taiga-ui-core-directives-described-by.umd.js +50 -20
  118. package/bundles/taiga-ui-core-directives-described-by.umd.js.map +1 -1
  119. package/bundles/taiga-ui-core-directives-described-by.umd.min.js +1 -15
  120. package/bundles/taiga-ui-core-directives-described-by.umd.min.js.map +1 -1
  121. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.js +51 -21
  122. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.js.map +1 -1
  123. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.min.js +1 -15
  124. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.min.js.map +1 -1
  125. package/bundles/taiga-ui-core-directives-dropdown.umd.js +50 -20
  126. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  127. package/bundles/taiga-ui-core-directives-dropdown.umd.min.js +1 -15
  128. package/bundles/taiga-ui-core-directives-dropdown.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-core-directives-hint-controller.umd.js +52 -22
  130. package/bundles/taiga-ui-core-directives-hint-controller.umd.js.map +1 -1
  131. package/bundles/taiga-ui-core-directives-hint-controller.umd.min.js +1 -15
  132. package/bundles/taiga-ui-core-directives-hint-controller.umd.min.js.map +1 -1
  133. package/bundles/taiga-ui-core-directives-hint.umd.js +52 -22
  134. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  135. package/bundles/taiga-ui-core-directives-hint.umd.min.js +1 -15
  136. package/bundles/taiga-ui-core-directives-hint.umd.min.js.map +1 -1
  137. package/bundles/taiga-ui-core-directives-manual-hint.umd.js +50 -20
  138. package/bundles/taiga-ui-core-directives-manual-hint.umd.js.map +1 -1
  139. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js +1 -15
  140. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js.map +1 -1
  141. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js +50 -20
  142. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js.map +1 -1
  143. package/bundles/taiga-ui-core-directives-mask-accessor.umd.min.js +1 -15
  144. package/bundles/taiga-ui-core-directives-mask-accessor.umd.min.js.map +1 -1
  145. package/bundles/taiga-ui-core-directives-mode.umd.js +50 -20
  146. package/bundles/taiga-ui-core-directives-mode.umd.js.map +1 -1
  147. package/bundles/taiga-ui-core-directives-mode.umd.min.js +1 -15
  148. package/bundles/taiga-ui-core-directives-mode.umd.min.js.map +1 -1
  149. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js +51 -21
  150. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js.map +1 -1
  151. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js +1 -15
  152. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js.map +1 -1
  153. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js +50 -20
  154. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js.map +1 -1
  155. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.min.js +1 -15
  156. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.min.js.map +1 -1
  157. package/bundles/taiga-ui-core-directives-table-mode.umd.js +50 -22
  158. package/bundles/taiga-ui-core-directives-table-mode.umd.js.map +1 -1
  159. package/bundles/taiga-ui-core-directives-table-mode.umd.min.js +1 -15
  160. package/bundles/taiga-ui-core-directives-table-mode.umd.min.js.map +1 -1
  161. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +52 -22
  162. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  163. package/bundles/taiga-ui-core-directives-textfield-controller.umd.min.js +1 -15
  164. package/bundles/taiga-ui-core-directives-textfield-controller.umd.min.js.map +1 -1
  165. package/bundles/taiga-ui-core-directives-wrapper.umd.js +53 -22
  166. package/bundles/taiga-ui-core-directives-wrapper.umd.js.map +1 -1
  167. package/bundles/taiga-ui-core-directives-wrapper.umd.min.js +1 -15
  168. package/bundles/taiga-ui-core-directives-wrapper.umd.min.js.map +1 -1
  169. package/bundles/taiga-ui-core-enums.umd.js +2 -2
  170. package/bundles/taiga-ui-core-enums.umd.js.map +1 -1
  171. package/bundles/taiga-ui-core-enums.umd.min.js.map +1 -1
  172. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +50 -20
  173. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  174. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js +1 -15
  175. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js.map +1 -1
  176. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js +50 -20
  177. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js.map +1 -1
  178. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.min.js +1 -15
  179. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.min.js.map +1 -1
  180. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js +52 -22
  181. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
  182. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.min.js +1 -15
  183. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.min.js.map +1 -1
  184. package/bundles/taiga-ui-core-pipes-format-number.umd.js +50 -20
  185. package/bundles/taiga-ui-core-pipes-format-number.umd.js.map +1 -1
  186. package/bundles/taiga-ui-core-pipes-format-number.umd.min.js +1 -15
  187. package/bundles/taiga-ui-core-pipes-format-number.umd.min.js.map +1 -1
  188. package/bundles/taiga-ui-core-pipes-format-phone.umd.js +50 -20
  189. package/bundles/taiga-ui-core-pipes-format-phone.umd.js.map +1 -1
  190. package/bundles/taiga-ui-core-pipes-format-phone.umd.min.js +1 -15
  191. package/bundles/taiga-ui-core-pipes-format-phone.umd.min.js.map +1 -1
  192. package/bundles/taiga-ui-core-pipes-month.umd.js +50 -20
  193. package/bundles/taiga-ui-core-pipes-month.umd.js.map +1 -1
  194. package/bundles/taiga-ui-core-pipes-month.umd.min.js +1 -15
  195. package/bundles/taiga-ui-core-pipes-month.umd.min.js.map +1 -1
  196. package/bundles/taiga-ui-core-pipes-pluralize.umd.js +50 -20
  197. package/bundles/taiga-ui-core-pipes-pluralize.umd.js.map +1 -1
  198. package/bundles/taiga-ui-core-pipes-pluralize.umd.min.js +1 -15
  199. package/bundles/taiga-ui-core-pipes-pluralize.umd.min.js.map +1 -1
  200. package/bundles/taiga-ui-core-providers.umd.js +7 -9
  201. package/bundles/taiga-ui-core-providers.umd.js.map +1 -1
  202. package/bundles/taiga-ui-core-providers.umd.min.js +1 -1
  203. package/bundles/taiga-ui-core-providers.umd.min.js.map +1 -1
  204. package/bundles/taiga-ui-core-services.umd.js +51 -21
  205. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  206. package/bundles/taiga-ui-core-services.umd.min.js +1 -15
  207. package/bundles/taiga-ui-core-services.umd.min.js.map +1 -1
  208. package/bundles/taiga-ui-core-tokens.umd.js +72 -30
  209. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  210. package/bundles/taiga-ui-core-tokens.umd.min.js +1 -15
  211. package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
  212. package/bundles/taiga-ui-core-utils-dom.umd.js +5 -5
  213. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  214. package/bundles/taiga-ui-core-utils-dom.umd.min.js +1 -1
  215. package/bundles/taiga-ui-core-utils-dom.umd.min.js.map +1 -1
  216. package/bundles/taiga-ui-core-utils-format.umd.js +52 -22
  217. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  218. package/bundles/taiga-ui-core-utils-format.umd.min.js +1 -15
  219. package/bundles/taiga-ui-core-utils-format.umd.min.js.map +1 -1
  220. package/bundles/taiga-ui-core-utils-mask.umd.js +51 -21
  221. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  222. package/bundles/taiga-ui-core-utils-mask.umd.min.js +1 -15
  223. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  224. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js.map +1 -1
  225. package/bundles/taiga-ui-core-utils-miscellaneous.umd.min.js.map +1 -1
  226. package/bundles/taiga-ui-core-utils-polyfills.umd.js.map +1 -1
  227. package/bundles/taiga-ui-core-utils-polyfills.umd.min.js.map +1 -1
  228. package/components/data-list/taiga-ui-core-components-data-list.metadata.json +1 -1
  229. package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
  230. package/components/dropdown-box/dropdown-box.component.d.ts +1 -0
  231. package/components/dropdown-box/taiga-ui-core-components-dropdown-box.metadata.json +1 -1
  232. package/components/expand/taiga-ui-core-components-expand.metadata.json +1 -1
  233. package/components/hints-host/hint-box/hint-box.component.d.ts +13 -2
  234. package/components/hints-host/hints-host.component.d.ts +4 -10
  235. package/components/hints-host/taiga-ui-core-components-hints-host.metadata.json +1 -1
  236. package/components/link/taiga-ui-core-components-link.metadata.json +1 -1
  237. package/components/loader/index.d.ts +0 -1
  238. package/components/loader/loader.component.d.ts +1 -3
  239. package/components/loader/taiga-ui-core-components-loader.metadata.json +1 -1
  240. package/components/primitive-textfield/primitive-textfield.component.d.ts +3 -1
  241. package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
  242. package/components/root/taiga-ui-core-components-root.metadata.json +1 -1
  243. package/components/scrollbar/scrollbar.component.d.ts +2 -2
  244. package/components/scrollbar/taiga-ui-core-components-scrollbar.metadata.json +1 -1
  245. package/components/svg/svg.component.d.ts +3 -2
  246. package/components/svg/taiga-ui-core-components-svg.metadata.json +1 -1
  247. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  248. package/constants/version.d.ts +1 -1
  249. package/directives/table-mode/table-mode.directive.d.ts +0 -1
  250. package/directives/table-mode/taiga-ui-core-directives-table-mode.metadata.json +1 -1
  251. package/directives/wrapper/taiga-ui-core-directives-wrapper.metadata.json +1 -1
  252. package/esm2015/components/alert/alert.component.js +2 -2
  253. package/esm2015/components/button/button-options.js +1 -1
  254. package/esm2015/components/data-list/data-list-dropdown-manager.directive.js +2 -2
  255. package/esm2015/components/data-list/data-list.component.js +3 -3
  256. package/esm2015/components/data-list/option/option.component.js +4 -4
  257. package/esm2015/components/dialog/dialog.component.js +1 -1
  258. package/esm2015/components/dropdown-box/dropdown-box.component.js +22 -9
  259. package/esm2015/components/expand/expand-content.directive.js +2 -2
  260. package/esm2015/components/expand/expand.component.js +2 -2
  261. package/esm2015/components/hints-host/hint-box/hint-box.component.js +27 -14
  262. package/esm2015/components/hints-host/hint-box/hint-box.module.js +4 -2
  263. package/esm2015/components/hints-host/hints-host.component.js +11 -13
  264. package/esm2015/components/hints-host/hints-host.module.js +1 -2
  265. package/esm2015/components/label/label.component.js +2 -2
  266. package/esm2015/components/link/link.component.js +3 -3
  267. package/esm2015/components/loader/index.js +1 -2
  268. package/esm2015/components/loader/loader.component.js +7 -15
  269. package/esm2015/components/loader/loader.module.js +2 -3
  270. package/esm2015/components/primitive-textfield/primitive-textfield-options.js +2 -2
  271. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +16 -8
  272. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +1 -1
  273. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +2 -2
  274. package/esm2015/components/root/root.component.js +2 -2
  275. package/esm2015/components/scrollbar/scrollbar.component.js +3 -3
  276. package/esm2015/components/svg/svg.component.js +11 -7
  277. package/esm2015/constants/version.js +2 -2
  278. package/esm2015/directives/dropdown-controller/dropdown-controller.provider.js +2 -2
  279. package/esm2015/directives/hint/hint-options.js +2 -2
  280. package/esm2015/directives/hint/hint.directive.js +2 -2
  281. package/esm2015/directives/hint-controller/hint-controller.directive.js +2 -2
  282. package/esm2015/directives/hint-controller/hint-controller.provider.js +2 -2
  283. package/esm2015/directives/pointer-hint/pointer-hint.directive.js +2 -2
  284. package/esm2015/directives/table-mode/table-mode.directive.js +1 -3
  285. package/esm2015/directives/textfield-controller/textfield-custom-content.directive.js +3 -3
  286. package/esm2015/directives/wrapper/wrapper.directive.js +4 -3
  287. package/esm2015/enums/interactive-state.js +3 -3
  288. package/esm2015/pipes/calendar-sheet/calendar-sheet.pipe.js +1 -1
  289. package/esm2015/pipes/calendar-sheet/utils.js +3 -3
  290. package/esm2015/providers/is-mobile-resolution.provider.js +5 -10
  291. package/esm2015/services/hint.service.js +2 -2
  292. package/esm2015/tokens/icon-place.js +5 -0
  293. package/esm2015/tokens/icons-path.js +4 -5
  294. package/esm2015/tokens/index.js +3 -1
  295. package/esm2015/tokens/is-mobile-resolution.js +13 -3
  296. package/esm2015/tokens/ordered-short-week-days.js +2 -2
  297. package/esm2015/tokens/svg-content-processor.js +4 -0
  298. package/esm2015/types/pluralize.js +1 -1
  299. package/esm2015/utils/dom/are-css-vars-supported.js +2 -2
  300. package/esm2015/utils/dom/process-icon.js +5 -5
  301. package/esm2015/utils/format/get-fractional-part-padded.js +2 -2
  302. package/esm2015/utils/format/pluralize-to-icu.js +2 -2
  303. package/esm2015/utils/mask/create-number-mask.js +2 -2
  304. package/esm2015/utils/miscellaneous/index.js +2 -2
  305. package/esm2015/utils/miscellaneous/is-presumed-html-string.js +5 -0
  306. package/esm2015/utils/polyfills/index.js +2 -2
  307. package/esm2015/utils/polyfills/{inner-HTML.js → inner-html.js} +1 -1
  308. package/esm5/components/alert/alert.component.js +2 -2
  309. package/esm5/components/button/button-options.js +1 -1
  310. package/esm5/components/data-list/data-list-dropdown-manager.directive.js +2 -2
  311. package/esm5/components/data-list/data-list.component.js +3 -3
  312. package/esm5/components/data-list/option/option.component.js +4 -4
  313. package/esm5/components/dialog/dialog.component.js +1 -1
  314. package/esm5/components/dropdown-box/dropdown-box.component.js +26 -9
  315. package/esm5/components/expand/expand-content.directive.js +2 -2
  316. package/esm5/components/expand/expand.component.js +2 -2
  317. package/esm5/components/hints-host/hint-box/hint-box.component.js +32 -15
  318. package/esm5/components/hints-host/hint-box/hint-box.module.js +4 -2
  319. package/esm5/components/hints-host/hints-host.component.js +12 -14
  320. package/esm5/components/hints-host/hints-host.module.js +1 -2
  321. package/esm5/components/label/label.component.js +2 -2
  322. package/esm5/components/link/link.component.js +3 -3
  323. package/esm5/components/loader/index.js +1 -2
  324. package/esm5/components/loader/loader.component.js +7 -15
  325. package/esm5/components/loader/loader.module.js +2 -3
  326. package/esm5/components/primitive-textfield/primitive-textfield-options.js +2 -2
  327. package/esm5/components/primitive-textfield/primitive-textfield.component.js +24 -8
  328. package/esm5/components/primitive-textfield/textfield/textfield.component.js +1 -1
  329. package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +2 -2
  330. package/esm5/components/root/root.component.js +2 -2
  331. package/esm5/components/scrollbar/scrollbar.component.js +3 -3
  332. package/esm5/components/svg/svg.component.js +11 -7
  333. package/esm5/constants/version.js +2 -2
  334. package/esm5/directives/dropdown-controller/dropdown-controller.provider.js +2 -2
  335. package/esm5/directives/hint/hint-options.js +2 -2
  336. package/esm5/directives/hint/hint.directive.js +2 -2
  337. package/esm5/directives/hint-controller/hint-controller.directive.js +2 -2
  338. package/esm5/directives/hint-controller/hint-controller.provider.js +2 -2
  339. package/esm5/directives/pointer-hint/pointer-hint.directive.js +2 -2
  340. package/esm5/directives/table-mode/table-mode.directive.js +1 -3
  341. package/esm5/directives/textfield-controller/textfield-custom-content.directive.js +3 -3
  342. package/esm5/directives/wrapper/wrapper.directive.js +4 -3
  343. package/esm5/enums/interactive-state.js +3 -3
  344. package/esm5/pipes/calendar-sheet/calendar-sheet.pipe.js +1 -1
  345. package/esm5/pipes/calendar-sheet/utils.js +3 -3
  346. package/esm5/providers/is-mobile-resolution.provider.js +6 -12
  347. package/esm5/services/hint.service.js +2 -2
  348. package/esm5/tokens/icon-place.js +5 -0
  349. package/esm5/tokens/icons-path.js +4 -5
  350. package/esm5/tokens/index.js +3 -1
  351. package/esm5/tokens/is-mobile-resolution.js +13 -3
  352. package/esm5/tokens/ordered-short-week-days.js +2 -2
  353. package/esm5/tokens/svg-content-processor.js +4 -0
  354. package/esm5/types/pluralize.js +1 -1
  355. package/esm5/utils/dom/are-css-vars-supported.js +2 -2
  356. package/esm5/utils/dom/process-icon.js +5 -5
  357. package/esm5/utils/format/get-fractional-part-padded.js +2 -2
  358. package/esm5/utils/format/pluralize-to-icu.js +2 -2
  359. package/esm5/utils/mask/create-number-mask.js +2 -2
  360. package/esm5/utils/miscellaneous/index.js +2 -2
  361. package/esm5/utils/miscellaneous/is-presumed-html-string.js +5 -0
  362. package/esm5/utils/polyfills/index.js +2 -2
  363. package/esm5/utils/polyfills/{inner-HTML.js → inner-html.js} +1 -1
  364. package/fesm2015/taiga-ui-core-components-alert.js +1 -1
  365. package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
  366. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  367. package/fesm2015/taiga-ui-core-components-data-list.js +6 -6
  368. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  369. package/fesm2015/taiga-ui-core-components-dialog.js +1 -1
  370. package/fesm2015/taiga-ui-core-components-dropdown-box.js +21 -8
  371. package/fesm2015/taiga-ui-core-components-dropdown-box.js.map +1 -1
  372. package/fesm2015/taiga-ui-core-components-expand.js +2 -2
  373. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  374. package/fesm2015/taiga-ui-core-components-hints-host.js +34 -26
  375. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  376. package/fesm2015/taiga-ui-core-components-label.js +1 -1
  377. package/fesm2015/taiga-ui-core-components-label.js.map +1 -1
  378. package/fesm2015/taiga-ui-core-components-link.js +2 -2
  379. package/fesm2015/taiga-ui-core-components-link.js.map +1 -1
  380. package/fesm2015/taiga-ui-core-components-loader.js +9 -73
  381. package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
  382. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +18 -10
  383. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  384. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  385. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  386. package/fesm2015/taiga-ui-core-components-scrollbar.js +2 -2
  387. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  388. package/fesm2015/taiga-ui-core-components-svg.js +10 -6
  389. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  390. package/fesm2015/taiga-ui-core-constants.js +1 -1
  391. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  392. package/fesm2015/taiga-ui-core-directives-dropdown-controller.js +1 -1
  393. package/fesm2015/taiga-ui-core-directives-dropdown-controller.js.map +1 -1
  394. package/fesm2015/taiga-ui-core-directives-hint-controller.js +2 -2
  395. package/fesm2015/taiga-ui-core-directives-hint-controller.js.map +1 -1
  396. package/fesm2015/taiga-ui-core-directives-hint.js +2 -2
  397. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  398. package/fesm2015/taiga-ui-core-directives-pointer-hint.js +1 -1
  399. package/fesm2015/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  400. package/fesm2015/taiga-ui-core-directives-table-mode.js +0 -2
  401. package/fesm2015/taiga-ui-core-directives-table-mode.js.map +1 -1
  402. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +2 -2
  403. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  404. package/fesm2015/taiga-ui-core-directives-wrapper.js +3 -2
  405. package/fesm2015/taiga-ui-core-directives-wrapper.js.map +1 -1
  406. package/fesm2015/taiga-ui-core-enums.js +2 -2
  407. package/fesm2015/taiga-ui-core-enums.js.map +1 -1
  408. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js +2 -2
  409. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  410. package/fesm2015/taiga-ui-core-providers.js +7 -9
  411. package/fesm2015/taiga-ui-core-providers.js.map +1 -1
  412. package/fesm2015/taiga-ui-core-services.js +1 -1
  413. package/fesm2015/taiga-ui-core-services.js.map +1 -1
  414. package/fesm2015/taiga-ui-core-tokens.js +22 -10
  415. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  416. package/fesm2015/taiga-ui-core-utils-dom.js +5 -5
  417. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  418. package/fesm2015/taiga-ui-core-utils-format.js +2 -2
  419. package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
  420. package/fesm2015/taiga-ui-core-utils-mask.js +1 -1
  421. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  422. package/fesm2015/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  423. package/fesm2015/taiga-ui-core-utils-polyfills.js.map +1 -1
  424. package/fesm5/taiga-ui-core-components-alert.js +1 -1
  425. package/fesm5/taiga-ui-core-components-alert.js.map +1 -1
  426. package/fesm5/taiga-ui-core-components-button.js.map +1 -1
  427. package/fesm5/taiga-ui-core-components-data-list.js +6 -6
  428. package/fesm5/taiga-ui-core-components-data-list.js.map +1 -1
  429. package/fesm5/taiga-ui-core-components-dialog.js +1 -1
  430. package/fesm5/taiga-ui-core-components-dropdown-box.js +25 -8
  431. package/fesm5/taiga-ui-core-components-dropdown-box.js.map +1 -1
  432. package/fesm5/taiga-ui-core-components-expand.js +2 -2
  433. package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
  434. package/fesm5/taiga-ui-core-components-hints-host.js +39 -27
  435. package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
  436. package/fesm5/taiga-ui-core-components-label.js +1 -1
  437. package/fesm5/taiga-ui-core-components-label.js.map +1 -1
  438. package/fesm5/taiga-ui-core-components-link.js +2 -2
  439. package/fesm5/taiga-ui-core-components-link.js.map +1 -1
  440. package/fesm5/taiga-ui-core-components-loader.js +10 -77
  441. package/fesm5/taiga-ui-core-components-loader.js.map +1 -1
  442. package/fesm5/taiga-ui-core-components-primitive-textfield.js +26 -10
  443. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  444. package/fesm5/taiga-ui-core-components-root.js +1 -1
  445. package/fesm5/taiga-ui-core-components-root.js.map +1 -1
  446. package/fesm5/taiga-ui-core-components-scrollbar.js +2 -2
  447. package/fesm5/taiga-ui-core-components-scrollbar.js.map +1 -1
  448. package/fesm5/taiga-ui-core-components-svg.js +10 -6
  449. package/fesm5/taiga-ui-core-components-svg.js.map +1 -1
  450. package/fesm5/taiga-ui-core-constants.js +1 -1
  451. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  452. package/fesm5/taiga-ui-core-directives-dropdown-controller.js +1 -1
  453. package/fesm5/taiga-ui-core-directives-dropdown-controller.js.map +1 -1
  454. package/fesm5/taiga-ui-core-directives-hint-controller.js +2 -2
  455. package/fesm5/taiga-ui-core-directives-hint-controller.js.map +1 -1
  456. package/fesm5/taiga-ui-core-directives-hint.js +2 -2
  457. package/fesm5/taiga-ui-core-directives-hint.js.map +1 -1
  458. package/fesm5/taiga-ui-core-directives-pointer-hint.js +1 -1
  459. package/fesm5/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  460. package/fesm5/taiga-ui-core-directives-table-mode.js +0 -2
  461. package/fesm5/taiga-ui-core-directives-table-mode.js.map +1 -1
  462. package/fesm5/taiga-ui-core-directives-textfield-controller.js +2 -2
  463. package/fesm5/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  464. package/fesm5/taiga-ui-core-directives-wrapper.js +3 -2
  465. package/fesm5/taiga-ui-core-directives-wrapper.js.map +1 -1
  466. package/fesm5/taiga-ui-core-enums.js +2 -2
  467. package/fesm5/taiga-ui-core-enums.js.map +1 -1
  468. package/fesm5/taiga-ui-core-pipes-calendar-sheet.js +2 -2
  469. package/fesm5/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  470. package/fesm5/taiga-ui-core-providers.js +8 -11
  471. package/fesm5/taiga-ui-core-providers.js.map +1 -1
  472. package/fesm5/taiga-ui-core-services.js +1 -1
  473. package/fesm5/taiga-ui-core-services.js.map +1 -1
  474. package/fesm5/taiga-ui-core-tokens.js +22 -10
  475. package/fesm5/taiga-ui-core-tokens.js.map +1 -1
  476. package/fesm5/taiga-ui-core-utils-dom.js +5 -5
  477. package/fesm5/taiga-ui-core-utils-dom.js.map +1 -1
  478. package/fesm5/taiga-ui-core-utils-format.js +2 -2
  479. package/fesm5/taiga-ui-core-utils-format.js.map +1 -1
  480. package/fesm5/taiga-ui-core-utils-mask.js +1 -1
  481. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  482. package/fesm5/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  483. package/fesm5/taiga-ui-core-utils-polyfills.js.map +1 -1
  484. package/package.json +4 -4
  485. package/providers/is-mobile-resolution.provider.d.ts +2 -3
  486. package/providers/taiga-ui-core-providers.metadata.json +1 -1
  487. package/services/hint.service.d.ts +1 -1
  488. package/styles/basic/main.less +0 -1
  489. package/styles/markup/tui-list.less +15 -0
  490. package/styles/markup/tui-palette.less +1 -1
  491. package/styles/mixins/mixins.less +3 -9
  492. package/styles/mixins/slider.less +1 -1
  493. package/styles/taiga-ui-global-old.less +0 -1
  494. package/styles/taiga-ui-global.less +0 -1
  495. package/styles/theme/variables.less +1 -1
  496. package/styles/theme/wrapper/secondary.less +2 -0
  497. package/tokens/icon-place.d.ts +2 -0
  498. package/tokens/index.d.ts +2 -0
  499. package/tokens/svg-content-processor.d.ts +3 -0
  500. package/tokens/taiga-ui-core-tokens.metadata.json +1 -1
  501. package/utils/dom/are-css-vars-supported.d.ts +1 -1
  502. package/utils/miscellaneous/index.d.ts +1 -1
  503. package/utils/miscellaneous/{is-presumed-hTMLString.d.ts → is-presumed-html-string.d.ts} +0 -0
  504. package/utils/miscellaneous/taiga-ui-core-utils-miscellaneous.metadata.json +1 -1
  505. package/utils/polyfills/index.d.ts +1 -1
  506. package/utils/polyfills/{inner-HTML.d.ts → inner-html.d.ts} +0 -0
  507. package/utils/polyfills/taiga-ui-core-utils-polyfills.metadata.json +1 -1
  508. package/components/loader/loader.directive.d.ts +0 -12
  509. package/esm2015/components/loader/loader.directive.js +0 -61
  510. package/esm2015/utils/miscellaneous/is-presumed-hTMLString.js +0 -5
  511. package/esm5/components/loader/loader.directive.js +0 -64
  512. package/esm5/utils/miscellaneous/is-presumed-hTMLString.js +0 -5
  513. package/styles/markup/tui-autofill.less +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-dropdown-box.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/core/components/dropdown-box/dropdown-box.component.ts","ng://@taiga-ui/core/components/dropdown-box/dropdown-box.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {AnimationOptions} from '@angular/animations';\nimport {\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n NgZone,\n ViewChild,\n} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {\n AbstractTuiPortalHostComponent,\n getClosestElement,\n getClosestFocusable,\n inRange,\n POLLING_TIME,\n px,\n setNativeFocused,\n TuiActiveZoneDirective,\n tuiAssertIsHTMLElement,\n TuiDestroyService,\n TuiDropdownHostComponent,\n TuiOverscrollModeT,\n tuiPure,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {tuiDropdownAnimation} from '@taiga-ui/core/animations';\nimport {DEFAULT_MARGIN, DEFAULT_MAX_WIDTH} from '@taiga-ui/core/constants';\nimport {TuiDropdownAnimation} from '@taiga-ui/core/enums';\nimport {TuiAnimationOptions, TuiDropdown} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATION_OPTIONS, TUI_DROPDOWN_DIRECTIVE} from '@taiga-ui/core/tokens';\nimport {TuiHorizontalDirection, TuiVerticalDirection} from '@taiga-ui/core/types';\nimport {getScreenWidth} from '@taiga-ui/core/utils/dom';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {takeUntil, throttleTime} from 'rxjs/operators';\n\n/**\n * This component is used to show template in a portal using default style of white rounded box with a shadow\n */\n// @bad TODO: OnPush\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Component({\n selector: 'tui-dropdown-box',\n templateUrl: './dropdown-box.template.html',\n styleUrls: ['./dropdown-box.style.less'],\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService],\n animations: [tuiDropdownAnimation],\n})\nexport class TuiDropdownBoxComponent implements AfterViewChecked {\n private readonly animationTop = {\n value: TuiDropdownAnimation.FadeInTop,\n ...this.options,\n };\n\n private readonly animationBottom = {\n value: TuiDropdownAnimation.FadeInBottom,\n ...this.options,\n };\n\n /**\n * Is previous position on top (to prevent jumping up and down on scroll)\n */\n private prevDirectionIsTop = false;\n\n @HostBinding('@tuiDropdownAnimation')\n dropdownAnimation!: TuiAnimationOptions;\n\n @ViewChild('content', {read: ElementRef})\n readonly contentElementRef?: ElementRef<HTMLElement>;\n\n constructor(\n @Inject(TuiDestroyService)\n destroy$: TuiDestroyService,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TUI_DROPDOWN_DIRECTIVE) readonly directive: TuiDropdown,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalHostComponent)\n private readonly portalHost: TuiDropdownHostComponent,\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n merge(\n animationFrame$.pipe(throttleTime(POLLING_TIME)),\n this.directive.refresh$,\n fromEvent(this.windowRef, 'resize'),\n )\n .pipe(tuiZonefree(ngZone), takeUntil(destroy$))\n .subscribe(() => {\n this.calculatePositionAndSize();\n });\n }\n\n get overscroll(): TuiOverscrollModeT {\n return this.inModal ? 'all' : 'scroll';\n }\n\n @tuiPure\n getContext<T extends object>(\n context?: T,\n activeZone?: TuiActiveZoneDirective,\n ):\n | (T & {activeZone?: TuiActiveZoneDirective})\n | {activeZone?: TuiActiveZoneDirective} {\n return {...context, activeZone};\n }\n\n ngAfterViewChecked(): void {\n this.calculatePositionAndSize();\n }\n\n onTopFocus(): void {\n this.moveFocusOutside(true);\n }\n\n onBottomFocus(): void {\n this.moveFocusOutside(false);\n }\n\n @tuiPure\n private get inModal(): boolean {\n // @awful TODO: get rid of component tag name dependency\n return !!getClosestElement(this.directive.host, 'tui-dialog-host');\n }\n\n private calculatePositionAndSize(): void {\n const {clientRect} = this.directive;\n const {style} = this.elementRef.nativeElement;\n const hostRect = this.directive.fixed\n ? this.portalHost.fixedPositionOffset()\n : this.portalHost.clientRect;\n\n style.position = this.directive.fixed ? 'fixed' : 'absolute';\n\n this.calculateVerticalPosition(style, clientRect, hostRect);\n this.calculateHorizontalPosition(style, clientRect, hostRect);\n this.calculateWidth(style, clientRect);\n }\n\n private getFinalAlign(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n ): TuiHorizontalDirection {\n const dropdownRect = this.elementRef.nativeElement.getBoundingClientRect();\n const dropdownWidth = this.elementRef.nativeElement.offsetWidth;\n const screenWidth = getScreenWidth(this.windowRef.document);\n const isDropdownSizeHypotheticallyFitsViewport =\n directiveRect.left + dropdownWidth < screenWidth ||\n directiveRect.right - dropdownWidth > 0;\n const isDropdownSizeActuallyFitsViewport =\n dropdownRect.right <= screenWidth && dropdownRect.left >= 0;\n let finalAlign: TuiHorizontalDirection = this.directive.align;\n\n switch (this.directive.align) {\n case 'left':\n if (\n isDropdownSizeHypotheticallyFitsViewport &&\n dropdownRect.right > screenWidth\n ) {\n finalAlign = 'right';\n }\n\n break;\n case 'right':\n if (isDropdownSizeHypotheticallyFitsViewport && dropdownRect.left < 0) {\n finalAlign = 'left';\n }\n\n break;\n }\n\n if (style.right === 'auto' && isDropdownSizeActuallyFitsViewport) {\n finalAlign = 'left';\n }\n\n if (style.left === 'auto' && isDropdownSizeActuallyFitsViewport) {\n finalAlign = 'right';\n }\n\n return finalAlign;\n }\n\n /**\n * Calculates horizontal position\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n * @param hostRect ClientRect of portal host\n */\n private calculateHorizontalPosition(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n hostRect: ClientRect,\n ): void {\n const offset = this.directive.sided\n ? this.elementRef.nativeElement.getBoundingClientRect().width + DEFAULT_MARGIN\n : 0;\n const left = Math.ceil(directiveRect.left - hostRect.left - offset);\n const right = Math.floor(hostRect.right - directiveRect.right - offset);\n\n switch (this.getFinalAlign(style, directiveRect)) {\n case 'left':\n if (\n right + DEFAULT_MARGIN > this.windowRef.innerWidth ||\n inRange(left + DEFAULT_MARGIN, 0, this.windowRef.innerWidth)\n ) {\n style.left = px(left);\n style.right = 'auto';\n } else {\n style.left = 'auto';\n style.right = px(right);\n }\n\n break;\n case 'right':\n if (\n inRange(right + DEFAULT_MARGIN, 0, this.windowRef.innerWidth) ||\n left + DEFAULT_MARGIN > this.windowRef.innerWidth\n ) {\n style.left = 'auto';\n style.right = px(right);\n } else {\n style.left = px(left);\n style.right = 'auto';\n }\n\n break;\n }\n }\n\n /**\n * Calculates vertical position and height\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n * @param hostRect ClientRect of portal host\n */\n private calculateVerticalPosition(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n hostRect: ClientRect,\n ): void {\n const windowHeight = this.windowRef.innerHeight;\n // Maximum height of the box\n const boxHeightLimit = Math.min(\n this.directive.maxHeight,\n windowHeight - DEFAULT_MARGIN * 2,\n );\n const offset = this.directive.sided\n ? DEFAULT_MARGIN - directiveRect.height\n : DEFAULT_MARGIN * 2;\n const topAvailableHeight = directiveRect.top - offset;\n const bottomAvailableHeight = windowHeight - directiveRect.bottom - offset;\n const finalDirection = this.getFinalDirection(directiveRect);\n\n this.prevDirectionIsTop = finalDirection === 'top';\n\n if (finalDirection === 'top') {\n this.dropdownAnimation = this.animationBottom;\n\n style.maxHeight = px(Math.min(boxHeightLimit, topAvailableHeight));\n style.top = 'auto';\n style.bottom = px(\n hostRect.bottom - directiveRect.top - DEFAULT_MARGIN + offset,\n );\n } else {\n this.dropdownAnimation = this.animationTop;\n\n style.maxHeight = px(Math.min(boxHeightLimit, bottomAvailableHeight));\n style.top = px(directiveRect.bottom - hostRect.top - DEFAULT_MARGIN + offset);\n style.bottom = 'auto';\n }\n }\n\n private getFinalDirection(directiveRect: ClientRect): TuiVerticalDirection | null {\n const windowHeight = this.windowRef.innerHeight;\n const offset = this.directive.sided\n ? DEFAULT_MARGIN - directiveRect.height\n : DEFAULT_MARGIN * 2;\n\n // Maximum space available on top and on the bottom in the viewport\n const topAvailableHeight = directiveRect.top - offset;\n const bottomAvailableHeight = windowHeight - directiveRect.bottom - offset;\n\n let finalDirection: TuiVerticalDirection | null = null;\n\n // Given direction is applied if we can fit the box in the limits that way\n switch (this.directive.direction) {\n case 'top':\n if (topAvailableHeight >= this.directive.minHeight) {\n finalDirection = 'top';\n }\n\n break;\n case 'bottom':\n if (bottomAvailableHeight >= this.directive.minHeight) {\n finalDirection = 'bottom';\n }\n\n break;\n }\n\n // Maximum height of the box\n const boxHeightLimit = Math.min(\n this.directive.maxHeight,\n windowHeight - DEFAULT_MARGIN * 2,\n );\n\n // Choose direction if given direction did not fit\n if (finalDirection === null && this.contentElementRef) {\n // Box height if it fits without scroll\n const visualHeight = Math.min(\n this.contentElementRef.nativeElement.getBoundingClientRect().height +\n (this.elementRef.nativeElement.offsetHeight -\n this.elementRef.nativeElement.clientHeight),\n boxHeightLimit,\n );\n\n // If there is enough space to fit below without scroll,\n // choose 'bottom', unless it was previously on the top\n if (this.prevDirectionIsTop && topAvailableHeight >= visualHeight) {\n finalDirection = 'top';\n } else if (bottomAvailableHeight >= visualHeight) {\n finalDirection = 'bottom';\n } else {\n // Corner case — select direction with more space\n finalDirection =\n bottomAvailableHeight >= topAvailableHeight ? 'bottom' : 'top';\n }\n }\n\n return finalDirection;\n }\n\n /**\n * Calculates width\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n */\n private calculateWidth(style: CSSStyleDeclaration, directiveRect: ClientRect): void {\n style.width =\n this.directive.limitMinWidth === 'fixed' && !this.directive.sided\n ? px(directiveRect.width)\n : '';\n\n if (this.directive.limitMinWidth === 'min' && !this.directive.sided) {\n style.minWidth = px(directiveRect.width);\n style.maxWidth = px(DEFAULT_MAX_WIDTH);\n\n return;\n }\n\n style.minWidth = '';\n style.maxWidth = '';\n }\n\n private moveFocusOutside(previous: boolean): void {\n const {host} = this.directive;\n const {ownerDocument} = host;\n const root = ownerDocument ? ownerDocument.body : host;\n\n tuiAssertIsHTMLElement(host);\n\n let focusable = getClosestFocusable(host, previous, root);\n\n while (focusable !== null && host.contains(focusable)) {\n focusable = getClosestFocusable(focusable, previous, root);\n }\n\n if (focusable === null) {\n return;\n }\n\n setNativeFocused(focusable);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiModeModule} from '@taiga-ui/core/directives/mode';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownBoxComponent} from './dropdown-box.component';\n\n@NgModule({\n imports: [\n TuiActiveZoneModule,\n PolymorpheusModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n TuiModeModule,\n ],\n entryComponents: [TuiDropdownBoxComponent],\n declarations: [TuiDropdownBoxComponent],\n exports: [TuiDropdownBoxComponent],\n})\nexport class TuiDropdownBoxModule {}\n"],"names":["merge","throttleTime","POLLING_TIME","fromEvent","tuiZonefree","takeUntil","getClosestElement","getScreenWidth","DEFAULT_MARGIN","inRange","px","DEFAULT_MAX_WIDTH","tuiAssertIsHTMLElement","getClosestFocusable","setNativeFocused","TuiDestroyService","Inject","NgZone","TUI_DROPDOWN_DIRECTIVE","WINDOW","ElementRef","TuiDropdownHostComponent","AbstractTuiPortalHostComponent","TUI_ANIMATION_OPTIONS","Observable","ANIMATION_FRAME","HostBinding","ViewChild","tuiPure","Component","ChangeDetectionStrategy","tuiDropdownAnimation","NgModule","TuiActiveZoneModule","PolymorpheusModule","TuiOverscrollModule","TuiScrollbarModule","TuiModeModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-dropdown-box.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/core/components/dropdown-box/dropdown-box.component.ts","ng://@taiga-ui/core/components/dropdown-box/dropdown-box.module.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {AnimationOptions} from '@angular/animations';\nimport {\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n NgZone,\n ViewChild,\n} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {\n AbstractTuiPortalHostComponent,\n getClosestFocusable,\n inRange,\n POLLING_TIME,\n px,\n TuiActiveZoneDirective,\n tuiAssertIsHTMLElement,\n TuiDestroyService,\n TuiDropdownHostComponent,\n TuiOverscrollModeT,\n tuiPure,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {tuiDropdownAnimation} from '@taiga-ui/core/animations';\nimport {DEFAULT_MARGIN, DEFAULT_MAX_WIDTH} from '@taiga-ui/core/constants';\nimport {TuiDropdownAnimation} from '@taiga-ui/core/enums';\nimport {TuiAnimationOptions, TuiDropdown} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATION_OPTIONS, TUI_DROPDOWN_DIRECTIVE} from '@taiga-ui/core/tokens';\nimport {TuiHorizontalDirection, TuiVerticalDirection} from '@taiga-ui/core/types';\nimport {getScreenWidth} from '@taiga-ui/core/utils/dom';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {takeUntil, throttleTime} from 'rxjs/operators';\n\n/**\n * This component is used to show template in a portal using default style of white rounded box with a shadow\n */\n// @bad TODO: OnPush\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Component({\n selector: 'tui-dropdown-box',\n templateUrl: './dropdown-box.template.html',\n styleUrls: ['./dropdown-box.style.less'],\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService],\n animations: [tuiDropdownAnimation],\n})\nexport class TuiDropdownBoxComponent implements AfterViewChecked {\n private readonly animationTop = {\n value: TuiDropdownAnimation.FadeInTop,\n ...this.options,\n };\n\n private readonly animationBottom = {\n value: TuiDropdownAnimation.FadeInBottom,\n ...this.options,\n };\n\n /**\n * Is previous position on top (to prevent jumping up and down on scroll)\n */\n private prevDirectionIsTop = false;\n\n @HostBinding('@tuiDropdownAnimation')\n dropdownAnimation!: TuiAnimationOptions;\n\n @ViewChild('content', {read: ElementRef})\n readonly contentElementRef?: ElementRef<HTMLElement>;\n\n constructor(\n @Inject(TuiDestroyService)\n destroy$: TuiDestroyService,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TUI_DROPDOWN_DIRECTIVE) readonly directive: TuiDropdown,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalHostComponent)\n private readonly portalHost: TuiDropdownHostComponent,\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n merge(\n animationFrame$.pipe(throttleTime(POLLING_TIME)),\n this.directive.refresh$,\n fromEvent(this.windowRef, 'resize'),\n )\n .pipe(tuiZonefree(ngZone), takeUntil(destroy$))\n .subscribe(() => {\n this.calculatePositionAndSize();\n });\n }\n\n get overscroll(): TuiOverscrollModeT {\n return this.inModal ? 'all' : 'scroll';\n }\n\n @tuiPure\n getContext<T extends object>(\n context?: T,\n activeZone?: TuiActiveZoneDirective,\n ):\n | (T & {activeZone?: TuiActiveZoneDirective})\n | {activeZone?: TuiActiveZoneDirective} {\n return {...context, activeZone};\n }\n\n ngAfterViewChecked(): void {\n this.calculatePositionAndSize();\n }\n\n onTopFocus(): void {\n this.moveFocusOutside(true);\n }\n\n onBottomFocus(): void {\n this.moveFocusOutside(false);\n }\n\n @tuiPure\n private get inModal(): boolean {\n // @awful TODO: get rid of component tag name dependency\n return !!this.directive.host.closest('tui-dialog-host');\n }\n\n @tuiPure\n private get inOption(): boolean {\n // @awful TODO: get rid of component tag name dependency\n return !!this.directive.host.closest('[tuiOption]');\n }\n\n private calculatePositionAndSize(): void {\n const {clientRect} = this.directive;\n const {style} = this.elementRef.nativeElement;\n const hostRect = this.directive.fixed\n ? this.portalHost.fixedPositionOffset()\n : this.portalHost.clientRect;\n\n style.position = this.directive.fixed ? 'fixed' : 'absolute';\n\n this.calculateVerticalPosition(style, clientRect, hostRect);\n this.calculateHorizontalPosition(style, clientRect, hostRect);\n this.calculateWidth(style, clientRect);\n }\n\n private getFinalAlign(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n ): TuiHorizontalDirection {\n const dropdownRect = this.elementRef.nativeElement.getBoundingClientRect();\n const dropdownWidth = this.elementRef.nativeElement.offsetWidth;\n const screenWidth = getScreenWidth(this.windowRef.document);\n const isDropdownSizeHypotheticallyFitsViewport =\n directiveRect.left + dropdownWidth < screenWidth ||\n directiveRect.right - dropdownWidth > 0;\n const isDropdownSizeActuallyFitsViewport =\n dropdownRect.right <= screenWidth && dropdownRect.left >= 0;\n let finalAlign: TuiHorizontalDirection = this.directive.align;\n\n switch (this.directive.align) {\n case 'left':\n if (\n isDropdownSizeHypotheticallyFitsViewport &&\n dropdownRect.right > screenWidth\n ) {\n finalAlign = 'right';\n }\n\n break;\n case 'right':\n if (isDropdownSizeHypotheticallyFitsViewport && dropdownRect.left < 0) {\n finalAlign = 'left';\n }\n\n break;\n }\n\n if (style.right === 'auto' && isDropdownSizeActuallyFitsViewport) {\n finalAlign = 'left';\n }\n\n if (style.left === 'auto' && isDropdownSizeActuallyFitsViewport) {\n finalAlign = 'right';\n }\n\n return finalAlign;\n }\n\n /**\n * Calculates horizontal position\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n * @param hostRect ClientRect of portal host\n */\n private calculateHorizontalPosition(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n hostRect: ClientRect,\n ): void {\n const offset = this.directive.sided\n ? this.elementRef.nativeElement.getBoundingClientRect().width + DEFAULT_MARGIN\n : 0;\n const left = Math.ceil(directiveRect.left - hostRect.left - offset);\n const right = Math.floor(hostRect.right - directiveRect.right - offset);\n\n switch (this.getFinalAlign(style, directiveRect)) {\n case 'left':\n if (\n right + DEFAULT_MARGIN > this.windowRef.innerWidth ||\n inRange(left + DEFAULT_MARGIN, 0, this.windowRef.innerWidth)\n ) {\n style.left = px(left);\n style.right = 'auto';\n } else {\n style.left = 'auto';\n style.right = px(right);\n }\n\n break;\n case 'right':\n if (\n inRange(right + DEFAULT_MARGIN, 0, this.windowRef.innerWidth) ||\n left + DEFAULT_MARGIN > this.windowRef.innerWidth\n ) {\n style.left = 'auto';\n style.right = px(right);\n } else {\n style.left = px(left);\n style.right = 'auto';\n }\n\n break;\n }\n }\n\n /**\n * Calculates vertical position and height\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n * @param hostRect ClientRect of portal host\n */\n private calculateVerticalPosition(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n hostRect: ClientRect,\n ): void {\n const windowHeight = this.windowRef.innerHeight;\n // Maximum height of the box\n const boxHeightLimit = Math.min(\n this.directive.maxHeight,\n windowHeight - DEFAULT_MARGIN * 2,\n );\n const offset = this.directive.sided\n ? DEFAULT_MARGIN - directiveRect.height\n : DEFAULT_MARGIN * 2;\n const topAvailableHeight = directiveRect.top - offset;\n const bottomAvailableHeight = windowHeight - directiveRect.bottom - offset;\n const finalDirection = this.getFinalDirection(directiveRect);\n const optionOffset = this.inOption ? DEFAULT_MARGIN * 2 : 0;\n\n this.prevDirectionIsTop = finalDirection === 'top';\n\n if (finalDirection === 'top') {\n this.dropdownAnimation = this.animationBottom;\n\n style.maxHeight = px(Math.min(boxHeightLimit, topAvailableHeight));\n style.top = 'auto';\n style.bottom = px(\n hostRect.bottom -\n directiveRect.top -\n DEFAULT_MARGIN +\n offset -\n optionOffset,\n );\n } else {\n this.dropdownAnimation = this.animationTop;\n\n style.maxHeight = px(Math.min(boxHeightLimit, bottomAvailableHeight));\n style.top = px(\n directiveRect.bottom -\n hostRect.top -\n DEFAULT_MARGIN +\n offset -\n optionOffset,\n );\n style.bottom = 'auto';\n }\n }\n\n private getFinalDirection(directiveRect: ClientRect): TuiVerticalDirection | null {\n const windowHeight = this.windowRef.innerHeight;\n const offset = this.directive.sided\n ? DEFAULT_MARGIN - directiveRect.height\n : DEFAULT_MARGIN * 2;\n\n // Maximum space available on top and on the bottom in the viewport\n const topAvailableHeight = directiveRect.top - offset;\n const bottomAvailableHeight = windowHeight - directiveRect.bottom - offset;\n\n let finalDirection: TuiVerticalDirection | null = null;\n\n // Given direction is applied if we can fit the box in the limits that way\n switch (this.directive.direction) {\n case 'top':\n if (topAvailableHeight >= this.directive.minHeight) {\n finalDirection = 'top';\n }\n\n break;\n case 'bottom':\n if (bottomAvailableHeight >= this.directive.minHeight) {\n finalDirection = 'bottom';\n }\n\n break;\n }\n\n // Maximum height of the box\n const boxHeightLimit = Math.min(\n this.directive.maxHeight,\n windowHeight - DEFAULT_MARGIN * 2,\n );\n\n // Choose direction if given direction did not fit\n if (finalDirection === null && this.contentElementRef) {\n // Box height if it fits without scroll\n const visualHeight = Math.min(\n this.contentElementRef.nativeElement.getBoundingClientRect().height +\n (this.elementRef.nativeElement.offsetHeight -\n this.elementRef.nativeElement.clientHeight),\n boxHeightLimit,\n );\n\n // If there is enough space to fit below without scroll,\n // choose 'bottom', unless it was previously on the top\n if (this.prevDirectionIsTop && topAvailableHeight >= visualHeight) {\n finalDirection = 'top';\n } else if (bottomAvailableHeight >= visualHeight) {\n finalDirection = 'bottom';\n } else {\n // Corner case — select direction with more space\n finalDirection =\n bottomAvailableHeight >= topAvailableHeight ? 'bottom' : 'top';\n }\n }\n\n return finalDirection;\n }\n\n /**\n * Calculates width\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n */\n private calculateWidth(style: CSSStyleDeclaration, directiveRect: ClientRect): void {\n style.width =\n this.directive.limitMinWidth === 'fixed' && !this.directive.sided\n ? px(directiveRect.width)\n : '';\n\n if (this.directive.limitMinWidth === 'min' && !this.directive.sided) {\n style.minWidth = px(directiveRect.width);\n style.maxWidth = px(DEFAULT_MAX_WIDTH);\n\n return;\n }\n\n style.minWidth = '';\n style.maxWidth = '';\n }\n\n private moveFocusOutside(previous: boolean): void {\n const {host} = this.directive;\n const {ownerDocument} = host;\n const root = ownerDocument ? ownerDocument.body : host;\n\n tuiAssertIsHTMLElement(host);\n\n let focusable = getClosestFocusable(host, previous, root);\n\n while (focusable !== null && host.contains(focusable)) {\n focusable = getClosestFocusable(focusable, previous, root);\n }\n\n focusable?.focus();\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiModeModule} from '@taiga-ui/core/directives/mode';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownBoxComponent} from './dropdown-box.component';\n\n@NgModule({\n imports: [\n TuiActiveZoneModule,\n PolymorpheusModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n TuiModeModule,\n ],\n entryComponents: [TuiDropdownBoxComponent],\n declarations: [TuiDropdownBoxComponent],\n exports: [TuiDropdownBoxComponent],\n})\nexport class TuiDropdownBoxModule {}\n"],"names":["merge","throttleTime","POLLING_TIME","fromEvent","tuiZonefree","takeUntil","getScreenWidth","DEFAULT_MARGIN","inRange","px","DEFAULT_MAX_WIDTH","tuiAssertIsHTMLElement","getClosestFocusable","TuiDestroyService","Inject","NgZone","TUI_DROPDOWN_DIRECTIVE","WINDOW","ElementRef","TuiDropdownHostComponent","AbstractTuiPortalHostComponent","TUI_ANIMATION_OPTIONS","Observable","ANIMATION_FRAME","HostBinding","ViewChild","tuiPure","Component","ChangeDetectionStrategy","tuiDropdownAnimation","NgModule","TuiActiveZoneModule","PolymorpheusModule","TuiOverscrollModule","TuiScrollbarModule","TuiModeModule"],"mappings":"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"}
@@ -1,16 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@ng-web-apis/common"),require("@taiga-ui/cdk"),require("@taiga-ui/core/animations"),require("@taiga-ui/core/constants"),require("@taiga-ui/core/tokens"),require("@taiga-ui/core/utils/dom"),require("rxjs"),require("rxjs/operators"),require("@taiga-ui/core/components/scrollbar"),require("@taiga-ui/core/directives/mode"),require("@tinkoff/ng-polymorpheus")):"function"==typeof define&&define.amd?define("@taiga-ui/core/components/dropdown-box",["exports","@angular/core","@ng-web-apis/common","@taiga-ui/cdk","@taiga-ui/core/animations","@taiga-ui/core/constants","@taiga-ui/core/tokens","@taiga-ui/core/utils/dom","rxjs","rxjs/operators","@taiga-ui/core/components/scrollbar","@taiga-ui/core/directives/mode","@tinkoff/ng-polymorpheus"],e):e(((t=t||self)["taiga-ui"]=t["taiga-ui"]||{},t["taiga-ui"].core=t["taiga-ui"].core||{},t["taiga-ui"].core.components=t["taiga-ui"].core.components||{},t["taiga-ui"].core.components["dropdown-box"]={}),t.ng.core,t.common,t.cdk,t["taiga-ui"].core.animations,t["taiga-ui"].core.constants,t["taiga-ui"].core.tokens,t["taiga-ui"].core.utils.dom,t.rxjs,t.rxjs.operators,t["taiga-ui"].core.components.scrollbar,t["taiga-ui"].core.directives.mode,t.ngPolymorpheus)}(this,(function(t,e,i,o,n,r,a,s,c,l,u,d,p){"use strict";
2
- /*! *****************************************************************************
3
- Copyright (c) Microsoft Corporation.
4
-
5
- Permission to use, copy, modify, and/or distribute this software for any
6
- purpose with or without fee is hereby granted.
7
-
8
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
- PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */var h=function(){return(h=Object.assign||function(t){for(var e,i=1,o=arguments.length;i<o;i++)for(var n in e=arguments[i])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}).apply(this,arguments)};function f(t,e,i,o){var n,r=arguments.length,a=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,o);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a}function g(t,e){return function(i,o){e(i,o,t)}}var m=function(){function t(t,e,i,n,r,a,s,u){var d=this;this.directive=i,this.windowRef=n,this.elementRef=r,this.portalHost=a,this.options=s,this.animationTop=h({value:"fadeInTop"},this.options),this.animationBottom=h({value:"fadeInBottom"},this.options),this.prevDirectionIsTop=!1,c.merge(u.pipe(l.throttleTime(o.POLLING_TIME)),this.directive.refresh$,c.fromEvent(this.windowRef,"resize")).pipe(o.tuiZonefree(e),l.takeUntil(t)).subscribe((function(){d.calculatePositionAndSize()}))}return Object.defineProperty(t.prototype,"overscroll",{get:function(){return this.inModal?"all":"scroll"},enumerable:!0,configurable:!0}),t.prototype.getContext=function(t,e){return h(h({},t),{activeZone:e})},t.prototype.ngAfterViewChecked=function(){this.calculatePositionAndSize()},t.prototype.onTopFocus=function(){this.moveFocusOutside(!0)},t.prototype.onBottomFocus=function(){this.moveFocusOutside(!1)},Object.defineProperty(t.prototype,"inModal",{get:function(){return!!o.getClosestElement(this.directive.host,"tui-dialog-host")},enumerable:!0,configurable:!0}),t.prototype.calculatePositionAndSize=function(){var t=this.directive.clientRect,e=this.elementRef.nativeElement.style,i=this.directive.fixed?this.portalHost.fixedPositionOffset():this.portalHost.clientRect;e.position=this.directive.fixed?"fixed":"absolute",this.calculateVerticalPosition(e,t,i),this.calculateHorizontalPosition(e,t,i),this.calculateWidth(e,t)},t.prototype.getFinalAlign=function(t,e){var i=this.elementRef.nativeElement.getBoundingClientRect(),o=this.elementRef.nativeElement.offsetWidth,n=s.getScreenWidth(this.windowRef.document),r=e.left+o<n||e.right-o>0,a=i.right<=n&&i.left>=0,c=this.directive.align;switch(this.directive.align){case"left":r&&i.right>n&&(c="right");break;case"right":r&&i.left<0&&(c="left")}return"auto"===t.right&&a&&(c="left"),"auto"===t.left&&a&&(c="right"),c},t.prototype.calculateHorizontalPosition=function(t,e,i){var n=this.directive.sided?this.elementRef.nativeElement.getBoundingClientRect().width+r.DEFAULT_MARGIN:0,a=Math.ceil(e.left-i.left-n),s=Math.floor(i.right-e.right-n);switch(this.getFinalAlign(t,e)){case"left":s+r.DEFAULT_MARGIN>this.windowRef.innerWidth||o.inRange(a+r.DEFAULT_MARGIN,0,this.windowRef.innerWidth)?(t.left=o.px(a),t.right="auto"):(t.left="auto",t.right=o.px(s));break;case"right":o.inRange(s+r.DEFAULT_MARGIN,0,this.windowRef.innerWidth)||a+r.DEFAULT_MARGIN>this.windowRef.innerWidth?(t.left="auto",t.right=o.px(s)):(t.left=o.px(a),t.right="auto")}},t.prototype.calculateVerticalPosition=function(t,e,i){var n=this.windowRef.innerHeight,a=Math.min(this.directive.maxHeight,n-2*r.DEFAULT_MARGIN),s=this.directive.sided?r.DEFAULT_MARGIN-e.height:2*r.DEFAULT_MARGIN,c=e.top-s,l=n-e.bottom-s,u=this.getFinalDirection(e);this.prevDirectionIsTop="top"===u,"top"===u?(this.dropdownAnimation=this.animationBottom,t.maxHeight=o.px(Math.min(a,c)),t.top="auto",t.bottom=o.px(i.bottom-e.top-r.DEFAULT_MARGIN+s)):(this.dropdownAnimation=this.animationTop,t.maxHeight=o.px(Math.min(a,l)),t.top=o.px(e.bottom-i.top-r.DEFAULT_MARGIN+s),t.bottom="auto")},t.prototype.getFinalDirection=function(t){var e=this.windowRef.innerHeight,i=this.directive.sided?r.DEFAULT_MARGIN-t.height:2*r.DEFAULT_MARGIN,o=t.top-i,n=e-t.bottom-i,a=null;switch(this.directive.direction){case"top":o>=this.directive.minHeight&&(a="top");break;case"bottom":n>=this.directive.minHeight&&(a="bottom")}var s=Math.min(this.directive.maxHeight,e-2*r.DEFAULT_MARGIN);if(null===a&&this.contentElementRef){var c=Math.min(this.contentElementRef.nativeElement.getBoundingClientRect().height+(this.elementRef.nativeElement.offsetHeight-this.elementRef.nativeElement.clientHeight),s);a=this.prevDirectionIsTop&&o>=c?"top":n>=c||n>=o?"bottom":"top"}return a},t.prototype.calculateWidth=function(t,e){if(t.width="fixed"!==this.directive.limitMinWidth||this.directive.sided?"":o.px(e.width),"min"===this.directive.limitMinWidth&&!this.directive.sided)return t.minWidth=o.px(e.width),void(t.maxWidth=o.px(r.DEFAULT_MAX_WIDTH));t.minWidth="",t.maxWidth=""},t.prototype.moveFocusOutside=function(t){var e=this.directive.host,i=e.ownerDocument,n=i?i.body:e;o.tuiAssertIsHTMLElement(e);for(var r=o.getClosestFocusable(e,t,n);null!==r&&e.contains(r);)r=o.getClosestFocusable(r,t,n);null!==r&&o.setNativeFocused(r)},t.ctorParameters=function(){return[{type:o.TuiDestroyService,decorators:[{type:e.Inject,args:[o.TuiDestroyService]}]},{type:e.NgZone,decorators:[{type:e.Inject,args:[e.NgZone]}]},{type:void 0,decorators:[{type:e.Inject,args:[a.TUI_DROPDOWN_DIRECTIVE]}]},{type:Window,decorators:[{type:e.Inject,args:[i.WINDOW]}]},{type:e.ElementRef,decorators:[{type:e.Inject,args:[e.ElementRef]}]},{type:o.TuiDropdownHostComponent,decorators:[{type:e.Inject,args:[o.AbstractTuiPortalHostComponent]}]},{type:void 0,decorators:[{type:e.Inject,args:[a.TUI_ANIMATION_OPTIONS]}]},{type:c.Observable,decorators:[{type:e.Inject,args:[i.ANIMATION_FRAME]}]}]},f([e.HostBinding("@tuiDropdownAnimation")],t.prototype,"dropdownAnimation",void 0),f([e.ViewChild("content",{read:e.ElementRef})],t.prototype,"contentElementRef",void 0),f([o.tuiPure],t.prototype,"getContext",null),f([o.tuiPure],t.prototype,"inModal",null),t=f([e.Component({selector:"tui-dropdown-box",template:'<div\n #activeZone="tuiActiveZone"\n class="wrapper"\n [tuiOverscroll]="overscroll"\n [tuiMode]="null"\n [tuiActiveZoneParent]="directive.activeZone || null"\n>\n <tui-scrollbar class="scroll">\n <div\n tabindex="0"\n (focus)="onTopFocus()"\n ></div>\n <div\n #content\n polymorpheus-outlet\n class="content"\n [content]="directive.content"\n [context]="getContext(directive.context, activeZone)"\n ></div>\n <div\n tabindex="0"\n (focus)="onBottomFocus()"\n ></div>\n </tui-scrollbar>\n</div>\n',changeDetection:e.ChangeDetectionStrategy.Default,providers:[o.TuiDestroyService],animations:[n.tuiDropdownAnimation],styles:[":host{z-index:0;box-shadow:0 .5rem 1rem rgba(0,0,0,.16);position:absolute;top:0;left:0;display:flex;background-color:#fff;background-color:var(--tui-elevation-01);border-radius:var(--tui-radius-m);overflow:hidden;border:1px solid var(--tui-base-03);box-sizing:border-box}:host.ng-animating{pointer-events:none}.content{display:flex;flex-direction:column;max-height:100%}.wrapper{flex-grow:1;max-width:100%;max-height:inherit;overflow:visible}.scroll{height:100%}"]}),g(0,e.Inject(o.TuiDestroyService)),g(1,e.Inject(e.NgZone)),g(2,e.Inject(a.TUI_DROPDOWN_DIRECTIVE)),g(3,e.Inject(i.WINDOW)),g(4,e.Inject(e.ElementRef)),g(5,e.Inject(o.AbstractTuiPortalHostComponent)),g(6,e.Inject(a.TUI_ANIMATION_OPTIONS)),g(7,e.Inject(i.ANIMATION_FRAME))],t)}(),v=function(){function t(){}return t=f([e.NgModule({imports:[o.TuiActiveZoneModule,p.PolymorpheusModule,o.TuiOverscrollModule,u.TuiScrollbarModule,d.TuiModeModule],entryComponents:[m],declarations:[m],exports:[m]})],t)}();t.TuiDropdownBoxComponent=m,t.TuiDropdownBoxModule=v,Object.defineProperty(t,"__esModule",{value:!0})}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@ng-web-apis/common"),require("@taiga-ui/cdk"),require("@taiga-ui/core/animations"),require("@taiga-ui/core/constants"),require("@taiga-ui/core/tokens"),require("@taiga-ui/core/utils/dom"),require("rxjs"),require("rxjs/operators"),require("@taiga-ui/core/components/scrollbar"),require("@taiga-ui/core/directives/mode"),require("@tinkoff/ng-polymorpheus")):"function"==typeof define&&define.amd?define("@taiga-ui/core/components/dropdown-box",["exports","@angular/core","@ng-web-apis/common","@taiga-ui/cdk","@taiga-ui/core/animations","@taiga-ui/core/constants","@taiga-ui/core/tokens","@taiga-ui/core/utils/dom","rxjs","rxjs/operators","@taiga-ui/core/components/scrollbar","@taiga-ui/core/directives/mode","@tinkoff/ng-polymorpheus"],e):e(((t=t||self)["taiga-ui"]=t["taiga-ui"]||{},t["taiga-ui"].core=t["taiga-ui"].core||{},t["taiga-ui"].core.components=t["taiga-ui"].core.components||{},t["taiga-ui"].core.components["dropdown-box"]={}),t.ng.core,t.common,t.cdk,t["taiga-ui"].core.animations,t["taiga-ui"].core.constants,t["taiga-ui"].core.tokens,t["taiga-ui"].core.utils.dom,t.rxjs,t.rxjs.operators,t["taiga-ui"].core.components.scrollbar,t["taiga-ui"].core.directives.mode,t.ngPolymorpheus)}(this,(function(t,e,i,o,n,r,a,c,s,l,u,d,p){"use strict";var h=function(){return(h=Object.assign||function(t){for(var e,i=1,o=arguments.length;i<o;i++)for(var n in e=arguments[i])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}).apply(this,arguments)};function f(t,e,i,o){var n,r=arguments.length,a=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,o);else for(var c=t.length-1;c>=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a}function g(t,e){return function(i,o){e(i,o,t)}}Object.create;Object.create;var m=function(){function t(t,e,i,n,r,a,c,u){var d=this;this.directive=i,this.windowRef=n,this.elementRef=r,this.portalHost=a,this.options=c,this.animationTop=h({value:"fadeInTop"},this.options),this.animationBottom=h({value:"fadeInBottom"},this.options),this.prevDirectionIsTop=!1,s.merge(u.pipe(l.throttleTime(o.POLLING_TIME)),this.directive.refresh$,s.fromEvent(this.windowRef,"resize")).pipe(o.tuiZonefree(e),l.takeUntil(t)).subscribe((function(){d.calculatePositionAndSize()}))}return Object.defineProperty(t.prototype,"overscroll",{get:function(){return this.inModal?"all":"scroll"},enumerable:!0,configurable:!0}),t.prototype.getContext=function(t,e){return h(h({},t),{activeZone:e})},t.prototype.ngAfterViewChecked=function(){this.calculatePositionAndSize()},t.prototype.onTopFocus=function(){this.moveFocusOutside(!0)},t.prototype.onBottomFocus=function(){this.moveFocusOutside(!1)},Object.defineProperty(t.prototype,"inModal",{get:function(){return!!this.directive.host.closest("tui-dialog-host")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"inOption",{get:function(){return!!this.directive.host.closest("[tuiOption]")},enumerable:!0,configurable:!0}),t.prototype.calculatePositionAndSize=function(){var t=this.directive.clientRect,e=this.elementRef.nativeElement.style,i=this.directive.fixed?this.portalHost.fixedPositionOffset():this.portalHost.clientRect;e.position=this.directive.fixed?"fixed":"absolute",this.calculateVerticalPosition(e,t,i),this.calculateHorizontalPosition(e,t,i),this.calculateWidth(e,t)},t.prototype.getFinalAlign=function(t,e){var i=this.elementRef.nativeElement.getBoundingClientRect(),o=this.elementRef.nativeElement.offsetWidth,n=c.getScreenWidth(this.windowRef.document),r=e.left+o<n||e.right-o>0,a=i.right<=n&&i.left>=0,s=this.directive.align;switch(this.directive.align){case"left":r&&i.right>n&&(s="right");break;case"right":r&&i.left<0&&(s="left")}return"auto"===t.right&&a&&(s="left"),"auto"===t.left&&a&&(s="right"),s},t.prototype.calculateHorizontalPosition=function(t,e,i){var n=this.directive.sided?this.elementRef.nativeElement.getBoundingClientRect().width+r.DEFAULT_MARGIN:0,a=Math.ceil(e.left-i.left-n),c=Math.floor(i.right-e.right-n);switch(this.getFinalAlign(t,e)){case"left":c+r.DEFAULT_MARGIN>this.windowRef.innerWidth||o.inRange(a+r.DEFAULT_MARGIN,0,this.windowRef.innerWidth)?(t.left=o.px(a),t.right="auto"):(t.left="auto",t.right=o.px(c));break;case"right":o.inRange(c+r.DEFAULT_MARGIN,0,this.windowRef.innerWidth)||a+r.DEFAULT_MARGIN>this.windowRef.innerWidth?(t.left="auto",t.right=o.px(c)):(t.left=o.px(a),t.right="auto")}},t.prototype.calculateVerticalPosition=function(t,e,i){var n=this.windowRef.innerHeight,a=Math.min(this.directive.maxHeight,n-2*r.DEFAULT_MARGIN),c=this.directive.sided?r.DEFAULT_MARGIN-e.height:2*r.DEFAULT_MARGIN,s=e.top-c,l=n-e.bottom-c,u=this.getFinalDirection(e),d=this.inOption?2*r.DEFAULT_MARGIN:0;this.prevDirectionIsTop="top"===u,"top"===u?(this.dropdownAnimation=this.animationBottom,t.maxHeight=o.px(Math.min(a,s)),t.top="auto",t.bottom=o.px(i.bottom-e.top-r.DEFAULT_MARGIN+c-d)):(this.dropdownAnimation=this.animationTop,t.maxHeight=o.px(Math.min(a,l)),t.top=o.px(e.bottom-i.top-r.DEFAULT_MARGIN+c-d),t.bottom="auto")},t.prototype.getFinalDirection=function(t){var e=this.windowRef.innerHeight,i=this.directive.sided?r.DEFAULT_MARGIN-t.height:2*r.DEFAULT_MARGIN,o=t.top-i,n=e-t.bottom-i,a=null;switch(this.directive.direction){case"top":o>=this.directive.minHeight&&(a="top");break;case"bottom":n>=this.directive.minHeight&&(a="bottom")}var c=Math.min(this.directive.maxHeight,e-2*r.DEFAULT_MARGIN);if(null===a&&this.contentElementRef){var s=Math.min(this.contentElementRef.nativeElement.getBoundingClientRect().height+(this.elementRef.nativeElement.offsetHeight-this.elementRef.nativeElement.clientHeight),c);a=this.prevDirectionIsTop&&o>=s?"top":n>=s||n>=o?"bottom":"top"}return a},t.prototype.calculateWidth=function(t,e){if(t.width="fixed"!==this.directive.limitMinWidth||this.directive.sided?"":o.px(e.width),"min"===this.directive.limitMinWidth&&!this.directive.sided)return t.minWidth=o.px(e.width),void(t.maxWidth=o.px(r.DEFAULT_MAX_WIDTH));t.minWidth="",t.maxWidth=""},t.prototype.moveFocusOutside=function(t){var e=this.directive.host,i=e.ownerDocument,n=i?i.body:e;o.tuiAssertIsHTMLElement(e);for(var r=o.getClosestFocusable(e,t,n);null!==r&&e.contains(r);)r=o.getClosestFocusable(r,t,n);null==r||r.focus()},t.ctorParameters=function(){return[{type:o.TuiDestroyService,decorators:[{type:e.Inject,args:[o.TuiDestroyService]}]},{type:e.NgZone,decorators:[{type:e.Inject,args:[e.NgZone]}]},{type:void 0,decorators:[{type:e.Inject,args:[a.TUI_DROPDOWN_DIRECTIVE]}]},{type:Window,decorators:[{type:e.Inject,args:[i.WINDOW]}]},{type:e.ElementRef,decorators:[{type:e.Inject,args:[e.ElementRef]}]},{type:o.TuiDropdownHostComponent,decorators:[{type:e.Inject,args:[o.AbstractTuiPortalHostComponent]}]},{type:void 0,decorators:[{type:e.Inject,args:[a.TUI_ANIMATION_OPTIONS]}]},{type:s.Observable,decorators:[{type:e.Inject,args:[i.ANIMATION_FRAME]}]}]},f([e.HostBinding("@tuiDropdownAnimation")],t.prototype,"dropdownAnimation",void 0),f([e.ViewChild("content",{read:e.ElementRef})],t.prototype,"contentElementRef",void 0),f([o.tuiPure],t.prototype,"getContext",null),f([o.tuiPure],t.prototype,"inModal",null),f([o.tuiPure],t.prototype,"inOption",null),t=f([e.Component({selector:"tui-dropdown-box",template:'<div\n #activeZone="tuiActiveZone"\n class="wrapper"\n [tuiOverscroll]="overscroll"\n [tuiMode]="null"\n [tuiActiveZoneParent]="directive.activeZone || null"\n>\n <tui-scrollbar class="scroll">\n <div\n tabindex="0"\n (focus)="onTopFocus()"\n ></div>\n <div\n #content\n polymorpheus-outlet\n class="content"\n [content]="directive.content"\n [context]="getContext(directive.context, activeZone)"\n ></div>\n <div\n tabindex="0"\n (focus)="onBottomFocus()"\n ></div>\n </tui-scrollbar>\n</div>\n',changeDetection:e.ChangeDetectionStrategy.Default,providers:[o.TuiDestroyService],animations:[n.tuiDropdownAnimation],styles:[":host{z-index:0;box-shadow:0 .5rem 1rem rgba(0,0,0,.16);position:absolute;top:0;left:0;display:flex;background-color:#fff;background-color:var(--tui-elevation-01);border-radius:var(--tui-radius-m);overflow:hidden;border:1px solid var(--tui-base-03);box-sizing:border-box}:host.ng-animating{pointer-events:none}.content{display:flex;flex-direction:column;max-height:100%}.wrapper{flex-grow:1;max-width:100%;max-height:inherit;overflow:visible}.scroll{height:100%}"]}),g(0,e.Inject(o.TuiDestroyService)),g(1,e.Inject(e.NgZone)),g(2,e.Inject(a.TUI_DROPDOWN_DIRECTIVE)),g(3,e.Inject(i.WINDOW)),g(4,e.Inject(e.ElementRef)),g(5,e.Inject(o.AbstractTuiPortalHostComponent)),g(6,e.Inject(a.TUI_ANIMATION_OPTIONS)),g(7,e.Inject(i.ANIMATION_FRAME))],t)}(),v=function(){function t(){}return t=f([e.NgModule({imports:[o.TuiActiveZoneModule,p.PolymorpheusModule,o.TuiOverscrollModule,u.TuiScrollbarModule,d.TuiModeModule],entryComponents:[m],declarations:[m],exports:[m]})],t)}();t.TuiDropdownBoxComponent=m,t.TuiDropdownBoxModule=v,Object.defineProperty(t,"__esModule",{value:!0})}));
16
2
  //# sourceMappingURL=taiga-ui-core-components-dropdown-box.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/core/components/dropdown-box/dropdown-box.component.ts","ng://@taiga-ui/core/components/dropdown-box/dropdown-box.module.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","TuiDropdownBoxComponent","destroy$","ngZone","directive","windowRef","elementRef","portalHost","options","animationFrame$","_this","animationTop","value","animationBottom","prevDirectionIsTop","merge","pipe","throttleTime","POLLING_TIME","refresh$","fromEvent","tuiZonefree","takeUntil","subscribe","calculatePositionAndSize","inModal","getContext","context","activeZone","ngAfterViewChecked","onTopFocus","moveFocusOutside","onBottomFocus","getClosestElement","host","clientRect","style","nativeElement","hostRect","fixed","fixedPositionOffset","position","calculateVerticalPosition","calculateHorizontalPosition","calculateWidth","getFinalAlign","directiveRect","dropdownRect","getBoundingClientRect","dropdownWidth","offsetWidth","screenWidth","getScreenWidth","document","isDropdownSizeHypotheticallyFitsViewport","left","right","isDropdownSizeActuallyFitsViewport","finalAlign","align","offset","sided","width","DEFAULT_MARGIN","Math","ceil","floor","innerWidth","inRange","px","windowHeight","innerHeight","boxHeightLimit","min","maxHeight","height","topAvailableHeight","top","bottomAvailableHeight","bottom","finalDirection","getFinalDirection","dropdownAnimation","direction","minHeight","contentElementRef","visualHeight","offsetHeight","clientHeight","limitMinWidth","minWidth","maxWidth","DEFAULT_MAX_WIDTH","previous","ownerDocument","root","body","tuiAssertIsHTMLElement","focusable","getClosestFocusable","contains","setNativeFocused","TuiDestroyService","type","Inject","args","NgZone","TUI_DROPDOWN_DIRECTIVE","Window","WINDOW","ElementRef","TuiDropdownHostComponent","AbstractTuiPortalHostComponent","TUI_ANIMATION_OPTIONS","Observable","ANIMATION_FRAME","HostBinding","ViewChild","read","tuiPure","Component","selector","template","changeDetection","ChangeDetectionStrategy","Default","providers","animations","tuiDropdownAnimation","TuiDropdownBoxModule","NgModule","imports","TuiActiveZoneModule","PolymorpheusModule","TuiOverscrollModule","TuiScrollbarModule","TuiModeModule","entryComponents","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {AnimationOptions} from '@angular/animations';\nimport {\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n NgZone,\n ViewChild,\n} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {\n AbstractTuiPortalHostComponent,\n getClosestElement,\n getClosestFocusable,\n inRange,\n POLLING_TIME,\n px,\n setNativeFocused,\n TuiActiveZoneDirective,\n tuiAssertIsHTMLElement,\n TuiDestroyService,\n TuiDropdownHostComponent,\n TuiOverscrollModeT,\n tuiPure,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {tuiDropdownAnimation} from '@taiga-ui/core/animations';\nimport {DEFAULT_MARGIN, DEFAULT_MAX_WIDTH} from '@taiga-ui/core/constants';\nimport {TuiDropdownAnimation} from '@taiga-ui/core/enums';\nimport {TuiAnimationOptions, TuiDropdown} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATION_OPTIONS, TUI_DROPDOWN_DIRECTIVE} from '@taiga-ui/core/tokens';\nimport {TuiHorizontalDirection, TuiVerticalDirection} from '@taiga-ui/core/types';\nimport {getScreenWidth} from '@taiga-ui/core/utils/dom';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {takeUntil, throttleTime} from 'rxjs/operators';\n\n/**\n * This component is used to show template in a portal using default style of white rounded box with a shadow\n */\n// @bad TODO: OnPush\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Component({\n selector: 'tui-dropdown-box',\n templateUrl: './dropdown-box.template.html',\n styleUrls: ['./dropdown-box.style.less'],\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService],\n animations: [tuiDropdownAnimation],\n})\nexport class TuiDropdownBoxComponent implements AfterViewChecked {\n private readonly animationTop = {\n value: TuiDropdownAnimation.FadeInTop,\n ...this.options,\n };\n\n private readonly animationBottom = {\n value: TuiDropdownAnimation.FadeInBottom,\n ...this.options,\n };\n\n /**\n * Is previous position on top (to prevent jumping up and down on scroll)\n */\n private prevDirectionIsTop = false;\n\n @HostBinding('@tuiDropdownAnimation')\n dropdownAnimation!: TuiAnimationOptions;\n\n @ViewChild('content', {read: ElementRef})\n readonly contentElementRef?: ElementRef<HTMLElement>;\n\n constructor(\n @Inject(TuiDestroyService)\n destroy$: TuiDestroyService,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TUI_DROPDOWN_DIRECTIVE) readonly directive: TuiDropdown,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalHostComponent)\n private readonly portalHost: TuiDropdownHostComponent,\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n merge(\n animationFrame$.pipe(throttleTime(POLLING_TIME)),\n this.directive.refresh$,\n fromEvent(this.windowRef, 'resize'),\n )\n .pipe(tuiZonefree(ngZone), takeUntil(destroy$))\n .subscribe(() => {\n this.calculatePositionAndSize();\n });\n }\n\n get overscroll(): TuiOverscrollModeT {\n return this.inModal ? 'all' : 'scroll';\n }\n\n @tuiPure\n getContext<T extends object>(\n context?: T,\n activeZone?: TuiActiveZoneDirective,\n ):\n | (T & {activeZone?: TuiActiveZoneDirective})\n | {activeZone?: TuiActiveZoneDirective} {\n return {...context, activeZone};\n }\n\n ngAfterViewChecked(): void {\n this.calculatePositionAndSize();\n }\n\n onTopFocus(): void {\n this.moveFocusOutside(true);\n }\n\n onBottomFocus(): void {\n this.moveFocusOutside(false);\n }\n\n @tuiPure\n private get inModal(): boolean {\n // @awful TODO: get rid of component tag name dependency\n return !!getClosestElement(this.directive.host, 'tui-dialog-host');\n }\n\n private calculatePositionAndSize(): void {\n const {clientRect} = this.directive;\n const {style} = this.elementRef.nativeElement;\n const hostRect = this.directive.fixed\n ? this.portalHost.fixedPositionOffset()\n : this.portalHost.clientRect;\n\n style.position = this.directive.fixed ? 'fixed' : 'absolute';\n\n this.calculateVerticalPosition(style, clientRect, hostRect);\n this.calculateHorizontalPosition(style, clientRect, hostRect);\n this.calculateWidth(style, clientRect);\n }\n\n private getFinalAlign(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n ): TuiHorizontalDirection {\n const dropdownRect = this.elementRef.nativeElement.getBoundingClientRect();\n const dropdownWidth = this.elementRef.nativeElement.offsetWidth;\n const screenWidth = getScreenWidth(this.windowRef.document);\n const isDropdownSizeHypotheticallyFitsViewport =\n directiveRect.left + dropdownWidth < screenWidth ||\n directiveRect.right - dropdownWidth > 0;\n const isDropdownSizeActuallyFitsViewport =\n dropdownRect.right <= screenWidth && dropdownRect.left >= 0;\n let finalAlign: TuiHorizontalDirection = this.directive.align;\n\n switch (this.directive.align) {\n case 'left':\n if (\n isDropdownSizeHypotheticallyFitsViewport &&\n dropdownRect.right > screenWidth\n ) {\n finalAlign = 'right';\n }\n\n break;\n case 'right':\n if (isDropdownSizeHypotheticallyFitsViewport && dropdownRect.left < 0) {\n finalAlign = 'left';\n }\n\n break;\n }\n\n if (style.right === 'auto' && isDropdownSizeActuallyFitsViewport) {\n finalAlign = 'left';\n }\n\n if (style.left === 'auto' && isDropdownSizeActuallyFitsViewport) {\n finalAlign = 'right';\n }\n\n return finalAlign;\n }\n\n /**\n * Calculates horizontal position\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n * @param hostRect ClientRect of portal host\n */\n private calculateHorizontalPosition(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n hostRect: ClientRect,\n ): void {\n const offset = this.directive.sided\n ? this.elementRef.nativeElement.getBoundingClientRect().width + DEFAULT_MARGIN\n : 0;\n const left = Math.ceil(directiveRect.left - hostRect.left - offset);\n const right = Math.floor(hostRect.right - directiveRect.right - offset);\n\n switch (this.getFinalAlign(style, directiveRect)) {\n case 'left':\n if (\n right + DEFAULT_MARGIN > this.windowRef.innerWidth ||\n inRange(left + DEFAULT_MARGIN, 0, this.windowRef.innerWidth)\n ) {\n style.left = px(left);\n style.right = 'auto';\n } else {\n style.left = 'auto';\n style.right = px(right);\n }\n\n break;\n case 'right':\n if (\n inRange(right + DEFAULT_MARGIN, 0, this.windowRef.innerWidth) ||\n left + DEFAULT_MARGIN > this.windowRef.innerWidth\n ) {\n style.left = 'auto';\n style.right = px(right);\n } else {\n style.left = px(left);\n style.right = 'auto';\n }\n\n break;\n }\n }\n\n /**\n * Calculates vertical position and height\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n * @param hostRect ClientRect of portal host\n */\n private calculateVerticalPosition(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n hostRect: ClientRect,\n ): void {\n const windowHeight = this.windowRef.innerHeight;\n // Maximum height of the box\n const boxHeightLimit = Math.min(\n this.directive.maxHeight,\n windowHeight - DEFAULT_MARGIN * 2,\n );\n const offset = this.directive.sided\n ? DEFAULT_MARGIN - directiveRect.height\n : DEFAULT_MARGIN * 2;\n const topAvailableHeight = directiveRect.top - offset;\n const bottomAvailableHeight = windowHeight - directiveRect.bottom - offset;\n const finalDirection = this.getFinalDirection(directiveRect);\n\n this.prevDirectionIsTop = finalDirection === 'top';\n\n if (finalDirection === 'top') {\n this.dropdownAnimation = this.animationBottom;\n\n style.maxHeight = px(Math.min(boxHeightLimit, topAvailableHeight));\n style.top = 'auto';\n style.bottom = px(\n hostRect.bottom - directiveRect.top - DEFAULT_MARGIN + offset,\n );\n } else {\n this.dropdownAnimation = this.animationTop;\n\n style.maxHeight = px(Math.min(boxHeightLimit, bottomAvailableHeight));\n style.top = px(directiveRect.bottom - hostRect.top - DEFAULT_MARGIN + offset);\n style.bottom = 'auto';\n }\n }\n\n private getFinalDirection(directiveRect: ClientRect): TuiVerticalDirection | null {\n const windowHeight = this.windowRef.innerHeight;\n const offset = this.directive.sided\n ? DEFAULT_MARGIN - directiveRect.height\n : DEFAULT_MARGIN * 2;\n\n // Maximum space available on top and on the bottom in the viewport\n const topAvailableHeight = directiveRect.top - offset;\n const bottomAvailableHeight = windowHeight - directiveRect.bottom - offset;\n\n let finalDirection: TuiVerticalDirection | null = null;\n\n // Given direction is applied if we can fit the box in the limits that way\n switch (this.directive.direction) {\n case 'top':\n if (topAvailableHeight >= this.directive.minHeight) {\n finalDirection = 'top';\n }\n\n break;\n case 'bottom':\n if (bottomAvailableHeight >= this.directive.minHeight) {\n finalDirection = 'bottom';\n }\n\n break;\n }\n\n // Maximum height of the box\n const boxHeightLimit = Math.min(\n this.directive.maxHeight,\n windowHeight - DEFAULT_MARGIN * 2,\n );\n\n // Choose direction if given direction did not fit\n if (finalDirection === null && this.contentElementRef) {\n // Box height if it fits without scroll\n const visualHeight = Math.min(\n this.contentElementRef.nativeElement.getBoundingClientRect().height +\n (this.elementRef.nativeElement.offsetHeight -\n this.elementRef.nativeElement.clientHeight),\n boxHeightLimit,\n );\n\n // If there is enough space to fit below without scroll,\n // choose 'bottom', unless it was previously on the top\n if (this.prevDirectionIsTop && topAvailableHeight >= visualHeight) {\n finalDirection = 'top';\n } else if (bottomAvailableHeight >= visualHeight) {\n finalDirection = 'bottom';\n } else {\n // Corner case — select direction with more space\n finalDirection =\n bottomAvailableHeight >= topAvailableHeight ? 'bottom' : 'top';\n }\n }\n\n return finalDirection;\n }\n\n /**\n * Calculates width\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n */\n private calculateWidth(style: CSSStyleDeclaration, directiveRect: ClientRect): void {\n style.width =\n this.directive.limitMinWidth === 'fixed' && !this.directive.sided\n ? px(directiveRect.width)\n : '';\n\n if (this.directive.limitMinWidth === 'min' && !this.directive.sided) {\n style.minWidth = px(directiveRect.width);\n style.maxWidth = px(DEFAULT_MAX_WIDTH);\n\n return;\n }\n\n style.minWidth = '';\n style.maxWidth = '';\n }\n\n private moveFocusOutside(previous: boolean): void {\n const {host} = this.directive;\n const {ownerDocument} = host;\n const root = ownerDocument ? ownerDocument.body : host;\n\n tuiAssertIsHTMLElement(host);\n\n let focusable = getClosestFocusable(host, previous, root);\n\n while (focusable !== null && host.contains(focusable)) {\n focusable = getClosestFocusable(focusable, previous, root);\n }\n\n if (focusable === null) {\n return;\n }\n\n setNativeFocused(focusable);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiModeModule} from '@taiga-ui/core/directives/mode';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownBoxComponent} from './dropdown-box.component';\n\n@NgModule({\n imports: [\n TuiActiveZoneModule,\n PolymorpheusModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n TuiModeModule,\n ],\n entryComponents: [TuiDropdownBoxComponent],\n declarations: [TuiDropdownBoxComponent],\n exports: [TuiDropdownBoxComponent],\n})\nexport class TuiDropdownBoxModule {}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/core/components/dropdown-box/dropdown-box.component.ts","ng://@taiga-ui/core/components/dropdown-box/dropdown-box.module.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","create","TuiDropdownBoxComponent","destroy$","ngZone","directive","windowRef","elementRef","portalHost","options","animationFrame$","_this","animationTop","value","animationBottom","prevDirectionIsTop","merge","pipe","throttleTime","POLLING_TIME","refresh$","fromEvent","tuiZonefree","takeUntil","subscribe","calculatePositionAndSize","inModal","getContext","context","activeZone","ngAfterViewChecked","onTopFocus","moveFocusOutside","onBottomFocus","host","closest","clientRect","style","nativeElement","hostRect","fixed","fixedPositionOffset","position","calculateVerticalPosition","calculateHorizontalPosition","calculateWidth","getFinalAlign","directiveRect","dropdownRect","getBoundingClientRect","dropdownWidth","offsetWidth","screenWidth","getScreenWidth","document","isDropdownSizeHypotheticallyFitsViewport","left","right","isDropdownSizeActuallyFitsViewport","finalAlign","align","offset","sided","width","DEFAULT_MARGIN","Math","ceil","floor","innerWidth","inRange","px","windowHeight","innerHeight","boxHeightLimit","min","maxHeight","height","topAvailableHeight","top","bottomAvailableHeight","bottom","finalDirection","getFinalDirection","optionOffset","inOption","dropdownAnimation","direction","minHeight","contentElementRef","visualHeight","offsetHeight","clientHeight","limitMinWidth","minWidth","maxWidth","DEFAULT_MAX_WIDTH","previous","ownerDocument","root","body","tuiAssertIsHTMLElement","focusable","getClosestFocusable","contains","focus","TuiDestroyService","type","Inject","args","NgZone","TUI_DROPDOWN_DIRECTIVE","Window","WINDOW","ElementRef","TuiDropdownHostComponent","AbstractTuiPortalHostComponent","TUI_ANIMATION_OPTIONS","Observable","ANIMATION_FRAME","HostBinding","ViewChild","read","tuiPure","Component","selector","template","changeDetection","ChangeDetectionStrategy","Default","providers","animations","tuiDropdownAnimation","TuiDropdownBoxModule","NgModule","imports","TuiActiveZoneModule","PolymorpheusModule","TuiOverscrollModule","TuiScrollbarModule","TuiModeModule","entryComponents","declarations","exports"],"mappings":"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","sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {AnimationOptions} from '@angular/animations';\nimport {\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n NgZone,\n ViewChild,\n} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {\n AbstractTuiPortalHostComponent,\n getClosestFocusable,\n inRange,\n POLLING_TIME,\n px,\n TuiActiveZoneDirective,\n tuiAssertIsHTMLElement,\n TuiDestroyService,\n TuiDropdownHostComponent,\n TuiOverscrollModeT,\n tuiPure,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {tuiDropdownAnimation} from '@taiga-ui/core/animations';\nimport {DEFAULT_MARGIN, DEFAULT_MAX_WIDTH} from '@taiga-ui/core/constants';\nimport {TuiDropdownAnimation} from '@taiga-ui/core/enums';\nimport {TuiAnimationOptions, TuiDropdown} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATION_OPTIONS, TUI_DROPDOWN_DIRECTIVE} from '@taiga-ui/core/tokens';\nimport {TuiHorizontalDirection, TuiVerticalDirection} from '@taiga-ui/core/types';\nimport {getScreenWidth} from '@taiga-ui/core/utils/dom';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {takeUntil, throttleTime} from 'rxjs/operators';\n\n/**\n * This component is used to show template in a portal using default style of white rounded box with a shadow\n */\n// @bad TODO: OnPush\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Component({\n selector: 'tui-dropdown-box',\n templateUrl: './dropdown-box.template.html',\n styleUrls: ['./dropdown-box.style.less'],\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService],\n animations: [tuiDropdownAnimation],\n})\nexport class TuiDropdownBoxComponent implements AfterViewChecked {\n private readonly animationTop = {\n value: TuiDropdownAnimation.FadeInTop,\n ...this.options,\n };\n\n private readonly animationBottom = {\n value: TuiDropdownAnimation.FadeInBottom,\n ...this.options,\n };\n\n /**\n * Is previous position on top (to prevent jumping up and down on scroll)\n */\n private prevDirectionIsTop = false;\n\n @HostBinding('@tuiDropdownAnimation')\n dropdownAnimation!: TuiAnimationOptions;\n\n @ViewChild('content', {read: ElementRef})\n readonly contentElementRef?: ElementRef<HTMLElement>;\n\n constructor(\n @Inject(TuiDestroyService)\n destroy$: TuiDestroyService,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TUI_DROPDOWN_DIRECTIVE) readonly directive: TuiDropdown,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalHostComponent)\n private readonly portalHost: TuiDropdownHostComponent,\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n merge(\n animationFrame$.pipe(throttleTime(POLLING_TIME)),\n this.directive.refresh$,\n fromEvent(this.windowRef, 'resize'),\n )\n .pipe(tuiZonefree(ngZone), takeUntil(destroy$))\n .subscribe(() => {\n this.calculatePositionAndSize();\n });\n }\n\n get overscroll(): TuiOverscrollModeT {\n return this.inModal ? 'all' : 'scroll';\n }\n\n @tuiPure\n getContext<T extends object>(\n context?: T,\n activeZone?: TuiActiveZoneDirective,\n ):\n | (T & {activeZone?: TuiActiveZoneDirective})\n | {activeZone?: TuiActiveZoneDirective} {\n return {...context, activeZone};\n }\n\n ngAfterViewChecked(): void {\n this.calculatePositionAndSize();\n }\n\n onTopFocus(): void {\n this.moveFocusOutside(true);\n }\n\n onBottomFocus(): void {\n this.moveFocusOutside(false);\n }\n\n @tuiPure\n private get inModal(): boolean {\n // @awful TODO: get rid of component tag name dependency\n return !!this.directive.host.closest('tui-dialog-host');\n }\n\n @tuiPure\n private get inOption(): boolean {\n // @awful TODO: get rid of component tag name dependency\n return !!this.directive.host.closest('[tuiOption]');\n }\n\n private calculatePositionAndSize(): void {\n const {clientRect} = this.directive;\n const {style} = this.elementRef.nativeElement;\n const hostRect = this.directive.fixed\n ? this.portalHost.fixedPositionOffset()\n : this.portalHost.clientRect;\n\n style.position = this.directive.fixed ? 'fixed' : 'absolute';\n\n this.calculateVerticalPosition(style, clientRect, hostRect);\n this.calculateHorizontalPosition(style, clientRect, hostRect);\n this.calculateWidth(style, clientRect);\n }\n\n private getFinalAlign(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n ): TuiHorizontalDirection {\n const dropdownRect = this.elementRef.nativeElement.getBoundingClientRect();\n const dropdownWidth = this.elementRef.nativeElement.offsetWidth;\n const screenWidth = getScreenWidth(this.windowRef.document);\n const isDropdownSizeHypotheticallyFitsViewport =\n directiveRect.left + dropdownWidth < screenWidth ||\n directiveRect.right - dropdownWidth > 0;\n const isDropdownSizeActuallyFitsViewport =\n dropdownRect.right <= screenWidth && dropdownRect.left >= 0;\n let finalAlign: TuiHorizontalDirection = this.directive.align;\n\n switch (this.directive.align) {\n case 'left':\n if (\n isDropdownSizeHypotheticallyFitsViewport &&\n dropdownRect.right > screenWidth\n ) {\n finalAlign = 'right';\n }\n\n break;\n case 'right':\n if (isDropdownSizeHypotheticallyFitsViewport && dropdownRect.left < 0) {\n finalAlign = 'left';\n }\n\n break;\n }\n\n if (style.right === 'auto' && isDropdownSizeActuallyFitsViewport) {\n finalAlign = 'left';\n }\n\n if (style.left === 'auto' && isDropdownSizeActuallyFitsViewport) {\n finalAlign = 'right';\n }\n\n return finalAlign;\n }\n\n /**\n * Calculates horizontal position\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n * @param hostRect ClientRect of portal host\n */\n private calculateHorizontalPosition(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n hostRect: ClientRect,\n ): void {\n const offset = this.directive.sided\n ? this.elementRef.nativeElement.getBoundingClientRect().width + DEFAULT_MARGIN\n : 0;\n const left = Math.ceil(directiveRect.left - hostRect.left - offset);\n const right = Math.floor(hostRect.right - directiveRect.right - offset);\n\n switch (this.getFinalAlign(style, directiveRect)) {\n case 'left':\n if (\n right + DEFAULT_MARGIN > this.windowRef.innerWidth ||\n inRange(left + DEFAULT_MARGIN, 0, this.windowRef.innerWidth)\n ) {\n style.left = px(left);\n style.right = 'auto';\n } else {\n style.left = 'auto';\n style.right = px(right);\n }\n\n break;\n case 'right':\n if (\n inRange(right + DEFAULT_MARGIN, 0, this.windowRef.innerWidth) ||\n left + DEFAULT_MARGIN > this.windowRef.innerWidth\n ) {\n style.left = 'auto';\n style.right = px(right);\n } else {\n style.left = px(left);\n style.right = 'auto';\n }\n\n break;\n }\n }\n\n /**\n * Calculates vertical position and height\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n * @param hostRect ClientRect of portal host\n */\n private calculateVerticalPosition(\n style: CSSStyleDeclaration,\n directiveRect: ClientRect,\n hostRect: ClientRect,\n ): void {\n const windowHeight = this.windowRef.innerHeight;\n // Maximum height of the box\n const boxHeightLimit = Math.min(\n this.directive.maxHeight,\n windowHeight - DEFAULT_MARGIN * 2,\n );\n const offset = this.directive.sided\n ? DEFAULT_MARGIN - directiveRect.height\n : DEFAULT_MARGIN * 2;\n const topAvailableHeight = directiveRect.top - offset;\n const bottomAvailableHeight = windowHeight - directiveRect.bottom - offset;\n const finalDirection = this.getFinalDirection(directiveRect);\n const optionOffset = this.inOption ? DEFAULT_MARGIN * 2 : 0;\n\n this.prevDirectionIsTop = finalDirection === 'top';\n\n if (finalDirection === 'top') {\n this.dropdownAnimation = this.animationBottom;\n\n style.maxHeight = px(Math.min(boxHeightLimit, topAvailableHeight));\n style.top = 'auto';\n style.bottom = px(\n hostRect.bottom -\n directiveRect.top -\n DEFAULT_MARGIN +\n offset -\n optionOffset,\n );\n } else {\n this.dropdownAnimation = this.animationTop;\n\n style.maxHeight = px(Math.min(boxHeightLimit, bottomAvailableHeight));\n style.top = px(\n directiveRect.bottom -\n hostRect.top -\n DEFAULT_MARGIN +\n offset -\n optionOffset,\n );\n style.bottom = 'auto';\n }\n }\n\n private getFinalDirection(directiveRect: ClientRect): TuiVerticalDirection | null {\n const windowHeight = this.windowRef.innerHeight;\n const offset = this.directive.sided\n ? DEFAULT_MARGIN - directiveRect.height\n : DEFAULT_MARGIN * 2;\n\n // Maximum space available on top and on the bottom in the viewport\n const topAvailableHeight = directiveRect.top - offset;\n const bottomAvailableHeight = windowHeight - directiveRect.bottom - offset;\n\n let finalDirection: TuiVerticalDirection | null = null;\n\n // Given direction is applied if we can fit the box in the limits that way\n switch (this.directive.direction) {\n case 'top':\n if (topAvailableHeight >= this.directive.minHeight) {\n finalDirection = 'top';\n }\n\n break;\n case 'bottom':\n if (bottomAvailableHeight >= this.directive.minHeight) {\n finalDirection = 'bottom';\n }\n\n break;\n }\n\n // Maximum height of the box\n const boxHeightLimit = Math.min(\n this.directive.maxHeight,\n windowHeight - DEFAULT_MARGIN * 2,\n );\n\n // Choose direction if given direction did not fit\n if (finalDirection === null && this.contentElementRef) {\n // Box height if it fits without scroll\n const visualHeight = Math.min(\n this.contentElementRef.nativeElement.getBoundingClientRect().height +\n (this.elementRef.nativeElement.offsetHeight -\n this.elementRef.nativeElement.clientHeight),\n boxHeightLimit,\n );\n\n // If there is enough space to fit below without scroll,\n // choose 'bottom', unless it was previously on the top\n if (this.prevDirectionIsTop && topAvailableHeight >= visualHeight) {\n finalDirection = 'top';\n } else if (bottomAvailableHeight >= visualHeight) {\n finalDirection = 'bottom';\n } else {\n // Corner case — select direction with more space\n finalDirection =\n bottomAvailableHeight >= topAvailableHeight ? 'bottom' : 'top';\n }\n }\n\n return finalDirection;\n }\n\n /**\n * Calculates width\n *\n * @param style dropdownBox elementRef styles object\n * @param directiveRect ClientRect of hosting directive\n */\n private calculateWidth(style: CSSStyleDeclaration, directiveRect: ClientRect): void {\n style.width =\n this.directive.limitMinWidth === 'fixed' && !this.directive.sided\n ? px(directiveRect.width)\n : '';\n\n if (this.directive.limitMinWidth === 'min' && !this.directive.sided) {\n style.minWidth = px(directiveRect.width);\n style.maxWidth = px(DEFAULT_MAX_WIDTH);\n\n return;\n }\n\n style.minWidth = '';\n style.maxWidth = '';\n }\n\n private moveFocusOutside(previous: boolean): void {\n const {host} = this.directive;\n const {ownerDocument} = host;\n const root = ownerDocument ? ownerDocument.body : host;\n\n tuiAssertIsHTMLElement(host);\n\n let focusable = getClosestFocusable(host, previous, root);\n\n while (focusable !== null && host.contains(focusable)) {\n focusable = getClosestFocusable(focusable, previous, root);\n }\n\n focusable?.focus();\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiModeModule} from '@taiga-ui/core/directives/mode';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownBoxComponent} from './dropdown-box.component';\n\n@NgModule({\n imports: [\n TuiActiveZoneModule,\n PolymorpheusModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n TuiModeModule,\n ],\n entryComponents: [TuiDropdownBoxComponent],\n declarations: [TuiDropdownBoxComponent],\n exports: [TuiDropdownBoxComponent],\n})\nexport class TuiDropdownBoxModule {}\n"]}