@alauda/ui 6.2.3-beta.9 → 6.3.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1289) hide show
  1. package/.changeset/README.md +8 -0
  2. package/accordion/accordion-item/accordion-item.component.d.ts +7 -0
  3. package/accordion/accordion.component.d.ts +3 -0
  4. package/accordion/accordion.module.d.ts +10 -0
  5. package/alauda-ui.d.ts +1 -20
  6. package/anchor/anchor.component.d.ts +7 -2
  7. package/anchor/anchor.directive.d.ts +7 -0
  8. package/anchor/anchor.module.d.ts +7 -0
  9. package/autocomplete/autocomplete-placeholder.component.d.ts +3 -0
  10. package/autocomplete/autocomplete.component.d.ts +3 -0
  11. package/autocomplete/autocomplete.directive.d.ts +5 -0
  12. package/autocomplete/autocomplete.module.d.ts +13 -0
  13. package/autocomplete/helper-directives.d.ts +3 -0
  14. package/autocomplete/suggestion/suggestion.component.d.ts +3 -0
  15. package/autocomplete/suggestion-group/suggestion-group.component.d.ts +3 -0
  16. package/back-top/back-top.component.d.ts +3 -0
  17. package/back-top/back-top.module.d.ts +7 -0
  18. package/breadcrumb/breadcrumb-item.component.d.ts +3 -0
  19. package/breadcrumb/breadcrumb.component.d.ts +3 -0
  20. package/breadcrumb/breadcrumb.module.d.ts +8 -0
  21. package/button/button-group/button-group.component.d.ts +3 -0
  22. package/button/button.component.d.ts +9 -38
  23. package/button/button.module.d.ts +8 -0
  24. package/card/card.component.d.ts +3 -0
  25. package/card/card.module.d.ts +8 -0
  26. package/card/helper-directives.d.ts +7 -0
  27. package/card/section.component.d.ts +3 -0
  28. package/checkbox/checkbox-group/checkbox-group.component.d.ts +3 -0
  29. package/checkbox/checkbox.component.d.ts +3 -0
  30. package/checkbox/checkbox.module.d.ts +8 -0
  31. package/color-picker/color-picker.component.d.ts +3 -0
  32. package/color-picker/color-picker.module.d.ts +7 -0
  33. package/date-picker/calendar/date-picker-panel/component.d.ts +3 -0
  34. package/date-picker/calendar/footer/component.d.ts +3 -0
  35. package/date-picker/calendar/header/component.d.ts +3 -0
  36. package/date-picker/calendar/panel/picker-panel.d.ts +3 -0
  37. package/date-picker/calendar/range-picker-panel/component.d.ts +3 -0
  38. package/date-picker/date-picker/date-picker.component.d.ts +3 -0
  39. package/date-picker/date-picker.module.d.ts +20 -0
  40. package/date-picker/public-api.d.ts +1 -0
  41. package/date-picker/range-picker/range-picker.component.d.ts +3 -0
  42. package/date-picker/trigger/trigger.component.d.ts +3 -0
  43. package/dialog/confirm-dialog/confirm-dialog.component.d.ts +3 -0
  44. package/dialog/dialog-content/dialog-close.directive.d.ts +3 -0
  45. package/dialog/dialog-content/dialog-content.component.d.ts +3 -0
  46. package/dialog/dialog-content/dialog-footer.component.d.ts +3 -0
  47. package/dialog/dialog-content/dialog-header.component.d.ts +3 -0
  48. package/dialog/dialog.component.d.ts +3 -0
  49. package/dialog/dialog.module.d.ts +15 -0
  50. package/dialog/dialog.service.d.ts +3 -0
  51. package/dialog/public-api.d.ts +1 -0
  52. package/drawer/component/drawer.component.d.ts +5 -2
  53. package/drawer/component/helper-directives.d.ts +7 -4
  54. package/drawer/drawer.module.d.ts +10 -0
  55. package/drawer/drawer.service.d.ts +3 -0
  56. package/dropdown/dropdown-active.directive.d.ts +3 -0
  57. package/dropdown/dropdown-button/dropdown-button.component.d.ts +3 -0
  58. package/dropdown/dropdown.directive.d.ts +3 -0
  59. package/dropdown/dropdown.module.d.ts +17 -0
  60. package/dropdown/helper-directives.d.ts +3 -0
  61. package/dropdown/menu/menu-content.directive.d.ts +3 -0
  62. package/dropdown/menu/menu.component.d.ts +3 -0
  63. package/dropdown/menu-group/menu-group.component.d.ts +3 -0
  64. package/dropdown/menu-item/menu-item.component.d.ts +3 -0
  65. package/dropdown/public-api.d.ts +1 -0
  66. package/dropdown/submenu/submenu.component.d.ts +3 -0
  67. package/esm2020/accordion/accordion-item/accordion-item.component.mjs +73 -0
  68. package/esm2020/accordion/accordion.component.mjs +27 -0
  69. package/esm2020/accordion/accordion.module.mjs +39 -0
  70. package/{esm2015/accordion/public-api.js → esm2020/accordion/public-api.mjs} +0 -0
  71. package/esm2020/alauda-ui.mjs +5 -0
  72. package/esm2020/anchor/anchor.component.mjs +139 -0
  73. package/esm2020/anchor/anchor.directive.mjs +184 -0
  74. package/esm2020/anchor/anchor.module.mjs +36 -0
  75. package/{esm2015/anchor/public-api.js → esm2020/anchor/public-api.mjs} +0 -0
  76. package/{esm2015/anchor/types.js → esm2020/anchor/types.mjs} +0 -0
  77. package/{esm2015/anchor/utils.js → esm2020/anchor/utils.mjs} +0 -0
  78. package/esm2020/autocomplete/autocomplete-placeholder.component.mjs +17 -0
  79. package/esm2020/autocomplete/autocomplete.component.mjs +41 -0
  80. package/esm2020/autocomplete/autocomplete.directive.mjs +272 -0
  81. package/esm2020/autocomplete/autocomplete.module.mjs +53 -0
  82. package/{esm2015/autocomplete/autocomplete.types.js → esm2020/autocomplete/autocomplete.types.mjs} +0 -0
  83. package/esm2020/autocomplete/helper-directives.mjs +17 -0
  84. package/{esm2015/autocomplete/public-api.js → esm2020/autocomplete/public-api.mjs} +0 -0
  85. package/esm2020/autocomplete/suggestion/suggestion.component.mjs +78 -0
  86. package/esm2020/autocomplete/suggestion-group/suggestion-group.component.mjs +23 -0
  87. package/esm2020/back-top/back-top.component.mjs +68 -0
  88. package/esm2020/back-top/back-top.module.mjs +19 -0
  89. package/{esm2015/back-top/public-api.js → esm2020/back-top/public-api.mjs} +0 -0
  90. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +32 -0
  91. package/esm2020/breadcrumb/breadcrumb.component.mjs +57 -0
  92. package/esm2020/breadcrumb/breadcrumb.module.mjs +20 -0
  93. package/{esm2015/breadcrumb/public-api.js → esm2020/breadcrumb/public-api.mjs} +0 -0
  94. package/esm2020/button/button-group/button-group.component.mjs +11 -0
  95. package/esm2020/button/button.component.mjs +122 -0
  96. package/esm2020/button/button.module.mjs +20 -0
  97. package/{esm2015/button/button.types.js → esm2020/button/button.types.mjs} +0 -0
  98. package/{esm2015/button/public-api.js → esm2020/button/public-api.mjs} +0 -0
  99. package/esm2020/card/card.component.mjs +16 -0
  100. package/esm2020/card/card.module.mjs +40 -0
  101. package/esm2020/card/helper-directives.mjs +43 -0
  102. package/{esm2015/card/public-api.js → esm2020/card/public-api.mjs} +0 -0
  103. package/esm2020/card/section.component.mjs +11 -0
  104. package/esm2020/checkbox/checkbox-group/checkbox-group.component.mjs +64 -0
  105. package/esm2020/checkbox/checkbox.component.mjs +114 -0
  106. package/esm2020/checkbox/checkbox.module.mjs +20 -0
  107. package/{esm2015/checkbox/public-api.js → esm2020/checkbox/public-api.mjs} +0 -0
  108. package/esm2020/color-picker/color-picker.component.mjs +32 -0
  109. package/esm2020/color-picker/color-picker.module.mjs +19 -0
  110. package/{esm2015/color-picker/public-api.js → esm2020/color-picker/public-api.mjs} +0 -0
  111. package/{esm2015/date-picker/calendar/constant.js → esm2020/date-picker/calendar/constant.mjs} +0 -0
  112. package/esm2020/date-picker/calendar/date-picker-panel/component.mjs +128 -0
  113. package/esm2020/date-picker/calendar/footer/component.mjs +29 -0
  114. package/esm2020/date-picker/calendar/header/component.mjs +105 -0
  115. package/esm2020/date-picker/calendar/panel/picker-panel.mjs +149 -0
  116. package/esm2020/date-picker/calendar/range-picker-panel/component.mjs +209 -0
  117. package/{esm2015/date-picker/calendar/util.js → esm2020/date-picker/calendar/util.mjs} +0 -0
  118. package/esm2020/date-picker/date-picker/date-picker.component.mjs +104 -0
  119. package/esm2020/date-picker/date-picker.module.mjs +84 -0
  120. package/{esm2015/date-picker/date-picker.type.js → esm2020/date-picker/date-picker.type.mjs} +0 -0
  121. package/esm2020/date-picker/public-api.mjs +12 -0
  122. package/esm2020/date-picker/range-picker/range-picker.component.mjs +80 -0
  123. package/esm2020/date-picker/trigger/trigger.component.mjs +69 -0
  124. package/{esm2015/dialog/confirm-dialog/confirm-dialog-config.js → esm2020/dialog/confirm-dialog/confirm-dialog-config.mjs} +0 -0
  125. package/esm2020/dialog/confirm-dialog/confirm-dialog.component.mjs +86 -0
  126. package/{esm2015/dialog/dialog-config.js → esm2020/dialog/dialog-config.mjs} +0 -0
  127. package/esm2020/dialog/dialog-content/dialog-close.directive.mjs +38 -0
  128. package/esm2020/dialog/dialog-content/dialog-content.component.mjs +20 -0
  129. package/esm2020/dialog/dialog-content/dialog-footer.component.mjs +15 -0
  130. package/esm2020/dialog/dialog-content/dialog-header.component.mjs +39 -0
  131. package/{esm2015/dialog/dialog-ref.js → esm2020/dialog/dialog-ref.mjs} +0 -0
  132. package/esm2020/dialog/dialog.component.mjs +59 -0
  133. package/esm2020/dialog/dialog.module.mjs +68 -0
  134. package/esm2020/dialog/dialog.service.mjs +128 -0
  135. package/{esm2015/dialog/dialog.types.js → esm2020/dialog/dialog.types.mjs} +0 -0
  136. package/esm2020/dialog/public-api.mjs +12 -0
  137. package/{esm2015/dialog/utils/errors.js → esm2020/dialog/utils/errors.mjs} +0 -0
  138. package/esm2020/dialog/utils/index.mjs +11 -0
  139. package/{esm2015/drawer/component/drawer-ref.js → esm2020/drawer/component/drawer-ref.mjs} +0 -0
  140. package/esm2020/drawer/component/drawer.component.mjs +231 -0
  141. package/esm2020/drawer/component/helper-directives.mjs +37 -0
  142. package/esm2020/drawer/drawer.module.mjs +37 -0
  143. package/esm2020/drawer/drawer.service.mjs +45 -0
  144. package/{esm2015/drawer/public-api.js → esm2020/drawer/public-api.mjs} +0 -0
  145. package/esm2020/dropdown/dropdown-active.directive.mjs +21 -0
  146. package/esm2020/dropdown/dropdown-button/dropdown-button.component.mjs +51 -0
  147. package/esm2020/dropdown/dropdown.directive.mjs +83 -0
  148. package/esm2020/dropdown/dropdown.module.mjs +65 -0
  149. package/{esm2015/dropdown/dropdown.types.js → esm2020/dropdown/dropdown.types.mjs} +0 -0
  150. package/esm2020/dropdown/helper-directives.mjs +17 -0
  151. package/esm2020/dropdown/menu/menu-content.directive.mjs +51 -0
  152. package/esm2020/dropdown/menu/menu.component.mjs +33 -0
  153. package/esm2020/dropdown/menu-group/menu-group.component.mjs +11 -0
  154. package/esm2020/dropdown/menu-item/menu-item.component.mjs +37 -0
  155. package/esm2020/dropdown/public-api.mjs +12 -0
  156. package/esm2020/dropdown/submenu/submenu.component.mjs +40 -0
  157. package/esm2020/form/common-form.mjs +92 -0
  158. package/esm2020/form/form-item/form-item.component.mjs +106 -0
  159. package/esm2020/form/form.directive.mjs +70 -0
  160. package/esm2020/form/form.module.mjs +48 -0
  161. package/{esm2015/form/form.types.js → esm2020/form/form.types.mjs} +0 -0
  162. package/esm2020/form/helper-directives.mjs +81 -0
  163. package/{esm2015/form/public-api.js → esm2020/form/public-api.mjs} +0 -0
  164. package/esm2020/i18n/i18n.module.mjs +16 -0
  165. package/esm2020/i18n/i18n.pipe.mjs +20 -0
  166. package/esm2020/i18n/i18n.service.mjs +43 -0
  167. package/esm2020/i18n/i18n.type.mjs +6 -0
  168. package/{esm2015/i18n/language/en.js → esm2020/i18n/language/en.mjs} +0 -0
  169. package/{esm2015/i18n/language/zh.js → esm2020/i18n/language/zh.mjs} +0 -0
  170. package/{esm2015/i18n/public-api.js → esm2020/i18n/public-api.mjs} +0 -0
  171. package/esm2020/icon/icon-register.service.mjs +70 -0
  172. package/esm2020/icon/icon.component.mjs +65 -0
  173. package/esm2020/icon/icon.module.mjs +21 -0
  174. package/{esm2015/icon/icons.js → esm2020/icon/icons.mjs} +0 -0
  175. package/{esm2015/icon/public-api.js → esm2020/icon/public-api.mjs} +0 -0
  176. package/{esm2015/icon/utils.js → esm2020/icon/utils.mjs} +0 -0
  177. package/esm2020/inline-alert/helper-directives.mjs +14 -0
  178. package/esm2020/inline-alert/inline-alert.component.mjs +55 -0
  179. package/esm2020/inline-alert/inline-alert.module.mjs +20 -0
  180. package/{esm2015/inline-alert/inline-alert.types.js → esm2020/inline-alert/inline-alert.types.mjs} +0 -0
  181. package/{esm2015/inline-alert/public-api.js → esm2020/inline-alert/public-api.mjs} +0 -0
  182. package/esm2020/input/autosize.directive.mjs +60 -0
  183. package/esm2020/input/helper-directives.mjs +43 -0
  184. package/esm2020/input/input-group/input-group.component.mjs +39 -0
  185. package/esm2020/input/input.component.mjs +61 -0
  186. package/esm2020/input/input.module.mjs +91 -0
  187. package/esm2020/input/number-input/number-input.component.mjs +94 -0
  188. package/esm2020/input/public-api.mjs +9 -0
  189. package/esm2020/input/search/search.component.mjs +81 -0
  190. package/esm2020/input/tags-input/tags-input.component.mjs +265 -0
  191. package/{esm2015/input/tags-input/with-max-row-count.js → esm2020/input/tags-input/with-max-row-count.mjs} +0 -0
  192. package/{esm2015/input/utils/index.js → esm2020/input/utils/index.mjs} +0 -0
  193. package/esm2020/message/base-message.mjs +90 -0
  194. package/{esm2015/message/message-animations.js → esm2020/message/message-animations.mjs} +0 -0
  195. package/esm2020/message/message-wrapper.component.mjs +14 -0
  196. package/esm2020/message/message.component.mjs +70 -0
  197. package/{esm2015/message/message.config.js → esm2020/message/message.config.mjs} +0 -0
  198. package/esm2020/message/message.module.mjs +23 -0
  199. package/esm2020/message/message.service.mjs +26 -0
  200. package/{esm2015/message/public-api.js → esm2020/message/public-api.mjs} +0 -0
  201. package/esm2020/notification/notification-wrapper.component.mjs +16 -0
  202. package/esm2020/notification/notification.component.mjs +107 -0
  203. package/{esm2015/notification/notification.config.js → esm2020/notification/notification.config.mjs} +0 -0
  204. package/esm2020/notification/notification.module.mjs +24 -0
  205. package/esm2020/notification/notification.service.mjs +26 -0
  206. package/{esm2015/notification/public-api.js → esm2020/notification/public-api.mjs} +0 -0
  207. package/esm2020/paginator/paginator-intl.mjs +36 -0
  208. package/esm2020/paginator/paginator.component.mjs +125 -0
  209. package/esm2020/paginator/paginator.module.mjs +24 -0
  210. package/{esm2015/paginator/public-api.js → esm2020/paginator/public-api.mjs} +0 -0
  211. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  212. package/esm2020/radio/base-radio.mjs +69 -0
  213. package/{esm2015/radio/public-api.js → esm2020/radio/public-api.mjs} +0 -0
  214. package/esm2020/radio/radio-button/radio-button.component.mjs +42 -0
  215. package/esm2020/radio/radio-group/radio-group.component.mjs +80 -0
  216. package/esm2020/radio/radio.component.mjs +24 -0
  217. package/esm2020/radio/radio.module.mjs +21 -0
  218. package/{esm2015/radio/radio.types.js → esm2020/radio/radio.types.mjs} +0 -0
  219. package/esm2020/scrolling/fixed-size-table-virtual-scroll-strategy.mjs +84 -0
  220. package/esm2020/scrolling/fixed-size-table-virtual-scroll.directive.mjs +122 -0
  221. package/esm2020/scrolling/fixed-size-virtual-scroll.directive.mjs +28 -0
  222. package/esm2020/scrolling/public-api.mjs +7 -0
  223. package/esm2020/scrolling/scrolling.module.mjs +30 -0
  224. package/esm2020/scrolling/virtual-for-of.directive.mjs +36 -0
  225. package/esm2020/scrolling/virtual-scroll-viewport.component.mjs +26 -0
  226. package/esm2020/select/base-select.mjs +339 -0
  227. package/esm2020/select/helper-directives.mjs +29 -0
  228. package/esm2020/select/multi-select/multi-select.component.mjs +292 -0
  229. package/esm2020/select/option/option.component.mjs +110 -0
  230. package/esm2020/select/option-group/option-group.component.mjs +23 -0
  231. package/esm2020/select/option-placeholder.component.mjs +17 -0
  232. package/{esm2015/select/public-api.js → esm2020/select/public-api.mjs} +0 -0
  233. package/esm2020/select/select.component.mjs +107 -0
  234. package/esm2020/select/select.module.mjs +80 -0
  235. package/{esm2015/select/select.types.js → esm2020/select/select.types.mjs} +0 -0
  236. package/esm2020/select/validators.mjs +79 -0
  237. package/esm2020/shared/click-outside.directive.mjs +28 -0
  238. package/esm2020/shared/shared.module.mjs +16 -0
  239. package/{esm2015/sort/public-api.js → esm2020/sort/public-api.mjs} +0 -0
  240. package/{esm2015/sort/sort-errors.js → esm2020/sort/sort-errors.mjs} +0 -0
  241. package/esm2020/sort/sort-header.component.mjs +72 -0
  242. package/esm2020/sort/sort.directive.mjs +75 -0
  243. package/esm2020/sort/sort.module.mjs +19 -0
  244. package/{esm2015/sort/sort.types.js → esm2020/sort/sort.types.mjs} +0 -0
  245. package/{esm2015/status-bar/public-api.js → esm2020/status-bar/public-api.mjs} +0 -0
  246. package/esm2020/status-bar/status-bar.component.mjs +29 -0
  247. package/esm2020/status-bar/status-bar.module.mjs +19 -0
  248. package/{esm2015/status-bar/status-bar.types.js → esm2020/status-bar/status-bar.types.mjs} +0 -0
  249. package/{esm2015/steps/public-api.js → esm2020/steps/public-api.mjs} +0 -0
  250. package/esm2020/steps/steps.component.mjs +183 -0
  251. package/esm2020/steps/steps.module.mjs +19 -0
  252. package/{esm2015/steps/types.js → esm2020/steps/types.mjs} +0 -0
  253. package/{esm2015/switch/public-api.js → esm2020/switch/public-api.mjs} +0 -0
  254. package/esm2020/switch/switch.component.mjs +49 -0
  255. package/esm2020/switch/switch.module.mjs +18 -0
  256. package/esm2020/table/public-api.mjs +15 -0
  257. package/esm2020/table/table-cell-def.directive.mjs +29 -0
  258. package/esm2020/table/table-cell.component.mjs +121 -0
  259. package/esm2020/table/table-cell.directive.mjs +27 -0
  260. package/esm2020/table/table-column-def.directive.mjs +37 -0
  261. package/esm2020/table/table-header-cell-def.directive.mjs +29 -0
  262. package/esm2020/table/table-header-cell.directive.mjs +27 -0
  263. package/esm2020/table/table-header-row-def.directive.mjs +39 -0
  264. package/esm2020/table/table-header-row.component.mjs +25 -0
  265. package/esm2020/table/table-placeholder.directive.mjs +30 -0
  266. package/esm2020/table/table-row-def.directive.mjs +42 -0
  267. package/esm2020/table/table-row.component.mjs +43 -0
  268. package/esm2020/table/table-scroll.directive.mjs +91 -0
  269. package/esm2020/table/table.component.mjs +81 -0
  270. package/esm2020/table/table.module.mjs +96 -0
  271. package/{esm2015/table-of-contents/public-api.js → esm2020/table-of-contents/public-api.mjs} +0 -0
  272. package/esm2020/table-of-contents/table-of-contents.module.mjs +20 -0
  273. package/esm2020/table-of-contents/toc-container.directive.mjs +110 -0
  274. package/esm2020/table-of-contents/toc-content.directive.mjs +35 -0
  275. package/esm2020/table-of-contents/toc-link.directive.mjs +47 -0
  276. package/esm2020/tabs/public-api.mjs +9 -0
  277. package/esm2020/tabs/tab-body.component.mjs +165 -0
  278. package/esm2020/tabs/tab-context.service.mjs +32 -0
  279. package/esm2020/tabs/tab-group.component.mjs +291 -0
  280. package/esm2020/tabs/tab-header-active-indicator.component.mjs +53 -0
  281. package/esm2020/tabs/tab-header.component.mjs +365 -0
  282. package/esm2020/tabs/tab.component.mjs +85 -0
  283. package/esm2020/tabs/tabs.module.mjs +88 -0
  284. package/{esm2015/tabs/tabs.types.js → esm2020/tabs/tabs.types.mjs} +0 -0
  285. package/esm2020/tag/check-tag/check-tag.component.mjs +33 -0
  286. package/{esm2015/tag/public-api.js → esm2020/tag/public-api.mjs} +0 -0
  287. package/esm2020/tag/tag.component.mjs +64 -0
  288. package/esm2020/tag/tag.module.mjs +20 -0
  289. package/{esm2015/tag/tag.types.js → esm2020/tag/tag.types.mjs} +0 -0
  290. package/{esm2015/theme/public-api.js → esm2020/theme/public-api.mjs} +0 -0
  291. package/esm2020/theme/theme.module.mjs +18 -0
  292. package/esm2020/theme/theme.pipe.mjs +70 -0
  293. package/esm2020/theme/theme.service.mjs +53 -0
  294. package/{esm2015/theme/theme.types.js → esm2020/theme/theme.types.mjs} +0 -0
  295. package/{esm2015/theme/utils.js → esm2020/theme/utils.mjs} +0 -0
  296. package/esm2020/time-picker/component.mjs +173 -0
  297. package/esm2020/time-picker/constant.mjs +5 -0
  298. package/esm2020/time-picker/panel/panel.component.mjs +224 -0
  299. package/{esm2015/time-picker/public-api.js → esm2020/time-picker/public-api.mjs} +0 -0
  300. package/esm2020/time-picker/time-picker.module.mjs +58 -0
  301. package/esm2020/time-picker/time-picker.type.mjs +13 -0
  302. package/esm2020/tooltip/base-tooltip.mjs +244 -0
  303. package/esm2020/tooltip/public-api.mjs +9 -0
  304. package/esm2020/tooltip/tooltip-active.directive.mjs +44 -0
  305. package/esm2020/tooltip/tooltip-copy.directive.mjs +78 -0
  306. package/esm2020/tooltip/tooltip-intl.mjs +28 -0
  307. package/esm2020/tooltip/tooltip.component.mjs +49 -0
  308. package/esm2020/tooltip/tooltip.directive.mjs +51 -0
  309. package/esm2020/tooltip/tooltip.module.mjs +33 -0
  310. package/{esm2015/tooltip/tooltip.types.js → esm2020/tooltip/tooltip.types.mjs} +0 -0
  311. package/{esm2015/tooltip/utils/index.js → esm2020/tooltip/utils/index.mjs} +0 -0
  312. package/esm2020/tree-select/public-api.mjs +5 -0
  313. package/esm2020/tree-select/tree-node-placeholder.component.mjs +17 -0
  314. package/esm2020/tree-select/tree-select.component.mjs +343 -0
  315. package/esm2020/tree-select/tree-select.module.mjs +34 -0
  316. package/{esm2015/tree-select/tree-select.types.js → esm2020/tree-select/tree-select.types.mjs} +0 -0
  317. package/{esm2015/types.js → esm2020/types.mjs} +0 -0
  318. package/{esm2015/utils/async.js → esm2020/utils/async.mjs} +0 -0
  319. package/{esm2015/utils/bem.js → esm2020/utils/bem.mjs} +0 -0
  320. package/esm2020/utils/coercion.mjs +17 -0
  321. package/esm2020/utils/fn.mjs +8 -0
  322. package/{esm2015/utils/index.js → esm2020/utils/index.mjs} +0 -0
  323. package/{esm2015/utils/observe-dom.js → esm2020/utils/observe-dom.mjs} +0 -0
  324. package/{esm2015/utils/scroll-into-view.js → esm2020/utils/scroll-into-view.mjs} +0 -0
  325. package/{esm2015/utils/watch-content-exist.js → esm2020/utils/watch-content-exist.mjs} +0 -0
  326. package/fesm2015/alauda-ui.mjs +11581 -0
  327. package/fesm2015/alauda-ui.mjs.map +1 -0
  328. package/fesm2020/alauda-ui.mjs +11507 -0
  329. package/fesm2020/alauda-ui.mjs.map +1 -0
  330. package/form/common-form.d.ts +3 -0
  331. package/form/form-item/form-item.component.d.ts +3 -0
  332. package/form/form.directive.d.ts +3 -0
  333. package/form/form.module.d.ts +8 -0
  334. package/form/helper-directives.d.ts +11 -0
  335. package/i18n/i18n.module.d.ts +5 -0
  336. package/i18n/i18n.pipe.d.ts +3 -0
  337. package/i18n/i18n.service.d.ts +5 -1
  338. package/icon/icon-register.service.d.ts +3 -0
  339. package/icon/icon.component.d.ts +3 -0
  340. package/icon/icon.module.d.ts +7 -0
  341. package/inline-alert/helper-directives.d.ts +3 -0
  342. package/inline-alert/inline-alert.component.d.ts +3 -0
  343. package/inline-alert/inline-alert.module.d.ts +8 -0
  344. package/input/autosize.directive.d.ts +3 -0
  345. package/input/helper-directives.d.ts +9 -0
  346. package/input/input-group/input-group.component.d.ts +3 -0
  347. package/input/input.component.d.ts +7 -21
  348. package/input/input.module.d.ts +17 -0
  349. package/input/number-input/number-input.component.d.ts +3 -0
  350. package/input/public-api.d.ts +2 -0
  351. package/input/search/search.component.d.ts +3 -0
  352. package/input/tags-input/tags-input.component.d.ts +5 -2
  353. package/message/message-wrapper.component.d.ts +3 -0
  354. package/message/message.component.d.ts +3 -0
  355. package/message/message.module.d.ts +9 -0
  356. package/message/message.service.d.ts +3 -0
  357. package/notification/notification-wrapper.component.d.ts +3 -0
  358. package/notification/notification.component.d.ts +5 -3
  359. package/notification/notification.module.d.ts +10 -0
  360. package/notification/notification.service.d.ts +3 -0
  361. package/package.json +28 -16
  362. package/paginator/paginator-intl.d.ts +3 -0
  363. package/paginator/paginator.component.d.ts +3 -0
  364. package/paginator/paginator.module.d.ts +10 -0
  365. package/radio/base-radio.d.ts +3 -0
  366. package/radio/radio-button/radio-button.component.d.ts +3 -0
  367. package/radio/radio-group/radio-group.component.d.ts +3 -0
  368. package/radio/radio.component.d.ts +3 -0
  369. package/radio/radio.module.d.ts +9 -0
  370. package/scrolling/fixed-size-table-virtual-scroll-strategy.d.ts +3 -0
  371. package/scrolling/fixed-size-table-virtual-scroll.directive.d.ts +3 -0
  372. package/scrolling/fixed-size-virtual-scroll.directive.d.ts +3 -0
  373. package/scrolling/public-api.d.ts +1 -0
  374. package/scrolling/scrolling.module.d.ts +8 -0
  375. package/scrolling/virtual-for-of.directive.d.ts +3 -0
  376. package/scrolling/virtual-scroll-viewport.component.d.ts +3 -0
  377. package/select/base-select.d.ts +10 -29
  378. package/select/helper-directives.d.ts +5 -0
  379. package/select/multi-select/multi-select.component.d.ts +4 -0
  380. package/select/option/option.component.d.ts +3 -0
  381. package/select/option-group/option-group.component.d.ts +3 -0
  382. package/select/option-placeholder.component.d.ts +3 -0
  383. package/select/select.component.d.ts +3 -0
  384. package/select/select.module.d.ts +17 -0
  385. package/select/validators.d.ts +3 -0
  386. package/shared/click-outside.directive.d.ts +3 -0
  387. package/shared/shared.module.d.ts +5 -0
  388. package/sort/sort-header.component.d.ts +3 -0
  389. package/sort/sort.directive.d.ts +3 -0
  390. package/sort/sort.module.d.ts +7 -0
  391. package/src/accordion/README.md +13 -0
  392. package/src/anchor/README.md +23 -0
  393. package/src/dropdown/README.md +57 -0
  394. package/src/form/README.md +32 -0
  395. package/src/icon/README.md +28 -0
  396. package/src/inline-alert/README.md +16 -0
  397. package/src/input/number-input/README.md +15 -0
  398. package/src/select/README.md +57 -0
  399. package/src/sort/README.md +13 -0
  400. package/src/table/README.md +8 -0
  401. package/src/table-of-contents/README.md +79 -0
  402. package/src/tag/README.md +32 -0
  403. package/src/tree-select/README.md +34 -0
  404. package/status-bar/status-bar.component.d.ts +3 -0
  405. package/status-bar/status-bar.module.d.ts +7 -0
  406. package/steps/steps.component.d.ts +4 -1
  407. package/steps/steps.module.d.ts +7 -0
  408. package/switch/switch.component.d.ts +3 -0
  409. package/switch/switch.module.d.ts +6 -0
  410. package/table/public-api.d.ts +2 -0
  411. package/table/table-cell-def.directive.d.ts +3 -0
  412. package/table/table-cell.component.d.ts +5 -0
  413. package/table/table-cell.directive.d.ts +3 -0
  414. package/table/table-column-def.directive.d.ts +3 -0
  415. package/table/table-header-cell-def.directive.d.ts +3 -0
  416. package/table/table-header-cell.directive.d.ts +3 -0
  417. package/table/table-header-row-def.directive.d.ts +4 -1
  418. package/table/table-header-row.component.d.ts +3 -0
  419. package/table/table-placeholder.directive.d.ts +5 -0
  420. package/table/table-row-def.directive.d.ts +5 -2
  421. package/table/table-row.component.d.ts +3 -0
  422. package/table/table-scroll.directive.d.ts +5 -0
  423. package/table/table.component.d.ts +3 -0
  424. package/table/table.module.d.ts +20 -0
  425. package/table-of-contents/table-of-contents.module.d.ts +8 -0
  426. package/table-of-contents/toc-container.directive.d.ts +3 -0
  427. package/table-of-contents/toc-content.directive.d.ts +3 -0
  428. package/table-of-contents/toc-link.directive.d.ts +3 -0
  429. package/tabs/public-api.d.ts +0 -1
  430. package/tabs/tab-body.component.d.ts +61 -2
  431. package/tabs/tab-context.service.d.ts +4 -1
  432. package/tabs/tab-group.component.d.ts +7 -12
  433. package/tabs/tab-header-active-indicator.component.d.ts +3 -0
  434. package/tabs/tab-header.component.d.ts +4 -1
  435. package/tabs/tab.component.d.ts +4 -1
  436. package/tabs/tabs.module.d.ts +16 -0
  437. package/tag/check-tag/check-tag.component.d.ts +3 -0
  438. package/tag/tag.component.d.ts +3 -0
  439. package/tag/tag.module.d.ts +8 -0
  440. package/theme/_var.scss +7 -10
  441. package/theme/style.css +2 -2
  442. package/theme/theme.module.d.ts +6 -0
  443. package/theme/theme.pipe.d.ts +9 -0
  444. package/theme/theme.service.d.ts +3 -0
  445. package/time-picker/component.d.ts +3 -0
  446. package/time-picker/panel/panel.component.d.ts +3 -0
  447. package/time-picker/time-picker.module.d.ts +15 -0
  448. package/tooltip/base-tooltip.d.ts +3 -0
  449. package/tooltip/public-api.d.ts +1 -0
  450. package/tooltip/tooltip-active.directive.d.ts +3 -0
  451. package/tooltip/tooltip-copy.directive.d.ts +3 -0
  452. package/tooltip/tooltip-intl.d.ts +3 -0
  453. package/tooltip/tooltip.component.d.ts +3 -0
  454. package/tooltip/tooltip.directive.d.ts +3 -0
  455. package/tooltip/tooltip.module.d.ts +10 -0
  456. package/tree-select/public-api.d.ts +0 -1
  457. package/tree-select/tree-node-placeholder.component.d.ts +3 -0
  458. package/tree-select/tree-select.component.d.ts +37 -3
  459. package/tree-select/tree-select.module.d.ts +10 -0
  460. package/utils/coercion.d.ts +1 -1
  461. package/utils/fn.d.ts +1 -1
  462. package/utils/observe-dom.d.ts +0 -1
  463. package/accordion/accordion-item/accordion-item.component.ngfactory.d.ts +0 -1
  464. package/accordion/accordion-item/accordion-item.component.scss.ngstyle.d.ts +0 -1
  465. package/accordion/accordion.component.ngfactory.d.ts +0 -1
  466. package/accordion/accordion.component.scss.ngstyle.d.ts +0 -1
  467. package/accordion/accordion.module.ngfactory.d.ts +0 -3
  468. package/alauda-ui.metadata.json +0 -1
  469. package/anchor/anchor.component.ngfactory.d.ts +0 -1
  470. package/anchor/anchor.component.scss.ngstyle.d.ts +0 -1
  471. package/anchor/anchor.module.ngfactory.d.ts +0 -3
  472. package/autocomplete/autocomplete-placeholder.component.ngfactory.d.ts +0 -1
  473. package/autocomplete/autocomplete.component.ngfactory.d.ts +0 -1
  474. package/autocomplete/autocomplete.component.scss.ngstyle.d.ts +0 -1
  475. package/autocomplete/autocomplete.module.ngfactory.d.ts +0 -3
  476. package/autocomplete/suggestion/suggestion.component.ngfactory.d.ts +0 -1
  477. package/autocomplete/suggestion/suggestion.component.scss.ngstyle.d.ts +0 -1
  478. package/autocomplete/suggestion-group/suggestion-group.component.ngfactory.d.ts +0 -1
  479. package/autocomplete/suggestion-group/suggestion-group.component.scss.ngstyle.d.ts +0 -1
  480. package/back-top/back-top.component.ngfactory.d.ts +0 -1
  481. package/back-top/back-top.component.scss.ngstyle.d.ts +0 -1
  482. package/back-top/back-top.module.ngfactory.d.ts +0 -3
  483. package/breadcrumb/breadcrumb-item.component.ngfactory.d.ts +0 -1
  484. package/breadcrumb/breadcrumb-item.component.scss.ngstyle.d.ts +0 -1
  485. package/breadcrumb/breadcrumb.component.ngfactory.d.ts +0 -1
  486. package/breadcrumb/breadcrumb.component.scss.ngstyle.d.ts +0 -1
  487. package/breadcrumb/breadcrumb.module.ngfactory.d.ts +0 -3
  488. package/bundles/alauda-ui.umd.js +0 -12812
  489. package/bundles/alauda-ui.umd.js.map +0 -1
  490. package/bundles/alauda-ui.umd.min.js +0 -2
  491. package/bundles/alauda-ui.umd.min.js.map +0 -1
  492. package/button/button-group/button-group.component.ngfactory.d.ts +0 -1
  493. package/button/button-group/button-group.component.scss.ngstyle.d.ts +0 -1
  494. package/button/button.component.ngfactory.d.ts +0 -1
  495. package/button/button.component.scss.ngstyle.d.ts +0 -1
  496. package/button/button.module.ngfactory.d.ts +0 -3
  497. package/card/card.component.ngfactory.d.ts +0 -1
  498. package/card/card.component.scss.ngstyle.d.ts +0 -1
  499. package/card/card.module.ngfactory.d.ts +0 -3
  500. package/card/section.component.ngfactory.d.ts +0 -1
  501. package/card/section.component.scss.ngstyle.d.ts +0 -1
  502. package/checkbox/checkbox-group/checkbox-group.component.ngfactory.d.ts +0 -1
  503. package/checkbox/checkbox-group/checkbox-group.component.scss.ngstyle.d.ts +0 -1
  504. package/checkbox/checkbox.component.ngfactory.d.ts +0 -1
  505. package/checkbox/checkbox.component.scss.ngstyle.d.ts +0 -1
  506. package/checkbox/checkbox.module.ngfactory.d.ts +0 -3
  507. package/color-picker/color-picker.component.ngfactory.d.ts +0 -1
  508. package/color-picker/color-picker.component.scss.ngstyle.d.ts +0 -1
  509. package/color-picker/color-picker.module.ngfactory.d.ts +0 -3
  510. package/date-picker/calendar/date-picker-panel/component.ngfactory.d.ts +0 -1
  511. package/date-picker/calendar/date-picker-panel/style.scss.ngstyle.d.ts +0 -1
  512. package/date-picker/calendar/footer/component.ngfactory.d.ts +0 -1
  513. package/date-picker/calendar/footer/style.scss.ngstyle.d.ts +0 -1
  514. package/date-picker/calendar/header/component.ngfactory.d.ts +0 -1
  515. package/date-picker/calendar/header/style.scss.ngstyle.d.ts +0 -1
  516. package/date-picker/calendar/panel/picker-panel.ngfactory.d.ts +0 -1
  517. package/date-picker/calendar/panel/picker-panel.style.scss.ngstyle.d.ts +0 -1
  518. package/date-picker/calendar/range-picker-panel/component.ngfactory.d.ts +0 -1
  519. package/date-picker/calendar/range-picker-panel/style.scss.ngstyle.d.ts +0 -1
  520. package/date-picker/date-picker/date-picker.component.ngfactory.d.ts +0 -1
  521. package/date-picker/date-picker/date-picker.style.scss.shim.ngstyle.d.ts +0 -1
  522. package/date-picker/date-picker.module.ngfactory.d.ts +0 -3
  523. package/date-picker/range-picker/range-picker.component.ngfactory.d.ts +0 -1
  524. package/date-picker/range-picker/range-picker.style.scss.shim.ngstyle.d.ts +0 -1
  525. package/date-picker/trigger/trigger.component.ngfactory.d.ts +0 -1
  526. package/date-picker/trigger/trigger.style.scss.shim.ngstyle.d.ts +0 -1
  527. package/dialog/confirm-dialog/confirm-dialog.component.ngfactory.d.ts +0 -1
  528. package/dialog/confirm-dialog/confirm-dialog.component.scss.ngstyle.d.ts +0 -1
  529. package/dialog/dialog-content/dialog-content.component.ngfactory.d.ts +0 -1
  530. package/dialog/dialog-content/dialog-footer.component.ngfactory.d.ts +0 -1
  531. package/dialog/dialog-content/dialog-header.component.ngfactory.d.ts +0 -1
  532. package/dialog/dialog.component.ngfactory.d.ts +0 -1
  533. package/dialog/dialog.component.scss.ngstyle.d.ts +0 -1
  534. package/dialog/dialog.module.ngfactory.d.ts +0 -3
  535. package/drawer/component/drawer.component.ngfactory.d.ts +0 -1
  536. package/drawer/component/drawer.component.scss.ngstyle.d.ts +0 -1
  537. package/drawer/drawer.module.ngfactory.d.ts +0 -3
  538. package/dropdown/dropdown-button/dropdown-button.component.ngfactory.d.ts +0 -1
  539. package/dropdown/dropdown-button/dropdown-button.component.scss.ngstyle.d.ts +0 -1
  540. package/dropdown/dropdown.module.ngfactory.d.ts +0 -3
  541. package/dropdown/menu/menu.component.ngfactory.d.ts +0 -1
  542. package/dropdown/menu/menu.component.scss.ngstyle.d.ts +0 -1
  543. package/dropdown/menu-group/menu-group.component.ngfactory.d.ts +0 -1
  544. package/dropdown/menu-group/menu-group.component.scss.ngstyle.d.ts +0 -1
  545. package/dropdown/menu-item/menu-item.component.ngfactory.d.ts +0 -1
  546. package/dropdown/menu-item/menu-item.component.scss.ngstyle.d.ts +0 -1
  547. package/dropdown/submenu/submenu.component.ngfactory.d.ts +0 -1
  548. package/dropdown/submenu/submenu.component.scss.ngstyle.d.ts +0 -1
  549. package/esm2015/accordion/accordion-item/accordion-item.component.js +0 -68
  550. package/esm2015/accordion/accordion-item/accordion-item.component.ngfactory.js +0 -28
  551. package/esm2015/accordion/accordion-item/accordion-item.component.ngsummary.json +0 -1
  552. package/esm2015/accordion/accordion-item/accordion-item.component.scss.ngstyle.js +0 -9
  553. package/esm2015/accordion/accordion.component.js +0 -28
  554. package/esm2015/accordion/accordion.component.ngfactory.js +0 -17
  555. package/esm2015/accordion/accordion.component.ngsummary.json +0 -1
  556. package/esm2015/accordion/accordion.component.scss.ngstyle.js +0 -9
  557. package/esm2015/accordion/accordion.module.js +0 -28
  558. package/esm2015/accordion/accordion.module.ngfactory.js +0 -18
  559. package/esm2015/accordion/accordion.module.ngsummary.json +0 -1
  560. package/esm2015/accordion/public-api.ngsummary.json +0 -1
  561. package/esm2015/alauda-ui.js +0 -25
  562. package/esm2015/alauda-ui.ngsummary.json +0 -1
  563. package/esm2015/anchor/anchor.component.js +0 -146
  564. package/esm2015/anchor/anchor.component.ngfactory.js +0 -40
  565. package/esm2015/anchor/anchor.component.ngsummary.json +0 -1
  566. package/esm2015/anchor/anchor.component.scss.ngstyle.js +0 -9
  567. package/esm2015/anchor/anchor.directive.js +0 -174
  568. package/esm2015/anchor/anchor.directive.ngsummary.json +0 -1
  569. package/esm2015/anchor/anchor.module.js +0 -25
  570. package/esm2015/anchor/anchor.module.ngfactory.js +0 -13
  571. package/esm2015/anchor/anchor.module.ngsummary.json +0 -1
  572. package/esm2015/anchor/public-api.ngsummary.json +0 -1
  573. package/esm2015/anchor/types.ngsummary.json +0 -1
  574. package/esm2015/anchor/utils.ngsummary.json +0 -1
  575. package/esm2015/autocomplete/autocomplete-placeholder.component.js +0 -13
  576. package/esm2015/autocomplete/autocomplete-placeholder.component.ngfactory.js +0 -16
  577. package/esm2015/autocomplete/autocomplete-placeholder.component.ngsummary.json +0 -1
  578. package/esm2015/autocomplete/autocomplete.component.js +0 -40
  579. package/esm2015/autocomplete/autocomplete.component.ngfactory.js +0 -22
  580. package/esm2015/autocomplete/autocomplete.component.ngsummary.json +0 -1
  581. package/esm2015/autocomplete/autocomplete.component.scss.ngstyle.js +0 -9
  582. package/esm2015/autocomplete/autocomplete.directive.js +0 -253
  583. package/esm2015/autocomplete/autocomplete.directive.ngsummary.json +0 -1
  584. package/esm2015/autocomplete/autocomplete.module.js +0 -36
  585. package/esm2015/autocomplete/autocomplete.module.ngfactory.js +0 -20
  586. package/esm2015/autocomplete/autocomplete.module.ngsummary.json +0 -1
  587. package/esm2015/autocomplete/autocomplete.types.ngsummary.json +0 -1
  588. package/esm2015/autocomplete/helper-directives.js +0 -13
  589. package/esm2015/autocomplete/helper-directives.ngsummary.json +0 -1
  590. package/esm2015/autocomplete/public-api.ngsummary.json +0 -1
  591. package/esm2015/autocomplete/suggestion/suggestion.component.js +0 -79
  592. package/esm2015/autocomplete/suggestion/suggestion.component.ngfactory.js +0 -22
  593. package/esm2015/autocomplete/suggestion/suggestion.component.ngsummary.json +0 -1
  594. package/esm2015/autocomplete/suggestion/suggestion.component.scss.ngstyle.js +0 -9
  595. package/esm2015/autocomplete/suggestion-group/suggestion-group.component.js +0 -25
  596. package/esm2015/autocomplete/suggestion-group/suggestion-group.component.ngfactory.js +0 -18
  597. package/esm2015/autocomplete/suggestion-group/suggestion-group.component.ngsummary.json +0 -1
  598. package/esm2015/autocomplete/suggestion-group/suggestion-group.component.scss.ngstyle.js +0 -9
  599. package/esm2015/back-top/back-top.component.js +0 -75
  600. package/esm2015/back-top/back-top.component.ngfactory.js +0 -25
  601. package/esm2015/back-top/back-top.component.ngsummary.json +0 -1
  602. package/esm2015/back-top/back-top.component.scss.ngstyle.js +0 -9
  603. package/esm2015/back-top/back-top.module.js +0 -14
  604. package/esm2015/back-top/back-top.module.ngfactory.js +0 -16
  605. package/esm2015/back-top/back-top.module.ngsummary.json +0 -1
  606. package/esm2015/back-top/public-api.ngsummary.json +0 -1
  607. package/esm2015/breadcrumb/breadcrumb-item.component.js +0 -36
  608. package/esm2015/breadcrumb/breadcrumb-item.component.ngfactory.js +0 -23
  609. package/esm2015/breadcrumb/breadcrumb-item.component.ngsummary.json +0 -1
  610. package/esm2015/breadcrumb/breadcrumb-item.component.scss.ngstyle.js +0 -9
  611. package/esm2015/breadcrumb/breadcrumb.component.js +0 -58
  612. package/esm2015/breadcrumb/breadcrumb.component.ngfactory.js +0 -17
  613. package/esm2015/breadcrumb/breadcrumb.component.ngsummary.json +0 -1
  614. package/esm2015/breadcrumb/breadcrumb.component.scss.ngstyle.js +0 -9
  615. package/esm2015/breadcrumb/breadcrumb.module.js +0 -15
  616. package/esm2015/breadcrumb/breadcrumb.module.ngfactory.js +0 -16
  617. package/esm2015/breadcrumb/breadcrumb.module.ngsummary.json +0 -1
  618. package/esm2015/breadcrumb/public-api.ngsummary.json +0 -1
  619. package/esm2015/button/button-group/button-group.component.js +0 -14
  620. package/esm2015/button/button-group/button-group.component.ngfactory.js +0 -17
  621. package/esm2015/button/button-group/button-group.component.ngsummary.json +0 -1
  622. package/esm2015/button/button-group/button-group.component.scss.ngstyle.js +0 -9
  623. package/esm2015/button/button.component.js +0 -124
  624. package/esm2015/button/button.component.ngfactory.js +0 -23
  625. package/esm2015/button/button.component.ngsummary.json +0 -1
  626. package/esm2015/button/button.component.scss.ngstyle.js +0 -9
  627. package/esm2015/button/button.module.js +0 -15
  628. package/esm2015/button/button.module.ngfactory.js +0 -16
  629. package/esm2015/button/button.module.ngsummary.json +0 -1
  630. package/esm2015/button/button.types.ngsummary.json +0 -1
  631. package/esm2015/button/public-api.ngsummary.json +0 -1
  632. package/esm2015/card/card.component.js +0 -20
  633. package/esm2015/card/card.component.ngfactory.js +0 -17
  634. package/esm2015/card/card.component.ngsummary.json +0 -1
  635. package/esm2015/card/card.component.scss.ngstyle.js +0 -9
  636. package/esm2015/card/card.module.js +0 -27
  637. package/esm2015/card/card.module.ngfactory.js +0 -12
  638. package/esm2015/card/card.module.ngsummary.json +0 -1
  639. package/esm2015/card/helper-directives.js +0 -33
  640. package/esm2015/card/helper-directives.ngsummary.json +0 -1
  641. package/esm2015/card/public-api.ngsummary.json +0 -1
  642. package/esm2015/card/section.component.js +0 -14
  643. package/esm2015/card/section.component.ngfactory.js +0 -17
  644. package/esm2015/card/section.component.ngsummary.json +0 -1
  645. package/esm2015/card/section.component.scss.ngstyle.js +0 -9
  646. package/esm2015/checkbox/checkbox-group/checkbox-group.component.js +0 -60
  647. package/esm2015/checkbox/checkbox-group/checkbox-group.component.ngfactory.js +0 -18
  648. package/esm2015/checkbox/checkbox-group/checkbox-group.component.ngsummary.json +0 -1
  649. package/esm2015/checkbox/checkbox-group/checkbox-group.component.scss.ngstyle.js +0 -9
  650. package/esm2015/checkbox/checkbox.component.js +0 -105
  651. package/esm2015/checkbox/checkbox.component.ngfactory.js +0 -30
  652. package/esm2015/checkbox/checkbox.component.ngsummary.json +0 -1
  653. package/esm2015/checkbox/checkbox.component.scss.ngstyle.js +0 -9
  654. package/esm2015/checkbox/checkbox.module.js +0 -15
  655. package/esm2015/checkbox/checkbox.module.ngfactory.js +0 -16
  656. package/esm2015/checkbox/checkbox.module.ngsummary.json +0 -1
  657. package/esm2015/checkbox/public-api.ngsummary.json +0 -1
  658. package/esm2015/color-picker/color-picker.component.js +0 -29
  659. package/esm2015/color-picker/color-picker.component.ngfactory.js +0 -22
  660. package/esm2015/color-picker/color-picker.component.ngsummary.json +0 -1
  661. package/esm2015/color-picker/color-picker.component.scss.ngstyle.js +0 -9
  662. package/esm2015/color-picker/color-picker.module.js +0 -14
  663. package/esm2015/color-picker/color-picker.module.ngfactory.js +0 -13
  664. package/esm2015/color-picker/color-picker.module.ngsummary.json +0 -1
  665. package/esm2015/color-picker/public-api.ngsummary.json +0 -1
  666. package/esm2015/date-picker/calendar/constant.ngsummary.json +0 -1
  667. package/esm2015/date-picker/calendar/date-picker-panel/component.js +0 -106
  668. package/esm2015/date-picker/calendar/date-picker-panel/component.ngfactory.js +0 -65
  669. package/esm2015/date-picker/calendar/date-picker-panel/component.ngsummary.json +0 -1
  670. package/esm2015/date-picker/calendar/date-picker-panel/style.scss.ngstyle.js +0 -9
  671. package/esm2015/date-picker/calendar/footer/component.js +0 -25
  672. package/esm2015/date-picker/calendar/footer/component.ngfactory.js +0 -32
  673. package/esm2015/date-picker/calendar/footer/component.ngsummary.json +0 -1
  674. package/esm2015/date-picker/calendar/footer/style.scss.ngstyle.js +0 -9
  675. package/esm2015/date-picker/calendar/header/component.js +0 -100
  676. package/esm2015/date-picker/calendar/header/component.ngfactory.js +0 -58
  677. package/esm2015/date-picker/calendar/header/component.ngsummary.json +0 -1
  678. package/esm2015/date-picker/calendar/header/style.scss.ngstyle.js +0 -9
  679. package/esm2015/date-picker/calendar/panel/picker-panel.js +0 -144
  680. package/esm2015/date-picker/calendar/panel/picker-panel.ngfactory.js +0 -34
  681. package/esm2015/date-picker/calendar/panel/picker-panel.ngsummary.json +0 -1
  682. package/esm2015/date-picker/calendar/panel/picker-panel.style.scss.ngstyle.js +0 -9
  683. package/esm2015/date-picker/calendar/range-picker-panel/component.js +0 -193
  684. package/esm2015/date-picker/calendar/range-picker-panel/component.ngfactory.js +0 -76
  685. package/esm2015/date-picker/calendar/range-picker-panel/component.ngsummary.json +0 -1
  686. package/esm2015/date-picker/calendar/range-picker-panel/style.scss.ngstyle.js +0 -9
  687. package/esm2015/date-picker/calendar/util.ngsummary.json +0 -1
  688. package/esm2015/date-picker/date-picker/date-picker.component.js +0 -84
  689. package/esm2015/date-picker/date-picker/date-picker.component.ngfactory.js +0 -49
  690. package/esm2015/date-picker/date-picker/date-picker.component.ngsummary.json +0 -1
  691. package/esm2015/date-picker/date-picker/date-picker.style.scss.shim.ngstyle.js +0 -9
  692. package/esm2015/date-picker/date-picker.module.js +0 -47
  693. package/esm2015/date-picker/date-picker.module.ngfactory.js +0 -31
  694. package/esm2015/date-picker/date-picker.module.ngsummary.json +0 -1
  695. package/esm2015/date-picker/date-picker.type.ngsummary.json +0 -1
  696. package/esm2015/date-picker/public-api.js +0 -11
  697. package/esm2015/date-picker/public-api.ngsummary.json +0 -1
  698. package/esm2015/date-picker/range-picker/range-picker.component.js +0 -66
  699. package/esm2015/date-picker/range-picker/range-picker.component.ngfactory.js +0 -49
  700. package/esm2015/date-picker/range-picker/range-picker.component.ngsummary.json +0 -1
  701. package/esm2015/date-picker/range-picker/range-picker.style.scss.shim.ngstyle.js +0 -9
  702. package/esm2015/date-picker/trigger/trigger.component.js +0 -61
  703. package/esm2015/date-picker/trigger/trigger.component.ngfactory.js +0 -66
  704. package/esm2015/date-picker/trigger/trigger.component.ngsummary.json +0 -1
  705. package/esm2015/date-picker/trigger/trigger.style.scss.shim.ngstyle.js +0 -9
  706. package/esm2015/dialog/confirm-dialog/confirm-dialog-config.ngsummary.json +0 -1
  707. package/esm2015/dialog/confirm-dialog/confirm-dialog.component.js +0 -95
  708. package/esm2015/dialog/confirm-dialog/confirm-dialog.component.ngfactory.js +0 -32
  709. package/esm2015/dialog/confirm-dialog/confirm-dialog.component.ngsummary.json +0 -1
  710. package/esm2015/dialog/confirm-dialog/confirm-dialog.component.scss.ngstyle.js +0 -9
  711. package/esm2015/dialog/dialog-config.ngsummary.json +0 -1
  712. package/esm2015/dialog/dialog-content/dialog-close.directive.js +0 -35
  713. package/esm2015/dialog/dialog-content/dialog-close.directive.ngsummary.json +0 -1
  714. package/esm2015/dialog/dialog-content/dialog-content.component.js +0 -27
  715. package/esm2015/dialog/dialog-content/dialog-content.component.ngfactory.js +0 -18
  716. package/esm2015/dialog/dialog-content/dialog-content.component.ngsummary.json +0 -1
  717. package/esm2015/dialog/dialog-content/dialog-footer.component.js +0 -17
  718. package/esm2015/dialog/dialog-content/dialog-footer.component.ngfactory.js +0 -16
  719. package/esm2015/dialog/dialog-content/dialog-footer.component.ngsummary.json +0 -1
  720. package/esm2015/dialog/dialog-content/dialog-header.component.js +0 -41
  721. package/esm2015/dialog/dialog-content/dialog-header.component.ngfactory.js +0 -26
  722. package/esm2015/dialog/dialog-content/dialog-header.component.ngsummary.json +0 -1
  723. package/esm2015/dialog/dialog-ref.ngsummary.json +0 -1
  724. package/esm2015/dialog/dialog.component.js +0 -64
  725. package/esm2015/dialog/dialog.component.ngfactory.js +0 -20
  726. package/esm2015/dialog/dialog.component.ngsummary.json +0 -1
  727. package/esm2015/dialog/dialog.component.scss.ngstyle.js +0 -9
  728. package/esm2015/dialog/dialog.module.js +0 -44
  729. package/esm2015/dialog/dialog.module.ngfactory.js +0 -25
  730. package/esm2015/dialog/dialog.module.ngsummary.json +0 -1
  731. package/esm2015/dialog/dialog.service.js +0 -132
  732. package/esm2015/dialog/dialog.service.ngsummary.json +0 -1
  733. package/esm2015/dialog/dialog.types.ngsummary.json +0 -1
  734. package/esm2015/dialog/public-api.js +0 -11
  735. package/esm2015/dialog/public-api.ngsummary.json +0 -1
  736. package/esm2015/dialog/utils/errors.ngsummary.json +0 -1
  737. package/esm2015/dialog/utils/index.js +0 -11
  738. package/esm2015/dialog/utils/index.ngsummary.json +0 -1
  739. package/esm2015/drawer/component/drawer-ref.ngsummary.json +0 -1
  740. package/esm2015/drawer/component/drawer.component.js +0 -210
  741. package/esm2015/drawer/component/drawer.component.ngfactory.js +0 -42
  742. package/esm2015/drawer/component/drawer.component.ngsummary.json +0 -1
  743. package/esm2015/drawer/component/drawer.component.scss.ngstyle.js +0 -9
  744. package/esm2015/drawer/component/helper-directives.js +0 -27
  745. package/esm2015/drawer/component/helper-directives.ngsummary.json +0 -1
  746. package/esm2015/drawer/drawer.module.js +0 -26
  747. package/esm2015/drawer/drawer.module.ngfactory.js +0 -23
  748. package/esm2015/drawer/drawer.module.ngsummary.json +0 -1
  749. package/esm2015/drawer/drawer.service.js +0 -46
  750. package/esm2015/drawer/drawer.service.ngsummary.json +0 -1
  751. package/esm2015/drawer/public-api.ngsummary.json +0 -1
  752. package/esm2015/dropdown/dropdown-active.directive.js +0 -13
  753. package/esm2015/dropdown/dropdown-active.directive.ngsummary.json +0 -1
  754. package/esm2015/dropdown/dropdown-button/dropdown-button.component.js +0 -46
  755. package/esm2015/dropdown/dropdown-button/dropdown-button.component.ngfactory.js +0 -29
  756. package/esm2015/dropdown/dropdown-button/dropdown-button.component.ngsummary.json +0 -1
  757. package/esm2015/dropdown/dropdown-button/dropdown-button.component.scss.ngstyle.js +0 -9
  758. package/esm2015/dropdown/dropdown.directive.js +0 -73
  759. package/esm2015/dropdown/dropdown.directive.ngsummary.json +0 -1
  760. package/esm2015/dropdown/dropdown.module.js +0 -44
  761. package/esm2015/dropdown/dropdown.module.ngfactory.js +0 -25
  762. package/esm2015/dropdown/dropdown.module.ngsummary.json +0 -1
  763. package/esm2015/dropdown/dropdown.types.ngsummary.json +0 -1
  764. package/esm2015/dropdown/helper-directives.js +0 -13
  765. package/esm2015/dropdown/helper-directives.ngsummary.json +0 -1
  766. package/esm2015/dropdown/menu/menu-content.directive.js +0 -54
  767. package/esm2015/dropdown/menu/menu-content.directive.ngsummary.json +0 -1
  768. package/esm2015/dropdown/menu/menu.component.js +0 -32
  769. package/esm2015/dropdown/menu/menu.component.ngfactory.js +0 -18
  770. package/esm2015/dropdown/menu/menu.component.ngsummary.json +0 -1
  771. package/esm2015/dropdown/menu/menu.component.scss.ngstyle.js +0 -9
  772. package/esm2015/dropdown/menu-group/menu-group.component.js +0 -14
  773. package/esm2015/dropdown/menu-group/menu-group.component.ngfactory.js +0 -17
  774. package/esm2015/dropdown/menu-group/menu-group.component.ngsummary.json +0 -1
  775. package/esm2015/dropdown/menu-group/menu-group.component.scss.ngstyle.js +0 -9
  776. package/esm2015/dropdown/menu-item/menu-item.component.js +0 -38
  777. package/esm2015/dropdown/menu-item/menu-item.component.ngfactory.js +0 -17
  778. package/esm2015/dropdown/menu-item/menu-item.component.ngsummary.json +0 -1
  779. package/esm2015/dropdown/menu-item/menu-item.component.scss.ngstyle.js +0 -9
  780. package/esm2015/dropdown/public-api.js +0 -11
  781. package/esm2015/dropdown/public-api.ngsummary.json +0 -1
  782. package/esm2015/dropdown/submenu/submenu.component.js +0 -37
  783. package/esm2015/dropdown/submenu/submenu.component.ngfactory.js +0 -29
  784. package/esm2015/dropdown/submenu/submenu.component.ngsummary.json +0 -1
  785. package/esm2015/dropdown/submenu/submenu.component.scss.ngstyle.js +0 -9
  786. package/esm2015/form/common-form.js +0 -89
  787. package/esm2015/form/common-form.ngsummary.json +0 -1
  788. package/esm2015/form/form-item/form-item.component.js +0 -93
  789. package/esm2015/form/form-item/form-item.component.ngfactory.js +0 -23
  790. package/esm2015/form/form-item/form-item.component.ngsummary.json +0 -1
  791. package/esm2015/form/form-item/form-item.component.scss.ngstyle.js +0 -9
  792. package/esm2015/form/form.directive.js +0 -58
  793. package/esm2015/form/form.directive.ngsummary.json +0 -1
  794. package/esm2015/form/form.module.js +0 -31
  795. package/esm2015/form/form.module.ngfactory.js +0 -12
  796. package/esm2015/form/form.module.ngsummary.json +0 -1
  797. package/esm2015/form/form.types.ngsummary.json +0 -1
  798. package/esm2015/form/helper-directives.js +0 -66
  799. package/esm2015/form/helper-directives.ngsummary.json +0 -1
  800. package/esm2015/form/public-api.ngsummary.json +0 -1
  801. package/esm2015/i18n/i18n.module.js +0 -11
  802. package/esm2015/i18n/i18n.module.ngfactory.js +0 -11
  803. package/esm2015/i18n/i18n.module.ngsummary.json +0 -1
  804. package/esm2015/i18n/i18n.pipe.js +0 -19
  805. package/esm2015/i18n/i18n.pipe.ngsummary.json +0 -1
  806. package/esm2015/i18n/i18n.service.js +0 -43
  807. package/esm2015/i18n/i18n.service.ngsummary.json +0 -1
  808. package/esm2015/i18n/i18n.type.js +0 -6
  809. package/esm2015/i18n/i18n.type.ngsummary.json +0 -1
  810. package/esm2015/i18n/language/en.ngsummary.json +0 -1
  811. package/esm2015/i18n/language/zh.ngsummary.json +0 -1
  812. package/esm2015/i18n/public-api.ngsummary.json +0 -1
  813. package/esm2015/icon/icon-register.service.js +0 -63
  814. package/esm2015/icon/icon-register.service.ngsummary.json +0 -1
  815. package/esm2015/icon/icon.component.js +0 -62
  816. package/esm2015/icon/icon.component.ngfactory.js +0 -25
  817. package/esm2015/icon/icon.component.ngsummary.json +0 -1
  818. package/esm2015/icon/icon.component.scss.ngstyle.js +0 -9
  819. package/esm2015/icon/icon.module.js +0 -16
  820. package/esm2015/icon/icon.module.ngfactory.js +0 -15
  821. package/esm2015/icon/icon.module.ngsummary.json +0 -1
  822. package/esm2015/icon/icons.ngsummary.json +0 -1
  823. package/esm2015/icon/public-api.ngsummary.json +0 -1
  824. package/esm2015/icon/utils.ngsummary.json +0 -1
  825. package/esm2015/inline-alert/helper-directives.js +0 -10
  826. package/esm2015/inline-alert/helper-directives.ngsummary.json +0 -1
  827. package/esm2015/inline-alert/inline-alert.component.js +0 -51
  828. package/esm2015/inline-alert/inline-alert.component.ngfactory.js +0 -29
  829. package/esm2015/inline-alert/inline-alert.component.ngsummary.json +0 -1
  830. package/esm2015/inline-alert/inline-alert.component.scss.ngstyle.js +0 -9
  831. package/esm2015/inline-alert/inline-alert.module.js +0 -15
  832. package/esm2015/inline-alert/inline-alert.module.ngfactory.js +0 -16
  833. package/esm2015/inline-alert/inline-alert.module.ngsummary.json +0 -1
  834. package/esm2015/inline-alert/inline-alert.types.ngsummary.json +0 -1
  835. package/esm2015/inline-alert/public-api.ngsummary.json +0 -1
  836. package/esm2015/input/autosize.directive.js +0 -61
  837. package/esm2015/input/autosize.directive.ngsummary.json +0 -1
  838. package/esm2015/input/helper-directives.js +0 -30
  839. package/esm2015/input/helper-directives.ngsummary.json +0 -1
  840. package/esm2015/input/input-group/input-group.component.js +0 -33
  841. package/esm2015/input/input-group/input-group.component.ngfactory.js +0 -22
  842. package/esm2015/input/input-group/input-group.component.ngsummary.json +0 -1
  843. package/esm2015/input/input-group/input-group.component.scss.ngstyle.js +0 -9
  844. package/esm2015/input/input.component.js +0 -69
  845. package/esm2015/input/input.component.ngfactory.js +0 -17
  846. package/esm2015/input/input.component.ngsummary.json +0 -1
  847. package/esm2015/input/input.component.scss.ngstyle.js +0 -9
  848. package/esm2015/input/input.module.js +0 -54
  849. package/esm2015/input/input.module.ngfactory.js +0 -20
  850. package/esm2015/input/input.module.ngsummary.json +0 -1
  851. package/esm2015/input/number-input/number-input.component.js +0 -83
  852. package/esm2015/input/number-input/number-input.component.ngfactory.js +0 -51
  853. package/esm2015/input/number-input/number-input.component.ngsummary.json +0 -1
  854. package/esm2015/input/number-input/number-input.component.scss.ngstyle.js +0 -9
  855. package/esm2015/input/public-api.js +0 -7
  856. package/esm2015/input/public-api.ngsummary.json +0 -1
  857. package/esm2015/input/search/search.component.js +0 -72
  858. package/esm2015/input/search/search.component.ngfactory.js +0 -51
  859. package/esm2015/input/search/search.component.ngsummary.json +0 -1
  860. package/esm2015/input/search/search.component.scss.ngstyle.js +0 -9
  861. package/esm2015/input/tags-input/tags-input.component.js +0 -252
  862. package/esm2015/input/tags-input/tags-input.component.ngfactory.js +0 -45
  863. package/esm2015/input/tags-input/tags-input.component.ngsummary.json +0 -1
  864. package/esm2015/input/tags-input/tags-input.component.scss.ngstyle.js +0 -9
  865. package/esm2015/input/tags-input/with-max-row-count.ngsummary.json +0 -1
  866. package/esm2015/input/utils/index.ngsummary.json +0 -1
  867. package/esm2015/message/base-message.js +0 -87
  868. package/esm2015/message/base-message.ngsummary.json +0 -1
  869. package/esm2015/message/message-animations.ngsummary.json +0 -1
  870. package/esm2015/message/message-wrapper.component.js +0 -20
  871. package/esm2015/message/message-wrapper.component.ngfactory.js +0 -17
  872. package/esm2015/message/message-wrapper.component.ngsummary.json +0 -1
  873. package/esm2015/message/message-wrapper.component.scss.ngstyle.js +0 -9
  874. package/esm2015/message/message.component.js +0 -77
  875. package/esm2015/message/message.component.ngfactory.js +0 -23
  876. package/esm2015/message/message.component.ngsummary.json +0 -1
  877. package/esm2015/message/message.component.scss.ngstyle.js +0 -9
  878. package/esm2015/message/message.config.ngsummary.json +0 -1
  879. package/esm2015/message/message.module.js +0 -18
  880. package/esm2015/message/message.module.ngfactory.js +0 -25
  881. package/esm2015/message/message.module.ngsummary.json +0 -1
  882. package/esm2015/message/message.service.js +0 -22
  883. package/esm2015/message/message.service.ngsummary.json +0 -1
  884. package/esm2015/message/public-api.ngsummary.json +0 -1
  885. package/esm2015/notification/notification-wrapper.component.js +0 -22
  886. package/esm2015/notification/notification-wrapper.component.ngfactory.js +0 -17
  887. package/esm2015/notification/notification-wrapper.component.ngsummary.json +0 -1
  888. package/esm2015/notification/notification-wrapper.component.scss.ngstyle.js +0 -9
  889. package/esm2015/notification/notification.component.js +0 -106
  890. package/esm2015/notification/notification.component.ngfactory.js +0 -42
  891. package/esm2015/notification/notification.component.ngsummary.json +0 -1
  892. package/esm2015/notification/notification.component.scss.ngstyle.js +0 -9
  893. package/esm2015/notification/notification.config.ngsummary.json +0 -1
  894. package/esm2015/notification/notification.module.js +0 -19
  895. package/esm2015/notification/notification.module.ngfactory.js +0 -25
  896. package/esm2015/notification/notification.module.ngsummary.json +0 -1
  897. package/esm2015/notification/notification.service.js +0 -22
  898. package/esm2015/notification/notification.service.ngsummary.json +0 -1
  899. package/esm2015/notification/public-api.ngsummary.json +0 -1
  900. package/esm2015/paginator/paginator-intl.js +0 -33
  901. package/esm2015/paginator/paginator-intl.ngsummary.json +0 -1
  902. package/esm2015/paginator/paginator.component.js +0 -118
  903. package/esm2015/paginator/paginator.component.ngfactory.js +0 -73
  904. package/esm2015/paginator/paginator.component.ngsummary.json +0 -1
  905. package/esm2015/paginator/paginator.component.scss.ngstyle.js +0 -9
  906. package/esm2015/paginator/paginator.module.js +0 -19
  907. package/esm2015/paginator/paginator.module.ngfactory.js +0 -32
  908. package/esm2015/paginator/paginator.module.ngsummary.json +0 -1
  909. package/esm2015/paginator/public-api.ngsummary.json +0 -1
  910. package/esm2015/public-api.ngsummary.json +0 -1
  911. package/esm2015/radio/base-radio.js +0 -69
  912. package/esm2015/radio/base-radio.ngsummary.json +0 -1
  913. package/esm2015/radio/public-api.ngsummary.json +0 -1
  914. package/esm2015/radio/radio-button/radio-button.component.js +0 -48
  915. package/esm2015/radio/radio-button/radio-button.component.ngfactory.js +0 -30
  916. package/esm2015/radio/radio-button/radio-button.component.ngsummary.json +0 -1
  917. package/esm2015/radio/radio-button/radio-button.component.scss.ngstyle.js +0 -9
  918. package/esm2015/radio/radio-group/radio-group.component.js +0 -75
  919. package/esm2015/radio/radio-group/radio-group.component.ngfactory.js +0 -18
  920. package/esm2015/radio/radio-group/radio-group.component.ngsummary.json +0 -1
  921. package/esm2015/radio/radio-group/radio-group.component.scss.ngstyle.js +0 -9
  922. package/esm2015/radio/radio.component.js +0 -31
  923. package/esm2015/radio/radio.component.ngfactory.js +0 -26
  924. package/esm2015/radio/radio.component.ngsummary.json +0 -1
  925. package/esm2015/radio/radio.component.scss.ngstyle.js +0 -9
  926. package/esm2015/radio/radio.module.js +0 -16
  927. package/esm2015/radio/radio.module.ngfactory.js +0 -16
  928. package/esm2015/radio/radio.module.ngsummary.json +0 -1
  929. package/esm2015/radio/radio.types.ngsummary.json +0 -1
  930. package/esm2015/scrolling/fixed-size-table-virtual-scroll-strategy.js +0 -81
  931. package/esm2015/scrolling/fixed-size-table-virtual-scroll-strategy.ngsummary.json +0 -1
  932. package/esm2015/scrolling/fixed-size-table-virtual-scroll.directive.js +0 -108
  933. package/esm2015/scrolling/fixed-size-table-virtual-scroll.directive.ngsummary.json +0 -1
  934. package/esm2015/scrolling/fixed-size-virtual-scroll.directive.js +0 -20
  935. package/esm2015/scrolling/fixed-size-virtual-scroll.directive.ngsummary.json +0 -1
  936. package/esm2015/scrolling/public-api.js +0 -6
  937. package/esm2015/scrolling/public-api.ngsummary.json +0 -1
  938. package/esm2015/scrolling/scrolling.module.js +0 -21
  939. package/esm2015/scrolling/scrolling.module.ngfactory.js +0 -11
  940. package/esm2015/scrolling/scrolling.module.ngsummary.json +0 -1
  941. package/esm2015/scrolling/virtual-for-of.directive.js +0 -30
  942. package/esm2015/scrolling/virtual-for-of.directive.ngsummary.json +0 -1
  943. package/esm2015/scrolling/virtual-scroll-viewport.component.js +0 -26
  944. package/esm2015/scrolling/virtual-scroll-viewport.component.ngfactory.js +0 -19
  945. package/esm2015/scrolling/virtual-scroll-viewport.component.ngsummary.json +0 -1
  946. package/esm2015/scrolling/virtual-scroll-viewport.component.scss.ngstyle.js +0 -9
  947. package/esm2015/select/base-select.js +0 -311
  948. package/esm2015/select/base-select.ngsummary.json +0 -1
  949. package/esm2015/select/helper-directives.js +0 -22
  950. package/esm2015/select/helper-directives.ngsummary.json +0 -1
  951. package/esm2015/select/multi-select/multi-select.component.js +0 -276
  952. package/esm2015/select/multi-select/multi-select.component.ngfactory.js +0 -76
  953. package/esm2015/select/multi-select/multi-select.component.ngsummary.json +0 -1
  954. package/esm2015/select/multi-select/multi-select.component.scss.ngstyle.js +0 -9
  955. package/esm2015/select/option/option.component.js +0 -107
  956. package/esm2015/select/option/option.component.ngfactory.js +0 -26
  957. package/esm2015/select/option/option.component.ngsummary.json +0 -1
  958. package/esm2015/select/option/option.component.scss.ngstyle.js +0 -9
  959. package/esm2015/select/option-group/option-group.component.js +0 -25
  960. package/esm2015/select/option-group/option-group.component.ngfactory.js +0 -18
  961. package/esm2015/select/option-group/option-group.component.ngsummary.json +0 -1
  962. package/esm2015/select/option-group/option-group.component.scss.ngstyle.js +0 -9
  963. package/esm2015/select/option-placeholder.component.js +0 -13
  964. package/esm2015/select/option-placeholder.component.ngfactory.js +0 -16
  965. package/esm2015/select/option-placeholder.component.ngsummary.json +0 -1
  966. package/esm2015/select/public-api.ngsummary.json +0 -1
  967. package/esm2015/select/select.component.js +0 -95
  968. package/esm2015/select/select.component.ngfactory.js +0 -63
  969. package/esm2015/select/select.component.ngsummary.json +0 -1
  970. package/esm2015/select/select.component.scss.ngstyle.js +0 -9
  971. package/esm2015/select/select.module.js +0 -49
  972. package/esm2015/select/select.module.ngfactory.js +0 -30
  973. package/esm2015/select/select.module.ngsummary.json +0 -1
  974. package/esm2015/select/select.types.ngsummary.json +0 -1
  975. package/esm2015/select/validators.js +0 -72
  976. package/esm2015/select/validators.ngsummary.json +0 -1
  977. package/esm2015/shared/click-outside.directive.js +0 -26
  978. package/esm2015/shared/click-outside.directive.ngsummary.json +0 -1
  979. package/esm2015/shared/shared.module.js +0 -11
  980. package/esm2015/shared/shared.module.ngfactory.js +0 -11
  981. package/esm2015/shared/shared.module.ngsummary.json +0 -1
  982. package/esm2015/sort/public-api.ngsummary.json +0 -1
  983. package/esm2015/sort/sort-errors.ngsummary.json +0 -1
  984. package/esm2015/sort/sort-header.component.js +0 -76
  985. package/esm2015/sort/sort-header.component.ngfactory.js +0 -22
  986. package/esm2015/sort/sort-header.component.ngsummary.json +0 -1
  987. package/esm2015/sort/sort-header.component.scss.ngstyle.js +0 -9
  988. package/esm2015/sort/sort.directive.js +0 -69
  989. package/esm2015/sort/sort.directive.ngsummary.json +0 -1
  990. package/esm2015/sort/sort.module.js +0 -14
  991. package/esm2015/sort/sort.module.ngfactory.js +0 -12
  992. package/esm2015/sort/sort.module.ngsummary.json +0 -1
  993. package/esm2015/sort/sort.types.ngsummary.json +0 -1
  994. package/esm2015/status-bar/public-api.ngsummary.json +0 -1
  995. package/esm2015/status-bar/status-bar.component.js +0 -28
  996. package/esm2015/status-bar/status-bar.component.ngfactory.js +0 -26
  997. package/esm2015/status-bar/status-bar.component.ngsummary.json +0 -1
  998. package/esm2015/status-bar/status-bar.component.scss.ngstyle.js +0 -9
  999. package/esm2015/status-bar/status-bar.module.js +0 -14
  1000. package/esm2015/status-bar/status-bar.module.ngfactory.js +0 -20
  1001. package/esm2015/status-bar/status-bar.module.ngsummary.json +0 -1
  1002. package/esm2015/status-bar/status-bar.types.ngsummary.json +0 -1
  1003. package/esm2015/steps/public-api.ngsummary.json +0 -1
  1004. package/esm2015/steps/steps.component.js +0 -179
  1005. package/esm2015/steps/steps.component.ngfactory.js +0 -34
  1006. package/esm2015/steps/steps.component.ngsummary.json +0 -1
  1007. package/esm2015/steps/steps.component.scss.ngstyle.js +0 -9
  1008. package/esm2015/steps/steps.module.js +0 -14
  1009. package/esm2015/steps/steps.module.ngfactory.js +0 -16
  1010. package/esm2015/steps/steps.module.ngsummary.json +0 -1
  1011. package/esm2015/steps/types.ngsummary.json +0 -1
  1012. package/esm2015/switch/public-api.ngsummary.json +0 -1
  1013. package/esm2015/switch/switch.component.js +0 -47
  1014. package/esm2015/switch/switch.component.ngfactory.js +0 -25
  1015. package/esm2015/switch/switch.component.ngsummary.json +0 -1
  1016. package/esm2015/switch/switch.component.scss.ngstyle.js +0 -9
  1017. package/esm2015/switch/switch.module.js +0 -13
  1018. package/esm2015/switch/switch.module.ngfactory.js +0 -12
  1019. package/esm2015/switch/switch.module.ngsummary.json +0 -1
  1020. package/esm2015/table/public-api.js +0 -13
  1021. package/esm2015/table/public-api.ngsummary.json +0 -1
  1022. package/esm2015/table/table-cell-def.directive.js +0 -20
  1023. package/esm2015/table/table-cell-def.directive.ngsummary.json +0 -1
  1024. package/esm2015/table/table-cell.component.js +0 -82
  1025. package/esm2015/table/table-cell.component.ngfactory.js +0 -32
  1026. package/esm2015/table/table-cell.component.ngsummary.json +0 -1
  1027. package/esm2015/table/table-cell.directive.js +0 -26
  1028. package/esm2015/table/table-cell.directive.ngsummary.json +0 -1
  1029. package/esm2015/table/table-column-def.directive.js +0 -29
  1030. package/esm2015/table/table-column-def.directive.ngsummary.json +0 -1
  1031. package/esm2015/table/table-header-cell-def.directive.js +0 -20
  1032. package/esm2015/table/table-header-cell-def.directive.ngsummary.json +0 -1
  1033. package/esm2015/table/table-header-cell.directive.js +0 -26
  1034. package/esm2015/table/table-header-cell.directive.ngsummary.json +0 -1
  1035. package/esm2015/table/table-header-row-def.directive.js +0 -24
  1036. package/esm2015/table/table-header-row-def.directive.ngsummary.json +0 -1
  1037. package/esm2015/table/table-header-row.component.js +0 -20
  1038. package/esm2015/table/table-header-row.component.ngfactory.js +0 -17
  1039. package/esm2015/table/table-header-row.component.ngsummary.json +0 -1
  1040. package/esm2015/table/table-placeholder.directive.js +0 -30
  1041. package/esm2015/table/table-placeholder.directive.ngsummary.json +0 -1
  1042. package/esm2015/table/table-row-def.directive.js +0 -25
  1043. package/esm2015/table/table-row-def.directive.ngsummary.json +0 -1
  1044. package/esm2015/table/table-row.component.js +0 -37
  1045. package/esm2015/table/table-row.component.ngfactory.js +0 -17
  1046. package/esm2015/table/table-row.component.ngsummary.json +0 -1
  1047. package/esm2015/table/table-scroll.directive.js +0 -84
  1048. package/esm2015/table/table-scroll.directive.ngsummary.json +0 -1
  1049. package/esm2015/table/table-scroll.scss.ngstyle.js +0 -9
  1050. package/esm2015/table/table.component.js +0 -69
  1051. package/esm2015/table/table.component.ngfactory.js +0 -25
  1052. package/esm2015/table/table.component.ngsummary.json +0 -1
  1053. package/esm2015/table/table.component.scss.ngstyle.js +0 -9
  1054. package/esm2015/table/table.module.js +0 -61
  1055. package/esm2015/table/table.module.ngfactory.js +0 -20
  1056. package/esm2015/table/table.module.ngsummary.json +0 -1
  1057. package/esm2015/table-of-contents/public-api.ngsummary.json +0 -1
  1058. package/esm2015/table-of-contents/table-of-contents.module.js +0 -15
  1059. package/esm2015/table-of-contents/table-of-contents.module.ngfactory.js +0 -12
  1060. package/esm2015/table-of-contents/table-of-contents.module.ngsummary.json +0 -1
  1061. package/esm2015/table-of-contents/toc-container.directive.js +0 -109
  1062. package/esm2015/table-of-contents/toc-container.directive.ngsummary.json +0 -1
  1063. package/esm2015/table-of-contents/toc-content.directive.js +0 -32
  1064. package/esm2015/table-of-contents/toc-content.directive.ngsummary.json +0 -1
  1065. package/esm2015/table-of-contents/toc-link.directive.js +0 -43
  1066. package/esm2015/table-of-contents/toc-link.directive.ngsummary.json +0 -1
  1067. package/esm2015/tabs/public-api.js +0 -10
  1068. package/esm2015/tabs/public-api.ngsummary.json +0 -1
  1069. package/esm2015/tabs/tab-body.component.js +0 -35
  1070. package/esm2015/tabs/tab-body.component.ngfactory.js +0 -18
  1071. package/esm2015/tabs/tab-body.component.ngsummary.json +0 -1
  1072. package/esm2015/tabs/tab-context.service.js +0 -28
  1073. package/esm2015/tabs/tab-context.service.ngsummary.json +0 -1
  1074. package/esm2015/tabs/tab-directives.js +0 -142
  1075. package/esm2015/tabs/tab-directives.ngsummary.json +0 -1
  1076. package/esm2015/tabs/tab-group.component.js +0 -277
  1077. package/esm2015/tabs/tab-group.component.ngfactory.js +0 -56
  1078. package/esm2015/tabs/tab-group.component.ngsummary.json +0 -1
  1079. package/esm2015/tabs/tab-group.component.scss.ngstyle.js +0 -9
  1080. package/esm2015/tabs/tab-header-active-indicator.component.js +0 -59
  1081. package/esm2015/tabs/tab-header-active-indicator.component.ngfactory.js +0 -17
  1082. package/esm2015/tabs/tab-header-active-indicator.component.ngsummary.json +0 -1
  1083. package/esm2015/tabs/tab-header.component.js +0 -348
  1084. package/esm2015/tabs/tab-header.component.ngfactory.js +0 -44
  1085. package/esm2015/tabs/tab-header.component.ngsummary.json +0 -1
  1086. package/esm2015/tabs/tab-header.component.scss.ngstyle.js +0 -9
  1087. package/esm2015/tabs/tab.component.js +0 -82
  1088. package/esm2015/tabs/tab.component.ngfactory.js +0 -18
  1089. package/esm2015/tabs/tab.component.ngsummary.json +0 -1
  1090. package/esm2015/tabs/tabs.module.js +0 -53
  1091. package/esm2015/tabs/tabs.module.ngfactory.js +0 -22
  1092. package/esm2015/tabs/tabs.module.ngsummary.json +0 -1
  1093. package/esm2015/tabs/tabs.types.ngsummary.json +0 -1
  1094. package/esm2015/tag/check-tag/check-tag.component.js +0 -34
  1095. package/esm2015/tag/check-tag/check-tag.component.ngfactory.js +0 -27
  1096. package/esm2015/tag/check-tag/check-tag.component.ngsummary.json +0 -1
  1097. package/esm2015/tag/check-tag/check-tag.component.scss.ngstyle.js +0 -9
  1098. package/esm2015/tag/public-api.ngsummary.json +0 -1
  1099. package/esm2015/tag/tag.component.js +0 -57
  1100. package/esm2015/tag/tag.component.ngfactory.js +0 -26
  1101. package/esm2015/tag/tag.component.ngsummary.json +0 -1
  1102. package/esm2015/tag/tag.component.scss.ngstyle.js +0 -9
  1103. package/esm2015/tag/tag.module.js +0 -15
  1104. package/esm2015/tag/tag.module.ngfactory.js +0 -16
  1105. package/esm2015/tag/tag.module.ngsummary.json +0 -1
  1106. package/esm2015/tag/tag.types.ngsummary.json +0 -1
  1107. package/esm2015/theme/public-api.ngsummary.json +0 -1
  1108. package/esm2015/theme/theme.module.js +0 -13
  1109. package/esm2015/theme/theme.module.ngfactory.js +0 -12
  1110. package/esm2015/theme/theme.module.ngsummary.json +0 -1
  1111. package/esm2015/theme/theme.pipe.js +0 -61
  1112. package/esm2015/theme/theme.pipe.ngsummary.json +0 -1
  1113. package/esm2015/theme/theme.service.js +0 -52
  1114. package/esm2015/theme/theme.service.ngsummary.json +0 -1
  1115. package/esm2015/theme/theme.types.ngsummary.json +0 -1
  1116. package/esm2015/theme/utils.ngsummary.json +0 -1
  1117. package/esm2015/time-picker/component.js +0 -149
  1118. package/esm2015/time-picker/component.ngfactory.js +0 -82
  1119. package/esm2015/time-picker/component.ngsummary.json +0 -1
  1120. package/esm2015/time-picker/constant.js +0 -9
  1121. package/esm2015/time-picker/constant.ngsummary.json +0 -1
  1122. package/esm2015/time-picker/panel/panel.component.js +0 -211
  1123. package/esm2015/time-picker/panel/panel.component.ngfactory.js +0 -49
  1124. package/esm2015/time-picker/panel/panel.component.ngsummary.json +0 -1
  1125. package/esm2015/time-picker/panel/panel.style.scss.ngstyle.js +0 -9
  1126. package/esm2015/time-picker/public-api.ngsummary.json +0 -1
  1127. package/esm2015/time-picker/style.scss.ngstyle.js +0 -9
  1128. package/esm2015/time-picker/time-picker.module.js +0 -33
  1129. package/esm2015/time-picker/time-picker.module.ngfactory.js +0 -30
  1130. package/esm2015/time-picker/time-picker.module.ngsummary.json +0 -1
  1131. package/esm2015/time-picker/time-picker.type.js +0 -13
  1132. package/esm2015/time-picker/time-picker.type.ngsummary.json +0 -1
  1133. package/esm2015/tooltip/base-tooltip.js +0 -255
  1134. package/esm2015/tooltip/base-tooltip.ngsummary.json +0 -1
  1135. package/esm2015/tooltip/public-api.js +0 -8
  1136. package/esm2015/tooltip/public-api.ngsummary.json +0 -1
  1137. package/esm2015/tooltip/tooltip-active.directive.js +0 -44
  1138. package/esm2015/tooltip/tooltip-active.directive.ngsummary.json +0 -1
  1139. package/esm2015/tooltip/tooltip-copy.directive.js +0 -80
  1140. package/esm2015/tooltip/tooltip-copy.directive.ngsummary.json +0 -1
  1141. package/esm2015/tooltip/tooltip-intl.js +0 -25
  1142. package/esm2015/tooltip/tooltip-intl.ngsummary.json +0 -1
  1143. package/esm2015/tooltip/tooltip.component.js +0 -55
  1144. package/esm2015/tooltip/tooltip.component.ngfactory.js +0 -25
  1145. package/esm2015/tooltip/tooltip.component.ngsummary.json +0 -1
  1146. package/esm2015/tooltip/tooltip.component.scss.ngstyle.js +0 -9
  1147. package/esm2015/tooltip/tooltip.directive.js +0 -45
  1148. package/esm2015/tooltip/tooltip.directive.ngsummary.json +0 -1
  1149. package/esm2015/tooltip/tooltip.module.js +0 -25
  1150. package/esm2015/tooltip/tooltip.module.ngfactory.js +0 -19
  1151. package/esm2015/tooltip/tooltip.module.ngsummary.json +0 -1
  1152. package/esm2015/tooltip/tooltip.types.ngsummary.json +0 -1
  1153. package/esm2015/tooltip/utils/index.ngsummary.json +0 -1
  1154. package/esm2015/tree-select/public-api.js +0 -6
  1155. package/esm2015/tree-select/public-api.ngsummary.json +0 -1
  1156. package/esm2015/tree-select/tree-node/tree-node.component.js +0 -127
  1157. package/esm2015/tree-select/tree-node/tree-node.component.ngfactory.js +0 -32
  1158. package/esm2015/tree-select/tree-node/tree-node.component.ngsummary.json +0 -1
  1159. package/esm2015/tree-select/tree-node/tree-node.component.scss.ngstyle.js +0 -9
  1160. package/esm2015/tree-select/tree-node-placeholder.component.js +0 -13
  1161. package/esm2015/tree-select/tree-node-placeholder.component.ngfactory.js +0 -16
  1162. package/esm2015/tree-select/tree-node-placeholder.component.ngsummary.json +0 -1
  1163. package/esm2015/tree-select/tree-select.component.js +0 -204
  1164. package/esm2015/tree-select/tree-select.component.ngfactory.js +0 -56
  1165. package/esm2015/tree-select/tree-select.component.ngsummary.json +0 -1
  1166. package/esm2015/tree-select/tree-select.component.scss.ngstyle.js +0 -9
  1167. package/esm2015/tree-select/tree-select.module.js +0 -26
  1168. package/esm2015/tree-select/tree-select.module.ngfactory.js +0 -29
  1169. package/esm2015/tree-select/tree-select.module.ngsummary.json +0 -1
  1170. package/esm2015/tree-select/tree-select.types.ngsummary.json +0 -1
  1171. package/esm2015/types.ngsummary.json +0 -1
  1172. package/esm2015/utils/async.ngsummary.json +0 -1
  1173. package/esm2015/utils/bem.ngsummary.json +0 -1
  1174. package/esm2015/utils/coercion.js +0 -16
  1175. package/esm2015/utils/coercion.ngsummary.json +0 -1
  1176. package/esm2015/utils/fn.js +0 -8
  1177. package/esm2015/utils/fn.ngsummary.json +0 -1
  1178. package/esm2015/utils/index.ngsummary.json +0 -1
  1179. package/esm2015/utils/observe-dom.ngsummary.json +0 -1
  1180. package/esm2015/utils/scroll-into-view.ngsummary.json +0 -1
  1181. package/esm2015/utils/watch-content-exist.ngsummary.json +0 -1
  1182. package/fesm2015/alauda-ui.js +0 -10768
  1183. package/fesm2015/alauda-ui.js.map +0 -1
  1184. package/form/form-item/form-item.component.ngfactory.d.ts +0 -1
  1185. package/form/form-item/form-item.component.scss.ngstyle.d.ts +0 -1
  1186. package/form/form.module.ngfactory.d.ts +0 -3
  1187. package/i18n/i18n.module.ngfactory.d.ts +0 -3
  1188. package/icon/icon.component.ngfactory.d.ts +0 -1
  1189. package/icon/icon.component.scss.ngstyle.d.ts +0 -1
  1190. package/icon/icon.module.ngfactory.d.ts +0 -3
  1191. package/inline-alert/inline-alert.component.ngfactory.d.ts +0 -1
  1192. package/inline-alert/inline-alert.component.scss.ngstyle.d.ts +0 -1
  1193. package/inline-alert/inline-alert.module.ngfactory.d.ts +0 -3
  1194. package/input/input-group/input-group.component.ngfactory.d.ts +0 -1
  1195. package/input/input-group/input-group.component.scss.ngstyle.d.ts +0 -1
  1196. package/input/input.component.ngfactory.d.ts +0 -1
  1197. package/input/input.component.scss.ngstyle.d.ts +0 -1
  1198. package/input/input.module.ngfactory.d.ts +0 -3
  1199. package/input/number-input/number-input.component.ngfactory.d.ts +0 -1
  1200. package/input/number-input/number-input.component.scss.ngstyle.d.ts +0 -1
  1201. package/input/search/search.component.ngfactory.d.ts +0 -1
  1202. package/input/search/search.component.scss.ngstyle.d.ts +0 -1
  1203. package/input/tags-input/tags-input.component.ngfactory.d.ts +0 -1
  1204. package/input/tags-input/tags-input.component.scss.ngstyle.d.ts +0 -1
  1205. package/message/message-wrapper.component.ngfactory.d.ts +0 -1
  1206. package/message/message-wrapper.component.scss.ngstyle.d.ts +0 -1
  1207. package/message/message.component.ngfactory.d.ts +0 -1
  1208. package/message/message.component.scss.ngstyle.d.ts +0 -1
  1209. package/message/message.module.ngfactory.d.ts +0 -3
  1210. package/notification/notification-wrapper.component.ngfactory.d.ts +0 -1
  1211. package/notification/notification-wrapper.component.scss.ngstyle.d.ts +0 -1
  1212. package/notification/notification.component.ngfactory.d.ts +0 -1
  1213. package/notification/notification.component.scss.ngstyle.d.ts +0 -1
  1214. package/notification/notification.module.ngfactory.d.ts +0 -3
  1215. package/paginator/paginator.component.ngfactory.d.ts +0 -1
  1216. package/paginator/paginator.component.scss.ngstyle.d.ts +0 -1
  1217. package/paginator/paginator.module.ngfactory.d.ts +0 -3
  1218. package/radio/radio-button/radio-button.component.ngfactory.d.ts +0 -1
  1219. package/radio/radio-button/radio-button.component.scss.ngstyle.d.ts +0 -1
  1220. package/radio/radio-group/radio-group.component.ngfactory.d.ts +0 -1
  1221. package/radio/radio-group/radio-group.component.scss.ngstyle.d.ts +0 -1
  1222. package/radio/radio.component.ngfactory.d.ts +0 -1
  1223. package/radio/radio.component.scss.ngstyle.d.ts +0 -1
  1224. package/radio/radio.module.ngfactory.d.ts +0 -3
  1225. package/scrolling/scrolling.module.ngfactory.d.ts +0 -3
  1226. package/scrolling/virtual-scroll-viewport.component.ngfactory.d.ts +0 -1
  1227. package/scrolling/virtual-scroll-viewport.component.scss.ngstyle.d.ts +0 -1
  1228. package/select/multi-select/multi-select.component.ngfactory.d.ts +0 -1
  1229. package/select/multi-select/multi-select.component.scss.ngstyle.d.ts +0 -1
  1230. package/select/option/option.component.ngfactory.d.ts +0 -1
  1231. package/select/option/option.component.scss.ngstyle.d.ts +0 -1
  1232. package/select/option-group/option-group.component.ngfactory.d.ts +0 -1
  1233. package/select/option-group/option-group.component.scss.ngstyle.d.ts +0 -1
  1234. package/select/option-placeholder.component.ngfactory.d.ts +0 -1
  1235. package/select/select.component.ngfactory.d.ts +0 -1
  1236. package/select/select.component.scss.ngstyle.d.ts +0 -1
  1237. package/select/select.module.ngfactory.d.ts +0 -3
  1238. package/shared/shared.module.ngfactory.d.ts +0 -3
  1239. package/sort/sort-header.component.ngfactory.d.ts +0 -1
  1240. package/sort/sort-header.component.scss.ngstyle.d.ts +0 -1
  1241. package/sort/sort.module.ngfactory.d.ts +0 -3
  1242. package/status-bar/status-bar.component.ngfactory.d.ts +0 -1
  1243. package/status-bar/status-bar.component.scss.ngstyle.d.ts +0 -1
  1244. package/status-bar/status-bar.module.ngfactory.d.ts +0 -3
  1245. package/steps/steps.component.ngfactory.d.ts +0 -1
  1246. package/steps/steps.component.scss.ngstyle.d.ts +0 -1
  1247. package/steps/steps.module.ngfactory.d.ts +0 -3
  1248. package/switch/switch.component.ngfactory.d.ts +0 -1
  1249. package/switch/switch.component.scss.ngstyle.d.ts +0 -1
  1250. package/switch/switch.module.ngfactory.d.ts +0 -3
  1251. package/table/table-cell.component.ngfactory.d.ts +0 -1
  1252. package/table/table-header-row.component.ngfactory.d.ts +0 -1
  1253. package/table/table-row.component.ngfactory.d.ts +0 -1
  1254. package/table/table-scroll.scss.ngstyle.d.ts +0 -1
  1255. package/table/table.component.ngfactory.d.ts +0 -1
  1256. package/table/table.component.scss.ngstyle.d.ts +0 -1
  1257. package/table/table.module.ngfactory.d.ts +0 -3
  1258. package/table-of-contents/table-of-contents.module.ngfactory.d.ts +0 -3
  1259. package/tabs/tab-body.component.ngfactory.d.ts +0 -1
  1260. package/tabs/tab-directives.d.ts +0 -47
  1261. package/tabs/tab-group.component.ngfactory.d.ts +0 -1
  1262. package/tabs/tab-group.component.scss.ngstyle.d.ts +0 -1
  1263. package/tabs/tab-header-active-indicator.component.ngfactory.d.ts +0 -1
  1264. package/tabs/tab-header.component.ngfactory.d.ts +0 -1
  1265. package/tabs/tab-header.component.scss.ngstyle.d.ts +0 -1
  1266. package/tabs/tab.component.ngfactory.d.ts +0 -1
  1267. package/tabs/tabs.module.ngfactory.d.ts +0 -3
  1268. package/tag/check-tag/check-tag.component.ngfactory.d.ts +0 -1
  1269. package/tag/check-tag/check-tag.component.scss.ngstyle.d.ts +0 -1
  1270. package/tag/tag.component.ngfactory.d.ts +0 -1
  1271. package/tag/tag.component.scss.ngstyle.d.ts +0 -1
  1272. package/tag/tag.module.ngfactory.d.ts +0 -3
  1273. package/theme/theme.module.ngfactory.d.ts +0 -3
  1274. package/time-picker/component.ngfactory.d.ts +0 -1
  1275. package/time-picker/panel/panel.component.ngfactory.d.ts +0 -1
  1276. package/time-picker/panel/panel.style.scss.ngstyle.d.ts +0 -1
  1277. package/time-picker/style.scss.ngstyle.d.ts +0 -1
  1278. package/time-picker/time-picker.module.ngfactory.d.ts +0 -3
  1279. package/tooltip/tooltip.component.ngfactory.d.ts +0 -1
  1280. package/tooltip/tooltip.component.scss.ngstyle.d.ts +0 -1
  1281. package/tooltip/tooltip.module.ngfactory.d.ts +0 -3
  1282. package/tree-select/tree-node/tree-node.component.d.ts +0 -34
  1283. package/tree-select/tree-node/tree-node.component.ngfactory.d.ts +0 -1
  1284. package/tree-select/tree-node/tree-node.component.scss.ngstyle.d.ts +0 -1
  1285. package/tree-select/tree-node-placeholder.component.ngfactory.d.ts +0 -1
  1286. package/tree-select/tree-select.component.ngfactory.d.ts +0 -1
  1287. package/tree-select/tree-select.component.scss.ngstyle.d.ts +0 -1
  1288. package/tree-select/tree-select.module.ngfactory.d.ts +0 -3
  1289. package/tsconfig.lib.tsbuildinfo +0 -3
