@taiga-ui/core 2.55.0 → 2.58.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 (795) hide show
  1. package/bundles/taiga-ui-core-abstract.umd.js +15 -15
  2. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-abstract.umd.min.js.map +1 -1
  4. package/bundles/taiga-ui-core-animations.umd.js +138 -138
  5. package/bundles/taiga-ui-core-animations.umd.js.map +1 -1
  6. package/bundles/taiga-ui-core-animations.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-alert.umd.js +13 -13
  8. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-alert.umd.min.js +1 -1
  10. package/bundles/taiga-ui-core-components-alert.umd.min.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-button.umd.js +16 -16
  12. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-button.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-core-components-calendar.umd.js +3 -3
  15. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  16. package/bundles/taiga-ui-core-components-calendar.umd.min.js +1 -1
  17. package/bundles/taiga-ui-core-components-calendar.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-core-components-data-list.umd.js +34 -34
  19. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  20. package/bundles/taiga-ui-core-components-data-list.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-core-components-dialog.umd.js +24 -24
  22. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  23. package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-core-components-dropdown-box.umd.js +40 -40
  25. package/bundles/taiga-ui-core-components-dropdown-box.umd.js.map +1 -1
  26. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js +1 -1
  27. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-core-components-error.umd.js +6 -6
  29. package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
  30. package/bundles/taiga-ui-core-components-error.umd.min.js +1 -1
  31. package/bundles/taiga-ui-core-components-error.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-core-components-expand.umd.js +14 -14
  33. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  34. package/bundles/taiga-ui-core-components-expand.umd.min.js +1 -1
  35. package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
  36. package/bundles/taiga-ui-core-components-group.umd.js +19 -19
  37. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  38. package/bundles/taiga-ui-core-components-group.umd.min.js +1 -1
  39. package/bundles/taiga-ui-core-components-group.umd.min.js.map +1 -1
  40. package/bundles/taiga-ui-core-components-hints-host.umd.js +47 -47
  41. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  42. package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +12 -12
  44. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  45. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js +1 -1
  46. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
  47. package/bundles/taiga-ui-core-components-label.umd.js +6 -6
  48. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  49. package/bundles/taiga-ui-core-components-label.umd.min.js +1 -1
  50. package/bundles/taiga-ui-core-components-label.umd.min.js.map +1 -1
  51. package/bundles/taiga-ui-core-components-link.umd.js +11 -11
  52. package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
  53. package/bundles/taiga-ui-core-components-link.umd.min.js.map +1 -1
  54. package/bundles/taiga-ui-core-components-loader.umd.js +4 -4
  55. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  56. package/bundles/taiga-ui-core-components-loader.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-core-components-notification.umd.js +10 -10
  58. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  59. package/bundles/taiga-ui-core-components-notification.umd.min.js +1 -1
  60. package/bundles/taiga-ui-core-components-notification.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +2 -2
  62. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  63. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
  64. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +9 -9
  65. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  66. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js +1 -1
  67. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js.map +1 -1
  68. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +4 -4
  69. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
  70. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js +1 -1
  71. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js.map +1 -1
  72. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +57 -57
  73. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  74. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +1 -1
  75. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  76. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +2 -2
  77. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  78. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
  79. package/bundles/taiga-ui-core-components-root.umd.js +6 -6
  80. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  81. package/bundles/taiga-ui-core-components-root.umd.min.js +1 -1
  82. package/bundles/taiga-ui-core-components-root.umd.min.js.map +1 -1
  83. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +28 -28
  84. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  85. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js +1 -1
  86. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-core-components-scrollbar.umd.js +10 -10
  88. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  89. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js +1 -1
  90. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js.map +1 -1
  91. package/bundles/taiga-ui-core-components-svg.umd.js +17 -17
  92. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  93. package/bundles/taiga-ui-core-components-svg.umd.min.js +1 -1
  94. package/bundles/taiga-ui-core-components-svg.umd.min.js.map +1 -1
  95. package/bundles/taiga-ui-core-components-theme-night.umd.js +2 -2
  96. package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
  97. package/bundles/taiga-ui-core-components-theme-night.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-core-components-tooltip.umd.js +9 -9
  99. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  100. package/bundles/taiga-ui-core-components-tooltip.umd.min.js +1 -1
  101. package/bundles/taiga-ui-core-components-tooltip.umd.min.js.map +1 -1
  102. package/bundles/taiga-ui-core-constants.umd.js +17 -17
  103. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  104. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  105. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  106. package/bundles/taiga-ui-core-directives-color.umd.js +6 -6
  107. package/bundles/taiga-ui-core-directives-color.umd.js.map +1 -1
  108. package/bundles/taiga-ui-core-directives-color.umd.min.js.map +1 -1
  109. package/bundles/taiga-ui-core-directives-described-by.umd.js +8 -8
  110. package/bundles/taiga-ui-core-directives-described-by.umd.js.map +1 -1
  111. package/bundles/taiga-ui-core-directives-described-by.umd.min.js.map +1 -1
  112. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.js +11 -11
  113. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.js.map +1 -1
  114. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.min.js.map +1 -1
  115. package/bundles/taiga-ui-core-directives-dropdown.umd.js +2 -2
  116. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  117. package/bundles/taiga-ui-core-directives-dropdown.umd.min.js.map +1 -1
  118. package/bundles/taiga-ui-core-directives-hint-controller.umd.js +8 -8
  119. package/bundles/taiga-ui-core-directives-hint-controller.umd.js.map +1 -1
  120. package/bundles/taiga-ui-core-directives-hint-controller.umd.min.js.map +1 -1
  121. package/bundles/taiga-ui-core-directives-hint.umd.js +7 -7
  122. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  123. package/bundles/taiga-ui-core-directives-hint.umd.min.js.map +1 -1
  124. package/bundles/taiga-ui-core-directives-manual-hint.umd.js +4 -4
  125. package/bundles/taiga-ui-core-directives-manual-hint.umd.js.map +1 -1
  126. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js.map +1 -1
  127. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js +1 -1
  128. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js.map +1 -1
  129. package/bundles/taiga-ui-core-directives-mask-accessor.umd.min.js.map +1 -1
  130. package/bundles/taiga-ui-core-directives-mode.umd.js +2 -2
  131. package/bundles/taiga-ui-core-directives-mode.umd.js.map +1 -1
  132. package/bundles/taiga-ui-core-directives-mode.umd.min.js.map +1 -1
  133. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js +5 -5
  134. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js.map +1 -1
  135. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js.map +1 -1
  136. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js +1 -1
  137. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js.map +1 -1
  138. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.min.js.map +1 -1
  139. package/bundles/taiga-ui-core-directives-table-mode.umd.js +2 -2
  140. package/bundles/taiga-ui-core-directives-table-mode.umd.js.map +1 -1
  141. package/bundles/taiga-ui-core-directives-table-mode.umd.min.js.map +1 -1
  142. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +35 -35
  143. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  144. package/bundles/taiga-ui-core-directives-textfield-controller.umd.min.js.map +1 -1
  145. package/bundles/taiga-ui-core-directives-wrapper.umd.js +9 -9
  146. package/bundles/taiga-ui-core-directives-wrapper.umd.js.map +1 -1
  147. package/bundles/taiga-ui-core-directives-wrapper.umd.min.js.map +1 -1
  148. package/bundles/taiga-ui-core-enums.umd.js +1 -0
  149. package/bundles/taiga-ui-core-enums.umd.js.map +1 -1
  150. package/bundles/taiga-ui-core-enums.umd.min.js +1 -1
  151. package/bundles/taiga-ui-core-enums.umd.min.js.map +1 -1
  152. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +1 -1
  153. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  154. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js.map +1 -1
  155. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js +1 -1
  156. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js.map +1 -1
  157. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.min.js.map +1 -1
  158. package/bundles/taiga-ui-core-observables.umd.js +2 -2
  159. package/bundles/taiga-ui-core-observables.umd.js.map +1 -1
  160. package/bundles/taiga-ui-core-observables.umd.min.js.map +1 -1
  161. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js +1 -1
  162. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
  163. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.min.js.map +1 -1
  164. package/bundles/taiga-ui-core-pipes-format-number.umd.js +1 -1
  165. package/bundles/taiga-ui-core-pipes-format-number.umd.js.map +1 -1
  166. package/bundles/taiga-ui-core-pipes-format-number.umd.min.js.map +1 -1
  167. package/bundles/taiga-ui-core-pipes-format-phone.umd.js +3 -3
  168. package/bundles/taiga-ui-core-pipes-format-phone.umd.js.map +1 -1
  169. package/bundles/taiga-ui-core-pipes-format-phone.umd.min.js.map +1 -1
  170. package/bundles/taiga-ui-core-pipes-month.umd.js +1 -1
  171. package/bundles/taiga-ui-core-pipes-month.umd.js.map +1 -1
  172. package/bundles/taiga-ui-core-pipes-month.umd.min.js.map +1 -1
  173. package/bundles/taiga-ui-core-pipes-pluralize.umd.js +1 -1
  174. package/bundles/taiga-ui-core-pipes-pluralize.umd.js.map +1 -1
  175. package/bundles/taiga-ui-core-pipes-pluralize.umd.min.js.map +1 -1
  176. package/bundles/taiga-ui-core-providers.umd.js +2 -2
  177. package/bundles/taiga-ui-core-providers.umd.js.map +1 -1
  178. package/bundles/taiga-ui-core-providers.umd.min.js.map +1 -1
  179. package/bundles/taiga-ui-core-services.umd.js +7 -7
  180. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  181. package/bundles/taiga-ui-core-services.umd.min.js.map +1 -1
  182. package/bundles/taiga-ui-core-tokens.umd.js +40 -40
  183. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  184. package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
  185. package/bundles/taiga-ui-core-utils-dom.umd.js +16 -16
  186. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  187. package/bundles/taiga-ui-core-utils-dom.umd.min.js.map +1 -1
  188. package/bundles/taiga-ui-core-utils-format.umd.js +17 -17
  189. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  190. package/bundles/taiga-ui-core-utils-format.umd.min.js.map +1 -1
  191. package/bundles/taiga-ui-core-utils-mask.umd.js +28 -28
  192. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  193. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  194. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js +12 -12
  195. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js.map +1 -1
  196. package/bundles/taiga-ui-core-utils-miscellaneous.umd.min.js.map +1 -1
  197. package/bundles/taiga-ui-core-utils-polyfills.umd.js +4 -4
  198. package/bundles/taiga-ui-core-utils-polyfills.umd.js.map +1 -1
  199. package/bundles/taiga-ui-core-utils-polyfills.umd.min.js.map +1 -1
  200. package/components/alert/taiga-ui-core-components-alert.metadata.json +1 -1
  201. package/components/calendar/taiga-ui-core-components-calendar.metadata.json +1 -1
  202. package/components/dropdown-box/taiga-ui-core-components-dropdown-box.metadata.json +1 -1
  203. package/components/error/taiga-ui-core-components-error.metadata.json +1 -1
  204. package/components/expand/taiga-ui-core-components-expand.metadata.json +1 -1
  205. package/components/group/taiga-ui-core-components-group.metadata.json +1 -1
  206. package/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.metadata.json +1 -1
  207. package/components/label/taiga-ui-core-components-label.metadata.json +1 -1
  208. package/components/notification/taiga-ui-core-components-notification.metadata.json +1 -1
  209. package/components/primitive-checkbox/taiga-ui-core-components-primitive-checkbox.metadata.json +1 -1
  210. package/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.metadata.json +1 -1
  211. package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
  212. package/components/root/taiga-ui-core-components-root.metadata.json +1 -1
  213. package/components/scroll-controls/taiga-ui-core-components-scroll-controls.metadata.json +1 -1
  214. package/components/scrollbar/taiga-ui-core-components-scrollbar.metadata.json +1 -1
  215. package/components/svg/taiga-ui-core-components-svg.metadata.json +1 -1
  216. package/components/tooltip/taiga-ui-core-components-tooltip.metadata.json +1 -1
  217. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  218. package/constants/version.d.ts +1 -1
  219. package/directives/dropdown-controller/taiga-ui-core-directives-dropdown-controller.metadata.json +1 -1
  220. package/enums/appearance.d.ts +1 -0
  221. package/enums/taiga-ui-core-enums.metadata.json +1 -1
  222. package/esm2015/abstract/abstract-dropdown.js +12 -12
  223. package/esm2015/abstract/abstract-hint-options.js +2 -2
  224. package/esm2015/abstract/abstract-hint.js +4 -4
  225. package/esm2015/animations/animations.js +140 -140
  226. package/esm2015/components/alert/alert.component.js +12 -12
  227. package/esm2015/components/alert/alert.service.js +3 -3
  228. package/esm2015/components/button/button-options.js +3 -3
  229. package/esm2015/components/button/button.component.js +15 -15
  230. package/esm2015/components/calendar/calendar.component.js +4 -4
  231. package/esm2015/components/data-list/data-list-dropdown-manager.directive.js +7 -7
  232. package/esm2015/components/data-list/data-list.component.js +12 -12
  233. package/esm2015/components/data-list/data-list.directive.js +2 -2
  234. package/esm2015/components/data-list/opt-group.directive.js +5 -5
  235. package/esm2015/components/data-list/option/option.component.js +12 -12
  236. package/esm2015/components/dialog/dialog.component.js +12 -12
  237. package/esm2015/components/dialog/dialog.directive.js +4 -4
  238. package/esm2015/components/dialog/dialog.providers.js +7 -7
  239. package/esm2015/components/dialog/dialog.service.js +5 -5
  240. package/esm2015/components/dropdown-box/dropdown-box.component.js +41 -41
  241. package/esm2015/components/error/error.component.js +7 -7
  242. package/esm2015/components/expand/expand-content.directive.js +2 -2
  243. package/esm2015/components/expand/expand.component.js +14 -14
  244. package/esm2015/components/group/group-styles.component.js +2 -2
  245. package/esm2015/components/group/group.component.js +7 -5
  246. package/esm2015/components/group/group.directive.js +15 -15
  247. package/esm2015/components/hints-host/hint-box/hint-box.component.js +46 -46
  248. package/esm2015/components/hints-host/hints-host.component.js +3 -3
  249. package/esm2015/components/hosted-dropdown/hosted-dropdown-connector.directive.js +2 -2
  250. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +12 -12
  251. package/esm2015/components/label/label.component.js +7 -7
  252. package/esm2015/components/link/link.component.js +12 -12
  253. package/esm2015/components/loader/loader-options.js +3 -3
  254. package/esm2015/components/loader/loader.component.js +3 -3
  255. package/esm2015/components/notification/notification.component.js +11 -11
  256. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +3 -3
  257. package/esm2015/components/primitive-checkbox/checkbox-options.js +5 -5
  258. package/esm2015/components/primitive-checkbox/primitive-checkbox.component.js +6 -6
  259. package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +5 -5
  260. package/esm2015/components/primitive-textfield/primitive-textfield-options.js +4 -4
  261. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +30 -30
  262. package/esm2015/components/primitive-textfield/primitive-textfield.directive.js +2 -2
  263. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +14 -14
  264. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +12 -12
  265. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  266. package/esm2015/components/root/root.component.js +7 -7
  267. package/esm2015/components/scroll-controls/scroll-controls.component.js +6 -6
  268. package/esm2015/components/scroll-controls/scrollbar-wrapper.directive.js +2 -2
  269. package/esm2015/components/scroll-controls/scrollbar.directive.js +23 -23
  270. package/esm2015/components/scrollbar/scroll-ref.directive.js +2 -2
  271. package/esm2015/components/scrollbar/scrollable.directive.js +2 -2
  272. package/esm2015/components/scrollbar/scrollbar.component.js +9 -9
  273. package/esm2015/components/svg/svg.component.js +18 -18
  274. package/esm2015/components/theme-night/theme-night.component.js +3 -3
  275. package/esm2015/components/tooltip/tooltip.component.js +10 -10
  276. package/esm2015/constants/decimal-symbols.js +2 -2
  277. package/esm2015/constants/default-icons-path.js +2 -2
  278. package/esm2015/constants/editing-keys.js +10 -10
  279. package/esm2015/constants/events.js +5 -5
  280. package/esm2015/constants/mask-caret-trap.js +2 -2
  281. package/esm2015/constants/version.js +2 -2
  282. package/esm2015/directives/color/color.directive.js +7 -7
  283. package/esm2015/directives/described-by/described-by.directive.js +5 -5
  284. package/esm2015/directives/described-by/described-by.providers.js +3 -3
  285. package/esm2015/directives/dropdown/dropdown.directive.js +3 -3
  286. package/esm2015/directives/dropdown-controller/dropdown-controller.directive.js +10 -10
  287. package/esm2015/directives/dropdown-controller/dropdown-controller.provider.js +2 -2
  288. package/esm2015/directives/dropdown-controller/dropdown-controller.token.js +2 -2
  289. package/esm2015/directives/hint/hint-options.js +3 -3
  290. package/esm2015/directives/hint/hint.directive.js +6 -6
  291. package/esm2015/directives/hint-controller/hint-controller.directive.js +7 -7
  292. package/esm2015/directives/hint-controller/hint-controller.provider.js +2 -2
  293. package/esm2015/directives/hint-controller/hint-controller.token.js +2 -2
  294. package/esm2015/directives/manual-hint/manual-hint-options.js +2 -2
  295. package/esm2015/directives/manual-hint/manual-hint.directive.js +4 -4
  296. package/esm2015/directives/mask-accessor/mask-accessor.directive.js +2 -2
  297. package/esm2015/directives/mode/mode.directive.js +3 -3
  298. package/esm2015/directives/pointer-hint/pointer-hint-options.js +2 -2
  299. package/esm2015/directives/pointer-hint/pointer-hint.directive.js +5 -5
  300. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +2 -2
  301. package/esm2015/directives/table-mode/table-mode.directive.js +3 -3
  302. package/esm2015/directives/textfield-controller/textfield-autocomplete.directive.js +5 -5
  303. package/esm2015/directives/textfield-controller/textfield-cleaner.directive.js +4 -4
  304. package/esm2015/directives/textfield-controller/textfield-controller.provider.js +2 -2
  305. package/esm2015/directives/textfield-controller/textfield-custom-content.directive.js +5 -5
  306. package/esm2015/directives/textfield-controller/textfield-example-text.directive.js +5 -5
  307. package/esm2015/directives/textfield-controller/textfield-input-mode.directive.js +5 -5
  308. package/esm2015/directives/textfield-controller/textfield-label-outside.directive.js +4 -4
  309. package/esm2015/directives/textfield-controller/textfield-max-length.directive.js +4 -4
  310. package/esm2015/directives/textfield-controller/textfield-size.directive.js +5 -5
  311. package/esm2015/directives/textfield-controller/textfield-type.directive.js +5 -5
  312. package/esm2015/directives/textfield-controller/textfield.controller.js +2 -2
  313. package/esm2015/directives/wrapper/wrapper.directive.js +10 -10
  314. package/esm2015/enums/appearance.js +2 -1
  315. package/esm2015/enums/base-color.js +1 -1
  316. package/esm2015/enums/button-shape.js +1 -1
  317. package/esm2015/enums/decimal.js +1 -1
  318. package/esm2015/enums/dropdown-animation.js +1 -1
  319. package/esm2015/enums/dropdown-width.js +1 -1
  320. package/esm2015/enums/hint-mode.js +1 -1
  321. package/esm2015/enums/interactive-state.js +1 -1
  322. package/esm2015/enums/link-mode.js +1 -1
  323. package/esm2015/enums/notification.js +1 -1
  324. package/esm2015/enums/orientation.js +1 -1
  325. package/esm2015/enums/range-state.js +1 -1
  326. package/esm2015/enums/support-color.js +1 -1
  327. package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  328. package/esm2015/internal/svg-defs-host/svg-defs-host.component.js +2 -2
  329. package/esm2015/observables/smart-search.js +3 -3
  330. package/esm2015/pipes/calendar-sheet/calendar-sheet.pipe.js +2 -2
  331. package/esm2015/pipes/format-number/format-number.pipe.js +2 -2
  332. package/esm2015/pipes/format-phone/format-phone.pipe.js +4 -4
  333. package/esm2015/pipes/month/month.pipe.js +2 -2
  334. package/esm2015/pipes/pluralize/pluralize.pipe.js +2 -2
  335. package/esm2015/providers/is-mobile-resolution.provider.js +2 -2
  336. package/esm2015/providers/mode.provider.js +2 -2
  337. package/esm2015/services/hint.service.js +2 -2
  338. package/esm2015/services/night-theme.service.js +4 -4
  339. package/esm2015/services/svg.service.js +4 -4
  340. package/esm2015/tokens/animation-options.js +2 -2
  341. package/esm2015/tokens/animations-duration.js +2 -2
  342. package/esm2015/tokens/assert-enabled.js +2 -2
  343. package/esm2015/tokens/data-list-accessor.js +2 -2
  344. package/esm2015/tokens/data-list-host.js +2 -2
  345. package/esm2015/tokens/document-or-shadow-root.js +2 -2
  346. package/esm2015/tokens/dropdown-directive.js +2 -2
  347. package/esm2015/tokens/element-ref.js +2 -2
  348. package/esm2015/tokens/first-day-of-week.js +2 -2
  349. package/esm2015/tokens/i18n.js +10 -10
  350. package/esm2015/tokens/icon-place.js +3 -3
  351. package/esm2015/tokens/icons-path.js +2 -2
  352. package/esm2015/tokens/icons.js +2 -2
  353. package/esm2015/tokens/is-mobile-resolution.js +3 -3
  354. package/esm2015/tokens/media.js +2 -2
  355. package/esm2015/tokens/mode.js +2 -2
  356. package/esm2015/tokens/notification-options.js +3 -3
  357. package/esm2015/tokens/number-format.js +3 -3
  358. package/esm2015/tokens/option-content.js +2 -2
  359. package/esm2015/tokens/ordered-short-week-days.js +2 -2
  360. package/esm2015/tokens/scroll-ref.js +2 -2
  361. package/esm2015/tokens/svg-content-processor.js +2 -2
  362. package/esm2015/tokens/svg-src-processor.js +2 -2
  363. package/esm2015/tokens/textfield-appearance.js +2 -2
  364. package/esm2015/tokens/textfield-host.js +2 -2
  365. package/esm2015/tokens/theme.js +3 -3
  366. package/esm2015/tokens/value-accessor.js +2 -2
  367. package/esm2015/utils/dom/are-css-vars-supported.js +2 -2
  368. package/esm2015/utils/dom/check-fixed-position.js +3 -3
  369. package/esm2015/utils/dom/get-safe-area-size.js +4 -4
  370. package/esm2015/utils/dom/process-icon.js +11 -11
  371. package/esm2015/utils/format/format-number.js +5 -5
  372. package/esm2015/utils/format/format-phone.js +9 -9
  373. package/esm2015/utils/format/get-fractional-part-padded.js +3 -3
  374. package/esm2015/utils/format/number-to-string-without-exp.js +3 -3
  375. package/esm2015/utils/format/other-decimal-symbol.js +2 -2
  376. package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +11 -11
  377. package/esm2015/utils/mask/create-correction-mask.js +3 -3
  378. package/esm2015/utils/mask/create-number-mask.js +13 -13
  379. package/esm2015/utils/mask/masked-money-value-is-empty.js +3 -3
  380. package/esm2015/utils/mask/masked-number-string-to-number.js +2 -2
  381. package/esm2015/utils/miscellaneous/color-fallback.js +8 -8
  382. package/esm2015/utils/miscellaneous/icons-path-factory.js +3 -3
  383. package/esm2015/utils/miscellaneous/is-presumed-html-string.js +2 -2
  384. package/esm2015/utils/miscellaneous/size-bigger.js +3 -3
  385. package/esm2015/utils/polyfills/inner-html.js +5 -5
  386. package/esm5/abstract/abstract-dropdown.js +12 -12
  387. package/esm5/abstract/abstract-hint-options.js +2 -2
  388. package/esm5/abstract/abstract-hint.js +4 -4
  389. package/esm5/animations/animations.js +140 -140
  390. package/esm5/components/alert/alert.component.js +12 -12
  391. package/esm5/components/alert/alert.service.js +3 -3
  392. package/esm5/components/button/button-options.js +3 -3
  393. package/esm5/components/button/button.component.js +15 -15
  394. package/esm5/components/calendar/calendar.component.js +4 -4
  395. package/esm5/components/data-list/data-list-dropdown-manager.directive.js +8 -8
  396. package/esm5/components/data-list/data-list.component.js +12 -12
  397. package/esm5/components/data-list/data-list.directive.js +2 -2
  398. package/esm5/components/data-list/opt-group.directive.js +5 -5
  399. package/esm5/components/data-list/option/option.component.js +12 -12
  400. package/esm5/components/dialog/dialog.component.js +12 -12
  401. package/esm5/components/dialog/dialog.directive.js +4 -4
  402. package/esm5/components/dialog/dialog.providers.js +7 -7
  403. package/esm5/components/dialog/dialog.service.js +5 -5
  404. package/esm5/components/dropdown-box/dropdown-box.component.js +41 -41
  405. package/esm5/components/error/error.component.js +7 -7
  406. package/esm5/components/expand/expand-content.directive.js +2 -2
  407. package/esm5/components/expand/expand.component.js +14 -14
  408. package/esm5/components/group/group-styles.component.js +2 -2
  409. package/esm5/components/group/group.component.js +5 -5
  410. package/esm5/components/group/group.directive.js +15 -15
  411. package/esm5/components/hints-host/hint-box/hint-box.component.js +46 -46
  412. package/esm5/components/hints-host/hints-host.component.js +3 -3
  413. package/esm5/components/hosted-dropdown/hosted-dropdown-connector.directive.js +2 -2
  414. package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +12 -12
  415. package/esm5/components/label/label.component.js +7 -7
  416. package/esm5/components/link/link.component.js +12 -12
  417. package/esm5/components/loader/loader-options.js +3 -3
  418. package/esm5/components/loader/loader.component.js +3 -3
  419. package/esm5/components/notification/notification.component.js +11 -11
  420. package/esm5/components/primitive-calendar/primitive-calendar.component.js +3 -3
  421. package/esm5/components/primitive-checkbox/checkbox-options.js +5 -5
  422. package/esm5/components/primitive-checkbox/primitive-checkbox.component.js +6 -6
  423. package/esm5/components/primitive-spin-button/primitive-spin-button.component.js +5 -5
  424. package/esm5/components/primitive-textfield/primitive-textfield-options.js +4 -4
  425. package/esm5/components/primitive-textfield/primitive-textfield.component.js +30 -30
  426. package/esm5/components/primitive-textfield/primitive-textfield.directive.js +2 -2
  427. package/esm5/components/primitive-textfield/textfield/textfield.component.js +14 -14
  428. package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +12 -12
  429. package/esm5/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  430. package/esm5/components/root/root.component.js +7 -7
  431. package/esm5/components/scroll-controls/scroll-controls.component.js +6 -6
  432. package/esm5/components/scroll-controls/scrollbar-wrapper.directive.js +2 -2
  433. package/esm5/components/scroll-controls/scrollbar.directive.js +23 -23
  434. package/esm5/components/scrollbar/scroll-ref.directive.js +2 -2
  435. package/esm5/components/scrollbar/scrollable.directive.js +2 -2
  436. package/esm5/components/scrollbar/scrollbar.component.js +9 -9
  437. package/esm5/components/svg/svg.component.js +18 -18
  438. package/esm5/components/theme-night/theme-night.component.js +3 -3
  439. package/esm5/components/tooltip/tooltip.component.js +10 -10
  440. package/esm5/constants/decimal-symbols.js +2 -2
  441. package/esm5/constants/default-icons-path.js +2 -2
  442. package/esm5/constants/editing-keys.js +10 -10
  443. package/esm5/constants/events.js +5 -5
  444. package/esm5/constants/mask-caret-trap.js +2 -2
  445. package/esm5/constants/version.js +2 -2
  446. package/esm5/directives/color/color.directive.js +7 -7
  447. package/esm5/directives/described-by/described-by.directive.js +5 -5
  448. package/esm5/directives/described-by/described-by.providers.js +5 -5
  449. package/esm5/directives/dropdown/dropdown.directive.js +3 -3
  450. package/esm5/directives/dropdown-controller/dropdown-controller.directive.js +10 -10
  451. package/esm5/directives/dropdown-controller/dropdown-controller.provider.js +2 -2
  452. package/esm5/directives/dropdown-controller/dropdown-controller.token.js +2 -2
  453. package/esm5/directives/hint/hint-options.js +3 -3
  454. package/esm5/directives/hint/hint.directive.js +6 -6
  455. package/esm5/directives/hint-controller/hint-controller.directive.js +7 -7
  456. package/esm5/directives/hint-controller/hint-controller.provider.js +2 -2
  457. package/esm5/directives/hint-controller/hint-controller.token.js +2 -2
  458. package/esm5/directives/manual-hint/manual-hint-options.js +2 -2
  459. package/esm5/directives/manual-hint/manual-hint.directive.js +4 -4
  460. package/esm5/directives/mask-accessor/mask-accessor.directive.js +2 -2
  461. package/esm5/directives/mode/mode.directive.js +3 -3
  462. package/esm5/directives/pointer-hint/pointer-hint-options.js +2 -2
  463. package/esm5/directives/pointer-hint/pointer-hint.directive.js +5 -5
  464. package/esm5/directives/scroll-into-view/scroll-into-view.directive.js +2 -2
  465. package/esm5/directives/table-mode/table-mode.directive.js +3 -3
  466. package/esm5/directives/textfield-controller/textfield-autocomplete.directive.js +5 -5
  467. package/esm5/directives/textfield-controller/textfield-cleaner.directive.js +4 -4
  468. package/esm5/directives/textfield-controller/textfield-controller.provider.js +2 -2
  469. package/esm5/directives/textfield-controller/textfield-custom-content.directive.js +5 -5
  470. package/esm5/directives/textfield-controller/textfield-example-text.directive.js +5 -5
  471. package/esm5/directives/textfield-controller/textfield-input-mode.directive.js +5 -5
  472. package/esm5/directives/textfield-controller/textfield-label-outside.directive.js +4 -4
  473. package/esm5/directives/textfield-controller/textfield-max-length.directive.js +4 -4
  474. package/esm5/directives/textfield-controller/textfield-size.directive.js +5 -5
  475. package/esm5/directives/textfield-controller/textfield-type.directive.js +5 -5
  476. package/esm5/directives/textfield-controller/textfield.controller.js +2 -2
  477. package/esm5/directives/wrapper/wrapper.directive.js +10 -10
  478. package/esm5/enums/appearance.js +2 -1
  479. package/esm5/enums/base-color.js +1 -1
  480. package/esm5/enums/button-shape.js +1 -1
  481. package/esm5/enums/decimal.js +1 -1
  482. package/esm5/enums/dropdown-animation.js +1 -1
  483. package/esm5/enums/dropdown-width.js +1 -1
  484. package/esm5/enums/hint-mode.js +1 -1
  485. package/esm5/enums/interactive-state.js +1 -1
  486. package/esm5/enums/link-mode.js +1 -1
  487. package/esm5/enums/notification.js +1 -1
  488. package/esm5/enums/orientation.js +1 -1
  489. package/esm5/enums/range-state.js +1 -1
  490. package/esm5/enums/support-color.js +1 -1
  491. package/esm5/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  492. package/esm5/internal/svg-defs-host/svg-defs-host.component.js +2 -2
  493. package/esm5/observables/smart-search.js +3 -3
  494. package/esm5/pipes/calendar-sheet/calendar-sheet.pipe.js +2 -2
  495. package/esm5/pipes/format-number/format-number.pipe.js +2 -2
  496. package/esm5/pipes/format-phone/format-phone.pipe.js +4 -4
  497. package/esm5/pipes/month/month.pipe.js +2 -2
  498. package/esm5/pipes/pluralize/pluralize.pipe.js +2 -2
  499. package/esm5/providers/is-mobile-resolution.provider.js +2 -2
  500. package/esm5/providers/mode.provider.js +2 -2
  501. package/esm5/services/hint.service.js +2 -2
  502. package/esm5/services/night-theme.service.js +4 -4
  503. package/esm5/services/svg.service.js +4 -4
  504. package/esm5/tokens/animation-options.js +2 -2
  505. package/esm5/tokens/animations-duration.js +2 -2
  506. package/esm5/tokens/assert-enabled.js +2 -2
  507. package/esm5/tokens/data-list-accessor.js +2 -2
  508. package/esm5/tokens/data-list-host.js +2 -2
  509. package/esm5/tokens/document-or-shadow-root.js +2 -2
  510. package/esm5/tokens/dropdown-directive.js +2 -2
  511. package/esm5/tokens/element-ref.js +2 -2
  512. package/esm5/tokens/first-day-of-week.js +2 -2
  513. package/esm5/tokens/i18n.js +10 -10
  514. package/esm5/tokens/icon-place.js +3 -3
  515. package/esm5/tokens/icons-path.js +2 -2
  516. package/esm5/tokens/icons.js +2 -2
  517. package/esm5/tokens/is-mobile-resolution.js +3 -3
  518. package/esm5/tokens/media.js +2 -2
  519. package/esm5/tokens/mode.js +2 -2
  520. package/esm5/tokens/notification-options.js +3 -3
  521. package/esm5/tokens/number-format.js +3 -3
  522. package/esm5/tokens/option-content.js +2 -2
  523. package/esm5/tokens/ordered-short-week-days.js +2 -2
  524. package/esm5/tokens/scroll-ref.js +2 -2
  525. package/esm5/tokens/svg-content-processor.js +2 -2
  526. package/esm5/tokens/svg-src-processor.js +2 -2
  527. package/esm5/tokens/textfield-appearance.js +2 -2
  528. package/esm5/tokens/textfield-host.js +2 -2
  529. package/esm5/tokens/theme.js +3 -3
  530. package/esm5/tokens/value-accessor.js +2 -2
  531. package/esm5/utils/dom/are-css-vars-supported.js +2 -2
  532. package/esm5/utils/dom/check-fixed-position.js +3 -3
  533. package/esm5/utils/dom/get-safe-area-size.js +4 -4
  534. package/esm5/utils/dom/process-icon.js +11 -11
  535. package/esm5/utils/format/format-number.js +5 -5
  536. package/esm5/utils/format/format-phone.js +9 -9
  537. package/esm5/utils/format/get-fractional-part-padded.js +3 -3
  538. package/esm5/utils/format/number-to-string-without-exp.js +3 -3
  539. package/esm5/utils/format/other-decimal-symbol.js +2 -2
  540. package/esm5/utils/mask/create-auto-corrected-money-pipe.js +12 -12
  541. package/esm5/utils/mask/create-correction-mask.js +3 -3
  542. package/esm5/utils/mask/create-number-mask.js +13 -13
  543. package/esm5/utils/mask/masked-money-value-is-empty.js +3 -3
  544. package/esm5/utils/mask/masked-number-string-to-number.js +2 -2
  545. package/esm5/utils/miscellaneous/color-fallback.js +8 -8
  546. package/esm5/utils/miscellaneous/icons-path-factory.js +3 -3
  547. package/esm5/utils/miscellaneous/is-presumed-html-string.js +2 -2
  548. package/esm5/utils/miscellaneous/size-bigger.js +3 -3
  549. package/esm5/utils/polyfills/inner-html.js +5 -5
  550. package/fesm2015/taiga-ui-core-abstract.js +15 -15
  551. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  552. package/fesm2015/taiga-ui-core-animations.js +138 -138
  553. package/fesm2015/taiga-ui-core-animations.js.map +1 -1
  554. package/fesm2015/taiga-ui-core-components-alert.js +13 -13
  555. package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
  556. package/fesm2015/taiga-ui-core-components-button.js +16 -16
  557. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  558. package/fesm2015/taiga-ui-core-components-calendar.js +3 -3
  559. package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
  560. package/fesm2015/taiga-ui-core-components-data-list.js +33 -33
  561. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  562. package/fesm2015/taiga-ui-core-components-dialog.js +24 -24
  563. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  564. package/fesm2015/taiga-ui-core-components-dropdown-box.js +40 -40
  565. package/fesm2015/taiga-ui-core-components-dropdown-box.js.map +1 -1
  566. package/fesm2015/taiga-ui-core-components-error.js +6 -6
  567. package/fesm2015/taiga-ui-core-components-error.js.map +1 -1
  568. package/fesm2015/taiga-ui-core-components-expand.js +14 -14
  569. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  570. package/fesm2015/taiga-ui-core-components-group.js +21 -19
  571. package/fesm2015/taiga-ui-core-components-group.js.map +1 -1
  572. package/fesm2015/taiga-ui-core-components-hints-host.js +47 -47
  573. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  574. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +12 -12
  575. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  576. package/fesm2015/taiga-ui-core-components-label.js +6 -6
  577. package/fesm2015/taiga-ui-core-components-label.js.map +1 -1
  578. package/fesm2015/taiga-ui-core-components-link.js +11 -11
  579. package/fesm2015/taiga-ui-core-components-link.js.map +1 -1
  580. package/fesm2015/taiga-ui-core-components-loader.js +4 -4
  581. package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
  582. package/fesm2015/taiga-ui-core-components-notification.js +10 -10
  583. package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
  584. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +2 -2
  585. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  586. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js +9 -9
  587. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  588. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +4 -4
  589. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  590. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +57 -57
  591. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  592. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +2 -2
  593. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  594. package/fesm2015/taiga-ui-core-components-root.js +6 -6
  595. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  596. package/fesm2015/taiga-ui-core-components-scroll-controls.js +28 -28
  597. package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
  598. package/fesm2015/taiga-ui-core-components-scrollbar.js +10 -10
  599. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  600. package/fesm2015/taiga-ui-core-components-svg.js +17 -17
  601. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  602. package/fesm2015/taiga-ui-core-components-theme-night.js +2 -2
  603. package/fesm2015/taiga-ui-core-components-theme-night.js.map +1 -1
  604. package/fesm2015/taiga-ui-core-components-tooltip.js +9 -9
  605. package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
  606. package/fesm2015/taiga-ui-core-constants.js +17 -17
  607. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  608. package/fesm2015/taiga-ui-core-directives-color.js +6 -6
  609. package/fesm2015/taiga-ui-core-directives-color.js.map +1 -1
  610. package/fesm2015/taiga-ui-core-directives-described-by.js +6 -6
  611. package/fesm2015/taiga-ui-core-directives-described-by.js.map +1 -1
  612. package/fesm2015/taiga-ui-core-directives-dropdown-controller.js +11 -11
  613. package/fesm2015/taiga-ui-core-directives-dropdown-controller.js.map +1 -1
  614. package/fesm2015/taiga-ui-core-directives-dropdown.js +2 -2
  615. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  616. package/fesm2015/taiga-ui-core-directives-hint-controller.js +8 -8
  617. package/fesm2015/taiga-ui-core-directives-hint-controller.js.map +1 -1
  618. package/fesm2015/taiga-ui-core-directives-hint.js +7 -7
  619. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  620. package/fesm2015/taiga-ui-core-directives-manual-hint.js +4 -4
  621. package/fesm2015/taiga-ui-core-directives-manual-hint.js.map +1 -1
  622. package/fesm2015/taiga-ui-core-directives-mask-accessor.js +1 -1
  623. package/fesm2015/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  624. package/fesm2015/taiga-ui-core-directives-mode.js +2 -2
  625. package/fesm2015/taiga-ui-core-directives-mode.js.map +1 -1
  626. package/fesm2015/taiga-ui-core-directives-pointer-hint.js +5 -5
  627. package/fesm2015/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  628. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js +1 -1
  629. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
  630. package/fesm2015/taiga-ui-core-directives-table-mode.js +2 -2
  631. package/fesm2015/taiga-ui-core-directives-table-mode.js.map +1 -1
  632. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +35 -35
  633. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  634. package/fesm2015/taiga-ui-core-directives-wrapper.js +9 -9
  635. package/fesm2015/taiga-ui-core-directives-wrapper.js.map +1 -1
  636. package/fesm2015/taiga-ui-core-enums.js +1 -0
  637. package/fesm2015/taiga-ui-core-enums.js.map +1 -1
  638. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  639. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  640. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js +1 -1
  641. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  642. package/fesm2015/taiga-ui-core-observables.js +2 -2
  643. package/fesm2015/taiga-ui-core-observables.js.map +1 -1
  644. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js +1 -1
  645. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  646. package/fesm2015/taiga-ui-core-pipes-format-number.js +1 -1
  647. package/fesm2015/taiga-ui-core-pipes-format-number.js.map +1 -1
  648. package/fesm2015/taiga-ui-core-pipes-format-phone.js +3 -3
  649. package/fesm2015/taiga-ui-core-pipes-format-phone.js.map +1 -1
  650. package/fesm2015/taiga-ui-core-pipes-month.js +1 -1
  651. package/fesm2015/taiga-ui-core-pipes-month.js.map +1 -1
  652. package/fesm2015/taiga-ui-core-pipes-pluralize.js +1 -1
  653. package/fesm2015/taiga-ui-core-pipes-pluralize.js.map +1 -1
  654. package/fesm2015/taiga-ui-core-providers.js +2 -2
  655. package/fesm2015/taiga-ui-core-providers.js.map +1 -1
  656. package/fesm2015/taiga-ui-core-services.js +7 -7
  657. package/fesm2015/taiga-ui-core-services.js.map +1 -1
  658. package/fesm2015/taiga-ui-core-tokens.js +40 -40
  659. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  660. package/fesm2015/taiga-ui-core-utils-dom.js +16 -16
  661. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  662. package/fesm2015/taiga-ui-core-utils-format.js +17 -17
  663. package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
  664. package/fesm2015/taiga-ui-core-utils-mask.js +27 -27
  665. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  666. package/fesm2015/taiga-ui-core-utils-miscellaneous.js +12 -12
  667. package/fesm2015/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  668. package/fesm2015/taiga-ui-core-utils-polyfills.js +4 -4
  669. package/fesm2015/taiga-ui-core-utils-polyfills.js.map +1 -1
  670. package/fesm5/taiga-ui-core-abstract.js +15 -15
  671. package/fesm5/taiga-ui-core-abstract.js.map +1 -1
  672. package/fesm5/taiga-ui-core-animations.js +138 -138
  673. package/fesm5/taiga-ui-core-animations.js.map +1 -1
  674. package/fesm5/taiga-ui-core-components-alert.js +13 -13
  675. package/fesm5/taiga-ui-core-components-alert.js.map +1 -1
  676. package/fesm5/taiga-ui-core-components-button.js +16 -16
  677. package/fesm5/taiga-ui-core-components-button.js.map +1 -1
  678. package/fesm5/taiga-ui-core-components-calendar.js +3 -3
  679. package/fesm5/taiga-ui-core-components-calendar.js.map +1 -1
  680. package/fesm5/taiga-ui-core-components-data-list.js +34 -34
  681. package/fesm5/taiga-ui-core-components-data-list.js.map +1 -1
  682. package/fesm5/taiga-ui-core-components-dialog.js +24 -24
  683. package/fesm5/taiga-ui-core-components-dialog.js.map +1 -1
  684. package/fesm5/taiga-ui-core-components-dropdown-box.js +40 -40
  685. package/fesm5/taiga-ui-core-components-dropdown-box.js.map +1 -1
  686. package/fesm5/taiga-ui-core-components-error.js +6 -6
  687. package/fesm5/taiga-ui-core-components-error.js.map +1 -1
  688. package/fesm5/taiga-ui-core-components-expand.js +14 -14
  689. package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
  690. package/fesm5/taiga-ui-core-components-group.js +19 -19
  691. package/fesm5/taiga-ui-core-components-group.js.map +1 -1
  692. package/fesm5/taiga-ui-core-components-hints-host.js +47 -47
  693. package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
  694. package/fesm5/taiga-ui-core-components-hosted-dropdown.js +12 -12
  695. package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  696. package/fesm5/taiga-ui-core-components-label.js +6 -6
  697. package/fesm5/taiga-ui-core-components-label.js.map +1 -1
  698. package/fesm5/taiga-ui-core-components-link.js +11 -11
  699. package/fesm5/taiga-ui-core-components-link.js.map +1 -1
  700. package/fesm5/taiga-ui-core-components-loader.js +4 -4
  701. package/fesm5/taiga-ui-core-components-loader.js.map +1 -1
  702. package/fesm5/taiga-ui-core-components-notification.js +10 -10
  703. package/fesm5/taiga-ui-core-components-notification.js.map +1 -1
  704. package/fesm5/taiga-ui-core-components-primitive-calendar.js +2 -2
  705. package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  706. package/fesm5/taiga-ui-core-components-primitive-checkbox.js +9 -9
  707. package/fesm5/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  708. package/fesm5/taiga-ui-core-components-primitive-spin-button.js +4 -4
  709. package/fesm5/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  710. package/fesm5/taiga-ui-core-components-primitive-textfield.js +57 -57
  711. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  712. package/fesm5/taiga-ui-core-components-primitive-year-picker.js +2 -2
  713. package/fesm5/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  714. package/fesm5/taiga-ui-core-components-root.js +6 -6
  715. package/fesm5/taiga-ui-core-components-root.js.map +1 -1
  716. package/fesm5/taiga-ui-core-components-scroll-controls.js +28 -28
  717. package/fesm5/taiga-ui-core-components-scroll-controls.js.map +1 -1
  718. package/fesm5/taiga-ui-core-components-scrollbar.js +10 -10
  719. package/fesm5/taiga-ui-core-components-scrollbar.js.map +1 -1
  720. package/fesm5/taiga-ui-core-components-svg.js +17 -17
  721. package/fesm5/taiga-ui-core-components-svg.js.map +1 -1
  722. package/fesm5/taiga-ui-core-components-theme-night.js +2 -2
  723. package/fesm5/taiga-ui-core-components-theme-night.js.map +1 -1
  724. package/fesm5/taiga-ui-core-components-tooltip.js +9 -9
  725. package/fesm5/taiga-ui-core-components-tooltip.js.map +1 -1
  726. package/fesm5/taiga-ui-core-constants.js +17 -17
  727. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  728. package/fesm5/taiga-ui-core-directives-color.js +6 -6
  729. package/fesm5/taiga-ui-core-directives-color.js.map +1 -1
  730. package/fesm5/taiga-ui-core-directives-described-by.js +8 -8
  731. package/fesm5/taiga-ui-core-directives-described-by.js.map +1 -1
  732. package/fesm5/taiga-ui-core-directives-dropdown-controller.js +11 -11
  733. package/fesm5/taiga-ui-core-directives-dropdown-controller.js.map +1 -1
  734. package/fesm5/taiga-ui-core-directives-dropdown.js +2 -2
  735. package/fesm5/taiga-ui-core-directives-dropdown.js.map +1 -1
  736. package/fesm5/taiga-ui-core-directives-hint-controller.js +8 -8
  737. package/fesm5/taiga-ui-core-directives-hint-controller.js.map +1 -1
  738. package/fesm5/taiga-ui-core-directives-hint.js +7 -7
  739. package/fesm5/taiga-ui-core-directives-hint.js.map +1 -1
  740. package/fesm5/taiga-ui-core-directives-manual-hint.js +4 -4
  741. package/fesm5/taiga-ui-core-directives-manual-hint.js.map +1 -1
  742. package/fesm5/taiga-ui-core-directives-mask-accessor.js +1 -1
  743. package/fesm5/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  744. package/fesm5/taiga-ui-core-directives-mode.js +2 -2
  745. package/fesm5/taiga-ui-core-directives-mode.js.map +1 -1
  746. package/fesm5/taiga-ui-core-directives-pointer-hint.js +5 -5
  747. package/fesm5/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  748. package/fesm5/taiga-ui-core-directives-scroll-into-view.js +1 -1
  749. package/fesm5/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
  750. package/fesm5/taiga-ui-core-directives-table-mode.js +2 -2
  751. package/fesm5/taiga-ui-core-directives-table-mode.js.map +1 -1
  752. package/fesm5/taiga-ui-core-directives-textfield-controller.js +35 -35
  753. package/fesm5/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  754. package/fesm5/taiga-ui-core-directives-wrapper.js +9 -9
  755. package/fesm5/taiga-ui-core-directives-wrapper.js.map +1 -1
  756. package/fesm5/taiga-ui-core-enums.js +1 -0
  757. package/fesm5/taiga-ui-core-enums.js.map +1 -1
  758. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  759. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  760. package/fesm5/taiga-ui-core-internal-svg-defs-host.js +1 -1
  761. package/fesm5/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  762. package/fesm5/taiga-ui-core-observables.js +2 -2
  763. package/fesm5/taiga-ui-core-observables.js.map +1 -1
  764. package/fesm5/taiga-ui-core-pipes-calendar-sheet.js +1 -1
  765. package/fesm5/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  766. package/fesm5/taiga-ui-core-pipes-format-number.js +1 -1
  767. package/fesm5/taiga-ui-core-pipes-format-number.js.map +1 -1
  768. package/fesm5/taiga-ui-core-pipes-format-phone.js +3 -3
  769. package/fesm5/taiga-ui-core-pipes-format-phone.js.map +1 -1
  770. package/fesm5/taiga-ui-core-pipes-month.js +1 -1
  771. package/fesm5/taiga-ui-core-pipes-month.js.map +1 -1
  772. package/fesm5/taiga-ui-core-pipes-pluralize.js +1 -1
  773. package/fesm5/taiga-ui-core-pipes-pluralize.js.map +1 -1
  774. package/fesm5/taiga-ui-core-providers.js +2 -2
  775. package/fesm5/taiga-ui-core-providers.js.map +1 -1
  776. package/fesm5/taiga-ui-core-services.js +7 -7
  777. package/fesm5/taiga-ui-core-services.js.map +1 -1
  778. package/fesm5/taiga-ui-core-tokens.js +40 -40
  779. package/fesm5/taiga-ui-core-tokens.js.map +1 -1
  780. package/fesm5/taiga-ui-core-utils-dom.js +16 -16
  781. package/fesm5/taiga-ui-core-utils-dom.js.map +1 -1
  782. package/fesm5/taiga-ui-core-utils-format.js +17 -17
  783. package/fesm5/taiga-ui-core-utils-format.js.map +1 -1
  784. package/fesm5/taiga-ui-core-utils-mask.js +28 -28
  785. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  786. package/fesm5/taiga-ui-core-utils-miscellaneous.js +12 -12
  787. package/fesm5/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  788. package/fesm5/taiga-ui-core-utils-polyfills.js +4 -4
  789. package/fesm5/taiga-ui-core-utils-polyfills.js.map +1 -1
  790. package/package.json +4 -4
  791. package/styles/markup/tui-table.less +33 -0
  792. package/styles/mixins/mixins.less +1 -2
  793. package/styles/mixins/textfield.less +2 -2
  794. package/styles/theme/wrapper/secondary-destructive.less +29 -0
  795. package/styles/theme/wrapper.less +1 -0
