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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (606) hide show
  1. package/accordion/accordion-item/accordion-item.component.d.ts +3 -3
  2. package/accordion/accordion.component.d.ts +1 -1
  3. package/anchor/anchor.component.d.ts +2 -2
  4. package/anchor/anchor.directive.d.ts +3 -3
  5. package/autocomplete/autocomplete-placeholder.component.d.ts +1 -1
  6. package/autocomplete/autocomplete.component.d.ts +1 -1
  7. package/autocomplete/autocomplete.directive.d.ts +2 -2
  8. package/autocomplete/autocomplete.types.d.ts +1 -1
  9. package/autocomplete/helper-directives.d.ts +1 -1
  10. package/autocomplete/suggestion/suggestion.component.d.ts +6 -6
  11. package/autocomplete/suggestion-group/suggestion-group.component.d.ts +1 -1
  12. package/back-top/back-top.component.d.ts +3 -2
  13. package/back-top/back-top.module.d.ts +2 -1
  14. package/breadcrumb/breadcrumb-item.component.d.ts +1 -1
  15. package/breadcrumb/breadcrumb.component.d.ts +1 -1
  16. package/button/button-group/button-group.component.d.ts +1 -1
  17. package/button/button.component.d.ts +1 -1
  18. package/button/button.types.d.ts +1 -12
  19. package/card/card.component.d.ts +1 -1
  20. package/card/helper-directives.d.ts +3 -7
  21. package/card/section.component.d.ts +1 -1
  22. package/checkbox/checkbox-group/checkbox-group.component.d.ts +3 -3
  23. package/checkbox/checkbox.component.d.ts +1 -1
  24. package/color-picker/color-picker.component.d.ts +1 -1
  25. package/date-picker/calendar/date-picker-panel/component.d.ts +1 -1
  26. package/date-picker/calendar/footer/component.d.ts +1 -1
  27. package/date-picker/calendar/header/component.d.ts +1 -1
  28. package/date-picker/calendar/panel/picker-panel.d.ts +1 -1
  29. package/date-picker/calendar/range-picker-panel/component.d.ts +1 -1
  30. package/date-picker/date-picker/date-picker.component.d.ts +1 -1
  31. package/date-picker/date-picker.type.d.ts +2 -2
  32. package/date-picker/range-picker/range-picker.component.d.ts +1 -1
  33. package/date-picker/trigger/trigger.component.d.ts +1 -1
  34. package/dialog/confirm-dialog/confirm-dialog.component.d.ts +1 -1
  35. package/dialog/dialog-content/dialog-close.directive.d.ts +1 -1
  36. package/dialog/dialog-content/dialog-content.component.d.ts +1 -1
  37. package/dialog/dialog-content/dialog-footer.component.d.ts +1 -1
  38. package/dialog/dialog-content/dialog-header.component.d.ts +1 -1
  39. package/dialog/dialog.component.d.ts +1 -1
  40. package/dialog/dialog.types.d.ts +3 -3
  41. package/drawer/component/drawer.component.d.ts +1 -1
  42. package/drawer/component/helper-directives.d.ts +3 -3
  43. package/dropdown/dropdown-active.directive.d.ts +1 -1
  44. package/dropdown/dropdown-button/dropdown-button.component.d.ts +3 -4
  45. package/dropdown/dropdown.directive.d.ts +1 -1
  46. package/dropdown/dropdown.types.d.ts +1 -1
  47. package/dropdown/helper-directives.d.ts +1 -1
  48. package/dropdown/menu/menu-content.directive.d.ts +1 -1
  49. package/dropdown/menu/menu.component.d.ts +1 -1
  50. package/dropdown/menu-group/menu-group.component.d.ts +1 -1
  51. package/dropdown/menu-item/menu-item.component.d.ts +1 -1
  52. package/dropdown/submenu/submenu.component.d.ts +1 -1
  53. package/esm2022/accordion/accordion-item/accordion-item.component.mjs +73 -0
  54. package/esm2022/accordion/accordion.component.mjs +29 -0
  55. package/esm2022/accordion/accordion.module.mjs +39 -0
  56. package/esm2022/alauda-ui.mjs +2 -0
  57. package/esm2022/anchor/anchor.component.mjs +141 -0
  58. package/esm2022/anchor/anchor.directive.mjs +198 -0
  59. package/esm2022/anchor/anchor.module.mjs +35 -0
  60. package/{esm2020 → esm2022}/autocomplete/autocomplete-placeholder.component.mjs +4 -4
  61. package/esm2022/autocomplete/autocomplete.component.mjs +72 -0
  62. package/esm2022/autocomplete/autocomplete.directive.mjs +282 -0
  63. package/esm2022/autocomplete/autocomplete.module.mjs +53 -0
  64. package/{esm2020 → esm2022}/autocomplete/helper-directives.mjs +4 -4
  65. package/esm2022/autocomplete/suggestion/suggestion.component.mjs +77 -0
  66. package/esm2022/autocomplete/suggestion-group/suggestion-group.component.mjs +25 -0
  67. package/esm2022/back-top/back-top.component.mjs +84 -0
  68. package/esm2022/back-top/back-top.module.mjs +20 -0
  69. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +33 -0
  70. package/esm2022/breadcrumb/breadcrumb.component.mjs +56 -0
  71. package/esm2022/breadcrumb/breadcrumb.module.mjs +20 -0
  72. package/{esm2020 → esm2022}/button/button-group/button-group.component.mjs +4 -4
  73. package/esm2022/button/button.component.mjs +124 -0
  74. package/esm2022/button/button.module.mjs +20 -0
  75. package/esm2022/button/button.types.mjs +11 -0
  76. package/esm2022/card/card.component.mjs +14 -0
  77. package/esm2022/card/card.module.mjs +40 -0
  78. package/esm2022/card/helper-directives.mjs +42 -0
  79. package/{esm2020 → esm2022}/card/section.component.mjs +4 -4
  80. package/esm2022/checkbox/checkbox-group/checkbox-group.component.mjs +60 -0
  81. package/esm2022/checkbox/checkbox.component.mjs +116 -0
  82. package/esm2022/checkbox/checkbox.module.mjs +20 -0
  83. package/esm2022/color-picker/color-picker.component.mjs +28 -0
  84. package/esm2022/color-picker/color-picker.module.mjs +19 -0
  85. package/esm2022/date-picker/calendar/constant.mjs +31 -0
  86. package/esm2022/date-picker/calendar/date-picker-panel/component.mjs +137 -0
  87. package/esm2022/date-picker/calendar/footer/component.mjs +29 -0
  88. package/esm2022/date-picker/calendar/header/component.mjs +100 -0
  89. package/esm2022/date-picker/calendar/panel/picker-panel.mjs +158 -0
  90. package/esm2022/date-picker/calendar/range-picker-panel/component.mjs +210 -0
  91. package/esm2022/date-picker/calendar/util.mjs +152 -0
  92. package/esm2022/date-picker/date-picker/date-picker.component.mjs +115 -0
  93. package/esm2022/date-picker/date-picker.module.mjs +82 -0
  94. package/esm2022/date-picker/range-picker/range-picker.component.mjs +88 -0
  95. package/esm2022/date-picker/trigger/trigger.component.mjs +76 -0
  96. package/esm2022/dialog/confirm-dialog/confirm-dialog-config.mjs +13 -0
  97. package/esm2022/dialog/confirm-dialog/confirm-dialog.component.mjs +91 -0
  98. package/{esm2020 → esm2022}/dialog/dialog-animations.mjs +1 -2
  99. package/esm2022/dialog/dialog-config.mjs +14 -0
  100. package/esm2022/dialog/dialog-content/dialog-close.directive.mjs +42 -0
  101. package/esm2022/dialog/dialog-content/dialog-content.component.mjs +19 -0
  102. package/esm2022/dialog/dialog-content/dialog-footer.component.mjs +13 -0
  103. package/esm2022/dialog/dialog-content/dialog-header.component.mjs +42 -0
  104. package/esm2022/dialog/dialog-ref.mjs +52 -0
  105. package/esm2022/dialog/dialog.component.mjs +154 -0
  106. package/esm2022/dialog/dialog.module.mjs +65 -0
  107. package/esm2022/dialog/dialog.service.mjs +124 -0
  108. package/esm2022/drawer/component/drawer.component.mjs +248 -0
  109. package/esm2022/drawer/component/helper-directives.mjs +33 -0
  110. package/esm2022/drawer/drawer.module.mjs +36 -0
  111. package/esm2022/drawer/drawer.service.mjs +47 -0
  112. package/esm2022/dropdown/dropdown-active.directive.mjs +18 -0
  113. package/esm2022/dropdown/dropdown-button/dropdown-button.component.mjs +53 -0
  114. package/esm2022/dropdown/dropdown.directive.mjs +83 -0
  115. package/esm2022/dropdown/dropdown.module.mjs +65 -0
  116. package/{esm2020 → esm2022}/dropdown/helper-directives.mjs +4 -4
  117. package/esm2022/dropdown/menu/menu-content.directive.mjs +59 -0
  118. package/esm2022/dropdown/menu/menu.component.mjs +26 -0
  119. package/{esm2020 → esm2022}/dropdown/menu-group/menu-group.component.mjs +4 -4
  120. package/esm2022/dropdown/menu-item/menu-item.component.mjs +35 -0
  121. package/esm2022/dropdown/submenu/submenu.component.mjs +38 -0
  122. package/esm2022/form/common-form.mjs +87 -0
  123. package/esm2022/form/form-item/form-item.component.mjs +121 -0
  124. package/esm2022/form/form.directive.mjs +70 -0
  125. package/esm2022/form/form.module.mjs +48 -0
  126. package/esm2022/form/helper-directives.mjs +73 -0
  127. package/{esm2020 → esm2022}/i18n/i18n.module.mjs +5 -5
  128. package/esm2022/i18n/i18n.pipe.mjs +21 -0
  129. package/esm2022/i18n/i18n.service.mjs +48 -0
  130. package/esm2022/icon/icon-register.service.mjs +75 -0
  131. package/esm2022/icon/icon.component.mjs +74 -0
  132. package/esm2022/icon/icon.module.mjs +21 -0
  133. package/{esm2020 → esm2022}/inline-alert/helper-directives.mjs +4 -4
  134. package/esm2022/inline-alert/inline-alert.component.mjs +58 -0
  135. package/esm2022/inline-alert/inline-alert.module.mjs +20 -0
  136. package/esm2022/input/autosize.directive.mjs +56 -0
  137. package/esm2022/input/helper-directives.mjs +43 -0
  138. package/esm2022/input/input-group/input-group.component.mjs +46 -0
  139. package/esm2022/input/input.component.mjs +59 -0
  140. package/esm2022/input/input.module.mjs +85 -0
  141. package/esm2022/input/number-input/number-input.component.mjs +121 -0
  142. package/esm2022/input/search/search.component.mjs +87 -0
  143. package/esm2022/input/tags-input/tags-input.component.mjs +264 -0
  144. package/esm2022/input/tags-input/with-max-row-count.mjs +50 -0
  145. package/esm2022/message/base-message.mjs +99 -0
  146. package/esm2022/message/message-wrapper.component.mjs +15 -0
  147. package/esm2022/message/message.component.mjs +77 -0
  148. package/esm2022/message/message.config.mjs +20 -0
  149. package/esm2022/message/message.module.mjs +22 -0
  150. package/{esm2020 → esm2022}/message/message.service.mjs +4 -4
  151. package/esm2022/notification/notification-wrapper.component.mjs +17 -0
  152. package/esm2022/notification/notification.component.mjs +106 -0
  153. package/esm2022/notification/notification.module.mjs +23 -0
  154. package/{esm2020 → esm2022}/notification/notification.service.mjs +4 -4
  155. package/esm2022/paginator/paginator-intl.mjs +24 -0
  156. package/esm2022/paginator/paginator.component.mjs +126 -0
  157. package/esm2022/paginator/paginator.module.mjs +24 -0
  158. package/esm2022/radio/base-radio.mjs +72 -0
  159. package/esm2022/radio/radio-button/radio-button.component.mjs +41 -0
  160. package/esm2022/radio/radio-group/radio-group.component.mjs +65 -0
  161. package/esm2022/radio/radio.component.mjs +23 -0
  162. package/esm2022/radio/radio.module.mjs +21 -0
  163. package/esm2022/scrolling/fixed-size-table-virtual-scroll-strategy.mjs +80 -0
  164. package/esm2022/scrolling/fixed-size-table-virtual-scroll.directive.mjs +119 -0
  165. package/esm2022/scrolling/fixed-size-virtual-scroll.directive.mjs +27 -0
  166. package/{esm2020 → esm2022}/scrolling/scrolling.module.mjs +9 -9
  167. package/{esm2020 → esm2022}/scrolling/virtual-for-of.directive.mjs +4 -4
  168. package/esm2022/scrolling/virtual-scroll-viewport.component.mjs +26 -0
  169. package/esm2022/select/base-select.mjs +333 -0
  170. package/{esm2020 → esm2022}/select/helper-directives.mjs +7 -7
  171. package/esm2022/select/multi-select/multi-select.component.mjs +311 -0
  172. package/esm2022/select/option/option.component.mjs +119 -0
  173. package/esm2022/select/option-group/option-group.component.mjs +25 -0
  174. package/{esm2020 → esm2022}/select/option-placeholder.component.mjs +4 -4
  175. package/esm2022/select/select.component.mjs +107 -0
  176. package/esm2022/select/select.module.mjs +78 -0
  177. package/esm2022/select/validators.mjs +78 -0
  178. package/esm2022/shared/click-outside.directive.mjs +29 -0
  179. package/{esm2020 → esm2022}/shared/shared.module.mjs +5 -5
  180. package/esm2022/sort/sort-errors.mjs +13 -0
  181. package/esm2022/sort/sort-header.component.mjs +74 -0
  182. package/esm2022/sort/sort.directive.mjs +73 -0
  183. package/esm2022/sort/sort.module.mjs +19 -0
  184. package/esm2022/status-bar/status-bar.component.mjs +28 -0
  185. package/esm2022/status-bar/status-bar.module.mjs +19 -0
  186. package/esm2022/steps/steps.component.mjs +166 -0
  187. package/esm2022/steps/steps.module.mjs +19 -0
  188. package/{esm2020 → esm2022}/steps/types.mjs +1 -1
  189. package/esm2022/switch/switch.component.mjs +43 -0
  190. package/esm2022/switch/switch.module.mjs +18 -0
  191. package/esm2022/table/table-cell-def.directive.mjs +25 -0
  192. package/esm2022/table/table-cell.component.mjs +115 -0
  193. package/esm2022/table/table-cell.directive.mjs +29 -0
  194. package/esm2022/table/table-column-def.directive.mjs +31 -0
  195. package/esm2022/table/table-header-cell-def.directive.mjs +25 -0
  196. package/esm2022/table/table-header-cell.directive.mjs +25 -0
  197. package/esm2022/table/table-header-row-def.directive.mjs +33 -0
  198. package/esm2022/table/table-header-row.component.mjs +24 -0
  199. package/esm2022/table/table-placeholder.directive.mjs +33 -0
  200. package/esm2022/table/table-row-def.directive.mjs +34 -0
  201. package/esm2022/table/table-row.component.mjs +43 -0
  202. package/esm2022/table/table-scroll.directive.mjs +133 -0
  203. package/esm2022/table/table.component.mjs +79 -0
  204. package/esm2022/table/table.module.mjs +96 -0
  205. package/esm2022/table-of-contents/table-of-contents.module.mjs +20 -0
  206. package/esm2022/table-of-contents/toc-container.directive.mjs +111 -0
  207. package/esm2022/table-of-contents/toc-content.directive.mjs +39 -0
  208. package/esm2022/table-of-contents/toc-link.directive.mjs +48 -0
  209. package/esm2022/tabs/tab-body.component.mjs +146 -0
  210. package/esm2022/tabs/tab-context.service.mjs +30 -0
  211. package/esm2022/tabs/tab-group.component.mjs +256 -0
  212. package/esm2022/tabs/tab-header-active-indicator.component.mjs +41 -0
  213. package/esm2022/tabs/tab-header.component.mjs +277 -0
  214. package/esm2022/tabs/tab.component.mjs +72 -0
  215. package/esm2022/tabs/tabs.module.mjs +86 -0
  216. package/esm2022/tabs/tabs.types.mjs +10 -0
  217. package/esm2022/tag/check-tag/check-tag.component.mjs +31 -0
  218. package/esm2022/tag/tag.component.mjs +63 -0
  219. package/esm2022/tag/tag.module.mjs +20 -0
  220. package/esm2022/theme/theme.module.mjs +18 -0
  221. package/esm2022/theme/theme.pipe.mjs +64 -0
  222. package/esm2022/theme/theme.service.mjs +59 -0
  223. package/esm2022/time-picker/component.mjs +183 -0
  224. package/esm2022/time-picker/panel/panel.component.mjs +240 -0
  225. package/esm2022/time-picker/time-picker.module.mjs +56 -0
  226. package/esm2022/time-picker/time-picker.type.mjs +13 -0
  227. package/esm2022/tooltip/base-tooltip.mjs +333 -0
  228. package/esm2022/tooltip/tooltip-active.directive.mjs +51 -0
  229. package/esm2022/tooltip/tooltip-copy.directive.mjs +87 -0
  230. package/esm2022/tooltip/tooltip-intl.mjs +21 -0
  231. package/esm2022/tooltip/tooltip.component.mjs +120 -0
  232. package/esm2022/tooltip/tooltip.directive.mjs +44 -0
  233. package/esm2022/tooltip/tooltip.module.mjs +32 -0
  234. package/esm2022/tooltip/utils/index.mjs +58 -0
  235. package/{esm2020 → esm2022}/tree-select/tree-node-placeholder.component.mjs +4 -4
  236. package/esm2022/tree-select/tree-select.component.mjs +329 -0
  237. package/esm2022/tree-select/tree-select.module.mjs +34 -0
  238. package/esm2022/types.mjs +8 -0
  239. package/esm2022/utils/bem.mjs +44 -0
  240. package/esm2022/utils/coercion.mjs +5 -0
  241. package/esm2022/utils/fn.mjs +16 -0
  242. package/{fesm2020 → fesm2022}/alauda-ui.mjs +3144 -3252
  243. package/fesm2022/alauda-ui.mjs.map +1 -0
  244. package/form/common-form.d.ts +1 -9
  245. package/form/form-item/form-item.component.d.ts +1 -1
  246. package/form/form.directive.d.ts +1 -1
  247. package/form/form.types.d.ts +2 -2
  248. package/form/helper-directives.d.ts +7 -8
  249. package/i18n/i18n.pipe.d.ts +1 -1
  250. package/i18n/i18n.type.d.ts +1 -1
  251. package/icon/icon.component.d.ts +1 -1
  252. package/inline-alert/helper-directives.d.ts +1 -1
  253. package/inline-alert/inline-alert.component.d.ts +1 -1
  254. package/inline-alert/inline-alert.types.d.ts +1 -1
  255. package/input/autosize.directive.d.ts +1 -4
  256. package/input/helper-directives.d.ts +4 -4
  257. package/input/input-group/input-group.component.d.ts +1 -1
  258. package/input/input.component.d.ts +2 -5
  259. package/input/number-input/number-input.component.d.ts +5 -3
  260. package/input/search/search.component.d.ts +1 -1
  261. package/input/tags-input/tags-input.component.d.ts +3 -3
  262. package/message/message-wrapper.component.d.ts +1 -1
  263. package/message/message.component.d.ts +1 -1
  264. package/message/message.config.d.ts +0 -20
  265. package/notification/notification-wrapper.component.d.ts +1 -1
  266. package/notification/notification.component.d.ts +1 -5
  267. package/notification/notification.config.d.ts +1 -1
  268. package/package.json +14 -20
  269. package/paginator/paginator-intl.d.ts +0 -9
  270. package/paginator/paginator.component.d.ts +8 -25
  271. package/radio/base-radio.d.ts +1 -1
  272. package/radio/radio-button/radio-button.component.d.ts +1 -1
  273. package/radio/radio-group/radio-group.component.d.ts +1 -5
  274. package/radio/radio.component.d.ts +1 -1
  275. package/radio/radio.types.d.ts +1 -1
  276. package/scrolling/fixed-size-table-virtual-scroll.directive.d.ts +1 -1
  277. package/scrolling/fixed-size-virtual-scroll.directive.d.ts +1 -1
  278. package/scrolling/virtual-for-of.directive.d.ts +1 -1
  279. package/scrolling/virtual-scroll-viewport.component.d.ts +1 -1
  280. package/select/base-select.d.ts +7 -13
  281. package/select/helper-directives.d.ts +2 -2
  282. package/select/multi-select/multi-select.component.d.ts +3 -4
  283. package/select/option/option.component.d.ts +1 -1
  284. package/select/option-group/option-group.component.d.ts +1 -1
  285. package/select/option-placeholder.component.d.ts +1 -1
  286. package/select/select.component.d.ts +1 -1
  287. package/select/select.types.d.ts +3 -3
  288. package/select/validators.d.ts +1 -1
  289. package/shared/click-outside.directive.d.ts +1 -1
  290. package/sort/sort-errors.d.ts +0 -4
  291. package/sort/sort-header.component.d.ts +1 -1
  292. package/sort/sort.directive.d.ts +1 -1
  293. package/sort/sort.types.d.ts +2 -2
  294. package/status-bar/status-bar.component.d.ts +1 -1
  295. package/status-bar/status-bar.types.d.ts +2 -2
  296. package/steps/steps.component.d.ts +1 -5
  297. package/steps/types.d.ts +3 -7
  298. package/switch/switch.component.d.ts +1 -1
  299. package/table/table-cell-def.directive.d.ts +1 -5
  300. package/table/table-cell.component.d.ts +2 -2
  301. package/table/table-cell.directive.d.ts +1 -2
  302. package/table/table-column-def.directive.d.ts +1 -5
  303. package/table/table-header-cell-def.directive.d.ts +1 -5
  304. package/table/table-header-cell.directive.d.ts +1 -2
  305. package/table/table-header-row-def.directive.d.ts +1 -5
  306. package/table/table-header-row.component.d.ts +1 -2
  307. package/table/table-placeholder.directive.d.ts +2 -2
  308. package/table/table-row-def.directive.d.ts +1 -6
  309. package/table/table-row.component.d.ts +1 -2
  310. package/table/table-scroll.directive.d.ts +2 -2
  311. package/table/table.component.d.ts +1 -1
  312. package/table-of-contents/toc-container.directive.d.ts +2 -2
  313. package/table-of-contents/toc-content.directive.d.ts +1 -1
  314. package/table-of-contents/toc-link.directive.d.ts +1 -1
  315. package/tabs/tab-body.component.d.ts +9 -26
  316. package/tabs/tab-context.service.d.ts +0 -3
  317. package/tabs/tab-group.component.d.ts +3 -31
  318. package/tabs/tab-header-active-indicator.component.d.ts +1 -10
  319. package/tabs/tab-header.component.d.ts +2 -85
  320. package/tabs/tab.component.d.ts +3 -22
  321. package/tabs/tabs.types.d.ts +2 -5
  322. package/tag/check-tag/check-tag.component.d.ts +1 -1
  323. package/tag/tag.component.d.ts +1 -1
  324. package/tag/tag.types.d.ts +1 -1
  325. package/theme/style.css +5 -1
  326. package/theme/theme.pipe.d.ts +4 -4
  327. package/theme/theme.types.d.ts +3 -3
  328. package/time-picker/component.d.ts +1 -1
  329. package/time-picker/panel/panel.component.d.ts +1 -1
  330. package/time-picker/time-picker.type.d.ts +1 -1
  331. package/tooltip/base-tooltip.d.ts +1 -1
  332. package/tooltip/tooltip-active.directive.d.ts +1 -1
  333. package/tooltip/tooltip-copy.directive.d.ts +1 -1
  334. package/tooltip/tooltip-intl.d.ts +0 -4
  335. package/tooltip/tooltip.component.d.ts +1 -1
  336. package/tooltip/tooltip.directive.d.ts +1 -1
  337. package/tree-select/tree-node-placeholder.component.d.ts +1 -1
  338. package/tree-select/tree-select.component.d.ts +11 -15
  339. package/tree-select/tree-select.types.d.ts +1 -1
  340. package/types.d.ts +2 -5
  341. package/utils/coercion.d.ts +4 -4
  342. package/utils/fn.d.ts +0 -1
  343. package/utils/operators.d.ts +1 -1
  344. package/.changeset/README.md +0 -8
  345. package/alauda-ui.d.ts +0 -5
  346. package/esm2020/accordion/accordion-item/accordion-item.component.mjs +0 -73
  347. package/esm2020/accordion/accordion.component.mjs +0 -27
  348. package/esm2020/accordion/accordion.module.mjs +0 -39
  349. package/esm2020/alauda-ui.mjs +0 -5
  350. package/esm2020/anchor/anchor.component.mjs +0 -138
  351. package/esm2020/anchor/anchor.directive.mjs +0 -182
  352. package/esm2020/anchor/anchor.module.mjs +0 -36
  353. package/esm2020/autocomplete/autocomplete.component.mjs +0 -64
  354. package/esm2020/autocomplete/autocomplete.directive.mjs +0 -278
  355. package/esm2020/autocomplete/autocomplete.module.mjs +0 -53
  356. package/esm2020/autocomplete/suggestion/suggestion.component.mjs +0 -79
  357. package/esm2020/autocomplete/suggestion-group/suggestion-group.component.mjs +0 -23
  358. package/esm2020/back-top/back-top.component.mjs +0 -67
  359. package/esm2020/back-top/back-top.module.mjs +0 -19
  360. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +0 -32
  361. package/esm2020/breadcrumb/breadcrumb.component.mjs +0 -57
  362. package/esm2020/breadcrumb/breadcrumb.module.mjs +0 -20
  363. package/esm2020/button/button.component.mjs +0 -122
  364. package/esm2020/button/button.module.mjs +0 -20
  365. package/esm2020/button/button.types.mjs +0 -22
  366. package/esm2020/card/card.component.mjs +0 -16
  367. package/esm2020/card/card.module.mjs +0 -40
  368. package/esm2020/card/helper-directives.mjs +0 -50
  369. package/esm2020/checkbox/checkbox-group/checkbox-group.component.mjs +0 -61
  370. package/esm2020/checkbox/checkbox.component.mjs +0 -112
  371. package/esm2020/checkbox/checkbox.module.mjs +0 -20
  372. package/esm2020/color-picker/color-picker.component.mjs +0 -28
  373. package/esm2020/color-picker/color-picker.module.mjs +0 -19
  374. package/esm2020/date-picker/calendar/constant.mjs +0 -32
  375. package/esm2020/date-picker/calendar/date-picker-panel/component.mjs +0 -128
  376. package/esm2020/date-picker/calendar/footer/component.mjs +0 -29
  377. package/esm2020/date-picker/calendar/header/component.mjs +0 -103
  378. package/esm2020/date-picker/calendar/panel/picker-panel.mjs +0 -155
  379. package/esm2020/date-picker/calendar/range-picker-panel/component.mjs +0 -209
  380. package/esm2020/date-picker/calendar/util.mjs +0 -146
  381. package/esm2020/date-picker/date-picker/date-picker.component.mjs +0 -110
  382. package/esm2020/date-picker/date-picker.module.mjs +0 -84
  383. package/esm2020/date-picker/range-picker/range-picker.component.mjs +0 -86
  384. package/esm2020/date-picker/trigger/trigger.component.mjs +0 -69
  385. package/esm2020/dialog/confirm-dialog/confirm-dialog-config.mjs +0 -12
  386. package/esm2020/dialog/confirm-dialog/confirm-dialog.component.mjs +0 -85
  387. package/esm2020/dialog/dialog-config.mjs +0 -15
  388. package/esm2020/dialog/dialog-content/dialog-close.directive.mjs +0 -38
  389. package/esm2020/dialog/dialog-content/dialog-content.component.mjs +0 -20
  390. package/esm2020/dialog/dialog-content/dialog-footer.component.mjs +0 -15
  391. package/esm2020/dialog/dialog-content/dialog-header.component.mjs +0 -39
  392. package/esm2020/dialog/dialog-ref.mjs +0 -48
  393. package/esm2020/dialog/dialog.component.mjs +0 -148
  394. package/esm2020/dialog/dialog.module.mjs +0 -68
  395. package/esm2020/dialog/dialog.service.mjs +0 -121
  396. package/esm2020/drawer/component/drawer.component.mjs +0 -232
  397. package/esm2020/drawer/component/helper-directives.mjs +0 -37
  398. package/esm2020/drawer/drawer.module.mjs +0 -37
  399. package/esm2020/drawer/drawer.service.mjs +0 -44
  400. package/esm2020/dropdown/dropdown-active.directive.mjs +0 -21
  401. package/esm2020/dropdown/dropdown-button/dropdown-button.component.mjs +0 -57
  402. package/esm2020/dropdown/dropdown.directive.mjs +0 -81
  403. package/esm2020/dropdown/dropdown.module.mjs +0 -65
  404. package/esm2020/dropdown/menu/menu-content.directive.mjs +0 -51
  405. package/esm2020/dropdown/menu/menu.component.mjs +0 -26
  406. package/esm2020/dropdown/menu-item/menu-item.component.mjs +0 -37
  407. package/esm2020/dropdown/submenu/submenu.component.mjs +0 -40
  408. package/esm2020/form/common-form.mjs +0 -91
  409. package/esm2020/form/form-item/form-item.component.mjs +0 -108
  410. package/esm2020/form/form.directive.mjs +0 -69
  411. package/esm2020/form/form.module.mjs +0 -48
  412. package/esm2020/form/helper-directives.mjs +0 -80
  413. package/esm2020/i18n/i18n.pipe.mjs +0 -20
  414. package/esm2020/i18n/i18n.service.mjs +0 -43
  415. package/esm2020/icon/icon-register.service.mjs +0 -74
  416. package/esm2020/icon/icon.component.mjs +0 -65
  417. package/esm2020/icon/icon.module.mjs +0 -21
  418. package/esm2020/inline-alert/inline-alert.component.mjs +0 -53
  419. package/esm2020/inline-alert/inline-alert.module.mjs +0 -20
  420. package/esm2020/input/autosize.directive.mjs +0 -59
  421. package/esm2020/input/helper-directives.mjs +0 -43
  422. package/esm2020/input/input-group/input-group.component.mjs +0 -39
  423. package/esm2020/input/input.component.mjs +0 -61
  424. package/esm2020/input/input.module.mjs +0 -87
  425. package/esm2020/input/number-input/number-input.component.mjs +0 -112
  426. package/esm2020/input/search/search.component.mjs +0 -88
  427. package/esm2020/input/tags-input/tags-input.component.mjs +0 -260
  428. package/esm2020/input/tags-input/with-max-row-count.mjs +0 -43
  429. package/esm2020/message/base-message.mjs +0 -90
  430. package/esm2020/message/message-wrapper.component.mjs +0 -14
  431. package/esm2020/message/message.component.mjs +0 -70
  432. package/esm2020/message/message.config.mjs +0 -21
  433. package/esm2020/message/message.module.mjs +0 -23
  434. package/esm2020/notification/notification-wrapper.component.mjs +0 -16
  435. package/esm2020/notification/notification.component.mjs +0 -107
  436. package/esm2020/notification/notification.module.mjs +0 -24
  437. package/esm2020/paginator/paginator-intl.mjs +0 -37
  438. package/esm2020/paginator/paginator.component.mjs +0 -125
  439. package/esm2020/paginator/paginator.module.mjs +0 -24
  440. package/esm2020/radio/base-radio.mjs +0 -67
  441. package/esm2020/radio/radio-button/radio-button.component.mjs +0 -42
  442. package/esm2020/radio/radio-group/radio-group.component.mjs +0 -76
  443. package/esm2020/radio/radio.component.mjs +0 -24
  444. package/esm2020/radio/radio.module.mjs +0 -21
  445. package/esm2020/scrolling/fixed-size-table-virtual-scroll-strategy.mjs +0 -83
  446. package/esm2020/scrolling/fixed-size-table-virtual-scroll.directive.mjs +0 -121
  447. package/esm2020/scrolling/fixed-size-virtual-scroll.directive.mjs +0 -28
  448. package/esm2020/scrolling/virtual-scroll-viewport.component.mjs +0 -26
  449. package/esm2020/select/base-select.mjs +0 -337
  450. package/esm2020/select/multi-select/multi-select.component.mjs +0 -313
  451. package/esm2020/select/option/option.component.mjs +0 -112
  452. package/esm2020/select/option-group/option-group.component.mjs +0 -23
  453. package/esm2020/select/select.component.mjs +0 -108
  454. package/esm2020/select/select.module.mjs +0 -80
  455. package/esm2020/select/validators.mjs +0 -79
  456. package/esm2020/shared/click-outside.directive.mjs +0 -28
  457. package/esm2020/sort/sort-errors.mjs +0 -17
  458. package/esm2020/sort/sort-header.component.mjs +0 -72
  459. package/esm2020/sort/sort.directive.mjs +0 -75
  460. package/esm2020/sort/sort.module.mjs +0 -19
  461. package/esm2020/status-bar/status-bar.component.mjs +0 -29
  462. package/esm2020/status-bar/status-bar.module.mjs +0 -19
  463. package/esm2020/steps/steps.component.mjs +0 -184
  464. package/esm2020/steps/steps.module.mjs +0 -19
  465. package/esm2020/switch/switch.component.mjs +0 -46
  466. package/esm2020/switch/switch.module.mjs +0 -18
  467. package/esm2020/table/table-cell-def.directive.mjs +0 -29
  468. package/esm2020/table/table-cell.component.mjs +0 -121
  469. package/esm2020/table/table-cell.directive.mjs +0 -31
  470. package/esm2020/table/table-column-def.directive.mjs +0 -37
  471. package/esm2020/table/table-header-cell-def.directive.mjs +0 -29
  472. package/esm2020/table/table-header-cell.directive.mjs +0 -27
  473. package/esm2020/table/table-header-row-def.directive.mjs +0 -39
  474. package/esm2020/table/table-header-row.component.mjs +0 -25
  475. package/esm2020/table/table-placeholder.directive.mjs +0 -30
  476. package/esm2020/table/table-row-def.directive.mjs +0 -42
  477. package/esm2020/table/table-row.component.mjs +0 -43
  478. package/esm2020/table/table-scroll.directive.mjs +0 -134
  479. package/esm2020/table/table.component.mjs +0 -79
  480. package/esm2020/table/table.module.mjs +0 -96
  481. package/esm2020/table-of-contents/table-of-contents.module.mjs +0 -20
  482. package/esm2020/table-of-contents/toc-container.directive.mjs +0 -109
  483. package/esm2020/table-of-contents/toc-content.directive.mjs +0 -35
  484. package/esm2020/table-of-contents/toc-link.directive.mjs +0 -44
  485. package/esm2020/tabs/tab-body.component.mjs +0 -165
  486. package/esm2020/tabs/tab-context.service.mjs +0 -31
  487. package/esm2020/tabs/tab-group.component.mjs +0 -291
  488. package/esm2020/tabs/tab-header-active-indicator.component.mjs +0 -53
  489. package/esm2020/tabs/tab-header.component.mjs +0 -367
  490. package/esm2020/tabs/tab.component.mjs +0 -85
  491. package/esm2020/tabs/tabs.module.mjs +0 -88
  492. package/esm2020/tabs/tabs.types.mjs +0 -13
  493. package/esm2020/tag/check-tag/check-tag.component.mjs +0 -33
  494. package/esm2020/tag/tag.component.mjs +0 -66
  495. package/esm2020/tag/tag.module.mjs +0 -20
  496. package/esm2020/theme/theme.module.mjs +0 -18
  497. package/esm2020/theme/theme.pipe.mjs +0 -69
  498. package/esm2020/theme/theme.service.mjs +0 -52
  499. package/esm2020/time-picker/component.mjs +0 -179
  500. package/esm2020/time-picker/panel/panel.component.mjs +0 -230
  501. package/esm2020/time-picker/time-picker.module.mjs +0 -58
  502. package/esm2020/time-picker/time-picker.type.mjs +0 -13
  503. package/esm2020/tooltip/base-tooltip.mjs +0 -322
  504. package/esm2020/tooltip/tooltip-active.directive.mjs +0 -49
  505. package/esm2020/tooltip/tooltip-copy.directive.mjs +0 -82
  506. package/esm2020/tooltip/tooltip-intl.mjs +0 -29
  507. package/esm2020/tooltip/tooltip.component.mjs +0 -107
  508. package/esm2020/tooltip/tooltip.directive.mjs +0 -47
  509. package/esm2020/tooltip/tooltip.module.mjs +0 -33
  510. package/esm2020/tooltip/utils/index.mjs +0 -58
  511. package/esm2020/tree-select/tree-select.component.mjs +0 -340
  512. package/esm2020/tree-select/tree-select.module.mjs +0 -34
  513. package/esm2020/types.mjs +0 -11
  514. package/esm2020/utils/bem.mjs +0 -44
  515. package/esm2020/utils/coercion.mjs +0 -17
  516. package/esm2020/utils/fn.mjs +0 -19
  517. package/fesm2015/alauda-ui.mjs +0 -12051
  518. package/fesm2015/alauda-ui.mjs.map +0 -1
  519. package/fesm2020/alauda-ui.mjs.map +0 -1
  520. package/src/accordion/README.md +0 -13
  521. package/src/anchor/README.md +0 -23
  522. package/src/dropdown/README.md +0 -57
  523. package/src/form/README.md +0 -32
  524. package/src/icon/README.md +0 -28
  525. package/src/inline-alert/README.md +0 -16
  526. package/src/input/number-input/README.md +0 -16
  527. package/src/select/README.md +0 -57
  528. package/src/sort/README.md +0 -13
  529. package/src/table/README.md +0 -8
  530. package/src/table-of-contents/README.md +0 -94
  531. package/src/tag/README.md +0 -32
  532. package/src/tree-select/README.md +0 -34
  533. /package/{esm2020 → esm2022}/accordion/index.mjs +0 -0
  534. /package/{esm2020 → esm2022}/anchor/index.mjs +0 -0
  535. /package/{esm2020 → esm2022}/anchor/types.mjs +0 -0
  536. /package/{esm2020 → esm2022}/anchor/utils.mjs +0 -0
  537. /package/{esm2020 → esm2022}/autocomplete/autocomplete.types.mjs +0 -0
  538. /package/{esm2020 → esm2022}/autocomplete/index.mjs +0 -0
  539. /package/{esm2020 → esm2022}/back-top/index.mjs +0 -0
  540. /package/{esm2020 → esm2022}/breadcrumb/index.mjs +0 -0
  541. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  542. /package/{esm2020 → esm2022}/card/index.mjs +0 -0
  543. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  544. /package/{esm2020 → esm2022}/color-picker/index.mjs +0 -0
  545. /package/{esm2020 → esm2022}/core/animation/animation-consts.mjs +0 -0
  546. /package/{esm2020 → esm2022}/date-picker/date-picker.type.mjs +0 -0
  547. /package/{esm2020 → esm2022}/date-picker/index.mjs +0 -0
  548. /package/{esm2020 → esm2022}/dialog/dialog.types.mjs +0 -0
  549. /package/{esm2020 → esm2022}/dialog/index.mjs +0 -0
  550. /package/{esm2020 → esm2022}/dialog/utils/errors.mjs +0 -0
  551. /package/{esm2020 → esm2022}/dialog/utils/index.mjs +0 -0
  552. /package/{esm2020 → esm2022}/drawer/component/drawer-ref.mjs +0 -0
  553. /package/{esm2020 → esm2022}/drawer/index.mjs +0 -0
  554. /package/{esm2020 → esm2022}/dropdown/dropdown.types.mjs +0 -0
  555. /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
  556. /package/{esm2020 → esm2022}/form/form.types.mjs +0 -0
  557. /package/{esm2020 → esm2022}/form/index.mjs +0 -0
  558. /package/{esm2020 → esm2022}/i18n/i18n.type.mjs +0 -0
  559. /package/{esm2020 → esm2022}/i18n/index.mjs +0 -0
  560. /package/{esm2020 → esm2022}/i18n/language/en.mjs +0 -0
  561. /package/{esm2020 → esm2022}/i18n/language/zh.mjs +0 -0
  562. /package/{esm2020 → esm2022}/icon/icons.mjs +0 -0
  563. /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
  564. /package/{esm2020 → esm2022}/icon/utils.mjs +0 -0
  565. /package/{esm2020 → esm2022}/index.mjs +0 -0
  566. /package/{esm2020 → esm2022}/inline-alert/index.mjs +0 -0
  567. /package/{esm2020 → esm2022}/inline-alert/inline-alert.types.mjs +0 -0
  568. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  569. /package/{esm2020 → esm2022}/input/utils/index.mjs +0 -0
  570. /package/{esm2020 → esm2022}/message/index.mjs +0 -0
  571. /package/{esm2020 → esm2022}/message/message-animations.mjs +0 -0
  572. /package/{esm2020 → esm2022}/notification/index.mjs +0 -0
  573. /package/{esm2020 → esm2022}/notification/notification.config.mjs +0 -0
  574. /package/{esm2020 → esm2022}/paginator/index.mjs +0 -0
  575. /package/{esm2020 → esm2022}/radio/index.mjs +0 -0
  576. /package/{esm2020 → esm2022}/radio/radio.types.mjs +0 -0
  577. /package/{esm2020 → esm2022}/scrolling/index.mjs +0 -0
  578. /package/{esm2020 → esm2022}/select/index.mjs +0 -0
  579. /package/{esm2020 → esm2022}/select/select.types.mjs +0 -0
  580. /package/{esm2020 → esm2022}/sort/index.mjs +0 -0
  581. /package/{esm2020 → esm2022}/sort/sort.types.mjs +0 -0
  582. /package/{esm2020 → esm2022}/status-bar/index.mjs +0 -0
  583. /package/{esm2020 → esm2022}/status-bar/status-bar.types.mjs +0 -0
  584. /package/{esm2020 → esm2022}/steps/index.mjs +0 -0
  585. /package/{esm2020 → esm2022}/switch/index.mjs +0 -0
  586. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  587. /package/{esm2020 → esm2022}/table-of-contents/index.mjs +0 -0
  588. /package/{esm2020 → esm2022}/tabs/index.mjs +0 -0
  589. /package/{esm2020 → esm2022}/tag/index.mjs +0 -0
  590. /package/{esm2020 → esm2022}/tag/tag.types.mjs +0 -0
  591. /package/{esm2020 → esm2022}/theme/index.mjs +0 -0
  592. /package/{esm2020 → esm2022}/theme/theme.types.mjs +0 -0
  593. /package/{esm2020 → esm2022}/theme/utils.mjs +0 -0
  594. /package/{esm2020 → esm2022}/time-picker/constant.mjs +0 -0
  595. /package/{esm2020 → esm2022}/time-picker/index.mjs +0 -0
  596. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  597. /package/{esm2020 → esm2022}/tooltip/tooltip.types.mjs +0 -0
  598. /package/{esm2020 → esm2022}/tree-select/index.mjs +0 -0
  599. /package/{esm2020 → esm2022}/tree-select/tree-select.types.mjs +0 -0
  600. /package/{esm2020 → esm2022}/utils/animations.mjs +0 -0
  601. /package/{esm2020 → esm2022}/utils/async.mjs +0 -0
  602. /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
  603. /package/{esm2020 → esm2022}/utils/observe-dom.mjs +0 -0
  604. /package/{esm2020 → esm2022}/utils/operators.mjs +0 -0
  605. /package/{esm2020 → esm2022}/utils/scroll-into-view.mjs +0 -0
  606. /package/{esm2020 → esm2022}/utils/watch-content-exist.mjs +0 -0
