@ng-nest/ui 13.0.3 → 13.0.7

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 (565) hide show
  1. package/alert/alert.component.d.ts +2 -1
  2. package/core/config/config.d.ts +11 -1
  3. package/core/interfaces/layout.type.d.ts +1 -1
  4. package/dialog/dialog-portal.component.d.ts +18 -0
  5. package/dialog/dialog-portal.directives.d.ts +24 -0
  6. package/dialog/dialog-ref.d.ts +9 -0
  7. package/dialog/dialog.module.d.ts +13 -11
  8. package/dialog/dialog.property.d.ts +85 -7
  9. package/dialog/dialog.service.d.ts +19 -0
  10. package/dialog/examples/en_US/default/service/README.md +6 -0
  11. package/dialog/examples/zh_CN/default/service/README.md +6 -0
  12. package/dialog/public-api.d.ts +4 -0
  13. package/drawer/drawer-container.component.d.ts +8 -0
  14. package/drawer/drawer-portal.component.d.ts +18 -0
  15. package/drawer/drawer-portal.directives.d.ts +19 -0
  16. package/drawer/drawer-ref.d.ts +9 -0
  17. package/drawer/drawer.component.d.ts +10 -3
  18. package/drawer/drawer.module.d.ts +9 -6
  19. package/drawer/drawer.property.d.ts +97 -2
  20. package/drawer/drawer.service.d.ts +19 -0
  21. package/drawer/examples/en_US/default/container/README.md +6 -0
  22. package/drawer/examples/en_US/default/service/README.md +6 -0
  23. package/drawer/examples/zh_CN/default/container/README.md +6 -0
  24. package/drawer/examples/zh_CN/default/service/README.md +6 -0
  25. package/drawer/public-api.d.ts +6 -0
  26. package/esm2020/affix/affix.component.mjs +3 -3
  27. package/esm2020/affix/affix.module.mjs +4 -4
  28. package/esm2020/affix/affix.property.mjs +3 -3
  29. package/esm2020/alert/alert.component.mjs +11 -6
  30. package/esm2020/alert/alert.module.mjs +4 -4
  31. package/esm2020/alert/alert.property.mjs +3 -3
  32. package/esm2020/anchor/anchor.component.mjs +3 -3
  33. package/esm2020/anchor/anchor.module.mjs +4 -4
  34. package/esm2020/anchor/anchor.property.mjs +3 -3
  35. package/esm2020/api/api.component.mjs +3 -3
  36. package/esm2020/api/api.module.mjs +4 -4
  37. package/esm2020/auto-complete/auto-complete-portal.component.mjs +3 -3
  38. package/esm2020/auto-complete/auto-complete.component.mjs +3 -3
  39. package/esm2020/auto-complete/auto-complete.module.mjs +6 -7
  40. package/esm2020/auto-complete/auto-complete.property.mjs +3 -3
  41. package/esm2020/avatar/avatar.component.mjs +3 -3
  42. package/esm2020/avatar/avatar.module.mjs +4 -4
  43. package/esm2020/avatar/avatar.property.mjs +3 -3
  44. package/esm2020/back-top/back-top.component.mjs +3 -3
  45. package/esm2020/back-top/back-top.module.mjs +4 -4
  46. package/esm2020/back-top/back-top.property.mjs +3 -3
  47. package/esm2020/badge/badge.component.mjs +3 -3
  48. package/esm2020/badge/badge.module.mjs +4 -4
  49. package/esm2020/badge/badge.property.mjs +3 -3
  50. package/esm2020/base-form/base-form.component.mjs +3 -3
  51. package/esm2020/base-form/base-form.module.mjs +4 -4
  52. package/esm2020/base-form/base-form.property.mjs +3 -3
  53. package/esm2020/border/border.component.mjs +3 -3
  54. package/esm2020/border/border.module.mjs +4 -4
  55. package/esm2020/button/button.component.mjs +4 -4
  56. package/esm2020/button/button.module.mjs +4 -4
  57. package/esm2020/button/button.property.mjs +6 -6
  58. package/esm2020/button/buttons.component.mjs +3 -3
  59. package/esm2020/calendar/calendar.component.mjs +3 -3
  60. package/esm2020/calendar/calendar.module.mjs +4 -4
  61. package/esm2020/calendar/calendar.property.mjs +3 -3
  62. package/esm2020/card/card.component.mjs +4 -4
  63. package/esm2020/card/card.module.mjs +4 -4
  64. package/esm2020/card/card.property.mjs +3 -3
  65. package/esm2020/carousel/carousel-panel.component.mjs +3 -3
  66. package/esm2020/carousel/carousel.component.mjs +3 -3
  67. package/esm2020/carousel/carousel.module.mjs +4 -4
  68. package/esm2020/carousel/carousel.property.mjs +6 -6
  69. package/esm2020/cascade/cascade-portal.component.mjs +3 -3
  70. package/esm2020/cascade/cascade.component.mjs +3 -3
  71. package/esm2020/cascade/cascade.module.mjs +6 -7
  72. package/esm2020/cascade/cascade.property.mjs +3 -3
  73. package/esm2020/checkbox/checkbox.component.mjs +4 -4
  74. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  75. package/esm2020/checkbox/checkbox.property.mjs +3 -3
  76. package/esm2020/collapse/collapse-panel.component.mjs +3 -3
  77. package/esm2020/collapse/collapse.component.mjs +3 -3
  78. package/esm2020/collapse/collapse.module.mjs +4 -4
  79. package/esm2020/collapse/collapse.property.mjs +6 -6
  80. package/esm2020/color/color.component.mjs +3 -3
  81. package/esm2020/color/color.module.mjs +4 -4
  82. package/esm2020/color/color.property.mjs +3 -3
  83. package/esm2020/color-picker/color-picker-portal.component.mjs +3 -3
  84. package/esm2020/color-picker/color-picker.component.mjs +3 -3
  85. package/esm2020/color-picker/color-picker.module.mjs +6 -7
  86. package/esm2020/color-picker/color-picker.property.mjs +3 -3
  87. package/esm2020/comment/comment-reply.component.mjs +3 -3
  88. package/esm2020/comment/comment.component.mjs +3 -3
  89. package/esm2020/comment/comment.module.mjs +4 -4
  90. package/esm2020/comment/comment.property.mjs +6 -6
  91. package/esm2020/container/aside.component.mjs +3 -3
  92. package/esm2020/container/container.component.mjs +3 -3
  93. package/esm2020/container/container.module.mjs +4 -4
  94. package/esm2020/container/container.property.mjs +12 -12
  95. package/esm2020/container/footer.component.mjs +4 -4
  96. package/esm2020/container/header.component.mjs +4 -4
  97. package/esm2020/container/main.component.mjs +4 -4
  98. package/esm2020/core/config/config.mjs +1 -1
  99. package/esm2020/core/config/config.service.mjs +3 -3
  100. package/esm2020/core/interfaces/layout.type.mjs +1 -1
  101. package/esm2020/core/services/http.service.mjs +3 -3
  102. package/esm2020/core/services/preloading-strategy.service.mjs +3 -3
  103. package/esm2020/core/services/storage.service.mjs +3 -3
  104. package/esm2020/core/theme/theme.service.mjs +3 -3
  105. package/esm2020/crumb/crumb.component.mjs +3 -3
  106. package/esm2020/crumb/crumb.module.mjs +4 -4
  107. package/esm2020/crumb/crumb.property.mjs +3 -3
  108. package/esm2020/date-picker/date-picker-portal.component.mjs +3 -3
  109. package/esm2020/date-picker/date-picker.component.mjs +3 -3
  110. package/esm2020/date-picker/date-picker.module.mjs +6 -7
  111. package/esm2020/date-picker/date-picker.property.mjs +15 -15
  112. package/esm2020/date-picker/date-range-portal.component.mjs +5 -5
  113. package/esm2020/date-picker/date-range.component.mjs +3 -3
  114. package/esm2020/date-picker/picker-date.component.mjs +3 -3
  115. package/esm2020/date-picker/picker-month.component.mjs +3 -3
  116. package/esm2020/date-picker/picker-year.component.mjs +3 -3
  117. package/esm2020/description/description-item.component.mjs +3 -3
  118. package/esm2020/description/description.component.mjs +3 -3
  119. package/esm2020/description/description.module.mjs +4 -4
  120. package/esm2020/description/description.property.mjs +6 -6
  121. package/esm2020/dialog/dialog-portal.component.mjs +52 -0
  122. package/esm2020/dialog/dialog-portal.directives.mjs +73 -0
  123. package/esm2020/dialog/dialog-ref.mjs +17 -0
  124. package/esm2020/dialog/dialog.component.mjs +7 -7
  125. package/esm2020/dialog/dialog.module.mjs +39 -9
  126. package/esm2020/dialog/dialog.property.mjs +21 -20
  127. package/esm2020/dialog/dialog.service.mjs +67 -0
  128. package/esm2020/dialog/public-api.mjs +5 -1
  129. package/esm2020/doc/doc.component.mjs +4 -4
  130. package/esm2020/doc/doc.module.mjs +4 -4
  131. package/esm2020/drawer/drawer-container.component.mjs +29 -0
  132. package/esm2020/drawer/drawer-portal.component.mjs +52 -0
  133. package/esm2020/drawer/drawer-portal.directives.mjs +57 -0
  134. package/esm2020/drawer/drawer-ref.mjs +17 -0
  135. package/esm2020/drawer/drawer.component.mjs +55 -19
  136. package/esm2020/drawer/drawer.module.mjs +42 -9
  137. package/esm2020/drawer/drawer.property.mjs +42 -8
  138. package/esm2020/drawer/drawer.service.mjs +65 -0
  139. package/esm2020/drawer/public-api.mjs +7 -1
  140. package/esm2020/dropdown/dropdown-portal.component.mjs +3 -3
  141. package/esm2020/dropdown/dropdown.component.mjs +3 -3
  142. package/esm2020/dropdown/dropdown.module.mjs +6 -7
  143. package/esm2020/dropdown/dropdown.property.mjs +3 -3
  144. package/esm2020/empty/empty.component.mjs +3 -3
  145. package/esm2020/empty/empty.module.mjs +4 -4
  146. package/esm2020/empty/empty.property.mjs +3 -3
  147. package/esm2020/examples/examples.component.mjs +3 -3
  148. package/esm2020/examples/examples.module.mjs +4 -4
  149. package/esm2020/find/find.component.mjs +15 -6
  150. package/esm2020/find/find.module.mjs +4 -4
  151. package/esm2020/find/find.property.mjs +20 -4
  152. package/esm2020/form/control.component.mjs +3 -3
  153. package/esm2020/form/form.component.mjs +3 -3
  154. package/esm2020/form/form.module.mjs +4 -4
  155. package/esm2020/form/form.property.mjs +6 -6
  156. package/esm2020/highlight/highlight.component.mjs +3 -3
  157. package/esm2020/highlight/highlight.module.mjs +4 -4
  158. package/esm2020/highlight/highlight.property.mjs +3 -3
  159. package/esm2020/i18n/i18n.directive.mjs +3 -3
  160. package/esm2020/i18n/i18n.module.mjs +4 -4
  161. package/esm2020/i18n/i18n.pipe.mjs +3 -3
  162. package/esm2020/i18n/i18n.service.mjs +3 -3
  163. package/esm2020/icon/icon.component.mjs +3 -3
  164. package/esm2020/icon/icon.module.mjs +4 -4
  165. package/esm2020/icon/icon.property.mjs +3 -3
  166. package/esm2020/icon/icon.service.mjs +3 -3
  167. package/esm2020/inner/inner.component.mjs +3 -3
  168. package/esm2020/inner/inner.module.mjs +4 -4
  169. package/esm2020/inner/inner.property.mjs +3 -3
  170. package/esm2020/input/input-group.component.mjs +3 -3
  171. package/esm2020/input/input.component.mjs +6 -5
  172. package/esm2020/input/input.module.mjs +4 -4
  173. package/esm2020/input/input.property.mjs +6 -6
  174. package/esm2020/input-number/input-number.component.mjs +3 -3
  175. package/esm2020/input-number/input-number.module.mjs +4 -4
  176. package/esm2020/input-number/input-number.property.mjs +3 -3
  177. package/esm2020/layout/col.component.mjs +3 -3
  178. package/esm2020/layout/layout.module.mjs +4 -4
  179. package/esm2020/layout/layout.property.mjs +6 -6
  180. package/esm2020/layout/row.component.mjs +3 -3
  181. package/esm2020/link/link.component.mjs +3 -3
  182. package/esm2020/link/link.module.mjs +4 -4
  183. package/esm2020/link/link.property.mjs +3 -3
  184. package/esm2020/list/list-option.component.mjs +3 -3
  185. package/esm2020/list/list.component.mjs +3 -3
  186. package/esm2020/list/list.module.mjs +4 -4
  187. package/esm2020/list/list.property.mjs +6 -6
  188. package/esm2020/loading/loading.component.mjs +3 -3
  189. package/esm2020/loading/loading.module.mjs +4 -4
  190. package/esm2020/loading/loading.property.mjs +3 -3
  191. package/esm2020/menu/menu-node.component.mjs +3 -3
  192. package/esm2020/menu/menu.component.mjs +5 -5
  193. package/esm2020/menu/menu.module.mjs +4 -4
  194. package/esm2020/menu/menu.property.mjs +12 -7
  195. package/esm2020/message/message-ref.mjs +12 -0
  196. package/esm2020/message/message.component.mjs +6 -6
  197. package/esm2020/message/message.module.mjs +4 -4
  198. package/esm2020/message/message.property.mjs +2 -2
  199. package/esm2020/message/message.service.mjs +39 -18
  200. package/esm2020/message/public-api.mjs +2 -1
  201. package/esm2020/message-box/message-box.component.mjs +3 -3
  202. package/esm2020/message-box/message-box.module.mjs +4 -4
  203. package/esm2020/message-box/message-box.service.mjs +3 -3
  204. package/esm2020/notification/notification.component.mjs +3 -3
  205. package/esm2020/notification/notification.module.mjs +4 -4
  206. package/esm2020/notification/notification.service.mjs +3 -3
  207. package/esm2020/outlet/outlet.directive.mjs +3 -3
  208. package/esm2020/outlet/outlet.module.mjs +4 -4
  209. package/esm2020/page-header/page-header.component.mjs +3 -3
  210. package/esm2020/page-header/page-header.module.mjs +4 -4
  211. package/esm2020/page-header/page-header.property.mjs +3 -3
  212. package/esm2020/pagination/pagination.component.mjs +4 -4
  213. package/esm2020/pagination/pagination.module.mjs +4 -4
  214. package/esm2020/pagination/pagination.property.mjs +3 -3
  215. package/esm2020/pattern/pattern.component.mjs +3 -3
  216. package/esm2020/pattern/pattern.module.mjs +4 -4
  217. package/esm2020/popconfirm/popconfirm.component.mjs +28 -7
  218. package/esm2020/popconfirm/popconfirm.module.mjs +4 -4
  219. package/esm2020/popconfirm/popconfirm.property.mjs +12 -5
  220. package/esm2020/popover/popover-portal.component.mjs +3 -3
  221. package/esm2020/popover/popover.directive.mjs +11 -5
  222. package/esm2020/popover/popover.module.mjs +6 -7
  223. package/esm2020/popover/popover.property.mjs +9 -4
  224. package/esm2020/portal/portal.module.mjs +6 -5
  225. package/esm2020/portal/portal.service.mjs +11 -12
  226. package/esm2020/progress/progress.component.mjs +179 -18
  227. package/esm2020/progress/progress.module.mjs +4 -4
  228. package/esm2020/progress/progress.property.mjs +52 -5
  229. package/esm2020/radio/radio.component.mjs +4 -4
  230. package/esm2020/radio/radio.module.mjs +4 -4
  231. package/esm2020/radio/radio.property.mjs +3 -3
  232. package/esm2020/rate/rate.component.mjs +4 -4
  233. package/esm2020/rate/rate.module.mjs +4 -4
  234. package/esm2020/rate/rate.property.mjs +3 -3
  235. package/esm2020/result/result.component.mjs +4 -4
  236. package/esm2020/result/result.module.mjs +4 -4
  237. package/esm2020/result/result.property.mjs +3 -3
  238. package/esm2020/ripple/ripple.directive.mjs +3 -3
  239. package/esm2020/ripple/ripple.module.mjs +4 -4
  240. package/esm2020/ripple/ripple.property.mjs +3 -3
  241. package/esm2020/select/select-portal.component.mjs +3 -3
  242. package/esm2020/select/select.component.mjs +3 -3
  243. package/esm2020/select/select.module.mjs +6 -7
  244. package/esm2020/select/select.property.mjs +3 -3
  245. package/esm2020/skeleton/skeleton.component.mjs +3 -3
  246. package/esm2020/skeleton/skeleton.module.mjs +4 -4
  247. package/esm2020/skeleton/skeleton.property.mjs +3 -3
  248. package/esm2020/slider/slider.component.mjs +3 -3
  249. package/esm2020/slider/slider.module.mjs +4 -4
  250. package/esm2020/slider/slider.property.mjs +3 -3
  251. package/esm2020/slider-select/slider-select.component.mjs +4 -4
  252. package/esm2020/slider-select/slider-select.module.mjs +4 -4
  253. package/esm2020/slider-select/slider-select.property.mjs +3 -3
  254. package/esm2020/statistic/countdown.component.mjs +3 -3
  255. package/esm2020/statistic/statistic.component.mjs +3 -3
  256. package/esm2020/statistic/statistic.module.mjs +4 -4
  257. package/esm2020/statistic/statistic.property.mjs +6 -6
  258. package/esm2020/steps/steps.component.mjs +18 -11
  259. package/esm2020/steps/steps.module.mjs +4 -4
  260. package/esm2020/steps/steps.property.mjs +10 -5
  261. package/esm2020/switch/switch.component.mjs +4 -4
  262. package/esm2020/switch/switch.module.mjs +4 -4
  263. package/esm2020/switch/switch.property.mjs +3 -3
  264. package/esm2020/table/drag.directive.mjs +3 -3
  265. package/esm2020/table/table-body.component.mjs +3 -3
  266. package/esm2020/table/table-foot.component.mjs +3 -3
  267. package/esm2020/table/table-head.component.mjs +3 -3
  268. package/esm2020/table/table.component.mjs +3 -3
  269. package/esm2020/table/table.module.mjs +4 -4
  270. package/esm2020/table/table.property.mjs +12 -12
  271. package/esm2020/tabs/tab-content.component.mjs +3 -3
  272. package/esm2020/tabs/tab.component.mjs +3 -3
  273. package/esm2020/tabs/tabs.component.mjs +3 -3
  274. package/esm2020/tabs/tabs.module.mjs +4 -4
  275. package/esm2020/tabs/tabs.property.mjs +6 -6
  276. package/esm2020/tag/tag.component.mjs +4 -4
  277. package/esm2020/tag/tag.module.mjs +4 -4
  278. package/esm2020/tag/tag.property.mjs +3 -3
  279. package/esm2020/text-retract/text-retract.component.mjs +3 -3
  280. package/esm2020/text-retract/text-retract.module.mjs +4 -4
  281. package/esm2020/text-retract/text-retract.property.mjs +3 -3
  282. package/esm2020/textarea/textarea.component.mjs +4 -4
  283. package/esm2020/textarea/textarea.module.mjs +4 -4
  284. package/esm2020/textarea/textarea.property.mjs +3 -3
  285. package/esm2020/theme/theme.component.mjs +3 -3
  286. package/esm2020/theme/theme.module.mjs +4 -4
  287. package/esm2020/theme/theme.property.mjs +3 -3
  288. package/esm2020/time-ago/time-ago.module.mjs +4 -4
  289. package/esm2020/time-ago/time-ago.pipe.mjs +3 -3
  290. package/esm2020/time-picker/time-picker-frame.component.mjs +4 -4
  291. package/esm2020/time-picker/time-picker-portal.component.mjs +3 -3
  292. package/esm2020/time-picker/time-picker.component.mjs +3 -3
  293. package/esm2020/time-picker/time-picker.module.mjs +6 -7
  294. package/esm2020/time-picker/time-picker.property.mjs +3 -3
  295. package/esm2020/time-range/time-range.module.mjs +4 -4
  296. package/esm2020/time-range/time-range.pipe.mjs +3 -3
  297. package/esm2020/timeline/timeline.component.mjs +3 -3
  298. package/esm2020/timeline/timeline.module.mjs +4 -4
  299. package/esm2020/timeline/timeline.property.mjs +3 -3
  300. package/esm2020/tooltip/tooltip-portal.component.mjs +3 -3
  301. package/esm2020/tooltip/tooltip.directive.mjs +3 -3
  302. package/esm2020/tooltip/tooltip.module.mjs +6 -7
  303. package/esm2020/tooltip/tooltip.property.mjs +3 -3
  304. package/esm2020/transfer/transfer.component.mjs +3 -3
  305. package/esm2020/transfer/transfer.module.mjs +4 -4
  306. package/esm2020/transfer/transfer.property.mjs +3 -3
  307. package/esm2020/tree/tree-node.component.mjs +5 -5
  308. package/esm2020/tree/tree.component.mjs +3 -3
  309. package/esm2020/tree/tree.module.mjs +4 -4
  310. package/esm2020/tree/tree.property.mjs +13 -7
  311. package/esm2020/tree-file/tree-file.component.mjs +4 -4
  312. package/esm2020/tree-file/tree-file.module.mjs +4 -4
  313. package/esm2020/tree-file/tree-file.property.mjs +3 -3
  314. package/esm2020/typography/typography.component.mjs +3 -3
  315. package/esm2020/typography/typography.module.mjs +4 -4
  316. package/esm2020/typography/typography.property.mjs +3 -3
  317. package/esm2020/upload/upload-portal.component.mjs +4 -4
  318. package/esm2020/upload/upload.component.mjs +3 -3
  319. package/esm2020/upload/upload.module.mjs +4 -4
  320. package/esm2020/upload/upload.property.mjs +3 -3
  321. package/fesm2015/ng-nest-ui-affix.mjs +10 -10
  322. package/fesm2015/ng-nest-ui-alert.mjs +17 -12
  323. package/fesm2015/ng-nest-ui-alert.mjs.map +1 -1
  324. package/fesm2015/ng-nest-ui-anchor.mjs +10 -10
  325. package/fesm2015/ng-nest-ui-api.mjs +7 -7
  326. package/fesm2015/ng-nest-ui-auto-complete.mjs +14 -15
  327. package/fesm2015/ng-nest-ui-auto-complete.mjs.map +1 -1
  328. package/fesm2015/ng-nest-ui-avatar.mjs +10 -10
  329. package/fesm2015/ng-nest-ui-back-top.mjs +10 -10
  330. package/fesm2015/ng-nest-ui-badge.mjs +10 -10
  331. package/fesm2015/ng-nest-ui-base-form.mjs +10 -10
  332. package/fesm2015/ng-nest-ui-border.mjs +7 -7
  333. package/fesm2015/ng-nest-ui-button.mjs +17 -17
  334. package/fesm2015/ng-nest-ui-calendar.mjs +10 -10
  335. package/fesm2015/ng-nest-ui-card.mjs +11 -11
  336. package/fesm2015/ng-nest-ui-carousel.mjs +16 -16
  337. package/fesm2015/ng-nest-ui-cascade.mjs +14 -15
  338. package/fesm2015/ng-nest-ui-cascade.mjs.map +1 -1
  339. package/fesm2015/ng-nest-ui-checkbox.mjs +11 -11
  340. package/fesm2015/ng-nest-ui-collapse.mjs +16 -16
  341. package/fesm2015/ng-nest-ui-color-picker.mjs +14 -15
  342. package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
  343. package/fesm2015/ng-nest-ui-color.mjs +10 -10
  344. package/fesm2015/ng-nest-ui-comment.mjs +16 -16
  345. package/fesm2015/ng-nest-ui-container.mjs +34 -34
  346. package/fesm2015/ng-nest-ui-core.mjs +15 -15
  347. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  348. package/fesm2015/ng-nest-ui-crumb.mjs +10 -10
  349. package/fesm2015/ng-nest-ui-date-picker.mjs +42 -43
  350. package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
  351. package/fesm2015/ng-nest-ui-description.mjs +16 -16
  352. package/fesm2015/ng-nest-ui-dialog.mjs +259 -35
  353. package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
  354. package/fesm2015/ng-nest-ui-doc.mjs +8 -8
  355. package/fesm2015/ng-nest-ui-drawer.mjs +334 -31
  356. package/fesm2015/ng-nest-ui-drawer.mjs.map +1 -1
  357. package/fesm2015/ng-nest-ui-dropdown.mjs +14 -15
  358. package/fesm2015/ng-nest-ui-dropdown.mjs.map +1 -1
  359. package/fesm2015/ng-nest-ui-empty.mjs +10 -10
  360. package/fesm2015/ng-nest-ui-examples.mjs +7 -7
  361. package/fesm2015/ng-nest-ui-find.mjs +37 -12
  362. package/fesm2015/ng-nest-ui-find.mjs.map +1 -1
  363. package/fesm2015/ng-nest-ui-form.mjs +16 -16
  364. package/fesm2015/ng-nest-ui-highlight.mjs +10 -10
  365. package/fesm2015/ng-nest-ui-i18n.mjs +13 -13
  366. package/fesm2015/ng-nest-ui-icon.mjs +13 -13
  367. package/fesm2015/ng-nest-ui-inner.mjs +10 -10
  368. package/fesm2015/ng-nest-ui-input-number.mjs +10 -10
  369. package/fesm2015/ng-nest-ui-input.mjs +18 -17
  370. package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
  371. package/fesm2015/ng-nest-ui-layout.mjs +16 -16
  372. package/fesm2015/ng-nest-ui-link.mjs +10 -10
  373. package/fesm2015/ng-nest-ui-list.mjs +16 -16
  374. package/fesm2015/ng-nest-ui-loading.mjs +10 -10
  375. package/fesm2015/ng-nest-ui-menu.mjs +22 -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 +60 -27
  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 +7 -7
  382. package/fesm2015/ng-nest-ui-page-header.mjs +10 -10
  383. package/fesm2015/ng-nest-ui-pagination.mjs +11 -11
  384. package/fesm2015/ng-nest-ui-pattern.mjs +7 -7
  385. package/fesm2015/ng-nest-ui-popconfirm.mjs +42 -14
  386. package/fesm2015/ng-nest-ui-popconfirm.mjs.map +1 -1
  387. package/fesm2015/ng-nest-ui-popover.mjs +26 -16
  388. package/fesm2015/ng-nest-ui-popover.mjs.map +1 -1
  389. package/fesm2015/ng-nest-ui-portal.mjs +15 -15
  390. package/fesm2015/ng-nest-ui-portal.mjs.map +1 -1
  391. package/fesm2015/ng-nest-ui-progress.mjs +234 -26
  392. package/fesm2015/ng-nest-ui-progress.mjs.map +1 -1
  393. package/fesm2015/ng-nest-ui-radio.mjs +11 -11
  394. package/fesm2015/ng-nest-ui-rate.mjs +11 -11
  395. package/fesm2015/ng-nest-ui-result.mjs +11 -11
  396. package/fesm2015/ng-nest-ui-ripple.mjs +10 -10
  397. package/fesm2015/ng-nest-ui-select.mjs +14 -15
  398. package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
  399. package/fesm2015/ng-nest-ui-skeleton.mjs +10 -10
  400. package/fesm2015/ng-nest-ui-slider-select.mjs +11 -11
  401. package/fesm2015/ng-nest-ui-slider.mjs +10 -10
  402. package/fesm2015/ng-nest-ui-statistic.mjs +16 -16
  403. package/fesm2015/ng-nest-ui-steps.mjs +30 -18
  404. package/fesm2015/ng-nest-ui-steps.mjs.map +1 -1
  405. package/fesm2015/ng-nest-ui-switch.mjs +11 -11
  406. package/fesm2015/ng-nest-ui-table.mjs +31 -31
  407. package/fesm2015/ng-nest-ui-tabs.mjs +19 -19
  408. package/fesm2015/ng-nest-ui-tag.mjs +11 -11
  409. package/fesm2015/ng-nest-ui-text-retract.mjs +10 -10
  410. package/fesm2015/ng-nest-ui-textarea.mjs +11 -11
  411. package/fesm2015/ng-nest-ui-theme.mjs +10 -10
  412. package/fesm2015/ng-nest-ui-time-ago.mjs +7 -7
  413. package/fesm2015/ng-nest-ui-time-picker.mjs +18 -19
  414. package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
  415. package/fesm2015/ng-nest-ui-time-range.mjs +7 -7
  416. package/fesm2015/ng-nest-ui-timeline.mjs +10 -10
  417. package/fesm2015/ng-nest-ui-tooltip.mjs +14 -15
  418. package/fesm2015/ng-nest-ui-tooltip.mjs.map +1 -1
  419. package/fesm2015/ng-nest-ui-transfer.mjs +10 -10
  420. package/fesm2015/ng-nest-ui-tree-file.mjs +11 -11
  421. package/fesm2015/ng-nest-ui-tree.mjs +23 -17
  422. package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
  423. package/fesm2015/ng-nest-ui-typography.mjs +10 -10
  424. package/fesm2015/ng-nest-ui-upload.mjs +14 -14
  425. package/fesm2020/ng-nest-ui-affix.mjs +10 -10
  426. package/fesm2020/ng-nest-ui-alert.mjs +17 -12
  427. package/fesm2020/ng-nest-ui-alert.mjs.map +1 -1
  428. package/fesm2020/ng-nest-ui-anchor.mjs +10 -10
  429. package/fesm2020/ng-nest-ui-api.mjs +7 -7
  430. package/fesm2020/ng-nest-ui-auto-complete.mjs +14 -15
  431. package/fesm2020/ng-nest-ui-auto-complete.mjs.map +1 -1
  432. package/fesm2020/ng-nest-ui-avatar.mjs +10 -10
  433. package/fesm2020/ng-nest-ui-back-top.mjs +10 -10
  434. package/fesm2020/ng-nest-ui-badge.mjs +10 -10
  435. package/fesm2020/ng-nest-ui-base-form.mjs +10 -10
  436. package/fesm2020/ng-nest-ui-border.mjs +7 -7
  437. package/fesm2020/ng-nest-ui-button.mjs +17 -17
  438. package/fesm2020/ng-nest-ui-calendar.mjs +10 -10
  439. package/fesm2020/ng-nest-ui-card.mjs +11 -11
  440. package/fesm2020/ng-nest-ui-carousel.mjs +16 -16
  441. package/fesm2020/ng-nest-ui-cascade.mjs +14 -15
  442. package/fesm2020/ng-nest-ui-cascade.mjs.map +1 -1
  443. package/fesm2020/ng-nest-ui-checkbox.mjs +11 -11
  444. package/fesm2020/ng-nest-ui-collapse.mjs +16 -16
  445. package/fesm2020/ng-nest-ui-color-picker.mjs +14 -15
  446. package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
  447. package/fesm2020/ng-nest-ui-color.mjs +10 -10
  448. package/fesm2020/ng-nest-ui-comment.mjs +16 -16
  449. package/fesm2020/ng-nest-ui-container.mjs +34 -34
  450. package/fesm2020/ng-nest-ui-core.mjs +15 -15
  451. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  452. package/fesm2020/ng-nest-ui-crumb.mjs +10 -10
  453. package/fesm2020/ng-nest-ui-date-picker.mjs +42 -43
  454. package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
  455. package/fesm2020/ng-nest-ui-description.mjs +16 -16
  456. package/fesm2020/ng-nest-ui-dialog.mjs +257 -35
  457. package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
  458. package/fesm2020/ng-nest-ui-doc.mjs +8 -8
  459. package/fesm2020/ng-nest-ui-drawer.mjs +330 -31
  460. package/fesm2020/ng-nest-ui-drawer.mjs.map +1 -1
  461. package/fesm2020/ng-nest-ui-dropdown.mjs +14 -15
  462. package/fesm2020/ng-nest-ui-dropdown.mjs.map +1 -1
  463. package/fesm2020/ng-nest-ui-empty.mjs +10 -10
  464. package/fesm2020/ng-nest-ui-examples.mjs +7 -7
  465. package/fesm2020/ng-nest-ui-find.mjs +37 -12
  466. package/fesm2020/ng-nest-ui-find.mjs.map +1 -1
  467. package/fesm2020/ng-nest-ui-form.mjs +16 -16
  468. package/fesm2020/ng-nest-ui-highlight.mjs +10 -10
  469. package/fesm2020/ng-nest-ui-i18n.mjs +13 -13
  470. package/fesm2020/ng-nest-ui-icon.mjs +13 -13
  471. package/fesm2020/ng-nest-ui-inner.mjs +10 -10
  472. package/fesm2020/ng-nest-ui-input-number.mjs +10 -10
  473. package/fesm2020/ng-nest-ui-input.mjs +18 -17
  474. package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
  475. package/fesm2020/ng-nest-ui-layout.mjs +16 -16
  476. package/fesm2020/ng-nest-ui-link.mjs +10 -10
  477. package/fesm2020/ng-nest-ui-list.mjs +16 -16
  478. package/fesm2020/ng-nest-ui-loading.mjs +10 -10
  479. package/fesm2020/ng-nest-ui-menu.mjs +22 -17
  480. package/fesm2020/ng-nest-ui-menu.mjs.map +1 -1
  481. package/fesm2020/ng-nest-ui-message-box.mjs +10 -10
  482. package/fesm2020/ng-nest-ui-message.mjs +59 -27
  483. package/fesm2020/ng-nest-ui-message.mjs.map +1 -1
  484. package/fesm2020/ng-nest-ui-notification.mjs +10 -10
  485. package/fesm2020/ng-nest-ui-outlet.mjs +7 -7
  486. package/fesm2020/ng-nest-ui-page-header.mjs +10 -10
  487. package/fesm2020/ng-nest-ui-pagination.mjs +11 -11
  488. package/fesm2020/ng-nest-ui-pattern.mjs +7 -7
  489. package/fesm2020/ng-nest-ui-popconfirm.mjs +42 -14
  490. package/fesm2020/ng-nest-ui-popconfirm.mjs.map +1 -1
  491. package/fesm2020/ng-nest-ui-popover.mjs +26 -16
  492. package/fesm2020/ng-nest-ui-popover.mjs.map +1 -1
  493. package/fesm2020/ng-nest-ui-portal.mjs +15 -15
  494. package/fesm2020/ng-nest-ui-portal.mjs.map +1 -1
  495. package/fesm2020/ng-nest-ui-progress.mjs +233 -25
  496. package/fesm2020/ng-nest-ui-progress.mjs.map +1 -1
  497. package/fesm2020/ng-nest-ui-radio.mjs +11 -11
  498. package/fesm2020/ng-nest-ui-rate.mjs +11 -11
  499. package/fesm2020/ng-nest-ui-result.mjs +11 -11
  500. package/fesm2020/ng-nest-ui-ripple.mjs +10 -10
  501. package/fesm2020/ng-nest-ui-select.mjs +14 -15
  502. package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
  503. package/fesm2020/ng-nest-ui-skeleton.mjs +10 -10
  504. package/fesm2020/ng-nest-ui-slider-select.mjs +11 -11
  505. package/fesm2020/ng-nest-ui-slider.mjs +10 -10
  506. package/fesm2020/ng-nest-ui-statistic.mjs +16 -16
  507. package/fesm2020/ng-nest-ui-steps.mjs +30 -18
  508. package/fesm2020/ng-nest-ui-steps.mjs.map +1 -1
  509. package/fesm2020/ng-nest-ui-switch.mjs +11 -11
  510. package/fesm2020/ng-nest-ui-table.mjs +31 -31
  511. package/fesm2020/ng-nest-ui-tabs.mjs +19 -19
  512. package/fesm2020/ng-nest-ui-tag.mjs +11 -11
  513. package/fesm2020/ng-nest-ui-text-retract.mjs +10 -10
  514. package/fesm2020/ng-nest-ui-textarea.mjs +11 -11
  515. package/fesm2020/ng-nest-ui-theme.mjs +10 -10
  516. package/fesm2020/ng-nest-ui-time-ago.mjs +7 -7
  517. package/fesm2020/ng-nest-ui-time-picker.mjs +18 -19
  518. package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
  519. package/fesm2020/ng-nest-ui-time-range.mjs +7 -7
  520. package/fesm2020/ng-nest-ui-timeline.mjs +10 -10
  521. package/fesm2020/ng-nest-ui-tooltip.mjs +14 -15
  522. package/fesm2020/ng-nest-ui-tooltip.mjs.map +1 -1
  523. package/fesm2020/ng-nest-ui-transfer.mjs +10 -10
  524. package/fesm2020/ng-nest-ui-tree-file.mjs +11 -11
  525. package/fesm2020/ng-nest-ui-tree.mjs +23 -17
  526. package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
  527. package/fesm2020/ng-nest-ui-typography.mjs +10 -10
  528. package/fesm2020/ng-nest-ui-upload.mjs +14 -14
  529. package/find/find.property.d.ts +31 -1
  530. package/layout/examples/en_US/default/flex/README.md +1 -1
  531. package/layout/examples/zh_CN/default/flex/README.md +1 -1
  532. package/menu/menu.property.d.ts +8 -3
  533. package/message/examples/en_US/default/loading/README.md +6 -0
  534. package/message/examples/zh_CN/default/loading/README.md +6 -0
  535. package/message/message-ref.d.ts +8 -0
  536. package/message/message.component.d.ts +3 -3
  537. package/message/message.property.d.ts +24 -4
  538. package/message/message.service.d.ts +4 -1
  539. package/message/public-api.d.ts +1 -0
  540. package/package.json +7 -7
  541. package/popconfirm/examples/en_US/default/async-close/README.md +6 -0
  542. package/popconfirm/examples/en_US/default/condition/README.md +6 -0
  543. package/popconfirm/examples/zh_CN/default/async-close/README.md +6 -0
  544. package/popconfirm/examples/zh_CN/default/condition/README.md +6 -0
  545. package/popconfirm/popconfirm.component.d.ts +6 -2
  546. package/popconfirm/popconfirm.property.d.ts +13 -2
  547. package/popover/popover.property.d.ts +6 -1
  548. package/portal/portal.module.d.ts +1 -1
  549. package/portal/portal.service.d.ts +2 -3
  550. package/progress/examples/en_US/default/circle/README.md +6 -0
  551. package/progress/examples/en_US/default/dashboard/README.md +6 -0
  552. package/progress/examples/en_US/default/gradient/README.md +6 -0
  553. package/progress/examples/en_US/default/steps/README.md +6 -0
  554. package/progress/examples/en_US/default/subsection/README.md +6 -0
  555. package/progress/examples/zh_CN/default/circle/README.md +6 -0
  556. package/progress/examples/zh_CN/default/dashboard/README.md +6 -0
  557. package/progress/examples/zh_CN/default/gradient/README.md +6 -0
  558. package/progress/examples/zh_CN/default/steps/README.md +6 -0
  559. package/progress/examples/zh_CN/default/subsection/README.md +6 -0
  560. package/progress/progress.component.d.ts +31 -3
  561. package/progress/progress.property.d.ts +80 -5
  562. package/steps/examples/en_US/default/node-status/README.md +6 -0
  563. package/steps/examples/zh_CN/default/node-status/README.md +6 -0
  564. package/steps/steps.property.d.ts +7 -2
  565. package/tree/tree.property.d.ts +6 -1
