@taiga-ui/core 2.75.0 → 2.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (588) hide show
  1. package/abstract/abstract-dropdown.d.ts +2 -2
  2. package/abstract/taiga-ui-core-abstract.metadata.json +1 -1
  3. package/bundles/taiga-ui-core-abstract.umd.js +49 -2
  4. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-abstract.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-core-components-alert.umd.js +55 -10
  7. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-components-alert.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-button.umd.js +60 -15
  10. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-button.umd.min.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-calendar.umd.js +47 -2
  13. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  14. package/bundles/taiga-ui-core-components-calendar.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-core-components-data-list.umd.js +83 -39
  16. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  17. package/bundles/taiga-ui-core-components-data-list.umd.min.js +1 -1
  18. package/bundles/taiga-ui-core-components-data-list.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-core-components-dialog.umd.js +79 -36
  20. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  21. package/bundles/taiga-ui-core-components-dialog.umd.min.js +1 -1
  22. package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
  23. package/bundles/taiga-ui-core-components-dropdown-box.umd.js +84 -39
  24. package/bundles/taiga-ui-core-components-dropdown-box.umd.js.map +1 -1
  25. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-core-components-error.umd.js +50 -5
  27. package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
  28. package/bundles/taiga-ui-core-components-error.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-core-components-expand.umd.js +58 -13
  30. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  31. package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-core-components-group.umd.js +64 -19
  33. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  34. package/bundles/taiga-ui-core-components-group.umd.min.js.map +1 -1
  35. package/bundles/taiga-ui-core-components-hints-host.umd.js +93 -48
  36. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  37. package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
  38. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +56 -11
  39. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  40. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-core-components-label.umd.js +51 -6
  42. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  43. package/bundles/taiga-ui-core-components-label.umd.min.js +1 -1
  44. package/bundles/taiga-ui-core-components-label.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-core-components-link.umd.js +57 -12
  46. package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
  47. package/bundles/taiga-ui-core-components-link.umd.min.js.map +1 -1
  48. package/bundles/taiga-ui-core-components-loader.umd.js +48 -3
  49. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  50. package/bundles/taiga-ui-core-components-loader.umd.min.js.map +1 -1
  51. package/bundles/taiga-ui-core-components-notification.umd.js +54 -9
  52. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  53. package/bundles/taiga-ui-core-components-notification.umd.min.js.map +1 -1
  54. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +48 -3
  55. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  56. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +49 -4
  58. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  59. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js.map +1 -1
  60. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +48 -3
  61. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
  62. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js.map +1 -1
  63. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +97 -52
  64. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  65. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  66. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +48 -3
  67. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  68. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
  69. package/bundles/taiga-ui-core-components-root.umd.js +50 -5
  70. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  71. package/bundles/taiga-ui-core-components-root.umd.min.js.map +1 -1
  72. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +72 -27
  73. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  74. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js.map +1 -1
  75. package/bundles/taiga-ui-core-components-scrollbar.umd.js +54 -9
  76. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  77. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js.map +1 -1
  78. package/bundles/taiga-ui-core-components-svg.umd.js +61 -16
  79. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  80. package/bundles/taiga-ui-core-components-svg.umd.min.js.map +1 -1
  81. package/bundles/taiga-ui-core-components-theme-night.umd.js +48 -3
  82. package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
  83. package/bundles/taiga-ui-core-components-theme-night.umd.min.js.map +1 -1
  84. package/bundles/taiga-ui-core-components-tooltip.umd.js +53 -8
  85. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  86. package/bundles/taiga-ui-core-components-tooltip.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-core-directives-color.umd.js +52 -7
  88. package/bundles/taiga-ui-core-directives-color.umd.js.map +1 -1
  89. package/bundles/taiga-ui-core-directives-color.umd.min.js.map +1 -1
  90. package/bundles/taiga-ui-core-directives-described-by.umd.js +50 -5
  91. package/bundles/taiga-ui-core-directives-described-by.umd.js.map +1 -1
  92. package/bundles/taiga-ui-core-directives-described-by.umd.min.js.map +1 -1
  93. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.js +55 -10
  94. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.js.map +1 -1
  95. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.min.js.map +1 -1
  96. package/bundles/taiga-ui-core-directives-dropdown.umd.js +48 -3
  97. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  98. package/bundles/taiga-ui-core-directives-dropdown.umd.min.js.map +1 -1
  99. package/bundles/taiga-ui-core-directives-hint-controller.umd.js +52 -7
  100. package/bundles/taiga-ui-core-directives-hint-controller.umd.js.map +1 -1
  101. package/bundles/taiga-ui-core-directives-hint-controller.umd.min.js.map +1 -1
  102. package/bundles/taiga-ui-core-directives-hint.umd.js +51 -6
  103. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  104. package/bundles/taiga-ui-core-directives-hint.umd.min.js.map +1 -1
  105. package/bundles/taiga-ui-core-directives-manual-hint.umd.js +49 -4
  106. package/bundles/taiga-ui-core-directives-manual-hint.umd.js.map +1 -1
  107. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js.map +1 -1
  108. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js +47 -2
  109. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js.map +1 -1
  110. package/bundles/taiga-ui-core-directives-mask-accessor.umd.min.js.map +1 -1
  111. package/bundles/taiga-ui-core-directives-mode.umd.js +48 -3
  112. package/bundles/taiga-ui-core-directives-mode.umd.js.map +1 -1
  113. package/bundles/taiga-ui-core-directives-mode.umd.min.js.map +1 -1
  114. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js +50 -5
  115. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js.map +1 -1
  116. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js.map +1 -1
  117. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js +47 -2
  118. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js.map +1 -1
  119. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.min.js.map +1 -1
  120. package/bundles/taiga-ui-core-directives-table-mode.umd.js +48 -3
  121. package/bundles/taiga-ui-core-directives-table-mode.umd.js.map +1 -1
  122. package/bundles/taiga-ui-core-directives-table-mode.umd.min.js.map +1 -1
  123. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +79 -34
  124. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  125. package/bundles/taiga-ui-core-directives-textfield-controller.umd.min.js.map +1 -1
  126. package/bundles/taiga-ui-core-directives-wrapper.umd.js +55 -10
  127. package/bundles/taiga-ui-core-directives-wrapper.umd.js.map +1 -1
  128. package/bundles/taiga-ui-core-directives-wrapper.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +47 -2
  130. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  131. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js.map +1 -1
  132. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js +47 -2
  133. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js.map +1 -1
  134. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.min.js.map +1 -1
  135. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js +47 -2
  136. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
  137. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.min.js.map +1 -1
  138. package/bundles/taiga-ui-core-pipes-format-date.umd.js +46 -1
  139. package/bundles/taiga-ui-core-pipes-format-date.umd.js.map +1 -1
  140. package/bundles/taiga-ui-core-pipes-format-date.umd.min.js.map +1 -1
  141. package/bundles/taiga-ui-core-pipes-format-number.umd.js +46 -1
  142. package/bundles/taiga-ui-core-pipes-format-number.umd.js.map +1 -1
  143. package/bundles/taiga-ui-core-pipes-format-number.umd.min.js.map +1 -1
  144. package/bundles/taiga-ui-core-pipes-format-phone.umd.js +46 -1
  145. package/bundles/taiga-ui-core-pipes-format-phone.umd.js.map +1 -1
  146. package/bundles/taiga-ui-core-pipes-format-phone.umd.min.js.map +1 -1
  147. package/bundles/taiga-ui-core-pipes-month.umd.js +46 -1
  148. package/bundles/taiga-ui-core-pipes-month.umd.js.map +1 -1
  149. package/bundles/taiga-ui-core-pipes-month.umd.min.js.map +1 -1
  150. package/bundles/taiga-ui-core-pipes-pluralize.umd.js +46 -1
  151. package/bundles/taiga-ui-core-pipes-pluralize.umd.js.map +1 -1
  152. package/bundles/taiga-ui-core-pipes-pluralize.umd.min.js.map +1 -1
  153. package/bundles/taiga-ui-core-services.umd.js +46 -1
  154. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  155. package/bundles/taiga-ui-core-services.umd.min.js.map +1 -1
  156. package/bundles/taiga-ui-core-tokens.umd.js +46 -1
  157. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  158. package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
  159. package/bundles/taiga-ui-core-utils-dom.umd.js +1 -3
  160. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  161. package/bundles/taiga-ui-core-utils-dom.umd.min.js +1 -1
  162. package/bundles/taiga-ui-core-utils-dom.umd.min.js.map +1 -1
  163. package/bundles/taiga-ui-core-utils-format.umd.js +46 -1
  164. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  165. package/bundles/taiga-ui-core-utils-format.umd.min.js.map +1 -1
  166. package/bundles/taiga-ui-core-utils-mask.umd.js +47 -2
  167. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  168. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  169. package/bundles/taiga-ui-core-utils-polyfills.umd.js.map +1 -1
  170. package/bundles/taiga-ui-core-utils-polyfills.umd.min.js.map +1 -1
  171. package/components/button/button-options.d.ts +3 -3
  172. package/components/button/button.component.d.ts +2 -2
  173. package/components/calendar/calendar.component.d.ts +1 -1
  174. package/components/data-list/option/option.component.d.ts +1 -1
  175. package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
  176. package/components/dropdown-box/dropdown-box.component.d.ts +3 -3
  177. package/components/label/taiga-ui-core-components-label.metadata.json +1 -1
  178. package/components/link/link.component.d.ts +1 -1
  179. package/components/loader/loader.component.d.ts +1 -1
  180. package/components/notification/notification.component.d.ts +1 -1
  181. package/components/primitive-calendar/primitive-calendar.component.d.ts +2 -2
  182. package/components/primitive-textfield/primitive-textfield.component.d.ts +2 -2
  183. package/components/primitive-year-picker/primitive-year-picker.component.d.ts +1 -1
  184. package/components/svg/svg.component.d.ts +1 -1
  185. package/components/svg/taiga-ui-core-components-svg.metadata.json +1 -1
  186. package/constants/version.d.ts +1 -1
  187. package/directives/dropdown-controller/taiga-ui-core-directives-dropdown-controller.metadata.json +1 -1
  188. package/directives/textfield-controller/textfield-size.directive.d.ts +1 -1
  189. package/directives/textfield-controller/textfield.controller.d.ts +1 -1
  190. package/esm2015/abstract/abstract-dropdown.js +1 -1
  191. package/esm2015/abstract/abstract-textfield-host.js +7 -3
  192. package/esm2015/components/alert/alert.component.js +10 -10
  193. package/esm2015/components/button/button-options.js +1 -1
  194. package/esm2015/components/button/button.component.js +15 -15
  195. package/esm2015/components/calendar/calendar.component.js +2 -2
  196. package/esm2015/components/data-list/data-list-dropdown-manager.directive.js +9 -10
  197. package/esm2015/components/data-list/data-list.component.js +12 -12
  198. package/esm2015/components/data-list/data-list.directive.js +2 -2
  199. package/esm2015/components/data-list/opt-group.directive.js +5 -5
  200. package/esm2015/components/data-list/option/option.component.js +13 -13
  201. package/esm2015/components/dialog/dialog.component.js +12 -12
  202. package/esm2015/components/dialog/dialog.directive.js +4 -4
  203. package/esm2015/components/dialog/dialog.providers.js +22 -17
  204. package/esm2015/components/dropdown-box/dropdown-box.component.js +39 -39
  205. package/esm2015/components/error/error.component.js +5 -5
  206. package/esm2015/components/expand/expand-content.directive.js +2 -2
  207. package/esm2015/components/expand/expand.component.js +12 -12
  208. package/esm2015/components/group/group-styles.component.js +2 -2
  209. package/esm2015/components/group/group.component.js +4 -4
  210. package/esm2015/components/group/group.directive.js +15 -15
  211. package/esm2015/components/hints-host/hint-box/hint-box.component.js +46 -46
  212. package/esm2015/components/hints-host/hints-host.component.js +3 -3
  213. package/esm2015/components/hosted-dropdown/hosted-dropdown-connector.directive.js +2 -2
  214. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +10 -10
  215. package/esm2015/components/label/label.component.js +6 -6
  216. package/esm2015/components/link/link.component.js +12 -12
  217. package/esm2015/components/loader/loader.component.js +3 -3
  218. package/esm2015/components/notification/notification.component.js +9 -9
  219. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +3 -3
  220. package/esm2015/components/primitive-checkbox/primitive-checkbox.component.js +4 -4
  221. package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +3 -3
  222. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +28 -28
  223. package/esm2015/components/primitive-textfield/primitive-textfield.directive.js +2 -2
  224. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +13 -13
  225. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +12 -12
  226. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  227. package/esm2015/components/root/root.component.js +5 -5
  228. package/esm2015/components/scroll-controls/scroll-controls.component.js +4 -4
  229. package/esm2015/components/scroll-controls/scrollbar-wrapper.directive.js +2 -2
  230. package/esm2015/components/scroll-controls/scrollbar.directive.js +23 -23
  231. package/esm2015/components/scrollbar/scroll-ref.directive.js +2 -2
  232. package/esm2015/components/scrollbar/scrollable.directive.js +2 -2
  233. package/esm2015/components/scrollbar/scrollbar.component.js +7 -7
  234. package/esm2015/components/svg/svg.component.js +16 -16
  235. package/esm2015/components/theme-night/theme-night.component.js +3 -3
  236. package/esm2015/components/tooltip/tooltip.component.js +8 -8
  237. package/esm2015/directives/color/color.directive.js +7 -7
  238. package/esm2015/directives/described-by/described-by.directive.js +5 -5
  239. package/esm2015/directives/dropdown/dropdown.directive.js +3 -3
  240. package/esm2015/directives/dropdown-controller/dropdown-controller.directive.js +10 -10
  241. package/esm2015/directives/hint/hint.directive.js +6 -6
  242. package/esm2015/directives/hint-controller/hint-controller.directive.js +7 -7
  243. package/esm2015/directives/manual-hint/manual-hint.directive.js +4 -4
  244. package/esm2015/directives/mask-accessor/mask-accessor.directive.js +2 -2
  245. package/esm2015/directives/mode/mode.directive.js +3 -3
  246. package/esm2015/directives/pointer-hint/pointer-hint.directive.js +5 -5
  247. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +2 -2
  248. package/esm2015/directives/table-mode/table-mode.directive.js +3 -3
  249. package/esm2015/directives/textfield-controller/textfield-autocomplete.directive.js +5 -5
  250. package/esm2015/directives/textfield-controller/textfield-cleaner.directive.js +4 -4
  251. package/esm2015/directives/textfield-controller/textfield-custom-content.directive.js +5 -5
  252. package/esm2015/directives/textfield-controller/textfield-example-text.directive.js +5 -5
  253. package/esm2015/directives/textfield-controller/textfield-input-mode.directive.js +5 -5
  254. package/esm2015/directives/textfield-controller/textfield-label-outside.directive.js +4 -4
  255. package/esm2015/directives/textfield-controller/textfield-max-length.directive.js +4 -4
  256. package/esm2015/directives/textfield-controller/textfield-size.directive.js +5 -5
  257. package/esm2015/directives/textfield-controller/textfield-type.directive.js +5 -5
  258. package/esm2015/directives/textfield-controller/textfield.controller.js +1 -1
  259. package/esm2015/directives/wrapper/wrapper.directive.js +10 -10
  260. package/esm2015/interfaces/alert-options.js +1 -1
  261. package/esm2015/interfaces/dropdown-directive.js +1 -1
  262. package/esm2015/interfaces/hint.js +1 -1
  263. package/esm2015/interfaces/notification-options.js +1 -1
  264. package/esm2015/interfaces/number-format-settings.js +1 -1
  265. package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  266. package/esm2015/internal/svg-defs-host/svg-defs-host.component.js +2 -2
  267. package/esm2015/mask/text-mask-list.js +1 -1
  268. package/esm2015/mask/text-mask-pipe-handler.js +1 -1
  269. package/esm2015/pipes/calendar-sheet/utils.js +2 -2
  270. package/esm2015/pipes/format-date/format-date.pipe.js +1 -1
  271. package/esm2015/types/brightness.js +1 -1
  272. package/esm2015/types/decimal-symbol.js +1 -1
  273. package/esm2015/types/decimal.js +1 -1
  274. package/esm2015/types/dialog-size.js +1 -1
  275. package/esm2015/types/direction.js +1 -1
  276. package/esm2015/types/dropdown-width.js +1 -1
  277. package/esm2015/types/marker-handler.js +1 -1
  278. package/esm2015/types/option-role.js +1 -1
  279. package/esm2015/types/orientation.js +1 -1
  280. package/esm2015/types/size.js +1 -1
  281. package/esm2015/utils/dom/get-safe-area-size.js +1 -1
  282. package/esm2015/utils/dom/process-icon.js +2 -4
  283. package/esm2015/utils/mask/create-number-mask.js +2 -2
  284. package/esm2015/utils/polyfills/inner-html.js +3 -3
  285. package/esm5/abstract/abstract-dropdown.js +1 -1
  286. package/esm5/abstract/abstract-textfield-host.js +4 -2
  287. package/esm5/components/alert/alert.component.js +10 -10
  288. package/esm5/components/button/button-options.js +1 -1
  289. package/esm5/components/button/button.component.js +15 -15
  290. package/esm5/components/calendar/calendar.component.js +2 -2
  291. package/esm5/components/data-list/data-list-dropdown-manager.directive.js +10 -11
  292. package/esm5/components/data-list/data-list.component.js +12 -12
  293. package/esm5/components/data-list/data-list.directive.js +2 -2
  294. package/esm5/components/data-list/opt-group.directive.js +5 -5
  295. package/esm5/components/data-list/option/option.component.js +13 -13
  296. package/esm5/components/dialog/dialog.component.js +12 -12
  297. package/esm5/components/dialog/dialog.directive.js +4 -4
  298. package/esm5/components/dialog/dialog.providers.js +22 -24
  299. package/esm5/components/dropdown-box/dropdown-box.component.js +39 -39
  300. package/esm5/components/error/error.component.js +5 -5
  301. package/esm5/components/expand/expand-content.directive.js +2 -2
  302. package/esm5/components/expand/expand.component.js +12 -12
  303. package/esm5/components/group/group-styles.component.js +2 -2
  304. package/esm5/components/group/group.component.js +4 -4
  305. package/esm5/components/group/group.directive.js +15 -15
  306. package/esm5/components/hints-host/hint-box/hint-box.component.js +46 -46
  307. package/esm5/components/hints-host/hints-host.component.js +3 -3
  308. package/esm5/components/hosted-dropdown/hosted-dropdown-connector.directive.js +2 -2
  309. package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +10 -10
  310. package/esm5/components/label/label.component.js +6 -6
  311. package/esm5/components/link/link.component.js +12 -12
  312. package/esm5/components/loader/loader.component.js +3 -3
  313. package/esm5/components/notification/notification.component.js +9 -9
  314. package/esm5/components/primitive-calendar/primitive-calendar.component.js +3 -3
  315. package/esm5/components/primitive-checkbox/primitive-checkbox.component.js +4 -4
  316. package/esm5/components/primitive-spin-button/primitive-spin-button.component.js +3 -3
  317. package/esm5/components/primitive-textfield/primitive-textfield.component.js +28 -28
  318. package/esm5/components/primitive-textfield/primitive-textfield.directive.js +2 -2
  319. package/esm5/components/primitive-textfield/textfield/textfield.component.js +13 -13
  320. package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +12 -12
  321. package/esm5/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  322. package/esm5/components/root/root.component.js +5 -5
  323. package/esm5/components/scroll-controls/scroll-controls.component.js +4 -4
  324. package/esm5/components/scroll-controls/scrollbar-wrapper.directive.js +2 -2
  325. package/esm5/components/scroll-controls/scrollbar.directive.js +23 -23
  326. package/esm5/components/scrollbar/scroll-ref.directive.js +2 -2
  327. package/esm5/components/scrollbar/scrollable.directive.js +2 -2
  328. package/esm5/components/scrollbar/scrollbar.component.js +7 -7
  329. package/esm5/components/svg/svg.component.js +16 -16
  330. package/esm5/components/theme-night/theme-night.component.js +3 -3
  331. package/esm5/components/tooltip/tooltip.component.js +8 -8
  332. package/esm5/directives/color/color.directive.js +7 -7
  333. package/esm5/directives/described-by/described-by.directive.js +5 -5
  334. package/esm5/directives/dropdown/dropdown.directive.js +3 -3
  335. package/esm5/directives/dropdown-controller/dropdown-controller.directive.js +10 -10
  336. package/esm5/directives/hint/hint.directive.js +6 -6
  337. package/esm5/directives/hint-controller/hint-controller.directive.js +7 -7
  338. package/esm5/directives/manual-hint/manual-hint.directive.js +4 -4
  339. package/esm5/directives/mask-accessor/mask-accessor.directive.js +2 -2
  340. package/esm5/directives/mode/mode.directive.js +3 -3
  341. package/esm5/directives/pointer-hint/pointer-hint.directive.js +5 -5
  342. package/esm5/directives/scroll-into-view/scroll-into-view.directive.js +2 -2
  343. package/esm5/directives/table-mode/table-mode.directive.js +3 -3
  344. package/esm5/directives/textfield-controller/textfield-autocomplete.directive.js +5 -5
  345. package/esm5/directives/textfield-controller/textfield-cleaner.directive.js +4 -4
  346. package/esm5/directives/textfield-controller/textfield-custom-content.directive.js +5 -5
  347. package/esm5/directives/textfield-controller/textfield-example-text.directive.js +5 -5
  348. package/esm5/directives/textfield-controller/textfield-input-mode.directive.js +5 -5
  349. package/esm5/directives/textfield-controller/textfield-label-outside.directive.js +4 -4
  350. package/esm5/directives/textfield-controller/textfield-max-length.directive.js +4 -4
  351. package/esm5/directives/textfield-controller/textfield-size.directive.js +5 -5
  352. package/esm5/directives/textfield-controller/textfield-type.directive.js +5 -5
  353. package/esm5/directives/textfield-controller/textfield.controller.js +1 -1
  354. package/esm5/directives/wrapper/wrapper.directive.js +10 -10
  355. package/esm5/interfaces/alert-options.js +1 -1
  356. package/esm5/interfaces/dropdown-directive.js +1 -1
  357. package/esm5/interfaces/hint.js +1 -1
  358. package/esm5/interfaces/notification-options.js +1 -1
  359. package/esm5/interfaces/number-format-settings.js +1 -1
  360. package/esm5/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  361. package/esm5/internal/svg-defs-host/svg-defs-host.component.js +2 -2
  362. package/esm5/mask/text-mask-list.js +1 -1
  363. package/esm5/mask/text-mask-pipe-handler.js +1 -1
  364. package/esm5/pipes/calendar-sheet/utils.js +2 -2
  365. package/esm5/pipes/format-date/format-date.pipe.js +1 -1
  366. package/esm5/types/brightness.js +1 -1
  367. package/esm5/types/decimal-symbol.js +1 -1
  368. package/esm5/types/decimal.js +1 -1
  369. package/esm5/types/dialog-size.js +1 -1
  370. package/esm5/types/direction.js +1 -1
  371. package/esm5/types/dropdown-width.js +1 -1
  372. package/esm5/types/marker-handler.js +1 -1
  373. package/esm5/types/option-role.js +1 -1
  374. package/esm5/types/orientation.js +1 -1
  375. package/esm5/types/size.js +1 -1
  376. package/esm5/utils/dom/get-safe-area-size.js +1 -1
  377. package/esm5/utils/dom/process-icon.js +2 -4
  378. package/esm5/utils/mask/create-number-mask.js +2 -2
  379. package/esm5/utils/polyfills/inner-html.js +1 -1
  380. package/fesm2015/taiga-ui-core-abstract.js +6 -2
  381. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  382. package/fesm2015/taiga-ui-core-components-alert.js +9 -9
  383. package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
  384. package/fesm2015/taiga-ui-core-components-button.js +14 -14
  385. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  386. package/fesm2015/taiga-ui-core-components-calendar.js +1 -1
  387. package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
  388. package/fesm2015/taiga-ui-core-components-data-list.js +36 -37
  389. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  390. package/fesm2015/taiga-ui-core-components-dialog.js +35 -30
  391. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  392. package/fesm2015/taiga-ui-core-components-dropdown-box.js +38 -38
  393. package/fesm2015/taiga-ui-core-components-dropdown-box.js.map +1 -1
  394. package/fesm2015/taiga-ui-core-components-error.js +4 -4
  395. package/fesm2015/taiga-ui-core-components-error.js.map +1 -1
  396. package/fesm2015/taiga-ui-core-components-expand.js +12 -12
  397. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  398. package/fesm2015/taiga-ui-core-components-group.js +18 -18
  399. package/fesm2015/taiga-ui-core-components-group.js.map +1 -1
  400. package/fesm2015/taiga-ui-core-components-hints-host.js +47 -47
  401. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  402. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +10 -10
  403. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  404. package/fesm2015/taiga-ui-core-components-label.js +5 -5
  405. package/fesm2015/taiga-ui-core-components-label.js.map +1 -1
  406. package/fesm2015/taiga-ui-core-components-link.js +11 -11
  407. package/fesm2015/taiga-ui-core-components-link.js.map +1 -1
  408. package/fesm2015/taiga-ui-core-components-loader.js +2 -2
  409. package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
  410. package/fesm2015/taiga-ui-core-components-notification.js +8 -8
  411. package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
  412. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +2 -2
  413. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  414. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js +3 -3
  415. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  416. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +2 -2
  417. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  418. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +51 -51
  419. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  420. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +2 -2
  421. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  422. package/fesm2015/taiga-ui-core-components-root.js +4 -4
  423. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  424. package/fesm2015/taiga-ui-core-components-scroll-controls.js +26 -26
  425. package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
  426. package/fesm2015/taiga-ui-core-components-scrollbar.js +8 -8
  427. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  428. package/fesm2015/taiga-ui-core-components-svg.js +15 -15
  429. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  430. package/fesm2015/taiga-ui-core-components-theme-night.js +2 -2
  431. package/fesm2015/taiga-ui-core-components-theme-night.js.map +1 -1
  432. package/fesm2015/taiga-ui-core-components-tooltip.js +7 -7
  433. package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
  434. package/fesm2015/taiga-ui-core-directives-color.js +6 -6
  435. package/fesm2015/taiga-ui-core-directives-color.js.map +1 -1
  436. package/fesm2015/taiga-ui-core-directives-described-by.js +4 -4
  437. package/fesm2015/taiga-ui-core-directives-described-by.js.map +1 -1
  438. package/fesm2015/taiga-ui-core-directives-dropdown-controller.js +9 -9
  439. package/fesm2015/taiga-ui-core-directives-dropdown-controller.js.map +1 -1
  440. package/fesm2015/taiga-ui-core-directives-dropdown.js +2 -2
  441. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  442. package/fesm2015/taiga-ui-core-directives-hint-controller.js +6 -6
  443. package/fesm2015/taiga-ui-core-directives-hint-controller.js.map +1 -1
  444. package/fesm2015/taiga-ui-core-directives-hint.js +5 -5
  445. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  446. package/fesm2015/taiga-ui-core-directives-manual-hint.js +3 -3
  447. package/fesm2015/taiga-ui-core-directives-manual-hint.js.map +1 -1
  448. package/fesm2015/taiga-ui-core-directives-mask-accessor.js +1 -1
  449. package/fesm2015/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  450. package/fesm2015/taiga-ui-core-directives-mode.js +2 -2
  451. package/fesm2015/taiga-ui-core-directives-mode.js.map +1 -1
  452. package/fesm2015/taiga-ui-core-directives-pointer-hint.js +4 -4
  453. package/fesm2015/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  454. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js +1 -1
  455. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
  456. package/fesm2015/taiga-ui-core-directives-table-mode.js +2 -2
  457. package/fesm2015/taiga-ui-core-directives-table-mode.js.map +1 -1
  458. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +33 -33
  459. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  460. package/fesm2015/taiga-ui-core-directives-wrapper.js +9 -9
  461. package/fesm2015/taiga-ui-core-directives-wrapper.js.map +1 -1
  462. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  463. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  464. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js +1 -1
  465. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  466. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js +1 -1
  467. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  468. package/fesm2015/taiga-ui-core-pipes-format-date.js.map +1 -1
  469. package/fesm2015/taiga-ui-core-utils-dom.js +1 -3
  470. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  471. package/fesm2015/taiga-ui-core-utils-mask.js +1 -1
  472. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  473. package/fesm2015/taiga-ui-core-utils-polyfills.js +2 -2
  474. package/fesm2015/taiga-ui-core-utils-polyfills.js.map +1 -1
  475. package/fesm5/taiga-ui-core-abstract.js +3 -1
  476. package/fesm5/taiga-ui-core-abstract.js.map +1 -1
  477. package/fesm5/taiga-ui-core-components-alert.js +9 -9
  478. package/fesm5/taiga-ui-core-components-alert.js.map +1 -1
  479. package/fesm5/taiga-ui-core-components-button.js +14 -14
  480. package/fesm5/taiga-ui-core-components-button.js.map +1 -1
  481. package/fesm5/taiga-ui-core-components-calendar.js +1 -1
  482. package/fesm5/taiga-ui-core-components-calendar.js.map +1 -1
  483. package/fesm5/taiga-ui-core-components-data-list.js +37 -38
  484. package/fesm5/taiga-ui-core-components-data-list.js.map +1 -1
  485. package/fesm5/taiga-ui-core-components-dialog.js +35 -37
  486. package/fesm5/taiga-ui-core-components-dialog.js.map +1 -1
  487. package/fesm5/taiga-ui-core-components-dropdown-box.js +38 -38
  488. package/fesm5/taiga-ui-core-components-dropdown-box.js.map +1 -1
  489. package/fesm5/taiga-ui-core-components-error.js +4 -4
  490. package/fesm5/taiga-ui-core-components-error.js.map +1 -1
  491. package/fesm5/taiga-ui-core-components-expand.js +12 -12
  492. package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
  493. package/fesm5/taiga-ui-core-components-group.js +18 -18
  494. package/fesm5/taiga-ui-core-components-group.js.map +1 -1
  495. package/fesm5/taiga-ui-core-components-hints-host.js +47 -47
  496. package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
  497. package/fesm5/taiga-ui-core-components-hosted-dropdown.js +10 -10
  498. package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  499. package/fesm5/taiga-ui-core-components-label.js +5 -5
  500. package/fesm5/taiga-ui-core-components-label.js.map +1 -1
  501. package/fesm5/taiga-ui-core-components-link.js +11 -11
  502. package/fesm5/taiga-ui-core-components-link.js.map +1 -1
  503. package/fesm5/taiga-ui-core-components-loader.js +2 -2
  504. package/fesm5/taiga-ui-core-components-loader.js.map +1 -1
  505. package/fesm5/taiga-ui-core-components-notification.js +8 -8
  506. package/fesm5/taiga-ui-core-components-notification.js.map +1 -1
  507. package/fesm5/taiga-ui-core-components-primitive-calendar.js +2 -2
  508. package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  509. package/fesm5/taiga-ui-core-components-primitive-checkbox.js +3 -3
  510. package/fesm5/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  511. package/fesm5/taiga-ui-core-components-primitive-spin-button.js +2 -2
  512. package/fesm5/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  513. package/fesm5/taiga-ui-core-components-primitive-textfield.js +51 -51
  514. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  515. package/fesm5/taiga-ui-core-components-primitive-year-picker.js +2 -2
  516. package/fesm5/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  517. package/fesm5/taiga-ui-core-components-root.js +4 -4
  518. package/fesm5/taiga-ui-core-components-root.js.map +1 -1
  519. package/fesm5/taiga-ui-core-components-scroll-controls.js +26 -26
  520. package/fesm5/taiga-ui-core-components-scroll-controls.js.map +1 -1
  521. package/fesm5/taiga-ui-core-components-scrollbar.js +8 -8
  522. package/fesm5/taiga-ui-core-components-scrollbar.js.map +1 -1
  523. package/fesm5/taiga-ui-core-components-svg.js +15 -15
  524. package/fesm5/taiga-ui-core-components-svg.js.map +1 -1
  525. package/fesm5/taiga-ui-core-components-theme-night.js +2 -2
  526. package/fesm5/taiga-ui-core-components-theme-night.js.map +1 -1
  527. package/fesm5/taiga-ui-core-components-tooltip.js +7 -7
  528. package/fesm5/taiga-ui-core-components-tooltip.js.map +1 -1
  529. package/fesm5/taiga-ui-core-directives-color.js +6 -6
  530. package/fesm5/taiga-ui-core-directives-color.js.map +1 -1
  531. package/fesm5/taiga-ui-core-directives-described-by.js +4 -4
  532. package/fesm5/taiga-ui-core-directives-described-by.js.map +1 -1
  533. package/fesm5/taiga-ui-core-directives-dropdown-controller.js +9 -9
  534. package/fesm5/taiga-ui-core-directives-dropdown-controller.js.map +1 -1
  535. package/fesm5/taiga-ui-core-directives-dropdown.js +2 -2
  536. package/fesm5/taiga-ui-core-directives-dropdown.js.map +1 -1
  537. package/fesm5/taiga-ui-core-directives-hint-controller.js +6 -6
  538. package/fesm5/taiga-ui-core-directives-hint-controller.js.map +1 -1
  539. package/fesm5/taiga-ui-core-directives-hint.js +5 -5
  540. package/fesm5/taiga-ui-core-directives-hint.js.map +1 -1
  541. package/fesm5/taiga-ui-core-directives-manual-hint.js +3 -3
  542. package/fesm5/taiga-ui-core-directives-manual-hint.js.map +1 -1
  543. package/fesm5/taiga-ui-core-directives-mask-accessor.js +1 -1
  544. package/fesm5/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  545. package/fesm5/taiga-ui-core-directives-mode.js +2 -2
  546. package/fesm5/taiga-ui-core-directives-mode.js.map +1 -1
  547. package/fesm5/taiga-ui-core-directives-pointer-hint.js +4 -4
  548. package/fesm5/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  549. package/fesm5/taiga-ui-core-directives-scroll-into-view.js +1 -1
  550. package/fesm5/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
  551. package/fesm5/taiga-ui-core-directives-table-mode.js +2 -2
  552. package/fesm5/taiga-ui-core-directives-table-mode.js.map +1 -1
  553. package/fesm5/taiga-ui-core-directives-textfield-controller.js +33 -33
  554. package/fesm5/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  555. package/fesm5/taiga-ui-core-directives-wrapper.js +9 -9
  556. package/fesm5/taiga-ui-core-directives-wrapper.js.map +1 -1
  557. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  558. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  559. package/fesm5/taiga-ui-core-internal-svg-defs-host.js +1 -1
  560. package/fesm5/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  561. package/fesm5/taiga-ui-core-pipes-calendar-sheet.js +1 -1
  562. package/fesm5/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  563. package/fesm5/taiga-ui-core-pipes-format-date.js.map +1 -1
  564. package/fesm5/taiga-ui-core-utils-dom.js +1 -3
  565. package/fesm5/taiga-ui-core-utils-dom.js.map +1 -1
  566. package/fesm5/taiga-ui-core-utils-mask.js +1 -1
  567. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  568. package/fesm5/taiga-ui-core-utils-polyfills.js.map +1 -1
  569. package/interfaces/alert-options.d.ts +1 -1
  570. package/interfaces/dropdown-directive.d.ts +2 -2
  571. package/interfaces/hint.d.ts +1 -1
  572. package/interfaces/notification-options.d.ts +1 -1
  573. package/interfaces/number-format-settings.d.ts +1 -2
  574. package/mask/text-mask-list.d.ts +1 -1
  575. package/mask/text-mask-pipe-handler.d.ts +1 -1
  576. package/package.json +4 -4
  577. package/pipes/format-date/format-date.pipe.d.ts +1 -1
  578. package/tokens/dropdown-directive.d.ts +1 -1
  579. package/types/brightness.d.ts +1 -1
  580. package/types/decimal-symbol.d.ts +1 -1
  581. package/types/decimal.d.ts +1 -1
  582. package/types/dialog-size.d.ts +1 -1
  583. package/types/direction.d.ts +2 -2
  584. package/types/dropdown-width.d.ts +1 -1
  585. package/types/marker-handler.d.ts +1 -1
  586. package/types/option-role.d.ts +1 -1
  587. package/types/orientation.d.ts +1 -1
  588. package/types/size.d.ts +2 -2