@@ -0,0 +1,210 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation, } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import dayjs from 'dayjs';
4
+ import { CommonFormControl } from '../../../form/common-form';
5
+ import { buildBem } from '../../../utils';
6
+ import { DateNavRange, Side } from '../../date-picker.type';
7
+ import { DatePickerType, MONTH, YEAR } from '../constant';
8
+ import { composeDisabledDateFn, getTimePickerModel, getTypeByNavRange, maxDate, minDate, nextNavRangeType, sortDates, updateDate, updateDateByTimeModel, } from '../util';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common";
11
+ import * as i2 from "@angular/forms";
12
+ import * as i3 from "../../../time-picker/component";
13
+ import * as i4 from "../header/component";
14
+ import * as i5 from "../footer/component";
15
+ import * as i6 from "../panel/picker-panel";
16
+ import * as i7 from "../../../i18n/i18n.pipe";
17
+ const bem = buildBem('aui-date-range-picker-panel');
18
+ export class DateRangePickerPanelComponent extends CommonFormControl {
19
+ clearable = true;
20
+ clearText;
21
+ showTime = true;
22
+ showFooter = true;
23
+ disabledDate = () => false;
24
+ disabledTime = {
25
+ left: () => null,
26
+ right: () => null,
27
+ };
28
+ weekStartDay = 0;
29
+ minDate;
30
+ maxDate;
31
+ clear = new EventEmitter();
32
+ confirm = new EventEmitter();
33
+ bem = bem;
34
+ Side = Side;
35
+ DatePickerType = DatePickerType;
36
+ leftDateRange = DateNavRange.Month;
37
+ rightDateRange = DateNavRange.Month;
38
+ FOOTER_DATE_FORMAT = 'YYYY-MM-dd';
39
+ leftAnchor = dayjs();
40
+ rightAnchor = dayjs().add(1, MONTH);
41
+ get maxHeaderAvail() {
42
+ return minDate(this.rightAnchor, this.maxDate);
43
+ }
44
+ get minHeaderAvail() {
45
+ return maxDate(this.minDate, this.leftAnchor);
46
+ }
47
+ rangeValue = [];
48
+ matchValues;
49
+ startTime;
50
+ endTime;
51
+ writeValue(obj) {
52
+ super.writeValue(obj);
53
+ this.rangeValue = obj || [];
54
+ this.matchValues = [...this.rangeValue];
55
+ this.startTime = getTimePickerModel(obj?.[0]);
56
+ this.endTime = getTimePickerModel(obj?.[1]);
57
+ if (obj?.length === 2) {
58
+ this.reorder(sortDates(obj));
59
+ }
60
+ this.cdr.markForCheck();
61
+ }
62
+ calendarRangeChange(type, side) {
63
+ if (side === Side.Left) {
64
+ this.leftDateRange = type;
65
+ }
66
+ else {
67
+ this.rightDateRange = type;
68
+ }
69
+ }
70
+ getDateDisabledFn(side, constrainValue) {
71
+ return composeDisabledDateFn((date, navRange) => {
72
+ if (navRange === DateNavRange.Month) {
73
+ return false;
74
+ }
75
+ if (navRange === DateNavRange.Decade) {
76
+ return date[side === Side.Left ? 'isAfter' : 'isBefore'](constrainValue, YEAR);
77
+ }
78
+ return !date[side === Side.Left ? 'isBefore' : 'isAfter'](constrainValue, MONTH);
79
+ }, (...arg) => this.disabledDate(...arg, this.rangeValue[0]));
80
+ }
81
+ getDisabledTimeCachedFn(side) {
82
+ let cacheSelectedDate;
83
+ let cacheDisabledTimeFn;
84
+ return (value, key) => {
85
+ if (value !== cacheSelectedDate) {
86
+ cacheDisabledTimeFn = (this.disabledTime?.[side] || (() => null))(value);
87
+ cacheSelectedDate = value;
88
+ }
89
+ return cacheDisabledTimeFn?.[key];
90
+ };
91
+ }
92
+ leftDisabledTimeFn = this.getDisabledTimeCachedFn(Side.Left);
93
+ rightDisabledTimeFn = this.getDisabledTimeCachedFn(Side.Right);
94
+ selectPickerPanel(value, side) {
95
+ const navRange = side === Side.Left ? this.leftDateRange : this.rightDateRange;
96
+ const type = getTypeByNavRange(navRange);
97
+ const dateValue = updateDate(side === Side.Left ? this.leftAnchor : this.rightAnchor, value, type);
98
+ const nextRange = nextNavRangeType(navRange, DateNavRange.Month);
99
+ if (side === Side.Left) {
100
+ this.leftAnchor = dateValue;
101
+ this.leftDateRange = nextRange;
102
+ }
103
+ else {
104
+ this.rightAnchor = dateValue;
105
+ this.rightDateRange = nextRange;
106
+ }
107
+ if (navRange !== DateNavRange.Month) {
108
+ return;
109
+ }
110
+ if (this.leftAnchor.isSame(this.rightAnchor, MONTH)) {
111
+ this.rightAnchor = this.rightAnchor.add(1, MONTH);
112
+ }
113
+ this.rangeValue =
114
+ this.rangeValue.length === 2
115
+ ? [dateValue]
116
+ : sortDates([...this.rangeValue, dateValue]);
117
+ this.matchValues = [...this.rangeValue];
118
+ this.syncTime();
119
+ if (this.rangeValue.length === 2) {
120
+ this.reorder(this.rangeValue);
121
+ this.confirmValue(this.rangeValue, !this.showTime);
122
+ }
123
+ }
124
+ reorder(sortedDate) {
125
+ if (!sortedDate[0].isSame(sortedDate[1], MONTH)) {
126
+ this.leftAnchor = updateDate(this.leftAnchor, sortedDate[0], DatePickerType.Day);
127
+ this.rightAnchor = updateDate(this.leftAnchor, sortedDate[1], DatePickerType.Day);
128
+ }
129
+ }
130
+ hoverItem(date) {
131
+ if (this.rangeValue.length === 1) {
132
+ this.matchValues[1] = date;
133
+ }
134
+ }
135
+ confirmValue(value, closeThen = true) {
136
+ this.emitValue(value);
137
+ closeThen && this.confirm.next();
138
+ }
139
+ timeChange(time) {
140
+ if (!time) {
141
+ return;
142
+ }
143
+ this.syncTime();
144
+ if (!this.rangeValue?.length) {
145
+ const date = updateDateByTimeModel(dayjs(), time);
146
+ this.rangeValue = [date, date];
147
+ this.matchValues = [...this.rangeValue];
148
+ this.startTime = this.endTime = time;
149
+ }
150
+ this.emitValue(this.rangeValue);
151
+ }
152
+ syncTime() {
153
+ if (this.showTime && !!this.rangeValue?.length) {
154
+ const startDate = this.rangeValue[0]
155
+ ? updateDateByTimeModel(this.rangeValue[0], this.startTime)
156
+ : null;
157
+ const endDate = this.rangeValue[1]
158
+ ? updateDateByTimeModel(this.rangeValue[1], this.endTime)
159
+ : null;
160
+ if (!this.startTime && startDate) {
161
+ this.startTime = getTimePickerModel(this.rangeValue[0]);
162
+ }
163
+ if (!this.endTime && endDate) {
164
+ this.endTime = getTimePickerModel(this.rangeValue[1]);
165
+ }
166
+ this.rangeValue = [startDate, endDate].filter(i => !!i);
167
+ }
168
+ }
169
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: DateRangePickerPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
170
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: DateRangePickerPanelComponent, selector: "aui-date-range-picker-panel", inputs: { clearable: "clearable", clearText: "clearText", showTime: "showTime", showFooter: "showFooter", disabledDate: "disabledDate", disabledTime: "disabledTime", weekStartDay: "weekStartDay", minDate: "minDate", maxDate: "maxDate" }, outputs: { clear: "clear", confirm: "confirm" }, providers: [
171
+ {
172
+ provide: NG_VALUE_ACCESSOR,
173
+ useExisting: forwardRef(() => DateRangePickerPanelComponent),
174
+ multi: true,
175
+ },
176
+ ], usesInheritance: true, ngImport: i0, template: "<div [class]=\"bem.element('container')\">\n <div [class]=\"bem.element('header')\">\n <aui-calendar-header\n [dateNavRange]=\"leftDateRange\"\n [anchor]=\"leftAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Left)\"\n (anchorChange)=\"leftAnchor = $event\"\n [maxAvail]=\"maxHeaderAvail\"\n [minAvail]=\"minDate\"\n ></aui-calendar-header>\n <aui-calendar-header\n [dateNavRange]=\"rightDateRange\"\n [anchor]=\"rightAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Right)\"\n (anchorChange)=\"rightAnchor = $event\"\n [minAvail]=\"minHeaderAvail\"\n [maxAvail]=\"maxDate\"\n ></aui-calendar-header>\n </div>\n <div [class]=\"bem.element('body')\">\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"leftDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"leftAnchor\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Left, rightAnchor)\"\n [weekStartDay]=\"weekStartDay\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Left)\"\n ></aui-picker-panel>\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"rightDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"rightAnchor\"\n [weekStartDay]=\"weekStartDay\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Right, leftAnchor)\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Right)\"\n ></aui-picker-panel>\n </div>\n\n <aui-calendar-footer\n [class]=\"bem.element('footer')\"\n [clearable]=\"clearable\"\n [clearText]=\"clearText\"\n (clear)=\"clear.next()\"\n (confirm)=\"confirmValue(rangeValue)\"\n *ngIf=\"showFooter && showTime\"\n >\n <div\n [class]=\"bem.element('footer-content')\"\n *ngIf=\"showTime\"\n >\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'start_date' | auiI18n,\n value: rangeValue[0]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n [(ngModel)]=\"startTime\"\n size=\"small\"\n (ngModelChange)=\"timeChange($event)\"\n [disableHours]=\"leftDisabledTimeFn(rangeValue[0], 'hours')\"\n [disableMinutes]=\"leftDisabledTimeFn(rangeValue[0], 'minutes')\"\n [disableSeconds]=\"leftDisabledTimeFn(rangeValue[0], 'seconds')\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n\n <span class=\"placeholder separator\">{{ 'to' | auiI18n }}</span>\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'end_date' | auiI18n,\n value: rangeValue[1]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n size=\"small\"\n [(ngModel)]=\"endTime\"\n [disableHours]=\"rightDisabledTimeFn(rangeValue[1], 'hours')\"\n [disableMinutes]=\"rightDisabledTimeFn(rangeValue[1], 'minutes')\"\n [disableSeconds]=\"rightDisabledTimeFn(rangeValue[1], 'seconds')\"\n (ngModelChange)=\"timeChange($event)\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n </div>\n </aui-calendar-footer>\n</div>\n\n<ng-template\n #datePlaceholder\n let-placeholder=\"placeholder\"\n let-value=\"value\"\n>\n <span\n *ngIf=\"!value\"\n class=\"placeholder date-holder\"\n >{{ placeholder }}</span\n >\n <span\n *ngIf=\"value\"\n class=\"date-value date-holder\"\n >{{ value | date: FOOTER_DATE_FORMAT }}</span\n >\n</ng-template>\n", styles: [".aui-date-range-picker-panel__container{display:flex;flex-direction:column;width:524px;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}.aui-date-range-picker-panel__container .placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-date-range-picker-panel__container .placeholder.separator{margin-inline:12px}.aui-date-range-picker-panel__container .date-value{color:rgb(var(--aui-color-main-text))}.aui-date-range-picker-panel__container .date-holder{display:inline-block;margin-right:8px;width:82px}.aui-date-range-picker-panel__container .panel__wrapper{width:246px;display:flex;justify-content:center}.aui-date-range-picker-panel__header{display:flex;justify-content:space-between}.aui-date-range-picker-panel__header aui-calendar-header{flex:0 0 246px}.aui-date-range-picker-panel__body{display:flex;justify-content:space-between;margin:16px 0}.aui-date-range-picker-panel__footer .aui-time-picker{width:88px}.aui-date-range-picker-panel__footer-content{display:flex;align-items:center;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.TimePickerComponent, selector: "aui-time-picker", inputs: ["format", "size", "placeholder", "clearable", "showIcon", "disableHours", "disableMinutes", "disableSeconds", "hourStep", "minuteStep", "secondStep", "footerTemplate"], outputs: ["open", "close"] }, { kind: "component", type: i4.CalendarHeaderComponent, selector: "aui-calendar-header", inputs: ["dateNavRange", "anchor", "maxAvail", "minAvail"], outputs: ["navRangeChange", "anchorChange"] }, { kind: "component", type: i5.CalendarFooterComponent, selector: "aui-calendar-footer", inputs: ["clearable", "clearText", "customAction"], outputs: ["confirm", "clear"] }, { kind: "component", type: i6.PickerPanelComponent, selector: "aui-picker-panel", inputs: ["navRange", "type", "anchor", "matchDates", "disabledDate", "weekStartDay", "minDate", "maxDate"], outputs: ["select", "hovered"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i7.I18nPipe, name: "auiI18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
177
+ }
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: DateRangePickerPanelComponent, decorators: [{
179
+ type: Component,
180
+ args: [{ selector: 'aui-date-range-picker-panel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
181
+ {
182
+ provide: NG_VALUE_ACCESSOR,
183
+ useExisting: forwardRef(() => DateRangePickerPanelComponent),
184
+ multi: true,
185
+ },
186
+ ], template: "<div [class]=\"bem.element('container')\">\n <div [class]=\"bem.element('header')\">\n <aui-calendar-header\n [dateNavRange]=\"leftDateRange\"\n [anchor]=\"leftAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Left)\"\n (anchorChange)=\"leftAnchor = $event\"\n [maxAvail]=\"maxHeaderAvail\"\n [minAvail]=\"minDate\"\n ></aui-calendar-header>\n <aui-calendar-header\n [dateNavRange]=\"rightDateRange\"\n [anchor]=\"rightAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Right)\"\n (anchorChange)=\"rightAnchor = $event\"\n [minAvail]=\"minHeaderAvail\"\n [maxAvail]=\"maxDate\"\n ></aui-calendar-header>\n </div>\n <div [class]=\"bem.element('body')\">\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"leftDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"leftAnchor\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Left, rightAnchor)\"\n [weekStartDay]=\"weekStartDay\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Left)\"\n ></aui-picker-panel>\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"rightDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"rightAnchor\"\n [weekStartDay]=\"weekStartDay\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Right, leftAnchor)\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Right)\"\n ></aui-picker-panel>\n </div>\n\n <aui-calendar-footer\n [class]=\"bem.element('footer')\"\n [clearable]=\"clearable\"\n [clearText]=\"clearText\"\n (clear)=\"clear.next()\"\n (confirm)=\"confirmValue(rangeValue)\"\n *ngIf=\"showFooter && showTime\"\n >\n <div\n [class]=\"bem.element('footer-content')\"\n *ngIf=\"showTime\"\n >\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'start_date' | auiI18n,\n value: rangeValue[0]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n [(ngModel)]=\"startTime\"\n size=\"small\"\n (ngModelChange)=\"timeChange($event)\"\n [disableHours]=\"leftDisabledTimeFn(rangeValue[0], 'hours')\"\n [disableMinutes]=\"leftDisabledTimeFn(rangeValue[0], 'minutes')\"\n [disableSeconds]=\"leftDisabledTimeFn(rangeValue[0], 'seconds')\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n\n <span class=\"placeholder separator\">{{ 'to' | auiI18n }}</span>\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'end_date' | auiI18n,\n value: rangeValue[1]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n size=\"small\"\n [(ngModel)]=\"endTime\"\n [disableHours]=\"rightDisabledTimeFn(rangeValue[1], 'hours')\"\n [disableMinutes]=\"rightDisabledTimeFn(rangeValue[1], 'minutes')\"\n [disableSeconds]=\"rightDisabledTimeFn(rangeValue[1], 'seconds')\"\n (ngModelChange)=\"timeChange($event)\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n </div>\n </aui-calendar-footer>\n</div>\n\n<ng-template\n #datePlaceholder\n let-placeholder=\"placeholder\"\n let-value=\"value\"\n>\n <span\n *ngIf=\"!value\"\n class=\"placeholder date-holder\"\n >{{ placeholder }}</span\n >\n <span\n *ngIf=\"value\"\n class=\"date-value date-holder\"\n >{{ value | date: FOOTER_DATE_FORMAT }}</span\n >\n</ng-template>\n", styles: [".aui-date-range-picker-panel__container{display:flex;flex-direction:column;width:524px;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}.aui-date-range-picker-panel__container .placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-date-range-picker-panel__container .placeholder.separator{margin-inline:12px}.aui-date-range-picker-panel__container .date-value{color:rgb(var(--aui-color-main-text))}.aui-date-range-picker-panel__container .date-holder{display:inline-block;margin-right:8px;width:82px}.aui-date-range-picker-panel__container .panel__wrapper{width:246px;display:flex;justify-content:center}.aui-date-range-picker-panel__header{display:flex;justify-content:space-between}.aui-date-range-picker-panel__header aui-calendar-header{flex:0 0 246px}.aui-date-range-picker-panel__body{display:flex;justify-content:space-between;margin:16px 0}.aui-date-range-picker-panel__footer .aui-time-picker{width:88px}.aui-date-range-picker-panel__footer-content{display:flex;align-items:center;height:100%}\n"] }]
187
+ }], propDecorators: { clearable: [{
188
+ type: Input
189
+ }], clearText: [{
190
+ type: Input
191
+ }], showTime: [{
192
+ type: Input
193
+ }], showFooter: [{
194
+ type: Input
195
+ }], disabledDate: [{
196
+ type: Input
197
+ }], disabledTime: [{
198
+ type: Input
199
+ }], weekStartDay: [{
200
+ type: Input
201
+ }], minDate: [{
202
+ type: Input
203
+ }], maxDate: [{
204
+ type: Input
205
+ }], clear: [{
206
+ type: Output
207
+ }], confirm: [{
208
+ type: Output
209
+ }] } });
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2NhbGVuZGFyL3JhbmdlLXBpY2tlci1wYW5lbC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZS1waWNrZXIvY2FsZW5kYXIvcmFuZ2UtcGlja2VyLXBhbmVsL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFrQixJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YscUJBQXFCLEdBQ3RCLE1BQU0sU0FBUyxDQUFDOzs7Ozs7Ozs7QUFFakIsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFnQnBELE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxpQkFBMEI7SUFFM0UsU0FBUyxHQUFHLElBQUksQ0FBQztJQUdqQixTQUFTLENBQVM7SUFHbEIsUUFB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QkFETixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBkYXlqcywgeyBEYXlqcyB9IGZyb20gJ2RheWpzJztcblxuaW1wb3J0IHsgQ29tbW9uRm9ybUNvbnRyb2wgfSBmcm9tICcuLi8uLi8uLi9mb3JtL2NvbW1vbi1mb3JtJztcbmltcG9ydCB7IFRpbWVQaWNrZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLnR5cGUnO1xuaW1wb3J0IHsgYnVpbGRCZW0gfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBEYXRlTmF2UmFuZ2UsIERpc2FibGVkVGltZUZuLCBTaWRlIH0gZnJvbSAnLi4vLi4vZGF0ZS1waWNrZXIudHlwZSc7XG5pbXBvcnQgeyBEYXRlUGlja2VyVHlwZSwgTU9OVEgsIFlFQVIgfSBmcm9tICcuLi9jb25zdGFudCc7XG5pbXBvcnQge1xuICBjb21wb3NlRGlzYWJsZWREYXRlRm4sXG4gIGdldFRpbWVQaWNrZXJNb2RlbCxcbiAgZ2V0VHlwZUJ5TmF2UmFuZ2UsXG4gIG1heERhdGUsXG4gIG1pbkRhdGUsXG4gIG5leHROYXZSYW5nZVR5cGUsXG4gIHNvcnREYXRlcyxcbiAgdXBkYXRlRGF0ZSxcbiAgdXBkYXRlRGF0ZUJ5VGltZU1vZGVsLFxufSBmcm9tICcuLi91dGlsJztcblxuY29uc3QgYmVtID0gYnVpbGRCZW0oJ2F1aS1kYXRlLXJhbmdlLXBpY2tlci1wYW5lbCcpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktZGF0ZS1yYW5nZS1waWNrZXItcGFuZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVJhbmdlUGlja2VyUGFuZWxDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlUGlja2VyUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBDb21tb25Gb3JtQ29udHJvbDxEYXlqc1tdPiB7XG4gIEBJbnB1dCgpXG4gIGNsZWFyYWJsZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgY2xlYXJUZXh0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc2hvd1RpbWUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dGb290ZXIgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkRGF0ZTogKFxuICAgIGRhdGU6IERheWpzLFxuICAgIG5hdlJhbmdlOiBEYXRlTmF2UmFuZ2UsXG4gICAgc3RhcnREYXRlOiBEYXlqcyxcbiAgKSA9PiBib29sZWFuID0gKCkgPT4gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWRUaW1lOiB7IGxlZnQ6IERpc2FibGVkVGltZUZuOyByaWdodDogRGlzYWJsZWRUaW1lRm4gfSA9IHtcbiAgICBsZWZ0OiAoKSA9PiBudWxsLFxuICAgIHJpZ2h0OiAoKSA9PiBudWxsLFxuICB9O1xuXG4gIEBJbnB1dCgpXG4gIHdlZWtTdGFydERheSA9IDA7XG5cbiAgQElucHV0KClcbiAgbWluRGF0ZTogRGF5anM7XG5cbiAgQElucHV0KClcbiAgbWF4RGF0ZTogRGF5anM7XG5cbiAgQE91dHB1dCgpXG4gIGNsZWFyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBjb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGJlbSA9IGJlbTtcbiAgU2lkZSA9IFNpZGU7XG4gIERhdGVQaWNrZXJUeXBlID0gRGF0ZVBpY2tlclR5cGU7XG4gIGxlZnREYXRlUmFuZ2UgPSBEYXRlTmF2UmFuZ2UuTW9udGg7XG4gIHJpZ2h0RGF0ZVJhbmdlID0gRGF0ZU5hdlJhbmdlLk1vbnRoO1xuXG4gIEZPT1RFUl9EQVRFX0ZPUk1BVCA9ICdZWVlZLU1NLWRkJztcblxuICBsZWZ0QW5jaG9yID0gZGF5anMoKTtcbiAgcmlnaHRBbmNob3IgPSBkYXlqcygpLmFkZCgxLCBNT05USCk7XG5cbiAgZ2V0IG1heEhlYWRlckF2YWlsKCkge1xuICAgIHJldHVybiBtaW5EYXRlKHRoaXMucmlnaHRBbmNob3IsIHRoaXMubWF4RGF0ZSk7XG4gIH1cblxuICBnZXQgbWluSGVhZGVyQXZhaWwoKSB7XG4gICAgcmV0dXJuIG1heERhdGUodGhpcy5taW5EYXRlLCB0aGlzLmxlZnRBbmNob3IpO1xuICB9XG5cbiAgLy8g55So5LqO5a2Y5pS+IHJhbmdlIGRhdGEg5bqP5YiX77yM5pWw6YeP5Li6IDIg5pe25riF6ZmkXG4gIHJhbmdlVmFsdWU6IERheWpzW10gPSBbXTtcblxuICAvLyDnlKjkuo7nu4Too4XljLnphY3ml6XmnJ/luo/liJdcbiAgbWF0Y2hWYWx1ZXM6IERheWpzW107XG5cbiAgc3RhcnRUaW1lOiBUaW1lUGlja2VyTW9kZWw7XG4gIGVuZFRpbWU6IFRpbWVQaWNrZXJNb2RlbDtcblxuICBvdmVycmlkZSB3cml0ZVZhbHVlKG9iajogRGF5anNbXSkge1xuICAgIHN1cGVyLndyaXRlVmFsdWUob2JqKTtcbiAgICB0aGlzLnJhbmdlVmFsdWUgPSBvYmogfHwgW107XG4gICAgdGhpcy5tYXRjaFZhbHVlcyA9IFsuLi50aGlzLnJhbmdlVmFsdWVdO1xuICAgIHRoaXMuc3RhcnRUaW1lID0gZ2V0VGltZVBpY2tlck1vZGVsKG9iaj8uWzBdKTtcbiAgICB0aGlzLmVuZFRpbWUgPSBnZXRUaW1lUGlja2VyTW9kZWwob2JqPy5bMV0pO1xuICAgIGlmIChvYmo/Lmxlbmd0aCA9PT0gMikge1xuICAgICAgdGhpcy5yZW9yZGVyKHNvcnREYXRlcyhvYmopKTtcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBjYWxlbmRhclJhbmdlQ2hhbmdlKHR5cGU6IERhdGVOYXZSYW5nZSwgc2lkZTogU2lkZSkge1xuICAgIGlmIChzaWRlID09PSBTaWRlLkxlZnQpIHtcbiAgICAgIHRoaXMubGVmdERhdGVSYW5nZSA9IHR5cGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmlnaHREYXRlUmFuZ2UgPSB0eXBlO1xuICAgIH1cbiAgfVxuXG4gIC8vIHJhbmdlIOe7hOS7tuiMg+WbtOWPl+aOp1xuICBnZXREYXRlRGlzYWJsZWRGbihzaWRlOiBTaWRlLCBjb25zdHJhaW5WYWx1ZTogRGF5anMpIHtcbiAgICByZXR1cm4gY29tcG9zZURpc2FibGVkRGF0ZUZuKFxuICAgICAgKGRhdGU6IERheWpzLCBuYXZSYW5nZTogRGF0ZU5hdlJhbmdlKSA9PiB7XG4gICAgICAgIGlmIChuYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLk1vbnRoKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLkRlY2FkZSkge1xuICAgICAgICAgIHJldHVybiBkYXRlW3NpZGUgPT09IFNpZGUuTGVmdCA/ICdpc0FmdGVyJyA6ICdpc0JlZm9yZSddKFxuICAgICAgICAgICAgY29uc3RyYWluVmFsdWUsXG4gICAgICAgICAgICBZRUFSLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICFkYXRlW3NpZGUgPT09IFNpZGUuTGVmdCA/ICdpc0JlZm9yZScgOiAnaXNBZnRlciddKFxuICAgICAgICAgIGNvbnN0cmFpblZhbHVlLFxuICAgICAgICAgIE1PTlRILFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgICguLi5hcmcpID0+IHRoaXMuZGlzYWJsZWREYXRlKC4uLmFyZywgdGhpcy5yYW5nZVZhbHVlWzBdKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREaXNhYmxlZFRpbWVDYWNoZWRGbihzaWRlOiBTaWRlKSB7XG4gICAgbGV0IGNhY2hlU2VsZWN0ZWREYXRlOiBEYXlqcztcbiAgICBsZXQgY2FjaGVEaXNhYmxlZFRpbWVGbjogUmV0dXJuVHlwZTxEaXNhYmxlZFRpbWVGbj47XG4gICAgcmV0dXJuICh2YWx1ZTogRGF5anMsIGtleToga2V5b2YgUmV0dXJuVHlwZTxEaXNhYmxlZFRpbWVGbj4pID0+IHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gY2FjaGVTZWxlY3RlZERhdGUpIHtcbiAgICAgICAgY2FjaGVEaXNhYmxlZFRpbWVGbiA9ICh0aGlzLmRpc2FibGVkVGltZT8uW3NpZGVdIHx8ICgoKSA9PiBudWxsKSkoXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICk7XG4gICAgICAgIGNhY2hlU2VsZWN0ZWREYXRlID0gdmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gY2FjaGVEaXNhYmxlZFRpbWVGbj8uW2tleV07XG4gICAgfTtcbiAgfVxuXG4gIGxlZnREaXNhYmxlZFRpbWVGbiA9IHRoaXMuZ2V0RGlzYWJsZWRUaW1lQ2FjaGVkRm4oU2lkZS5MZWZ0KTtcbiAgcmlnaHREaXNhYmxlZFRpbWVGbiA9IHRoaXMuZ2V0RGlzYWJsZWRUaW1lQ2FjaGVkRm4oU2lkZS5SaWdodCk7XG5cbiAgc2VsZWN0UGlja2VyUGFuZWwodmFsdWU6IERheWpzLCBzaWRlOiBTaWRlKSB7XG4gICAgY29uc3QgbmF2UmFuZ2UgPVxuICAgICAgc2lkZSA9PT0gU2lkZS5MZWZ0ID8gdGhpcy5sZWZ0RGF0ZVJhbmdlIDogdGhpcy5yaWdodERhdGVSYW5nZTtcbiAgICBjb25zdCB0eXBlID0gZ2V0VHlwZUJ5TmF2UmFuZ2UobmF2UmFuZ2UpO1xuICAgIGNvbnN0IGRhdGVWYWx1ZSA9IHVwZGF0ZURhdGUoXG4gICAgICBzaWRlID09PSBTaWRlLkxlZnQgPyB0aGlzLmxlZnRBbmNob3IgOiB0aGlzLnJpZ2h0QW5jaG9yLFxuICAgICAgdmFsdWUsXG4gICAgICB0eXBlLFxuICAgICk7XG4gICAgY29uc3QgbmV4dFJhbmdlID0gbmV4dE5hdlJhbmdlVHlwZShuYXZSYW5nZSwgRGF0ZU5hdlJhbmdlLk1vbnRoKTtcblxuICAgIGlmIChzaWRlID09PSBTaWRlLkxlZnQpIHtcbiAgICAgIHRoaXMubGVmdEFuY2hvciA9IGRhdGVWYWx1ZTtcbiAgICAgIHRoaXMubGVmdERhdGVSYW5nZSA9IG5leHRSYW5nZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yaWdodEFuY2hvciA9IGRhdGVWYWx1ZTtcbiAgICAgIHRoaXMucmlnaHREYXRlUmFuZ2UgPSBuZXh0UmFuZ2U7XG4gICAgfVxuXG4gICAgaWYgKG5hdlJhbmdlICE9PSBEYXRlTmF2UmFuZ2UuTW9udGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sZWZ0QW5jaG9yLmlzU2FtZSh0aGlzLnJpZ2h0QW5jaG9yLCBNT05USCkpIHtcbiAgICAgIHRoaXMucmlnaHRBbmNob3IgPSB0aGlzLnJpZ2h0QW5jaG9yLmFkZCgxLCBNT05USCk7XG4gICAgfVxuXG4gICAgdGhpcy5yYW5nZVZhbHVlID1cbiAgICAgIHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPT09IDJcbiAgICAgICAgPyBbZGF0ZVZhbHVlXVxuICAgICAgICA6IHNvcnREYXRlcyhbLi4udGhpcy5yYW5nZVZhbHVlLCBkYXRlVmFsdWVdKTtcbiAgICB0aGlzLm1hdGNoVmFsdWVzID0gWy4uLnRoaXMucmFuZ2VWYWx1ZV07XG4gICAgdGhpcy5zeW5jVGltZSgpO1xuICAgIGlmICh0aGlzLnJhbmdlVmFsdWUubGVuZ3RoID09PSAyKSB7XG4gICAgICB0aGlzLnJlb3JkZXIodGhpcy5yYW5nZVZhbHVlKTtcbiAgICAgIHRoaXMuY29uZmlybVZhbHVlKHRoaXMucmFuZ2VWYWx1ZSwgIXRoaXMuc2hvd1RpbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJlb3JkZXIoc29ydGVkRGF0ZTogRGF5anNbXSkge1xuICAgIGlmICghc29ydGVkRGF0ZVswXS5pc1NhbWUoc29ydGVkRGF0ZVsxXSwgTU9OVEgpKSB7XG4gICAgICB0aGlzLmxlZnRBbmNob3IgPSB1cGRhdGVEYXRlKFxuICAgICAgICB0aGlzLmxlZnRBbmNob3IsXG4gICAgICAgIHNvcnRlZERhdGVbMF0sXG4gICAgICAgIERhdGVQaWNrZXJUeXBlLkRheSxcbiAgICAgICk7XG4gICAgICB0aGlzLnJpZ2h0QW5jaG9yID0gdXBkYXRlRGF0ZShcbiAgICAgICAgdGhpcy5sZWZ0QW5jaG9yLFxuICAgICAgICBzb3J0ZWREYXRlWzFdLFxuICAgICAgICBEYXRlUGlja2VyVHlwZS5EYXksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGhvdmVySXRlbShkYXRlOiBEYXlqcykge1xuICAgIGlmICh0aGlzLnJhbmdlVmFsdWUubGVuZ3RoID09PSAxKSB7XG4gICAgICB0aGlzLm1hdGNoVmFsdWVzWzFdID0gZGF0ZTtcbiAgICB9XG4gIH1cblxuICBjb25maXJtVmFsdWUodmFsdWU6IERheWpzW10sIGNsb3NlVGhlbiA9IHRydWUpIHtcbiAgICB0aGlzLmVtaXRWYWx1ZSh2YWx1ZSk7XG4gICAgY2xvc2VUaGVuICYmIHRoaXMuY29uZmlybS5uZXh0KCk7XG4gIH1cblxuICB0aW1lQ2hhbmdlKHRpbWU6IFRpbWVQaWNrZXJNb2RlbCkge1xuICAgIGlmICghdGltZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN5bmNUaW1lKCk7XG4gICAgaWYgKCF0aGlzLnJhbmdlVmFsdWU/Lmxlbmd0aCkge1xuICAgICAgY29uc3QgZGF0ZSA9IHVwZGF0ZURhdGVCeVRpbWVNb2RlbChkYXlqcygpLCB0aW1lKTtcbiAgICAgIHRoaXMucmFuZ2VWYWx1ZSA9IFtkYXRlLCBkYXRlXTtcbiAgICAgIHRoaXMubWF0Y2hWYWx1ZXMgPSBbLi4udGhpcy5yYW5nZVZhbHVlXTtcbiAgICAgIHRoaXMuc3RhcnRUaW1lID0gdGhpcy5lbmRUaW1lID0gdGltZTtcbiAgICB9XG4gICAgdGhpcy5lbWl0VmFsdWUodGhpcy5yYW5nZVZhbHVlKTtcbiAgfVxuXG4gIHN5bmNUaW1lKCkge1xuICAgIGlmICh0aGlzLnNob3dUaW1lICYmICEhdGhpcy5yYW5nZVZhbHVlPy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMucmFuZ2VWYWx1ZVswXVxuICAgICAgICA/IHVwZGF0ZURhdGVCeVRpbWVNb2RlbCh0aGlzLnJhbmdlVmFsdWVbMF0sIHRoaXMuc3RhcnRUaW1lKVxuICAgICAgICA6IG51bGw7XG4gICAgICBjb25zdCBlbmREYXRlID0gdGhpcy5yYW5nZVZhbHVlWzFdXG4gICAgICAgID8gdXBkYXRlRGF0ZUJ5VGltZU1vZGVsKHRoaXMucmFuZ2VWYWx1ZVsxXSwgdGhpcy5lbmRUaW1lKVxuICAgICAgICA6IG51bGw7XG4gICAgICBpZiAoIXRoaXMuc3RhcnRUaW1lICYmIHN0YXJ0RGF0ZSkge1xuICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IGdldFRpbWVQaWNrZXJNb2RlbCh0aGlzLnJhbmdlVmFsdWVbMF0pO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLmVuZFRpbWUgJiYgZW5kRGF0ZSkge1xuICAgICAgICB0aGlzLmVuZFRpbWUgPSBnZXRUaW1lUGlja2VyTW9kZWwodGhpcy5yYW5nZVZhbHVlWzFdKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucmFuZ2VWYWx1ZSA9IFtzdGFydERhdGUsIGVuZERhdGVdLmZpbHRlcihpID0+ICEhaSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IFtjbGFzc109XCJiZW0uZWxlbWVudCgnY29udGFpbmVyJylcIj5cbiAgPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2hlYWRlcicpXCI+XG4gICAgPGF1aS1jYWxlbmRhci1oZWFkZXJcbiAgICAgIFtkYXRlTmF2UmFuZ2VdPVwibGVmdERhdGVSYW5nZVwiXG4gICAgICBbYW5jaG9yXT1cImxlZnRBbmNob3JcIlxuICAgICAgKG5hdlJhbmdlQ2hhbmdlKT1cImNhbGVuZGFyUmFuZ2VDaGFuZ2UoJGV2ZW50LCBTaWRlLkxlZnQpXCJcbiAgICAgIChhbmNob3JDaGFuZ2UpPVwibGVmdEFuY2hvciA9ICRldmVudFwiXG4gICAgICBbbWF4QXZhaWxdPVwibWF4SGVhZGVyQXZhaWxcIlxuICAgICAgW21pbkF2YWlsXT1cIm1pbkRhdGVcIlxuICAgID48L2F1aS1jYWxlbmRhci1oZWFkZXI+XG4gICAgPGF1aS1jYWxlbmRhci1oZWFkZXJcbiAgICAgIFtkYXRlTmF2UmFuZ2VdPVwicmlnaHREYXRlUmFuZ2VcIlxuICAgICAgW2FuY2hvcl09XCJyaWdodEFuY2hvclwiXG4gICAgICAobmF2UmFuZ2VDaGFuZ2UpPVwiY2FsZW5kYXJSYW5nZUNoYW5nZSgkZXZlbnQsIFNpZGUuUmlnaHQpXCJcbiAgICAgIChhbmNob3JDaGFuZ2UpPVwicmlnaHRBbmNob3IgPSAkZXZlbnRcIlxuICAgICAgW21pbkF2YWlsXT1cIm1pbkhlYWRlckF2YWlsXCJcbiAgICAgIFttYXhBdmFpbF09XCJtYXhEYXRlXCJcbiAgICA+PC9hdWktY2FsZW5kYXItaGVhZGVyPlxuICA8L2Rpdj5cbiAgPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2JvZHknKVwiPlxuICAgIDxhdWktcGlja2VyLXBhbmVsXG4gICAgICBjbGFzcz1cInBhbmVsX193cmFwcGVyXCJcbiAgICAgIFtuYXZSYW5nZV09XCJsZWZ0RGF0ZVJhbmdlXCJcbiAgICAgIFt0eXBlXT1cIkRhdGVQaWNrZXJUeXBlLkRheVwiXG4gICAgICBbYW5jaG9yXT1cImxlZnRBbmNob3JcIlxuICAgICAgW21hdGNoRGF0ZXNdPVwibWF0Y2hWYWx1ZXNcIlxuICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgIFtkaXNhYmxlZERhdGVdPVwiZ2V0RGF0ZURpc2FibGVkRm4oU2lkZS5MZWZ0LCByaWdodEFuY2hvcilcIlxuICAgICAgW3dlZWtTdGFydERheV09XCJ3ZWVrU3RhcnREYXlcIlxuICAgICAgKGhvdmVyZWQpPVwiaG92ZXJJdGVtKCRldmVudClcIlxuICAgICAgKHNlbGVjdCk9XCJzZWxlY3RQaWNrZXJQYW5lbCgkZXZlbnQsIFNpZGUuTGVmdClcIlxuICAgID48L2F1aS1waWNrZXItcGFuZWw+XG4gICAgPGF1aS1waWNrZXItcGFuZWxcbiAgICAgIGNsYXNzPVwicGFuZWxfX3dyYXBwZXJcIlxuICAgICAgW25hdlJhbmdlXT1cInJpZ2h0RGF0ZVJhbmdlXCJcbiAgICAgIFt0eXBlXT1cIkRhdGVQaWNrZXJUeXBlLkRheVwiXG4gICAgICBbYW5jaG9yXT1cInJpZ2h0QW5jaG9yXCJcbiAgICAgIFt3ZWVrU3RhcnREYXldPVwid2Vla1N0YXJ0RGF5XCJcbiAgICAgIFttYXRjaERhdGVzXT1cIm1hdGNoVmFsdWVzXCJcbiAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICBbZGlzYWJsZWREYXRlXT1cImdldERhdGVEaXNhYmxlZEZuKFNpZGUuUmlnaHQsIGxlZnRBbmNob3IpXCJcbiAgICAgIChob3ZlcmVkKT1cImhvdmVySXRlbSgkZXZlbnQpXCJcbiAgICAgIChzZWxlY3QpPVwic2VsZWN0UGlja2VyUGFuZWwoJGV2ZW50LCBTaWRlLlJpZ2h0KVwiXG4gICAgPjwvYXVpLXBpY2tlci1wYW5lbD5cbiAgPC9kaXY+XG5cbiAgPGF1aS1jYWxlbmRhci1mb290ZXJcbiAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2Zvb3RlcicpXCJcbiAgICBbY2xlYXJhYmxlXT1cImNsZWFyYWJsZVwiXG4gICAgW2NsZWFyVGV4dF09XCJjbGVhclRleHRcIlxuICAgIChjbGVhcik9XCJjbGVhci5uZXh0KClcIlxuICAgIChjb25maXJtKT1cImNvbmZpcm1WYWx1ZShyYW5nZVZhbHVlKVwiXG4gICAgKm5nSWY9XCJzaG93Rm9vdGVyICYmIHNob3dUaW1lXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnZm9vdGVyLWNvbnRlbnQnKVwiXG4gICAgICAqbmdJZj1cInNob3dUaW1lXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRhdGVQbGFjZWhvbGRlclwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgcGxhY2Vob2xkZXI6ICdzdGFydF9kYXRlJyB8IGF1aUkxOG4sXG4gICAgICAgICAgdmFsdWU6IHJhbmdlVmFsdWVbMF1cbiAgICAgICAgfVwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8YXVpLXRpbWUtcGlja2VyXG4gICAgICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic3RhcnRUaW1lXCJcbiAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidGltZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2Rpc2FibGVIb3Vyc109XCJsZWZ0RGlzYWJsZWRUaW1lRm4ocmFuZ2VWYWx1ZVswXSwgJ2hvdXJzJylcIlxuICAgICAgICBbZGlzYWJsZU1pbnV0ZXNdPVwibGVmdERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMF0sICdtaW51dGVzJylcIlxuICAgICAgICBbZGlzYWJsZVNlY29uZHNdPVwibGVmdERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMF0sICdzZWNvbmRzJylcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlbGVjdF90aW1lJyB8IGF1aUkxOG5cIlxuICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3Agc3RhcnRcIlxuICAgICAgPjwvYXVpLXRpbWUtcGlja2VyPlxuXG4gICAgICA8c3BhbiBjbGFzcz1cInBsYWNlaG9sZGVyIHNlcGFyYXRvclwiPnt7ICd0bycgfCBhdWlJMThuIH19PC9zcGFuPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkYXRlUGxhY2Vob2xkZXJcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgIHBsYWNlaG9sZGVyOiAnZW5kX2RhdGUnIHwgYXVpSTE4bixcbiAgICAgICAgICB2YWx1ZTogcmFuZ2VWYWx1ZVsxXVxuICAgICAgICB9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxhdWktdGltZS1waWNrZXJcbiAgICAgICAgW3Nob3dJY29uXT1cImZhbHNlXCJcbiAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJlbmRUaW1lXCJcbiAgICAgICAgW2Rpc2FibGVIb3Vyc109XCJyaWdodERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMV0sICdob3VycycpXCJcbiAgICAgICAgW2Rpc2FibGVNaW51dGVzXT1cInJpZ2h0RGlzYWJsZWRUaW1lRm4ocmFuZ2VWYWx1ZVsxXSwgJ21pbnV0ZXMnKVwiXG4gICAgICAgIFtkaXNhYmxlU2Vjb25kc109XCJyaWdodERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMV0sICdzZWNvbmRzJylcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0aW1lQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlbGVjdF90aW1lJyB8IGF1aUkxOG5cIlxuICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3Agc3RhcnRcIlxuICAgICAgPjwvYXVpLXRpbWUtcGlja2VyPlxuICAgIDwvZGl2PlxuICA8L2F1aS1jYWxlbmRhci1mb290ZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlXG4gICNkYXRlUGxhY2Vob2xkZXJcbiAgbGV0LXBsYWNlaG9sZGVyPVwicGxhY2Vob2xkZXJcIlxuICBsZXQtdmFsdWU9XCJ2YWx1ZVwiXG4+XG4gIDxzcGFuXG4gICAgKm5nSWY9XCIhdmFsdWVcIlxuICAgIGNsYXNzPVwicGxhY2Vob2xkZXIgZGF0ZS1ob2xkZXJcIlxuICAgID57eyBwbGFjZWhvbGRlciB9fTwvc3BhblxuICA+XG4gIDxzcGFuXG4gICAgKm5nSWY9XCJ2YWx1ZVwiXG4gICAgY2xhc3M9XCJkYXRlLXZhbHVlIGRhdGUtaG9sZGVyXCJcbiAgICA+e3sgdmFsdWUgfCBkYXRlOiBGT09URVJfREFURV9GT1JNQVQgfX08L3NwYW5cbiAgPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,152 @@
1
+ import { DateNavRange } from '../date-picker.type';
2
+ import { DATE_NAV_RANGES, DATE_TYPES, DAY, DAY_PANEL_COLUMN_COUNT, DAY_PANEL_ROW_COUNT, DatePickerType, MONTH, MONTH_PANEL_COLUMN_COUNT, MONTH_PANEL_ROW_COUNT, YEAR, YEAR_PANEL_COLUMN_COUNT, YEAR_PANEL_ROW_COUNT, } from './constant';
3
+ export class DateCell {
4
+ value;
5
+ label;
6
+ isBackground;
7
+ inRange;
8
+ isRangeStart;
9
+ isRangeEnd;
10
+ isDisabled;
11
+ constructor(value, label) {
12
+ this.value = value;
13
+ this.label = label;
14
+ }
15
+ }
16
+ export function getDatePanelIterable(date, navRange, weekStartDay) {
17
+ let firstData;
18
+ let counts = 0;
19
+ date = date.clone();
20
+ switch (navRange) {
21
+ case DateNavRange.Month: {
22
+ firstData = date.date(-1).day(weekStartDay);
23
+ if (firstData.isAfter(date)) {
24
+ firstData = firstData.subtract(1, 'week');
25
+ }
26
+ counts = DAY_PANEL_COLUMN_COUNT * DAY_PANEL_ROW_COUNT;
27
+ break;
28
+ }
29
+ case DateNavRange.Year: {
30
+ firstData = date.month(0);
31
+ counts = MONTH_PANEL_COLUMN_COUNT * MONTH_PANEL_ROW_COUNT;
32
+ break;
33
+ }
34
+ case DateNavRange.Decade: {
35
+ firstData = date.subtract(1, YEAR);
36
+ counts = YEAR_PANEL_COLUMN_COUNT * YEAR_PANEL_ROW_COUNT;
37
+ break;
38
+ }
39
+ }
40
+ let i = 0;
41
+ return {
42
+ [Symbol.iterator]() {
43
+ return this;
44
+ },
45
+ next: () => {
46
+ if (i < counts) {
47
+ return {
48
+ value: firstData.add(i++, navRange === DateNavRange.Month
49
+ ? DAY
50
+ : navRange === DateNavRange.Year
51
+ ? MONTH
52
+ : YEAR),
53
+ done: false,
54
+ };
55
+ }
56
+ return {
57
+ done: true,
58
+ value: null,
59
+ };
60
+ },
61
+ };
62
+ }
63
+ export function formatDate(type, dateValue, date) {
64
+ if (!dateValue) {
65
+ return null;
66
+ }
67
+ const label = type === DateNavRange.Decade
68
+ ? dateValue.year()
69
+ : type === DateNavRange.Year
70
+ ? dateValue.month() + 1
71
+ : dateValue.date();
72
+ const cell = new DateCell(dateValue, label);
73
+ if (type === DateNavRange.Month && date.month() !== dateValue.month()) {
74
+ cell.isBackground = true;
75
+ }
76
+ return cell;
77
+ }
78
+ export function nextDatePickerType(current, guard) {
79
+ const guardIndex = guard ? DATE_TYPES.indexOf(guard) : DATE_TYPES.length - 1;
80
+ const currentIndex = DATE_TYPES.indexOf(current);
81
+ if (currentIndex < guardIndex) {
82
+ return DATE_TYPES[currentIndex + 1];
83
+ }
84
+ return current;
85
+ }
86
+ export function nextNavRangeType(current, guard) {
87
+ const guardIndex = guard
88
+ ? DATE_NAV_RANGES.indexOf(guard)
89
+ : DATE_NAV_RANGES.length - 1;
90
+ const currentIndex = DATE_NAV_RANGES.indexOf(current);
91
+ if (currentIndex < guardIndex) {
92
+ return DATE_NAV_RANGES[currentIndex + 1];
93
+ }
94
+ return current;
95
+ }
96
+ export function updateDate(sourceValue, newValue, type) {
97
+ const updateTypes = DATE_TYPES.slice(0, DATE_TYPES.indexOf(type) + 1);
98
+ return updateTypes.reduce((acc, curr) => acc.set(curr, newValue.get(curr)), sourceValue.clone());
99
+ }
100
+ export function calcRangeValue(type, date) {
101
+ date = date.clone();
102
+ return [DateNavRange.Month, DatePickerType.Year].includes(type)
103
+ ? {
104
+ start: date,
105
+ }
106
+ : {
107
+ start: date.subtract(date.year() % 10, YEAR),
108
+ end: date.add(9 - (date.year() % 10), YEAR),
109
+ };
110
+ }
111
+ export function sortDates(dates) {
112
+ return [...(dates || [])].sort((a, b) => a.isBefore(b) ? -1 : a.isSame(b) ? 0 : 1);
113
+ }
114
+ export function getNavRangeByType(type) {
115
+ return {
116
+ [DatePickerType.Day]: DateNavRange.Month,
117
+ [DatePickerType.Month]: DateNavRange.Year,
118
+ [DatePickerType.Year]: DateNavRange.Decade,
119
+ }[type];
120
+ }
121
+ export function getTypeByNavRange(navRange) {
122
+ return {
123
+ [DateNavRange.Month]: DatePickerType.Day,
124
+ [DateNavRange.Year]: DatePickerType.Month,
125
+ [DateNavRange.Decade]: DatePickerType.Year,
126
+ }[navRange];
127
+ }
128
+ export function getTimePickerModel(date) {
129
+ return date
130
+ ? {
131
+ second: date.second(),
132
+ minute: date.minute(),
133
+ hour: date.hour(),
134
+ }
135
+ : null;
136
+ }
137
+ export function updateDateByTimeModel(date, time) {
138
+ return time
139
+ ? date
140
+ .set('hour', time.hour || 0)
141
+ .set('minute', time.minute || 0)
142
+ .set('second', time.second || 0)
143
+ : date;
144
+ }
145
+ export const composeDisabledDateFn = (...fns) => (date, navRange) => !fns.filter(i => !!i).every(fn => !fn(date, navRange));
146
+ export function minDate(a, b, unit = 'date') {
147
+ return a ? (b ? (a.isBefore(b, unit) ? a : b) : a) : b;
148
+ }
149
+ export function maxDate(a, b, unit = 'date') {
150
+ return a ? (b ? (a.isAfter(b, unit) ? a : b) : a) : b;
151
+ }
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9jYWxlbmRhci91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxZQUFZLEVBQWtCLE1BQU0scUJBQXFCLENBQUM7QUFFbkUsT0FBTyxFQUNMLGVBQWUsRUFDZixVQUFVLEVBQ1YsR0FBRyxFQUNILHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLEtBQUssRUFDTCx3QkFBd0IsRUFDeEIscUJBQXFCLEVBQ3JCLElBQUksRUFDSix1QkFBdUIsRUFDdkIsb0JBQW9CLEdBQ3JCLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE1BQU0sT0FBTyxRQUFRO0lBT0E7SUFBcUI7SUFOeEMsWUFBWSxDQUFXO0lBQ3ZCLE9BQU8sQ0FBVztJQUNsQixZQUFZLENBQVc7SUFDdkIsVUFBVSxDQUFXO0lBQ3JCLFVBQVUsQ0FBVztJQUVyQixZQUFtQixLQUFZLEVBQVMsS0FBc0I7UUFBM0MsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFTLFVBQUssR0FBTCxLQUFLLENBQWlCO0lBQUcsQ0FBQztDQUNuRTtBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsSUFBVyxFQUNYLFFBQXNCLEVBQ3RCLFlBQW9CO0lBRXBCLElBQUksU0FBZ0IsQ0FBQztJQUNyQixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDZixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLFFBQVEsUUFBUSxFQUFFO1FBQ2hCLEtBQUssWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzVDLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDM0IsU0FBUyxHQUFHLFNB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LENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLENBQVEsRUFBRSxDQUFRLEVBQUUsT0FBaUIsTUFBTTtJQUNqRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERheWpzLCBVbml0VHlwZSB9IGZyb20gJ2RheWpzJztcblxuaW1wb3J0IHsgVGltZVBpY2tlck1vZGVsIH0gZnJvbSAnLi4vLi4vdGltZS1waWNrZXIvdGltZS1waWNrZXIudHlwZSc7XG5pbXBvcnQgeyBEYXRlTmF2UmFuZ2UsIERpc2FibGVkRGF0ZUZuIH0gZnJvbSAnLi4vZGF0ZS1waWNrZXIudHlwZSc7XG5cbmltcG9ydCB7XG4gIERBVEVfTkFWX1JBTkdFUyxcbiAgREFURV9UWVBFUyxcbiAgREFZLFxuICBEQVlfUEFORUxfQ09MVU1OX0NPVU5ULFxuICBEQVlfUEFORUxfUk9XX0NPVU5ULFxuICBEYXRlUGlja2VyVHlwZSxcbiAgTU9OVEgsXG4gIE1PTlRIX1BBTkVMX0NPTFVNTl9DT1VOVCxcbiAgTU9OVEhfUEFORUxfUk9XX0NPVU5ULFxuICBZRUFSLFxuICBZRUFSX1BBTkVMX0NPTFVNTl9DT1VOVCxcbiAgWUVBUl9QQU5FTF9ST1dfQ09VTlQsXG59IGZyb20gJy4vY29uc3RhbnQnO1xuXG5leHBvcnQgY2xhc3MgRGF0ZUNlbGwge1xuICBpc0JhY2tncm91bmQ/OiBib29sZWFuOyAvLyDpnaLmnb/kuK3pnZ7mnKzmnIjml6XmnJ9cbiAgaW5SYW5nZT86IGJvb2xlYW47IC8vIOWcqOiMg+WbtOe7hOS7tueahOiMg+WbtOWGhVxuICBpc1JhbmdlU3RhcnQ/OiBib29sZWFuOyAvLyDojIPlm7Tnu4Tku7bnmoTojIPlm7TlvIDlp4vml6XmnJ9cbiAgaXNSYW5nZUVuZD86IGJvb2xlYW47IC8vIOiMg+WbtOe7hOS7tueahOiMg+WbtOe7k+adn+aXpeacn1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdmFsdWU6IERheWpzLCBwdWJsaWMgbGFiZWw6IHN0cmluZyB8IG51bWJlcikge31cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGVQYW5lbEl0ZXJhYmxlKFxuICBkYXRlOiBEYXlqcyxcbiAgbmF2UmFuZ2U6IERhdGVOYXZSYW5nZSxcbiAgd2Vla1N0YXJ0RGF5OiBudW1iZXIsXG4pOiBJdGVyYWJsZTxEYXlqcz4gJiBJdGVyYXRvcjxEYXlqcz4ge1xuICBsZXQgZmlyc3REYXRhOiBEYXlqcztcbiAgbGV0IGNvdW50cyA9IDA7XG4gIGRhdGUgPSBkYXRlLmNsb25lKCk7XG4gIHN3aXRjaCAobmF2UmFuZ2UpIHtcbiAgICBjYXNlIERhdGVOYXZSYW5nZS5Nb250aDoge1xuICAgICAgZmlyc3REYXRhID0gZGF0ZS5kYXRlKC0xKS5kYXkod2Vla1N0YXJ0RGF5KTtcbiAgICAgIGlmIChmaXJzdERhdGEuaXNBZnRlcihkYXRlKSkge1xuICAgICAgICBmaXJzdERhdGEgPSBmaXJzdERhdGEuc3VidHJhY3QoMSwgJ3dlZWsnKTtcbiAgICAgIH1cbiAgICAgIGNvdW50cyA9IERBWV9QQU5FTF9DT0xVTU5fQ09VTlQgKiBEQVlfUEFORUxfUk9XX0NPVU5UO1xuXG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSBEYXRlTmF2UmFuZ2UuWWVhcjoge1xuICAgICAgZmlyc3REYXRhID0gZGF0ZS5tb250aCgwKTtcbiAgICAgIGNvdW50cyA9IE1PTlRIX1BBTkVMX0NPTFVNTl9DT1VOVCAqIE1PTlRIX1BBTkVMX1JPV19DT1VOVDtcblxuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgRGF0ZU5hdlJhbmdlLkRlY2FkZToge1xuICAgICAgZmlyc3REYXRhID0gZGF0ZS5zdWJ0cmFjdCgxLCBZRUFSKTtcbiAgICAgIGNvdW50cyA9IFlFQVJfUEFORUxfQ09MVU1OX0NPVU5UICogWUVBUl9QQU5FTF9ST1dfQ09VTlQ7XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICAvLyBObyBkZWZhdWx0XG4gIH1cbiAgbGV0IGkgPSAwO1xuICByZXR1cm4ge1xuICAgIFtTeW1ib2wuaXRlcmF0b3JdKCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSxcbiAgICBuZXh0OiAoKSA9PiB7XG4gICAgICBpZiAoaSA8IGNvdW50cykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHZhbHVlOiBmaXJzdERhdGEuYWRkKFxuICAgICAgICAgICAgaSsrLFxuICAgICAgICAgICAgbmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5Nb250aFxuICAgICAgICAgICAgICA/IERBWVxuICAgICAgICAgICAgICA6IG5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuWWVhclxuICAgICAgICAgICAgICA/IE1PTlRIXG4gICAgICAgICAgICAgIDogWUVBUixcbiAgICAgICAgICApLFxuICAgICAgICAgIGRvbmU6IGZhbHNlLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZG9uZTogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IG51bGwsXG4gICAgICB9O1xuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXREYXRlKHR5cGU6IERhdGVOYXZSYW5nZSwgZGF0ZVZhbHVlOiBEYXlqcywgZGF0ZTogRGF5anMpIHtcbiAgaWYgKCFkYXRlVmFsdWUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBsYWJlbCA9XG4gICAgdHlwZSA9PT0gRGF0ZU5hdlJhbmdlLkRlY2FkZVxuICAgICAgPyBkYXRlVmFsdWUueWVhcigpXG4gICAgICA6IHR5cGUgPT09IERhdGVOYXZSYW5nZS5ZZWFyXG4gICAgICA/IGRhdGVWYWx1ZS5tb250aCgpICsgMVxuICAgICAgOiBkYXRlVmFsdWUuZGF0ZSgpO1xuICBjb25zdCBjZWxsID0gbmV3IERhdGVDZWxsKGRhdGVWYWx1ZSwgbGFiZWwpO1xuICBpZiAodHlwZSA9PT0gRGF0ZU5hdlJhbmdlLk1vbnRoICYmIGRhdGUubW9udGgoKSAhPT0gZGF0ZVZhbHVlLm1vbnRoKCkpIHtcbiAgICBjZWxsLmlzQmFja2dyb3VuZCA9IHRydWU7XG4gIH1cbiAgcmV0dXJuIGNlbGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXh0RGF0ZVBpY2tlclR5cGUoXG4gIGN1cnJlbnQ6IERhdGVQaWNrZXJUeXBlLFxuICBndWFyZD86IERhdGVQaWNrZXJUeXBlLFxuKSB7XG4gIGNvbnN0IGd1YXJkSW5kZXggPSBndWFyZCA/IERBVEVfVFlQRVMuaW5kZXhPZihndWFyZCkgOiBEQVRFX1RZUEVTLmxlbmd0aCAtIDE7XG4gIGNvbnN0IGN1cnJlbnRJbmRleCA9IERBVEVfVFlQRVMuaW5kZXhPZihjdXJyZW50KTtcbiAgaWYgKGN1cnJlbnRJbmRleCA8IGd1YXJkSW5kZXgpIHtcbiAgICByZXR1cm4gREFURV9UWVBFU1tjdXJyZW50SW5kZXggKyAxXTtcbiAgfVxuICByZXR1cm4gY3VycmVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5leHROYXZSYW5nZVR5cGUoY3VycmVudDogRGF0ZU5hdlJhbmdlLCBndWFyZD86IERhdGVOYXZSYW5nZSkge1xuICBjb25zdCBndWFyZEluZGV4ID0gZ3VhcmRcbiAgICA/IERBVEVfTkFWX1JBTkdFUy5pbmRleE9mKGd1YXJkKVxuICAgIDogREFURV9OQVZfUkFOR0VTLmxlbmd0aCAtIDE7XG4gIGNvbnN0IGN1cnJlbnRJbmRleCA9IERBVEVfTkFWX1JBTkdFUy5pbmRleE9mKGN1cnJlbnQpO1xuICBpZiAoY3VycmVudEluZGV4IDwgZ3VhcmRJbmRleCkge1xuICAgIHJldHVybiBEQVRFX05BVl9SQU5HRVNbY3VycmVudEluZGV4ICsgMV07XG4gIH1cbiAgcmV0dXJuIGN1cnJlbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVEYXRlKFxuICBzb3VyY2VWYWx1ZTogRGF5anMsXG4gIG5ld1ZhbHVlOiBEYXlqcyxcbiAgdHlwZTogRGF0ZVBpY2tlclR5cGUsXG4pIHtcbiAgY29uc3QgdXBkYXRlVHlwZXMgPSBEQVRFX1RZUEVTLnNsaWNlKDAsIERBVEVfVFlQRVMuaW5kZXhPZih0eXBlKSArIDEpO1xuICByZXR1cm4gdXBkYXRlVHlwZXMucmVkdWNlKFxuICAgIChhY2MsIGN1cnIpID0+IGFjYy5zZXQoY3VyciwgbmV3VmFsdWUuZ2V0KGN1cnIpKSxcbiAgICBzb3VyY2VWYWx1ZS5jbG9uZSgpLFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FsY1JhbmdlVmFsdWUodHlwZTogRGF0ZU5hdlJhbmdlLCBkYXRlOiBEYXlqcykge1xuICBkYXRlID0gZGF0ZS5jbG9uZSgpO1xuICByZXR1cm4gW0RhdGVOYXZSYW5nZS5Nb250aCwgRGF0ZVBpY2tlclR5cGUuWWVhcl0uaW5jbHVkZXModHlwZSlcbiAgICA/IHtcbiAgICAgICAgc3RhcnQ6IGRhdGUsXG4gICAgICB9XG4gICAgOiB7XG4gICAgICAgIHN0YXJ0OiBkYXRlLnN1YnRyYWN0KGRhdGUueWVhcigpICUgMTAsIFlFQVIpLFxuICAgICAgICBlbmQ6IGRhdGUuYWRkKDkgLSAoZGF0ZS55ZWFyKCkgJSAxMCksIFlFQVIpLFxuICAgICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNvcnREYXRlcyhkYXRlczogRGF5anNbXSkge1xuICByZXR1cm4gWy4uLihkYXRlcyB8fCBbXSldLnNvcnQoKGEsIGIpID0+XG4gICAgYS5pc0JlZm9yZShiKSA/IC0xIDogYS5pc1NhbWUoYikgPyAwIDogMSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5hdlJhbmdlQnlUeXBlKHR5cGU6IERhdGVQaWNrZXJUeXBlKSB7XG4gIHJldHVybiB7XG4gICAgW0RhdGVQaWNrZXJUeXBlLkRheV06IERhdGVOYXZSYW5nZS5Nb250aCxcbiAgICBbRGF0ZVBpY2tlclR5cGUuTW9udGhdOiBEYXRlTmF2UmFuZ2UuWWVhcixcbiAgICBbRGF0ZVBpY2tlclR5cGUuWWVhcl06IERhdGVOYXZSYW5nZS5EZWNhZGUsXG4gIH1bdHlwZV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUeXBlQnlOYXZSYW5nZShuYXZSYW5nZTogRGF0ZU5hdlJhbmdlKSB7XG4gIHJldHVybiB7XG4gICAgW0RhdGVOYXZSYW5nZS5Nb250aF06IERhdGVQaWNrZXJUeXBlLkRheSxcbiAgICBbRGF0ZU5hdlJhbmdlLlllYXJdOiBEYXRlUGlja2VyVHlwZS5Nb250aCxcbiAgICBbRGF0ZU5hdlJhbmdlLkRlY2FkZV06IERhdGVQaWNrZXJUeXBlLlllYXIsXG4gIH1bbmF2UmFuZ2VdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGltZVBpY2tlck1vZGVsKGRhdGU6IERheWpzKTogVGltZVBpY2tlck1vZGVsIHtcbiAgcmV0dXJuIGRhdGVcbiAgICA/IHtcbiAgICAgICAgc2Vjb25kOiBkYXRlLnNlY29uZCgpLFxuICAgICAgICBtaW51dGU6IGRhdGUubWludXRlKCksXG4gICAgICAgIGhvdXI6IGRhdGUuaG91cigpLFxuICAgICAgfVxuICAgIDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZURhdGVCeVRpbWVNb2RlbChkYXRlOiBEYXlqcywgdGltZTogVGltZVBpY2tlck1vZGVsKSB7XG4gIHJldHVybiB0aW1lXG4gICAgPyBkYXRlXG4gICAgICAgIC5zZXQoJ2hvdXInLCB0aW1lLmhvdXIgfHwgMClcbiAgICAgICAgLnNldCgnbWludXRlJywgdGltZS5taW51dGUgfHwgMClcbiAgICAgICAgLnNldCgnc2Vjb25kJywgdGltZS5zZWNvbmQgfHwgMClcbiAgICA6IGRhdGU7XG59XG5cbmV4cG9ydCBjb25zdCBjb21wb3NlRGlzYWJsZWREYXRlRm4gPVxuICAoLi4uZm5zOiBEaXNhYmxlZERhdGVGbltdKSA9PlxuICAoZGF0ZTogRGF5anMsIG5hdlJhbmdlOiBEYXRlTmF2UmFuZ2UpID0+XG4gICAgIWZucy5maWx0ZXIoaSA9PiAhIWkpLmV2ZXJ5KGZuID0+ICFmbihkYXRlLCBuYXZSYW5nZSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gbWluRGF0ZShhOiBEYXlqcywgYjogRGF5anMsIHVuaXQ6IFVuaXRUeXBlID0gJ2RhdGUnKSB7XG4gIHJldHVybiBhID8gKGIgPyAoYS5pc0JlZm9yZShiLCB1bml0KSA/IGEgOiBiKSA6IGEpIDogYjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1heERhdGUoYTogRGF5anMsIGI6IERheWpzLCB1bml0OiBVbml0VHlwZSA9ICdkYXRlJykge1xuICByZXR1cm4gYSA/IChiID8gKGEuaXNBZnRlcihiLCB1bml0KSA/IGEgOiBiKSA6IGEpIDogYjtcbn1cbiJdfQ==
@@ -0,0 +1,115 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, forwardRef, } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import dayjs from 'dayjs';
4
+ import { CommonFormControl } from '../../form/common-form';
5
+ import { ComponentSize } from '../../types';
6
+ import { DatePickerType } from '../calendar/constant';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../tooltip/tooltip.directive";
9
+ import * as i2 from "@angular/forms";
10
+ import * as i3 from "../calendar/date-picker-panel/component";
11
+ import * as i4 from "../trigger/trigger.component";
12
+ export class DatePickerComponent extends CommonFormControl {
13
+ clearable = true;
14
+ clearText;
15
+ format;
16
+ showTime = false;
17
+ type = DatePickerType.Day;
18
+ size = ComponentSize.Medium;
19
+ disabledDate = () => false;
20
+ disabledTime = () => null;
21
+ minDate;
22
+ maxDate;
23
+ weekStartDay = 0;
24
+ showFooter = true;
25
+ footerTemplate;
26
+ extraFooter;
27
+ placeholder;
28
+ visibleChange = new EventEmitter();
29
+ value;
30
+ DatePickerType = DatePickerType;
31
+ ngOnInit() {
32
+ if (!this.format) {
33
+ this.format = this.getDefaultFormat(this.type);
34
+ this.cdr.markForCheck();
35
+ }
36
+ }
37
+ valueIn(obj) {
38
+ return obj ? dayjs(obj) : null;
39
+ }
40
+ writeValue(obj) {
41
+ super.writeValue(obj);
42
+ this.value = obj;
43
+ this.cdr.markForCheck();
44
+ }
45
+ getDefaultFormat(type = DatePickerType.Day) {
46
+ return type === DatePickerType.Year
47
+ ? 'YYYY'
48
+ : type === DatePickerType.Month
49
+ ? 'YYYY-MM'
50
+ : this.showTime
51
+ ? 'YYYY-MM-DD HH:mm:ss'
52
+ : 'YYYY-MM-DD';
53
+ }
54
+ clearValue() {
55
+ this.value = null;
56
+ this.emitValue(null);
57
+ }
58
+ tooltipVisibleChange(visible) {
59
+ this.visibleChange.next(visible);
60
+ if (!visible) {
61
+ this.emitValue(this.value);
62
+ }
63
+ }
64
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: DatePickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
65
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: DatePickerComponent, selector: "aui-date-picker", inputs: { clearable: "clearable", clearText: "clearText", format: "format", showTime: "showTime", type: "type", size: "size", disabledDate: "disabledDate", disabledTime: "disabledTime", minDate: "minDate", maxDate: "maxDate", weekStartDay: "weekStartDay", showFooter: "showFooter", footerTemplate: "footerTemplate", extraFooter: "extraFooter", placeholder: "placeholder" }, outputs: { visibleChange: "visibleChange" }, providers: [
66
+ {
67
+ provide: NG_VALUE_ACCESSOR,
68
+ useExisting: forwardRef(() => DatePickerComponent),
69
+ multi: true,
70
+ },
71
+ ], usesInheritance: true, ngImport: i0, template: "<aui-date-picker-trigger\n [size]=\"size\"\n [value]=\"value\"\n [format]=\"format\"\n style=\"display: flex\"\n [auiTooltip]=\"template\"\n [auiDisableAnimation]=\"true\"\n auiTooltipType=\"info\"\n auiTooltipClass=\"date-picker-wrapper\"\n [disabled]=\"!!disabled\"\n auiTooltipPosition=\"bottom start\"\n auiTooltipTrigger=\"click\"\n [auiTooltipDisabled]=\"!!disabled\"\n [auiTooltipHideOnClick]=\"true\"\n [placeholder]=\"placeholder\"\n (auiTooltipVisibleChange)=\"tooltipVisibleChange($event)\"\n (clear)=\"clearValue()\"\n #tooltip=\"auiTooltip\"\n></aui-date-picker-trigger>\n\n<ng-template #template>\n <aui-date-picker-panel\n [type]=\"type\"\n style=\"padding-top: 9px; display: inline-block\"\n [(ngModel)]=\"value\"\n [showTime]=\"showTime\"\n [showFooter]=\"showFooter\"\n [disabledDate]=\"disabledDate\"\n [disabledTime]=\"disabledTime\"\n [weekStartDay]=\"weekStartDay\"\n [extraFooter]=\"extraFooter\"\n [footerTemplate]=\"footerTemplate\"\n [clearable]=\"clearable\"\n [clearText]=\"clearText\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (click)=\"$event.stopImmediatePropagation()\"\n (clear)=\"clearValue()\"\n (confirm)=\"tooltip.hide(); emitValue(value)\"\n ></aui-date-picker-panel>\n</ng-template>\n", styles: ["aui-date-picker{display:inline-block;width:200px}\n"], dependencies: [{ kind: "directive", type: i1.TooltipDirective, selector: "[auiTooltip]", inputs: ["auiTooltip", "auiTooltipContext", "auiTooltipClass", "auiTooltipType", "auiTooltipPosition", "auiTooltipTrigger", "auiTooltipDisabled", "auiTooltipHideOnClick", "auiDisableAnimation"], outputs: ["auiTooltipVisibleChange"], exportAs: ["auiTooltip"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.DatePickerPanelComponent, selector: "aui-date-picker-panel", inputs: ["clearable", "clearText", "type", "showTime", "disabledDate", "disabledTime", "weekStartDay", "showFooter", "footerTemplate", "extraFooter", "minDate", "maxDate"], outputs: ["confirm", "clear"] }, { kind: "component", type: i4.DatePickerTriggerComponent, selector: "aui-date-picker-trigger", inputs: ["format", "size", "isRange", "value", "clearable", "placeholder", "startPlaceholder", "endPlaceholder", "disabled"], outputs: ["blur", "clear"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
72
+ }
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: DatePickerComponent, decorators: [{
74
+ type: Component,
75
+ args: [{ selector: 'aui-date-picker', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
76
+ {
77
+ provide: NG_VALUE_ACCESSOR,
78
+ useExisting: forwardRef(() => DatePickerComponent),
79
+ multi: true,
80
+ },
81
+ ], template: "<aui-date-picker-trigger\n [size]=\"size\"\n [value]=\"value\"\n [format]=\"format\"\n style=\"display: flex\"\n [auiTooltip]=\"template\"\n [auiDisableAnimation]=\"true\"\n auiTooltipType=\"info\"\n auiTooltipClass=\"date-picker-wrapper\"\n [disabled]=\"!!disabled\"\n auiTooltipPosition=\"bottom start\"\n auiTooltipTrigger=\"click\"\n [auiTooltipDisabled]=\"!!disabled\"\n [auiTooltipHideOnClick]=\"true\"\n [placeholder]=\"placeholder\"\n (auiTooltipVisibleChange)=\"tooltipVisibleChange($event)\"\n (clear)=\"clearValue()\"\n #tooltip=\"auiTooltip\"\n></aui-date-picker-trigger>\n\n<ng-template #template>\n <aui-date-picker-panel\n [type]=\"type\"\n style=\"padding-top: 9px; display: inline-block\"\n [(ngModel)]=\"value\"\n [showTime]=\"showTime\"\n [showFooter]=\"showFooter\"\n [disabledDate]=\"disabledDate\"\n [disabledTime]=\"disabledTime\"\n [weekStartDay]=\"weekStartDay\"\n [extraFooter]=\"extraFooter\"\n [footerTemplate]=\"footerTemplate\"\n [clearable]=\"clearable\"\n [clearText]=\"clearText\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (click)=\"$event.stopImmediatePropagation()\"\n (clear)=\"clearValue()\"\n (confirm)=\"tooltip.hide(); emitValue(value)\"\n ></aui-date-picker-panel>\n</ng-template>\n", styles: ["aui-date-picker{display:inline-block;width:200px}\n"] }]
82
+ }], propDecorators: { clearable: [{
83
+ type: Input
84
+ }], clearText: [{
85
+ type: Input
86
+ }], format: [{
87
+ type: Input
88
+ }], showTime: [{
89
+ type: Input
90
+ }], type: [{
91
+ type: Input
92
+ }], size: [{
93
+ type: Input
94
+ }], disabledDate: [{
95
+ type: Input
96
+ }], disabledTime: [{
97
+ type: Input
98
+ }], minDate: [{
99
+ type: Input
100
+ }], maxDate: [{
101
+ type: Input
102
+ }], weekStartDay: [{
103
+ type: Input
104
+ }], showFooter: [{
105
+ type: Input
106
+ }], footerTemplate: [{
107
+ type: Input
108
+ }], extraFooter: [{
109
+ type: Input
110
+ }], placeholder: [{
111
+ type: Input
112
+ }], visibleChange: [{
113
+ type: Output
114
+ }] } });
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLGlCQUFpQixFQUNqQixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxLQUE0QixNQUFNLE9BQU8sQ0FBQztBQUVqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBaUJ0RCxNQUFNLE9BQU8sbUJBQ1gsU0FBUSxpQkFBb0M7SUFJNUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUdqQixTQUFTLENBQVM7SUFHbEIsTUFBTSxDQUFTO0lBR2YsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUdqQixJQUFJLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQztJQUcxQixJQUFJLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUc1QixZQUFZLEdBQWlELEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztJQUd6RSxZQUFZLEdBQW1CLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztJQUcxQyxPQUFPLENBQVE7SUFHZixPQUFPLENBQVE7SUFHZixZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBR2pCLFVBQVUsR0FBRyxJQUFJ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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBkYXlqcywgeyBDb25maWdUeXBlLCBEYXlqcyB9IGZyb20gJ2RheWpzJztcblxuaW1wb3J0IHsgQ29tbW9uRm9ybUNvbnRyb2wgfSBmcm9tICcuLi8uLi9mb3JtL2NvbW1vbi1mb3JtJztcbmltcG9ydCB7IENvbXBvbmVudFNpemUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBEYXRlUGlja2VyVHlwZSB9IGZyb20gJy4uL2NhbGVuZGFyL2NvbnN0YW50JztcbmltcG9ydCB7IERhdGVOYXZSYW5nZSwgRGlzYWJsZWRUaW1lRm4gfSBmcm9tICcuLi9kYXRlLXBpY2tlci50eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLWRhdGUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLnRlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXBpY2tlci5zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudFxuICBleHRlbmRzIENvbW1vbkZvcm1Db250cm9sPENvbmZpZ1R5cGUsIERheWpzPlxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICBASW5wdXQoKVxuICBjbGVhcmFibGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGNsZWFyVGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGZvcm1hdDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dUaW1lID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgdHlwZSA9IERhdGVQaWNrZXJUeXBlLkRheTtcblxuICBASW5wdXQoKVxuICBzaXplID0gQ29tcG9uZW50U2l6ZS5NZWRpdW07XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWREYXRlOiAoZGF0ZTogRGF5anMsIHR5cGU6IERhdGVOYXZSYW5nZSkgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkVGltZTogRGlzYWJsZWRUaW1lRm4gPSAoKSA9PiBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIG1pbkRhdGU6IERheWpzO1xuXG4gIEBJbnB1dCgpXG4gIG1heERhdGU6IERheWpzO1xuXG4gIEBJbnB1dCgpXG4gIHdlZWtTdGFydERheSA9IDA7XG5cbiAgQElucHV0KClcbiAgc2hvd0Zvb3RlciA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgZm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpXG4gIGV4dHJhRm9vdGVyOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKVxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHZhbHVlOiBEYXlqcztcbiAgRGF0ZVBpY2tlclR5cGUgPSBEYXRlUGlja2VyVHlwZTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybWF0KSB7XG4gICAgICB0aGlzLmZvcm1hdCA9IHRoaXMuZ2V0RGVmYXVsdEZvcm1hdCh0aGlzLnR5cGUpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgdmFsdWVJbihvYmo6IENvbmZpZ1R5cGUpIHtcbiAgICByZXR1cm4gb2JqID8gZGF5anMob2JqKSA6IG51bGw7XG4gIH1cblxuICBvdmVycmlkZSB3cml0ZVZhbHVlKG9iajogRGF5anMpIHtcbiAgICBzdXBlci53cml0ZVZhbHVlKG9iaik7XG4gICAgdGhpcy52YWx1ZSA9IG9iajtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGVmYXVsdEZvcm1hdCh0eXBlID0gRGF0ZVBpY2tlclR5cGUuRGF5KSB7XG4gICAgcmV0dXJuIHR5cGUgPT09IERhdGVQaWNrZXJUeXBlLlllYXJcbiAgICAgID8gJ1lZWVknXG4gICAgICA6IHR5cGUgPT09IERhdGVQaWNrZXJUeXBlLk1vbnRoXG4gICAgICA/ICdZWVlZLU1NJ1xuICAgICAgOiB0aGlzLnNob3dUaW1lXG4gICAgICA/ICdZWVlZLU1NLUREIEhIOm1tOnNzJ1xuICAgICAgOiAnWVlZWS1NTS1ERCc7XG4gIH1cblxuICBjbGVhclZhbHVlKCkge1xuICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIHRoaXMuZW1pdFZhbHVlKG51bGwpO1xuICB9XG5cbiAgdG9vbHRpcFZpc2libGVDaGFuZ2UodmlzaWJsZTogYm9vbGVhbikge1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5uZXh0KHZpc2libGUpO1xuICAgIGlmICghdmlzaWJsZSkge1xuICAgICAgdGhpcy5lbWl0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG59XG4iLCI8YXVpLWRhdGUtcGlja2VyLXRyaWdnZXJcbiAgW3NpemVdPVwic2l6ZVwiXG4gIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gIFtmb3JtYXRdPVwiZm9ybWF0XCJcbiAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4XCJcbiAgW2F1aVRvb2x0aXBdPVwidGVtcGxhdGVcIlxuICBbYXVpRGlzYWJsZUFuaW1hdGlvbl09XCJ0cnVlXCJcbiAgYXVpVG9vbHRpcFR5cGU9XCJpbmZvXCJcbiAgYXVpVG9vbHRpcENsYXNzPVwiZGF0ZS1waWNrZXItd3JhcHBlclwiXG4gIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcbiAgYXVpVG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tIHN0YXJ0XCJcbiAgYXVpVG9vbHRpcFRyaWdnZXI9XCJjbGlja1wiXG4gIFthdWlUb29sdGlwRGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gIFthdWlUb29sdGlwSGlkZU9uQ2xpY2tdPVwidHJ1ZVwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIChhdWlUb29sdGlwVmlzaWJsZUNoYW5nZSk9XCJ0b29sdGlwVmlzaWJsZUNoYW5nZSgkZXZlbnQpXCJcbiAgKGNsZWFyKT1cImNsZWFyVmFsdWUoKVwiXG4gICN0b29sdGlwPVwiYXVpVG9vbHRpcFwiXG4+PC9hdWktZGF0ZS1waWNrZXItdHJpZ2dlcj5cblxuPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPGF1aS1kYXRlLXBpY2tlci1wYW5lbFxuICAgIFt0eXBlXT1cInR5cGVcIlxuICAgIHN0eWxlPVwicGFkZGluZy10b3A6IDlweDsgZGlzcGxheTogaW5saW5lLWJsb2NrXCJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICBbc2hvd1RpbWVdPVwic2hvd1RpbWVcIlxuICAgIFtzaG93Rm9vdGVyXT1cInNob3dGb290ZXJcIlxuICAgIFtkaXNhYmxlZERhdGVdPVwiZGlzYWJsZWREYXRlXCJcbiAgICBbZGlzYWJsZWRUaW1lXT1cImRpc2FibGVkVGltZVwiXG4gICAgW3dlZWtTdGFydERheV09XCJ3ZWVrU3RhcnREYXlcIlxuICAgIFtleHRyYUZvb3Rlcl09XCJleHRyYUZvb3RlclwiXG4gICAgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCJcbiAgICBbY2xlYXJhYmxlXT1cImNsZWFyYWJsZVwiXG4gICAgW2NsZWFyVGV4dF09XCJjbGVhclRleHRcIlxuICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgIChjbGljayk9XCIkZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKClcIlxuICAgIChjbGVhcik9XCJjbGVhclZhbHVlKClcIlxuICAgIChjb25maXJtKT1cInRvb2x0aXAuaGlkZSgpOyBlbWl0VmFsdWUodmFsdWUpXCJcbiAgPjwvYXVpLWRhdGUtcGlja2VyLXBhbmVsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==