@alauda/ui 6.5.10-beta.4 → 6.5.10-beta.41

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 (606) hide show
  1. package/accordion/accordion-item/accordion-item.component.d.ts +3 -3
  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 +3 -3
  5. package/autocomplete/autocomplete-placeholder.component.d.ts +1 -1
  6. package/autocomplete/autocomplete.component.d.ts +1 -1
  7. package/autocomplete/autocomplete.directive.d.ts +2 -2
  8. package/autocomplete/autocomplete.types.d.ts +1 -1
  9. package/autocomplete/helper-directives.d.ts +1 -1
  10. package/autocomplete/suggestion/suggestion.component.d.ts +6 -6
  11. package/autocomplete/suggestion-group/suggestion-group.component.d.ts +1 -1
  12. package/back-top/back-top.component.d.ts +3 -2
  13. package/back-top/back-top.module.d.ts +2 -1
  14. package/breadcrumb/breadcrumb-item.component.d.ts +1 -1
  15. package/breadcrumb/breadcrumb.component.d.ts +1 -1
  16. package/button/button-group/button-group.component.d.ts +1 -1
  17. package/button/button.component.d.ts +1 -1
  18. package/button/button.types.d.ts +1 -12
  19. package/card/card.component.d.ts +1 -1
  20. package/card/helper-directives.d.ts +3 -7
  21. package/card/section.component.d.ts +1 -1
  22. package/checkbox/checkbox-group/checkbox-group.component.d.ts +3 -3
  23. package/checkbox/checkbox.component.d.ts +1 -1
  24. package/color-picker/color-picker.component.d.ts +1 -1
  25. package/date-picker/calendar/date-picker-panel/component.d.ts +1 -1
  26. package/date-picker/calendar/footer/component.d.ts +1 -1
  27. package/date-picker/calendar/header/component.d.ts +1 -1
  28. package/date-picker/calendar/panel/picker-panel.d.ts +1 -1
  29. package/date-picker/calendar/range-picker-panel/component.d.ts +1 -1
  30. package/date-picker/date-picker/date-picker.component.d.ts +1 -1
  31. package/date-picker/date-picker.type.d.ts +2 -2
  32. package/date-picker/range-picker/range-picker.component.d.ts +1 -1
  33. package/date-picker/trigger/trigger.component.d.ts +1 -1
  34. package/dialog/confirm-dialog/confirm-dialog.component.d.ts +1 -1
  35. package/dialog/dialog-content/dialog-close.directive.d.ts +1 -1
  36. package/dialog/dialog-content/dialog-content.component.d.ts +1 -1
  37. package/dialog/dialog-content/dialog-footer.component.d.ts +1 -1
  38. package/dialog/dialog-content/dialog-header.component.d.ts +1 -1
  39. package/dialog/dialog.component.d.ts +1 -1
  40. package/dialog/dialog.types.d.ts +3 -3
  41. package/drawer/component/drawer.component.d.ts +1 -1
  42. package/drawer/component/helper-directives.d.ts +3 -3
  43. package/dropdown/dropdown-active.directive.d.ts +1 -1
  44. package/dropdown/dropdown-button/dropdown-button.component.d.ts +3 -4
  45. package/dropdown/dropdown.directive.d.ts +1 -1
  46. package/dropdown/dropdown.types.d.ts +1 -1
  47. package/dropdown/helper-directives.d.ts +1 -1
  48. package/dropdown/menu/menu-content.directive.d.ts +1 -1
  49. package/dropdown/menu/menu.component.d.ts +1 -1
  50. package/dropdown/menu-group/menu-group.component.d.ts +1 -1
  51. package/dropdown/menu-item/menu-item.component.d.ts +1 -1
  52. package/dropdown/submenu/submenu.component.d.ts +1 -1
  53. package/esm2022/accordion/accordion-item/accordion-item.component.mjs +73 -0
  54. package/esm2022/accordion/accordion.component.mjs +29 -0
  55. package/esm2022/accordion/accordion.module.mjs +39 -0
  56. package/esm2022/alauda-ui.mjs +2 -0
  57. package/esm2022/anchor/anchor.component.mjs +141 -0
  58. package/esm2022/anchor/anchor.directive.mjs +198 -0
  59. package/esm2022/anchor/anchor.module.mjs +35 -0
  60. package/{esm2020 → esm2022}/autocomplete/autocomplete-placeholder.component.mjs +4 -4
  61. package/esm2022/autocomplete/autocomplete.component.mjs +72 -0
  62. package/esm2022/autocomplete/autocomplete.directive.mjs +282 -0
  63. package/esm2022/autocomplete/autocomplete.module.mjs +53 -0
  64. package/{esm2020 → esm2022}/autocomplete/helper-directives.mjs +4 -4
  65. package/esm2022/autocomplete/suggestion/suggestion.component.mjs +77 -0
  66. package/esm2022/autocomplete/suggestion-group/suggestion-group.component.mjs +25 -0
  67. package/esm2022/back-top/back-top.component.mjs +84 -0
  68. package/esm2022/back-top/back-top.module.mjs +20 -0
  69. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +33 -0
  70. package/esm2022/breadcrumb/breadcrumb.component.mjs +56 -0
  71. package/esm2022/breadcrumb/breadcrumb.module.mjs +20 -0
  72. package/{esm2020 → esm2022}/button/button-group/button-group.component.mjs +4 -4
  73. package/esm2022/button/button.component.mjs +124 -0
  74. package/esm2022/button/button.module.mjs +20 -0
  75. package/esm2022/button/button.types.mjs +11 -0
  76. package/esm2022/card/card.component.mjs +14 -0
  77. package/esm2022/card/card.module.mjs +40 -0
  78. package/esm2022/card/helper-directives.mjs +42 -0
  79. package/{esm2020 → esm2022}/card/section.component.mjs +4 -4
  80. package/esm2022/checkbox/checkbox-group/checkbox-group.component.mjs +60 -0
  81. package/esm2022/checkbox/checkbox.component.mjs +116 -0
  82. package/esm2022/checkbox/checkbox.module.mjs +20 -0
  83. package/esm2022/color-picker/color-picker.component.mjs +28 -0
  84. package/esm2022/color-picker/color-picker.module.mjs +19 -0
  85. package/esm2022/date-picker/calendar/constant.mjs +31 -0
  86. package/esm2022/date-picker/calendar/date-picker-panel/component.mjs +137 -0
  87. package/esm2022/date-picker/calendar/footer/component.mjs +29 -0
  88. package/esm2022/date-picker/calendar/header/component.mjs +100 -0
  89. package/esm2022/date-picker/calendar/panel/picker-panel.mjs +158 -0
  90. package/esm2022/date-picker/calendar/range-picker-panel/component.mjs +210 -0
  91. package/esm2022/date-picker/calendar/util.mjs +152 -0
  92. package/esm2022/date-picker/date-picker/date-picker.component.mjs +115 -0
  93. package/esm2022/date-picker/date-picker.module.mjs +82 -0
  94. package/esm2022/date-picker/range-picker/range-picker.component.mjs +88 -0
  95. package/esm2022/date-picker/trigger/trigger.component.mjs +76 -0
  96. package/esm2022/dialog/confirm-dialog/confirm-dialog-config.mjs +13 -0
  97. package/esm2022/dialog/confirm-dialog/confirm-dialog.component.mjs +91 -0
  98. package/{esm2020 → esm2022}/dialog/dialog-animations.mjs +1 -2
  99. package/esm2022/dialog/dialog-config.mjs +14 -0
  100. package/esm2022/dialog/dialog-content/dialog-close.directive.mjs +42 -0
  101. package/esm2022/dialog/dialog-content/dialog-content.component.mjs +19 -0
  102. package/esm2022/dialog/dialog-content/dialog-footer.component.mjs +13 -0
  103. package/esm2022/dialog/dialog-content/dialog-header.component.mjs +42 -0
  104. package/esm2022/dialog/dialog-ref.mjs +52 -0
  105. package/esm2022/dialog/dialog.component.mjs +154 -0
  106. package/esm2022/dialog/dialog.module.mjs +65 -0
  107. package/esm2022/dialog/dialog.service.mjs +124 -0
  108. package/esm2022/drawer/component/drawer.component.mjs +248 -0
  109. package/esm2022/drawer/component/helper-directives.mjs +33 -0
  110. package/esm2022/drawer/drawer.module.mjs +36 -0
  111. package/esm2022/drawer/drawer.service.mjs +47 -0
  112. package/esm2022/dropdown/dropdown-active.directive.mjs +18 -0
  113. package/esm2022/dropdown/dropdown-button/dropdown-button.component.mjs +53 -0
  114. package/esm2022/dropdown/dropdown.directive.mjs +83 -0
  115. package/esm2022/dropdown/dropdown.module.mjs +65 -0
  116. package/{esm2020 → esm2022}/dropdown/helper-directives.mjs +4 -4
  117. package/esm2022/dropdown/menu/menu-content.directive.mjs +59 -0
  118. package/esm2022/dropdown/menu/menu.component.mjs +26 -0
  119. package/{esm2020 → esm2022}/dropdown/menu-group/menu-group.component.mjs +4 -4
  120. package/esm2022/dropdown/menu-item/menu-item.component.mjs +35 -0
  121. package/esm2022/dropdown/submenu/submenu.component.mjs +38 -0
  122. package/esm2022/form/common-form.mjs +87 -0
  123. package/esm2022/form/form-item/form-item.component.mjs +121 -0
  124. package/esm2022/form/form.directive.mjs +70 -0
  125. package/esm2022/form/form.module.mjs +48 -0
  126. package/esm2022/form/helper-directives.mjs +73 -0
  127. package/{esm2020 → esm2022}/i18n/i18n.module.mjs +5 -5
  128. package/esm2022/i18n/i18n.pipe.mjs +21 -0
  129. package/esm2022/i18n/i18n.service.mjs +48 -0
  130. package/esm2022/icon/icon-register.service.mjs +75 -0
  131. package/esm2022/icon/icon.component.mjs +74 -0
  132. package/esm2022/icon/icon.module.mjs +21 -0
  133. package/{esm2020 → esm2022}/inline-alert/helper-directives.mjs +4 -4
  134. package/esm2022/inline-alert/inline-alert.component.mjs +58 -0
  135. package/esm2022/inline-alert/inline-alert.module.mjs +20 -0
  136. package/esm2022/input/autosize.directive.mjs +56 -0
  137. package/esm2022/input/helper-directives.mjs +43 -0
  138. package/esm2022/input/input-group/input-group.component.mjs +46 -0
  139. package/esm2022/input/input.component.mjs +59 -0
  140. package/esm2022/input/input.module.mjs +85 -0
  141. package/esm2022/input/number-input/number-input.component.mjs +121 -0
  142. package/esm2022/input/search/search.component.mjs +87 -0
  143. package/esm2022/input/tags-input/tags-input.component.mjs +264 -0
  144. package/esm2022/input/tags-input/with-max-row-count.mjs +50 -0
  145. package/esm2022/message/base-message.mjs +99 -0
  146. package/esm2022/message/message-wrapper.component.mjs +15 -0
  147. package/esm2022/message/message.component.mjs +77 -0
  148. package/esm2022/message/message.config.mjs +20 -0
  149. package/esm2022/message/message.module.mjs +22 -0
  150. package/{esm2020 → esm2022}/message/message.service.mjs +4 -4
  151. package/esm2022/notification/notification-wrapper.component.mjs +17 -0
  152. package/esm2022/notification/notification.component.mjs +106 -0
  153. package/esm2022/notification/notification.module.mjs +23 -0
  154. package/{esm2020 → esm2022}/notification/notification.service.mjs +4 -4
  155. package/esm2022/paginator/paginator-intl.mjs +24 -0
  156. package/esm2022/paginator/paginator.component.mjs +126 -0
  157. package/esm2022/paginator/paginator.module.mjs +24 -0
  158. package/esm2022/radio/base-radio.mjs +72 -0
  159. package/esm2022/radio/radio-button/radio-button.component.mjs +41 -0
  160. package/esm2022/radio/radio-group/radio-group.component.mjs +65 -0
  161. package/esm2022/radio/radio.component.mjs +23 -0
  162. package/esm2022/radio/radio.module.mjs +21 -0
  163. package/esm2022/scrolling/fixed-size-table-virtual-scroll-strategy.mjs +80 -0
  164. package/esm2022/scrolling/fixed-size-table-virtual-scroll.directive.mjs +119 -0
  165. package/esm2022/scrolling/fixed-size-virtual-scroll.directive.mjs +27 -0
  166. package/{esm2020 → esm2022}/scrolling/scrolling.module.mjs +9 -9
  167. package/{esm2020 → esm2022}/scrolling/virtual-for-of.directive.mjs +4 -4
  168. package/esm2022/scrolling/virtual-scroll-viewport.component.mjs +26 -0
  169. package/esm2022/select/base-select.mjs +333 -0
  170. package/{esm2020 → esm2022}/select/helper-directives.mjs +7 -7
  171. package/esm2022/select/multi-select/multi-select.component.mjs +311 -0
  172. package/esm2022/select/option/option.component.mjs +119 -0
  173. package/esm2022/select/option-group/option-group.component.mjs +25 -0
  174. package/{esm2020 → esm2022}/select/option-placeholder.component.mjs +4 -4
  175. package/esm2022/select/select.component.mjs +107 -0
  176. package/esm2022/select/select.module.mjs +78 -0
  177. package/esm2022/select/validators.mjs +78 -0
  178. package/esm2022/shared/click-outside.directive.mjs +29 -0
  179. package/{esm2020 → esm2022}/shared/shared.module.mjs +5 -5
  180. package/esm2022/sort/sort-errors.mjs +13 -0
  181. package/esm2022/sort/sort-header.component.mjs +74 -0
  182. package/esm2022/sort/sort.directive.mjs +73 -0
  183. package/esm2022/sort/sort.module.mjs +19 -0
  184. package/esm2022/status-bar/status-bar.component.mjs +28 -0
  185. package/esm2022/status-bar/status-bar.module.mjs +19 -0
  186. package/esm2022/steps/steps.component.mjs +166 -0
  187. package/esm2022/steps/steps.module.mjs +19 -0
  188. package/{esm2020 → esm2022}/steps/types.mjs +1 -1
  189. package/esm2022/switch/switch.component.mjs +43 -0
  190. package/esm2022/switch/switch.module.mjs +18 -0
  191. package/esm2022/table/table-cell-def.directive.mjs +25 -0
  192. package/esm2022/table/table-cell.component.mjs +115 -0
  193. package/esm2022/table/table-cell.directive.mjs +29 -0
  194. package/esm2022/table/table-column-def.directive.mjs +31 -0
  195. package/esm2022/table/table-header-cell-def.directive.mjs +25 -0
  196. package/esm2022/table/table-header-cell.directive.mjs +25 -0
  197. package/esm2022/table/table-header-row-def.directive.mjs +33 -0
  198. package/esm2022/table/table-header-row.component.mjs +24 -0
  199. package/esm2022/table/table-placeholder.directive.mjs +33 -0
  200. package/esm2022/table/table-row-def.directive.mjs +34 -0
  201. package/esm2022/table/table-row.component.mjs +43 -0
  202. package/esm2022/table/table-scroll.directive.mjs +133 -0
  203. package/esm2022/table/table.component.mjs +79 -0
  204. package/esm2022/table/table.module.mjs +96 -0
  205. package/esm2022/table-of-contents/table-of-contents.module.mjs +20 -0
  206. package/esm2022/table-of-contents/toc-container.directive.mjs +111 -0
  207. package/esm2022/table-of-contents/toc-content.directive.mjs +39 -0
  208. package/esm2022/table-of-contents/toc-link.directive.mjs +48 -0
  209. package/esm2022/tabs/tab-body.component.mjs +146 -0
  210. package/esm2022/tabs/tab-context.service.mjs +30 -0
  211. package/esm2022/tabs/tab-group.component.mjs +256 -0
  212. package/esm2022/tabs/tab-header-active-indicator.component.mjs +41 -0
  213. package/esm2022/tabs/tab-header.component.mjs +277 -0
  214. package/esm2022/tabs/tab.component.mjs +72 -0
  215. package/esm2022/tabs/tabs.module.mjs +86 -0
  216. package/esm2022/tabs/tabs.types.mjs +10 -0
  217. package/esm2022/tag/check-tag/check-tag.component.mjs +31 -0
  218. package/esm2022/tag/tag.component.mjs +63 -0
  219. package/esm2022/tag/tag.module.mjs +20 -0
  220. package/esm2022/theme/theme.module.mjs +18 -0
  221. package/esm2022/theme/theme.pipe.mjs +64 -0
  222. package/esm2022/theme/theme.service.mjs +59 -0
  223. package/esm2022/time-picker/component.mjs +183 -0
  224. package/esm2022/time-picker/panel/panel.component.mjs +240 -0
  225. package/esm2022/time-picker/time-picker.module.mjs +56 -0
  226. package/esm2022/time-picker/time-picker.type.mjs +13 -0
  227. package/esm2022/tooltip/base-tooltip.mjs +333 -0
  228. package/esm2022/tooltip/tooltip-active.directive.mjs +51 -0
  229. package/esm2022/tooltip/tooltip-copy.directive.mjs +87 -0
  230. package/esm2022/tooltip/tooltip-intl.mjs +21 -0
  231. package/esm2022/tooltip/tooltip.component.mjs +120 -0
  232. package/esm2022/tooltip/tooltip.directive.mjs +44 -0
  233. package/esm2022/tooltip/tooltip.module.mjs +32 -0
  234. package/esm2022/tooltip/utils/index.mjs +58 -0
  235. package/{esm2020 → esm2022}/tree-select/tree-node-placeholder.component.mjs +4 -4
  236. package/esm2022/tree-select/tree-select.component.mjs +329 -0
  237. package/esm2022/tree-select/tree-select.module.mjs +34 -0
  238. package/esm2022/types.mjs +8 -0
  239. package/esm2022/utils/bem.mjs +44 -0
  240. package/esm2022/utils/coercion.mjs +5 -0
  241. package/esm2022/utils/fn.mjs +16 -0
  242. package/{fesm2020 → fesm2022}/alauda-ui.mjs +3144 -3252
  243. package/fesm2022/alauda-ui.mjs.map +1 -0
  244. package/form/common-form.d.ts +1 -9
  245. package/form/form-item/form-item.component.d.ts +1 -1
  246. package/form/form.directive.d.ts +1 -1
  247. package/form/form.types.d.ts +2 -2
  248. package/form/helper-directives.d.ts +7 -8
  249. package/i18n/i18n.pipe.d.ts +1 -1
  250. package/i18n/i18n.type.d.ts +1 -1
  251. package/icon/icon.component.d.ts +1 -1
  252. package/inline-alert/helper-directives.d.ts +1 -1
  253. package/inline-alert/inline-alert.component.d.ts +1 -1
  254. package/inline-alert/inline-alert.types.d.ts +1 -1
  255. package/input/autosize.directive.d.ts +1 -4
  256. package/input/helper-directives.d.ts +4 -4
  257. package/input/input-group/input-group.component.d.ts +1 -1
  258. package/input/input.component.d.ts +2 -5
  259. package/input/number-input/number-input.component.d.ts +5 -3
  260. package/input/search/search.component.d.ts +1 -1
  261. package/input/tags-input/tags-input.component.d.ts +3 -3
  262. package/message/message-wrapper.component.d.ts +1 -1
  263. package/message/message.component.d.ts +1 -1
  264. package/message/message.config.d.ts +0 -20
  265. package/notification/notification-wrapper.component.d.ts +1 -1
  266. package/notification/notification.component.d.ts +1 -5
  267. package/notification/notification.config.d.ts +1 -1
  268. package/package.json +14 -20
  269. package/paginator/paginator-intl.d.ts +0 -9
  270. package/paginator/paginator.component.d.ts +8 -25
  271. package/radio/base-radio.d.ts +1 -1
  272. package/radio/radio-button/radio-button.component.d.ts +1 -1
  273. package/radio/radio-group/radio-group.component.d.ts +1 -5
  274. package/radio/radio.component.d.ts +1 -1
  275. package/radio/radio.types.d.ts +1 -1
  276. package/scrolling/fixed-size-table-virtual-scroll.directive.d.ts +1 -1
  277. package/scrolling/fixed-size-virtual-scroll.directive.d.ts +1 -1
  278. package/scrolling/virtual-for-of.directive.d.ts +1 -1
  279. package/scrolling/virtual-scroll-viewport.component.d.ts +1 -1
  280. package/select/base-select.d.ts +7 -13
  281. package/select/helper-directives.d.ts +2 -2
  282. package/select/multi-select/multi-select.component.d.ts +3 -4
  283. package/select/option/option.component.d.ts +1 -1
  284. package/select/option-group/option-group.component.d.ts +1 -1
  285. package/select/option-placeholder.component.d.ts +1 -1
  286. package/select/select.component.d.ts +1 -1
  287. package/select/select.types.d.ts +3 -3
  288. package/select/validators.d.ts +1 -1
  289. package/shared/click-outside.directive.d.ts +1 -1
  290. package/sort/sort-errors.d.ts +0 -4
  291. package/sort/sort-header.component.d.ts +1 -1
  292. package/sort/sort.directive.d.ts +1 -1
  293. package/sort/sort.types.d.ts +2 -2
  294. package/status-bar/status-bar.component.d.ts +1 -1
  295. package/status-bar/status-bar.types.d.ts +2 -2
  296. package/steps/steps.component.d.ts +1 -5
  297. package/steps/types.d.ts +3 -7
  298. package/switch/switch.component.d.ts +1 -1
  299. package/table/table-cell-def.directive.d.ts +1 -5
  300. package/table/table-cell.component.d.ts +2 -2
  301. package/table/table-cell.directive.d.ts +1 -2
  302. package/table/table-column-def.directive.d.ts +1 -5
  303. package/table/table-header-cell-def.directive.d.ts +1 -5
  304. package/table/table-header-cell.directive.d.ts +1 -2
  305. package/table/table-header-row-def.directive.d.ts +1 -5
  306. package/table/table-header-row.component.d.ts +1 -2
  307. package/table/table-placeholder.directive.d.ts +2 -2
  308. package/table/table-row-def.directive.d.ts +1 -6
  309. package/table/table-row.component.d.ts +1 -2
  310. package/table/table-scroll.directive.d.ts +2 -2
  311. package/table/table.component.d.ts +1 -1
  312. package/table-of-contents/toc-container.directive.d.ts +2 -2
  313. package/table-of-contents/toc-content.directive.d.ts +1 -1
  314. package/table-of-contents/toc-link.directive.d.ts +1 -1
  315. package/tabs/tab-body.component.d.ts +9 -26
  316. package/tabs/tab-context.service.d.ts +0 -3
  317. package/tabs/tab-group.component.d.ts +3 -31
  318. package/tabs/tab-header-active-indicator.component.d.ts +1 -10
  319. package/tabs/tab-header.component.d.ts +2 -85
  320. package/tabs/tab.component.d.ts +3 -22
  321. package/tabs/tabs.types.d.ts +2 -5
  322. package/tag/check-tag/check-tag.component.d.ts +1 -1
  323. package/tag/tag.component.d.ts +1 -1
  324. package/tag/tag.types.d.ts +1 -1
  325. package/theme/style.css +5 -1
  326. package/theme/theme.pipe.d.ts +4 -4
  327. package/theme/theme.types.d.ts +3 -3
  328. package/time-picker/component.d.ts +1 -1
  329. package/time-picker/panel/panel.component.d.ts +1 -1
  330. package/time-picker/time-picker.type.d.ts +1 -1
  331. package/tooltip/base-tooltip.d.ts +1 -1
  332. package/tooltip/tooltip-active.directive.d.ts +1 -1
  333. package/tooltip/tooltip-copy.directive.d.ts +1 -1
  334. package/tooltip/tooltip-intl.d.ts +0 -4
  335. package/tooltip/tooltip.component.d.ts +1 -1
  336. package/tooltip/tooltip.directive.d.ts +1 -1
  337. package/tree-select/tree-node-placeholder.component.d.ts +1 -1
  338. package/tree-select/tree-select.component.d.ts +11 -15
  339. package/tree-select/tree-select.types.d.ts +1 -1
  340. package/types.d.ts +2 -5
  341. package/utils/coercion.d.ts +4 -4
  342. package/utils/fn.d.ts +0 -1
  343. package/utils/operators.d.ts +1 -1
  344. package/.changeset/README.md +0 -8
  345. package/alauda-ui.d.ts +0 -5
  346. package/esm2020/accordion/accordion-item/accordion-item.component.mjs +0 -73
  347. package/esm2020/accordion/accordion.component.mjs +0 -27
  348. package/esm2020/accordion/accordion.module.mjs +0 -39
  349. package/esm2020/alauda-ui.mjs +0 -5
  350. package/esm2020/anchor/anchor.component.mjs +0 -138
  351. package/esm2020/anchor/anchor.directive.mjs +0 -182
  352. package/esm2020/anchor/anchor.module.mjs +0 -36
  353. package/esm2020/autocomplete/autocomplete.component.mjs +0 -64
  354. package/esm2020/autocomplete/autocomplete.directive.mjs +0 -278
  355. package/esm2020/autocomplete/autocomplete.module.mjs +0 -53
  356. package/esm2020/autocomplete/suggestion/suggestion.component.mjs +0 -79
  357. package/esm2020/autocomplete/suggestion-group/suggestion-group.component.mjs +0 -23
  358. package/esm2020/back-top/back-top.component.mjs +0 -67
  359. package/esm2020/back-top/back-top.module.mjs +0 -19
  360. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +0 -32
  361. package/esm2020/breadcrumb/breadcrumb.component.mjs +0 -57
  362. package/esm2020/breadcrumb/breadcrumb.module.mjs +0 -20
  363. package/esm2020/button/button.component.mjs +0 -122
  364. package/esm2020/button/button.module.mjs +0 -20
  365. package/esm2020/button/button.types.mjs +0 -22
  366. package/esm2020/card/card.component.mjs +0 -16
  367. package/esm2020/card/card.module.mjs +0 -40
  368. package/esm2020/card/helper-directives.mjs +0 -50
  369. package/esm2020/checkbox/checkbox-group/checkbox-group.component.mjs +0 -61
  370. package/esm2020/checkbox/checkbox.component.mjs +0 -112
  371. package/esm2020/checkbox/checkbox.module.mjs +0 -20
  372. package/esm2020/color-picker/color-picker.component.mjs +0 -28
  373. package/esm2020/color-picker/color-picker.module.mjs +0 -19
  374. package/esm2020/date-picker/calendar/constant.mjs +0 -32
  375. package/esm2020/date-picker/calendar/date-picker-panel/component.mjs +0 -128
  376. package/esm2020/date-picker/calendar/footer/component.mjs +0 -29
  377. package/esm2020/date-picker/calendar/header/component.mjs +0 -103
  378. package/esm2020/date-picker/calendar/panel/picker-panel.mjs +0 -155
  379. package/esm2020/date-picker/calendar/range-picker-panel/component.mjs +0 -209
  380. package/esm2020/date-picker/calendar/util.mjs +0 -146
  381. package/esm2020/date-picker/date-picker/date-picker.component.mjs +0 -110
  382. package/esm2020/date-picker/date-picker.module.mjs +0 -84
  383. package/esm2020/date-picker/range-picker/range-picker.component.mjs +0 -86
  384. package/esm2020/date-picker/trigger/trigger.component.mjs +0 -69
  385. package/esm2020/dialog/confirm-dialog/confirm-dialog-config.mjs +0 -12
  386. package/esm2020/dialog/confirm-dialog/confirm-dialog.component.mjs +0 -85
  387. package/esm2020/dialog/dialog-config.mjs +0 -15
  388. package/esm2020/dialog/dialog-content/dialog-close.directive.mjs +0 -38
  389. package/esm2020/dialog/dialog-content/dialog-content.component.mjs +0 -20
  390. package/esm2020/dialog/dialog-content/dialog-footer.component.mjs +0 -15
  391. package/esm2020/dialog/dialog-content/dialog-header.component.mjs +0 -39
  392. package/esm2020/dialog/dialog-ref.mjs +0 -48
  393. package/esm2020/dialog/dialog.component.mjs +0 -148
  394. package/esm2020/dialog/dialog.module.mjs +0 -68
  395. package/esm2020/dialog/dialog.service.mjs +0 -121
  396. package/esm2020/drawer/component/drawer.component.mjs +0 -232
  397. package/esm2020/drawer/component/helper-directives.mjs +0 -37
  398. package/esm2020/drawer/drawer.module.mjs +0 -37
  399. package/esm2020/drawer/drawer.service.mjs +0 -44
  400. package/esm2020/dropdown/dropdown-active.directive.mjs +0 -21
  401. package/esm2020/dropdown/dropdown-button/dropdown-button.component.mjs +0 -57
  402. package/esm2020/dropdown/dropdown.directive.mjs +0 -81
  403. package/esm2020/dropdown/dropdown.module.mjs +0 -65
  404. package/esm2020/dropdown/menu/menu-content.directive.mjs +0 -51
  405. package/esm2020/dropdown/menu/menu.component.mjs +0 -26
  406. package/esm2020/dropdown/menu-item/menu-item.component.mjs +0 -37
  407. package/esm2020/dropdown/submenu/submenu.component.mjs +0 -40
  408. package/esm2020/form/common-form.mjs +0 -91
  409. package/esm2020/form/form-item/form-item.component.mjs +0 -108
  410. package/esm2020/form/form.directive.mjs +0 -69
  411. package/esm2020/form/form.module.mjs +0 -48
  412. package/esm2020/form/helper-directives.mjs +0 -80
  413. package/esm2020/i18n/i18n.pipe.mjs +0 -20
  414. package/esm2020/i18n/i18n.service.mjs +0 -43
  415. package/esm2020/icon/icon-register.service.mjs +0 -74
  416. package/esm2020/icon/icon.component.mjs +0 -65
  417. package/esm2020/icon/icon.module.mjs +0 -21
  418. package/esm2020/inline-alert/inline-alert.component.mjs +0 -53
  419. package/esm2020/inline-alert/inline-alert.module.mjs +0 -20
  420. package/esm2020/input/autosize.directive.mjs +0 -59
  421. package/esm2020/input/helper-directives.mjs +0 -43
  422. package/esm2020/input/input-group/input-group.component.mjs +0 -39
  423. package/esm2020/input/input.component.mjs +0 -61
  424. package/esm2020/input/input.module.mjs +0 -87
  425. package/esm2020/input/number-input/number-input.component.mjs +0 -112
  426. package/esm2020/input/search/search.component.mjs +0 -88
  427. package/esm2020/input/tags-input/tags-input.component.mjs +0 -260
  428. package/esm2020/input/tags-input/with-max-row-count.mjs +0 -43
  429. package/esm2020/message/base-message.mjs +0 -90
  430. package/esm2020/message/message-wrapper.component.mjs +0 -14
  431. package/esm2020/message/message.component.mjs +0 -70
  432. package/esm2020/message/message.config.mjs +0 -21
  433. package/esm2020/message/message.module.mjs +0 -23
  434. package/esm2020/notification/notification-wrapper.component.mjs +0 -16
  435. package/esm2020/notification/notification.component.mjs +0 -107
  436. package/esm2020/notification/notification.module.mjs +0 -24
  437. package/esm2020/paginator/paginator-intl.mjs +0 -37
  438. package/esm2020/paginator/paginator.component.mjs +0 -125
  439. package/esm2020/paginator/paginator.module.mjs +0 -24
  440. package/esm2020/radio/base-radio.mjs +0 -67
  441. package/esm2020/radio/radio-button/radio-button.component.mjs +0 -42
  442. package/esm2020/radio/radio-group/radio-group.component.mjs +0 -76
  443. package/esm2020/radio/radio.component.mjs +0 -24
  444. package/esm2020/radio/radio.module.mjs +0 -21
  445. package/esm2020/scrolling/fixed-size-table-virtual-scroll-strategy.mjs +0 -83
  446. package/esm2020/scrolling/fixed-size-table-virtual-scroll.directive.mjs +0 -121
  447. package/esm2020/scrolling/fixed-size-virtual-scroll.directive.mjs +0 -28
  448. package/esm2020/scrolling/virtual-scroll-viewport.component.mjs +0 -26
  449. package/esm2020/select/base-select.mjs +0 -337
  450. package/esm2020/select/multi-select/multi-select.component.mjs +0 -313
  451. package/esm2020/select/option/option.component.mjs +0 -112
  452. package/esm2020/select/option-group/option-group.component.mjs +0 -23
  453. package/esm2020/select/select.component.mjs +0 -108
  454. package/esm2020/select/select.module.mjs +0 -80
  455. package/esm2020/select/validators.mjs +0 -79
  456. package/esm2020/shared/click-outside.directive.mjs +0 -28
  457. package/esm2020/sort/sort-errors.mjs +0 -17
  458. package/esm2020/sort/sort-header.component.mjs +0 -72
  459. package/esm2020/sort/sort.directive.mjs +0 -75
  460. package/esm2020/sort/sort.module.mjs +0 -19
  461. package/esm2020/status-bar/status-bar.component.mjs +0 -29
  462. package/esm2020/status-bar/status-bar.module.mjs +0 -19
  463. package/esm2020/steps/steps.component.mjs +0 -184
  464. package/esm2020/steps/steps.module.mjs +0 -19
  465. package/esm2020/switch/switch.component.mjs +0 -46
  466. package/esm2020/switch/switch.module.mjs +0 -18
  467. package/esm2020/table/table-cell-def.directive.mjs +0 -29
  468. package/esm2020/table/table-cell.component.mjs +0 -121
  469. package/esm2020/table/table-cell.directive.mjs +0 -31
  470. package/esm2020/table/table-column-def.directive.mjs +0 -37
  471. package/esm2020/table/table-header-cell-def.directive.mjs +0 -29
  472. package/esm2020/table/table-header-cell.directive.mjs +0 -27
  473. package/esm2020/table/table-header-row-def.directive.mjs +0 -39
  474. package/esm2020/table/table-header-row.component.mjs +0 -25
  475. package/esm2020/table/table-placeholder.directive.mjs +0 -30
  476. package/esm2020/table/table-row-def.directive.mjs +0 -42
  477. package/esm2020/table/table-row.component.mjs +0 -43
  478. package/esm2020/table/table-scroll.directive.mjs +0 -134
  479. package/esm2020/table/table.component.mjs +0 -79
  480. package/esm2020/table/table.module.mjs +0 -96
  481. package/esm2020/table-of-contents/table-of-contents.module.mjs +0 -20
  482. package/esm2020/table-of-contents/toc-container.directive.mjs +0 -109
  483. package/esm2020/table-of-contents/toc-content.directive.mjs +0 -35
  484. package/esm2020/table-of-contents/toc-link.directive.mjs +0 -44
  485. package/esm2020/tabs/tab-body.component.mjs +0 -165
  486. package/esm2020/tabs/tab-context.service.mjs +0 -31
  487. package/esm2020/tabs/tab-group.component.mjs +0 -291
  488. package/esm2020/tabs/tab-header-active-indicator.component.mjs +0 -53
  489. package/esm2020/tabs/tab-header.component.mjs +0 -367
  490. package/esm2020/tabs/tab.component.mjs +0 -85
  491. package/esm2020/tabs/tabs.module.mjs +0 -88
  492. package/esm2020/tabs/tabs.types.mjs +0 -13
  493. package/esm2020/tag/check-tag/check-tag.component.mjs +0 -33
  494. package/esm2020/tag/tag.component.mjs +0 -66
  495. package/esm2020/tag/tag.module.mjs +0 -20
  496. package/esm2020/theme/theme.module.mjs +0 -18
  497. package/esm2020/theme/theme.pipe.mjs +0 -69
  498. package/esm2020/theme/theme.service.mjs +0 -52
  499. package/esm2020/time-picker/component.mjs +0 -179
  500. package/esm2020/time-picker/panel/panel.component.mjs +0 -230
  501. package/esm2020/time-picker/time-picker.module.mjs +0 -58
  502. package/esm2020/time-picker/time-picker.type.mjs +0 -13
  503. package/esm2020/tooltip/base-tooltip.mjs +0 -322
  504. package/esm2020/tooltip/tooltip-active.directive.mjs +0 -49
  505. package/esm2020/tooltip/tooltip-copy.directive.mjs +0 -82
  506. package/esm2020/tooltip/tooltip-intl.mjs +0 -29
  507. package/esm2020/tooltip/tooltip.component.mjs +0 -107
  508. package/esm2020/tooltip/tooltip.directive.mjs +0 -47
  509. package/esm2020/tooltip/tooltip.module.mjs +0 -33
  510. package/esm2020/tooltip/utils/index.mjs +0 -58
  511. package/esm2020/tree-select/tree-select.component.mjs +0 -340
  512. package/esm2020/tree-select/tree-select.module.mjs +0 -34
  513. package/esm2020/types.mjs +0 -11
  514. package/esm2020/utils/bem.mjs +0 -44
  515. package/esm2020/utils/coercion.mjs +0 -17
  516. package/esm2020/utils/fn.mjs +0 -19
  517. package/fesm2015/alauda-ui.mjs +0 -12051
  518. package/fesm2015/alauda-ui.mjs.map +0 -1
  519. package/fesm2020/alauda-ui.mjs.map +0 -1
  520. package/src/accordion/README.md +0 -13
  521. package/src/anchor/README.md +0 -23
  522. package/src/dropdown/README.md +0 -57
  523. package/src/form/README.md +0 -32
  524. package/src/icon/README.md +0 -28
  525. package/src/inline-alert/README.md +0 -16
  526. package/src/input/number-input/README.md +0 -16
  527. package/src/select/README.md +0 -57
  528. package/src/sort/README.md +0 -13
  529. package/src/table/README.md +0 -8
  530. package/src/table-of-contents/README.md +0 -94
  531. package/src/tag/README.md +0 -32
  532. package/src/tree-select/README.md +0 -34
  533. /package/{esm2020 → esm2022}/accordion/index.mjs +0 -0
  534. /package/{esm2020 → esm2022}/anchor/index.mjs +0 -0
  535. /package/{esm2020 → esm2022}/anchor/types.mjs +0 -0
  536. /package/{esm2020 → esm2022}/anchor/utils.mjs +0 -0
  537. /package/{esm2020 → esm2022}/autocomplete/autocomplete.types.mjs +0 -0
  538. /package/{esm2020 → esm2022}/autocomplete/index.mjs +0 -0
  539. /package/{esm2020 → esm2022}/back-top/index.mjs +0 -0
  540. /package/{esm2020 → esm2022}/breadcrumb/index.mjs +0 -0
  541. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  542. /package/{esm2020 → esm2022}/card/index.mjs +0 -0
  543. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  544. /package/{esm2020 → esm2022}/color-picker/index.mjs +0 -0
  545. /package/{esm2020 → esm2022}/core/animation/animation-consts.mjs +0 -0
  546. /package/{esm2020 → esm2022}/date-picker/date-picker.type.mjs +0 -0
  547. /package/{esm2020 → esm2022}/date-picker/index.mjs +0 -0
  548. /package/{esm2020 → esm2022}/dialog/dialog.types.mjs +0 -0
  549. /package/{esm2020 → esm2022}/dialog/index.mjs +0 -0
  550. /package/{esm2020 → esm2022}/dialog/utils/errors.mjs +0 -0
  551. /package/{esm2020 → esm2022}/dialog/utils/index.mjs +0 -0
  552. /package/{esm2020 → esm2022}/drawer/component/drawer-ref.mjs +0 -0
  553. /package/{esm2020 → esm2022}/drawer/index.mjs +0 -0
  554. /package/{esm2020 → esm2022}/dropdown/dropdown.types.mjs +0 -0
  555. /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
  556. /package/{esm2020 → esm2022}/form/form.types.mjs +0 -0
  557. /package/{esm2020 → esm2022}/form/index.mjs +0 -0
  558. /package/{esm2020 → esm2022}/i18n/i18n.type.mjs +0 -0
  559. /package/{esm2020 → esm2022}/i18n/index.mjs +0 -0
  560. /package/{esm2020 → esm2022}/i18n/language/en.mjs +0 -0
  561. /package/{esm2020 → esm2022}/i18n/language/zh.mjs +0 -0
  562. /package/{esm2020 → esm2022}/icon/icons.mjs +0 -0
  563. /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
  564. /package/{esm2020 → esm2022}/icon/utils.mjs +0 -0
  565. /package/{esm2020 → esm2022}/index.mjs +0 -0
  566. /package/{esm2020 → esm2022}/inline-alert/index.mjs +0 -0
  567. /package/{esm2020 → esm2022}/inline-alert/inline-alert.types.mjs +0 -0
  568. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  569. /package/{esm2020 → esm2022}/input/utils/index.mjs +0 -0
  570. /package/{esm2020 → esm2022}/message/index.mjs +0 -0
  571. /package/{esm2020 → esm2022}/message/message-animations.mjs +0 -0
  572. /package/{esm2020 → esm2022}/notification/index.mjs +0 -0
  573. /package/{esm2020 → esm2022}/notification/notification.config.mjs +0 -0
  574. /package/{esm2020 → esm2022}/paginator/index.mjs +0 -0
  575. /package/{esm2020 → esm2022}/radio/index.mjs +0 -0
  576. /package/{esm2020 → esm2022}/radio/radio.types.mjs +0 -0
  577. /package/{esm2020 → esm2022}/scrolling/index.mjs +0 -0
  578. /package/{esm2020 → esm2022}/select/index.mjs +0 -0
  579. /package/{esm2020 → esm2022}/select/select.types.mjs +0 -0
  580. /package/{esm2020 → esm2022}/sort/index.mjs +0 -0
  581. /package/{esm2020 → esm2022}/sort/sort.types.mjs +0 -0
  582. /package/{esm2020 → esm2022}/status-bar/index.mjs +0 -0
  583. /package/{esm2020 → esm2022}/status-bar/status-bar.types.mjs +0 -0
  584. /package/{esm2020 → esm2022}/steps/index.mjs +0 -0
  585. /package/{esm2020 → esm2022}/switch/index.mjs +0 -0
  586. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  587. /package/{esm2020 → esm2022}/table-of-contents/index.mjs +0 -0
  588. /package/{esm2020 → esm2022}/tabs/index.mjs +0 -0
  589. /package/{esm2020 → esm2022}/tag/index.mjs +0 -0
  590. /package/{esm2020 → esm2022}/tag/tag.types.mjs +0 -0
  591. /package/{esm2020 → esm2022}/theme/index.mjs +0 -0
  592. /package/{esm2020 → esm2022}/theme/theme.types.mjs +0 -0
  593. /package/{esm2020 → esm2022}/theme/utils.mjs +0 -0
  594. /package/{esm2020 → esm2022}/time-picker/constant.mjs +0 -0
  595. /package/{esm2020 → esm2022}/time-picker/index.mjs +0 -0
  596. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  597. /package/{esm2020 → esm2022}/tooltip/tooltip.types.mjs +0 -0
  598. /package/{esm2020 → esm2022}/tree-select/index.mjs +0 -0
  599. /package/{esm2020 → esm2022}/tree-select/tree-select.types.mjs +0 -0
  600. /package/{esm2020 → esm2022}/utils/animations.mjs +0 -0
  601. /package/{esm2020 → esm2022}/utils/async.mjs +0 -0
  602. /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
  603. /package/{esm2020 → esm2022}/utils/observe-dom.mjs +0 -0
  604. /package/{esm2020 → esm2022}/utils/operators.mjs +0 -0
  605. /package/{esm2020 → esm2022}/utils/scroll-into-view.mjs +0 -0
  606. /package/{esm2020 → esm2022}/utils/watch-content-exist.mjs +0 -0