@@ -143,15 +143,15 @@ __decorate([
143
143
  Output()
144
144
  ], TuiPrimitiveYearPickerComponent.prototype, "yearClick", void 0);
145
145
  __decorate([
146
- HostBinding('class._single')
146
+ HostBinding(`class._single`)
147
147
  ], TuiPrimitiveYearPickerComponent.prototype, "isSingle", null);
148
148
  TuiPrimitiveYearPickerComponent = __decorate([
149
149
  Component({
150
- selector: 'tui-primitive-year-picker',
150
+ selector: `tui-primitive-year-picker`,
151
151
  template: "<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-primitive-year-picker__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-primitive-year-picker__cell\"\n class=\"t-cell\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-state]=\"getItemState(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n (tuiPressedChange)=\"onItemPressed($event, item)\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"t-item\">{{ item }}</div>\n </div>\n </ng-container>\n</div>\n",
152
152
  changeDetection: ChangeDetectionStrategy.OnPush,
153
153
  styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;z-index:0;display:flex;justify-content:space-between;height:2.25rem;margin:.875rem 0}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:after,.t-item:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:3.9375rem;text-align:center;outline:0;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:2px solid transparent}.t-cell:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%,0);content:'';bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-02)}.t-cell_interval:before{background:var(--tui-base-02)}:host._single .t-cell_interval:before{background:var(--tui-secondary-hover)}.t-cell_interval:not(:last-child):before{right:-3.9375rem}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background-color:var(--tui-primary-text)}.t-cell[data-range]>.t-item{color:var(--tui-primary-text)}.t-cell[data-range]>.t-item:after,.t-cell[data-range]>.t-item:before{background-color:var(--tui-primary)}.t-cell[data-range][data-state=hovered]>.t-item:after,.t-cell[data-range][data-state=hovered]>.t-item:before{background-color:var(--tui-primary-hover)}.t-cell[data-range][data-state=pressed]>.t-item:after,.t-cell[data-range][data-state=pressed]>.t-item:before{background-color:var(--tui-primary-active)}.t-cell[data-range=end]>.t-item:before{left:.25rem}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translateX(1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.25rem}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translateX(-1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-state=disabled]{pointer-events:none}.t-cell[data-state=disabled]>.t-item{opacity:.36}.t-cell[data-state=hovered]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-hover)}.t-cell[data-state=pressed]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-active)}:host{width:15.75rem}.t-row:first-child{margin-top:0}.t-row:last-child{margin-bottom:0}"]