@@ -201,11 +201,11 @@ export class XDateRangePortalComponent {
201
201
  this.startDisplay = XAddMonths(this.startDisplay, num);
202
202
  }
203
203
  }
204
- /** @nocollapse */ /** @nocollapse */ XDateRangePortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XDateRangePortalComponent, deps: [{ token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
205
- /** @nocollapse */ /** @nocollapse */ XDateRangePortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: XDateRangePortalComponent, selector: "x-date-range-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, providers: [DatePipe, LowerCasePipe], ngImport: i0, template: "<div class=\"x-date-range-portal {{ type }}\" [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div class=\"x-date-range-portal-body\">\r\n <x-picker-date\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n [nextMonthBtn]=\"false\"\r\n (modelChange)=\"dateChange($event, 'start')\"\r\n (yearChange)=\"startYearChange($event)\"\r\n (monthChange)=\"startMonthChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n [lastMonthBtn]=\"false\"\r\n (modelChange)=\"dateChange($event, 'end')\"\r\n (yearChange)=\"endYearChange($event)\"\r\n (monthChange)=\"endMonthChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #startDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ startDisplay | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(startDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n</ng-template>\r\n\r\n<ng-template #endDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\" style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\" style=\"visibility: hidden\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ endDisplay | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(endDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-range-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:34rem;display:flex;flex-direction:column;font-size:var(--x-font-size-small)}.x-date-range-portal.date-time{width:27rem}.x-date-range-portal.date-hour{width:19.75rem}.x-date-range-portal.date-minute{width:23.375rem}.x-date-range-portal-content{display:flex}.x-date-range-portal-header{display:flex;align-items:center;justify-content:space-between;padding:.4rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-button{flex:1}.x-date-range-portal-year-month{flex:1;text-align:center}.x-date-range-portal-body{display:flex}.x-date-range-portal-start{flex:1}.x-date-range-portal-end{flex:1}.x-date-range-portal-footer{display:flex;justify-content:flex-end;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-date{flex:1}.x-date-range-portal-time{display:flex;flex-direction:column}.x-date-range-portal-time-label{padding:.4rem;text-align:center;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time .x-time-picker-frame{border-width:var(--x-border-width) 0 0 var(--x-border-width);box-shadow:none}\n"], components: [{ type: i3.XPickerDateComponent, selector: "x-picker-date" }, { type: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "date": i1.DatePipe }, animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XDateRangePortalComponent, decorators: [{
204
+ /** @nocollapse */ /** @nocollapse */ XDateRangePortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDateRangePortalComponent, deps: [{ token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
205
+ /** @nocollapse */ /** @nocollapse */ XDateRangePortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDateRangePortalComponent, selector: "x-date-range-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, providers: [DatePipe, LowerCasePipe], ngImport: i0, template: "<div class=\"x-date-range-portal {{ type }}\" [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div class=\"x-date-range-portal-body\">\r\n <x-picker-date\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n [nextMonthBtn]=\"false\"\r\n (modelChange)=\"dateChange($event, 'start')\"\r\n (yearChange)=\"startYearChange($event)\"\r\n (monthChange)=\"startMonthChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n [lastMonthBtn]=\"false\"\r\n (modelChange)=\"dateChange($event, 'end')\"\r\n (yearChange)=\"endYearChange($event)\"\r\n (monthChange)=\"endMonthChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #startDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ startDisplay | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(startDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n</ng-template>\r\n\r\n<ng-template #endDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\" style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\" style=\"visibility: hidden\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ endDisplay | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(endDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-range-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:34rem;display:flex;flex-direction:column;font-size:var(--x-font-size-small)}.x-date-range-portal.date-time{width:27rem}.x-date-range-portal.date-hour{width:19.75rem}.x-date-range-portal.date-minute{width:23.375rem}.x-date-range-portal-content{display:flex}.x-date-range-portal-header{display:flex;align-items:center;justify-content:space-between;padding:.4rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-button{flex:1}.x-date-range-portal-year-month{flex:1;text-align:center}.x-date-range-portal-body{display:flex}.x-date-range-portal-start,.x-date-range-portal-end{flex:1}.x-date-range-portal-footer{display:flex;justify-content:flex-end;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-date{flex:1}.x-date-range-portal-time{display:flex;flex-direction:column}.x-date-range-portal-time-label{padding:.4rem;text-align:center;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time .x-time-picker-frame{border-width:var(--x-border-width) 0 0 var(--x-border-width);box-shadow:none}\n"], components: [{ type: i3.XPickerDateComponent, selector: "x-picker-date" }, { type: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "date": i1.DatePipe }, animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDateRangePortalComponent, decorators: [{
207
207
  type: Component,
208
- args: [{ selector: `${XDateRangePortalPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-date-range-portal {{ type }}\" [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div class=\"x-date-range-portal-body\">\r\n <x-picker-date\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n [nextMonthBtn]=\"false\"\r\n (modelChange)=\"dateChange($event, 'start')\"\r\n (yearChange)=\"startYearChange($event)\"\r\n (monthChange)=\"startMonthChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n [lastMonthBtn]=\"false\"\r\n (modelChange)=\"dateChange($event, 'end')\"\r\n (yearChange)=\"endYearChange($event)\"\r\n (monthChange)=\"endMonthChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #startDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ startDisplay | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(startDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n</ng-template>\r\n\r\n<ng-template #endDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\" style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\" style=\"visibility: hidden\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ endDisplay | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(endDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-range-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:34rem;display:flex;flex-direction:column;font-size:var(--x-font-size-small)}.x-date-range-portal.date-time{width:27rem}.x-date-range-portal.date-hour{width:19.75rem}.x-date-range-portal.date-minute{width:23.375rem}.x-date-range-portal-content{display:flex}.x-date-range-portal-header{display:flex;align-items:center;justify-content:space-between;padding:.4rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-button{flex:1}.x-date-range-portal-year-month{flex:1;text-align:center}.x-date-range-portal-body{display:flex}.x-date-range-portal-start{flex:1}.x-date-range-portal-end{flex:1}.x-date-range-portal-footer{display:flex;justify-content:flex-end;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-date{flex:1}.x-date-range-portal-time{display:flex;flex-direction:column}.x-date-range-portal-time-label{padding:.4rem;text-align:center;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time .x-time-picker-frame{border-width:var(--x-border-width) 0 0 var(--x-border-width);box-shadow:none}\n"] }]
208
+ args: [{ selector: `${XDateRangePortalPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-date-range-portal {{ type }}\" [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div class=\"x-date-range-portal-body\">\r\n <x-picker-date\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n [nextMonthBtn]=\"false\"\r\n (modelChange)=\"dateChange($event, 'start')\"\r\n (yearChange)=\"startYearChange($event)\"\r\n (monthChange)=\"startMonthChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n [lastMonthBtn]=\"false\"\r\n (modelChange)=\"dateChange($event, 'end')\"\r\n (yearChange)=\"endYearChange($event)\"\r\n (monthChange)=\"endMonthChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #startDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ startDisplay | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(startDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n</ng-template>\r\n\r\n<ng-template #endDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\" style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\" style=\"visibility: hidden\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ endDisplay | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(endDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-range-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:34rem;display:flex;flex-direction:column;font-size:var(--x-font-size-small)}.x-date-range-portal.date-time{width:27rem}.x-date-range-portal.date-hour{width:19.75rem}.x-date-range-portal.date-minute{width:23.375rem}.x-date-range-portal-content{display:flex}.x-date-range-portal-header{display:flex;align-items:center;justify-content:space-between;padding:.4rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-button{flex:1}.x-date-range-portal-year-month{flex:1;text-align:center}.x-date-range-portal-body{display:flex}.x-date-range-portal-start,.x-date-range-portal-end{flex:1}.x-date-range-portal-footer{display:flex;justify-content:flex-end;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-date{flex:1}.x-date-range-portal-time{display:flex;flex-direction:column}.x-date-range-portal-time-label{padding:.4rem;text-align:center;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time .x-time-picker-frame{border-width:var(--x-border-width) 0 0 var(--x-border-width);box-shadow:none}\n"] }]
209
209
  }], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XI18nService }]; }, propDecorators: { placement: [{
210
210
  type: HostBinding,
211
211
  args: ['@x-connect-base-animation']
@@ -216,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
216
216
  type: HostListener,
217
217
  args: ['@x-connect-base-animation.start', ['$event']]
218
218
  }] } });
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3ZCLFdBQVcsRUFDWCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFzQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQXNCLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBWTFELE1BQU0sT0FBTyx5QkFBeUI7SUFtQ3BDLFlBQW1CLFFBQWtCLEVBQVMsYUFBNEIsRUFBUyxHQUFzQixFQUFTLElBQWtCO1FBQWpILGFBQVEsR0FBUixRQUFRLENBQVU7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBYztRQXpCcEksU0FBSSxHQUFvQixNQUFNLENBQUM7UUFDL0IsWUFBTyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFLckIsaUJBQVksR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2hD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Q0FBQztJQUNwRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQVc7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBVztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxjQUFjLENBQUMsR0FBVztRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7OzRKQWhPVSx5QkFBeUI7Z0pBQXpCLHlCQUF5Qiw0T0FGekIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLDBCQ3pCdEMseXlGQXNEQSxtNUREOUJjLENBQUMscUJBQXFCLENBQUM7MkZBR3hCLHlCQUF5QjtrQkFUckMsU0FBUzsrQkFDRSxHQUFHLHNCQUFzQixFQUFFLGlCQUd0QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLENBQUMscUJBQXFCLENBQUMsYUFDeEIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDO3NMQUdhLFNBQVM7c0JBQXpELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUNvQixJQUFJO3NCQUEvRCxZQUFZO3VCQUFDLGdDQUFnQyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUlHLEtBQUs7c0JBQWpFLFlBQVk7dUJBQUMsaUNBQWlDLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhEYXRlUmFuZ2VQb3J0YWxQcmVmaXgsIFhEYXRlUGlja2VyUHJlc2V0LCBYRGF0ZVBpY2tlclR5cGUgfSBmcm9tICcuL2RhdGUtcGlja2VyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhDb25uZWN0QmFzZUFuaW1hdGlvbiwgWFBvc2l0aW9uVG9wQm90dG9tLCBYQWRkTW9udGhzLCBYQWRkWWVhcnMgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUsIExvd2VyQ2FzZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYSTE4blNlcnZpY2UsIFhJMThuRGF0ZVBpY2tlciB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hEYXRlUmFuZ2VQb3J0YWxQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcmFuZ2UtcG9ydGFsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBhbmltYXRpb25zOiBbWENvbm5lY3RCYXNlQW5pbWF0aW9uXSxcclxuICBwcm92aWRlcnM6IFtEYXRlUGlwZSwgTG93ZXJDYXNlUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhEYXRlUmFuZ2VQb3J0YWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQEhvc3RCaW5kaW5nKCdAeC1jb25uZWN0LWJhc2UtYW5pbWF0aW9uJykgcHVibGljIHBsYWNlbWVudCE6IFhQb3NpdGlvblRvcEJvdHRvbTtcclxuICBASG9zdExpc3RlbmVyKCdAeC1jb25uZWN0LWJhc2UtYW5pbWF0aW9uLmRvbmUnLCBbJyRldmVudCddKSBkb25lKGV2ZW50OiB7IHRvU3RhdGU6IGFueSB9KSB7XHJcbiAgICB0aGlzLmFuaW1hdGluZyhmYWxzZSk7XHJcbiAgICBldmVudC50b1N0YXRlID09PSAndm9pZCcgJiYgdGhpcy5kZXN0cm95UG9ydGFsKCk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ0B4LWNvbm5lY3QtYmFzZS1hbmltYXRpb24uc3RhcnQnLCBbJyRldmVudCddKSBzdGFydCgpIHtcclxuICAgIHRoaXMuYW5pbWF0aW5nKHRydWUpO1xyXG4gIH1cclxuXHJcbiAgdHlwZTogWERhdGVQaWNrZXJUeXBlID0gJ2RhdGUnO1xyXG4gIGRpc3BsYXkgPSBuZXcgRGF0ZSgpO1xyXG4gIG1vZGVsITogRGF0ZTtcclxuICBzdGFydE1vZGVsITogRGF0ZTtcclxuICBlbmRNb2RlbCE6IERhdGU7XHJcbiAgc3RhcnRZZWFyITogbnVtYmVyO1xyXG4gIHN0YXJ0RGlzcGxheTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgZW5kRGlzcGxheTogRGF0ZSA9IFhBZGRNb250aHModGhpcy5zdGFydERpc3BsYXksIDEpO1xyXG4gIHZhbHVlOiBudW1iZXJbXSA9IFtdO1xyXG4gIHZhbHVlQ2hhbmdlITogU3ViamVjdDxudW1iZXJbXT47XHJcbiAgcG9zaXRpb25DaGFuZ2UhOiBTdWJqZWN0PGFueT47XHJcbiAgaW5wdXRBY3RpdmVDaGFuZ2UhOiBTdWJqZWN0PCdzdGFydCcgfCAnZW5kJz47XHJcbiAgYWN0aXZlVHlwZSE6ICdzdGFydCcgfCAnZW5kJztcclxuICBhbmltYXRpbmchOiBGdW5jdGlvbjtcclxuICBjbG9zZVBvcnRhbCE6IEZ1bmN0aW9uO1xyXG4gIGRlc3Ryb3lQb3J0YWwhOiBGdW5jdGlvbjtcclxuICBub2RlRW1pdCE6IChkYXRlOiBEYXRlW10sIHN1cmU/OiBib29sZWFuKSA9PiB2b2lkO1xyXG4gIHN0YXJ0Tm9kZUVtaXQhOiAoZGF0ZTogRGF0ZSkgPT4gdm9pZDtcclxuICBlbmROb2RlRW1pdCE6IChkYXRlOiBEYXRlKSA9PiB2b2lkO1xyXG4gIGxvY2FsZTogWEkxOG5EYXRlUGlja2VyID0ge307XHJcbiAgdGltZSE6IG51bWJlcjtcclxuICBwcmVzZXQ6IFhEYXRlUGlja2VyUHJlc2V0W10gPSBbXTtcclxuICBwcml2YXRlIF90eXBlITogWERhdGVQaWNrZXJUeXBlO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRlUGlwZTogRGF0ZVBpcGUsIHB1YmxpYyBsb3dlckNhc2VQaXBlOiBMb3dlckNhc2VQaXBlLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGkxOG46IFhJMThuU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLnZhbHVlID0geDtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMucG9zaXRpb25DaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMucGxhY2VtZW50ID0geDtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmlucHV0QWN0aXZlQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLmFjdGl2ZVR5cGUgPSB4O1xyXG4gICAgICB0aGlzLnNldERlZmF1bHQoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5pMThuLmxvY2FsZUNoYW5nZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHgpID0+IHguZGF0ZVBpY2tlciBhcyBYSTE4bkRhdGVQaWNrZXIpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9jYWxlID0geDtcclxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdCgpIHtcclxuICAgIGlmICghWElzRW1wdHkodGhpcy52YWx1ZSkpIHtcclxuICAgICAgdGhpcy5zZXREZWZhdWx0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZhbHVlID0gW107XHJcbiAgICAgIHRoaXMubW9kZWwgPSB0aGlzLmRpc3BsYXk7XHJcbiAgICAgIHRoaXMuc3RhcnRNb2RlbCA9IHRoaXMubW9kZWw7XHJcbiAgICAgIHRoaXMuZW5kTW9kZWwgPSBYQWRkTW9udGhzKHRoaXMubW9kZWwsIDEpO1xyXG4gICAgICB0aGlzLnNldERpc3BsYXkodGhpcy5tb2RlbCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl90eXBlID0gdGhpcy50eXBlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc3RvcFByb3BhZ2F0aW9uKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0KCkge1xyXG4gICAgY29uc3QgdHlwZSA9IHRoaXMuYWN0aXZlVHlwZSB8fCAnc3RhcnQnO1xyXG4gICAgaWYgKHR5cGUgPT09ICdzdGFydCcpIHtcclxuICAgICAgdGhpcy5zdGFydE1vZGVsID0gbmV3IERhdGUodGhpcy52YWx1ZVswXSk7XHJcbiAgICAgIHRoaXMuc3RhcnREaXNwbGF5ID0gdGhpcy5zdGFydE1vZGVsO1xyXG4gICAgICB0aGlzLmVuZE1vZGVsID0gWEFkZE1vbnRocyh0aGlzLnN0YXJ0TW9kZWwsIDEpO1xyXG4gICAgICB0aGlzLmVuZERpc3BsYXkgPSB0aGlzLmVuZE1vZGVsO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnZW5kJykge1xyXG4gICAgICB0aGlzLmVuZE1vZGVsID0gbmV3IERhdGUodGhpcy52YWx1ZVsxXSk7XHJcbiAgICAgIHRoaXMuZW5kRGlzcGxheSA9IHRoaXMuZW5kTW9kZWw7XHJcbiAgICAgIHRoaXMuc3RhcnRNb2RlbCA9IFhBZGRNb250aHModGhpcy5lbmRNb2RlbCwgLTEpO1xyXG4gICAgICB0aGlzLnN0YXJ0RGlzcGxheSA9IHRoaXMuc3RhcnRNb2RlbDtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldERpc3BsYXkoZGF0ZTogRGF0ZSkge1xyXG4gICAgdGhpcy5kaXNwbGF5ID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIDEpO1xyXG4gICAgdGhpcy5zdGFydERpc3BsYXkgPSB0aGlzLmRpc3BsYXk7XHJcbiAgICB0aGlzLmVuZERpc3BsYXkgPSBYQWRkTW9udGhzKHRoaXMuZGlzcGxheSwgMSk7XHJcbiAgfVxyXG5cclxuICBkYXRlQ2hhbmdlKGRhdGU6IERhdGUsIHR5cGU6ICdzdGFydCcgfCAnZW5kJykge1xyXG4gICAgbGV0IHRpbWUgPSBkYXRlLmdldFRpbWUoKTtcclxuICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gW3RpbWVdO1xyXG4gICAgICB0aGlzLnN0YXJ0Tm9kZUVtaXQoZGF0ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWUubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGlmICh0aW1lID4gdGhpcy52YWx1ZVswXSkge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZSwgdGltZV07XHJcbiAgICAgICAgdGhpcy5lbmROb2RlRW1pdChkYXRlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gW3RpbWUsIC4uLnRoaXMudmFsdWVdO1xyXG4gICAgICAgIHRoaXMuc3RhcnROb2RlRW1pdChkYXRlKTtcclxuICAgICAgICB0aGlzLmVuZE5vZGVFbWl0KG5ldyBEYXRlKHRoaXMudmFsdWVbMV0pKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm5vZGVFbWl0KHRoaXMudmFsdWUubWFwKCh4KSA9PiBuZXcgRGF0ZSh4KSkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHR5cGUgPT09ICdzdGFydCcpIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gW3RpbWUsIHRoaXMudmFsdWVbMV1dO1xyXG4gICAgICAgIHRoaXMuc3RhcnROb2RlRW1pdChkYXRlKTtcclxuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnZW5kJykge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBbdGhpcy52YWx1ZVswXSwgdGltZV07XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIHRoaXMuZW5kTm9kZUVtaXQoZGF0ZSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5ub2RlRW1pdChcclxuICAgICAgICB0aGlzLnZhbHVlLm1hcCgoeCkgPT4gbmV3IERhdGUoeCkpLFxyXG4gICAgICAgIHR5cGUgIT09ICdzdGFydCdcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHR5cGVDaGFuZ2UodHlwZTogWERhdGVQaWNrZXJUeXBlKSB7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbW9udGhDaGFuZ2UoZGF0ZTogRGF0ZSkge1xyXG4gICAgdGhpcy5zZXREaXNwbGF5KGRhdGUpO1xyXG4gICAgaWYgKHRoaXMuX3R5cGUgPT09ICdtb250aCcpIHtcclxuICAgICAgdGhpcy5tb2RlbCA9IGRhdGU7XHJcbiAgICAgIC8vIHRoaXMubm9kZUVtaXQoZGF0ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnR5cGUgPSB0aGlzLl90eXBlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgeWVhckNoYW5nZShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLnNldERpc3BsYXkoZGF0ZSk7XHJcbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gJ3llYXInKSB7XHJcbiAgICAgIHRoaXMubW9kZWwgPSBkYXRlO1xyXG4gICAgICAvLyB0aGlzLm5vZGVFbWl0KGRhdGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50eXBlID0gJ21vbnRoJztcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHllYXJTdGFydENoYW5nZShudW1iZXI6IG51bWJlcikge1xyXG4gICAgdGhpcy5zdGFydFllYXIgPSBudW1iZXI7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZXh0TW9udGgobnVtOiBudW1iZXIpIHtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0TW9udGgoZGF0ZS5nZXRNb250aCgpICsgbnVtKTtcclxuICAgIHRoaXMuc2V0RGlzcGxheShkYXRlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5leHRZZWFyKG51bTogbnVtYmVyKSB7XHJcbiAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuZGlzcGxheSk7XHJcbiAgICBkYXRlLnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSArIG51bSk7XHJcbiAgICB0aGlzLnNldERpc3BsYXkoZGF0ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZXh0WWVhcnMobnVtOiBudW1iZXIpIHtcclxuICAgIHRoaXMuc3RhcnRZZWFyICs9IG51bTtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0RnVsbFllYXIodGhpcy5zdGFydFllYXIpO1xyXG4gICAgdGhpcy5zZXREaXNwbGF5KGRhdGUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9jYWxlTW9udGgoZGF0ZTogRGF0ZSkge1xyXG4gICAgcmV0dXJuICh0aGlzLmxvY2FsZSBhcyBhbnkpW3RoaXMubG93ZXJDYXNlUGlwZS50cmFuc2Zvcm0odGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgJ0xMTEwnKSBhcyBzdHJpbmcpXTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFRpbWUodGltZTogRGF0ZSkge1xyXG4gICAgdGhpcy50aW1lID0gdGltZS5nZXRUaW1lKCk7XHJcbiAgICAvLyB0aGlzLm5vZGVFbWl0KHRoaXMuc2V0TW9kZWwodGhpcy5tb2RlbCwgdGltZSksIGZhbHNlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldE1vZGVsKGRhdGU6IERhdGUsIHRpbWU6IERhdGUpIHtcclxuICAgIHRoaXMubW9kZWwgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCksIHRpbWUuZ2V0SG91cnMoKSwgdGltZS5nZXRNaW51dGVzKCksIHRpbWUuZ2V0U2Vjb25kcygpKTtcclxuICAgIHJldHVybiB0aGlzLm1vZGVsO1xyXG4gIH1cclxuXHJcbiAgc3RhcnRZZWFyQ2hhbmdlKG51bTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmVuZERpc3BsYXkgPSBYQWRkWWVhcnModGhpcy5lbmREaXNwbGF5LCBudW0pO1xyXG4gIH1cclxuXHJcbiAgZW5kWWVhckNoYW5nZShudW06IG51bWJlcikge1xyXG4gICAgdGhpcy5zdGFydERpc3BsYXkgPSBYQWRkWWVhcnModGhpcy5zdGFydERpc3BsYXksIG51bSk7XHJcbiAgfVxyXG5cclxuICBzdGFydE1vbnRoQ2hhbmdlKG51bTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmVuZERpc3BsYXkgPSBYQWRkTW9udGhzKHRoaXMuZW5kRGlzcGxheSwgbnVtKTtcclxuICB9XHJcblxyXG4gIGVuZE1vbnRoQ2hhbmdlKG51bTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnN0YXJ0RGlzcGxheSA9IFhBZGRNb250aHModGhpcy5zdGFydERpc3BsYXksIG51bSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LWRhdGUtcmFuZ2UtcG9ydGFsIHt7IHR5cGUgfX1cIiBbbmdTd2l0Y2hdPVwidHlwZVwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtZGF0ZS1yYW5nZS1wb3J0YWwtYm9keVwiPlxyXG4gICAgICA8eC1waWNrZXItZGF0ZVxyXG4gICAgICAgIGNsYXNzPVwieC1kYXRlLXJhbmdlLXBvcnRhbC1zdGFydFwiXHJcbiAgICAgICAgWyhkaXNwbGF5KV09XCJzdGFydERpc3BsYXlcIlxyXG4gICAgICAgIFttb2RlbF09XCJzdGFydE1vZGVsXCJcclxuICAgICAgICBbcmFuZ2VWYWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgW3JhbmdlVHlwZV09XCJhY3RpdmVUeXBlXCJcclxuICAgICAgICBbbmV4dFllYXJCdG5dPVwiZmFsc2VcIlxyXG4gICAgICAgIFtuZXh0TW9udGhCdG5dPVwiZmFsc2VcIlxyXG4gICAgICAgIChtb2RlbENoYW5nZSk9XCJkYXRlQ2hhbmdlKCRldmVudCwgJ3N0YXJ0JylcIlxyXG4gICAgICAgICh5ZWFyQ2hhbmdlKT1cInN0YXJ0WWVhckNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAobW9udGhDaGFuZ2UpPVwic3RhcnRNb250aENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICByYW5nZVBpY2tlclxyXG4gICAgICA+PC94LXBpY2tlci1kYXRlPlxyXG4gICAgICA8eC1waWNrZXItZGF0ZVxyXG4gICAgICAgIGNsYXNzPVwieC1kYXRlLXJhbmdlLXBvcnRhbC1lbmRcIlxyXG4gICAgICAgIFsoZGlzcGxheSldPVwiZW5kRGlzcGxheVwiXHJcbiAgICAgICAgW21vZGVsXT1cImVuZE1vZGVsXCJcclxuICAgICAgICBbcmFuZ2VWYWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgW3JhbmdlVHlwZV09XCJhY3RpdmVUeXBlXCJcclxuICAgICAgICBbbGFzdFllYXJCdG5dPVwiZmFsc2VcIlxyXG4gICAgICAgIFtsYXN0TW9udGhCdG5dPVwiZmFsc2VcIlxyXG4gICAgICAgIChtb2RlbENoYW5nZSk9XCJkYXRlQ2hhbmdlKCRldmVudCwgJ2VuZCcpXCJcclxuICAgICAgICAoeWVhckNoYW5nZSk9XCJlbmRZZWFyQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIChtb250aENoYW5nZSk9XCJlbmRNb250aENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICByYW5nZVBpY2tlclxyXG4gICAgICA+PC94LXBpY2tlci1kYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNzdGFydERhdGVIZWFkZXJUcGw+XHJcbiAgPHgtYnV0dG9uIGljb249XCJmdG8tY2hldnJvbnMtbGVmdFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIChjbGljayk9XCJuZXh0WWVhcigtMSlcIj48L3gtYnV0dG9uPlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb24tbGVmdFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIChjbGljayk9XCJuZXh0TW9udGgoLTEpXCI+PC94LWJ1dHRvbj5cclxuICA8ZGl2IGNsYXNzPVwieC1kYXRlLXJhbmdlLXBvcnRhbC15ZWFyLW1vbnRoXCI+XHJcbiAgICA8eC1idXR0b24gdHlwZT1cInRleHRcIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwidHlwZUNoYW5nZSgneWVhcicpXCI+e3sgc3RhcnREaXNwbGF5IHwgZGF0ZTogJ3l5eXknIH19e3sgbG9jYWxlLnllYXIgfX08L3gtYnV0dG9uPlxyXG4gICAgPHgtYnV0dG9uIHR5cGU9XCJ0ZXh0XCIgc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cInR5cGVDaGFuZ2UoJ21vbnRoJylcIj57eyBnZXRMb2NhbGVNb250aChzdGFydERpc3BsYXkpIH19PC94LWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8eC1idXR0b24gaWNvbj1cImZ0by1jaGV2cm9uLXJpZ2h0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gc3R5bGU9XCJ2aXNpYmlsaXR5OiBoaWRkZW5cIj48L3gtYnV0dG9uPlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb25zLXJpZ2h0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gc3R5bGU9XCJ2aXNpYmlsaXR5OiBoaWRkZW5cIj48L3gtYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNlbmREYXRlSGVhZGVyVHBsPlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb25zLWxlZnRcIiBzaXplPVwic21hbGxcIiBvbmx5SWNvbiAoY2xpY2spPVwibmV4dFllYXIoLTEpXCIgc3R5bGU9XCJ2aXNpYmlsaXR5OiBoaWRkZW5cIj48L3gtYnV0dG9uPlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb24tbGVmdFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIChjbGljayk9XCJuZXh0TW9udGgoLTEpXCIgc3R5bGU9XCJ2aXNpYmlsaXR5OiBoaWRkZW5cIj48L3gtYnV0dG9uPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWRhdGUtcmFuZ2UtcG9ydGFsLXllYXItbW9udGhcIj5cclxuICAgIDx4LWJ1dHRvbiB0eXBlPVwidGV4dFwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJ0eXBlQ2hhbmdlKCd5ZWFyJylcIj57eyBlbmREaXNwbGF5IHwgZGF0ZTogJ3l5eXknIH19e3sgbG9jYWxlLnllYXIgfX08L3gtYnV0dG9uPlxyXG4gICAgPHgtYnV0dG9uIHR5cGU9XCJ0ZXh0XCIgc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cInR5cGVDaGFuZ2UoJ21vbnRoJylcIj57eyBnZXRMb2NhbGVNb250aChlbmREaXNwbGF5KSB9fTwveC1idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPHgtYnV0dG9uIGljb249XCJmdG8tY2hldnJvbi1yaWdodFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIChjbGljayk9XCJuZXh0TW9udGgoMSlcIj48L3gtYnV0dG9uPlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb25zLXJpZ2h0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gKGNsaWNrKT1cIm5leHRZZWFyKDEpXCI+PC94LWJ1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3ZCLFdBQVcsRUFDWCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFzQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQXNCLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBWTFELE1BQU0sT0FBTyx5QkFBeUI7SUFtQ3BDLFlBQW1CLFFBQWtCLEVBQVMsYUFBNEIsRUFBUyxHQUFzQixFQUFTLElBQWtCO1FBQWpILGFBQVEsR0FBUixRQUFRLENBQVU7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBYztRQXpCcEksU0FBSSxHQUFvQixNQUFNLENBQUM7UUFDL0IsWUFBTyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFLckIsaUJBQVksR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2hD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Q0FBQztJQUNwRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQVc7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBVztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxjQUFjLENBQUMsR0FBVztRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7OzRKQWhPVSx5QkFBeUI7Z0pBQXpCLHlCQUF5Qiw0T0FGekIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLDBCQ3pCdEMseXlGQXNEQSw0NEREOUJjLENBQUMscUJBQXFCLENBQUM7MkZBR3hCLHlCQUF5QjtrQkFUckMsU0FBUzsrQkFDRSxHQUFHLHNCQUFzQixFQUFFLGlCQUd0QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLENBQUMscUJBQXFCLENBQUMsYUFDeEIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDO3NMQUdhLFNBQVM7c0JBQXpELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUNvQixJQUFJO3NCQUEvRCxZQUFZO3VCQUFDLGdDQUFnQyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUlHLEtBQUs7c0JBQWpFLFlBQVk7dUJBQUMsaUNBQWlDLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhEYXRlUmFuZ2VQb3J0YWxQcmVmaXgsIFhEYXRlUGlja2VyUHJlc2V0LCBYRGF0ZVBpY2tlclR5cGUgfSBmcm9tICcuL2RhdGUtcGlja2VyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhDb25uZWN0QmFzZUFuaW1hdGlvbiwgWFBvc2l0aW9uVG9wQm90dG9tLCBYQWRkTW9udGhzLCBYQWRkWWVhcnMgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUsIExvd2VyQ2FzZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYSTE4blNlcnZpY2UsIFhJMThuRGF0ZVBpY2tlciB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hEYXRlUmFuZ2VQb3J0YWxQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcmFuZ2UtcG9ydGFsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBhbmltYXRpb25zOiBbWENvbm5lY3RCYXNlQW5pbWF0aW9uXSxcclxuICBwcm92aWRlcnM6IFtEYXRlUGlwZSwgTG93ZXJDYXNlUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhEYXRlUmFuZ2VQb3J0YWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQEhvc3RCaW5kaW5nKCdAeC1jb25uZWN0LWJhc2UtYW5pbWF0aW9uJykgcHVibGljIHBsYWNlbWVudCE6IFhQb3NpdGlvblRvcEJvdHRvbTtcclxuICBASG9zdExpc3RlbmVyKCdAeC1jb25uZWN0LWJhc2UtYW5pbWF0aW9uLmRvbmUnLCBbJyRldmVudCddKSBkb25lKGV2ZW50OiB7IHRvU3RhdGU6IGFueSB9KSB7XHJcbiAgICB0aGlzLmFuaW1hdGluZyhmYWxzZSk7XHJcbiAgICBldmVudC50b1N0YXRlID09PSAndm9pZCcgJiYgdGhpcy5kZXN0cm95UG9ydGFsKCk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ0B4LWNvbm5lY3QtYmFzZS1hbmltYXRpb24uc3RhcnQnLCBbJyRldmVudCddKSBzdGFydCgpIHtcclxuICAgIHRoaXMuYW5pbWF0aW5nKHRydWUpO1xyXG4gIH1cclxuXHJcbiAgdHlwZTogWERhdGVQaWNrZXJUeXBlID0gJ2RhdGUnO1xyXG4gIGRpc3BsYXkgPSBuZXcgRGF0ZSgpO1xyXG4gIG1vZGVsITogRGF0ZTtcclxuICBzdGFydE1vZGVsITogRGF0ZTtcclxuICBlbmRNb2RlbCE6IERhdGU7XHJcbiAgc3RhcnRZZWFyITogbnVtYmVyO1xyXG4gIHN0YXJ0RGlzcGxheTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgZW5kRGlzcGxheTogRGF0ZSA9IFhBZGRNb250aHModGhpcy5zdGFydERpc3BsYXksIDEpO1xyXG4gIHZhbHVlOiBudW1iZXJbXSA9IFtdO1xyXG4gIHZhbHVlQ2hhbmdlITogU3ViamVjdDxudW1iZXJbXT47XHJcbiAgcG9zaXRpb25DaGFuZ2UhOiBTdWJqZWN0PGFueT47XHJcbiAgaW5wdXRBY3RpdmVDaGFuZ2UhOiBTdWJqZWN0PCdzdGFydCcgfCAnZW5kJz47XHJcbiAgYWN0aXZlVHlwZSE6ICdzdGFydCcgfCAnZW5kJztcclxuICBhbmltYXRpbmchOiBGdW5jdGlvbjtcclxuICBjbG9zZVBvcnRhbCE6IEZ1bmN0aW9uO1xyXG4gIGRlc3Ryb3lQb3J0YWwhOiBGdW5jdGlvbjtcclxuICBub2RlRW1pdCE6IChkYXRlOiBEYXRlW10sIHN1cmU/OiBib29sZWFuKSA9PiB2b2lkO1xyXG4gIHN0YXJ0Tm9kZUVtaXQhOiAoZGF0ZTogRGF0ZSkgPT4gdm9pZDtcclxuICBlbmROb2RlRW1pdCE6IChkYXRlOiBEYXRlKSA9PiB2b2lkO1xyXG4gIGxvY2FsZTogWEkxOG5EYXRlUGlja2VyID0ge307XHJcbiAgdGltZSE6IG51bWJlcjtcclxuICBwcmVzZXQ6IFhEYXRlUGlja2VyUHJlc2V0W10gPSBbXTtcclxuICBwcml2YXRlIF90eXBlITogWERhdGVQaWNrZXJUeXBlO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRlUGlwZTogRGF0ZVBpcGUsIHB1YmxpYyBsb3dlckNhc2VQaXBlOiBMb3dlckNhc2VQaXBlLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGkxOG46IFhJMThuU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLnZhbHVlID0geDtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMucG9zaXRpb25DaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMucGxhY2VtZW50ID0geDtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmlucHV0QWN0aXZlQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLmFjdGl2ZVR5cGUgPSB4O1xyXG4gICAgICB0aGlzLnNldERlZmF1bHQoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5pMThuLmxvY2FsZUNoYW5nZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHgpID0+IHguZGF0ZVBpY2tlciBhcyBYSTE4bkRhdGVQaWNrZXIpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9jYWxlID0geDtcclxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdCgpIHtcclxuICAgIGlmICghWElzRW1wdHkodGhpcy52YWx1ZSkpIHtcclxuICAgICAgdGhpcy5zZXREZWZhdWx0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZhbHVlID0gW107XHJcbiAgICAgIHRoaXMubW9kZWwgPSB0aGlzLmRpc3BsYXk7XHJcbiAgICAgIHRoaXMuc3RhcnRNb2RlbCA9IHRoaXMubW9kZWw7XHJcbiAgICAgIHRoaXMuZW5kTW9kZWwgPSBYQWRkTW9udGhzKHRoaXMubW9kZWwsIDEpO1xyXG4gICAgICB0aGlzLnNldERpc3BsYXkodGhpcy5tb2RlbCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl90eXBlID0gdGhpcy50eXBlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc3RvcFByb3BhZ2F0aW9uKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0KCkge1xyXG4gICAgY29uc3QgdHlwZSA9IHRoaXMuYWN0aXZlVHlwZSB8fCAnc3RhcnQnO1xyXG4gICAgaWYgKHR5cGUgPT09ICdzdGFydCcpIHtcclxuICAgICAgdGhpcy5zdGFydE1vZGVsID0gbmV3IERhdGUodGhpcy52YWx1ZVswXSk7XHJcbiAgICAgIHRoaXMuc3RhcnREaXNwbGF5ID0gdGhpcy5zdGFydE1vZGVsO1xyXG4gICAgICB0aGlzLmVuZE1vZGVsID0gWEFkZE1vbnRocyh0aGlzLnN0YXJ0TW9kZWwsIDEpO1xyXG4gICAgICB0aGlzLmVuZERpc3BsYXkgPSB0aGlzLmVuZE1vZGVsO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnZW5kJykge1xyXG4gICAgICB0aGlzLmVuZE1vZGVsID0gbmV3IERhdGUodGhpcy52YWx1ZVsxXSk7XHJcbiAgICAgIHRoaXMuZW5kRGlzcGxheSA9IHRoaXMuZW5kTW9kZWw7XHJcbiAgICAgIHRoaXMuc3RhcnRNb2RlbCA9IFhBZGRNb250aHModGhpcy5lbmRNb2RlbCwgLTEpO1xyXG4gICAgICB0aGlzLnN0YXJ0RGlzcGxheSA9IHRoaXMuc3RhcnRNb2RlbDtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldERpc3BsYXkoZGF0ZTogRGF0ZSkge1xyXG4gICAgdGhpcy5kaXNwbGF5ID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIDEpO1xyXG4gICAgdGhpcy5zdGFydERpc3BsYXkgPSB0aGlzLmRpc3BsYXk7XHJcbiAgICB0aGlzLmVuZERpc3BsYXkgPSBYQWRkTW9udGhzKHRoaXMuZGlzcGxheSwgMSk7XHJcbiAgfVxyXG5cclxuICBkYXRlQ2hhbmdlKGRhdGU6IERhdGUsIHR5cGU6ICdzdGFydCcgfCAnZW5kJykge1xyXG4gICAgbGV0IHRpbWUgPSBkYXRlLmdldFRpbWUoKTtcclxuICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gW3RpbWVdO1xyXG4gICAgICB0aGlzLnN0YXJ0Tm9kZUVtaXQoZGF0ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWUubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGlmICh0aW1lID4gdGhpcy52YWx1ZVswXSkge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZSwgdGltZV07XHJcbiAgICAgICAgdGhpcy5lbmROb2RlRW1pdChkYXRlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gW3RpbWUsIC4uLnRoaXMudmFsdWVdO1xyXG4gICAgICAgIHRoaXMuc3RhcnROb2RlRW1pdChkYXRlKTtcclxuICAgICAgICB0aGlzLmVuZE5vZGVFbWl0KG5ldyBEYXRlKHRoaXMudmFsdWVbMV0pKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm5vZGVFbWl0KHRoaXMudmFsdWUubWFwKCh4KSA9PiBuZXcgRGF0ZSh4KSkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHR5cGUgPT09ICdzdGFydCcpIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gW3RpbWUsIHRoaXMudmFsdWVbMV1dO1xyXG4gICAgICAgIHRoaXMuc3RhcnROb2RlRW1pdChkYXRlKTtcclxuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnZW5kJykge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBbdGhpcy52YWx1ZVswXSwgdGltZV07XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIHRoaXMuZW5kTm9kZUVtaXQoZGF0ZSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5ub2RlRW1pdChcclxuICAgICAgICB0aGlzLnZhbHVlLm1hcCgoeCkgPT4gbmV3IERhdGUoeCkpLFxyXG4gICAgICAgIHR5cGUgIT09ICdzdGFydCdcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHR5cGVDaGFuZ2UodHlwZTogWERhdGVQaWNrZXJUeXBlKSB7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbW9udGhDaGFuZ2UoZGF0ZTogRGF0ZSkge1xyXG4gICAgdGhpcy5zZXREaXNwbGF5KGRhdGUpO1xyXG4gICAgaWYgKHRoaXMuX3R5cGUgPT09ICdtb250aCcpIHtcclxuICAgICAgdGhpcy5tb2RlbCA9IGRhdGU7XHJcbiAgICAgIC8vIHRoaXMubm9kZUVtaXQoZGF0ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnR5cGUgPSB0aGlzLl90eXBlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgeWVhckNoYW5nZShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLnNldERpc3BsYXkoZGF0ZSk7XHJcbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gJ3llYXInKSB7XHJcbiAgICAgIHRoaXMubW9kZWwgPSBkYXRlO1xyXG4gICAgICAvLyB0aGlzLm5vZGVFbWl0KGRhdGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50eXBlID0gJ21vbnRoJztcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHllYXJTdGFydENoYW5nZShudW1iZXI6IG51bWJlcikge1xyXG4gICAgdGhpcy5zdGFydFllYXIgPSBudW1iZXI7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZXh0TW9udGgobnVtOiBudW1iZXIpIHtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0TW9udGgoZGF0ZS5nZXRNb250aCgpICsgbnVtKTtcclxuICAgIHRoaXMuc2V0RGlzcGxheShkYXRlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5leHRZZWFyKG51bTogbnVtYmVyKSB7XHJcbiAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuZGlzcGxheSk7XHJcbiAgICBkYXRlLnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSArIG51bSk7XHJcbiAgICB0aGlzLnNldERpc3BsYXkoZGF0ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZXh0WWVhcnMobnVtOiBudW1iZXIpIHtcclxuICAgIHRoaXMuc3RhcnRZZWFyICs9IG51bTtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0RnVsbFllYXIodGhpcy5zdGFydFllYXIpO1xyXG4gICAgdGhpcy5zZXREaXNwbGF5KGRhdGUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9jYWxlTW9udGgoZGF0ZTogRGF0ZSkge1xyXG4gICAgcmV0dXJuICh0aGlzLmxvY2FsZSBhcyBhbnkpW3RoaXMubG93ZXJDYXNlUGlwZS50cmFuc2Zvcm0odGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgJ0xMTEwnKSBhcyBzdHJpbmcpXTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFRpbWUodGltZTogRGF0ZSkge1xyXG4gICAgdGhpcy50aW1lID0gdGltZS5nZXRUaW1lKCk7XHJcbiAgICAvLyB0aGlzLm5vZGVFbWl0KHRoaXMuc2V0TW9kZWwodGhpcy5tb2RlbCwgdGltZSksIGZhbHNlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldE1vZGVsKGRhdGU6IERhdGUsIHRpbWU6IERhdGUpIHtcclxuICAgIHRoaXMubW9kZWwgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCksIHRpbWUuZ2V0SG91cnMoKSwgdGltZS5nZXRNaW51dGVzKCksIHRpbWUuZ2V0U2Vjb25kcygpKTtcclxuICAgIHJldHVybiB0aGlzLm1vZGVsO1xyXG4gIH1cclxuXHJcbiAgc3RhcnRZZWFyQ2hhbmdlKG51bTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmVuZERpc3BsYXkgPSBYQWRkWWVhcnModGhpcy5lbmREaXNwbGF5LCBudW0pO1xyXG4gIH1cclxuXHJcbiAgZW5kWWVhckNoYW5nZShudW06IG51bWJlcikge1xyXG4gICAgdGhpcy5zdGFydERpc3BsYXkgPSBYQWRkWWVhcnModGhpcy5zdGFydERpc3BsYXksIG51bSk7XHJcbiAgfVxyXG5cclxuICBzdGFydE1vbnRoQ2hhbmdlKG51bTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmVuZERpc3BsYXkgPSBYQWRkTW9udGhzKHRoaXMuZW5kRGlzcGxheSwgbnVtKTtcclxuICB9XHJcblxyXG4gIGVuZE1vbnRoQ2hhbmdlKG51bTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnN0YXJ0RGlzcGxheSA9IFhBZGRNb250aHModGhpcy5zdGFydERpc3BsYXksIG51bSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LWRhdGUtcmFuZ2UtcG9ydGFsIHt7IHR5cGUgfX1cIiBbbmdTd2l0Y2hdPVwidHlwZVwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtZGF0ZS1yYW5nZS1wb3J0YWwtYm9keVwiPlxyXG4gICAgICA8eC1waWNrZXItZGF0ZVxyXG4gICAgICAgIGNsYXNzPVwieC1kYXRlLXJhbmdlLXBvcnRhbC1zdGFydFwiXHJcbiAgICAgICAgWyhkaXNwbGF5KV09XCJzdGFydERpc3BsYXlcIlxyXG4gICAgICAgIFttb2RlbF09XCJzdGFydE1vZGVsXCJcclxuICAgICAgICBbcmFuZ2VWYWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgW3JhbmdlVHlwZV09XCJhY3RpdmVUeXBlXCJcclxuICAgICAgICBbbmV4dFllYXJCdG5dPVwiZmFsc2VcIlxyXG4gICAgICAgIFtuZXh0TW9udGhCdG5dPVwiZmFsc2VcIlxyXG4gICAgICAgIChtb2RlbENoYW5nZSk9XCJkYXRlQ2hhbmdlKCRldmVudCwgJ3N0YXJ0JylcIlxyXG4gICAgICAgICh5ZWFyQ2hhbmdlKT1cInN0YXJ0WWVhckNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAobW9udGhDaGFuZ2UpPVwic3RhcnRNb250aENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICByYW5nZVBpY2tlclxyXG4gICAgICA+PC94LXBpY2tlci1kYXRlPlxyXG4gICAgICA8eC1waWNrZXItZGF0ZVxyXG4gICAgICAgIGNsYXNzPVwieC1kYXRlLXJhbmdlLXBvcnRhbC1lbmRcIlxyXG4gICAgICAgIFsoZGlzcGxheSldPVwiZW5kRGlzcGxheVwiXHJcbiAgICAgICAgW21vZGVsXT1cImVuZE1vZGVsXCJcclxuICAgICAgICBbcmFuZ2VWYWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgW3JhbmdlVHlwZV09XCJhY3RpdmVUeXBlXCJcclxuICAgICAgICBbbGFzdFllYXJCdG5dPVwiZmFsc2VcIlxyXG4gICAgICAgIFtsYXN0TW9udGhCdG5dPVwiZmFsc2VcIlxyXG4gICAgICAgIChtb2RlbENoYW5nZSk9XCJkYXRlQ2hhbmdlKCRldmVudCwgJ2VuZCcpXCJcclxuICAgICAgICAoeWVhckNoYW5nZSk9XCJlbmRZZWFyQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIChtb250aENoYW5nZSk9XCJlbmRNb250aENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICByYW5nZVBpY2tlclxyXG4gICAgICA+PC94LXBpY2tlci1kYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNzdGFydERhdGVIZWFkZXJUcGw+XHJcbiAgPHgtYnV0dG9uIGljb249XCJmdG8tY2hldnJvbnMtbGVmdFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIChjbGljayk9XCJuZXh0WWVhcigtMSlcIj48L3gtYnV0dG9uPlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb24tbGVmdFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIChjbGljayk9XCJuZXh0TW9udGgoLTEpXCI+PC94LWJ1dHRvbj5cclxuICA8ZGl2IGNsYXNzPVwieC1kYXRlLXJhbmdlLXBvcnRhbC15ZWFyLW1vbnRoXCI+XHJcbiAgICA8eC1idXR0b24gdHlwZT1cInRleHRcIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwidHlwZUNoYW5nZSgneWVhcicpXCI+e3sgc3RhcnREaXNwbGF5IHwgZGF0ZTogJ3l5eXknIH19e3sgbG9jYWxlLnllYXIgfX08L3gtYnV0dG9uPlxyXG4gICAgPHgtYnV0dG9uIHR5cGU9XCJ0ZXh0XCIgc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cInR5cGVDaGFuZ2UoJ21vbnRoJylcIj57eyBnZXRMb2NhbGVNb250aChzdGFydERpc3BsYXkpIH19PC94LWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8eC1idXR0b24gaWNvbj1cImZ0by1jaGV2cm9uLXJpZ2h0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gc3R5bGU9XCJ2aXNpYmlsaXR5OiBoaWRkZW5cIj48L3gtYnV0dG9uPlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb25zLXJpZ2h0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gc3R5bGU9XCJ2aXNpYmlsaXR5OiBoaWRkZW5cIj48L3gtYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNlbmREYXRlSGVhZGVyVHBsPlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb25zLWxlZnRcIiBzaXplPVwic21hbGxcIiBvbmx5SWNvbiAoY2xpY2spPVwibmV4dFllYXIoLTEpXCIgc3R5bGU9XCJ2aXNpYmlsaXR5OiBoaWRkZW5cIj48L3gtYnV0dG9uPlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb24tbGVmdFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIChjbGljayk9XCJuZXh0TW9udGgoLTEpXCIgc3R5bGU9XCJ2aXNpYmlsaXR5OiBoaWRkZW5cIj48L3gtYnV0dG9uPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWRhdGUtcmFuZ2UtcG9ydGFsLXllYXItbW9udGhcIj5cclxuICAgIDx4LWJ1dHRvbiB0eXBlPVwidGV4dFwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJ0eXBlQ2hhbmdlKCd5ZWFyJylcIj57eyBlbmREaXNwbGF5IHwgZGF0ZTogJ3l5eXknIH19e3sgbG9jYWxlLnllYXIgfX08L3gtYnV0dG9uPlxyXG4gICAgPHgtYnV0dG9uIHR5cGU9XCJ0ZXh0XCIgc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cInR5cGVDaGFuZ2UoJ21vbnRoJylcIj57eyBnZXRMb2NhbGVNb250aChlbmREaXNwbGF5KSB9fTwveC1idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPHgtYnV0dG9uIGljb249XCJmdG8tY2hldnJvbi1yaWdodFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIChjbGljayk9XCJuZXh0TW9udGgoMSlcIj48L3gtYnV0dG9uPlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb25zLXJpZ2h0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gKGNsaWNrKT1cIm5leHRZZWFyKDEpXCI+PC94LWJ1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -299,9 +299,9 @@ export class XDateRangeComponent extends XDateRangeProperty {
299
299
  this.cdr.detectChanges();
300
300
  }
301
301
  }