@@ -1,53 +0,0 @@
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
- constructor(_elementRef, _ngZone) {
8
- this._elementRef = _elementRef;
9
- this._ngZone = _ngZone;
10
- this.type = TabType.Line;
11
- this.bem = buildBem('aui-tab-header-active-indicator');
12
- }
13
- /**
14
- * Calculates the styles from the provided element in order to align the indicator to that element.
15
- * Shows the indicator if previously set as hidden.
16
- * @param element
17
- */
18
- alignToElement(element) {
19
- if (typeof requestAnimationFrame !== 'undefined') {
20
- this._ngZone.runOutsideAngular(() => {
21
- requestAnimationFrame(() => this._setStyles(element));
22
- });
23
- }
24
- else {
25
- this._setStyles(element);
26
- }
27
- }
28
- /**
29
- * Sets the proper styles to the element.
30
- * @param element
31
- */
32
- _setStyles(element) {
33
- const positions = this._getElementPosition(element);
34
- const nativeEl = this._elementRef.nativeElement;
35
- nativeEl.style.left = positions.left;
36
- nativeEl.style.width = positions.width;
37
- }
38
- _getElementPosition(element) {
39
- return {
40
- left: element ? (element.offsetLeft || 0) + 'px' : '0',
41
- width: element ? (element.offsetWidth || 0) + 'px' : '0',
42
- };
43
- }
44
- }
45
- TabHeaderActiveIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TabHeaderActiveIndicatorComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
46
- TabHeaderActiveIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TabHeaderActiveIndicatorComponent, selector: "aui-tab-header-active-indicator", inputs: { type: "type" }, ngImport: i0, template: "<div [ngClass]=\"bem.block(type)\"></div>\n", directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TabHeaderActiveIndicatorComponent, decorators: [{
48
- type: Component,
49
- args: [{ selector: 'aui-tab-header-active-indicator', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, template: "<div [ngClass]=\"bem.block(type)\"></div>\n" }]
50
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { type: [{
51
- type: Input
52
- }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWhlYWRlci1hY3RpdmUtaW5kaWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJzL3RhYi1oZWFkZXItYWN0aXZlLWluZGljYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvdGFicy90YWItaGVhZGVyLWFjdGl2ZS1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsS0FBSyxFQUVMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQU8sUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7OztBQVN2QyxNQUFNLE9BQU8saUNBQWlDO0lBTTVDLFlBQ21CLFdBQW9DLEVBQ3BDLE9BQWU7UUFEZixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDcEMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQU5sQyxTQUFJLEdBQVksT0FBTyxDQUFDLElBQUksQ0FBQztRQUU3QixRQUFHLEdBQVEsUUFBUSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFLcEQsQ0FBQztJQUVKOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsT0FBb0I7UUFDakMsSUFBSSxPQUFPLHFCQUFxQixLQUFLLFdBQVcsRUFBRTtZQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDbEMscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssVUFBVSxDQUFDLE9BQW9CO1FBQ3JDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUNoRCxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQ3JDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDekMsQ0FBQztJQUVPLG1CQUFtQixDQUFDLE9BQW9CO1FBQzlDLE9BQU87WUFDTCxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHO1lBQ3RELEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUc7U0FDekQsQ0FBQztJQUNKLENBQUM7OzhIQTFDVSxpQ0FBaUM7a0hBQWpDLGlDQUFpQyxpR0NwQjlDLDZDQUNBOzJGRG1CYSxpQ0FBaUM7a0JBUDdDLFNBQVM7K0JBQ0UsaUNBQWlDLGlCQUU1QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLHVCQUMxQixLQUFLO3NIQUkxQixJQUFJO3NCQURILEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlbSwgYnVpbGRCZW0gfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7IFRhYlR5cGUgfSBmcm9tICcuL3RhYnMudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdGFiLWhlYWRlci1hY3RpdmUtaW5kaWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi1oZWFkZXItYWN0aXZlLWluZGljYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFiSGVhZGVyQWN0aXZlSW5kaWNhdG9yQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgdHlwZTogVGFiVHlwZSA9IFRhYlR5cGUuTGluZTtcblxuICBiZW06IEJlbSA9IGJ1aWxkQmVtKCdhdWktdGFiLWhlYWRlci1hY3RpdmUtaW5kaWNhdG9yJyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbmdab25lOiBOZ1pvbmUsXG4gICkge31cblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgc3R5bGVzIGZyb20gdGhlIHByb3ZpZGVkIGVsZW1lbnQgaW4gb3JkZXIgdG8gYWxpZ24gdGhlIGluZGljYXRvciB0byB0aGF0IGVsZW1lbnQuXG4gICAqIFNob3dzIHRoZSBpbmRpY2F0b3IgaWYgcHJldmlvdXNseSBzZXQgYXMgaGlkZGVuLlxuICAgKiBAcGFyYW0gZWxlbWVudFxuICAgKi9cbiAgYWxpZ25Ub0VsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICBpZiAodHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB0aGlzLl9zZXRTdHlsZXMoZWxlbWVudCkpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3NldFN0eWxlcyhlbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcHJvcGVyIHN0eWxlcyB0byB0aGUgZWxlbWVudC5cbiAgICogQHBhcmFtIGVsZW1lbnRcbiAgICovXG4gIHByaXZhdGUgX3NldFN0eWxlcyhlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IHBvc2l0aW9ucyA9IHRoaXMuX2dldEVsZW1lbnRQb3NpdGlvbihlbGVtZW50KTtcbiAgICBjb25zdCBuYXRpdmVFbCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBuYXRpdmVFbC5zdHlsZS5sZWZ0ID0gcG9zaXRpb25zLmxlZnQ7XG4gICAgbmF0aXZlRWwuc3R5bGUud2lkdGggPSBwb3NpdGlvbnMud2lkdGg7XG4gIH1cblxuICBwcml2YXRlIF9nZXRFbGVtZW50UG9zaXRpb24oZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGVmdDogZWxlbWVudCA/IChlbGVtZW50Lm9mZnNldExlZnQgfHwgMCkgKyAncHgnIDogJzAnLFxuICAgICAgd2lkdGg6IGVsZW1lbnQgPyAoZWxlbWVudC5vZmZzZXRXaWR0aCB8fCAwKSArICdweCcgOiAnMCcsXG4gICAgfTtcbiAgfVxufVxuIiwiPGRpdiBbbmdDbGFzc109XCJiZW0uYmxvY2sodHlwZSlcIj48L2Rpdj5cbiJdfQ==
@@ -1,367 +0,0 @@
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 "../icon/icon.component";
11
- import * as i3 from "./tab-header-active-indicator.component";
12
- import * as i4 from "@angular/common";
13
- import * as i5 from "@angular/cdk/portal";
14
- import * as i6 from "@angular/cdk/observers";
15
- /**
16
- * The distance in pixels that will be overshot when scrolling a tab label into view. This helps
17
- * provide a small affordance to the label next to it.
18
- */
19
- const EXAGGERATED_OVERSCROLL = 60;
20
- export class TabHeaderComponent {
21
- constructor(_changeDetectorRef, _viewportRuler) {
22
- this._changeDetectorRef = _changeDetectorRef;
23
- this._viewportRuler = _viewportRuler;
24
- this.bem = buildBem('aui-tab-header');
25
- this._showAddon = false;
26
- /** Whether the controls for pagination should be displayed */
27
- this._showPaginationControls = false;
28
- /** Whether the tab list can be scrolled more towards the end of the tab label list. */
29
- this._disableScrollAfter = true;
30
- /** Whether the tab list can be scrolled more towards the beginning of the tab label list. */
31
- this._disableScrollBefore = true;
32
- /** Whether the header should scroll to the selected index after the view has been checked. */
33
- this._selectedIndexChanged = false;
34
- /** The distance in pixels that the tab labels should be translated to the left. */
35
- this._scrollDistance = 0;
36
- this._selectedIndex = 0;
37
- /** Emits when the component is destroyed. */
38
- this._destroyed = new Subject();
39
- this.type = TabType.Line;
40
- this.size = TabSize.Medium;
41
- /** Event emitted when the option is selected. */
42
- this.selectFocusedIndex = new EventEmitter();
43
- /** Event emitted when a label is focused. */
44
- this.indexFocused = new EventEmitter();
45
- }
46
- /** The index of the active tab. */
47
- get selectedIndex() {
48
- return this._selectedIndex;
49
- }
50
- set selectedIndex(value) {
51
- value = coerceNumber(value);
52
- this._selectedIndexChanged = this._selectedIndex !== value;
53
- this._selectedIndex = value;
54
- if (this._keyManager) {
55
- this._keyManager.updateActiveItem(value);
56
- }
57
- }
58
- ngOnDestroy() {
59
- this._destroyed.next();
60
- this._destroyed.complete();
61
- }
62
- ngAfterContentChecked() {
63
- // If the number of tab labels have changed, check if scrolling should be enabled
64
- if (this._tabLabelCount !== this._labelWrappers.length) {
65
- this._updatePagination();
66
- this._tabLabelCount = this._labelWrappers.length;
67
- this._changeDetectorRef.markForCheck();
68
- }
69
- // If the selected index has changed, scroll to the label and check if the scrolling controls
70
- // should be disabled.
71
- if (this._selectedIndexChanged) {
72
- this._scrollToLabel(this._selectedIndex);
73
- this._checkScrollingControls();
74
- this._alignActiveIndicatorToSelectedTab();
75
- this._selectedIndexChanged = false;
76
- this._changeDetectorRef.markForCheck();
77
- }
78
- // If the scroll distance has been changed (tab selected, focused, scroll controls activated),
79
- // then translate the header to reflect this.
80
- if (this._scrollDistanceChanged) {
81
- this._updateTabScrollPosition();
82
- this._scrollDistanceChanged = false;
83
- this._changeDetectorRef.markForCheck();
84
- }
85
- if (this._showAddon !== !!this._headerAddon) {
86
- this._showAddon = !!this._headerAddon;
87
- this._updatePagination();
88
- this._changeDetectorRef.markForCheck();
89
- }
90
- }
91
- /**
92
- * Aligns the ink bar to the selected tab on load.
93
- */
94
- ngAfterContentInit() {
95
- const resize = this._viewportRuler.change(150);
96
- const realign = () => {
97
- this._updatePagination();
98
- this._alignActiveIndicatorToSelectedTab();
99
- requestAnimationFrame(() => {
100
- this._scrollToLabel(this._selectedIndex);
101
- });
102
- };
103
- this._keyManager = new FocusKeyManager(this._labelWrappers)
104
- .withHorizontalOrientation('ltr')
105
- .withWrap();
106
- this._keyManager.updateActiveItem(0);
107
- // Defer the first call in order to allow for slower browsers to lay out the elements.
108
- // This helps in cases where the user lands directly on a page with paginated tabs.
109
- typeof requestAnimationFrame !== 'undefined'
110
- ? requestAnimationFrame(realign)
111
- : realign();
112
- // On window resize, realign the ink bar and update the orientation of
113
- // the key manager if the direction has changed.
114
- resize.pipe(takeUntil(this._destroyed)).subscribe(() => {
115
- realign();
116
- });
117
- // If there is a change in the focus key manager we need to emit the `indexFocused`
118
- // event in order to provide a public event that notifies about focus changes. Also we realign
119
- // the tabs container by scrolling the new focused tab into the visible section.
120
- this._keyManager.change
121
- .pipe(takeUntil(this._destroyed))
122
- .subscribe(newFocusIndex => {
123
- this.indexFocused.emit(newFocusIndex);
124
- this._setTabFocus(newFocusIndex);
125
- });
126
- }
127
- /** Sets the distance in pixels that the tab header should be transformed in the X-axis. */
128
- get scrollDistance() {
129
- return this._scrollDistance;
130
- }
131
- set scrollDistance(v) {
132
- this._scrollDistance = Math.max(0, Math.min(this._getMaxScrollDistance(), v));
133
- // Mark that the scroll distance has changed so that after the view is checked, the CSS
134
- // transformation can move the header.
135
- this._scrollDistanceChanged = true;
136
- this._checkScrollingControls();
137
- }
138
- /** Tracks which element has focus; used for keyboard navigation */
139
- get focusIndex() {
140
- return this._keyManager ? this._keyManager.activeItemIndex : 0;
141
- }
142
- /** When the focus index is set, we must manually send focus to the correct label */
143
- set focusIndex(value) {
144
- if (!this._isValidIndex(value) ||
145
- this.focusIndex === value ||
146
- !this._keyManager) {
147
- return;
148
- }
149
- this._keyManager.setActiveItem(value);
150
- }
151
- /**
152
- * Determines if an index is valid. If the tabs are not ready yet, we assume that the user is
153
- * providing a valid index and return true.
154
- */
155
- _isValidIndex(index) {
156
- if (!this._labelWrappers) {
157
- return true;
158
- }
159
- const tab = this._labelWrappers
160
- ? this._labelWrappers.toArray()[index]
161
- : null;
162
- return !!tab && !tab.disabled;
163
- }
164
- _handleKeydown(event) {
165
- switch (event.key) {
166
- case 'Home':
167
- this._keyManager.setFirstItemActive();
168
- event.preventDefault();
169
- break;
170
- case 'End':
171
- this._keyManager.setLastItemActive();
172
- event.preventDefault();
173
- break;
174
- case 'Enter':
175
- case 'Space':
176
- this.selectFocusedIndex.emit(this.focusIndex);
177
- event.preventDefault();
178
- break;
179
- default:
180
- this._keyManager.onKeydown(event);
181
- }
182
- }
183
- /**
184
- * Sets focus on the HTML element for the label wrapper and scrolls it into the view if
185
- * scrolling is enabled.
186
- */
187
- _setTabFocus(tabIndex) {
188
- if (this._showPaginationControls) {
189
- this._scrollToLabel(tabIndex);
190
- }
191
- if (this._labelWrappers?.length > 0) {
192
- this._labelWrappers.toArray()[tabIndex].focus();
193
- // Do not let the browser manage scrolling to focus the element, this will be handled
194
- // by using translation. In LTR, the scroll left should be 0. In RTL, the scroll width
195
- // should be the full width minus the offset width.
196
- const containerEl = this._tabListContainer.nativeElement;
197
- containerEl.scrollLeft = 0;
198
- }
199
- }
200
- /**
201
- * Moves the tab list such that the desired tab label (marked by index) is moved into view.
202
- *
203
- * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
204
- * should be called sparingly.
205
- */
206
- _scrollToLabel(labelIndex) {
207
- const selectedLabel = this._labelWrappers
208
- ? this._labelWrappers.toArray()[labelIndex]
209
- : null;
210
- if (!selectedLabel) {
211
- return;
212
- }
213
- // The view length is the visible width of the tab labels.
214
- const viewLength = this._tabListContainer.nativeElement.offsetWidth;
215
- const labelBeforePos = selectedLabel.getOffsetLeft();
216
- const labelAfterPos = labelBeforePos + selectedLabel.getOffsetWidth();
217
- const beforeVisiblePos = this.scrollDistance;
218
- const afterVisiblePos = this.scrollDistance + viewLength;
219
- if (labelBeforePos < beforeVisiblePos) {
220
- // Scroll header to move label to the before direction
221
- this.scrollDistance -=
222
- beforeVisiblePos - labelBeforePos + EXAGGERATED_OVERSCROLL;
223
- }
224
- else if (labelAfterPos > afterVisiblePos) {
225
- // Scroll header to move label to the after direction
226
- this.scrollDistance +=
227
- labelAfterPos - afterVisiblePos + EXAGGERATED_OVERSCROLL;
228
- }
229
- }
230
- /**
231
- * Moves the tab list in the 'before' or 'after' direction (towards the beginning of the list or
232
- * the end of the list, respectively). The distance to scroll is computed to be a third of the
233
- * length of the tab list view window.
234
- *
235
- * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
236
- * should be called sparingly.
237
- */
238
- _scrollHeader(scrollDir) {
239
- const viewLength = this._tabListContainer.nativeElement.offsetWidth;
240
- // Move the scroll distance one-third the length of the tab list's viewport.
241
- this.scrollDistance += ((scrollDir === 'before' ? -1 : 1) * viewLength) / 3;
242
- }
243
- /**
244
- * Callback for when the MutationObserver detects that the content has changed.
245
- */
246
- _onContentChanges() {
247
- this._updatePagination();
248
- this._alignActiveIndicatorToSelectedTab();
249
- this._changeDetectorRef.markForCheck();
250
- }
251
- /**
252
- * Updating the view whether pagination should be enabled or not
253
- */
254
- _updatePagination() {
255
- this._checkPaginationEnabled();
256
- this._checkScrollingControls();
257
- this._updateTabScrollPosition();
258
- }
259
- /**
260
- * Evaluate whether the pagination controls should be displayed. If the scroll width of the
261
- * tab list is wider than the size of the header container, then the pagination controls should
262
- * be shown.
263
- *
264
- * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
265
- * should be called sparingly.
266
- */
267
- _checkPaginationEnabled() {
268
- const isEnabled = this._tabList.nativeElement.scrollWidth >
269
- this._paginationWrapper.nativeElement.offsetWidth + 2; // 2 is the border size
270
- if (!isEnabled) {
271
- this.scrollDistance = 0;
272
- }
273
- const detectChanges = isEnabled !== this._showPaginationControls;
274
- this._showPaginationControls = isEnabled;
275
- if (detectChanges) {
276
- this._changeDetectorRef.markForCheck();
277
- }
278
- }
279
- /**
280
- * Evaluate whether the before and after controls should be enabled or disabled.
281
- * If the header is at the beginning of the list (scroll distance is equal to 0) then disable the
282
- * before button. If the header is at the end of the list (scroll distance is equal to the
283
- * maximum distance we can scroll), then disable the after button.
284
- *
285
- * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
286
- * should be called sparingly.
287
- */
288
- _checkScrollingControls() {
289
- // Check if the pagination arrows should be activated.
290
- this._disableScrollBefore = this.scrollDistance === 0;
291
- this._disableScrollAfter =
292
- this.scrollDistance === this._getMaxScrollDistance();
293
- this._changeDetectorRef.markForCheck();
294
- }
295
- /**
296
- * Determines what is the maximum length in pixels that can be set for the scroll distance. This
297
- * is equal to the difference in width between the tab list container and tab header container.
298
- *
299
- * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
300
- * should be called sparingly.
301
- */
302
- _getMaxScrollDistance() {
303
- const lengthOfTabList = this._tabList.nativeElement.scrollWidth;
304
- const viewLength = this._tabListContainer.nativeElement.offsetWidth;
305
- return lengthOfTabList - viewLength || 0;
306
- }
307
- /** Performs the CSS transformation on the tab list that will cause the list to scroll. */
308
- _updateTabScrollPosition() {
309
- const scrollDistance = this.scrollDistance;
310
- const translateX = -scrollDistance;
311
- // Don't use `translate3d` here because we don't want to create a new layer. A new layer
312
- // seems to cause flickering and overflow in Internet Explorer. For example, the ink bar
313
- // and ripples will exceed the boundaries of the visible tab bar.
314
- // See: https://github.com/angular/material2/issues/10276
315
- this._tabList.nativeElement.style.transform = `translateX(${translateX}px)`;
316
- }
317
- /** Tells the active indicator to align itself to the current label wrapper */
318
- _alignActiveIndicatorToSelectedTab() {
319
- const selectedLabelWrapper = this._labelWrappers?.length > 0
320
- ? this._labelWrappers.toArray()[this.selectedIndex].elementRef
321
- .nativeElement
322
- : null;
323
- this._activeIndicator.alignToElement(selectedLabelWrapper);
324
- }
325
- }
326
- TabHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TabHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ViewportRuler }], target: i0.ɵɵFactoryTarget.Component });
327
- TabHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", 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"], components: [{ type: i2.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { type: i3.TabHeaderActiveIndicatorComponent, selector: "aui-tab-header-active-indicator", inputs: ["type"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { type: i6.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TabHeaderComponent, decorators: [{
329
- type: Component,
330
- 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"] }]
331
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.ViewportRuler }]; }, propDecorators: { type: [{
332
- type: Input
333
- }], size: [{
334
- type: Input
335
- }], selectedIndex: [{
336
- type: Input
337
- }], selectFocusedIndex: [{
338
- type: Output
339
- }], indexFocused: [{
340
- type: Output
341
- }], _headerAddon: [{
342
- type: ContentChild,
343
- args: [TabHeaderAddonDirective, { static: false }]
344
- }], _title: [{
345
- type: ContentChild,
346
- args: [TabTitleDirective, { static: false }]
347
- }],
348
- /**
349
- * workaround for @link https://github.com/microsoft/TypeScript/pull/42425
350
- */
351
- _labelWrappers: [{
352
- type: ContentChildren,
353
- args: [TabLabelWrapperDirective]
354
- }], _tabListContainer: [{
355
- type: ViewChild,
356
- args: ['tabListContainer', { static: true }]
357
- }], _tabList: [{
358
- type: ViewChild,
359
- args: ['tabList', { static: true }]
360
- }], _paginationWrapper: [{
361
- type: ViewChild,
362
- args: ['paginationWrapper', { static: true }]
363
- }], _activeIndicator: [{
364
- type: ViewChild,
365
- args: [TabHeaderActiveIndicatorComponent, { static: true }]
366
- }] } });
367
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFicy90YWItaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy90YWJzL3RhYi1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE9BQU8sRUFHTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQU8sUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixpQkFBaUIsR0FDbEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7QUFRaEQ7OztHQUdHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7QUFVbEMsTUFBTSxPQUFPLGtCQUFrQjtJQXlZN0IsWUFDbUIsa0JBQXFDLEVBQ3JDLGNBQTZCO1FBRDdCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUF4WWhELFFBQUcsR0FBUSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUV0QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLDhEQUE4RDtRQUM5RCw0QkFBdUIsR0FBRyxLQUFLLENB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QWlDLDhEQzdJOUMsaXdEQXFEQTsyRkRGYSxrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGlCQUdYLGlCQUFpQixDQUFDLElBQUksdUJBQ2hCLEtBQUssbUJBQ1QsdUJBQXVCLENBQUMsTUFBTTtvSUEwQy9DLElBQUk7c0JBREgsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBS0YsYUFBYTtzQkFEaEIsS0FBSztnQkFpQkcsa0JBQWtCO3NCQUQxQixNQUFNO2dCQUtFLFlBQVk7c0JBRHBCLE1BQU07Z0JBSVAsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJeEQsTUFBTTtzQkFETCxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7UUFJbEQ7O1dBRUc7UUFDSCxjQUFjO3NCQUpiLGVBQWU7dUJBQUMsd0JBQXdCO2dCQU96QyxpQkFBaUI7c0JBRGhCLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkvQyxRQUFRO3NCQURQLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJdEMsa0JBQWtCO3NCQURqQixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJaEQsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsaUNBQWlDLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgVmlld3BvcnRSdWxlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCZW0sIGJ1aWxkQmVtLCBjb2VyY2VOdW1iZXIgfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7XG4gIFRhYkhlYWRlckFkZG9uRGlyZWN0aXZlLFxuICBUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmUsXG4gIFRhYlRpdGxlRGlyZWN0aXZlLFxufSBmcm9tICcuL3RhYi1ib2R5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJIZWFkZXJBY3RpdmVJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3RhYi1oZWFkZXItYWN0aXZlLWluZGljYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiU2l6ZSwgVGFiVHlwZSB9IGZyb20gJy4vdGFicy50eXBlcyc7XG5cbi8qKlxuICogVGhlIGRpcmVjdGlvbnMgdGhhdCBzY3JvbGxpbmcgY2FuIGdvIGluIHdoZW4gdGhlIGhlYWRlcidzIHRhYnMgZXhjZWVkIHRoZSBoZWFkZXIgd2lkdGguICdBZnRlcidcbiAqIHdpbGwgc2Nyb2xsIHRoZSBoZWFkZXIgdG93YXJkcyB0aGUgZW5kIG9mIHRoZSB0YWJzIGxpc3QgYW5kICdiZWZvcmUnIHdpbGwgc2Nyb2xsIHRvd2FyZHMgdGhlXG4gKiBiZWdpbm5pbmcgb2YgdGhlIGxpc3QuXG4gKi9cbmV4cG9ydCB0eXBlIFNjcm9sbERpcmVjdGlvbiA9ICdhZnRlcicgfCAnYmVmb3JlJztcbi8qKlxuICogVGhlIGRpc3RhbmNlIGluIHBpeGVscyB0aGF0IHdpbGwgYmUgb3ZlcnNob3Qgd2hlbiBzY3JvbGxpbmcgYSB0YWIgbGFiZWwgaW50byB2aWV3LiBUaGlzIGhlbHBzXG4gKiBwcm92aWRlIGEgc21hbGwgYWZmb3JkYW5jZSB0byB0aGUgbGFiZWwgbmV4dCB0byBpdC5cbiAqL1xuY29uc3QgRVhBR0dFUkFURURfT1ZFUlNDUk9MTCA9IDYwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdGFiLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRhYkhlYWRlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJDb250ZW50SW5pdFxue1xuICBiZW06IEJlbSA9IGJ1aWxkQmVtKCdhdWktdGFiLWhlYWRlcicpO1xuXG4gIF9zaG93QWRkb24gPSBmYWxzZTtcblxuICAvKiogV2hldGhlciB0aGUgY29udHJvbHMgZm9yIHBhZ2luYXRpb24gc2hvdWxkIGJlIGRpc3BsYXllZCAqL1xuICBfc2hvd1BhZ2luYXRpb25Db250cm9scyA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0YWIgbGlzdCBjYW4gYmUgc2Nyb2xsZWQgbW9yZSB0b3dhcmRzIHRoZSBlbmQgb2YgdGhlIHRhYiBsYWJlbCBsaXN0LiAqL1xuICBfZGlzYWJsZVNjcm9sbEFmdGVyID0gdHJ1ZTtcblxuICAvKiogV2hldGhlciB0aGUgdGFiIGxpc3QgY2FuIGJlIHNjcm9sbGVkIG1vcmUgdG93YXJkcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSB0YWIgbGFiZWwgbGlzdC4gKi9cbiAgX2Rpc2FibGVTY3JvbGxCZWZvcmUgPSB0cnVlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBzY3JvbGwgZGlzdGFuY2UgaGFzIGNoYW5nZWQgYW5kIHNob3VsZCBiZSBhcHBsaWVkIGFmdGVyIHRoZSB2aWV3IGlzIGNoZWNrZWQuICovXG4gIHByaXZhdGUgX3Njcm9sbERpc3RhbmNlQ2hhbmdlZDogYm9vbGVhbjtcblxuICAvKiogV2hldGhlciB0aGUgaGVhZGVyIHNob3VsZCBzY3JvbGwgdG8gdGhlIHNlbGVjdGVkIGluZGV4IGFmdGVyIHRoZSB2aWV3IGhhcyBiZWVuIGNoZWNrZWQuICovXG4gIHByaXZhdGUgX3NlbGVjdGVkSW5kZXhDaGFuZ2VkID0gZmFsc2U7XG5cbiAgLyoqIFRoZSBkaXN0YW5jZSBpbiBwaXhlbHMgdGhhdCB0aGUgdGFiIGxhYmVscyBzaG91bGQgYmUgdHJhbnNsYXRlZCB0byB0aGUgbGVmdC4gKi9cbiAgcHJpdmF0ZSBfc2Nyb2xsRGlzdGFuY2UgPSAwO1xuXG4gIHByaXZhdGUgX3NlbGVjdGVkSW5kZXggPSAwO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgaXMgZGVzdHJveWVkLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKiBVc2VkIHRvIG1hbmFnZSBmb2N1cyBiZXR3ZWVuIHRoZSB0YWJzLiAqL1xuICBwcml2YXRlIF9rZXlNYW5hZ2VyOiBGb2N1c0tleU1hbmFnZXI8VGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlPjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiB0YWIgbGFiZWxzIHRoYXQgYXJlIGRpc3BsYXllZCBvbiB0aGUgaGVhZGVyLiBXaGVuIHRoaXMgY2hhbmdlcywgdGhlIGhlYWRlclxuICAgKiBzaG91bGQgcmUtZXZhbHVhdGUgdGhlIHNjcm9sbCBwb3NpdGlvbi5cbiAgICovXG4gIHByaXZhdGUgX3RhYkxhYmVsQ291bnQ6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICB0eXBlOiBUYWJUeXBlID0gVGFiVHlwZS5MaW5lO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IFRhYlNpemUgPSBUYWJTaXplLk1lZGl1bTtcblxuICAvKiogVGhlIGluZGV4IG9mIHRoZSBhY3RpdmUgdGFiLiAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0ZWRJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICB9XG5cbiAgc2V0IHNlbGVjdGVkSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHZhbHVlID0gY29lcmNlTnVtYmVyKHZhbHVlKTtcbiAgICB0aGlzLl9zZWxlY3RlZEluZGV4Q2hhbmdlZCA9IHRoaXMuX3NlbGVjdGVkSW5kZXggIT09IHZhbHVlO1xuICAgIHRoaXMuX3NlbGVjdGVkSW5kZXggPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLl9rZXlNYW5hZ2VyKSB7XG4gICAgICB0aGlzLl9rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0odmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIG9wdGlvbiBpcyBzZWxlY3RlZC4gKi9cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHNlbGVjdEZvY3VzZWRJbmRleCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gYSBsYWJlbCBpcyBmb2N1c2VkLiAqL1xuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgaW5kZXhGb2N1c2VkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChUYWJIZWFkZXJBZGRvbkRpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIF9oZWFkZXJBZGRvbjogVGFiSGVhZGVyQWRkb25EaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChUYWJUaXRsZURpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIF90aXRsZTogVGFiVGl0bGVEaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmUpXG4gIC8qKlxuICAgKiB3b3JrYXJvdW5kIGZvciBAbGluayBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvcHVsbC80MjQyNVxuICAgKi9cbiAgX2xhYmVsV3JhcHBlcnM6IFF1ZXJ5TGlzdDxUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmUgJiB7IGRpc2FibGVkPzogYm9vbGVhbiB9PjtcblxuICBAVmlld0NoaWxkKCd0YWJMaXN0Q29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgX3RhYkxpc3RDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3RhYkxpc3QnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfdGFiTGlzdDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgncGFnaW5hdGlvbldyYXBwZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfcGFnaW5hdGlvbldyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoVGFiSGVhZGVyQWN0aXZlSW5kaWNhdG9yQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfYWN0aXZlSW5kaWNhdG9yOiBUYWJIZWFkZXJBY3RpdmVJbmRpY2F0b3JDb21wb25lbnQ7XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAvLyBJZiB0aGUgbnVtYmVyIG9mIHRhYiBsYWJlbHMgaGF2ZSBjaGFuZ2VkLCBjaGVjayBpZiBzY3JvbGxpbmcgc2hvdWxkIGJlIGVuYWJsZWRcbiAgICBpZiAodGhpcy5fdGFiTGFiZWxDb3VudCAhPT0gdGhpcy5fbGFiZWxXcmFwcGVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVBhZ2luYXRpb24oKTtcbiAgICAgIHRoaXMuX3RhYkxhYmVsQ291bnQgPSB0aGlzLl9sYWJlbFdyYXBwZXJzLmxlbmd0aDtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSBzZWxlY3RlZCBpbmRleCBoYXMgY2hhbmdlZCwgc2Nyb2xsIHRvIHRoZSBsYWJlbCBhbmQgY2hlY2sgaWYgdGhlIHNjcm9sbGluZyBjb250cm9sc1xuICAgIC8vIHNob3VsZCBiZSBkaXNhYmxlZC5cbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRJbmRleENoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3Njcm9sbFRvTGFiZWwodGhpcy5fc2VsZWN0ZWRJbmRleCk7XG4gICAgICB0aGlzLl9jaGVja1Njcm9sbGluZ0NvbnRyb2xzKCk7XG4gICAgICB0aGlzLl9hbGlnbkFjdGl2ZUluZGljYXRvclRvU2VsZWN0ZWRUYWIoKTtcbiAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXhDaGFuZ2VkID0gZmFsc2U7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgc2Nyb2xsIGRpc3RhbmNlIGhhcyBiZWVuIGNoYW5nZWQgKHRhYiBzZWxlY3RlZCwgZm9jdXNlZCwgc2Nyb2xsIGNvbnRyb2xzIGFjdGl2YXRlZCksXG4gICAgLy8gdGhlbiB0cmFuc2xhdGUgdGhlIGhlYWRlciB0byByZWZsZWN0IHRoaXMuXG4gICAgaWYgKHRoaXMuX3Njcm9sbERpc3RhbmNlQ2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlVGFiU2Nyb2xsUG9zaXRpb24oKTtcbiAgICAgIHRoaXMuX3Njcm9sbERpc3RhbmNlQ2hhbmdlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3Nob3dBZGRvbiAhPT0gISF0aGlzLl9oZWFkZXJBZGRvbikge1xuICAgICAgdGhpcy5fc2hvd0FkZG9uID0gISF0aGlzLl9oZWFkZXJBZGRvbjtcbiAgICAgIHRoaXMuX3VwZGF0ZVBhZ2luYXRpb24oKTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBbGlnbnMgdGhlIGluayBiYXIgdG8gdGhlIHNlbGVjdGVkIHRhYiBvbiBsb2FkLlxuICAgKi9cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGNvbnN0IHJlc2l6ZSA9IHRoaXMuX3ZpZXdwb3J0UnVsZXIuY2hhbmdlKDE1MCk7XG4gICAgY29uc3QgcmVhbGlnbiA9ICgpID0+IHtcbiAgICAgIHRoaXMuX3VwZGF0ZVBhZ2luYXRpb24oKTtcbiAgICAgIHRoaXMuX2FsaWduQWN0aXZlSW5kaWNhdG9yVG9TZWxlY3RlZFRhYigpO1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy5fc2Nyb2xsVG9MYWJlbCh0aGlzLl9zZWxlY3RlZEluZGV4KTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICB0aGlzLl9rZXlNYW5hZ2VyID0gbmV3IEZvY3VzS2V5TWFuYWdlcih0aGlzLl9sYWJlbFdyYXBwZXJzKVxuICAgICAgLndpdGhIb3Jpem9udGFsT3JpZW50YXRpb24oJ2x0cicpXG4gICAgICAud2l0aFdyYXAoKTtcbiAgICB0aGlzLl9rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oMCk7XG5cbiAgICAvLyBEZWZlciB0aGUgZmlyc3QgY2FsbCBpbiBvcmRlciB0byBhbGxvdyBmb3Igc2xvd2VyIGJyb3dzZXJzIHRvIGxheSBvdXQgdGhlIGVsZW1lbnRzLlxuICAgIC8vIFRoaXMgaGVscHMgaW4gY2FzZXMgd2hlcmUgdGhlIHVzZXIgbGFuZHMgZGlyZWN0bHkgb24gYSBwYWdlIHdpdGggcGFnaW5hdGVkIHRhYnMuXG4gICAgdHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZSAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgID8gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlYWxpZ24pXG4gICAgICA6IHJlYWxpZ24oKTtcblxuICAgIC8vIE9uIHdpbmRvdyByZXNpemUsIHJlYWxpZ24gdGhlIGluayBiYXIgYW5kIHVwZGF0ZSB0aGUgb3JpZW50YXRpb24gb2ZcbiAgICAvLyB0aGUga2V5IG1hbmFnZXIgaWYgdGhlIGRpcmVjdGlvbiBoYXMgY2hhbmdlZC5cbiAgICByZXNpemUucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHJlYWxpZ24oKTtcbiAgICB9KTtcblxuICAgIC8vIElmIHRoZXJlIGlzIGEgY2hhbmdlIGluIHRoZSBmb2N1cyBrZXkgbWFuYWdlciB3ZSBuZWVkIHRvIGVtaXQgdGhlIGBpbmRleEZvY3VzZWRgXG4gICAgLy8gZXZlbnQgaW4gb3JkZXIgdG8gcHJvdmlkZSBhIHB1YmxpYyBldmVudCB0aGF0IG5vdGlmaWVzIGFib3V0IGZvY3VzIGNoYW5nZXMuIEFsc28gd2UgcmVhbGlnblxuICAgIC8vIHRoZSB0YWJzIGNvbnRhaW5lciBieSBzY3JvbGxpbmcgdGhlIG5ldyBmb2N1c2VkIHRhYiBpbnRvIHRoZSB2aXNpYmxlIHNlY3Rpb24uXG4gICAgdGhpcy5fa2V5TWFuYWdlci5jaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKVxuICAgICAgLnN1YnNjcmliZShuZXdGb2N1c0luZGV4ID0+IHtcbiAgICAgICAgdGhpcy5pbmRleEZvY3VzZWQuZW1pdChuZXdGb2N1c0luZGV4KTtcbiAgICAgICAgdGhpcy5fc2V0VGFiRm9jdXMobmV3Rm9jdXNJbmRleCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKiBTZXRzIHRoZSBkaXN0YW5jZSBpbiBwaXhlbHMgdGhhdCB0aGUgdGFiIGhlYWRlciBzaG91bGQgYmUgdHJhbnNmb3JtZWQgaW4gdGhlIFgtYXhpcy4gKi9cbiAgZ2V0IHNjcm9sbERpc3RhbmNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbERpc3RhbmNlO1xuICB9XG5cbiAgc2V0IHNjcm9sbERpc3RhbmNlKHY6IG51bWJlcikge1xuICAgIHRoaXMuX3Njcm9sbERpc3RhbmNlID0gTWF0aC5tYXgoXG4gICAgICAwLFxuICAgICAgTWF0aC5taW4odGhpcy5fZ2V0TWF4U2Nyb2xsRGlzdGFuY2UoKSwgdiksXG4gICAgKTtcbiAgICAvLyBNYXJrIHRoYXQgdGhlIHNjcm9sbCBkaXN0YW5jZSBoYXMgY2hhbmdlZCBzbyB0aGF0IGFmdGVyIHRoZSB2aWV3IGlzIGNoZWNrZWQsIHRoZSBDU1NcbiAgICAvLyB0cmFuc2Zvcm1hdGlvbiBjYW4gbW92ZSB0aGUgaGVhZGVyLlxuICAgIHRoaXMuX3Njcm9sbERpc3RhbmNlQ2hhbmdlZCA9IHRydWU7XG4gICAgdGhpcy5fY2hlY2tTY3JvbGxpbmdDb250cm9scygpO1xuICB9XG5cbiAgLyoqIFRyYWNrcyB3aGljaCBlbGVtZW50IGhhcyBmb2N1czsgdXNlZCBmb3Iga2V5Ym9hcmQgbmF2aWdhdGlvbiAqL1xuICBnZXQgZm9jdXNJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9rZXlNYW5hZ2VyID8gdGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggOiAwO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGZvY3VzIGluZGV4IGlzIHNldCwgd2UgbXVzdCBtYW51YWxseSBzZW5kIGZvY3VzIHRvIHRoZSBjb3JyZWN0IGxhYmVsICovXG4gIHNldCBmb2N1c0luZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5faXNWYWxpZEluZGV4KHZhbHVlKSB8fFxuICAgICAgdGhpcy5mb2N1c0luZGV4ID09PSB2YWx1ZSB8fFxuICAgICAgIXRoaXMuX2tleU1hbmFnZXJcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fa2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIGFuIGluZGV4IGlzIHZhbGlkLiAgSWYgdGhlIHRhYnMgYXJlIG5vdCByZWFkeSB5ZXQsIHdlIGFzc3VtZSB0aGF0IHRoZSB1c2VyIGlzXG4gICAqIHByb3ZpZGluZyBhIHZhbGlkIGluZGV4IGFuZCByZXR1cm4gdHJ1ZS5cbiAgICovXG4gIF9pc1ZhbGlkSW5kZXgoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5fbGFiZWxXcmFwcGVycykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IHRhYiA9IHRoaXMuX2xhYmVsV3JhcHBlcnNcbiAgICAgID8gdGhpcy5fbGFiZWxXcmFwcGVycy50b0FycmF5KClbaW5kZXhdXG4gICAgICA6IG51bGw7XG4gICAgcmV0dXJuICEhdGFiICYmICF0YWIuZGlzYWJsZWQ7XG4gIH1cblxuICBfaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlci5zZXRGaXJzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFbmQnOlxuICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldExhc3RJdGVtQWN0aXZlKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgY2FzZSAnU3BhY2UnOlxuICAgICAgICB0aGlzLnNlbGVjdEZvY3VzZWRJbmRleC5lbWl0KHRoaXMuZm9jdXNJbmRleCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGZvY3VzIG9uIHRoZSBIVE1MIGVsZW1lbnQgZm9yIHRoZSBsYWJlbCB3cmFwcGVyIGFuZCBzY3JvbGxzIGl0IGludG8gdGhlIHZpZXcgaWZcbiAgICogc2Nyb2xsaW5nIGlzIGVuYWJsZWQuXG4gICAqL1xuICBfc2V0VGFiRm9jdXModGFiSW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLl9zaG93UGFnaW5hdGlvbkNvbnRyb2xzKSB7XG4gICAgICB0aGlzLl9zY3JvbGxUb0xhYmVsKHRhYkluZGV4KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2xhYmVsV3JhcHBlcnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX2xhYmVsV3JhcHBlcnMudG9BcnJheSgpW3RhYkluZGV4XS5mb2N1cygpO1xuICAgICAgLy8gRG8gbm90IGxldCB0aGUgYnJvd3NlciBtYW5hZ2Ugc2Nyb2xsaW5nIHRvIGZvY3VzIHRoZSBlbGVtZW50LCB0aGlzIHdpbGwgYmUgaGFuZGxlZFxuICAgICAgLy8gYnkgdXNpbmcgdHJhbnNsYXRpb24uIEluIExUUiwgdGhlIHNjcm9sbCBsZWZ0IHNob3VsZCBiZSAwLiBJbiBSVEwsIHRoZSBzY3JvbGwgd2lkdGhcbiAgICAgIC8vIHNob3VsZCBiZSB0aGUgZnVsbCB3aWR0aCBtaW51cyB0aGUgb2Zmc2V0IHdpZHRoLlxuICAgICAgY29uc3QgY29udGFpbmVyRWwgPSB0aGlzLl90YWJMaXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb250YWluZXJFbC5zY3JvbGxMZWZ0ID0gMDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgdGhlIHRhYiBsaXN0IHN1Y2ggdGhhdCB0aGUgZGVzaXJlZCB0YWIgbGFiZWwgKG1hcmtlZCBieSBpbmRleCkgaXMgbW92ZWQgaW50byB2aWV3LlxuICAgKlxuICAgKiBUaGlzIGlzIGFuIGV4cGVuc2l2ZSBjYWxsIHRoYXQgZm9yY2VzIGEgbGF5b3V0IHJlZmxvdyB0byBjb21wdXRlIGJveCBhbmQgc2Nyb2xsIG1ldHJpY3MgYW5kXG4gICAqIHNob3VsZCBiZSBjYWxsZWQgc3BhcmluZ2x5LlxuICAgKi9cbiAgX3Njcm9sbFRvTGFiZWwobGFiZWxJbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRMYWJlbCA9IHRoaXMuX2xhYmVsV3JhcHBlcnNcbiAgICAgID8gdGhpcy5fbGFiZWxXcmFwcGVycy50b0FycmF5KClbbGFiZWxJbmRleF1cbiAgICAgIDogbnVsbDtcbiAgICBpZiAoIXNlbGVjdGVkTGFiZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gVGhlIHZpZXcgbGVuZ3RoIGlzIHRoZSB2aXNpYmxlIHdpZHRoIG9mIHRoZSB0YWIgbGFiZWxzLlxuICAgIGNvbnN0IHZpZXdMZW5ndGggPSB0aGlzLl90YWJMaXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgY29uc3QgbGFiZWxCZWZvcmVQb3MgPSBzZWxlY3RlZExhYmVsLmdldE9mZnNldExlZnQoKTtcbiAgICBjb25zdCBsYWJlbEFmdGVyUG9zID0gbGFiZWxCZWZvcmVQb3MgKyBzZWxlY3RlZExhYmVsLmdldE9mZnNldFdpZHRoKCk7XG4gICAgY29uc3QgYmVmb3JlVmlzaWJsZVBvcyA9IHRoaXMuc2Nyb2xsRGlzdGFuY2U7XG4gICAgY29uc3QgYWZ0ZXJWaXNpYmxlUG9zID0gdGhpcy5zY3JvbGxEaXN0YW5jZSArIHZpZXdMZW5ndGg7XG4gICAgaWYgKGxhYmVsQmVmb3JlUG9zIDwgYmVmb3JlVmlzaWJsZVBvcykge1xuICAgICAgLy8gU2Nyb2xsIGhlYWRlciB0byBtb3ZlIGxhYmVsIHRvIHRoZSBiZWZvcmUgZGlyZWN0aW9uXG4gICAgICB0aGlzLnNjcm9sbERpc3RhbmNlIC09XG4gICAgICAgIGJlZm9yZVZpc2libGVQb3MgLSBsYWJlbEJlZm9yZVBvcyArIEVYQUdHRVJBVEVEX09WRVJTQ1JPTEw7XG4gICAgfSBlbHNlIGlmIChsYWJlbEFmdGVyUG9zID4gYWZ0ZXJWaXNpYmxlUG9zKSB7XG4gICAgICAvLyBTY3JvbGwgaGVhZGVyIHRvIG1vdmUgbGFiZWwgdG8gdGhlIGFmdGVyIGRpcmVjdGlvblxuICAgICAgdGhpcy5zY3JvbGxEaXN0YW5jZSArPVxuICAgICAgICBsYWJlbEFmdGVyUG9zIC0gYWZ0ZXJWaXNpYmxlUG9zICsgRVhBR0dFUkFURURfT1ZFUlNDUk9MTDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgdGhlIHRhYiBsaXN0IGluIHRoZSAnYmVmb3JlJyBvciAnYWZ0ZXInIGRpcmVjdGlvbiAodG93YXJkcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaXN0IG9yXG4gICAqIHRoZSBlbmQgb2YgdGhlIGxpc3QsIHJlc3BlY3RpdmVseSkuIFRoZSBkaXN0YW5jZSB0byBzY3JvbGwgaXMgY29tcHV0ZWQgdG8gYmUgYSB0aGlyZCBvZiB0aGVcbiAgICogbGVuZ3RoIG9mIHRoZSB0YWIgbGlzdCB2aWV3IHdpbmRvdy5cbiAgICpcbiAgICogVGhpcyBpcyBhbiBleHBlbnNpdmUgY2FsbCB0aGF0IGZvcmNlcyBhIGxheW91dCByZWZsb3cgdG8gY29tcHV0ZSBib3ggYW5kIHNjcm9sbCBtZXRyaWNzIGFuZFxuICAgKiBzaG91bGQgYmUgY2FsbGVkIHNwYXJpbmdseS5cbiAgICovXG4gIF9zY3JvbGxIZWFkZXIoc2Nyb2xsRGlyOiBTY3JvbGxEaXJlY3Rpb24pIHtcbiAgICBjb25zdCB2aWV3TGVuZ3RoID0gdGhpcy5fdGFiTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIC8vIE1vdmUgdGhlIHNjcm9sbCBkaXN0YW5jZSBvbmUtdGhpcmQgdGhlIGxlbmd0aCBvZiB0aGUgdGFiIGxpc3QncyB2aWV3cG9ydC5cbiAgICB0aGlzLnNjcm9sbERpc3RhbmNlICs9ICgoc2Nyb2xsRGlyID09PSAnYmVmb3JlJyA/IC0xIDogMSkgKiB2aWV3TGVuZ3RoKSAvIDM7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGJhY2sgZm9yIHdoZW4gdGhlIE11dGF0aW9uT2JzZXJ2ZXIgZGV0ZWN0cyB0aGF0IHRoZSBjb250ZW50IGhhcyBjaGFuZ2VkLlxuICAgKi9cbiAgX29uQ29udGVudENoYW5nZXMoKSB7XG4gICAgdGhpcy5fdXBkYXRlUGFnaW5hdGlvbigpO1xuICAgIHRoaXMuX2FsaWduQWN0aXZlSW5kaWNhdG9yVG9TZWxlY3RlZFRhYigpO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0aW5nIHRoZSB2aWV3IHdoZXRoZXIgcGFnaW5hdGlvbiBzaG91bGQgYmUgZW5hYmxlZCBvciBub3RcbiAgICovXG4gIF91cGRhdGVQYWdpbmF0aW9uKCkge1xuICAgIHRoaXMuX2NoZWNrUGFnaW5hdGlvbkVuYWJsZWQoKTtcbiAgICB0aGlzLl9jaGVja1Njcm9sbGluZ0NvbnRyb2xzKCk7XG4gICAgdGhpcy5fdXBkYXRlVGFiU2Nyb2xsUG9zaXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZSB3aGV0aGVyIHRoZSBwYWdpbmF0aW9uIGNvbnRyb2xzIHNob3VsZCBiZSBkaXNwbGF5ZWQuIElmIHRoZSBzY3JvbGwgd2lkdGggb2YgdGhlXG4gICAqIHRhYiBsaXN0IGlzIHdpZGVyIHRoYW4gdGhlIHNpemUgb2YgdGhlIGhlYWRlciBjb250YWluZXIsIHRoZW4gdGhlIHBhZ2luYXRpb24gY29udHJvbHMgc2hvdWxkXG4gICAqIGJlIHNob3duLlxuICAgKlxuICAgKiBUaGlzIGlzIGFuIGV4cGVuc2l2ZSBjYWxsIHRoYXQgZm9yY2VzIGEgbGF5b3V0IHJlZmxvdyB0byBjb21wdXRlIGJveCBhbmQgc2Nyb2xsIG1ldHJpY3MgYW5kXG4gICAqIHNob3VsZCBiZSBjYWxsZWQgc3BhcmluZ2x5LlxuICAgKi9cbiAgX2NoZWNrUGFnaW5hdGlvbkVuYWJsZWQoKSB7XG4gICAgY29uc3QgaXNFbmFibGVkID1cbiAgICAgIHRoaXMuX3RhYkxpc3QubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aCA+XG4gICAgICB0aGlzLl9wYWdpbmF0aW9uV3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICsgMjsgLy8gMiBpcyB0aGUgYm9yZGVyIHNpemVcbiAgICBpZiAoIWlzRW5hYmxlZCkge1xuICAgICAgdGhpcy5zY3JvbGxEaXN0YW5jZSA9IDA7XG4gICAgfVxuICAgIGNvbnN0IGRldGVjdENoYW5nZXMgPSBpc0VuYWJsZWQgIT09IHRoaXMuX3Nob3dQYWdpbmF0aW9uQ29udHJvbHM7XG4gICAgdGhpcy5fc2hvd1BhZ2luYXRpb25Db250cm9scyA9IGlzRW5hYmxlZDtcblxuICAgIGlmIChkZXRlY3RDaGFuZ2VzKSB7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXZhbHVhdGUgd2hldGhlciB0aGUgYmVmb3JlIGFuZCBhZnRlciBjb250cm9scyBzaG91bGQgYmUgZW5hYmxlZCBvciBkaXNhYmxlZC5cbiAgICogSWYgdGhlIGhlYWRlciBpcyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaXN0IChzY3JvbGwgZGlzdGFuY2UgaXMgZXF1YWwgdG8gMCkgdGhlbiBkaXNhYmxlIHRoZVxuICAgKiBiZWZvcmUgYnV0dG9uLiBJZiB0aGUgaGVhZGVyIGlzIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKHNjcm9sbCBkaXN0YW5jZSBpcyBlcXVhbCB0byB0aGVcbiAgICogbWF4aW11bSBkaXN0YW5jZSB3ZSBjYW4gc2Nyb2xsKSwgdGhlbiBkaXNhYmxlIHRoZSBhZnRlciBidXR0b24uXG4gICAqXG4gICAqIFRoaXMgaXMgYW4gZXhwZW5zaXZlIGNhbGwgdGhhdCBmb3JjZXMgYSBsYXlvdXQgcmVmbG93IHRvIGNvbXB1dGUgYm94IGFuZCBzY3JvbGwgbWV0cmljcyBhbmRcbiAgICogc2hvdWxkIGJlIGNhbGxlZCBzcGFyaW5nbHkuXG4gICAqL1xuICBfY2hlY2tTY3JvbGxpbmdDb250cm9scygpIHtcbiAgICAvLyBDaGVjayBpZiB0aGUgcGFnaW5hdGlvbiBhcnJvd3Mgc2hvdWxkIGJlIGFjdGl2YXRlZC5cbiAgICB0aGlzLl9kaXNhYmxlU2Nyb2xsQmVmb3JlID0gdGhpcy5zY3JvbGxEaXN0YW5jZSA9PT0gMDtcbiAgICB0aGlzLl9kaXNhYmxlU2Nyb2xsQWZ0ZXIgPVxuICAgICAgdGhpcy5zY3JvbGxEaXN0YW5jZSA9PT0gdGhpcy5fZ2V0TWF4U2Nyb2xsRGlzdGFuY2UoKTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoYXQgaXMgdGhlIG1heGltdW0gbGVuZ3RoIGluIHBpeGVscyB0aGF0IGNhbiBiZSBzZXQgZm9yIHRoZSBzY3JvbGwgZGlzdGFuY2UuIFRoaXNcbiAgICogaXMgZXF1YWwgdG8gdGhlIGRpZmZlcmVuY2UgaW4gd2lkdGggYmV0d2VlbiB0aGUgdGFiIGxpc3QgY29udGFpbmVyIGFuZCB0YWIgaGVhZGVyIGNvbnRhaW5lci5cbiAgICpcbiAgICogVGhpcyBpcyBhbiBleHBlbnNpdmUgY2FsbCB0aGF0IGZvcmNlcyBhIGxheW91dCByZWZsb3cgdG8gY29tcHV0ZSBib3ggYW5kIHNjcm9sbCBtZXRyaWNzIGFuZFxuICAgKiBzaG91bGQgYmUgY2FsbGVkIHNwYXJpbmdseS5cbiAgICovXG4gIF9nZXRNYXhTY3JvbGxEaXN0YW5jZSgpOiBudW1iZXIge1xuICAgIGNvbnN0IGxlbmd0aE9mVGFiTGlzdCA9IHRoaXMuX3RhYkxpc3QubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aDtcbiAgICBjb25zdCB2aWV3TGVuZ3RoID0gdGhpcy5fdGFiTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIHJldHVybiBsZW5ndGhPZlRhYkxpc3QgLSB2aWV3TGVuZ3RoIHx8IDA7XG4gIH1cblxuICAvKiogUGVyZm9ybXMgdGhlIENTUyB0cmFuc2Zvcm1hdGlvbiBvbiB0aGUgdGFiIGxpc3QgdGhhdCB3aWxsIGNhdXNlIHRoZSBsaXN0IHRvIHNjcm9sbC4gKi9cbiAgX3VwZGF0ZVRhYlNjcm9sbFBvc2l0aW9uKCkge1xuICAgIGNvbnN0IHNjcm9sbERpc3RhbmNlID0gdGhpcy5zY3JvbGxEaXN0YW5jZTtcbiAgICBjb25zdCB0cmFuc2xhdGVYID0gLXNjcm9sbERpc3RhbmNlO1xuICAgIC8vIERvbid0IHVzZSBgdHJhbnNsYXRlM2RgIGhlcmUgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIGNyZWF0ZSBhIG5ldyBsYXllci4gQSBuZXcgbGF5ZXJcbiAgICAvLyBzZWVtcyB0byBjYXVzZSBmbGlja2VyaW5nIGFuZCBvdmVyZmxvdyBpbiBJbnRlcm5ldCBFeHBsb3Jlci4gRm9yIGV4YW1wbGUsIHRoZSBpbmsgYmFyXG4gICAgLy8gYW5kIHJpcHBsZXMgd2lsbCBleGNlZWQgdGhlIGJvdW5kYXJpZXMgb2YgdGhlIHZpc2libGUgdGFiIGJhci5cbiAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi9pc3N1ZXMvMTAyNzZcbiAgICB0aGlzLl90YWJMaXN0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVgoJHt0cmFuc2xhdGVYfXB4KWA7XG4gIH1cblxuICAvKiogVGVsbHMgdGhlIGFjdGl2ZSBpbmRpY2F0b3IgdG8gYWxpZ24gaXRzZWxmIHRvIHRoZSBjdXJyZW50IGxhYmVsIHdyYXBwZXIgKi9cbiAgX2FsaWduQWN0aXZlSW5kaWNhdG9yVG9TZWxlY3RlZFRhYigpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZExhYmVsV3JhcHBlciA9XG4gICAgICB0aGlzLl9sYWJlbFdyYXBwZXJzPy5sZW5ndGggPiAwXG4gICAgICAgID8gdGhpcy5fbGFiZWxXcmFwcGVycy50b0FycmF5KClbdGhpcy5zZWxlY3RlZEluZGV4XS5lbGVtZW50UmVmXG4gICAgICAgICAgICAubmF0aXZlRWxlbWVudFxuICAgICAgICA6IG51bGw7XG4gICAgdGhpcy5fYWN0aXZlSW5kaWNhdG9yLmFsaWduVG9FbGVtZW50KHNlbGVjdGVkTGFiZWxXcmFwcGVyKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF92aWV3cG9ydFJ1bGVyOiBWaWV3cG9ydFJ1bGVyLFxuICApIHt9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImJlbS5ibG9jayh0eXBlLCBzaXplKVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiX3RpdGxlXCI+XG4gICAgPGRpdiBbbmdDbGFzc109XCJiZW0uZWxlbWVudCgndGl0bGUnKVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiX3RpdGxlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxkaXYgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2hlYWRlci13cmFwcGVyJylcIj5cbiAgICA8ZGl2XG4gICAgICBbbmdDbGFzc109XCJiZW0uZWxlbWVudCgncGFnaW5hdGlvbi13cmFwcGVyJylcIlxuICAgICAgI3BhZ2luYXRpb25XcmFwcGVyXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cIl9zaG93UGFnaW5hdGlvbkNvbnRyb2xzXCJcbiAgICAgICAgKGNsaWNrKT1cIl9zY3JvbGxIZWFkZXIoJ2JlZm9yZScpXCJcbiAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiX2Rpc2FibGVTY3JvbGxCZWZvcmUgPyAnJyA6IG51bGxcIlxuICAgICAgICBbbmdDbGFzc109XCJiZW0uZWxlbWVudCgncGFnaW5hdGlvbi1idXR0b24nKVwiXG4gICAgICA+XG4gICAgICAgIDxhdWktaWNvbiBpY29uPVwiYW5nbGVfbGVmdFwiPjwvYXVpLWljb24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ3RhYi1saXN0LWNvbnRhaW5lcicpXCJcbiAgICAgICAgKGtleWRvd24pPVwiX2hhbmRsZUtleWRvd24oJGV2ZW50KVwiXG4gICAgICAgICN0YWJMaXN0Q29udGFpbmVyXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICByb2xlPVwidGFibGlzdFwiXG4gICAgICAgICAgKGNka09ic2VydmVDb250ZW50KT1cIl9vbkNvbnRlbnRDaGFuZ2VzKClcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cImJlbS5lbGVtZW50KCd0YWItbGlzdCcpXCJcbiAgICAgICAgICAjdGFiTGlzdFxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJiZW0uZWxlbWVudCgnbGFiZWxzJylcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+XG4gICAgICAgICAgPGF1aS10YWItaGVhZGVyLWFjdGl2ZS1pbmRpY2F0b3JcbiAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgID48L2F1aS10YWItaGVhZGVyLWFjdGl2ZS1pbmRpY2F0b3I+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiX3Nob3dQYWdpbmF0aW9uQ29udHJvbHNcIlxuICAgICAgICAoY2xpY2spPVwiX3Njcm9sbEhlYWRlcignYWZ0ZXInKVwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cIl9kaXNhYmxlU2Nyb2xsQWZ0ZXIgPyAnJyA6IG51bGxcIlxuICAgICAgICBbbmdDbGFzc109XCJiZW0uZWxlbWVudCgncGFnaW5hdGlvbi1idXR0b24nKVwiXG4gICAgICA+XG4gICAgICAgIDxhdWktaWNvbiBpY29uPVwiYW5nbGVfcmlnaHRcIj48L2F1aS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBJZiB0aGVyZSBpcyBhZGRvbiB0ZW1wbGF0ZSwgdXNlIGl0LiAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX3Nob3dBZGRvblwiPlxuICAgICAgPGRpdiBbbmdDbGFzc109XCJiZW0uZWxlbWVudCgnYWRkb24nKVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJfaGVhZGVyQWRkb25cIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,85 +0,0 @@
1
- /* eslint-disable no-prototype-builtins */
2
- import { TemplatePortal } from '@angular/cdk/portal';
3
- import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
4
- import { Subject } from 'rxjs';
5
- import { coerceAttrBoolean } from '../utils';
6
- import { TabContentDirective, TabLabelDirective } from './tab-body.component';
7
- import { TabContextService } from './tab-context.service';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "./tab-context.service";
10
- export class TabComponent {
11
- constructor(_viewContainerRef, tabContext) {
12
- this._viewContainerRef = _viewContainerRef;
13
- this.tabContext = tabContext;
14
- /** Plain text label for the tab, used when there is no template label. */
15
- this.textLabel = '';
16
- /** Whether or not to show the close button in the header */
17
- this.closeable = false;
18
- this.close = new EventEmitter();
19
- /**
20
- * The relatively indexed position where 0 represents the center, negative is left, and positive
21
- * represents the right.
22
- */
23
- this.position = null;
24
- /**
25
- * The initial relatively index origin of the tab if it was created and selected after there
26
- * was already a selected tab. Provides context of what position the tab should originate from.
27
- */
28
- this.origin = null;
29
- /** Emits whenever the internal state of the tab changes. */
30
- this._stateChanges = new Subject();
31
- /** Portal that will be the hosted content of the tab */
32
- this._contentPortal = null;
33
- this._disabled = false;
34
- }
35
- /** Whether or not the tab is disabled */
36
- get disabled() {
37
- return this._disabled;
38
- }
39
- set disabled(value) {
40
- this._disabled = coerceAttrBoolean(value);
41
- }
42
- get content() {
43
- return this._contentPortal;
44
- }
45
- ngAfterContentInit() {
46
- this._contentPortal = new TemplatePortal(this._explicitContent || this._implicitContent, this._viewContainerRef);
47
- }
48
- ngOnDestroy() {
49
- this._stateChanges.complete();
50
- }
51
- ngOnChanges(changes) {
52
- if (changes.hasOwnProperty('textLabel') ||
53
- changes.hasOwnProperty('disabled') ||
54
- changes.hasOwnProperty('closeable')) {
55
- this._stateChanges.next();
56
- }
57
- }
58
- }
59
- TabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TabComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.TabContextService }], target: i0.ɵɵFactoryTarget.Component });
60
- TabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", 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 });
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TabComponent, decorators: [{
62
- type: Component,
63
- 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" }]
64
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i1.TabContextService }]; }, propDecorators: { name: [{
65
- type: Input
66
- }], textLabel: [{
67
- type: Input,
68
- args: ['label']
69
- }], closeable: [{
70
- type: Input
71
- }], disabled: [{
72
- type: Input
73
- }], close: [{
74
- type: Output
75
- }], templateLabel: [{
76
- type: ContentChild,
77
- args: [TabLabelDirective, { static: false }]
78
- }], _explicitContent: [{
79
- type: ContentChild,
80
- args: [TabContentDirective, { read: TemplateRef, static: false }]
81
- }], _implicitContent: [{
82
- type: ViewChild,
83
- args: [TemplateRef, { static: true }]
84
- }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJzL3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvdGFicy90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsRUFFVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQVcxRCxNQUFNLE9BQU8sWUFBWTtJQStEdkIsWUFDbUIsaUJBQW1DLEVBQ3BDLFVBQTZCO1FBRDVCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDcEMsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUE3RC9DLDBFQUEwRTtRQUUxRSxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWYsNERBQTREO1FBRTVELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFhbEIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFvQmpDOzs7V0FHRztRQUNILGFBQVEsR0FBa0IsSUFBSSxDQUFDO1FBRS9COzs7V0FHRztRQUNILFdBQU0sR0FBa0IsSUFBSSxDQUFDO1FBRTdCLDREQUE0RDtRQUNuRCxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFN0Msd0RBQXdEO1FBQ2hELG1CQUFjLEdBQTBCLElBQUksQ0FBQztRQUU3QyxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBS3ZCLENBQUM7SUF0REosMENBQTBDO0lBQzFDLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBbUI7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBbUJELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBMkJELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUN0QyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUM5QyxJQUFJLENBQUMsaUJBQWlCLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUNFLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEVBQ25DO1lBQ0EsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7O3lHQXZGVSxZQUFZOzZGQUFaLFlBQVksMEtBRlosQ0FBQyxpQkFBaUIsQ0FBQyxxRUE0QmhCLGlCQUFpQixtRkFNakIsbUJBQW1CLDJCQUFVLFdBQVcsK0VBSTNDLFdBQVcseUdDdEV4QiwrUUFNQTsyRkQ0QmEsWUFBWTtrQkFUeEIsU0FBUzsrQkFDRSxTQUFTLFlBQ1QsUUFBUSxpQkFFSCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLHVCQUMxQixLQUFLLGFBQ2YsQ0FBQyxpQkFBaUIsQ0FBQzt1SUFJOUIsSUFBSTtzQkFESCxLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSzt1QkFBQyxPQUFPO2dCQUtkLFNBQVM7c0JBRFIsS0FBSztnQkFLRixRQUFRO3NCQURYLEtBQUs7Z0JBVU4sS0FBSztzQkFESixNQUFNO2dCQUtQLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBT2xELGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUt2RSxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zICovXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGNvZXJjZUF0dHJCb29sZWFuIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBUYWJDb250ZW50RGlyZWN0aXZlLCBUYWJMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4vdGFiLWJvZHkuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYkNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi90YWItY29udGV4dC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLXRhYicsXG4gIGV4cG9ydEFzOiAnYXVpVGFiJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgcHJvdmlkZXJzOiBbVGFiQ29udGV4dFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIG5hbWU6IHN0cmluZztcblxuICAvKiogUGxhaW4gdGV4dCBsYWJlbCBmb3IgdGhlIHRhYiwgdXNlZCB3aGVuIHRoZXJlIGlzIG5vIHRlbXBsYXRlIGxhYmVsLiAqL1xuICBASW5wdXQoJ2xhYmVsJylcbiAgdGV4dExhYmVsID0gJyc7XG5cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRvIHNob3cgdGhlIGNsb3NlIGJ1dHRvbiBpbiB0aGUgaGVhZGVyICovXG4gIEBJbnB1dCgpXG4gIGNsb3NlYWJsZSA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgdGFiIGlzIGRpc2FibGVkICAqL1xuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUF0dHJCb29sZWFuKHZhbHVlKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKiogQ29udGVudCBmb3IgdGhlIHRhYiBsYWJlbCBnaXZlbiBieSBgPG5nLXRlbXBsYXRlIFthdWlUYWJMYWJlbF0+YC4gKi9cbiAgQENvbnRlbnRDaGlsZChUYWJMYWJlbERpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHRlbXBsYXRlTGFiZWw6IFRhYkxhYmVsRGlyZWN0aXZlO1xuXG4gIC8qKlxuICAgKiBUZW1wbGF0ZSBwcm92aWRlZCBpbiB0aGUgdGFiIGNvbnRlbnQgdGhhdCB3aWxsIGJlIHVzZWQgaWYgcHJlc2VudCwgdXNlZCB0byBlbmFibGUgbGF6eS1sb2FkaW5nXG4gICAqL1xuICBAQ29udGVudENoaWxkKFRhYkNvbnRlbnREaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgX2V4cGxpY2l0Q29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKiogVGVtcGxhdGUgaW5zaWRlIHRoZSBBdWlUYWIgdmlldyB0aGF0IGNvbnRhaW5zIGFuIGA8bmctY29udGVudD5gLiAqL1xuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfaW1wbGljaXRDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGdldCBjb250ZW50KCk6IFRlbXBsYXRlUG9ydGFsIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRQb3J0YWw7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHJlbGF0aXZlbHkgaW5kZXhlZCBwb3NpdGlvbiB3aGVyZSAwIHJlcHJlc2VudHMgdGhlIGNlbnRlciwgbmVnYXRpdmUgaXMgbGVmdCwgYW5kIHBvc2l0aXZlXG4gICAqIHJlcHJlc2VudHMgdGhlIHJpZ2h0LlxuICAgKi9cbiAgcG9zaXRpb246IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5pdGlhbCByZWxhdGl2ZWx5IGluZGV4IG9yaWdpbiBvZiB0aGUgdGFiIGlmIGl0IHdhcyBjcmVhdGVkIGFuZCBzZWxlY3RlZCBhZnRlciB0aGVyZVxuICAgKiB3YXMgYWxyZWFkeSBhIHNlbGVjdGVkIHRhYi4gUHJvdmlkZXMgY29udGV4dCBvZiB3aGF0IHBvc2l0aW9uIHRoZSB0YWIgc2hvdWxkIG9yaWdpbmF0ZSBmcm9tLlxuICAgKi9cbiAgb3JpZ2luOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGludGVybmFsIHN0YXRlIG9mIHRoZSB0YWIgY2hhbmdlcy4gKi9cbiAgcmVhZG9ubHkgX3N0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqIFBvcnRhbCB0aGF0IHdpbGwgYmUgdGhlIGhvc3RlZCBjb250ZW50IG9mIHRoZSB0YWIgKi9cbiAgcHJpdmF0ZSBfY29udGVudFBvcnRhbDogVGVtcGxhdGVQb3J0YWwgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHVibGljIHJlYWRvbmx5IHRhYkNvbnRleHQ6IFRhYkNvbnRleHRTZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRlbnRQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoXG4gICAgICB0aGlzLl9leHBsaWNpdENvbnRlbnQgfHwgdGhpcy5faW1wbGljaXRDb250ZW50LFxuICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZixcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgndGV4dExhYmVsJykgfHxcbiAgICAgIGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ2Rpc2FibGVkJykgfHxcbiAgICAgIGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ2Nsb3NlYWJsZScpXG4gICAgKSB7XG4gICAgICB0aGlzLl9zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cbiAgfVxufVxuIiwiPCEtLVxuICBDcmVhdGUgYSB0ZW1wbGF0ZSBmb3IgdGhlIGNvbnRlbnQgb2YgdGhlIDxhdWktdGFiPiBzbyB0aGF0IHdlIGNhbiBncmFiIGEgcmVmZXJlbmNlIHRvIHRoaXNcbiAgVGVtcGxhdGVSZWYgYW5kIHVzZSBpdCBpbiBhIFBvcnRhbCB0byByZW5kZXIgdGhlIHRhYiBjb250ZW50IGluIHRoZSBhcHByb3ByaWF0ZSBwbGFjZSBpbiB0aGVcbiAgdGFiLWdyb3VwLlxuLS0+XG48bmctdGVtcGxhdGU+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvbmctdGVtcGxhdGU+XG4iXX0=