@@ -28,7 +28,7 @@ var TuiDropdownBoxComponent = /** @class */ (function () {
28
28
  * Is previous position on top (to prevent jumping up and down on scroll)
29
29
  */
30
30
  this.prevDirectionIsTop = false;
31
- merge(animationFrame$.pipe(throttleTime(POLLING_TIME)), this.directive.refresh$, fromEvent(this.windowRef, "resize"))
31
+ merge(animationFrame$.pipe(throttleTime(POLLING_TIME)), this.directive.refresh$, fromEvent(this.windowRef, 'resize'))
32
32
  .pipe(tuiZonefree(ngZone), takeUntil(destroy$))
33
33
  .subscribe(function () {
34
34
  _this.calculatePositionAndSize();
@@ -36,7 +36,7 @@ var TuiDropdownBoxComponent = /** @class */ (function () {
36
36
  }
37
37
  Object.defineProperty(TuiDropdownBoxComponent.prototype, "overscroll", {
38
38
  get: function () {
39
- return this.inModal ? "all" : "scroll";
39
+ return this.inModal ? 'all' : 'scroll';
40
40
  },
41
41
  enumerable: true,
42
42
  configurable: true
@@ -56,7 +56,7 @@ var TuiDropdownBoxComponent = /** @class */ (function () {
56
56
  Object.defineProperty(TuiDropdownBoxComponent.prototype, "inModal", {
57
57
  get: function () {
58
58
  // @awful TODO: get rid of component tag name dependency
59
- return !!this.directive.host.closest("tui-dialog-host");
59
+ return !!this.directive.host.closest('tui-dialog-host');
60
60
  },
61
61
  enumerable: true,
62
62
  configurable: true
@@ -64,7 +64,7 @@ var TuiDropdownBoxComponent = /** @class */ (function () {
64
64
  Object.defineProperty(TuiDropdownBoxComponent.prototype, "inOption", {
65
65
  get: function () {
66
66
  // @awful TODO: get rid of component tag name dependency
67
- return !!this.directive.host.closest("[tuiOption]");
67
+ return !!this.directive.host.closest('[tuiOption]');
68
68
  },
69
69
  enumerable: true,
70
70
  configurable: true
@@ -75,7 +75,7 @@ var TuiDropdownBoxComponent = /** @class */ (function () {
75
75
  var hostRect = this.directive.fixed
76
76
  ? this.portalHost.fixedPositionOffset()
77
77
  : this.portalHost.clientRect;
78
- style.position = this.directive.fixed ? "fixed" : "absolute";
78
+ style.position = this.directive.fixed ? 'fixed' : 'absolute';
79
79
  this.calculateVerticalPosition(style, clientRect, hostRect);
80
80
  this.calculateHorizontalPosition(style, clientRect, hostRect);
81
81
  this.calculateWidth(style, clientRect);
@@ -89,23 +89,23 @@ var TuiDropdownBoxComponent = /** @class */ (function () {
89
89
  var isDropdownSizeActuallyFitsViewport = dropdownRect.right <= screenWidth && dropdownRect.left >= 0;
90
90
  var finalAlign = this.directive.align;
91
91
  switch (this.directive.align) {
92
- case "left":
92
+ case 'left':
93
93
  if (isDropdownSizeHypotheticallyFitsViewport &&
94
94
  dropdownRect.right > screenWidth) {
95
- finalAlign = "right";
95
+ finalAlign = 'right';
96
96
  }
97
97
  break;
98
- case "right":
98
+ case 'right':
99
99
  if (isDropdownSizeHypotheticallyFitsViewport && dropdownRect.left < 0) {
100
- finalAlign = "left";
100
+ finalAlign = 'left';
101
101
  }
102
102
  break;
103
103
  }
104
- if (style.right === "auto" && isDropdownSizeActuallyFitsViewport) {
105
- finalAlign = "left";
104
+ if (style.right === 'auto' && isDropdownSizeActuallyFitsViewport) {
105
+ finalAlign = 'left';
106
106
  }
107
- if (style.left === "auto" && isDropdownSizeActuallyFitsViewport) {
108
- finalAlign = "right";
107
+ if (style.left === 'auto' && isDropdownSizeActuallyFitsViewport) {
108
+ finalAlign = 'right';
109
109
  }
110
110
  return finalAlign;
111
111
  };
@@ -124,26 +124,26 @@ var TuiDropdownBoxComponent = /** @class */ (function () {
124
124
  var right = Math.floor(hostRect.right - directiveRect.right - offset);
125
125
  var viewportWidth = tuiGetViewportWidth(this.windowRef);
126
126
  switch (this.getFinalAlign(style, directiveRect)) {
127
- case "left":
127
+ case 'left':
128
128
  if (right + DEFAULT_MARGIN > viewportWidth ||
129
129
  inRange(left + DEFAULT_MARGIN, 0, viewportWidth)) {
130
130
  style.left = px(left);
131
- style.right = "auto";
131
+ style.right = 'auto';
132
132
  }
133
133
  else {
134
- style.left = "auto";
134
+ style.left = 'auto';
135
135
  style.right = px(right);
136
136
  }
137
137
  break;
138
- case "right":
138
+ case 'right':
139
139
  if (inRange(right + DEFAULT_MARGIN, 0, viewportWidth) ||
140
140
  left + DEFAULT_MARGIN > viewportWidth) {
141
- style.left = "auto";
141
+ style.left = 'auto';
142
142
  style.right = px(right);
143
143
  }
144
144
  else {
145
145
  style.left = px(left);
146
- style.right = "auto";
146
+ style.right = 'auto';
147
147
  }
148
148
  break;
149
149
  }
@@ -166,11 +166,11 @@ var TuiDropdownBoxComponent = /** @class */ (function () {
166
166
  var bottomAvailableHeight = windowHeight - directiveRect.bottom - offset;
167
167
  var finalDirection = this.getFinalDirection(directiveRect);
168
168
  var optionOffset = this.inOption ? DEFAULT_MARGIN * 2 : 0;
169
- this.prevDirectionIsTop = finalDirection === "top";
170
- if (finalDirection === "top") {
169
+ this.prevDirectionIsTop = finalDirection === 'top';
170
+ if (finalDirection === 'top') {
171
171
  this.dropdownAnimation = this.animationBottom;
172
172
  style.maxHeight = px(Math.min(boxHeightLimit, topAvailableHeight));
173
- style.top = "auto";
173
+ style.top = 'auto';
174
174
  style.bottom = px(hostRect.bottom -
175
175
  directiveRect.top -
176
176
  DEFAULT_MARGIN +
@@ -185,7 +185,7 @@ var TuiDropdownBoxComponent = /** @class */ (function () {
185
185
  DEFAULT_MARGIN +
186
186
  offset -
187
187
  optionOffset);
188
- style.bottom = "auto";
188
+ style.bottom = 'auto';
189
189
  }
190
190
  };
191
191
  TuiDropdownBoxComponent.prototype.getFinalDirection = function (directiveRect) {
@@ -199,14 +199,14 @@ var TuiDropdownBoxComponent = /** @class */ (function () {
199
199
  var finalDirection = null;
200
200
  // Given direction is applied if we can fit the box in the limits that way
201
201
  switch (this.directive.direction) {
202
- case "top":
202
+ case 'top':
203
203
  if (topAvailableHeight >= this.directive.minHeight) {
204
- finalDirection = "top";
204
+ finalDirection = 'top';
205
205
  }
206
206
  break;
207
- case "bottom":
207
+ case 'bottom':
208
208
  if (bottomAvailableHeight >= this.directive.minHeight) {
209
- finalDirection = "bottom";
209
+ finalDirection = 'bottom';
210
210
  }
211
211
  break;
212
212
  }
@@ -221,15 +221,15 @@ var TuiDropdownBoxComponent = /** @class */ (function () {
221
221
  // If there is enough space to fit below without scroll,
222
222
  // choose 'bottom', unless it was previously on the top
223
223
  if (this.prevDirectionIsTop && topAvailableHeight >= visualHeight) {
224
- finalDirection = "top";
224
+ finalDirection = 'top';
225
225
  }
226
226
  else if (bottomAvailableHeight >= visualHeight) {
227
- finalDirection = "bottom";
227
+ finalDirection = 'bottom';
228
228
  }
229
229
  else {
230
230
  // Corner case — select direction with more space
231
231
  finalDirection =
232
- bottomAvailableHeight >= topAvailableHeight ? "bottom" : "top";
232
+ bottomAvailableHeight >= topAvailableHeight ? 'bottom' : 'top';
233
233
  }
234
234
  }
235
235
  return finalDirection;
@@ -242,16 +242,16 @@ var TuiDropdownBoxComponent = /** @class */ (function () {
242
242
  */
243
243
  TuiDropdownBoxComponent.prototype.calculateWidth = function (style, directiveRect) {
244
244
  style.width =
245
- this.directive.limitMinWidth === "fixed" && !this.directive.sided
245
+ this.directive.limitMinWidth === 'fixed' && !this.directive.sided
246
246
  ? px(directiveRect.width)
247
- : "";
248
- if (this.directive.limitMinWidth === "min" && !this.directive.sided) {
247
+ : '';
248
+ if (this.directive.limitMinWidth === 'min' && !this.directive.sided) {
249
249
  style.minWidth = px(directiveRect.width);
250
250
  style.maxWidth = px(DEFAULT_MAX_WIDTH);
251
251
  return;
252
252
  }
253
- style.minWidth = "";
254
- style.maxWidth = "";
253
+ style.minWidth = '';
254
+ style.maxWidth = '';
255
255
  };
256
256
  TuiDropdownBoxComponent.prototype.moveFocusOutside = function (previous) {
257
257
  var host = this.directive.host;
@@ -275,10 +275,10 @@ var TuiDropdownBoxComponent = /** @class */ (function () {
275
275
  { type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] }
276
276
  ]; };
277
277
  __decorate([
278
- HostBinding("@tuiDropdownAnimation")
278
+ HostBinding('@tuiDropdownAnimation')
279
279
  ], TuiDropdownBoxComponent.prototype, "dropdownAnimation", void 0);
280
280
  __decorate([
281
- ViewChild("content", { read: ElementRef })
281
+ ViewChild('content', { read: ElementRef })
282
282
  ], TuiDropdownBoxComponent.prototype, "contentElementRef", void 0);
283
283
  __decorate([
284
284
  tuiPure
@@ -291,7 +291,7 @@ var TuiDropdownBoxComponent = /** @class */ (function () {
291
291
  ], TuiDropdownBoxComponent.prototype, "inOption", null);
292
292
  TuiDropdownBoxComponent = __decorate([
293
293
  Component({
294
- selector: "tui-dropdown-box",
294
+ selector: 'tui-dropdown-box',
295
295
  template: "<div\n #activeZone=\"tuiActiveZone\"\n class=\"t-wrapper\"\n [tuiOverscroll]=\"overscroll\"\n [tuiMode]=\"null\"\n [tuiActiveZoneParent]=\"directive.activeZone || null\"\n>\n <tui-scrollbar class=\"t-scroll\">\n <div\n tabindex=\"0\"\n (focus)=\"onTopFocus()\"\n ></div>\n <div\n #content\n polymorpheus-outlet\n class=\"t-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",
296
296
  changeDetection: ChangeDetectionStrategy.Default,
297
297
  providers: [TuiDestroyService],
@@ -310,4 +310,4 @@ var TuiDropdownBoxComponent = /** @class */ (function () {
310
310
  return TuiDropdownBoxComponent;
311
311
  }());
312
312
  export { TuiDropdownBoxComponent };
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZHJvcGRvd24tYm94LyIsInNvdXJjZXMiOlsiZHJvcGRvd24tYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsOEJBQThCLEVBQzlCLG1CQUFtQixFQUNuQixPQUFPLEVBQ1AsWUFBWSxFQUNaLEVBQUUsRUFDRixzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsa0JBQWtCLEVBQ2xCLE9BQU8sRUFDUCxXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRzNFLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRXBGLE9BQU8sRUFBQyxjQUFjLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RDs7R0FFRztBQUNILG9CQUFvQjtBQUNwQiw4RkFBOEY7QUFDOUYsV0FBVztBQVNYO0lBc0JJLGlD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RUFBRSx1QkFBdUIsQ0FBQyxPQUFPO1lBQ2hELFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQzlCLFVBQVUsRUFBRSxDQUFDLG9CQUFvQixDQUFDOztTQUNyQyxDQUFDO1FBd0JPLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFekIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDZCxXQUFBLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO1FBQzlCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2QsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsOEJBQThCLENBQUMsQ0FBQTtRQUV0QyxXQUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBQzdCLFdBQUEsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO09BaENuQix1QkFBdUIsQ0FzVm5DO0lBQUQsOEJBQUM7Q0FBQSxBQXRWRCxJQXNWQztTQXRWWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FuaW1hdGlvbk9wdGlvbnN9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBOZ1pvbmUsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FLCBXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aVBvcnRhbEhvc3RDb21wb25lbnQsXG4gICAgZ2V0Q2xvc2VzdEZvY3VzYWJsZSxcbiAgICBpblJhbmdlLFxuICAgIFBPTExJTkdfVElNRSxcbiAgICBweCxcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aUFzc2VydElzSFRNTEVsZW1lbnQsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpRHJvcGRvd25Ib3N0Q29tcG9uZW50LFxuICAgIFR1aU92ZXJzY3JvbGxNb2RlVCxcbiAgICB0dWlQdXJlLFxuICAgIHR1aVpvbmVmcmVlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7dHVpRHJvcGRvd25BbmltYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtERUZBVUxUX01BUkdJTiwgREVGQVVMVF9NQVhfV0lEVEh9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aURyb3Bkb3duQW5pbWF0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9lbnVtcyc7XG5pbXBvcnQge1R1aUFuaW1hdGlvbk9wdGlvbnMsIFR1aURyb3Bkb3dufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTl9PUFRJT05TLCBUVUlfRFJPUERPV05fRElSRUNUSVZFfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlIb3Jpem9udGFsRGlyZWN0aW9uLCBUdWlWZXJ0aWNhbERpcmVjdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtnZXRTY3JlZW5XaWR0aCwgdHVpR2V0Vmlld3BvcnRXaWR0aH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvZG9tJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gc2hvdyB0ZW1wbGF0ZSBpbiBhIHBvcnRhbCB1c2luZyBkZWZhdWx0IHN0eWxlIG9mIHdoaXRlIHJvdW5kZWQgYm94IHdpdGggYSBzaGFkb3dcbiAqL1xuLy8gQGJhZCBUT0RPOiBPblB1c2hcbi8vIEFtYmllbnQgdHlwZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGR5bmFtaWMgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMjMzOTVcbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1kcm9wZG93bi1ib3hgLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9kcm9wZG93bi1ib3gudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vZHJvcGRvd24tYm94LnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlEcm9wZG93bkFuaW1hdGlvbl0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duQm94Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25Ub3AgPSB7XG4gICAgICAgIHZhbHVlOiBUdWlEcm9wZG93bkFuaW1hdGlvbi5GYWRlSW5Ub3AsXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25Cb3R0b20gPSB7XG4gICAgICAgIHZhbHVlOiBUdWlEcm9wZG93bkFuaW1hdGlvbi5GYWRlSW5Cb3R0b20sXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogSXMgcHJldmlvdXMgcG9zaXRpb24gb24gdG9wICh0byBwcmV2ZW50IGp1bXBpbmcgdXAgYW5kIGRvd24gb24gc2Nyb2xsKVxuICAgICAqL1xuICAgIHByaXZhdGUgcHJldkRpcmVjdGlvbklzVG9wID0gZmFsc2U7XG5cbiAgICBASG9zdEJpbmRpbmcoYEB0dWlEcm9wZG93bkFuaW1hdGlvbmApXG4gICAgZHJvcGRvd25BbmltYXRpb24hOiBUdWlBbmltYXRpb25PcHRpb25zO1xuXG4gICAgQFZpZXdDaGlsZChgY29udGVudGAsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICByZWFkb25seSBjb250ZW50RWxlbWVudFJlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpXG4gICAgICAgIGRlc3Ryb3kkOiBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFRVSV9EUk9QRE9XTl9ESVJFQ1RJVkUpIHJlYWRvbmx5IGRpcmVjdGl2ZTogVHVpRHJvcGRvd24sXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1JlZjogV2luZG93LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoQWJzdHJhY3RUdWlQb3J0YWxIb3N0Q29tcG9uZW50KVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnRhbEhvc3Q6IFR1aURyb3Bkb3duSG9zdENvbXBvbmVudCxcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICkge1xuICAgICAgICBtZXJnZShcbiAgICAgICAgICAgIGFuaW1hdGlvbkZyYW1lJC5waXBlKHRocm90dGxlVGltZShQT0xMSU5HX1RJTUUpKSxcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlLnJlZnJlc2gkLFxuICAgICAgICAgICAgZnJvbUV2ZW50KHRoaXMud2luZG93UmVmLCBgcmVzaXplYCksXG4gICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKG5nWm9uZSksIHRha2VVbnRpbChkZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uQW5kU2l6ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IG92ZXJzY3JvbGwoKTogVHVpT3ZlcnNjcm9sbE1vZGVUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5Nb2RhbCA/IGBhbGxgIDogYHNjcm9sbGA7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRDb250ZXh0PFQgZXh0ZW5kcyBvYmplY3Q+KFxuICAgICAgICBjb250ZXh0PzogVCxcbiAgICAgICAgYWN0aXZlWm9uZT86IFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgKTpcbiAgICAgICAgfCAoVCAmIHthY3RpdmVab25lPzogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZX0pXG4gICAgICAgIHwge2FjdGl2ZVpvbmU/OiBUdWlBY3RpdmVab25lRGlyZWN0aXZlfSB7XG4gICAgICAgIHJldHVybiB7Li4uY29udGV4dCwgYWN0aXZlWm9uZX07XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uQW5kU2l6ZSgpO1xuICAgIH1cblxuICAgIG9uVG9wRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW92ZUZvY3VzT3V0c2lkZSh0cnVlKTtcbiAgICB9XG5cbiAgICBvbkJvdHRvbUZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdmVGb2N1c091dHNpZGUoZmFsc2UpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXQgaW5Nb2RhbCgpOiBib29sZWFuIHtcbiAgICAgICAgLy8gQGF3ZnVsIFRPRE86IGdldCByaWQgb2YgY29tcG9uZW50IHRhZyBuYW1lIGRlcGVuZGVuY3lcbiAgICAgICAgcmV0dXJuICEhdGhpcy5kaXJlY3RpdmUuaG9zdC5jbG9zZXN0KGB0dWktZGlhbG9nLWhvc3RgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0IGluT3B0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICAvLyBAYXdmdWwgVE9ETzogZ2V0IHJpZCBvZiBjb21wb25lbnQgdGFnIG5hbWUgZGVwZW5kZW5jeVxuICAgICAgICByZXR1cm4gISF0aGlzLmRpcmVjdGl2ZS5ob3N0LmNsb3Nlc3QoYFt0dWlPcHRpb25dYCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQb3NpdGlvbkFuZFNpemUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtjbGllbnRSZWN0fSA9IHRoaXMuZGlyZWN0aXZlO1xuICAgICAgICBjb25zdCB7c3R5bGV9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5kaXJlY3RpdmUuZml4ZWRcbiAgICAgICAgICAgID8gdGhpcy5wb3J0YWxIb3N0LmZpeGVkUG9zaXRpb25PZmZzZXQoKVxuICAgICAgICAgICAgOiB0aGlzLnBvcnRhbEhvc3QuY2xpZW50UmVjdDtcblxuICAgICAgICBzdHlsZS5wb3NpdGlvbiA9IHRoaXMuZGlyZWN0aXZlLmZpeGVkID8gYGZpeGVkYCA6IGBhYnNvbHV0ZWA7XG5cbiAgICAgICAgdGhpcy5jYWxjdWxhdGVWZXJ0aWNhbFBvc2l0aW9uKHN0eWxlLCBjbGllbnRSZWN0LCBob3N0UmVjdCk7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlSG9yaXpvbnRhbFBvc2l0aW9uKHN0eWxlLCBjbGllbnRSZWN0LCBob3N0UmVjdCk7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlV2lkdGgoc3R5bGUsIGNsaWVudFJlY3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmluYWxBbGlnbihcbiAgICAgICAgc3R5bGU6IENTU1N0eWxlRGVjbGFyYXRpb24sXG4gICAgICAgIGRpcmVjdGl2ZVJlY3Q6IENsaWVudFJlY3QsXG4gICAgKTogVHVpSG9yaXpvbnRhbERpcmVjdGlvbiB7XG4gICAgICAgIGNvbnN0IGRyb3Bkb3duUmVjdCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBkcm9wZG93bldpZHRoID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICAgIGNvbnN0IHNjcmVlbldpZHRoID0gZ2V0U2NyZWVuV2lkdGgodGhpcy53aW5kb3dSZWYuZG9jdW1lbnQpO1xuICAgICAgICBjb25zdCBpc0Ryb3Bkb3duU2l6ZUh5cG90aGV0aWNhbGx5Rml0c1ZpZXdwb3J0ID1cbiAgICAgICAgICAgIGRpcmVjdGl2ZVJlY3QubGVmdCArIGRyb3Bkb3duV2lkdGggPCBzY3JlZW5XaWR0aCB8fFxuICAgICAgICAgICAgZGlyZWN0aXZlUmVjdC5yaWdodCAtIGRyb3Bkb3duV2lkdGggPiAwO1xuICAgICAgICBjb25zdCBpc0Ryb3Bkb3duU2l6ZUFjdHVhbGx5Rml0c1ZpZXdwb3J0ID1cbiAgICAgICAgICAgIGRyb3Bkb3duUmVjdC5yaWdodCA8PSBzY3JlZW5XaWR0aCAmJiBkcm9wZG93blJlY3QubGVmdCA+PSAwO1xuICAgICAgICBsZXQgZmluYWxBbGlnbjogVHVpSG9yaXpvbnRhbERpcmVjdGlvbiA9IHRoaXMuZGlyZWN0aXZlLmFsaWduO1xuXG4gICAgICAgIHN3aXRjaCAodGhpcy5kaXJlY3RpdmUuYWxpZ24pIHtcbiAgICAgICAgICAgIGNhc2UgYGxlZnRgOlxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgaXNEcm9wZG93blNpemVIeXBvdGhldGljYWxseUZpdHNWaWV3cG9ydCAmJlxuICAgICAgICAgICAgICAgICAgICBkcm9wZG93blJlY3QucmlnaHQgPiBzY3JlZW5XaWR0aFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBmaW5hbEFsaWduID0gYHJpZ2h0YDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgYHJpZ2h0YDpcbiAgICAgICAgICAgICAgICBpZiAoaXNEcm9wZG93blNpemVIeXBvdGhldGljYWxseUZpdHNWaWV3cG9ydCAmJiBkcm9wZG93blJlY3QubGVmdCA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZmluYWxBbGlnbiA9IGBsZWZ0YDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdHlsZS5yaWdodCA9PT0gYGF1dG9gICYmIGlzRHJvcGRvd25TaXplQWN0dWFsbHlGaXRzVmlld3BvcnQpIHtcbiAgICAgICAgICAgIGZpbmFsQWxpZ24gPSBgbGVmdGA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3R5bGUubGVmdCA9PT0gYGF1dG9gICYmIGlzRHJvcGRvd25TaXplQWN0dWFsbHlGaXRzVmlld3BvcnQpIHtcbiAgICAgICAgICAgIGZpbmFsQWxpZ24gPSBgcmlnaHRgO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpbmFsQWxpZ247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyBob3Jpem9udGFsIHBvc2l0aW9uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3R5bGUgZHJvcGRvd25Cb3ggZWxlbWVudFJlZiBzdHlsZXMgb2JqZWN0XG4gICAgICogQHBhcmFtIGRpcmVjdGl2ZVJlY3QgQ2xpZW50UmVjdCBvZiBob3N0aW5nIGRpcmVjdGl2ZVxuICAgICAqIEBwYXJhbSBob3N0UmVjdCBDbGllbnRSZWN0IG9mICBwb3J0YWwgaG9zdFxuICAgICAqL1xuICAgIHByaXZhdGUgY2FsY3VsYXRlSG9yaXpvbnRhbFBvc2l0aW9uKFxuICAgICAgICBzdHlsZTogQ1NTU3R5bGVEZWNsYXJhdGlvbixcbiAgICAgICAgZGlyZWN0aXZlUmVjdDogQ2xpZW50UmVjdCxcbiAgICAgICAgaG9zdFJlY3Q6IENsaWVudFJlY3QsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuZGlyZWN0aXZlLnNpZGVkXG4gICAgICAgICAgICA/IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoICsgREVGQVVMVF9NQVJHSU5cbiAgICAgICAgICAgIDogMDtcbiAgICAgICAgY29uc3QgbGVmdCA9IE1hdGguY2VpbChkaXJlY3RpdmVSZWN0LmxlZnQgLSBob3N0UmVjdC5sZWZ0IC0gb2Zmc2V0KTtcbiAgICAgICAgY29uc3QgcmlnaHQgPSBNYXRoLmZsb29yKGhvc3RSZWN0LnJpZ2h0IC0gZGlyZWN0aXZlUmVjdC5yaWdodCAtIG9mZnNldCk7XG4gICAgICAgIGNvbnN0IHZpZXdwb3J0V2lkdGggPSB0dWlHZXRWaWV3cG9ydFdpZHRoKHRoaXMud2luZG93UmVmKTtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMuZ2V0RmluYWxBbGlnbihzdHlsZSwgZGlyZWN0aXZlUmVjdCkpIHtcbiAgICAgICAgICAgIGNhc2UgYGxlZnRgOlxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQgKyBERUZBVUxUX01BUkdJTiA+IHZpZXdwb3J0V2lkdGggfHxcbiAgICAgICAgICAgICAgICAgICAgaW5SYW5nZShsZWZ0ICsgREVGQVVMVF9NQVJHSU4sIDAsIHZpZXdwb3J0V2lkdGgpXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLmxlZnQgPSBweChsZWZ0KTtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUucmlnaHQgPSBgYXV0b2A7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUubGVmdCA9IGBhdXRvYDtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUucmlnaHQgPSBweChyaWdodCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIGByaWdodGA6XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBpblJhbmdlKHJpZ2h0ICsgREVGQVVMVF9NQVJHSU4sIDAsIHZpZXdwb3J0V2lkdGgpIHx8XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgKyBERUZBVUxUX01BUkdJTiA+IHZpZXdwb3J0V2lkdGhcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUubGVmdCA9IGBhdXRvYDtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUucmlnaHQgPSBweChyaWdodCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUubGVmdCA9IHB4KGxlZnQpO1xuICAgICAgICAgICAgICAgICAgICBzdHlsZS5yaWdodCA9IGBhdXRvYDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgdmVydGljYWwgcG9zaXRpb24gYW5kIGhlaWdodFxuICAgICAqXG4gICAgICogQHBhcmFtIHN0eWxlIGRyb3Bkb3duQm94IGVsZW1lbnRSZWYgc3R5bGVzIG9iamVjdFxuICAgICAqIEBwYXJhbSBkaXJlY3RpdmVSZWN0IENsaWVudFJlY3Qgb2YgaG9zdGluZyBkaXJlY3RpdmVcbiAgICAgKiBAcGFyYW0gaG9zdFJlY3QgQ2xpZW50UmVjdCBvZiAgcG9ydGFsIGhvc3RcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVZlcnRpY2FsUG9zaXRpb24oXG4gICAgICAgIHN0eWxlOiBDU1NTdHlsZURlY2xhcmF0aW9uLFxuICAgICAgICBkaXJlY3RpdmVSZWN0OiBDbGllbnRSZWN0LFxuICAgICAgICBob3N0UmVjdDogQ2xpZW50UmVjdCxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gdGhpcy53aW5kb3dSZWYuaW5uZXJIZWlnaHQ7XG4gICAgICAgIC8vIE1heGltdW0gaGVpZ2h0IG9mIHRoZSBib3hcbiAgICAgICAgY29uc3QgYm94SGVpZ2h0TGltaXQgPSBNYXRoLm1pbihcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlLm1heEhlaWdodCxcbiAgICAgICAgICAgIHdpbmRvd0hlaWdodCAtIERFRkFVTFRfTUFSR0lOICogMixcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5kaXJlY3RpdmUuc2lkZWRcbiAgICAgICAgICAgID8gREVGQVVMVF9NQVJHSU4gLSBkaXJlY3RpdmVSZWN0LmhlaWdodFxuICAgICAgICAgICAgOiBERUZBVUxUX01BUkdJTiAqIDI7XG4gICAgICAgIGNvbnN0IHRvcEF2YWlsYWJsZUhlaWdodCA9IGRpcmVjdGl2ZVJlY3QudG9wIC0gb2Zmc2V0O1xuICAgICAgICBjb25zdCBib3R0b21BdmFpbGFibGVIZWlnaHQgPSB3aW5kb3dIZWlnaHQgLSBkaXJlY3RpdmVSZWN0LmJvdHRvbSAtIG9mZnNldDtcbiAgICAgICAgY29uc3QgZmluYWxEaXJlY3Rpb24gPSB0aGlzLmdldEZpbmFsRGlyZWN0aW9uKGRpcmVjdGl2ZVJlY3QpO1xuICAgICAgICBjb25zdCBvcHRpb25PZmZzZXQgPSB0aGlzLmluT3B0aW9uID8gREVGQVVMVF9NQVJHSU4gKiAyIDogMDtcblxuICAgICAgICB0aGlzLnByZXZEaXJlY3Rpb25Jc1RvcCA9IGZpbmFsRGlyZWN0aW9uID09PSBgdG9wYDtcblxuICAgICAgICBpZiAoZmluYWxEaXJlY3Rpb24gPT09IGB0b3BgKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duQW5pbWF0aW9uID0gdGhpcy5hbmltYXRpb25Cb3R0b207XG5cbiAgICAgICAgICAgIHN0eWxlLm1heEhlaWdodCA9IHB4KE1hdGgubWluKGJveEhlaWdodExpbWl0LCB0b3BBdmFpbGFibGVIZWlnaHQpKTtcbiAgICAgICAgICAgIHN0eWxlLnRvcCA9IGBhdXRvYDtcbiAgICAgICAgICAgIHN0eWxlLmJvdHRvbSA9IHB4KFxuICAgICAgICAgICAgICAgIGhvc3RSZWN0LmJvdHRvbSAtXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGl2ZVJlY3QudG9wIC1cbiAgICAgICAgICAgICAgICAgICAgREVGQVVMVF9NQVJHSU4gK1xuICAgICAgICAgICAgICAgICAgICBvZmZzZXQgLVxuICAgICAgICAgICAgICAgICAgICBvcHRpb25PZmZzZXQsXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkFuaW1hdGlvbiA9IHRoaXMuYW5pbWF0aW9uVG9wO1xuXG4gICAgICAgICAgICBzdHlsZS5tYXhIZWlnaHQgPSBweChNYXRoLm1pbihib3hIZWlnaHRMaW1pdCwgYm90dG9tQXZhaWxhYmxlSGVpZ2h0KSk7XG4gICAgICAgICAgICBzdHlsZS50b3AgPSBweChcbiAgICAgICAgICAgICAgICBkaXJlY3RpdmVSZWN0LmJvdHRvbSAtXG4gICAgICAgICAgICAgICAgICAgIGhvc3RSZWN0LnRvcCAtXG4gICAgICAgICAgICAgICAgICAgIERFRkFVTFRfTUFSR0lOICtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0IC1cbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uT2Zmc2V0LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHN0eWxlLmJvdHRvbSA9IGBhdXRvYDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmluYWxEaXJlY3Rpb24oZGlyZWN0aXZlUmVjdDogQ2xpZW50UmVjdCk6IFR1aVZlcnRpY2FsRGlyZWN0aW9uIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0O1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB0aGlzLmRpcmVjdGl2ZS5zaWRlZFxuICAgICAgICAgICAgPyBERUZBVUxUX01BUkdJTiAtIGRpcmVjdGl2ZVJlY3QuaGVpZ2h0XG4gICAgICAgICAgICA6IERFRkFVTFRfTUFSR0lOICogMjtcblxuICAgICAgICAvLyBNYXhpbXVtIHNwYWNlIGF2YWlsYWJsZSBvbiB0b3AgYW5kIG9uIHRoZSBib3R0b20gaW4gdGhlIHZpZXdwb3J0XG4gICAgICAgIGNvbnN0IHRvcEF2YWlsYWJsZUhlaWdodCA9IGRpcmVjdGl2ZVJlY3QudG9wIC0gb2Zmc2V0O1xuICAgICAgICBjb25zdCBib3R0b21BdmFpbGFibGVIZWlnaHQgPSB3aW5kb3dIZWlnaHQgLSBkaXJlY3RpdmVSZWN0LmJvdHRvbSAtIG9mZnNldDtcblxuICAgICAgICBsZXQgZmluYWxEaXJlY3Rpb246IFR1aVZlcnRpY2FsRGlyZWN0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgICAgICAgLy8gR2l2ZW4gZGlyZWN0aW9uIGlzIGFwcGxpZWQgaWYgd2UgY2FuIGZpdCB0aGUgYm94IGluIHRoZSBsaW1pdHMgdGhhdCB3YXlcbiAgICAgICAgc3dpdGNoICh0aGlzLmRpcmVjdGl2ZS5kaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIGNhc2UgYHRvcGA6XG4gICAgICAgICAgICAgICAgaWYgKHRvcEF2YWlsYWJsZUhlaWdodCA+PSB0aGlzLmRpcmVjdGl2ZS5taW5IZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgZmluYWxEaXJlY3Rpb24gPSBgdG9wYDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgYGJvdHRvbWA6XG4gICAgICAgICAgICAgICAgaWYgKGJvdHRvbUF2YWlsYWJsZUhlaWdodCA+PSB0aGlzLmRpcmVjdGl2ZS5taW5IZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgZmluYWxEaXJlY3Rpb24gPSBgYm90dG9tYDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1heGltdW0gaGVpZ2h0IG9mIHRoZSBib3hcbiAgICAgICAgY29uc3QgYm94SGVpZ2h0TGltaXQgPSBNYXRoLm1pbihcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlLm1heEhlaWdodCxcbiAgICAgICAgICAgIHdpbmRvd0hlaWdodCAtIERFRkFVTFRfTUFSR0lOICogMixcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBDaG9vc2UgZGlyZWN0aW9uIGlmIGdpdmVuIGRpcmVjdGlvbiBkaWQgbm90IGZpdFxuICAgICAgICBpZiAoZmluYWxEaXJlY3Rpb24gPT09IG51bGwgJiYgdGhpcy5jb250ZW50RWxlbWVudFJlZikge1xuICAgICAgICAgICAgLy8gQm94IGhlaWdodCBpZiBpdCBmaXRzIHdpdGhvdXQgc2Nyb2xsXG4gICAgICAgICAgICBjb25zdCB2aXN1YWxIZWlnaHQgPSBNYXRoLm1pbihcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0ICtcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCAtXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQpLFxuICAgICAgICAgICAgICAgIGJveEhlaWdodExpbWl0LFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgZW5vdWdoIHNwYWNlIHRvIGZpdCBiZWxvdyB3aXRob3V0IHNjcm9sbCxcbiAgICAgICAgICAgIC8vIGNob29zZSAnYm90dG9tJywgdW5sZXNzIGl0IHdhcyBwcmV2aW91c2x5IG9uIHRoZSB0b3BcbiAgICAgICAgICAgIGlmICh0aGlzLnByZXZEaXJlY3Rpb25Jc1RvcCAmJiB0b3BBdmFpbGFibGVIZWlnaHQgPj0gdmlzdWFsSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgZmluYWxEaXJlY3Rpb24gPSBgdG9wYDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYm90dG9tQXZhaWxhYmxlSGVpZ2h0ID49IHZpc3VhbEhlaWdodCkge1xuICAgICAgICAgICAgICAgIGZpbmFsRGlyZWN0aW9uID0gYGJvdHRvbWA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIENvcm5lciBjYXNlIOKAlCBzZWxlY3QgZGlyZWN0aW9uIHdpdGggbW9yZSBzcGFjZVxuICAgICAgICAgICAgICAgIGZpbmFsRGlyZWN0aW9uID1cbiAgICAgICAgICAgICAgICAgICAgYm90dG9tQXZhaWxhYmxlSGVpZ2h0ID49IHRvcEF2YWlsYWJsZUhlaWdodCA/IGBib3R0b21gIDogYHRvcGA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmluYWxEaXJlY3Rpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB3aWR0aFxuICAgICAqXG4gICAgICogQHBhcmFtIHN0eWxlIGRyb3Bkb3duQm94IGVsZW1lbnRSZWYgc3R5bGVzIG9iamVjdFxuICAgICAqIEBwYXJhbSBkaXJlY3RpdmVSZWN0IENsaWVudFJlY3Qgb2YgaG9zdGluZyBkaXJlY3RpdmVcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVdpZHRoKHN0eWxlOiBDU1NTdHlsZURlY2xhcmF0aW9uLCBkaXJlY3RpdmVSZWN0OiBDbGllbnRSZWN0KTogdm9pZCB7XG4gICAgICAgIHN0eWxlLndpZHRoID1cbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlLmxpbWl0TWluV2lkdGggPT09IGBmaXhlZGAgJiYgIXRoaXMuZGlyZWN0aXZlLnNpZGVkXG4gICAgICAgICAgICAgICAgPyBweChkaXJlY3RpdmVSZWN0LndpZHRoKVxuICAgICAgICAgICAgICAgIDogYGA7XG5cbiAgICAgICAgaWYgKHRoaXMuZGlyZWN0aXZlLmxpbWl0TWluV2lkdGggPT09IGBtaW5gICYmICF0aGlzLmRpcmVjdGl2ZS5zaWRlZCkge1xuICAgICAgICAgICAgc3R5bGUubWluV2lkdGggPSBweChkaXJlY3RpdmVSZWN0LndpZHRoKTtcbiAgICAgICAgICAgIHN0eWxlLm1heFdpZHRoID0gcHgoREVGQVVMVF9NQVhfV0lEVEgpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzdHlsZS5taW5XaWR0aCA9IGBgO1xuICAgICAgICBzdHlsZS5tYXhXaWR0aCA9IGBgO1xuICAgIH1cblxuICAgIHByaXZhdGUgbW92ZUZvY3VzT3V0c2lkZShwcmV2aW91czogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCB7aG9zdH0gPSB0aGlzLmRpcmVjdGl2ZTtcbiAgICAgICAgY29uc3Qge293bmVyRG9jdW1lbnR9ID0gaG9zdDtcbiAgICAgICAgY29uc3Qgcm9vdCA9IG93bmVyRG9jdW1lbnQgPyBvd25lckRvY3VtZW50LmJvZHkgOiBob3N0O1xuXG4gICAgICAgIHR1aUFzc2VydElzSFRNTEVsZW1lbnQoaG9zdCk7XG5cbiAgICAgICAgbGV0IGZvY3VzYWJsZSA9IGdldENsb3Nlc3RGb2N1c2FibGUoaG9zdCwgcHJldmlvdXMsIHJvb3QpO1xuXG4gICAgICAgIHdoaWxlIChmb2N1c2FibGUgIT09IG51bGwgJiYgaG9zdC5jb250YWlucyhmb2N1c2FibGUpKSB7XG4gICAgICAgICAgICBmb2N1c2FibGUgPSBnZXRDbG9zZXN0Rm9jdXNhYmxlKGZvY3VzYWJsZSwgcHJldmlvdXMsIHJvb3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9jdXNhYmxlPy5mb2N1cygpO1xuICAgIH1cbn1cbiJdfQ==
313
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZHJvcGRvd24tYm94LyIsInNvdXJjZXMiOlsiZHJvcGRvd24tYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsOEJBQThCLEVBQzlCLG1CQUFtQixFQUNuQixPQUFPLEVBQ1AsWUFBWSxFQUNaLEVBQUUsRUFDRixzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsa0JBQWtCLEVBQ2xCLE9BQU8sRUFDUCxXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRzNFLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRXBGLE9BQU8sRUFBQyxjQUFjLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RDs7R0FFRztBQUNILG9CQUFvQjtBQUNwQiw4RkFBOEY7QUFDOUYsV0FBVztBQVNYO0lBc0JJLGlD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RUFBRSx1QkFBdUIsQ0FBQyxPQUFPO1lBQ2hELFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQzlCLFVBQVUsRUFBRSxDQUFDLG9CQUFvQixDQUFDOztTQUNyQyxDQUFDO1FBd0JPLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFekIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDZCxXQUFBLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO1FBQzlCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2QsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsOEJBQThCLENBQUMsQ0FBQTtRQUV0QyxXQUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBQzdCLFdBQUEsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO09BaENuQix1QkFBdUIsQ0FzVm5DO0lBQUQsOEJBQUM7Q0FBQSxBQXRWRCxJQXNWQztTQXRWWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FuaW1hdGlvbk9wdGlvbnN9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBOZ1pvbmUsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FLCBXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aVBvcnRhbEhvc3RDb21wb25lbnQsXG4gICAgZ2V0Q2xvc2VzdEZvY3VzYWJsZSxcbiAgICBpblJhbmdlLFxuICAgIFBPTExJTkdfVElNRSxcbiAgICBweCxcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aUFzc2VydElzSFRNTEVsZW1lbnQsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpRHJvcGRvd25Ib3N0Q29tcG9uZW50LFxuICAgIFR1aU92ZXJzY3JvbGxNb2RlVCxcbiAgICB0dWlQdXJlLFxuICAgIHR1aVpvbmVmcmVlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7dHVpRHJvcGRvd25BbmltYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtERUZBVUxUX01BUkdJTiwgREVGQVVMVF9NQVhfV0lEVEh9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aURyb3Bkb3duQW5pbWF0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9lbnVtcyc7XG5pbXBvcnQge1R1aUFuaW1hdGlvbk9wdGlvbnMsIFR1aURyb3Bkb3dufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTl9PUFRJT05TLCBUVUlfRFJPUERPV05fRElSRUNUSVZFfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlIb3Jpem9udGFsRGlyZWN0aW9uLCBUdWlWZXJ0aWNhbERpcmVjdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtnZXRTY3JlZW5XaWR0aCwgdHVpR2V0Vmlld3BvcnRXaWR0aH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvZG9tJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gc2hvdyB0ZW1wbGF0ZSBpbiBhIHBvcnRhbCB1c2luZyBkZWZhdWx0IHN0eWxlIG9mIHdoaXRlIHJvdW5kZWQgYm94IHdpdGggYSBzaGFkb3dcbiAqL1xuLy8gQGJhZCBUT0RPOiBPblB1c2hcbi8vIEFtYmllbnQgdHlwZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGR5bmFtaWMgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMjMzOTVcbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kcm9wZG93bi1ib3gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi1ib3gudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24tYm94LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlEcm9wZG93bkFuaW1hdGlvbl0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duQm94Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25Ub3AgPSB7XG4gICAgICAgIHZhbHVlOiBUdWlEcm9wZG93bkFuaW1hdGlvbi5GYWRlSW5Ub3AsXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25Cb3R0b20gPSB7XG4gICAgICAgIHZhbHVlOiBUdWlEcm9wZG93bkFuaW1hdGlvbi5GYWRlSW5Cb3R0b20sXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogSXMgcHJldmlvdXMgcG9zaXRpb24gb24gdG9wICh0byBwcmV2ZW50IGp1bXBpbmcgdXAgYW5kIGRvd24gb24gc2Nyb2xsKVxuICAgICAqL1xuICAgIHByaXZhdGUgcHJldkRpcmVjdGlvbklzVG9wID0gZmFsc2U7XG5cbiAgICBASG9zdEJpbmRpbmcoJ0B0dWlEcm9wZG93bkFuaW1hdGlvbicpXG4gICAgZHJvcGRvd25BbmltYXRpb24hOiBUdWlBbmltYXRpb25PcHRpb25zO1xuXG4gICAgQFZpZXdDaGlsZCgnY29udGVudCcsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICByZWFkb25seSBjb250ZW50RWxlbWVudFJlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpXG4gICAgICAgIGRlc3Ryb3kkOiBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFRVSV9EUk9QRE9XTl9ESVJFQ1RJVkUpIHJlYWRvbmx5IGRpcmVjdGl2ZTogVHVpRHJvcGRvd24sXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1JlZjogV2luZG93LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoQWJzdHJhY3RUdWlQb3J0YWxIb3N0Q29tcG9uZW50KVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnRhbEhvc3Q6IFR1aURyb3Bkb3duSG9zdENvbXBvbmVudCxcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICkge1xuICAgICAgICBtZXJnZShcbiAgICAgICAgICAgIGFuaW1hdGlvbkZyYW1lJC5waXBlKHRocm90dGxlVGltZShQT0xMSU5HX1RJTUUpKSxcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlLnJlZnJlc2gkLFxuICAgICAgICAgICAgZnJvbUV2ZW50KHRoaXMud2luZG93UmVmLCAncmVzaXplJyksXG4gICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKG5nWm9uZSksIHRha2VVbnRpbChkZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uQW5kU2l6ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IG92ZXJzY3JvbGwoKTogVHVpT3ZlcnNjcm9sbE1vZGVUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5Nb2RhbCA/ICdhbGwnIDogJ3Njcm9sbCc7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRDb250ZXh0PFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihcbiAgICAgICAgY29udGV4dD86IFQsXG4gICAgICAgIGFjdGl2ZVpvbmU/OiBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgICk6XG4gICAgICAgIHwge2FjdGl2ZVpvbmU/OiBUdWlBY3RpdmVab25lRGlyZWN0aXZlfVxuICAgICAgICB8IChUICYge2FjdGl2ZVpvbmU/OiBUdWlBY3RpdmVab25lRGlyZWN0aXZlfSkge1xuICAgICAgICByZXR1cm4gey4uLmNvbnRleHQsIGFjdGl2ZVpvbmV9O1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVQb3NpdGlvbkFuZFNpemUoKTtcbiAgICB9XG5cbiAgICBvblRvcEZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdmVGb2N1c091dHNpZGUodHJ1ZSk7XG4gICAgfVxuXG4gICAgb25Cb3R0b21Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3ZlRm9jdXNPdXRzaWRlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0IGluTW9kYWwoKTogYm9vbGVhbiB7XG4gICAgICAgIC8vIEBhd2Z1bCBUT0RPOiBnZXQgcmlkIG9mIGNvbXBvbmVudCB0YWcgbmFtZSBkZXBlbmRlbmN5XG4gICAgICAgIHJldHVybiAhIXRoaXMuZGlyZWN0aXZlLmhvc3QuY2xvc2VzdCgndHVpLWRpYWxvZy1ob3N0Jyk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldCBpbk9wdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgLy8gQGF3ZnVsIFRPRE86IGdldCByaWQgb2YgY29tcG9uZW50IHRhZyBuYW1lIGRlcGVuZGVuY3lcbiAgICAgICAgcmV0dXJuICEhdGhpcy5kaXJlY3RpdmUuaG9zdC5jbG9zZXN0KCdbdHVpT3B0aW9uXScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlUG9zaXRpb25BbmRTaXplKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7Y2xpZW50UmVjdH0gPSB0aGlzLmRpcmVjdGl2ZTtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBob3N0UmVjdCA9IHRoaXMuZGlyZWN0aXZlLmZpeGVkXG4gICAgICAgICAgICA/IHRoaXMucG9ydGFsSG9zdC5maXhlZFBvc2l0aW9uT2Zmc2V0KClcbiAgICAgICAgICAgIDogdGhpcy5wb3J0YWxIb3N0LmNsaWVudFJlY3Q7XG5cbiAgICAgICAgc3R5bGUucG9zaXRpb24gPSB0aGlzLmRpcmVjdGl2ZS5maXhlZCA/ICdmaXhlZCcgOiAnYWJzb2x1dGUnO1xuXG4gICAgICAgIHRoaXMuY2FsY3VsYXRlVmVydGljYWxQb3NpdGlvbihzdHlsZSwgY2xpZW50UmVjdCwgaG9zdFJlY3QpO1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZUhvcml6b250YWxQb3NpdGlvbihzdHlsZSwgY2xpZW50UmVjdCwgaG9zdFJlY3QpO1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZVdpZHRoKHN0eWxlLCBjbGllbnRSZWN0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpbmFsQWxpZ24oXG4gICAgICAgIHN0eWxlOiBDU1NTdHlsZURlY2xhcmF0aW9uLFxuICAgICAgICBkaXJlY3RpdmVSZWN0OiBDbGllbnRSZWN0LFxuICAgICk6IFR1aUhvcml6b250YWxEaXJlY3Rpb24ge1xuICAgICAgICBjb25zdCBkcm9wZG93blJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgZHJvcGRvd25XaWR0aCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgICBjb25zdCBzY3JlZW5XaWR0aCA9IGdldFNjcmVlbldpZHRoKHRoaXMud2luZG93UmVmLmRvY3VtZW50KTtcbiAgICAgICAgY29uc3QgaXNEcm9wZG93blNpemVIeXBvdGhldGljYWxseUZpdHNWaWV3cG9ydCA9XG4gICAgICAgICAgICBkaXJlY3RpdmVSZWN0LmxlZnQgKyBkcm9wZG93bldpZHRoIDwgc2NyZWVuV2lkdGggfHxcbiAgICAgICAgICAgIGRpcmVjdGl2ZVJlY3QucmlnaHQgLSBkcm9wZG93bldpZHRoID4gMDtcbiAgICAgICAgY29uc3QgaXNEcm9wZG93blNpemVBY3R1YWxseUZpdHNWaWV3cG9ydCA9XG4gICAgICAgICAgICBkcm9wZG93blJlY3QucmlnaHQgPD0gc2NyZWVuV2lkdGggJiYgZHJvcGRvd25SZWN0LmxlZnQgPj0gMDtcbiAgICAgICAgbGV0IGZpbmFsQWxpZ246IFR1aUhvcml6b250YWxEaXJlY3Rpb24gPSB0aGlzLmRpcmVjdGl2ZS5hbGlnbjtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMuZGlyZWN0aXZlLmFsaWduKSB7XG4gICAgICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIGlzRHJvcGRvd25TaXplSHlwb3RoZXRpY2FsbHlGaXRzVmlld3BvcnQgJiZcbiAgICAgICAgICAgICAgICAgICAgZHJvcGRvd25SZWN0LnJpZ2h0ID4gc2NyZWVuV2lkdGhcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgZmluYWxBbGlnbiA9ICdyaWdodCc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgICAgICAgaWYgKGlzRHJvcGRvd25TaXplSHlwb3RoZXRpY2FsbHlGaXRzVmlld3BvcnQgJiYgZHJvcGRvd25SZWN0LmxlZnQgPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbmFsQWxpZ24gPSAnbGVmdCc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3R5bGUucmlnaHQgPT09ICdhdXRvJyAmJiBpc0Ryb3Bkb3duU2l6ZUFjdHVhbGx5Rml0c1ZpZXdwb3J0KSB7XG4gICAgICAgICAgICBmaW5hbEFsaWduID0gJ2xlZnQnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0eWxlLmxlZnQgPT09ICdhdXRvJyAmJiBpc0Ryb3Bkb3duU2l6ZUFjdHVhbGx5Rml0c1ZpZXdwb3J0KSB7XG4gICAgICAgICAgICBmaW5hbEFsaWduID0gJ3JpZ2h0JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaW5hbEFsaWduO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgaG9yaXpvbnRhbCBwb3NpdGlvblxuICAgICAqXG4gICAgICogQHBhcmFtIHN0eWxlIGRyb3Bkb3duQm94IGVsZW1lbnRSZWYgc3R5bGVzIG9iamVjdFxuICAgICAqIEBwYXJhbSBkaXJlY3RpdmVSZWN0IENsaWVudFJlY3Qgb2YgaG9zdGluZyBkaXJlY3RpdmVcbiAgICAgKiBAcGFyYW0gaG9zdFJlY3QgQ2xpZW50UmVjdCBvZiAgcG9ydGFsIGhvc3RcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZUhvcml6b250YWxQb3NpdGlvbihcbiAgICAgICAgc3R5bGU6IENTU1N0eWxlRGVjbGFyYXRpb24sXG4gICAgICAgIGRpcmVjdGl2ZVJlY3Q6IENsaWVudFJlY3QsXG4gICAgICAgIGhvc3RSZWN0OiBDbGllbnRSZWN0LFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB0aGlzLmRpcmVjdGl2ZS5zaWRlZFxuICAgICAgICAgICAgPyB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCArIERFRkFVTFRfTUFSR0lOXG4gICAgICAgICAgICA6IDA7XG4gICAgICAgIGNvbnN0IGxlZnQgPSBNYXRoLmNlaWwoZGlyZWN0aXZlUmVjdC5sZWZ0IC0gaG9zdFJlY3QubGVmdCAtIG9mZnNldCk7XG4gICAgICAgIGNvbnN0IHJpZ2h0ID0gTWF0aC5mbG9vcihob3N0UmVjdC5yaWdodCAtIGRpcmVjdGl2ZVJlY3QucmlnaHQgLSBvZmZzZXQpO1xuICAgICAgICBjb25zdCB2aWV3cG9ydFdpZHRoID0gdHVpR2V0Vmlld3BvcnRXaWR0aCh0aGlzLndpbmRvd1JlZik7XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLmdldEZpbmFsQWxpZ24oc3R5bGUsIGRpcmVjdGl2ZVJlY3QpKSB7XG4gICAgICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0ICsgREVGQVVMVF9NQVJHSU4gPiB2aWV3cG9ydFdpZHRoIHx8XG4gICAgICAgICAgICAgICAgICAgIGluUmFuZ2UobGVmdCArIERFRkFVTFRfTUFSR0lOLCAwLCB2aWV3cG9ydFdpZHRoKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBzdHlsZS5sZWZ0ID0gcHgobGVmdCk7XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLnJpZ2h0ID0gJ2F1dG8nO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLmxlZnQgPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLnJpZ2h0ID0gcHgocmlnaHQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgaW5SYW5nZShyaWdodCArIERFRkFVTFRfTUFSR0lOLCAwLCB2aWV3cG9ydFdpZHRoKSB8fFxuICAgICAgICAgICAgICAgICAgICBsZWZ0ICsgREVGQVVMVF9NQVJHSU4gPiB2aWV3cG9ydFdpZHRoXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLmxlZnQgPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLnJpZ2h0ID0gcHgocmlnaHQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLmxlZnQgPSBweChsZWZ0KTtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUucmlnaHQgPSAnYXV0byc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHZlcnRpY2FsIHBvc2l0aW9uIGFuZCBoZWlnaHRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdHlsZSBkcm9wZG93bkJveCBlbGVtZW50UmVmIHN0eWxlcyBvYmplY3RcbiAgICAgKiBAcGFyYW0gZGlyZWN0aXZlUmVjdCBDbGllbnRSZWN0IG9mIGhvc3RpbmcgZGlyZWN0aXZlXG4gICAgICogQHBhcmFtIGhvc3RSZWN0IENsaWVudFJlY3Qgb2YgIHBvcnRhbCBob3N0XG4gICAgICovXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVWZXJ0aWNhbFBvc2l0aW9uKFxuICAgICAgICBzdHlsZTogQ1NTU3R5bGVEZWNsYXJhdGlvbixcbiAgICAgICAgZGlyZWN0aXZlUmVjdDogQ2xpZW50UmVjdCxcbiAgICAgICAgaG9zdFJlY3Q6IENsaWVudFJlY3QsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0O1xuICAgICAgICAvLyBNYXhpbXVtIGhlaWdodCBvZiB0aGUgYm94XG4gICAgICAgIGNvbnN0IGJveEhlaWdodExpbWl0ID0gTWF0aC5taW4oXG4gICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZS5tYXhIZWlnaHQsXG4gICAgICAgICAgICB3aW5kb3dIZWlnaHQgLSBERUZBVUxUX01BUkdJTiAqIDIsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuZGlyZWN0aXZlLnNpZGVkXG4gICAgICAgICAgICA/IERFRkFVTFRfTUFSR0lOIC0gZGlyZWN0aXZlUmVjdC5oZWlnaHRcbiAgICAgICAgICAgIDogREVGQVVMVF9NQVJHSU4gKiAyO1xuICAgICAgICBjb25zdCB0b3BBdmFpbGFibGVIZWlnaHQgPSBkaXJlY3RpdmVSZWN0LnRvcCAtIG9mZnNldDtcbiAgICAgICAgY29uc3QgYm90dG9tQXZhaWxhYmxlSGVpZ2h0ID0gd2luZG93SGVpZ2h0IC0gZGlyZWN0aXZlUmVjdC5ib3R0b20gLSBvZmZzZXQ7XG4gICAgICAgIGNvbnN0IGZpbmFsRGlyZWN0aW9uID0gdGhpcy5nZXRGaW5hbERpcmVjdGlvbihkaXJlY3RpdmVSZWN0KTtcbiAgICAgICAgY29uc3Qgb3B0aW9uT2Zmc2V0ID0gdGhpcy5pbk9wdGlvbiA/IERFRkFVTFRfTUFSR0lOICogMiA6IDA7XG5cbiAgICAgICAgdGhpcy5wcmV2RGlyZWN0aW9uSXNUb3AgPSBmaW5hbERpcmVjdGlvbiA9PT0gJ3RvcCc7XG5cbiAgICAgICAgaWYgKGZpbmFsRGlyZWN0aW9uID09PSAndG9wJykge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkFuaW1hdGlvbiA9IHRoaXMuYW5pbWF0aW9uQm90dG9tO1xuXG4gICAgICAgICAgICBzdHlsZS5tYXhIZWlnaHQgPSBweChNYXRoLm1pbihib3hIZWlnaHRMaW1pdCwgdG9wQXZhaWxhYmxlSGVpZ2h0KSk7XG4gICAgICAgICAgICBzdHlsZS50b3AgPSAnYXV0byc7XG4gICAgICAgICAgICBzdHlsZS5ib3R0b20gPSBweChcbiAgICAgICAgICAgICAgICBob3N0UmVjdC5ib3R0b20gLVxuICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVSZWN0LnRvcCAtXG4gICAgICAgICAgICAgICAgICAgIERFRkFVTFRfTUFSR0lOICtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0IC1cbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uT2Zmc2V0LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25BbmltYXRpb24gPSB0aGlzLmFuaW1hdGlvblRvcDtcblxuICAgICAgICAgICAgc3R5bGUubWF4SGVpZ2h0ID0gcHgoTWF0aC5taW4oYm94SGVpZ2h0TGltaXQsIGJvdHRvbUF2YWlsYWJsZUhlaWdodCkpO1xuICAgICAgICAgICAgc3R5bGUudG9wID0gcHgoXG4gICAgICAgICAgICAgICAgZGlyZWN0aXZlUmVjdC5ib3R0b20gLVxuICAgICAgICAgICAgICAgICAgICBob3N0UmVjdC50b3AgLVxuICAgICAgICAgICAgICAgICAgICBERUZBVUxUX01BUkdJTiArXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldCAtXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbk9mZnNldCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBzdHlsZS5ib3R0b20gPSAnYXV0byc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpbmFsRGlyZWN0aW9uKGRpcmVjdGl2ZVJlY3Q6IENsaWVudFJlY3QpOiBUdWlWZXJ0aWNhbERpcmVjdGlvbiB8IG51bGwge1xuICAgICAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodDtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5kaXJlY3RpdmUuc2lkZWRcbiAgICAgICAgICAgID8gREVGQVVMVF9NQVJHSU4gLSBkaXJlY3RpdmVSZWN0LmhlaWdodFxuICAgICAgICAgICAgOiBERUZBVUxUX01BUkdJTiAqIDI7XG5cbiAgICAgICAgLy8gTWF4aW11bSBzcGFjZSBhdmFpbGFibGUgb24gdG9wIGFuZCBvbiB0aGUgYm90dG9tIGluIHRoZSB2aWV3cG9ydFxuICAgICAgICBjb25zdCB0b3BBdmFpbGFibGVIZWlnaHQgPSBkaXJlY3RpdmVSZWN0LnRvcCAtIG9mZnNldDtcbiAgICAgICAgY29uc3QgYm90dG9tQXZhaWxhYmxlSGVpZ2h0ID0gd2luZG93SGVpZ2h0IC0gZGlyZWN0aXZlUmVjdC5ib3R0b20gLSBvZmZzZXQ7XG5cbiAgICAgICAgbGV0IGZpbmFsRGlyZWN0aW9uOiBUdWlWZXJ0aWNhbERpcmVjdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgIC8vIEdpdmVuIGRpcmVjdGlvbiBpcyBhcHBsaWVkIGlmIHdlIGNhbiBmaXQgdGhlIGJveCBpbiB0aGUgbGltaXRzIHRoYXQgd2F5XG4gICAgICAgIHN3aXRjaCAodGhpcy5kaXJlY3RpdmUuZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgICAgICAgIGlmICh0b3BBdmFpbGFibGVIZWlnaHQgPj0gdGhpcy5kaXJlY3RpdmUubWluSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbmFsRGlyZWN0aW9uID0gJ3RvcCc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICAgICAgICAgIGlmIChib3R0b21BdmFpbGFibGVIZWlnaHQgPj0gdGhpcy5kaXJlY3RpdmUubWluSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbmFsRGlyZWN0aW9uID0gJ2JvdHRvbSc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNYXhpbXVtIGhlaWdodCBvZiB0aGUgYm94XG4gICAgICAgIGNvbnN0IGJveEhlaWdodExpbWl0ID0gTWF0aC5taW4oXG4gICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZS5tYXhIZWlnaHQsXG4gICAgICAgICAgICB3aW5kb3dIZWlnaHQgLSBERUZBVUxUX01BUkdJTiAqIDIsXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gQ2hvb3NlIGRpcmVjdGlvbiBpZiBnaXZlbiBkaXJlY3Rpb24gZGlkIG5vdCBmaXRcbiAgICAgICAgaWYgKGZpbmFsRGlyZWN0aW9uID09PSBudWxsICYmIHRoaXMuY29udGVudEVsZW1lbnRSZWYpIHtcbiAgICAgICAgICAgIC8vIEJveCBoZWlnaHQgaWYgaXQgZml0cyB3aXRob3V0IHNjcm9sbFxuICAgICAgICAgICAgY29uc3QgdmlzdWFsSGVpZ2h0ID0gTWF0aC5taW4oXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCArXG4gICAgICAgICAgICAgICAgICAgICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgLVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0KSxcbiAgICAgICAgICAgICAgICBib3hIZWlnaHRMaW1pdCxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIGVub3VnaCBzcGFjZSB0byBmaXQgYmVsb3cgd2l0aG91dCBzY3JvbGwsXG4gICAgICAgICAgICAvLyBjaG9vc2UgJ2JvdHRvbScsIHVubGVzcyBpdCB3YXMgcHJldmlvdXNseSBvbiB0aGUgdG9wXG4gICAgICAgICAgICBpZiAodGhpcy5wcmV2RGlyZWN0aW9uSXNUb3AgJiYgdG9wQXZhaWxhYmxlSGVpZ2h0ID49IHZpc3VhbEhlaWdodCkge1xuICAgICAgICAgICAgICAgIGZpbmFsRGlyZWN0aW9uID0gJ3RvcCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGJvdHRvbUF2YWlsYWJsZUhlaWdodCA+PSB2aXN1YWxIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICBmaW5hbERpcmVjdGlvbiA9ICdib3R0b20nO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBDb3JuZXIgY2FzZSDigJQgc2VsZWN0IGRpcmVjdGlvbiB3aXRoIG1vcmUgc3BhY2VcbiAgICAgICAgICAgICAgICBmaW5hbERpcmVjdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbUF2YWlsYWJsZUhlaWdodCA+PSB0b3BBdmFpbGFibGVIZWlnaHQgPyAnYm90dG9tJyA6ICd0b3AnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpbmFsRGlyZWN0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgd2lkdGhcbiAgICAgKlxuICAgICAqIEBwYXJhbSBzdHlsZSBkcm9wZG93bkJveCBlbGVtZW50UmVmIHN0eWxlcyBvYmplY3RcbiAgICAgKiBAcGFyYW0gZGlyZWN0aXZlUmVjdCBDbGllbnRSZWN0IG9mIGhvc3RpbmcgZGlyZWN0aXZlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVXaWR0aChzdHlsZTogQ1NTU3R5bGVEZWNsYXJhdGlvbiwgZGlyZWN0aXZlUmVjdDogQ2xpZW50UmVjdCk6IHZvaWQge1xuICAgICAgICBzdHlsZS53aWR0aCA9XG4gICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZS5saW1pdE1pbldpZHRoID09PSAnZml4ZWQnICYmICF0aGlzLmRpcmVjdGl2ZS5zaWRlZFxuICAgICAgICAgICAgICAgID8gcHgoZGlyZWN0aXZlUmVjdC53aWR0aClcbiAgICAgICAgICAgICAgICA6ICcnO1xuXG4gICAgICAgIGlmICh0aGlzLmRpcmVjdGl2ZS5saW1pdE1pbldpZHRoID09PSAnbWluJyAmJiAhdGhpcy5kaXJlY3RpdmUuc2lkZWQpIHtcbiAgICAgICAgICAgIHN0eWxlLm1pbldpZHRoID0gcHgoZGlyZWN0aXZlUmVjdC53aWR0aCk7XG4gICAgICAgICAgICBzdHlsZS5tYXhXaWR0aCA9IHB4KERFRkFVTFRfTUFYX1dJRFRIKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc3R5bGUubWluV2lkdGggPSAnJztcbiAgICAgICAgc3R5bGUubWF4V2lkdGggPSAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmVGb2N1c091dHNpZGUocHJldmlvdXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2hvc3R9ID0gdGhpcy5kaXJlY3RpdmU7XG4gICAgICAgIGNvbnN0IHtvd25lckRvY3VtZW50fSA9IGhvc3Q7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBvd25lckRvY3VtZW50ID8gb3duZXJEb2N1bWVudC5ib2R5IDogaG9zdDtcblxuICAgICAgICB0dWlBc3NlcnRJc0hUTUxFbGVtZW50KGhvc3QpO1xuXG4gICAgICAgIGxldCBmb2N1c2FibGUgPSBnZXRDbG9zZXN0Rm9jdXNhYmxlKGhvc3QsIHByZXZpb3VzLCByb290KTtcblxuICAgICAgICB3aGlsZSAoZm9jdXNhYmxlICE9PSBudWxsICYmIGhvc3QuY29udGFpbnMoZm9jdXNhYmxlKSkge1xuICAgICAgICAgICAgZm9jdXNhYmxlID0gZ2V0Q2xvc2VzdEZvY3VzYWJsZShmb2N1c2FibGUsIHByZXZpb3VzLCByb290KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvY3VzYWJsZT8uZm9jdXMoKTtcbiAgICB9XG59XG4iXX0=
@@ -11,11 +11,11 @@ var TuiErrorComponent = /** @class */ (function () {
11
11
  this.mode$ = mode$;
12
12
  this.defaultErrorMessage$ = defaultErrorMessage$;
13
13
  this.error = null;
14
- this.animation = __assign({ value: "" }, this.options);
14
+ this.animation = __assign({ value: '' }, this.options);
15
15
  }
16
16
  Object.defineProperty(TuiErrorComponent.prototype, "errorSetter", {
17
17
  set: function (error) {
18
- this.error = typeof error === "string" ? new TuiValidationError(error) : error;
18
+ this.error = typeof error === 'string' ? new TuiValidationError(error) : error;
19
19
  },
20
20
  enumerable: true,
21
21
  configurable: true
@@ -26,12 +26,12 @@ var TuiErrorComponent = /** @class */ (function () {
26
26
  { type: Observable, decorators: [{ type: Inject, args: [TUI_DEFAULT_ERROR_MESSAGE,] }] }
27
27
  ]; };
28
28
  __decorate([
29
- Input("error"),
29
+ Input('error'),
30
30
  tuiDefaultProp()
31
31
  ], TuiErrorComponent.prototype, "errorSetter", null);
32
32
  TuiErrorComponent = __decorate([
33
33
  Component({
34
- selector: "tui-error",
34
+ selector: 'tui-error',
35
35
  template: "<div\n *ngIf=\"error\"\n polymorpheus-outlet\n automation-id=\"tui-error__text\"\n class=\"t-message-text\"\n [@tuiHeightCollapse]=\"animation\"\n [@tuiFadeIn]=\"animation\"\n [class.t-message-text_light]=\"(mode$ | async) === 'onDark'\"\n [content]=\"error.message || (defaultErrorMessage$ | async)\"\n [context]=\"error.context || {}\"\n></div>\n",
36
36
  providers: [MODE_PROVIDER],
37
37
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -45,4 +45,4 @@ var TuiErrorComponent = /** @class */ (function () {
45
45
  return TuiErrorComponent;
46
46
  }());
47
47
  export { TuiErrorComponent };
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9lcnJvci8iLCJzb3VyY2VzIjpbImVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QixRQUFRLEdBQ1gsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBVWhDO0lBV0ksMkJBQ29ELE9BQXlCLEVBQzlDLEtBQXVDLEVBRXpELG9CQUF3QztRQUhELFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQzlDLFVBQUssR0FBTCxLQUFLLENBQWtDO1FBRXpELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBb0I7UUFSckQsVUFBSyxHQUE4QixJQUFJLENBQUM7UUFFL0IsY0FBUyxHQUFHLFdBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSyxJQUFJLENBQUMsT0FBTyxDQUFVLENBQUM7SUFPeEQsQ0FBQztJQWJKLHNCQUFJLDBDQUFXO2FBQWYsVUFBZ0IsS0FBeUM7WUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNuRixDQUFDOzs7T0FBQTs7Z0RBT0ksTUFBTSxTQUFDLHFCQUFxQjtnQkFDSyxVQUFVLHVCQUEzQyxNQUFNLFNBQUMsUUFBUTtnQkFFZSxVQUFVLHVCQUR4QyxNQUFNLFNBQUMseUJBQXlCOztJQVhyQztRQUZDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDZCxjQUFjLEVBQUU7d0RBR2hCO0lBTFEsaUJBQWlCO1FBUjdCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLG1ZQUFvQztZQUVwQyxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7WUFDMUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07WUFDL0MsVUFBVSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsU0FBUyxDQUFDOztTQUM3QyxDQUFDO1FBYU8sV0FBQSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtRQUM3QixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNoQixXQUFBLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO09BZDdCLGlCQUFpQixDQWlCN0I7SUFBRCx3QkFBQztDQUFBLEFBakJELElBaUJDO1NBakJZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcCwgVHVpVmFsaWRhdGlvbkVycm9yfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7dHVpRmFkZUluLCB0dWlIZWlnaHRDb2xsYXBzZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge01PREVfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Byb3ZpZGVycyc7XG5pbXBvcnQge1xuICAgIFRVSV9BTklNQVRJT05fT1BUSU9OUyxcbiAgICBUVUlfREVGQVVMVF9FUlJPUl9NRVNTQUdFLFxuICAgIFRVSV9NT0RFLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlCcmlnaHRuZXNzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1lcnJvcmAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2Vycm9yLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2Vycm9yLnN0eWxlLmxlc3NgXSxcbiAgICBwcm92aWRlcnM6IFtNT0RFX1BST1ZJREVSXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBbdHVpSGVpZ2h0Q29sbGFwc2UsIHR1aUZhZGVJbl0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUVycm9yQ29tcG9uZW50IHtcbiAgICBASW5wdXQoYGVycm9yYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNldCBlcnJvclNldHRlcihlcnJvcjogVHVpVmFsaWRhdGlvbkVycm9yIHwgc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICB0aGlzLmVycm9yID0gdHlwZW9mIGVycm9yID09PSBgc3RyaW5nYCA/IG5ldyBUdWlWYWxpZGF0aW9uRXJyb3IoZXJyb3IpIDogZXJyb3I7XG4gICAgfVxuXG4gICAgZXJyb3I6IFR1aVZhbGlkYXRpb25FcnJvciB8IG51bGwgPSBudWxsO1xuXG4gICAgcmVhZG9ubHkgYW5pbWF0aW9uID0ge3ZhbHVlOiBgYCwgLi4udGhpcy5vcHRpb25zfSBhcyBjb25zdDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9BTklNQVRJT05fT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBBbmltYXRpb25PcHRpb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RFRkFVTFRfRVJST1JfTUVTU0FHRSlcbiAgICAgICAgcmVhZG9ubHkgZGVmYXVsdEVycm9yTWVzc2FnZSQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICApIHt9XG59XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9lcnJvci8iLCJzb3VyY2VzIjpbImVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QixRQUFRLEdBQ1gsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBVWhDO0lBV0ksMkJBQ29ELE9BQXlCLEVBQzlDLEtBQXVDLEVBRXpELG9CQUF3QztRQUhELFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQzlDLFVBQUssR0FBTCxLQUFLLENBQWtDO1FBRXpELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBb0I7UUFSckQsVUFBSyxHQUE4QixJQUFJLENBQUM7UUFFL0IsY0FBUyxHQUFHLFdBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSyxJQUFJLENBQUMsT0FBTyxDQUFVLENBQUM7SUFPeEQsQ0FBQztJQWJKLHNCQUFJLDBDQUFXO2FBQWYsVUFBZ0IsS0FBeUM7WUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNuRixDQUFDOzs7T0FBQTs7Z0RBT0ksTUFBTSxTQUFDLHFCQUFxQjtnQkFDSyxVQUFVLHVCQUEzQyxNQUFNLFNBQUMsUUFBUTtnQkFFZSxVQUFVLHVCQUR4QyxNQUFNLFNBQUMseUJBQXlCOztJQVhyQztRQUZDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDZCxjQUFjLEVBQUU7d0RBR2hCO0lBTFEsaUJBQWlCO1FBUjdCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLG1ZQUFvQztZQUVwQyxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7WUFDMUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07WUFDL0MsVUFBVSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsU0FBUyxDQUFDOztTQUM3QyxDQUFDO1FBYU8sV0FBQSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtRQUM3QixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNoQixXQUFBLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO09BZDdCLGlCQUFpQixDQWlCN0I7SUFBRCx3QkFBQztDQUFBLEFBakJELElBaUJDO1NBakJZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcCwgVHVpVmFsaWRhdGlvbkVycm9yfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7dHVpRmFkZUluLCB0dWlIZWlnaHRDb2xsYXBzZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge01PREVfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Byb3ZpZGVycyc7XG5pbXBvcnQge1xuICAgIFRVSV9BTklNQVRJT05fT1BUSU9OUyxcbiAgICBUVUlfREVGQVVMVF9FUlJPUl9NRVNTQUdFLFxuICAgIFRVSV9NT0RFLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlCcmlnaHRuZXNzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1lcnJvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Vycm9yLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Vycm9yLnN0eWxlLmxlc3MnXSxcbiAgICBwcm92aWRlcnM6IFtNT0RFX1BST1ZJREVSXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBbdHVpSGVpZ2h0Q29sbGFwc2UsIHR1aUZhZGVJbl0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUVycm9yQ29tcG9uZW50IHtcbiAgICBASW5wdXQoJ2Vycm9yJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNldCBlcnJvclNldHRlcihlcnJvcjogVHVpVmFsaWRhdGlvbkVycm9yIHwgc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICB0aGlzLmVycm9yID0gdHlwZW9mIGVycm9yID09PSAnc3RyaW5nJyA/IG5ldyBUdWlWYWxpZGF0aW9uRXJyb3IoZXJyb3IpIDogZXJyb3I7XG4gICAgfVxuXG4gICAgZXJyb3I6IFR1aVZhbGlkYXRpb25FcnJvciB8IG51bGwgPSBudWxsO1xuXG4gICAgcmVhZG9ubHkgYW5pbWF0aW9uID0ge3ZhbHVlOiAnJywgLi4udGhpcy5vcHRpb25zfSBhcyBjb25zdDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9BTklNQVRJT05fT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBBbmltYXRpb25PcHRpb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RFRkFVTFRfRVJST1JfTUVTU0FHRSlcbiAgICAgICAgcmVhZG9ubHkgZGVmYXVsdEVycm9yTWVzc2FnZSQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICApIHt9XG59XG4iXX0=
@@ -6,10 +6,10 @@ var TuiExpandContentDirective = /** @class */ (function () {
6
6
  }
7
7
  TuiExpandContentDirective = __decorate([
8
8
  Directive({
9
- selector: "[tuiExpandContent]",
9
+ selector: '[tuiExpandContent]',
10
10
  })
11
11
  ], TuiExpandContentDirective);
12
12
  return TuiExpandContentDirective;
13
13
  }());
14
14
  export { TuiExpandContentDirective };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLWNvbnRlbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9leHBhbmQvIiwic291cmNlcyI6WyJleHBhbmQtY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEMsa0RBQWtEO0FBSWxEO0lBQUE7SUFBd0MsQ0FBQztJQUE1Qix5QkFBeUI7UUFIckMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLG9CQUFvQjtTQUNqQyxDQUFDO09BQ1cseUJBQXlCLENBQUc7SUFBRCxnQ0FBQztDQUFBLEFBQXpDLElBQXlDO1NBQTVCLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gQGJhZCBUT0RPOiAzLjAgUmVwbGFjZSB3aXRoIFBvbHltb3JwaGV1c0NvbnRlbnRcbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBgW3R1aUV4cGFuZENvbnRlbnRdYCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRXhwYW5kQ29udGVudERpcmVjdGl2ZSB7fVxuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLWNvbnRlbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9leHBhbmQvIiwic291cmNlcyI6WyJleHBhbmQtY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEMsa0RBQWtEO0FBSWxEO0lBQUE7SUFBd0MsQ0FBQztJQUE1Qix5QkFBeUI7UUFIckMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLG9CQUFvQjtTQUNqQyxDQUFDO09BQ1cseUJBQXlCLENBQUc7SUFBRCxnQ0FBQztDQUFBLEFBQXpDLElBQXlDO1NBQTVCLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gQGJhZCBUT0RPOiAzLjAgUmVwbGFjZSB3aXRoIFBvbHltb3JwaGV1c0NvbnRlbnRcbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aUV4cGFuZENvbnRlbnRdJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRXhwYW5kQ29udGVudERpcmVjdGl2ZSB7fVxuIl19
@@ -79,7 +79,7 @@ var TuiExpandComponent = /** @class */ (function () {
79
79
  });
80
80
  TuiExpandComponent.prototype.onTransitionEnd = function (event) {
81
81
  if (isCurrentTarget(event) &&
82
- event.propertyName === "opacity" &&
82
+ event.propertyName === 'opacity' &&
83
83
  this.state === State.Animated) {
84
84
  this.state = State.Idle;
85
85
  }
@@ -106,41 +106,41 @@ var TuiExpandComponent = /** @class */ (function () {
106
106
  { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] }
107
107
  ]; };
108
108
  __decorate([
109
- ViewChild("wrapper")
109
+ ViewChild('wrapper')
110
110
  ], TuiExpandComponent.prototype, "contentWrapper", void 0);
111
111
  __decorate([
112
112
  Input(),
113
113
  tuiDefaultProp()
114
114
  ], TuiExpandComponent.prototype, "async", void 0);
115
115
  __decorate([
116
- Input("expanded"),
116
+ Input('expanded'),
117
117
  tuiRequiredSetter()
118
118
  ], TuiExpandComponent.prototype, "expandedSetter", null);
119
119
  __decorate([
120
120
  ContentChild(TuiExpandContentDirective, { read: TemplateRef })
121
121
  ], TuiExpandComponent.prototype, "content", void 0);
122
122
  __decorate([
123
- HostBinding("class._expanded"),
124
- HostBinding("attr.aria-expanded")
123
+ HostBinding('class._expanded'),
124
+ HostBinding('attr.aria-expanded')
125
125
  ], TuiExpandComponent.prototype, "expanded", void 0);
126
126
  __decorate([
127
- HostBinding("class._overflow")
127
+ HostBinding('class._overflow')
128
128
  ], TuiExpandComponent.prototype, "overflow", null);
129
129
  __decorate([
130
- HostBinding("class._loading")
130
+ HostBinding('class._loading')
131
131
  ], TuiExpandComponent.prototype, "loading", null);
132
132
  __decorate([
133
- HostBinding("style.height.px")
133
+ HostBinding('style.height.px')
134
134
  ], TuiExpandComponent.prototype, "height", null);
135
135
  __decorate([
136
- HostListener("transitionend", ["$event"])
136
+ HostListener('transitionend', ['$event'])
137
137
  ], TuiExpandComponent.prototype, "onTransitionEnd", null);
138
138
  __decorate([
139
- HostListener(TUI_EXPAND_LOADED, ["$event"])
139
+ HostListener(TUI_EXPAND_LOADED, ['$event'])
140
140
  ], TuiExpandComponent.prototype, "onExpandLoaded", null);
141
141
  TuiExpandComponent = __decorate([
142
142
  Component({
143
- selector: "tui-expand",
143
+ selector: 'tui-expand',
144
144
  template: "<div\n #wrapper\n class=\"t-wrapper\"\n>\n <ng-container *ngIf=\"contentVisible\">\n <ng-content></ng-content>\n <!-- TODO: 3.0 collision with async pipe, fix after upgrade to ng11 -->\n <tui-loader\n *ngIf=\"this.async; else content\"\n size=\"l\"\n [overlay]=\"true\"\n [showLoader]=\"loading\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </tui-loader>\n </ng-container>\n</div>\n",
145
145
  changeDetection: ChangeDetectionStrategy.OnPush,
146
146
  styles: [":host{display:block;transition-property:opacity,height,visibility;transition-duration:var(--tui-duration,300ms);opacity:0}:host._overflow{overflow:hidden}:host._expanded{opacity:1;transform:translate3d(0,0,0)}:host._loading{opacity:.99}.t-wrapper:after,.t-wrapper:before{content:'';display:table}"]
@@ -150,4 +150,4 @@ var TuiExpandComponent = /** @class */ (function () {
150
150
  return TuiExpandComponent;
151
151
  }());
152
152
  export { TuiExpandComponent };
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZXhwYW5kLyIsInNvdXJjZXMiOlsiZXhwYW5kLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFckUsSUFBSyxLQUtKO0FBTEQsV0FBSyxLQUFLO0lBQ04saUNBQUksQ0FBQTtJQUNKLHVDQUFPLENBQUE7SUFDUCx5Q0FBUSxDQUFBO0lBQ1IseUNBQVEsQ0FBQTtBQUNaLENBQUMsRUFMSSxLQUFLLEtBQUwsS0FBSyxRQUtUO0FBRUQsSUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBUXpCO0lBcUNJLDRCQUNnRCxpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWxDNUUsVUFBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFJM0IsVUFBSyxHQUFHLEtBQUssQ0FBQztRQXVCZCxZQUFPLEdBQTZDLElBQUksQ0FBQztRQUl6RCxhQUFRLEdBQW1CLElBQUksQ0FBQztJQUk3QixDQUFDO0lBM0JKLHNCQUFJLDhDQUFjO2FBQWxCLFVBQW1CLFFBQXdCO1lBQ3ZDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLEdB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QUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZkNvbnRleHR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lzQ3VycmVudFRhcmdldCwgdHVpRGVmYXVsdFByb3AsIHR1aVJlcXVpcmVkU2V0dGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX0VYUEFORF9MT0FERUR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7VHVpRXhwYW5kQ29udGVudERpcmVjdGl2ZX0gZnJvbSAnLi9leHBhbmQtY29udGVudC5kaXJlY3RpdmUnO1xuXG5lbnVtIFN0YXRlIHtcbiAgICBJZGxlLFxuICAgIExvYWRpbmcsXG4gICAgUHJlcGFyZWQsXG4gICAgQW5pbWF0ZWQsXG59XG5cbmNvbnN0IExPQURFUl9IRUlHSFQgPSA0ODtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktZXhwYW5kYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vZXhwYW5kLnRlbXBsYXRlLmh0bWxgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0eWxlVXJsczogW2AuL2V4cGFuZC5zdHlsZS5sZXNzYF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUV4cGFuZENvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZChgd3JhcHBlcmApXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZW50V3JhcHBlcj86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSBzdGF0ZSA9IFN0YXRlLklkbGU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYXN5bmMgPSBmYWxzZTtcblxuICAgIEBJbnB1dChgZXhwYW5kZWRgKVxuICAgIEB0dWlSZXF1aXJlZFNldHRlcigpXG4gICAgc2V0IGV4cGFuZGVkU2V0dGVyKGV4cGFuZGVkOiBib29sZWFuIHwgbnVsbCkge1xuICAgICAgICBpZiAodGhpcy5leHBhbmRlZCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zdGF0ZSAhPT0gU3RhdGUuSWRsZSkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IFN0YXRlLkFuaW1hdGVkO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gICAgICAgIHRoaXMucmV0cmlnZ2VyKHRoaXMuYXN5bmMgJiYgZXhwYW5kZWQgPyBTdGF0ZS5Mb2FkaW5nIDogU3RhdGUuQW5pbWF0ZWQpO1xuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRXhwYW5kQ29udGVudERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICBjb250ZW50OiBUZW1wbGF0ZVJlZjxOZ0lmQ29udGV4dDxib29sZWFuPj4gfCBudWxsID0gbnVsbDtcblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX2V4cGFuZGVkYClcbiAgICBASG9zdEJpbmRpbmcoYGF0dHIuYXJpYS1leHBhbmRlZGApXG4gICAgZXhwYW5kZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHt9XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9vdmVyZmxvd2ApXG4gICAgZ2V0IG92ZXJmbG93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSAhPT0gU3RhdGUuSWRsZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9sb2FkaW5nYClcbiAgICBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5leHBhbmRlZCAmJiB0aGlzLmFzeW5jICYmIHRoaXMuc3RhdGUgPT09IFN0YXRlLkxvYWRpbmc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBzdHlsZS5oZWlnaHQucHhgKVxuICAgIGdldCBoZWlnaHQoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtleHBhbmRlZCwgc3RhdGUsIGNvbnRlbnRXcmFwcGVyfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5QcmVwYXJlZCkgfHxcbiAgICAgICAgICAgICghZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY29udGVudFdyYXBwZXIgJiZcbiAgICAgICAgICAgICgoIWV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5QcmVwYXJlZCkgfHxcbiAgICAgICAgICAgICAgICAoZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gY29udGVudFdyYXBwZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29udGVudFdyYXBwZXIgJiYgZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkxvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLm1heChjb250ZW50V3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCwgTE9BREVSX0hFSUdIVCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY29udGVudFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGFuZGVkIHx8IHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihgdHJhbnNpdGlvbmVuZGAsIFtgJGV2ZW50YF0pXG4gICAgb25UcmFuc2l0aW9uRW5kKGV2ZW50OiBUcmFuc2l0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaXNDdXJyZW50VGFyZ2V0KGV2ZW50KSAmJlxuICAgICAgICAgICAgZXZlbnQucHJvcGVydHlOYW1lID09PSBgb3BhY2l0eWAgJiZcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IFN0YXRlLklkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFRVSV9FWFBBTkRfTE9BREVELCBbYCRldmVudGBdKVxuICAgIG9uRXhwYW5kTG9hZGVkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gU3RhdGUuTG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy5yZXRyaWdnZXIoU3RhdGUuQW5pbWF0ZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXRyaWdnZXIoc3RhdGU6IFN0YXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5QcmVwYXJlZDtcblxuICAgICAgICAvLyBXZSBuZWVkIGRlbGF5IHRvIHJlLXRyaWdnZXIgQ1NTIGhlaWdodCB0cmFuc2l0aW9uIGZyb20gdGhlIGNvcnJlY3QgbnVtYmVyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGUgIT09IFN0YXRlLlByZXBhcmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZXhwYW5kLyIsInNvdXJjZXMiOlsiZXhwYW5kLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFckUsSUFBSyxLQUtKO0FBTEQsV0FBSyxLQUFLO0lBQ04saUNBQUksQ0FBQTtJQUNKLHVDQUFPLENBQUE7SUFDUCx5Q0FBUSxDQUFBO0lBQ1IseUNBQVEsQ0FBQTtBQUNaLENBQUMsRUFMSSxLQUFLLEtBQUwsS0FBSyxRQUtUO0FBRUQsSUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBUXpCO0lBcUNJLDRCQUNnRCxpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWxDNUUsVUFBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFJM0IsVUFBSyxHQUFHLEtBQUssQ0FBQztRQXVCZCxZQUFPLEdBQTZDLElBQUksQ0FBQztRQUl6RCxhQUFRLEdBQW1CLElBQUksQ0FBQztJQUk3QixDQUFDO0lBM0JKLHNCQUFJLDhDQUFjO2FBQWxCLFVBQW1CLFFBQXdCO1lBQ3ZDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO2dCQUV6QixPQUFPO2FBQ1Y7WUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLElBQUksRUFBRTtnQkFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztnQkFFNUIsT0FBTzthQUNWO1lBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVFLENBQUM7OztPQUFBO0lBY0Qsc0JBQUksd0NBQVE7YUFBWjtZQUNJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3JDLENBQUM7OztPQUFBO0lBR0Qsc0JBQUksdUNBQU87YUFBWDtZQUNJLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDekUsQ0FBQzs7O09BQUE7SUFHRCxzQkFBSSxzQ0FBTTthQUFWO1lBQ1UsSUFBQSxTQUF3QyxFQUF2QyxzQkFBUSxFQUFFLGdCQUFLLEVBQUUsa0NBQXNCLENBQUM7WUFFL0MsSUFDSSxDQUFDLFFBQVEsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQztnQkFDdEMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUN6QztnQkFDRSxPQUFPLENBQUMsQ0FBQzthQUNaO1lBRUQsSUFDSSxjQUFjO2dCQUNkLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQztvQkFDcEMsQ0FBQyxRQUFRLElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUM3QztnQkFDRSxPQUFPLGNBQWMsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO2FBQ3BEO1lBRUQsSUFBSSxjQUFjLElBQUksUUFBUSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsT0FBTyxFQUFFO2dCQUN2RCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7YUFDN0U7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDhDQUFjO2FBQWxCO1lBQ0ksT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQztRQUN0RCxDQUFDOzs7T0FBQTtJQUdELDRDQUFlLEdBQWYsVUFBZ0IsS0FBc0I7UUFDbEMsSUFDSSxlQUFlLENBQUMsS0FBSyxDQUFDO1lBQ3RCLEtBQUssQ0FBQyxZQUFZLEtBQUssU0FBUztZQUNoQyxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxRQUFRLEVBQy9CO1lBQ0UsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUdELDJDQUFjLEdBQWQsVUFBZSxLQUFZO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNsQztJQUNMLENBQUM7SUFFTyxzQ0FBUyxHQUFqQixVQUFrQixLQUFZO1FBQTlCLGlCQVlDO1FBWEcsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBRTVCLDRFQUE0RTtRQUM1RSxVQUFVLENBQUM7WUFDUCxJQUFJLEtBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDL0IsT0FBTzthQUNWO1lBRUQsS0FBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsS0FBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7Z0JBM0VrRSxpQkFBaUIsdUJBQS9FLE1BQU0sU0FBQyxpQkFBaUI7O0lBcEM3QjtRQURDLFNBQVMsQ0FBQyxTQUFTLENBQUM7OERBQ3dDO0lBTTdEO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO3FEQUNIO0lBSWQ7UUFGQyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ2pCLGlCQUFpQixFQUFFOzREQWlCbkI7SUFHRDtRQURDLFlBQVksQ0FBQyx5QkFBeUIsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUMsQ0FBQzt1REFDSjtJQUl6RDtRQUZDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztRQUM5QixXQUFXLENBQUMsb0JBQW9CLENBQUM7d0RBQ0Y7SUFPaEM7UUFEQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7c0RBRzlCO0lBR0Q7UUFEQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7cURBRzdCO0lBR0Q7UUFEQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7b0RBd0I5QjtJQU9EO1FBREMsWUFBWSxDQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzZEQVN6QztJQUdEO1FBREMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7NERBTzNDO0lBbkdRLGtCQUFrQjtRQU45QixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsWUFBWTtZQUN0Qix5Z0JBQXFDO1lBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztTQUVsRCxDQUFDO1FBdUNPLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7T0F0Q3JCLGtCQUFrQixDQWtIOUI7SUFBRCx5QkFBQztDQUFBLEFBbEhELElBa0hDO1NBbEhZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZkNvbnRleHR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lzQ3VycmVudFRhcmdldCwgdHVpRGVmYXVsdFByb3AsIHR1aVJlcXVpcmVkU2V0dGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX0VYUEFORF9MT0FERUR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7VHVpRXhwYW5kQ29udGVudERpcmVjdGl2ZX0gZnJvbSAnLi9leHBhbmQtY29udGVudC5kaXJlY3RpdmUnO1xuXG5lbnVtIFN0YXRlIHtcbiAgICBJZGxlLFxuICAgIExvYWRpbmcsXG4gICAgUHJlcGFyZWQsXG4gICAgQW5pbWF0ZWQsXG59XG5cbmNvbnN0IExPQURFUl9IRUlHSFQgPSA0ODtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZXhwYW5kJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXhwYW5kLnRlbXBsYXRlLmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0eWxlVXJsczogWycuL2V4cGFuZC5zdHlsZS5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUV4cGFuZENvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgnd3JhcHBlcicpXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZW50V3JhcHBlcj86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSBzdGF0ZSA9IFN0YXRlLklkbGU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYXN5bmMgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgnZXhwYW5kZWQnKVxuICAgIEB0dWlSZXF1aXJlZFNldHRlcigpXG4gICAgc2V0IGV4cGFuZGVkU2V0dGVyKGV4cGFuZGVkOiBib29sZWFuIHwgbnVsbCkge1xuICAgICAgICBpZiAodGhpcy5leHBhbmRlZCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zdGF0ZSAhPT0gU3RhdGUuSWRsZSkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IFN0YXRlLkFuaW1hdGVkO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gICAgICAgIHRoaXMucmV0cmlnZ2VyKHRoaXMuYXN5bmMgJiYgZXhwYW5kZWQgPyBTdGF0ZS5Mb2FkaW5nIDogU3RhdGUuQW5pbWF0ZWQpO1xuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRXhwYW5kQ29udGVudERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICBjb250ZW50OiBUZW1wbGF0ZVJlZjxOZ0lmQ29udGV4dDxib29sZWFuPj4gfCBudWxsID0gbnVsbDtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2V4cGFuZGVkJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgZXhwYW5kZWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHt9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9vdmVyZmxvdycpXG4gICAgZ2V0IG92ZXJmbG93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSAhPT0gU3RhdGUuSWRsZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9sb2FkaW5nJylcbiAgICBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5leHBhbmRlZCAmJiB0aGlzLmFzeW5jICYmIHRoaXMuc3RhdGUgPT09IFN0YXRlLkxvYWRpbmc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKVxuICAgIGdldCBoZWlnaHQoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtleHBhbmRlZCwgc3RhdGUsIGNvbnRlbnRXcmFwcGVyfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5QcmVwYXJlZCkgfHxcbiAgICAgICAgICAgICghZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY29udGVudFdyYXBwZXIgJiZcbiAgICAgICAgICAgICgoIWV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5QcmVwYXJlZCkgfHxcbiAgICAgICAgICAgICAgICAoZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gY29udGVudFdyYXBwZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29udGVudFdyYXBwZXIgJiYgZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLkxvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLm1heChjb250ZW50V3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCwgTE9BREVSX0hFSUdIVCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY29udGVudFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGFuZGVkIHx8IHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigndHJhbnNpdGlvbmVuZCcsIFsnJGV2ZW50J10pXG4gICAgb25UcmFuc2l0aW9uRW5kKGV2ZW50OiBUcmFuc2l0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaXNDdXJyZW50VGFyZ2V0KGV2ZW50KSAmJlxuICAgICAgICAgICAgZXZlbnQucHJvcGVydHlOYW1lID09PSAnb3BhY2l0eScgJiZcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPT09IFN0YXRlLkFuaW1hdGVkXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IFN0YXRlLklkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFRVSV9FWFBBTkRfTE9BREVELCBbJyRldmVudCddKVxuICAgIG9uRXhwYW5kTG9hZGVkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gU3RhdGUuTG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy5yZXRyaWdnZXIoU3RhdGUuQW5pbWF0ZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXRyaWdnZXIoc3RhdGU6IFN0YXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5QcmVwYXJlZDtcblxuICAgICAgICAvLyBXZSBuZWVkIGRlbGF5IHRvIHJlLXRyaWdnZXIgQ1NTIGhlaWdodCB0cmFuc2l0aW9uIGZyb20gdGhlIGNvcnJlY3QgbnVtYmVyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGUgIT09IFN0YXRlLlByZXBhcmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -5,7 +5,7 @@ var TuiGroupStylesComponent = /** @class */ (function () {
5
5
  }
6
6
  TuiGroupStylesComponent = __decorate([
7
7
  Component({
8
- template: "",
8
+ template: '',
9
9
  encapsulation: ViewEncapsulation.None,
10
10
  styles: [".tui-group{position:relative;z-index:0;display:flex}.tui-group>*{flex:1 1 0;min-width:0}.tui-group>:nth-child(n){border-radius:0}.tui-group>:not(:last-child){margin-right:.125rem}.tui-group_collapsed>*{z-index:1}.tui-group_collapsed>:not(:last-child){margin-right:-1px}.tui-group_collapsed>._disabled,.tui-group_collapsed>._disabled:hover,.tui-group_collapsed>._readonly,.tui-group_collapsed>._readonly:hover{z-index:0}.tui-group_collapsed>._hovered,.tui-group_collapsed>._pressed,.tui-group_collapsed>:hover{z-index:3}.tui-group_collapsed>._invalid{z-index:2}.tui-group_collapsed>._invalid._hovered,.tui-group_collapsed>._invalid._pressed,.tui-group_collapsed>._invalid:hover{z-index:4}.tui-group_collapsed>._focus-visible,.tui-group_collapsed>._focused.ng-touched,.tui-group_collapsed>._focused.ng-untouched,.tui-group_collapsed>._hosted_dropdown_focused{z-index:5}.tui-group_collapsed>._active,.tui-group_collapsed>[data-appearance=whiteblock-active]{z-index:6}.tui-group_collapsed>._focus-visible._active,.tui-group_collapsed>._focus-visible._focused,.tui-group_collapsed>._focus-visible[data-appearance=whiteblock-active]{z-index:7}.tui-group_orientation_vertical{display:inline-flex;flex-direction:column}.tui-group_orientation_vertical>*{min-height:auto;flex:0 0 auto}.tui-group_orientation_vertical>:not(:last-child){margin-right:0;margin-bottom:.125rem}.tui-group_orientation_vertical.tui-group_collapsed>:not(:last-child){margin-right:0;margin-bottom:-1px}.tui-group_rounded.tui-group_orientation_horizontal>:first-child{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.tui-group_rounded.tui-group_orientation_horizontal>:last-child{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.tui-group_rounded.tui-group_orientation_horizontal.tui-group_radius_large>:first-child{border-top-left-radius:var(--tui-radius-l);border-bottom-left-radius:var(--tui-radius-l)}.tui-group_rounded.tui-group_orientation_horizontal.tui-group_radius_large>:last-child{border-top-right-radius:var(--tui-radius-l);border-bottom-right-radius:var(--tui-radius-l)}.tui-group_rounded.tui-group_orientation_vertical>:first-child{border-top-left-radius:var(--tui-radius-m);border-top-right-radius:var(--tui-radius-m)}.tui-group_rounded.tui-group_orientation_vertical>:last-child{border-bottom-left-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.tui-group_rounded.tui-group_orientation_vertical.tui-group_radius_large>:first-child{border-top-left-radius:var(--tui-radius-l);border-top-right-radius:var(--tui-radius-l)}.tui-group_rounded.tui-group_orientation_vertical.tui-group_radius_large>:last-child{border-bottom-left-radius:var(--tui-radius-l);border-bottom-right-radius:var(--tui-radius-l)}@media screen and (max-width:47.9625em){.tui-group_rounded.tui-group_adaptive.tui-group_orientation_horizontal>:first-child:not(:last-child),.tui-group_rounded.tui-group_adaptive.tui-group_orientation_horizontal>:last-child:not(:first-child),.tui-group_rounded.tui-group_adaptive.tui-group_orientation_vertical:not(.tui-group_collapsed)>:first-child:not(:last-child),.tui-group_rounded.tui-group_adaptive.tui-group_orientation_vertical:not(.tui-group_collapsed)>:last-child:not(:first-child){border-radius:var(--tui-radius-m)}.tui-group_rounded.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_horizontal>:first-child:not(:last-child),.tui-group_rounded.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_horizontal>:last-child:not(:first-child),.tui-group_rounded.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_vertical:not(.tui-group_collapsed)>:first-child:not(:last-child),.tui-group_rounded.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_vertical:not(.tui-group_collapsed)>:last-child:not(:first-child){border-radius:var(--tui-radius-l)}.tui-group_adaptive.tui-group_orientation_vertical{width:100%}.tui-group_adaptive.tui-group_orientation_vertical>:nth-child(n):not(:only-child){border-radius:var(--tui-radius-m)}.tui-group_adaptive.tui-group_orientation_vertical>:not(:last-child){margin-bottom:1rem}.tui-group_adaptive.tui-group_orientation_vertical.tui-group_collapsed>:nth-child(n):not(:only-child){border-radius:0}.tui-group_adaptive.tui-group_orientation_vertical.tui-group_collapsed>:first-child:not(:last-child){border-radius:var(--tui-radius-m) var(--tui-radius-m) 0 0}.tui-group_adaptive.tui-group_orientation_vertical.tui-group_collapsed>:last-child:not(:first-child){border-radius:0 0 var(--tui-radius-m) var(--tui-radius-m)}.tui-group_adaptive.tui-group_orientation_vertical.tui-group_collapsed>:not(:last-child){margin-bottom:-1px}.tui-group_adaptive.tui-group_orientation_horizontal{flex-direction:column;width:100%}.tui-group_adaptive.tui-group_orientation_horizontal>:nth-child(n):not(:only-child){border-radius:var(--tui-radius-m)}.tui-group_adaptive.tui-group_orientation_horizontal>:not(:last-child){margin-right:0;margin-bottom:1rem}.tui-group_adaptive.tui-group_orientation_horizontal.tui-group_collapsed>:nth-child(n):not(:only-child){border-radius:0}.tui-group_adaptive.tui-group_orientation_horizontal.tui-group_collapsed>:first-child:not(:last-child){border-radius:var(--tui-radius-m) var(--tui-radius-m) 0 0}.tui-group_adaptive.tui-group_orientation_horizontal.tui-group_collapsed>:last-child:not(:first-child){border-radius:0 0 var(--tui-radius-m) var(--tui-radius-m)}.tui-group_adaptive.tui-group_orientation_horizontal.tui-group_collapsed>:not(:last-child){margin-right:0;margin-bottom:-1px}.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_vertical>:nth-child(n):not(:only-child){border-radius:var(--tui-radius-l)}.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_vertical.tui-group_collapsed>:nth-child(n):not(:only-child){border-radius:0}.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_vertical.tui-group_collapsed>:first-child:not(:last-child){border-radius:var(--tui-radius-l) var(--tui-radius-l) 0 0}.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_vertical.tui-group_collapsed>:last-child:not(:first-child){border-radius:0 0 var(--tui-radius-l) var(--tui-radius-l)}.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_horizontal>:nth-child(n):not(:only-child){border-radius:var(--tui-radius-l)}.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_horizontal.tui-group_collapsed>:nth-child(n):not(:only-child){border-radius:0}.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_horizontal.tui-group_collapsed>:first-child:not(:last-child){border-radius:var(--tui-radius-l) var(--tui-radius-l) 0 0}.tui-group_adaptive.tui-group_radius_large.tui-group_orientation_horizontal.tui-group_collapsed>:last-child:not(:first-child){border-radius:0 0 var(--tui-radius-l) var(--tui-radius-l)}}.tui-group__auto-width-item{min-width:auto;flex:0 0 auto}.tui-group .tui-group__inherit-item{border-radius:inherit}"]
11
11
  })
@@ -13,4 +13,4 @@ var TuiGroupStylesComponent = /** @class */ (function () {
13
13
  return TuiGroupStylesComponent;
14
14
  }());
15
15
  export { TuiGroupStylesComponent };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtc3R5bGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZ3JvdXAvIiwic291cmNlcyI6WyJncm91cC1zdHlsZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBTzNEO0lBQUE7SUFBc0MsQ0FBQztJQUExQix1QkFBdUI7UUFMbkMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLEVBQUU7WUFFWixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7U0FDeEMsQ0FBQztPQUNXLHVCQUF1QixDQUFHO0lBQUQsOEJBQUM7Q0FBQSxBQUF2QyxJQUF1QztTQUExQix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgc3R5bGVVcmxzOiBbYC4uLy4uL3N0eWxlcy9tYXJrdXAvdHVpLWdyb3VwLmxlc3NgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlHcm91cFN0eWxlc0NvbXBvbmVudCB7fVxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtc3R5bGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZ3JvdXAvIiwic291cmNlcyI6WyJncm91cC1zdHlsZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBTzNEO0lBQUE7SUFBc0MsQ0FBQztJQUExQix1QkFBdUI7UUFMbkMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLEVBQUU7WUFFWixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7U0FDeEMsQ0FBQztPQUNXLHVCQUF1QixDQUFHO0lBQUQsOEJBQUM7Q0FBQSxBQUF2QyxJQUF1QztTQUExQix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgc3R5bGVVcmxzOiBbJy4uLy4uL3N0eWxlcy9tYXJrdXAvdHVpLWdyb3VwLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlHcm91cFN0eWxlc0NvbXBvbmVudCB7fVxuIl19
@@ -9,16 +9,16 @@ var TuiGroupComponent = /** @class */ (function (_super) {
9
9
  }
10
10
  TuiGroupComponent = __decorate([
11
11
  Component({
12
- selector: "tui-group",
12
+ selector: 'tui-group',
13
13
  changeDetection: ChangeDetectionStrategy.OnPush,
14
14
  template: "\n <ng-content></ng-content>\n ",
15
15
  host: {
16
- class: "tui-group",
17
- role: "group",
16
+ class: 'tui-group',
17
+ role: 'group',
18
18
  }
19
19
  })
20
20
  ], TuiGroupComponent);
21
21
  return TuiGroupComponent;
22
22
  }(TuiGroupDirective));
23
23
  export { TuiGroupComponent };
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9ncm91cC8iLCJzb3VyY2VzIjpbImdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxrQkFBa0I7QUFZbEI7SUFBdUMscUNBQWlCO0lBQXhEOztJQUEwRCxDQUFDO0lBQTlDLGlCQUFpQjtRQVg3QixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsV0FBVztZQUNyQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQyxRQUFRLEVBQUUsMkNBRVQ7WUFDRCxJQUFJLEVBQUU7Z0JBQ0YsS0FBSyxFQUFFLFdBQVc7Z0JBQ2xCLElBQUksRUFBRSxPQUFPO2FBQ2hCO1NBQ0osQ0FBQztPQUNXLGlCQUFpQixDQUE2QjtJQUFELHdCQUFDO0NBQUEsQUFBM0QsQ0FBdUMsaUJBQWlCLEdBQUc7U0FBOUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtUdWlHcm91cERpcmVjdGl2ZX0gZnJvbSAnLi9ncm91cC5kaXJlY3RpdmUnO1xuXG4vKiogQGRlcHJlY2F0ZWQgKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWdyb3VwYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgYCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiBgdHVpLWdyb3VwYCxcbiAgICAgICAgcm9sZTogYGdyb3VwYCxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlHcm91cENvbXBvbmVudCBleHRlbmRzIFR1aUdyb3VwRGlyZWN0aXZlIHt9XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9ncm91cC8iLCJzb3VyY2VzIjpbImdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxrQkFBa0I7QUFZbEI7SUFBdUMscUNBQWlCO0lBQXhEOztJQUEwRCxDQUFDO0lBQTlDLGlCQUFpQjtRQVg3QixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsV0FBVztZQUNyQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQyxRQUFRLEVBQUUsMkNBRVQ7WUFDRCxJQUFJLEVBQUU7Z0JBQ0YsS0FBSyxFQUFFLFdBQVc7Z0JBQ2xCLElBQUksRUFBRSxPQUFPO2FBQ2hCO1NBQ0osQ0FBQztPQUNXLGlCQUFpQixDQUE2QjtJQUFELHdCQUFDO0NBQUEsQUFBM0QsQ0FBdUMsaUJBQWlCLEdBQUc7U0FBOUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtUdWlHcm91cERpcmVjdGl2ZX0gZnJvbSAnLi9ncm91cC5kaXJlY3RpdmUnO1xuXG4vKiogQGRlcHJlY2F0ZWQgKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWdyb3VwJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgYCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndHVpLWdyb3VwJyxcbiAgICAgICAgcm9sZTogJ2dyb3VwJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlHcm91cENvbXBvbmVudCBleHRlbmRzIFR1aUdyb3VwRGlyZWN0aXZlIHt9XG4iXX0=