@alauda/ui 6.5.9-beta.22 → 6.5.9-beta.24

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 (469) hide show
  1. package/accordion/accordion-item/accordion-item.component.d.ts +1 -1
  2. package/accordion/accordion.component.d.ts +1 -1
  3. package/anchor/anchor.component.d.ts +2 -2
  4. package/anchor/anchor.directive.d.ts +2 -2
  5. package/autocomplete/autocomplete.directive.d.ts +2 -2
  6. package/autocomplete/suggestion/suggestion.component.d.ts +1 -1
  7. package/back-top/back-top.component.d.ts +1 -1
  8. package/breadcrumb/breadcrumb.component.d.ts +1 -1
  9. package/button/button.component.d.ts +1 -1
  10. package/card/card.component.d.ts +1 -1
  11. package/card/helper-directives.d.ts +1 -1
  12. package/checkbox/checkbox-group/checkbox-group.component.d.ts +1 -1
  13. package/checkbox/checkbox.component.d.ts +1 -1
  14. package/date-picker/calendar/date-picker-panel/component.d.ts +1 -1
  15. package/date-picker/calendar/footer/component.d.ts +1 -1
  16. package/date-picker/calendar/header/component.d.ts +1 -1
  17. package/date-picker/calendar/panel/picker-panel.d.ts +1 -1
  18. package/date-picker/calendar/range-picker-panel/component.d.ts +1 -1
  19. package/date-picker/date-picker/date-picker.component.d.ts +1 -1
  20. package/date-picker/range-picker/range-picker.component.d.ts +1 -1
  21. package/date-picker/trigger/trigger.component.d.ts +1 -1
  22. package/dialog/dialog-content/dialog-close.directive.d.ts +1 -1
  23. package/dialog/dialog-content/dialog-header.component.d.ts +1 -1
  24. package/dialog/dialog.component.d.ts +0 -6
  25. package/dialog/dialog.service.d.ts +0 -2
  26. package/drawer/component/drawer.component.d.ts +1 -1
  27. package/dropdown/dropdown-active.directive.d.ts +1 -1
  28. package/dropdown/dropdown-button/dropdown-button.component.d.ts +1 -1
  29. package/dropdown/dropdown.directive.d.ts +1 -1
  30. package/dropdown/menu/menu.component.d.ts +1 -1
  31. package/dropdown/menu-item/menu-item.component.d.ts +1 -1
  32. package/dropdown/submenu/submenu.component.d.ts +1 -1
  33. package/esm2022/accordion/accordion-item/accordion-item.component.mjs +73 -0
  34. package/esm2022/accordion/accordion.component.mjs +29 -0
  35. package/{esm2020 → esm2022}/accordion/accordion.module.mjs +11 -11
  36. package/esm2022/anchor/anchor.component.mjs +141 -0
  37. package/esm2022/anchor/anchor.directive.mjs +198 -0
  38. package/{esm2020 → esm2022}/anchor/anchor.module.mjs +11 -11
  39. package/{esm2020 → esm2022}/autocomplete/autocomplete-placeholder.component.mjs +4 -4
  40. package/esm2022/autocomplete/autocomplete.component.mjs +72 -0
  41. package/esm2022/autocomplete/autocomplete.directive.mjs +278 -0
  42. package/{esm2020 → esm2022}/autocomplete/autocomplete.module.mjs +17 -17
  43. package/{esm2020 → esm2022}/autocomplete/helper-directives.mjs +4 -4
  44. package/esm2022/autocomplete/suggestion/suggestion.component.mjs +85 -0
  45. package/esm2022/autocomplete/suggestion-group/suggestion-group.component.mjs +25 -0
  46. package/esm2022/back-top/back-top.component.mjs +68 -0
  47. package/{esm2020 → esm2022}/back-top/back-top.module.mjs +5 -5
  48. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +33 -0
  49. package/esm2022/breadcrumb/breadcrumb.component.mjs +56 -0
  50. package/{esm2020 → esm2022}/breadcrumb/breadcrumb.module.mjs +5 -5
  51. package/{esm2020 → esm2022}/button/button-group/button-group.component.mjs +4 -4
  52. package/esm2022/button/button.component.mjs +124 -0
  53. package/{esm2020 → esm2022}/button/button.module.mjs +5 -5
  54. package/esm2022/card/card.component.mjs +14 -0
  55. package/{esm2020 → esm2022}/card/card.module.mjs +13 -13
  56. package/esm2022/card/helper-directives.mjs +45 -0
  57. package/{esm2020 → esm2022}/card/section.component.mjs +4 -4
  58. package/esm2022/checkbox/checkbox-group/checkbox-group.component.mjs +60 -0
  59. package/esm2022/checkbox/checkbox.component.mjs +116 -0
  60. package/{esm2020 → esm2022}/checkbox/checkbox.module.mjs +5 -5
  61. package/esm2022/color-picker/color-picker.component.mjs +28 -0
  62. package/{esm2020 → esm2022}/color-picker/color-picker.module.mjs +5 -5
  63. package/esm2022/date-picker/calendar/date-picker-panel/component.mjs +137 -0
  64. package/esm2022/date-picker/calendar/footer/component.mjs +29 -0
  65. package/esm2022/date-picker/calendar/header/component.mjs +99 -0
  66. package/esm2022/date-picker/calendar/panel/picker-panel.mjs +158 -0
  67. package/esm2022/date-picker/calendar/range-picker-panel/component.mjs +210 -0
  68. package/esm2022/date-picker/calendar/util.mjs +152 -0
  69. package/esm2022/date-picker/date-picker/date-picker.component.mjs +115 -0
  70. package/{esm2020 → esm2022}/date-picker/date-picker.module.mjs +35 -35
  71. package/esm2022/date-picker/range-picker/range-picker.component.mjs +88 -0
  72. package/esm2022/date-picker/trigger/trigger.component.mjs +76 -0
  73. package/esm2022/dialog/confirm-dialog/confirm-dialog-config.mjs +13 -0
  74. package/esm2022/dialog/confirm-dialog/confirm-dialog.component.mjs +88 -0
  75. package/esm2022/dialog/dialog-config.mjs +14 -0
  76. package/esm2022/dialog/dialog-content/dialog-close.directive.mjs +42 -0
  77. package/{esm2020 → esm2022}/dialog/dialog-content/dialog-content.component.mjs +5 -5
  78. package/esm2022/dialog/dialog-content/dialog-footer.component.mjs +13 -0
  79. package/esm2022/dialog/dialog-content/dialog-header.component.mjs +42 -0
  80. package/esm2022/dialog/dialog-ref.mjs +52 -0
  81. package/esm2022/dialog/dialog.component.mjs +154 -0
  82. package/{esm2020 → esm2022}/dialog/dialog.module.mjs +22 -22
  83. package/esm2022/dialog/dialog.service.mjs +124 -0
  84. package/esm2022/drawer/component/drawer.component.mjs +248 -0
  85. package/{esm2020 → esm2022}/drawer/component/helper-directives.mjs +10 -10
  86. package/{esm2020 → esm2022}/drawer/drawer.module.mjs +11 -11
  87. package/esm2022/drawer/drawer.service.mjs +47 -0
  88. package/esm2022/dropdown/dropdown-active.directive.mjs +18 -0
  89. package/esm2022/dropdown/dropdown-button/dropdown-button.component.mjs +50 -0
  90. package/esm2022/dropdown/dropdown.directive.mjs +83 -0
  91. package/{esm2020 → esm2022}/dropdown/dropdown.module.mjs +21 -21
  92. package/{esm2020 → esm2022}/dropdown/helper-directives.mjs +4 -4
  93. package/esm2022/dropdown/menu/menu-content.directive.mjs +59 -0
  94. package/esm2022/dropdown/menu/menu.component.mjs +34 -0
  95. package/{esm2020 → esm2022}/dropdown/menu-group/menu-group.component.mjs +4 -4
  96. package/esm2022/dropdown/menu-item/menu-item.component.mjs +35 -0
  97. package/esm2022/dropdown/submenu/submenu.component.mjs +38 -0
  98. package/esm2022/form/common-form.mjs +88 -0
  99. package/esm2022/form/form-item/form-item.component.mjs +121 -0
  100. package/esm2022/form/form.directive.mjs +70 -0
  101. package/{esm2020 → esm2022}/form/form.module.mjs +17 -17
  102. package/esm2022/form/helper-directives.mjs +78 -0
  103. package/{esm2020 → esm2022}/i18n/i18n.module.mjs +5 -5
  104. package/esm2022/i18n/i18n.pipe.mjs +21 -0
  105. package/esm2022/i18n/i18n.service.mjs +46 -0
  106. package/esm2022/icon/icon-register.service.mjs +75 -0
  107. package/esm2022/icon/icon.component.mjs +74 -0
  108. package/{esm2020 → esm2022}/icon/icon.module.mjs +5 -5
  109. package/{esm2020 → esm2022}/inline-alert/helper-directives.mjs +4 -4
  110. package/esm2022/inline-alert/inline-alert.component.mjs +54 -0
  111. package/{esm2020 → esm2022}/inline-alert/inline-alert.module.mjs +5 -5
  112. package/esm2022/input/autosize.directive.mjs +56 -0
  113. package/esm2022/input/helper-directives.mjs +43 -0
  114. package/esm2022/input/input-group/input-group.component.mjs +46 -0
  115. package/esm2022/input/input.component.mjs +59 -0
  116. package/{esm2020 → esm2022}/input/input.module.mjs +33 -33
  117. package/esm2022/input/number-input/number-input.component.mjs +115 -0
  118. package/esm2022/input/search/search.component.mjs +87 -0
  119. package/esm2022/input/tags-input/tags-input.component.mjs +264 -0
  120. package/esm2022/message/base-message.mjs +99 -0
  121. package/esm2022/message/message-wrapper.component.mjs +15 -0
  122. package/esm2022/message/message.component.mjs +77 -0
  123. package/esm2022/message/message.config.mjs +20 -0
  124. package/{esm2020 → esm2022}/message/message.module.mjs +5 -5
  125. package/{esm2020 → esm2022}/message/message.service.mjs +4 -4
  126. package/esm2022/notification/notification-wrapper.component.mjs +17 -0
  127. package/esm2022/notification/notification.component.mjs +106 -0
  128. package/{esm2020 → esm2022}/notification/notification.module.mjs +5 -5
  129. package/{esm2020 → esm2022}/notification/notification.service.mjs +4 -4
  130. package/esm2022/paginator/paginator-intl.mjs +24 -0
  131. package/esm2022/paginator/paginator.component.mjs +124 -0
  132. package/{esm2020 → esm2022}/paginator/paginator.module.mjs +5 -5
  133. package/esm2022/radio/base-radio.mjs +72 -0
  134. package/esm2022/radio/radio-button/radio-button.component.mjs +41 -0
  135. package/esm2022/radio/radio-group/radio-group.component.mjs +70 -0
  136. package/{esm2020 → esm2022}/radio/radio.component.mjs +5 -5
  137. package/{esm2020 → esm2022}/radio/radio.module.mjs +5 -5
  138. package/{esm2020 → esm2022}/scrolling/fixed-size-table-virtual-scroll-strategy.mjs +13 -14
  139. package/esm2022/scrolling/fixed-size-table-virtual-scroll.directive.mjs +119 -0
  140. package/esm2022/scrolling/fixed-size-virtual-scroll.directive.mjs +27 -0
  141. package/{esm2020 → esm2022}/scrolling/scrolling.module.mjs +9 -9
  142. package/{esm2020 → esm2022}/scrolling/virtual-for-of.directive.mjs +4 -4
  143. package/esm2022/scrolling/virtual-scroll-viewport.component.mjs +26 -0
  144. package/esm2022/select/base-select.mjs +345 -0
  145. package/{esm2020 → esm2022}/select/helper-directives.mjs +7 -7
  146. package/esm2022/select/multi-select/multi-select.component.mjs +318 -0
  147. package/esm2022/select/option/option.component.mjs +119 -0
  148. package/esm2022/select/option-group/option-group.component.mjs +25 -0
  149. package/{esm2020 → esm2022}/select/option-placeholder.component.mjs +4 -4
  150. package/esm2022/select/select.component.mjs +107 -0
  151. package/{esm2020 → esm2022}/select/select.module.mjs +29 -29
  152. package/esm2022/select/validators.mjs +78 -0
  153. package/esm2022/shared/click-outside.directive.mjs +29 -0
  154. package/{esm2020 → esm2022}/shared/shared.module.mjs +5 -5
  155. package/esm2022/sort/sort-header.component.mjs +74 -0
  156. package/esm2022/sort/sort.directive.mjs +73 -0
  157. package/{esm2020 → esm2022}/sort/sort.module.mjs +5 -5
  158. package/esm2022/status-bar/status-bar.component.mjs +28 -0
  159. package/{esm2020 → esm2022}/status-bar/status-bar.module.mjs +5 -5
  160. package/esm2022/steps/steps.component.mjs +180 -0
  161. package/{esm2020 → esm2022}/steps/steps.module.mjs +5 -5
  162. package/esm2022/switch/switch.component.mjs +43 -0
  163. package/{esm2020 → esm2022}/switch/switch.module.mjs +5 -5
  164. package/esm2022/table/table-cell-def.directive.mjs +25 -0
  165. package/esm2022/table/table-cell.component.mjs +115 -0
  166. package/{esm2020 → esm2022}/table/table-cell.directive.mjs +5 -5
  167. package/esm2022/table/table-column-def.directive.mjs +31 -0
  168. package/esm2022/table/table-header-cell-def.directive.mjs +25 -0
  169. package/{esm2020 → esm2022}/table/table-header-cell.directive.mjs +4 -4
  170. package/esm2022/table/table-header-row-def.directive.mjs +33 -0
  171. package/{esm2020 → esm2022}/table/table-header-row.component.mjs +4 -4
  172. package/esm2022/table/table-placeholder.directive.mjs +33 -0
  173. package/esm2022/table/table-row-def.directive.mjs +34 -0
  174. package/esm2022/table/table-row.component.mjs +43 -0
  175. package/esm2022/table/table-scroll.directive.mjs +133 -0
  176. package/esm2022/table/table.component.mjs +79 -0
  177. package/{esm2020 → esm2022}/table/table.module.mjs +35 -35
  178. package/{esm2020 → esm2022}/table-of-contents/table-of-contents.module.mjs +5 -5
  179. package/esm2022/table-of-contents/toc-container.directive.mjs +111 -0
  180. package/esm2022/table-of-contents/toc-content.directive.mjs +39 -0
  181. package/esm2022/table-of-contents/toc-link.directive.mjs +48 -0
  182. package/esm2022/tabs/tab-body.component.mjs +151 -0
  183. package/esm2022/tabs/tab-context.service.mjs +30 -0
  184. package/esm2022/tabs/tab-group.component.mjs +256 -0
  185. package/esm2022/tabs/tab-header-active-indicator.component.mjs +46 -0
  186. package/esm2022/tabs/tab-header.component.mjs +276 -0
  187. package/esm2022/tabs/tab.component.mjs +77 -0
  188. package/{esm2020 → esm2022}/tabs/tabs.module.mjs +34 -34
  189. package/esm2022/tag/check-tag/check-tag.component.mjs +31 -0
  190. package/esm2022/tag/tag.component.mjs +63 -0
  191. package/{esm2020 → esm2022}/tag/tag.module.mjs +5 -5
  192. package/{esm2020 → esm2022}/theme/theme.module.mjs +5 -5
  193. package/esm2022/theme/theme.pipe.mjs +64 -0
  194. package/esm2022/theme/theme.service.mjs +55 -0
  195. package/esm2022/time-picker/component.mjs +181 -0
  196. package/esm2022/time-picker/panel/panel.component.mjs +240 -0
  197. package/{esm2020 → esm2022}/time-picker/time-picker.module.mjs +23 -23
  198. package/esm2022/tooltip/base-tooltip.mjs +329 -0
  199. package/esm2022/tooltip/tooltip-active.directive.mjs +51 -0
  200. package/esm2022/tooltip/tooltip-copy.directive.mjs +87 -0
  201. package/esm2022/tooltip/tooltip-intl.mjs +21 -0
  202. package/esm2022/tooltip/tooltip.component.mjs +120 -0
  203. package/esm2022/tooltip/tooltip.directive.mjs +44 -0
  204. package/{esm2020 → esm2022}/tooltip/tooltip.module.mjs +8 -8
  205. package/{esm2020 → esm2022}/tree-select/tree-node-placeholder.component.mjs +4 -4
  206. package/esm2022/tree-select/tree-select.component.mjs +350 -0
  207. package/{esm2020 → esm2022}/tree-select/tree-select.module.mjs +9 -9
  208. package/esm2022/utils/bem.mjs +44 -0
  209. package/{fesm2020 → fesm2022}/alauda-ui.mjs +2204 -1887
  210. package/fesm2022/alauda-ui.mjs.map +1 -0
  211. package/form/common-form.d.ts +1 -1
  212. package/form/form-item/form-item.component.d.ts +1 -1
  213. package/form/form.directive.d.ts +1 -1
  214. package/form/helper-directives.d.ts +1 -1
  215. package/icon/icon.component.d.ts +1 -1
  216. package/inline-alert/inline-alert.component.d.ts +1 -1
  217. package/input/autosize.directive.d.ts +1 -1
  218. package/input/input.component.d.ts +1 -1
  219. package/input/number-input/number-input.component.d.ts +1 -1
  220. package/input/search/search.component.d.ts +1 -1
  221. package/input/tags-input/tags-input.component.d.ts +1 -1
  222. package/package.json +11 -17
  223. package/paginator/paginator.component.d.ts +1 -1
  224. package/radio/base-radio.d.ts +1 -1
  225. package/radio/radio-group/radio-group.component.d.ts +1 -1
  226. package/scrolling/fixed-size-table-virtual-scroll.directive.d.ts +1 -1
  227. package/scrolling/virtual-for-of.directive.d.ts +1 -1
  228. package/select/base-select.d.ts +1 -1
  229. package/select/multi-select/multi-select.component.d.ts +1 -1
  230. package/select/option/option.component.d.ts +1 -1
  231. package/select/validators.d.ts +1 -1
  232. package/sort/sort-header.component.d.ts +1 -1
  233. package/sort/sort.directive.d.ts +1 -1
  234. package/status-bar/status-bar.component.d.ts +1 -1
  235. package/steps/steps.component.d.ts +1 -1
  236. package/switch/switch.component.d.ts +1 -1
  237. package/table/table-cell.component.d.ts +2 -2
  238. package/table/table-cell.directive.d.ts +1 -1
  239. package/table/table-column-def.directive.d.ts +1 -1
  240. package/table/table-header-row-def.directive.d.ts +1 -1
  241. package/table/table-row-def.directive.d.ts +1 -1
  242. package/table/table-row.component.d.ts +1 -1
  243. package/table/table-scroll.directive.d.ts +2 -2
  244. package/table/table.component.d.ts +1 -1
  245. package/table-of-contents/toc-content.directive.d.ts +1 -1
  246. package/table-of-contents/toc-link.directive.d.ts +1 -1
  247. package/tabs/tab-body.component.d.ts +2 -2
  248. package/tabs/tab-group.component.d.ts +1 -1
  249. package/tabs/tab-header-active-indicator.component.d.ts +1 -1
  250. package/tabs/tab-header.component.d.ts +1 -1
  251. package/tabs/tab.component.d.ts +1 -1
  252. package/tag/check-tag/check-tag.component.d.ts +1 -1
  253. package/tag/tag.component.d.ts +1 -1
  254. package/theme/_var.scss +1 -1
  255. package/time-picker/component.d.ts +1 -1
  256. package/time-picker/panel/panel.component.d.ts +1 -1
  257. package/tooltip/tooltip-active.directive.d.ts +1 -1
  258. package/tooltip/tooltip-copy.directive.d.ts +1 -1
  259. package/tooltip/tooltip.directive.d.ts +1 -1
  260. package/tree-select/tree-select.component.d.ts +2 -2
  261. package/esm2020/accordion/accordion-item/accordion-item.component.mjs +0 -71
  262. package/esm2020/accordion/accordion.component.mjs +0 -27
  263. package/esm2020/anchor/anchor.component.mjs +0 -137
  264. package/esm2020/anchor/anchor.directive.mjs +0 -182
  265. package/esm2020/autocomplete/autocomplete.component.mjs +0 -64
  266. package/esm2020/autocomplete/autocomplete.directive.mjs +0 -277
  267. package/esm2020/autocomplete/suggestion/suggestion.component.mjs +0 -79
  268. package/esm2020/autocomplete/suggestion-group/suggestion-group.component.mjs +0 -23
  269. package/esm2020/back-top/back-top.component.mjs +0 -65
  270. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +0 -32
  271. package/esm2020/breadcrumb/breadcrumb.component.mjs +0 -57
  272. package/esm2020/button/button.component.mjs +0 -121
  273. package/esm2020/card/card.component.mjs +0 -16
  274. package/esm2020/card/helper-directives.mjs +0 -48
  275. package/esm2020/checkbox/checkbox-group/checkbox-group.component.mjs +0 -61
  276. package/esm2020/checkbox/checkbox.component.mjs +0 -112
  277. package/esm2020/color-picker/color-picker.component.mjs +0 -28
  278. package/esm2020/date-picker/calendar/date-picker-panel/component.mjs +0 -128
  279. package/esm2020/date-picker/calendar/footer/component.mjs +0 -29
  280. package/esm2020/date-picker/calendar/header/component.mjs +0 -99
  281. package/esm2020/date-picker/calendar/panel/picker-panel.mjs +0 -151
  282. package/esm2020/date-picker/calendar/range-picker-panel/component.mjs +0 -207
  283. package/esm2020/date-picker/calendar/util.mjs +0 -145
  284. package/esm2020/date-picker/date-picker/date-picker.component.mjs +0 -110
  285. package/esm2020/date-picker/range-picker/range-picker.component.mjs +0 -86
  286. package/esm2020/date-picker/trigger/trigger.component.mjs +0 -69
  287. package/esm2020/dialog/confirm-dialog/confirm-dialog-config.mjs +0 -12
  288. package/esm2020/dialog/confirm-dialog/confirm-dialog.component.mjs +0 -85
  289. package/esm2020/dialog/dialog-config.mjs +0 -15
  290. package/esm2020/dialog/dialog-content/dialog-close.directive.mjs +0 -38
  291. package/esm2020/dialog/dialog-content/dialog-footer.component.mjs +0 -15
  292. package/esm2020/dialog/dialog-content/dialog-header.component.mjs +0 -39
  293. package/esm2020/dialog/dialog-ref.mjs +0 -48
  294. package/esm2020/dialog/dialog.component.mjs +0 -155
  295. package/esm2020/dialog/dialog.service.mjs +0 -134
  296. package/esm2020/drawer/component/drawer.component.mjs +0 -229
  297. package/esm2020/drawer/drawer.service.mjs +0 -44
  298. package/esm2020/dropdown/dropdown-active.directive.mjs +0 -21
  299. package/esm2020/dropdown/dropdown-button/dropdown-button.component.mjs +0 -51
  300. package/esm2020/dropdown/dropdown.directive.mjs +0 -81
  301. package/esm2020/dropdown/menu/menu-content.directive.mjs +0 -51
  302. package/esm2020/dropdown/menu/menu.component.mjs +0 -33
  303. package/esm2020/dropdown/menu-item/menu-item.component.mjs +0 -37
  304. package/esm2020/dropdown/submenu/submenu.component.mjs +0 -40
  305. package/esm2020/form/common-form.mjs +0 -84
  306. package/esm2020/form/form-item/form-item.component.mjs +0 -108
  307. package/esm2020/form/form.directive.mjs +0 -69
  308. package/esm2020/form/helper-directives.mjs +0 -80
  309. package/esm2020/i18n/i18n.pipe.mjs +0 -20
  310. package/esm2020/i18n/i18n.service.mjs +0 -43
  311. package/esm2020/icon/icon-register.service.mjs +0 -73
  312. package/esm2020/icon/icon.component.mjs +0 -65
  313. package/esm2020/inline-alert/inline-alert.component.mjs +0 -53
  314. package/esm2020/input/autosize.directive.mjs +0 -54
  315. package/esm2020/input/helper-directives.mjs +0 -43
  316. package/esm2020/input/input-group/input-group.component.mjs +0 -39
  317. package/esm2020/input/input.component.mjs +0 -57
  318. package/esm2020/input/number-input/number-input.component.mjs +0 -112
  319. package/esm2020/input/search/search.component.mjs +0 -88
  320. package/esm2020/input/tags-input/tags-input.component.mjs +0 -255
  321. package/esm2020/message/base-message.mjs +0 -90
  322. package/esm2020/message/message-wrapper.component.mjs +0 -14
  323. package/esm2020/message/message.component.mjs +0 -70
  324. package/esm2020/message/message.config.mjs +0 -16
  325. package/esm2020/notification/notification-wrapper.component.mjs +0 -16
  326. package/esm2020/notification/notification.component.mjs +0 -103
  327. package/esm2020/paginator/paginator-intl.mjs +0 -26
  328. package/esm2020/paginator/paginator.component.mjs +0 -117
  329. package/esm2020/radio/base-radio.mjs +0 -67
  330. package/esm2020/radio/radio-button/radio-button.component.mjs +0 -41
  331. package/esm2020/radio/radio-group/radio-group.component.mjs +0 -73
  332. package/esm2020/scrolling/fixed-size-table-virtual-scroll.directive.mjs +0 -119
  333. package/esm2020/scrolling/fixed-size-virtual-scroll.directive.mjs +0 -27
  334. package/esm2020/scrolling/virtual-scroll-viewport.component.mjs +0 -26
  335. package/esm2020/select/base-select.mjs +0 -334
  336. package/esm2020/select/multi-select/multi-select.component.mjs +0 -310
  337. package/esm2020/select/option/option.component.mjs +0 -112
  338. package/esm2020/select/option-group/option-group.component.mjs +0 -23
  339. package/esm2020/select/select.component.mjs +0 -107
  340. package/esm2020/select/validators.mjs +0 -75
  341. package/esm2020/shared/click-outside.directive.mjs +0 -28
  342. package/esm2020/sort/sort-header.component.mjs +0 -68
  343. package/esm2020/sort/sort.directive.mjs +0 -74
  344. package/esm2020/status-bar/status-bar.component.mjs +0 -29
  345. package/esm2020/steps/steps.component.mjs +0 -180
  346. package/esm2020/switch/switch.component.mjs +0 -46
  347. package/esm2020/table/table-cell-def.directive.mjs +0 -25
  348. package/esm2020/table/table-cell.component.mjs +0 -121
  349. package/esm2020/table/table-column-def.directive.mjs +0 -31
  350. package/esm2020/table/table-header-cell-def.directive.mjs +0 -25
  351. package/esm2020/table/table-header-row-def.directive.mjs +0 -35
  352. package/esm2020/table/table-placeholder.directive.mjs +0 -30
  353. package/esm2020/table/table-row-def.directive.mjs +0 -37
  354. package/esm2020/table/table-row.component.mjs +0 -42
  355. package/esm2020/table/table-scroll.directive.mjs +0 -133
  356. package/esm2020/table/table.component.mjs +0 -76
  357. package/esm2020/table-of-contents/toc-container.directive.mjs +0 -109
  358. package/esm2020/table-of-contents/toc-content.directive.mjs +0 -35
  359. package/esm2020/table-of-contents/toc-link.directive.mjs +0 -44
  360. package/esm2020/tabs/tab-body.component.mjs +0 -147
  361. package/esm2020/tabs/tab-context.service.mjs +0 -28
  362. package/esm2020/tabs/tab-group.component.mjs +0 -246
  363. package/esm2020/tabs/tab-header-active-indicator.component.mjs +0 -44
  364. package/esm2020/tabs/tab-header.component.mjs +0 -264
  365. package/esm2020/tabs/tab.component.mjs +0 -71
  366. package/esm2020/tag/check-tag/check-tag.component.mjs +0 -33
  367. package/esm2020/tag/tag.component.mjs +0 -65
  368. package/esm2020/theme/theme.pipe.mjs +0 -69
  369. package/esm2020/theme/theme.service.mjs +0 -52
  370. package/esm2020/time-picker/component.mjs +0 -179
  371. package/esm2020/time-picker/panel/panel.component.mjs +0 -228
  372. package/esm2020/tooltip/base-tooltip.mjs +0 -318
  373. package/esm2020/tooltip/tooltip-active.directive.mjs +0 -49
  374. package/esm2020/tooltip/tooltip-copy.directive.mjs +0 -82
  375. package/esm2020/tooltip/tooltip-intl.mjs +0 -23
  376. package/esm2020/tooltip/tooltip.component.mjs +0 -107
  377. package/esm2020/tooltip/tooltip.directive.mjs +0 -47
  378. package/esm2020/tree-select/tree-select.component.mjs +0 -339
  379. package/esm2020/utils/bem.mjs +0 -43
  380. package/fesm2015/alauda-ui.mjs +0 -11686
  381. package/fesm2015/alauda-ui.mjs.map +0 -1
  382. package/fesm2020/alauda-ui.mjs.map +0 -1
  383. /package/{esm2020 → esm2022}/accordion/index.mjs +0 -0
  384. /package/{esm2020 → esm2022}/alauda-ui.mjs +0 -0
  385. /package/{esm2020 → esm2022}/anchor/index.mjs +0 -0
  386. /package/{esm2020 → esm2022}/anchor/types.mjs +0 -0
  387. /package/{esm2020 → esm2022}/anchor/utils.mjs +0 -0
  388. /package/{esm2020 → esm2022}/autocomplete/autocomplete.types.mjs +0 -0
  389. /package/{esm2020 → esm2022}/autocomplete/index.mjs +0 -0
  390. /package/{esm2020 → esm2022}/back-top/index.mjs +0 -0
  391. /package/{esm2020 → esm2022}/breadcrumb/index.mjs +0 -0
  392. /package/{esm2020 → esm2022}/button/button.types.mjs +0 -0
  393. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  394. /package/{esm2020 → esm2022}/card/index.mjs +0 -0
  395. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  396. /package/{esm2020 → esm2022}/color-picker/index.mjs +0 -0
  397. /package/{esm2020 → esm2022}/core/animation/animation-consts.mjs +0 -0
  398. /package/{esm2020 → esm2022}/date-picker/calendar/constant.mjs +0 -0
  399. /package/{esm2020 → esm2022}/date-picker/date-picker.type.mjs +0 -0
  400. /package/{esm2020 → esm2022}/date-picker/index.mjs +0 -0
  401. /package/{esm2020 → esm2022}/dialog/dialog-animations.mjs +0 -0
  402. /package/{esm2020 → esm2022}/dialog/dialog.types.mjs +0 -0
  403. /package/{esm2020 → esm2022}/dialog/index.mjs +0 -0
  404. /package/{esm2020 → esm2022}/dialog/utils/errors.mjs +0 -0
  405. /package/{esm2020 → esm2022}/dialog/utils/index.mjs +0 -0
  406. /package/{esm2020 → esm2022}/drawer/component/drawer-ref.mjs +0 -0
  407. /package/{esm2020 → esm2022}/drawer/index.mjs +0 -0
  408. /package/{esm2020 → esm2022}/dropdown/dropdown.types.mjs +0 -0
  409. /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
  410. /package/{esm2020 → esm2022}/form/form.types.mjs +0 -0
  411. /package/{esm2020 → esm2022}/form/index.mjs +0 -0
  412. /package/{esm2020 → esm2022}/i18n/i18n.type.mjs +0 -0
  413. /package/{esm2020 → esm2022}/i18n/index.mjs +0 -0
  414. /package/{esm2020 → esm2022}/i18n/language/en.mjs +0 -0
  415. /package/{esm2020 → esm2022}/i18n/language/zh.mjs +0 -0
  416. /package/{esm2020 → esm2022}/icon/icons.mjs +0 -0
  417. /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
  418. /package/{esm2020 → esm2022}/icon/utils.mjs +0 -0
  419. /package/{esm2020 → esm2022}/index.mjs +0 -0
  420. /package/{esm2020 → esm2022}/inline-alert/index.mjs +0 -0
  421. /package/{esm2020 → esm2022}/inline-alert/inline-alert.types.mjs +0 -0
  422. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  423. /package/{esm2020 → esm2022}/input/tags-input/with-max-row-count.mjs +0 -0
  424. /package/{esm2020 → esm2022}/input/utils/index.mjs +0 -0
  425. /package/{esm2020 → esm2022}/message/index.mjs +0 -0
  426. /package/{esm2020 → esm2022}/message/message-animations.mjs +0 -0
  427. /package/{esm2020 → esm2022}/notification/index.mjs +0 -0
  428. /package/{esm2020 → esm2022}/notification/notification.config.mjs +0 -0
  429. /package/{esm2020 → esm2022}/paginator/index.mjs +0 -0
  430. /package/{esm2020 → esm2022}/radio/index.mjs +0 -0
  431. /package/{esm2020 → esm2022}/radio/radio.types.mjs +0 -0
  432. /package/{esm2020 → esm2022}/scrolling/index.mjs +0 -0
  433. /package/{esm2020 → esm2022}/select/index.mjs +0 -0
  434. /package/{esm2020 → esm2022}/select/select.types.mjs +0 -0
  435. /package/{esm2020 → esm2022}/sort/index.mjs +0 -0
  436. /package/{esm2020 → esm2022}/sort/sort-errors.mjs +0 -0
  437. /package/{esm2020 → esm2022}/sort/sort.types.mjs +0 -0
  438. /package/{esm2020 → esm2022}/status-bar/index.mjs +0 -0
  439. /package/{esm2020 → esm2022}/status-bar/status-bar.types.mjs +0 -0
  440. /package/{esm2020 → esm2022}/steps/index.mjs +0 -0
  441. /package/{esm2020 → esm2022}/steps/types.mjs +0 -0
  442. /package/{esm2020 → esm2022}/switch/index.mjs +0 -0
  443. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  444. /package/{esm2020 → esm2022}/table-of-contents/index.mjs +0 -0
  445. /package/{esm2020 → esm2022}/tabs/index.mjs +0 -0
  446. /package/{esm2020 → esm2022}/tabs/tabs.types.mjs +0 -0
  447. /package/{esm2020 → esm2022}/tag/index.mjs +0 -0
  448. /package/{esm2020 → esm2022}/tag/tag.types.mjs +0 -0
  449. /package/{esm2020 → esm2022}/theme/index.mjs +0 -0
  450. /package/{esm2020 → esm2022}/theme/theme.types.mjs +0 -0
  451. /package/{esm2020 → esm2022}/theme/utils.mjs +0 -0
  452. /package/{esm2020 → esm2022}/time-picker/constant.mjs +0 -0
  453. /package/{esm2020 → esm2022}/time-picker/index.mjs +0 -0
  454. /package/{esm2020 → esm2022}/time-picker/time-picker.type.mjs +0 -0
  455. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  456. /package/{esm2020 → esm2022}/tooltip/tooltip.types.mjs +0 -0
  457. /package/{esm2020 → esm2022}/tooltip/utils/index.mjs +0 -0
  458. /package/{esm2020 → esm2022}/tree-select/index.mjs +0 -0
  459. /package/{esm2020 → esm2022}/tree-select/tree-select.types.mjs +0 -0
  460. /package/{esm2020 → esm2022}/types.mjs +0 -0
  461. /package/{esm2020 → esm2022}/utils/animations.mjs +0 -0
  462. /package/{esm2020 → esm2022}/utils/async.mjs +0 -0
  463. /package/{esm2020 → esm2022}/utils/coercion.mjs +0 -0
  464. /package/{esm2020 → esm2022}/utils/fn.mjs +0 -0
  465. /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
  466. /package/{esm2020 → esm2022}/utils/observe-dom.mjs +0 -0
  467. /package/{esm2020 → esm2022}/utils/operators.mjs +0 -0
  468. /package/{esm2020 → esm2022}/utils/scroll-into-view.mjs +0 -0
  469. /package/{esm2020 → esm2022}/utils/watch-content-exist.mjs +0 -0