154
154
  })
155
155
  ], TuiPrimitiveYearPickerComponent);
156
156
  export { TuiPrimitiveYearPickerComponent };
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXllYXItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvcHJpbWl0aXZlLXllYXItcGlja2VyLyIsInNvdXJjZXMiOlsicHJpbWl0aXZlLXllYXItcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsT0FBTyxFQUNQLGFBQWEsRUFDYixZQUFZLEVBR1osY0FBYyxFQUNkLFFBQVEsRUFDUixhQUFhLEVBQ2IsT0FBTyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztBQUNsQixNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFRdkIsSUFBYSwrQkFBK0IsR0FBNUMsTUFBYSwrQkFBK0I7SUFBNUM7UUFDWSxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDbEMsZ0JBQVcsR0FBa0IsSUFBSSxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQztRQUk1RCxVQUFLLEdBQWlELElBQUksQ0FBQztRQUkzRCxnQkFBVyxHQUFZLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUkvQyxRQUFHLEdBQVksYUFBYSxDQUFDO1FBSTdCLFFBQUcsR0FBWSxZQUFZLENBQUM7UUFJNUIsd0JBQW1CLEdBQThCLG9CQUFvQixDQUFDO1FBRzdELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBbUpyRCxDQUFDO0lBaEpHLElBQUksUUFBUTtRQUNSLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFFckIsT0FBTyxDQUFDLENBQUMsS0FBSyxJ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LENBQUMsSUFBSSxDQUFDO0lBQzdDLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxPQUFnQixFQUFFLElBQVk7UUFDcEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdDLENBQUM7Q0FDSixDQUFBO0FBdEtHO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFOzhEQUMwQztBQUkzRDtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtvRUFDOEI7QUFJL0M7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7NERBQ1k7QUFJN0I7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7NERBQ1c7QUFJNUI7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7NEVBQ3FEO0FBR3RFO0lBREMsTUFBTSxFQUFFO2tFQUN3QztBQUdqRDtJQURDLFdBQVcsQ0FBQyxlQUFlLENBQUM7K0RBSzVCO0FBakNRLCtCQUErQjtJQU4zQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsMkJBQTJCO1FBQ3JDLHU2QkFBb0Q7UUFFcEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O0tBQ2xELENBQUM7R0FDVywrQkFBK0IsQ0E2SzNDO1NBN0tZLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBpblJhbmdlLFxuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0xBU1RfREFZLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aURheVJhbmdlLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aU1vbnRoLFxuICAgIFR1aU1vbnRoUmFuZ2UsXG4gICAgVHVpWWVhcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUludGVyYWN0aXZlU3RhdGUsIFR1aVJhbmdlU3RhdGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2VudW1zJztcblxuY29uc3QgTElNSVQgPSAxMDA7XG5jb25zdCBJVEVNU19JTl9ST1cgPSA0O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1wcmltaXRpdmUteWVhci1waWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcmltaXRpdmUteWVhci1waWNrZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJpbWl0aXZlLXllYXItcGlja2VyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUHJpbWl0aXZlWWVhclBpY2tlckNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSBob3ZlcmVkSXRlbTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBwcmVzc2VkSXRlbTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjdXJyZW50WWVhciA9IFR1aU1vbnRoLmN1cnJlbnRMb2NhbCgpLnllYXI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWU6IFR1aU1vbnRoUmFuZ2UgfCBUdWlZZWFyIHwgVHVpRGF5UmFuZ2UgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpbml0aWFsSXRlbTogVHVpWWVhciA9IFR1aU1vbnRoLmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbjogVHVpWWVhciA9IFRVSV9GSVJTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4OiBUdWlZZWFyID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPG51bWJlcj4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHllYXJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpWWVhcj4oKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX3NpbmdsZScpXG4gICAgZ2V0IGlzU2luZ2xlKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7dmFsdWV9ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gISF2YWx1ZSAmJiB0aGlzLmlzUmFuZ2UodmFsdWUpICYmIHZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pO1xuICAgIH1cblxuICAgIGdldCByb3dzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwoKHRoaXMuY2FsY3VsYXRlZE1heCAtIHRoaXMuY2FsY3VsYXRlZE1pbikgLyBJVEVNU19JTl9ST1cpO1xuICAgIH1cblxuICAgIGdldCBjYWxjdWxhdGVkTWluKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGluaXRpYWwgPSB0aGlzLmluaXRpYWxJdGVtLnllYXIgLSBMSU1JVDtcblxuICAgICAgICByZXR1cm4gdGhpcy5taW4ueWVhciA+IGluaXRpYWwgPyB0aGlzLm1pbi55ZWFyIDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICBnZXQgY2FsY3VsYXRlZE1heCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBpbml0aWFsID0gdGhpcy5pbml0aWFsSXRlbS55ZWFyICsgTElNSVQ7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubWF4LnllYXIgPCBpbml0aWFsID8gdGhpcy5tYXgueWVhciArIDEgOiBpbml0aWFsO1xuICAgIH1cblxuICAgIGlzUmFuZ2UoaXRlbTogVHVpTW9udGhSYW5nZSB8IFR1aVllYXIpOiBpdGVtIGlzIFR1aU1vbnRoUmFuZ2Uge1xuICAgICAgICByZXR1cm4gaXRlbSBpbnN0YW5jZW9mIFR1aU1vbnRoUmFuZ2U7XG4gICAgfVxuXG4gICAgc2Nyb2xsSXRlbUludG9WaWV3KGl0ZW06IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbml0aWFsSXRlbS55ZWFyID09PSBpdGVtO1xuICAgIH1cblxuICAgIGdldEl0ZW0ocm93SW5kZXg6IG51bWJlciwgY29sSW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiByb3dJbmRleCAqIElURU1TX0lOX1JPVyArIGNvbEluZGV4ICsgdGhpcy5jYWxjdWxhdGVkTWluO1xuICAgIH1cblxuICAgIGdldEl0ZW1TdGF0ZShpdGVtOiBudW1iZXIpOiBUdWlJbnRlcmFjdGl2ZVN0YXRlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtkaXNhYmxlZEl0ZW1IYW5kbGVyLCBtYXgsIHByZXNzZWRJdGVtLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIG1heC55ZWFyIDwgaXRlbSB8fFxuICAgICAgICAgICAgKGRpc2FibGVkSXRlbUhhbmRsZXIgIT09IEFMV0FZU19GQUxTRV9IQU5ETEVSICYmIGRpc2FibGVkSXRlbUhhbmRsZXIoaXRlbSkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aUludGVyYWN0aXZlU3RhdGUuRGlzYWJsZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJlc3NlZEl0ZW0gPT09IGl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlJbnRlcmFjdGl2ZVN0YXRlLlByZXNzZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG92ZXJlZEl0ZW0gPT09IGl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlJbnRlcmFjdGl2ZVN0YXRlLkhvdmVyZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXRJdGVtUmFuZ2UoaXRlbTogbnVtYmVyKTogVHVpUmFuZ2VTdGF0ZSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFR1aVllYXIpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS55ZWFyID09PSBpdGVtID8gVHVpUmFuZ2VTdGF0ZS5TaW5nbGUgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHZhbHVlLmZyb20ueWVhciA9PT0gaXRlbSAmJiAhdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0gIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbSA+IHZhbHVlLmZyb20ueWVhciAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20ueWVhciA9PT0gaXRlbSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pKSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0gPT09IGl0ZW0gJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbSA8IHZhbHVlLmZyb20ueWVhciAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlSYW5nZVN0YXRlLlN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHZhbHVlLnRvLnllYXIgPT09IGl0ZW0gJiYgIXZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pKSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0gPCB2YWx1ZS5mcm9tLnllYXIgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5mcm9tLnllYXIgPT09IGl0ZW0gJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5mcm9tLnllYXJTYW1lKHZhbHVlLnRvKSkgfHxcbiAgICAgICAgICAgIChob3ZlcmVkSXRlbSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtID09PSBpdGVtICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0gPiB2YWx1ZS5mcm9tLnllYXIgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5mcm9tLnllYXJTYW1lKHZhbHVlLnRvKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpUmFuZ2VTdGF0ZS5FbmQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykgJiYgdmFsdWUuZnJvbS55ZWFyID09PSBpdGVtXG4gICAgICAgICAgICA/IFR1aVJhbmdlU3RhdGUuU2luZ2xlXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfVxuXG4gICAgaXRlbUlzVG9kYXkoaXRlbTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyID09PSBpdGVtO1xuICAgIH1cblxuICAgIGl0ZW1Jc0ludGVydmFsKGl0ZW06IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8ICF0aGlzLmlzUmFuZ2UodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUuZnJvbS55ZWFyIDw9IGl0ZW0gJiYgdmFsdWUudG8ueWVhciA+IGl0ZW07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG92ZXJlZEl0ZW0gPT09IG51bGwgfHwgdmFsdWUuZnJvbS55ZWFyID09PSBob3ZlcmVkSXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGluUmFuZ2UoXG4gICAgICAgICAgICBpdGVtLFxuICAgICAgICAgICAgTWF0aC5taW4odmFsdWUuZnJvbS55ZWFyLCBob3ZlcmVkSXRlbSksXG4gICAgICAgICAgICBNYXRoLm1heCh2YWx1ZS5mcm9tLnllYXIsIGhvdmVyZWRJdGVtKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4sIGl0ZW06IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWRJdGVtKGhvdmVyZWQsIGl0ZW0pO1xuICAgIH1cblxuICAgIG9uSXRlbVByZXNzZWQocHJlc3NlZDogYm9vbGVhbiwgaXRlbTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJlc3NlZEl0ZW0ocHJlc3NlZCwgaXRlbSk7XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2soaXRlbTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMueWVhckNsaWNrLmVtaXQobmV3IFR1aVllYXIoaXRlbSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSG92ZXJlZEl0ZW0oaG92ZXJlZDogYm9vbGVhbiwgaXRlbTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG92ZXJlZEl0ZW0gPSBob3ZlcmVkID8gaXRlbSA6IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVQcmVzc2VkSXRlbShwcmVzc2VkOiBib29sZWFuLCBpdGVtOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcmVzc2VkSXRlbSA9IHByZXNzZWQgPyBpdGVtIDogbnVsbDtcbiAgICB9XG59XG4iXX0=
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXllYXItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvcHJpbWl0aXZlLXllYXItcGlja2VyLyIsInNvdXJjZXMiOlsicHJpbWl0aXZlLXllYXItcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsT0FBTyxFQUNQLGFBQWEsRUFDYixZQUFZLEVBR1osY0FBYyxFQUNkLFFBQVEsRUFDUixhQUFhLEVBQ2IsT0FBTyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztBQUNsQixNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFRdkIsSUFBYSwrQkFBK0IsR0FBNUMsTUFBYSwrQkFBK0I7SUFBNUM7UUFDWSxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDbEMsZ0JBQVcsR0FBa0IsSUFBSSxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQztRQUk1RCxVQUFLLEdBQWlELElBQUksQ0FBQztRQUkzRCxnQkFBVyxHQUFZLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUkvQyxRQUFHLEdBQVksYUFBYSxDQUFDO1FBSTdCLFFBQUcsR0FBWSxZQUFZLENBQUM7UUFJNUIsd0JBQW1CLEdBQThCLG9CQUFvQixDQUFDO1FBRzdELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBbUpyRCxDQUFDO0lBaEpHLElBQUksUUFBUTtRQUNSLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFFckIsT0FBTyxDQUFDLENBQUMsS0FBSyxJ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LENBQUMsSUFBSSxDQUFDO0lBQzdDLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxPQUFnQixFQUFFLElBQVk7UUFDcEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdDLENBQUM7Q0FDSixDQUFBO0FBdEtHO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFOzhEQUMwQztBQUkzRDtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtvRUFDOEI7QUFJL0M7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7NERBQ1k7QUFJN0I7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7NERBQ1c7QUFJNUI7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7NEVBQ3FEO0FBR3RFO0lBREMsTUFBTSxFQUFFO2tFQUN3QztBQUdqRDtJQURDLFdBQVcsQ0FBQyxlQUFlLENBQUM7K0RBSzVCO0FBakNRLCtCQUErQjtJQU4zQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsMkJBQTJCO1FBQ3JDLHU2QkFBb0Q7UUFFcEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O0tBQ2xELENBQUM7R0FDVywrQkFBK0IsQ0E2SzNDO1NBN0tZLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBpblJhbmdlLFxuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0xBU1RfREFZLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aURheVJhbmdlLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aU1vbnRoLFxuICAgIFR1aU1vbnRoUmFuZ2UsXG4gICAgVHVpWWVhcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUludGVyYWN0aXZlU3RhdGUsIFR1aVJhbmdlU3RhdGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2VudW1zJztcblxuY29uc3QgTElNSVQgPSAxMDA7XG5jb25zdCBJVEVNU19JTl9ST1cgPSA0O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1wcmltaXRpdmUteWVhci1waWNrZXJgLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9wcmltaXRpdmUteWVhci1waWNrZXIudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vcHJpbWl0aXZlLXllYXItcGlja2VyLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUHJpbWl0aXZlWWVhclBpY2tlckNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSBob3ZlcmVkSXRlbTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBwcmVzc2VkSXRlbTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjdXJyZW50WWVhciA9IFR1aU1vbnRoLmN1cnJlbnRMb2NhbCgpLnllYXI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWU6IFR1aU1vbnRoUmFuZ2UgfCBUdWlZZWFyIHwgVHVpRGF5UmFuZ2UgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpbml0aWFsSXRlbTogVHVpWWVhciA9IFR1aU1vbnRoLmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbjogVHVpWWVhciA9IFRVSV9GSVJTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4OiBUdWlZZWFyID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPG51bWJlcj4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHllYXJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpWWVhcj4oKTtcblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX3NpbmdsZWApXG4gICAgZ2V0IGlzU2luZ2xlKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7dmFsdWV9ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gISF2YWx1ZSAmJiB0aGlzLmlzUmFuZ2UodmFsdWUpICYmIHZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pO1xuICAgIH1cblxuICAgIGdldCByb3dzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwoKHRoaXMuY2FsY3VsYXRlZE1heCAtIHRoaXMuY2FsY3VsYXRlZE1pbikgLyBJVEVNU19JTl9ST1cpO1xuICAgIH1cblxuICAgIGdldCBjYWxjdWxhdGVkTWluKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGluaXRpYWwgPSB0aGlzLmluaXRpYWxJdGVtLnllYXIgLSBMSU1JVDtcblxuICAgICAgICByZXR1cm4gdGhpcy5taW4ueWVhciA+IGluaXRpYWwgPyB0aGlzLm1pbi55ZWFyIDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICBnZXQgY2FsY3VsYXRlZE1heCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBpbml0aWFsID0gdGhpcy5pbml0aWFsSXRlbS55ZWFyICsgTElNSVQ7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubWF4LnllYXIgPCBpbml0aWFsID8gdGhpcy5tYXgueWVhciArIDEgOiBpbml0aWFsO1xuICAgIH1cblxuICAgIGlzUmFuZ2UoaXRlbTogVHVpTW9udGhSYW5nZSB8IFR1aVllYXIpOiBpdGVtIGlzIFR1aU1vbnRoUmFuZ2Uge1xuICAgICAgICByZXR1cm4gaXRlbSBpbnN0YW5jZW9mIFR1aU1vbnRoUmFuZ2U7XG4gICAgfVxuXG4gICAgc2Nyb2xsSXRlbUludG9WaWV3KGl0ZW06IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbml0aWFsSXRlbS55ZWFyID09PSBpdGVtO1xuICAgIH1cblxuICAgIGdldEl0ZW0ocm93SW5kZXg6IG51bWJlciwgY29sSW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiByb3dJbmRleCAqIElURU1TX0lOX1JPVyArIGNvbEluZGV4ICsgdGhpcy5jYWxjdWxhdGVkTWluO1xuICAgIH1cblxuICAgIGdldEl0ZW1TdGF0ZShpdGVtOiBudW1iZXIpOiBUdWlJbnRlcmFjdGl2ZVN0YXRlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtkaXNhYmxlZEl0ZW1IYW5kbGVyLCBtYXgsIHByZXNzZWRJdGVtLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIG1heC55ZWFyIDwgaXRlbSB8fFxuICAgICAgICAgICAgKGRpc2FibGVkSXRlbUhhbmRsZXIgIT09IEFMV0FZU19GQUxTRV9IQU5ETEVSICYmIGRpc2FibGVkSXRlbUhhbmRsZXIoaXRlbSkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aUludGVyYWN0aXZlU3RhdGUuRGlzYWJsZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJlc3NlZEl0ZW0gPT09IGl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlJbnRlcmFjdGl2ZVN0YXRlLlByZXNzZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG92ZXJlZEl0ZW0gPT09IGl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlJbnRlcmFjdGl2ZVN0YXRlLkhvdmVyZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXRJdGVtUmFuZ2UoaXRlbTogbnVtYmVyKTogVHVpUmFuZ2VTdGF0ZSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFR1aVllYXIpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS55ZWFyID09PSBpdGVtID8gVHVpUmFuZ2VTdGF0ZS5TaW5nbGUgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHZhbHVlLmZyb20ueWVhciA9PT0gaXRlbSAmJiAhdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0gIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbSA+IHZhbHVlLmZyb20ueWVhciAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20ueWVhciA9PT0gaXRlbSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pKSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0gPT09IGl0ZW0gJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbSA8IHZhbHVlLmZyb20ueWVhciAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlSYW5nZVN0YXRlLlN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHZhbHVlLnRvLnllYXIgPT09IGl0ZW0gJiYgIXZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pKSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0gPCB2YWx1ZS5mcm9tLnllYXIgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5mcm9tLnllYXIgPT09IGl0ZW0gJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5mcm9tLnllYXJTYW1lKHZhbHVlLnRvKSkgfHxcbiAgICAgICAgICAgIChob3ZlcmVkSXRlbSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtID09PSBpdGVtICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0gPiB2YWx1ZS5mcm9tLnllYXIgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5mcm9tLnllYXJTYW1lKHZhbHVlLnRvKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpUmFuZ2VTdGF0ZS5FbmQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykgJiYgdmFsdWUuZnJvbS55ZWFyID09PSBpdGVtXG4gICAgICAgICAgICA/IFR1aVJhbmdlU3RhdGUuU2luZ2xlXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfVxuXG4gICAgaXRlbUlzVG9kYXkoaXRlbTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyID09PSBpdGVtO1xuICAgIH1cblxuICAgIGl0ZW1Jc0ludGVydmFsKGl0ZW06IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8ICF0aGlzLmlzUmFuZ2UodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUuZnJvbS55ZWFyIDw9IGl0ZW0gJiYgdmFsdWUudG8ueWVhciA+IGl0ZW07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG92ZXJlZEl0ZW0gPT09IG51bGwgfHwgdmFsdWUuZnJvbS55ZWFyID09PSBob3ZlcmVkSXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGluUmFuZ2UoXG4gICAgICAgICAgICBpdGVtLFxuICAgICAgICAgICAgTWF0aC5taW4odmFsdWUuZnJvbS55ZWFyLCBob3ZlcmVkSXRlbSksXG4gICAgICAgICAgICBNYXRoLm1heCh2YWx1ZS5mcm9tLnllYXIsIGhvdmVyZWRJdGVtKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4sIGl0ZW06IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWRJdGVtKGhvdmVyZWQsIGl0ZW0pO1xuICAgIH1cblxuICAgIG9uSXRlbVByZXNzZWQocHJlc3NlZDogYm9vbGVhbiwgaXRlbTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJlc3NlZEl0ZW0ocHJlc3NlZCwgaXRlbSk7XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2soaXRlbTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMueWVhckNsaWNrLmVtaXQobmV3IFR1aVllYXIoaXRlbSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSG92ZXJlZEl0ZW0oaG92ZXJlZDogYm9vbGVhbiwgaXRlbTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG92ZXJlZEl0ZW0gPSBob3ZlcmVkID8gaXRlbSA6IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVQcmVzc2VkSXRlbShwcmVzc2VkOiBib29sZWFuLCBpdGVtOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcmVzc2VkSXRlbSA9IHByZXNzZWQgPyBpdGVtIDogbnVsbDtcbiAgICB9XG59XG4iXX0=
@@ -19,7 +19,7 @@ let TuiRootComponent = class TuiRootComponent {
19
19
  ? merge(...this.dialogs).pipe(map(({ length }) => !length))
20
20
  : of(!this.isMobile);
21
21
  tuiAssert.enabled = enabled;
22
- body.setAttribute('data-tui-theme', theme.toLowerCase());
22
+ body.setAttribute(`data-tui-theme`, theme.toLowerCase());
23
23
  }
