@alauda/ui 6.5.9-beta.23 → 6.5.9-beta.25

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 (466) hide show
  1. package/accordion/accordion-item/accordion-item.component.d.ts +1 -1
  2. package/accordion/accordion.component.d.ts +1 -1
  3. package/anchor/anchor.component.d.ts +2 -2
  4. package/anchor/anchor.directive.d.ts +2 -2
  5. package/autocomplete/autocomplete.directive.d.ts +2 -2
  6. package/autocomplete/suggestion/suggestion.component.d.ts +1 -1
  7. package/back-top/back-top.component.d.ts +1 -1
  8. package/breadcrumb/breadcrumb.component.d.ts +1 -1
  9. package/button/button.component.d.ts +1 -1
  10. package/card/card.component.d.ts +1 -1
  11. package/card/helper-directives.d.ts +1 -1
  12. package/checkbox/checkbox-group/checkbox-group.component.d.ts +1 -1
  13. package/checkbox/checkbox.component.d.ts +1 -1
  14. package/date-picker/calendar/date-picker-panel/component.d.ts +1 -1
  15. package/date-picker/calendar/footer/component.d.ts +1 -1
  16. package/date-picker/calendar/header/component.d.ts +1 -1
  17. package/date-picker/calendar/panel/picker-panel.d.ts +1 -1
  18. package/date-picker/calendar/range-picker-panel/component.d.ts +1 -1
  19. package/date-picker/date-picker/date-picker.component.d.ts +1 -1
  20. package/date-picker/range-picker/range-picker.component.d.ts +1 -1
  21. package/date-picker/trigger/trigger.component.d.ts +1 -1
  22. package/dialog/dialog-content/dialog-close.directive.d.ts +1 -1
  23. package/dialog/dialog-content/dialog-header.component.d.ts +1 -1
  24. package/drawer/component/drawer.component.d.ts +1 -1
  25. package/dropdown/dropdown-active.directive.d.ts +1 -1
  26. package/dropdown/dropdown-button/dropdown-button.component.d.ts +1 -1
  27. package/dropdown/dropdown.directive.d.ts +1 -1
  28. package/dropdown/menu/menu.component.d.ts +1 -1
  29. package/dropdown/menu-item/menu-item.component.d.ts +1 -1
  30. package/dropdown/submenu/submenu.component.d.ts +1 -1
  31. package/esm2022/accordion/accordion-item/accordion-item.component.mjs +73 -0
  32. package/esm2022/accordion/accordion.component.mjs +29 -0
  33. package/{esm2020 → esm2022}/accordion/accordion.module.mjs +11 -11
  34. package/esm2022/anchor/anchor.component.mjs +141 -0
  35. package/esm2022/anchor/anchor.directive.mjs +198 -0
  36. package/{esm2020 → esm2022}/anchor/anchor.module.mjs +11 -11
  37. package/{esm2020 → esm2022}/autocomplete/autocomplete-placeholder.component.mjs +4 -4
  38. package/esm2022/autocomplete/autocomplete.component.mjs +72 -0
  39. package/esm2022/autocomplete/autocomplete.directive.mjs +278 -0
  40. package/{esm2020 → esm2022}/autocomplete/autocomplete.module.mjs +17 -17
  41. package/{esm2020 → esm2022}/autocomplete/helper-directives.mjs +4 -4
  42. package/esm2022/autocomplete/suggestion/suggestion.component.mjs +85 -0
  43. package/esm2022/autocomplete/suggestion-group/suggestion-group.component.mjs +25 -0
  44. package/esm2022/back-top/back-top.component.mjs +68 -0
  45. package/{esm2020 → esm2022}/back-top/back-top.module.mjs +5 -5
  46. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +33 -0
  47. package/esm2022/breadcrumb/breadcrumb.component.mjs +56 -0
  48. package/{esm2020 → esm2022}/breadcrumb/breadcrumb.module.mjs +5 -5
  49. package/{esm2020 → esm2022}/button/button-group/button-group.component.mjs +4 -4
  50. package/esm2022/button/button.component.mjs +124 -0
  51. package/{esm2020 → esm2022}/button/button.module.mjs +5 -5
  52. package/esm2022/card/card.component.mjs +14 -0
  53. package/{esm2020 → esm2022}/card/card.module.mjs +13 -13
  54. package/esm2022/card/helper-directives.mjs +45 -0
  55. package/{esm2020 → esm2022}/card/section.component.mjs +4 -4
  56. package/esm2022/checkbox/checkbox-group/checkbox-group.component.mjs +60 -0
  57. package/esm2022/checkbox/checkbox.component.mjs +116 -0
  58. package/{esm2020 → esm2022}/checkbox/checkbox.module.mjs +5 -5
  59. package/esm2022/color-picker/color-picker.component.mjs +28 -0
  60. package/{esm2020 → esm2022}/color-picker/color-picker.module.mjs +5 -5
  61. package/esm2022/date-picker/calendar/date-picker-panel/component.mjs +137 -0
  62. package/esm2022/date-picker/calendar/footer/component.mjs +29 -0
  63. package/esm2022/date-picker/calendar/header/component.mjs +99 -0
  64. package/esm2022/date-picker/calendar/panel/picker-panel.mjs +158 -0
  65. package/esm2022/date-picker/calendar/range-picker-panel/component.mjs +210 -0
  66. package/esm2022/date-picker/calendar/util.mjs +152 -0
  67. package/esm2022/date-picker/date-picker/date-picker.component.mjs +115 -0
  68. package/{esm2020 → esm2022}/date-picker/date-picker.module.mjs +35 -35
  69. package/esm2022/date-picker/range-picker/range-picker.component.mjs +88 -0
  70. package/esm2022/date-picker/trigger/trigger.component.mjs +76 -0
  71. package/esm2022/dialog/confirm-dialog/confirm-dialog-config.mjs +13 -0
  72. package/esm2022/dialog/confirm-dialog/confirm-dialog.component.mjs +88 -0
  73. package/esm2022/dialog/dialog-config.mjs +14 -0
  74. package/esm2022/dialog/dialog-content/dialog-close.directive.mjs +42 -0
  75. package/{esm2020 → esm2022}/dialog/dialog-content/dialog-content.component.mjs +5 -5
  76. package/esm2022/dialog/dialog-content/dialog-footer.component.mjs +13 -0
  77. package/esm2022/dialog/dialog-content/dialog-header.component.mjs +42 -0
  78. package/esm2022/dialog/dialog-ref.mjs +52 -0
  79. package/esm2022/dialog/dialog.component.mjs +154 -0
  80. package/{esm2020 → esm2022}/dialog/dialog.module.mjs +22 -22
  81. package/esm2022/dialog/dialog.service.mjs +124 -0
  82. package/esm2022/drawer/component/drawer.component.mjs +248 -0
  83. package/{esm2020 → esm2022}/drawer/component/helper-directives.mjs +10 -10
  84. package/{esm2020 → esm2022}/drawer/drawer.module.mjs +11 -11
  85. package/esm2022/drawer/drawer.service.mjs +47 -0
  86. package/esm2022/dropdown/dropdown-active.directive.mjs +18 -0
  87. package/esm2022/dropdown/dropdown-button/dropdown-button.component.mjs +50 -0
  88. package/esm2022/dropdown/dropdown.directive.mjs +83 -0
  89. package/{esm2020 → esm2022}/dropdown/dropdown.module.mjs +21 -21
  90. package/{esm2020 → esm2022}/dropdown/helper-directives.mjs +4 -4
  91. package/esm2022/dropdown/menu/menu-content.directive.mjs +59 -0
  92. package/esm2022/dropdown/menu/menu.component.mjs +34 -0
  93. package/{esm2020 → esm2022}/dropdown/menu-group/menu-group.component.mjs +4 -4
  94. package/esm2022/dropdown/menu-item/menu-item.component.mjs +35 -0
  95. package/esm2022/dropdown/submenu/submenu.component.mjs +38 -0
  96. package/esm2022/form/common-form.mjs +88 -0
  97. package/esm2022/form/form-item/form-item.component.mjs +121 -0
  98. package/esm2022/form/form.directive.mjs +70 -0
  99. package/{esm2020 → esm2022}/form/form.module.mjs +17 -17
  100. package/esm2022/form/helper-directives.mjs +78 -0
  101. package/{esm2020 → esm2022}/i18n/i18n.module.mjs +5 -5
  102. package/esm2022/i18n/i18n.pipe.mjs +21 -0
  103. package/esm2022/i18n/i18n.service.mjs +46 -0
  104. package/esm2022/icon/icon-register.service.mjs +75 -0
  105. package/esm2022/icon/icon.component.mjs +74 -0
  106. package/{esm2020 → esm2022}/icon/icon.module.mjs +5 -5
  107. package/{esm2020 → esm2022}/inline-alert/helper-directives.mjs +4 -4
  108. package/esm2022/inline-alert/inline-alert.component.mjs +54 -0
  109. package/{esm2020 → esm2022}/inline-alert/inline-alert.module.mjs +5 -5
  110. package/esm2022/input/autosize.directive.mjs +56 -0
  111. package/esm2022/input/helper-directives.mjs +43 -0
  112. package/esm2022/input/input-group/input-group.component.mjs +46 -0
  113. package/esm2022/input/input.component.mjs +59 -0
  114. package/{esm2020 → esm2022}/input/input.module.mjs +33 -33
  115. package/esm2022/input/number-input/number-input.component.mjs +115 -0
  116. package/esm2022/input/search/search.component.mjs +87 -0
  117. package/esm2022/input/tags-input/tags-input.component.mjs +264 -0
  118. package/esm2022/message/base-message.mjs +99 -0
  119. package/esm2022/message/message-wrapper.component.mjs +15 -0
  120. package/esm2022/message/message.component.mjs +77 -0
  121. package/esm2022/message/message.config.mjs +20 -0
  122. package/{esm2020 → esm2022}/message/message.module.mjs +5 -5
  123. package/{esm2020 → esm2022}/message/message.service.mjs +4 -4
  124. package/esm2022/notification/notification-wrapper.component.mjs +17 -0
  125. package/esm2022/notification/notification.component.mjs +106 -0
  126. package/{esm2020 → esm2022}/notification/notification.module.mjs +5 -5
  127. package/{esm2020 → esm2022}/notification/notification.service.mjs +4 -4
  128. package/esm2022/paginator/paginator-intl.mjs +24 -0
  129. package/esm2022/paginator/paginator.component.mjs +124 -0
  130. package/{esm2020 → esm2022}/paginator/paginator.module.mjs +5 -5
  131. package/esm2022/radio/base-radio.mjs +72 -0
  132. package/esm2022/radio/radio-button/radio-button.component.mjs +41 -0
  133. package/esm2022/radio/radio-group/radio-group.component.mjs +70 -0
  134. package/{esm2020 → esm2022}/radio/radio.component.mjs +5 -5
  135. package/{esm2020 → esm2022}/radio/radio.module.mjs +5 -5
  136. package/{esm2020 → esm2022}/scrolling/fixed-size-table-virtual-scroll-strategy.mjs +13 -14
  137. package/esm2022/scrolling/fixed-size-table-virtual-scroll.directive.mjs +119 -0
  138. package/esm2022/scrolling/fixed-size-virtual-scroll.directive.mjs +27 -0
  139. package/{esm2020 → esm2022}/scrolling/scrolling.module.mjs +9 -9
  140. package/{esm2020 → esm2022}/scrolling/virtual-for-of.directive.mjs +4 -4
  141. package/esm2022/scrolling/virtual-scroll-viewport.component.mjs +26 -0
  142. package/esm2022/select/base-select.mjs +345 -0
  143. package/{esm2020 → esm2022}/select/helper-directives.mjs +7 -7
  144. package/esm2022/select/multi-select/multi-select.component.mjs +318 -0
  145. package/esm2022/select/option/option.component.mjs +119 -0
  146. package/esm2022/select/option-group/option-group.component.mjs +25 -0
  147. package/{esm2020 → esm2022}/select/option-placeholder.component.mjs +4 -4
  148. package/esm2022/select/select.component.mjs +107 -0
  149. package/{esm2020 → esm2022}/select/select.module.mjs +29 -29
  150. package/esm2022/select/validators.mjs +78 -0
  151. package/esm2022/shared/click-outside.directive.mjs +29 -0
  152. package/{esm2020 → esm2022}/shared/shared.module.mjs +5 -5
  153. package/esm2022/sort/sort-header.component.mjs +74 -0
  154. package/esm2022/sort/sort.directive.mjs +73 -0
  155. package/{esm2020 → esm2022}/sort/sort.module.mjs +5 -5
  156. package/esm2022/status-bar/status-bar.component.mjs +28 -0
  157. package/{esm2020 → esm2022}/status-bar/status-bar.module.mjs +5 -5
  158. package/esm2022/steps/steps.component.mjs +180 -0
  159. package/{esm2020 → esm2022}/steps/steps.module.mjs +5 -5
  160. package/esm2022/switch/switch.component.mjs +43 -0
  161. package/{esm2020 → esm2022}/switch/switch.module.mjs +5 -5
  162. package/esm2022/table/table-cell-def.directive.mjs +25 -0
  163. package/esm2022/table/table-cell.component.mjs +115 -0
  164. package/{esm2020 → esm2022}/table/table-cell.directive.mjs +5 -5
  165. package/esm2022/table/table-column-def.directive.mjs +31 -0
  166. package/esm2022/table/table-header-cell-def.directive.mjs +25 -0
  167. package/{esm2020 → esm2022}/table/table-header-cell.directive.mjs +4 -4
  168. package/esm2022/table/table-header-row-def.directive.mjs +33 -0
  169. package/{esm2020 → esm2022}/table/table-header-row.component.mjs +4 -4
  170. package/esm2022/table/table-placeholder.directive.mjs +33 -0
  171. package/esm2022/table/table-row-def.directive.mjs +34 -0
  172. package/esm2022/table/table-row.component.mjs +43 -0
  173. package/esm2022/table/table-scroll.directive.mjs +133 -0
  174. package/esm2022/table/table.component.mjs +79 -0
  175. package/{esm2020 → esm2022}/table/table.module.mjs +35 -35
  176. package/{esm2020 → esm2022}/table-of-contents/table-of-contents.module.mjs +5 -5
  177. package/esm2022/table-of-contents/toc-container.directive.mjs +111 -0
  178. package/esm2022/table-of-contents/toc-content.directive.mjs +39 -0
  179. package/esm2022/table-of-contents/toc-link.directive.mjs +48 -0
  180. package/esm2022/tabs/tab-body.component.mjs +151 -0
  181. package/esm2022/tabs/tab-context.service.mjs +30 -0
  182. package/esm2022/tabs/tab-group.component.mjs +256 -0
  183. package/esm2022/tabs/tab-header-active-indicator.component.mjs +46 -0
  184. package/esm2022/tabs/tab-header.component.mjs +276 -0
  185. package/esm2022/tabs/tab.component.mjs +77 -0
  186. package/{esm2020 → esm2022}/tabs/tabs.module.mjs +34 -34
  187. package/esm2022/tag/check-tag/check-tag.component.mjs +31 -0
  188. package/esm2022/tag/tag.component.mjs +63 -0
  189. package/{esm2020 → esm2022}/tag/tag.module.mjs +5 -5
  190. package/{esm2020 → esm2022}/theme/theme.module.mjs +5 -5
  191. package/esm2022/theme/theme.pipe.mjs +64 -0
  192. package/esm2022/theme/theme.service.mjs +55 -0
  193. package/esm2022/time-picker/component.mjs +181 -0
  194. package/esm2022/time-picker/panel/panel.component.mjs +240 -0
  195. package/{esm2020 → esm2022}/time-picker/time-picker.module.mjs +23 -23
  196. package/esm2022/tooltip/base-tooltip.mjs +329 -0
  197. package/esm2022/tooltip/tooltip-active.directive.mjs +51 -0
  198. package/esm2022/tooltip/tooltip-copy.directive.mjs +87 -0
  199. package/esm2022/tooltip/tooltip-intl.mjs +21 -0
  200. package/esm2022/tooltip/tooltip.component.mjs +120 -0
  201. package/esm2022/tooltip/tooltip.directive.mjs +44 -0
  202. package/{esm2020 → esm2022}/tooltip/tooltip.module.mjs +8 -8
  203. package/{esm2020 → esm2022}/tree-select/tree-node-placeholder.component.mjs +4 -4
  204. package/esm2022/tree-select/tree-select.component.mjs +350 -0
  205. package/{esm2020 → esm2022}/tree-select/tree-select.module.mjs +9 -9
  206. package/esm2022/utils/bem.mjs +44 -0
  207. package/{fesm2020 → fesm2022}/alauda-ui.mjs +2200 -1860
  208. package/fesm2022/alauda-ui.mjs.map +1 -0
  209. package/form/common-form.d.ts +1 -1
  210. package/form/form-item/form-item.component.d.ts +1 -1
  211. package/form/form.directive.d.ts +1 -1
  212. package/form/helper-directives.d.ts +1 -1
  213. package/icon/icon.component.d.ts +1 -1
  214. package/inline-alert/inline-alert.component.d.ts +1 -1
  215. package/input/autosize.directive.d.ts +1 -1
  216. package/input/input.component.d.ts +1 -1
  217. package/input/number-input/number-input.component.d.ts +1 -1
  218. package/input/search/search.component.d.ts +1 -1
  219. package/input/tags-input/tags-input.component.d.ts +1 -1
  220. package/package.json +11 -17
  221. package/paginator/paginator.component.d.ts +1 -1
  222. package/radio/base-radio.d.ts +1 -1
  223. package/radio/radio-group/radio-group.component.d.ts +1 -1
  224. package/scrolling/fixed-size-table-virtual-scroll.directive.d.ts +1 -1
  225. package/scrolling/virtual-for-of.directive.d.ts +1 -1
  226. package/select/base-select.d.ts +1 -1
  227. package/select/multi-select/multi-select.component.d.ts +1 -1
  228. package/select/option/option.component.d.ts +1 -1
  229. package/select/validators.d.ts +1 -1
  230. package/sort/sort-header.component.d.ts +1 -1
  231. package/sort/sort.directive.d.ts +1 -1
  232. package/status-bar/status-bar.component.d.ts +1 -1
  233. package/steps/steps.component.d.ts +1 -1
  234. package/switch/switch.component.d.ts +1 -1
  235. package/table/table-cell.component.d.ts +2 -2
  236. package/table/table-cell.directive.d.ts +1 -1
  237. package/table/table-column-def.directive.d.ts +1 -1
  238. package/table/table-header-row-def.directive.d.ts +1 -1
  239. package/table/table-row-def.directive.d.ts +1 -1
  240. package/table/table-row.component.d.ts +1 -1
  241. package/table/table-scroll.directive.d.ts +2 -2
  242. package/table/table.component.d.ts +1 -1
  243. package/table-of-contents/toc-content.directive.d.ts +1 -1
  244. package/table-of-contents/toc-link.directive.d.ts +1 -1
  245. package/tabs/tab-body.component.d.ts +2 -2
  246. package/tabs/tab-group.component.d.ts +1 -1
  247. package/tabs/tab-header-active-indicator.component.d.ts +1 -1
  248. package/tabs/tab-header.component.d.ts +1 -1
  249. package/tabs/tab.component.d.ts +1 -1
  250. package/tag/check-tag/check-tag.component.d.ts +1 -1
  251. package/tag/tag.component.d.ts +1 -1
  252. package/time-picker/component.d.ts +1 -1
  253. package/time-picker/panel/panel.component.d.ts +1 -1
  254. package/tooltip/tooltip-active.directive.d.ts +1 -1
  255. package/tooltip/tooltip-copy.directive.d.ts +1 -1
  256. package/tooltip/tooltip.directive.d.ts +1 -1
  257. package/tree-select/tree-select.component.d.ts +2 -2
  258. package/esm2020/accordion/accordion-item/accordion-item.component.mjs +0 -71
  259. package/esm2020/accordion/accordion.component.mjs +0 -27
  260. package/esm2020/anchor/anchor.component.mjs +0 -137
  261. package/esm2020/anchor/anchor.directive.mjs +0 -182
  262. package/esm2020/autocomplete/autocomplete.component.mjs +0 -64
  263. package/esm2020/autocomplete/autocomplete.directive.mjs +0 -277
  264. package/esm2020/autocomplete/suggestion/suggestion.component.mjs +0 -79
  265. package/esm2020/autocomplete/suggestion-group/suggestion-group.component.mjs +0 -23
  266. package/esm2020/back-top/back-top.component.mjs +0 -65
  267. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +0 -32
  268. package/esm2020/breadcrumb/breadcrumb.component.mjs +0 -57
  269. package/esm2020/button/button.component.mjs +0 -121
  270. package/esm2020/card/card.component.mjs +0 -16
  271. package/esm2020/card/helper-directives.mjs +0 -47
  272. package/esm2020/checkbox/checkbox-group/checkbox-group.component.mjs +0 -61
  273. package/esm2020/checkbox/checkbox.component.mjs +0 -112
  274. package/esm2020/color-picker/color-picker.component.mjs +0 -28
  275. package/esm2020/date-picker/calendar/date-picker-panel/component.mjs +0 -128
  276. package/esm2020/date-picker/calendar/footer/component.mjs +0 -29
  277. package/esm2020/date-picker/calendar/header/component.mjs +0 -99
  278. package/esm2020/date-picker/calendar/panel/picker-panel.mjs +0 -151
  279. package/esm2020/date-picker/calendar/range-picker-panel/component.mjs +0 -207
  280. package/esm2020/date-picker/calendar/util.mjs +0 -145
  281. package/esm2020/date-picker/date-picker/date-picker.component.mjs +0 -110
  282. package/esm2020/date-picker/range-picker/range-picker.component.mjs +0 -86
  283. package/esm2020/date-picker/trigger/trigger.component.mjs +0 -69
  284. package/esm2020/dialog/confirm-dialog/confirm-dialog-config.mjs +0 -12
  285. package/esm2020/dialog/confirm-dialog/confirm-dialog.component.mjs +0 -85
  286. package/esm2020/dialog/dialog-config.mjs +0 -15
  287. package/esm2020/dialog/dialog-content/dialog-close.directive.mjs +0 -38
  288. package/esm2020/dialog/dialog-content/dialog-footer.component.mjs +0 -15
  289. package/esm2020/dialog/dialog-content/dialog-header.component.mjs +0 -39
  290. package/esm2020/dialog/dialog-ref.mjs +0 -48
  291. package/esm2020/dialog/dialog.component.mjs +0 -147
  292. package/esm2020/dialog/dialog.service.mjs +0 -120
  293. package/esm2020/drawer/component/drawer.component.mjs +0 -229
  294. package/esm2020/drawer/drawer.service.mjs +0 -44
  295. package/esm2020/dropdown/dropdown-active.directive.mjs +0 -21
  296. package/esm2020/dropdown/dropdown-button/dropdown-button.component.mjs +0 -51
  297. package/esm2020/dropdown/dropdown.directive.mjs +0 -81
  298. package/esm2020/dropdown/menu/menu-content.directive.mjs +0 -51
  299. package/esm2020/dropdown/menu/menu.component.mjs +0 -33
  300. package/esm2020/dropdown/menu-item/menu-item.component.mjs +0 -37
  301. package/esm2020/dropdown/submenu/submenu.component.mjs +0 -40
  302. package/esm2020/form/common-form.mjs +0 -84
  303. package/esm2020/form/form-item/form-item.component.mjs +0 -108
  304. package/esm2020/form/form.directive.mjs +0 -69
  305. package/esm2020/form/helper-directives.mjs +0 -80
  306. package/esm2020/i18n/i18n.pipe.mjs +0 -20
  307. package/esm2020/i18n/i18n.service.mjs +0 -43
  308. package/esm2020/icon/icon-register.service.mjs +0 -73
  309. package/esm2020/icon/icon.component.mjs +0 -65
  310. package/esm2020/inline-alert/inline-alert.component.mjs +0 -53
  311. package/esm2020/input/autosize.directive.mjs +0 -54
  312. package/esm2020/input/helper-directives.mjs +0 -43
  313. package/esm2020/input/input-group/input-group.component.mjs +0 -39
  314. package/esm2020/input/input.component.mjs +0 -57
  315. package/esm2020/input/number-input/number-input.component.mjs +0 -112
  316. package/esm2020/input/search/search.component.mjs +0 -88
  317. package/esm2020/input/tags-input/tags-input.component.mjs +0 -255
  318. package/esm2020/message/base-message.mjs +0 -90
  319. package/esm2020/message/message-wrapper.component.mjs +0 -14
  320. package/esm2020/message/message.component.mjs +0 -70
  321. package/esm2020/message/message.config.mjs +0 -16
  322. package/esm2020/notification/notification-wrapper.component.mjs +0 -16
  323. package/esm2020/notification/notification.component.mjs +0 -103
  324. package/esm2020/paginator/paginator-intl.mjs +0 -26
  325. package/esm2020/paginator/paginator.component.mjs +0 -117
  326. package/esm2020/radio/base-radio.mjs +0 -67
  327. package/esm2020/radio/radio-button/radio-button.component.mjs +0 -41
  328. package/esm2020/radio/radio-group/radio-group.component.mjs +0 -73
  329. package/esm2020/scrolling/fixed-size-table-virtual-scroll.directive.mjs +0 -119
  330. package/esm2020/scrolling/fixed-size-virtual-scroll.directive.mjs +0 -27
  331. package/esm2020/scrolling/virtual-scroll-viewport.component.mjs +0 -26
  332. package/esm2020/select/base-select.mjs +0 -334
  333. package/esm2020/select/multi-select/multi-select.component.mjs +0 -310
  334. package/esm2020/select/option/option.component.mjs +0 -112
  335. package/esm2020/select/option-group/option-group.component.mjs +0 -23
  336. package/esm2020/select/select.component.mjs +0 -107
  337. package/esm2020/select/validators.mjs +0 -75
  338. package/esm2020/shared/click-outside.directive.mjs +0 -28
  339. package/esm2020/sort/sort-header.component.mjs +0 -68
  340. package/esm2020/sort/sort.directive.mjs +0 -74
  341. package/esm2020/status-bar/status-bar.component.mjs +0 -29
  342. package/esm2020/steps/steps.component.mjs +0 -180
  343. package/esm2020/switch/switch.component.mjs +0 -46
  344. package/esm2020/table/table-cell-def.directive.mjs +0 -25
  345. package/esm2020/table/table-cell.component.mjs +0 -121
  346. package/esm2020/table/table-column-def.directive.mjs +0 -31
  347. package/esm2020/table/table-header-cell-def.directive.mjs +0 -25
  348. package/esm2020/table/table-header-row-def.directive.mjs +0 -35
  349. package/esm2020/table/table-placeholder.directive.mjs +0 -30
  350. package/esm2020/table/table-row-def.directive.mjs +0 -37
  351. package/esm2020/table/table-row.component.mjs +0 -42
  352. package/esm2020/table/table-scroll.directive.mjs +0 -133
  353. package/esm2020/table/table.component.mjs +0 -76
  354. package/esm2020/table-of-contents/toc-container.directive.mjs +0 -109
  355. package/esm2020/table-of-contents/toc-content.directive.mjs +0 -35
  356. package/esm2020/table-of-contents/toc-link.directive.mjs +0 -44
  357. package/esm2020/tabs/tab-body.component.mjs +0 -147
  358. package/esm2020/tabs/tab-context.service.mjs +0 -28
  359. package/esm2020/tabs/tab-group.component.mjs +0 -246
  360. package/esm2020/tabs/tab-header-active-indicator.component.mjs +0 -44
  361. package/esm2020/tabs/tab-header.component.mjs +0 -264
  362. package/esm2020/tabs/tab.component.mjs +0 -71
  363. package/esm2020/tag/check-tag/check-tag.component.mjs +0 -33
  364. package/esm2020/tag/tag.component.mjs +0 -65
  365. package/esm2020/theme/theme.pipe.mjs +0 -69
  366. package/esm2020/theme/theme.service.mjs +0 -52
  367. package/esm2020/time-picker/component.mjs +0 -179
  368. package/esm2020/time-picker/panel/panel.component.mjs +0 -228
  369. package/esm2020/tooltip/base-tooltip.mjs +0 -318
  370. package/esm2020/tooltip/tooltip-active.directive.mjs +0 -49
  371. package/esm2020/tooltip/tooltip-copy.directive.mjs +0 -82
  372. package/esm2020/tooltip/tooltip-intl.mjs +0 -23
  373. package/esm2020/tooltip/tooltip.component.mjs +0 -107
  374. package/esm2020/tooltip/tooltip.directive.mjs +0 -47
  375. package/esm2020/tree-select/tree-select.component.mjs +0 -339
  376. package/esm2020/utils/bem.mjs +0 -43
  377. package/fesm2015/alauda-ui.mjs +0 -11663
  378. package/fesm2015/alauda-ui.mjs.map +0 -1
  379. package/fesm2020/alauda-ui.mjs.map +0 -1
  380. /package/{esm2020 → esm2022}/accordion/index.mjs +0 -0
  381. /package/{esm2020 → esm2022}/alauda-ui.mjs +0 -0
  382. /package/{esm2020 → esm2022}/anchor/index.mjs +0 -0
  383. /package/{esm2020 → esm2022}/anchor/types.mjs +0 -0
  384. /package/{esm2020 → esm2022}/anchor/utils.mjs +0 -0
  385. /package/{esm2020 → esm2022}/autocomplete/autocomplete.types.mjs +0 -0
  386. /package/{esm2020 → esm2022}/autocomplete/index.mjs +0 -0
  387. /package/{esm2020 → esm2022}/back-top/index.mjs +0 -0
  388. /package/{esm2020 → esm2022}/breadcrumb/index.mjs +0 -0
  389. /package/{esm2020 → esm2022}/button/button.types.mjs +0 -0
  390. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  391. /package/{esm2020 → esm2022}/card/index.mjs +0 -0
  392. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  393. /package/{esm2020 → esm2022}/color-picker/index.mjs +0 -0
  394. /package/{esm2020 → esm2022}/core/animation/animation-consts.mjs +0 -0
  395. /package/{esm2020 → esm2022}/date-picker/calendar/constant.mjs +0 -0
  396. /package/{esm2020 → esm2022}/date-picker/date-picker.type.mjs +0 -0
  397. /package/{esm2020 → esm2022}/date-picker/index.mjs +0 -0
  398. /package/{esm2020 → esm2022}/dialog/dialog-animations.mjs +0 -0
  399. /package/{esm2020 → esm2022}/dialog/dialog.types.mjs +0 -0
  400. /package/{esm2020 → esm2022}/dialog/index.mjs +0 -0
  401. /package/{esm2020 → esm2022}/dialog/utils/errors.mjs +0 -0
  402. /package/{esm2020 → esm2022}/dialog/utils/index.mjs +0 -0
  403. /package/{esm2020 → esm2022}/drawer/component/drawer-ref.mjs +0 -0
  404. /package/{esm2020 → esm2022}/drawer/index.mjs +0 -0
  405. /package/{esm2020 → esm2022}/dropdown/dropdown.types.mjs +0 -0
  406. /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
  407. /package/{esm2020 → esm2022}/form/form.types.mjs +0 -0
  408. /package/{esm2020 → esm2022}/form/index.mjs +0 -0
  409. /package/{esm2020 → esm2022}/i18n/i18n.type.mjs +0 -0
  410. /package/{esm2020 → esm2022}/i18n/index.mjs +0 -0
  411. /package/{esm2020 → esm2022}/i18n/language/en.mjs +0 -0
  412. /package/{esm2020 → esm2022}/i18n/language/zh.mjs +0 -0
  413. /package/{esm2020 → esm2022}/icon/icons.mjs +0 -0
  414. /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
  415. /package/{esm2020 → esm2022}/icon/utils.mjs +0 -0
  416. /package/{esm2020 → esm2022}/index.mjs +0 -0
  417. /package/{esm2020 → esm2022}/inline-alert/index.mjs +0 -0
  418. /package/{esm2020 → esm2022}/inline-alert/inline-alert.types.mjs +0 -0
  419. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  420. /package/{esm2020 → esm2022}/input/tags-input/with-max-row-count.mjs +0 -0
  421. /package/{esm2020 → esm2022}/input/utils/index.mjs +0 -0
  422. /package/{esm2020 → esm2022}/message/index.mjs +0 -0
  423. /package/{esm2020 → esm2022}/message/message-animations.mjs +0 -0
  424. /package/{esm2020 → esm2022}/notification/index.mjs +0 -0
  425. /package/{esm2020 → esm2022}/notification/notification.config.mjs +0 -0
  426. /package/{esm2020 → esm2022}/paginator/index.mjs +0 -0
  427. /package/{esm2020 → esm2022}/radio/index.mjs +0 -0
  428. /package/{esm2020 → esm2022}/radio/radio.types.mjs +0 -0
  429. /package/{esm2020 → esm2022}/scrolling/index.mjs +0 -0
  430. /package/{esm2020 → esm2022}/select/index.mjs +0 -0
  431. /package/{esm2020 → esm2022}/select/select.types.mjs +0 -0
  432. /package/{esm2020 → esm2022}/sort/index.mjs +0 -0
  433. /package/{esm2020 → esm2022}/sort/sort-errors.mjs +0 -0
  434. /package/{esm2020 → esm2022}/sort/sort.types.mjs +0 -0
  435. /package/{esm2020 → esm2022}/status-bar/index.mjs +0 -0
  436. /package/{esm2020 → esm2022}/status-bar/status-bar.types.mjs +0 -0
  437. /package/{esm2020 → esm2022}/steps/index.mjs +0 -0
  438. /package/{esm2020 → esm2022}/steps/types.mjs +0 -0
  439. /package/{esm2020 → esm2022}/switch/index.mjs +0 -0
  440. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  441. /package/{esm2020 → esm2022}/table-of-contents/index.mjs +0 -0
  442. /package/{esm2020 → esm2022}/tabs/index.mjs +0 -0
  443. /package/{esm2020 → esm2022}/tabs/tabs.types.mjs +0 -0
  444. /package/{esm2020 → esm2022}/tag/index.mjs +0 -0
  445. /package/{esm2020 → esm2022}/tag/tag.types.mjs +0 -0
  446. /package/{esm2020 → esm2022}/theme/index.mjs +0 -0
  447. /package/{esm2020 → esm2022}/theme/theme.types.mjs +0 -0
  448. /package/{esm2020 → esm2022}/theme/utils.mjs +0 -0
  449. /package/{esm2020 → esm2022}/time-picker/constant.mjs +0 -0
  450. /package/{esm2020 → esm2022}/time-picker/index.mjs +0 -0
  451. /package/{esm2020 → esm2022}/time-picker/time-picker.type.mjs +0 -0
  452. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  453. /package/{esm2020 → esm2022}/tooltip/tooltip.types.mjs +0 -0
  454. /package/{esm2020 → esm2022}/tooltip/utils/index.mjs +0 -0
  455. /package/{esm2020 → esm2022}/tree-select/index.mjs +0 -0
  456. /package/{esm2020 → esm2022}/tree-select/tree-select.types.mjs +0 -0
  457. /package/{esm2020 → esm2022}/types.mjs +0 -0
  458. /package/{esm2020 → esm2022}/utils/animations.mjs +0 -0
  459. /package/{esm2020 → esm2022}/utils/async.mjs +0 -0
  460. /package/{esm2020 → esm2022}/utils/coercion.mjs +0 -0
  461. /package/{esm2020 → esm2022}/utils/fn.mjs +0 -0
  462. /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
  463. /package/{esm2020 → esm2022}/utils/observe-dom.mjs +0 -0
  464. /package/{esm2020 → esm2022}/utils/operators.mjs +0 -0
  465. /package/{esm2020 → esm2022}/utils/scroll-into-view.mjs +0 -0
  466. /package/{esm2020 → esm2022}/utils/watch-content-exist.mjs +0 -0