@@ -0,0 +1,46 @@
1
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, } from '@angular/core';
2
+ import { buildBem } from '../utils';
3
+ import { TabType } from './tabs.types';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class TabHeaderActiveIndicatorComponent {
7
+ _elementRef;
8
+ _ngZone;
9
+ type = TabType.Line;
10
+ bem = buildBem('aui-tab-header-active-indicator');
11
+ constructor(_elementRef, _ngZone) {
12
+ this._elementRef = _elementRef;
13
+ this._ngZone = _ngZone;
14
+ }
15
+ alignToElement(element) {
16
+ if (typeof requestAnimationFrame !== 'undefined') {
17
+ this._ngZone.runOutsideAngular(() => {
18
+ requestAnimationFrame(() => this._setStyles(element));
19
+ });
20
+ }
21
+ else {
22
+ this._setStyles(element);
23
+ }
24
+ }
25
+ _setStyles(element) {
26
+ const positions = this._getElementPosition(element);
27
+ const nativeEl = this._elementRef.nativeElement;
28
+ nativeEl.style.left = positions.left;
29
+ nativeEl.style.width = positions.width;
30
+ }
31
+ _getElementPosition(element) {
32
+ return {
33
+ left: element ? (element.offsetLeft || 0) + 'px' : '0',
34
+ width: element ? (element.offsetWidth || 0) + 'px' : '0',
35
+ };
36
+ }
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: TabHeaderActiveIndicatorComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: TabHeaderActiveIndicatorComponent, selector: "aui-tab-header-active-indicator", inputs: { type: "type" }, ngImport: i0, template: "<div [ngClass]=\"bem.block(type)\"></div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: TabHeaderActiveIndicatorComponent, decorators: [{
41
+ type: Component,
42
+ args: [{ selector: 'aui-tab-header-active-indicator', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, template: "<div [ngClass]=\"bem.block(type)\"></div>\n" }]
43
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { type: [{
44
+ type: Input
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWhlYWRlci1hY3RpdmUtaW5kaWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJzL3RhYi1oZWFkZXItYWN0aXZlLWluZGljYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvdGFicy90YWItaGVhZGVyLWFjdGl2ZS1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsS0FBSyxFQUVMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQU8sUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7OztBQVN2QyxNQUFNLE9BQU8saUNBQWlDO0lBT3pCO0lBQ0E7SUFObkIsSUFBSSxHQUFZLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFFN0IsR0FBRyxHQUFRLFFBQVEsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBRXZELFlBQ21CLFdBQW9DLEVBQ3BDLE9BQWU7UUFEZixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDcEMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUMvQixDQUFDO0lBT0osY0FBYyxDQUFDLE9BQW9CO1FBQ2pDLElBQUksT0FBTyxxQkFBcUIsS0FBSyxXQUFXLEVBQUU7WUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xDLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUN4RCxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQU1PLFVBQVUsQ0FBQyxPQUFvQjtRQUNyQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDaEQsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztRQUNyQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxPQUFvQjtRQUM5QyxPQUFPO1lBQ0wsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRztZQUN0RCxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHO1NBQ3pELENBQUM7SUFDSixDQUFDO3VHQTFDVSxpQ0FBaUM7MkZBQWpDLGlDQUFpQyxpR0NwQjlDLDZDQUNBOzsyRkRtQmEsaUNBQWlDO2tCQVA3QyxTQUFTOytCQUNFLGlDQUFpQyxpQkFFNUIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSx1QkFDMUIsS0FBSztzSEFJMUIsSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZW0sIGJ1aWxkQmVtIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBUYWJUeXBlIH0gZnJvbSAnLi90YWJzLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLXRhYi1oZWFkZXItYWN0aXZlLWluZGljYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItaGVhZGVyLWFjdGl2ZS1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFRhYkhlYWRlckFjdGl2ZUluZGljYXRvckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHR5cGU6IFRhYlR5cGUgPSBUYWJUeXBlLkxpbmU7XG5cbiAgYmVtOiBCZW0gPSBidWlsZEJlbSgnYXVpLXRhYi1oZWFkZXItYWN0aXZlLWluZGljYXRvcicpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX25nWm9uZTogTmdab25lLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZXMgdGhlIHN0eWxlcyBmcm9tIHRoZSBwcm92aWRlZCBlbGVtZW50IGluIG9yZGVyIHRvIGFsaWduIHRoZSBpbmRpY2F0b3IgdG8gdGhhdCBlbGVtZW50LlxuICAgKiBTaG93cyB0aGUgaW5kaWNhdG9yIGlmIHByZXZpb3VzbHkgc2V0IGFzIGhpZGRlbi5cbiAgICogQHBhcmFtIGVsZW1lbnRcbiAgICovXG4gIGFsaWduVG9FbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgaWYgKHR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5fc2V0U3R5bGVzKGVsZW1lbnQpKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zZXRTdHlsZXMoZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHByb3BlciBzdHlsZXMgdG8gdGhlIGVsZW1lbnQuXG4gICAqIEBwYXJhbSBlbGVtZW50XG4gICAqL1xuICBwcml2YXRlIF9zZXRTdHlsZXMoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICBjb25zdCBwb3NpdGlvbnMgPSB0aGlzLl9nZXRFbGVtZW50UG9zaXRpb24oZWxlbWVudCk7XG4gICAgY29uc3QgbmF0aXZlRWwgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgbmF0aXZlRWwuc3R5bGUubGVmdCA9IHBvc2l0aW9ucy5sZWZ0O1xuICAgIG5hdGl2ZUVsLnN0eWxlLndpZHRoID0gcG9zaXRpb25zLndpZHRoO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RWxlbWVudFBvc2l0aW9uKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxlZnQ6IGVsZW1lbnQgPyAoZWxlbWVudC5vZmZzZXRMZWZ0IHx8IDApICsgJ3B4JyA6ICcwJyxcbiAgICAgIHdpZHRoOiBlbGVtZW50ID8gKGVsZW1lbnQub2Zmc2V0V2lkdGggfHwgMCkgKyAncHgnIDogJzAnLFxuICAgIH07XG4gIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiYmVtLmJsb2NrKHR5cGUpXCI+PC9kaXY+XG4iXX0=
@@ -0,0 +1,276 @@
1
+ import { FocusKeyManager } from '@angular/cdk/a11y';
2
+ import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
3
+ import { Subject, takeUntil } from 'rxjs';
4
+ import { buildBem, coerceNumber } from '../utils';
5
+ import { TabHeaderAddonDirective, TabLabelWrapperDirective, TabTitleDirective, } from './tab-body.component';
6
+ import { TabHeaderActiveIndicatorComponent } from './tab-header-active-indicator.component';
7
+ import { TabSize, TabType } from './tabs.types';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/cdk/scrolling";
10
+ import * as i2 from "@angular/common";
11
+ import * as i3 from "@angular/cdk/portal";
12
+ import * as i4 from "../icon/icon.component";
13
+ import * as i5 from "@angular/cdk/observers";
14
+ import * as i6 from "./tab-header-active-indicator.component";
15
+ const EXAGGERATED_OVERSCROLL = 60;
16
+ export class TabHeaderComponent {
17
+ _changeDetectorRef;
18
+ _viewportRuler;
19
+ bem = buildBem('aui-tab-header');
20
+ _showAddon = false;
21
+ _showPaginationControls = false;
22
+ _disableScrollAfter = true;
23
+ _disableScrollBefore = true;
24
+ _scrollDistanceChanged;
25
+ _selectedIndexChanged = false;
26
+ _scrollDistance = 0;
27
+ _selectedIndex = 0;
28
+ _destroyed = new Subject();
29
+ _keyManager;
30
+ _tabLabelCount;
31
+ type = TabType.Line;
32
+ size = TabSize.Medium;
33
+ get selectedIndex() {
34
+ return this._selectedIndex;
35
+ }
36
+ set selectedIndex(value) {
37
+ value = coerceNumber(value);
38
+ this._selectedIndexChanged = this._selectedIndex !== value;
39
+ this._selectedIndex = value;
40
+ if (this._keyManager) {
41
+ this._keyManager.updateActiveItem(value);
42
+ }
43
+ }
44
+ selectFocusedIndex = new EventEmitter();
45
+ indexFocused = new EventEmitter();
46
+ _headerAddon;
47
+ _title;
48
+ _labelWrappers;
49
+ _tabListContainer;
50
+ _tabList;
51
+ _paginationWrapper;
52
+ _activeIndicator;
53
+ ngOnDestroy() {
54
+ this._destroyed.next();
55
+ this._destroyed.complete();
56
+ }
57
+ ngAfterContentChecked() {
58
+ if (this._tabLabelCount !== this._labelWrappers.length) {
59
+ this._updatePagination();
60
+ this._tabLabelCount = this._labelWrappers.length;
61
+ this._changeDetectorRef.markForCheck();
62
+ }
63
+ if (this._selectedIndexChanged) {
64
+ this._scrollToLabel(this._selectedIndex);
65
+ this._checkScrollingControls();
66
+ this._alignActiveIndicatorToSelectedTab();
67
+ this._selectedIndexChanged = false;
68
+ this._changeDetectorRef.markForCheck();
69
+ }
70
+ if (this._scrollDistanceChanged) {
71
+ this._updateTabScrollPosition();
72
+ this._scrollDistanceChanged = false;
73
+ this._changeDetectorRef.markForCheck();
74
+ }
75
+ if (this._showAddon !== !!this._headerAddon) {
76
+ this._showAddon = !!this._headerAddon;
77
+ this._updatePagination();
78
+ this._changeDetectorRef.markForCheck();
79
+ }
80
+ }
81
+ ngAfterContentInit() {
82
+ const resize = this._viewportRuler.change(150);
83
+ const realign = () => {
84
+ this._updatePagination();
85
+ this._alignActiveIndicatorToSelectedTab();
86
+ requestAnimationFrame(() => {
87
+ this._scrollToLabel(this._selectedIndex);
88
+ });
89
+ };
90
+ this._keyManager = new FocusKeyManager(this._labelWrappers)
91
+ .withHorizontalOrientation('ltr')
92
+ .withWrap();
93
+ this._keyManager.updateActiveItem(0);
94
+ typeof requestAnimationFrame !== 'undefined'
95
+ ? requestAnimationFrame(realign)
96
+ : realign();
97
+ resize.pipe(takeUntil(this._destroyed)).subscribe(() => {
98
+ realign();
99
+ });
100
+ this._keyManager.change
101
+ .pipe(takeUntil(this._destroyed))
102
+ .subscribe(newFocusIndex => {
103
+ this.indexFocused.emit(newFocusIndex);
104
+ this._setTabFocus(newFocusIndex);
105
+ });
106
+ }
107
+ get scrollDistance() {
108
+ return this._scrollDistance;
109
+ }
110
+ set scrollDistance(v) {
111
+ this._scrollDistance = Math.max(0, Math.min(this._getMaxScrollDistance(), v));
112
+ this._scrollDistanceChanged = true;
113
+ this._checkScrollingControls();
114
+ }
115
+ get focusIndex() {
116
+ return this._keyManager ? this._keyManager.activeItemIndex : 0;
117
+ }
118
+ set focusIndex(value) {
119
+ if (!this._isValidIndex(value) ||
120
+ this.focusIndex === value ||
121
+ !this._keyManager) {
122
+ return;
123
+ }
124
+ this._keyManager.setActiveItem(value);
125
+ }
126
+ _isValidIndex(index) {
127
+ if (!this._labelWrappers) {
128
+ return true;
129
+ }
130
+ const tab = this._labelWrappers
131
+ ? this._labelWrappers.toArray()[index]
132
+ : null;
133
+ return !!tab && !tab.disabled;
134
+ }
135
+ _handleKeydown(event) {
136
+ switch (event.key) {
137
+ case 'Home':
138
+ this._keyManager.setFirstItemActive();
139
+ event.preventDefault();
140
+ break;
141
+ case 'End':
142
+ this._keyManager.setLastItemActive();
143
+ event.preventDefault();
144
+ break;
145
+ case 'Enter':
146
+ case 'Space':
147
+ this.selectFocusedIndex.emit(this.focusIndex);
148
+ event.preventDefault();
149
+ break;
150
+ default:
151
+ this._keyManager.onKeydown(event);
152
+ }
153
+ }
154
+ _setTabFocus(tabIndex) {
155
+ if (this._showPaginationControls) {
156
+ this._scrollToLabel(tabIndex);
157
+ }
158
+ if (this._labelWrappers?.length > 0) {
159
+ this._labelWrappers.toArray()[tabIndex].focus();
160
+ const containerEl = this._tabListContainer.nativeElement;
161
+ containerEl.scrollLeft = 0;
162
+ }
163
+ }
164
+ _scrollToLabel(labelIndex) {
165
+ const selectedLabel = this._labelWrappers
166
+ ? this._labelWrappers.toArray()[labelIndex]
167
+ : null;
168
+ if (!selectedLabel) {
169
+ return;
170
+ }
171
+ const viewLength = this._tabListContainer.nativeElement.offsetWidth;
172
+ const labelBeforePos = selectedLabel.getOffsetLeft();
173
+ const labelAfterPos = labelBeforePos + selectedLabel.getOffsetWidth();
174
+ const beforeVisiblePos = this.scrollDistance;
175
+ const afterVisiblePos = this.scrollDistance + viewLength;
176
+ if (labelBeforePos < beforeVisiblePos) {
177
+ this.scrollDistance -=
178
+ beforeVisiblePos - labelBeforePos + EXAGGERATED_OVERSCROLL;
179
+ }
180
+ else if (labelAfterPos > afterVisiblePos) {
181
+ this.scrollDistance +=
182
+ labelAfterPos - afterVisiblePos + EXAGGERATED_OVERSCROLL;
183
+ }
184
+ }
185
+ _scrollHeader(scrollDir) {
186
+ const viewLength = this._tabListContainer.nativeElement.offsetWidth;
187
+ this.scrollDistance += ((scrollDir === 'before' ? -1 : 1) * viewLength) / 3;
188
+ }
189
+ _onContentChanges() {
190
+ this._updatePagination();
191
+ this._alignActiveIndicatorToSelectedTab();
192
+ this._changeDetectorRef.markForCheck();
193
+ }
194
+ _updatePagination() {
195
+ this._checkPaginationEnabled();
196
+ this._checkScrollingControls();
197
+ this._updateTabScrollPosition();
198
+ }
199
+ _checkPaginationEnabled() {
200
+ const isEnabled = this._tabList.nativeElement.scrollWidth >
201
+ this._paginationWrapper.nativeElement.offsetWidth + 2;
202
+ if (!isEnabled) {
203
+ this.scrollDistance = 0;
204
+ }
205
+ const detectChanges = isEnabled !== this._showPaginationControls;
206
+ this._showPaginationControls = isEnabled;
207
+ if (detectChanges) {
208
+ this._changeDetectorRef.markForCheck();
209
+ }
210
+ }
211
+ _checkScrollingControls() {
212
+ this._disableScrollBefore = this.scrollDistance === 0;
213
+ this._disableScrollAfter =
214
+ this.scrollDistance === this._getMaxScrollDistance();
215
+ this._changeDetectorRef.markForCheck();
216
+ }
217
+ _getMaxScrollDistance() {
218
+ const lengthOfTabList = this._tabList.nativeElement.scrollWidth;
219
+ const viewLength = this._tabListContainer.nativeElement.offsetWidth;
220
+ return lengthOfTabList - viewLength || 0;
221
+ }
222
+ _updateTabScrollPosition() {
223
+ const scrollDistance = this.scrollDistance;
224
+ const translateX = -scrollDistance;
225
+ this._tabList.nativeElement.style.transform = `translateX(${translateX}px)`;
226
+ }
227
+ _alignActiveIndicatorToSelectedTab() {
228
+ const selectedLabelWrapper = this._labelWrappers?.length > 0
229
+ ? this._labelWrappers.toArray()[this.selectedIndex].elementRef
230
+ .nativeElement
231
+ : null;
232
+ this._activeIndicator.alignToElement(selectedLabelWrapper);
233
+ }
234
+ constructor(_changeDetectorRef, _viewportRuler) {
235
+ this._changeDetectorRef = _changeDetectorRef;
236
+ this._viewportRuler = _viewportRuler;
237
+ }
238
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: TabHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ViewportRuler }], target: i0.ɵɵFactoryTarget.Component });
239
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: TabHeaderComponent, selector: "aui-tab-header", inputs: { type: "type", size: "size", selectedIndex: "selectedIndex" }, outputs: { selectFocusedIndex: "selectFocusedIndex", indexFocused: "indexFocused" }, queries: [{ propertyName: "_headerAddon", first: true, predicate: TabHeaderAddonDirective, descendants: true }, { propertyName: "_title", first: true, predicate: TabTitleDirective, descendants: true }, { propertyName: "_labelWrappers", predicate: TabLabelWrapperDirective }], viewQueries: [{ propertyName: "_tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "_tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "_paginationWrapper", first: true, predicate: ["paginationWrapper"], descendants: true, static: true }, { propertyName: "_activeIndicator", first: true, predicate: TabHeaderActiveIndicatorComponent, descendants: true, static: true }], ngImport: i0, template: "<div [ngClass]=\"bem.block(type, size)\">\n <ng-container *ngIf=\"_title\">\n <div [ngClass]=\"bem.element('title')\">\n <ng-template [cdkPortalOutlet]=\"_title\"></ng-template>\n </div>\n </ng-container>\n <div [ngClass]=\"bem.element('header-wrapper')\">\n <div\n [ngClass]=\"bem.element('pagination-wrapper')\"\n #paginationWrapper\n >\n <div\n *ngIf=\"_showPaginationControls\"\n (click)=\"_scrollHeader('before')\"\n [attr.disabled]=\"_disableScrollBefore ? '' : null\"\n [ngClass]=\"bem.element('pagination-button')\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </div>\n <div\n [ngClass]=\"bem.element('tab-list-container')\"\n (keydown)=\"_handleKeydown($event)\"\n #tabListContainer\n >\n <div\n role=\"tablist\"\n (cdkObserveContent)=\"_onContentChanges()\"\n [ngClass]=\"bem.element('tab-list')\"\n #tabList\n >\n <div [ngClass]=\"bem.element('labels')\"><ng-content></ng-content></div>\n <aui-tab-header-active-indicator\n [type]=\"type\"\n ></aui-tab-header-active-indicator>\n </div>\n </div>\n <div\n *ngIf=\"_showPaginationControls\"\n (click)=\"_scrollHeader('after')\"\n [attr.disabled]=\"_disableScrollAfter ? '' : null\"\n [ngClass]=\"bem.element('pagination-button')\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </div>\n </div>\n <!-- If there is addon template, use it. -->\n <ng-container *ngIf=\"_showAddon\">\n <div [ngClass]=\"bem.element('addon')\">\n <ng-template [cdkPortalOutlet]=\"_headerAddon\"></ng-template>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".aui-tab-header{display:flex;flex-direction:column;flex-shrink:0;position:relative;background-color:rgb(var(--aui-color-n-10))}.aui-tab-header--large .aui-tab-label{padding:16px 20px;font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);font-weight:var(--aui-font-weight-bolder)}.aui-tab-header--medium .aui-tab-label{padding:12px 20px;font-size:var(--aui-font-size-l);line-height:var(--aui-line-height-l);font-weight:var(--aui-font-weight-bolder)}.aui-tab-header--small .aui-tab-label{padding:8px 16px;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}.aui-tab-header__header-wrapper{display:flex;flex-shrink:0;position:relative}.aui-tab-header__title{display:flex;justify-content:space-between;color:rgb(var(--aui-color-n-1));font-size:var(--aui-font-size-xxl);margin-inline:20px;padding:20px 0 12px;font-weight:var(--aui-font-weight-bolder);border-bottom:1px rgb(var(--aui-color-n-8)) solid;line-height:32px}.aui-tab-header--card{background-color:rgb(var(--aui-color-button-bg))}.aui-tab-header--line{border-radius:var(--aui-border-radius-l);overflow:hidden;box-shadow:0 0 4px #3234371a;background-color:rgb(var(--aui-color-n-10))}.aui-tab-header__pagination-wrapper{display:flex;overflow:hidden;flex-grow:1;align-items:center;position:relative}.aui-tab-header__pagination-button{width:32px;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;z-index:3;box-shadow:0 0 4px #ccc;opacity:.6;transition:box-shadow .3s,opacity .3s,color .3s}.aui-tab-header__pagination-button:hover{opacity:1;color:rgb(var(--aui-color-primary))}.aui-tab-header__pagination-button:first-of-type{margin-right:1px}.aui-tab-header__pagination-button:last-of-type{margin-left:1px}.aui-tab-header__pagination-button[disabled]{cursor:default;box-shadow:none;opacity:.1}.aui-tab-header__tab-list-container{display:flex;flex-grow:1;overflow:hidden;position:relative;z-index:1}.aui-tab-header__tab-list{flex-grow:1;position:relative;transition:all .3s cubic-bezier(.35,0,.25,1)}.aui-tab-header__labels{display:flex}.aui-tab-header__labels:focus{outline:none}.aui-tab-header__addon{display:inline-flex;align-items:center;justify-content:center;margin:0 8px}.aui-tab-header__spacer{flex:1 1 0}.aui-tab-label{position:relative;cursor:pointer;box-sizing:border-box;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;color:rgb(var(--aui-color-n-2));font-weight:var(--aui-font-weight-bold);z-index:2;transition:opacity .3s}.aui-tab-label:focus,.aui-tab-label.isActive{outline:none}.aui-tab-label:not(.aui-tab-label--disabled).isActive,.aui-tab-label:not(.aui-tab-label--disabled):hover{color:rgb(var(--aui-color-primary))}.aui-tab-label.aui-tab-label--disabled{cursor:not-allowed;opacity:.2}.aui-tab-label__content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aui-tab-label__close{margin-left:8px;font-size:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:rgb(var(--aui-color-n-4));transition:all .3s ease}.aui-tab-label__close:hover{color:rgb(var(--aui-color-n-9));background-color:rgb(var(--aui-color-n-4))}.aui-tab-label.cdk-focused:not(.cdk-mouse-focused){box-shadow:inset 0 0 0 3px rgba(var(--aui-color-primary),.3)}aui-tab-header-active-indicator{display:flex;height:100%;position:absolute;top:0;pointer-events:none;transition:all .3s cubic-bezier(.35,0,.25,1)}.aui-tab-header-active-indicator{position:relative;flex:1;height:100%;z-index:1}.aui-tab-header-active-indicator:after{content:\"\";position:absolute;display:block;background:rgb(var(--aui-color-primary));height:2px}.aui-tab-header-active-indicator--line:after{width:100%;left:0;bottom:0}.aui-tab-header-active-indicator--card{background-color:rgb(var(--aui-color-n-10))}.aui-tab-header-active-indicator--card:after{width:calc(100% + 2px);top:0;left:-1px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i4.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "directive", type: i5.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "component", type: i6.TabHeaderActiveIndicatorComponent, selector: "aui-tab-header-active-indicator", inputs: ["type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
240
+ }
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: TabHeaderComponent, decorators: [{
242
+ type: Component,
243
+ args: [{ selector: 'aui-tab-header', encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"bem.block(type, size)\">\n <ng-container *ngIf=\"_title\">\n <div [ngClass]=\"bem.element('title')\">\n <ng-template [cdkPortalOutlet]=\"_title\"></ng-template>\n </div>\n </ng-container>\n <div [ngClass]=\"bem.element('header-wrapper')\">\n <div\n [ngClass]=\"bem.element('pagination-wrapper')\"\n #paginationWrapper\n >\n <div\n *ngIf=\"_showPaginationControls\"\n (click)=\"_scrollHeader('before')\"\n [attr.disabled]=\"_disableScrollBefore ? '' : null\"\n [ngClass]=\"bem.element('pagination-button')\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </div>\n <div\n [ngClass]=\"bem.element('tab-list-container')\"\n (keydown)=\"_handleKeydown($event)\"\n #tabListContainer\n >\n <div\n role=\"tablist\"\n (cdkObserveContent)=\"_onContentChanges()\"\n [ngClass]=\"bem.element('tab-list')\"\n #tabList\n >\n <div [ngClass]=\"bem.element('labels')\"><ng-content></ng-content></div>\n <aui-tab-header-active-indicator\n [type]=\"type\"\n ></aui-tab-header-active-indicator>\n </div>\n </div>\n <div\n *ngIf=\"_showPaginationControls\"\n (click)=\"_scrollHeader('after')\"\n [attr.disabled]=\"_disableScrollAfter ? '' : null\"\n [ngClass]=\"bem.element('pagination-button')\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </div>\n </div>\n <!-- If there is addon template, use it. -->\n <ng-container *ngIf=\"_showAddon\">\n <div [ngClass]=\"bem.element('addon')\">\n <ng-template [cdkPortalOutlet]=\"_headerAddon\"></ng-template>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".aui-tab-header{display:flex;flex-direction:column;flex-shrink:0;position:relative;background-color:rgb(var(--aui-color-n-10))}.aui-tab-header--large .aui-tab-label{padding:16px 20px;font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);font-weight:var(--aui-font-weight-bolder)}.aui-tab-header--medium .aui-tab-label{padding:12px 20px;font-size:var(--aui-font-size-l);line-height:var(--aui-line-height-l);font-weight:var(--aui-font-weight-bolder)}.aui-tab-header--small .aui-tab-label{padding:8px 16px;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}.aui-tab-header__header-wrapper{display:flex;flex-shrink:0;position:relative}.aui-tab-header__title{display:flex;justify-content:space-between;color:rgb(var(--aui-color-n-1));font-size:var(--aui-font-size-xxl);margin-inline:20px;padding:20px 0 12px;font-weight:var(--aui-font-weight-bolder);border-bottom:1px rgb(var(--aui-color-n-8)) solid;line-height:32px}.aui-tab-header--card{background-color:rgb(var(--aui-color-button-bg))}.aui-tab-header--line{border-radius:var(--aui-border-radius-l);overflow:hidden;box-shadow:0 0 4px #3234371a;background-color:rgb(var(--aui-color-n-10))}.aui-tab-header__pagination-wrapper{display:flex;overflow:hidden;flex-grow:1;align-items:center;position:relative}.aui-tab-header__pagination-button{width:32px;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;z-index:3;box-shadow:0 0 4px #ccc;opacity:.6;transition:box-shadow .3s,opacity .3s,color .3s}.aui-tab-header__pagination-button:hover{opacity:1;color:rgb(var(--aui-color-primary))}.aui-tab-header__pagination-button:first-of-type{margin-right:1px}.aui-tab-header__pagination-button:last-of-type{margin-left:1px}.aui-tab-header__pagination-button[disabled]{cursor:default;box-shadow:none;opacity:.1}.aui-tab-header__tab-list-container{display:flex;flex-grow:1;overflow:hidden;position:relative;z-index:1}.aui-tab-header__tab-list{flex-grow:1;position:relative;transition:all .3s cubic-bezier(.35,0,.25,1)}.aui-tab-header__labels{display:flex}.aui-tab-header__labels:focus{outline:none}.aui-tab-header__addon{display:inline-flex;align-items:center;justify-content:center;margin:0 8px}.aui-tab-header__spacer{flex:1 1 0}.aui-tab-label{position:relative;cursor:pointer;box-sizing:border-box;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;color:rgb(var(--aui-color-n-2));font-weight:var(--aui-font-weight-bold);z-index:2;transition:opacity .3s}.aui-tab-label:focus,.aui-tab-label.isActive{outline:none}.aui-tab-label:not(.aui-tab-label--disabled).isActive,.aui-tab-label:not(.aui-tab-label--disabled):hover{color:rgb(var(--aui-color-primary))}.aui-tab-label.aui-tab-label--disabled{cursor:not-allowed;opacity:.2}.aui-tab-label__content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aui-tab-label__close{margin-left:8px;font-size:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:rgb(var(--aui-color-n-4));transition:all .3s ease}.aui-tab-label__close:hover{color:rgb(var(--aui-color-n-9));background-color:rgb(var(--aui-color-n-4))}.aui-tab-label.cdk-focused:not(.cdk-mouse-focused){box-shadow:inset 0 0 0 3px rgba(var(--aui-color-primary),.3)}aui-tab-header-active-indicator{display:flex;height:100%;position:absolute;top:0;pointer-events:none;transition:all .3s cubic-bezier(.35,0,.25,1)}.aui-tab-header-active-indicator{position:relative;flex:1;height:100%;z-index:1}.aui-tab-header-active-indicator:after{content:\"\";position:absolute;display:block;background:rgb(var(--aui-color-primary));height:2px}.aui-tab-header-active-indicator--line:after{width:100%;left:0;bottom:0}.aui-tab-header-active-indicator--card{background-color:rgb(var(--aui-color-n-10))}.aui-tab-header-active-indicator--card:after{width:calc(100% + 2px);top:0;left:-1px}\n"] }]
244
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.ViewportRuler }]; }, propDecorators: { type: [{
245
+ type: Input
246
+ }], size: [{
247
+ type: Input
248
+ }], selectedIndex: [{
249
+ type: Input
250
+ }], selectFocusedIndex: [{
251
+ type: Output
252
+ }], indexFocused: [{
253
+ type: Output
254
+ }], _headerAddon: [{
255
+ type: ContentChild,
256
+ args: [TabHeaderAddonDirective, { static: false }]
257
+ }], _title: [{
258
+ type: ContentChild,
259
+ args: [TabTitleDirective, { static: false }]
260
+ }], _labelWrappers: [{
261
+ type: ContentChildren,
262
+ args: [TabLabelWrapperDirective]
263
+ }], _tabListContainer: [{
264
+ type: ViewChild,
265
+ args: ['tabListContainer', { static: true }]
266
+ }], _tabList: [{
267
+ type: ViewChild,
268
+ args: ['tabList', { static: true }]
269
+ }], _paginationWrapper: [{
270
+ type: ViewChild,
271
+ args: ['paginationWrapper', { static: true }]
272
+ }], _activeIndicator: [{
273
+ type: ViewChild,
274
+ args: [TabHeaderActiveIndicatorComponent, { static: true }]
275
+ }] } });
276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFicy90YWItaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy90YWJzL3RhYi1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE9BQU8sRUFHTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQU8sUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixpQkFBaUIsR0FDbEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7QUFZaEQsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7QUFVbEMsTUFBTSxPQUFPLGtCQUFrQjtJQTBZVjtJQUNBO0lBeFluQixHQUFHLEdBQVEsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFdEMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUduQix1QkFBdUIsR0FBRyxLQUFLLENBQUM7SUFHaEMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0lBRzNCLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUdwQixzQkFBc0IsQ0FBVTtJQUdoQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7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QVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXRDLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSWhELGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLGlDQUFpQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFZpZXdwb3J0UnVsZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQmVtLCBidWlsZEJlbSwgY29lcmNlTnVtYmVyIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQge1xuICBUYWJIZWFkZXJBZGRvbkRpcmVjdGl2ZSxcbiAgVGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlLFxuICBUYWJUaXRsZURpcmVjdGl2ZSxcbn0gZnJvbSAnLi90YWItYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiSGVhZGVyQWN0aXZlSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi90YWItaGVhZGVyLWFjdGl2ZS1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYlNpemUsIFRhYlR5cGUgfSBmcm9tICcuL3RhYnMudHlwZXMnO1xuXG4vKipcbiAqIFRoZSBkaXJlY3Rpb25zIHRoYXQgc2Nyb2xsaW5nIGNhbiBnbyBpbiB3aGVuIHRoZSBoZWFkZXIncyB0YWJzIGV4Y2VlZCB0aGUgaGVhZGVyIHdpZHRoLiAnQWZ0ZXInXG4gKiB3aWxsIHNjcm9sbCB0aGUgaGVhZGVyIHRvd2FyZHMgdGhlIGVuZCBvZiB0aGUgdGFicyBsaXN0IGFuZCAnYmVmb3JlJyB3aWxsIHNjcm9sbCB0b3dhcmRzIHRoZVxuICogYmVnaW5uaW5nIG9mIHRoZSBsaXN0LlxuICovXG5leHBvcnQgdHlwZSBTY3JvbGxEaXJlY3Rpb24gPSAnYWZ0ZXInIHwgJ2JlZm9yZSc7XG4vKipcbiAqIFRoZSBkaXN0YW5jZSBpbiBwaXhlbHMgdGhhdCB3aWxsIGJlIG92ZXJzaG90IHdoZW4gc2Nyb2xsaW5nIGEgdGFiIGxhYmVsIGludG8gdmlldy4gVGhpcyBoZWxwc1xuICogcHJvdmlkZSBhIHNtYWxsIGFmZm9yZGFuY2UgdG8gdGhlIGxhYmVsIG5leHQgdG8gaXQuXG4gKi9cbmNvbnN0IEVYQUdHRVJBVEVEX09WRVJTQ1JPTEwgPSA2MDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLXRhYi1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYi1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJIZWFkZXJDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyQ29udGVudEluaXRcbntcbiAgYmVtOiBCZW0gPSBidWlsZEJlbSgnYXVpLXRhYi1oZWFkZXInKTtcblxuICBfc2hvd0FkZG9uID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNvbnRyb2xzIGZvciBwYWdpbmF0aW9uIHNob3VsZCBiZSBkaXNwbGF5ZWQgKi9cbiAgX3Nob3dQYWdpbmF0aW9uQ29udHJvbHMgPSBmYWxzZTtcblxuICAvKiogV2hldGhlciB0aGUgdGFiIGxpc3QgY2FuIGJlIHNjcm9sbGVkIG1vcmUgdG93YXJkcyB0aGUgZW5kIG9mIHRoZSB0YWIgbGFiZWwgbGlzdC4gKi9cbiAgX2Rpc2FibGVTY3JvbGxBZnRlciA9IHRydWU7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRhYiBsaXN0IGNhbiBiZSBzY3JvbGxlZCBtb3JlIHRvd2FyZHMgdGhlIGJlZ2lubmluZyBvZiB0aGUgdGFiIGxhYmVsIGxpc3QuICovXG4gIF9kaXNhYmxlU2Nyb2xsQmVmb3JlID0gdHJ1ZTtcblxuICAvKiogV2hldGhlciB0aGUgc2Nyb2xsIGRpc3RhbmNlIGhhcyBjaGFuZ2VkIGFuZCBzaG91bGQgYmUgYXBwbGllZCBhZnRlciB0aGUgdmlldyBpcyBjaGVja2VkLiAqL1xuICBwcml2YXRlIF9zY3JvbGxEaXN0YW5jZUNoYW5nZWQ6IGJvb2xlYW47XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGhlYWRlciBzaG91bGQgc2Nyb2xsIHRvIHRoZSBzZWxlY3RlZCBpbmRleCBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiBjaGVja2VkLiAqL1xuICBwcml2YXRlIF9zZWxlY3RlZEluZGV4Q2hhbmdlZCA9IGZhbHNlO1xuXG4gIC8qKiBUaGUgZGlzdGFuY2UgaW4gcGl4ZWxzIHRoYXQgdGhlIHRhYiBsYWJlbHMgc2hvdWxkIGJlIHRyYW5zbGF0ZWQgdG8gdGhlIGxlZnQuICovXG4gIHByaXZhdGUgX3Njcm9sbERpc3RhbmNlID0gMDtcblxuICBwcml2YXRlIF9zZWxlY3RlZEluZGV4ID0gMDtcblxuICAvKiogRW1pdHMgd2hlbiB0aGUgY29tcG9uZW50IGlzIGRlc3Ryb3llZC4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKiogVXNlZCB0byBtYW5hZ2UgZm9jdXMgYmV0d2VlbiB0aGUgdGFicy4gKi9cbiAgcHJpdmF0ZSBfa2V5TWFuYWdlcjogRm9jdXNLZXlNYW5hZ2VyPFRhYkxhYmVsV3JhcHBlckRpcmVjdGl2ZT47XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgdGFiIGxhYmVscyB0aGF0IGFyZSBkaXNwbGF5ZWQgb24gdGhlIGhlYWRlci4gV2hlbiB0aGlzIGNoYW5nZXMsIHRoZSBoZWFkZXJcbiAgICogc2hvdWxkIHJlLWV2YWx1YXRlIHRoZSBzY3JvbGwgcG9zaXRpb24uXG4gICAqL1xuICBwcml2YXRlIF90YWJMYWJlbENvdW50OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgdHlwZTogVGFiVHlwZSA9IFRhYlR5cGUuTGluZTtcblxuICBASW5wdXQoKVxuICBzaXplOiBUYWJTaXplID0gVGFiU2l6ZS5NZWRpdW07XG5cbiAgLyoqIFRoZSBpbmRleCBvZiB0aGUgYWN0aXZlIHRhYi4gKi9cbiAgQElucHV0KClcbiAgZ2V0IHNlbGVjdGVkSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJbmRleDtcbiAgfVxuXG4gIHNldCBzZWxlY3RlZEluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICB2YWx1ZSA9IGNvZXJjZU51bWJlcih2YWx1ZSk7XG4gICAgdGhpcy5fc2VsZWN0ZWRJbmRleENoYW5nZWQgPSB0aGlzLl9zZWxlY3RlZEluZGV4ICE9PSB2YWx1ZTtcbiAgICB0aGlzLl9zZWxlY3RlZEluZGV4ID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5fa2V5TWFuYWdlcikge1xuICAgICAgdGhpcy5fa2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQuICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZWxlY3RGb2N1c2VkSW5kZXggPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIGEgbGFiZWwgaXMgZm9jdXNlZC4gKi9cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGluZGV4Rm9jdXNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoVGFiSGVhZGVyQWRkb25EaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBfaGVhZGVyQWRkb246IFRhYkhlYWRlckFkZG9uRGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGQoVGFiVGl0bGVEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBfdGl0bGU6IFRhYlRpdGxlRGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oVGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlKVxuICAvKipcbiAgICogd29ya2Fyb3VuZCBmb3IgQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9UeXBlU2NyaXB0L3B1bGwvNDI0MjVcbiAgICovXG4gIF9sYWJlbFdyYXBwZXJzOiBRdWVyeUxpc3Q8VGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlICYgeyBkaXNhYmxlZD86IGJvb2xlYW4gfT47XG5cbiAgQFZpZXdDaGlsZCgndGFiTGlzdENvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIF90YWJMaXN0Q29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCd0YWJMaXN0JywgeyBzdGF0aWM6IHRydWUgfSlcbiAgX3RhYkxpc3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3BhZ2luYXRpb25XcmFwcGVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgX3BhZ2luYXRpb25XcmFwcGVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKFRhYkhlYWRlckFjdGl2ZUluZGljYXRvckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgX2FjdGl2ZUluZGljYXRvcjogVGFiSGVhZGVyQWN0aXZlSW5kaWNhdG9yQ29tcG9uZW50O1xuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3llZC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgLy8gSWYgdGhlIG51bWJlciBvZiB0YWIgbGFiZWxzIGhhdmUgY2hhbmdlZCwgY2hlY2sgaWYgc2Nyb2xsaW5nIHNob3VsZCBiZSBlbmFibGVkXG4gICAgaWYgKHRoaXMuX3RhYkxhYmVsQ291bnQgIT09IHRoaXMuX2xhYmVsV3JhcHBlcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLl91cGRhdGVQYWdpbmF0aW9uKCk7XG4gICAgICB0aGlzLl90YWJMYWJlbENvdW50ID0gdGhpcy5fbGFiZWxXcmFwcGVycy5sZW5ndGg7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgc2VsZWN0ZWQgaW5kZXggaGFzIGNoYW5nZWQsIHNjcm9sbCB0byB0aGUgbGFiZWwgYW5kIGNoZWNrIGlmIHRoZSBzY3JvbGxpbmcgY29udHJvbHNcbiAgICAvLyBzaG91bGQgYmUgZGlzYWJsZWQuXG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkSW5kZXhDaGFuZ2VkKSB7XG4gICAgICB0aGlzLl9zY3JvbGxUb0xhYmVsKHRoaXMuX3NlbGVjdGVkSW5kZXgpO1xuICAgICAgdGhpcy5fY2hlY2tTY3JvbGxpbmdDb250cm9scygpO1xuICAgICAgdGhpcy5fYWxpZ25BY3RpdmVJbmRpY2F0b3JUb1NlbGVjdGVkVGFiKCk7XG4gICAgICB0aGlzLl9zZWxlY3RlZEluZGV4Q2hhbmdlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIHNjcm9sbCBkaXN0YW5jZSBoYXMgYmVlbiBjaGFuZ2VkICh0YWIgc2VsZWN0ZWQsIGZvY3VzZWQsIHNjcm9sbCBjb250cm9scyBhY3RpdmF0ZWQpLFxuICAgIC8vIHRoZW4gdHJhbnNsYXRlIHRoZSBoZWFkZXIgdG8gcmVmbGVjdCB0aGlzLlxuICAgIGlmICh0aGlzLl9zY3JvbGxEaXN0YW5jZUNoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVRhYlNjcm9sbFBvc2l0aW9uKCk7XG4gICAgICB0aGlzLl9zY3JvbGxEaXN0YW5jZUNoYW5nZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9zaG93QWRkb24gIT09ICEhdGhpcy5faGVhZGVyQWRkb24pIHtcbiAgICAgIHRoaXMuX3Nob3dBZGRvbiA9ICEhdGhpcy5faGVhZGVyQWRkb247XG4gICAgICB0aGlzLl91cGRhdGVQYWdpbmF0aW9uKCk7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWxpZ25zIHRoZSBpbmsgYmFyIHRvIHRoZSBzZWxlY3RlZCB0YWIgb24gbG9hZC5cbiAgICovXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBjb25zdCByZXNpemUgPSB0aGlzLl92aWV3cG9ydFJ1bGVyLmNoYW5nZSgxNTApO1xuICAgIGNvbnN0IHJlYWxpZ24gPSAoKSA9PiB7XG4gICAgICB0aGlzLl91cGRhdGVQYWdpbmF0aW9uKCk7XG4gICAgICB0aGlzLl9hbGlnbkFjdGl2ZUluZGljYXRvclRvU2VsZWN0ZWRUYWIoKTtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3Njcm9sbFRvTGFiZWwodGhpcy5fc2VsZWN0ZWRJbmRleCk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgdGhpcy5fa2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5fbGFiZWxXcmFwcGVycylcbiAgICAgIC53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKCdsdHInKVxuICAgICAgLndpdGhXcmFwKCk7XG4gICAgdGhpcy5fa2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKDApO1xuXG4gICAgLy8gRGVmZXIgdGhlIGZpcnN0IGNhbGwgaW4gb3JkZXIgdG8gYWxsb3cgZm9yIHNsb3dlciBicm93c2VycyB0byBsYXkgb3V0IHRoZSBlbGVtZW50cy5cbiAgICAvLyBUaGlzIGhlbHBzIGluIGNhc2VzIHdoZXJlIHRoZSB1c2VyIGxhbmRzIGRpcmVjdGx5IG9uIGEgcGFnZSB3aXRoIHBhZ2luYXRlZCB0YWJzLlxuICAgIHR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgIT09ICd1bmRlZmluZWQnXG4gICAgICA/IHJlcXVlc3RBbmltYXRpb25GcmFtZShyZWFsaWduKVxuICAgICAgOiByZWFsaWduKCk7XG5cbiAgICAvLyBPbiB3aW5kb3cgcmVzaXplLCByZWFsaWduIHRoZSBpbmsgYmFyIGFuZCB1cGRhdGUgdGhlIG9yaWVudGF0aW9uIG9mXG4gICAgLy8gdGhlIGtleSBtYW5hZ2VyIGlmIHRoZSBkaXJlY3Rpb24gaGFzIGNoYW5nZWQuXG4gICAgcmVzaXplLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICByZWFsaWduKCk7XG4gICAgfSk7XG5cbiAgICAvLyBJZiB0aGVyZSBpcyBhIGNoYW5nZSBpbiB0aGUgZm9jdXMga2V5IG1hbmFnZXIgd2UgbmVlZCB0byBlbWl0IHRoZSBgaW5kZXhGb2N1c2VkYFxuICAgIC8vIGV2ZW50IGluIG9yZGVyIHRvIHByb3ZpZGUgYSBwdWJsaWMgZXZlbnQgdGhhdCBub3RpZmllcyBhYm91dCBmb2N1cyBjaGFuZ2VzLiBBbHNvIHdlIHJlYWxpZ25cbiAgICAvLyB0aGUgdGFicyBjb250YWluZXIgYnkgc2Nyb2xsaW5nIHRoZSBuZXcgZm9jdXNlZCB0YWIgaW50byB0aGUgdmlzaWJsZSBzZWN0aW9uLlxuICAgIHRoaXMuX2tleU1hbmFnZXIuY2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUobmV3Rm9jdXNJbmRleCA9PiB7XG4gICAgICAgIHRoaXMuaW5kZXhGb2N1c2VkLmVtaXQobmV3Rm9jdXNJbmRleCk7XG4gICAgICAgIHRoaXMuX3NldFRhYkZvY3VzKG5ld0ZvY3VzSW5kZXgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKiogU2V0cyB0aGUgZGlzdGFuY2UgaW4gcGl4ZWxzIHRoYXQgdGhlIHRhYiBoZWFkZXIgc2hvdWxkIGJlIHRyYW5zZm9ybWVkIGluIHRoZSBYLWF4aXMuICovXG4gIGdldCBzY3JvbGxEaXN0YW5jZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zY3JvbGxEaXN0YW5jZTtcbiAgfVxuXG4gIHNldCBzY3JvbGxEaXN0YW5jZSh2OiBudW1iZXIpIHtcbiAgICB0aGlzLl9zY3JvbGxEaXN0YW5jZSA9IE1hdGgubWF4KFxuICAgICAgMCxcbiAgICAgIE1hdGgubWluKHRoaXMuX2dldE1heFNjcm9sbERpc3RhbmNlKCksIHYpLFxuICAgICk7XG4gICAgLy8gTWFyayB0aGF0IHRoZSBzY3JvbGwgZGlzdGFuY2UgaGFzIGNoYW5nZWQgc28gdGhhdCBhZnRlciB0aGUgdmlldyBpcyBjaGVja2VkLCB0aGUgQ1NTXG4gICAgLy8gdHJhbnNmb3JtYXRpb24gY2FuIG1vdmUgdGhlIGhlYWRlci5cbiAgICB0aGlzLl9zY3JvbGxEaXN0YW5jZUNoYW5nZWQgPSB0cnVlO1xuICAgIHRoaXMuX2NoZWNrU2Nyb2xsaW5nQ29udHJvbHMoKTtcbiAgfVxuXG4gIC8qKiBUcmFja3Mgd2hpY2ggZWxlbWVudCBoYXMgZm9jdXM7IHVzZWQgZm9yIGtleWJvYXJkIG5hdmlnYXRpb24gKi9cbiAgZ2V0IGZvY3VzSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fa2V5TWFuYWdlciA/IHRoaXMuX2tleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4IDogMDtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSBmb2N1cyBpbmRleCBpcyBzZXQsIHdlIG11c3QgbWFudWFsbHkgc2VuZCBmb2N1cyB0byB0aGUgY29ycmVjdCBsYWJlbCAqL1xuICBzZXQgZm9jdXNJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuX2lzVmFsaWRJbmRleCh2YWx1ZSkgfHxcbiAgICAgIHRoaXMuZm9jdXNJbmRleCA9PT0gdmFsdWUgfHxcbiAgICAgICF0aGlzLl9rZXlNYW5hZ2VyXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiBhbiBpbmRleCBpcyB2YWxpZC4gIElmIHRoZSB0YWJzIGFyZSBub3QgcmVhZHkgeWV0LCB3ZSBhc3N1bWUgdGhhdCB0aGUgdXNlciBpc1xuICAgKiBwcm92aWRpbmcgYSB2YWxpZCBpbmRleCBhbmQgcmV0dXJuIHRydWUuXG4gICAqL1xuICBfaXNWYWxpZEluZGV4KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuX2xhYmVsV3JhcHBlcnMpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCB0YWIgPSB0aGlzLl9sYWJlbFdyYXBwZXJzXG4gICAgICA/IHRoaXMuX2xhYmVsV3JhcHBlcnMudG9BcnJheSgpW2luZGV4XVxuICAgICAgOiBudWxsO1xuICAgIHJldHVybiAhIXRhYiAmJiAhdGFiLmRpc2FibGVkO1xuICB9XG5cbiAgX2hhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnSG9tZSc6XG4gICAgICAgIHRoaXMuX2tleU1hbmFnZXIuc2V0Rmlyc3RJdGVtQWN0aXZlKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlci5zZXRMYXN0SXRlbUFjdGl2ZSgpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgIGNhc2UgJ1NwYWNlJzpcbiAgICAgICAgdGhpcy5zZWxlY3RGb2N1c2VkSW5kZXguZW1pdCh0aGlzLmZvY3VzSW5kZXgpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuX2tleU1hbmFnZXIub25LZXlkb3duKGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBmb2N1cyBvbiB0aGUgSFRNTCBlbGVtZW50IGZvciB0aGUgbGFiZWwgd3JhcHBlciBhbmQgc2Nyb2xscyBpdCBpbnRvIHRoZSB2aWV3IGlmXG4gICAqIHNjcm9sbGluZyBpcyBlbmFibGVkLlxuICAgKi9cbiAgX3NldFRhYkZvY3VzKHRhYkluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5fc2hvd1BhZ2luYXRpb25Db250cm9scykge1xuICAgICAgdGhpcy5fc2Nyb2xsVG9MYWJlbCh0YWJJbmRleCk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9sYWJlbFdyYXBwZXJzPy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLl9sYWJlbFdyYXBwZXJzLnRvQXJyYXkoKVt0YWJJbmRleF0uZm9jdXMoKTtcbiAgICAgIC8vIERvIG5vdCBsZXQgdGhlIGJyb3dzZXIgbWFuYWdlIHNjcm9sbGluZyB0byBmb2N1cyB0aGUgZWxlbWVudCwgdGhpcyB3aWxsIGJlIGhhbmRsZWRcbiAgICAgIC8vIGJ5IHVzaW5nIHRyYW5zbGF0aW9uLiBJbiBMVFIsIHRoZSBzY3JvbGwgbGVmdCBzaG91bGQgYmUgMC4gSW4gUlRMLCB0aGUgc2Nyb2xsIHdpZHRoXG4gICAgICAvLyBzaG91bGQgYmUgdGhlIGZ1bGwgd2lkdGggbWludXMgdGhlIG9mZnNldCB3aWR0aC5cbiAgICAgIGNvbnN0IGNvbnRhaW5lckVsID0gdGhpcy5fdGFiTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgICAgY29udGFpbmVyRWwuc2Nyb2xsTGVmdCA9IDA7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1vdmVzIHRoZSB0YWIgbGlzdCBzdWNoIHRoYXQgdGhlIGRlc2lyZWQgdGFiIGxhYmVsIChtYXJrZWQgYnkgaW5kZXgpIGlzIG1vdmVkIGludG8gdmlldy5cbiAgICpcbiAgICogVGhpcyBpcyBhbiBleHBlbnNpdmUgY2FsbCB0aGF0IGZvcmNlcyBhIGxheW91dCByZWZsb3cgdG8gY29tcHV0ZSBib3ggYW5kIHNjcm9sbCBtZXRyaWNzIGFuZFxuICAgKiBzaG91bGQgYmUgY2FsbGVkIHNwYXJpbmdseS5cbiAgICovXG4gIF9zY3JvbGxUb0xhYmVsKGxhYmVsSW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHNlbGVjdGVkTGFiZWwgPSB0aGlzLl9sYWJlbFdyYXBwZXJzXG4gICAgICA/IHRoaXMuX2xhYmVsV3JhcHBlcnMudG9BcnJheSgpW2xhYmVsSW5kZXhdXG4gICAgICA6IG51bGw7XG4gICAgaWYgKCFzZWxlY3RlZExhYmVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIFRoZSB2aWV3IGxlbmd0aCBpcyB0aGUgdmlzaWJsZSB3aWR0aCBvZiB0aGUgdGFiIGxhYmVscy5cbiAgICBjb25zdCB2aWV3TGVuZ3RoID0gdGhpcy5fdGFiTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIGNvbnN0IGxhYmVsQmVmb3JlUG9zID0gc2VsZWN0ZWRMYWJlbC5nZXRPZmZzZXRMZWZ0KCk7XG4gICAgY29uc3QgbGFiZWxBZnRlclBvcyA9IGxhYmVsQmVmb3JlUG9zICsgc2VsZWN0ZWRMYWJlbC5nZXRPZmZzZXRXaWR0aCgpO1xuICAgIGNvbnN0IGJlZm9yZVZpc2libGVQb3MgPSB0aGlzLnNjcm9sbERpc3RhbmNlO1xuICAgIGNvbnN0IGFmdGVyVmlzaWJsZVBvcyA9IHRoaXMuc2Nyb2xsRGlzdGFuY2UgKyB2aWV3TGVuZ3RoO1xuICAgIGlmIChsYWJlbEJlZm9yZVBvcyA8IGJlZm9yZVZpc2libGVQb3MpIHtcbiAgICAgIC8vIFNjcm9sbCBoZWFkZXIgdG8gbW92ZSBsYWJlbCB0byB0aGUgYmVmb3JlIGRpcmVjdGlvblxuICAgICAgdGhpcy5zY3JvbGxEaXN0YW5jZSAtPVxuICAgICAgICBiZWZvcmVWaXNpYmxlUG9zIC0gbGFiZWxCZWZvcmVQb3MgKyBFWEFHR0VSQVRFRF9PVkVSU0NST0xMO1xuICAgIH0gZWxzZSBpZiAobGFiZWxBZnRlclBvcyA+IGFmdGVyVmlzaWJsZVBvcykge1xuICAgICAgLy8gU2Nyb2xsIGhlYWRlciB0byBtb3ZlIGxhYmVsIHRvIHRoZSBhZnRlciBkaXJlY3Rpb25cbiAgICAgIHRoaXMuc2Nyb2xsRGlzdGFuY2UgKz1cbiAgICAgICAgbGFiZWxBZnRlclBvcyAtIGFmdGVyVmlzaWJsZVBvcyArIEVYQUdHRVJBVEVEX09WRVJTQ1JPTEw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1vdmVzIHRoZSB0YWIgbGlzdCBpbiB0aGUgJ2JlZm9yZScgb3IgJ2FmdGVyJyBkaXJlY3Rpb24gKHRvd2FyZHMgdGhlIGJlZ2lubmluZyBvZiB0aGUgbGlzdCBvclxuICAgKiB0aGUgZW5kIG9mIHRoZSBsaXN0LCByZXNwZWN0aXZlbHkpLiBUaGUgZGlzdGFuY2UgdG8gc2Nyb2xsIGlzIGNvbXB1dGVkIHRvIGJlIGEgdGhpcmQgb2YgdGhlXG4gICAqIGxlbmd0aCBvZiB0aGUgdGFiIGxpc3QgdmlldyB3aW5kb3cuXG4gICAqXG4gICAqIFRoaXMgaXMgYW4gZXhwZW5zaXZlIGNhbGwgdGhhdCBmb3JjZXMgYSBsYXlvdXQgcmVmbG93IHRvIGNvbXB1dGUgYm94IGFuZCBzY3JvbGwgbWV0cmljcyBhbmRcbiAgICogc2hvdWxkIGJlIGNhbGxlZCBzcGFyaW5nbHkuXG4gICAqL1xuICBfc2Nyb2xsSGVhZGVyKHNjcm9sbERpcjogU2Nyb2xsRGlyZWN0aW9uKSB7XG4gICAgY29uc3Qgdmlld0xlbmd0aCA9IHRoaXMuX3RhYkxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAvLyBNb3ZlIHRoZSBzY3JvbGwgZGlzdGFuY2Ugb25lLXRoaXJkIHRoZSBsZW5ndGggb2YgdGhlIHRhYiBsaXN0J3Mgdmlld3BvcnQuXG4gICAgdGhpcy5zY3JvbGxEaXN0YW5jZSArPSAoKHNjcm9sbERpciA9PT0gJ2JlZm9yZScgPyAtMSA6IDEpICogdmlld0xlbmd0aCkgLyAzO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIGZvciB3aGVuIHRoZSBNdXRhdGlvbk9ic2VydmVyIGRldGVjdHMgdGhhdCB0aGUgY29udGVudCBoYXMgY2hhbmdlZC5cbiAgICovXG4gIF9vbkNvbnRlbnRDaGFuZ2VzKCkge1xuICAgIHRoaXMuX3VwZGF0ZVBhZ2luYXRpb24oKTtcbiAgICB0aGlzLl9hbGlnbkFjdGl2ZUluZGljYXRvclRvU2VsZWN0ZWRUYWIoKTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGluZyB0aGUgdmlldyB3aGV0aGVyIHBhZ2luYXRpb24gc2hvdWxkIGJlIGVuYWJsZWQgb3Igbm90XG4gICAqL1xuICBfdXBkYXRlUGFnaW5hdGlvbigpIHtcbiAgICB0aGlzLl9jaGVja1BhZ2luYXRpb25FbmFibGVkKCk7XG4gICAgdGhpcy5fY2hlY2tTY3JvbGxpbmdDb250cm9scygpO1xuICAgIHRoaXMuX3VwZGF0ZVRhYlNjcm9sbFBvc2l0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogRXZhbHVhdGUgd2hldGhlciB0aGUgcGFnaW5hdGlvbiBjb250cm9scyBzaG91bGQgYmUgZGlzcGxheWVkLiBJZiB0aGUgc2Nyb2xsIHdpZHRoIG9mIHRoZVxuICAgKiB0YWIgbGlzdCBpcyB3aWRlciB0aGFuIHRoZSBzaXplIG9mIHRoZSBoZWFkZXIgY29udGFpbmVyLCB0aGVuIHRoZSBwYWdpbmF0aW9uIGNvbnRyb2xzIHNob3VsZFxuICAgKiBiZSBzaG93bi5cbiAgICpcbiAgICogVGhpcyBpcyBhbiBleHBlbnNpdmUgY2FsbCB0aGF0IGZvcmNlcyBhIGxheW91dCByZWZsb3cgdG8gY29tcHV0ZSBib3ggYW5kIHNjcm9sbCBtZXRyaWNzIGFuZFxuICAgKiBzaG91bGQgYmUgY2FsbGVkIHNwYXJpbmdseS5cbiAgICovXG4gIF9jaGVja1BhZ2luYXRpb25FbmFibGVkKCkge1xuICAgIGNvbnN0IGlzRW5hYmxlZCA9XG4gICAgICB0aGlzLl90YWJMaXN0Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGggPlxuICAgICAgdGhpcy5fcGFnaW5hdGlvbldyYXBwZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCArIDI7IC8vIDIgaXMgdGhlIGJvcmRlciBzaXplXG4gICAgaWYgKCFpc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMuc2Nyb2xsRGlzdGFuY2UgPSAwO1xuICAgIH1cbiAgICBjb25zdCBkZXRlY3RDaGFuZ2VzID0gaXNFbmFibGVkICE9PSB0aGlzLl9zaG93UGFnaW5hdGlvbkNvbnRyb2xzO1xuICAgIHRoaXMuX3Nob3dQYWdpbmF0aW9uQ29udHJvbHMgPSBpc0VuYWJsZWQ7XG5cbiAgICBpZiAoZGV0ZWN0Q2hhbmdlcykge1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlIHdoZXRoZXIgdGhlIGJlZm9yZSBhbmQgYWZ0ZXIgY29udHJvbHMgc2hvdWxkIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuXG4gICAqIElmIHRoZSBoZWFkZXIgaXMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgbGlzdCAoc2Nyb2xsIGRpc3RhbmNlIGlzIGVxdWFsIHRvIDApIHRoZW4gZGlzYWJsZSB0aGVcbiAgICogYmVmb3JlIGJ1dHRvbi4gSWYgdGhlIGhlYWRlciBpcyBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0IChzY3JvbGwgZGlzdGFuY2UgaXMgZXF1YWwgdG8gdGhlXG4gICAqIG1heGltdW0gZGlzdGFuY2Ugd2UgY2FuIHNjcm9sbCksIHRoZW4gZGlzYWJsZSB0aGUgYWZ0ZXIgYnV0dG9uLlxuICAgKlxuICAgKiBUaGlzIGlzIGFuIGV4cGVuc2l2ZSBjYWxsIHRoYXQgZm9yY2VzIGEgbGF5b3V0IHJlZmxvdyB0byBjb21wdXRlIGJveCBhbmQgc2Nyb2xsIG1ldHJpY3MgYW5kXG4gICAqIHNob3VsZCBiZSBjYWxsZWQgc3BhcmluZ2x5LlxuICAgKi9cbiAgX2NoZWNrU2Nyb2xsaW5nQ29udHJvbHMoKSB7XG4gICAgLy8gQ2hlY2sgaWYgdGhlIHBhZ2luYXRpb24gYXJyb3dzIHNob3VsZCBiZSBhY3RpdmF0ZWQuXG4gICAgdGhpcy5fZGlzYWJsZVNjcm9sbEJlZm9yZSA9IHRoaXMuc2Nyb2xsRGlzdGFuY2UgPT09IDA7XG4gICAgdGhpcy5fZGlzYWJsZVNjcm9sbEFmdGVyID1cbiAgICAgIHRoaXMuc2Nyb2xsRGlzdGFuY2UgPT09IHRoaXMuX2dldE1heFNjcm9sbERpc3RhbmNlKCk7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGF0IGlzIHRoZSBtYXhpbXVtIGxlbmd0aCBpbiBwaXhlbHMgdGhhdCBjYW4gYmUgc2V0IGZvciB0aGUgc2Nyb2xsIGRpc3RhbmNlLiBUaGlzXG4gICAqIGlzIGVxdWFsIHRvIHRoZSBkaWZmZXJlbmNlIGluIHdpZHRoIGJldHdlZW4gdGhlIHRhYiBsaXN0IGNvbnRhaW5lciBhbmQgdGFiIGhlYWRlciBjb250YWluZXIuXG4gICAqXG4gICAqIFRoaXMgaXMgYW4gZXhwZW5zaXZlIGNhbGwgdGhhdCBmb3JjZXMgYSBsYXlvdXQgcmVmbG93IHRvIGNvbXB1dGUgYm94IGFuZCBzY3JvbGwgbWV0cmljcyBhbmRcbiAgICogc2hvdWxkIGJlIGNhbGxlZCBzcGFyaW5nbHkuXG4gICAqL1xuICBfZ2V0TWF4U2Nyb2xsRGlzdGFuY2UoKTogbnVtYmVyIHtcbiAgICBjb25zdCBsZW5ndGhPZlRhYkxpc3QgPSB0aGlzLl90YWJMaXN0Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGg7XG4gICAgY29uc3Qgdmlld0xlbmd0aCA9IHRoaXMuX3RhYkxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICByZXR1cm4gbGVuZ3RoT2ZUYWJMaXN0IC0gdmlld0xlbmd0aCB8fCAwO1xuICB9XG5cbiAgLyoqIFBlcmZvcm1zIHRoZSBDU1MgdHJhbnNmb3JtYXRpb24gb24gdGhlIHRhYiBsaXN0IHRoYXQgd2lsbCBjYXVzZSB0aGUgbGlzdCB0byBzY3JvbGwuICovXG4gIF91cGRhdGVUYWJTY3JvbGxQb3NpdGlvbigpIHtcbiAgICBjb25zdCBzY3JvbGxEaXN0YW5jZSA9IHRoaXMuc2Nyb2xsRGlzdGFuY2U7XG4gICAgY29uc3QgdHJhbnNsYXRlWCA9IC1zY3JvbGxEaXN0YW5jZTtcbiAgICAvLyBEb24ndCB1c2UgYHRyYW5zbGF0ZTNkYCBoZXJlIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCB0byBjcmVhdGUgYSBuZXcgbGF5ZXIuIEEgbmV3IGxheWVyXG4gICAgLy8gc2VlbXMgdG8gY2F1c2UgZmxpY2tlcmluZyBhbmQgb3ZlcmZsb3cgaW4gSW50ZXJuZXQgRXhwbG9yZXIuIEZvciBleGFtcGxlLCB0aGUgaW5rIGJhclxuICAgIC8vIGFuZCByaXBwbGVzIHdpbGwgZXhjZWVkIHRoZSBib3VuZGFyaWVzIG9mIHRoZSB2aXNpYmxlIHRhYiBiYXIuXG4gICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9tYXRlcmlhbDIvaXNzdWVzLzEwMjc2XG4gICAgdGhpcy5fdGFiTGlzdC5uYXRpdmVFbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGVYKCR7dHJhbnNsYXRlWH1weClgO1xuICB9XG5cbiAgLyoqIFRlbGxzIHRoZSBhY3RpdmUgaW5kaWNhdG9yIHRvIGFsaWduIGl0c2VsZiB0byB0aGUgY3VycmVudCBsYWJlbCB3cmFwcGVyICovXG4gIF9hbGlnbkFjdGl2ZUluZGljYXRvclRvU2VsZWN0ZWRUYWIoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRMYWJlbFdyYXBwZXIgPVxuICAgICAgdGhpcy5fbGFiZWxXcmFwcGVycz8ubGVuZ3RoID4gMFxuICAgICAgICA/IHRoaXMuX2xhYmVsV3JhcHBlcnMudG9BcnJheSgpW3RoaXMuc2VsZWN0ZWRJbmRleF0uZWxlbWVudFJlZlxuICAgICAgICAgICAgLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgOiBudWxsO1xuICAgIHRoaXMuX2FjdGl2ZUluZGljYXRvci5hbGlnblRvRWxlbWVudChzZWxlY3RlZExhYmVsV3JhcHBlcik7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdmlld3BvcnRSdWxlcjogVmlld3BvcnRSdWxlcixcbiAgKSB7fVxufVxuIiwiPGRpdiBbbmdDbGFzc109XCJiZW0uYmxvY2sodHlwZSwgc2l6ZSlcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl90aXRsZVwiPlxuICAgIDxkaXYgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ3RpdGxlJylcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIl90aXRsZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8ZGl2IFtuZ0NsYXNzXT1cImJlbS5lbGVtZW50KCdoZWFkZXItd3JhcHBlcicpXCI+XG4gICAgPGRpdlxuICAgICAgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ3BhZ2luYXRpb24td3JhcHBlcicpXCJcbiAgICAgICNwYWdpbmF0aW9uV3JhcHBlclxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJfc2hvd1BhZ2luYXRpb25Db250cm9sc1wiXG4gICAgICAgIChjbGljayk9XCJfc2Nyb2xsSGVhZGVyKCdiZWZvcmUnKVwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cIl9kaXNhYmxlU2Nyb2xsQmVmb3JlID8gJycgOiBudWxsXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ3BhZ2luYXRpb24tYnV0dG9uJylcIlxuICAgICAgPlxuICAgICAgICA8YXVpLWljb24gaWNvbj1cImFuZ2xlX2xlZnRcIj48L2F1aS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIFtuZ0NsYXNzXT1cImJlbS5lbGVtZW50KCd0YWItbGlzdC1jb250YWluZXInKVwiXG4gICAgICAgIChrZXlkb3duKT1cIl9oYW5kbGVLZXlkb3duKCRldmVudClcIlxuICAgICAgICAjdGFiTGlzdENvbnRhaW5lclxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgcm9sZT1cInRhYmxpc3RcIlxuICAgICAgICAgIChjZGtPYnNlcnZlQ29udGVudCk9XCJfb25Db250ZW50Q2hhbmdlcygpXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJiZW0uZWxlbWVudCgndGFiLWxpc3QnKVwiXG4gICAgICAgICAgI3RhYkxpc3RcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2xhYmVscycpXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PlxuICAgICAgICAgIDxhdWktdGFiLWhlYWRlci1hY3RpdmUtaW5kaWNhdG9yXG4gICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICA+PC9hdWktdGFiLWhlYWRlci1hY3RpdmUtaW5kaWNhdG9yPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cIl9zaG93UGFnaW5hdGlvbkNvbnRyb2xzXCJcbiAgICAgICAgKGNsaWNrKT1cIl9zY3JvbGxIZWFkZXIoJ2FmdGVyJylcIlxuICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJfZGlzYWJsZVNjcm9sbEFmdGVyID8gJycgOiBudWxsXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ3BhZ2luYXRpb24tYnV0dG9uJylcIlxuICAgICAgPlxuICAgICAgICA8YXVpLWljb24gaWNvbj1cImFuZ2xlX3JpZ2h0XCI+PC9hdWktaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwhLS0gSWYgdGhlcmUgaXMgYWRkb24gdGVtcGxhdGUsIHVzZSBpdC4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9zaG93QWRkb25cIj5cbiAgICAgIDxkaXYgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2FkZG9uJylcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiX2hlYWRlckFkZG9uXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,77 @@
1
+ import { TemplatePortal } from '@angular/cdk/portal';
2
+ import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import { coerceAttrBoolean } from '../utils';
5
+ import { TabContentDirective, TabLabelDirective } from './tab-body.component';
6
+ import { TabContextService } from './tab-context.service';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./tab-context.service";
9
+ export class TabComponent {
10
+ _viewContainerRef;
11
+ tabContext;
12
+ name;
13
+ textLabel = '';
14
+ closeable = false;
15
+ get disabled() {
16
+ return this._disabled;
17
+ }
18
+ set disabled(value) {
19
+ this._disabled = coerceAttrBoolean(value);
20
+ }
21
+ close = new EventEmitter();
22
+ templateLabel;
23
+ _explicitContent;
24
+ _implicitContent;
25
+ get content() {
26
+ return this._contentPortal;
27
+ }
28
+ position = null;
29
+ origin = null;
30
+ _stateChanges = new Subject();
31
+ _contentPortal = null;
32
+ _disabled = false;
33
+ constructor(_viewContainerRef, tabContext) {
34
+ this._viewContainerRef = _viewContainerRef;
35
+ this.tabContext = tabContext;
36
+ }
37
+ ngAfterContentInit() {
38
+ this._contentPortal = new TemplatePortal(this._explicitContent || this._implicitContent, this._viewContainerRef);
39
+ }
40
+ ngOnDestroy() {
41
+ this._stateChanges.complete();
42
+ }
43
+ ngOnChanges(changes) {
44
+ if (changes.hasOwnProperty('textLabel') ||
45
+ changes.hasOwnProperty('disabled') ||
46
+ changes.hasOwnProperty('closeable')) {
47
+ this._stateChanges.next();
48
+ }
49
+ }
50
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: TabComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.TabContextService }], target: i0.ɵɵFactoryTarget.Component });
51
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: TabComponent, selector: "aui-tab", inputs: { name: "name", textLabel: ["label", "textLabel"], closeable: "closeable", disabled: "disabled" }, outputs: { close: "close" }, providers: [TabContextService], queries: [{ propertyName: "templateLabel", first: true, predicate: TabLabelDirective, descendants: true }, { propertyName: "_explicitContent", first: true, predicate: TabContentDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "_implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["auiTab"], usesOnChanges: true, ngImport: i0, template: "<!--\n Create a template for the content of the <aui-tab> so that we can grab a reference to this\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\n tab-group.\n-->\n<ng-template><ng-content></ng-content></ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: TabComponent, decorators: [{
54
+ type: Component,
55
+ args: [{ selector: 'aui-tab', exportAs: 'auiTab', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, providers: [TabContextService], template: "<!--\n Create a template for the content of the <aui-tab> so that we can grab a reference to this\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\n tab-group.\n-->\n<ng-template><ng-content></ng-content></ng-template>\n" }]
56
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i1.TabContextService }]; }, propDecorators: { name: [{
57
+ type: Input
58
+ }], textLabel: [{
59
+ type: Input,
60
+ args: ['label']
61
+ }], closeable: [{
62
+ type: Input
63
+ }], disabled: [{
64
+ type: Input
65
+ }], close: [{
66
+ type: Output
67
+ }], templateLabel: [{
68
+ type: ContentChild,
69
+ args: [TabLabelDirective, { static: false }]
70
+ }], _explicitContent: [{
71
+ type: ContentChild,
72
+ args: [TabContentDirective, { read: TemplateRef, static: false }]
73
+ }], _implicitContent: [{
74
+ type: ViewChild,
75
+ args: [TemplateRef, { static: true }]
76
+ }] } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJzL3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvdGFicy90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxFQUVULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUU3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBVzFELE1BQU0sT0FBTyxZQUFZO0lBZ0VKO0lBQ0Q7SUEvRGxCLElBQUksQ0FBUztJQUliLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFJZixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBR2xCLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBbUI7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBR0QsS0FBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFJakMsYUFBYSxDQUFvQjtJQU1qQyxnQkFBZ0IsQ0FBbUI7SUFJbkMsZ0JBQWdCLENBQW1CO0lBRW5DLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBTUQsUUFBUSxHQUFrQixJQUFJLENBQUM7SUFNL0IsTUFBTSxHQUFrQixJQUFJLENBQUM7SUFHcEIsYUFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFHckMsY0FBYyxHQUEwQixJQUFJLENBQUM7SUFFN0MsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUUxQixZQUNtQixpQkFBbUMsRUFDcEMsVUFBNkI7UUFENUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFtQjtJQUM1QyxDQUFDO0lBRUosa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQzlDLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQ0UsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUM7WUFDbkMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUM7WUFDbEMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsRUFDbkM7WUFDQSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQzt1R0F2RlUsWUFBWTsyRkFBWixZQUFZLDBLQUZaLENBQUMsaUJBQWlCLENBQUMscUVBNEJoQixpQkFBaUIsbUZBTWpCLG1CQUFtQiwyQkFBVSxXQUFXLCtFQUkzQyxXQUFXLHlHQ3RFeEIsK1FBTUE7OzJGRDRCYSxZQUFZO2tCQVR4QixTQUFTOytCQUNFLFNBQVMsWUFDVCxRQUFRLGlCQUVILGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLEtBQUssYUFDZixDQUFDLGlCQUFpQixDQUFDO3VJQUk5QixJQUFJO3NCQURILEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO3VCQUFDLE9BQU87Z0JBS2QsU0FBUztzQkFEUixLQUFLO2dCQUtGLFFBQVE7c0JBRFgsS0FBSztnQkFVTixLQUFLO3NCQURKLE1BQU07Z0JBS1AsYUFBYTtzQkFEWixZQUFZO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFPbEQsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBS3ZFLGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wcm90b3R5cGUtYnVpbHRpbnMgKi9cbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgY29lcmNlQXR0ckJvb2xlYW4gfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7IFRhYkNvbnRlbnREaXJlY3RpdmUsIFRhYkxhYmVsRGlyZWN0aXZlIH0gZnJvbSAnLi90YWItYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL3RhYi1jb250ZXh0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdGFiJyxcbiAgZXhwb3J0QXM6ICdhdWlUYWInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBwcm92aWRlcnM6IFtUYWJDb250ZXh0U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKiBQbGFpbiB0ZXh0IGxhYmVsIGZvciB0aGUgdGFiLCB1c2VkIHdoZW4gdGhlcmUgaXMgbm8gdGVtcGxhdGUgbGFiZWwuICovXG4gIEBJbnB1dCgnbGFiZWwnKVxuICB0ZXh0TGFiZWwgPSAnJztcblxuICAvKiogV2hldGhlciBvciBub3QgdG8gc2hvdyB0aGUgY2xvc2UgYnV0dG9uIGluIHRoZSBoZWFkZXIgKi9cbiAgQElucHV0KClcbiAgY2xvc2VhYmxlID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSB0YWIgaXMgZGlzYWJsZWQgICovXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQXR0ckJvb2xlYW4odmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKiBDb250ZW50IGZvciB0aGUgdGFiIGxhYmVsIGdpdmVuIGJ5IGA8bmctdGVtcGxhdGUgW2F1aVRhYkxhYmVsXT5gLiAqL1xuICBAQ29udGVudENoaWxkKFRhYkxhYmVsRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgdGVtcGxhdGVMYWJlbDogVGFiTGFiZWxEaXJlY3RpdmU7XG5cbiAgLyoqXG4gICAqIFRlbXBsYXRlIHByb3ZpZGVkIGluIHRoZSB0YWIgY29udGVudCB0aGF0IHdpbGwgYmUgdXNlZCBpZiBwcmVzZW50LCB1c2VkIHRvIGVuYWJsZSBsYXp5LWxvYWRpbmdcbiAgICovXG4gIEBDb250ZW50Q2hpbGQoVGFiQ29udGVudERpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiBmYWxzZSB9KVxuICBfZXhwbGljaXRDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKiBUZW1wbGF0ZSBpbnNpZGUgdGhlIEF1aVRhYiB2aWV3IHRoYXQgY29udGFpbnMgYW4gYDxuZy1jb250ZW50PmAuICovXG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pXG4gIF9pbXBsaWNpdENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgZ2V0IGNvbnRlbnQoKTogVGVtcGxhdGVQb3J0YWwgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudFBvcnRhbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgcmVsYXRpdmVseSBpbmRleGVkIHBvc2l0aW9uIHdoZXJlIDAgcmVwcmVzZW50cyB0aGUgY2VudGVyLCBuZWdhdGl2ZSBpcyBsZWZ0LCBhbmQgcG9zaXRpdmVcbiAgICogcmVwcmVzZW50cyB0aGUgcmlnaHQuXG4gICAqL1xuICBwb3NpdGlvbjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBpbml0aWFsIHJlbGF0aXZlbHkgaW5kZXggb3JpZ2luIG9mIHRoZSB0YWIgaWYgaXQgd2FzIGNyZWF0ZWQgYW5kIHNlbGVjdGVkIGFmdGVyIHRoZXJlXG4gICAqIHdhcyBhbHJlYWR5IGEgc2VsZWN0ZWQgdGFiLiBQcm92aWRlcyBjb250ZXh0IG9mIHdoYXQgcG9zaXRpb24gdGhlIHRhYiBzaG91bGQgb3JpZ2luYXRlIGZyb20uXG4gICAqL1xuICBvcmlnaW46IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgaW50ZXJuYWwgc3RhdGUgb2YgdGhlIHRhYiBjaGFuZ2VzLiAqL1xuICByZWFkb25seSBfc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKiogUG9ydGFsIHRoYXQgd2lsbCBiZSB0aGUgaG9zdGVkIGNvbnRlbnQgb2YgdGhlIHRhYiAqL1xuICBwcml2YXRlIF9jb250ZW50UG9ydGFsOiBUZW1wbGF0ZVBvcnRhbCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGFiQ29udGV4dDogVGFiQ29udGV4dFNlcnZpY2UsXG4gICkge31cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGVudFBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbChcbiAgICAgIHRoaXMuX2V4cGxpY2l0Q29udGVudCB8fCB0aGlzLl9pbXBsaWNpdENvbnRlbnQsXG4gICAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmLFxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzLmhhc093blByb3BlcnR5KCd0ZXh0TGFiZWwnKSB8fFxuICAgICAgY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgnZGlzYWJsZWQnKSB8fFxuICAgICAgY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgnY2xvc2VhYmxlJylcbiAgICApIHtcbiAgICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG4gIENyZWF0ZSBhIHRlbXBsYXRlIGZvciB0aGUgY29udGVudCBvZiB0aGUgPGF1aS10YWI+IHNvIHRoYXQgd2UgY2FuIGdyYWIgYSByZWZlcmVuY2UgdG8gdGhpc1xuICBUZW1wbGF0ZVJlZiBhbmQgdXNlIGl0IGluIGEgUG9ydGFsIHRvIHJlbmRlciB0aGUgdGFiIGNvbnRlbnQgaW4gdGhlIGFwcHJvcHJpYXRlIHBsYWNlIGluIHRoZVxuICB0YWItZ3JvdXAuXG4tLT5cbjxuZy10ZW1wbGF0ZT48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -13,40 +13,40 @@ import { TabHeaderComponent } from './tab-header.component';
13
13
  import { TabComponent } from './tab.component';
14
14
  import * as i0 from "@angular/core";
15
15
  export class TabsModule {
16
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: TabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: TabsModule, declarations: [TabGroupComponent,
18
+ TabComponent,
19
+ TabLabelDirective,
20
+ TabContentDirective,
21
+ TabHeaderAddonDirective,
22
+ TabTitleDirective,
23
+ TabHeaderComponent,
24
+ TabBodyComponent,
25
+ TabBodyPortalDirective,
26
+ TabLabelWrapperDirective,
27
+ TabHeaderActiveIndicatorComponent], imports: [CommonModule,
28
+ FormsModule,
29
+ PortalModule,
30
+ ButtonModule,
31
+ IconModule,
32
+ A11yModule,
33
+ ObserversModule], exports: [TabGroupComponent,
34
+ TabComponent,
35
+ TabLabelDirective,
36
+ TabContentDirective,
37
+ TabHeaderAddonDirective,
38
+ TabTitleDirective,
39
+ TabLabelWrapperDirective,
40
+ TabHeaderComponent] });
41
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: TabsModule, imports: [CommonModule,
42
+ FormsModule,
43
+ PortalModule,
44
+ ButtonModule,
45
+ IconModule,
46
+ A11yModule,
47
+ ObserversModule] });
16
48
  }