24
24
  };
25
25
  TuiRootComponent.ctorParameters = () => [
@@ -34,16 +34,16 @@ TuiRootComponent.ctorParameters = () => [
34
34
  ];
35
35
  TuiRootComponent = __decorate([
36
36
  Component({
37
- selector: 'tui-root',
38
- template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n <!-- TODO: 3.0 Remove-->\n <ng-content select=\"tuiOverNotifications\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n",
37
+ selector: `tui-root`,
38
+ template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n <!-- TODO: 3.0 Remove-->\n <ng-content select=\"tuiOverNotifications\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n",
39
39
  changeDetection: ChangeDetectionStrategy.OnPush,
40
40
  providers: [TUI_IS_MOBILE_RES_PROVIDER],
41
41
  host: {
42
42
  'data-tui-version': VERSION,
43
- '[style.--tui-duration]': 'duration + "ms"',
44
- '($.class._mobile)': 'isMobileRes$',
43
+ '[style.--tui-duration]': `duration + "ms"`,
44
+ '($.class._mobile)': `isMobileRes$`,
45
45
  },
46
- styles: ["@-webkit-keyframes tuiPresent{to{content:'1'}}@keyframes tuiPresent{to{content:'1'}}:host{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}.scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.content{position:relative;z-index:0;height:100%}"]
46
+ styles: ["@-webkit-keyframes tuiPresent{to{content:'1'}}@keyframes tuiPresent{to{content:'1'}}:host{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}.t-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.t-content{position:relative;z-index:0;height:100%}"]
47
47
  }),
48
48
  __param(0, Inject(TUI_ANIMATIONS_DURATION)),
49
49
  __param(1, Inject(ElementRef)),
@@ -55,4 +55,4 @@ TuiRootComponent = __decorate([
55
55
  __param(7, Inject(TUI_THEME))
56
56
  ], TuiRootComponent);
57
57
  export { TuiRootComponent };
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3Jvb3QvIiwic291cmNlcyI6WyJyb290LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2pELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixTQUFTLEdBQ1osTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLFdBQVc7QUFhWCxJQUFhLGdCQUFnQixHQUE3QixNQUFhLGdCQUFnQjtJQU16QixZQUM4QyxRQUFnQixFQUM3QixVQUFtQyxFQUV2RCxPQUFzRCxFQUN2QixRQUFpQixFQUM3QixPQUFnQixFQUNSLFlBQWlDLEVBQ25ELEVBQUMsSUFBSSxFQUFXLEVBQ2YsS0FBYTtRQVJVLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDN0IsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFFdkQsWUFBTyxHQUFQLE9BQU8sQ0FBK0M7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUVyQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFaaEUsZ0JBQVcsR0FDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUNqQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFhekIsU0FBUyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0osQ0FBQTs7eUNBYlEsTUFBTSxTQUFDLHVCQUF1QjtZQUNVLFVBQVUsdUJBQWxELE1BQU0sU0FBQyxVQUFVOzRDQUNqQixNQUFNLFNBQUMsV0FBVzswQ0FFbEIsTUFBTSxTQUFDLGFBQWE7MENBQ3BCLE1BQU0sU0FBQyxrQkFBa0I7WUFDd0IsVUFBVSx1QkFBM0QsTUFBTSxTQUFDLGlCQUFpQjtZQUNDLFFBQVEsdUJBQWpDLE1BQU0sU0FBQyxRQUFRO3lDQUNmLE1BQU0sU0FBQyxTQUFTOztBQWZaLGdCQUFnQjtJQVo1QixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsVUFBVTtRQUNwQix5dkJBQWlDO1FBRWpDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLFNBQVMsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1FBQ3ZDLElBQUksRUFBRTtZQUNGLGtCQUFrQixFQUFFLE9BQU87WUFDM0Isd0JBQXdCLEVBQUUsaUJBQWlCO1lBQzNDLG1CQUFtQixFQUFFLGNBQWM7U0FDdEM7O0tBQ0osQ0FBQztJQVFPLFdBQUEsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUE7SUFDL0IsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFFbkIsV0FBQSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDckIsV0FBQSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUMxQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hCLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0dBZmIsZ0JBQWdCLENBb0I1QjtTQXBCWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfRElBTE9HUywgVFVJX0lTX01PQklMRSwgdHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VkVSU0lPTn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VFVJX0lTX01PQklMRV9SRVNfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Byb3ZpZGVycyc7XG5pbXBvcnQge1xuICAgIFRVSV9BTklNQVRJT05TX0RVUkFUSU9OLFxuICAgIFRVSV9BU1NFUlRfRU5BQkxFRCxcbiAgICBUVUlfSVNfTU9CSUxFX1JFUyxcbiAgICBUVUlfVEhFTUUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcm9vdCcsXG4gICAgdGVtcGxhdGVVcmw6ICdyb290LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Jvb3Quc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1RVSV9JU19NT0JJTEVfUkVTX1BST1ZJREVSXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdkYXRhLXR1aS12ZXJzaW9uJzogVkVSU0lPTixcbiAgICAgICAgJ1tzdHlsZS4tLXR1aS1kdXJhdGlvbl0nOiAnZHVyYXRpb24gKyBcIm1zXCInLFxuICAgICAgICAnKCQuY2xhc3MuX21vYmlsZSknOiAnaXNNb2JpbGVSZXMkJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlSb290Q29tcG9uZW50IHtcbiAgICByZWFkb25seSBzY3JvbGxiYXJzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9XG4gICAgICAgIHRoaXMuZGlhbG9ncy5sZW5ndGggJiYgIXRoaXMuaXNNb2JpbGVcbiAgICAgICAgICAgID8gbWVyZ2UoLi4udGhpcy5kaWFsb2dzKS5waXBlKG1hcCgoe2xlbmd0aH0pID0+ICFsZW5ndGgpKVxuICAgICAgICAgICAgOiBvZighdGhpcy5pc01vYmlsZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OU19EVVJBVElPTikgcmVhZG9ubHkgZHVyYXRpb246IG51bWJlcixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfRElBTE9HUylcbiAgICAgICAgcmVhZG9ubHkgZGlhbG9nczogUmVhZG9ubHlBcnJheTxPYnNlcnZhYmxlPHJlYWRvbmx5IHVua25vd25bXT4+LFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX0FTU0VSVF9FTkFCTEVEKSBlbmFibGVkOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEVfUkVTKSByZWFkb25seSBpc01vYmlsZVJlcyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4sXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHtib2R5fTogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoVFVJX1RIRU1FKSB0aGVtZTogc3RyaW5nLFxuICAgICkge1xuICAgICAgICB0dWlBc3NlcnQuZW5hYmxlZCA9IGVuYWJsZWQ7XG4gICAgICAgIGJvZHkuc2V0QXR0cmlidXRlKCdkYXRhLXR1aS10aGVtZScsIHRoZW1lLnRvTG93ZXJDYXNlKCkpO1xuICAgIH1cbn1cbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3Jvb3QvIiwic291cmNlcyI6WyJyb290LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2pELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixTQUFTLEdBQ1osTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLFdBQVc7QUFhWCxJQUFhLGdCQUFnQixHQUE3QixNQUFhLGdCQUFnQjtJQU16QixZQUM4QyxRQUFnQixFQUM3QixVQUFtQyxFQUV2RCxPQUFzRCxFQUN2QixRQUFpQixFQUM3QixPQUFnQixFQUNSLFlBQWlDLEVBQ25ELEVBQUMsSUFBSSxFQUFXLEVBQ2YsS0FBYTtRQVJVLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDN0IsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFFdkQsWUFBTyxHQUFQLE9BQU8sQ0FBK0M7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUVyQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFaaEUsZ0JBQVcsR0FDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUNqQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFhekIsU0FBUyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0osQ0FBQTs7eUNBYlEsTUFBTSxTQUFDLHVCQUF1QjtZQUNVLFVBQVUsdUJBQWxELE1BQU0sU0FBQyxVQUFVOzRDQUNqQixNQUFNLFNBQUMsV0FBVzswQ0FFbEIsTUFBTSxTQUFDLGFBQWE7MENBQ3BCLE1BQU0sU0FBQyxrQkFBa0I7WUFDd0IsVUFBVSx1QkFBM0QsTUFBTSxTQUFDLGlCQUFpQjtZQUNDLFFBQVEsdUJBQWpDLE1BQU0sU0FBQyxRQUFRO3lDQUNmLE1BQU0sU0FBQyxTQUFTOztBQWZaLGdCQUFnQjtJQVo1QixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsVUFBVTtRQUNwQiw2dkJBQWlDO1FBRWpDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLFNBQVMsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1FBQ3ZDLElBQUksRUFBRTtZQUNGLGtCQUFrQixFQUFFLE9BQU87WUFDM0Isd0JBQXdCLEVBQUUsaUJBQWlCO1lBQzNDLG1CQUFtQixFQUFFLGNBQWM7U0FDdEM7O0tBQ0osQ0FBQztJQVFPLFdBQUEsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUE7SUFDL0IsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFFbkIsV0FBQSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDckIsV0FBQSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUMxQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hCLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0dBZmIsZ0JBQWdCLENBb0I1QjtTQXBCWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfRElBTE9HUywgVFVJX0lTX01PQklMRSwgdHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VkVSU0lPTn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VFVJX0lTX01PQklMRV9SRVNfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Byb3ZpZGVycyc7XG5pbXBvcnQge1xuICAgIFRVSV9BTklNQVRJT05TX0RVUkFUSU9OLFxuICAgIFRVSV9BU1NFUlRfRU5BQkxFRCxcbiAgICBUVUlfSVNfTU9CSUxFX1JFUyxcbiAgICBUVUlfVEhFTUUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktcm9vdGAsXG4gICAgdGVtcGxhdGVVcmw6IGByb290LnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL3Jvb3Quc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1RVSV9JU19NT0JJTEVfUkVTX1BST1ZJREVSXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdkYXRhLXR1aS12ZXJzaW9uJzogVkVSU0lPTixcbiAgICAgICAgJ1tzdHlsZS4tLXR1aS1kdXJhdGlvbl0nOiBgZHVyYXRpb24gKyBcIm1zXCJgLFxuICAgICAgICAnKCQuY2xhc3MuX21vYmlsZSknOiBgaXNNb2JpbGVSZXMkYCxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlSb290Q29tcG9uZW50IHtcbiAgICByZWFkb25seSBzY3JvbGxiYXJzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9XG4gICAgICAgIHRoaXMuZGlhbG9ncy5sZW5ndGggJiYgIXRoaXMuaXNNb2JpbGVcbiAgICAgICAgICAgID8gbWVyZ2UoLi4udGhpcy5kaWFsb2dzKS5waXBlKG1hcCgoe2xlbmd0aH0pID0+ICFsZW5ndGgpKVxuICAgICAgICAgICAgOiBvZighdGhpcy5pc01vYmlsZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OU19EVVJBVElPTikgcmVhZG9ubHkgZHVyYXRpb246IG51bWJlcixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfRElBTE9HUylcbiAgICAgICAgcmVhZG9ubHkgZGlhbG9nczogUmVhZG9ubHlBcnJheTxPYnNlcnZhYmxlPHJlYWRvbmx5IHVua25vd25bXT4+LFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX0FTU0VSVF9FTkFCTEVEKSBlbmFibGVkOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEVfUkVTKSByZWFkb25seSBpc01vYmlsZVJlcyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4sXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHtib2R5fTogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoVFVJX1RIRU1FKSB0aGVtZTogc3RyaW5nLFxuICAgICkge1xuICAgICAgICB0dWlBc3NlcnQuZW5hYmxlZCA9IGVuYWJsZWQ7XG4gICAgICAgIGJvZHkuc2V0QXR0cmlidXRlKGBkYXRhLXR1aS10aGVtZWAsIHRoZW1lLnRvTG93ZXJDYXNlKCkpO1xuICAgIH1cbn1cbiJdfQ==
@@ -18,7 +18,7 @@ let TuiScrollControlsComponent = class TuiScrollControlsComponent {
18
18
  this.animationFrame$ = animationFrame$;
19
19
  this.mode$ = mode$;
20
20
  this.refresh$ = this.animationFrame$.pipe(throttleTime(300), map(() => this.scrollbars), startWith([false, false]), distinctUntilChanged((a, b) => a[0] === b[0] && a[1] === b[1]), tuiZoneOptimized(this.ngZone));
21
- this.animation = Object.assign({ value: '' }, this.options);
21
+ this.animation = Object.assign({ value: `` }, this.options);
22
22
  }
23
23
  get scrollbars() {
24
24
  const { clientHeight, scrollHeight, clientWidth, scrollWidth } = this.scrollRef
@@ -40,15 +40,15 @@ TuiScrollControlsComponent.ctorParameters = () => [
40
40
  ];
41
41
  TuiScrollControlsComponent = __decorate([
42
42
  Component({
43
- selector: 'tui-scroll-controls',
44
- template: "<ng-container *tuiLet=\"refresh$ | async as bars\">\n <div\n *ngIf=\"bars[0]\"\n tuiScrollbarWrapper\n class=\"bar bar_vertical\"\n [@tuiFadeIn]=\"animation\"\n [class.bar_has-horizontal]=\"bars[1]\"\n >\n <div\n tuiScrollbar=\"vertical\"\n class=\"thumb\"\n ></div>\n </div>\n <div\n *ngIf=\"bars[1]\"\n tuiScrollbarWrapper\n class=\"bar bar_horizontal\"\n [@tuiFadeIn]=\"animation\"\n [class.bar_has-vertical]=\"bars[0]\"\n >\n <div\n tuiScrollbar=\"horizontal\"\n class=\"thumb\"\n ></div>\n </div>\n</ng-container>\n",
43
+ selector: `tui-scroll-controls`,
44
+ template: "<ng-container *tuiLet=\"refresh$ | async as bars\">\n <div\n *ngIf=\"bars[0]\"\n tuiScrollbarWrapper\n class=\"t-bar t-bar_vertical\"\n [@tuiFadeIn]=\"animation\"\n [class.t-bar_has-horizontal]=\"bars[1]\"\n >\n <div\n tuiScrollbar=\"vertical\"\n class=\"t-thumb\"\n ></div>\n </div>\n <div\n *ngIf=\"bars[1]\"\n tuiScrollbarWrapper\n class=\"t-bar t-bar_horizontal\"\n [@tuiFadeIn]=\"animation\"\n [class.t-bar_has-vertical]=\"bars[0]\"\n >\n <div\n tuiScrollbar=\"horizontal\"\n class=\"t-thumb\"\n ></div>\n </div>\n</ng-container>\n",
45
45
  changeDetection: ChangeDetectionStrategy.OnPush,
46
46
  animations: [tuiFadeIn],
47
47
  providers: [MODE_PROVIDER],
48
48
  host: {
49
- '($.data-mode.attr)': 'mode$',
49
+ '($.data-mode.attr)': `mode$`,
50
50
  },
51
- styles: [":host{position:-webkit-sticky;position:sticky;top:0;left:0;z-index:1;min-width:calc(100% - 1px);min-height:calc(100% - 1px);float:left;margin-right:calc(-100% + 1px);-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:calc(-100% + 1px);margin-inline-end:calc(-100% + 1px);pointer-events:none}.bar{position:absolute;right:0;bottom:0;pointer-events:auto}.bar_vertical{top:0;width:.875rem}.bar_horizontal{left:0;height:.875rem}.bar_has-horizontal{bottom:.5rem}.bar_has-vertical{right:.5rem}.thumb{transition-duration:.15s;transition-timing-function:ease-in-out;position:absolute;border-radius:6.25rem;border:.25rem solid transparent;cursor:pointer;pointer-events:auto;background:var(--tui-text-01);background-clip:content-box;box-sizing:border-box;transition-property:width,height;opacity:.2}.thumb:hover{opacity:.24}.thumb:active{opacity:.48}:host[data-mode=onDark] .thumb{background-color:var(--tui-text-01-night)}.bar_vertical .thumb{right:0;width:.75rem;min-height:1.25rem}.bar_vertical .thumb:active,.bar_vertical:hover .thumb{width:.875rem}.bar_horizontal .thumb{bottom:0;height:.75rem;min-width:1.25rem}.bar_horizontal .thumb:active,.bar_horizontal:hover .thumb{height:.875rem}"]
51
+ styles: [":host{position:-webkit-sticky;position:sticky;top:0;left:0;z-index:1;min-width:calc(100% - 1px);min-height:calc(100% - 1px);float:left;margin-right:calc(-100% + 1px);-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:calc(-100% + 1px);margin-inline-end:calc(-100% + 1px);pointer-events:none}.t-bar{position:absolute;right:0;bottom:0;pointer-events:auto}.t-bar_vertical{top:0;width:.875rem}.t-bar_horizontal{left:0;height:.875rem}.t-bar_has-horizontal{bottom:.5rem}.t-bar_has-vertical{right:.5rem}.t-thumb{transition-duration:.15s;transition-timing-function:ease-in-out;position:absolute;border-radius:6.25rem;border:.25rem solid transparent;cursor:pointer;pointer-events:auto;background:var(--tui-text-01);background-clip:content-box;box-sizing:border-box;transition-property:width,height;opacity:.2}.t-thumb:hover{opacity:.24}.t-thumb:active{opacity:.48}:host[data-mode=onDark] .t-thumb{background-color:var(--tui-text-01-night)}.t-bar_vertical .t-thumb{right:0;width:.75rem;min-height:1.25rem}.t-bar_vertical .t-thumb:active,.t-bar_vertical:hover .t-thumb{width:.875rem}.t-bar_horizontal .t-thumb{bottom:0;height:.75rem;min-width:1.25rem}.t-bar_horizontal .t-thumb:active,.t-bar_horizontal:hover .t-thumb{height:.875rem}"]
52
52
  }),
53
53
  __param(0, Inject(TUI_ANIMATION_OPTIONS)),
54
54
  __param(1, Inject(NgZone)),
@@ -59,4 +59,4 @@ TuiScrollControlsComponent = __decorate([
59
59
  __param(5, Inject(TUI_MODE))
60
60
  ], TuiScrollControlsComponent);
61
61
  export { TuiScrollControlsComponent };
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWNvbnRyb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsLWNvbnRyb2xzLyIsInNvdXJjZXMiOlsic2Nyb2xsLWNvbnRyb2xzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLFdBQVc7QUFZWCxJQUFhLDBCQUEwQixHQUF2QyxNQUFhLDBCQUEwQjtJQWNuQyxZQUNvRCxPQUF5QixFQUN4QyxNQUFjLEVBQ1osV0FBcUIsRUFHdkMsU0FBeUMsRUFDaEIsZUFBbUMsRUFDbEQsS0FBdUM7UUFQbEIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFDeEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNaLGdCQUFXLEdBQVgsV0FBVyxDQUFVO1FBR3ZDLGNBQVMsR0FBVCxTQUFTLENBQWdDO1FBQ2hCLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUNsRCxVQUFLLEdBQUwsS0FBSyxDQUFrQztRQXJCN0QsYUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUN6QyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQzFCLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUN6QixvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM5RCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQ2hDLENBQUM7UUFFTyxjQUFTLEdBQUcsZ0JBQ2pCLEtBQUssRUFBRSxFQUFFLElBQ04sSUFBSSxDQUFDLE9BQU8sQ0FDVCxDQUFDO0lBV1IsQ0FBQztJQUVKLElBQVksVUFBVTtRQUNsQixNQUFNLEVBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVM7WUFDekUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYTtZQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUM7UUFFdkMsT0FBTztZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRztZQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUc7U0FDckQsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFBOzs0Q0FwQlEsTUFBTSxTQUFDLHFCQUFxQjtZQUNZLE1BQU0sdUJBQTlDLE1BQU0sU0FBQyxNQUFNO1lBQ2tDLFFBQVEsdUJBQXZELE1BQU0sU0FBQyxRQUFRO1lBR1ksVUFBVSx1QkFGckMsUUFBUSxZQUNSLE1BQU0sU0FBQyxjQUFjO1lBRXFDLFVBQVUsdUJBQXBFLE1BQU0sU0FBQyxlQUFlO1lBQ1csVUFBVSx1QkFBM0MsTUFBTSxTQUFDLFFBQVE7O0FBdEJYLDBCQUEwQjtJQVh0QyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUscUJBQXFCO1FBQy9CLG9yQkFBOEM7UUFFOUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3ZCLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUMxQixJQUFJLEVBQUU7WUFDRixvQkFBb0IsRUFBRSxPQUFPO1NBQ2hDOztLQUNKLENBQUM7SUFnQk8sV0FBQSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtJQUM3QixXQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNkLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hCLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUV0QixXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUN2QixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtHQXRCWiwwQkFBMEIsQ0FtQ3RDO1NBbkNZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7dHVpWm9uZU9wdGltaXplZH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge3R1aUZhZGVJbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge01PREVfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05fT1BUSU9OUywgVFVJX01PREUsIFRVSV9TQ1JPTExfUkVGfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlCcmlnaHRuZXNzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzdGFydFdpdGgsIHRocm90dGxlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktc2Nyb2xsLWNvbnRyb2xzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2Nyb2xsLWNvbnRyb2xzLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Njcm9sbC1jb250cm9scy5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgYW5pbWF0aW9uczogW3R1aUZhZGVJbl0sXG4gICAgcHJvdmlkZXJzOiBbTU9ERV9QUk9WSURFUl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogJ21vZGUkJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxDb250cm9sc0NvbXBvbmVudCB7XG4gICAgcmVhZG9ubHkgcmVmcmVzaCQgPSB0aGlzLmFuaW1hdGlvbkZyYW1lJC5waXBlKFxuICAgICAgICB0aHJvdHRsZVRpbWUoMzAwKSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuc2Nyb2xsYmFycyksXG4gICAgICAgIHN0YXJ0V2l0aChbZmFsc2UsIGZhbHNlXSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhWzBdID09PSBiWzBdICYmIGFbMV0gPT09IGJbMV0pLFxuICAgICAgICB0dWlab25lT3B0aW1pemVkKHRoaXMubmdab25lKSxcbiAgICApO1xuXG4gICAgcmVhZG9ubHkgYW5pbWF0aW9uID0ge1xuICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICB9IGFzIGNvbnN0O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0FOSU1BVElPTl9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IEFuaW1hdGlvbk9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfU0NST0xMX1JFRilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCxcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIHByaXZhdGUgcmVhZG9ubHkgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICApIHt9XG5cbiAgICBwcml2YXRlIGdldCBzY3JvbGxiYXJzKCk6IFtib29sZWFuLCBib29sZWFuXSB7XG4gICAgICAgIGNvbnN0IHtjbGllbnRIZWlnaHQsIHNjcm9sbEhlaWdodCwgY2xpZW50V2lkdGgsIHNjcm9sbFdpZHRofSA9IHRoaXMuc2Nyb2xsUmVmXG4gICAgICAgICAgICA/IHRoaXMuc2Nyb2xsUmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgIDogdGhpcy5kb2N1bWVudFJlZi5kb2N1bWVudEVsZW1lbnQ7XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIE1hdGguY2VpbCgoY2xpZW50SGVpZ2h0IC8gc2Nyb2xsSGVpZ2h0KSAqIDEwMCkgPCAxMDAsXG4gICAgICAgICAgICBNYXRoLmNlaWwoKGNsaWVudFdpZHRoIC8gc2Nyb2xsV2lkdGgpICogMTAwKSA8IDEwMCxcbiAgICAgICAgXTtcbiAgICB9XG59XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWNvbnRyb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsLWNvbnRyb2xzLyIsInNvdXJjZXMiOlsic2Nyb2xsLWNvbnRyb2xzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLFdBQVc7QUFZWCxJQUFhLDBCQUEwQixHQUF2QyxNQUFhLDBCQUEwQjtJQWNuQyxZQUNvRCxPQUF5QixFQUN4QyxNQUFjLEVBQ1osV0FBcUIsRUFHdkMsU0FBeUMsRUFDaEIsZUFBbUMsRUFDbEQsS0FBdUM7UUFQbEIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFDeEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNaLGdCQUFXLEdBQVgsV0FBVyxDQUFVO1FBR3ZDLGNBQVMsR0FBVCxTQUFTLENBQWdDO1FBQ2hCLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUNsRCxVQUFLLEdBQUwsS0FBSyxDQUFrQztRQXJCN0QsYUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUN6QyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQzFCLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUN6QixvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM5RCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQ2hDLENBQUM7UUFFTyxjQUFTLEdBQUcsZ0JBQ2pCLEtBQUssRUFBRSxFQUFFLElBQ04sSUFBSSxDQUFDLE9BQU8sQ0FDVCxDQUFDO0lBV1IsQ0FBQztJQUVKLElBQVksVUFBVTtRQUNsQixNQUFNLEVBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVM7WUFDekUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYTtZQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUM7UUFFdkMsT0FBTztZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRztZQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUc7U0FDckQsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFBOzs0Q0FwQlEsTUFBTSxTQUFDLHFCQUFxQjtZQUNZLE1BQU0sdUJBQTlDLE1BQU0sU0FBQyxNQUFNO1lBQ2tDLFFBQVEsdUJBQXZELE1BQU0sU0FBQyxRQUFRO1lBR1ksVUFBVSx1QkFGckMsUUFBUSxZQUNSLE1BQU0sU0FBQyxjQUFjO1lBRXFDLFVBQVUsdUJBQXBFLE1BQU0sU0FBQyxlQUFlO1lBQ1csVUFBVSx1QkFBM0MsTUFBTSxTQUFDLFFBQVE7O0FBdEJYLDBCQUEwQjtJQVh0QyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUscUJBQXFCO1FBQy9CLG9zQkFBOEM7UUFFOUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3ZCLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUMxQixJQUFJLEVBQUU7WUFDRixvQkFBb0IsRUFBRSxPQUFPO1NBQ2hDOztLQUNKLENBQUM7SUFnQk8sV0FBQSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtJQUM3QixXQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNkLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hCLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUV0QixXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUN2QixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtHQXRCWiwwQkFBMEIsQ0FtQ3RDO1NBbkNZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7dHVpWm9uZU9wdGltaXplZH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge3R1aUZhZGVJbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge01PREVfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05fT1BUSU9OUywgVFVJX01PREUsIFRVSV9TQ1JPTExfUkVGfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlCcmlnaHRuZXNzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzdGFydFdpdGgsIHRocm90dGxlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktc2Nyb2xsLWNvbnRyb2xzYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vc2Nyb2xsLWNvbnRyb2xzLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL3Njcm9sbC1jb250cm9scy5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgYW5pbWF0aW9uczogW3R1aUZhZGVJbl0sXG4gICAgcHJvdmlkZXJzOiBbTU9ERV9QUk9WSURFUl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogYG1vZGUkYCxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxDb250cm9sc0NvbXBvbmVudCB7XG4gICAgcmVhZG9ubHkgcmVmcmVzaCQgPSB0aGlzLmFuaW1hdGlvbkZyYW1lJC5waXBlKFxuICAgICAgICB0aHJvdHRsZVRpbWUoMzAwKSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuc2Nyb2xsYmFycyksXG4gICAgICAgIHN0YXJ0V2l0aChbZmFsc2UsIGZhbHNlXSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhWzBdID09PSBiWzBdICYmIGFbMV0gPT09IGJbMV0pLFxuICAgICAgICB0dWlab25lT3B0aW1pemVkKHRoaXMubmdab25lKSxcbiAgICApO1xuXG4gICAgcmVhZG9ubHkgYW5pbWF0aW9uID0ge1xuICAgICAgICB2YWx1ZTogYGAsXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICB9IGFzIGNvbnN0O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0FOSU1BVElPTl9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IEFuaW1hdGlvbk9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfU0NST0xMX1JFRilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCxcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIHByaXZhdGUgcmVhZG9ubHkgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICApIHt9XG5cbiAgICBwcml2YXRlIGdldCBzY3JvbGxiYXJzKCk6IFtib29sZWFuLCBib29sZWFuXSB7XG4gICAgICAgIGNvbnN0IHtjbGllbnRIZWlnaHQsIHNjcm9sbEhlaWdodCwgY2xpZW50V2lkdGgsIHNjcm9sbFdpZHRofSA9IHRoaXMuc2Nyb2xsUmVmXG4gICAgICAgICAgICA/IHRoaXMuc2Nyb2xsUmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgIDogdGhpcy5kb2N1bWVudFJlZi5kb2N1bWVudEVsZW1lbnQ7XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIE1hdGguY2VpbCgoY2xpZW50SGVpZ2h0IC8gc2Nyb2xsSGVpZ2h0KSAqIDEwMCkgPCAxMDAsXG4gICAgICAgICAgICBNYXRoLmNlaWwoKGNsaWVudFdpZHRoIC8gc2Nyb2xsV2lkdGgpICogMTAwKSA8IDEwMCxcbiAgICAgICAgXTtcbiAgICB9XG59XG4iXX0=
@@ -5,7 +5,7 @@ let TuiScrollbarWrapperDirective = class TuiScrollbarWrapperDirective {
5
5
  };
6
6
  TuiScrollbarWrapperDirective = __decorate([
7
7
  Directive({
8
- selector: '[tuiScrollbarWrapper]',
8
+ selector: `[tuiScrollbarWrapper]`,
9
9
  providers: [
10
10
  {
11
11
  provide: TUI_ELEMENT_REF,
@@ -15,4 +15,4 @@ TuiScrollbarWrapperDirective = __decorate([
15
15
  })
16
16
  ], TuiScrollbarWrapperDirective);
17
17
  export { TuiScrollbarWrapperDirective };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLXdyYXBwZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9zY3JvbGwtY29udHJvbHMvIiwic291cmNlcyI6WyJzY3JvbGxiYXItd3JhcHBlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQVd0RCxJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE0QjtDQUFHLENBQUE7QUFBL0IsNEJBQTRCO0lBVHhDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSx1QkFBdUI7UUFDakMsU0FBUyxFQUFFO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFdBQVcsRUFBRSxVQUFVO2FBQzFCO1NBQ0o7S0FDSixDQUFDO0dBQ1csNEJBQTRCLENBQUc7U0FBL0IsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfRUxFTUVOVF9SRUZ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aVNjcm9sbGJhcldyYXBwZXJdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0VMRU1FTlRfUkVGLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IEVsZW1lbnRSZWYsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2Nyb2xsYmFyV3JhcHBlckRpcmVjdGl2ZSB7fVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLXdyYXBwZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9zY3JvbGwtY29udHJvbHMvIiwic291cmNlcyI6WyJzY3JvbGxiYXItd3JhcHBlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQVd0RCxJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE0QjtDQUFHLENBQUE7QUFBL0IsNEJBQTRCO0lBVHhDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSx1QkFBdUI7UUFDakMsU0FBUyxFQUFFO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFdBQVcsRUFBRSxVQUFVO2FBQzFCO1NBQ0o7S0FDSixDQUFDO0dBQ1csNEJBQTRCLENBQUc7U0FBL0IsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfRUxFTUVOVF9SRUZ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBgW3R1aVNjcm9sbGJhcldyYXBwZXJdYCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0VMRU1FTlRfUkVGLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IEVsZW1lbnRSZWYsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2Nyb2xsYmFyV3JhcHBlckRpcmVjdGl2ZSB7fVxuIl19
@@ -16,12 +16,12 @@ let TuiScrollbarDirective = class TuiScrollbarDirective {
16
16
  this.windowRef = windowRef;
17
17
  this.elementRef = elementRef;
18
18
  this.viewportScroller = viewportScroller;
19
- this.tuiScrollbar = 'vertical';
19
+ this.tuiScrollbar = `vertical`;
20
20
  const { nativeElement } = this.elementRef;
21
- const mousedown$ = typedFromEvent(nativeElement, 'mousedown');
22
- const mousemove$ = typedFromEvent(this.documentRef, 'mousemove');
23
- const mouseup$ = typedFromEvent(this.documentRef, 'mouseup');
24
- const mousedownWrapper$ = typedFromEvent(wrapper.nativeElement, 'mousedown');
21
+ const mousedown$ = typedFromEvent(nativeElement, `mousedown`);
22
+ const mousemove$ = typedFromEvent(this.documentRef, `mousemove`);
23
+ const mouseup$ = typedFromEvent(this.documentRef, `mouseup`);
24
+ const mousedownWrapper$ = typedFromEvent(wrapper.nativeElement, `mousedown`);
25
25
  merge(mousedownWrapper$.pipe(preventDefault(), map(event => this.getScrolled(event, 0.5, 0.5))), mousedown$.pipe(preventDefault(), stopPropagation(), switchMap(event => {
26
26
  const rect = nativeElement.getBoundingClientRect();
27
27
  const vertical = getOffsetVertical(event, rect);
@@ -33,46 +33,46 @@ let TuiScrollbarDirective = class TuiScrollbarDirective {
33
33
  const [x, y] = this.viewportScroller.getScrollPosition();
34
34
  if (!this.container) {
35
35
  this.viewportScroller.scrollToPosition([
36
- this.tuiScrollbar === 'vertical' ? x : scrollLeft,
37
- this.tuiScrollbar === 'vertical' ? scrollTop : y,
36
+ this.tuiScrollbar === `vertical` ? x : scrollLeft,
37
+ this.tuiScrollbar === `vertical` ? scrollTop : y,
38
38
  ]);
39
39
  return;
40
40
  }
41
- if (this.tuiScrollbar === 'vertical') {
42
- renderer.setProperty(this.container.nativeElement, 'scrollTop', scrollTop);
41
+ if (this.tuiScrollbar === `vertical`) {
42
+ renderer.setProperty(this.container.nativeElement, `scrollTop`, scrollTop);
43
43
  }
44
44
  else {
45
- renderer.setProperty(this.container.nativeElement, 'scrollLeft', scrollLeft);
45
+ renderer.setProperty(this.container.nativeElement, `scrollLeft`, scrollLeft);
46
46
  }
47
47
  });
48
- merge(fromEvent(this.container ? this.container.nativeElement : this.windowRef, 'scroll'), animationFrame$.pipe(throttleTime(POLLING_TIME)))
48
+ merge(fromEvent(this.container ? this.container.nativeElement : this.windowRef, `scroll`), animationFrame$.pipe(throttleTime(POLLING_TIME)))
49
49
  .pipe(tuiZonefree(ngZone), takeUntil(destroy$))
50
50
  .subscribe(() => {
51
- if (this.tuiScrollbar === 'vertical') {
52
- renderer.setStyle(nativeElement, 'top', `${this.thumb * 100}%`);
53
- renderer.setStyle(nativeElement, 'height', `${this.view * 100}%`);
51
+ if (this.tuiScrollbar === `vertical`) {
52
+ renderer.setStyle(nativeElement, `top`, `${this.thumb * 100}%`);
53
+ renderer.setStyle(nativeElement, `height`, `${this.view * 100}%`);
54
54
  }
55
55
  else {
56
- renderer.setStyle(nativeElement, 'left', `${this.thumb * 100}%`);
57
- renderer.setStyle(nativeElement, 'width', `${this.view * 100}%`);
56
+ renderer.setStyle(nativeElement, `left`, `${this.thumb * 100}%`);
57
+ renderer.setStyle(nativeElement, `width`, `${this.view * 100}%`);
58
58
  }
59
59
  });
60
60
  }
61
61
  get scrolled() {
62
62
  const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth, } = this.computedContainer;
63
- return this.tuiScrollbar === 'vertical'
63
+ return this.tuiScrollbar === `vertical`
64
64
  ? scrollTop / (scrollHeight - clientHeight)
65
65
  : scrollLeft / (scrollWidth - clientWidth);
66
66
  }
67
67
  get compensation() {
68
68
  const { clientHeight, scrollHeight, clientWidth, scrollWidth } = this.computedContainer;
69
69
  if (((clientHeight * clientHeight) / scrollHeight > MIN_WIDTH &&
70
- this.tuiScrollbar === 'vertical') ||
70
+ this.tuiScrollbar === `vertical`) ||
71
71
  ((clientWidth * clientWidth) / scrollWidth > MIN_WIDTH &&
72
- this.tuiScrollbar === 'horizontal')) {
72
+ this.tuiScrollbar === `horizontal`)) {
73
73
  return 0;
74
74
  }
75
- return this.tuiScrollbar === 'vertical'
75
+ return this.tuiScrollbar === `vertical`
76
76
  ? MIN_WIDTH / clientHeight
77
77
  : MIN_WIDTH / clientWidth;
78
78
  }
@@ -82,7 +82,7 @@ let TuiScrollbarDirective = class TuiScrollbarDirective {
82
82
  }
83
83
  get view() {
84
84
  const { clientHeight, scrollHeight, clientWidth, scrollWidth } = this.computedContainer;
85
- return this.tuiScrollbar === 'vertical'
85
+ return this.tuiScrollbar === `vertical`
86
86
  ? Math.ceil((clientHeight / scrollHeight) * 100) / 100
87
87
  : Math.ceil((clientWidth / scrollWidth) * 100) / 100;
88
88
  }
@@ -118,7 +118,7 @@ __decorate([
118
118
  ], TuiScrollbarDirective.prototype, "tuiScrollbar", void 0);
119
119
  TuiScrollbarDirective = __decorate([
120
120
  Directive({
121
- selector: '[tuiScrollbar]',
121
+ selector: `[tuiScrollbar]`,
122
122
  providers: [TuiDestroyService],
123
123
  }),
124
124
  __param(0, Inject(NgZone)),
@@ -140,4 +140,4 @@ function getOffsetVertical({ clientY }, { top, height }) {
140
140
  function getOffsetHorizontal({ clientX }, { left, width }) {
141
141
  return (clientX - left) / width;
142
142
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsLWNvbnRyb2xzLyIsInNvdXJjZXMiOlsic2Nyb2xsYmFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsWUFBWSxFQUNaLGNBQWMsRUFDZCxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxjQUFjLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFdEUsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFFckIsV0FBVztBQUtYLElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBSTlCLFlBQ29CLE1BQWMsRUFDWCxRQUFtQixFQUNYLFFBQTBCLEVBQzVCLGVBQW1DLEVBQ2xCLE9BQWdDLEVBR3pELFNBQXlDLEVBQ3ZCLFdBQXFCLEVBQ3ZCLFNBQWlCLEVBQ2IsVUFBbUMsRUFDN0IsZ0JBQWtDO1FBUG5DLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBR3pELGNBQVMsR0FB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Q0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO0FBQ3BDLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLEVBQUMsT0FBTyxFQUFhLEVBQUUsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFhO0lBQ3pFLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5ULCBWaWV3cG9ydFNjcm9sbGVyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRSwgV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgUE9MTElOR19USU1FLFxuICAgIHByZXZlbnREZWZhdWx0LFxuICAgIHN0b3BQcm9wYWdhdGlvbixcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB0dWlab25lZnJlZSxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9FTEVNRU5UX1JFRiwgVFVJX1NDUk9MTF9SRUZ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aU9yaWVudGF0aW9uVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IE1JTl9XSURUSCA9IDI0O1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpU2Nyb2xsYmFyXScsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxiYXJEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpXG4gICAgdHVpU2Nyb2xsYmFyOiBUdWlPcmllbnRhdGlvblQgPSAndmVydGljYWwnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9GUkFNRSkgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgICAgIEBJbmplY3QoVFVJX0VMRU1FTlRfUkVGKSBwcml2YXRlIHJlYWRvbmx5IHdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9TQ1JPTExfUkVGKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgcmVhZG9ubHkgd2luZG93UmVmOiBXaW5kb3csXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChWaWV3cG9ydFNjcm9sbGVyKSBwcml2YXRlIHJlYWRvbmx5IHZpZXdwb3J0U2Nyb2xsZXI6IFZpZXdwb3J0U2Nyb2xsZXIsXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVFbGVtZW50fSA9IHRoaXMuZWxlbWVudFJlZjtcbiAgICAgICAgY29uc3QgbW91c2Vkb3duJCA9IHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICdtb3VzZWRvd24nKTtcbiAgICAgICAgY29uc3QgbW91c2Vtb3ZlJCA9IHR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jdW1lbnRSZWYsICdtb3VzZW1vdmUnKTtcbiAgICAgICAgY29uc3QgbW91c2V1cCQgPSB0eXBlZEZyb21FdmVudCh0aGlzLmRvY3VtZW50UmVmLCAnbW91c2V1cCcpO1xuICAgICAgICBjb25zdCBtb3VzZWRvd25XcmFwcGVyJCA9IHR5cGVkRnJvbUV2ZW50KHdyYXBwZXIubmF0aXZlRWxlbWVudCwgJ21vdXNlZG93bicpO1xuXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgbW91c2Vkb3duV3JhcHBlciQucGlwZShcbiAgICAgICAgICAgICAgICBwcmV2ZW50RGVmYXVsdCgpLFxuICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiB0aGlzLmdldFNjcm9sbGVkKGV2ZW50LCAwLjUsIDAuNSkpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1vdXNlZG93biQucGlwZShcbiAgICAgICAgICAgICAgICBwcmV2ZW50RGVmYXVsdCgpLFxuICAgICAgICAgICAgICAgIHN0b3BQcm9wYWdhdGlvbigpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY3QgPSBuYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2ZXJ0aWNhbCA9IGdldE9mZnNldFZlcnRpY2FsKGV2ZW50LCByZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaG9yaXpvbnRhbCA9IGdldE9mZnNldEhvcml6b250YWwoZXZlbnQsIHJlY3QpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtb3VzZW1vdmUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoZXZlbnQgPT4gdGhpcy5nZXRTY3JvbGxlZChldmVudCwgdmVydGljYWwsIGhvcml6b250YWwpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbChtb3VzZXVwJCksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0dWlab25lZnJlZShuZ1pvbmUpLCB0YWtlVW50aWwoZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW3Njcm9sbFRvcCwgc2Nyb2xsTGVmdF0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBbeCwgeV0gPSB0aGlzLnZpZXdwb3J0U2Nyb2xsZXIuZ2V0U2Nyb2xsUG9zaXRpb24oKTtcblxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aWV3cG9ydFNjcm9sbGVyLnNjcm9sbFRvUG9zaXRpb24oW1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50dWlTY3JvbGxiYXIgPT09ICd2ZXJ0aWNhbCcgPyB4IDogc2Nyb2xsTGVmdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHVpU2Nyb2xsYmFyID09PSAndmVydGljYWwnID8gc2Nyb2xsVG9wIDogeSxcbiAgICAgICAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2Nyb2xsVG9wJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFRvcCxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2Nyb2xsTGVmdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxMZWZ0LFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgZnJvbUV2ZW50KFxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyID8gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudCA6IHRoaXMud2luZG93UmVmLFxuICAgICAgICAgICAgICAgICdzY3JvbGwnLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGFuaW1hdGlvbkZyYW1lJC5waXBlKHRocm90dGxlVGltZShQT0xMSU5HX1RJTUUpKSxcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodHVpWm9uZWZyZWUobmdab25lKSwgdGFrZVVudGlsKGRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShuYXRpdmVFbGVtZW50LCAndG9wJywgYCR7dGhpcy50aHVtYiAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHt0aGlzLnZpZXcgKiAxMDB9JWApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgYCR7dGhpcy50aHVtYiAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3RoaXMudmlldyAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgc2Nyb2xsZWQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgc2Nyb2xsVG9wLFxuICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0LFxuICAgICAgICAgICAgY2xpZW50SGVpZ2h0LFxuICAgICAgICAgICAgc2Nyb2xsTGVmdCxcbiAgICAgICAgICAgIHNjcm9sbFdpZHRoLFxuICAgICAgICAgICAgY2xpZW50V2lkdGgsXG4gICAgICAgIH0gPSB0aGlzLmNvbXB1dGVkQ29udGFpbmVyO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJ1xuICAgICAgICAgICAgPyBzY3JvbGxUb3AgLyAoc2Nyb2xsSGVpZ2h0IC0gY2xpZW50SGVpZ2h0KVxuICAgICAgICAgICAgOiBzY3JvbGxMZWZ0IC8gKHNjcm9sbFdpZHRoIC0gY2xpZW50V2lkdGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbXBlbnNhdGlvbigpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB7Y2xpZW50SGVpZ2h0LCBzY3JvbGxIZWlnaHQsIGNsaWVudFdpZHRoLCBzY3JvbGxXaWR0aH0gPVxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZENvbnRhaW5lcjtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoKGNsaWVudEhlaWdodCAqIGNsaWVudEhlaWdodCkgLyBzY3JvbGxIZWlnaHQgPiBNSU5fV0lEVEggJiZcbiAgICAgICAgICAgICAgICB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJykgfHxcbiAgICAgICAgICAgICgoY2xpZW50V2lkdGggKiBjbGllbnRXaWR0aCkgLyBzY3JvbGxXaWR0aCA+IE1JTl9XSURUSCAmJlxuICAgICAgICAgICAgICAgIHRoaXMudHVpU2Nyb2xsYmFyID09PSAnaG9yaXpvbnRhbCcpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50dWlTY3JvbGxiYXIgPT09ICd2ZXJ0aWNhbCdcbiAgICAgICAgICAgID8gTUlOX1dJRFRIIC8gY2xpZW50SGVpZ2h0XG4gICAgICAgICAgICA6IE1JTl9XSURUSCAvIGNsaWVudFdpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRodW1iKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGNvbXBlbnNhdGlvbiA9IHRoaXMuY29tcGVuc2F0aW9uIHx8IHRoaXMudmlldztcblxuICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGxlZCAqICgxIC0gY29tcGVuc2F0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB2aWV3KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHtjbGllbnRIZWlnaHQsIHNjcm9sbEhlaWdodCwgY2xpZW50V2lkdGgsIHNjcm9sbFdpZHRofSA9XG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkQ29udGFpbmVyO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnR1aVNjcm9sbGJhciA9PT0gJ3ZlcnRpY2FsJ1xuICAgICAgICAgICAgPyBNYXRoLmNlaWwoKGNsaWVudEhlaWdodCAvIHNjcm9sbEhlaWdodCkgKiAxMDApIC8gMTAwXG4gICAgICAgICAgICA6IE1hdGguY2VpbCgoY2xpZW50V2lkdGggLyBzY3JvbGxXaWR0aCkgKiAxMDApIC8gMTAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbXB1dGVkQ29udGFpbmVyKCk6IEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXJcbiAgICAgICAgICAgID8gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgOiB0aGlzLmRvY3VtZW50UmVmLnNjcm9sbGluZ0VsZW1lbnQhO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2Nyb2xsZWQoXG4gICAgICAgIHtjbGllbnRZLCBjbGllbnRYfTogTW91c2VFdmVudCxcbiAgICAgICAgb2Zmc2V0VmVydGljYWw6IG51bWJlcixcbiAgICAgICAgb2Zmc2V0SG9yaXpvbnRhbDogbnVtYmVyLFxuICAgICk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgICAgICBjb25zdCB7b2Zmc2V0SGVpZ2h0LCBvZmZzZXRXaWR0aH0gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge3RvcCwgbGVmdCwgd2lkdGgsIGhlaWdodH0gPVxuICAgICAgICAgICAgdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgY29uc3QgbWF4VG9wID0gdGhpcy5jb21wdXRlZENvbnRhaW5lci5zY3JvbGxIZWlnaHQgLSBoZWlnaHQ7XG4gICAgICAgIGNvbnN0IG1heExlZnQgPSB0aGlzLmNvbXB1dGVkQ29udGFpbmVyLnNjcm9sbFdpZHRoIC0gd2lkdGg7XG4gICAgICAgIGNvbnN0IHNjcm9sbGVkVG9wID1cbiAgICAgICAgICAgIChjbGllbnRZIC0gdG9wIC0gb2Zmc2V0SGVpZ2h0ICogb2Zmc2V0VmVydGljYWwpIC8gKGhlaWdodCAtIG9mZnNldEhlaWdodCk7XG4gICAgICAgIGNvbnN0IHNjcm9sbGVkTGVmdCA9XG4gICAgICAgICAgICAoY2xpZW50WCAtIGxlZnQgLSBvZmZzZXRXaWR0aCAqIG9mZnNldEhvcml6b250YWwpIC8gKHdpZHRoIC0gb2Zmc2V0V2lkdGgpO1xuXG4gICAgICAgIHJldHVybiBbbWF4VG9wICogc2Nyb2xsZWRUb3AsIG1heExlZnQgKiBzY3JvbGxlZExlZnRdO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0VmVydGljYWwoe2NsaWVudFl9OiBNb3VzZUV2ZW50LCB7dG9wLCBoZWlnaHR9OiBDbGllbnRSZWN0KTogbnVtYmVyIHtcbiAgICByZXR1cm4gKGNsaWVudFkgLSB0b3ApIC8gaGVpZ2h0O1xufVxuXG5mdW5jdGlvbiBnZXRPZmZzZXRIb3Jpem9udGFsKHtjbGllbnRYfTogTW91c2VFdmVudCwge2xlZnQsIHdpZHRofTogQ2xpZW50UmVjdCk6IG51bWJlciB7XG4gICAgcmV0dXJuIChjbGllbnRYIC0gbGVmdCkgLyB3aWR0aDtcbn1cbiJdfQ==
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsLWNvbnRyb2xzLyIsInNvdXJjZXMiOlsic2Nyb2xsYmFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsWUFBWSxFQUNaLGNBQWMsRUFDZCxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxjQUFjLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFdEUsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFFckIsV0FBVztBQUtYLElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBSTlCLFlBQ29CLE1BQWMsRUFDWCxRQUFtQixFQUNYLFFBQTBCLEVBQzVCLGVBQW1DLEVBQ2xCLE9BQWdDLEVBR3pELFNBQXlDLEVBQ3ZCLFdBQXFCLEVBQ3ZCLFNBQWlCLEVBQ2IsVUFBbUMsRUFDN0IsZ0JBQWtDO1FBUG5DLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBR3pELGNBQVMsR0FB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Q0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO0FBQ3BDLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLEVBQUMsT0FBTyxFQUFhLEVBQUUsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFhO0lBQ3pFLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5ULCBWaWV3cG9ydFNjcm9sbGVyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRSwgV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgUE9MTElOR19USU1FLFxuICAgIHByZXZlbnREZWZhdWx0LFxuICAgIHN0b3BQcm9wYWdhdGlvbixcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB0dWlab25lZnJlZSxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9FTEVNRU5UX1JFRiwgVFVJX1NDUk9MTF9SRUZ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aU9yaWVudGF0aW9uVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IE1JTl9XSURUSCA9IDI0O1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IGBbdHVpU2Nyb2xsYmFyXWAsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxiYXJEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpXG4gICAgdHVpU2Nyb2xsYmFyOiBUdWlPcmllbnRhdGlvblQgPSBgdmVydGljYWxgO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9GUkFNRSkgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgICAgIEBJbmplY3QoVFVJX0VMRU1FTlRfUkVGKSBwcml2YXRlIHJlYWRvbmx5IHdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9TQ1JPTExfUkVGKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgcmVhZG9ubHkgd2luZG93UmVmOiBXaW5kb3csXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChWaWV3cG9ydFNjcm9sbGVyKSBwcml2YXRlIHJlYWRvbmx5IHZpZXdwb3J0U2Nyb2xsZXI6IFZpZXdwb3J0U2Nyb2xsZXIsXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVFbGVtZW50fSA9IHRoaXMuZWxlbWVudFJlZjtcbiAgICAgICAgY29uc3QgbW91c2Vkb3duJCA9IHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsIGBtb3VzZWRvd25gKTtcbiAgICAgICAgY29uc3QgbW91c2Vtb3ZlJCA9IHR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jdW1lbnRSZWYsIGBtb3VzZW1vdmVgKTtcbiAgICAgICAgY29uc3QgbW91c2V1cCQgPSB0eXBlZEZyb21FdmVudCh0aGlzLmRvY3VtZW50UmVmLCBgbW91c2V1cGApO1xuICAgICAgICBjb25zdCBtb3VzZWRvd25XcmFwcGVyJCA9IHR5cGVkRnJvbUV2ZW50KHdyYXBwZXIubmF0aXZlRWxlbWVudCwgYG1vdXNlZG93bmApO1xuXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgbW91c2Vkb3duV3JhcHBlciQucGlwZShcbiAgICAgICAgICAgICAgICBwcmV2ZW50RGVmYXVsdCgpLFxuICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiB0aGlzLmdldFNjcm9sbGVkKGV2ZW50LCAwLjUsIDAuNSkpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1vdXNlZG93biQucGlwZShcbiAgICAgICAgICAgICAgICBwcmV2ZW50RGVmYXVsdCgpLFxuICAgICAgICAgICAgICAgIHN0b3BQcm9wYWdhdGlvbigpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY3QgPSBuYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2ZXJ0aWNhbCA9IGdldE9mZnNldFZlcnRpY2FsKGV2ZW50LCByZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaG9yaXpvbnRhbCA9IGdldE9mZnNldEhvcml6b250YWwoZXZlbnQsIHJlY3QpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtb3VzZW1vdmUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoZXZlbnQgPT4gdGhpcy5nZXRTY3JvbGxlZChldmVudCwgdmVydGljYWwsIGhvcml6b250YWwpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbChtb3VzZXVwJCksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0dWlab25lZnJlZShuZ1pvbmUpLCB0YWtlVW50aWwoZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW3Njcm9sbFRvcCwgc2Nyb2xsTGVmdF0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBbeCwgeV0gPSB0aGlzLnZpZXdwb3J0U2Nyb2xsZXIuZ2V0U2Nyb2xsUG9zaXRpb24oKTtcblxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aWV3cG9ydFNjcm9sbGVyLnNjcm9sbFRvUG9zaXRpb24oW1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50dWlTY3JvbGxiYXIgPT09IGB2ZXJ0aWNhbGAgPyB4IDogc2Nyb2xsTGVmdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHVpU2Nyb2xsYmFyID09PSBgdmVydGljYWxgID8gc2Nyb2xsVG9wIDogeSxcbiAgICAgICAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR1aVNjcm9sbGJhciA9PT0gYHZlcnRpY2FsYCkge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBgc2Nyb2xsVG9wYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFRvcCxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBgc2Nyb2xsTGVmdGAsXG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxMZWZ0LFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgZnJvbUV2ZW50KFxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyID8gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudCA6IHRoaXMud2luZG93UmVmLFxuICAgICAgICAgICAgICAgIGBzY3JvbGxgLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGFuaW1hdGlvbkZyYW1lJC5waXBlKHRocm90dGxlVGltZShQT0xMSU5HX1RJTUUpKSxcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodHVpWm9uZWZyZWUobmdab25lKSwgdGFrZVVudGlsKGRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR1aVNjcm9sbGJhciA9PT0gYHZlcnRpY2FsYCkge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShuYXRpdmVFbGVtZW50LCBgdG9wYCwgYCR7dGhpcy50aHVtYiAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsIGBoZWlnaHRgLCBgJHt0aGlzLnZpZXcgKiAxMDB9JWApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsIGBsZWZ0YCwgYCR7dGhpcy50aHVtYiAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsIGB3aWR0aGAsIGAke3RoaXMudmlldyAqIDEwMH0lYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgc2Nyb2xsZWQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgc2Nyb2xsVG9wLFxuICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0LFxuICAgICAgICAgICAgY2xpZW50SGVpZ2h0LFxuICAgICAgICAgICAgc2Nyb2xsTGVmdCxcbiAgICAgICAgICAgIHNjcm9sbFdpZHRoLFxuICAgICAgICAgICAgY2xpZW50V2lkdGgsXG4gICAgICAgIH0gPSB0aGlzLmNvbXB1dGVkQ29udGFpbmVyO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnR1aVNjcm9sbGJhciA9PT0gYHZlcnRpY2FsYFxuICAgICAgICAgICAgPyBzY3JvbGxUb3AgLyAoc2Nyb2xsSGVpZ2h0IC0gY2xpZW50SGVpZ2h0KVxuICAgICAgICAgICAgOiBzY3JvbGxMZWZ0IC8gKHNjcm9sbFdpZHRoIC0gY2xpZW50V2lkdGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbXBlbnNhdGlvbigpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB7Y2xpZW50SGVpZ2h0LCBzY3JvbGxIZWlnaHQsIGNsaWVudFdpZHRoLCBzY3JvbGxXaWR0aH0gPVxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZENvbnRhaW5lcjtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoKGNsaWVudEhlaWdodCAqIGNsaWVudEhlaWdodCkgLyBzY3JvbGxIZWlnaHQgPiBNSU5fV0lEVEggJiZcbiAgICAgICAgICAgICAgICB0aGlzLnR1aVNjcm9sbGJhciA9PT0gYHZlcnRpY2FsYCkgfHxcbiAgICAgICAgICAgICgoY2xpZW50V2lkdGggKiBjbGllbnRXaWR0aCkgLyBzY3JvbGxXaWR0aCA+IE1JTl9XSURUSCAmJlxuICAgICAgICAgICAgICAgIHRoaXMudHVpU2Nyb2xsYmFyID09PSBgaG9yaXpvbnRhbGApXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50dWlTY3JvbGxiYXIgPT09IGB2ZXJ0aWNhbGBcbiAgICAgICAgICAgID8gTUlOX1dJRFRIIC8gY2xpZW50SGVpZ2h0XG4gICAgICAgICAgICA6IE1JTl9XSURUSCAvIGNsaWVudFdpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRodW1iKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGNvbXBlbnNhdGlvbiA9IHRoaXMuY29tcGVuc2F0aW9uIHx8IHRoaXMudmlldztcblxuICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGxlZCAqICgxIC0gY29tcGVuc2F0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB2aWV3KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHtjbGllbnRIZWlnaHQsIHNjcm9sbEhlaWdodCwgY2xpZW50V2lkdGgsIHNjcm9sbFdpZHRofSA9XG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkQ29udGFpbmVyO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnR1aVNjcm9sbGJhciA9PT0gYHZlcnRpY2FsYFxuICAgICAgICAgICAgPyBNYXRoLmNlaWwoKGNsaWVudEhlaWdodCAvIHNjcm9sbEhlaWdodCkgKiAxMDApIC8gMTAwXG4gICAgICAgICAgICA6IE1hdGguY2VpbCgoY2xpZW50V2lkdGggLyBzY3JvbGxXaWR0aCkgKiAxMDApIC8gMTAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbXB1dGVkQ29udGFpbmVyKCk6IEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXJcbiAgICAgICAgICAgID8gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgOiB0aGlzLmRvY3VtZW50UmVmLnNjcm9sbGluZ0VsZW1lbnQhO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2Nyb2xsZWQoXG4gICAgICAgIHtjbGllbnRZLCBjbGllbnRYfTogTW91c2VFdmVudCxcbiAgICAgICAgb2Zmc2V0VmVydGljYWw6IG51bWJlcixcbiAgICAgICAgb2Zmc2V0SG9yaXpvbnRhbDogbnVtYmVyLFxuICAgICk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgICAgICBjb25zdCB7b2Zmc2V0SGVpZ2h0LCBvZmZzZXRXaWR0aH0gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge3RvcCwgbGVmdCwgd2lkdGgsIGhlaWdodH0gPVxuICAgICAgICAgICAgdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgY29uc3QgbWF4VG9wID0gdGhpcy5jb21wdXRlZENvbnRhaW5lci5zY3JvbGxIZWlnaHQgLSBoZWlnaHQ7XG4gICAgICAgIGNvbnN0IG1heExlZnQgPSB0aGlzLmNvbXB1dGVkQ29udGFpbmVyLnNjcm9sbFdpZHRoIC0gd2lkdGg7XG4gICAgICAgIGNvbnN0IHNjcm9sbGVkVG9wID1cbiAgICAgICAgICAgIChjbGllbnRZIC0gdG9wIC0gb2Zmc2V0SGVpZ2h0ICogb2Zmc2V0VmVydGljYWwpIC8gKGhlaWdodCAtIG9mZnNldEhlaWdodCk7XG4gICAgICAgIGNvbnN0IHNjcm9sbGVkTGVmdCA9XG4gICAgICAgICAgICAoY2xpZW50WCAtIGxlZnQgLSBvZmZzZXRXaWR0aCAqIG9mZnNldEhvcml6b250YWwpIC8gKHdpZHRoIC0gb2Zmc2V0V2lkdGgpO1xuXG4gICAgICAgIHJldHVybiBbbWF4VG9wICogc2Nyb2xsZWRUb3AsIG1heExlZnQgKiBzY3JvbGxlZExlZnRdO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0VmVydGljYWwoe2NsaWVudFl9OiBNb3VzZUV2ZW50LCB7dG9wLCBoZWlnaHR9OiBDbGllbnRSZWN0KTogbnVtYmVyIHtcbiAgICByZXR1cm4gKGNsaWVudFkgLSB0b3ApIC8gaGVpZ2h0O1xufVxuXG5mdW5jdGlvbiBnZXRPZmZzZXRIb3Jpem9udGFsKHtjbGllbnRYfTogTW91c2VFdmVudCwge2xlZnQsIHdpZHRofTogQ2xpZW50UmVjdCk6IG51bWJlciB7XG4gICAgcmV0dXJuIChjbGllbnRYIC0gbGVmdCkgLyB3aWR0aDtcbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Directive, ElementRef } from '@angular/core';
3
3
  import { TUI_SCROLL_REF } from '@taiga-ui/core/tokens';
4
- export const SCROLL_REF_SELECTOR = '[tuiScrollRef]';
4
+ export const SCROLL_REF_SELECTOR = `[tuiScrollRef]`;
5
5
  let TuiScrollRefDirective = class TuiScrollRefDirective {
6
6
  };
7
7
  TuiScrollRefDirective = __decorate([
@@ -16,4 +16,4 @@ TuiScrollRefDirective = __decorate([
16
16
  })
17
17
  ], TuiScrollRefDirective);
18
18
  export { TuiScrollRefDirective };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXJlZi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3Njcm9sbGJhci8iLCJzb3VyY2VzIjpbInNjcm9sbC1yZWYuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUM7QUFXcEQsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7Q0FBRyxDQUFBO0FBQXhCLHFCQUFxQjtJQVRqQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsbUJBQW1CO1FBQzdCLFNBQVMsRUFBRTtZQUNQO2dCQUNJLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixXQUFXLEVBQUUsVUFBVTthQUMxQjtTQUNKO0tBQ0osQ0FBQztHQUNXLHFCQUFxQixDQUFHO1NBQXhCLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VFVJX1NDUk9MTF9SRUZ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5cbmV4cG9ydCBjb25zdCBTQ1JPTExfUkVGX1NFTEVDVE9SID0gJ1t0dWlTY3JvbGxSZWZdJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFNDUk9MTF9SRUZfU0VMRUNUT1IsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9TQ1JPTExfUkVGLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IEVsZW1lbnRSZWYsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2Nyb2xsUmVmRGlyZWN0aXZlIHt9XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXJlZi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3Njcm9sbGJhci8iLCJzb3VyY2VzIjpbInNjcm9sbC1yZWYuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUM7QUFXcEQsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7Q0FBRyxDQUFBO0FBQXhCLHFCQUFxQjtJQVRqQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsbUJBQW1CO1FBQzdCLFNBQVMsRUFBRTtZQUNQO2dCQUNJLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixXQUFXLEVBQUUsVUFBVTthQUMxQjtTQUNKO0tBQ0osQ0FBQztHQUNXLHFCQUFxQixDQUFHO1NBQXhCLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VFVJX1NDUk9MTF9SRUZ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5cbmV4cG9ydCBjb25zdCBTQ1JPTExfUkVGX1NFTEVDVE9SID0gYFt0dWlTY3JvbGxSZWZdYDtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFNDUk9MTF9SRUZfU0VMRUNUT1IsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9TQ1JPTExfUkVGLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IEVsZW1lbnRSZWYsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2Nyb2xsUmVmRGlyZWN0aXZlIHt9XG4iXX0=
@@ -17,9 +17,9 @@ TuiScrollableDirective.ctorParameters = () => [
17
17
  ];
18
18
  TuiScrollableDirective = __decorate([
19
19
  Directive({
20
- selector: '[tuiScrollable]',
20
+ selector: `[tuiScrollable]`,
21
21
  }),
22
22
  __param(0, Inject(ElementRef))
23
23
  ], TuiScrollableDirective);
24
24
  export { TuiScrollableDirective };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3Njcm9sbGJhci8iLCJzb3VyY2VzIjpbInNjcm9sbGFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUt4RCxJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUFzQjtJQUMvQixZQUN5QyxVQUFtQztRQUFuQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtJQUN6RSxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FDdkMsSUFBSSxXQUFXLENBQUMsY0FBYyxFQUFFO1lBQzVCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYTtTQUN4QyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFBOztZQVh3RCxVQUFVLHVCQUExRCxNQUFNLFNBQUMsVUFBVTs7QUFGYixzQkFBc0I7SUFIbEMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGlCQUFpQjtLQUM5QixDQUFDO0lBR08sV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7R0FGZCxzQkFBc0IsQ0FhbEM7U0FiWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfU0NST0xMQUJMRX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpU2Nyb2xsYWJsZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxhYmxlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KFRVSV9TQ1JPTExBQkxFLCB7XG4gICAgICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkZXRhaWw6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3Njcm9sbGJhci8iLCJzb3VyY2VzIjpbInNjcm9sbGFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUt4RCxJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUFzQjtJQUMvQixZQUN5QyxVQUFtQztRQUFuQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtJQUN6RSxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FDdkMsSUFBSSxXQUFXLENBQUMsY0FBYyxFQUFFO1lBQzVCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYTtTQUN4QyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFBOztZQVh3RCxVQUFVLHVCQUExRCxNQUFNLFNBQUMsVUFBVTs7QUFGYixzQkFBc0I7SUFIbEMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGlCQUFpQjtLQUM5QixDQUFDO0lBR08sV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7R0FGZCxzQkFBc0IsQ0FhbEM7U0FiWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfU0NST0xMQUJMRX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IGBbdHVpU2Nyb2xsYWJsZV1gLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxhYmxlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KFRVSV9TQ1JPTExBQkxFLCB7XG4gICAgICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkZXRhaWw6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -17,8 +17,8 @@ let TuiScrollbarComponent = TuiScrollbarComponent_1 = class TuiScrollbarComponen
17
17
  this.userAgent = userAgent;
18
18
  this.isIos = isIos;
19
19
  this.delegated = false;
20
- this.isLegacy = !this.cssRef.supports('position', 'sticky') ||
21
- (isFirefox(this.userAgent) && !this.cssRef.supports('scrollbar-width', 'none'));
20
+ this.isLegacy = !this.cssRef.supports(`position`, `sticky`) ||
21
+ (isFirefox(this.userAgent) && !this.cssRef.supports(`scrollbar-width`, `none`));
22
22
  this.hidden = false;
23
23
  this.browserScrollRef = new ElementRef(this.elementRef.nativeElement);
24
24
  }
@@ -55,18 +55,18 @@ __decorate([
55
55
  tuiDefaultProp()
56
56
  ], TuiScrollbarComponent.prototype, "hidden", void 0);
57
57
  __decorate([
58
- HostBinding('class._legacy')
58
+ HostBinding(`class._legacy`)
59
59
  ], TuiScrollbarComponent.prototype, "showNative", null);
60
60
  __decorate([
61
- HostListener(`${TUI_SCROLLABLE}.stop`, ['$event.detail'])
61
+ HostListener(`${TUI_SCROLLABLE}.stop`, [`$event.detail`])
62
62
  ], TuiScrollbarComponent.prototype, "onScrollable", null);
63
63
  __decorate([
64
- HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, ['$event.detail'])
64
+ HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, [`$event.detail`])
65
65
  ], TuiScrollbarComponent.prototype, "scrollIntoView", null);
66
66
  TuiScrollbarComponent = TuiScrollbarComponent_1 = __decorate([
67
67
  Component({
68
- selector: 'tui-scrollbar',
69
- template: "<tui-scroll-controls *ngIf=\"showScrollbars\"></tui-scroll-controls>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>\n",
68
+ selector: `tui-scrollbar`,
69
+ template: "<tui-scroll-controls *ngIf=\"showScrollbars\"></tui-scroll-controls>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n",
70
70
  changeDetection: ChangeDetectionStrategy.OnPush,
71
71
  providers: [
72
72
  {
@@ -75,7 +75,7 @@ TuiScrollbarComponent = TuiScrollbarComponent_1 = __decorate([
75
75
  useFactory: scrollRefFactory,
76
76
  },
77
77
  ],
78
- styles: [":host{z-index:0;position:relative;display:flex;overflow:auto}:host:not(._legacy){scrollbar-width:none;-ms-overflow-style:none}:host:not(._legacy)::-webkit-scrollbar,:host:not(._legacy)::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._legacy{overflow:overlay}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){:host._legacy::-webkit-scrollbar,:host._legacy::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}:host._legacy::-webkit-scrollbar{background-color:transparent}:host._legacy::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}:host._legacy::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}:host._legacy::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}.content{position:relative;z-index:0;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:-moz-max-content;height:max-content}"]
78
+ styles: [":host{z-index:0;position:relative;display:flex;overflow:auto}:host:not(._legacy){scrollbar-width:none;-ms-overflow-style:none}:host:not(._legacy)::-webkit-scrollbar,:host:not(._legacy)::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._legacy{overflow:overlay}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){:host._legacy::-webkit-scrollbar,:host._legacy::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}:host._legacy::-webkit-scrollbar{background-color:transparent}:host._legacy::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}:host._legacy::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}:host._legacy::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}.t-content{position:relative;z-index:0;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:-moz-max-content;height:max-content}"]
79
79
  }),
80
80
  __param(0, Inject(CSS)),
81
81
  __param(1, Inject(ElementRef)),
@@ -83,4 +83,4 @@ TuiScrollbarComponent = TuiScrollbarComponent_1 = __decorate([
83
83
  __param(3, Inject(TUI_IS_IOS))
84
84
  ], TuiScrollbarComponent);
85
85
  export { TuiScrollbarComponent };
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsYmFyLyIsInNvdXJjZXMiOlsic2Nyb2xsYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzlFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEVBQzdCLGdCQUFnQixHQUNJO0lBQ3BCLE9BQU8sZ0JBQWdCLENBQUM7QUFDNUIsQ0FBQztBQUVELFdBQVc7QUFjWCxJQUFhLHFCQUFxQiw2QkFBbEMsTUFBYSxxQkFBcUI7SUFhOUIsWUFDa0MsTUFBVyxFQUNKLFVBQW1DLEVBQ25DLFNBQWlCLEVBQ2pCLEtBQWM7UUFIckIsV0FBTSxHQUFOLE1BQU0sQ0FBSztRQUNKLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBUztRQWhCL0MsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVULGFBQVEsR0FDckIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDO1lBQzNDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFJcEYsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVOLHFCQUFnQixHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFPdkUsQ0FBQztJQUVKLElBQUksY0FBYztRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUdELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzVELENBQUM7SUFHRCxZQUFZLENBQUMsT0FBb0I7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUM7SUFDbEQsQ0FBQztJQUdELGNBQWMsQ0FBQyxNQUFtQjtRQUM5QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsT0FBTztTQUNWO1FBRUQsTUFBTSxFQUFDLGFBQWEsRUFBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUM5QyxNQUFNLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxHQUFHLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV4RSxhQUFhLENBQUMsU0FBUztZQUNuQixTQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDekUsYUFBYSxDQUFDLFVBQVU7WUFDcEIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Q0FDSixDQUFBOzs0Q0FuQ1EsTUFBTSxTQUFDLEdBQUc7WUFDc0MsVUFBVSx1QkFBMUQsTUFBTSxTQUFDLFVBQVU7eUNBQ2pCLE1BQU0sU0FBQyxVQUFVOzBDQUNqQixNQUFNLFNBQUMsVUFBVTs7QUFSdEI7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7cURBQ0Y7QUFnQmY7SUFEQyxXQUFXLENBQUMsZUFBZSxDQUFDO3VEQUc1QjtBQUdEO0lBREMsWUFBWSxDQUFDLEdBQUcsY0FBYyxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQzt5REFJekQ7QUFHRDtJQURDLFlBQVksQ0FBQyxHQUFHLG9CQUFvQixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQzsyREFhL0Q7QUFoRFEscUJBQXFCO0lBYmpDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxlQUFlO1FBQ3pCLGtKQUF3QztRQUV4QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxTQUFTLEVBQUU7WUFDUDtnQkFDSSxPQUFPLEVBQUUsY0FBYztnQkFDdkIsSUFBSSxFQUFFLENBQUMsdUJBQXFCLENBQUM7Z0JBQzdCLFVBQVUsRUFBRSxnQkFBZ0I7YUFDL0I7U0FDSjs7S0FDSixDQUFDO0lBZU8sV0FBQSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDWCxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtHQWpCZCxxQkFBcUIsQ0FpRGpDO1NBakRZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NTUywgVVNFUl9BR0VOVH0gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge2dldEVsZW1lbnRPZmZzZXQsIGlzRmlyZWZveCwgVFVJX0lTX0lPUywgdHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfU0NST0xMX0lOVE9fVklFVywgVFVJX1NDUk9MTEFCTEV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQge1RVSV9TQ1JPTExfUkVGfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgZnVuY3Rpb24gc2Nyb2xsUmVmRmFjdG9yeSh7XG4gICAgYnJvd3NlclNjcm9sbFJlZixcbn06IFR1aVNjcm9sbGJhckNvbXBvbmVudCk6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHtcbiAgICByZXR1cm4gYnJvd3NlclNjcm9sbFJlZjtcbn1cblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXNjcm9sbGJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Njcm9sbGJhci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zY3JvbGxiYXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfU0NST0xMX1JFRixcbiAgICAgICAgICAgIGRlcHM6IFtUdWlTY3JvbGxiYXJDb21wb25lbnRdLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogc2Nyb2xsUmVmRmFjdG9yeSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxiYXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgZGVsZWdhdGVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzTGVnYWN5OiBib29sZWFuID1cbiAgICAgICAgIXRoaXMuY3NzUmVmLnN1cHBvcnRzKCdwb3NpdGlvbicsICdzdGlja3knKSB8fFxuICAgICAgICAoaXNGaXJlZm94KHRoaXMudXNlckFnZW50KSAmJiAhdGhpcy5jc3NSZWYuc3VwcG9ydHMoJ3Njcm9sbGJhci13aWR0aCcsICdub25lJykpO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGhpZGRlbiA9IGZhbHNlO1xuXG4gICAgcmVhZG9ubHkgYnJvd3NlclNjcm9sbFJlZiA9IG5ldyBFbGVtZW50UmVmKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENTUykgcHJpdmF0ZSByZWFkb25seSBjc3NSZWY6IGFueSxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFVTRVJfQUdFTlQpIHByaXZhdGUgcmVhZG9ubHkgdXNlckFnZW50OiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0lPUykgcHJpdmF0ZSByZWFkb25seSBpc0lvczogYm9vbGVhbixcbiAgICApIHt9XG5cbiAgICBnZXQgc2hvd1Njcm9sbGJhcnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5oaWRkZW4gJiYgIXRoaXMuaXNJb3MgJiYgKCF0aGlzLmlzTGVnYWN5IHx8IHRoaXMuZGVsZWdhdGVkKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9sZWdhY3knKVxuICAgIGdldCBzaG93TmF0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0xlZ2FjeSAmJiAhdGhpcy5oaWRkZW4gJiYgIXRoaXMuZGVsZWdhdGVkO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYCR7VFVJX1NDUk9MTEFCTEV9LnN0b3BgLCBbJyRldmVudC5kZXRhaWwnXSlcbiAgICBvblNjcm9sbGFibGUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZWxlZ2F0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmJyb3dzZXJTY3JvbGxSZWYubmF0aXZlRWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihgJHtUVUlfU0NST0xMX0lOVE9fVklFV30uc3RvcGAsIFsnJGV2ZW50LmRldGFpbCddKVxuICAgIHNjcm9sbEludG9WaWV3KGRldGFpbDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGVsZWdhdGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSB0aGlzLmJyb3dzZXJTY3JvbGxSZWY7XG4gICAgICAgIGNvbnN0IHtvZmZzZXRUb3AsIG9mZnNldExlZnR9ID0gZ2V0RWxlbWVudE9mZnNldChuYXRpdmVFbGVtZW50LCBkZXRhaWwpO1xuXG4gICAgICAgIG5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID1cbiAgICAgICAgICAgIG9mZnNldFRvcCArIGRldGFpbC5vZmZzZXRIZWlnaHQgLyAyIC0gbmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgLyAyO1xuICAgICAgICBuYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPVxuICAgICAgICAgICAgb2Zmc2V0TGVmdCArIGRldGFpbC5vZmZzZXRXaWR0aCAvIDIgLSBuYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIC8gMjtcbiAgICB9XG59XG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsYmFyLyIsInNvdXJjZXMiOlsic2Nyb2xsYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzlFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEVBQzdCLGdCQUFnQixHQUNJO0lBQ3BCLE9BQU8sZ0JBQWdCLENBQUM7QUFDNUIsQ0FBQztBQUVELFdBQVc7QUFjWCxJQUFhLHFCQUFxQiw2QkFBbEMsTUFBYSxxQkFBcUI7SUFhOUIsWUFDa0MsTUFBVyxFQUNKLFVBQW1DLEVBQ25DLFNBQWlCLEVBQ2pCLEtBQWM7UUFIckIsV0FBTSxHQUFOLE1BQU0sQ0FBSztRQUNKLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBUztRQWhCL0MsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVULGFBQVEsR0FDckIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDO1lBQzNDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFJcEYsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVOLHFCQUFnQixHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFPdkUsQ0FBQztJQUVKLElBQUksY0FBYztRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUdELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzVELENBQUM7SUFHRCxZQUFZLENBQUMsT0FBb0I7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUM7SUFDbEQsQ0FBQztJQUdELGNBQWMsQ0FBQyxNQUFtQjtRQUM5QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsT0FBTztTQUNWO1FBRUQsTUFBTSxFQUFDLGFBQWEsRUFBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUM5QyxNQUFNLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxHQUFHLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV4RSxhQUFhLENBQUMsU0FBUztZQUNuQixTQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDekUsYUFBYSxDQUFDLFVBQVU7WUFDcEIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Q0FDSixDQUFBOzs0Q0FuQ1EsTUFBTSxTQUFDLEdBQUc7WUFDc0MsVUFBVSx1QkFBMUQsTUFBTSxTQUFDLFVBQVU7eUNBQ2pCLE1BQU0sU0FBQyxVQUFVOzBDQUNqQixNQUFNLFNBQUMsVUFBVTs7QUFSdEI7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7cURBQ0Y7QUFnQmY7SUFEQyxXQUFXLENBQUMsZUFBZSxDQUFDO3VEQUc1QjtBQUdEO0lBREMsWUFBWSxDQUFDLEdBQUcsY0FBYyxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQzt5REFJekQ7QUFHRDtJQURDLFlBQVksQ0FBQyxHQUFHLG9CQUFvQixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQzsyREFhL0Q7QUFoRFEscUJBQXFCO0lBYmpDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxlQUFlO1FBQ3pCLG9KQUF3QztRQUV4QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxTQUFTLEVBQUU7WUFDUDtnQkFDSSxPQUFPLEVBQUUsY0FBYztnQkFDdkIsSUFBSSxFQUFFLENBQUMsdUJBQXFCLENBQUM7Z0JBQzdCLFVBQVUsRUFBRSxnQkFBZ0I7YUFDL0I7U0FDSjs7S0FDSixDQUFDO0lBZU8sV0FBQSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDWCxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtHQWpCZCxxQkFBcUIsQ0FpRGpDO1NBakRZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NTUywgVVNFUl9BR0VOVH0gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge2dldEVsZW1lbnRPZmZzZXQsIGlzRmlyZWZveCwgVFVJX0lTX0lPUywgdHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfU0NST0xMX0lOVE9fVklFVywgVFVJX1NDUk9MTEFCTEV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQge1RVSV9TQ1JPTExfUkVGfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgZnVuY3Rpb24gc2Nyb2xsUmVmRmFjdG9yeSh7XG4gICAgYnJvd3NlclNjcm9sbFJlZixcbn06IFR1aVNjcm9sbGJhckNvbXBvbmVudCk6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHtcbiAgICByZXR1cm4gYnJvd3NlclNjcm9sbFJlZjtcbn1cblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLXNjcm9sbGJhcmAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL3Njcm9sbGJhci50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9zY3JvbGxiYXIuc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfU0NST0xMX1JFRixcbiAgICAgICAgICAgIGRlcHM6IFtUdWlTY3JvbGxiYXJDb21wb25lbnRdLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogc2Nyb2xsUmVmRmFjdG9yeSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxiYXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgZGVsZWdhdGVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzTGVnYWN5OiBib29sZWFuID1cbiAgICAgICAgIXRoaXMuY3NzUmVmLnN1cHBvcnRzKGBwb3NpdGlvbmAsIGBzdGlja3lgKSB8fFxuICAgICAgICAoaXNGaXJlZm94KHRoaXMudXNlckFnZW50KSAmJiAhdGhpcy5jc3NSZWYuc3VwcG9ydHMoYHNjcm9sbGJhci13aWR0aGAsIGBub25lYCkpO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGhpZGRlbiA9IGZhbHNlO1xuXG4gICAgcmVhZG9ubHkgYnJvd3NlclNjcm9sbFJlZiA9IG5ldyBFbGVtZW50UmVmKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENTUykgcHJpdmF0ZSByZWFkb25seSBjc3NSZWY6IGFueSxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFVTRVJfQUdFTlQpIHByaXZhdGUgcmVhZG9ubHkgdXNlckFnZW50OiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0lPUykgcHJpdmF0ZSByZWFkb25seSBpc0lvczogYm9vbGVhbixcbiAgICApIHt9XG5cbiAgICBnZXQgc2hvd1Njcm9sbGJhcnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5oaWRkZW4gJiYgIXRoaXMuaXNJb3MgJiYgKCF0aGlzLmlzTGVnYWN5IHx8IHRoaXMuZGVsZWdhdGVkKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9sZWdhY3lgKVxuICAgIGdldCBzaG93TmF0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0xlZ2FjeSAmJiAhdGhpcy5oaWRkZW4gJiYgIXRoaXMuZGVsZWdhdGVkO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYCR7VFVJX1NDUk9MTEFCTEV9LnN0b3BgLCBbYCRldmVudC5kZXRhaWxgXSlcbiAgICBvblNjcm9sbGFibGUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZWxlZ2F0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmJyb3dzZXJTY3JvbGxSZWYubmF0aXZlRWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihgJHtUVUlfU0NST0xMX0lOVE9fVklFV30uc3RvcGAsIFtgJGV2ZW50LmRldGFpbGBdKVxuICAgIHNjcm9sbEludG9WaWV3KGRldGFpbDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGVsZWdhdGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSB0aGlzLmJyb3dzZXJTY3JvbGxSZWY7XG4gICAgICAgIGNvbnN0IHtvZmZzZXRUb3AsIG9mZnNldExlZnR9ID0gZ2V0RWxlbWVudE9mZnNldChuYXRpdmVFbGVtZW50LCBkZXRhaWwpO1xuXG4gICAgICAgIG5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID1cbiAgICAgICAgICAgIG9mZnNldFRvcCArIGRldGFpbC5vZmZzZXRIZWlnaHQgLyAyIC0gbmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgLyAyO1xuICAgICAgICBuYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPVxuICAgICAgICAgICAgb2Zmc2V0TGVmdCArIGRldGFpbC5vZmZzZXRXaWR0aCAvIDIgLSBuYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIC8gMjtcbiAgICB9XG59XG4iXX0=