302
- /** @nocollapse */ /** @nocollapse */ XDateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XDateRangeComponent, deps: [{ token: i0.Renderer2 }, { token: i1.XConfigService }, { token: i0.ChangeDetectorRef }, { token: i2.XPortalService }, { token: i0.ViewContainerRef }, { token: i3.DatePipe }, { token: i4.Overlay }], target: i0.ɵɵFactoryTarget.Component });
303
- /** @nocollapse */ /** @nocollapse */ XDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: XDateRangeComponent, selector: "x-date-range", providers: [XValueAccessor(XDateRangeComponent), DatePipe], viewQueries: [{ propertyName: "dateRange", first: true, predicate: ["dateRange"], descendants: true, static: true }, { propertyName: "inputGroup", first: true, predicate: ["inputGroup"], descendants: true, static: true }, { propertyName: "inputStartCom", first: true, predicate: ["inputStartCom"], descendants: true, static: true }, { propertyName: "inputEndCom", first: true, predicate: ["inputEndCom"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #dateRange class=\"x-date-range\" [class.x-date-range-active]=\"active\">\r\n <div class=\"x-date-range-row\">\r\n <x-input-group #inputGroup class=\"x-date-range-group\" bordered=\"false\" (click)=\"showPortal($event)\">\r\n <x-input\r\n #inputStartCom\r\n [class.x-input-active]=\"startActive\"\r\n type=\"text\"\r\n placeholder=\"\u5F00\u59CB\u65E5\u671F\"\r\n (click)=\"showPortal($event, 'start')\"\r\n (xFocus)=\"startActive = true\"\r\n (xBlur)=\"startActive = false\"\r\n [(ngModel)]=\"startDisplay\"\r\n ></x-input>\r\n <x-icon type=\"fto-arrow-right\"></x-icon>\r\n <x-input\r\n #inputEndCom\r\n [class.x-input-active]=\"endActive\"\r\n type=\"text\"\r\n placeholder=\"\u7ED3\u675F\u65E5\u671F\"\r\n (click)=\"showPortal($event, 'end')\"\r\n (xFocus)=\"endActive = true\"\r\n (xBlur)=\"endActive = false\"\r\n [(ngModel)]=\"endDisplay\"\r\n ></x-input>\r\n <x-icon [type]=\"icon\"></x-icon>\r\n </x-input-group>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-range{display:inline-block}.x-date-range{margin:0;padding:0;width:100%}.x-date-range-row{flex:1;display:flex;align-items:center}.x-date-range-group{display:inline-flex;flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) transparent;transition:all var(--x-animation-duration-slow)}.x-date-range-group .x-input-group{display:flex;align-items:center}.x-date-range-group .x-input-group>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2;padding:.4rem}.x-date-range-group .x-input-group>x-input{width:6rem}.x-date-range-group .x-input-group>x-input input{padding-left:0!important;padding-right:0!important;margin-left:.4rem;margin-right:.4rem;border-radius:0;border-bottom:var(--x-border-width) var(--x-border-style) transparent}.x-date-range-group .x-input-group>x-input .x-input-active input{border-color:var(--x-primary)}.x-date-range-group:hover{border-color:var(--x-primary-300)}.x-date-range-active .x-date-range-group{border-color:var(--x-primary)}\n"], components: [{ type: i5.XInputGroupComponent, selector: "x-input-group" }, { type: i5.XInputComponent, selector: "x-input" }, { type: i6.XIconComponent, selector: "x-icon" }], directives: [{ type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
304
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XDateRangeComponent, decorators: [{
302
+ /** @nocollapse */ /** @nocollapse */ XDateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDateRangeComponent, deps: [{ token: i0.Renderer2 }, { token: i1.XConfigService }, { token: i0.ChangeDetectorRef }, { token: i2.XPortalService }, { token: i0.ViewContainerRef }, { token: i3.DatePipe }, { token: i4.Overlay }], target: i0.ɵɵFactoryTarget.Component });
303
+ /** @nocollapse */ /** @nocollapse */ XDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDateRangeComponent, selector: "x-date-range", providers: [XValueAccessor(XDateRangeComponent), DatePipe], viewQueries: [{ propertyName: "dateRange", first: true, predicate: ["dateRange"], descendants: true, static: true }, { propertyName: "inputGroup", first: true, predicate: ["inputGroup"], descendants: true, static: true }, { propertyName: "inputStartCom", first: true, predicate: ["inputStartCom"], descendants: true, static: true }, { propertyName: "inputEndCom", first: true, predicate: ["inputEndCom"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #dateRange class=\"x-date-range\" [class.x-date-range-active]=\"active\">\r\n <div class=\"x-date-range-row\">\r\n <x-input-group #inputGroup class=\"x-date-range-group\" bordered=\"false\" (click)=\"showPortal($event)\">\r\n <x-input\r\n #inputStartCom\r\n [class.x-input-active]=\"startActive\"\r\n type=\"text\"\r\n placeholder=\"\u5F00\u59CB\u65E5\u671F\"\r\n (click)=\"showPortal($event, 'start')\"\r\n (xFocus)=\"startActive = true\"\r\n (xBlur)=\"startActive = false\"\r\n [(ngModel)]=\"startDisplay\"\r\n ></x-input>\r\n <x-icon type=\"fto-arrow-right\"></x-icon>\r\n <x-input\r\n #inputEndCom\r\n [class.x-input-active]=\"endActive\"\r\n type=\"text\"\r\n placeholder=\"\u7ED3\u675F\u65E5\u671F\"\r\n (click)=\"showPortal($event, 'end')\"\r\n (xFocus)=\"endActive = true\"\r\n (xBlur)=\"endActive = false\"\r\n [(ngModel)]=\"endDisplay\"\r\n ></x-input>\r\n <x-icon [type]=\"icon\"></x-icon>\r\n </x-input-group>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-range{display:inline-block}.x-date-range{margin:0;padding:0;width:100%}.x-date-range-row{flex:1;display:flex;align-items:center}.x-date-range-group{display:inline-flex;flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) transparent;transition:all var(--x-animation-duration-slow)}.x-date-range-group .x-input-group{display:flex;align-items:center}.x-date-range-group .x-input-group>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2;padding:.4rem}.x-date-range-group .x-input-group>x-input{width:6rem}.x-date-range-group .x-input-group>x-input input{padding-left:0!important;padding-right:0!important;margin-left:.4rem;margin-right:.4rem;border-radius:0;border-bottom:var(--x-border-width) var(--x-border-style) transparent}.x-date-range-group .x-input-group>x-input .x-input-active input{border-color:var(--x-primary)}.x-date-range-group:hover{border-color:var(--x-primary-300)}.x-date-range-active .x-date-range-group{border-color:var(--x-primary)}\n"], components: [{ type: i5.XInputGroupComponent, selector: "x-input-group" }, { type: i5.XInputComponent, selector: "x-input" }, { type: i6.XIconComponent, selector: "x-icon" }], directives: [{ type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
304
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDateRangeComponent, decorators: [{
305
305
  type: Component,
306
306
  args: [{ selector: `${XDateRangePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XDateRangeComponent), DatePipe], template: "<div #dateRange class=\"x-date-range\" [class.x-date-range-active]=\"active\">\r\n <div class=\"x-date-range-row\">\r\n <x-input-group #inputGroup class=\"x-date-range-group\" bordered=\"false\" (click)=\"showPortal($event)\">\r\n <x-input\r\n #inputStartCom\r\n [class.x-input-active]=\"startActive\"\r\n type=\"text\"\r\n placeholder=\"\u5F00\u59CB\u65E5\u671F\"\r\n (click)=\"showPortal($event, 'start')\"\r\n (xFocus)=\"startActive = true\"\r\n (xBlur)=\"startActive = false\"\r\n [(ngModel)]=\"startDisplay\"\r\n ></x-input>\r\n <x-icon type=\"fto-arrow-right\"></x-icon>\r\n <x-input\r\n #inputEndCom\r\n [class.x-input-active]=\"endActive\"\r\n type=\"text\"\r\n placeholder=\"\u7ED3\u675F\u65E5\u671F\"\r\n (click)=\"showPortal($event, 'end')\"\r\n (xFocus)=\"endActive = true\"\r\n (xBlur)=\"endActive = false\"\r\n [(ngModel)]=\"endDisplay\"\r\n ></x-input>\r\n <x-icon [type]=\"icon\"></x-icon>\r\n </x-input-group>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-range{display:inline-block}.x-date-range{margin:0;padding:0;width:100%}.x-date-range-row{flex:1;display:flex;align-items:center}.x-date-range-group{display:inline-flex;flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) transparent;transition:all var(--x-animation-duration-slow)}.x-date-range-group .x-input-group{display:flex;align-items:center}.x-date-range-group .x-input-group>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2;padding:.4rem}.x-date-range-group .x-input-group>x-input{width:6rem}.x-date-range-group .x-input-group>x-input input{padding-left:0!important;padding-right:0!important;margin-left:.4rem;margin-right:.4rem;border-radius:0;border-bottom:var(--x-border-width) var(--x-border-style) transparent}.x-date-range-group .x-input-group>x-input .x-input-active input{border-color:var(--x-primary)}.x-date-range-group:hover{border-color:var(--x-primary-300)}.x-date-range-active .x-date-range-group{border-color:var(--x-primary)}\n"] }]
307
307
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.XConfigService }, { type: i0.ChangeDetectorRef }, { type: i2.XPortalService }, { type: i0.ViewContainerRef }, { type: i3.DatePipe }, { type: i4.Overlay }]; }, propDecorators: { dateRange: [{
@@ -147,9 +147,9 @@ export class XPickerDateComponent extends XPickerDateProperty {
147
147
  return item;
148
148
  }
149
149
  }
150
- /** @nocollapse */ /** @nocollapse */ XPickerDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XPickerDateComponent, deps: [{ token: i0.Renderer2 }, { token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XConfigService }, { token: i3.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
151
- /** @nocollapse */ /** @nocollapse */ XPickerDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: XPickerDateComponent, selector: "x-picker-date", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-date\" [class.x-date-picker-datetemp]=\"dateTemp\">\r\n <div class=\"x-picker-date-header\" *ngIf=\"showHeader\">\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\" [class.x-visibility]=\"!lastYearBtn\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\" [class.x-visibility]=\"!lastMonthBtn\"></x-button>\r\n <div class=\"x-picker-date-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('year')\">{{ display | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('month')\">{{ getLocaleMonth(display) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\" [class.x-visibility]=\"!nextYearBtn\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\" [class.x-visibility]=\"!nextMonthBtn\"></x-button>\r\n </div>\r\n <div class=\"x-picker-date-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let title of titles; trackBy: trackByNode\">{{ title | xI18n }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let weeks of dates\">\r\n <ng-container *ngFor=\"let week of weeks; trackBy: trackByNode\">\r\n <td\r\n [class.x-date-last-or-next]=\"(week | date: 'yyyyMM') !== (display | date: 'yyyyMM')\"\r\n [class.x-date-now]=\"(week | date: 'yyyyMMdd') === (now | date: 'yyyyMMdd')\"\r\n (click)=\"dateTemp && dateClick(week)\"\r\n >\r\n <x-button\r\n *ngIf=\"!dateTemp\"\r\n type=\"text\"\r\n size=\"mini\"\r\n title=\"{{ week | date: 'yyyy-MM-dd' }}\"\r\n [activated]=\"!rangePicker && (week | date: 'yyyyMMdd') === (model | date: 'yyyyMMdd')\"\r\n [disabled]=\"false\"\r\n (click)=\"dateClick(week)\"\r\n >{{ week | date: 'd' }}</x-button\r\n >\r\n <ng-container *ngIf=\"dateTemp\">\r\n <ng-container *ngTemplateOutlet=\"dateTemp; context: { date$: week }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-date{margin:0;padding:0}.x-picker-date-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-picker-date-year-month{flex:1;text-align:center}.x-picker-date-body{padding:.5rem}.x-picker-date-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-date-body>table th{font-weight:400;height:2rem;color:var(--x-text-400)}.x-picker-date-body>table td{padding:.25rem 0;text-align:center}.x-picker-date-body>table td x-button .x-button{width:1.625rem;height:1.5rem;margin:0 auto;border:.0625rem solid transparent}.x-picker-date-body>table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-date-body>table td x-button .x-button-activated{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-date-body>table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-date-body>table td.x-date-last-or-next x-button .x-button{color:var(--x-text-700)}.x-picker-date-body>table td.x-date-now x-button .x-button:not(.x-button-activated){color:var(--x-primary);background-color:transparent;border-color:var(--x-primary)}.x-picker-date .x-visibility{visibility:hidden}\n"], components: [{ type: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "date": i1.DatePipe, "xI18n": i3.XI18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XPickerDateComponent, decorators: [{
150
+ /** @nocollapse */ /** @nocollapse */ XPickerDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XPickerDateComponent, deps: [{ token: i0.Renderer2 }, { token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XConfigService }, { token: i3.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
151
+ /** @nocollapse */ /** @nocollapse */ XPickerDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XPickerDateComponent, selector: "x-picker-date", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-date\" [class.x-date-picker-datetemp]=\"dateTemp\">\r\n <div class=\"x-picker-date-header\" *ngIf=\"showHeader\">\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\" [class.x-visibility]=\"!lastYearBtn\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\" [class.x-visibility]=\"!lastMonthBtn\"></x-button>\r\n <div class=\"x-picker-date-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('year')\">{{ display | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('month')\">{{ getLocaleMonth(display) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\" [class.x-visibility]=\"!nextYearBtn\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\" [class.x-visibility]=\"!nextMonthBtn\"></x-button>\r\n </div>\r\n <div class=\"x-picker-date-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let title of titles; trackBy: trackByNode\">{{ title | xI18n }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let weeks of dates\">\r\n <ng-container *ngFor=\"let week of weeks; trackBy: trackByNode\">\r\n <td\r\n [class.x-date-last-or-next]=\"(week | date: 'yyyyMM') !== (display | date: 'yyyyMM')\"\r\n [class.x-date-now]=\"(week | date: 'yyyyMMdd') === (now | date: 'yyyyMMdd')\"\r\n (click)=\"dateTemp && dateClick(week)\"\r\n >\r\n <x-button\r\n *ngIf=\"!dateTemp\"\r\n type=\"text\"\r\n size=\"mini\"\r\n title=\"{{ week | date: 'yyyy-MM-dd' }}\"\r\n [activated]=\"!rangePicker && (week | date: 'yyyyMMdd') === (model | date: 'yyyyMMdd')\"\r\n [disabled]=\"false\"\r\n (click)=\"dateClick(week)\"\r\n >{{ week | date: 'd' }}</x-button\r\n >\r\n <ng-container *ngIf=\"dateTemp\">\r\n <ng-container *ngTemplateOutlet=\"dateTemp; context: { date$: week }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-date{margin:0;padding:0}.x-picker-date-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-picker-date-year-month{flex:1;text-align:center}.x-picker-date-body{padding:.5rem}.x-picker-date-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-date-body>table th{font-weight:400;height:2rem;color:var(--x-text-400)}.x-picker-date-body>table td{padding:.25rem 0;text-align:center}.x-picker-date-body>table td x-button .x-button{width:1.625rem;height:1.5rem;margin:0 auto;border:.0625rem solid transparent}.x-picker-date-body>table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-date-body>table td x-button .x-button-activated{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-date-body>table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-date-body>table td.x-date-last-or-next x-button .x-button{color:var(--x-text-700)}.x-picker-date-body>table td.x-date-now x-button .x-button:not(.x-button-activated){color:var(--x-primary);background-color:transparent;border-color:var(--x-primary)}.x-picker-date .x-visibility{visibility:hidden}\n"], components: [{ type: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "date": i1.DatePipe, "xI18n": i3.XI18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XPickerDateComponent, decorators: [{
153
153
  type: Component,
154
154
  args: [{ selector: `${XPickerDatePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-picker-date\" [class.x-date-picker-datetemp]=\"dateTemp\">\r\n <div class=\"x-picker-date-header\" *ngIf=\"showHeader\">\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\" [class.x-visibility]=\"!lastYearBtn\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\" [class.x-visibility]=\"!lastMonthBtn\"></x-button>\r\n <div class=\"x-picker-date-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('year')\">{{ display | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('month')\">{{ getLocaleMonth(display) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\" [class.x-visibility]=\"!nextYearBtn\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\" [class.x-visibility]=\"!nextMonthBtn\"></x-button>\r\n </div>\r\n <div class=\"x-picker-date-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let title of titles; trackBy: trackByNode\">{{ title | xI18n }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let weeks of dates\">\r\n <ng-container *ngFor=\"let week of weeks; trackBy: trackByNode\">\r\n <td\r\n [class.x-date-last-or-next]=\"(week | date: 'yyyyMM') !== (display | date: 'yyyyMM')\"\r\n [class.x-date-now]=\"(week | date: 'yyyyMMdd') === (now | date: 'yyyyMMdd')\"\r\n (click)=\"dateTemp && dateClick(week)\"\r\n >\r\n <x-button\r\n *ngIf=\"!dateTemp\"\r\n type=\"text\"\r\n size=\"mini\"\r\n title=\"{{ week | date: 'yyyy-MM-dd' }}\"\r\n [activated]=\"!rangePicker && (week | date: 'yyyyMMdd') === (model | date: 'yyyyMMdd')\"\r\n [disabled]=\"false\"\r\n (click)=\"dateClick(week)\"\r\n >{{ week | date: 'd' }}</x-button\r\n >\r\n <ng-container *ngIf=\"dateTemp\">\r\n <ng-container *ngTemplateOutlet=\"dateTemp; context: { date$: week }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-date{margin:0;padding:0}.x-picker-date-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-picker-date-year-month{flex:1;text-align:center}.x-picker-date-body{padding:.5rem}.x-picker-date-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-date-body>table th{font-weight:400;height:2rem;color:var(--x-text-400)}.x-picker-date-body>table td{padding:.25rem 0;text-align:center}.x-picker-date-body>table td x-button .x-button{width:1.625rem;height:1.5rem;margin:0 auto;border:.0625rem solid transparent}.x-picker-date-body>table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-date-body>table td x-button .x-button-activated{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-date-body>table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-date-body>table td.x-date-last-or-next x-button .x-button{color:var(--x-text-700)}.x-picker-date-body>table td.x-date-now x-button .x-button:not(.x-button-activated){color:var(--x-primary);background-color:transparent;border-color:var(--x-primary)}.x-picker-date .x-visibility{visibility:hidden}\n"] }]
155
155
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XConfigService }, { type: i3.XI18nService }]; } });
@@ -76,9 +76,9 @@ export class XPickerMonthComponent extends XPickerMonthProperty {
76
76
  return item;
77
77
  }
78
78
  }
79
- /** @nocollapse */ /** @nocollapse */ XPickerMonthComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XPickerMonthComponent, deps: [{ token: i0.Renderer2 }, { token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XConfigService }, { token: i3.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
80
- /** @nocollapse */ /** @nocollapse */ XPickerMonthComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: XPickerMonthComponent, selector: "x-picker-month", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp\">\r\n <div class=\"x-picker-month-header\" *ngIf=\"showHeader\">\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <div class=\"x-picker-month-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('year')\">{{ display | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\r\n </div>\r\n <div class=\"x-picker-month-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let months of dates\">\r\n <ng-container *ngFor=\"let month of months; trackBy: trackByMonth\">\r\n <td\r\n [class.x-date-last-or-next]=\"(month | date: 'yyyy') !== (display | date: 'yyyy')\"\r\n [class.x-date-now]=\"(month | date: 'yyyyMM') === (now | date: 'yyyyMM')\"\r\n (click)=\"monthTemp && monthClick(month)\"\r\n >\r\n <x-button\r\n *ngIf=\"!monthTemp\"\r\n type=\"text\"\r\n title=\"{{ month | date: 'yyyy-MM' }}\"\r\n [activated]=\"(month | date: 'yyyyMM') === (model | date: 'yyyyMM')\"\r\n (click)=\"monthClick(month)\"\r\n >{{ getLocaleMonth(month) }}</x-button\r\n >\r\n <ng-container *ngIf=\"monthTemp\">\r\n <ng-container *ngTemplateOutlet=\"monthTemp; context: { date$: month }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-month{margin:0;padding:0}.x-picker-month-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-picker-month-year-month{flex:1;text-align:center}.x-picker-month-body{padding:.5rem}.x-picker-month-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-body>table td{padding:.125rem 0;text-align:center}.x-picker-month-body>table td x-button .x-button{width:3.5rem;height:3.25rem;margin:0 auto;border:.0625rem solid transparent}.x-picker-month-body>table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-month-body>table td x-button .x-button-activated{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-month-body>table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-month-body>table td.x-date-last-or-next x-button .x-button{color:var(--x-text-700)}.x-picker-month-body>table td.x-date-now x-button .x-button:not(.x-button-activated){color:var(--x-primary);background-color:transparent;border-color:var(--x-primary)}\n"], components: [{ type: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "date": i1.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XPickerMonthComponent, decorators: [{
79
+ /** @nocollapse */ /** @nocollapse */ XPickerMonthComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XPickerMonthComponent, deps: [{ token: i0.Renderer2 }, { token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XConfigService }, { token: i3.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
80
+ /** @nocollapse */ /** @nocollapse */ XPickerMonthComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XPickerMonthComponent, selector: "x-picker-month", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp\">\r\n <div class=\"x-picker-month-header\" *ngIf=\"showHeader\">\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <div class=\"x-picker-month-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('year')\">{{ display | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\r\n </div>\r\n <div class=\"x-picker-month-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let months of dates\">\r\n <ng-container *ngFor=\"let month of months; trackBy: trackByMonth\">\r\n <td\r\n [class.x-date-last-or-next]=\"(month | date: 'yyyy') !== (display | date: 'yyyy')\"\r\n [class.x-date-now]=\"(month | date: 'yyyyMM') === (now | date: 'yyyyMM')\"\r\n (click)=\"monthTemp && monthClick(month)\"\r\n >\r\n <x-button\r\n *ngIf=\"!monthTemp\"\r\n type=\"text\"\r\n title=\"{{ month | date: 'yyyy-MM' }}\"\r\n [activated]=\"(month | date: 'yyyyMM') === (model | date: 'yyyyMM')\"\r\n (click)=\"monthClick(month)\"\r\n >{{ getLocaleMonth(month) }}</x-button\r\n >\r\n <ng-container *ngIf=\"monthTemp\">\r\n <ng-container *ngTemplateOutlet=\"monthTemp; context: { date$: month }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-month{margin:0;padding:0}.x-picker-month-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-picker-month-year-month{flex:1;text-align:center}.x-picker-month-body{padding:.5rem}.x-picker-month-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-body>table td{padding:.125rem 0;text-align:center}.x-picker-month-body>table td x-button .x-button{width:3.5rem;height:3.25rem;margin:0 auto;border:.0625rem solid transparent}.x-picker-month-body>table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-month-body>table td x-button .x-button-activated{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-month-body>table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-month-body>table td.x-date-last-or-next x-button .x-button{color:var(--x-text-700)}.x-picker-month-body>table td.x-date-now x-button .x-button:not(.x-button-activated){color:var(--x-primary);background-color:transparent;border-color:var(--x-primary)}\n"], components: [{ type: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "date": i1.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XPickerMonthComponent, decorators: [{
82
82
  type: Component,
83
83
  args: [{ selector: 'x-picker-month', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp\">\r\n <div class=\"x-picker-month-header\" *ngIf=\"showHeader\">\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <div class=\"x-picker-month-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('year')\">{{ display | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\r\n </div>\r\n <div class=\"x-picker-month-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let months of dates\">\r\n <ng-container *ngFor=\"let month of months; trackBy: trackByMonth\">\r\n <td\r\n [class.x-date-last-or-next]=\"(month | date: 'yyyy') !== (display | date: 'yyyy')\"\r\n [class.x-date-now]=\"(month | date: 'yyyyMM') === (now | date: 'yyyyMM')\"\r\n (click)=\"monthTemp && monthClick(month)\"\r\n >\r\n <x-button\r\n *ngIf=\"!monthTemp\"\r\n type=\"text\"\r\n title=\"{{ month | date: 'yyyy-MM' }}\"\r\n [activated]=\"(month | date: 'yyyyMM') === (model | date: 'yyyyMM')\"\r\n (click)=\"monthClick(month)\"\r\n >{{ getLocaleMonth(month) }}</x-button\r\n >\r\n <ng-container *ngIf=\"monthTemp\">\r\n <ng-container *ngTemplateOutlet=\"monthTemp; context: { date$: month }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-month{margin:0;padding:0}.x-picker-month-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-picker-month-year-month{flex:1;text-align:center}.x-picker-month-body{padding:.5rem}.x-picker-month-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-body>table td{padding:.125rem 0;text-align:center}.x-picker-month-body>table td x-button .x-button{width:3.5rem;height:3.25rem;margin:0 auto;border:.0625rem solid transparent}.x-picker-month-body>table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-month-body>table td x-button .x-button-activated{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-month-body>table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-month-body>table td.x-date-last-or-next x-button .x-button{color:var(--x-text-700)}.x-picker-month-body>table td.x-date-now x-button .x-button:not(.x-button-activated){color:var(--x-primary);background-color:transparent;border-color:var(--x-primary)}\n"] }]
84
84
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XConfigService }, { type: i3.XI18nService }]; } });
@@ -61,9 +61,9 @@ export class XPickerYearComponent extends XPickerYearProperty {
61
61
  return item;
62
62
  }
63
63
  }
64
- /** @nocollapse */ /** @nocollapse */ XPickerYearComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XPickerYearComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.DatePipe }, { token: i2.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
65
- /** @nocollapse */ /** @nocollapse */ XPickerYearComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: XPickerYearComponent, selector: "x-picker-year", providers: [DatePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-year\">\r\n <div class=\"x-picker-year-header\" *ngIf=\"showHeader\">\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextYears(-10)\"></x-button>\r\n <div class=\"x-date-picker-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\">{{ start }}</x-button> -\r\n <x-button type=\"text\" size=\"small\">{{ end }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextYears(10)\"></x-button>\r\n </div>\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let years of dates\">\r\n <ng-container *ngFor=\"let year of years; trackBy: trackByYear\">\r\n <td [class.x-date-last-or-next]=\"lastOrNext(year)\" [class.x-date-now]=\"equalYear(year, now)\">\r\n <x-button type=\"text\" [activated]=\"equalYear(year, now)\" (click)=\"yearClick(year)\">{{ year | date: 'yyyy' }}</x-button>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-picker-year-year-month{flex:1;text-align:center}.x-picker-year-body{padding:.5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table td{padding:.125rem 0;text-align:center}.x-picker-year-body>table td x-button .x-button{width:3.5rem;height:3.25rem;margin:0 auto;border:.0625rem solid transparent}.x-picker-year-body>table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-year-body>table td x-button .x-button-activated{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-year-body>table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-year-body>table td.x-date-last-or-next x-button .x-button{color:var(--x-text-700)}.x-picker-year-body>table td.x-date-now x-button .x-button:not(.x-button-activated){color:var(--x-primary);background-color:transparent;border-color:var(--x-primary)}\n"], components: [{ type: i3.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "date": i1.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XPickerYearComponent, decorators: [{
64
+ /** @nocollapse */ /** @nocollapse */ XPickerYearComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XPickerYearComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.DatePipe }, { token: i2.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
65
+ /** @nocollapse */ /** @nocollapse */ XPickerYearComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XPickerYearComponent, selector: "x-picker-year", providers: [DatePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-year\">\r\n <div class=\"x-picker-year-header\" *ngIf=\"showHeader\">\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextYears(-10)\"></x-button>\r\n <div class=\"x-date-picker-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\">{{ start }}</x-button> -\r\n <x-button type=\"text\" size=\"small\">{{ end }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextYears(10)\"></x-button>\r\n </div>\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let years of dates\">\r\n <ng-container *ngFor=\"let year of years; trackBy: trackByYear\">\r\n <td [class.x-date-last-or-next]=\"lastOrNext(year)\" [class.x-date-now]=\"equalYear(year, now)\">\r\n <x-button type=\"text\" [activated]=\"equalYear(year, now)\" (click)=\"yearClick(year)\">{{ year | date: 'yyyy' }}</x-button>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-picker-year-year-month{flex:1;text-align:center}.x-picker-year-body{padding:.5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table td{padding:.125rem 0;text-align:center}.x-picker-year-body>table td x-button .x-button{width:3.5rem;height:3.25rem;margin:0 auto;border:.0625rem solid transparent}.x-picker-year-body>table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-year-body>table td x-button .x-button-activated{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-year-body>table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-year-body>table td.x-date-last-or-next x-button .x-button{color:var(--x-text-700)}.x-picker-year-body>table td.x-date-now x-button .x-button:not(.x-button-activated){color:var(--x-primary);background-color:transparent;border-color:var(--x-primary)}\n"], components: [{ type: i3.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "date": i1.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XPickerYearComponent, decorators: [{
67
67
  type: Component,
68
68
  args: [{ selector: 'x-picker-year', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe], template: "<div class=\"x-picker-year\">\r\n <div class=\"x-picker-year-header\" *ngIf=\"showHeader\">\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextYears(-10)\"></x-button>\r\n <div class=\"x-date-picker-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\">{{ start }}</x-button> -\r\n <x-button type=\"text\" size=\"small\">{{ end }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextYears(10)\"></x-button>\r\n </div>\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let years of dates\">\r\n <ng-container *ngFor=\"let year of years; trackBy: trackByYear\">\r\n <td [class.x-date-last-or-next]=\"lastOrNext(year)\" [class.x-date-now]=\"equalYear(year, now)\">\r\n <x-button type=\"text\" [activated]=\"equalYear(year, now)\" (click)=\"yearClick(year)\">{{ year | date: 'yyyy' }}</x-button>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-picker-year-year-month{flex:1;text-align:center}.x-picker-year-body{padding:.5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table td{padding:.125rem 0;text-align:center}.x-picker-year-body>table td x-button .x-button{width:3.5rem;height:3.25rem;margin:0 auto;border:.0625rem solid transparent}.x-picker-year-body>table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-year-body>table td x-button .x-button-activated{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-year-body>table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-year-body>table td.x-date-last-or-next x-button .x-button{color:var(--x-text-700)}.x-picker-year-body>table td.x-date-now x-button .x-button:not(.x-button-activated){color:var(--x-primary);background-color:transparent;border-color:var(--x-primary)}\n"] }]
69
69
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.DatePipe }, { type: i2.XConfigService }]; } });
@@ -6,13 +6,13 @@ export class XDescriptionItemComponent extends XDescriptionItemProperty {
6
6
  super();
7
7
  }
8
8
  }
9
- /** @nocollapse */ /** @nocollapse */ XDescriptionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XDescriptionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- /** @nocollapse */ /** @nocollapse */ XDescriptionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: XDescriptionItemComponent, selector: "x-description-item", viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
9
+ /** @nocollapse */ /** @nocollapse */ XDescriptionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ /** @nocollapse */ /** @nocollapse */ XDescriptionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDescriptionItemComponent, selector: "x-description-item", viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
11
11
  <ng-template>
12
12
  <ng-content></ng-content>
13
13
  </ng-template>
14
14
  `, isInline: true, styles: [".x-description{margin:0;padding:0}.x-description-header{display:flex;align-items:center}.x-description-title{font-weight:700}.x-description-grid{display:grid;grid-auto-flow:row}.x-description-item{display:flex;align-items:baseline}.x-description-item.x-flex{display:flex}.x-description-item.x-justify-start{justify-content:flex-start}.x-description-item.x-justify-center{justify-content:center}.x-description-item.x-justify-end{justify-content:flex-end}.x-description-item.x-justify-space-between{justify-content:space-between}.x-description-item.x-justify-space-around{justify-content:space-around}.x-description-item.x-align-start{align-items:flex-start}.x-description-item.x-align-center{align-items:center}.x-description-item.x-align-end{align-items:flex-end}.x-description-item.x-direction-column{flex-direction:column}.x-description-item.x-direction-column-reverse{flex-direction:column-reverse}.x-description-item.x-direction-row{flex-direction:row}.x-description-item.x-direction-row-reverse{flex-direction:row-reverse}.x-description-item-heading{background-color:var(--x-background-a100)}.x-description-bordered .x-description-item{border:var(--x-border-width) var(--x-border-style) var(--x-border);margin-left:-1px;margin-top:-1px}.x-description-big .x-description-header{padding:var(--x-padding-big) 0}.x-description-big .x-description-item{padding:calc(var(--x-padding-big) / 2) 0}.x-description-big.x-description-bordered .x-description-item{padding:var(--x-padding-big)}.x-description-large .x-description-header{padding:var(--x-padding-large) 0}.x-description-large .x-description-item{padding:calc(var(--x-padding-large) / 2) 0}.x-description-large.x-description-bordered .x-description-item{padding:var(--x-padding-large)}.x-description-medium .x-description-header{padding:var(--x-padding-medium) 0}.x-description-medium .x-description-item{padding:calc(var(--x-padding-medium) / 2) 0}.x-description-medium.x-description-bordered .x-description-item{padding:var(--x-padding-medium)}.x-description-small .x-description-header{padding:var(--x-padding-small) 0}.x-description-small .x-description-item{padding:calc(var(--x-padding-small) / 2) 0}.x-description-small.x-description-bordered .x-description-item{padding:var(--x-padding-small)}.x-description-mini .x-description-header{padding:var(--x-padding-mini) 0}.x-description-mini .x-description-item{padding:calc(var(--x-padding-mini) / 2) 0}.x-description-mini.x-description-bordered .x-description-item{padding:var(--x-padding-mini)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XDescriptionItemComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionItemComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{ selector: `${XDescriptionItemPrefix}`, template: `
18
18
  <ng-template>
@@ -52,9 +52,9 @@ export class XDescriptionComponent extends XDescriptionProperty {
52
52
  this.gridTemplateColumns = gridTemplateColumns.join(' ');
53
53
  }
54
54
  }
55
- /** @nocollapse */ /** @nocollapse */ XDescriptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XDescriptionComponent, deps: [{ token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
56
- /** @nocollapse */ /** @nocollapse */ XDescriptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: XDescriptionComponent, selector: "x-description", queries: [{ propertyName: "items", predicate: XDescriptionItemComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-description\" [class.x-description-bordered]=\"bordered\" [ngClass]=\"classMap\">\r\n <div class=\"x-description-header\">\r\n <div class=\"x-description-title\" *xOutlet=\"title\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n <div class=\"x-description-grid\" [style.grid-template-columns]=\"gridTemplateColumns\">\r\n <div\r\n *ngFor=\"let item of items; index as i\"\r\n class=\"x-description-item\"\r\n [style.grid-area]=\"item.gridArea ? item.gridArea : '1 / ' + (i + 1)\"\r\n [class.x-description-item-heading]=\"item.heading\"\r\n [ngClass]=\"setFlex(item)\"\r\n >\r\n <div class=\"x-description-item-label\">\r\n <ng-container *xOutlet=\"item.label\">{{ item.label }}</ng-container>\r\n </div>\r\n <div class=\"x-description-item-content\">\r\n <ng-template [ngTemplateOutlet]=\"item.content\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".x-description{margin:0;padding:0}.x-description-header{display:flex;align-items:center}.x-description-title{font-weight:700}.x-description-grid{display:grid;grid-auto-flow:row}.x-description-item{display:flex;align-items:baseline}.x-description-item.x-flex{display:flex}.x-description-item.x-justify-start{justify-content:flex-start}.x-description-item.x-justify-center{justify-content:center}.x-description-item.x-justify-end{justify-content:flex-end}.x-description-item.x-justify-space-between{justify-content:space-between}.x-description-item.x-justify-space-around{justify-content:space-around}.x-description-item.x-align-start{align-items:flex-start}.x-description-item.x-align-center{align-items:center}.x-description-item.x-align-end{align-items:flex-end}.x-description-item.x-direction-column{flex-direction:column}.x-description-item.x-direction-column-reverse{flex-direction:column-reverse}.x-description-item.x-direction-row{flex-direction:row}.x-description-item.x-direction-row-reverse{flex-direction:row-reverse}.x-description-item-heading{background-color:var(--x-background-a100)}.x-description-bordered .x-description-item{border:var(--x-border-width) var(--x-border-style) var(--x-border);margin-left:-1px;margin-top:-1px}.x-description-big .x-description-header{padding:var(--x-padding-big) 0}.x-description-big .x-description-item{padding:calc(var(--x-padding-big) / 2) 0}.x-description-big.x-description-bordered .x-description-item{padding:var(--x-padding-big)}.x-description-large .x-description-header{padding:var(--x-padding-large) 0}.x-description-large .x-description-item{padding:calc(var(--x-padding-large) / 2) 0}.x-description-large.x-description-bordered .x-description-item{padding:var(--x-padding-large)}.x-description-medium .x-description-header{padding:var(--x-padding-medium) 0}.x-description-medium .x-description-item{padding:calc(var(--x-padding-medium) / 2) 0}.x-description-medium.x-description-bordered .x-description-item{padding:var(--x-padding-medium)}.x-description-small .x-description-header{padding:var(--x-padding-small) 0}.x-description-small .x-description-item{padding:calc(var(--x-padding-small) / 2) 0}.x-description-small.x-description-bordered .x-description-item{padding:var(--x-padding-small)}.x-description-mini .x-description-header{padding:var(--x-padding-mini) 0}.x-description-mini .x-description-item{padding:calc(var(--x-padding-mini) / 2) 0}.x-description-mini.x-description-bordered .x-description-item{padding:var(--x-padding-mini)}\n"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XDescriptionComponent, decorators: [{
55
+ /** @nocollapse */ /** @nocollapse */ XDescriptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionComponent, deps: [{ token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
56
+ /** @nocollapse */ /** @nocollapse */ XDescriptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDescriptionComponent, selector: "x-description", queries: [{ propertyName: "items", predicate: XDescriptionItemComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-description\" [class.x-description-bordered]=\"bordered\" [ngClass]=\"classMap\">\r\n <div class=\"x-description-header\">\r\n <div class=\"x-description-title\" *xOutlet=\"title\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n <div class=\"x-description-grid\" [style.grid-template-columns]=\"gridTemplateColumns\">\r\n <div\r\n *ngFor=\"let item of items; index as i\"\r\n class=\"x-description-item\"\r\n [style.grid-area]=\"item.gridArea ? item.gridArea : '1 / ' + (i + 1)\"\r\n [class.x-description-item-heading]=\"item.heading\"\r\n [ngClass]=\"setFlex(item)\"\r\n >\r\n <div class=\"x-description-item-label\">\r\n <ng-container *xOutlet=\"item.label\">{{ item.label }}</ng-container>\r\n </div>\r\n <div class=\"x-description-item-content\">\r\n <ng-template [ngTemplateOutlet]=\"item.content\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".x-description{margin:0;padding:0}.x-description-header{display:flex;align-items:center}.x-description-title{font-weight:700}.x-description-grid{display:grid;grid-auto-flow:row}.x-description-item{display:flex;align-items:baseline}.x-description-item.x-flex{display:flex}.x-description-item.x-justify-start{justify-content:flex-start}.x-description-item.x-justify-center{justify-content:center}.x-description-item.x-justify-end{justify-content:flex-end}.x-description-item.x-justify-space-between{justify-content:space-between}.x-description-item.x-justify-space-around{justify-content:space-around}.x-description-item.x-align-start{align-items:flex-start}.x-description-item.x-align-center{align-items:center}.x-description-item.x-align-end{align-items:flex-end}.x-description-item.x-direction-column{flex-direction:column}.x-description-item.x-direction-column-reverse{flex-direction:column-reverse}.x-description-item.x-direction-row{flex-direction:row}.x-description-item.x-direction-row-reverse{flex-direction:row-reverse}.x-description-item-heading{background-color:var(--x-background-a100)}.x-description-bordered .x-description-item{border:var(--x-border-width) var(--x-border-style) var(--x-border);margin-left:-1px;margin-top:-1px}.x-description-big .x-description-header{padding:var(--x-padding-big) 0}.x-description-big .x-description-item{padding:calc(var(--x-padding-big) / 2) 0}.x-description-big.x-description-bordered .x-description-item{padding:var(--x-padding-big)}.x-description-large .x-description-header{padding:var(--x-padding-large) 0}.x-description-large .x-description-item{padding:calc(var(--x-padding-large) / 2) 0}.x-description-large.x-description-bordered .x-description-item{padding:var(--x-padding-large)}.x-description-medium .x-description-header{padding:var(--x-padding-medium) 0}.x-description-medium .x-description-item{padding:calc(var(--x-padding-medium) / 2) 0}.x-description-medium.x-description-bordered .x-description-item{padding:var(--x-padding-medium)}.x-description-small .x-description-header{padding:var(--x-padding-small) 0}.x-description-small .x-description-item{padding:calc(var(--x-padding-small) / 2) 0}.x-description-small.x-description-bordered .x-description-item{padding:var(--x-padding-small)}.x-description-mini .x-description-header{padding:var(--x-padding-mini) 0}.x-description-mini .x-description-item{padding:calc(var(--x-padding-mini) / 2) 0}.x-description-mini.x-description-bordered .x-description-item{padding:var(--x-padding-mini)}\n"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionComponent, decorators: [{
58
58
  type: Component,
59
59
  args: [{ selector: `${XDescriptionPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-description\" [class.x-description-bordered]=\"bordered\" [ngClass]=\"classMap\">\r\n <div class=\"x-description-header\">\r\n <div class=\"x-description-title\" *xOutlet=\"title\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n <div class=\"x-description-grid\" [style.grid-template-columns]=\"gridTemplateColumns\">\r\n <div\r\n *ngFor=\"let item of items; index as i\"\r\n class=\"x-description-item\"\r\n [style.grid-area]=\"item.gridArea ? item.gridArea : '1 / ' + (i + 1)\"\r\n [class.x-description-item-heading]=\"item.heading\"\r\n [ngClass]=\"setFlex(item)\"\r\n >\r\n <div class=\"x-description-item-label\">\r\n <ng-container *xOutlet=\"item.label\">{{ item.label }}</ng-container>\r\n </div>\r\n <div class=\"x-description-item-content\">\r\n <ng-template [ngTemplateOutlet]=\"item.content\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".x-description{margin:0;padding:0}.x-description-header{display:flex;align-items:center}.x-description-title{font-weight:700}.x-description-grid{display:grid;grid-auto-flow:row}.x-description-item{display:flex;align-items:baseline}.x-description-item.x-flex{display:flex}.x-description-item.x-justify-start{justify-content:flex-start}.x-description-item.x-justify-center{justify-content:center}.x-description-item.x-justify-end{justify-content:flex-end}.x-description-item.x-justify-space-between{justify-content:space-between}.x-description-item.x-justify-space-around{justify-content:space-around}.x-description-item.x-align-start{align-items:flex-start}.x-description-item.x-align-center{align-items:center}.x-description-item.x-align-end{align-items:flex-end}.x-description-item.x-direction-column{flex-direction:column}.x-description-item.x-direction-column-reverse{flex-direction:column-reverse}.x-description-item.x-direction-row{flex-direction:row}.x-description-item.x-direction-row-reverse{flex-direction:row-reverse}.x-description-item-heading{background-color:var(--x-background-a100)}.x-description-bordered .x-description-item{border:var(--x-border-width) var(--x-border-style) var(--x-border);margin-left:-1px;margin-top:-1px}.x-description-big .x-description-header{padding:var(--x-padding-big) 0}.x-description-big .x-description-item{padding:calc(var(--x-padding-big) / 2) 0}.x-description-big.x-description-bordered .x-description-item{padding:var(--x-padding-big)}.x-description-large .x-description-header{padding:var(--x-padding-large) 0}.x-description-large .x-description-item{padding:calc(var(--x-padding-large) / 2) 0}.x-description-large.x-description-bordered .x-description-item{padding:var(--x-padding-large)}.x-description-medium .x-description-header{padding:var(--x-padding-medium) 0}.x-description-medium .x-description-item{padding:calc(var(--x-padding-medium) / 2) 0}.x-description-medium.x-description-bordered .x-description-item{padding:var(--x-padding-medium)}.x-description-small .x-description-header{padding:var(--x-padding-small) 0}.x-description-small .x-description-item{padding:calc(var(--x-padding-small) / 2) 0}.x-description-small.x-description-bordered .x-description-item{padding:var(--x-padding-small)}.x-description-mini .x-description-header{padding:var(--x-padding-mini) 0}.x-description-mini .x-description-item{padding:calc(var(--x-padding-mini) / 2) 0}.x-description-mini.x-description-bordered .x-description-item{padding:var(--x-padding-mini)}\n"] }]
60
60
  }], ctorParameters: function () { return [{ type: i1.XConfigService }]; }, propDecorators: { items: [{
@@ -7,10 +7,10 @@ import { XDescriptionItemProperty, XDescriptionProperty } from './description.pr
7
7
  import * as i0 from "@angular/core";
8
8
  export class XDescriptionModule {
9
9
  }
10
- /** @nocollapse */ /** @nocollapse */ XDescriptionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XDescriptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- /** @nocollapse */ /** @nocollapse */ XDescriptionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XDescriptionModule, declarations: [XDescriptionComponent, XDescriptionProperty, XDescriptionItemComponent, XDescriptionItemProperty], imports: [CommonModule, XOutletModule], exports: [XDescriptionComponent, XDescriptionItemComponent] });
12
- /** @nocollapse */ /** @nocollapse */ XDescriptionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XDescriptionModule, imports: [[CommonModule, XOutletModule]] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XDescriptionModule, decorators: [{
10
+ /** @nocollapse */ /** @nocollapse */ XDescriptionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ /** @nocollapse */ /** @nocollapse */ XDescriptionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionModule, declarations: [XDescriptionComponent, XDescriptionProperty, XDescriptionItemComponent, XDescriptionItemProperty], imports: [CommonModule, XOutletModule], exports: [XDescriptionComponent, XDescriptionItemComponent] });
12
+ /** @nocollapse */ /** @nocollapse */ XDescriptionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionModule, imports: [[CommonModule, XOutletModule]] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  declarations: [XDescriptionComponent, XDescriptionProperty, XDescriptionItemComponent, XDescriptionItemProperty],
@@ -14,8 +14,8 @@ const X_CONFIG_NAME = 'description';
14
14
  */
15
15
  export class XDescriptionProperty extends XProperty {
16
16
  }
17
- /** @nocollapse */ /** @nocollapse */ XDescriptionProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XDescriptionProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
18
- /** @nocollapse */ /** @nocollapse */ XDescriptionProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: XDescriptionProperty, selector: "ng-component", inputs: { title: "title", bordered: "bordered", gridTemplateColumns: "gridTemplateColumns", size: "size" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
17
+ /** @nocollapse */ /** @nocollapse */ XDescriptionProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
18
+ /** @nocollapse */ /** @nocollapse */ XDescriptionProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDescriptionProperty, selector: "ng-component", inputs: { title: "title", bordered: "bordered", gridTemplateColumns: "gridTemplateColumns", size: "size" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
19
19
  __decorate([
20
20
  XWithConfig(X_CONFIG_NAME, false),
21
21
  XInputBoolean()
@@ -23,7 +23,7 @@ __decorate([
23
23
  __decorate([
24
24
  XWithConfig(X_CONFIG_NAME, 'medium')
25
25
  ], XDescriptionProperty.prototype, "size", void 0);
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XDescriptionProperty, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionProperty, decorators: [{
27
27
  type: Component,
28
28
  args: [{ template: '' }]
29
29
  }], propDecorators: { title: [{
@@ -68,12 +68,12 @@ export class XDescriptionItemProperty {
68
68
  this.heading = false;
69
69
  }
70
70
  }
71
- /** @nocollapse */ /** @nocollapse */ XDescriptionItemProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XDescriptionItemProperty, deps: [], target: i0.ɵɵFactoryTarget.Component });
72
- /** @nocollapse */ /** @nocollapse */ XDescriptionItemProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: XDescriptionItemProperty, selector: "ng-component", inputs: { gridArea: "gridArea", label: "label", justify: "justify", align: "align", direction: "direction", width: "width", flex: "flex", heading: "heading" }, ngImport: i0, template: '', isInline: true });
71
+ /** @nocollapse */ /** @nocollapse */ XDescriptionItemProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionItemProperty, deps: [], target: i0.ɵɵFactoryTarget.Component });
72
+ /** @nocollapse */ /** @nocollapse */ XDescriptionItemProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDescriptionItemProperty, selector: "ng-component", inputs: { gridArea: "gridArea", label: "label", justify: "justify", align: "align", direction: "direction", width: "width", flex: "flex", heading: "heading" }, ngImport: i0, template: '', isInline: true });
73
73
  __decorate([
74
74
  XInputBoolean()
75
75
  ], XDescriptionItemProperty.prototype, "heading", void 0);
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: XDescriptionItemProperty, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionItemProperty, decorators: [{
77
77
  type: Component,
78
78
  args: [{ template: '' }]
79
79
  }], propDecorators: { gridArea: [{
@@ -0,0 +1,52 @@
1
+ import { BasePortalOutlet, CdkPortalOutlet } from '@angular/cdk/portal';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, ViewChild, ViewEncapsulation } from '@angular/core';
3
+ import { XMoveBoxAnimation } from '@ng-nest/ui/core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/cdk/portal";
6
+ export class XDialogPortalComponent extends BasePortalOutlet {
7
+ constructor() {
8
+ super();
9
+ this._has = true;
10
+ this.animationChanged = new EventEmitter();
11
+ }
12
+ done({ toState, totalTime }) {
13
+ this.animationChanged.next({ action: 'done', state: toState, totalTime });
14
+ }
15
+ start({ toState, totalTime }) {
16
+ this.animationChanged.next({ action: 'start', state: toState, totalTime });
17
+ }
18
+ attachComponentPortal(portal) {
19
+ if (this.portalOutlet.hasAttached()) {
20
+ throw Error('dialog portal has attached');
21
+ }
22
+ return this.portalOutlet.attachComponentPortal(portal);
23
+ }
24
+ attachTemplatePortal(portal) {
25
+ if (this.portalOutlet.hasAttached()) {
26
+ throw Error('dialog portal has attached');
27
+ }
28
+ return this.portalOutlet.attachTemplatePortal(portal);
29
+ }
30
+ }
31
+ /** @nocollapse */ /** @nocollapse */ XDialogPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDialogPortalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
+ /** @nocollapse */ /** @nocollapse */ XDialogPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDialogPortalComponent, selector: "x-dialog-portal", host: { listeners: { "@x-move-box-animation.done": "done($event)", "@x-move-box-animation.start": "start($event)" }, properties: { "class.x-dialog-portal": "this._has", "@x-move-box-animation": "this.placement" } }, viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\r\n", styles: [".x-dialog-portal{margin:0;padding:0;width:100%;height:100%;overflow:auto;display:block;padding:1rem;box-sizing:border-box;min-height:inherit;max-height:inherit;background-color:var(--x-background);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);border:.0625rem solid transparent;border-radius:var(--x-border-radius)}.x-dialog-portal-title{display:block;margin:0 0 .5rem;font-weight:600;color:var(--x-text-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x-dialog-portal-content{display:block;margin:0 -1rem;padding:0 1rem;max-height:70vh;overflow:auto;color:var(--x-text-300);font-size:calc(var(--x-font-size) - .0625rem);line-height:1.325rem}.x-dialog-portal-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;box-sizing:content-box;margin-bottom:-1rem;min-height:4rem}.x-dialog-portal-actions[align=center]{justify-content:center}.x-dialog-portal-actions[align=start]{justify-content:flex-start}.x-dialog-portal-actions x-button:not(:first-child){margin-left:1rem}\n"], directives: [{ type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [XMoveBoxAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDialogPortalComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'x-dialog-portal', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XMoveBoxAnimation], template: "<ng-template cdkPortalOutlet></ng-template>\r\n", styles: [".x-dialog-portal{margin:0;padding:0;width:100%;height:100%;overflow:auto;display:block;padding:1rem;box-sizing:border-box;min-height:inherit;max-height:inherit;background-color:var(--x-background);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);border:.0625rem solid transparent;border-radius:var(--x-border-radius)}.x-dialog-portal-title{display:block;margin:0 0 .5rem;font-weight:600;color:var(--x-text-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x-dialog-portal-content{display:block;margin:0 -1rem;padding:0 1rem;max-height:70vh;overflow:auto;color:var(--x-text-300);font-size:calc(var(--x-font-size) - .0625rem);line-height:1.325rem}.x-dialog-portal-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;box-sizing:content-box;margin-bottom:-1rem;min-height:4rem}.x-dialog-portal-actions[align=center]{justify-content:center}.x-dialog-portal-actions[align=start]{justify-content:flex-start}.x-dialog-portal-actions x-button:not(:first-child){margin-left:1rem}\n"] }]
36
+ }], ctorParameters: function () { return []; }, propDecorators: { _has: [{
37
+ type: HostBinding,
38
+ args: ['class.x-dialog-portal']
39
+ }], placement: [{
40
+ type: HostBinding,
41
+ args: ['@x-move-box-animation']
42
+ }], done: [{
43
+ type: HostListener,
44
+ args: ['@x-move-box-animation.done', ['$event']]
45
+ }], start: [{
46
+ type: HostListener,
47
+ args: ['@x-move-box-animation.start', ['$event']]
48
+ }], portalOutlet: [{
49
+ type: ViewChild,
50
+ args: [CdkPortalOutlet, { static: true }]
51
+ }] } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXBvcnRhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kaWFsb2cvZGlhbG9nLXBvcnRhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kaWFsb2cvZGlhbG9nLXBvcnRhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFtQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3pHLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUdULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVlyRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZ0JBQWdCO0lBYTFEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFiNEIsU0FBSSxHQUFHLElBQUksQ0FBQztRQVVsRCxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBeUIsQ0FBQztJQUk3RCxDQUFDO0lBWnVELElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQWtCO1FBQ2pHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFnQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUN3RCxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFrQjtRQUNuRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBZ0MsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFTRCxxQkFBcUIsQ0FBSSxNQUEwQjtRQUNqRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDbkMsTUFBTSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztTQUMzQztRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0Qsb0JBQW9CLENBQUksTUFBeUI7UUFDL0MsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ25DLE1BQU0sS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7U0FDM0M7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7eUpBNUJVLHNCQUFzQjs2SUFBdEIsc0JBQXNCLDZUQVN0QixlQUFlLHFGQ2pDNUIsaURBQ0EsNnJDRHFCYyxDQUFDLGlCQUFpQixDQUFDOzJGQUVwQixzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0UsaUJBQWlCLGlCQUdaLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsQ0FBQyxpQkFBaUIsQ0FBQzswRUFHTyxJQUFJO3NCQUF6QyxXQUFXO3VCQUFDLHVCQUF1QjtnQkFDUyxTQUFTO3NCQUFyRCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFDb0IsSUFBSTtzQkFBM0QsWUFBWTt1QkFBQyw0QkFBNEIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFHRyxLQUFLO3NCQUE3RCxZQUFZO3VCQUFDLDZCQUE2QixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUdULFlBQVk7c0JBQXpELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VQb3J0YWxPdXRsZXQsIENka1BvcnRhbE91dGxldCwgQ29tcG9uZW50UG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBDb21wb25lbnRSZWYsXHJcbiAgRW1iZWRkZWRWaWV3UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhNb3ZlQm94QW5pbWF0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhEaWFsb2dBbmltYXRpb25FdmVudCwgWERpYWxvZ0FuaW1hdGlvblN0YXRlIH0gZnJvbSAnLi9kaWFsb2cucHJvcGVydHknO1xyXG5pbXBvcnQgeyBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd4LWRpYWxvZy1wb3J0YWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctcG9ydGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kaWFsb2ctcG9ydGFsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBhbmltYXRpb25zOiBbWE1vdmVCb3hBbmltYXRpb25dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRGlhbG9nUG9ydGFsQ29tcG9uZW50IGV4dGVuZHMgQmFzZVBvcnRhbE91dGxldCB7XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy54LWRpYWxvZy1wb3J0YWwnKSBfaGFzID0gdHJ1ZTtcclxuICBASG9zdEJpbmRpbmcoJ0B4LW1vdmUtYm94LWFuaW1hdGlvbicpIHB1YmxpYyBwbGFjZW1lbnQ/OiBYRGlhbG9nQW5pbWF0aW9uU3RhdGU7XHJcbiAgQEhvc3RMaXN0ZW5lcignQHgtbW92ZS1ib3gtYW5pbWF0aW9uLmRvbmUnLCBbJyRldmVudCddKSBkb25lKHsgdG9TdGF0ZSwgdG90YWxUaW1lIH06IEFuaW1hdGlvbkV2ZW50KSB7XHJcbiAgICB0aGlzLmFuaW1hdGlvbkNoYW5nZWQubmV4dCh7IGFjdGlvbjogJ2RvbmUnLCBzdGF0ZTogdG9TdGF0ZSBhcyBYRGlhbG9nQW5pbWF0aW9uU3RhdGUsIHRvdGFsVGltZSB9KTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignQHgtbW92ZS1ib3gtYW5pbWF0aW9uLnN0YXJ0JywgWyckZXZlbnQnXSkgc3RhcnQoeyB0b1N0YXRlLCB0b3RhbFRpbWUgfTogQW5pbWF0aW9uRXZlbnQpIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uQ2hhbmdlZC5uZXh0KHsgYWN0aW9uOiAnc3RhcnQnLCBzdGF0ZTogdG9TdGF0ZSBhcyBYRGlhbG9nQW5pbWF0aW9uU3RhdGUsIHRvdGFsVGltZSB9KTtcclxuICB9XHJcbiAgQFZpZXdDaGlsZChDZGtQb3J0YWxPdXRsZXQsIHsgc3RhdGljOiB0cnVlIH0pIHBvcnRhbE91dGxldCE6IENka1BvcnRhbE91dGxldDtcclxuXHJcbiAgYW5pbWF0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8WERpYWxvZ0FuaW1hdGlvbkV2ZW50PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBhdHRhY2hDb21wb25lbnRQb3J0YWw8VD4ocG9ydGFsOiBDb21wb25lbnRQb3J0YWw8VD4pOiBDb21wb25lbnRSZWY8VD4ge1xyXG4gICAgaWYgKHRoaXMucG9ydGFsT3V0bGV0Lmhhc0F0dGFjaGVkKCkpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ2RpYWxvZyBwb3J0YWwgaGFzIGF0dGFjaGVkJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5wb3J0YWxPdXRsZXQuYXR0YWNoQ29tcG9uZW50UG9ydGFsKHBvcnRhbCk7XHJcbiAgfVxyXG4gIGF0dGFjaFRlbXBsYXRlUG9ydGFsPEM+KHBvcnRhbDogVGVtcGxhdGVQb3J0YWw8Qz4pOiBFbWJlZGRlZFZpZXdSZWY8Qz4ge1xyXG4gICAgaWYgKHRoaXMucG9ydGFsT3V0bGV0Lmhhc0F0dGFjaGVkKCkpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ2RpYWxvZyBwb3J0YWwgaGFzIGF0dGFjaGVkJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5wb3J0YWxPdXRsZXQuYXR0YWNoVGVtcGxhdGVQb3J0YWwocG9ydGFsKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlIGNka1BvcnRhbE91dGxldD48L25nLXRlbXBsYXRlPlxyXG4iXX0=