@@ -1,228 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, ViewChild, ViewEncapsulation, forwardRef, } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import dayjs from 'dayjs';
4
- import { updateDateByTimeModel } from '../../date-picker/calendar/util';
5
- import { CommonFormControl } from '../../form/common-form';
6
- import { ComponentSize } from '../../types';
7
- import { buildBem } from '../../utils';
8
- import { CONTROL_ITEM_HEIGHT, HOUR_ITEMS, MINUTE_ITEMS, SECOND_ITEMS, } from '../constant';
9
- import { TimePickerControlType } from '../time-picker.type';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/common";
12
- import * as i2 from "../../button/button.component";
13
- import * as i3 from "../../i18n/i18n.pipe";
14
- const TIME_PICKER_COLUMN_WIDTH = 80;
15
- const bem = buildBem('aui-time-picker-panel');
16
- export class TimePickerPanelComponent extends CommonFormControl {
17
- set format(value) {
18
- if (value != null) {
19
- this._format = value;
20
- const charSet = new Set(value);
21
- this.hourEnabled = charSet.has('H') || charSet.has('h');
22
- this.minuteEnabled = charSet.has('m');
23
- this.secondEnabled = charSet.has('s');
24
- this.enabledColumns = [
25
- this.hourEnabled,
26
- this.minuteEnabled,
27
- this.secondEnabled,
28
- ].filter(Boolean).length;
29
- }
30
- }
31
- get format() {
32
- return this._format;
33
- }
34
- get totalWidth() {
35
- return this.enabledColumns * TIME_PICKER_COLUMN_WIDTH;
36
- }
37
- onMousedown() {
38
- return false;
39
- }
40
- constructor(cdr) {
41
- super(cdr);
42
- this.cdr = cdr;
43
- this.hourStep = 1;
44
- this.minuteStep = 1;
45
- this.secondStep = 1;
46
- this.confirm = new EventEmitter();
47
- this.TimePickerControlType = TimePickerControlType;
48
- this.HOUR_ITEM_CONFIG = HOUR_ITEMS;
49
- this.MINUTE_ITEM_CONFIG = MINUTE_ITEMS;
50
- this.SECOND_ITEM_CONFIG = SECOND_ITEMS;
51
- this.CONTROL_ITEM_HEIGHT = CONTROL_ITEM_HEIGHT;
52
- this.ComponentSize = ComponentSize;
53
- this.bem = bem;
54
- this.enabledColumns = 0;
55
- this.firstScrolled = false;
56
- this.model$.subscribe(_ => {
57
- this.cdr.markForCheck();
58
- });
59
- }
60
- isDisabled(value, type) {
61
- const currentValue = this.model;
62
- if (this.disabled) {
63
- return true;
64
- }
65
- if (type === TimePickerControlType.Hour) {
66
- return (!this.disableHours ? [] : this.disableHours()).includes(value);
67
- }
68
- if (type === TimePickerControlType.Minute) {
69
- return (!this.disableMinutes ? [] : this.disableMinutes(currentValue?.hour())).includes(value);
70
- }
71
- if (type === TimePickerControlType.Second) {
72
- return (!this.disableSeconds
73
- ? []
74
- : this.disableSeconds(currentValue?.hour(), currentValue?.minute())).includes(value);
75
- }
76
- }
77
- ngOnChanges({ hourStep, minuteStep, secondStep }) {
78
- if (hourStep?.currentValue > 0) {
79
- this.HOUR_ITEM_CONFIG = HOUR_ITEMS.filter(i => i % hourStep.currentValue === 0);
80
- }
81
- if (minuteStep?.currentValue > 0) {
82
- this.MINUTE_ITEM_CONFIG = MINUTE_ITEMS.filter(i => i % minuteStep.currentValue === 0);
83
- }
84
- if (secondStep?.currentValue > 0) {
85
- this.SECOND_ITEM_CONFIG = SECOND_ITEMS.filter(i => i % secondStep.currentValue === 0);
86
- }
87
- this.cdr.markForCheck();
88
- }
89
- writeValue(value) {
90
- super.writeValue(value);
91
- this.syncScrollOffset(!this.firstScrolled ? 0 : 120, value);
92
- }
93
- selectValue(value, type) {
94
- if (this.isDisabled(value, type)) {
95
- return;
96
- }
97
- this.firstScrolled = true;
98
- const result = this.syncValue(value, type, this.model);
99
- this.syncScrollOffset(120, result);
100
- }
101
- syncValue(value, type, currentValue) {
102
- if (!type) {
103
- return;
104
- }
105
- const result = (currentValue ||
106
- updateDateByTimeModel(dayjs(), { hour: 0, minute: 0, second: 0 })).set(type, value);
107
- this.emitModel(result);
108
- return result;
109
- }
110
- syncScrollOffset(duration, value) {
111
- const empty = !value;
112
- const config = [
113
- {
114
- ref: this.hourRef,
115
- enabled: this.hourEnabled,
116
- step: this.hourStep,
117
- type: 'hour',
118
- },
119
- {
120
- ref: this.minuteRef,
121
- enabled: this.minuteEnabled,
122
- step: this.minuteStep,
123
- type: 'minute',
124
- },
125
- {
126
- ref: this.secondRef,
127
- enabled: this.secondEnabled,
128
- step: this.secondStep,
129
- type: 'second',
130
- },
131
- ];
132
- config.forEach(cf => {
133
- if (cf.enabled && cf.ref) {
134
- this.scrollByValue(cf.ref.nativeElement, empty ? 0 : value.get(cf.type), cf.step, empty ? 0 : duration);
135
- }
136
- });
137
- if (!empty) {
138
- this.firstScrolled = true;
139
- }
140
- }
141
- scrollByValue(element, value, divideBy, duration) {
142
- const targetOffset = (value * CONTROL_ITEM_HEIGHT) / divideBy;
143
- const currentTop = element.scrollTop;
144
- if (currentTop === targetOffset) {
145
- return;
146
- }
147
- if (!duration) {
148
- element.scrollTop = targetOffset;
149
- }
150
- else {
151
- const difference = targetOffset - currentTop;
152
- const perTick = (difference / duration) * 10;
153
- requestAnimationFrame(() => {
154
- element.scrollTop = currentTop + perTick;
155
- if (element.scrollTop === targetOffset) {
156
- return;
157
- }
158
- this.scrollByValue(element, value, divideBy, duration - 10);
159
- });
160
- }
161
- }
162
- matchValue(value, type, currDate) {
163
- return currDate?.get(type) === value;
164
- }
165
- getControlTypeConfig(type) {
166
- return {
167
- [TimePickerControlType.Hour]: this.HOUR_ITEM_CONFIG,
168
- [TimePickerControlType.Minute]: this.MINUTE_ITEM_CONFIG,
169
- [TimePickerControlType.Second]: this.SECOND_ITEM_CONFIG,
170
- }[type];
171
- }
172
- selectNow() {
173
- this.firstScrolled = true;
174
- this.emitModel(dayjs());
175
- }
176
- trackBy(_index, content) {
177
- return content;
178
- }
179
- }
180
- TimePickerPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TimePickerPanelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
181
- TimePickerPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TimePickerPanelComponent, selector: "aui-time-picker-panel", inputs: { format: "format", hourStep: "hourStep", minuteStep: "minuteStep", secondStep: "secondStep", footerTemplate: "footerTemplate", disableHours: "disableHours", disableMinutes: "disableMinutes", disableSeconds: "disableSeconds" }, outputs: { confirm: "confirm" }, host: { listeners: { "mousedown": "onMousedown()" } }, providers: [
182
- {
183
- provide: NG_VALUE_ACCESSOR,
184
- useExisting: forwardRef(() => TimePickerPanelComponent),
185
- multi: true,
186
- },
187
- ], viewQueries: [{ propertyName: "hourRef", first: true, predicate: ["hourRef"], descendants: true }, { propertyName: "minuteRef", first: true, predicate: ["minuteRef"], descendants: true }, { propertyName: "secondRef", first: true, predicate: ["secondRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"enabledColumns\"\n [class]=\"bem.block()\"\n [style.width.px]=\"totalWidth\"\n>\n <div [class]=\"bem.element('content')\">\n <div\n [class]=\"bem.element('column')\"\n #hourRef\n *ngIf=\"hourEnabled\"\n >\n <ul>\n <li\n *ngFor=\"let item of getControlTypeConfig(TimePickerControlType.Hour)\"\n [class]=\"bem.element('cell')\"\n [style.height.px]=\"CONTROL_ITEM_HEIGHT\"\n [ngClass]=\"{\n disabled: isDisabled(item, TimePickerControlType.Hour),\n selected: matchValue(item, TimePickerControlType.Hour, model)\n }\"\n (click)=\"selectValue(item, TimePickerControlType.Hour)\"\n >\n {{ item | number: '2.0-0' }}\n </li>\n </ul>\n <div [class]=\"bem.element('column-strut')\"></div>\n </div>\n <div\n [class]=\"bem.element('column')\"\n #minuteRef\n *ngIf=\"minuteEnabled\"\n >\n <ul>\n <li\n *ngFor=\"\n let item of getControlTypeConfig(TimePickerControlType.Minute);\n trackBy: trackBy\n \"\n [class]=\"bem.element('cell')\"\n [style.height.px]=\"CONTROL_ITEM_HEIGHT\"\n [ngClass]=\"{\n disabled: isDisabled(item, TimePickerControlType.Minute),\n selected: matchValue(item, TimePickerControlType.Minute, model)\n }\"\n (click)=\"selectValue(item, TimePickerControlType.Minute)\"\n >\n {{ item | number: '2.0-0' }}\n </li>\n </ul>\n <div [class]=\"bem.element('column-strut')\"></div>\n </div>\n <div\n [class]=\"bem.element('column')\"\n #secondRef\n *ngIf=\"secondEnabled\"\n >\n <ul>\n <li\n *ngFor=\"\n let item of getControlTypeConfig(TimePickerControlType.Second)\n \"\n [class]=\"bem.element('cell')\"\n [style.height.px]=\"CONTROL_ITEM_HEIGHT\"\n [ngClass]=\"{\n disabled: isDisabled(item, TimePickerControlType.Second),\n selected: matchValue(item, TimePickerControlType.Second, model)\n }\"\n (click)=\"selectValue(item, TimePickerControlType.Second)\"\n >\n {{ item | number: '2.0-0' }}\n </li>\n </ul>\n <div [class]=\"bem.element('column-strut')\"></div>\n </div>\n </div>\n\n <ng-container *ngIf=\"!footerTemplate; else customFooter\">\n <div [class]=\"bem.element('footer')\">\n <button\n aui-button=\"inline\"\n (click)=\"selectNow()\"\n [size]=\"ComponentSize.Small\"\n >\n {{ 'now' | auiI18n }}\n </button>\n <button\n aui-button=\"primary\"\n [size]=\"ComponentSize.Small\"\n (click)=\"$event.stopImmediatePropagation(); confirm.next()\"\n >\n {{ 'confirm' | auiI18n }}\n </button>\n </div>\n </ng-container>\n <ng-template #customFooter>\n <ng-container\n [ngTemplateOutlet]=\"footerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: this }\"\n ></ng-container>\n </ng-template>\n</div>\n", styles: [".aui-time-picker-panel{display:flex;flex-direction:column;background-color:rgb(var(--aui-color-n-10));border-radius:var(--aui-border-radius-m);overflow:hidden;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}:root .aui-time-picker-panel{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-time-picker-panel{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-time-picker-panel{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-time-picker-panel{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-time-picker-panel ul,.aui-time-picker-panel li{border:none}.aui-time-picker-panel__content{display:flex;flex-direction:row;height:252px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-time-picker-panel__footer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:9px}.aui-time-picker-panel__column{flex:1;align-self:stretch;text-align:center;overflow:auto}.aui-time-picker-panel__column::-webkit-scrollbar{width:4px;height:4px}.aui-time-picker-panel__column::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-time-picker-panel__column::-webkit-scrollbar-corner{background-color:transparent}.aui-time-picker-panel__column ul{min-height:252px;list-style:none;padding:0;margin:0}.aui-time-picker-panel__column-strut{height:224px;width:1px;visibility:hidden}.aui-time-picker-panel__column+.aui-time-picker-panel__column{border-left:1px solid rgb(var(--aui-color-n-8))}.aui-time-picker-panel__cell{flex:none;width:100%;height:28px;color:rgb(var(--aui-color-main-text));line-height:28px;cursor:pointer}.aui-time-picker-panel__cell:hover{background-color:rgb(var(--aui-color-p-6));color:rgb(var(--aui-color-primary))}.aui-time-picker-panel__cell.selected{background-color:rgb(var(--aui-color-p-7));color:rgb(var(--aui-color-primary));font-weight:var(--aui-font-weight-bold)}.aui-time-picker-panel__cell.disabled{background-color:rgb(var(--aui-color-n-8));color:rgb(var(--aui-color-disabled-text));cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "pipe", type: i3.I18nPipe, name: "auiI18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TimePickerPanelComponent, decorators: [{
189
- type: Component,
190
- args: [{ selector: 'aui-time-picker-panel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
191
- {
192
- provide: NG_VALUE_ACCESSOR,
193
- useExisting: forwardRef(() => TimePickerPanelComponent),
194
- multi: true,
195
- },
196
- ], template: "<div\n *ngIf=\"enabledColumns\"\n [class]=\"bem.block()\"\n [style.width.px]=\"totalWidth\"\n>\n <div [class]=\"bem.element('content')\">\n <div\n [class]=\"bem.element('column')\"\n #hourRef\n *ngIf=\"hourEnabled\"\n >\n <ul>\n <li\n *ngFor=\"let item of getControlTypeConfig(TimePickerControlType.Hour)\"\n [class]=\"bem.element('cell')\"\n [style.height.px]=\"CONTROL_ITEM_HEIGHT\"\n [ngClass]=\"{\n disabled: isDisabled(item, TimePickerControlType.Hour),\n selected: matchValue(item, TimePickerControlType.Hour, model)\n }\"\n (click)=\"selectValue(item, TimePickerControlType.Hour)\"\n >\n {{ item | number: '2.0-0' }}\n </li>\n </ul>\n <div [class]=\"bem.element('column-strut')\"></div>\n </div>\n <div\n [class]=\"bem.element('column')\"\n #minuteRef\n *ngIf=\"minuteEnabled\"\n >\n <ul>\n <li\n *ngFor=\"\n let item of getControlTypeConfig(TimePickerControlType.Minute);\n trackBy: trackBy\n \"\n [class]=\"bem.element('cell')\"\n [style.height.px]=\"CONTROL_ITEM_HEIGHT\"\n [ngClass]=\"{\n disabled: isDisabled(item, TimePickerControlType.Minute),\n selected: matchValue(item, TimePickerControlType.Minute, model)\n }\"\n (click)=\"selectValue(item, TimePickerControlType.Minute)\"\n >\n {{ item | number: '2.0-0' }}\n </li>\n </ul>\n <div [class]=\"bem.element('column-strut')\"></div>\n </div>\n <div\n [class]=\"bem.element('column')\"\n #secondRef\n *ngIf=\"secondEnabled\"\n >\n <ul>\n <li\n *ngFor=\"\n let item of getControlTypeConfig(TimePickerControlType.Second)\n \"\n [class]=\"bem.element('cell')\"\n [style.height.px]=\"CONTROL_ITEM_HEIGHT\"\n [ngClass]=\"{\n disabled: isDisabled(item, TimePickerControlType.Second),\n selected: matchValue(item, TimePickerControlType.Second, model)\n }\"\n (click)=\"selectValue(item, TimePickerControlType.Second)\"\n >\n {{ item | number: '2.0-0' }}\n </li>\n </ul>\n <div [class]=\"bem.element('column-strut')\"></div>\n </div>\n </div>\n\n <ng-container *ngIf=\"!footerTemplate; else customFooter\">\n <div [class]=\"bem.element('footer')\">\n <button\n aui-button=\"inline\"\n (click)=\"selectNow()\"\n [size]=\"ComponentSize.Small\"\n >\n {{ 'now' | auiI18n }}\n </button>\n <button\n aui-button=\"primary\"\n [size]=\"ComponentSize.Small\"\n (click)=\"$event.stopImmediatePropagation(); confirm.next()\"\n >\n {{ 'confirm' | auiI18n }}\n </button>\n </div>\n </ng-container>\n <ng-template #customFooter>\n <ng-container\n [ngTemplateOutlet]=\"footerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: this }\"\n ></ng-container>\n </ng-template>\n</div>\n", styles: [".aui-time-picker-panel{display:flex;flex-direction:column;background-color:rgb(var(--aui-color-n-10));border-radius:var(--aui-border-radius-m);overflow:hidden;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}:root .aui-time-picker-panel{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-time-picker-panel{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-time-picker-panel{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-time-picker-panel{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-time-picker-panel ul,.aui-time-picker-panel li{border:none}.aui-time-picker-panel__content{display:flex;flex-direction:row;height:252px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-time-picker-panel__footer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:9px}.aui-time-picker-panel__column{flex:1;align-self:stretch;text-align:center;overflow:auto}.aui-time-picker-panel__column::-webkit-scrollbar{width:4px;height:4px}.aui-time-picker-panel__column::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-time-picker-panel__column::-webkit-scrollbar-corner{background-color:transparent}.aui-time-picker-panel__column ul{min-height:252px;list-style:none;padding:0;margin:0}.aui-time-picker-panel__column-strut{height:224px;width:1px;visibility:hidden}.aui-time-picker-panel__column+.aui-time-picker-panel__column{border-left:1px solid rgb(var(--aui-color-n-8))}.aui-time-picker-panel__cell{flex:none;width:100%;height:28px;color:rgb(var(--aui-color-main-text));line-height:28px;cursor:pointer}.aui-time-picker-panel__cell:hover{background-color:rgb(var(--aui-color-p-6));color:rgb(var(--aui-color-primary))}.aui-time-picker-panel__cell.selected{background-color:rgb(var(--aui-color-p-7));color:rgb(var(--aui-color-primary));font-weight:var(--aui-font-weight-bold)}.aui-time-picker-panel__cell.disabled{background-color:rgb(var(--aui-color-n-8));color:rgb(var(--aui-color-disabled-text));cursor:not-allowed}\n"] }]
197
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { format: [{
198
- type: Input
199
- }], onMousedown: [{
200
- type: HostListener,
201
- args: ['mousedown']
202
- }], hourStep: [{
203
- type: Input
204
- }], minuteStep: [{
205
- type: Input
206
- }], secondStep: [{
207
- type: Input
208
- }], footerTemplate: [{
209
- type: Input
210
- }], confirm: [{
211
- type: Output
212
- }], disableHours: [{
213
- type: Input
214
- }], disableMinutes: [{
215
- type: Input
216
- }], disableSeconds: [{
217
- type: Input
218
- }], hourRef: [{
219
- type: ViewChild,
220
- args: ['hourRef', { static: false }]
221
- }], minuteRef: [{
222
- type: ViewChild,
223
- args: ['minuteRef', { static: false }]
224
- }], secondRef: [{
225
- type: ViewChild,
226
- args: ['secondRef', { static: false }]
227
- }] } });
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RpbWUtcGlja2VyL3BhbmVsL3BhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy90aW1lLXBpY2tlci9wYW5lbC9wYW5lbC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFHTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxHQUNiLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztBQUU1RCxNQUFNLHdCQUF3QixHQUFHLEVBQUUsQ0FBQztBQUNwQyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQWdCOUMsTUFBTSxPQUFPLHdCQUNYLFNBQVEsaUJBQXdCO0lBR2hDLElBQ0ksTUFBTSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLGNBQWMsR0FBRztnQkFDcEIsSUFBSSxDQUFDLFdBQVc7Z0JBQ2hCLElBQUksQ0FBQyxhQUFhO2dCQUNsQixJQUFJLENBQUMsYUFBYTthQUNuQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFJRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxjQUFjLEdBQUcsd0JBQXdCLENBQUM7SUFDeEQsQ0FBQztJQUUwQixXQUFXO1FBQ3BDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQXFERCxZQUErQixHQUFzQjtRQUNuRCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFEa0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFsRHJELGFBQVEsR0FBRyxDQUFDLENBQUM7UUFHYixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBR2YsZUFBVSxHQUFHLENBQUMsQ0FBQztRQU1mLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBZW5DLDBCQUFxQixHQUFHLHFCQUFxQixDQUFDO1FBQzlDLHFCQUFnQixHQUFHLFVBQVUsQ0FBQztRQUM5Qix1QkFBa0IsR0FBRyxZQUFZLENBQUM7UUFDbEMsdUJBQWtCLEdBQUcsWUFBWSxDQUFDO1FBRWxDLHdCQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQzFDLGtCQUFhLEdBQUcsYUFBYSxDQUFDO1FBQzlCLFFBQUcsR0FBRyxHQUFHLENBQUM7UUFXVixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUduQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUlwQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhLEVBQUUsSUFBMkI7UUFDbkQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNoQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELElBQUksSUFBSSxLQUFLLHFCQUFxQixDQUFDLElBQUksRUFBRTtZQUN2QyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4RTtRQUNELElBQUksSUFBSSxLQUFLLHFCQUFxQixDQUFDLE1BQU0sRUFBRTtZQUN6QyxPQUFPLENBQ0wsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQ3RFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxJQUFJLEtBQUsscUJBQXFCLENBQUMsTUFBTSxFQUFFO1lBQ3pDLE9BQU8sQ0FDTCxDQUFDLElBQUksQ0FBQyxjQUFjO2dCQUNsQixDQUFDLENBQUMsRUFBRTtnQkFDSixDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQ3RFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFpQjtRQUM3RCxJQUFJLFFBQVEsRUFBRSxZQUFZLEdBQUcsQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUN2QyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsWUFBWSxLQUFLLENBQUMsQ0FDckMsQ0FBQztTQUNIO1FBQ0QsSUFBSSxVQUFVLEVBQUUsWUFBWSxHQUFHLENBQUMsRUFBRTtZQUNoQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FDM0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLFlBQVksS0FBSyxDQUFDLENBQ3ZDLENBQUM7U0FDSDtRQUNELElBQUksVUFBVSxFQUFFLFlBQVksR0FBRyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxNQUFNLENBQzNDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLEtBQUssQ0FBQyxDQUN2QyxDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFUSxVQUFVLENBQUMsS0FBWTtRQUM5QixLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYSxFQUFFLElBQTJCO1FBQ3BELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDaEMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLElBQTJCLEVBQUUsWUFBbUI7UUFDdkUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU87U0FDUjtRQUNELE1BQU0sTUFBTSxHQUFHLENBQ2IsWUFBWTtZQUNaLHFCQUFxQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNsRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBZ0IsRUFBRSxLQUFZO1FBQzdDLE1BQU0sS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ3JCLE1BQU0sTUFBTSxHQUFHO1lBQ2I7Z0JBQ0UsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQ3pCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDbkIsSUFBSSxFQUFFLE1BQU07YUFDYjtZQUNEO2dCQUNFLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhO2dCQUMzQixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQ3JCLElBQUksRUFBRSxRQUFRO2FBQ2Y7WUFDRDtnQkFDRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDM0IsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUNyQixJQUFJLEVBQUUsUUFBUTthQUNmO1NBQ08sQ0FBQztRQUVYLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDbEIsSUFBSSxFQUFFLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxhQUFhLENBQ2hCLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUNwQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQzlCLEVBQUUsQ0FBQyxJQUFJLEVBQ1AsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FDckIsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUNuQixPQUFvQixFQUNwQixLQUFhLEVBQ2IsUUFBZ0IsRUFDaEIsUUFBZ0I7UUFFaEIsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDOUQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNyQyxJQUFJLFVBQVUsS0FBSyxZQUFZLEVBQUU7WUFDL0IsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU8sQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDO1NBQ2xDO2FBQU07WUFDTCxNQUFNLFVBQVUsR0FBRyxZQUFZLEdBQUcsVUFBVSxDQUFDO1lBRTdDLE1BQU0sT0FBTyxHQUFHLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUU3QyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3pCLE9BQU8sQ0FBQyxTQUFTLEdBQUcsVUFBVSxHQUFHLE9BQU8sQ0FBQztnQkFDekMsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLFlBQVksRUFBRTtvQkFDdEMsT0FBTztpQkFDUjtnQkFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUM5RCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FDUixLQUFhLEVBQ2IsSUFBMkIsRUFDM0IsUUFBZTtRQUVmLE9BQU8sUUFBUSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQTJCO1FBQzlDLE9BQU87WUFDTCxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDbkQsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQ3ZELENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtTQUN4RCxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFjLEVBQUUsT0FBZTtRQUNyQyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOztxSEF4UFUsd0JBQXdCO3lHQUF4Qix3QkFBd0Isb1hBUnhCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7WUFDdkQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLDRWQzlDSCx3akdBcUdBOzJGRHJEYSx3QkFBd0I7a0JBZHBDLFNBQVM7K0JBQ0UsdUJBQXVCLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDOzRCQUN2RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjt3R0FPRyxNQUFNO3NCQURULEtBQUs7Z0JBMEJxQixXQUFXO3NCQUFyQyxZQUFZO3VCQUFDLFdBQVc7Z0JBS3pCLFFBQVE7c0JBRFAsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixPQUFPO3NCQUROLE1BQU07Z0JBSVAsWUFBWTtzQkFEWCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBaUJOLE9BQU87c0JBRE4sU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUl2QyxTQUFTO3NCQURSLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJekMsU0FBUztzQkFEUixTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgZGF5anMsIHsgRGF5anMgfSBmcm9tICdkYXlqcyc7XG5cbmltcG9ydCB7IHVwZGF0ZURhdGVCeVRpbWVNb2RlbCB9IGZyb20gJy4uLy4uL2RhdGUtcGlja2VyL2NhbGVuZGFyL3V0aWwnO1xuaW1wb3J0IHsgQ29tbW9uRm9ybUNvbnRyb2wgfSBmcm9tICcuLi8uLi9mb3JtL2NvbW1vbi1mb3JtJztcbmltcG9ydCB7IENvbXBvbmVudFNpemUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBidWlsZEJlbSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7XG4gIENPTlRST0xfSVRFTV9IRUlHSFQsXG4gIEhPVVJfSVRFTVMsXG4gIE1JTlVURV9JVEVNUyxcbiAgU0VDT05EX0lURU1TLFxufSBmcm9tICcuLi9jb25zdGFudCc7XG5pbXBvcnQgeyBUaW1lUGlja2VyQ29udHJvbFR5cGUgfSBmcm9tICcuLi90aW1lLXBpY2tlci50eXBlJztcblxuY29uc3QgVElNRV9QSUNLRVJfQ09MVU1OX1dJRFRIID0gODA7XG5jb25zdCBiZW0gPSBidWlsZEJlbSgnYXVpLXRpbWUtcGlja2VyLXBhbmVsJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS10aW1lLXBpY2tlci1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYW5lbC50ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFuZWwuc3R5bGUuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaW1lUGlja2VyUGFuZWxDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGltZVBpY2tlclBhbmVsQ29tcG9uZW50XG4gIGV4dGVuZHMgQ29tbW9uRm9ybUNvbnRyb2w8RGF5anM+XG4gIGltcGxlbWVudHMgT25DaGFuZ2VzXG57XG4gIEBJbnB1dCgpXG4gIHNldCBmb3JtYXQodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLl9mb3JtYXQgPSB2YWx1ZTtcbiAgICAgIGNvbnN0IGNoYXJTZXQgPSBuZXcgU2V0KHZhbHVlKTtcbiAgICAgIHRoaXMuaG91ckVuYWJsZWQgPSBjaGFyU2V0LmhhcygnSCcpIHx8IGNoYXJTZXQuaGFzKCdoJyk7XG4gICAgICB0aGlzLm1pbnV0ZUVuYWJsZWQgPSBjaGFyU2V0LmhhcygnbScpO1xuICAgICAgdGhpcy5zZWNvbmRFbmFibGVkID0gY2hhclNldC5oYXMoJ3MnKTtcbiAgICAgIHRoaXMuZW5hYmxlZENvbHVtbnMgPSBbXG4gICAgICAgIHRoaXMuaG91ckVuYWJsZWQsXG4gICAgICAgIHRoaXMubWludXRlRW5hYmxlZCxcbiAgICAgICAgdGhpcy5zZWNvbmRFbmFibGVkLFxuICAgICAgXS5maWx0ZXIoQm9vbGVhbikubGVuZ3RoO1xuICAgIH1cbiAgfVxuXG4gIGdldCBmb3JtYXQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybWF0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZm9ybWF0OiBzdHJpbmc7XG5cbiAgZ2V0IHRvdGFsV2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlZENvbHVtbnMgKiBUSU1FX1BJQ0tFUl9DT0xVTU5fV0lEVEg7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nKSBvbk1vdXNlZG93bigpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBASW5wdXQoKVxuICBob3VyU3RlcCA9IDE7XG5cbiAgQElucHV0KClcbiAgbWludXRlU3RlcCA9IDE7XG5cbiAgQElucHV0KClcbiAgc2Vjb25kU3RlcCA9IDE7XG5cbiAgQElucHV0KClcbiAgZm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIEBPdXRwdXQoKVxuICBjb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVIb3VyczogKCkgPT4gbnVtYmVyW107XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZU1pbnV0ZXM6IChob3VyPzogbnVtYmVyKSA9PiBudW1iZXJbXTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlU2Vjb25kczogKGhvdXI/OiBudW1iZXIsIG1pbnV0ZT86IG51bWJlcikgPT4gbnVtYmVyW107XG5cbiAgaG91ckVuYWJsZWQ6IGJvb2xlYW47XG4gIG1pbnV0ZUVuYWJsZWQ6IGJvb2xlYW47XG4gIHNlY29uZEVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgVGltZVBpY2tlckNvbnRyb2xUeXBlID0gVGltZVBpY2tlckNvbnRyb2xUeXBlO1xuICBIT1VSX0lURU1fQ09ORklHID0gSE9VUl9JVEVNUztcbiAgTUlOVVRFX0lURU1fQ09ORklHID0gTUlOVVRFX0lURU1TO1xuICBTRUNPTkRfSVRFTV9DT05GSUcgPSBTRUNPTkRfSVRFTVM7XG5cbiAgQ09OVFJPTF9JVEVNX0hFSUdIVCA9IENPTlRST0xfSVRFTV9IRUlHSFQ7XG4gIENvbXBvbmVudFNpemUgPSBDb21wb25lbnRTaXplO1xuICBiZW0gPSBiZW07XG5cbiAgQFZpZXdDaGlsZCgnaG91clJlZicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBob3VyUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdtaW51dGVSZWYnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgbWludXRlUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdzZWNvbmRSZWYnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgc2Vjb25kUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBlbmFibGVkQ29sdW1ucyA9IDA7XG5cbiAgLy8g55So5LqO5o6n5Yi25Yid5qyh5rua5Yqo77yM5piv5ZCm5bGV56S65rua5Yqo5Yqo55S75pWI5p6cXG4gIGZpcnN0U2Nyb2xsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgb3ZlcnJpZGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKGNkcik7XG4gICAgdGhpcy5tb2RlbCQuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBpc0Rpc2FibGVkKHZhbHVlOiBudW1iZXIsIHR5cGU6IFRpbWVQaWNrZXJDb250cm9sVHlwZSkge1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMubW9kZWw7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAodHlwZSA9PT0gVGltZVBpY2tlckNvbnRyb2xUeXBlLkhvdXIpIHtcbiAgICAgIHJldHVybiAoIXRoaXMuZGlzYWJsZUhvdXJzID8gW10gOiB0aGlzLmRpc2FibGVIb3VycygpKS5pbmNsdWRlcyh2YWx1ZSk7XG4gICAgfVxuICAgIGlmICh0eXBlID09PSBUaW1lUGlja2VyQ29udHJvbFR5cGUuTWludXRlKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAhdGhpcy5kaXNhYmxlTWludXRlcyA/IFtdIDogdGhpcy5kaXNhYmxlTWludXRlcyhjdXJyZW50VmFsdWU/LmhvdXIoKSlcbiAgICAgICkuaW5jbHVkZXModmFsdWUpO1xuICAgIH1cbiAgICBpZiAodHlwZSA9PT0gVGltZVBpY2tlckNvbnRyb2xUeXBlLlNlY29uZCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgIXRoaXMuZGlzYWJsZVNlY29uZHNcbiAgICAgICAgICA/IFtdXG4gICAgICAgICAgOiB0aGlzLmRpc2FibGVTZWNvbmRzKGN1cnJlbnRWYWx1ZT8uaG91cigpLCBjdXJyZW50VmFsdWU/Lm1pbnV0ZSgpKVxuICAgICAgKS5pbmNsdWRlcyh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyBob3VyU3RlcCwgbWludXRlU3RlcCwgc2Vjb25kU3RlcCB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGhvdXJTdGVwPy5jdXJyZW50VmFsdWUgPiAwKSB7XG4gICAgICB0aGlzLkhPVVJfSVRFTV9DT05GSUcgPSBIT1VSX0lURU1TLmZpbHRlcihcbiAgICAgICAgaSA9PiBpICUgaG91clN0ZXAuY3VycmVudFZhbHVlID09PSAwLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKG1pbnV0ZVN0ZXA/LmN1cnJlbnRWYWx1ZSA+IDApIHtcbiAgICAgIHRoaXMuTUlOVVRFX0lURU1fQ09ORklHID0gTUlOVVRFX0lURU1TLmZpbHRlcihcbiAgICAgICAgaSA9PiBpICUgbWludXRlU3RlcC5jdXJyZW50VmFsdWUgPT09IDAsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoc2Vjb25kU3RlcD8uY3VycmVudFZhbHVlID4gMCkge1xuICAgICAgdGhpcy5TRUNPTkRfSVRFTV9DT05GSUcgPSBTRUNPTkRfSVRFTVMuZmlsdGVyKFxuICAgICAgICBpID0+IGkgJSBzZWNvbmRTdGVwLmN1cnJlbnRWYWx1ZSA9PT0gMCxcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogRGF5anMpIHtcbiAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLnN5bmNTY3JvbGxPZmZzZXQoIXRoaXMuZmlyc3RTY3JvbGxlZCA/IDAgOiAxMjAsIHZhbHVlKTtcbiAgfVxuXG4gIHNlbGVjdFZhbHVlKHZhbHVlOiBudW1iZXIsIHR5cGU6IFRpbWVQaWNrZXJDb250cm9sVHlwZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQodmFsdWUsIHR5cGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZmlyc3RTY3JvbGxlZCA9IHRydWU7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5zeW5jVmFsdWUodmFsdWUsIHR5cGUsIHRoaXMubW9kZWwpO1xuICAgIHRoaXMuc3luY1Njcm9sbE9mZnNldCgxMjAsIHJlc3VsdCk7XG4gIH1cblxuICBzeW5jVmFsdWUodmFsdWU6IG51bWJlciwgdHlwZTogVGltZVBpY2tlckNvbnRyb2xUeXBlLCBjdXJyZW50VmFsdWU6IERheWpzKSB7XG4gICAgaWYgKCF0eXBlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IChcbiAgICAgIGN1cnJlbnRWYWx1ZSB8fFxuICAgICAgdXBkYXRlRGF0ZUJ5VGltZU1vZGVsKGRheWpzKCksIHsgaG91cjogMCwgbWludXRlOiAwLCBzZWNvbmQ6IDAgfSlcbiAgICApLnNldCh0eXBlLCB2YWx1ZSk7XG4gICAgdGhpcy5lbWl0TW9kZWwocmVzdWx0KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc3luY1Njcm9sbE9mZnNldChkdXJhdGlvbjogbnVtYmVyLCB2YWx1ZTogRGF5anMpIHtcbiAgICBjb25zdCBlbXB0eSA9ICF2YWx1ZTtcbiAgICBjb25zdCBjb25maWcgPSBbXG4gICAgICB7XG4gICAgICAgIHJlZjogdGhpcy5ob3VyUmVmLFxuICAgICAgICBlbmFibGVkOiB0aGlzLmhvdXJFbmFibGVkLFxuICAgICAgICBzdGVwOiB0aGlzLmhvdXJTdGVwLFxuICAgICAgICB0eXBlOiAnaG91cicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICByZWY6IHRoaXMubWludXRlUmVmLFxuICAgICAgICBlbmFibGVkOiB0aGlzLm1pbnV0ZUVuYWJsZWQsXG4gICAgICAgIHN0ZXA6IHRoaXMubWludXRlU3RlcCxcbiAgICAgICAgdHlwZTogJ21pbnV0ZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICByZWY6IHRoaXMuc2Vjb25kUmVmLFxuICAgICAgICBlbmFibGVkOiB0aGlzLnNlY29uZEVuYWJsZWQsXG4gICAgICAgIHN0ZXA6IHRoaXMuc2Vjb25kU3RlcCxcbiAgICAgICAgdHlwZTogJ3NlY29uZCcsXG4gICAgICB9LFxuICAgIF0gYXMgY29uc3Q7XG5cbiAgICBjb25maWcuZm9yRWFjaChjZiA9PiB7XG4gICAgICBpZiAoY2YuZW5hYmxlZCAmJiBjZi5yZWYpIHtcbiAgICAgICAgdGhpcy5zY3JvbGxCeVZhbHVlKFxuICAgICAgICAgIGNmLnJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgIGVtcHR5ID8gMCA6IHZhbHVlLmdldChjZi50eXBlKSxcbiAgICAgICAgICBjZi5zdGVwLFxuICAgICAgICAgIGVtcHR5ID8gMCA6IGR1cmF0aW9uLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICghZW1wdHkpIHtcbiAgICAgIHRoaXMuZmlyc3RTY3JvbGxlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGxCeVZhbHVlKFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgZGl2aWRlQnk6IG51bWJlcixcbiAgICBkdXJhdGlvbjogbnVtYmVyLFxuICApIHtcbiAgICBjb25zdCB0YXJnZXRPZmZzZXQgPSAodmFsdWUgKiBDT05UUk9MX0lURU1fSEVJR0hUKSAvIGRpdmlkZUJ5O1xuICAgIGNvbnN0IGN1cnJlbnRUb3AgPSBlbGVtZW50LnNjcm9sbFRvcDtcbiAgICBpZiAoY3VycmVudFRvcCA9PT0gdGFyZ2V0T2Zmc2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghZHVyYXRpb24pIHtcbiAgICAgIGVsZW1lbnQuc2Nyb2xsVG9wID0gdGFyZ2V0T2Zmc2V0O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBkaWZmZXJlbmNlID0gdGFyZ2V0T2Zmc2V0IC0gY3VycmVudFRvcDtcbiAgICAgIC8vIOavj+S4qnRpY2vmu5rliqjot53nprtcbiAgICAgIGNvbnN0IHBlclRpY2sgPSAoZGlmZmVyZW5jZSAvIGR1cmF0aW9uKSAqIDEwO1xuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBlbGVtZW50LnNjcm9sbFRvcCA9IGN1cnJlbnRUb3AgKyBwZXJUaWNrO1xuICAgICAgICBpZiAoZWxlbWVudC5zY3JvbGxUb3AgPT09IHRhcmdldE9mZnNldCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNjcm9sbEJ5VmFsdWUoZWxlbWVudCwgdmFsdWUsIGRpdmlkZUJ5LCBkdXJhdGlvbiAtIDEwKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG1hdGNoVmFsdWUoXG4gICAgdmFsdWU6IG51bWJlcixcbiAgICB0eXBlOiBUaW1lUGlja2VyQ29udHJvbFR5cGUsXG4gICAgY3VyckRhdGU6IERheWpzLFxuICApOiBib29sZWFuIHtcbiAgICByZXR1cm4gY3VyckRhdGU/LmdldCh0eXBlKSA9PT0gdmFsdWU7XG4gIH1cblxuICBnZXRDb250cm9sVHlwZUNvbmZpZyh0eXBlOiBUaW1lUGlja2VyQ29udHJvbFR5cGUpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFtUaW1lUGlja2VyQ29udHJvbFR5cGUuSG91cl06IHRoaXMuSE9VUl9JVEVNX0NPTkZJRyxcbiAgICAgIFtUaW1lUGlja2VyQ29udHJvbFR5cGUuTWludXRlXTogdGhpcy5NSU5VVEVfSVRFTV9DT05GSUcsXG4gICAgICBbVGltZVBpY2tlckNvbnRyb2xUeXBlLlNlY29uZF06IHRoaXMuU0VDT05EX0lURU1fQ09ORklHLFxuICAgIH1bdHlwZV07XG4gIH1cblxuICBzZWxlY3ROb3coKSB7XG4gICAgdGhpcy5maXJzdFNjcm9sbGVkID0gdHJ1ZTtcbiAgICB0aGlzLmVtaXRNb2RlbChkYXlqcygpKTtcbiAgfVxuXG4gIHRyYWNrQnkoX2luZGV4OiBudW1iZXIsIGNvbnRlbnQ6IG51bWJlcikge1xuICAgIHJldHVybiBjb250ZW50O1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwiZW5hYmxlZENvbHVtbnNcIlxuICBbY2xhc3NdPVwiYmVtLmJsb2NrKClcIlxuICBbc3R5bGUud2lkdGgucHhdPVwidG90YWxXaWR0aFwiXG4+XG4gIDxkaXYgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdjb250ZW50JylcIj5cbiAgICA8ZGl2XG4gICAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NvbHVtbicpXCJcbiAgICAgICNob3VyUmVmXG4gICAgICAqbmdJZj1cImhvdXJFbmFibGVkXCJcbiAgICA+XG4gICAgICA8dWw+XG4gICAgICAgIDxsaVxuICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldENvbnRyb2xUeXBlQ29uZmlnKFRpbWVQaWNrZXJDb250cm9sVHlwZS5Ib3VyKVwiXG4gICAgICAgICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdjZWxsJylcIlxuICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiQ09OVFJPTF9JVEVNX0hFSUdIVFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgZGlzYWJsZWQ6IGlzRGlzYWJsZWQoaXRlbSwgVGltZVBpY2tlckNvbnRyb2xUeXBlLkhvdXIpLFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IG1hdGNoVmFsdWUoaXRlbSwgVGltZVBpY2tlckNvbnRyb2xUeXBlLkhvdXIsIG1vZGVsKVxuICAgICAgICAgIH1cIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RWYWx1ZShpdGVtLCBUaW1lUGlja2VyQ29udHJvbFR5cGUuSG91cilcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgaXRlbSB8IG51bWJlcjogJzIuMC0wJyB9fVxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICAgIDxkaXYgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdjb2x1bW4tc3RydXQnKVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnY29sdW1uJylcIlxuICAgICAgI21pbnV0ZVJlZlxuICAgICAgKm5nSWY9XCJtaW51dGVFbmFibGVkXCJcbiAgICA+XG4gICAgICA8dWw+XG4gICAgICAgIDxsaVxuICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgbGV0IGl0ZW0gb2YgZ2V0Q29udHJvbFR5cGVDb25maWcoVGltZVBpY2tlckNvbnRyb2xUeXBlLk1pbnV0ZSk7XG4gICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5XG4gICAgICAgICAgXCJcbiAgICAgICAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NlbGwnKVwiXG4gICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJDT05UUk9MX0lURU1fSEVJR0hUXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICBkaXNhYmxlZDogaXNEaXNhYmxlZChpdGVtLCBUaW1lUGlja2VyQ29udHJvbFR5cGUuTWludXRlKSxcbiAgICAgICAgICAgIHNlbGVjdGVkOiBtYXRjaFZhbHVlKGl0ZW0sIFRpbWVQaWNrZXJDb250cm9sVHlwZS5NaW51dGUsIG1vZGVsKVxuICAgICAgICAgIH1cIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RWYWx1ZShpdGVtLCBUaW1lUGlja2VyQ29udHJvbFR5cGUuTWludXRlKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBpdGVtIHwgbnVtYmVyOiAnMi4wLTAnIH19XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgICAgPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NvbHVtbi1zdHJ1dCcpXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdjb2x1bW4nKVwiXG4gICAgICAjc2Vjb25kUmVmXG4gICAgICAqbmdJZj1cInNlY29uZEVuYWJsZWRcIlxuICAgID5cbiAgICAgIDx1bD5cbiAgICAgICAgPGxpXG4gICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICBsZXQgaXRlbSBvZiBnZXRDb250cm9sVHlwZUNvbmZpZyhUaW1lUGlja2VyQ29udHJvbFR5cGUuU2Vjb25kKVxuICAgICAgICAgIFwiXG4gICAgICAgICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdjZWxsJylcIlxuICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiQ09OVFJPTF9JVEVNX0hFSUdIVFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgZGlzYWJsZWQ6IGlzRGlzYWJsZWQoaXRlbSwgVGltZVBpY2tlckNvbnRyb2xUeXBlLlNlY29uZCksXG4gICAgICAgICAgICBzZWxlY3RlZDogbWF0Y2hWYWx1ZShpdGVtLCBUaW1lUGlja2VyQ29udHJvbFR5cGUuU2Vjb25kLCBtb2RlbClcbiAgICAgICAgICB9XCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VmFsdWUoaXRlbSwgVGltZVBpY2tlckNvbnRyb2xUeXBlLlNlY29uZClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgaXRlbSB8IG51bWJlcjogJzIuMC0wJyB9fVxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICAgIDxkaXYgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdjb2x1bW4tc3RydXQnKVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWZvb3RlclRlbXBsYXRlOyBlbHNlIGN1c3RvbUZvb3RlclwiPlxuICAgIDxkaXYgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdmb290ZXInKVwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBhdWktYnV0dG9uPVwiaW5saW5lXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdE5vdygpXCJcbiAgICAgICAgW3NpemVdPVwiQ29tcG9uZW50U2l6ZS5TbWFsbFwiXG4gICAgICA+XG4gICAgICAgIHt7ICdub3cnIHwgYXVpSTE4biB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGF1aS1idXR0b249XCJwcmltYXJ5XCJcbiAgICAgICAgW3NpemVdPVwiQ29tcG9uZW50U2l6ZS5TbWFsbFwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7IGNvbmZpcm0ubmV4dCgpXCJcbiAgICAgID5cbiAgICAgICAge3sgJ2NvbmZpcm0nIHwgYXVpSTE4biB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI2N1c3RvbUZvb3Rlcj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJUZW1wbGF0ZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHRoaXMgfVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=