@ng-nest/ui 13.0.0 → 13.0.4

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 (546) hide show
  1. package/README.md +1 -1
  2. package/carousel/carousel-panel.component.d.ts +2 -3
  3. package/core/config/config.d.ts +4 -0
  4. package/date-picker/date-picker.component.d.ts +1 -1
  5. package/date-picker/date-picker.property.d.ts +51 -1
  6. package/date-picker/date-range-portal.component.d.ts +7 -5
  7. package/date-picker/date-range.component.d.ts +5 -1
  8. package/date-picker/examples/en_US/default/disabled/README.md +1 -1
  9. package/date-picker/examples/en_US/default/time/README.md +6 -0
  10. package/date-picker/examples/zh_CN/default/disabled/README.md +1 -1
  11. package/date-picker/examples/zh_CN/default/time/README.md +6 -0
  12. package/date-picker/picker-date.component.d.ts +3 -0
  13. package/dialog/dialog-container.component.d.ts +18 -0
  14. package/dialog/dialog-container.directives.d.ts +24 -0
  15. package/dialog/dialog-ref.d.ts +9 -0
  16. package/dialog/dialog.module.d.ts +13 -11
  17. package/dialog/dialog.property.d.ts +84 -6
  18. package/dialog/dialog.service.d.ts +19 -0
  19. package/dialog/examples/en_US/default/service/README.md +6 -0
  20. package/dialog/examples/zh_CN/default/service/README.md +6 -0
  21. package/dialog/public-api.d.ts +4 -0
  22. package/drawer/drawer-container.component.d.ts +18 -0
  23. package/drawer/drawer-container.directives.d.ts +19 -0
  24. package/drawer/drawer-ref.d.ts +9 -0
  25. package/drawer/drawer.module.d.ts +8 -6
  26. package/drawer/drawer.property.d.ts +83 -2
  27. package/drawer/drawer.service.d.ts +19 -0
  28. package/drawer/examples/en_US/default/service/README.md +6 -0
  29. package/drawer/examples/zh_CN/default/service/README.md +6 -0
  30. package/drawer/public-api.d.ts +5 -0
  31. package/esm2020/affix/affix.component.mjs +3 -3
  32. package/esm2020/affix/affix.module.mjs +4 -4
  33. package/esm2020/affix/affix.property.mjs +3 -3
  34. package/esm2020/alert/alert.component.mjs +5 -5
  35. package/esm2020/alert/alert.module.mjs +4 -4
  36. package/esm2020/alert/alert.property.mjs +3 -3
  37. package/esm2020/anchor/anchor.component.mjs +3 -3
  38. package/esm2020/anchor/anchor.module.mjs +4 -4
  39. package/esm2020/anchor/anchor.property.mjs +3 -3
  40. package/esm2020/api/api.component.mjs +3 -3
  41. package/esm2020/api/api.module.mjs +4 -4
  42. package/esm2020/auto-complete/auto-complete-portal.component.mjs +5 -5
  43. package/esm2020/auto-complete/auto-complete.component.mjs +4 -4
  44. package/esm2020/auto-complete/auto-complete.module.mjs +4 -4
  45. package/esm2020/auto-complete/auto-complete.property.mjs +3 -3
  46. package/esm2020/avatar/avatar.component.mjs +3 -3
  47. package/esm2020/avatar/avatar.module.mjs +4 -4
  48. package/esm2020/avatar/avatar.property.mjs +3 -3
  49. package/esm2020/back-top/back-top.component.mjs +3 -3
  50. package/esm2020/back-top/back-top.module.mjs +4 -4
  51. package/esm2020/back-top/back-top.property.mjs +3 -3
  52. package/esm2020/badge/badge.component.mjs +3 -3
  53. package/esm2020/badge/badge.module.mjs +4 -4
  54. package/esm2020/badge/badge.property.mjs +3 -3
  55. package/esm2020/base-form/base-form.component.mjs +3 -3
  56. package/esm2020/base-form/base-form.module.mjs +4 -4
  57. package/esm2020/base-form/base-form.property.mjs +3 -3
  58. package/esm2020/border/border.component.mjs +3 -3
  59. package/esm2020/border/border.module.mjs +4 -4
  60. package/esm2020/button/button.component.mjs +4 -4
  61. package/esm2020/button/button.module.mjs +4 -4
  62. package/esm2020/button/button.property.mjs +6 -6
  63. package/esm2020/button/buttons.component.mjs +3 -3
  64. package/esm2020/calendar/calendar.component.mjs +3 -3
  65. package/esm2020/calendar/calendar.module.mjs +4 -4
  66. package/esm2020/calendar/calendar.property.mjs +3 -3
  67. package/esm2020/card/card.component.mjs +4 -4
  68. package/esm2020/card/card.module.mjs +4 -4
  69. package/esm2020/card/card.property.mjs +3 -3
  70. package/esm2020/carousel/carousel-panel.component.mjs +14 -13
  71. package/esm2020/carousel/carousel.component.mjs +3 -3
  72. package/esm2020/carousel/carousel.module.mjs +4 -4
  73. package/esm2020/carousel/carousel.property.mjs +6 -6
  74. package/esm2020/cascade/cascade-portal.component.mjs +5 -5
  75. package/esm2020/cascade/cascade.component.mjs +4 -4
  76. package/esm2020/cascade/cascade.module.mjs +4 -4
  77. package/esm2020/cascade/cascade.property.mjs +3 -3
  78. package/esm2020/checkbox/checkbox.component.mjs +4 -4
  79. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  80. package/esm2020/checkbox/checkbox.property.mjs +3 -3
  81. package/esm2020/collapse/collapse-panel.component.mjs +3 -3
  82. package/esm2020/collapse/collapse.component.mjs +3 -3
  83. package/esm2020/collapse/collapse.module.mjs +4 -4
  84. package/esm2020/collapse/collapse.property.mjs +6 -6
  85. package/esm2020/color/color.component.mjs +3 -3
  86. package/esm2020/color/color.module.mjs +4 -4
  87. package/esm2020/color/color.property.mjs +3 -3
  88. package/esm2020/color-picker/color-picker-portal.component.mjs +5 -5
  89. package/esm2020/color-picker/color-picker.component.mjs +4 -4
  90. package/esm2020/color-picker/color-picker.module.mjs +4 -4
  91. package/esm2020/color-picker/color-picker.property.mjs +3 -3
  92. package/esm2020/comment/comment-reply.component.mjs +3 -3
  93. package/esm2020/comment/comment.component.mjs +3 -3
  94. package/esm2020/comment/comment.module.mjs +4 -4
  95. package/esm2020/comment/comment.property.mjs +6 -6
  96. package/esm2020/container/aside.component.mjs +3 -3
  97. package/esm2020/container/container.component.mjs +3 -3
  98. package/esm2020/container/container.module.mjs +4 -4
  99. package/esm2020/container/container.property.mjs +12 -12
  100. package/esm2020/container/footer.component.mjs +4 -4
  101. package/esm2020/container/header.component.mjs +4 -4
  102. package/esm2020/container/main.component.mjs +4 -4
  103. package/esm2020/core/config/config.mjs +1 -1
  104. package/esm2020/core/config/config.service.mjs +3 -3
  105. package/esm2020/core/services/http.service.mjs +3 -3
  106. package/esm2020/core/services/preloading-strategy.service.mjs +3 -3
  107. package/esm2020/core/services/storage.service.mjs +3 -3
  108. package/esm2020/core/theme/theme.service.mjs +3 -3
  109. package/esm2020/crumb/crumb.component.mjs +3 -3
  110. package/esm2020/crumb/crumb.module.mjs +4 -4
  111. package/esm2020/crumb/crumb.property.mjs +3 -3
  112. package/esm2020/date-picker/date-picker-portal.component.mjs +6 -6
  113. package/esm2020/date-picker/date-picker.component.mjs +6 -10
  114. package/esm2020/date-picker/date-picker.module.mjs +4 -4
  115. package/esm2020/date-picker/date-picker.property.mjs +86 -16
  116. package/esm2020/date-picker/date-range-portal.component.mjs +47 -28
  117. package/esm2020/date-picker/date-range.component.mjs +33 -10
  118. package/esm2020/date-picker/picker-date.component.mjs +33 -6
  119. package/esm2020/date-picker/picker-month.component.mjs +3 -3
  120. package/esm2020/date-picker/picker-year.component.mjs +3 -3
  121. package/esm2020/description/description-item.component.mjs +3 -3
  122. package/esm2020/description/description.component.mjs +3 -3
  123. package/esm2020/description/description.module.mjs +4 -4
  124. package/esm2020/description/description.property.mjs +6 -6
  125. package/esm2020/dialog/dialog-container.component.mjs +52 -0
  126. package/esm2020/dialog/dialog-container.directives.mjs +73 -0
  127. package/esm2020/dialog/dialog-ref.mjs +17 -0
  128. package/esm2020/dialog/dialog.component.mjs +5 -5
  129. package/esm2020/dialog/dialog.module.mjs +39 -9
  130. package/esm2020/dialog/dialog.property.mjs +20 -19
  131. package/esm2020/dialog/dialog.service.mjs +67 -0
  132. package/esm2020/dialog/public-api.mjs +5 -1
  133. package/esm2020/doc/doc.component.mjs +4 -4
  134. package/esm2020/doc/doc.module.mjs +4 -4
  135. package/esm2020/drawer/drawer-container.component.mjs +52 -0
  136. package/esm2020/drawer/drawer-container.directives.mjs +57 -0
  137. package/esm2020/drawer/drawer-ref.mjs +17 -0
  138. package/esm2020/drawer/drawer.component.mjs +5 -5
  139. package/esm2020/drawer/drawer.module.mjs +24 -8
  140. package/esm2020/drawer/drawer.property.mjs +24 -8
  141. package/esm2020/drawer/drawer.service.mjs +65 -0
  142. package/esm2020/drawer/public-api.mjs +6 -1
  143. package/esm2020/dropdown/dropdown-portal.component.mjs +3 -3
  144. package/esm2020/dropdown/dropdown.component.mjs +3 -3
  145. package/esm2020/dropdown/dropdown.module.mjs +4 -4
  146. package/esm2020/dropdown/dropdown.property.mjs +3 -3
  147. package/esm2020/empty/empty.component.mjs +3 -3
  148. package/esm2020/empty/empty.module.mjs +4 -4
  149. package/esm2020/empty/empty.property.mjs +3 -3
  150. package/esm2020/examples/examples.component.mjs +3 -3
  151. package/esm2020/examples/examples.module.mjs +4 -4
  152. package/esm2020/find/find.component.mjs +4 -4
  153. package/esm2020/find/find.module.mjs +4 -4
  154. package/esm2020/find/find.property.mjs +3 -3
  155. package/esm2020/form/control.component.mjs +3 -3
  156. package/esm2020/form/form.component.mjs +3 -3
  157. package/esm2020/form/form.module.mjs +4 -4
  158. package/esm2020/form/form.property.mjs +6 -6
  159. package/esm2020/highlight/highlight.component.mjs +3 -3
  160. package/esm2020/highlight/highlight.module.mjs +4 -4
  161. package/esm2020/highlight/highlight.property.mjs +3 -3
  162. package/esm2020/i18n/i18n.directive.mjs +3 -3
  163. package/esm2020/i18n/i18n.module.mjs +4 -4
  164. package/esm2020/i18n/i18n.pipe.mjs +3 -3
  165. package/esm2020/i18n/i18n.service.mjs +3 -3
  166. package/esm2020/icon/icon.component.mjs +3 -3
  167. package/esm2020/icon/icon.module.mjs +4 -4
  168. package/esm2020/icon/icon.property.mjs +3 -3
  169. package/esm2020/icon/icon.service.mjs +3 -3
  170. package/esm2020/inner/inner.component.mjs +3 -3
  171. package/esm2020/inner/inner.module.mjs +4 -4
  172. package/esm2020/inner/inner.property.mjs +3 -3
  173. package/esm2020/input/input-group.component.mjs +3 -3
  174. package/esm2020/input/input.component.mjs +8 -5
  175. package/esm2020/input/input.module.mjs +4 -4
  176. package/esm2020/input/input.property.mjs +6 -6
  177. package/esm2020/input-number/input-number.component.mjs +3 -3
  178. package/esm2020/input-number/input-number.module.mjs +4 -4
  179. package/esm2020/input-number/input-number.property.mjs +3 -3
  180. package/esm2020/layout/col.component.mjs +3 -3
  181. package/esm2020/layout/layout.module.mjs +4 -4
  182. package/esm2020/layout/layout.property.mjs +6 -6
  183. package/esm2020/layout/row.component.mjs +3 -3
  184. package/esm2020/link/link.component.mjs +3 -3
  185. package/esm2020/link/link.module.mjs +4 -4
  186. package/esm2020/link/link.property.mjs +3 -3
  187. package/esm2020/list/list-option.component.mjs +3 -3
  188. package/esm2020/list/list.component.mjs +3 -3
  189. package/esm2020/list/list.module.mjs +4 -4
  190. package/esm2020/list/list.property.mjs +6 -6
  191. package/esm2020/loading/loading.component.mjs +3 -3
  192. package/esm2020/loading/loading.module.mjs +4 -4
  193. package/esm2020/loading/loading.property.mjs +3 -3
  194. package/esm2020/menu/menu-node.component.mjs +3 -3
  195. package/esm2020/menu/menu.component.mjs +5 -5
  196. package/esm2020/menu/menu.module.mjs +4 -4
  197. package/esm2020/menu/menu.property.mjs +6 -6
  198. package/esm2020/message/message.component.mjs +3 -3
  199. package/esm2020/message/message.module.mjs +4 -4
  200. package/esm2020/message/message.property.mjs +2 -2
  201. package/esm2020/message/message.service.mjs +6 -6
  202. package/esm2020/message-box/message-box.component.mjs +3 -3
  203. package/esm2020/message-box/message-box.module.mjs +4 -4
  204. package/esm2020/message-box/message-box.service.mjs +3 -3
  205. package/esm2020/notification/notification.component.mjs +3 -3
  206. package/esm2020/notification/notification.module.mjs +4 -4
  207. package/esm2020/notification/notification.service.mjs +3 -3
  208. package/esm2020/outlet/outlet.directive.mjs +3 -3
  209. package/esm2020/outlet/outlet.module.mjs +4 -4
  210. package/esm2020/page-header/page-header.component.mjs +3 -3
  211. package/esm2020/page-header/page-header.module.mjs +4 -4
  212. package/esm2020/page-header/page-header.property.mjs +3 -3
  213. package/esm2020/pagination/pagination.component.mjs +4 -4
  214. package/esm2020/pagination/pagination.module.mjs +4 -4
  215. package/esm2020/pagination/pagination.property.mjs +3 -3
  216. package/esm2020/pattern/pattern.component.mjs +3 -3
  217. package/esm2020/pattern/pattern.module.mjs +4 -4
  218. package/esm2020/popconfirm/popconfirm.component.mjs +3 -3
  219. package/esm2020/popconfirm/popconfirm.module.mjs +4 -4
  220. package/esm2020/popconfirm/popconfirm.property.mjs +3 -3
  221. package/esm2020/popover/popover-portal.component.mjs +3 -3
  222. package/esm2020/popover/popover.directive.mjs +3 -3
  223. package/esm2020/popover/popover.module.mjs +4 -4
  224. package/esm2020/popover/popover.property.mjs +3 -3
  225. package/esm2020/portal/portal.module.mjs +6 -5
  226. package/esm2020/portal/portal.service.mjs +11 -12
  227. package/esm2020/progress/progress.component.mjs +179 -18
  228. package/esm2020/progress/progress.module.mjs +4 -4
  229. package/esm2020/progress/progress.property.mjs +52 -5
  230. package/esm2020/radio/radio.component.mjs +4 -4
  231. package/esm2020/radio/radio.module.mjs +4 -4
  232. package/esm2020/radio/radio.property.mjs +3 -3
  233. package/esm2020/rate/rate.component.mjs +4 -4
  234. package/esm2020/rate/rate.module.mjs +4 -4
  235. package/esm2020/rate/rate.property.mjs +3 -3
  236. package/esm2020/result/result.component.mjs +4 -4
  237. package/esm2020/result/result.module.mjs +4 -4
  238. package/esm2020/result/result.property.mjs +3 -3
  239. package/esm2020/ripple/ripple.directive.mjs +3 -3
  240. package/esm2020/ripple/ripple.module.mjs +4 -4
  241. package/esm2020/ripple/ripple.property.mjs +3 -3
  242. package/esm2020/select/select-portal.component.mjs +5 -5
  243. package/esm2020/select/select.component.mjs +4 -4
  244. package/esm2020/select/select.module.mjs +4 -4
  245. package/esm2020/select/select.property.mjs +3 -3
  246. package/esm2020/skeleton/skeleton.component.mjs +3 -3
  247. package/esm2020/skeleton/skeleton.module.mjs +4 -4
  248. package/esm2020/skeleton/skeleton.property.mjs +3 -3
  249. package/esm2020/slider/slider.component.mjs +3 -3
  250. package/esm2020/slider/slider.module.mjs +4 -4
  251. package/esm2020/slider/slider.property.mjs +3 -3
  252. package/esm2020/slider-select/slider-select.component.mjs +4 -4
  253. package/esm2020/slider-select/slider-select.module.mjs +4 -4
  254. package/esm2020/slider-select/slider-select.property.mjs +3 -3
  255. package/esm2020/statistic/countdown.component.mjs +3 -3
  256. package/esm2020/statistic/statistic.component.mjs +3 -3
  257. package/esm2020/statistic/statistic.module.mjs +4 -4
  258. package/esm2020/statistic/statistic.property.mjs +6 -6
  259. package/esm2020/steps/steps.component.mjs +18 -11
  260. package/esm2020/steps/steps.module.mjs +4 -4
  261. package/esm2020/steps/steps.property.mjs +10 -5
  262. package/esm2020/switch/switch.component.mjs +4 -4
  263. package/esm2020/switch/switch.module.mjs +4 -4
  264. package/esm2020/switch/switch.property.mjs +3 -3
  265. package/esm2020/table/drag.directive.mjs +3 -3
  266. package/esm2020/table/table-body.component.mjs +3 -3
  267. package/esm2020/table/table-foot.component.mjs +3 -3
  268. package/esm2020/table/table-head.component.mjs +3 -3
  269. package/esm2020/table/table.component.mjs +3 -3
  270. package/esm2020/table/table.module.mjs +4 -4
  271. package/esm2020/table/table.property.mjs +13 -13
  272. package/esm2020/tabs/tab-content.component.mjs +3 -3
  273. package/esm2020/tabs/tab.component.mjs +3 -3
  274. package/esm2020/tabs/tabs.component.mjs +3 -3
  275. package/esm2020/tabs/tabs.module.mjs +4 -4
  276. package/esm2020/tabs/tabs.property.mjs +6 -6
  277. package/esm2020/tag/tag.component.mjs +4 -4
  278. package/esm2020/tag/tag.module.mjs +4 -4
  279. package/esm2020/tag/tag.property.mjs +3 -3
  280. package/esm2020/text-retract/text-retract.component.mjs +3 -3
  281. package/esm2020/text-retract/text-retract.module.mjs +4 -4
  282. package/esm2020/text-retract/text-retract.property.mjs +3 -3
  283. package/esm2020/textarea/textarea.component.mjs +4 -4
  284. package/esm2020/textarea/textarea.module.mjs +4 -4
  285. package/esm2020/textarea/textarea.property.mjs +3 -3
  286. package/esm2020/theme/theme.component.mjs +3 -3
  287. package/esm2020/theme/theme.module.mjs +4 -4
  288. package/esm2020/theme/theme.property.mjs +3 -3
  289. package/esm2020/time-ago/time-ago.module.mjs +4 -4
  290. package/esm2020/time-ago/time-ago.pipe.mjs +3 -3
  291. package/esm2020/time-picker/time-picker-frame.component.mjs +11 -8
  292. package/esm2020/time-picker/time-picker-portal.component.mjs +3 -3
  293. package/esm2020/time-picker/time-picker.component.mjs +27 -14
  294. package/esm2020/time-picker/time-picker.module.mjs +4 -4
  295. package/esm2020/time-picker/time-picker.property.mjs +3 -3
  296. package/esm2020/time-range/time-range.module.mjs +4 -4
  297. package/esm2020/time-range/time-range.pipe.mjs +3 -3
  298. package/esm2020/timeline/timeline.component.mjs +3 -3
  299. package/esm2020/timeline/timeline.module.mjs +4 -4
  300. package/esm2020/timeline/timeline.property.mjs +3 -3
  301. package/esm2020/tooltip/tooltip-portal.component.mjs +3 -3
  302. package/esm2020/tooltip/tooltip.directive.mjs +3 -3
  303. package/esm2020/tooltip/tooltip.module.mjs +4 -4
  304. package/esm2020/tooltip/tooltip.property.mjs +3 -3
  305. package/esm2020/transfer/transfer.component.mjs +3 -3
  306. package/esm2020/transfer/transfer.module.mjs +4 -4
  307. package/esm2020/transfer/transfer.property.mjs +3 -3
  308. package/esm2020/tree/tree-node.component.mjs +3 -3
  309. package/esm2020/tree/tree.component.mjs +3 -3
  310. package/esm2020/tree/tree.module.mjs +4 -4
  311. package/esm2020/tree/tree.property.mjs +6 -6
  312. package/esm2020/tree-file/tree-file.component.mjs +4 -4
  313. package/esm2020/tree-file/tree-file.module.mjs +4 -4
  314. package/esm2020/tree-file/tree-file.property.mjs +3 -3
  315. package/esm2020/typography/typography.component.mjs +3 -3
  316. package/esm2020/typography/typography.module.mjs +4 -4
  317. package/esm2020/typography/typography.property.mjs +3 -3
  318. package/esm2020/upload/upload-portal.component.mjs +4 -4
  319. package/esm2020/upload/upload.component.mjs +3 -3
  320. package/esm2020/upload/upload.module.mjs +4 -4
  321. package/esm2020/upload/upload.property.mjs +3 -3
  322. package/fesm2015/ng-nest-ui-affix.mjs +10 -10
  323. package/fesm2015/ng-nest-ui-alert.mjs +12 -11
  324. package/fesm2015/ng-nest-ui-alert.mjs.map +1 -1
  325. package/fesm2015/ng-nest-ui-anchor.mjs +10 -10
  326. package/fesm2015/ng-nest-ui-api.mjs +7 -7
  327. package/fesm2015/ng-nest-ui-auto-complete.mjs +16 -15
  328. package/fesm2015/ng-nest-ui-auto-complete.mjs.map +1 -1
  329. package/fesm2015/ng-nest-ui-avatar.mjs +11 -10
  330. package/fesm2015/ng-nest-ui-back-top.mjs +10 -10
  331. package/fesm2015/ng-nest-ui-badge.mjs +11 -10
  332. package/fesm2015/ng-nest-ui-base-form.mjs +11 -10
  333. package/fesm2015/ng-nest-ui-border.mjs +8 -7
  334. package/fesm2015/ng-nest-ui-button.mjs +18 -17
  335. package/fesm2015/ng-nest-ui-calendar.mjs +11 -10
  336. package/fesm2015/ng-nest-ui-card.mjs +12 -11
  337. package/fesm2015/ng-nest-ui-carousel.mjs +27 -26
  338. package/fesm2015/ng-nest-ui-carousel.mjs.map +1 -1
  339. package/fesm2015/ng-nest-ui-cascade.mjs +16 -15
  340. package/fesm2015/ng-nest-ui-cascade.mjs.map +1 -1
  341. package/fesm2015/ng-nest-ui-checkbox.mjs +12 -11
  342. package/fesm2015/ng-nest-ui-collapse.mjs +17 -16
  343. package/fesm2015/ng-nest-ui-color-picker.mjs +16 -15
  344. package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
  345. package/fesm2015/ng-nest-ui-color.mjs +11 -10
  346. package/fesm2015/ng-nest-ui-comment.mjs +17 -16
  347. package/fesm2015/ng-nest-ui-container.mjs +35 -34
  348. package/fesm2015/ng-nest-ui-core.mjs +16 -15
  349. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  350. package/fesm2015/ng-nest-ui-crumb.mjs +11 -10
  351. package/fesm2015/ng-nest-ui-date-picker.mjs +216 -80
  352. package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
  353. package/fesm2015/ng-nest-ui-description.mjs +17 -16
  354. package/fesm2015/ng-nest-ui-dialog.mjs +258 -33
  355. package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
  356. package/fesm2015/ng-nest-ui-doc.mjs +8 -8
  357. package/fesm2015/ng-nest-ui-drawer.mjs +227 -20
  358. package/fesm2015/ng-nest-ui-drawer.mjs.map +1 -1
  359. package/fesm2015/ng-nest-ui-dropdown.mjs +13 -13
  360. package/fesm2015/ng-nest-ui-empty.mjs +11 -10
  361. package/fesm2015/ng-nest-ui-examples.mjs +7 -7
  362. package/fesm2015/ng-nest-ui-find.mjs +12 -11
  363. package/fesm2015/ng-nest-ui-form.mjs +17 -16
  364. package/fesm2015/ng-nest-ui-highlight.mjs +11 -10
  365. package/fesm2015/ng-nest-ui-i18n.mjs +14 -13
  366. package/fesm2015/ng-nest-ui-icon.mjs +14 -13
  367. package/fesm2015/ng-nest-ui-inner.mjs +10 -10
  368. package/fesm2015/ng-nest-ui-input-number.mjs +11 -10
  369. package/fesm2015/ng-nest-ui-input.mjs +21 -17
  370. package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
  371. package/fesm2015/ng-nest-ui-layout.mjs +17 -16
  372. package/fesm2015/ng-nest-ui-link.mjs +11 -10
  373. package/fesm2015/ng-nest-ui-list.mjs +17 -16
  374. package/fesm2015/ng-nest-ui-loading.mjs +11 -10
  375. package/fesm2015/ng-nest-ui-menu.mjs +17 -17
  376. package/fesm2015/ng-nest-ui-menu.mjs.map +1 -1
  377. package/fesm2015/ng-nest-ui-message-box.mjs +10 -10
  378. package/fesm2015/ng-nest-ui-message.mjs +14 -13
  379. package/fesm2015/ng-nest-ui-message.mjs.map +1 -1
  380. package/fesm2015/ng-nest-ui-notification.mjs +10 -10
  381. package/fesm2015/ng-nest-ui-outlet.mjs +8 -7
  382. package/fesm2015/ng-nest-ui-page-header.mjs +10 -10
  383. package/fesm2015/ng-nest-ui-pagination.mjs +12 -11
  384. package/fesm2015/ng-nest-ui-pattern.mjs +7 -7
  385. package/fesm2015/ng-nest-ui-popconfirm.mjs +10 -10
  386. package/fesm2015/ng-nest-ui-popover.mjs +13 -13
  387. package/fesm2015/ng-nest-ui-portal.mjs +16 -15
  388. package/fesm2015/ng-nest-ui-portal.mjs.map +1 -1
  389. package/fesm2015/ng-nest-ui-progress.mjs +235 -26
  390. package/fesm2015/ng-nest-ui-progress.mjs.map +1 -1
  391. package/fesm2015/ng-nest-ui-radio.mjs +12 -11
  392. package/fesm2015/ng-nest-ui-rate.mjs +12 -11
  393. package/fesm2015/ng-nest-ui-result.mjs +11 -11
  394. package/fesm2015/ng-nest-ui-ripple.mjs +11 -10
  395. package/fesm2015/ng-nest-ui-select.mjs +16 -15
  396. package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
  397. package/fesm2015/ng-nest-ui-skeleton.mjs +10 -10
  398. package/fesm2015/ng-nest-ui-slider-select.mjs +12 -11
  399. package/fesm2015/ng-nest-ui-slider.mjs +11 -10
  400. package/fesm2015/ng-nest-ui-statistic.mjs +17 -16
  401. package/fesm2015/ng-nest-ui-steps.mjs +30 -18
  402. package/fesm2015/ng-nest-ui-steps.mjs.map +1 -1
  403. package/fesm2015/ng-nest-ui-switch.mjs +12 -11
  404. package/fesm2015/ng-nest-ui-table.mjs +32 -31
  405. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  406. package/fesm2015/ng-nest-ui-tabs.mjs +20 -19
  407. package/fesm2015/ng-nest-ui-tag.mjs +12 -11
  408. package/fesm2015/ng-nest-ui-text-retract.mjs +11 -10
  409. package/fesm2015/ng-nest-ui-textarea.mjs +12 -11
  410. package/fesm2015/ng-nest-ui-theme.mjs +11 -10
  411. package/fesm2015/ng-nest-ui-time-ago.mjs +8 -7
  412. package/fesm2015/ng-nest-ui-time-picker.mjs +47 -30
  413. package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
  414. package/fesm2015/ng-nest-ui-time-range.mjs +8 -7
  415. package/fesm2015/ng-nest-ui-timeline.mjs +11 -10
  416. package/fesm2015/ng-nest-ui-tooltip.mjs +14 -13
  417. package/fesm2015/ng-nest-ui-transfer.mjs +10 -10
  418. package/fesm2015/ng-nest-ui-tree-file.mjs +12 -11
  419. package/fesm2015/ng-nest-ui-tree.mjs +17 -16
  420. package/fesm2015/ng-nest-ui-typography.mjs +11 -10
  421. package/fesm2015/ng-nest-ui-upload.mjs +14 -14
  422. package/fesm2020/ng-nest-ui-affix.mjs +10 -10
  423. package/fesm2020/ng-nest-ui-alert.mjs +12 -11
  424. package/fesm2020/ng-nest-ui-alert.mjs.map +1 -1
  425. package/fesm2020/ng-nest-ui-anchor.mjs +10 -10
  426. package/fesm2020/ng-nest-ui-api.mjs +7 -7
  427. package/fesm2020/ng-nest-ui-auto-complete.mjs +16 -15
  428. package/fesm2020/ng-nest-ui-auto-complete.mjs.map +1 -1
  429. package/fesm2020/ng-nest-ui-avatar.mjs +11 -10
  430. package/fesm2020/ng-nest-ui-back-top.mjs +10 -10
  431. package/fesm2020/ng-nest-ui-badge.mjs +11 -10
  432. package/fesm2020/ng-nest-ui-base-form.mjs +11 -10
  433. package/fesm2020/ng-nest-ui-border.mjs +8 -7
  434. package/fesm2020/ng-nest-ui-button.mjs +18 -17
  435. package/fesm2020/ng-nest-ui-calendar.mjs +11 -10
  436. package/fesm2020/ng-nest-ui-card.mjs +12 -11
  437. package/fesm2020/ng-nest-ui-carousel.mjs +27 -25
  438. package/fesm2020/ng-nest-ui-carousel.mjs.map +1 -1
  439. package/fesm2020/ng-nest-ui-cascade.mjs +16 -15
  440. package/fesm2020/ng-nest-ui-cascade.mjs.map +1 -1
  441. package/fesm2020/ng-nest-ui-checkbox.mjs +12 -11
  442. package/fesm2020/ng-nest-ui-collapse.mjs +17 -16
  443. package/fesm2020/ng-nest-ui-color-picker.mjs +16 -15
  444. package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
  445. package/fesm2020/ng-nest-ui-color.mjs +11 -10
  446. package/fesm2020/ng-nest-ui-comment.mjs +17 -16
  447. package/fesm2020/ng-nest-ui-container.mjs +35 -34
  448. package/fesm2020/ng-nest-ui-core.mjs +16 -15
  449. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  450. package/fesm2020/ng-nest-ui-crumb.mjs +11 -10
  451. package/fesm2020/ng-nest-ui-date-picker.mjs +216 -80
  452. package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
  453. package/fesm2020/ng-nest-ui-description.mjs +17 -16
  454. package/fesm2020/ng-nest-ui-dialog.mjs +256 -33
  455. package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
  456. package/fesm2020/ng-nest-ui-doc.mjs +8 -8
  457. package/fesm2020/ng-nest-ui-drawer.mjs +225 -20
  458. package/fesm2020/ng-nest-ui-drawer.mjs.map +1 -1
  459. package/fesm2020/ng-nest-ui-dropdown.mjs +13 -13
  460. package/fesm2020/ng-nest-ui-empty.mjs +11 -10
  461. package/fesm2020/ng-nest-ui-examples.mjs +7 -7
  462. package/fesm2020/ng-nest-ui-find.mjs +12 -11
  463. package/fesm2020/ng-nest-ui-form.mjs +17 -16
  464. package/fesm2020/ng-nest-ui-highlight.mjs +11 -10
  465. package/fesm2020/ng-nest-ui-i18n.mjs +14 -13
  466. package/fesm2020/ng-nest-ui-icon.mjs +14 -13
  467. package/fesm2020/ng-nest-ui-inner.mjs +10 -10
  468. package/fesm2020/ng-nest-ui-input-number.mjs +11 -10
  469. package/fesm2020/ng-nest-ui-input.mjs +21 -17
  470. package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
  471. package/fesm2020/ng-nest-ui-layout.mjs +17 -16
  472. package/fesm2020/ng-nest-ui-link.mjs +11 -10
  473. package/fesm2020/ng-nest-ui-list.mjs +17 -16
  474. package/fesm2020/ng-nest-ui-loading.mjs +11 -10
  475. package/fesm2020/ng-nest-ui-menu.mjs +17 -17
  476. package/fesm2020/ng-nest-ui-menu.mjs.map +1 -1
  477. package/fesm2020/ng-nest-ui-message-box.mjs +10 -10
  478. package/fesm2020/ng-nest-ui-message.mjs +14 -13
  479. package/fesm2020/ng-nest-ui-message.mjs.map +1 -1
  480. package/fesm2020/ng-nest-ui-notification.mjs +10 -10
  481. package/fesm2020/ng-nest-ui-outlet.mjs +8 -7
  482. package/fesm2020/ng-nest-ui-page-header.mjs +10 -10
  483. package/fesm2020/ng-nest-ui-pagination.mjs +12 -11
  484. package/fesm2020/ng-nest-ui-pattern.mjs +7 -7
  485. package/fesm2020/ng-nest-ui-popconfirm.mjs +10 -10
  486. package/fesm2020/ng-nest-ui-popover.mjs +13 -13
  487. package/fesm2020/ng-nest-ui-portal.mjs +16 -15
  488. package/fesm2020/ng-nest-ui-portal.mjs.map +1 -1
  489. package/fesm2020/ng-nest-ui-progress.mjs +234 -25
  490. package/fesm2020/ng-nest-ui-progress.mjs.map +1 -1
  491. package/fesm2020/ng-nest-ui-radio.mjs +12 -11
  492. package/fesm2020/ng-nest-ui-rate.mjs +12 -11
  493. package/fesm2020/ng-nest-ui-result.mjs +11 -11
  494. package/fesm2020/ng-nest-ui-ripple.mjs +11 -10
  495. package/fesm2020/ng-nest-ui-select.mjs +16 -15
  496. package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
  497. package/fesm2020/ng-nest-ui-skeleton.mjs +10 -10
  498. package/fesm2020/ng-nest-ui-slider-select.mjs +12 -11
  499. package/fesm2020/ng-nest-ui-slider.mjs +11 -10
  500. package/fesm2020/ng-nest-ui-statistic.mjs +17 -16
  501. package/fesm2020/ng-nest-ui-steps.mjs +30 -18
  502. package/fesm2020/ng-nest-ui-steps.mjs.map +1 -1
  503. package/fesm2020/ng-nest-ui-switch.mjs +12 -11
  504. package/fesm2020/ng-nest-ui-table.mjs +32 -31
  505. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  506. package/fesm2020/ng-nest-ui-tabs.mjs +20 -19
  507. package/fesm2020/ng-nest-ui-tag.mjs +12 -11
  508. package/fesm2020/ng-nest-ui-text-retract.mjs +11 -10
  509. package/fesm2020/ng-nest-ui-textarea.mjs +12 -11
  510. package/fesm2020/ng-nest-ui-theme.mjs +11 -10
  511. package/fesm2020/ng-nest-ui-time-ago.mjs +8 -7
  512. package/fesm2020/ng-nest-ui-time-picker.mjs +47 -30
  513. package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
  514. package/fesm2020/ng-nest-ui-time-range.mjs +8 -7
  515. package/fesm2020/ng-nest-ui-timeline.mjs +11 -10
  516. package/fesm2020/ng-nest-ui-tooltip.mjs +14 -13
  517. package/fesm2020/ng-nest-ui-transfer.mjs +10 -10
  518. package/fesm2020/ng-nest-ui-tree-file.mjs +12 -11
  519. package/fesm2020/ng-nest-ui-tree.mjs +17 -16
  520. package/fesm2020/ng-nest-ui-typography.mjs +11 -10
  521. package/fesm2020/ng-nest-ui-upload.mjs +14 -14
  522. package/layout/examples/en_US/default/flex/README.md +1 -1
  523. package/layout/examples/zh_CN/default/flex/README.md +1 -1
  524. package/message/message.property.d.ts +1 -1
  525. package/package.json +7 -7
  526. package/portal/portal.module.d.ts +1 -1
  527. package/portal/portal.service.d.ts +2 -3
  528. package/progress/examples/en_US/default/circle/README.md +6 -0
  529. package/progress/examples/en_US/default/dashboard/README.md +6 -0
  530. package/progress/examples/en_US/default/gradient/README.md +6 -0
  531. package/progress/examples/en_US/default/steps/README.md +6 -0
  532. package/progress/examples/en_US/default/subsection/README.md +6 -0
  533. package/progress/examples/zh_CN/default/circle/README.md +6 -0
  534. package/progress/examples/zh_CN/default/dashboard/README.md +6 -0
  535. package/progress/examples/zh_CN/default/gradient/README.md +6 -0
  536. package/progress/examples/zh_CN/default/steps/README.md +6 -0
  537. package/progress/examples/zh_CN/default/subsection/README.md +6 -0
  538. package/progress/progress.component.d.ts +31 -3
  539. package/progress/progress.property.d.ts +80 -5
  540. package/steps/examples/en_US/default/node-status/README.md +6 -0
  541. package/steps/examples/zh_CN/default/node-status/README.md +6 -0
  542. package/steps/steps.property.d.ts +7 -2
  543. package/style/core/index.scss +1 -0
  544. package/table/table.property.d.ts +1 -1
  545. package/time-picker/time-picker-frame.component.d.ts +1 -0
  546. package/time-picker/time-picker.component.d.ts +3 -1