@@ -0,0 +1,53 @@
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.2.3", 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.2.3", 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.2.3", 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==
@@ -0,0 +1,365 @@
1
+ import { FocusKeyManager } from '@angular/cdk/a11y';
2
+ import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ import { buildBem, coerceNumber } from '../utils';
6
+ import { TabHeaderAddonDirective, TabLabelWrapperDirective, TabTitleDirective, } from './tab-body.component';
7
+ import { TabHeaderActiveIndicatorComponent } from './tab-header-active-indicator.component';
8
+ import { TabSize, TabType } from './tabs.types';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/cdk/scrolling";
11
+ import * as i2 from "../icon/icon.component";
12
+ import * as i3 from "./tab-header-active-indicator.component";
13
+ import * as i4 from "@angular/common";
14
+ import * as i5 from "@angular/cdk/portal";
15
+ import * as i6 from "@angular/cdk/observers";
16
+ /**
17
+ * The distance in pixels that will be overshot when scrolling a tab label into view. This helps
18
+ * provide a small affordance to the label next to it.
19
+ */
20
+ const EXAGGERATED_OVERSCROLL = 60;
21
+ export class TabHeaderComponent {
22
+ constructor(_changeDetectorRef, _viewportRuler) {
23
+ this._changeDetectorRef = _changeDetectorRef;
24
+ this._viewportRuler = _viewportRuler;
25
+ this.bem = buildBem('aui-tab-header');
26
+ this._showAddon = false;
27
+ /** Whether the controls for pagination should be displayed */
28
+ this._showPaginationControls = false;
29
+ /** Whether the tab list can be scrolled more towards the end of the tab label list. */
30
+ this._disableScrollAfter = true;
31
+ /** Whether the tab list can be scrolled more towards the beginning of the tab label list. */
32
+ this._disableScrollBefore = true;
33
+ /** Whether the header should scroll to the selected index after the view has been checked. */
34
+ this._selectedIndexChanged = false;
35
+ /** The distance in pixels that the tab labels should be translated to the left. */
36
+ this._scrollDistance = 0;
37
+ this._selectedIndex = 0;
38
+ /** Emits when the component is destroyed. */
39
+ this._destroyed = new Subject();
40
+ this.type = TabType.Line;
41
+ this.size = TabSize.Medium;
42
+ /** Event emitted when the option is selected. */
43
+ this.selectFocusedIndex = new EventEmitter();
44
+ /** Event emitted when a label is focused. */
45
+ this.indexFocused = new EventEmitter();
46
+ }
47
+ /** The index of the active tab. */
48
+ get selectedIndex() {
49
+ return this._selectedIndex;
50
+ }
51
+ set selectedIndex(value) {
52
+ value = coerceNumber(value);
53
+ this._selectedIndexChanged = this._selectedIndex !== value;
54
+ this._selectedIndex = value;
55
+ if (this._keyManager) {
56
+ this._keyManager.updateActiveItem(value);
57
+ }
58
+ }
59
+ ngOnDestroy() {
60
+ this._destroyed.next();
61
+ this._destroyed.complete();
62
+ }
63
+ ngAfterContentChecked() {
64
+ // If the number of tab labels have changed, check if scrolling should be enabled
65
+ if (this._tabLabelCount !== this._labelWrappers.length) {
66
+ this._updatePagination();
67
+ this._tabLabelCount = this._labelWrappers.length;
68
+ this._changeDetectorRef.markForCheck();
69
+ }
70
+ // If the selected index has changed, scroll to the label and check if the scrolling controls
71
+ // should be disabled.
72
+ if (this._selectedIndexChanged) {
73
+ this._scrollToLabel(this._selectedIndex);
74
+ this._checkScrollingControls();
75
+ this._alignActiveIndicatorToSelectedTab();
76
+ this._selectedIndexChanged = false;
77
+ this._changeDetectorRef.markForCheck();
78
+ }
79
+ // If the scroll distance has been changed (tab selected, focused, scroll controls activated),
80
+ // then translate the header to reflect this.
81
+ if (this._scrollDistanceChanged) {
82
+ this._updateTabScrollPosition();
83
+ this._scrollDistanceChanged = false;
84
+ this._changeDetectorRef.markForCheck();
85
+ }
86
+ if (this._showAddon !== !!this._headerAddon) {
87
+ this._showAddon = !!this._headerAddon;
88
+ this._updatePagination();
89
+ this._changeDetectorRef.markForCheck();
90
+ }
91
+ }
92
+ /**
93
+ * Aligns the ink bar to the selected tab on load.
94
+ */
95
+ ngAfterContentInit() {
96
+ const resize = this._viewportRuler.change(150);
97
+ const realign = () => {
98
+ this._updatePagination();
99
+ this._alignActiveIndicatorToSelectedTab();
100
+ };
101
+ this._keyManager = new FocusKeyManager(this._labelWrappers)
102
+ .withHorizontalOrientation('ltr')
103
+ .withWrap();
104
+ this._keyManager.updateActiveItem(0);
105
+ // Defer the first call in order to allow for slower browsers to lay out the elements.
106
+ // This helps in cases where the user lands directly on a page with paginated tabs.
107
+ typeof requestAnimationFrame !== 'undefined'
108
+ ? requestAnimationFrame(realign)
109
+ : realign();
110
+ // On window resize, realign the ink bar and update the orientation of
111
+ // the key manager if the direction has changed.
112
+ resize.pipe(takeUntil(this._destroyed)).subscribe(() => {
113
+ realign();
114
+ });
115
+ // If there is a change in the focus key manager we need to emit the `indexFocused`
116
+ // event in order to provide a public event that notifies about focus changes. Also we realign
117
+ // the tabs container by scrolling the new focused tab into the visible section.
118
+ this._keyManager.change
119
+ .pipe(takeUntil(this._destroyed))
120
+ .subscribe(newFocusIndex => {
121
+ this.indexFocused.emit(newFocusIndex);
122
+ this._setTabFocus(newFocusIndex);
123
+ });
124
+ }
125
+ /** Sets the distance in pixels that the tab header should be transformed in the X-axis. */
126
+ get scrollDistance() {
127
+ return this._scrollDistance;
128
+ }
129
+ set scrollDistance(v) {
130
+ this._scrollDistance = Math.max(0, Math.min(this._getMaxScrollDistance(), v));
131
+ // Mark that the scroll distance has changed so that after the view is checked, the CSS
132
+ // transformation can move the header.
133
+ this._scrollDistanceChanged = true;
134
+ this._checkScrollingControls();
135
+ }
136
+ /** Tracks which element has focus; used for keyboard navigation */
137
+ get focusIndex() {
138
+ return this._keyManager ? this._keyManager.activeItemIndex : 0;
139
+ }
140
+ /** When the focus index is set, we must manually send focus to the correct label */
141
+ set focusIndex(value) {
142
+ if (!this._isValidIndex(value) ||
143
+ this.focusIndex === value ||
144
+ !this._keyManager) {
145
+ return;
146
+ }
147
+ this._keyManager.setActiveItem(value);
148
+ }
149
+ /**
150
+ * Determines if an index is valid. If the tabs are not ready yet, we assume that the user is
151
+ * providing a valid index and return true.
152
+ */
153
+ _isValidIndex(index) {
154
+ if (!this._labelWrappers) {
155
+ return true;
156
+ }
157
+ const tab = this._labelWrappers
158
+ ? this._labelWrappers.toArray()[index]
159
+ : null;
160
+ return !!tab && !tab.disabled;
161
+ }
162
+ _handleKeydown(event) {
163
+ switch (event.key) {
164
+ case 'Home':
165
+ this._keyManager.setFirstItemActive();
166
+ event.preventDefault();
167
+ break;
168
+ case 'End':
169
+ this._keyManager.setLastItemActive();
170
+ event.preventDefault();
171
+ break;
172
+ case 'Enter':
173
+ case 'Space':
174
+ this.selectFocusedIndex.emit(this.focusIndex);
175
+ event.preventDefault();
176
+ break;
177
+ default:
178
+ this._keyManager.onKeydown(event);
179
+ }
180
+ }
181
+ /**
182
+ * Sets focus on the HTML element for the label wrapper and scrolls it into the view if
183
+ * scrolling is enabled.
184
+ */
185
+ _setTabFocus(tabIndex) {
186
+ if (this._showPaginationControls) {
187
+ this._scrollToLabel(tabIndex);
188
+ }
189
+ if (this._labelWrappers?.length > 0) {
190
+ this._labelWrappers.toArray()[tabIndex].focus();
191
+ // Do not let the browser manage scrolling to focus the element, this will be handled
192
+ // by using translation. In LTR, the scroll left should be 0. In RTL, the scroll width
193
+ // should be the full width minus the offset width.
194
+ const containerEl = this._tabListContainer.nativeElement;
195
+ containerEl.scrollLeft = 0;
196
+ }
197
+ }
198
+ /**
199
+ * Moves the tab list such that the desired tab label (marked by index) is moved into view.
200
+ *
201
+ * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
202
+ * should be called sparingly.
203
+ */
204
+ _scrollToLabel(labelIndex) {
205
+ const selectedLabel = this._labelWrappers
206
+ ? this._labelWrappers.toArray()[labelIndex]
207
+ : null;
208
+ if (!selectedLabel) {
209
+ return;
210
+ }
211
+ // The view length is the visible width of the tab labels.
212
+ const viewLength = this._tabListContainer.nativeElement.offsetWidth;
213
+ const labelBeforePos = selectedLabel.getOffsetLeft();
214
+ const labelAfterPos = labelBeforePos + selectedLabel.getOffsetWidth();
215
+ const beforeVisiblePos = this.scrollDistance;
216
+ const afterVisiblePos = this.scrollDistance + viewLength;
217
+ if (labelBeforePos < beforeVisiblePos) {
218
+ // Scroll header to move label to the before direction
219
+ this.scrollDistance -=
220
+ beforeVisiblePos - labelBeforePos + EXAGGERATED_OVERSCROLL;
221
+ }
222
+ else if (labelAfterPos > afterVisiblePos) {
223
+ // Scroll header to move label to the after direction
224
+ this.scrollDistance +=
225
+ labelAfterPos - afterVisiblePos + EXAGGERATED_OVERSCROLL;
226
+ }
227
+ }
228
+ /**
229
+ * Moves the tab list in the 'before' or 'after' direction (towards the beginning of the list or
230
+ * the end of the list, respectively). The distance to scroll is computed to be a third of the
231
+ * length of the tab list view window.
232
+ *
233
+ * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
234
+ * should be called sparingly.
235
+ */
236
+ _scrollHeader(scrollDir) {
237
+ const viewLength = this._tabListContainer.nativeElement.offsetWidth;
238
+ // Move the scroll distance one-third the length of the tab list's viewport.
239
+ this.scrollDistance += ((scrollDir === 'before' ? -1 : 1) * viewLength) / 3;
240
+ }
241
+ /**
242
+ * Callback for when the MutationObserver detects that the content has changed.
243
+ */
244
+ _onContentChanges() {
245
+ this._updatePagination();
246
+ this._alignActiveIndicatorToSelectedTab();
247
+ this._changeDetectorRef.markForCheck();
248
+ }
249
+ /**
250
+ * Updating the view whether pagination should be enabled or not
251
+ */
252
+ _updatePagination() {
253
+ this._checkPaginationEnabled();
254
+ this._checkScrollingControls();
255
+ this._updateTabScrollPosition();
256
+ }
257
+ /**
258
+ * Evaluate whether the pagination controls should be displayed. If the scroll width of the
259
+ * tab list is wider than the size of the header container, then the pagination controls should
260
+ * be shown.
261
+ *
262
+ * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
263
+ * should be called sparingly.
264
+ */
265
+ _checkPaginationEnabled() {
266
+ const isEnabled = this._tabList.nativeElement.scrollWidth >
267
+ this._paginationWrapper.nativeElement.offsetWidth + 2; // 2 is the border size
268
+ if (!isEnabled) {
269
+ this.scrollDistance = 0;
270
+ }
271
+ const detectChanges = isEnabled !== this._showPaginationControls;
272
+ this._showPaginationControls = isEnabled;
273
+ if (detectChanges) {
274
+ this._changeDetectorRef.markForCheck();
275
+ }
276
+ }
277
+ /**
278
+ * Evaluate whether the before and after controls should be enabled or disabled.
279
+ * If the header is at the beginning of the list (scroll distance is equal to 0) then disable the
280
+ * before button. If the header is at the end of the list (scroll distance is equal to the
281
+ * maximum distance we can scroll), then disable the after button.
282
+ *
283
+ * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
284
+ * should be called sparingly.
285
+ */
286
+ _checkScrollingControls() {
287
+ // Check if the pagination arrows should be activated.
288
+ this._disableScrollBefore = this.scrollDistance === 0;
289
+ this._disableScrollAfter =
290
+ this.scrollDistance === this._getMaxScrollDistance();
291
+ this._changeDetectorRef.markForCheck();
292
+ }
293
+ /**
294
+ * Determines what is the maximum length in pixels that can be set for the scroll distance. This
295
+ * is equal to the difference in width between the tab list container and tab header container.
296
+ *
297
+ * This is an expensive call that forces a layout reflow to compute box and scroll metrics and
298
+ * should be called sparingly.
299
+ */
300
+ _getMaxScrollDistance() {
301
+ const lengthOfTabList = this._tabList.nativeElement.scrollWidth;
302
+ const viewLength = this._tabListContainer.nativeElement.offsetWidth;
303
+ return lengthOfTabList - viewLength || 0;
304
+ }
305
+ /** Performs the CSS transformation on the tab list that will cause the list to scroll. */
306
+ _updateTabScrollPosition() {
307
+ const scrollDistance = this.scrollDistance;
308
+ const translateX = -scrollDistance;
309
+ // Don't use `translate3d` here because we don't want to create a new layer. A new layer
310
+ // seems to cause flickering and overflow in Internet Explorer. For example, the ink bar
311
+ // and ripples will exceed the boundaries of the visible tab bar.
312
+ // See: https://github.com/angular/material2/issues/10276
313
+ this._tabList.nativeElement.style.transform = `translateX(${translateX}px)`;
314
+ }
315
+ /** Tells the active indicator to align itself to the current label wrapper */
316
+ _alignActiveIndicatorToSelectedTab() {
317
+ const selectedLabelWrapper = this._labelWrappers?.length > 0
318
+ ? this._labelWrappers.toArray()[this.selectedIndex].elementRef
319
+ .nativeElement
320
+ : null;
321
+ this._activeIndicator.alignToElement(selectedLabelWrapper);
322
+ }
323
+ }
324
+ TabHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TabHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ViewportRuler }], target: i0.ɵɵFactoryTarget.Component });
325
+ TabHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", 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 [ngClass]=\"bem.element('pagination-wrapper')\" #paginationWrapper>\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: ["@charset \"UTF-8\";.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{font-size:18px;padding:16px 20px;line-height:24px}.aui-tab-header--medium .aui-tab-label{font-size:16px;padding:12px 20px;line-height:22px}.aui-tab-header--small .aui-tab-label{font-size:14px;padding:8px 16px;line-height:20px}.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:20px;margin-inline:20px;padding:20px 0 16px;font-weight:500;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:400;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{font-weight:500}.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;max-width:160px}.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 #007af54d}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 });
326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TabHeaderComponent, decorators: [{
327
+ type: Component,
328
+ 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 [ngClass]=\"bem.element('pagination-wrapper')\" #paginationWrapper>\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: ["@charset \"UTF-8\";.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{font-size:18px;padding:16px 20px;line-height:24px}.aui-tab-header--medium .aui-tab-label{font-size:16px;padding:12px 20px;line-height:22px}.aui-tab-header--small .aui-tab-label{font-size:14px;padding:8px 16px;line-height:20px}.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:20px;margin-inline:20px;padding:20px 0 16px;font-weight:500;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:400;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{font-weight:500}.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;max-width:160px}.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 #007af54d}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"] }]
329
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.ViewportRuler }]; }, propDecorators: { type: [{
330
+ type: Input
331
+ }], size: [{
332
+ type: Input
333
+ }], selectedIndex: [{
334
+ type: Input
335
+ }], selectFocusedIndex: [{
336
+ type: Output
337
+ }], indexFocused: [{
338
+ type: Output
339
+ }], _headerAddon: [{
340
+ type: ContentChild,
341
+ args: [TabHeaderAddonDirective, { static: false }]
342
+ }], _title: [{
343
+ type: ContentChild,
344
+ args: [TabTitleDirective, { static: false }]
345
+ }],
346
+ /**
347
+ * workaround for @link https://github.com/microsoft/TypeScript/pull/42425
348
+ */
349
+ _labelWrappers: [{
350
+ type: ContentChildren,
351
+ args: [TabLabelWrapperDirective]
352
+ }], _tabListContainer: [{
353
+ type: ViewChild,
354
+ args: ['tabListContainer', { static: true }]
355
+ }], _tabList: [{
356
+ type: ViewChild,
357
+ args: ['tabList', { static: true }]
358
+ }], _paginationWrapper: [{
359
+ type: ViewChild,
360
+ args: ['paginationWrapper', { static: true }]
361
+ }], _activeIndicator: [{
362
+ type: ViewChild,
363
+ args: [TabHeaderActiveIndicatorComponent, { static: true }]
364
+ }] } });
365
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFicy90YWItaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy90YWJzL3RhYi1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE9BQU8sRUFHTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQU8sUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixpQkFBaUIsR0FDbEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7QUFRaEQ7OztHQUdHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7QUFVbEMsTUFBTSxPQUFPLGtCQUFrQjtJQXNZN0IsWUFDbUIsa0JBQXFDLEVBQ3JDLGNBQTZCO1FBRDdCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFyWWhELFFBQUcsR0FBUSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUV0QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5C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QWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxtQkFDVCx1QkFBdUIsQ0FBQyxNQUFNO29JQTBDL0MsSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFLRixhQUFhO3NCQURoQixLQUFLO2dCQWlCRyxrQkFBa0I7c0JBRDFCLE1BQU07Z0JBS0UsWUFBWTtzQkFEcEIsTUFBTTtnQkFJUCxZQUFZO3NCQURYLFlBQVk7dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUl4RCxNQUFNO3NCQURMLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztRQUlsRDs7V0FFRztRQUNILGNBQWM7c0JBSmIsZUFBZTt1QkFBQyx3QkFBd0I7Z0JBT3pDLGlCQUFpQjtzQkFEaEIsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9DLFFBQVE7c0JBRFAsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl0QyxrQkFBa0I7c0JBRGpCLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUloRCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxpQ0FBaUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBWaWV3cG9ydFJ1bGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCZW0sIGJ1aWxkQmVtLCBjb2VyY2VOdW1iZXIgfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7XG4gIFRhYkhlYWRlckFkZG9uRGlyZWN0aXZlLFxuICBUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmUsXG4gIFRhYlRpdGxlRGlyZWN0aXZlLFxufSBmcm9tICcuL3RhYi1ib2R5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJIZWFkZXJBY3RpdmVJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3RhYi1oZWFkZXItYWN0aXZlLWluZGljYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiU2l6ZSwgVGFiVHlwZSB9IGZyb20gJy4vdGFicy50eXBlcyc7XG5cbi8qKlxuICogVGhlIGRpcmVjdGlvbnMgdGhhdCBzY3JvbGxpbmcgY2FuIGdvIGluIHdoZW4gdGhlIGhlYWRlcidzIHRhYnMgZXhjZWVkIHRoZSBoZWFkZXIgd2lkdGguICdBZnRlcidcbiAqIHdpbGwgc2Nyb2xsIHRoZSBoZWFkZXIgdG93YXJkcyB0aGUgZW5kIG9mIHRoZSB0YWJzIGxpc3QgYW5kICdiZWZvcmUnIHdpbGwgc2Nyb2xsIHRvd2FyZHMgdGhlXG4gKiBiZWdpbm5pbmcgb2YgdGhlIGxpc3QuXG4gKi9cbmV4cG9ydCB0eXBlIFNjcm9sbERpcmVjdGlvbiA9ICdhZnRlcicgfCAnYmVmb3JlJztcbi8qKlxuICogVGhlIGRpc3RhbmNlIGluIHBpeGVscyB0aGF0IHdpbGwgYmUgb3ZlcnNob3Qgd2hlbiBzY3JvbGxpbmcgYSB0YWIgbGFiZWwgaW50byB2aWV3LiBUaGlzIGhlbHBzXG4gKiBwcm92aWRlIGEgc21hbGwgYWZmb3JkYW5jZSB0byB0aGUgbGFiZWwgbmV4dCB0byBpdC5cbiAqL1xuY29uc3QgRVhBR0dFUkFURURfT1ZFUlNDUk9MTCA9IDYwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdGFiLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRhYkhlYWRlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJDb250ZW50SW5pdFxue1xuICBiZW06IEJlbSA9IGJ1aWxkQmVtKCdhdWktdGFiLWhlYWRlcicpO1xuXG4gIF9zaG93QWRkb24gPSBmYWxzZTtcblxuICAvKiogV2hldGhlciB0aGUgY29udHJvbHMgZm9yIHBhZ2luYXRpb24gc2hvdWxkIGJlIGRpc3BsYXllZCAqL1xuICBfc2hvd1BhZ2luYXRpb25Db250cm9scyA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0YWIgbGlzdCBjYW4gYmUgc2Nyb2xsZWQgbW9yZSB0b3dhcmRzIHRoZSBlbmQgb2YgdGhlIHRhYiBsYWJlbCBsaXN0LiAqL1xuICBfZGlzYWJsZVNjcm9sbEFmdGVyID0gdHJ1ZTtcblxuICAvKiogV2hldGhlciB0aGUgdGFiIGxpc3QgY2FuIGJlIHNjcm9sbGVkIG1vcmUgdG93YXJkcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSB0YWIgbGFiZWwgbGlzdC4gKi9cbiAgX2Rpc2FibGVTY3JvbGxCZWZvcmUgPSB0cnVlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBzY3JvbGwgZGlzdGFuY2UgaGFzIGNoYW5nZWQgYW5kIHNob3VsZCBiZSBhcHBsaWVkIGFmdGVyIHRoZSB2aWV3IGlzIGNoZWNrZWQuICovXG4gIHByaXZhdGUgX3Njcm9sbERpc3RhbmNlQ2hhbmdlZDogYm9vbGVhbjtcblxuICAvKiogV2hldGhlciB0aGUgaGVhZGVyIHNob3VsZCBzY3JvbGwgdG8gdGhlIHNlbGVjdGVkIGluZGV4IGFmdGVyIHRoZSB2aWV3IGhhcyBiZWVuIGNoZWNrZWQuICovXG4gIHByaXZhdGUgX3NlbGVjdGVkSW5kZXhDaGFuZ2VkID0gZmFsc2U7XG5cbiAgLyoqIFRoZSBkaXN0YW5jZSBpbiBwaXhlbHMgdGhhdCB0aGUgdGFiIGxhYmVscyBzaG91bGQgYmUgdHJhbnNsYXRlZCB0byB0aGUgbGVmdC4gKi9cbiAgcHJpdmF0ZSBfc2Nyb2xsRGlzdGFuY2UgPSAwO1xuXG4gIHByaXZhdGUgX3NlbGVjdGVkSW5kZXggPSAwO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgaXMgZGVzdHJveWVkLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKiBVc2VkIHRvIG1hbmFnZSBmb2N1cyBiZXR3ZWVuIHRoZSB0YWJzLiAqL1xuICBwcml2YXRlIF9rZXlNYW5hZ2VyOiBGb2N1c0tleU1hbmFnZXI8VGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlPjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiB0YWIgbGFiZWxzIHRoYXQgYXJlIGRpc3BsYXllZCBvbiB0aGUgaGVhZGVyLiBXaGVuIHRoaXMgY2hhbmdlcywgdGhlIGhlYWRlclxuICAgKiBzaG91bGQgcmUtZXZhbHVhdGUgdGhlIHNjcm9sbCBwb3NpdGlvbi5cbiAgICovXG4gIHByaXZhdGUgX3RhYkxhYmVsQ291bnQ6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICB0eXBlOiBUYWJUeXBlID0gVGFiVHlwZS5MaW5lO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IFRhYlNpemUgPSBUYWJTaXplLk1lZGl1bTtcblxuICAvKiogVGhlIGluZGV4IG9mIHRoZSBhY3RpdmUgdGFiLiAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0ZWRJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICB9XG5cbiAgc2V0IHNlbGVjdGVkSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHZhbHVlID0gY29lcmNlTnVtYmVyKHZhbHVlKTtcbiAgICB0aGlzLl9zZWxlY3RlZEluZGV4Q2hhbmdlZCA9IHRoaXMuX3NlbGVjdGVkSW5kZXggIT09IHZhbHVlO1xuICAgIHRoaXMuX3NlbGVjdGVkSW5kZXggPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLl9rZXlNYW5hZ2VyKSB7XG4gICAgICB0aGlzLl9rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0odmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIG9wdGlvbiBpcyBzZWxlY3RlZC4gKi9cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHNlbGVjdEZvY3VzZWRJbmRleCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gYSBsYWJlbCBpcyBmb2N1c2VkLiAqL1xuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgaW5kZXhGb2N1c2VkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChUYWJIZWFkZXJBZGRvbkRpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIF9oZWFkZXJBZGRvbjogVGFiSGVhZGVyQWRkb25EaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChUYWJUaXRsZURpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIF90aXRsZTogVGFiVGl0bGVEaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmUpXG4gIC8qKlxuICAgKiB3b3JrYXJvdW5kIGZvciBAbGluayBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvcHVsbC80MjQyNVxuICAgKi9cbiAgX2xhYmVsV3JhcHBlcnM6IFF1ZXJ5TGlzdDxUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmUgJiB7IGRpc2FibGVkPzogYm9vbGVhbiB9PjtcblxuICBAVmlld0NoaWxkKCd0YWJMaXN0Q29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgX3RhYkxpc3RDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3RhYkxpc3QnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfdGFiTGlzdDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgncGFnaW5hdGlvbldyYXBwZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfcGFnaW5hdGlvbldyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoVGFiSGVhZGVyQWN0aXZlSW5kaWNhdG9yQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfYWN0aXZlSW5kaWNhdG9yOiBUYWJIZWFkZXJBY3RpdmVJbmRpY2F0b3JDb21wb25lbnQ7XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAvLyBJZiB0aGUgbnVtYmVyIG9mIHRhYiBsYWJlbHMgaGF2ZSBjaGFuZ2VkLCBjaGVjayBpZiBzY3JvbGxpbmcgc2hvdWxkIGJlIGVuYWJsZWRcbiAgICBpZiAodGhpcy5fdGFiTGFiZWxDb3VudCAhPT0gdGhpcy5fbGFiZWxXcmFwcGVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVBhZ2luYXRpb24oKTtcbiAgICAgIHRoaXMuX3RhYkxhYmVsQ291bnQgPSB0aGlzLl9sYWJlbFdyYXBwZXJzLmxlbmd0aDtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSBzZWxlY3RlZCBpbmRleCBoYXMgY2hhbmdlZCwgc2Nyb2xsIHRvIHRoZSBsYWJlbCBhbmQgY2hlY2sgaWYgdGhlIHNjcm9sbGluZyBjb250cm9sc1xuICAgIC8vIHNob3VsZCBiZSBkaXNhYmxlZC5cbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRJbmRleENoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3Njcm9sbFRvTGFiZWwodGhpcy5fc2VsZWN0ZWRJbmRleCk7XG4gICAgICB0aGlzLl9jaGVja1Njcm9sbGluZ0NvbnRyb2xzKCk7XG4gICAgICB0aGlzLl9hbGlnbkFjdGl2ZUluZGljYXRvclRvU2VsZWN0ZWRUYWIoKTtcbiAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXhDaGFuZ2VkID0gZmFsc2U7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgc2Nyb2xsIGRpc3RhbmNlIGhhcyBiZWVuIGNoYW5nZWQgKHRhYiBzZWxlY3RlZCwgZm9jdXNlZCwgc2Nyb2xsIGNvbnRyb2xzIGFjdGl2YXRlZCksXG4gICAgLy8gdGhlbiB0cmFuc2xhdGUgdGhlIGhlYWRlciB0byByZWZsZWN0IHRoaXMuXG4gICAgaWYgKHRoaXMuX3Njcm9sbERpc3RhbmNlQ2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlVGFiU2Nyb2xsUG9zaXRpb24oKTtcbiAgICAgIHRoaXMuX3Njcm9sbERpc3RhbmNlQ2hhbmdlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3Nob3dBZGRvbiAhPT0gISF0aGlzLl9oZWFkZXJBZGRvbikge1xuICAgICAgdGhpcy5fc2hvd0FkZG9uID0gISF0aGlzLl9oZWFkZXJBZGRvbjtcbiAgICAgIHRoaXMuX3VwZGF0ZVBhZ2luYXRpb24oKTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBbGlnbnMgdGhlIGluayBiYXIgdG8gdGhlIHNlbGVjdGVkIHRhYiBvbiBsb2FkLlxuICAgKi9cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGNvbnN0IHJlc2l6ZSA9IHRoaXMuX3ZpZXdwb3J0UnVsZXIuY2hhbmdlKDE1MCk7XG4gICAgY29uc3QgcmVhbGlnbiA9ICgpID0+IHtcbiAgICAgIHRoaXMuX3VwZGF0ZVBhZ2luYXRpb24oKTtcbiAgICAgIHRoaXMuX2FsaWduQWN0aXZlSW5kaWNhdG9yVG9TZWxlY3RlZFRhYigpO1xuICAgIH07XG5cbiAgICB0aGlzLl9rZXlNYW5hZ2VyID0gbmV3IEZvY3VzS2V5TWFuYWdlcih0aGlzLl9sYWJlbFdyYXBwZXJzKVxuICAgICAgLndpdGhIb3Jpem9udGFsT3JpZW50YXRpb24oJ2x0cicpXG4gICAgICAud2l0aFdyYXAoKTtcbiAgICB0aGlzLl9rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oMCk7XG5cbiAgICAvLyBEZWZlciB0aGUgZmlyc3QgY2FsbCBpbiBvcmRlciB0byBhbGxvdyBmb3Igc2xvd2VyIGJyb3dzZXJzIHRvIGxheSBvdXQgdGhlIGVsZW1lbnRzLlxuICAgIC8vIFRoaXMgaGVscHMgaW4gY2FzZXMgd2hlcmUgdGhlIHVzZXIgbGFuZHMgZGlyZWN0bHkgb24gYSBwYWdlIHdpdGggcGFnaW5hdGVkIHRhYnMuXG4gICAgdHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZSAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgID8gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlYWxpZ24pXG4gICAgICA6IHJlYWxpZ24oKTtcblxuICAgIC8vIE9uIHdpbmRvdyByZXNpemUsIHJlYWxpZ24gdGhlIGluayBiYXIgYW5kIHVwZGF0ZSB0aGUgb3JpZW50YXRpb24gb2ZcbiAgICAvLyB0aGUga2V5IG1hbmFnZXIgaWYgdGhlIGRpcmVjdGlvbiBoYXMgY2hhbmdlZC5cbiAgICByZXNpemUucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHJlYWxpZ24oKTtcbiAgICB9KTtcblxuICAgIC8vIElmIHRoZXJlIGlzIGEgY2hhbmdlIGluIHRoZSBmb2N1cyBrZXkgbWFuYWdlciB3ZSBuZWVkIHRvIGVtaXQgdGhlIGBpbmRleEZvY3VzZWRgXG4gICAgLy8gZXZlbnQgaW4gb3JkZXIgdG8gcHJvdmlkZSBhIHB1YmxpYyBldmVudCB0aGF0IG5vdGlmaWVzIGFib3V0IGZvY3VzIGNoYW5nZXMuIEFsc28gd2UgcmVhbGlnblxuICAgIC8vIHRoZSB0YWJzIGNvbnRhaW5lciBieSBzY3JvbGxpbmcgdGhlIG5ldyBmb2N1c2VkIHRhYiBpbnRvIHRoZSB2aXNpYmxlIHNlY3Rpb24uXG4gICAgdGhpcy5fa2V5TWFuYWdlci5jaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKVxuICAgICAgLnN1YnNjcmliZShuZXdGb2N1c0luZGV4ID0+IHtcbiAgICAgICAgdGhpcy5pbmRleEZvY3VzZWQuZW1pdChuZXdGb2N1c0luZGV4KTtcbiAgICAgICAgdGhpcy5fc2V0VGFiRm9jdXMobmV3Rm9jdXNJbmRleCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKiBTZXRzIHRoZSBkaXN0YW5jZSBpbiBwaXhlbHMgdGhhdCB0aGUgdGFiIGhlYWRlciBzaG91bGQgYmUgdHJhbnNmb3JtZWQgaW4gdGhlIFgtYXhpcy4gKi9cbiAgZ2V0IHNjcm9sbERpc3RhbmNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbERpc3RhbmNlO1xuICB9XG5cbiAgc2V0IHNjcm9sbERpc3RhbmNlKHY6IG51bWJlcikge1xuICAgIHRoaXMuX3Njcm9sbERpc3RhbmNlID0gTWF0aC5tYXgoXG4gICAgICAwLFxuICAgICAgTWF0aC5taW4odGhpcy5fZ2V0TWF4U2Nyb2xsRGlzdGFuY2UoKSwgdiksXG4gICAgKTtcbiAgICAvLyBNYXJrIHRoYXQgdGhlIHNjcm9sbCBkaXN0YW5jZSBoYXMgY2hhbmdlZCBzbyB0aGF0IGFmdGVyIHRoZSB2aWV3IGlzIGNoZWNrZWQsIHRoZSBDU1NcbiAgICAvLyB0cmFuc2Zvcm1hdGlvbiBjYW4gbW92ZSB0aGUgaGVhZGVyLlxuICAgIHRoaXMuX3Njcm9sbERpc3RhbmNlQ2hhbmdlZCA9IHRydWU7XG4gICAgdGhpcy5fY2hlY2tTY3JvbGxpbmdDb250cm9scygpO1xuICB9XG5cbiAgLyoqIFRyYWNrcyB3aGljaCBlbGVtZW50IGhhcyBmb2N1czsgdXNlZCBmb3Iga2V5Ym9hcmQgbmF2aWdhdGlvbiAqL1xuICBnZXQgZm9jdXNJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9rZXlNYW5hZ2VyID8gdGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggOiAwO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGZvY3VzIGluZGV4IGlzIHNldCwgd2UgbXVzdCBtYW51YWxseSBzZW5kIGZvY3VzIHRvIHRoZSBjb3JyZWN0IGxhYmVsICovXG4gIHNldCBmb2N1c0luZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5faXNWYWxpZEluZGV4KHZhbHVlKSB8fFxuICAgICAgdGhpcy5mb2N1c0luZGV4ID09PSB2YWx1ZSB8fFxuICAgICAgIXRoaXMuX2tleU1hbmFnZXJcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fa2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIGFuIGluZGV4IGlzIHZhbGlkLiAgSWYgdGhlIHRhYnMgYXJlIG5vdCByZWFkeSB5ZXQsIHdlIGFzc3VtZSB0aGF0IHRoZSB1c2VyIGlzXG4gICAqIHByb3ZpZGluZyBhIHZhbGlkIGluZGV4IGFuZCByZXR1cm4gdHJ1ZS5cbiAgICovXG4gIF9pc1ZhbGlkSW5kZXgoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5fbGFiZWxXcmFwcGVycykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IHRhYiA9IHRoaXMuX2xhYmVsV3JhcHBlcnNcbiAgICAgID8gdGhpcy5fbGFiZWxXcmFwcGVycy50b0FycmF5KClbaW5kZXhdXG4gICAgICA6IG51bGw7XG4gICAgcmV0dXJuICEhdGFiICYmICF0YWIuZGlzYWJsZWQ7XG4gIH1cblxuICBfaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlci5zZXRGaXJzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFbmQnOlxuICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldExhc3RJdGVtQWN0aXZlKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgY2FzZSAnU3BhY2UnOlxuICAgICAgICB0aGlzLnNlbGVjdEZvY3VzZWRJbmRleC5lbWl0KHRoaXMuZm9jdXNJbmRleCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGZvY3VzIG9uIHRoZSBIVE1MIGVsZW1lbnQgZm9yIHRoZSBsYWJlbCB3cmFwcGVyIGFuZCBzY3JvbGxzIGl0IGludG8gdGhlIHZpZXcgaWZcbiAgICogc2Nyb2xsaW5nIGlzIGVuYWJsZWQuXG4gICAqL1xuICBfc2V0VGFiRm9jdXModGFiSW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLl9zaG93UGFnaW5hdGlvbkNvbnRyb2xzKSB7XG4gICAgICB0aGlzLl9zY3JvbGxUb0xhYmVsKHRhYkluZGV4KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2xhYmVsV3JhcHBlcnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX2xhYmVsV3JhcHBlcnMudG9BcnJheSgpW3RhYkluZGV4XS5mb2N1cygpO1xuICAgICAgLy8gRG8gbm90IGxldCB0aGUgYnJvd3NlciBtYW5hZ2Ugc2Nyb2xsaW5nIHRvIGZvY3VzIHRoZSBlbGVtZW50LCB0aGlzIHdpbGwgYmUgaGFuZGxlZFxuICAgICAgLy8gYnkgdXNpbmcgdHJhbnNsYXRpb24uIEluIExUUiwgdGhlIHNjcm9sbCBsZWZ0IHNob3VsZCBiZSAwLiBJbiBSVEwsIHRoZSBzY3JvbGwgd2lkdGhcbiAgICAgIC8vIHNob3VsZCBiZSB0aGUgZnVsbCB3aWR0aCBtaW51cyB0aGUgb2Zmc2V0IHdpZHRoLlxuICAgICAgY29uc3QgY29udGFpbmVyRWwgPSB0aGlzLl90YWJMaXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb250YWluZXJFbC5zY3JvbGxMZWZ0ID0gMDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgdGhlIHRhYiBsaXN0IHN1Y2ggdGhhdCB0aGUgZGVzaXJlZCB0YWIgbGFiZWwgKG1hcmtlZCBieSBpbmRleCkgaXMgbW92ZWQgaW50byB2aWV3LlxuICAgKlxuICAgKiBUaGlzIGlzIGFuIGV4cGVuc2l2ZSBjYWxsIHRoYXQgZm9yY2VzIGEgbGF5b3V0IHJlZmxvdyB0byBjb21wdXRlIGJveCBhbmQgc2Nyb2xsIG1ldHJpY3MgYW5kXG4gICAqIHNob3VsZCBiZSBjYWxsZWQgc3BhcmluZ2x5LlxuICAgKi9cbiAgX3Njcm9sbFRvTGFiZWwobGFiZWxJbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRMYWJlbCA9IHRoaXMuX2xhYmVsV3JhcHBlcnNcbiAgICAgID8gdGhpcy5fbGFiZWxXcmFwcGVycy50b0FycmF5KClbbGFiZWxJbmRleF1cbiAgICAgIDogbnVsbDtcbiAgICBpZiAoIXNlbGVjdGVkTGFiZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gVGhlIHZpZXcgbGVuZ3RoIGlzIHRoZSB2aXNpYmxlIHdpZHRoIG9mIHRoZSB0YWIgbGFiZWxzLlxuICAgIGNvbnN0IHZpZXdMZW5ndGggPSB0aGlzLl90YWJMaXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgY29uc3QgbGFiZWxCZWZvcmVQb3MgPSBzZWxlY3RlZExhYmVsLmdldE9mZnNldExlZnQoKTtcbiAgICBjb25zdCBsYWJlbEFmdGVyUG9zID0gbGFiZWxCZWZvcmVQb3MgKyBzZWxlY3RlZExhYmVsLmdldE9mZnNldFdpZHRoKCk7XG4gICAgY29uc3QgYmVmb3JlVmlzaWJsZVBvcyA9IHRoaXMuc2Nyb2xsRGlzdGFuY2U7XG4gICAgY29uc3QgYWZ0ZXJWaXNpYmxlUG9zID0gdGhpcy5zY3JvbGxEaXN0YW5jZSArIHZpZXdMZW5ndGg7XG4gICAgaWYgKGxhYmVsQmVmb3JlUG9zIDwgYmVmb3JlVmlzaWJsZVBvcykge1xuICAgICAgLy8gU2Nyb2xsIGhlYWRlciB0byBtb3ZlIGxhYmVsIHRvIHRoZSBiZWZvcmUgZGlyZWN0aW9uXG4gICAgICB0aGlzLnNjcm9sbERpc3RhbmNlIC09XG4gICAgICAgIGJlZm9yZVZpc2libGVQb3MgLSBsYWJlbEJlZm9yZVBvcyArIEVYQUdHRVJBVEVEX09WRVJTQ1JPTEw7XG4gICAgfSBlbHNlIGlmIChsYWJlbEFmdGVyUG9zID4gYWZ0ZXJWaXNpYmxlUG9zKSB7XG4gICAgICAvLyBTY3JvbGwgaGVhZGVyIHRvIG1vdmUgbGFiZWwgdG8gdGhlIGFmdGVyIGRpcmVjdGlvblxuICAgICAgdGhpcy5zY3JvbGxEaXN0YW5jZSArPVxuICAgICAgICBsYWJlbEFmdGVyUG9zIC0gYWZ0ZXJWaXNpYmxlUG9zICsgRVhBR0dFUkFURURfT1ZFUlNDUk9MTDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgdGhlIHRhYiBsaXN0IGluIHRoZSAnYmVmb3JlJyBvciAnYWZ0ZXInIGRpcmVjdGlvbiAodG93YXJkcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaXN0IG9yXG4gICAqIHRoZSBlbmQgb2YgdGhlIGxpc3QsIHJlc3BlY3RpdmVseSkuIFRoZSBkaXN0YW5jZSB0byBzY3JvbGwgaXMgY29tcHV0ZWQgdG8gYmUgYSB0aGlyZCBvZiB0aGVcbiAgICogbGVuZ3RoIG9mIHRoZSB0YWIgbGlzdCB2aWV3IHdpbmRvdy5cbiAgICpcbiAgICogVGhpcyBpcyBhbiBleHBlbnNpdmUgY2FsbCB0aGF0IGZvcmNlcyBhIGxheW91dCByZWZsb3cgdG8gY29tcHV0ZSBib3ggYW5kIHNjcm9sbCBtZXRyaWNzIGFuZFxuICAgKiBzaG91bGQgYmUgY2FsbGVkIHNwYXJpbmdseS5cbiAgICovXG4gIF9zY3JvbGxIZWFkZXIoc2Nyb2xsRGlyOiBTY3JvbGxEaXJlY3Rpb24pIHtcbiAgICBjb25zdCB2aWV3TGVuZ3RoID0gdGhpcy5fdGFiTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIC8vIE1vdmUgdGhlIHNjcm9sbCBkaXN0YW5jZSBvbmUtdGhpcmQgdGhlIGxlbmd0aCBvZiB0aGUgdGFiIGxpc3QncyB2aWV3cG9ydC5cbiAgICB0aGlzLnNjcm9sbERpc3RhbmNlICs9ICgoc2Nyb2xsRGlyID09PSAnYmVmb3JlJyA/IC0xIDogMSkgKiB2aWV3TGVuZ3RoKSAvIDM7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGJhY2sgZm9yIHdoZW4gdGhlIE11dGF0aW9uT2JzZXJ2ZXIgZGV0ZWN0cyB0aGF0IHRoZSBjb250ZW50IGhhcyBjaGFuZ2VkLlxuICAgKi9cbiAgX29uQ29udGVudENoYW5nZXMoKSB7XG4gICAgdGhpcy5fdXBkYXRlUGFnaW5hdGlvbigpO1xuICAgIHRoaXMuX2FsaWduQWN0aXZlSW5kaWNhdG9yVG9TZWxlY3RlZFRhYigpO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0aW5nIHRoZSB2aWV3IHdoZXRoZXIgcGFnaW5hdGlvbiBzaG91bGQgYmUgZW5hYmxlZCBvciBub3RcbiAgICovXG4gIF91cGRhdGVQYWdpbmF0aW9uKCkge1xuICAgIHRoaXMuX2NoZWNrUGFnaW5hdGlvbkVuYWJsZWQoKTtcbiAgICB0aGlzLl9jaGVja1Njcm9sbGluZ0NvbnRyb2xzKCk7XG4gICAgdGhpcy5fdXBkYXRlVGFiU2Nyb2xsUG9zaXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZSB3aGV0aGVyIHRoZSBwYWdpbmF0aW9uIGNvbnRyb2xzIHNob3VsZCBiZSBkaXNwbGF5ZWQuIElmIHRoZSBzY3JvbGwgd2lkdGggb2YgdGhlXG4gICAqIHRhYiBsaXN0IGlzIHdpZGVyIHRoYW4gdGhlIHNpemUgb2YgdGhlIGhlYWRlciBjb250YWluZXIsIHRoZW4gdGhlIHBhZ2luYXRpb24gY29udHJvbHMgc2hvdWxkXG4gICAqIGJlIHNob3duLlxuICAgKlxuICAgKiBUaGlzIGlzIGFuIGV4cGVuc2l2ZSBjYWxsIHRoYXQgZm9yY2VzIGEgbGF5b3V0IHJlZmxvdyB0byBjb21wdXRlIGJveCBhbmQgc2Nyb2xsIG1ldHJpY3MgYW5kXG4gICAqIHNob3VsZCBiZSBjYWxsZWQgc3BhcmluZ2x5LlxuICAgKi9cbiAgX2NoZWNrUGFnaW5hdGlvbkVuYWJsZWQoKSB7XG4gICAgY29uc3QgaXNFbmFibGVkID1cbiAgICAgIHRoaXMuX3RhYkxpc3QubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aCA+XG4gICAgICB0aGlzLl9wYWdpbmF0aW9uV3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICsgMjsgLy8gMiBpcyB0aGUgYm9yZGVyIHNpemVcbiAgICBpZiAoIWlzRW5hYmxlZCkge1xuICAgICAgdGhpcy5zY3JvbGxEaXN0YW5jZSA9IDA7XG4gICAgfVxuICAgIGNvbnN0IGRldGVjdENoYW5nZXMgPSBpc0VuYWJsZWQgIT09IHRoaXMuX3Nob3dQYWdpbmF0aW9uQ29udHJvbHM7XG4gICAgdGhpcy5fc2hvd1BhZ2luYXRpb25Db250cm9scyA9IGlzRW5hYmxlZDtcblxuICAgIGlmIChkZXRlY3RDaGFuZ2VzKSB7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXZhbHVhdGUgd2hldGhlciB0aGUgYmVmb3JlIGFuZCBhZnRlciBjb250cm9scyBzaG91bGQgYmUgZW5hYmxlZCBvciBkaXNhYmxlZC5cbiAgICogSWYgdGhlIGhlYWRlciBpcyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaXN0IChzY3JvbGwgZGlzdGFuY2UgaXMgZXF1YWwgdG8gMCkgdGhlbiBkaXNhYmxlIHRoZVxuICAgKiBiZWZvcmUgYnV0dG9uLiBJZiB0aGUgaGVhZGVyIGlzIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKHNjcm9sbCBkaXN0YW5jZSBpcyBlcXVhbCB0byB0aGVcbiAgICogbWF4aW11bSBkaXN0YW5jZSB3ZSBjYW4gc2Nyb2xsKSwgdGhlbiBkaXNhYmxlIHRoZSBhZnRlciBidXR0b24uXG4gICAqXG4gICAqIFRoaXMgaXMgYW4gZXhwZW5zaXZlIGNhbGwgdGhhdCBmb3JjZXMgYSBsYXlvdXQgcmVmbG93IHRvIGNvbXB1dGUgYm94IGFuZCBzY3JvbGwgbWV0cmljcyBhbmRcbiAgICogc2hvdWxkIGJlIGNhbGxlZCBzcGFyaW5nbHkuXG4gICAqL1xuICBfY2hlY2tTY3JvbGxpbmdDb250cm9scygpIHtcbiAgICAvLyBDaGVjayBpZiB0aGUgcGFnaW5hdGlvbiBhcnJvd3Mgc2hvdWxkIGJlIGFjdGl2YXRlZC5cbiAgICB0aGlzLl9kaXNhYmxlU2Nyb2xsQmVmb3JlID0gdGhpcy5zY3JvbGxEaXN0YW5jZSA9PT0gMDtcbiAgICB0aGlzLl9kaXNhYmxlU2Nyb2xsQWZ0ZXIgPVxuICAgICAgdGhpcy5zY3JvbGxEaXN0YW5jZSA9PT0gdGhpcy5fZ2V0TWF4U2Nyb2xsRGlzdGFuY2UoKTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoYXQgaXMgdGhlIG1heGltdW0gbGVuZ3RoIGluIHBpeGVscyB0aGF0IGNhbiBiZSBzZXQgZm9yIHRoZSBzY3JvbGwgZGlzdGFuY2UuIFRoaXNcbiAgICogaXMgZXF1YWwgdG8gdGhlIGRpZmZlcmVuY2UgaW4gd2lkdGggYmV0d2VlbiB0aGUgdGFiIGxpc3QgY29udGFpbmVyIGFuZCB0YWIgaGVhZGVyIGNvbnRhaW5lci5cbiAgICpcbiAgICogVGhpcyBpcyBhbiBleHBlbnNpdmUgY2FsbCB0aGF0IGZvcmNlcyBhIGxheW91dCByZWZsb3cgdG8gY29tcHV0ZSBib3ggYW5kIHNjcm9sbCBtZXRyaWNzIGFuZFxuICAgKiBzaG91bGQgYmUgY2FsbGVkIHNwYXJpbmdseS5cbiAgICovXG4gIF9nZXRNYXhTY3JvbGxEaXN0YW5jZSgpOiBudW1iZXIge1xuICAgIGNvbnN0IGxlbmd0aE9mVGFiTGlzdCA9IHRoaXMuX3RhYkxpc3QubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aDtcbiAgICBjb25zdCB2aWV3TGVuZ3RoID0gdGhpcy5fdGFiTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIHJldHVybiBsZW5ndGhPZlRhYkxpc3QgLSB2aWV3TGVuZ3RoIHx8IDA7XG4gIH1cblxuICAvKiogUGVyZm9ybXMgdGhlIENTUyB0cmFuc2Zvcm1hdGlvbiBvbiB0aGUgdGFiIGxpc3QgdGhhdCB3aWxsIGNhdXNlIHRoZSBsaXN0IHRvIHNjcm9sbC4gKi9cbiAgX3VwZGF0ZVRhYlNjcm9sbFBvc2l0aW9uKCkge1xuICAgIGNvbnN0IHNjcm9sbERpc3RhbmNlID0gdGhpcy5zY3JvbGxEaXN0YW5jZTtcbiAgICBjb25zdCB0cmFuc2xhdGVYID0gLXNjcm9sbERpc3RhbmNlO1xuICAgIC8vIERvbid0IHVzZSBgdHJhbnNsYXRlM2RgIGhlcmUgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIGNyZWF0ZSBhIG5ldyBsYXllci4gQSBuZXcgbGF5ZXJcbiAgICAvLyBzZWVtcyB0byBjYXVzZSBmbGlja2VyaW5nIGFuZCBvdmVyZmxvdyBpbiBJbnRlcm5ldCBFeHBsb3Jlci4gRm9yIGV4YW1wbGUsIHRoZSBpbmsgYmFyXG4gICAgLy8gYW5kIHJpcHBsZXMgd2lsbCBleGNlZWQgdGhlIGJvdW5kYXJpZXMgb2YgdGhlIHZpc2libGUgdGFiIGJhci5cbiAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi9pc3N1ZXMvMTAyNzZcbiAgICB0aGlzLl90YWJMaXN0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVgoJHt0cmFuc2xhdGVYfXB4KWA7XG4gIH1cblxuICAvKiogVGVsbHMgdGhlIGFjdGl2ZSBpbmRpY2F0b3IgdG8gYWxpZ24gaXRzZWxmIHRvIHRoZSBjdXJyZW50IGxhYmVsIHdyYXBwZXIgKi9cbiAgX2FsaWduQWN0aXZlSW5kaWNhdG9yVG9TZWxlY3RlZFRhYigpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZExhYmVsV3JhcHBlciA9XG4gICAgICB0aGlzLl9sYWJlbFdyYXBwZXJzPy5sZW5ndGggPiAwXG4gICAgICAgID8gdGhpcy5fbGFiZWxXcmFwcGVycy50b0FycmF5KClbdGhpcy5zZWxlY3RlZEluZGV4XS5lbGVtZW50UmVmXG4gICAgICAgICAgICAubmF0aXZlRWxlbWVudFxuICAgICAgICA6IG51bGw7XG4gICAgdGhpcy5fYWN0aXZlSW5kaWNhdG9yLmFsaWduVG9FbGVtZW50KHNlbGVjdGVkTGFiZWxXcmFwcGVyKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF92aWV3cG9ydFJ1bGVyOiBWaWV3cG9ydFJ1bGVyLFxuICApIHt9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImJlbS5ibG9jayh0eXBlLCBzaXplKVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiX3RpdGxlXCI+XG4gICAgPGRpdiBbbmdDbGFzc109XCJiZW0uZWxlbWVudCgndGl0bGUnKVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiX3RpdGxlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxkaXYgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2hlYWRlci13cmFwcGVyJylcIj5cbiAgICA8ZGl2IFtuZ0NsYXNzXT1cImJlbS5lbGVtZW50KCdwYWdpbmF0aW9uLXdyYXBwZXInKVwiICNwYWdpbmF0aW9uV3JhcHBlcj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJfc2hvd1BhZ2luYXRpb25Db250cm9sc1wiXG4gICAgICAgIChjbGljayk9XCJfc2Nyb2xsSGVhZGVyKCdiZWZvcmUnKVwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cIl9kaXNhYmxlU2Nyb2xsQmVmb3JlID8gJycgOiBudWxsXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ3BhZ2luYXRpb24tYnV0dG9uJylcIlxuICAgICAgPlxuICAgICAgICA8YXVpLWljb24gaWNvbj1cImFuZ2xlX2xlZnRcIj48L2F1aS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIFtuZ0NsYXNzXT1cImJlbS5lbGVtZW50KCd0YWItbGlzdC1jb250YWluZXInKVwiXG4gICAgICAgIChrZXlkb3duKT1cIl9oYW5kbGVLZXlkb3duKCRldmVudClcIlxuICAgICAgICAjdGFiTGlzdENvbnRhaW5lclxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgcm9sZT1cInRhYmxpc3RcIlxuICAgICAgICAgIChjZGtPYnNlcnZlQ29udGVudCk9XCJfb25Db250ZW50Q2hhbmdlcygpXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJiZW0uZWxlbWVudCgndGFiLWxpc3QnKVwiXG4gICAgICAgICAgI3RhYkxpc3RcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2xhYmVscycpXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PlxuICAgICAgICAgIDxhdWktdGFiLWhlYWRlci1hY3RpdmUtaW5kaWNhdG9yXG4gICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICA+PC9hdWktdGFiLWhlYWRlci1hY3RpdmUtaW5kaWNhdG9yPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cIl9zaG93UGFnaW5hdGlvbkNvbnRyb2xzXCJcbiAgICAgICAgKGNsaWNrKT1cIl9zY3JvbGxIZWFkZXIoJ2FmdGVyJylcIlxuICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJfZGlzYWJsZVNjcm9sbEFmdGVyID8gJycgOiBudWxsXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ3BhZ2luYXRpb24tYnV0dG9uJylcIlxuICAgICAgPlxuICAgICAgICA8YXVpLWljb24gaWNvbj1cImFuZ2xlX3JpZ2h0XCI+PC9hdWktaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwhLS0gSWYgdGhlcmUgaXMgYWRkb24gdGVtcGxhdGUsIHVzZSBpdC4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9zaG93QWRkb25cIj5cbiAgICAgIDxkaXYgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2FkZG9uJylcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiX2hlYWRlckFkZG9uXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,85 @@
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 { TabContextService } from './tab-context.service';
7
+ import { TabContentDirective, TabLabelDirective } from './tab-body.component';
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.2.3", 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.2.3", 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.2.3", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJzL3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvdGFicy90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsRUFFVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQVc5RSxNQUFNLE9BQU8sWUFBWTtJQStEdkIsWUFDbUIsaUJBQW1DLEVBQ3BDLFVBQTZCO1FBRDVCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDcEMsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUE3RC9DLDBFQUEwRTtRQUUxRSxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWYsNERBQTREO1FBRTVELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFhbEIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFvQmpDOzs7V0FHRztRQUNILGFBQVEsR0FBa0IsSUFBSSxDQUFDO1FBRS9COzs7V0FHRztRQUNILFdBQU0sR0FBa0IsSUFBSSxDQUFDO1FBRTdCLDREQUE0RDtRQUNuRCxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFN0Msd0RBQXdEO1FBQ2hELG1CQUFjLEdBQTBCLElBQUksQ0FBQztRQUU3QyxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBS3ZCLENBQUM7SUF0REosMENBQTBDO0lBQzFDLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBbUI7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBbUJELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBMkJELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUN0QyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUM5QyxJQUFJLENBQUMsaUJBQWlCLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUNFLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEVBQ25DO1lBQ0EsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7O3lHQXZGVSxZQUFZOzZGQUFaLFlBQVksMEtBRlosQ0FBQyxpQkFBaUIsQ0FBQyxxRUE0QmhCLGlCQUFpQixtRkFNakIsbUJBQW1CLDJCQUFVLFdBQVcsK0VBSTNDLFdBQVcseUdDdEV4QiwrUUFNQTsyRkQ0QmEsWUFBWTtrQkFUeEIsU0FBUzsrQkFDRSxTQUFTLFlBQ1QsUUFBUSxpQkFFSCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLHVCQUMxQixLQUFLLGFBQ2YsQ0FBQyxpQkFBaUIsQ0FBQzt1SUFJOUIsSUFBSTtzQkFESCxLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSzt1QkFBQyxPQUFPO2dCQUtkLFNBQVM7c0JBRFIsS0FBSztnQkFLRixRQUFRO3NCQURYLEtBQUs7Z0JBVU4sS0FBSztzQkFESixNQUFNO2dCQUtQLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBT2xELGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUt2RSxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zICovXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGNvZXJjZUF0dHJCb29sZWFuIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBUYWJDb250ZXh0U2VydmljZSB9IGZyb20gJy4vdGFiLWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBUYWJDb250ZW50RGlyZWN0aXZlLCBUYWJMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4vdGFiLWJvZHkuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLXRhYicsXG4gIGV4cG9ydEFzOiAnYXVpVGFiJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgcHJvdmlkZXJzOiBbVGFiQ29udGV4dFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIG5hbWU6IHN0cmluZztcblxuICAvKiogUGxhaW4gdGV4dCBsYWJlbCBmb3IgdGhlIHRhYiwgdXNlZCB3aGVuIHRoZXJlIGlzIG5vIHRlbXBsYXRlIGxhYmVsLiAqL1xuICBASW5wdXQoJ2xhYmVsJylcbiAgdGV4dExhYmVsID0gJyc7XG5cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRvIHNob3cgdGhlIGNsb3NlIGJ1dHRvbiBpbiB0aGUgaGVhZGVyICovXG4gIEBJbnB1dCgpXG4gIGNsb3NlYWJsZSA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgdGFiIGlzIGRpc2FibGVkICAqL1xuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUF0dHJCb29sZWFuKHZhbHVlKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKiogQ29udGVudCBmb3IgdGhlIHRhYiBsYWJlbCBnaXZlbiBieSBgPG5nLXRlbXBsYXRlIFthdWlUYWJMYWJlbF0+YC4gKi9cbiAgQENvbnRlbnRDaGlsZChUYWJMYWJlbERpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHRlbXBsYXRlTGFiZWw6IFRhYkxhYmVsRGlyZWN0aXZlO1xuXG4gIC8qKlxuICAgKiBUZW1wbGF0ZSBwcm92aWRlZCBpbiB0aGUgdGFiIGNvbnRlbnQgdGhhdCB3aWxsIGJlIHVzZWQgaWYgcHJlc2VudCwgdXNlZCB0byBlbmFibGUgbGF6eS1sb2FkaW5nXG4gICAqL1xuICBAQ29udGVudENoaWxkKFRhYkNvbnRlbnREaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgX2V4cGxpY2l0Q29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKiogVGVtcGxhdGUgaW5zaWRlIHRoZSBBdWlUYWIgdmlldyB0aGF0IGNvbnRhaW5zIGFuIGA8bmctY29udGVudD5gLiAqL1xuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfaW1wbGljaXRDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGdldCBjb250ZW50KCk6IFRlbXBsYXRlUG9ydGFsIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRQb3J0YWw7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHJlbGF0aXZlbHkgaW5kZXhlZCBwb3NpdGlvbiB3aGVyZSAwIHJlcHJlc2VudHMgdGhlIGNlbnRlciwgbmVnYXRpdmUgaXMgbGVmdCwgYW5kIHBvc2l0aXZlXG4gICAqIHJlcHJlc2VudHMgdGhlIHJpZ2h0LlxuICAgKi9cbiAgcG9zaXRpb246IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5pdGlhbCByZWxhdGl2ZWx5IGluZGV4IG9yaWdpbiBvZiB0aGUgdGFiIGlmIGl0IHdhcyBjcmVhdGVkIGFuZCBzZWxlY3RlZCBhZnRlciB0aGVyZVxuICAgKiB3YXMgYWxyZWFkeSBhIHNlbGVjdGVkIHRhYi4gUHJvdmlkZXMgY29udGV4dCBvZiB3aGF0IHBvc2l0aW9uIHRoZSB0YWIgc2hvdWxkIG9yaWdpbmF0ZSBmcm9tLlxuICAgKi9cbiAgb3JpZ2luOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGludGVybmFsIHN0YXRlIG9mIHRoZSB0YWIgY2hhbmdlcy4gKi9cbiAgcmVhZG9ubHkgX3N0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqIFBvcnRhbCB0aGF0IHdpbGwgYmUgdGhlIGhvc3RlZCBjb250ZW50IG9mIHRoZSB0YWIgKi9cbiAgcHJpdmF0ZSBfY29udGVudFBvcnRhbDogVGVtcGxhdGVQb3J0YWwgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHVibGljIHJlYWRvbmx5IHRhYkNvbnRleHQ6IFRhYkNvbnRleHRTZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRlbnRQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoXG4gICAgICB0aGlzLl9leHBsaWNpdENvbnRlbnQgfHwgdGhpcy5faW1wbGljaXRDb250ZW50LFxuICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZixcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgndGV4dExhYmVsJykgfHxcbiAgICAgIGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ2Rpc2FibGVkJykgfHxcbiAgICAgIGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ2Nsb3NlYWJsZScpXG4gICAgKSB7XG4gICAgICB0aGlzLl9zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cbiAgfVxufVxuIiwiPCEtLVxuICBDcmVhdGUgYSB0ZW1wbGF0ZSBmb3IgdGhlIGNvbnRlbnQgb2YgdGhlIDxhdWktdGFiPiBzbyB0aGF0IHdlIGNhbiBncmFiIGEgcmVmZXJlbmNlIHRvIHRoaXNcbiAgVGVtcGxhdGVSZWYgYW5kIHVzZSBpdCBpbiBhIFBvcnRhbCB0byByZW5kZXIgdGhlIHRhYiBjb250ZW50IGluIHRoZSBhcHByb3ByaWF0ZSBwbGFjZSBpbiB0aGVcbiAgdGFiLWdyb3VwLlxuLS0+XG48bmctdGVtcGxhdGU+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvbmctdGVtcGxhdGU+XG4iXX0=