17
- TabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
- TabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TabsModule, declarations: [TabGroupComponent,
19
- TabComponent,
20
- TabLabelDirective,
21
- TabContentDirective,
22
- TabHeaderAddonDirective,
23
- TabTitleDirective,
24
- TabHeaderComponent,
25
- TabBodyComponent,
26
- TabBodyPortalDirective,
27
- TabLabelWrapperDirective,
28
- TabHeaderActiveIndicatorComponent], imports: [CommonModule,
29
- FormsModule,
30
- PortalModule,
31
- ButtonModule,
32
- IconModule,
33
- A11yModule,
34
- ObserversModule], exports: [TabGroupComponent,
35
- TabComponent,
36
- TabLabelDirective,
37
- TabContentDirective,
38
- TabHeaderAddonDirective,
39
- TabTitleDirective,
40
- TabLabelWrapperDirective,
41
- TabHeaderComponent] });
42
- TabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TabsModule, imports: [CommonModule,
43
- FormsModule,
44
- PortalModule,
45
- ButtonModule,
46
- IconModule,
47
- A11yModule,
48
- ObserversModule] });
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TabsModule, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: TabsModule, decorators: [{
50
50
  type: NgModule,
51
51
  args: [{
52
52
  imports: [
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
83
83
  ],
84
84
  }]
85
85
  }] });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFicy90YWJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXJDLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixpQkFBaUIsR0FDbEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBb0MvQyxNQUFNLE9BQU8sVUFBVTs7dUdBQVYsVUFBVTt3R0FBVixVQUFVLGlCQXZCbkIsaUJBQWlCO1FBQ2pCLFlBQVk7UUFDWixpQkFBaUI7UUFDakIsbUJBQW1CO1FBQ25CLHVCQUF1QjtRQUN2QixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLGlDQUFpQyxhQW5CakMsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osWUFBWTtRQUNaLFVBQVU7UUFDVixVQUFVO1FBQ1YsZUFBZSxhQWdCZixpQkFBaUI7UUFDakIsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixtQkFBbUI7UUFDbkIsdUJBQXVCO1FBQ3ZCLGlCQUFpQjtRQUNqQix3QkFBd0I7UUFDeEIsa0JBQWtCO3dHQUdULFVBQVUsWUFoQ25CLFlBQVk7UUFDWixXQUFXO1FBQ1gsWUFBWTtRQUNaLFlBQVk7UUFDWixVQUFVO1FBQ1YsVUFBVTtRQUNWLGVBQWU7MkZBMEJOLFVBQVU7a0JBbEN0QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixlQUFlO3FCQUNoQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4QixpQ0FBaUM7cUJBQ2xDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQix3QkFBd0I7d0JBQ3hCLGtCQUFrQjtxQkFDbkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgT2JzZXJ2ZXJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL29ic2VydmVycyc7XG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbic7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbic7XG5cbmltcG9ydCB7XG4gIFRhYkJvZHlDb21wb25lbnQsXG4gIFRhYkJvZHlQb3J0YWxEaXJlY3RpdmUsXG4gIFRhYkNvbnRlbnREaXJlY3RpdmUsXG4gIFRhYkhlYWRlckFkZG9uRGlyZWN0aXZlLFxuICBUYWJMYWJlbERpcmVjdGl2ZSxcbiAgVGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlLFxuICBUYWJUaXRsZURpcmVjdGl2ZSxcbn0gZnJvbSAnLi90YWItYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3RhYi1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiSGVhZGVyQWN0aXZlSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi90YWItaGVhZGVyLWFjdGl2ZS1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYkhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vdGFiLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiQ29tcG9uZW50IH0gZnJvbSAnLi90YWIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgQTExeU1vZHVsZSxcbiAgICBPYnNlcnZlcnNNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRhYkdyb3VwQ29tcG9uZW50LFxuICAgIFRhYkNvbXBvbmVudCxcbiAgICBUYWJMYWJlbERpcmVjdGl2ZSxcbiAgICBUYWJDb250ZW50RGlyZWN0aXZlLFxuICAgIFRhYkhlYWRlckFkZG9uRGlyZWN0aXZlLFxuICAgIFRhYlRpdGxlRGlyZWN0aXZlLFxuICAgIFRhYkhlYWRlckNvbXBvbmVudCxcbiAgICBUYWJCb2R5Q29tcG9uZW50LFxuICAgIFRhYkJvZHlQb3J0YWxEaXJlY3RpdmUsXG4gICAgVGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlLFxuICAgIFRhYkhlYWRlckFjdGl2ZUluZGljYXRvckNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFRhYkdyb3VwQ29tcG9uZW50LFxuICAgIFRhYkNvbXBvbmVudCxcbiAgICBUYWJMYWJlbERpcmVjdGl2ZSxcbiAgICBUYWJDb250ZW50RGlyZWN0aXZlLFxuICAgIFRhYkhlYWRlckFkZG9uRGlyZWN0aXZlLFxuICAgIFRhYlRpdGxlRGlyZWN0aXZlLFxuICAgIFRhYkxhYmVsV3JhcHBlckRpcmVjdGl2ZSxcbiAgICBUYWJIZWFkZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYnNNb2R1bGUge31cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFicy90YWJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXJDLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixpQkFBaUIsR0FDbEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBb0MvQyxNQUFNLE9BQU8sVUFBVTt1R0FBVixVQUFVO3dHQUFWLFVBQVUsaUJBdkJuQixpQkFBaUI7WUFDakIsWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLHNCQUFzQjtZQUN0Qix3QkFBd0I7WUFDeEIsaUNBQWlDLGFBbkJqQyxZQUFZO1lBQ1osV0FBVztZQUNYLFlBQVk7WUFDWixZQUFZO1lBQ1osVUFBVTtZQUNWLFVBQVU7WUFDVixlQUFlLGFBZ0JmLGlCQUFpQjtZQUNqQixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsaUJBQWlCO1lBQ2pCLHdCQUF3QjtZQUN4QixrQkFBa0I7d0dBR1QsVUFBVSxZQWhDbkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxZQUFZO1lBQ1osWUFBWTtZQUNaLFVBQVU7WUFDVixVQUFVO1lBQ1YsZUFBZTs7MkZBMEJOLFVBQVU7a0JBbEN0QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixlQUFlO3FCQUNoQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4QixpQ0FBaUM7cUJBQ2xDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQix3QkFBd0I7d0JBQ3hCLGtCQUFrQjtxQkFDbkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgT2JzZXJ2ZXJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL29ic2VydmVycyc7XG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbic7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbic7XG5cbmltcG9ydCB7XG4gIFRhYkJvZHlDb21wb25lbnQsXG4gIFRhYkJvZHlQb3J0YWxEaXJlY3RpdmUsXG4gIFRhYkNvbnRlbnREaXJlY3RpdmUsXG4gIFRhYkhlYWRlckFkZG9uRGlyZWN0aXZlLFxuICBUYWJMYWJlbERpcmVjdGl2ZSxcbiAgVGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlLFxuICBUYWJUaXRsZURpcmVjdGl2ZSxcbn0gZnJvbSAnLi90YWItYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3RhYi1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiSGVhZGVyQWN0aXZlSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi90YWItaGVhZGVyLWFjdGl2ZS1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYkhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vdGFiLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiQ29tcG9uZW50IH0gZnJvbSAnLi90YWIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgQTExeU1vZHVsZSxcbiAgICBPYnNlcnZlcnNNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRhYkdyb3VwQ29tcG9uZW50LFxuICAgIFRhYkNvbXBvbmVudCxcbiAgICBUYWJMYWJlbERpcmVjdGl2ZSxcbiAgICBUYWJDb250ZW50RGlyZWN0aXZlLFxuICAgIFRhYkhlYWRlckFkZG9uRGlyZWN0aXZlLFxuICAgIFRhYlRpdGxlRGlyZWN0aXZlLFxuICAgIFRhYkhlYWRlckNvbXBvbmVudCxcbiAgICBUYWJCb2R5Q29tcG9uZW50LFxuICAgIFRhYkJvZHlQb3J0YWxEaXJlY3RpdmUsXG4gICAgVGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlLFxuICAgIFRhYkhlYWRlckFjdGl2ZUluZGljYXRvckNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFRhYkdyb3VwQ29tcG9uZW50LFxuICAgIFRhYkNvbXBvbmVudCxcbiAgICBUYWJMYWJlbERpcmVjdGl2ZSxcbiAgICBUYWJDb250ZW50RGlyZWN0aXZlLFxuICAgIFRhYkhlYWRlckFkZG9uRGlyZWN0aXZlLFxuICAgIFRhYlRpdGxlRGlyZWN0aXZlLFxuICAgIFRhYkxhYmVsV3JhcHBlckRpcmVjdGl2ZSxcbiAgICBUYWJIZWFkZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYnNNb2R1bGUge31cbiJdfQ==