@@ -1,5 +1,5 @@
1
- import { Injectable, TemplateRef } from '@angular/core';
2
- import { TemplatePortal, ComponentPortal, PortalInjector } from '@angular/cdk/portal';
1
+ import { Injectable, TemplateRef, Injector } from '@angular/core';
2
+ import { TemplatePortal, ComponentPortal } from '@angular/cdk/portal';
3
3
  import { XPortalPlacement } from './portal.property';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/cdk/overlay";
@@ -26,24 +26,23 @@ export class XPortalService {
26
26
  }
27
27
  return portal;
28
28
  }
29
- createInjector(data, token) {
30
- const injectorTokens = new WeakMap();
31
- injectorTokens.set(token, data);
32
- return new PortalInjector(this.injector, injectorTokens);
29
+ createInjector(providers, viewContainerRef) {
30
+ const injector = viewContainerRef && viewContainerRef.injector;
31
+ return Injector.create({ parent: injector || this.injector, providers });
33
32
  }
34
33
  setPlacement(param) {
35
34
  if (!param) {
36
35
  return this.overlay.position().global().centerHorizontally().centerVertically();
37
36
  }
38
37
  else {
39
- return this.overlay
38
+ return (this.overlay
40
39
  .position()
41
40
  .flexibleConnectedTo(param.elementRef)
42
41
  // .withLockedPosition(true)
43
42
  .withFlexibleDimensions(false)
44
43
  .withPush(false)
45
44
  .withPositions(this.setConnectedPosition(...param.placement))
46
- .withTransformOriginOn(param.transformOriginOn);
45
+ .withTransformOriginOn(param.transformOriginOn));
47
46
  }
48
47
  }
49
48
  setPosition(position, width, height) {
@@ -100,9 +99,9 @@ export class XPortalService {
100
99
  return result;
101
100
  }
102
101
  }
103
- /** @nocollapse */ /** @nocollapse */ XPortalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: XPortalService, deps: [{ token: i1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
104
- /** @nocollapse */ /** @nocollapse */ XPortalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: XPortalService });
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: XPortalService, decorators: [{
102
+ /** @nocollapse */ /** @nocollapse */ XPortalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XPortalService, deps: [{ token: i1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
103
+ /** @nocollapse */ /** @nocollapse */ XPortalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XPortalService });
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XPortalService, decorators: [{
106
105
  type: Injectable
107
106
  }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }]; } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9wb3J0YWwvcG9ydGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQXdDLE1BQU0sZUFBZSxDQUFDO0FBRTlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RGLE9BQU8sRUFBc0MsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBR3pGOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBbUIsT0FBZ0IsRUFBUyxRQUFrQjtRQUEzQyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFbEUsTUFBTSxDQUFJLE1BQXVCO1FBQy9CLElBQUksTUFBTSxHQUF5QixFQUFFLENBQUM7UUFDdEMsSUFBSSxPQUFPLE1BQU0sQ0FBQyxPQUFPLEtBQUssV0FBVztZQUFFLE9BQU8sTUFBTSxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELElBQUksTUFBTSxDQUFDLE9BQU8sWUFBWSxXQUFXLElBQUksTUFBTSxDQUFDLGdCQUFnQixFQUFFO1lBQ3BFLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BHLE1BQU0sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzFFO2FBQU07WUFDTCxNQUFNLENBQUMsZUFBZSxHQUFHLElBQUksZUFBZSxDQUMxQyxNQUFNLENBQUMsT0FBNkIsRUFDcEMsTUFBTSxDQUFDLGdCQUFnQixFQUN2QixNQUFNLENBQUMsUUFBUSxFQUNmLE1BQU0sQ0FBQyx3QkFBd0IsQ0FDaEMsQ0FBQztZQUNGLE1BQU0sQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFTLEVBQUUsS0FBMEI7UUFDbEQsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNyQyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoQyxPQUFPLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFvRztRQUMvRyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUNqRjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTztpQkFDaEIsUUFBUSxFQUFFO2lCQUNWLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxVQUFXLENBQUM7Z0JBQ3ZDLDRCQUE0QjtpQkFDM0Isc0JBQXNCLENBQUMsS0FBSyxDQUFDO2lCQUM3QixRQUFRLENBQUMsS0FBSyxDQUFDO2lCQUNmLGFBQWEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQzVELHFCQUFxQixDQUFDLEtBQUssQ0FBQyxpQkFBa0IsQ0FBQyxDQUFDO1NBQ3BEO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFvQixFQUFFLEtBQWMsRUFBRSxNQUFlO1FBQy9ELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxRSxRQUFRLFFBQVEsRUFBRTtZQUNoQixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdkIsS0FBSyxPQUFPO2dCQUNWLE9BQU8sTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hCLEtBQUssS0FBSztnQkFDUixPQUFPLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN0QixLQUFLLFFBQVEsQ0FBQztZQUNkO2dCQUNFLE9BQU8sTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFjLEVBQUUsS0FBYyxFQUFFLE1BQWUsRUFBRSxHQUFHLE1BQWdCO1FBQzNFLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxRSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUFFLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3RFLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDMUIsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEc7UUFDRCxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ3hDLFFBQVEsS0FBSyxFQUFFO1lBQ2IsS0FBSyxXQUFXO2dCQUNkLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckMsS0FBSyxLQUFLO2dCQUNSLE9BQU8sTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlDLEtBQUssU0FBUztnQkFDWixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hDLEtBQUssTUFBTTtnQkFDVCxPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QyxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3hELEtBQUssT0FBTztnQkFDVixPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoRCxLQUFLLGNBQWM7Z0JBQ2pCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUMsS0FBSyxRQUFRO2dCQUNYLE9BQU8sTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BELEtBQUssWUFBWTtnQkFDZixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVDO2dCQUNFLE9BQU8sTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUN6RDtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUF1QjtRQUN0QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBRyxTQUFrQztRQUN4RCxJQUFJLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBQ3JDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUEwQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztpSkFsR1UsY0FBYztxSkFBZCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiwgSW5qZWN0b3IsIEluamVjdGlvblRva2VuLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYsIFBvc2l0aW9uU3RyYXRlZ3ksIENvbm5lY3RlZFBvc2l0aW9uLCBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCwgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWxJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBYUG9ydGFsUHJvcGVydHksIFhQb3J0YWxPdmVybGF5UmVmLCBYUG9ydGFsUGxhY2VtZW50IH0gZnJvbSAnLi9wb3J0YWwucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYUGxhY2VtZW50LCBYUG9zaXRpb24sIFhQbGFjZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIOWKqOaAgeWIm+W7uuinhuWbvuacjeWKoVxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgWFBvcnRhbFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvdmVybGF5OiBPdmVybGF5LCBwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxyXG5cclxuICBhdHRhY2g8VD4ob3B0aW9uOiBYUG9ydGFsUHJvcGVydHkpOiBYUG9ydGFsT3ZlcmxheVJlZjxUPiB7XHJcbiAgICBsZXQgcG9ydGFsOiBYUG9ydGFsT3ZlcmxheVJlZjxUPiA9IHt9O1xyXG4gICAgaWYgKHR5cGVvZiBvcHRpb24uY29udGVudCA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBwb3J0YWw7XHJcbiAgICBwb3J0YWwub3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheVJlZihvcHRpb24pO1xyXG4gICAgaWYgKG9wdGlvbi5jb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYgJiYgb3B0aW9uLnZpZXdDb250YWluZXJSZWYpIHtcclxuICAgICAgcG9ydGFsLnRlbXBsYXRlUG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKG9wdGlvbi5jb250ZW50LCBvcHRpb24udmlld0NvbnRhaW5lclJlZiwgb3B0aW9uLmNvbnRleHQpO1xyXG4gICAgICBwb3J0YWwuZW1iZWRkZWRWaWV3UmVmID0gcG9ydGFsLm92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbC50ZW1wbGF0ZVBvcnRhbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwb3J0YWwuY29tcG9uZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChcclxuICAgICAgICBvcHRpb24uY29udGVudCBhcyBDb21wb25lbnRUeXBlPGFueT4sXHJcbiAgICAgICAgb3B0aW9uLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgb3B0aW9uLmluamVjdG9yLFxyXG4gICAgICAgIG9wdGlvbi5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcclxuICAgICAgKTtcclxuICAgICAgcG9ydGFsLmNvbXBvbmVudFJlZiA9IHBvcnRhbC5vdmVybGF5UmVmLmF0dGFjaChwb3J0YWwuY29tcG9uZW50UG9ydGFsKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcG9ydGFsO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlSW5qZWN0b3IoZGF0YTogYW55LCB0b2tlbjogSW5qZWN0aW9uVG9rZW48YW55Pik6IFBvcnRhbEluamVjdG9yIHtcclxuICAgIGNvbnN0IGluamVjdG9yVG9rZW5zID0gbmV3IFdlYWtNYXAoKTtcclxuICAgIGluamVjdG9yVG9rZW5zLnNldCh0b2tlbiwgZGF0YSk7XHJcbiAgICByZXR1cm4gbmV3IFBvcnRhbEluamVjdG9yKHRoaXMuaW5qZWN0b3IsIGluamVjdG9yVG9rZW5zKTtcclxuICB9XHJcblxyXG4gIHNldFBsYWNlbWVudChwYXJhbT86IHsgZWxlbWVudFJlZj86IEVsZW1lbnRSZWY7IHBsYWNlbWVudD86IFhQbGFjZVtdIHwgWFBsYWNlbWVudFtdOyB0cmFuc2Zvcm1PcmlnaW5Pbj86IHN0cmluZyB9KTogUG9zaXRpb25TdHJhdGVneSB7XHJcbiAgICBpZiAoIXBhcmFtKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5jZW50ZXJWZXJ0aWNhbGx5KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5vdmVybGF5XHJcbiAgICAgICAgLnBvc2l0aW9uKClcclxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhwYXJhbS5lbGVtZW50UmVmISlcclxuICAgICAgICAvLyAud2l0aExvY2tlZFBvc2l0aW9uKHRydWUpXHJcbiAgICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXHJcbiAgICAgICAgLndpdGhQdXNoKGZhbHNlKVxyXG4gICAgICAgIC53aXRoUG9zaXRpb25zKHRoaXMuc2V0Q29ubmVjdGVkUG9zaXRpb24oLi4ucGFyYW0ucGxhY2VtZW50KSlcclxuICAgICAgICAud2l0aFRyYW5zZm9ybU9yaWdpbk9uKHBhcmFtLnRyYW5zZm9ybU9yaWdpbk9uISk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRQb3NpdGlvbihwb3NpdGlvbj86IFhQb3NpdGlvbiwgd2lkdGg/OiBzdHJpbmcsIGhlaWdodD86IHN0cmluZyk6IFBvc2l0aW9uU3RyYXRlZ3kge1xyXG4gICAgbGV0IHJlc3VsdCA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLndpZHRoKHdpZHRoKS5oZWlnaHQoaGVpZ2h0KTtcclxuICAgIHN3aXRjaCAocG9zaXRpb24pIHtcclxuICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5sZWZ0KCk7XHJcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcclxuICAgICAgICByZXR1cm4gcmVzdWx0LnJpZ2h0KCk7XHJcbiAgICAgIGNhc2UgJ3RvcCc6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC50b3AoKTtcclxuICAgICAgY2FzZSAnYm90dG9tJzpcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gcmVzdWx0LmJvdHRvbSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0UGxhY2UocGxhY2U/OiBYUGxhY2UsIHdpZHRoPzogc3RyaW5nLCBoZWlnaHQ/OiBzdHJpbmcsIC4uLm9mZnNldDogc3RyaW5nW10pOiBQb3NpdGlvblN0cmF0ZWd5IHtcclxuICAgIGxldCByZXN1bHQgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS53aWR0aCh3aWR0aCkuaGVpZ2h0KGhlaWdodCk7XHJcbiAgICBpZiAob2Zmc2V0Lmxlbmd0aCA9PT0gMCkgb2Zmc2V0ID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogNCB9KS5tYXAoKCkgPT4gYDBgKTtcclxuICAgIGVsc2UgaWYgKG9mZnNldC5sZW5ndGggPCA0KSB7XHJcbiAgICAgIEFycmF5LmZyb20oeyBsZW5ndGg6IDQgLSBvZmZzZXQubGVuZ3RoIH0pLm1hcCgoKSA9PiAob2Zmc2V0ID0gWy4uLm9mZnNldCwgb2Zmc2V0W29mZnNldC5sZW5ndGggLSAxXV0pKTtcclxuICAgIH1cclxuICAgIGxldCBbdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0XSA9IG9mZnNldDtcclxuICAgIHN3aXRjaCAocGxhY2UpIHtcclxuICAgICAgY2FzZSAndG9wLXN0YXJ0JzpcclxuICAgICAgICByZXR1cm4gcmVzdWx0LnRvcCh0b3ApLmxlZnQocmlnaHQpO1xyXG4gICAgICBjYXNlICd0b3AnOlxyXG4gICAgICAgIHJldHVybiByZXN1bHQuY2VudGVySG9yaXpvbnRhbGx5KCkudG9wKHRvcCk7XHJcbiAgICAgIGNhc2UgJ3RvcC1lbmQnOlxyXG4gICAgICAgIHJldHVybiByZXN1bHQudG9wKGJvdHRvbSkucmlnaHQobGVmdCk7XHJcbiAgICAgIGNhc2UgJ2xlZnQnOlxyXG4gICAgICAgIHJldHVybiByZXN1bHQuY2VudGVyVmVydGljYWxseSgpLmxlZnQobGVmdCk7XHJcbiAgICAgIGNhc2UgJ2NlbnRlcic6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jZW50ZXJWZXJ0aWNhbGx5KCkuY2VudGVySG9yaXpvbnRhbGx5KCk7XHJcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcclxuICAgICAgICByZXR1cm4gcmVzdWx0LmNlbnRlclZlcnRpY2FsbHkoKS5yaWdodChyaWdodCk7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1zdGFydCc6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5ib3R0b20oYm90dG9tKS5sZWZ0KGxlZnQpO1xyXG4gICAgICBjYXNlICdib3R0b20nOlxyXG4gICAgICAgIHJldHVybiByZXN1bHQuY2VudGVySG9yaXpvbnRhbGx5KCkuYm90dG9tKGJvdHRvbSk7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1lbmQnOlxyXG4gICAgICAgIHJldHVybiByZXN1bHQuYm90dG9tKGJvdHRvbSkucmlnaHQocmlnaHQpO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiByZXN1bHQuY2VudGVyVmVydGljYWxseSgpLmNlbnRlckhvcml6b250YWxseSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlT3ZlcmxheVJlZihvcHRpb246IFhQb3J0YWxQcm9wZXJ0eSk6IE92ZXJsYXlSZWYge1xyXG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheS5jcmVhdGUob3B0aW9uLm92ZXJsYXlDb25maWcpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29ubmVjdGVkUG9zaXRpb24oLi4ucGxhY2VtZW50OiBYUGxhY2VbXSB8IFhQbGFjZW1lbnRbXSk6IENvbm5lY3RlZFBvc2l0aW9uW10ge1xyXG4gICAgbGV0IHJlc3VsdDogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtdO1xyXG4gICAgcGxhY2VtZW50LmZvckVhY2goKHBsYWNlOiBYUGxhY2UgfCBYUGxhY2VtZW50KSA9PiByZXN1bHQucHVzaChYUG9ydGFsUGxhY2VtZW50W3BsYWNlXSkpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9wb3J0YWwvcG9ydGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFnRCxNQUFNLGVBQWUsQ0FBQztBQUVoSCxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBc0MsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBR3pGOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBbUIsT0FBZ0IsRUFBUyxRQUFrQjtRQUEzQyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFbEUsTUFBTSxDQUFJLE1BQXVCO1FBQy9CLElBQUksTUFBTSxHQUF5QixFQUFFLENBQUM7UUFDdEMsSUFBSSxPQUFPLE1BQU0sQ0FBQyxPQUFPLEtBQUssV0FBVztZQUFFLE9BQU8sTUFBTSxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELElBQUksTUFBTSxDQUFDLE9BQU8sWUFBWSxXQUFXLElBQUksTUFBTSxDQUFDLGdCQUFnQixFQUFFO1lBQ3BFLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BHLE1BQU0sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzFFO2FBQU07WUFDTCxNQUFNLENBQUMsZUFBZSxHQUFHLElB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LGdCQUFnQixFQUFFLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUN6RDtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUF1QjtRQUN0QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBRyxTQUFrQztRQUN4RCxJQUFJLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBQ3JDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUEwQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztpSkFuR1UsY0FBYztxSkFBZCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiwgSW5qZWN0b3IsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYsIFN0YXRpY1Byb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYsIFBvc2l0aW9uU3RyYXRlZ3ksIENvbm5lY3RlZFBvc2l0aW9uLCBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCwgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IFhQb3J0YWxQcm9wZXJ0eSwgWFBvcnRhbE92ZXJsYXlSZWYsIFhQb3J0YWxQbGFjZW1lbnQgfSBmcm9tICcuL3BvcnRhbC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhQbGFjZW1lbnQsIFhQb3NpdGlvbiwgWFBsYWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcblxyXG4vKipcclxuICog5Yqo5oCB5Yib5bu66KeG5Zu+5pyN5YqhXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBYUG9ydGFsU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIG92ZXJsYXk6IE92ZXJsYXksIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHt9XHJcblxyXG4gIGF0dGFjaDxUPihvcHRpb246IFhQb3J0YWxQcm9wZXJ0eSk6IFhQb3J0YWxPdmVybGF5UmVmPFQ+IHtcclxuICAgIGxldCBwb3J0YWw6IFhQb3J0YWxPdmVybGF5UmVmPFQ+ID0ge307XHJcbiAgICBpZiAodHlwZW9mIG9wdGlvbi5jb250ZW50ID09PSAndW5kZWZpbmVkJykgcmV0dXJuIHBvcnRhbDtcclxuICAgIHBvcnRhbC5vdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5UmVmKG9wdGlvbik7XHJcbiAgICBpZiAob3B0aW9uLmNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZiAmJiBvcHRpb24udmlld0NvbnRhaW5lclJlZikge1xyXG4gICAgICBwb3J0YWwudGVtcGxhdGVQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwob3B0aW9uLmNvbnRlbnQsIG9wdGlvbi52aWV3Q29udGFpbmVyUmVmLCBvcHRpb24uY29udGV4dCk7XHJcbiAgICAgIHBvcnRhbC5lbWJlZGRlZFZpZXdSZWYgPSBwb3J0YWwub3ZlcmxheVJlZi5hdHRhY2gocG9ydGFsLnRlbXBsYXRlUG9ydGFsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBvcnRhbC5jb21wb25lbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFxyXG4gICAgICAgIG9wdGlvbi5jb250ZW50IGFzIENvbXBvbmVudFR5cGU8YW55PixcclxuICAgICAgICBvcHRpb24udmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICBvcHRpb24uaW5qZWN0b3IsXHJcbiAgICAgICAgb3B0aW9uLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxyXG4gICAgICApO1xyXG4gICAgICBwb3J0YWwuY29tcG9uZW50UmVmID0gcG9ydGFsLm92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbC5jb21wb25lbnRQb3J0YWwpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwb3J0YWw7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVJbmplY3Rvcihwcm92aWRlcnM6IFN0YXRpY1Byb3ZpZGVyW10sIHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IHZpZXdDb250YWluZXJSZWYgJiYgdmlld0NvbnRhaW5lclJlZi5pbmplY3RvcjtcclxuICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoeyBwYXJlbnQ6IGluamVjdG9yIHx8IHRoaXMuaW5qZWN0b3IsIHByb3ZpZGVycyB9KTtcclxuICB9XHJcblxyXG4gIHNldFBsYWNlbWVudChwYXJhbT86IHsgZWxlbWVudFJlZj86IEVsZW1lbnRSZWY7IHBsYWNlbWVudD86IFhQbGFjZVtdIHwgWFBsYWNlbWVudFtdOyB0cmFuc2Zvcm1PcmlnaW5Pbj86IHN0cmluZyB9KTogUG9zaXRpb25TdHJhdGVneSB7XHJcbiAgICBpZiAoIXBhcmFtKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5jZW50ZXJWZXJ0aWNhbGx5KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIHRoaXMub3ZlcmxheVxyXG4gICAgICAgICAgLnBvc2l0aW9uKClcclxuICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHBhcmFtLmVsZW1lbnRSZWYhKVxyXG4gICAgICAgICAgLy8gLndpdGhMb2NrZWRQb3NpdGlvbih0cnVlKVxyXG4gICAgICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXHJcbiAgICAgICAgICAud2l0aFB1c2goZmFsc2UpXHJcbiAgICAgICAgICAud2l0aFBvc2l0aW9ucyh0aGlzLnNldENvbm5lY3RlZFBvc2l0aW9uKC4uLnBhcmFtLnBsYWNlbWVudCkpXHJcbiAgICAgICAgICAud2l0aFRyYW5zZm9ybU9yaWdpbk9uKHBhcmFtLnRyYW5zZm9ybU9yaWdpbk9uISlcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFBvc2l0aW9uKHBvc2l0aW9uPzogWFBvc2l0aW9uLCB3aWR0aD86IHN0cmluZywgaGVpZ2h0Pzogc3RyaW5nKTogUG9zaXRpb25TdHJhdGVneSB7XHJcbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkud2lkdGgod2lkdGgpLmhlaWdodChoZWlnaHQpO1xyXG4gICAgc3dpdGNoIChwb3NpdGlvbikge1xyXG4gICAgICBjYXNlICdsZWZ0JzpcclxuICAgICAgICByZXR1cm4gcmVzdWx0LmxlZnQoKTtcclxuICAgICAgY2FzZSAncmlnaHQnOlxyXG4gICAgICAgIHJldHVybiByZXN1bHQucmlnaHQoKTtcclxuICAgICAgY2FzZSAndG9wJzpcclxuICAgICAgICByZXR1cm4gcmVzdWx0LnRvcCgpO1xyXG4gICAgICBjYXNlICdib3R0b20nOlxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiByZXN1bHQuYm90dG9tKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRQbGFjZShwbGFjZT86IFhQbGFjZSwgd2lkdGg/OiBzdHJpbmcsIGhlaWdodD86IHN0cmluZywgLi4ub2Zmc2V0OiBzdHJpbmdbXSk6IFBvc2l0aW9uU3RyYXRlZ3kge1xyXG4gICAgbGV0IHJlc3VsdCA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLndpZHRoKHdpZHRoKS5oZWlnaHQoaGVpZ2h0KTtcclxuICAgIGlmIChvZmZzZXQubGVuZ3RoID09PSAwKSBvZmZzZXQgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiA0IH0pLm1hcCgoKSA9PiBgMGApO1xyXG4gICAgZWxzZSBpZiAob2Zmc2V0Lmxlbmd0aCA8IDQpIHtcclxuICAgICAgQXJyYXkuZnJvbSh7IGxlbmd0aDogNCAtIG9mZnNldC5sZW5ndGggfSkubWFwKCgpID0+IChvZmZzZXQgPSBbLi4ub2Zmc2V0LCBvZmZzZXRbb2Zmc2V0Lmxlbmd0aCAtIDFdXSkpO1xyXG4gICAgfVxyXG4gICAgbGV0IFt0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnRdID0gb2Zmc2V0O1xyXG4gICAgc3dpdGNoIChwbGFjZSkge1xyXG4gICAgICBjYXNlICd0b3Atc3RhcnQnOlxyXG4gICAgICAgIHJldHVybiByZXN1bHQudG9wKHRvcCkubGVmdChyaWdodCk7XHJcbiAgICAgIGNhc2UgJ3RvcCc6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jZW50ZXJIb3Jpem9udGFsbHkoKS50b3AodG9wKTtcclxuICAgICAgY2FzZSAndG9wLWVuZCc6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC50b3AoYm90dG9tKS5yaWdodChsZWZ0KTtcclxuICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jZW50ZXJWZXJ0aWNhbGx5KCkubGVmdChsZWZ0KTtcclxuICAgICAgY2FzZSAnY2VudGVyJzpcclxuICAgICAgICByZXR1cm4gcmVzdWx0LmNlbnRlclZlcnRpY2FsbHkoKS5jZW50ZXJIb3Jpem9udGFsbHkoKTtcclxuICAgICAgY2FzZSAncmlnaHQnOlxyXG4gICAgICAgIHJldHVybiByZXN1bHQuY2VudGVyVmVydGljYWxseSgpLnJpZ2h0KHJpZ2h0KTtcclxuICAgICAgY2FzZSAnYm90dG9tLXN0YXJ0JzpcclxuICAgICAgICByZXR1cm4gcmVzdWx0LmJvdHRvbShib3R0b20pLmxlZnQobGVmdCk7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jZW50ZXJIb3Jpem9udGFsbHkoKS5ib3R0b20oYm90dG9tKTtcclxuICAgICAgY2FzZSAnYm90dG9tLWVuZCc6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5ib3R0b20oYm90dG9tKS5yaWdodChyaWdodCk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jZW50ZXJWZXJ0aWNhbGx5KCkuY2VudGVySG9yaXpvbnRhbGx5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVPdmVybGF5UmVmKG9wdGlvbjogWFBvcnRhbFByb3BlcnR5KTogT3ZlcmxheVJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZShvcHRpb24ub3ZlcmxheUNvbmZpZyk7XHJcbiAgfVxyXG5cclxuICBzZXRDb25uZWN0ZWRQb3NpdGlvbiguLi5wbGFjZW1lbnQ6IFhQbGFjZVtdIHwgWFBsYWNlbWVudFtdKTogQ29ubmVjdGVkUG9zaXRpb25bXSB7XHJcbiAgICBsZXQgcmVzdWx0OiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW107XHJcbiAgICBwbGFjZW1lbnQuZm9yRWFjaCgocGxhY2U6IFhQbGFjZSB8IFhQbGFjZW1lbnQpID0+IHJlc3VsdC5wdXNoKFhQb3J0YWxQbGFjZW1lbnRbcGxhY2VdKSk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
2
2
  import { XProgressPrefix, XProgressProperty } from './progress.property';
3
- import { XIsFunction, XIsString, XIsObjectArray, XIsEmpty, XIsChange } from '@ng-nest/ui/core';
3
+ import { XIsFunction, XIsString, XIsObjectArray, XIsEmpty, XIsChange, XIsNumber } from '@ng-nest/ui/core';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@ng-nest/ui/core";
6
6
  import * as i2 from "@ng-nest/ui/icon";
@@ -12,30 +12,42 @@ export class XProgressComponent extends XProgressProperty {
12
12
  this.elementRef = elementRef;
13
13
  this.cdr = cdr;
14
14
  this.configService = configService;
15
+ this.stepsArray = [];
16
+ }
17
+ get maskWidth() {
18
+ return XIsNumber(this.percent) ? 100 - Number(this.percent) : 100;
15
19
  }
16
- ngOnInit() { }
17
20
  ngOnChanges(simples) {
18
- const { status, percent } = simples;
19
- XIsChange(status) && this.setClassMap();
21
+ const { status, percent, gradient, steps, type, notchAngle } = simples;
22
+ XIsChange(type, status) && this.setClassMap();
20
23
  XIsChange(percent) && this.setColor();
24
+ XIsChange(gradient) && this.setGradient();
25
+ XIsChange(steps, percent) && this.setSteps();
26
+ XIsChange(type, percent, notchAngle) && this.setType();
21
27
  }
22
28
  setClassMap() {
23
29
  this.classMap = {
24
30
  [`${XProgressPrefix}-${this.status}`]: true,
31
+ [`${XProgressPrefix}-${this.type}`]: true,
25
32
  [`${XProgressPrefix}-inside`]: Boolean(this.inside)
26
33
  };
27
34
  }
28
35
  setColor() {
29
- if (XIsEmpty(this.color))
30
- return;
31
- if (XIsString(this.color)) {
32
- this.currentColor = this.color;
33
- }
34
- else if (XIsObjectArray(this.color)) {
35
- this.currentColor = this.getLevelColor(this.percent);
36
+ if (this.subsection) {
37
+ this.setSubLinearGradient();
36
38
  }
37
- else if (XIsFunction(this.color)) {
38
- this.currentColor = this.color(this.percent);
39
+ else {
40
+ if (XIsEmpty(this.color))
41
+ return;
42
+ if (XIsString(this.color)) {
43
+ this.currentColor = this.color;
44
+ }
45
+ else if (XIsObjectArray(this.color)) {
46
+ this.currentColor = this.getLevelColor(this.percent);
47
+ }
48
+ else if (XIsFunction(this.color)) {
49
+ this.currentColor = this.color(this.percent);
50
+ }
39
51
  }
40
52
  }
41
53
  getLevelColor(percent) {
@@ -47,14 +59,163 @@ export class XProgressComponent extends XProgressProperty {
47
59
  }
48
60
  return colors[colors.length - 1].color;
49
61
  }
62
+ setGradient() {
63
+ if (this.subsection)
64
+ return;
65
+ if (XIsEmpty(this.gradient)) {
66
+ this.linearGradient = '';
67
+ }
68
+ else {
69
+ const { from, to, direction = 'to right', ...percents } = this.gradient || {};
70
+ if (Object.keys(percents).length !== 0) {
71
+ this.linearGradient = `linear-gradient(${direction}, ${this.sortGradient(percents).map(({ key, value }) => `${value} ${key}%`)})`;
72
+ return;
73
+ }
74
+ this.linearGradient = `linear-gradient(${direction}, ${from}, ${to})`;
75
+ }
76
+ }
77
+ sortGradient(percents) {
78
+ let arr = [];
79
+ Object.keys(percents).forEach((key) => {
80
+ const value = percents[key];
81
+ const numKey = +key.replace('%', '');
82
+ if (!isNaN(numKey)) {
83
+ arr.push({ key: numKey, value });
84
+ }
85
+ });
86
+ return arr.sort((a, b) => a.key - b.key);
87
+ }
88
+ setSubLinearGradient() {
89
+ let colors = this.color;
90
+ if (!colors || colors.length <= 0) {
91
+ this.subLinearGradient = `linear-gradient(to right, var(--x-primary) 0%, var(--x-primary) 100%)`;
92
+ return;
93
+ }
94
+ else if (colors.length === 1) {
95
+ colors.push({ percent: 100, color: 'var(--x-primary)' });
96
+ }
97
+ colors = colors.sort((a, b) => a.percent - b.percent);
98
+ let lgs = [];
99
+ colors.reduce((a, b, index) => {
100
+ if (index === 1 && a.percent > 0) {
101
+ lgs.push(`${a.color} 0%, ${a.color} ${a.percent}%`);
102
+ }
103
+ lgs.push(`${b.color} ${a.percent}%, ${b.color} ${b.percent}%`);
104
+ if (index === colors.length - 1 && b.percent < 100) {
105
+ lgs.push(`var(--x-primary) ${b.percent}%, var(--x-primary) 100%`);
106
+ }
107
+ return b;
108
+ });
109
+ this.subLinearGradient = `linear-gradient(to right,${lgs.join(',')})`;
110
+ }
111
+ setSteps() {
112
+ if (XIsEmpty(this.steps)) {
113
+ this.stepsArray = [];
114
+ }
115
+ else {
116
+ const critical = Math.ceil((Number(this.percent) / 100) * this.steps);
117
+ this.stepsArray = Array.from({ length: this.steps }).map((_, index) => index + 1 <= critical);
118
+ }
119
+ }
120
+ setType() {
121
+ if (this.type === 'circle') {
122
+ this.setCircleClipPath();
123
+ }
124
+ else if (this.type === 'dashboard') {
125
+ this.setDashboardClipPath();
126
+ }
127
+ }
128
+ /**
129
+ * circle 中的 100% 等于 clip-path 中的 400%
130
+ */
131
+ setCircleClipPath() {
132
+ let value = Number(this.percent) * 4;
133
+ let k1 = 'polygon(50% 50%,50% 0%,';
134
+ let k2 = k1 + '100% 0%,';
135
+ let k3 = k2 + '100% 100%,';
136
+ let k4 = k3 + '0% 100%,';
137
+ let k5 = k4 + '0% 0%,';
138
+ if (value <= 50) {
139
+ value += 50;
140
+ this.circleClipPath = `${k1}${value}% 0%)`;
141
+ }
142
+ else if (value > 50 && value <= 150) {
143
+ value -= 50;
144
+ this.circleClipPath = `${k2}100% ${value}%)`;
145
+ }
146
+ else if (value > 150 && value <= 250) {
147
+ value = 250 - value;
148
+ this.circleClipPath = `${k3}${value}% 100%)`;
149
+ }
150
+ else if (value > 250 && value <= 350) {
151
+ value = 350 - value;
152
+ this.circleClipPath = `${k4}0% ${value}%)`;
153
+ }
154
+ else if (value > 350 && value <= 400) {
155
+ value -= 350;
156
+ this.circleClipPath = `${k5}${value}% 0%)`;
157
+ }
158
+ }
159
+ /**
160
+ *
161
+ * 90 polygon(50% 50%, 0% 100%, 0% 0%, 100% 0%, 100% 100%);
162
+ * 180 polygon(50% 50%, 0% 50%, 0% 0%, 100% 0%, 100% 50%);
163
+ * 270 polygon(50% 50%, 0% 0%, 100% 0%);
164
+ */
165
+ setDashboardClipPath() {
166
+ let railValue = (Number(this.notchAngle) / 360) * 50 * 4;
167
+ let k1 = `polygon(50% 50%,`;
168
+ let start = '';
169
+ let per = 0;
170
+ if (railValue <= 50) {
171
+ per = 50 - railValue;
172
+ start = `${k1} ${per}% 100%`;
173
+ this.dashboardRailClipPath = `${start}, 0% 100%, 0% 0%, 100% 0%, 100% 100%, ${100 - per}% 100%)`;
174
+ }
175
+ else if (railValue > 50 && railValue <= 150) {
176
+ per = 150 - railValue;
177
+ start = `${k1} 0% ${per}%`;
178
+ this.dashboardRailClipPath = `${start}, 0% 0%, 100% 0%, 100% ${per}%)`;
179
+ }
180
+ else if (railValue > 150 && railValue <= 250) {
181
+ per = railValue - 150;
182
+ start = `${k1} ${per}% 0%`;
183
+ this.dashboardRailClipPath = `${start}, ${100 - per}% 0%)`;
184
+ }
185
+ this.setCircleClipPathValue(start, railValue);
186
+ }
187
+ setCircleClipPathValue(start, railValue) {
188
+ let value = ((400 - railValue * 2) / 100) * Number(this.percent);
189
+ let val = value + railValue;
190
+ if (val <= 50) {
191
+ val = 50 - val;
192
+ this.dashboardClipPath = `${start}, ${val}% 100%)`;
193
+ }
194
+ else if (val > 50 && val <= 150) {
195
+ val = 150 - val;
196
+ this.dashboardClipPath = `${start}, 0% 100%, 0% ${val}%)`;
197
+ }
198
+ else if (val > 150 && val <= 250) {
199
+ val = val - 150;
200
+ this.dashboardClipPath = `${start}, 0% 100%, 0% 0%, ${val}% 0%)`;
201
+ }
202
+ else if (val > 250 && val <= 350) {
203
+ val = val - 250;
204
+ this.dashboardClipPath = `${start}, 0% 100%, 0% 0%, 100% 0%, 100% ${val}%)`;
205
+ }
206
+ else if (val > 350 && val <= 400) {
207
+ val = 100 - (val - 350);
208
+ this.dashboardClipPath = `${start}, 0% 100%, 0% 0%, 100% 0%, 100% 100%, ${val}% 100%)`;
209
+ }
210
+ }
50
211
  onFormat(percent) {
51
212
  return this.format && this.format(percent);
52
213
  }
53
214
  }
54
- /** @nocollapse */ /** @nocollapse */ XProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: XProgressComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
55
- /** @nocollapse */ /** @nocollapse */ XProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: XProgressComponent, selector: "x-progress", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-progress\" [ngClass]=\"classMap\">\r\n <div class=\"x-progress-track\">\r\n <div class=\"x-progress-rail\">\r\n <div\r\n class=\"x-progress-bg\"\r\n [style.width.%]=\"percent\"\r\n [style.background-color]=\"currentColor\"\r\n [style.height]=\"height\"\r\n [style.line-height]=\"height\"\r\n >\r\n <span *ngIf=\"inside\">{{ percent }}%</span>\r\n </div>\r\n </div>\r\n </div>\r\n <span class=\"x-progress-text\" *ngIf=\"info && !inside\" [ngSwitch]=\"status\">\r\n <ng-container *ngSwitchCase=\"'success'\">\r\n <x-icon type=\"fto-check-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'exception'\">\r\n <x-icon type=\"fto-x-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'warning'\">\r\n <x-icon type=\"fto-help-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngIf=\"format; else defaultTemp\">{{ onFormat(percent) }}</ng-container>\r\n <ng-template #defaultTemp>{{ percent }}%</ng-template>\r\n </ng-container>\r\n </span>\r\n</div>\r\n", styles: ["@keyframes x-progress-active{0%{width:0;opacity:.1}20%{width:0;opacity:.5}to{width:100%;opacity:0}}x-progress{display:flex;align-items:center}.x-progress{margin:0;padding:0;display:inline-flex;align-items:center;width:100%}.x-progress-track{width:100%;display:inline-flex;align-items:center}.x-progress-rail{position:relative;display:inline-block;width:100%;overflow:hidden;vertical-align:middle;background-color:var(--x-border-100);border-radius:var(--x-border-radius)}.x-progress-bg{position:relative;background-color:var(--x-primary);transition:all .3s cubic-bezier(.08,.82,.17,1) 0s;border-radius:var(--x-border-radius);text-align:right;color:#fff}.x-progress-bg>span{margin:0 .325rem}.x-progress-text{margin-left:.5rem;display:inline-flex;align-items:center;white-space:nowrap}.x-progress-active .x-progress-bg:before{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--x-background-100);border-radius:var(--x-border-radius);opacity:0;animation:x-progress-active 2s cubic-bezier(.23,1,.32,1) infinite;content:\"\"}.x-progress-exception .x-progress-text{color:var(--x-danger)}.x-progress-exception .x-progress-bg{background-color:var(--x-danger)}.x-progress-success .x-progress-text{color:var(--x-success)}.x-progress-success .x-progress-bg{background-color:var(--x-success)}.x-progress-warning .x-progress-text{color:var(--x-warning)}.x-progress-warning .x-progress-bg{background-color:var(--x-warning)}\n"], components: [{ type: i2.XIconComponent, selector: "x-icon" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: XProgressComponent, decorators: [{
215
+ /** @nocollapse */ /** @nocollapse */ XProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XProgressComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
216
+ /** @nocollapse */ /** @nocollapse */ XProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XProgressComponent, selector: "x-progress", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"x-progress\"\r\n [ngClass]=\"classMap\"\r\n [class.x-progress-steps]=\"stepsArray.length > 0\"\r\n [class.x-progress-steps-flex]=\"stepFlex\"\r\n [ngSwitch]=\"type\"\r\n>\r\n <ng-container *ngSwitchCase=\"'circle'\">\r\n <ng-container *ngTemplateOutlet=\"circleTpl\"> </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dashboard'\">\r\n <ng-container *ngTemplateOutlet=\"dashboardTpl\"> </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"lineTpl\"> </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #lineTpl>\r\n <ng-container *ngIf=\"stepsArray.length === 0\">\r\n <ng-container *ngTemplateOutlet=\"trackTpl\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepsArray.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"stepsTpl\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"info && !inside\">\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #circleTpl>\r\n <div class=\"x-progress-ring\" [style.width]=\"size\" [style.height]=\"size\">\r\n <div class=\"x-progress-ring-rail\" [style.border-width]=\"thickness\"></div>\r\n <div\r\n class=\"x-progress-ring-bg\"\r\n [style.clip-path]=\"circleClipPath\"\r\n [style.background-color]=\"currentColor\"\r\n [style.border-width]=\"thickness\"\r\n ></div>\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #dashboardTpl>\r\n <div class=\"x-progress-ring\" [style.width]=\"size\" [style.height]=\"size\">\r\n <div class=\"x-progress-ring-rail\" [style.clip-path]=\"dashboardRailClipPath\" [style.border-width]=\"thickness\"></div>\r\n <div\r\n class=\"x-progress-ring-bg\"\r\n [style.clip-path]=\"dashboardClipPath\"\r\n [style.background-color]=\"currentColor\"\r\n [style.border-width]=\"thickness\"\r\n ></div>\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #trackTpl>\r\n <div class=\"x-progress-track\">\r\n <div class=\"x-progress-rail\" [class.x-progress-mask]=\"subsection\" [style.background-image]=\"subsection ? subLinearGradient : 'none'\">\r\n <div\r\n class=\"x-progress-bg\"\r\n [style.width.%]=\"percent\"\r\n [style.background-color]=\"currentColor\"\r\n [style.background-image]=\"linearGradient\"\r\n [style.height]=\"height\"\r\n [style.line-height]=\"height\"\r\n >\r\n <ng-container *ngIf=\"info && inside\">\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div\r\n *ngIf=\"subsection\"\r\n class=\"x-progress-bg-mask\"\r\n [style.width.%]=\"maskWidth\"\r\n [style.height]=\"height\"\r\n [style.line-height]=\"height\"\r\n ></div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #stepsTpl>\r\n <div\r\n *ngFor=\"let step of stepsArray\"\r\n class=\"x-progress-step\"\r\n [class.x-progress-step-active]=\"step\"\r\n [style.background-color]=\"currentColor\"\r\n [style.width]=\"stepWidth\"\r\n [style.flex]=\"stepFlex ? 1 : 'none'\"\r\n [style.height]=\"height\"\r\n [style.line-height]=\"height\"\r\n ></div>\r\n</ng-template>\r\n\r\n<ng-template #textTpl>\r\n <span class=\"x-progress-text\" [ngSwitch]=\"status\">\r\n <ng-container *ngSwitchCase=\"'success'\">\r\n <x-icon type=\"fto-check-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'exception'\">\r\n <x-icon type=\"fto-x-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'warning'\">\r\n <x-icon type=\"fto-help-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngIf=\"format; else defaultTemp\">{{ onFormat(percent) }}</ng-container>\r\n <ng-template #defaultTemp>{{ percent }}%</ng-template>\r\n </ng-container>\r\n </span>\r\n</ng-template>\r\n", styles: ["@keyframes x-progress-active{0%{width:0;opacity:.1}20%{width:0;opacity:.5}to{width:100%;opacity:0}}x-progress{display:initial}.x-progress{margin:0;padding:0;display:inline-flex;align-items:center;width:100%}.x-progress-track{width:100%;display:inline-flex;align-items:center}.x-progress-rail{position:relative;display:inline-flex;width:100%;overflow:hidden;vertical-align:middle;background-color:var(--x-border-100);border-radius:var(--x-border-radius)}.x-progress-bg{position:relative;background-color:var(--x-primary);transition:width .3s cubic-bezier(.08,.82,.17,1) 0s;border-radius:var(--x-border-radius);text-align:right;color:#fff}.x-progress-bg>span{margin:0 .325rem}.x-progress-circle,.x-progress-dashboard,.x-progress-steps:not(.x-progress-steps-flex){width:initial}.x-progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center}.x-progress-ring-rail{position:absolute;width:100%;height:100%;border-style:solid;border-color:var(--x-border-100);border-radius:100%}.x-progress-ring-bg{position:absolute;width:100%;height:100%;border-style:solid;border-color:var(--x-primary);border-radius:100%;transition:-webkit-clip-path .3s cubic-bezier(.08,.82,.17,1) 0s;transition:clip-path .3s cubic-bezier(.08,.82,.17,1) 0s;transition:clip-path .3s cubic-bezier(.08,.82,.17,1) 0s,-webkit-clip-path .3s cubic-bezier(.08,.82,.17,1) 0s}.x-progress-ring .x-progress-text{margin-left:0;justify-content:center;font-size:var(--x-font-size-large)}.x-progress-mask .x-progress-bg{background:transparent}.x-progress-bg-mask{transition:width .3s cubic-bezier(.08,.82,.17,1) 0s;background-color:var(--x-border-100);border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-progress-step{background-color:var(--x-border-100);border-radius:var(--x-border-radius)}.x-progress-step:not(:first-child){margin-left:.125rem}.x-progress-step-active{background-color:var(--x-primary)}.x-progress-text{margin-left:.5rem;width:3.25rem;display:inline-flex;align-items:center;white-space:nowrap}.x-progress-active .x-progress-bg:before{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--x-background-100);border-radius:var(--x-border-radius);opacity:0;animation:x-progress-active 2s cubic-bezier(.23,1,.32,1) infinite;content:\"\"}.x-progress-exception .x-progress-text{color:var(--x-danger)}.x-progress-exception .x-progress-bg,.x-progress-exception .x-progress-step-active{background-color:var(--x-danger)}.x-progress-exception .x-progress-ring-bg{border-color:var(--x-danger)}.x-progress-success .x-progress-text{color:var(--x-success)}.x-progress-success .x-progress-bg,.x-progress-success .x-progress-step-active{background-color:var(--x-success)}.x-progress-success .x-progress-ring-bg{border-color:var(--x-success)}.x-progress-warning .x-progress-text{color:var(--x-warning)}.x-progress-warning .x-progress-bg,.x-progress-warning .x-progress-step-active{background-color:var(--x-warning)}.x-progress-warning .x-progress-ring-bg{border-color:var(--x-warning)}\n"], components: [{ type: i2.XIconComponent, selector: "x-icon" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XProgressComponent, decorators: [{
57
218
  type: Component,
58
- args: [{ selector: `${XProgressPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-progress\" [ngClass]=\"classMap\">\r\n <div class=\"x-progress-track\">\r\n <div class=\"x-progress-rail\">\r\n <div\r\n class=\"x-progress-bg\"\r\n [style.width.%]=\"percent\"\r\n [style.background-color]=\"currentColor\"\r\n [style.height]=\"height\"\r\n [style.line-height]=\"height\"\r\n >\r\n <span *ngIf=\"inside\">{{ percent }}%</span>\r\n </div>\r\n </div>\r\n </div>\r\n <span class=\"x-progress-text\" *ngIf=\"info && !inside\" [ngSwitch]=\"status\">\r\n <ng-container *ngSwitchCase=\"'success'\">\r\n <x-icon type=\"fto-check-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'exception'\">\r\n <x-icon type=\"fto-x-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'warning'\">\r\n <x-icon type=\"fto-help-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngIf=\"format; else defaultTemp\">{{ onFormat(percent) }}</ng-container>\r\n <ng-template #defaultTemp>{{ percent }}%</ng-template>\r\n </ng-container>\r\n </span>\r\n</div>\r\n", styles: ["@keyframes x-progress-active{0%{width:0;opacity:.1}20%{width:0;opacity:.5}to{width:100%;opacity:0}}x-progress{display:flex;align-items:center}.x-progress{margin:0;padding:0;display:inline-flex;align-items:center;width:100%}.x-progress-track{width:100%;display:inline-flex;align-items:center}.x-progress-rail{position:relative;display:inline-block;width:100%;overflow:hidden;vertical-align:middle;background-color:var(--x-border-100);border-radius:var(--x-border-radius)}.x-progress-bg{position:relative;background-color:var(--x-primary);transition:all .3s cubic-bezier(.08,.82,.17,1) 0s;border-radius:var(--x-border-radius);text-align:right;color:#fff}.x-progress-bg>span{margin:0 .325rem}.x-progress-text{margin-left:.5rem;display:inline-flex;align-items:center;white-space:nowrap}.x-progress-active .x-progress-bg:before{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--x-background-100);border-radius:var(--x-border-radius);opacity:0;animation:x-progress-active 2s cubic-bezier(.23,1,.32,1) infinite;content:\"\"}.x-progress-exception .x-progress-text{color:var(--x-danger)}.x-progress-exception .x-progress-bg{background-color:var(--x-danger)}.x-progress-success .x-progress-text{color:var(--x-success)}.x-progress-success .x-progress-bg{background-color:var(--x-success)}.x-progress-warning .x-progress-text{color:var(--x-warning)}.x-progress-warning .x-progress-bg{background-color:var(--x-warning)}\n"] }]
219
+ args: [{ selector: `${XProgressPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"x-progress\"\r\n [ngClass]=\"classMap\"\r\n [class.x-progress-steps]=\"stepsArray.length > 0\"\r\n [class.x-progress-steps-flex]=\"stepFlex\"\r\n [ngSwitch]=\"type\"\r\n>\r\n <ng-container *ngSwitchCase=\"'circle'\">\r\n <ng-container *ngTemplateOutlet=\"circleTpl\"> </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dashboard'\">\r\n <ng-container *ngTemplateOutlet=\"dashboardTpl\"> </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"lineTpl\"> </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #lineTpl>\r\n <ng-container *ngIf=\"stepsArray.length === 0\">\r\n <ng-container *ngTemplateOutlet=\"trackTpl\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepsArray.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"stepsTpl\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"info && !inside\">\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #circleTpl>\r\n <div class=\"x-progress-ring\" [style.width]=\"size\" [style.height]=\"size\">\r\n <div class=\"x-progress-ring-rail\" [style.border-width]=\"thickness\"></div>\r\n <div\r\n class=\"x-progress-ring-bg\"\r\n [style.clip-path]=\"circleClipPath\"\r\n [style.background-color]=\"currentColor\"\r\n [style.border-width]=\"thickness\"\r\n ></div>\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #dashboardTpl>\r\n <div class=\"x-progress-ring\" [style.width]=\"size\" [style.height]=\"size\">\r\n <div class=\"x-progress-ring-rail\" [style.clip-path]=\"dashboardRailClipPath\" [style.border-width]=\"thickness\"></div>\r\n <div\r\n class=\"x-progress-ring-bg\"\r\n [style.clip-path]=\"dashboardClipPath\"\r\n [style.background-color]=\"currentColor\"\r\n [style.border-width]=\"thickness\"\r\n ></div>\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #trackTpl>\r\n <div class=\"x-progress-track\">\r\n <div class=\"x-progress-rail\" [class.x-progress-mask]=\"subsection\" [style.background-image]=\"subsection ? subLinearGradient : 'none'\">\r\n <div\r\n class=\"x-progress-bg\"\r\n [style.width.%]=\"percent\"\r\n [style.background-color]=\"currentColor\"\r\n [style.background-image]=\"linearGradient\"\r\n [style.height]=\"height\"\r\n [style.line-height]=\"height\"\r\n >\r\n <ng-container *ngIf=\"info && inside\">\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div\r\n *ngIf=\"subsection\"\r\n class=\"x-progress-bg-mask\"\r\n [style.width.%]=\"maskWidth\"\r\n [style.height]=\"height\"\r\n [style.line-height]=\"height\"\r\n ></div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #stepsTpl>\r\n <div\r\n *ngFor=\"let step of stepsArray\"\r\n class=\"x-progress-step\"\r\n [class.x-progress-step-active]=\"step\"\r\n [style.background-color]=\"currentColor\"\r\n [style.width]=\"stepWidth\"\r\n [style.flex]=\"stepFlex ? 1 : 'none'\"\r\n [style.height]=\"height\"\r\n [style.line-height]=\"height\"\r\n ></div>\r\n</ng-template>\r\n\r\n<ng-template #textTpl>\r\n <span class=\"x-progress-text\" [ngSwitch]=\"status\">\r\n <ng-container *ngSwitchCase=\"'success'\">\r\n <x-icon type=\"fto-check-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'exception'\">\r\n <x-icon type=\"fto-x-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'warning'\">\r\n <x-icon type=\"fto-help-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngIf=\"format; else defaultTemp\">{{ onFormat(percent) }}</ng-container>\r\n <ng-template #defaultTemp>{{ percent }}%</ng-template>\r\n </ng-container>\r\n </span>\r\n</ng-template>\r\n", styles: ["@keyframes x-progress-active{0%{width:0;opacity:.1}20%{width:0;opacity:.5}to{width:100%;opacity:0}}x-progress{display:initial}.x-progress{margin:0;padding:0;display:inline-flex;align-items:center;width:100%}.x-progress-track{width:100%;display:inline-flex;align-items:center}.x-progress-rail{position:relative;display:inline-flex;width:100%;overflow:hidden;vertical-align:middle;background-color:var(--x-border-100);border-radius:var(--x-border-radius)}.x-progress-bg{position:relative;background-color:var(--x-primary);transition:width .3s cubic-bezier(.08,.82,.17,1) 0s;border-radius:var(--x-border-radius);text-align:right;color:#fff}.x-progress-bg>span{margin:0 .325rem}.x-progress-circle,.x-progress-dashboard,.x-progress-steps:not(.x-progress-steps-flex){width:initial}.x-progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center}.x-progress-ring-rail{position:absolute;width:100%;height:100%;border-style:solid;border-color:var(--x-border-100);border-radius:100%}.x-progress-ring-bg{position:absolute;width:100%;height:100%;border-style:solid;border-color:var(--x-primary);border-radius:100%;transition:-webkit-clip-path .3s cubic-bezier(.08,.82,.17,1) 0s;transition:clip-path .3s cubic-bezier(.08,.82,.17,1) 0s;transition:clip-path .3s cubic-bezier(.08,.82,.17,1) 0s,-webkit-clip-path .3s cubic-bezier(.08,.82,.17,1) 0s}.x-progress-ring .x-progress-text{margin-left:0;justify-content:center;font-size:var(--x-font-size-large)}.x-progress-mask .x-progress-bg{background:transparent}.x-progress-bg-mask{transition:width .3s cubic-bezier(.08,.82,.17,1) 0s;background-color:var(--x-border-100);border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-progress-step{background-color:var(--x-border-100);border-radius:var(--x-border-radius)}.x-progress-step:not(:first-child){margin-left:.125rem}.x-progress-step-active{background-color:var(--x-primary)}.x-progress-text{margin-left:.5rem;width:3.25rem;display:inline-flex;align-items:center;white-space:nowrap}.x-progress-active .x-progress-bg:before{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--x-background-100);border-radius:var(--x-border-radius);opacity:0;animation:x-progress-active 2s cubic-bezier(.23,1,.32,1) infinite;content:\"\"}.x-progress-exception .x-progress-text{color:var(--x-danger)}.x-progress-exception .x-progress-bg,.x-progress-exception .x-progress-step-active{background-color:var(--x-danger)}.x-progress-exception .x-progress-ring-bg{border-color:var(--x-danger)}.x-progress-success .x-progress-text{color:var(--x-success)}.x-progress-success .x-progress-bg,.x-progress-success .x-progress-step-active{background-color:var(--x-success)}.x-progress-success .x-progress-ring-bg{border-color:var(--x-success)}.x-progress-warning .x-progress-text{color:var(--x-warning)}.x-progress-warning .x-progress-bg,.x-progress-warning .x-progress-step-active{background-color:var(--x-warning)}.x-progress-warning .x-progress-ring-bg{border-color:var(--x-warning)}\n"] }]
59
220
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBR3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBMkIsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7QUFTeEgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGlCQUFpQjtJQUd2RCxZQUNTLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtJQUd0QyxDQUFDO0lBRUQsUUFBUSxLQUFJLENBQUM7SUFFYixXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDcEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN4QyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLENBQUMsR0FBRyxlQUFlLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSTtZQUMzQyxDQUFDLEdBQUcsZUFBZSxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUNwRCxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNqQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBZSxDQUFDO1NBQzFDO2FBQU0sSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDdEQ7YUFBTSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBSSxJQUFJLENBQUMsS0FBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQWdCO1FBQzVCLElBQUksTUFBTSxHQUFJLElBQUksQ0FBQyxLQUE4QyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hHLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3ZDLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQzthQUN4QjtTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDekMsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFnQjtRQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDOztxSkFsRFUsa0JBQWtCO3lJQUFsQixrQkFBa0IsOEZDckIvQixncENBOEJBOzJGRFRhLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxHQUFHLGVBQWUsRUFBRSxpQkFHZixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhQcm9ncmVzc1ByZWZpeCwgWFByb2dyZXNzUHJvcGVydHkgfSBmcm9tICcuL3Byb2dyZXNzLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzRnVuY3Rpb24sIFhJc1N0cmluZywgWElzT2JqZWN0QXJyYXksIFhJc0VtcHR5LCBYSXNDaGFuZ2UsIFhOdW1iZXIsIFhDb25maWdTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WFByb2dyZXNzUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wcm9ncmVzcy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhQcm9ncmVzc0NvbXBvbmVudCBleHRlbmRzIFhQcm9ncmVzc1Byb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIGN1cnJlbnRDb2xvciE6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKHNpbXBsZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgc3RhdHVzLCBwZXJjZW50IH0gPSBzaW1wbGVzO1xyXG4gICAgWElzQ2hhbmdlKHN0YXR1cykgJiYgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gICAgWElzQ2hhbmdlKHBlcmNlbnQpICYmIHRoaXMuc2V0Q29sb3IoKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgdGhpcy5jbGFzc01hcCA9IHtcclxuICAgICAgW2Ake1hQcm9ncmVzc1ByZWZpeH0tJHt0aGlzLnN0YXR1c31gXTogdHJ1ZSxcclxuICAgICAgW2Ake1hQcm9ncmVzc1ByZWZpeH0taW5zaWRlYF06IEJvb2xlYW4odGhpcy5pbnNpZGUpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2V0Q29sb3IoKSB7XHJcbiAgICBpZiAoWElzRW1wdHkodGhpcy5jb2xvcikpIHJldHVybjtcclxuICAgIGlmIChYSXNTdHJpbmcodGhpcy5jb2xvcikpIHtcclxuICAgICAgdGhpcy5jdXJyZW50Q29sb3IgPSB0aGlzLmNvbG9yIGFzIHN0cmluZztcclxuICAgIH0gZWxzZSBpZiAoWElzT2JqZWN0QXJyYXkodGhpcy5jb2xvcikpIHtcclxuICAgICAgdGhpcy5jdXJyZW50Q29sb3IgPSB0aGlzLmdldExldmVsQ29sb3IodGhpcy5wZXJjZW50KTtcclxuICAgIH0gZWxzZSBpZiAoWElzRnVuY3Rpb24odGhpcy5jb2xvcikpIHtcclxuICAgICAgdGhpcy5jdXJyZW50Q29sb3IgPSAodGhpcy5jb2xvciBhcyBGdW5jdGlvbikodGhpcy5wZXJjZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldExldmVsQ29sb3IocGVyY2VudDogWE51bWJlcikge1xyXG4gICAgbGV0IGNvbG9ycyA9ICh0aGlzLmNvbG9yIGFzIHsgY29sb3I6IHN0cmluZzsgcGVyY2VudDogbnVtYmVyIH1bXSkuc29ydCgoYSwgYikgPT4gYS5wZXJjZW50IC0gYi5wZXJjZW50KTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sb3JzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmIChjb2xvcnNbaV0ucGVyY2VudCA+IE51bWJlcihwZXJjZW50KSkge1xyXG4gICAgICAgIHJldHVybiBjb2xvcnNbaV0uY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBjb2xvcnNbY29sb3JzLmxlbmd0aCAtIDFdLmNvbG9yO1xyXG4gIH1cclxuXHJcbiAgb25Gb3JtYXQocGVyY2VudDogWE51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0ICYmIHRoaXMuZm9ybWF0KHBlcmNlbnQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwieC1wcm9ncmVzc1wiIFtuZ0NsYXNzXT1cImNsYXNzTWFwXCI+XHJcbiAgPGRpdiBjbGFzcz1cIngtcHJvZ3Jlc3MtdHJhY2tcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LXByb2dyZXNzLXJhaWxcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwieC1wcm9ncmVzcy1iZ1wiXHJcbiAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwicGVyY2VudFwiXHJcbiAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiY3VycmVudENvbG9yXCJcclxuICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodFwiXHJcbiAgICAgICAgW3N0eWxlLmxpbmUtaGVpZ2h0XT1cImhlaWdodFwiXHJcbiAgICAgID5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cImluc2lkZVwiPnt7IHBlcmNlbnQgfX0lPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxzcGFuIGNsYXNzPVwieC1wcm9ncmVzcy10ZXh0XCIgKm5nSWY9XCJpbmZvICYmICFpbnNpZGVcIiBbbmdTd2l0Y2hdPVwic3RhdHVzXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc3VjY2VzcydcIj5cclxuICAgICAgPHgtaWNvbiB0eXBlPVwiZnRvLWNoZWNrLWNpcmNsZVwiPjwveC1pY29uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZXhjZXB0aW9uJ1wiPlxyXG4gICAgICA8eC1pY29uIHR5cGU9XCJmdG8teC1jaXJjbGVcIj48L3gtaWNvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3dhcm5pbmcnXCI+XHJcbiAgICAgIDx4LWljb24gdHlwZT1cImZ0by1oZWxwLWNpcmNsZVwiPjwveC1pY29uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmb3JtYXQ7IGVsc2UgZGVmYXVsdFRlbXBcIj57eyBvbkZvcm1hdChwZXJjZW50KSB9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wPnt7IHBlcmNlbnQgfX0lPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvc3Bhbj5cclxuPC9kaXY+XHJcbiJdfQ==
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBR3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxjQUFjLEVBQ2QsUUFBUSxFQUNSLFNBQVMsRUFHVCxTQUFTLEVBQ1YsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7QUFVMUIsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGlCQUFpQjtJQWF2RCxZQUNTLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQWR0QyxlQUFVLEdBQW1CLEVBQUUsQ0FBQztJQWlCaEMsQ0FBQztJQVhELElBQUksU0FBUztRQUNYLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUNwRSxDQUFDO0lBV0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFB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QUMsQ0FBQztJQUM3QyxDQUFDOztxSkFuTlUsa0JBQWtCO3lJQUFsQixrQkFBa0IsOEZDOUIvQiw2bElBZ0hBOzJGRGxGYSxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0UsR0FBRyxlQUFlLEVBQUUsaUJBR2YsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhQcm9ncmVzc1ByZWZpeCwgWFByb2dyZXNzUHJvcGVydHkgfSBmcm9tICcuL3Byb2dyZXNzLnByb3BlcnR5JztcclxuaW1wb3J0IHtcclxuICBYSXNGdW5jdGlvbixcclxuICBYSXNTdHJpbmcsXHJcbiAgWElzT2JqZWN0QXJyYXksXHJcbiAgWElzRW1wdHksXHJcbiAgWElzQ2hhbmdlLFxyXG4gIFhOdW1iZXIsXHJcbiAgWENvbmZpZ1NlcnZpY2UsXHJcbiAgWElzTnVtYmVyXHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhQcm9ncmVzc0NvbG9yTm9kZSB9IGZyb20gJy4vcHJvZ3Jlc3MucHJvcGVydHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hQcm9ncmVzc1ByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZ3Jlc3MuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYUHJvZ3Jlc3NDb21wb25lbnQgZXh0ZW5kcyBYUHJvZ3Jlc3NQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgY3VycmVudENvbG9yITogc3RyaW5nO1xyXG4gIGxpbmVhckdyYWRpZW50ITogc3RyaW5nO1xyXG4gIHN0ZXBzQXJyYXk6IEFycmF5PGJvb2xlYW4+ID0gW107XHJcbiAgY2lyY2xlQ2xpcFBhdGghOiBzdHJpbmc7XHJcbiAgZGFzaGJvYXJkQ2xpcFBhdGghOiBzdHJpbmc7XHJcbiAgZGFzaGJvYXJkUmFpbENsaXBQYXRoITogc3RyaW5nO1xyXG4gIHN1YkxpbmVhckdyYWRpZW50ITogc3RyaW5nO1xyXG5cclxuICBnZXQgbWFza1dpZHRoKCkge1xyXG4gICAgcmV0dXJuIFhJc051bWJlcih0aGlzLnBlcmNlbnQpID8gMTAwIC0gTnVtYmVyKHRoaXMucGVyY2VudCkgOiAxMDA7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKHNpbXBsZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgc3RhdHVzLCBwZXJjZW50LCBncmFkaWVudCwgc3RlcHMsIHR5cGUsIG5vdGNoQW5nbGUgfSA9IHNpbXBsZXM7XHJcbiAgICBYSXNDaGFuZ2UodHlwZSwgc3RhdHVzKSAmJiB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgICBYSXNDaGFuZ2UocGVyY2VudCkgJiYgdGhpcy5zZXRDb2xvcigpO1xyXG4gICAgWElzQ2hhbmdlKGdyYWRpZW50KSAmJiB0aGlzLnNldEdyYWRpZW50KCk7XHJcbiAgICBYSXNDaGFuZ2Uoc3RlcHMsIHBlcmNlbnQpICYmIHRoaXMuc2V0U3RlcHMoKTtcclxuICAgIFhJc0NoYW5nZSh0eXBlLCBwZXJjZW50LCBub3RjaEFuZ2xlKSAmJiB0aGlzLnNldFR5cGUoKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgdGhpcy5jbGFzc01hcCA9IHtcclxuICAgICAgW2Ake1hQcm9ncmVzc1ByZWZpeH0tJHt0aGlzLnN0YXR1c31gXTogdHJ1ZSxcclxuICAgICAgW2Ake1hQcm9ncmVzc1ByZWZpeH0tJHt0aGlzLnR5cGV9YF06IHRydWUsXHJcbiAgICAgIFtgJHtYUHJvZ3Jlc3NQcmVmaXh9LWluc2lkZWBdOiBCb29sZWFuKHRoaXMuaW5zaWRlKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldENvbG9yKCkge1xyXG4gICAgaWYgKHRoaXMuc3Vic2VjdGlvbikge1xyXG4gICAgICB0aGlzLnNldFN1YkxpbmVhckdyYWRpZW50KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoWElzRW1wdHkodGhpcy5jb2xvcikpIHJldHVybjtcclxuICAgICAgaWYgKFhJc1N0cmluZyh0aGlzLmNvbG9yKSkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudENvbG9yID0gdGhpcy5jb2xvciBhcyBzdHJpbmc7XHJcbiAgICAgIH0gZWxzZSBpZiAoWElzT2JqZWN0QXJyYXkodGhpcy5jb2xvcikpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRDb2xvciA9IHRoaXMuZ2V0TGV2ZWxDb2xvcih0aGlzLnBlcmNlbnQpO1xyXG4gICAgICB9IGVsc2UgaWYgKFhJc0Z1bmN0aW9uKHRoaXMuY29sb3IpKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Q29sb3IgPSAodGhpcy5jb2xvciBhcyBGdW5jdGlvbikodGhpcy5wZXJjZW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0TGV2ZWxDb2xvcihwZXJjZW50OiBYTnVtYmVyKSB7XHJcbiAgICBsZXQgY29sb3JzID0gKHRoaXMuY29sb3IgYXMgWFByb2dyZXNzQ29sb3JOb2RlW10pLnNvcnQoKGEsIGIpID0+IGEucGVyY2VudCAtIGIucGVyY2VudCk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbG9ycy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoY29sb3JzW2ldLnBlcmNlbnQgPiBOdW1iZXIocGVyY2VudCkpIHtcclxuICAgICAgICByZXR1cm4gY29sb3JzW2ldLmNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29sb3JzW2NvbG9ycy5sZW5ndGggLSAxXS5jb2xvcjtcclxuICB9XHJcblxyXG4gIHNldEdyYWRpZW50KCkge1xyXG4gICAgaWYgKHRoaXMuc3Vic2VjdGlvbikgcmV0dXJuO1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMuZ3JhZGllbnQpKSB7XHJcbiAgICAgIHRoaXMubGluZWFyR3JhZGllbnQgPSAnJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHsgZnJvbSwgdG8sIGRpcmVjdGlvbiA9ICd0byByaWdodCcsIC4uLnBlcmNlbnRzIH0gPSB0aGlzLmdyYWRpZW50IHx8IHt9O1xyXG4gICAgICBpZiAoT2JqZWN0LmtleXMocGVyY2VudHMpLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICAgIHRoaXMubGluZWFyR3JhZGllbnQgPSBgbGluZWFyLWdyYWRpZW50KCR7ZGlyZWN0aW9ufSwgJHt0aGlzLnNvcnRHcmFkaWVudChwZXJjZW50cyBhcyB7IFtwZXJjZW50OiBzdHJpbmddOiBzdHJpbmcgfSkubWFwKFxyXG4gICAgICAgICAgKHsga2V5LCB2YWx1ZSB9KSA9PiBgJHt2YWx1ZX0gJHtrZXl9JWBcclxuICAgICAgICApfSlgO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmxpbmVhckdyYWRpZW50ID0gYGxpbmVhci1ncmFkaWVudCgke2RpcmVjdGlvbn0sICR7ZnJvbX0sICR7dG99KWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzb3J0R3JhZGllbnQocGVyY2VudHM6IHsgW3BlcmNlbnQ6IHN0cmluZ106IHN0cmluZyB9KSB7XHJcbiAgICBsZXQgYXJyOiB7IGtleTogbnVtYmVyOyB2YWx1ZTogc3RyaW5nIH1bXSA9IFtdO1xyXG4gICAgT2JqZWN0LmtleXMocGVyY2VudHMpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IHBlcmNlbnRzW2tleV07XHJcbiAgICAgIGNvbnN0IG51bUtleSA9ICtrZXkucmVwbGFjZSgnJScsICcnKTtcclxuICAgICAgaWYgKCFpc05hTihudW1LZXkpKSB7XHJcbiAgICAgICAgYXJyLnB1c2goeyBrZXk6IG51bUtleSwgdmFsdWUgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGFyci5zb3J0KChhLCBiKSA9PiBhLmtleSAtIGIua2V5KTtcclxuICB9XHJcblxyXG4gIHNldFN1YkxpbmVhckdyYWRpZW50KCkge1xyXG4gICAgbGV0IGNvbG9ycyA9IHRoaXMuY29sb3IgYXMgWFByb2dyZXNzQ29sb3JOb2RlW107XHJcbiAgICBpZiAoIWNvbG9ycyB8fCBjb2xvcnMubGVuZ3RoIDw9IDApIHtcclxuICAgICAgdGhpcy5zdWJMaW5lYXJHcmFkaWVudCA9IGBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLXgtcHJpbWFyeSkgMCUsIHZhcigtLXgtcHJpbWFyeSkgMTAwJSlgO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IGVsc2UgaWYgKGNvbG9ycy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgY29sb3JzLnB1c2goeyBwZXJjZW50OiAxMDAsIGNvbG9yOiAndmFyKC0teC1wcmltYXJ5KScgfSk7XHJcbiAgICB9XHJcbiAgICBjb2xvcnMgPSBjb2xvcnMuc29ydCgoYSwgYikgPT4gYS5wZXJjZW50IC0gYi5wZXJjZW50KTtcclxuICAgIGxldCBsZ3M6IHN0cmluZ1tdID0gW107XHJcbiAgICBjb2xvcnMucmVkdWNlKChhLCBiLCBpbmRleCkgPT4ge1xyXG4gICAgICBpZiAoaW5kZXggPT09IDEgJiYgYS5wZXJjZW50ID4gMCkge1xyXG4gICAgICAgIGxncy5wdXNoKGAke2EuY29sb3J9IDAlLCAke2EuY29sb3J9ICR7YS5wZXJjZW50fSVgKTtcclxuICAgICAgfVxyXG4gICAgICBsZ3MucHVzaChgJHtiLmNvbG9yfSAke2EucGVyY2VudH0lLCAke2IuY29sb3J9ICR7Yi5wZXJjZW50fSVgKTtcclxuICAgICAgaWYgKGluZGV4ID09PSBjb2xvcnMubGVuZ3RoIC0gMSAmJiBiLnBlcmNlbnQgPCAxMDApIHtcclxuICAgICAgICBsZ3MucHVzaChgdmFyKC0teC1wcmltYXJ5KSAke2IucGVyY2VudH0lLCB2YXIoLS14LXByaW1hcnkpIDEwMCVgKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gYjtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zdWJMaW5lYXJHcmFkaWVudCA9IGBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsJHtsZ3Muam9pbignLCcpfSlgO1xyXG4gIH1cclxuXHJcbiAgc2V0U3RlcHMoKSB7XHJcbiAgICBpZiAoWElzRW1wdHkodGhpcy5zdGVwcykpIHtcclxuICAgICAgdGhpcy5zdGVwc0FycmF5ID0gW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBjcml0aWNhbCA9IE1hdGguY2VpbCgoTnVtYmVyKHRoaXMucGVyY2VudCkgLyAxMDApICogdGhpcy5zdGVwcyEpO1xyXG4gICAgICB0aGlzLnN0ZXBzQXJyYXkgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLnN0ZXBzIGFzIG51bWJlciB9KS5tYXAoKF8sIGluZGV4KSA9PiBpbmRleCArIDEgPD0gY3JpdGljYWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0VHlwZSgpIHtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdjaXJjbGUnKSB7XHJcbiAgICAgIHRoaXMuc2V0Q2lyY2xlQ2xpcFBhdGgoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnZGFzaGJvYXJkJykge1xyXG4gICAgICB0aGlzLnNldERhc2hib2FyZENsaXBQYXRoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBjaXJjbGUg5Lit55qEIDEwMCUg562J5LqOIGNsaXAtcGF0aCDkuK3nmoQgNDAwJVxyXG4gICAqL1xyXG4gIHNldENpcmNsZUNsaXBQYXRoKCkge1xyXG4gICAgbGV0IHZhbHVlID0gTnVtYmVyKHRoaXMucGVyY2VudCkgKiA0O1xyXG4gICAgbGV0IGsxID0gJ3BvbHlnb24oNTAlIDUwJSw1MCUgMCUsJztcclxuICAgIGxldCBrMiA9IGsxICsgJzEwMCUgMCUsJztcclxuICAgIGxldCBrMyA9IGsyICsgJzEwMCUgMTAwJSwnO1xyXG4gICAgbGV0IGs0ID0gazMgKyAnMCUgMTAwJSwnO1xyXG4gICAgbGV0IGs1ID0gazQgKyAnMCUgMCUsJztcclxuICAgIGlmICh2YWx1ZSA8PSA1MCkge1xyXG4gICAgICB2YWx1ZSArPSA1MDtcclxuICAgICAgdGhpcy5jaXJjbGVDbGlwUGF0aCA9IGAke2sxfSR7dmFsdWV9JSAwJSlgO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSA+IDUwICYmIHZhbHVlIDw9IDE1MCkge1xyXG4gICAgICB2YWx1ZSAtPSA1MDtcclxuICAgICAgdGhpcy5jaXJjbGVDbGlwUGF0aCA9IGAke2syfTEwMCUgJHt2YWx1ZX0lKWA7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlID4gMTUwICYmIHZhbHVlIDw9IDI1MCkge1xyXG4gICAgICB2YWx1ZSA9IDI1MCAtIHZhbHVlO1xyXG4gICAgICB0aGlzLmNpcmNsZUNsaXBQYXRoID0gYCR7azN9JHt2YWx1ZX0lIDEwMCUpYDtcclxuICAgIH0gZWxzZSBpZiAodmFsdWUgPiAyNTAgJiYgdmFsdWUgPD0gMzUwKSB7XHJcbiAgICAgIHZhbHVlID0gMzUwIC0gdmFsdWU7XHJcbiAgICAgIHRoaXMuY2lyY2xlQ2xpcFBhdGggPSBgJHtrNH0wJSAke3ZhbHVlfSUpYDtcclxuICAgIH0gZWxzZSBpZiAodmFsdWUgPiAzNTAgJiYgdmFsdWUgPD0gNDAwKSB7XHJcbiAgICAgIHZhbHVlIC09IDM1MDtcclxuICAgICAgdGhpcy5jaXJjbGVDbGlwUGF0aCA9IGAke2s1fSR7dmFsdWV9JSAwJSlgO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiA5MCBwb2x5Z29uKDUwJSA1MCUsIDAlIDEwMCUsIDAlIDAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xyXG4gICAqIDE4MCBwb2x5Z29uKDUwJSA1MCUsIDAlIDUwJSwgMCUgMCUsIDEwMCUgMCUsIDEwMCUgNTAlKTtcclxuICAgKiAyNzAgcG9seWdvbig1MCUgNTAlLCAwJSAwJSwgMTAwJSAwJSk7XHJcbiAgICovXHJcbiAgc2V0RGFzaGJvYXJkQ2xpcFBhdGgoKSB7XHJcbiAgICBsZXQgcmFpbFZhbHVlID0gKE51bWJlcih0aGlzLm5vdGNoQW5nbGUpIC8gMzYwKSAqIDUwICogNDtcclxuICAgIGxldCBrMSA9IGBwb2x5Z29uKDUwJSA1MCUsYDtcclxuICAgIGxldCBzdGFydCA9ICcnO1xyXG4gICAgbGV0IHBlciA9IDA7XHJcbiAgICBpZiAocmFpbFZhbHVlIDw9IDUwKSB7XHJcbiAgICAgIHBlciA9IDUwIC0gcmFpbFZhbHVlO1xyXG4gICAgICBzdGFydCA9IGAke2sxfSAke3Blcn0lIDEwMCVgO1xyXG4gICAgICB0aGlzLmRhc2hib2FyZFJhaWxDbGlwUGF0aCA9IGAke3N0YXJ0fSwgMCUgMTAwJSwgMCUgMCUsIDEwMCUgMCUsIDEwMCUgMTAwJSwgJHsxMDAgLSBwZXJ9JSAxMDAlKWA7XHJcbiAgICB9IGVsc2UgaWYgKHJhaWxWYWx1ZSA+IDUwICYmIHJhaWxWYWx1ZSA8PSAxNTApIHtcclxuICAgICAgcGVyID0gMTUwIC0gcmFpbFZhbHVlO1xyXG4gICAgICBzdGFydCA9IGAke2sxfSAwJSAke3Blcn0lYDtcclxuICAgICAgdGhpcy5kYXNoYm9hcmRSYWlsQ2xpcFBhdGggPSBgJHtzdGFydH0sIDAlIDAlLCAxMDAlIDAlLCAxMDAlICR7cGVyfSUpYDtcclxuICAgIH0gZWxzZSBpZiAocmFpbFZhbHVlID4gMTUwICYmIHJhaWxWYWx1ZSA8PSAyNTApIHtcclxuICAgICAgcGVyID0gcmFpbFZhbHVlIC0gMTUwO1xyXG4gICAgICBzdGFydCA9IGAke2sxfSAke3Blcn0lIDAlYDtcclxuICAgICAgdGhpcy5kYXNoYm9hcmRSYWlsQ2xpcFBhdGggPSBgJHtzdGFydH0sICR7MTAwIC0gcGVyfSUgMCUpYDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNldENpcmNsZUNsaXBQYXRoVmFsdWUoc3RhcnQsIHJhaWxWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBzZXRDaXJjbGVDbGlwUGF0aFZhbHVlKHN0YXJ0OiBzdHJpbmcsIHJhaWxWYWx1ZTogbnVtYmVyKSB7XHJcbiAgICBsZXQgdmFsdWUgPSAoKDQwMCAtIHJhaWxWYWx1ZSAqIDIpIC8gMTAwKSAqIE51bWJlcih0aGlzLnBlcmNlbnQpO1xyXG4gICAgbGV0IHZhbCA9IHZhbHVlICsgcmFpbFZhbHVlO1xyXG4gICAgaWYgKHZhbCA8PSA1MCkge1xyXG4gICAgICB2YWwgPSA1MCAtIHZhbDtcclxuICAgICAgdGhpcy5kYXNoYm9hcmRDbGlwUGF0aCA9IGAke3N0YXJ0fSwgJHt2YWx9JSAxMDAlKWA7XHJcbiAgICB9IGVsc2UgaWYgKHZhbCA+IDUwICYmIHZhbCA8PSAxNTApIHtcclxuICAgICAgdmFsID0gMTUwIC0gdmFsO1xyXG4gICAgICB0aGlzLmRhc2hib2FyZENsaXBQYXRoID0gYCR7c3RhcnR9LCAwJSAxMDAlLCAwJSAke3ZhbH0lKWA7XHJcbiAgICB9IGVsc2UgaWYgKHZhbCA+IDE1MCAmJiB2YWwgPD0gMjUwKSB7XHJcbiAgICAgIHZhbCA9IHZhbCAtIDE1MDtcclxuICAgICAgdGhpcy5kYXNoYm9hcmRDbGlwUGF0aCA9IGAke3N0YXJ0fSwgMCUgMTAwJSwgMCUgMCUsICR7dmFsfSUgMCUpYDtcclxuICAgIH0gZWxzZSBpZiAodmFsID4gMjUwICYmIHZhbCA8PSAzNTApIHtcclxuICAgICAgdmFsID0gdmFsIC0gMjUwO1xyXG4gICAgICB0aGlzLmRhc2hib2FyZENsaXBQYXRoID0gYCR7c3RhcnR9LCAwJSAxMDAlLCAwJSAwJSwgMTAwJSAwJSwgMTAwJSAke3ZhbH0lKWA7XHJcbiAgICB9IGVsc2UgaWYgKHZhbCA+IDM1MCAmJiB2YWwgPD0gNDAwKSB7XHJcbiAgICAgIHZhbCA9IDEwMCAtICh2YWwgLSAzNTApO1xyXG4gICAgICB0aGlzLmRhc2hib2FyZENsaXBQYXRoID0gYCR7c3RhcnR9LCAwJSAxMDAlLCAwJSAwJSwgMTAwJSAwJSwgMTAwJSAxMDAlLCAke3ZhbH0lIDEwMCUpYDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRm9ybWF0KHBlcmNlbnQ6IFhOdW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1hdCAmJiB0aGlzLmZvcm1hdChwZXJjZW50KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwieC1wcm9ncmVzc1wiXHJcbiAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIlxyXG4gIFtjbGFzcy54LXByb2dyZXNzLXN0ZXBzXT1cInN0ZXBzQXJyYXkubGVuZ3RoID4gMFwiXHJcbiAgW2NsYXNzLngtcHJvZ3Jlc3Mtc3RlcHMtZmxleF09XCJzdGVwRmxleFwiXHJcbiAgW25nU3dpdGNoXT1cInR5cGVcIlxyXG4+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NpcmNsZSdcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjaXJjbGVUcGxcIj4gPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2Rhc2hib2FyZCdcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkYXNoYm9hcmRUcGxcIj4gPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmVUcGxcIj4gPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNsaW5lVHBsPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGVwc0FycmF5Lmxlbmd0aCA9PT0gMFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRyYWNrVHBsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0ZXBzQXJyYXkubGVuZ3RoID4gMFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0ZXBzVHBsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluZm8gJiYgIWluc2lkZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRleHRUcGxcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY2lyY2xlVHBsPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXByb2dyZXNzLXJpbmdcIiBbc3R5bGUud2lkdGhdPVwic2l6ZVwiIFtzdHlsZS5oZWlnaHRdPVwic2l6ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtcHJvZ3Jlc3MtcmluZy1yYWlsXCIgW3N0eWxlLmJvcmRlci13aWR0aF09XCJ0aGlja25lc3NcIj48L2Rpdj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJ4LXByb2dyZXNzLXJpbmctYmdcIlxyXG4gICAgICBbc3R5bGUuY2xpcC1wYXRoXT1cImNpcmNsZUNsaXBQYXRoXCJcclxuICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiY3VycmVudENvbG9yXCJcclxuICAgICAgW3N0eWxlLmJvcmRlci13aWR0aF09XCJ0aGlja25lc3NcIlxyXG4gICAgPjwvZGl2PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRleHRUcGxcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGFzaGJvYXJkVHBsPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXByb2dyZXNzLXJpbmdcIiBbc3R5bGUud2lkdGhdPVwic2l6ZVwiIFtzdHlsZS5oZWlnaHRdPVwic2l6ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtcHJvZ3Jlc3MtcmluZy1yYWlsXCIgW3N0eWxlLmNsaXAtcGF0aF09XCJkYXNoYm9hcmRSYWlsQ2xpcFBhdGhcIiBbc3R5bGUuYm9yZGVyLXdpZHRoXT1cInRoaWNrbmVzc1wiPjwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cIngtcHJvZ3Jlc3MtcmluZy1iZ1wiXHJcbiAgICAgIFtzdHlsZS5jbGlwLXBhdGhdPVwiZGFzaGJvYXJkQ2xpcFBhdGhcIlxyXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICBbc3R5bGUuYm9yZGVyLXdpZHRoXT1cInRoaWNrbmVzc1wiXHJcbiAgICA+PC9kaXY+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGV4dFRwbFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICN0cmFja1RwbD5cclxuICA8ZGl2IGNsYXNzPVwieC1wcm9ncmVzcy10cmFja1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtcHJvZ3Jlc3MtcmFpbFwiIFtjbGFzcy54LXByb2dyZXNzLW1hc2tdPVwic3Vic2VjdGlvblwiIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cInN1YnNlY3Rpb24gPyBzdWJMaW5lYXJHcmFkaWVudCA6ICdub25lJ1wiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJ4LXByb2dyZXNzLWJnXCJcclxuICAgICAgICBbc3R5bGUud2lkdGguJV09XCJwZXJjZW50XCJcclxuICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cImxpbmVhckdyYWRpZW50XCJcclxuICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodFwiXHJcbiAgICAgICAgW3N0eWxlLmxpbmUtaGVpZ2h0XT1cImhlaWdodFwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5mbyAmJiBpbnNpZGVcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZXh0VHBsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgKm5nSWY9XCJzdWJzZWN0aW9uXCJcclxuICAgICAgICBjbGFzcz1cIngtcHJvZ3Jlc3MtYmctbWFza1wiXHJcbiAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwibWFza1dpZHRoXCJcclxuICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodFwiXHJcbiAgICAgICAgW3N0eWxlLmxpbmUtaGVpZ2h0XT1cImhlaWdodFwiXHJcbiAgICAgID48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNzdGVwc1RwbD5cclxuICA8ZGl2XHJcbiAgICAqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwc0FycmF5XCJcclxuICAgIGNsYXNzPVwieC1wcm9ncmVzcy1zdGVwXCJcclxuICAgIFtjbGFzcy54LXByb2dyZXNzLXN0ZXAtYWN0aXZlXT1cInN0ZXBcIlxyXG4gICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiY3VycmVudENvbG9yXCJcclxuICAgIFtzdHlsZS53aWR0aF09XCJzdGVwV2lkdGhcIlxyXG4gICAgW3N0eWxlLmZsZXhdPVwic3RlcEZsZXggPyAxIDogJ25vbmUnXCJcclxuICAgIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0XCJcclxuICAgIFtzdHlsZS5saW5lLWhlaWdodF09XCJoZWlnaHRcIlxyXG4gID48L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdGV4dFRwbD5cclxuICA8c3BhbiBjbGFzcz1cIngtcHJvZ3Jlc3MtdGV4dFwiIFtuZ1N3aXRjaF09XCJzdGF0dXNcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzdWNjZXNzJ1wiPlxyXG4gICAgICA8eC1pY29uIHR5cGU9XCJmdG8tY2hlY2stY2lyY2xlXCI+PC94LWljb24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidleGNlcHRpb24nXCI+XHJcbiAgICAgIDx4LWljb24gdHlwZT1cImZ0by14LWNpcmNsZVwiPjwveC1pY29uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInd2FybmluZydcIj5cclxuICAgICAgPHgtaWNvbiB0eXBlPVwiZnRvLWhlbHAtY2lyY2xlXCI+PC94LWljb24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm1hdDsgZWxzZSBkZWZhdWx0VGVtcFwiPnt7IG9uRm9ybWF0KHBlcmNlbnQpIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRlbXA+e3sgcGVyY2VudCB9fSU8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -7,10 +7,10 @@ import { XProgressProperty } from './progress.property';
7
7
  import * as i0 from "@angular/core";
8
8
  export class XProgressModule {
9
9
  }
10
- /** @nocollapse */ /** @nocollapse */ XProgressModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: XProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- /** @nocollapse */ /** @nocollapse */ XProgressModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: XProgressModule, declarations: [XProgressComponent, XProgressProperty], imports: [CommonModule, FormsModule, XIconModule], exports: [XProgressComponent] });
12
- /** @nocollapse */ /** @nocollapse */ XProgressModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: XProgressModule, imports: [[CommonModule, FormsModule, XIconModule]] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: XProgressModule, decorators: [{
10
+ /** @nocollapse */ /** @nocollapse */ XProgressModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ /** @nocollapse */ /** @nocollapse */ XProgressModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XProgressModule, declarations: [XProgressComponent, XProgressProperty], imports: [CommonModule, FormsModule, XIconModule], exports: [XProgressComponent] });
12
+ /** @nocollapse */ /** @nocollapse */ XProgressModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XProgressModule, imports: [[CommonModule, FormsModule, XIconModule]] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XProgressModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  declarations: [XProgressComponent, XProgressProperty],
@@ -15,6 +15,11 @@ const X_CONFIG_NAME = 'progress';
15
15
  export class XProgressProperty extends XProperty {
16
16
  constructor() {
17
17
  super(...arguments);
18
+ /**
19
+ * @zh_CN 进度条类型
20
+ * @en_US Progress bar type
21
+ */
22
+ this.type = 'line';
18
23
  /**
19
24
  * @zh_CN 显示进度 0-100
20
25
  * @en_US Show progress 0-100
@@ -30,10 +35,25 @@ export class XProgressProperty extends XProperty {
30
35
  * @en_US Whether to display percentage text
31
36
  */
32
37
  this.info = true;
38
+ /**
39
+ * @zh_CN 圆环/仪表盘厚度
40
+ * @en_US Ring thickness
41
+ */
42
+ this.thickness = '0.5rem';
43
+ /**
44
+ * @zh_CN 圆环/仪表盘尺寸
45
+ * @en_US Ring size
46
+ */
47
+ this.size = '5rem';
48
+ /**
49
+ * @zh_CN 仪表盘缺口角度 0~300
50
+ * @en_US Dashboard notch angle
51
+ */
52
+ this.notchAngle = 80;
33
53
  }
34
54
  }
35
- /** @nocollapse */ /** @nocollapse */ XProgressProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: XProgressProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
36
- /** @nocollapse */ /** @nocollapse */ XProgressProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: XProgressProperty, selector: "ng-component", inputs: { percent: "percent", height: "height", status: "status", info: "info", inside: "inside", format: "format", color: "color" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
55
+ /** @nocollapse */ /** @nocollapse */ XProgressProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XProgressProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
56
+ /** @nocollapse */ /** @nocollapse */ XProgressProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XProgressProperty, selector: "ng-component", inputs: { type: "type", percent: "percent", height: "height", status: "status", info: "info", inside: "inside", format: "format", color: "color", gradient: "gradient", steps: "steps", stepWidth: "stepWidth", stepFlex: "stepFlex", thickness: "thickness", size: "size", notchAngle: "notchAngle", subsection: "subsection" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
37
57
  __decorate([
38
58
  XInputNumber()
39
59
  ], XProgressProperty.prototype, "percent", void 0);
@@ -46,10 +66,21 @@ __decorate([
46
66
  __decorate([
47
67
  XInputBoolean()
48
68
  ], XProgressProperty.prototype, "inside", void 0);
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: XProgressProperty, decorators: [{
69
+ __decorate([
70
+ XWithConfig(X_CONFIG_NAME, '1rem')
71
+ ], XProgressProperty.prototype, "stepWidth", void 0);
72
+ __decorate([
73
+ XInputBoolean()
74
+ ], XProgressProperty.prototype, "stepFlex", void 0);
75
+ __decorate([
76
+ XInputBoolean()
77
+ ], XProgressProperty.prototype, "subsection", void 0);
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XProgressProperty, decorators: [{
50
79
  type: Component,
51
80
  args: [{ template: '' }]
52
- }], propDecorators: { percent: [{
81
+ }], propDecorators: { type: [{
82
+ type: Input
83
+ }], percent: [{
53
84
  type: Input
54
85
  }], height: [{
55
86
  type: Input
@@ -63,5 +94,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
63
94
  type: Input
64
95
  }], color: [{
65
96
  type: Input
97
+ }], gradient: [{
98
+ type: Input
99
+ }], steps: [{
100
+ type: Input
101
+ }], stepWidth: [{
102
+ type: Input
103
+ }], stepFlex: [{
104
+ type: Input
105
+ }], thickness: [{
106
+ type: Input
107
+ }], size: [{
108
+ type: Input
109
+ }], notchAngle: [{
110
+ type: Input
111
+ }], subsection: [{
112
+ type: Input
66
113
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9wcm9ncmVzcy9wcm9ncmVzcy5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFxQixXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFMUc7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUM7QUFDNUMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDO0FBRWpDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFNBQVM7SUFEaEQ7O1FBRUU7OztXQUdHO1FBQ3NCLFlBQU8sR0FBWSxDQUFDLENBQUM7UUFNOUM7OztXQUdHO1FBQ00sV0FBTSxHQUFvQixRQUFRLENBQUM7UUFDNUM7OztXQUdHO1FBQ3VCLFNBQUksR0FBYSxJQUFJLENBQUM7S0FnQmpEOztvSkFwQ1ksaUJBQWlCO3dJQUFqQixpQkFBaUIsaU5BRFAsRUFBRTtBQU1FO0lBQWYsWUFBWSxFQUFFO2tEQUFzQjtBQUtTO0lBQTdDLFdBQVcsQ0FBUyxhQUFhLEVBQUUsUUFBUSxDQUFDO2lEQUFpQjtBQVU3QztJQUFoQixhQUFhLEVBQUU7K0NBQXVCO0FBS3RCO0lBQWhCLGFBQWEsRUFBRTtpREFBbUI7MkZBekJqQyxpQkFBaUI7a0JBRDdCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU1BLE9BQU87c0JBQS9CLEtBQUs7Z0JBS2lELE1BQU07c0JBQTVELEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtvQixJQUFJO3NCQUE3QixLQUFLO2dCQUtvQixNQUFNO3NCQUEvQixLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhJbnB1dE51bWJlciwgWFByb3BlcnR5LCBYSW5wdXRCb29sZWFuLCBYTnVtYmVyLCBYQm9vbGVhbiwgWFdpdGhDb25maWcgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBQcm9ncmVzc1xyXG4gKiBAc2VsZWN0b3IgeC1wcm9ncmVzc1xyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhQcm9ncmVzc1ByZWZpeCA9ICd4LXByb2dyZXNzJztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICdwcm9ncmVzcyc7XHJcblxyXG4vKipcclxuICogUHJvZ3Jlc3MgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhQcm9ncmVzc1Byb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S66L+b5bqmIDAtMTAwXHJcbiAgICogQGVuX1VTIFNob3cgcHJvZ3Jlc3MgMC0xMDBcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgcGVyY2VudDogWE51bWJlciA9IDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi/m+W6puadoemrmOW6plxyXG4gICAqIEBlbl9VUyBIZWlnaHQgb2YgcHJvZ3Jlc3MgYmFyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfTkFNRSwgJzAuNXJlbScpIGhlaWdodD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g54q25oCBXHJcbiAgICogQGVuX1VTIFN0YXR1c1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0YXR1czogWFByb2dyZXNzU3RhdHVzID0gJ25vcm1hbCc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuaYvuekuueZvuWIhuavlOaWh+acrFxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGRpc3BsYXkgcGVyY2VudGFnZSB0ZXh0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBpbmZvOiBYQm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOeZvuWIhuavlOaWh+acrOaYr+WQpuaYvuekuuWcqOi/m+W6puadoemHjOmdolxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRoZSBwZXJjZW50YWdlIHRleHQgaXMgZGlzcGxheWVkIGluIHRoZSBwcm9ncmVzcyBiYXJcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGluc2lkZT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnnmb7liIbmr5TmlofmnKzlhoXlrrlcclxuICAgKiBAZW5fVVMgQ3VzdG9tIHBlcmNlbnRhZ2UgdGV4dCBjb250ZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgZm9ybWF0PzogRnVuY3Rpb247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieminOiJslxyXG4gICAqIEBlbl9VUyBDdXN0b20gY29sb3JcclxuICAgKi9cclxuICBASW5wdXQoKSBjb2xvcj86IHN0cmluZyB8IHsgY29sb3I6IHN0cmluZzsgcGVyY2VudDogbnVtYmVyIH1bXSB8IEZ1bmN0aW9uO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOi/m+W6puadoeexu+Wei1xyXG4gKiBAZW5fVVMgUHJvZ3Jlc3MgYmFyIHR5cGVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhQcm9ncmVzc1R5cGUgPSAnbGluZScgfCAnY2lyY2xlJyB8ICdkYXNoYm9hcmQnO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDnirbmgIFcclxuICogQGVuX1VTIFN0YXR1c1xyXG4gKi9cclxuZXhwb3J0IHR5cGUgWFByb2dyZXNzU3RhdHVzID0gJ25vcm1hbCcgfCAnYWN0aXZlJyB8ICdzdWNjZXNzJyB8ICdleGNlcHRpb24nIHwgJ3dhcm5pbmcnO1xyXG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9wcm9ncmVzcy9wcm9ncmVzcy5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFxQixXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFMUc7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUM7QUFDNUMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDO0FBRWpDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFNBQVM7SUFEaEQ7O1FBRUU7OztXQUdHO1FBQ00sU0FBSSxHQUFrQixNQUFNLENBQUM7UUFDdEM7OztXQUdHO1FBQ3NCLFlBQU8sR0FBWSxDQUFDLENBQUM7UUFNOUM7OztXQUdHO1FBQ00sV0FBTSxHQUFvQixRQUFRLENBQUM7UUFDNUM7OztXQUdHO1FBQ3VCLFNBQUksR0FBYSxJQUFJLENBQUM7UUFvQ2hEOzs7V0FHRztRQUNNLGNBQVMsR0FBWSxRQUFRLENBQUM7UUFDdkM7OztXQUdHO1FBQ00sU0FBSSxHQUFZLE1BQU0sQ0FBQztRQUNoQzs7O1dBR0c7UUFDTSxlQUFVLEdBQVksRUFBRSxDQUFDO0tBTW5DOztvSkFqRlksaUJBQWlCO3dJQUFqQixpQkFBaUIsNllBRFAsRUFBRTtBQVdFO0lBQWYsWUFBWSxFQUFFO2tEQUFzQjtBQUtTO0lBQTdDLFdBQVcsQ0FBUyxhQUFhLEVBQUUsUUFBUSxDQUFDO2lEQUFpQjtBQVU3QztJQUFoQixhQUFhLEVBQUU7K0NBQXVCO0FBS3RCO0lBQWhCLGFBQWEsRUFBRTtpREFBbUI7QUF5QlM7SUFBM0MsV0FBVyxDQUFTLGFBQWEsRUFBRSxNQUFNLENBQUM7b0RBQW9CO0FBSzlDO0lBQWhCLGFBQWEsRUFBRTttREFBcUI7QUFvQnBCO0lBQWhCLGFBQWEsRUFBRTtxREFBdUI7MkZBaEZyQyxpQkFBaUI7a0JBRDdCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU1oQixJQUFJO3NCQUFaLEtBQUs7Z0JBS21CLE9BQU87c0JBQS9CLEtBQUs7Z0JBS2lELE1BQU07c0JBQTVELEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtvQixJQUFJO3NCQUE3QixLQUFLO2dCQUtvQixNQUFNO3NCQUEvQixLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSytDLFNBQVM7c0JBQTdELEtBQUs7Z0JBS29CLFFBQVE7c0JBQWpDLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFLb0IsVUFBVTtzQkFBbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWElucHV0TnVtYmVyLCBYUHJvcGVydHksIFhJbnB1dEJvb2xlYW4sIFhOdW1iZXIsIFhCb29sZWFuLCBYV2l0aENvbmZpZyB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIFByb2dyZXNzXHJcbiAqIEBzZWxlY3RvciB4LXByb2dyZXNzXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFByb2dyZXNzUHJlZml4ID0gJ3gtcHJvZ3Jlc3MnO1xyXG5jb25zdCBYX0NPTkZJR19OQU1FID0gJ3Byb2dyZXNzJztcclxuXHJcbi8qKlxyXG4gKiBQcm9ncmVzcyBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFByb2dyZXNzUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDov5vluqbmnaHnsbvlnotcclxuICAgKiBAZW5fVVMgUHJvZ3Jlc3MgYmFyIHR5cGVcclxuICAgKi9cclxuICBASW5wdXQoKSB0eXBlOiBYUHJvZ3Jlc3NUeXBlID0gJ2xpbmUnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrov5vluqYgMC0xMDBcclxuICAgKiBAZW5fVVMgU2hvdyBwcm9ncmVzcyAwLTEwMFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBwZXJjZW50OiBYTnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L+b5bqm5p2h6auY5bqmXHJcbiAgICogQGVuX1VTIEhlaWdodCBvZiBwcm9ncmVzcyBiYXJcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0NPTkZJR19OQU1FLCAnMC41cmVtJykgaGVpZ2h0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnirbmgIFcclxuICAgKiBAZW5fVVMgU3RhdHVzXHJcbiAgICovXHJcbiAgQElucHV0KCkgc3RhdHVzOiBYUHJvZ3Jlc3NTdGF0dXMgPSAnbm9ybWFsJztcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5pi+56S655m+5YiG5q+U5paH5pysXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZGlzcGxheSBwZXJjZW50YWdlIHRleHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGluZm86IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g55m+5YiG5q+U5paH5pys5piv5ZCm5pi+56S65Zyo6L+b5bqm5p2h6YeM6Z2iXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdGhlIHBlcmNlbnRhZ2UgdGV4dCBpcyBkaXNwbGF5ZWQgaW4gdGhlIHByb2dyZXNzIGJhclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgaW5zaWRlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieeZvuWIhuavlOaWh+acrOWGheWuuVxyXG4gICAqIEBlbl9VUyBDdXN0b20gcGVyY2VudGFnZSB0ZXh0IGNvbnRlbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBmb3JtYXQ/OiBGdW5jdGlvbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ6aKc6ImyXHJcbiAgICogQGVuX1VTIEN1c3RvbSBjb2xvclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbG9yPzogWFByb2dyZXNzQ29sb3I7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa4kOWPmOminOiJslxyXG4gICAqIEBlbl9VUyBHcmFkaWVudCBjb2xvclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGdyYWRpZW50PzogWFByb2dyZXNzR3JhZGllbnQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOatpemqpOi/m+W6puadoVxyXG4gICAqIEBlbl9VUyBTdGVwcyBwcm9ncmVzcyBiYXJcclxuICAgKi9cclxuICBASW5wdXQoKSBzdGVwcz86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y2V5Liq5q2l6aqk55qE5a695bqmXHJcbiAgICogQGVuX1VTIFNpbmdsZSBzdGVwIHdpZHRoXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfTkFNRSwgJzFyZW0nKSBzdGVwV2lkdGg/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleS4quatpemqpOeahOWuveW6puiHqumAguW6lFxyXG4gICAqIEBlbl9VUyBTaW5nbGUgc3RlcCB3aWR0aCBmbGV4XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBzdGVwRmxleD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlnIbnjq8v5Luq6KGo55uY5Y6a5bqmXHJcbiAgICogQGVuX1VTIFJpbmcgdGhpY2tuZXNzXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGhpY2tuZXNzPzogc3RyaW5nID0gJzAuNXJlbSc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWchueOry/ku6rooajnm5jlsLrlr7hcclxuICAgKiBAZW5fVVMgUmluZyBzaXplXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2l6ZT86IHN0cmluZyA9ICc1cmVtJztcclxuICAvKipcclxuICAgKiBAemhfQ04g5Luq6KGo55uY57y65Y+j6KeS5bqmIDB+MzAwXHJcbiAgICogQGVuX1VTIERhc2hib2FyZCBub3RjaCBhbmdsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG5vdGNoQW5nbGU/OiBudW1iZXIgPSA4MDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiG5q615pi+56S66aKc6Imy77yM5Y+q6YCC55SoIHR5cGUgPSAnbGluZSdcclxuICAgKiBAZW5fVVMgU2VnbWVudGF0aW9uIGRpc3BsYXkgY29sb3IsIG9ubHkgdXNlIG9mIHR5cGUgPSAnbGluZSdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHN1YnNlY3Rpb24/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDov5vluqbmnaHnsbvlnotcclxuICogQGVuX1VTIFByb2dyZXNzIGJhciB0eXBlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYUHJvZ3Jlc3NUeXBlID0gJ2xpbmUnIHwgJ2NpcmNsZScgfCAnZGFzaGJvYXJkJztcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g6L+b5bqm5p2h6aKc6ImyXHJcbiAqIEBlbl9VUyBQcm9ncmVzcyBiYXIgY29sb3JcclxuICovXHJcbmV4cG9ydCB0eXBlIFhQcm9ncmVzc0NvbG9yID0gc3RyaW5nIHwgWFByb2dyZXNzQ29sb3JOb2RlW10gfCBGdW5jdGlvbjtcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g6L+b5bqm5p2h6IqC54K56aKc6ImyXHJcbiAqIEBlbl9VUyBQcm9ncmVzcyBiYXIgbm9kZSBjb2xvclxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYUHJvZ3Jlc3NDb2xvck5vZGUge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpopzoibJcclxuICAgKiBAZW5fVVMgQ29sb3JcclxuICAgKi9cclxuICBjb2xvcjogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnmb7liIbmr5RcclxuICAgKiBAZW5fVVMgUGVyY2VudFxyXG4gICAqL1xyXG4gIHBlcmNlbnQ6IG51bWJlcjtcclxufVxyXG4vKipcclxuICogQHpoX0NOIOeKtuaAgVxyXG4gKiBAZW5fVVMgU3RhdHVzXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYUHJvZ3Jlc3NTdGF0dXMgPSAnbm9ybWFsJyB8ICdhY3RpdmUnIHwgJ3N1Y2Nlc3MnIHwgJ2V4Y2VwdGlvbicgfCAnd2FybmluZyc7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOa4kOWPmOminOiJslxyXG4gKiBAZW5fVVMgR3JhZGllbnQgY29sb3JcclxuICovXHJcbmV4cG9ydCB0eXBlIFhQcm9ncmVzc0dyYWRpZW50ID0geyBkaXJlY3Rpb24/OiBzdHJpbmcgfSAmICh7IGZyb206IHN0cmluZzsgdG86IHN0cmluZyB9IHwgeyBbcGVyY2VudDogc3RyaW5nXTogc3RyaW5nIH0pO1xyXG4iXX0=