@ng-nest/ui 14.0.12 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (709) hide show
  1. package/README.md +1 -1
  2. package/affix/affix.component.d.ts +1 -1
  3. package/affix/affix.property.d.ts +1 -1
  4. package/alert/alert.component.d.ts +1 -1
  5. package/alert/alert.property.d.ts +1 -1
  6. package/anchor/anchor.component.d.ts +1 -1
  7. package/anchor/anchor.property.d.ts +1 -1
  8. package/api/api.component.d.ts +1 -1
  9. package/auto-complete/auto-complete-portal.component.d.ts +1 -1
  10. package/auto-complete/auto-complete.component.d.ts +1 -1
  11. package/auto-complete/auto-complete.property.d.ts +1 -1
  12. package/avatar/avatar-group.component.d.ts +1 -1
  13. package/avatar/avatar.component.d.ts +1 -1
  14. package/avatar/avatar.property.d.ts +2 -2
  15. package/back-top/back-top.component.d.ts +1 -1
  16. package/back-top/back-top.property.d.ts +1 -1
  17. package/badge/badge.component.d.ts +1 -1
  18. package/badge/badge.property.d.ts +1 -1
  19. package/base-form/base-form.component.d.ts +1 -1
  20. package/base-form/base-form.property.d.ts +1 -1
  21. package/border/border.component.d.ts +1 -1
  22. package/button/button.component.d.ts +1 -1
  23. package/button/button.property.d.ts +2 -2
  24. package/button/buttons.component.d.ts +1 -1
  25. package/calendar/calendar.component.d.ts +1 -1
  26. package/calendar/calendar.property.d.ts +1 -1
  27. package/card/card.component.d.ts +1 -1
  28. package/card/card.property.d.ts +1 -1
  29. package/carousel/carousel-panel.component.d.ts +1 -1
  30. package/carousel/carousel.component.d.ts +1 -1
  31. package/carousel/carousel.property.d.ts +2 -2
  32. package/cascade/cascade-portal.component.d.ts +1 -1
  33. package/cascade/cascade.component.d.ts +1 -1
  34. package/cascade/cascade.property.d.ts +1 -1
  35. package/checkbox/checkbox.component.d.ts +1 -1
  36. package/checkbox/checkbox.property.d.ts +1 -1
  37. package/collapse/collapse-panel.component.d.ts +1 -1
  38. package/collapse/collapse.component.d.ts +1 -1
  39. package/collapse/collapse.property.d.ts +2 -2
  40. package/color/color.component.d.ts +1 -1
  41. package/color/color.property.d.ts +1 -1
  42. package/color-picker/color-picker-portal.component.d.ts +1 -1
  43. package/color-picker/color-picker.component.d.ts +1 -1
  44. package/color-picker/color-picker.property.d.ts +1 -1
  45. package/comment/comment-reply.component.d.ts +1 -1
  46. package/comment/comment.component.d.ts +1 -1
  47. package/comment/comment.property.d.ts +2 -2
  48. package/container/aside.component.d.ts +1 -1
  49. package/container/container.component.d.ts +1 -1
  50. package/container/container.property.d.ts +4 -4
  51. package/container/footer.component.d.ts +1 -1
  52. package/container/header.component.d.ts +1 -1
  53. package/container/main.component.d.ts +1 -1
  54. package/crumb/crumb.component.d.ts +1 -1
  55. package/crumb/crumb.property.d.ts +1 -1
  56. package/date-picker/date-picker-portal.component.d.ts +1 -1
  57. package/date-picker/date-picker.component.d.ts +1 -1
  58. package/date-picker/date-picker.property.d.ts +5 -5
  59. package/date-picker/date-range-portal.component.d.ts +1 -1
  60. package/date-picker/date-range.component.d.ts +1 -1
  61. package/date-picker/picker-date.component.d.ts +1 -1
  62. package/date-picker/picker-month.component.d.ts +1 -1
  63. package/date-picker/picker-year.component.d.ts +1 -1
  64. package/description/description-item.component.d.ts +1 -1
  65. package/description/description.component.d.ts +1 -1
  66. package/description/description.property.d.ts +2 -2
  67. package/dialog/dialog-container.component.d.ts +1 -1
  68. package/dialog/dialog-portal.component.d.ts +1 -1
  69. package/dialog/dialog-portal.directives.d.ts +6 -6
  70. package/dialog/dialog.component.d.ts +1 -1
  71. package/dialog/dialog.property.d.ts +2 -2
  72. package/doc/doc.component.d.ts +1 -1
  73. package/drawer/drawer-container.component.d.ts +1 -1
  74. package/drawer/drawer-portal.component.d.ts +1 -1
  75. package/drawer/drawer-portal.directives.d.ts +3 -3
  76. package/drawer/drawer.component.d.ts +1 -1
  77. package/drawer/drawer.property.d.ts +2 -2
  78. package/dropdown/dropdown-portal.component.d.ts +1 -1
  79. package/dropdown/dropdown.component.d.ts +1 -1
  80. package/dropdown/dropdown.property.d.ts +1 -1
  81. package/empty/empty.component.d.ts +1 -1
  82. package/empty/empty.property.d.ts +1 -1
  83. package/esm2020/affix/affix.component.mjs +3 -3
  84. package/esm2020/affix/affix.module.mjs +4 -4
  85. package/esm2020/affix/affix.property.mjs +3 -3
  86. package/esm2020/alert/alert.component.mjs +3 -3
  87. package/esm2020/alert/alert.module.mjs +4 -4
  88. package/esm2020/alert/alert.property.mjs +3 -3
  89. package/esm2020/anchor/anchor.component.mjs +3 -3
  90. package/esm2020/anchor/anchor.module.mjs +4 -4
  91. package/esm2020/anchor/anchor.property.mjs +3 -3
  92. package/esm2020/api/api.component.mjs +3 -3
  93. package/esm2020/api/api.module.mjs +4 -4
  94. package/esm2020/auto-complete/auto-complete-portal.component.mjs +3 -3
  95. package/esm2020/auto-complete/auto-complete.component.mjs +3 -3
  96. package/esm2020/auto-complete/auto-complete.module.mjs +4 -4
  97. package/esm2020/auto-complete/auto-complete.property.mjs +3 -3
  98. package/esm2020/avatar/avatar-group.component.mjs +3 -3
  99. package/esm2020/avatar/avatar.component.mjs +3 -3
  100. package/esm2020/avatar/avatar.module.mjs +4 -4
  101. package/esm2020/avatar/avatar.property.mjs +6 -6
  102. package/esm2020/back-top/back-top.component.mjs +3 -3
  103. package/esm2020/back-top/back-top.module.mjs +4 -4
  104. package/esm2020/back-top/back-top.property.mjs +3 -3
  105. package/esm2020/badge/badge.component.mjs +3 -3
  106. package/esm2020/badge/badge.module.mjs +4 -4
  107. package/esm2020/badge/badge.property.mjs +3 -3
  108. package/esm2020/base-form/base-form.component.mjs +3 -3
  109. package/esm2020/base-form/base-form.module.mjs +4 -4
  110. package/esm2020/base-form/base-form.property.mjs +3 -3
  111. package/esm2020/border/border.component.mjs +3 -3
  112. package/esm2020/border/border.module.mjs +4 -4
  113. package/esm2020/button/button.component.mjs +3 -3
  114. package/esm2020/button/button.module.mjs +4 -4
  115. package/esm2020/button/button.property.mjs +6 -6
  116. package/esm2020/button/buttons.component.mjs +3 -3
  117. package/esm2020/calendar/calendar.component.mjs +3 -3
  118. package/esm2020/calendar/calendar.module.mjs +4 -4
  119. package/esm2020/calendar/calendar.property.mjs +3 -3
  120. package/esm2020/card/card.component.mjs +3 -3
  121. package/esm2020/card/card.module.mjs +4 -4
  122. package/esm2020/card/card.property.mjs +3 -3
  123. package/esm2020/carousel/carousel-panel.component.mjs +3 -3
  124. package/esm2020/carousel/carousel.component.mjs +3 -3
  125. package/esm2020/carousel/carousel.module.mjs +4 -4
  126. package/esm2020/carousel/carousel.property.mjs +6 -6
  127. package/esm2020/cascade/cascade-portal.component.mjs +3 -3
  128. package/esm2020/cascade/cascade.component.mjs +3 -3
  129. package/esm2020/cascade/cascade.module.mjs +4 -4
  130. package/esm2020/cascade/cascade.property.mjs +3 -3
  131. package/esm2020/checkbox/checkbox.component.mjs +3 -3
  132. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  133. package/esm2020/checkbox/checkbox.property.mjs +3 -3
  134. package/esm2020/collapse/collapse-panel.component.mjs +3 -3
  135. package/esm2020/collapse/collapse.component.mjs +3 -3
  136. package/esm2020/collapse/collapse.module.mjs +4 -4
  137. package/esm2020/collapse/collapse.property.mjs +6 -6
  138. package/esm2020/color/color.component.mjs +3 -3
  139. package/esm2020/color/color.module.mjs +4 -4
  140. package/esm2020/color/color.property.mjs +3 -3
  141. package/esm2020/color-picker/color-picker-portal.component.mjs +5 -5
  142. package/esm2020/color-picker/color-picker.component.mjs +3 -3
  143. package/esm2020/color-picker/color-picker.module.mjs +4 -4
  144. package/esm2020/color-picker/color-picker.property.mjs +3 -3
  145. package/esm2020/comment/comment-reply.component.mjs +3 -3
  146. package/esm2020/comment/comment.component.mjs +3 -3
  147. package/esm2020/comment/comment.module.mjs +4 -4
  148. package/esm2020/comment/comment.property.mjs +6 -6
  149. package/esm2020/container/aside.component.mjs +3 -3
  150. package/esm2020/container/container.component.mjs +3 -3
  151. package/esm2020/container/container.module.mjs +4 -4
  152. package/esm2020/container/container.property.mjs +12 -12
  153. package/esm2020/container/footer.component.mjs +3 -3
  154. package/esm2020/container/header.component.mjs +3 -3
  155. package/esm2020/container/main.component.mjs +3 -3
  156. package/esm2020/core/config/config.service.mjs +3 -3
  157. package/esm2020/core/services/http.service.mjs +3 -3
  158. package/esm2020/core/services/preloading-strategy.service.mjs +3 -3
  159. package/esm2020/core/services/storage.service.mjs +3 -3
  160. package/esm2020/core/theme/theme.service.mjs +3 -3
  161. package/esm2020/crumb/crumb.component.mjs +3 -3
  162. package/esm2020/crumb/crumb.module.mjs +4 -4
  163. package/esm2020/crumb/crumb.property.mjs +3 -3
  164. package/esm2020/date-picker/date-picker-portal.component.mjs +3 -3
  165. package/esm2020/date-picker/date-picker.component.mjs +3 -3
  166. package/esm2020/date-picker/date-picker.module.mjs +4 -4
  167. package/esm2020/date-picker/date-picker.property.mjs +15 -15
  168. package/esm2020/date-picker/date-range-portal.component.mjs +3 -3
  169. package/esm2020/date-picker/date-range.component.mjs +3 -3
  170. package/esm2020/date-picker/picker-date.component.mjs +3 -3
  171. package/esm2020/date-picker/picker-month.component.mjs +3 -3
  172. package/esm2020/date-picker/picker-year.component.mjs +3 -3
  173. package/esm2020/description/description-item.component.mjs +3 -3
  174. package/esm2020/description/description.component.mjs +3 -3
  175. package/esm2020/description/description.module.mjs +4 -4
  176. package/esm2020/description/description.property.mjs +6 -6
  177. package/esm2020/dialog/dialog-container.component.mjs +5 -5
  178. package/esm2020/dialog/dialog-portal.component.mjs +3 -3
  179. package/esm2020/dialog/dialog-portal.directives.mjs +18 -18
  180. package/esm2020/dialog/dialog.component.mjs +3 -3
  181. package/esm2020/dialog/dialog.module.mjs +4 -4
  182. package/esm2020/dialog/dialog.property.mjs +6 -6
  183. package/esm2020/dialog/dialog.service.mjs +3 -3
  184. package/esm2020/doc/doc.component.mjs +3 -3
  185. package/esm2020/doc/doc.module.mjs +4 -4
  186. package/esm2020/drawer/drawer-container.component.mjs +5 -5
  187. package/esm2020/drawer/drawer-portal.component.mjs +3 -3
  188. package/esm2020/drawer/drawer-portal.directives.mjs +9 -9
  189. package/esm2020/drawer/drawer.component.mjs +3 -3
  190. package/esm2020/drawer/drawer.module.mjs +4 -4
  191. package/esm2020/drawer/drawer.property.mjs +6 -6
  192. package/esm2020/drawer/drawer.service.mjs +3 -3
  193. package/esm2020/dropdown/dropdown-portal.component.mjs +3 -3
  194. package/esm2020/dropdown/dropdown.component.mjs +3 -3
  195. package/esm2020/dropdown/dropdown.module.mjs +4 -4
  196. package/esm2020/dropdown/dropdown.property.mjs +3 -3
  197. package/esm2020/empty/empty.component.mjs +3 -3
  198. package/esm2020/empty/empty.module.mjs +4 -4
  199. package/esm2020/empty/empty.property.mjs +3 -3
  200. package/esm2020/examples/examples.component.mjs +3 -3
  201. package/esm2020/examples/examples.module.mjs +4 -4
  202. package/esm2020/find/find.component.mjs +3 -3
  203. package/esm2020/find/find.module.mjs +4 -4
  204. package/esm2020/find/find.property.mjs +3 -3
  205. package/esm2020/form/control.component.mjs +3 -3
  206. package/esm2020/form/form.component.mjs +3 -3
  207. package/esm2020/form/form.module.mjs +4 -4
  208. package/esm2020/form/form.property.mjs +6 -6
  209. package/esm2020/highlight/highlight.component.mjs +3 -3
  210. package/esm2020/highlight/highlight.module.mjs +4 -4
  211. package/esm2020/highlight/highlight.property.mjs +3 -3
  212. package/esm2020/i18n/i18n.directive.mjs +3 -3
  213. package/esm2020/i18n/i18n.module.mjs +4 -4
  214. package/esm2020/i18n/i18n.pipe.mjs +3 -3
  215. package/esm2020/i18n/i18n.service.mjs +3 -3
  216. package/esm2020/icon/icon.component.mjs +3 -3
  217. package/esm2020/icon/icon.module.mjs +4 -4
  218. package/esm2020/icon/icon.property.mjs +3 -3
  219. package/esm2020/icon/icon.service.mjs +3 -3
  220. package/esm2020/image/image-group.component.mjs +3 -3
  221. package/esm2020/image/image-preview.component.mjs +3 -3
  222. package/esm2020/image/image.component.mjs +3 -3
  223. package/esm2020/image/image.module.mjs +4 -4
  224. package/esm2020/image/image.property.mjs +6 -6
  225. package/esm2020/inner/inner.component.mjs +3 -3
  226. package/esm2020/inner/inner.module.mjs +4 -4
  227. package/esm2020/inner/inner.property.mjs +3 -3
  228. package/esm2020/input/input-group.component.mjs +3 -3
  229. package/esm2020/input/input.component.mjs +3 -3
  230. package/esm2020/input/input.module.mjs +4 -4
  231. package/esm2020/input/input.property.mjs +6 -6
  232. package/esm2020/input-number/input-number.component.mjs +3 -3
  233. package/esm2020/input-number/input-number.module.mjs +4 -4
  234. package/esm2020/input-number/input-number.property.mjs +3 -3
  235. package/esm2020/keyword/keyword.directive.mjs +3 -3
  236. package/esm2020/keyword/keyword.module.mjs +4 -4
  237. package/esm2020/keyword/keyword.property.mjs +3 -3
  238. package/esm2020/layout/col.component.mjs +3 -3
  239. package/esm2020/layout/layout.module.mjs +4 -4
  240. package/esm2020/layout/layout.property.mjs +6 -6
  241. package/esm2020/layout/row.component.mjs +3 -3
  242. package/esm2020/link/link.component.mjs +3 -3
  243. package/esm2020/link/link.module.mjs +4 -4
  244. package/esm2020/link/link.property.mjs +3 -3
  245. package/esm2020/list/list-drop-group.directive.mjs +3 -3
  246. package/esm2020/list/list-option.component.mjs +3 -3
  247. package/esm2020/list/list.component.mjs +3 -3
  248. package/esm2020/list/list.module.mjs +4 -4
  249. package/esm2020/list/list.property.mjs +6 -6
  250. package/esm2020/loading/loading.component.mjs +4 -4
  251. package/esm2020/loading/loading.module.mjs +4 -4
  252. package/esm2020/loading/loading.property.mjs +3 -3
  253. package/esm2020/menu/menu-node.component.mjs +3 -3
  254. package/esm2020/menu/menu.component.mjs +4 -4
  255. package/esm2020/menu/menu.module.mjs +4 -4
  256. package/esm2020/menu/menu.property.mjs +6 -6
  257. package/esm2020/message/message.component.mjs +3 -3
  258. package/esm2020/message/message.module.mjs +4 -4
  259. package/esm2020/message/message.service.mjs +3 -3
  260. package/esm2020/message-box/message-box.component.mjs +3 -3
  261. package/esm2020/message-box/message-box.module.mjs +4 -4
  262. package/esm2020/message-box/message-box.service.mjs +3 -3
  263. package/esm2020/notification/notification.component.mjs +3 -3
  264. package/esm2020/notification/notification.module.mjs +4 -4
  265. package/esm2020/notification/notification.service.mjs +3 -3
  266. package/esm2020/outlet/outlet.directive.mjs +3 -3
  267. package/esm2020/outlet/outlet.module.mjs +4 -4
  268. package/esm2020/page-header/page-header.component.mjs +3 -3
  269. package/esm2020/page-header/page-header.module.mjs +4 -4
  270. package/esm2020/page-header/page-header.property.mjs +3 -3
  271. package/esm2020/pagination/pagination.component.mjs +3 -3
  272. package/esm2020/pagination/pagination.module.mjs +4 -4
  273. package/esm2020/pagination/pagination.property.mjs +3 -3
  274. package/esm2020/pattern/pattern.component.mjs +3 -3
  275. package/esm2020/pattern/pattern.module.mjs +4 -4
  276. package/esm2020/popconfirm/popconfirm.component.mjs +3 -3
  277. package/esm2020/popconfirm/popconfirm.module.mjs +4 -4
  278. package/esm2020/popconfirm/popconfirm.property.mjs +3 -3
  279. package/esm2020/popover/popover-portal.component.mjs +3 -3
  280. package/esm2020/popover/popover.directive.mjs +3 -3
  281. package/esm2020/popover/popover.module.mjs +4 -4
  282. package/esm2020/popover/popover.property.mjs +3 -3
  283. package/esm2020/portal/portal.module.mjs +4 -4
  284. package/esm2020/portal/portal.service.mjs +3 -3
  285. package/esm2020/progress/progress.component.mjs +4 -4
  286. package/esm2020/progress/progress.module.mjs +4 -4
  287. package/esm2020/progress/progress.property.mjs +3 -3
  288. package/esm2020/radio/radio.component.mjs +3 -3
  289. package/esm2020/radio/radio.module.mjs +4 -4
  290. package/esm2020/radio/radio.property.mjs +3 -3
  291. package/esm2020/rate/rate.component.mjs +3 -3
  292. package/esm2020/rate/rate.module.mjs +4 -4
  293. package/esm2020/rate/rate.property.mjs +3 -3
  294. package/esm2020/resizable/resizable.directive.mjs +3 -3
  295. package/esm2020/resizable/resizable.module.mjs +4 -4
  296. package/esm2020/resizable/resizable.property.mjs +3 -3
  297. package/esm2020/result/result.component.mjs +3 -3
  298. package/esm2020/result/result.module.mjs +4 -4
  299. package/esm2020/result/result.property.mjs +3 -3
  300. package/esm2020/ripple/ripple.directive.mjs +3 -3
  301. package/esm2020/ripple/ripple.module.mjs +4 -4
  302. package/esm2020/ripple/ripple.property.mjs +3 -3
  303. package/esm2020/select/select-portal.component.mjs +3 -3
  304. package/esm2020/select/select.component.mjs +3 -3
  305. package/esm2020/select/select.module.mjs +4 -4
  306. package/esm2020/select/select.property.mjs +3 -3
  307. package/esm2020/skeleton/skeleton.component.mjs +4 -4
  308. package/esm2020/skeleton/skeleton.module.mjs +4 -4
  309. package/esm2020/skeleton/skeleton.property.mjs +3 -3
  310. package/esm2020/slider/slider.component.mjs +3 -3
  311. package/esm2020/slider/slider.module.mjs +4 -4
  312. package/esm2020/slider/slider.property.mjs +3 -3
  313. package/esm2020/slider-select/slider-select.component.mjs +3 -3
  314. package/esm2020/slider-select/slider-select.module.mjs +4 -4
  315. package/esm2020/slider-select/slider-select.property.mjs +3 -3
  316. package/esm2020/statistic/countdown.component.mjs +3 -3
  317. package/esm2020/statistic/statistic.component.mjs +3 -3
  318. package/esm2020/statistic/statistic.module.mjs +4 -4
  319. package/esm2020/statistic/statistic.property.mjs +6 -6
  320. package/esm2020/steps/steps.component.mjs +3 -3
  321. package/esm2020/steps/steps.module.mjs +4 -4
  322. package/esm2020/steps/steps.property.mjs +3 -3
  323. package/esm2020/switch/switch.component.mjs +3 -3
  324. package/esm2020/switch/switch.module.mjs +4 -4
  325. package/esm2020/switch/switch.property.mjs +3 -3
  326. package/esm2020/table/drag.directive.mjs +3 -3
  327. package/esm2020/table/table-body.component.mjs +3 -3
  328. package/esm2020/table/table-foot.component.mjs +3 -3
  329. package/esm2020/table/table-head.component.mjs +3 -3
  330. package/esm2020/table/table.component.mjs +3 -3
  331. package/esm2020/table/table.module.mjs +4 -4
  332. package/esm2020/table/table.property.mjs +12 -12
  333. package/esm2020/tabs/tab-content.component.mjs +3 -3
  334. package/esm2020/tabs/tab-link.directive.mjs +8 -8
  335. package/esm2020/tabs/tab.component.mjs +3 -3
  336. package/esm2020/tabs/tabs.component.mjs +4 -4
  337. package/esm2020/tabs/tabs.module.mjs +4 -4
  338. package/esm2020/tabs/tabs.property.mjs +6 -6
  339. package/esm2020/tag/tag.component.mjs +3 -3
  340. package/esm2020/tag/tag.module.mjs +4 -4
  341. package/esm2020/tag/tag.property.mjs +3 -3
  342. package/esm2020/text-retract/text-retract.component.mjs +3 -3
  343. package/esm2020/text-retract/text-retract.module.mjs +4 -4
  344. package/esm2020/text-retract/text-retract.property.mjs +3 -3
  345. package/esm2020/textarea/textarea.component.mjs +3 -3
  346. package/esm2020/textarea/textarea.module.mjs +4 -4
  347. package/esm2020/textarea/textarea.property.mjs +3 -3
  348. package/esm2020/theme/theme.component.mjs +5 -5
  349. package/esm2020/theme/theme.module.mjs +4 -4
  350. package/esm2020/theme/theme.property.mjs +3 -3
  351. package/esm2020/time-ago/time-ago.module.mjs +4 -4
  352. package/esm2020/time-ago/time-ago.pipe.mjs +3 -3
  353. package/esm2020/time-picker/time-picker-frame.component.mjs +7 -7
  354. package/esm2020/time-picker/time-picker-portal.component.mjs +3 -3
  355. package/esm2020/time-picker/time-picker.component.mjs +3 -3
  356. package/esm2020/time-picker/time-picker.module.mjs +4 -4
  357. package/esm2020/time-picker/time-picker.property.mjs +3 -3
  358. package/esm2020/time-range/time-range.module.mjs +4 -4
  359. package/esm2020/time-range/time-range.pipe.mjs +3 -3
  360. package/esm2020/timeline/timeline.component.mjs +3 -3
  361. package/esm2020/timeline/timeline.module.mjs +4 -4
  362. package/esm2020/timeline/timeline.property.mjs +3 -3
  363. package/esm2020/tooltip/tooltip-portal.component.mjs +3 -3
  364. package/esm2020/tooltip/tooltip.directive.mjs +3 -3
  365. package/esm2020/tooltip/tooltip.module.mjs +4 -4
  366. package/esm2020/tooltip/tooltip.property.mjs +3 -3
  367. package/esm2020/transfer/transfer.component.mjs +5 -5
  368. package/esm2020/transfer/transfer.module.mjs +4 -4
  369. package/esm2020/transfer/transfer.property.mjs +3 -3
  370. package/esm2020/tree/tree-node.component.mjs +3 -3
  371. package/esm2020/tree/tree.component.mjs +3 -3
  372. package/esm2020/tree/tree.module.mjs +4 -4
  373. package/esm2020/tree/tree.property.mjs +6 -6
  374. package/esm2020/tree-file/tree-file.component.mjs +4 -4
  375. package/esm2020/tree-file/tree-file.module.mjs +4 -4
  376. package/esm2020/tree-file/tree-file.property.mjs +3 -3
  377. package/esm2020/tree-select/tree-select-portal.component.mjs +3 -3
  378. package/esm2020/tree-select/tree-select.component.mjs +3 -3
  379. package/esm2020/tree-select/tree-select.module.mjs +4 -4
  380. package/esm2020/tree-select/tree-select.property.mjs +3 -3
  381. package/esm2020/typography/typography.component.mjs +3 -3
  382. package/esm2020/typography/typography.module.mjs +4 -4
  383. package/esm2020/typography/typography.property.mjs +3 -3
  384. package/esm2020/upload/upload-portal.component.mjs +7 -7
  385. package/esm2020/upload/upload.component.mjs +3 -3
  386. package/esm2020/upload/upload.module.mjs +4 -4
  387. package/esm2020/upload/upload.property.mjs +3 -3
  388. package/examples/examples.component.d.ts +1 -1
  389. package/fesm2015/ng-nest-ui-affix.mjs +10 -10
  390. package/fesm2015/ng-nest-ui-alert.mjs +10 -10
  391. package/fesm2015/ng-nest-ui-anchor.mjs +10 -10
  392. package/fesm2015/ng-nest-ui-api.mjs +7 -7
  393. package/fesm2015/ng-nest-ui-auto-complete.mjs +13 -13
  394. package/fesm2015/ng-nest-ui-avatar.mjs +16 -16
  395. package/fesm2015/ng-nest-ui-back-top.mjs +10 -10
  396. package/fesm2015/ng-nest-ui-badge.mjs +10 -10
  397. package/fesm2015/ng-nest-ui-base-form.mjs +10 -10
  398. package/fesm2015/ng-nest-ui-border.mjs +7 -7
  399. package/fesm2015/ng-nest-ui-button.mjs +16 -16
  400. package/fesm2015/ng-nest-ui-calendar.mjs +10 -10
  401. package/fesm2015/ng-nest-ui-card.mjs +10 -10
  402. package/fesm2015/ng-nest-ui-carousel.mjs +16 -16
  403. package/fesm2015/ng-nest-ui-cascade.mjs +13 -13
  404. package/fesm2015/ng-nest-ui-checkbox.mjs +10 -10
  405. package/fesm2015/ng-nest-ui-collapse.mjs +16 -16
  406. package/fesm2015/ng-nest-ui-color-picker.mjs +14 -14
  407. package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
  408. package/fesm2015/ng-nest-ui-color.mjs +10 -10
  409. package/fesm2015/ng-nest-ui-comment.mjs +16 -16
  410. package/fesm2015/ng-nest-ui-container.mjs +31 -31
  411. package/fesm2015/ng-nest-ui-core.mjs +15 -15
  412. package/fesm2015/ng-nest-ui-crumb.mjs +10 -10
  413. package/fesm2015/ng-nest-ui-date-picker.mjs +40 -40
  414. package/fesm2015/ng-nest-ui-description.mjs +16 -16
  415. package/fesm2015/ng-nest-ui-dialog.mjs +42 -42
  416. package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
  417. package/fesm2015/ng-nest-ui-doc.mjs +7 -7
  418. package/fesm2015/ng-nest-ui-drawer.mjs +33 -33
  419. package/fesm2015/ng-nest-ui-drawer.mjs.map +1 -1
  420. package/fesm2015/ng-nest-ui-dropdown.mjs +13 -13
  421. package/fesm2015/ng-nest-ui-empty.mjs +10 -10
  422. package/fesm2015/ng-nest-ui-examples.mjs +7 -7
  423. package/fesm2015/ng-nest-ui-find.mjs +10 -10
  424. package/fesm2015/ng-nest-ui-form.mjs +16 -16
  425. package/fesm2015/ng-nest-ui-highlight.mjs +10 -10
  426. package/fesm2015/ng-nest-ui-i18n.mjs +13 -13
  427. package/fesm2015/ng-nest-ui-icon.mjs +13 -13
  428. package/fesm2015/ng-nest-ui-image.mjs +19 -19
  429. package/fesm2015/ng-nest-ui-inner.mjs +10 -10
  430. package/fesm2015/ng-nest-ui-input-number.mjs +10 -10
  431. package/fesm2015/ng-nest-ui-input.mjs +16 -16
  432. package/fesm2015/ng-nest-ui-keyword.mjs +10 -10
  433. package/fesm2015/ng-nest-ui-layout.mjs +16 -16
  434. package/fesm2015/ng-nest-ui-link.mjs +10 -10
  435. package/fesm2015/ng-nest-ui-list.mjs +19 -19
  436. package/fesm2015/ng-nest-ui-loading.mjs +11 -11
  437. package/fesm2015/ng-nest-ui-loading.mjs.map +1 -1
  438. package/fesm2015/ng-nest-ui-menu.mjs +16 -16
  439. package/fesm2015/ng-nest-ui-menu.mjs.map +1 -1
  440. package/fesm2015/ng-nest-ui-message-box.mjs +10 -10
  441. package/fesm2015/ng-nest-ui-message.mjs +10 -10
  442. package/fesm2015/ng-nest-ui-notification.mjs +10 -10
  443. package/fesm2015/ng-nest-ui-outlet.mjs +7 -7
  444. package/fesm2015/ng-nest-ui-page-header.mjs +10 -10
  445. package/fesm2015/ng-nest-ui-pagination.mjs +10 -10
  446. package/fesm2015/ng-nest-ui-pattern.mjs +7 -7
  447. package/fesm2015/ng-nest-ui-popconfirm.mjs +10 -10
  448. package/fesm2015/ng-nest-ui-popover.mjs +13 -13
  449. package/fesm2015/ng-nest-ui-portal.mjs +7 -7
  450. package/fesm2015/ng-nest-ui-progress.mjs +11 -11
  451. package/fesm2015/ng-nest-ui-progress.mjs.map +1 -1
  452. package/fesm2015/ng-nest-ui-radio.mjs +10 -10
  453. package/fesm2015/ng-nest-ui-rate.mjs +10 -10
  454. package/fesm2015/ng-nest-ui-resizable.mjs +10 -10
  455. package/fesm2015/ng-nest-ui-result.mjs +10 -10
  456. package/fesm2015/ng-nest-ui-ripple.mjs +10 -10
  457. package/fesm2015/ng-nest-ui-select.mjs +13 -13
  458. package/fesm2015/ng-nest-ui-skeleton.mjs +11 -11
  459. package/fesm2015/ng-nest-ui-skeleton.mjs.map +1 -1
  460. package/fesm2015/ng-nest-ui-slider-select.mjs +10 -10
  461. package/fesm2015/ng-nest-ui-slider.mjs +10 -10
  462. package/fesm2015/ng-nest-ui-statistic.mjs +16 -16
  463. package/fesm2015/ng-nest-ui-steps.mjs +10 -10
  464. package/fesm2015/ng-nest-ui-switch.mjs +10 -10
  465. package/fesm2015/ng-nest-ui-table.mjs +31 -31
  466. package/fesm2015/ng-nest-ui-tabs.mjs +26 -26
  467. package/fesm2015/ng-nest-ui-tabs.mjs.map +1 -1
  468. package/fesm2015/ng-nest-ui-tag.mjs +10 -10
  469. package/fesm2015/ng-nest-ui-text-retract.mjs +10 -10
  470. package/fesm2015/ng-nest-ui-textarea.mjs +10 -10
  471. package/fesm2015/ng-nest-ui-theme.mjs +11 -11
  472. package/fesm2015/ng-nest-ui-theme.mjs.map +1 -1
  473. package/fesm2015/ng-nest-ui-time-ago.mjs +7 -7
  474. package/fesm2015/ng-nest-ui-time-picker.mjs +19 -19
  475. package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
  476. package/fesm2015/ng-nest-ui-time-range.mjs +7 -7
  477. package/fesm2015/ng-nest-ui-timeline.mjs +10 -10
  478. package/fesm2015/ng-nest-ui-tooltip.mjs +13 -13
  479. package/fesm2015/ng-nest-ui-transfer.mjs +11 -11
  480. package/fesm2015/ng-nest-ui-transfer.mjs.map +1 -1
  481. package/fesm2015/ng-nest-ui-tree-file.mjs +10 -10
  482. package/fesm2015/ng-nest-ui-tree-file.mjs.map +1 -1
  483. package/fesm2015/ng-nest-ui-tree-select.mjs +13 -13
  484. package/fesm2015/ng-nest-ui-tree.mjs +16 -16
  485. package/fesm2015/ng-nest-ui-typography.mjs +10 -10
  486. package/fesm2015/ng-nest-ui-upload.mjs +18 -16
  487. package/fesm2015/ng-nest-ui-upload.mjs.map +1 -1
  488. package/fesm2020/ng-nest-ui-affix.mjs +10 -10
  489. package/fesm2020/ng-nest-ui-alert.mjs +10 -10
  490. package/fesm2020/ng-nest-ui-anchor.mjs +10 -10
  491. package/fesm2020/ng-nest-ui-api.mjs +7 -7
  492. package/fesm2020/ng-nest-ui-auto-complete.mjs +13 -13
  493. package/fesm2020/ng-nest-ui-avatar.mjs +16 -16
  494. package/fesm2020/ng-nest-ui-back-top.mjs +10 -10
  495. package/fesm2020/ng-nest-ui-badge.mjs +10 -10
  496. package/fesm2020/ng-nest-ui-base-form.mjs +10 -10
  497. package/fesm2020/ng-nest-ui-border.mjs +7 -7
  498. package/fesm2020/ng-nest-ui-button.mjs +16 -16
  499. package/fesm2020/ng-nest-ui-calendar.mjs +10 -10
  500. package/fesm2020/ng-nest-ui-card.mjs +10 -10
  501. package/fesm2020/ng-nest-ui-carousel.mjs +16 -16
  502. package/fesm2020/ng-nest-ui-cascade.mjs +13 -13
  503. package/fesm2020/ng-nest-ui-checkbox.mjs +10 -10
  504. package/fesm2020/ng-nest-ui-collapse.mjs +16 -16
  505. package/fesm2020/ng-nest-ui-color-picker.mjs +14 -14
  506. package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
  507. package/fesm2020/ng-nest-ui-color.mjs +10 -10
  508. package/fesm2020/ng-nest-ui-comment.mjs +16 -16
  509. package/fesm2020/ng-nest-ui-container.mjs +31 -31
  510. package/fesm2020/ng-nest-ui-core.mjs +15 -15
  511. package/fesm2020/ng-nest-ui-crumb.mjs +10 -10
  512. package/fesm2020/ng-nest-ui-date-picker.mjs +40 -40
  513. package/fesm2020/ng-nest-ui-description.mjs +16 -16
  514. package/fesm2020/ng-nest-ui-dialog.mjs +42 -42
  515. package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
  516. package/fesm2020/ng-nest-ui-doc.mjs +7 -7
  517. package/fesm2020/ng-nest-ui-drawer.mjs +33 -33
  518. package/fesm2020/ng-nest-ui-drawer.mjs.map +1 -1
  519. package/fesm2020/ng-nest-ui-dropdown.mjs +13 -13
  520. package/fesm2020/ng-nest-ui-empty.mjs +10 -10
  521. package/fesm2020/ng-nest-ui-examples.mjs +7 -7
  522. package/fesm2020/ng-nest-ui-find.mjs +10 -10
  523. package/fesm2020/ng-nest-ui-form.mjs +16 -16
  524. package/fesm2020/ng-nest-ui-highlight.mjs +10 -10
  525. package/fesm2020/ng-nest-ui-i18n.mjs +13 -13
  526. package/fesm2020/ng-nest-ui-icon.mjs +13 -13
  527. package/fesm2020/ng-nest-ui-image.mjs +19 -19
  528. package/fesm2020/ng-nest-ui-inner.mjs +10 -10
  529. package/fesm2020/ng-nest-ui-input-number.mjs +10 -10
  530. package/fesm2020/ng-nest-ui-input.mjs +16 -16
  531. package/fesm2020/ng-nest-ui-keyword.mjs +10 -10
  532. package/fesm2020/ng-nest-ui-layout.mjs +16 -16
  533. package/fesm2020/ng-nest-ui-link.mjs +10 -10
  534. package/fesm2020/ng-nest-ui-list.mjs +19 -19
  535. package/fesm2020/ng-nest-ui-loading.mjs +11 -11
  536. package/fesm2020/ng-nest-ui-loading.mjs.map +1 -1
  537. package/fesm2020/ng-nest-ui-menu.mjs +16 -16
  538. package/fesm2020/ng-nest-ui-menu.mjs.map +1 -1
  539. package/fesm2020/ng-nest-ui-message-box.mjs +10 -10
  540. package/fesm2020/ng-nest-ui-message.mjs +10 -10
  541. package/fesm2020/ng-nest-ui-notification.mjs +10 -10
  542. package/fesm2020/ng-nest-ui-outlet.mjs +7 -7
  543. package/fesm2020/ng-nest-ui-page-header.mjs +10 -10
  544. package/fesm2020/ng-nest-ui-pagination.mjs +10 -10
  545. package/fesm2020/ng-nest-ui-pattern.mjs +7 -7
  546. package/fesm2020/ng-nest-ui-popconfirm.mjs +10 -10
  547. package/fesm2020/ng-nest-ui-popover.mjs +13 -13
  548. package/fesm2020/ng-nest-ui-portal.mjs +7 -7
  549. package/fesm2020/ng-nest-ui-progress.mjs +11 -11
  550. package/fesm2020/ng-nest-ui-progress.mjs.map +1 -1
  551. package/fesm2020/ng-nest-ui-radio.mjs +10 -10
  552. package/fesm2020/ng-nest-ui-rate.mjs +10 -10
  553. package/fesm2020/ng-nest-ui-resizable.mjs +10 -10
  554. package/fesm2020/ng-nest-ui-result.mjs +10 -10
  555. package/fesm2020/ng-nest-ui-ripple.mjs +10 -10
  556. package/fesm2020/ng-nest-ui-select.mjs +13 -13
  557. package/fesm2020/ng-nest-ui-skeleton.mjs +11 -11
  558. package/fesm2020/ng-nest-ui-skeleton.mjs.map +1 -1
  559. package/fesm2020/ng-nest-ui-slider-select.mjs +10 -10
  560. package/fesm2020/ng-nest-ui-slider.mjs +10 -10
  561. package/fesm2020/ng-nest-ui-statistic.mjs +16 -16
  562. package/fesm2020/ng-nest-ui-steps.mjs +10 -10
  563. package/fesm2020/ng-nest-ui-switch.mjs +10 -10
  564. package/fesm2020/ng-nest-ui-table.mjs +31 -31
  565. package/fesm2020/ng-nest-ui-tabs.mjs +26 -26
  566. package/fesm2020/ng-nest-ui-tabs.mjs.map +1 -1
  567. package/fesm2020/ng-nest-ui-tag.mjs +10 -10
  568. package/fesm2020/ng-nest-ui-text-retract.mjs +10 -10
  569. package/fesm2020/ng-nest-ui-textarea.mjs +10 -10
  570. package/fesm2020/ng-nest-ui-theme.mjs +11 -11
  571. package/fesm2020/ng-nest-ui-theme.mjs.map +1 -1
  572. package/fesm2020/ng-nest-ui-time-ago.mjs +7 -7
  573. package/fesm2020/ng-nest-ui-time-picker.mjs +19 -19
  574. package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
  575. package/fesm2020/ng-nest-ui-time-range.mjs +7 -7
  576. package/fesm2020/ng-nest-ui-timeline.mjs +10 -10
  577. package/fesm2020/ng-nest-ui-tooltip.mjs +13 -13
  578. package/fesm2020/ng-nest-ui-transfer.mjs +11 -11
  579. package/fesm2020/ng-nest-ui-transfer.mjs.map +1 -1
  580. package/fesm2020/ng-nest-ui-tree-file.mjs +10 -10
  581. package/fesm2020/ng-nest-ui-tree-file.mjs.map +1 -1
  582. package/fesm2020/ng-nest-ui-tree-select.mjs +13 -13
  583. package/fesm2020/ng-nest-ui-tree.mjs +16 -16
  584. package/fesm2020/ng-nest-ui-typography.mjs +10 -10
  585. package/fesm2020/ng-nest-ui-upload.mjs +16 -16
  586. package/fesm2020/ng-nest-ui-upload.mjs.map +1 -1
  587. package/find/find.component.d.ts +1 -1
  588. package/find/find.property.d.ts +1 -1
  589. package/form/control.component.d.ts +1 -1
  590. package/form/form.component.d.ts +1 -1
  591. package/form/form.property.d.ts +2 -2
  592. package/highlight/highlight.component.d.ts +1 -1
  593. package/highlight/highlight.property.d.ts +1 -1
  594. package/i18n/i18n.directive.d.ts +1 -1
  595. package/icon/icon.component.d.ts +1 -1
  596. package/icon/icon.property.d.ts +1 -1
  597. package/image/image-group.component.d.ts +1 -1
  598. package/image/image-preview.component.d.ts +1 -1
  599. package/image/image.component.d.ts +1 -1
  600. package/image/image.property.d.ts +2 -2
  601. package/inner/inner.component.d.ts +1 -1
  602. package/inner/inner.property.d.ts +1 -1
  603. package/input/input-group.component.d.ts +1 -1
  604. package/input/input.component.d.ts +1 -1
  605. package/input/input.property.d.ts +2 -2
  606. package/input-number/input-number.component.d.ts +1 -1
  607. package/input-number/input-number.property.d.ts +1 -1
  608. package/keyword/keyword.directive.d.ts +1 -1
  609. package/keyword/keyword.property.d.ts +1 -1
  610. package/layout/col.component.d.ts +1 -1
  611. package/layout/layout.property.d.ts +2 -2
  612. package/layout/row.component.d.ts +1 -1
  613. package/link/link.component.d.ts +1 -1
  614. package/link/link.property.d.ts +1 -1
  615. package/list/list-drop-group.directive.d.ts +1 -1
  616. package/list/list-option.component.d.ts +1 -1
  617. package/list/list.component.d.ts +1 -1
  618. package/list/list.property.d.ts +2 -2
  619. package/loading/loading.component.d.ts +1 -1
  620. package/loading/loading.property.d.ts +1 -1
  621. package/menu/menu-node.component.d.ts +1 -1
  622. package/menu/menu.component.d.ts +2 -2
  623. package/menu/menu.property.d.ts +2 -2
  624. package/message/message.component.d.ts +1 -1
  625. package/message-box/message-box.component.d.ts +1 -1
  626. package/notification/notification.component.d.ts +1 -1
  627. package/outlet/outlet.directive.d.ts +1 -1
  628. package/package.json +6 -6
  629. package/page-header/page-header.component.d.ts +1 -1
  630. package/page-header/page-header.property.d.ts +1 -1
  631. package/pagination/pagination.component.d.ts +1 -1
  632. package/pagination/pagination.property.d.ts +1 -1
  633. package/pattern/pattern.component.d.ts +1 -1
  634. package/popconfirm/popconfirm.component.d.ts +1 -1
  635. package/popconfirm/popconfirm.property.d.ts +1 -1
  636. package/popover/popover-portal.component.d.ts +1 -1
  637. package/popover/popover.directive.d.ts +1 -1
  638. package/popover/popover.property.d.ts +1 -1
  639. package/progress/progress.component.d.ts +1 -1
  640. package/progress/progress.property.d.ts +1 -1
  641. package/radio/radio.component.d.ts +1 -1
  642. package/radio/radio.property.d.ts +1 -1
  643. package/rate/rate.component.d.ts +1 -1
  644. package/rate/rate.property.d.ts +1 -1
  645. package/resizable/resizable.directive.d.ts +1 -1
  646. package/resizable/resizable.property.d.ts +1 -1
  647. package/result/result.component.d.ts +1 -1
  648. package/result/result.property.d.ts +1 -1
  649. package/ripple/ripple.directive.d.ts +1 -1
  650. package/ripple/ripple.property.d.ts +1 -1
  651. package/select/select-portal.component.d.ts +1 -1
  652. package/select/select.component.d.ts +1 -1
  653. package/select/select.property.d.ts +1 -1
  654. package/skeleton/skeleton.component.d.ts +1 -1
  655. package/skeleton/skeleton.property.d.ts +1 -1
  656. package/slider/slider.component.d.ts +1 -1
  657. package/slider/slider.property.d.ts +1 -1
  658. package/slider-select/slider-select.component.d.ts +1 -1
  659. package/slider-select/slider-select.property.d.ts +1 -1
  660. package/statistic/countdown.component.d.ts +1 -1
  661. package/statistic/statistic.component.d.ts +1 -1
  662. package/statistic/statistic.property.d.ts +2 -2
  663. package/steps/steps.component.d.ts +1 -1
  664. package/steps/steps.property.d.ts +1 -1
  665. package/switch/switch.component.d.ts +1 -1
  666. package/switch/switch.property.d.ts +1 -1
  667. package/table/drag.directive.d.ts +1 -1
  668. package/table/table-body.component.d.ts +1 -1
  669. package/table/table-foot.component.d.ts +1 -1
  670. package/table/table-head.component.d.ts +1 -1
  671. package/table/table.component.d.ts +1 -1
  672. package/table/table.property.d.ts +4 -4
  673. package/tabs/tab-content.component.d.ts +1 -1
  674. package/tabs/tab-link.directive.d.ts +5 -5
  675. package/tabs/tab.component.d.ts +1 -1
  676. package/tabs/tabs.component.d.ts +3 -3
  677. package/tabs/tabs.property.d.ts +2 -2
  678. package/tag/tag.component.d.ts +1 -1
  679. package/tag/tag.property.d.ts +1 -1
  680. package/text-retract/text-retract.component.d.ts +1 -1
  681. package/text-retract/text-retract.property.d.ts +1 -1
  682. package/textarea/textarea.component.d.ts +1 -1
  683. package/textarea/textarea.property.d.ts +1 -1
  684. package/theme/theme.component.d.ts +1 -1
  685. package/theme/theme.property.d.ts +1 -1
  686. package/time-picker/time-picker-frame.component.d.ts +1 -1
  687. package/time-picker/time-picker-portal.component.d.ts +1 -1
  688. package/time-picker/time-picker.component.d.ts +1 -1
  689. package/time-picker/time-picker.property.d.ts +1 -1
  690. package/timeline/timeline.component.d.ts +1 -1
  691. package/timeline/timeline.property.d.ts +1 -1
  692. package/tooltip/tooltip-portal.component.d.ts +1 -1
  693. package/tooltip/tooltip.directive.d.ts +1 -1
  694. package/tooltip/tooltip.property.d.ts +1 -1
  695. package/transfer/transfer.component.d.ts +1 -1
  696. package/transfer/transfer.property.d.ts +1 -1
  697. package/tree/tree-node.component.d.ts +1 -1
  698. package/tree/tree.component.d.ts +1 -1
  699. package/tree/tree.property.d.ts +2 -2
  700. package/tree-file/tree-file.component.d.ts +2 -2
  701. package/tree-file/tree-file.property.d.ts +1 -1
  702. package/tree-select/tree-select-portal.component.d.ts +1 -1
  703. package/tree-select/tree-select.component.d.ts +1 -1
  704. package/tree-select/tree-select.property.d.ts +1 -1
  705. package/typography/typography.component.d.ts +1 -1
  706. package/typography/typography.property.d.ts +1 -1
  707. package/upload/upload-portal.component.d.ts +2 -2
  708. package/upload/upload.component.d.ts +1 -1
  709. package/upload/upload.property.d.ts +1 -1
@@ -91,7 +91,7 @@ export class XUploadPortalComponent {
91
91
  }
92
92
  setOriginalSize() {
93
93
  const img = new Image();
94
- img.src = this.file.url;
94
+ img.src = this.file?.url;
95
95
  img.onload = () => {
96
96
  this.originalSize = { width: img.width, height: img.height };
97
97
  this.proportion = this.boundaryBox.width / this.originalSize.width;
@@ -164,7 +164,7 @@ export class XUploadPortalComponent {
164
164
  canvas.height = this.cutBox.height / this.proportion;
165
165
  const context = canvas.getContext('2d');
166
166
  const img = new Image();
167
- img.src = this.file.url;
167
+ img.src = this.file?.url;
168
168
  img.crossOrigin = 'anonymous';
169
169
  img.onload = () => {
170
170
  context.drawImage(img, -this.cutBox.x / this.proportion, -this.cutBox.y / this.proportion);
@@ -175,11 +175,11 @@ export class XUploadPortalComponent {
175
175
  };
176
176
  }
177
177
  }
178
- /** @nocollapse */ XUploadPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XUploadPortalComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
179
- /** @nocollapse */ XUploadPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XUploadPortalComponent, selector: "x-upload-portal", viewQueries: [{ propertyName: "imgRef", first: true, predicate: ["imgRef"], descendants: true }, { propertyName: "imgClipRef", first: true, predicate: ["imgClipRef"], descendants: true }, { propertyName: "boundaryRef", first: true, predicate: ["boundaryRef"], descendants: true }, { propertyName: "cutRef", first: true, predicate: ["cutRef"], descendants: true }], ngImport: i0, template: "<div class=\"x-upload-portal {{ cutType }}\" [class.x-upload-portal-ready]=\"ready\">\r\n <div class=\"x-upload-portal-tools\">\r\n <div class=\"x-upload-portal-title\">\r\n <x-icon type=\"fto-image\"></x-icon>\r\n <span>{{ file?.name }}</span>\r\n </div>\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-x\" (click)=\"closePortal()\"></x-icon>\r\n </div>\r\n <div class=\"x-upload-portal-img\">\r\n <img #imgRef class=\"x-upload-portal-full-img\" [src]=\"file.url\" />\r\n <div #boundaryRef class=\"x-upload-portal-boundary\">\r\n <img #imgClipRef class=\"x-upload-portal-clip-img\" [src]=\"file.url\" />\r\n <div #cutRef class=\"x-upload-portal-cut\">\r\n <div class=\"x-upload-portal-cut-top-start\"></div>\r\n <div class=\"x-upload-portal-cut-top\"></div>\r\n <div class=\"x-upload-portal-cut-top-end\"></div>\r\n <div class=\"x-upload-portal-cut-left\"></div>\r\n <div class=\"x-upload-portal-cut-right\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-start\"></div>\r\n <div class=\"x-upload-portal-cut-bottom\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-end\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"x-upload-portal-bottom-tools\">\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-check\" (click)=\"sure()\"></x-icon>\r\n </div>\r\n</div>\r\n", styles: ["x-upload-portal{width:100%;height:100%}.x-upload-portal{margin:0;padding:0;display:flex;position:relative;width:100%;height:100%;flex-direction:column}.x-upload-portal-tools{width:100%;height:3.25rem;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:1;color:#fff}.x-upload-portal-bottom-tools{width:100%;height:3.25rem;position:absolute;display:flex;justify-content:center;align-items:center;z-index:1;color:#fff;bottom:0}.x-upload-portal-title{display:flex;align-items:center;margin:0 1rem}.x-upload-portal-title>x-icon{font-size:1.25rem}.x-upload-portal-title>span{margin-left:.5rem}.x-upload-portal-close{font-size:1.75rem;padding:0 1rem;color:#fffc;transition:color var(--x-animation-duration-base);cursor:pointer}.x-upload-portal-close:hover{color:#fff}.x-upload-portal-img{flex:1;width:100%;position:relative;overflow:auto}.x-upload-portal-full-img{max-width:85%;max-height:85%;width:auto;height:auto;position:absolute;left:50%;top:50%;transform:translate3d(-50%,-50%,0)}.x-upload-portal-clip-img{position:absolute}.x-upload-portal-ready .x-upload-portal-full-img{max-width:inherit;max-height:inherit}.x-upload-portal-boundary{width:0;height:0;left:50%;top:50%;transform:translate3d(-50%,-50%,0);position:relative;background-color:#00000080}.x-upload-portal-cut{width:0;height:0;border:.125rem var(--x-border-style) rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;position:relative;cursor:move}.x-upload-portal-cut-top-start,.x-upload-portal-cut-top,.x-upload-portal-cut-top-end,.x-upload-portal-cut-left,.x-upload-portal-cut-right,.x-upload-portal-cut-bottom-start,.x-upload-portal-cut-bottom,.x-upload-portal-cut-bottom-end{width:.825rem;height:.825rem;background:rgb(255,255,255);position:absolute;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius)}.x-upload-portal-cut-top-start{top:-.4125rem;left:-.4125rem;cursor:se-resize}.x-upload-portal-cut-top{top:-.4125rem;cursor:s-resize}.x-upload-portal-cut-top-end{top:-.4125rem;right:-.4125rem;cursor:ne-resize}.x-upload-portal-cut-left{left:-.4125rem;cursor:w-resize}.x-upload-portal-cut-right{right:-.4125rem;cursor:w-resize}.x-upload-portal-cut-bottom-start{left:-.4125rem;bottom:-.4125rem;cursor:ne-resize}.x-upload-portal-cut-bottom{bottom:-.4125rem;cursor:s-resize}.x-upload-portal-cut-bottom-end{right:-.4125rem;bottom:-.4125rem;cursor:se-resize}.x-upload-portal-top-start{cursor:se-resize}.x-upload-portal-top{cursor:s-resize}.x-upload-portal-top-end{cursor:ne-resize}.x-upload-portal-left,.x-upload-portal-right{cursor:w-resize}.x-upload-portal-bottom-start{cursor:ne-resize}.x-upload-portal-bottom{cursor:s-resize}.x-upload-portal-bottom-end{cursor:se-resize}\n"], dependencies: [{ kind: "component", type: i1.XIconComponent, selector: "x-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XUploadPortalComponent, decorators: [{
178
+ /** @nocollapse */ XUploadPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XUploadPortalComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
179
+ /** @nocollapse */ XUploadPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XUploadPortalComponent, selector: "x-upload-portal", viewQueries: [{ propertyName: "imgRef", first: true, predicate: ["imgRef"], descendants: true }, { propertyName: "imgClipRef", first: true, predicate: ["imgClipRef"], descendants: true }, { propertyName: "boundaryRef", first: true, predicate: ["boundaryRef"], descendants: true }, { propertyName: "cutRef", first: true, predicate: ["cutRef"], descendants: true }], ngImport: i0, template: "<div class=\"x-upload-portal {{ cutType }}\" [class.x-upload-portal-ready]=\"ready\">\r\n <div class=\"x-upload-portal-tools\">\r\n <div class=\"x-upload-portal-title\">\r\n <x-icon type=\"fto-image\"></x-icon>\r\n <span>{{ file?.name }}</span>\r\n </div>\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-x\" (click)=\"closePortal()\"></x-icon>\r\n </div>\r\n <div class=\"x-upload-portal-img\">\r\n <img #imgRef class=\"x-upload-portal-full-img\" [src]=\"file?.url\" />\r\n <div #boundaryRef class=\"x-upload-portal-boundary\">\r\n <img #imgClipRef class=\"x-upload-portal-clip-img\" [src]=\"file?.url\" />\r\n <div #cutRef class=\"x-upload-portal-cut\">\r\n <div class=\"x-upload-portal-cut-top-start\"></div>\r\n <div class=\"x-upload-portal-cut-top\"></div>\r\n <div class=\"x-upload-portal-cut-top-end\"></div>\r\n <div class=\"x-upload-portal-cut-left\"></div>\r\n <div class=\"x-upload-portal-cut-right\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-start\"></div>\r\n <div class=\"x-upload-portal-cut-bottom\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-end\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"x-upload-portal-bottom-tools\">\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-check\" (click)=\"sure()\"></x-icon>\r\n </div>\r\n</div>\r\n", styles: ["x-upload-portal{width:100%;height:100%}.x-upload-portal{margin:0;padding:0;display:flex;position:relative;width:100%;height:100%;flex-direction:column}.x-upload-portal-tools{width:100%;height:3.25rem;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:1;color:#fff}.x-upload-portal-bottom-tools{width:100%;height:3.25rem;position:absolute;display:flex;justify-content:center;align-items:center;z-index:1;color:#fff;bottom:0}.x-upload-portal-title{display:flex;align-items:center;margin:0 1rem}.x-upload-portal-title>x-icon{font-size:1.25rem}.x-upload-portal-title>span{margin-left:.5rem}.x-upload-portal-close{font-size:1.75rem;padding:0 1rem;color:#fffc;transition:color var(--x-animation-duration-base);cursor:pointer}.x-upload-portal-close:hover{color:#fff}.x-upload-portal-img{flex:1;width:100%;position:relative;overflow:auto}.x-upload-portal-full-img{max-width:85%;max-height:85%;width:auto;height:auto;position:absolute;left:50%;top:50%;transform:translate3d(-50%,-50%,0)}.x-upload-portal-clip-img{position:absolute}.x-upload-portal-ready .x-upload-portal-full-img{max-width:inherit;max-height:inherit}.x-upload-portal-boundary{width:0;height:0;left:50%;top:50%;transform:translate3d(-50%,-50%,0);position:relative;background-color:#00000080}.x-upload-portal-cut{width:0;height:0;border:.125rem var(--x-border-style) rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;position:relative;cursor:move}.x-upload-portal-cut-top-start,.x-upload-portal-cut-top,.x-upload-portal-cut-top-end,.x-upload-portal-cut-left,.x-upload-portal-cut-right,.x-upload-portal-cut-bottom-start,.x-upload-portal-cut-bottom,.x-upload-portal-cut-bottom-end{width:.825rem;height:.825rem;background:rgb(255,255,255);position:absolute;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius)}.x-upload-portal-cut-top-start{top:-.4125rem;left:-.4125rem;cursor:se-resize}.x-upload-portal-cut-top{top:-.4125rem;cursor:s-resize}.x-upload-portal-cut-top-end{top:-.4125rem;right:-.4125rem;cursor:ne-resize}.x-upload-portal-cut-left{left:-.4125rem;cursor:w-resize}.x-upload-portal-cut-right{right:-.4125rem;cursor:w-resize}.x-upload-portal-cut-bottom-start{left:-.4125rem;bottom:-.4125rem;cursor:ne-resize}.x-upload-portal-cut-bottom{bottom:-.4125rem;cursor:s-resize}.x-upload-portal-cut-bottom-end{right:-.4125rem;bottom:-.4125rem;cursor:se-resize}.x-upload-portal-top-start{cursor:se-resize}.x-upload-portal-top{cursor:s-resize}.x-upload-portal-top-end{cursor:ne-resize}.x-upload-portal-left,.x-upload-portal-right{cursor:w-resize}.x-upload-portal-bottom-start{cursor:ne-resize}.x-upload-portal-bottom{cursor:s-resize}.x-upload-portal-bottom-end{cursor:se-resize}\n"], dependencies: [{ kind: "component", type: i1.XIconComponent, selector: "x-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XUploadPortalComponent, decorators: [{
181
181
  type: Component,
182
- args: [{ selector: `${XUploadPortalPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-upload-portal {{ cutType }}\" [class.x-upload-portal-ready]=\"ready\">\r\n <div class=\"x-upload-portal-tools\">\r\n <div class=\"x-upload-portal-title\">\r\n <x-icon type=\"fto-image\"></x-icon>\r\n <span>{{ file?.name }}</span>\r\n </div>\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-x\" (click)=\"closePortal()\"></x-icon>\r\n </div>\r\n <div class=\"x-upload-portal-img\">\r\n <img #imgRef class=\"x-upload-portal-full-img\" [src]=\"file.url\" />\r\n <div #boundaryRef class=\"x-upload-portal-boundary\">\r\n <img #imgClipRef class=\"x-upload-portal-clip-img\" [src]=\"file.url\" />\r\n <div #cutRef class=\"x-upload-portal-cut\">\r\n <div class=\"x-upload-portal-cut-top-start\"></div>\r\n <div class=\"x-upload-portal-cut-top\"></div>\r\n <div class=\"x-upload-portal-cut-top-end\"></div>\r\n <div class=\"x-upload-portal-cut-left\"></div>\r\n <div class=\"x-upload-portal-cut-right\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-start\"></div>\r\n <div class=\"x-upload-portal-cut-bottom\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-end\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"x-upload-portal-bottom-tools\">\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-check\" (click)=\"sure()\"></x-icon>\r\n </div>\r\n</div>\r\n", styles: ["x-upload-portal{width:100%;height:100%}.x-upload-portal{margin:0;padding:0;display:flex;position:relative;width:100%;height:100%;flex-direction:column}.x-upload-portal-tools{width:100%;height:3.25rem;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:1;color:#fff}.x-upload-portal-bottom-tools{width:100%;height:3.25rem;position:absolute;display:flex;justify-content:center;align-items:center;z-index:1;color:#fff;bottom:0}.x-upload-portal-title{display:flex;align-items:center;margin:0 1rem}.x-upload-portal-title>x-icon{font-size:1.25rem}.x-upload-portal-title>span{margin-left:.5rem}.x-upload-portal-close{font-size:1.75rem;padding:0 1rem;color:#fffc;transition:color var(--x-animation-duration-base);cursor:pointer}.x-upload-portal-close:hover{color:#fff}.x-upload-portal-img{flex:1;width:100%;position:relative;overflow:auto}.x-upload-portal-full-img{max-width:85%;max-height:85%;width:auto;height:auto;position:absolute;left:50%;top:50%;transform:translate3d(-50%,-50%,0)}.x-upload-portal-clip-img{position:absolute}.x-upload-portal-ready .x-upload-portal-full-img{max-width:inherit;max-height:inherit}.x-upload-portal-boundary{width:0;height:0;left:50%;top:50%;transform:translate3d(-50%,-50%,0);position:relative;background-color:#00000080}.x-upload-portal-cut{width:0;height:0;border:.125rem var(--x-border-style) rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;position:relative;cursor:move}.x-upload-portal-cut-top-start,.x-upload-portal-cut-top,.x-upload-portal-cut-top-end,.x-upload-portal-cut-left,.x-upload-portal-cut-right,.x-upload-portal-cut-bottom-start,.x-upload-portal-cut-bottom,.x-upload-portal-cut-bottom-end{width:.825rem;height:.825rem;background:rgb(255,255,255);position:absolute;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius)}.x-upload-portal-cut-top-start{top:-.4125rem;left:-.4125rem;cursor:se-resize}.x-upload-portal-cut-top{top:-.4125rem;cursor:s-resize}.x-upload-portal-cut-top-end{top:-.4125rem;right:-.4125rem;cursor:ne-resize}.x-upload-portal-cut-left{left:-.4125rem;cursor:w-resize}.x-upload-portal-cut-right{right:-.4125rem;cursor:w-resize}.x-upload-portal-cut-bottom-start{left:-.4125rem;bottom:-.4125rem;cursor:ne-resize}.x-upload-portal-cut-bottom{bottom:-.4125rem;cursor:s-resize}.x-upload-portal-cut-bottom-end{right:-.4125rem;bottom:-.4125rem;cursor:se-resize}.x-upload-portal-top-start{cursor:se-resize}.x-upload-portal-top{cursor:s-resize}.x-upload-portal-top-end{cursor:ne-resize}.x-upload-portal-left,.x-upload-portal-right{cursor:w-resize}.x-upload-portal-bottom-start{cursor:ne-resize}.x-upload-portal-bottom{cursor:s-resize}.x-upload-portal-bottom-end{cursor:se-resize}\n"] }]
182
+ args: [{ selector: `${XUploadPortalPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-upload-portal {{ cutType }}\" [class.x-upload-portal-ready]=\"ready\">\r\n <div class=\"x-upload-portal-tools\">\r\n <div class=\"x-upload-portal-title\">\r\n <x-icon type=\"fto-image\"></x-icon>\r\n <span>{{ file?.name }}</span>\r\n </div>\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-x\" (click)=\"closePortal()\"></x-icon>\r\n </div>\r\n <div class=\"x-upload-portal-img\">\r\n <img #imgRef class=\"x-upload-portal-full-img\" [src]=\"file?.url\" />\r\n <div #boundaryRef class=\"x-upload-portal-boundary\">\r\n <img #imgClipRef class=\"x-upload-portal-clip-img\" [src]=\"file?.url\" />\r\n <div #cutRef class=\"x-upload-portal-cut\">\r\n <div class=\"x-upload-portal-cut-top-start\"></div>\r\n <div class=\"x-upload-portal-cut-top\"></div>\r\n <div class=\"x-upload-portal-cut-top-end\"></div>\r\n <div class=\"x-upload-portal-cut-left\"></div>\r\n <div class=\"x-upload-portal-cut-right\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-start\"></div>\r\n <div class=\"x-upload-portal-cut-bottom\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-end\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"x-upload-portal-bottom-tools\">\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-check\" (click)=\"sure()\"></x-icon>\r\n </div>\r\n</div>\r\n", styles: ["x-upload-portal{width:100%;height:100%}.x-upload-portal{margin:0;padding:0;display:flex;position:relative;width:100%;height:100%;flex-direction:column}.x-upload-portal-tools{width:100%;height:3.25rem;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:1;color:#fff}.x-upload-portal-bottom-tools{width:100%;height:3.25rem;position:absolute;display:flex;justify-content:center;align-items:center;z-index:1;color:#fff;bottom:0}.x-upload-portal-title{display:flex;align-items:center;margin:0 1rem}.x-upload-portal-title>x-icon{font-size:1.25rem}.x-upload-portal-title>span{margin-left:.5rem}.x-upload-portal-close{font-size:1.75rem;padding:0 1rem;color:#fffc;transition:color var(--x-animation-duration-base);cursor:pointer}.x-upload-portal-close:hover{color:#fff}.x-upload-portal-img{flex:1;width:100%;position:relative;overflow:auto}.x-upload-portal-full-img{max-width:85%;max-height:85%;width:auto;height:auto;position:absolute;left:50%;top:50%;transform:translate3d(-50%,-50%,0)}.x-upload-portal-clip-img{position:absolute}.x-upload-portal-ready .x-upload-portal-full-img{max-width:inherit;max-height:inherit}.x-upload-portal-boundary{width:0;height:0;left:50%;top:50%;transform:translate3d(-50%,-50%,0);position:relative;background-color:#00000080}.x-upload-portal-cut{width:0;height:0;border:.125rem var(--x-border-style) rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;position:relative;cursor:move}.x-upload-portal-cut-top-start,.x-upload-portal-cut-top,.x-upload-portal-cut-top-end,.x-upload-portal-cut-left,.x-upload-portal-cut-right,.x-upload-portal-cut-bottom-start,.x-upload-portal-cut-bottom,.x-upload-portal-cut-bottom-end{width:.825rem;height:.825rem;background:rgb(255,255,255);position:absolute;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius)}.x-upload-portal-cut-top-start{top:-.4125rem;left:-.4125rem;cursor:se-resize}.x-upload-portal-cut-top{top:-.4125rem;cursor:s-resize}.x-upload-portal-cut-top-end{top:-.4125rem;right:-.4125rem;cursor:ne-resize}.x-upload-portal-cut-left{left:-.4125rem;cursor:w-resize}.x-upload-portal-cut-right{right:-.4125rem;cursor:w-resize}.x-upload-portal-cut-bottom-start{left:-.4125rem;bottom:-.4125rem;cursor:ne-resize}.x-upload-portal-cut-bottom{bottom:-.4125rem;cursor:s-resize}.x-upload-portal-cut-bottom-end{right:-.4125rem;bottom:-.4125rem;cursor:se-resize}.x-upload-portal-top-start{cursor:se-resize}.x-upload-portal-top{cursor:s-resize}.x-upload-portal-top-end{cursor:ne-resize}.x-upload-portal-left,.x-upload-portal-right{cursor:w-resize}.x-upload-portal-bottom-start{cursor:ne-resize}.x-upload-portal-bottom{cursor:s-resize}.x-upload-portal-bottom-end{cursor:se-resize}\n"] }]
183
183
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
184
184
  type: Inject,
185
185
  args: [DOCUMENT]
@@ -196,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
196
196
  type: ViewChild,
197
197
  args: ['cutRef']
198
198
  }] } });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXBvcnRhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS91cGxvYWQvdXBsb2FkLXBvcnRhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS91cGxvYWQvdXBsb2FkLXBvcnRhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFJVCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQStCLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQVNyRixNQUFNLE9BQU8sc0JBQXNCO0lBcUNqQyxZQUFvQixRQUFtQixFQUFVLEdBQXNCLEVBQW9CLFFBQWE7UUFBcEYsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBL0J2RSxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsWUFBTyxHQUFtQixFQUFFLENBQUM7UUFDN0IsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGlCQUFZLEdBQUc7WUFDYixLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQztRQUtGLFdBQU0sR0FBRztZQUNQLEtBQUssRUFBRSxDQUFDO1lBQ1IsTUFBTSxFQUFFLENBQUM7WUFDVCxDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1NBQ0wsQ0FBQztRQWFNLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBR3ZDLElBQUksQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRLEtBQUksQ0FBQztJQUViLGVBQWU7UUFDYixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDbEQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLEdBQUcsRUFBRSxDQUFDO1lBQ04sS0FBSyxFQUFFLEtBQUs7WUFDWixNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxDQUFDO1NBQ1IsQ0FBQztRQUNGLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXpCLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBYSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRWpILFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFrQixFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ3JCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNoQixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFDaEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztZQUNuQyxJQUFJLFNBQVMsR0FBSSxNQUFNLENBQUMsTUFBeUIsQ0FBQyxTQUFTLENBQUM7WUFDNUQsTUFBTSxHQUFHLEdBQUcsR0FBRyxtQkFBbUIsT0FBTyxDQUFDO1lBQzFDLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQW1CLENBQUM7Z0JBQzVELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDMUI7WUFDRCxTQUFTLENBQWEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsV0FBVyxDQUFDO2lCQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUN2QixTQUFTLENBQUMsQ0FBQyxNQUFrQixFQUFFLEVBQUU7Z0JBQ2hDLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDM0IsT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDakIsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDakQsQ0FBQyxDQUFDLENBQUM7WUFDTCxTQUFTLENBQWEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDO2lCQUN2RCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUN2QixTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN6QixNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sR0FBRyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDeEIsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUksQ0FBQztRQUN6QixHQUFHLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtZQUNoQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ3JFLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxTQUFTLENBQUMsUUFBd0IsRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUN0RCxRQUFRLFFBQVEsRUFBRTtZQUNoQixLQUFLLFdBQVc7Z0JBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNuQixNQUFNO1lBQ1IsS0FBSyxLQUFLO2dCQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNuQixNQUFNO1lBQ1IsS0FBSyxTQUFTO2dCQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO2dCQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25CLE1BQU07WUFDUixLQUFLLE9BQU87Z0JBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUN2QixNQUFNO1lBQ1IsS0FBSyxZQUFZO2dCQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO2dCQUN4QixNQUFNO1lBQ1IsS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztnQkFDeEIsTUFBTTtZQUNSLEtBQUssY0FBYztnQkFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkIsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkIsTUFBTTtZQUNSLEtBQUssRUFBRTtnQkFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkIsTUFBTTtTQUNUO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUU1RSxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ3RELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFFcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRS9DLHdEQUF3RDtRQUN4RCx3REFBd0Q7UUFFeEQsOERBQThEO1FBQzlELGdFQUFnRTtRQUVoRSxJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ2QsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNwQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUM3QixNQUFNLEVBQ04sUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxDQUMxRyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsZUFBZSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0gsQ0FBQztJQUVELElBQUk7UUFDRixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkQsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3JELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFFLENBQUM7UUFDekMsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN4QixHQUFHLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBSSxDQUFDO1FBQ3pCLEdBQUcsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQzlCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ2hCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMzRixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBWSxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztJQUNKLENBQUM7O3NJQTdNVSxzQkFBc0IsNEVBcUNnRCxRQUFROzBIQXJDOUUsc0JBQXNCLG9hQ3ZCbkMsdzNDQTRCQTsyRkRMYSxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0UsR0FBRyxtQkFBbUIsRUFBRSxpQkFHbkIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBdUMyQixNQUFNOzJCQUFDLFFBQVE7NENBbkNwRSxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ00sVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNHLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFDSCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFZpZXdDaGlsZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBJbmplY3RcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWENsYW1wIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhVcGxvYWRDdXRUeXBlLCBYVXBsb2FkTm9kZSwgWFVwbG9hZFBvcnRhbFByZWZpeCB9IGZyb20gJy4vdXBsb2FkLnByb3BlcnR5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYVXBsb2FkUG9ydGFsUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC1wb3J0YWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VwbG9hZC1wb3J0YWwuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVXBsb2FkUG9ydGFsQ29tcG9uZW50IHtcclxuICBmaWxlITogWFVwbG9hZE5vZGU7XHJcbiAgQFZpZXdDaGlsZCgnaW1nUmVmJykgaW1nUmVmITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdpbWdDbGlwUmVmJykgaW1nQ2xpcFJlZiE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnYm91bmRhcnlSZWYnKSBib3VuZGFyeVJlZiE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnY3V0UmVmJykgY3V0UmVmITogRWxlbWVudFJlZjtcclxuICByZWFkeSA9IGZhbHNlO1xyXG4gIGN1dFR5cGU6IFhVcGxvYWRDdXRUeXBlID0gJyc7XHJcbiAgcHJvcG9ydGlvbiA9IDE7XHJcbiAgb3JpZ2luYWxTaXplID0ge1xyXG4gICAgd2lkdGg6IDAsXHJcbiAgICBoZWlnaHQ6IDBcclxuICB9O1xyXG4gIGJvdW5kYXJ5Qm94IToge1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgfTtcclxuICBjdXRCb3ggPSB7XHJcbiAgICB3aWR0aDogMCxcclxuICAgIGhlaWdodDogMCxcclxuICAgIHg6IDAsXHJcbiAgICB5OiAwXHJcbiAgfTtcclxuICBjbGlwUmVjdCE6IHtcclxuICAgIHRvcDogbnVtYmVyO1xyXG4gICAgcmlnaHQ6IG51bWJlcjtcclxuICAgIGJvdHRvbTogbnVtYmVyO1xyXG4gICAgbGVmdDogbnVtYmVyO1xyXG4gIH07XHJcblxyXG4gIGRvYzogRG9jdW1lbnQ7XHJcblxyXG4gIGNsb3NlUG9ydGFsITogKCkgPT4gdm9pZDtcclxuICBkZXN0cm95UG9ydGFsITogKCkgPT4gdm9pZDtcclxuICBzdXJlUG9ydGFsITogKGJsb2I6IEJsb2IpID0+IHZvaWQ7XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZG9jID0gZG9jdW1lbnQ7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q3V0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldEN1dCgpIHtcclxuICAgIGxldCB3aWR0aCA9IHRoaXMuaW1nUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XHJcbiAgICBsZXQgaGVpZ2h0ID0gdGhpcy5pbWdSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3dpZHRofXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ib3VuZGFyeVJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt3aWR0aH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmJvdW5kYXJ5UmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWdSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGh9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWdSZWYubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke2hlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltZ0NsaXBSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGh9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWdDbGlwUmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIHRoaXMuY3V0Qm94LndpZHRoID0gd2lkdGg7XHJcbiAgICB0aGlzLmN1dEJveC5oZWlnaHQgPSBoZWlnaHQ7XHJcbiAgICB0aGlzLmJvdW5kYXJ5Qm94ID0geyB3aWR0aCwgaGVpZ2h0IH07XHJcbiAgICB0aGlzLmNsaXBSZWN0ID0ge1xyXG4gICAgICB0b3A6IDAsXHJcbiAgICAgIHJpZ2h0OiB3aWR0aCxcclxuICAgICAgYm90dG9tOiBoZWlnaHQsXHJcbiAgICAgIGxlZnQ6IDBcclxuICAgIH07XHJcbiAgICB0aGlzLnNldE9yaWdpbmFsU2l6ZSgpO1xyXG4gICAgdGhpcy5yZWFkeSA9IHRydWU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgY29uc3QgbW91c2VEb3duID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWRvd24nKS5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKTtcclxuXHJcbiAgICBtb3VzZURvd24uc3Vic2NyaWJlKChkb3duTWU6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgICAgbGV0IHggPSBkb3duTWUucGFnZVg7XHJcbiAgICAgIGxldCB5ID0gZG93bk1lLnBhZ2VZO1xyXG4gICAgICBsZXQgb2Zmc2V0WCA9IDA7XHJcbiAgICAgIGxldCBvZmZzZXRZID0gMDtcclxuICAgICAgY29uc3QgX3VuU3ViID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgICAgbGV0IGNsYXNzTmFtZSA9IChkb3duTWUudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50KS5jbGFzc05hbWU7XHJcbiAgICAgIGNvbnN0IHNwdCA9IGAke1hVcGxvYWRQb3J0YWxQcmVmaXh9LWN1dC1gO1xyXG4gICAgICBpZiAoY2xhc3NOYW1lLmluY2x1ZGVzKHNwdCkpIHtcclxuICAgICAgICB0aGlzLmN1dFR5cGUgPSBjbGFzc05hbWUucmVwbGFjZShzcHQsICcnKSBhcyBYVXBsb2FkQ3V0VHlwZTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudCwgJ21vdXNlbW92ZScpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKF91blN1YikpXHJcbiAgICAgICAgLnN1YnNjcmliZSgobW92ZU1lOiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICAgICAgICBvZmZzZXRYID0gbW92ZU1lLnBhZ2VYIC0geDtcclxuICAgICAgICAgIG9mZnNldFkgPSBtb3ZlTWUucGFnZVkgLSB5O1xyXG4gICAgICAgICAgeCA9IG1vdmVNZS5wYWdlWDtcclxuICAgICAgICAgIHkgPSBtb3ZlTWUucGFnZVk7XHJcbiAgICAgICAgICB0aGlzLnNldEN1dEVsZSh0aGlzLmN1dFR5cGUsIG9mZnNldFgsIG9mZnNldFkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50LCAnbW91c2V1cCcpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKF91blN1YikpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmN1dFR5cGUgPSAnJztcclxuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIF91blN1Yi5uZXh0KCk7XHJcbiAgICAgICAgICBfdW5TdWIuY29tcGxldGUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0T3JpZ2luYWxTaXplKCkge1xyXG4gICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XHJcbiAgICBpbWcuc3JjID0gdGhpcy5maWxlLnVybCE7XHJcbiAgICBpbWcub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLm9yaWdpbmFsU2l6ZSA9IHsgd2lkdGg6IGltZy53aWR0aCwgaGVpZ2h0OiBpbWcuaGVpZ2h0IH07XHJcbiAgICAgIHRoaXMucHJvcG9ydGlvbiA9IHRoaXMuYm91bmRhcnlCb3gud2lkdGggLyB0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aDtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzZXRDdXRFbGUocG9zaXRpb246IFhVcGxvYWRDdXRUeXBlLCB4OiBudW1iZXIsIHk6IG51bWJlcikge1xyXG4gICAgc3dpdGNoIChwb3NpdGlvbikge1xyXG4gICAgICBjYXNlICd0b3Atc3RhcnQnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LndpZHRoIC09IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3guaGVpZ2h0IC09IHk7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueCArPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnkgKz0geTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndG9wJzpcclxuICAgICAgICB0aGlzLmN1dEJveC5oZWlnaHQgLT0geTtcclxuICAgICAgICB0aGlzLmN1dEJveC55ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3RvcC1lbmQnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LndpZHRoICs9IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3guaGVpZ2h0IC09IHk7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueSArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyaWdodCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3gud2lkdGggKz0geDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnYm90dG9tLWVuZCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3gud2lkdGggKz0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC5oZWlnaHQgKz0geTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnYm90dG9tJzpcclxuICAgICAgICB0aGlzLmN1dEJveC5oZWlnaHQgKz0geTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnYm90dG9tLXN0YXJ0JzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCAtPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCArPSB5O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnggKz0geDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3gud2lkdGggLT0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC54ICs9IHg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJyc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueCArPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnkgKz0geTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGNvbnN0IGJvdW5kYXJ5UmVjdCA9IHRoaXMuYm91bmRhcnlSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICBjb25zdCBtYXhZID0gYm91bmRhcnlSZWN0LmhlaWdodCAtIHRoaXMuY3V0Qm94LmhlaWdodDtcclxuICAgIGNvbnN0IG1heFggPSBib3VuZGFyeVJlY3Qud2lkdGggLSB0aGlzLmN1dEJveC53aWR0aDtcclxuXHJcbiAgICB0aGlzLmN1dEJveC54ID0gWENsYW1wKHRoaXMuY3V0Qm94LngsIDAsIG1heFgpO1xyXG4gICAgdGhpcy5jdXRCb3gueSA9IFhDbGFtcCh0aGlzLmN1dEJveC55LCAwLCBtYXhZKTtcclxuXHJcbiAgICAvLyBjb25zdCBtYXhXaWR0aCA9IGJvdW5kYXJ5UmVjdC5oZWlnaHQgLSB0aGlzLmN1dEJveC55O1xyXG4gICAgLy8gY29uc3QgbWF4SGVpZ2h0ID0gYm91bmRhcnlSZWN0LndpZHRoIC0gdGhpcy5jdXRCb3gueDtcclxuXHJcbiAgICAvLyB0aGlzLmN1dEJveC53aWR0aCA9IFhDbGFtcCh0aGlzLmN1dEJveC53aWR0aCwgMCwgbWF4V2lkdGgpO1xyXG4gICAgLy8gdGhpcy5jdXRCb3guaGVpZ2h0ID0gWENsYW1wKHRoaXMuY3V0Qm94LndpZHRoLCAwLCBtYXhIZWlnaHQpO1xyXG5cclxuICAgIHRoaXMuY2xpcFJlY3QgPSB7XHJcbiAgICAgIHRvcDogdGhpcy5jdXRCb3gueSxcclxuICAgICAgcmlnaHQ6IHRoaXMuY3V0Qm94LndpZHRoICsgdGhpcy5jdXRCb3gueCxcclxuICAgICAgYm90dG9tOiB0aGlzLmN1dEJveC5oZWlnaHQgKyB0aGlzLmN1dEJveC55LFxyXG4gICAgICBsZWZ0OiB0aGlzLmN1dEJveC54XHJcbiAgICB9O1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcclxuICAgICAgdGhpcy5pbWdDbGlwUmVmLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICdjbGlwJyxcclxuICAgICAgYHJlY3QoJHt0aGlzLmNsaXBSZWN0LnRvcH1weCwke3RoaXMuY2xpcFJlY3QucmlnaHR9cHgsJHt0aGlzLmNsaXBSZWN0LmJvdHRvbX1weCwke3RoaXMuY2xpcFJlY3QubGVmdH1weClgXHJcbiAgICApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmN1dFJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt0aGlzLmN1dEJveC53aWR0aH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmN1dFJlZi5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7dGhpcy5jdXRCb3guaGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlM2QoJHt0aGlzLmN1dEJveC54fXB4LCAke3RoaXMuY3V0Qm94Lnl9cHgsIDApYCk7XHJcbiAgfVxyXG5cclxuICBzdXJlKCkge1xyXG4gICAgY29uc3QgY2FudmFzID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XHJcbiAgICBjYW52YXMud2lkdGggPSB0aGlzLmN1dEJveC53aWR0aCAvIHRoaXMucHJvcG9ydGlvbjtcclxuICAgIGNhbnZhcy5oZWlnaHQgPSB0aGlzLmN1dEJveC5oZWlnaHQgLyB0aGlzLnByb3BvcnRpb247XHJcbiAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJykhO1xyXG4gICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XHJcbiAgICBpbWcuc3JjID0gdGhpcy5maWxlLnVybCE7XHJcbiAgICBpbWcuY3Jvc3NPcmlnaW4gPSAnYW5vbnltb3VzJztcclxuICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIGNvbnRleHQuZHJhd0ltYWdlKGltZywgLXRoaXMuY3V0Qm94LnggLyB0aGlzLnByb3BvcnRpb24sIC10aGlzLmN1dEJveC55IC8gdGhpcy5wcm9wb3J0aW9uKTtcclxuICAgICAgY2FudmFzLnRvQmxvYigoYmxvYikgPT4ge1xyXG4gICAgICAgIHRoaXMuc3VyZVBvcnRhbChibG9iIGFzIEJsb2IpO1xyXG4gICAgICAgIHRoaXMuY2xvc2VQb3J0YWwoKTtcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsIHt7IGN1dFR5cGUgfX1cIiBbY2xhc3MueC11cGxvYWQtcG9ydGFsLXJlYWR5XT1cInJlYWR5XCI+XHJcbiAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC10b29sc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC10aXRsZVwiPlxyXG4gICAgICA8eC1pY29uIHR5cGU9XCJmdG8taW1hZ2VcIj48L3gtaWNvbj5cclxuICAgICAgPHNwYW4+e3sgZmlsZT8ubmFtZSB9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHgtaWNvbiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jbG9zZVwiIHR5cGU9XCJmdG8teFwiIChjbGljayk9XCJjbG9zZVBvcnRhbCgpXCI+PC94LWljb24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1pbWdcIj5cclxuICAgIDxpbWcgI2ltZ1JlZiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1mdWxsLWltZ1wiIFtzcmNdPVwiZmlsZS51cmxcIiAvPlxyXG4gICAgPGRpdiAjYm91bmRhcnlSZWYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtYm91bmRhcnlcIj5cclxuICAgICAgPGltZyAjaW1nQ2xpcFJlZiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jbGlwLWltZ1wiIFtzcmNdPVwiZmlsZS51cmxcIiAvPlxyXG4gICAgICA8ZGl2ICNjdXRSZWYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtdG9wLXN0YXJ0XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtdG9wXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtdG9wLWVuZFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LWxlZnRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC1yaWdodFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LWJvdHRvbS1zdGFydFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LWJvdHRvbVwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LWJvdHRvbS1lbmRcIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWJvdHRvbS10b29sc1wiPlxyXG4gICAgPHgtaWNvbiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jbG9zZVwiIHR5cGU9XCJmdG8tY2hlY2tcIiAoY2xpY2spPVwic3VyZSgpXCI+PC94LWljb24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXBvcnRhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS91cGxvYWQvdXBsb2FkLXBvcnRhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS91cGxvYWQvdXBsb2FkLXBvcnRhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFJVCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQStCLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQVNyRixNQUFNLE9BQU8sc0JBQXNCO0lBcUNqQyxZQUFvQixRQUFtQixFQUFVLEdBQXNCLEVBQW9CLFFBQWE7UUFBcEYsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBL0J2RSxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsWUFBTyxHQUFtQixFQUFFLENBQUM7UUFDN0IsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGlCQUFZLEdBQUc7WUFDYixLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQztRQUtGLFdBQU0sR0FBRztZQUNQLEtBQUssRUFBRSxDQUFDO1lBQ1IsTUFBTSxFQUFFLENBQUM7WUFDVCxDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxD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LE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMzRixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBWSxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztJQUNKLENBQUM7O3NJQTdNVSxzQkFBc0IsNEVBcUNnRCxRQUFROzBIQXJDOUUsc0JBQXNCLG9hQ3ZCbkMsMDNDQTRCQTsyRkRMYSxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0UsR0FBRyxtQkFBbUIsRUFBRSxpQkFHbkIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBdUMyQixNQUFNOzJCQUFDLFFBQVE7NENBbkNwRSxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ00sVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNHLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFDSCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFZpZXdDaGlsZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBJbmplY3RcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWENsYW1wIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhVcGxvYWRDdXRUeXBlLCBYVXBsb2FkTm9kZSwgWFVwbG9hZFBvcnRhbFByZWZpeCB9IGZyb20gJy4vdXBsb2FkLnByb3BlcnR5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYVXBsb2FkUG9ydGFsUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC1wb3J0YWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VwbG9hZC1wb3J0YWwuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVXBsb2FkUG9ydGFsQ29tcG9uZW50IHtcclxuICBmaWxlPzogWFVwbG9hZE5vZGU7XHJcbiAgQFZpZXdDaGlsZCgnaW1nUmVmJykgaW1nUmVmITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdpbWdDbGlwUmVmJykgaW1nQ2xpcFJlZiE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnYm91bmRhcnlSZWYnKSBib3VuZGFyeVJlZiE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnY3V0UmVmJykgY3V0UmVmITogRWxlbWVudFJlZjtcclxuICByZWFkeSA9IGZhbHNlO1xyXG4gIGN1dFR5cGU6IFhVcGxvYWRDdXRUeXBlID0gJyc7XHJcbiAgcHJvcG9ydGlvbiA9IDE7XHJcbiAgb3JpZ2luYWxTaXplID0ge1xyXG4gICAgd2lkdGg6IDAsXHJcbiAgICBoZWlnaHQ6IDBcclxuICB9O1xyXG4gIGJvdW5kYXJ5Qm94IToge1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgfTtcclxuICBjdXRCb3ggPSB7XHJcbiAgICB3aWR0aDogMCxcclxuICAgIGhlaWdodDogMCxcclxuICAgIHg6IDAsXHJcbiAgICB5OiAwXHJcbiAgfTtcclxuICBjbGlwUmVjdCE6IHtcclxuICAgIHRvcDogbnVtYmVyO1xyXG4gICAgcmlnaHQ6IG51bWJlcjtcclxuICAgIGJvdHRvbTogbnVtYmVyO1xyXG4gICAgbGVmdDogbnVtYmVyO1xyXG4gIH07XHJcblxyXG4gIGRvYzogRG9jdW1lbnQ7XHJcblxyXG4gIGNsb3NlUG9ydGFsITogKCkgPT4gdm9pZDtcclxuICBkZXN0cm95UG9ydGFsITogKCkgPT4gdm9pZDtcclxuICBzdXJlUG9ydGFsITogKGJsb2I6IEJsb2IpID0+IHZvaWQ7XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZG9jID0gZG9jdW1lbnQ7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q3V0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldEN1dCgpIHtcclxuICAgIGxldCB3aWR0aCA9IHRoaXMuaW1nUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XHJcbiAgICBsZXQgaGVpZ2h0ID0gdGhpcy5pbWdSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3dpZHRofXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ib3VuZGFyeVJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt3aWR0aH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmJvdW5kYXJ5UmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWdSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGh9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWdSZWYubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke2hlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltZ0NsaXBSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGh9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWdDbGlwUmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIHRoaXMuY3V0Qm94LndpZHRoID0gd2lkdGg7XHJcbiAgICB0aGlzLmN1dEJveC5oZWlnaHQgPSBoZWlnaHQ7XHJcbiAgICB0aGlzLmJvdW5kYXJ5Qm94ID0geyB3aWR0aCwgaGVpZ2h0IH07XHJcbiAgICB0aGlzLmNsaXBSZWN0ID0ge1xyXG4gICAgICB0b3A6IDAsXHJcbiAgICAgIHJpZ2h0OiB3aWR0aCxcclxuICAgICAgYm90dG9tOiBoZWlnaHQsXHJcbiAgICAgIGxlZnQ6IDBcclxuICAgIH07XHJcbiAgICB0aGlzLnNldE9yaWdpbmFsU2l6ZSgpO1xyXG4gICAgdGhpcy5yZWFkeSA9IHRydWU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgY29uc3QgbW91c2VEb3duID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWRvd24nKS5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKTtcclxuXHJcbiAgICBtb3VzZURvd24uc3Vic2NyaWJlKChkb3duTWU6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgICAgbGV0IHggPSBkb3duTWUucGFnZVg7XHJcbiAgICAgIGxldCB5ID0gZG93bk1lLnBhZ2VZO1xyXG4gICAgICBsZXQgb2Zmc2V0WCA9IDA7XHJcbiAgICAgIGxldCBvZmZzZXRZID0gMDtcclxuICAgICAgY29uc3QgX3VuU3ViID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgICAgbGV0IGNsYXNzTmFtZSA9IChkb3duTWUudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50KS5jbGFzc05hbWU7XHJcbiAgICAgIGNvbnN0IHNwdCA9IGAke1hVcGxvYWRQb3J0YWxQcmVmaXh9LWN1dC1gO1xyXG4gICAgICBpZiAoY2xhc3NOYW1lLmluY2x1ZGVzKHNwdCkpIHtcclxuICAgICAgICB0aGlzLmN1dFR5cGUgPSBjbGFzc05hbWUucmVwbGFjZShzcHQsICcnKSBhcyBYVXBsb2FkQ3V0VHlwZTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudCwgJ21vdXNlbW92ZScpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKF91blN1YikpXHJcbiAgICAgICAgLnN1YnNjcmliZSgobW92ZU1lOiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICAgICAgICBvZmZzZXRYID0gbW92ZU1lLnBhZ2VYIC0geDtcclxuICAgICAgICAgIG9mZnNldFkgPSBtb3ZlTWUucGFnZVkgLSB5O1xyXG4gICAgICAgICAgeCA9IG1vdmVNZS5wYWdlWDtcclxuICAgICAgICAgIHkgPSBtb3ZlTWUucGFnZVk7XHJcbiAgICAgICAgICB0aGlzLnNldEN1dEVsZSh0aGlzLmN1dFR5cGUsIG9mZnNldFgsIG9mZnNldFkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50LCAnbW91c2V1cCcpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKF91blN1YikpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmN1dFR5cGUgPSAnJztcclxuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIF91blN1Yi5uZXh0KCk7XHJcbiAgICAgICAgICBfdW5TdWIuY29tcGxldGUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0T3JpZ2luYWxTaXplKCkge1xyXG4gICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XHJcbiAgICBpbWcuc3JjID0gdGhpcy5maWxlPy51cmwhO1xyXG4gICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgdGhpcy5vcmlnaW5hbFNpemUgPSB7IHdpZHRoOiBpbWcud2lkdGgsIGhlaWdodDogaW1nLmhlaWdodCB9O1xyXG4gICAgICB0aGlzLnByb3BvcnRpb24gPSB0aGlzLmJvdW5kYXJ5Qm94LndpZHRoIC8gdGhpcy5vcmlnaW5hbFNpemUud2lkdGg7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2V0Q3V0RWxlKHBvc2l0aW9uOiBYVXBsb2FkQ3V0VHlwZSwgeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcclxuICAgIHN3aXRjaCAocG9zaXRpb24pIHtcclxuICAgICAgY2FzZSAndG9wLXN0YXJ0JzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCAtPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCAtPSB5O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnggKz0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC55ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3RvcCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3guaGVpZ2h0IC09IHk7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueSArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0b3AtZW5kJzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCArPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCAtPSB5O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnkgKz0geTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmlnaHQnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LndpZHRoICs9IHg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1lbmQnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LndpZHRoICs9IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3guaGVpZ2h0ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3guaGVpZ2h0ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1zdGFydCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3gud2lkdGggLT0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC5oZWlnaHQgKz0geTtcclxuICAgICAgICB0aGlzLmN1dEJveC54ICs9IHg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2xlZnQnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LndpZHRoIC09IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueCArPSB4O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICcnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LnggKz0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC55ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBjb25zdCBib3VuZGFyeVJlY3QgPSB0aGlzLmJvdW5kYXJ5UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgY29uc3QgbWF4WSA9IGJvdW5kYXJ5UmVjdC5oZWlnaHQgLSB0aGlzLmN1dEJveC5oZWlnaHQ7XHJcbiAgICBjb25zdCBtYXhYID0gYm91bmRhcnlSZWN0LndpZHRoIC0gdGhpcy5jdXRCb3gud2lkdGg7XHJcblxyXG4gICAgdGhpcy5jdXRCb3gueCA9IFhDbGFtcCh0aGlzLmN1dEJveC54LCAwLCBtYXhYKTtcclxuICAgIHRoaXMuY3V0Qm94LnkgPSBYQ2xhbXAodGhpcy5jdXRCb3gueSwgMCwgbWF4WSk7XHJcblxyXG4gICAgLy8gY29uc3QgbWF4V2lkdGggPSBib3VuZGFyeVJlY3QuaGVpZ2h0IC0gdGhpcy5jdXRCb3gueTtcclxuICAgIC8vIGNvbnN0IG1heEhlaWdodCA9IGJvdW5kYXJ5UmVjdC53aWR0aCAtIHRoaXMuY3V0Qm94Lng7XHJcblxyXG4gICAgLy8gdGhpcy5jdXRCb3gud2lkdGggPSBYQ2xhbXAodGhpcy5jdXRCb3gud2lkdGgsIDAsIG1heFdpZHRoKTtcclxuICAgIC8vIHRoaXMuY3V0Qm94LmhlaWdodCA9IFhDbGFtcCh0aGlzLmN1dEJveC53aWR0aCwgMCwgbWF4SGVpZ2h0KTtcclxuXHJcbiAgICB0aGlzLmNsaXBSZWN0ID0ge1xyXG4gICAgICB0b3A6IHRoaXMuY3V0Qm94LnksXHJcbiAgICAgIHJpZ2h0OiB0aGlzLmN1dEJveC53aWR0aCArIHRoaXMuY3V0Qm94LngsXHJcbiAgICAgIGJvdHRvbTogdGhpcy5jdXRCb3guaGVpZ2h0ICsgdGhpcy5jdXRCb3gueSxcclxuICAgICAgbGVmdDogdGhpcy5jdXRCb3gueFxyXG4gICAgfTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXHJcbiAgICAgIHRoaXMuaW1nQ2xpcFJlZi5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAnY2xpcCcsXHJcbiAgICAgIGByZWN0KCR7dGhpcy5jbGlwUmVjdC50b3B9cHgsJHt0aGlzLmNsaXBSZWN0LnJpZ2h0fXB4LCR7dGhpcy5jbGlwUmVjdC5ib3R0b219cHgsJHt0aGlzLmNsaXBSZWN0LmxlZnR9cHgpYFxyXG4gICAgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jdXRSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7dGhpcy5jdXRCb3gud2lkdGh9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jdXRSZWYubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke3RoaXMuY3V0Qm94LmhlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmN1dFJlZi5uYXRpdmVFbGVtZW50LCAndHJhbnNmb3JtJywgYHRyYW5zbGF0ZTNkKCR7dGhpcy5jdXRCb3gueH1weCwgJHt0aGlzLmN1dEJveC55fXB4LCAwKWApO1xyXG4gIH1cclxuXHJcbiAgc3VyZSgpIHtcclxuICAgIGNvbnN0IGNhbnZhcyA9IHRoaXMuZG9jLmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xyXG4gICAgY2FudmFzLndpZHRoID0gdGhpcy5jdXRCb3gud2lkdGggLyB0aGlzLnByb3BvcnRpb247XHJcbiAgICBjYW52YXMuaGVpZ2h0ID0gdGhpcy5jdXRCb3guaGVpZ2h0IC8gdGhpcy5wcm9wb3J0aW9uO1xyXG4gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpITtcclxuICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpO1xyXG4gICAgaW1nLnNyYyA9IHRoaXMuZmlsZT8udXJsITtcclxuICAgIGltZy5jcm9zc09yaWdpbiA9ICdhbm9ueW1vdXMnO1xyXG4gICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgY29udGV4dC5kcmF3SW1hZ2UoaW1nLCAtdGhpcy5jdXRCb3gueCAvIHRoaXMucHJvcG9ydGlvbiwgLXRoaXMuY3V0Qm94LnkgLyB0aGlzLnByb3BvcnRpb24pO1xyXG4gICAgICBjYW52YXMudG9CbG9iKChibG9iKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdXJlUG9ydGFsKGJsb2IgYXMgQmxvYik7XHJcbiAgICAgICAgdGhpcy5jbG9zZVBvcnRhbCgpO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwge3sgY3V0VHlwZSB9fVwiIFtjbGFzcy54LXVwbG9hZC1wb3J0YWwtcmVhZHldPVwicmVhZHlcIj5cclxuICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLXRvb2xzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLXRpdGxlXCI+XHJcbiAgICAgIDx4LWljb24gdHlwZT1cImZ0by1pbWFnZVwiPjwveC1pY29uPlxyXG4gICAgICA8c3Bhbj57eyBmaWxlPy5uYW1lIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8eC1pY29uIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWNsb3NlXCIgdHlwZT1cImZ0by14XCIgKGNsaWNrKT1cImNsb3NlUG9ydGFsKClcIj48L3gtaWNvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWltZ1wiPlxyXG4gICAgPGltZyAjaW1nUmVmIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWZ1bGwtaW1nXCIgW3NyY109XCJmaWxlPy51cmxcIiAvPlxyXG4gICAgPGRpdiAjYm91bmRhcnlSZWYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtYm91bmRhcnlcIj5cclxuICAgICAgPGltZyAjaW1nQ2xpcFJlZiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jbGlwLWltZ1wiIFtzcmNdPVwiZmlsZT8udXJsXCIgLz5cclxuICAgICAgPGRpdiAjY3V0UmVmIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LXRvcC1zdGFydFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LXRvcFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LXRvcC1lbmRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC1sZWZ0XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtcmlnaHRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC1ib3R0b20tc3RhcnRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC1ib3R0b21cIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC1ib3R0b20tZW5kXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1ib3R0b20tdG9vbHNcIj5cclxuICAgIDx4LWljb24gY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY2xvc2VcIiB0eXBlPVwiZnRvLWNoZWNrXCIgKGNsaWNrKT1cInN1cmUoKVwiPjwveC1pY29uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -236,9 +236,9 @@ export class XUploadComponent extends XUploadProperty {
236
236
  this.cdr.detectChanges();
237
237
  }
238
238
  }
239
- /** @nocollapse */ XUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XUploadComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.HttpClient }, { token: i0.ChangeDetectorRef }, { token: i2.XPortalService }, { token: i0.ViewContainerRef }, { token: i3.XI18nService }, { token: i4.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
240
- /** @nocollapse */ XUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XUploadComponent, selector: "x-upload", providers: [XValueAccessor(XUploadComponent)], viewQueries: [{ propertyName: "file", first: true, predicate: ["file"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #upload class=\"x-upload x-upload-{{ type }}\" [class.x-disabled]=\"disabled\">\r\n <input type=\"file\" #file (change)=\"change($event)\" [attr.accept]=\"accept\" [multiple]=\"multiple\" style=\"display: none\" />\r\n\r\n <ng-container [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'list'\">\r\n <ng-container *ngTemplateOutlet=\"uploadBtnTpl\"></ng-container>\r\n <ng-container *xOutlet=\"filesTpl; context: { $files: files }\">\r\n <ul class=\"x-upload-files\">\r\n <li *ngFor=\"let file of files; index as i; trackBy: trackByItem\" [class.x-upload-disabled]=\"!download\">\r\n <ng-container *ngIf=\"download\">\r\n <a [href]=\"file.url\" target=\"_blank\" [title]=\"file.name\">\r\n <x-icon type=\"fto-file-text\"></x-icon>\r\n <span class=\"x-upload-filename\">{{ file.name }}</span>\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!download\">\r\n <a>\r\n <x-icon type=\"fto-file-text\"></x-icon>\r\n <span class=\"x-upload-filename\">{{ file.name }}</span>\r\n </a>\r\n </ng-container>\r\n\r\n <ng-container [ngSwitch]=\"file.state\">\r\n <x-icon class=\"x-upload-state\" *ngSwitchCase=\"'ready'\" type=\"fto-clock\"></x-icon>\r\n <span class=\"x-upload-percent\" *ngSwitchCase=\"'uploading'\">{{ file.percent }}%</span>\r\n <x-icon class=\"x-upload-state success\" *ngSwitchCase=\"'success'\" type=\"fto-check\"></x-icon>\r\n <x-icon class=\"x-upload-state error\" *ngSwitchCase=\"'error'\" type=\"fto-info\"></x-icon>\r\n </ng-container>\r\n <x-button *ngIf=\"file.state !== 'uploading'\" icon=\"fto-x\" (click)=\"remove(file, i)\" onlyIcon closable size=\"mini\"></x-button>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'img'\">\r\n <x-image-group>\r\n <ng-container *ngFor=\"let file of files; index as i; trackBy: trackByItem\">\r\n <x-image\r\n [src]=\"file.url\"\r\n (load)=\"imgLoad(file)\"\r\n (error)=\"imgError($event, file)\"\r\n class=\"{{ file.state }}\"\r\n [previewTpl]=\"previewTpl\"\r\n [fallback]=\"imgFallback\"\r\n >\r\n </x-image>\r\n <ng-template #previewTpl let-image=\"$image\">\r\n <div class=\"x-upload-uploading\" *ngIf=\"file.state == 'uploading'\">\r\n <x-progress [percent]=\"file.percent!\" info=\"false\"></x-progress>\r\n </div>\r\n <div class=\"x-image-overlay\">\r\n <ng-container [ngSwitch]=\"file.state\">\r\n <x-icon class=\"x-upload-state\" *ngSwitchCase=\"'ready'\" type=\"fto-clock\"></x-icon>\r\n <x-icon type=\"fto-eye\" *ngSwitchCase=\"'success'\" (click)=\"image.onPreview()\"></x-icon>\r\n </ng-container>\r\n <x-icon *ngIf=\"imgCut && file.state === 'success'\" type=\"fto-crop\" (click)=\"onImgCut(file, i)\"></x-icon>\r\n <x-icon *ngIf=\"file.state !== 'uploading'\" type=\"fto-trash-2\" (click)=\"remove(file, i)\"></x-icon>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"uploadBtnTpl\"></ng-container>\r\n </x-image-group>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #uploadBtnTpl>\r\n <div class=\"x-upload-buttons\" [class.x-upload-buttons-template]=\"isTemplateText\" (click)=\"uploadClick()\">\r\n <ng-container *xOutlet=\"getText\">\r\n <x-button icon=\"fto-upload\" [disabled]=\"disabled\" type=\"primary\">{{ getText }}</x-button>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-upload{margin:0;padding:0;color:var(--x-text);font-size:var(--x-font-size)}.x-upload-buttons{display:inline-flex}.x-upload-buttons>.x-button:not(:first-child){margin-left:.4rem}.x-upload-buttons-template{cursor:pointer}.x-upload-files{margin-top:.4rem}.x-upload-files>li{padding:0 .2rem;height:calc(var(--x-font-size) + .6rem);line-height:calc(var(--x-font-size) + .6rem);display:flex;align-items:center;overflow:hidden;cursor:pointer;border-radius:var(--x-border-radius)}.x-upload-files>li .x-icon{color:var(--x-text-400);font-size:1rem}.x-upload-files>li .x-icon.x-upload-state.success{color:var(--x-success)}.x-upload-files>li .x-icon.x-upload-state.error{color:var(--x-danger)}.x-upload-files>li a{flex:1;display:flex;align-items:center;height:calc(var(--x-font-size) + .6rem);line-height:calc(var(--x-font-size) + .6rem);color:inherit;text-decoration:none;overflow:hidden}.x-upload-files>li span.x-upload-filename{margin-left:.2rem;flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-upload-files>li span.x-upload-percent{color:var(--x-text-400)}.x-upload-files>li>.x-button{display:none;padding:0}.x-upload-files>li:not(:first-child){margin-top:.2rem}.x-upload-files>li.x-upload-disabled{cursor:default}.x-upload-files>li.x-upload-disabled>a{cursor:default}.x-upload-files>li:hover:not(.x-upload-disabled){color:var(--x-primary);background-color:var(--x-background)}.x-upload-files>li:hover>.x-button{display:inline-block}.x-upload-files>li:hover>.x-upload-state{display:none}.x-upload-img{display:flex;flex-wrap:wrap}.x-upload-img .x-upload-buttons-template{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;width:6.25rem;height:6.25rem;margin-right:.5rem;margin-bottom:.5rem;border:var(--x-border-width) dashed var(--x-border);background:var(--x-background);border-radius:var(--x-border-radius);transition:border-color var(--x-animation-duration-base)}.x-upload-img .x-upload-buttons-template:hover{border-color:var(--x-primary)}.x-upload-img .x-image{height:6.25rem;width:6.25rem;padding:.325rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);transition:border-color var(--x-animation-duration-base);margin-right:.5rem;margin-bottom:.5rem;position:relative;display:flex;align-items:center;justify-content:center}.x-upload-img .x-image-overlay x-icon{font-size:1rem;color:#fffc;padding:.25rem;transition:color var(--x-animation-duration-base)}.x-upload-img .x-image-overlay x-icon:hover{color:#fff}.x-upload-img x-image.error .x-image{border-color:var(--x-danger)}.x-upload-img x-image.error .x-image-error-icon{color:var(--x-danger)}.x-upload-uploading{position:absolute;margin-top:3rem;width:calc(100% - 1rem)}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i7.XButtonComponent, selector: "x-button" }, { kind: "component", type: i8.XIconComponent, selector: "x-icon" }, { kind: "component", type: i9.XImageComponent, selector: "x-image" }, { kind: "component", type: i9.XImageGroupComponent, selector: "x-image-group" }, { kind: "component", type: i10.XProgressComponent, selector: "x-progress" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XUploadComponent, decorators: [{
239
+ /** @nocollapse */ XUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XUploadComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.HttpClient }, { token: i0.ChangeDetectorRef }, { token: i2.XPortalService }, { token: i0.ViewContainerRef }, { token: i3.XI18nService }, { token: i4.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
240
+ /** @nocollapse */ XUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XUploadComponent, selector: "x-upload", providers: [XValueAccessor(XUploadComponent)], viewQueries: [{ propertyName: "file", first: true, predicate: ["file"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #upload class=\"x-upload x-upload-{{ type }}\" [class.x-disabled]=\"disabled\">\r\n <input type=\"file\" #file (change)=\"change($event)\" [attr.accept]=\"accept\" [multiple]=\"multiple\" style=\"display: none\" />\r\n\r\n <ng-container [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'list'\">\r\n <ng-container *ngTemplateOutlet=\"uploadBtnTpl\"></ng-container>\r\n <ng-container *xOutlet=\"filesTpl; context: { $files: files }\">\r\n <ul class=\"x-upload-files\">\r\n <li *ngFor=\"let file of files; index as i; trackBy: trackByItem\" [class.x-upload-disabled]=\"!download\">\r\n <ng-container *ngIf=\"download\">\r\n <a [href]=\"file.url\" target=\"_blank\" [title]=\"file.name\">\r\n <x-icon type=\"fto-file-text\"></x-icon>\r\n <span class=\"x-upload-filename\">{{ file.name }}</span>\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!download\">\r\n <a>\r\n <x-icon type=\"fto-file-text\"></x-icon>\r\n <span class=\"x-upload-filename\">{{ file.name }}</span>\r\n </a>\r\n </ng-container>\r\n\r\n <ng-container [ngSwitch]=\"file.state\">\r\n <x-icon class=\"x-upload-state\" *ngSwitchCase=\"'ready'\" type=\"fto-clock\"></x-icon>\r\n <span class=\"x-upload-percent\" *ngSwitchCase=\"'uploading'\">{{ file.percent }}%</span>\r\n <x-icon class=\"x-upload-state success\" *ngSwitchCase=\"'success'\" type=\"fto-check\"></x-icon>\r\n <x-icon class=\"x-upload-state error\" *ngSwitchCase=\"'error'\" type=\"fto-info\"></x-icon>\r\n </ng-container>\r\n <x-button *ngIf=\"file.state !== 'uploading'\" icon=\"fto-x\" (click)=\"remove(file, i)\" onlyIcon closable size=\"mini\"></x-button>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'img'\">\r\n <x-image-group>\r\n <ng-container *ngFor=\"let file of files; index as i; trackBy: trackByItem\">\r\n <x-image\r\n [src]=\"file.url\"\r\n (load)=\"imgLoad(file)\"\r\n (error)=\"imgError($event, file)\"\r\n class=\"{{ file.state }}\"\r\n [previewTpl]=\"previewTpl\"\r\n [fallback]=\"imgFallback\"\r\n >\r\n </x-image>\r\n <ng-template #previewTpl let-image=\"$image\">\r\n <div class=\"x-upload-uploading\" *ngIf=\"file.state == 'uploading'\">\r\n <x-progress [percent]=\"file.percent!\" info=\"false\"></x-progress>\r\n </div>\r\n <div class=\"x-image-overlay\">\r\n <ng-container [ngSwitch]=\"file.state\">\r\n <x-icon class=\"x-upload-state\" *ngSwitchCase=\"'ready'\" type=\"fto-clock\"></x-icon>\r\n <x-icon type=\"fto-eye\" *ngSwitchCase=\"'success'\" (click)=\"image.onPreview()\"></x-icon>\r\n </ng-container>\r\n <x-icon *ngIf=\"imgCut && file.state === 'success'\" type=\"fto-crop\" (click)=\"onImgCut(file, i)\"></x-icon>\r\n <x-icon *ngIf=\"file.state !== 'uploading'\" type=\"fto-trash-2\" (click)=\"remove(file, i)\"></x-icon>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"uploadBtnTpl\"></ng-container>\r\n </x-image-group>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #uploadBtnTpl>\r\n <div class=\"x-upload-buttons\" [class.x-upload-buttons-template]=\"isTemplateText\" (click)=\"uploadClick()\">\r\n <ng-container *xOutlet=\"getText\">\r\n <x-button icon=\"fto-upload\" [disabled]=\"disabled\" type=\"primary\">{{ getText }}</x-button>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-upload{margin:0;padding:0;color:var(--x-text);font-size:var(--x-font-size)}.x-upload-buttons{display:inline-flex}.x-upload-buttons>.x-button:not(:first-child){margin-left:.4rem}.x-upload-buttons-template{cursor:pointer}.x-upload-files{margin-top:.4rem}.x-upload-files>li{padding:0 .2rem;height:calc(var(--x-font-size) + .6rem);line-height:calc(var(--x-font-size) + .6rem);display:flex;align-items:center;overflow:hidden;cursor:pointer;border-radius:var(--x-border-radius)}.x-upload-files>li .x-icon{color:var(--x-text-400);font-size:1rem}.x-upload-files>li .x-icon.x-upload-state.success{color:var(--x-success)}.x-upload-files>li .x-icon.x-upload-state.error{color:var(--x-danger)}.x-upload-files>li a{flex:1;display:flex;align-items:center;height:calc(var(--x-font-size) + .6rem);line-height:calc(var(--x-font-size) + .6rem);color:inherit;text-decoration:none;overflow:hidden}.x-upload-files>li span.x-upload-filename{margin-left:.2rem;flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-upload-files>li span.x-upload-percent{color:var(--x-text-400)}.x-upload-files>li>.x-button{display:none;padding:0}.x-upload-files>li:not(:first-child){margin-top:.2rem}.x-upload-files>li.x-upload-disabled{cursor:default}.x-upload-files>li.x-upload-disabled>a{cursor:default}.x-upload-files>li:hover:not(.x-upload-disabled){color:var(--x-primary);background-color:var(--x-background)}.x-upload-files>li:hover>.x-button{display:inline-block}.x-upload-files>li:hover>.x-upload-state{display:none}.x-upload-img{display:flex;flex-wrap:wrap}.x-upload-img .x-upload-buttons-template{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;width:6.25rem;height:6.25rem;margin-right:.5rem;margin-bottom:.5rem;border:var(--x-border-width) dashed var(--x-border);background:var(--x-background);border-radius:var(--x-border-radius);transition:border-color var(--x-animation-duration-base)}.x-upload-img .x-upload-buttons-template:hover{border-color:var(--x-primary)}.x-upload-img .x-image{height:6.25rem;width:6.25rem;padding:.325rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);transition:border-color var(--x-animation-duration-base);margin-right:.5rem;margin-bottom:.5rem;position:relative;display:flex;align-items:center;justify-content:center}.x-upload-img .x-image-overlay x-icon{font-size:1rem;color:#fffc;padding:.25rem;transition:color var(--x-animation-duration-base)}.x-upload-img .x-image-overlay x-icon:hover{color:#fff}.x-upload-img x-image.error .x-image{border-color:var(--x-danger)}.x-upload-img x-image.error .x-image-error-icon{color:var(--x-danger)}.x-upload-uploading{position:absolute;margin-top:3rem;width:calc(100% - 1rem)}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i7.XButtonComponent, selector: "x-button" }, { kind: "component", type: i8.XIconComponent, selector: "x-icon" }, { kind: "component", type: i9.XImageComponent, selector: "x-image" }, { kind: "component", type: i9.XImageGroupComponent, selector: "x-image-group" }, { kind: "component", type: i10.XProgressComponent, selector: "x-progress" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XUploadComponent, decorators: [{
242
242
  type: Component,
243
243
  args: [{ selector: `${XUploadPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XUploadComponent)], template: "<div #upload class=\"x-upload x-upload-{{ type }}\" [class.x-disabled]=\"disabled\">\r\n <input type=\"file\" #file (change)=\"change($event)\" [attr.accept]=\"accept\" [multiple]=\"multiple\" style=\"display: none\" />\r\n\r\n <ng-container [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'list'\">\r\n <ng-container *ngTemplateOutlet=\"uploadBtnTpl\"></ng-container>\r\n <ng-container *xOutlet=\"filesTpl; context: { $files: files }\">\r\n <ul class=\"x-upload-files\">\r\n <li *ngFor=\"let file of files; index as i; trackBy: trackByItem\" [class.x-upload-disabled]=\"!download\">\r\n <ng-container *ngIf=\"download\">\r\n <a [href]=\"file.url\" target=\"_blank\" [title]=\"file.name\">\r\n <x-icon type=\"fto-file-text\"></x-icon>\r\n <span class=\"x-upload-filename\">{{ file.name }}</span>\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!download\">\r\n <a>\r\n <x-icon type=\"fto-file-text\"></x-icon>\r\n <span class=\"x-upload-filename\">{{ file.name }}</span>\r\n </a>\r\n </ng-container>\r\n\r\n <ng-container [ngSwitch]=\"file.state\">\r\n <x-icon class=\"x-upload-state\" *ngSwitchCase=\"'ready'\" type=\"fto-clock\"></x-icon>\r\n <span class=\"x-upload-percent\" *ngSwitchCase=\"'uploading'\">{{ file.percent }}%</span>\r\n <x-icon class=\"x-upload-state success\" *ngSwitchCase=\"'success'\" type=\"fto-check\"></x-icon>\r\n <x-icon class=\"x-upload-state error\" *ngSwitchCase=\"'error'\" type=\"fto-info\"></x-icon>\r\n </ng-container>\r\n <x-button *ngIf=\"file.state !== 'uploading'\" icon=\"fto-x\" (click)=\"remove(file, i)\" onlyIcon closable size=\"mini\"></x-button>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'img'\">\r\n <x-image-group>\r\n <ng-container *ngFor=\"let file of files; index as i; trackBy: trackByItem\">\r\n <x-image\r\n [src]=\"file.url\"\r\n (load)=\"imgLoad(file)\"\r\n (error)=\"imgError($event, file)\"\r\n class=\"{{ file.state }}\"\r\n [previewTpl]=\"previewTpl\"\r\n [fallback]=\"imgFallback\"\r\n >\r\n </x-image>\r\n <ng-template #previewTpl let-image=\"$image\">\r\n <div class=\"x-upload-uploading\" *ngIf=\"file.state == 'uploading'\">\r\n <x-progress [percent]=\"file.percent!\" info=\"false\"></x-progress>\r\n </div>\r\n <div class=\"x-image-overlay\">\r\n <ng-container [ngSwitch]=\"file.state\">\r\n <x-icon class=\"x-upload-state\" *ngSwitchCase=\"'ready'\" type=\"fto-clock\"></x-icon>\r\n <x-icon type=\"fto-eye\" *ngSwitchCase=\"'success'\" (click)=\"image.onPreview()\"></x-icon>\r\n </ng-container>\r\n <x-icon *ngIf=\"imgCut && file.state === 'success'\" type=\"fto-crop\" (click)=\"onImgCut(file, i)\"></x-icon>\r\n <x-icon *ngIf=\"file.state !== 'uploading'\" type=\"fto-trash-2\" (click)=\"remove(file, i)\"></x-icon>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"uploadBtnTpl\"></ng-container>\r\n </x-image-group>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #uploadBtnTpl>\r\n <div class=\"x-upload-buttons\" [class.x-upload-buttons-template]=\"isTemplateText\" (click)=\"uploadClick()\">\r\n <ng-container *xOutlet=\"getText\">\r\n <x-button icon=\"fto-upload\" [disabled]=\"disabled\" type=\"primary\">{{ getText }}</x-button>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-upload{margin:0;padding:0;color:var(--x-text);font-size:var(--x-font-size)}.x-upload-buttons{display:inline-flex}.x-upload-buttons>.x-button:not(:first-child){margin-left:.4rem}.x-upload-buttons-template{cursor:pointer}.x-upload-files{margin-top:.4rem}.x-upload-files>li{padding:0 .2rem;height:calc(var(--x-font-size) + .6rem);line-height:calc(var(--x-font-size) + .6rem);display:flex;align-items:center;overflow:hidden;cursor:pointer;border-radius:var(--x-border-radius)}.x-upload-files>li .x-icon{color:var(--x-text-400);font-size:1rem}.x-upload-files>li .x-icon.x-upload-state.success{color:var(--x-success)}.x-upload-files>li .x-icon.x-upload-state.error{color:var(--x-danger)}.x-upload-files>li a{flex:1;display:flex;align-items:center;height:calc(var(--x-font-size) + .6rem);line-height:calc(var(--x-font-size) + .6rem);color:inherit;text-decoration:none;overflow:hidden}.x-upload-files>li span.x-upload-filename{margin-left:.2rem;flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-upload-files>li span.x-upload-percent{color:var(--x-text-400)}.x-upload-files>li>.x-button{display:none;padding:0}.x-upload-files>li:not(:first-child){margin-top:.2rem}.x-upload-files>li.x-upload-disabled{cursor:default}.x-upload-files>li.x-upload-disabled>a{cursor:default}.x-upload-files>li:hover:not(.x-upload-disabled){color:var(--x-primary);background-color:var(--x-background)}.x-upload-files>li:hover>.x-button{display:inline-block}.x-upload-files>li:hover>.x-upload-state{display:none}.x-upload-img{display:flex;flex-wrap:wrap}.x-upload-img .x-upload-buttons-template{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;width:6.25rem;height:6.25rem;margin-right:.5rem;margin-bottom:.5rem;border:var(--x-border-width) dashed var(--x-border);background:var(--x-background);border-radius:var(--x-border-radius);transition:border-color var(--x-animation-duration-base)}.x-upload-img .x-upload-buttons-template:hover{border-color:var(--x-primary)}.x-upload-img .x-image{height:6.25rem;width:6.25rem;padding:.325rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);transition:border-color var(--x-animation-duration-base);margin-right:.5rem;margin-bottom:.5rem;position:relative;display:flex;align-items:center;justify-content:center}.x-upload-img .x-image-overlay x-icon{font-size:1rem;color:#fffc;padding:.25rem;transition:color var(--x-animation-duration-base)}.x-upload-img .x-image-overlay x-icon:hover{color:#fff}.x-upload-img x-image.error .x-image{border-color:var(--x-danger)}.x-upload-img x-image.error .x-image-error-icon{color:var(--x-danger)}.x-upload-uploading{position:absolute;margin-top:3rem;width:calc(100% - 1rem)}\n"] }]
244
244
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i2.XPortalService }, { type: i0.ViewContainerRef }, { type: i3.XI18nService }, { type: i4.XConfigService }]; }, propDecorators: { file: [{
@@ -16,8 +16,8 @@ import { XProgressModule } from '@ng-nest/ui/progress';
16
16
  import * as i0 from "@angular/core";
17
17
  export class XUploadModule {
18
18
  }
19
- /** @nocollapse */ XUploadModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- /** @nocollapse */ XUploadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: XUploadModule, declarations: [XUploadComponent, XUploadPortalComponent, XUploadProperty], imports: [CommonModule,
19
+ /** @nocollapse */ XUploadModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ /** @nocollapse */ XUploadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0", ngImport: i0, type: XUploadModule, declarations: [XUploadComponent, XUploadPortalComponent, XUploadProperty], imports: [CommonModule,
21
21
  FormsModule,
22
22
  ReactiveFormsModule,
23
23
  DragDropModule,
@@ -29,7 +29,7 @@ export class XUploadModule {
29
29
  XBaseFormModule,
30
30
  XImageModule,
31
31
  XProgressModule], exports: [XUploadComponent] });
32
- /** @nocollapse */ XUploadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XUploadModule, imports: [CommonModule,
32
+ /** @nocollapse */ XUploadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XUploadModule, imports: [CommonModule,
33
33
  FormsModule,
34
34
  ReactiveFormsModule,
35
35
  DragDropModule,
@@ -41,7 +41,7 @@ export class XUploadModule {
41
41
  XBaseFormModule,
42
42
  XImageModule,
43
43
  XProgressModule] });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XUploadModule, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XUploadModule, decorators: [{
45
45
  type: NgModule,
46
46
  args: [{
47
47
  declarations: [XUploadComponent, XUploadPortalComponent, XUploadProperty],
@@ -48,8 +48,8 @@ export class XUploadProperty extends XControlValueAccessor {
48
48
  this.uploadError = new EventEmitter();
49
49
  }
50
50
  }
51
- /** @nocollapse */ XUploadProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XUploadProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
52
- /** @nocollapse */ XUploadProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XUploadProperty, selector: "ng-component", inputs: { text: "text", action: "action", accept: "accept", type: "type", imgFallback: "imgFallback", imgCut: "imgCut", multiple: "multiple", download: "download", multipleModel: "multipleModel", filesTpl: "filesTpl", maxLimit: "maxLimit", headers: "headers" }, outputs: { removeClick: "removeClick", uploadReady: "uploadReady", uploading: "uploading", uploadSuccess: "uploadSuccess", uploadError: "uploadError" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
51
+ /** @nocollapse */ XUploadProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XUploadProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
52
+ /** @nocollapse */ XUploadProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XUploadProperty, selector: "ng-component", inputs: { text: "text", action: "action", accept: "accept", type: "type", imgFallback: "imgFallback", imgCut: "imgCut", multiple: "multiple", download: "download", multipleModel: "multipleModel", filesTpl: "filesTpl", maxLimit: "maxLimit", headers: "headers" }, outputs: { removeClick: "removeClick", uploadReady: "uploadReady", uploading: "uploading", uploadSuccess: "uploadSuccess", uploadError: "uploadError" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
53
53
  __decorate([
54
54
  XInputBoolean()
55
55
  ], XUploadProperty.prototype, "imgCut", void 0);
@@ -66,7 +66,7 @@ __decorate([
66
66
  __decorate([
67
67
  XInputNumber()
68
68
  ], XUploadProperty.prototype, "maxLimit", void 0);
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XUploadProperty, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XUploadProperty, decorators: [{
70
70
  type: Component,
71
71
  args: [{ template: '' }]
72
72
  }], propDecorators: { text: [{
@@ -5,5 +5,5 @@ export declare class XExamplesComponent {
5
5
  private elementRef;
6
6
  constructor(renderer: Renderer2, elementRef: ElementRef);
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<XExamplesComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<XExamplesComponent, "x-examples", never, {}, {}, never, ["*"], false>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<XExamplesComponent, "x-examples", never, {}, {}, never, ["*"], false, never>;
9
9
  }
@@ -17,15 +17,15 @@ const X_CONFIG_NAME = 'affix';
17
17
  */
18
18
  class XAffixProperty extends XProperty {
19
19
  }
20
- /** @nocollapse */ XAffixProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAffixProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
21
- /** @nocollapse */ XAffixProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XAffixProperty, selector: "ng-component", inputs: { top: "top", left: "left" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
20
+ /** @nocollapse */ XAffixProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAffixProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
21
+ /** @nocollapse */ XAffixProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XAffixProperty, selector: "ng-component", inputs: { top: "top", left: "left" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
22
22
  __decorate([
23
23
  XWithConfig(X_CONFIG_NAME)
24
24
  ], XAffixProperty.prototype, "top", void 0);
25
25
  __decorate([
26
26
  XWithConfig(X_CONFIG_NAME)
27
27
  ], XAffixProperty.prototype, "left", void 0);
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAffixProperty, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAffixProperty, decorators: [{
29
29
  type: Component,
30
30
  args: [{ template: '' }]
31
31
  }], propDecorators: { top: [{
@@ -40,19 +40,19 @@ class XAffixComponent extends XAffixProperty {
40
40
  this.configService = configService;
41
41
  }
42
42
  }
43
- /** @nocollapse */ XAffixComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAffixComponent, deps: [{ token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
44
- /** @nocollapse */ XAffixComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XAffixComponent, selector: "x-affix", usesInheritance: true, ngImport: i0, template: "<div #affix class=\"x-affix\" [style.top]=\"top\" [style.left]=\"left\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".x-affix{margin:0;padding:0;position:sticky;display:inline-block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAffixComponent, decorators: [{
43
+ /** @nocollapse */ XAffixComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAffixComponent, deps: [{ token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
44
+ /** @nocollapse */ XAffixComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XAffixComponent, selector: "x-affix", usesInheritance: true, ngImport: i0, template: "<div #affix class=\"x-affix\" [style.top]=\"top\" [style.left]=\"left\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".x-affix{margin:0;padding:0;position:sticky;display:inline-block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAffixComponent, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: `${XAffixPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #affix class=\"x-affix\" [style.top]=\"top\" [style.left]=\"left\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".x-affix{margin:0;padding:0;position:sticky;display:inline-block}\n"] }]
48
48
  }], ctorParameters: function () { return [{ type: i1.XConfigService }]; } });
49
49
 
50
50
  class XAffixModule {
51
51
  }
52
- /** @nocollapse */ XAffixModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAffixModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
53
- /** @nocollapse */ XAffixModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: XAffixModule, declarations: [XAffixComponent, XAffixProperty], imports: [CommonModule], exports: [XAffixComponent] });
54
- /** @nocollapse */ XAffixModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAffixModule, imports: [CommonModule] });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAffixModule, decorators: [{
52
+ /** @nocollapse */ XAffixModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAffixModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
53
+ /** @nocollapse */ XAffixModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0", ngImport: i0, type: XAffixModule, declarations: [XAffixComponent, XAffixProperty], imports: [CommonModule], exports: [XAffixComponent] });
54
+ /** @nocollapse */ XAffixModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAffixModule, imports: [CommonModule] });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAffixModule, decorators: [{
56
56
  type: NgModule,
57
57
  args: [{
58
58
  declarations: [XAffixComponent, XAffixProperty],
@@ -63,8 +63,8 @@ class XAlertProperty extends XProperty {
63
63
  this.resizing = new EventEmitter();
64
64
  }
65
65
  }
66
- /** @nocollapse */ XAlertProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAlertProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
67
- /** @nocollapse */ XAlertProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XAlertProperty, selector: "ng-component", inputs: { hide: "hide", title: "title", content: "content", type: "type", effect: "effect", hideClose: "hideClose", closeText: "closeText", showIcon: "showIcon", disabledAnimation: "disabledAnimation", duration: "duration", manual: "manual", draggable: "draggable", resizable: "resizable", offsetLeft: "offsetLeft", offsetTop: "offsetTop", minWidth: "minWidth", minHeight: "minHeight", dragBoundary: "dragBoundary", dragFreeDragPosition: "dragFreeDragPosition", operationTpl: "operationTpl" }, outputs: { close: "close", dragEnded: "dragEnded", resizing: "resizing" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
66
+ /** @nocollapse */ XAlertProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAlertProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
67
+ /** @nocollapse */ XAlertProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XAlertProperty, selector: "ng-component", inputs: { hide: "hide", title: "title", content: "content", type: "type", effect: "effect", hideClose: "hideClose", closeText: "closeText", showIcon: "showIcon", disabledAnimation: "disabledAnimation", duration: "duration", manual: "manual", draggable: "draggable", resizable: "resizable", offsetLeft: "offsetLeft", offsetTop: "offsetTop", minWidth: "minWidth", minHeight: "minHeight", dragBoundary: "dragBoundary", dragFreeDragPosition: "dragFreeDragPosition", operationTpl: "operationTpl" }, outputs: { close: "close", dragEnded: "dragEnded", resizing: "resizing" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
68
68
  __decorate([
69
69
  XInputBoolean()
70
70
  ], XAlertProperty.prototype, "hide", void 0);
@@ -110,7 +110,7 @@ __decorate([
110
110
  __decorate([
111
111
  XWithConfig(X_CONFIG_NAME, '0rem')
112
112
  ], XAlertProperty.prototype, "minHeight", void 0);
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAlertProperty, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAlertProperty, decorators: [{
114
114
  type: Component,
115
115
  args: [{ template: '' }]
116
116
  }], propDecorators: { hide: [{
@@ -215,9 +215,9 @@ class XAlertComponent extends XAlertProperty {
215
215
  }
216
216
  }
217
217
  }
218
- /** @nocollapse */ XAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAlertComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
219
- /** @nocollapse */ XAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XAlertComponent, selector: "x-alert", viewQueries: [{ propertyName: "alert", first: true, predicate: ["alert"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #alert\r\n class=\"x-alert\"\r\n cdkDrag\r\n (cdkDragEnded)=\"dragEnded.emit($event)\"\r\n [cdkDragFreeDragPosition]=\"dragFreeDragPosition\"\r\n [cdkDragDisabled]=\"!draggable\"\r\n [cdkDragBoundary]=\"dragBoundary\"\r\n [ngClass]=\"classMap\"\r\n *ngIf=\"!hide\"\r\n @x-fade-animation\r\n [@.disabled]=\"disabledAnimation\"\r\n (@x-fade-animation.done)=\"onCloseAnimationDone()\"\r\n [xResizable]=\"resizable!\"\r\n (resizing)=\"resizing.emit($event)\"\r\n [offsetLeft]=\"offsetLeft\"\r\n [offsetTop]=\"offsetTop\"\r\n [style.minWidth]=\"minWidth\"\r\n [style.minHeight]=\"minHeight\"\r\n>\r\n <ng-container *ngIf=\"showIcon\">\r\n <ng-container *ngTemplateOutlet=\"iconTpl\"></ng-container>\r\n </ng-container>\r\n <ng-template #iconTpl>\r\n <ng-container [ngSwitch]=\"type\">\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'success'\" type=\"adf-check-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'info'\" type=\"adf-info-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'warning'\" type=\"adf-exclamation-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'error'\" type=\"adf-close-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'loading'\" type=\"fto-loader\" [spin]=\"true\"></x-icon>\r\n </ng-container>\r\n </ng-template>\r\n <div class=\"x-alert-inner\">\r\n <span class=\"x-alert-title\" cdkDragHandle [class.x-bold]=\"title && content\">\r\n <ng-container *xOutlet=\"title; context: { $iconTpl: iconTpl }\">{{ title }}</ng-container>\r\n </span>\r\n <div class=\"x-alert-content\" *ngIf=\"content\">\r\n <ng-container *xOutlet=\"content; context: { $iconTpl: iconTpl }\">{{ content }}</ng-container>\r\n </div>\r\n <div class=\"x-alert-close\">\r\n <div class=\"x-alert-operation\" *xOutlet=\"operationTpl\">{{ operationTpl }}</div>\r\n <x-button\r\n *ngIf=\"!hideClose\"\r\n size=\"small\"\r\n [icon]=\"!closeText ? 'fto-x' : ''\"\r\n [onlyIcon]=\"!closeText\"\r\n [type]=\"closeText ? 'text' : 'initial'\"\r\n (click)=\"onClose()\"\r\n closable\r\n >{{ closeText }}</x-button\r\n >\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["x-alert{display:block}.x-alert{margin:0;padding:0;background-color:var(--x-background);border:.0625rem solid var(--x-border-300);border-radius:var(--x-border-radius);padding:.5rem 1rem;position:relative;display:flex;align-items:center}.x-alert-close{position:absolute;top:.425rem;right:.425rem}.x-alert-inner{width:100%}.x-alert-title.x-bold{font-weight:600}.x-alert-content{font-size:calc(var(--x-font-size) - .0625rem);line-height:1.325rem;margin:.25rem 0 0}.x-alert-icon.x-icon{font-size:calc(var(--x-font-size) + .25rem);margin-right:.5rem}.x-alert-icon-medium>.x-icon{font-size:1.75rem}.x-alert-draggable .cdk-drag-handle{cursor:move}.x-alert-success.x-light{color:var(--x-success);background-color:var(--x-success-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-success.x-light x-button.x-alert-close .x-button{color:var(--x-success-400)}.x-alert-success.x-light x-button.x-alert-close .x-button:hover{color:var(--x-success)}.x-alert-success.x-dark{color:var(--x-success-900);background-color:var(--x-success);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-success.x-dark x-button.x-alert-close .x-button{color:var(--x-success-900)}.x-alert-success.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-success.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-success.x-white .x-alert-icon.x-icon{color:var(--x-success)}.x-alert-success.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-success.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-info.x-light{color:var(--x-info);background-color:var(--x-info-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-info.x-light x-button.x-alert-close .x-button{color:var(--x-info-400)}.x-alert-info.x-light x-button.x-alert-close .x-button:hover{color:var(--x-info)}.x-alert-info.x-dark{color:var(--x-info-900);background-color:var(--x-info);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-info.x-dark x-button.x-alert-close .x-button{color:var(--x-info-900)}.x-alert-info.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-info.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-info.x-white .x-alert-icon.x-icon{color:var(--x-info)}.x-alert-info.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-info.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-warning.x-light{color:var(--x-warning);background-color:var(--x-warning-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-warning.x-light x-button.x-alert-close .x-button{color:var(--x-warning-400)}.x-alert-warning.x-light x-button.x-alert-close .x-button:hover{color:var(--x-warning)}.x-alert-warning.x-dark{color:var(--x-warning-900);background-color:var(--x-warning);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-warning.x-dark x-button.x-alert-close .x-button{color:var(--x-warning-900)}.x-alert-warning.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-warning.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-warning.x-white .x-alert-icon.x-icon{color:var(--x-warning)}.x-alert-warning.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-warning.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-error.x-light{color:var(--x-danger);background-color:var(--x-danger-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-error.x-light x-button.x-alert-close .x-button{color:var(--x-danger-400)}.x-alert-error.x-light x-button.x-alert-close .x-button:hover{color:var(--x-danger)}.x-alert-error.x-dark{color:var(--x-danger-900);background-color:var(--x-danger);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-error.x-dark x-button.x-alert-close .x-button{color:var(--x-danger-900)}.x-alert-error.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-error.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-error.x-white .x-alert-icon.x-icon{color:var(--x-danger)}.x-alert-error.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-error.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-loading.x-light{color:var(--x-primary);background-color:var(--x-info-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-loading.x-light x-button.x-alert-close .x-button{color:var(--x-info-400)}.x-alert-loading.x-light x-button.x-alert-close .x-button:hover{color:var(--x-primary)}.x-alert-loading.x-dark{color:var(--x-info-900);background-color:var(--x-primary);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-loading.x-dark x-button.x-alert-close .x-button{color:var(--x-info-900)}.x-alert-loading.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-loading.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-loading.x-white .x-alert-icon.x-icon{color:var(--x-primary)}.x-alert-loading.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-loading.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i4.XIconComponent, selector: "x-icon" }, { kind: "component", type: i5.XButtonComponent, selector: "x-button" }, { kind: "directive", type: i6.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "directive", type: i7.XResizableDirective, selector: "[xResizable]" }], animations: [XFadeAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAlertComponent, decorators: [{
218
+ /** @nocollapse */ XAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAlertComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
219
+ /** @nocollapse */ XAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XAlertComponent, selector: "x-alert", viewQueries: [{ propertyName: "alert", first: true, predicate: ["alert"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #alert\r\n class=\"x-alert\"\r\n cdkDrag\r\n (cdkDragEnded)=\"dragEnded.emit($event)\"\r\n [cdkDragFreeDragPosition]=\"dragFreeDragPosition\"\r\n [cdkDragDisabled]=\"!draggable\"\r\n [cdkDragBoundary]=\"dragBoundary\"\r\n [ngClass]=\"classMap\"\r\n *ngIf=\"!hide\"\r\n @x-fade-animation\r\n [@.disabled]=\"disabledAnimation\"\r\n (@x-fade-animation.done)=\"onCloseAnimationDone()\"\r\n [xResizable]=\"resizable!\"\r\n (resizing)=\"resizing.emit($event)\"\r\n [offsetLeft]=\"offsetLeft\"\r\n [offsetTop]=\"offsetTop\"\r\n [style.minWidth]=\"minWidth\"\r\n [style.minHeight]=\"minHeight\"\r\n>\r\n <ng-container *ngIf=\"showIcon\">\r\n <ng-container *ngTemplateOutlet=\"iconTpl\"></ng-container>\r\n </ng-container>\r\n <ng-template #iconTpl>\r\n <ng-container [ngSwitch]=\"type\">\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'success'\" type=\"adf-check-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'info'\" type=\"adf-info-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'warning'\" type=\"adf-exclamation-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'error'\" type=\"adf-close-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'loading'\" type=\"fto-loader\" [spin]=\"true\"></x-icon>\r\n </ng-container>\r\n </ng-template>\r\n <div class=\"x-alert-inner\">\r\n <span class=\"x-alert-title\" cdkDragHandle [class.x-bold]=\"title && content\">\r\n <ng-container *xOutlet=\"title; context: { $iconTpl: iconTpl }\">{{ title }}</ng-container>\r\n </span>\r\n <div class=\"x-alert-content\" *ngIf=\"content\">\r\n <ng-container *xOutlet=\"content; context: { $iconTpl: iconTpl }\">{{ content }}</ng-container>\r\n </div>\r\n <div class=\"x-alert-close\">\r\n <div class=\"x-alert-operation\" *xOutlet=\"operationTpl\">{{ operationTpl }}</div>\r\n <x-button\r\n *ngIf=\"!hideClose\"\r\n size=\"small\"\r\n [icon]=\"!closeText ? 'fto-x' : ''\"\r\n [onlyIcon]=\"!closeText\"\r\n [type]=\"closeText ? 'text' : 'initial'\"\r\n (click)=\"onClose()\"\r\n closable\r\n >{{ closeText }}</x-button\r\n >\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["x-alert{display:block}.x-alert{margin:0;padding:0;background-color:var(--x-background);border:.0625rem solid var(--x-border-300);border-radius:var(--x-border-radius);padding:.5rem 1rem;position:relative;display:flex;align-items:center}.x-alert-close{position:absolute;top:.425rem;right:.425rem}.x-alert-inner{width:100%}.x-alert-title.x-bold{font-weight:600}.x-alert-content{font-size:calc(var(--x-font-size) - .0625rem);line-height:1.325rem;margin:.25rem 0 0}.x-alert-icon.x-icon{font-size:calc(var(--x-font-size) + .25rem);margin-right:.5rem}.x-alert-icon-medium>.x-icon{font-size:1.75rem}.x-alert-draggable .cdk-drag-handle{cursor:move}.x-alert-success.x-light{color:var(--x-success);background-color:var(--x-success-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-success.x-light x-button.x-alert-close .x-button{color:var(--x-success-400)}.x-alert-success.x-light x-button.x-alert-close .x-button:hover{color:var(--x-success)}.x-alert-success.x-dark{color:var(--x-success-900);background-color:var(--x-success);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-success.x-dark x-button.x-alert-close .x-button{color:var(--x-success-900)}.x-alert-success.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-success.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-success.x-white .x-alert-icon.x-icon{color:var(--x-success)}.x-alert-success.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-success.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-info.x-light{color:var(--x-info);background-color:var(--x-info-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-info.x-light x-button.x-alert-close .x-button{color:var(--x-info-400)}.x-alert-info.x-light x-button.x-alert-close .x-button:hover{color:var(--x-info)}.x-alert-info.x-dark{color:var(--x-info-900);background-color:var(--x-info);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-info.x-dark x-button.x-alert-close .x-button{color:var(--x-info-900)}.x-alert-info.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-info.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-info.x-white .x-alert-icon.x-icon{color:var(--x-info)}.x-alert-info.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-info.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-warning.x-light{color:var(--x-warning);background-color:var(--x-warning-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-warning.x-light x-button.x-alert-close .x-button{color:var(--x-warning-400)}.x-alert-warning.x-light x-button.x-alert-close .x-button:hover{color:var(--x-warning)}.x-alert-warning.x-dark{color:var(--x-warning-900);background-color:var(--x-warning);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-warning.x-dark x-button.x-alert-close .x-button{color:var(--x-warning-900)}.x-alert-warning.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-warning.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-warning.x-white .x-alert-icon.x-icon{color:var(--x-warning)}.x-alert-warning.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-warning.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-error.x-light{color:var(--x-danger);background-color:var(--x-danger-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-error.x-light x-button.x-alert-close .x-button{color:var(--x-danger-400)}.x-alert-error.x-light x-button.x-alert-close .x-button:hover{color:var(--x-danger)}.x-alert-error.x-dark{color:var(--x-danger-900);background-color:var(--x-danger);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-error.x-dark x-button.x-alert-close .x-button{color:var(--x-danger-900)}.x-alert-error.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-error.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-error.x-white .x-alert-icon.x-icon{color:var(--x-danger)}.x-alert-error.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-error.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-loading.x-light{color:var(--x-primary);background-color:var(--x-info-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-loading.x-light x-button.x-alert-close .x-button{color:var(--x-info-400)}.x-alert-loading.x-light x-button.x-alert-close .x-button:hover{color:var(--x-primary)}.x-alert-loading.x-dark{color:var(--x-info-900);background-color:var(--x-primary);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-loading.x-dark x-button.x-alert-close .x-button{color:var(--x-info-900)}.x-alert-loading.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-loading.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-loading.x-white .x-alert-icon.x-icon{color:var(--x-primary)}.x-alert-loading.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-loading.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i4.XIconComponent, selector: "x-icon" }, { kind: "component", type: i5.XButtonComponent, selector: "x-button" }, { kind: "directive", type: i6.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "directive", type: i7.XResizableDirective, selector: "[xResizable]" }], animations: [XFadeAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAlertComponent, decorators: [{
221
221
  type: Component,
222
222
  args: [{ selector: `${XAlertPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XFadeAnimation], template: "<div\r\n #alert\r\n class=\"x-alert\"\r\n cdkDrag\r\n (cdkDragEnded)=\"dragEnded.emit($event)\"\r\n [cdkDragFreeDragPosition]=\"dragFreeDragPosition\"\r\n [cdkDragDisabled]=\"!draggable\"\r\n [cdkDragBoundary]=\"dragBoundary\"\r\n [ngClass]=\"classMap\"\r\n *ngIf=\"!hide\"\r\n @x-fade-animation\r\n [@.disabled]=\"disabledAnimation\"\r\n (@x-fade-animation.done)=\"onCloseAnimationDone()\"\r\n [xResizable]=\"resizable!\"\r\n (resizing)=\"resizing.emit($event)\"\r\n [offsetLeft]=\"offsetLeft\"\r\n [offsetTop]=\"offsetTop\"\r\n [style.minWidth]=\"minWidth\"\r\n [style.minHeight]=\"minHeight\"\r\n>\r\n <ng-container *ngIf=\"showIcon\">\r\n <ng-container *ngTemplateOutlet=\"iconTpl\"></ng-container>\r\n </ng-container>\r\n <ng-template #iconTpl>\r\n <ng-container [ngSwitch]=\"type\">\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'success'\" type=\"adf-check-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'info'\" type=\"adf-info-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'warning'\" type=\"adf-exclamation-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'error'\" type=\"adf-close-circle\"></x-icon>\r\n <x-icon class=\"x-alert-icon\" *ngSwitchCase=\"'loading'\" type=\"fto-loader\" [spin]=\"true\"></x-icon>\r\n </ng-container>\r\n </ng-template>\r\n <div class=\"x-alert-inner\">\r\n <span class=\"x-alert-title\" cdkDragHandle [class.x-bold]=\"title && content\">\r\n <ng-container *xOutlet=\"title; context: { $iconTpl: iconTpl }\">{{ title }}</ng-container>\r\n </span>\r\n <div class=\"x-alert-content\" *ngIf=\"content\">\r\n <ng-container *xOutlet=\"content; context: { $iconTpl: iconTpl }\">{{ content }}</ng-container>\r\n </div>\r\n <div class=\"x-alert-close\">\r\n <div class=\"x-alert-operation\" *xOutlet=\"operationTpl\">{{ operationTpl }}</div>\r\n <x-button\r\n *ngIf=\"!hideClose\"\r\n size=\"small\"\r\n [icon]=\"!closeText ? 'fto-x' : ''\"\r\n [onlyIcon]=\"!closeText\"\r\n [type]=\"closeText ? 'text' : 'initial'\"\r\n (click)=\"onClose()\"\r\n closable\r\n >{{ closeText }}</x-button\r\n >\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["x-alert{display:block}.x-alert{margin:0;padding:0;background-color:var(--x-background);border:.0625rem solid var(--x-border-300);border-radius:var(--x-border-radius);padding:.5rem 1rem;position:relative;display:flex;align-items:center}.x-alert-close{position:absolute;top:.425rem;right:.425rem}.x-alert-inner{width:100%}.x-alert-title.x-bold{font-weight:600}.x-alert-content{font-size:calc(var(--x-font-size) - .0625rem);line-height:1.325rem;margin:.25rem 0 0}.x-alert-icon.x-icon{font-size:calc(var(--x-font-size) + .25rem);margin-right:.5rem}.x-alert-icon-medium>.x-icon{font-size:1.75rem}.x-alert-draggable .cdk-drag-handle{cursor:move}.x-alert-success.x-light{color:var(--x-success);background-color:var(--x-success-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-success.x-light x-button.x-alert-close .x-button{color:var(--x-success-400)}.x-alert-success.x-light x-button.x-alert-close .x-button:hover{color:var(--x-success)}.x-alert-success.x-dark{color:var(--x-success-900);background-color:var(--x-success);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-success.x-dark x-button.x-alert-close .x-button{color:var(--x-success-900)}.x-alert-success.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-success.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-success.x-white .x-alert-icon.x-icon{color:var(--x-success)}.x-alert-success.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-success.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-info.x-light{color:var(--x-info);background-color:var(--x-info-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-info.x-light x-button.x-alert-close .x-button{color:var(--x-info-400)}.x-alert-info.x-light x-button.x-alert-close .x-button:hover{color:var(--x-info)}.x-alert-info.x-dark{color:var(--x-info-900);background-color:var(--x-info);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-info.x-dark x-button.x-alert-close .x-button{color:var(--x-info-900)}.x-alert-info.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-info.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-info.x-white .x-alert-icon.x-icon{color:var(--x-info)}.x-alert-info.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-info.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-warning.x-light{color:var(--x-warning);background-color:var(--x-warning-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-warning.x-light x-button.x-alert-close .x-button{color:var(--x-warning-400)}.x-alert-warning.x-light x-button.x-alert-close .x-button:hover{color:var(--x-warning)}.x-alert-warning.x-dark{color:var(--x-warning-900);background-color:var(--x-warning);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-warning.x-dark x-button.x-alert-close .x-button{color:var(--x-warning-900)}.x-alert-warning.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-warning.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-warning.x-white .x-alert-icon.x-icon{color:var(--x-warning)}.x-alert-warning.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-warning.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-error.x-light{color:var(--x-danger);background-color:var(--x-danger-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-error.x-light x-button.x-alert-close .x-button{color:var(--x-danger-400)}.x-alert-error.x-light x-button.x-alert-close .x-button:hover{color:var(--x-danger)}.x-alert-error.x-dark{color:var(--x-danger-900);background-color:var(--x-danger);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-error.x-dark x-button.x-alert-close .x-button{color:var(--x-danger-900)}.x-alert-error.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-error.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-error.x-white .x-alert-icon.x-icon{color:var(--x-danger)}.x-alert-error.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-error.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}.x-alert-loading.x-light{color:var(--x-primary);background-color:var(--x-info-900);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-loading.x-light x-button.x-alert-close .x-button{color:var(--x-info-400)}.x-alert-loading.x-light x-button.x-alert-close .x-button:hover{color:var(--x-primary)}.x-alert-loading.x-dark{color:var(--x-info-900);background-color:var(--x-primary);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-loading.x-dark x-button.x-alert-close .x-button{color:var(--x-info-900)}.x-alert-loading.x-dark x-button.x-alert-close .x-button:hover{color:var(--x-background-100)}.x-alert-loading.x-white{color:var(--x-text-300);background-color:var(--x-background);border-color:transparent;box-shadow:var(--x-box-shadow) var(--x-box-shadow-base-color)}.x-alert-loading.x-white .x-alert-icon.x-icon{color:var(--x-primary)}.x-alert-loading.x-white x-button.x-alert-close .x-button{color:var(--x-text-400)}.x-alert-loading.x-white x-button.x-alert-close .x-button:hover{color:var(--x-text-300)}\n"] }]
223
223
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { alert: [{
@@ -227,10 +227,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
227
227
 
228
228
  class XAlertModule {
229
229
  }
230
- /** @nocollapse */ XAlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
231
- /** @nocollapse */ XAlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: XAlertModule, declarations: [XAlertComponent, XAlertProperty], imports: [CommonModule, DragDropModule, XIconModule, XButtonModule, XOutletModule, XResizableModule], exports: [XAlertComponent] });
232
- /** @nocollapse */ XAlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAlertModule, imports: [CommonModule, DragDropModule, XIconModule, XButtonModule, XOutletModule, XResizableModule] });
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAlertModule, decorators: [{
230
+ /** @nocollapse */ XAlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
231
+ /** @nocollapse */ XAlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0", ngImport: i0, type: XAlertModule, declarations: [XAlertComponent, XAlertProperty], imports: [CommonModule, DragDropModule, XIconModule, XButtonModule, XOutletModule, XResizableModule], exports: [XAlertComponent] });
232
+ /** @nocollapse */ XAlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAlertModule, imports: [CommonModule, DragDropModule, XIconModule, XButtonModule, XOutletModule, XResizableModule] });
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAlertModule, decorators: [{
234
234
  type: NgModule,
235
235
  args: [{
236
236
  declarations: [XAlertComponent, XAlertProperty],
@@ -24,8 +24,8 @@ const X_CONFIG_NAME = 'anchor';
24
24
  */
25
25
  class XAnchorProperty extends XProperty {
26
26
  }
27
- /** @nocollapse */ XAnchorProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAnchorProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
28
- /** @nocollapse */ XAnchorProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XAnchorProperty, selector: "ng-component", inputs: { scroll: "scroll", affixTop: "affixTop", layout: "layout", justify: "justify" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
27
+ /** @nocollapse */ XAnchorProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAnchorProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
28
+ /** @nocollapse */ XAnchorProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XAnchorProperty, selector: "ng-component", inputs: { scroll: "scroll", affixTop: "affixTop", layout: "layout", justify: "justify" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
29
29
  __decorate([
30
30
  XWithConfig(X_CONFIG_NAME, '0')
31
31
  ], XAnchorProperty.prototype, "affixTop", void 0);
@@ -35,7 +35,7 @@ __decorate([
35
35
  __decorate([
36
36
  XWithConfig(X_CONFIG_NAME, 'start')
37
37
  ], XAnchorProperty.prototype, "justify", void 0);
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAnchorProperty, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAnchorProperty, decorators: [{
39
39
  type: Component,
40
40
  args: [{ template: '' }]
41
41
  }], propDecorators: { scroll: [{
@@ -176,9 +176,9 @@ class XAnchorComponent extends XAnchorProperty {
176
176
  });
177
177
  }
178
178
  }
179
- /** @nocollapse */ XAnchorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAnchorComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
180
- /** @nocollapse */ XAnchorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XAnchorComponent, selector: "x-anchor", viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, static: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #anchor class=\"x-anchor\" [ngClass]=\"classMap\">\r\n <div #content class=\"x-anchor-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <x-affix class=\"x-anchor-affix\" [top]=\"affixTop\">\r\n <div class=\"x-anchor-slider\" [style.height.px]=\"sliderHeight\">\r\n <x-slider\r\n [data]=\"sliderData\"\r\n layout=\"column\"\r\n [activatedIndex]=\"activatedIndex\"\r\n [nodeJustify]=\"justify\"\r\n [nodeTpl]=\"sliderNodeTpl\"\r\n [showAnchor]=\"true\"\r\n (indexChange)=\"activatedChange($event)\"\r\n ></x-slider>\r\n </div>\r\n </x-affix>\r\n</div>\r\n\r\n<ng-template #sliderNodeTpl let-node=\"$node\">\r\n <span [style.padding-left.rem]=\"node.left - 1\">{{ node.label }}</span>\r\n</ng-template>\r\n", styles: [".x-anchor{margin:0;padding:0;display:flex}.x-anchor-content{flex:1}.x-anchor-affix{display:block}.x-anchor-slider{float:left;overflow:hidden}.x-anchor-slider:hover{overflow-y:auto}.x-anchor-right{flex-direction:row}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-left:.125rem solid var(--x-border)}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-left-radius:0;border-bottom-left-radius:0;z-index:2;border-left:.125rem solid var(--x-primary)}.x-anchor-left{flex-direction:row-reverse}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-right:.125rem solid var(--x-border)}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-right-radius:0;border-bottom-right-radius:0;z-index:2;border-right:.125rem solid var(--x-primary)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.XAffixComponent, selector: "x-affix" }, { kind: "component", type: i4.XSliderComponent, selector: "x-slider" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAnchorComponent, decorators: [{
179
+ /** @nocollapse */ XAnchorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAnchorComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
180
+ /** @nocollapse */ XAnchorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XAnchorComponent, selector: "x-anchor", viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, static: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #anchor class=\"x-anchor\" [ngClass]=\"classMap\">\r\n <div #content class=\"x-anchor-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <x-affix class=\"x-anchor-affix\" [top]=\"affixTop\">\r\n <div class=\"x-anchor-slider\" [style.height.px]=\"sliderHeight\">\r\n <x-slider\r\n [data]=\"sliderData\"\r\n layout=\"column\"\r\n [activatedIndex]=\"activatedIndex\"\r\n [nodeJustify]=\"justify\"\r\n [nodeTpl]=\"sliderNodeTpl\"\r\n [showAnchor]=\"true\"\r\n (indexChange)=\"activatedChange($event)\"\r\n ></x-slider>\r\n </div>\r\n </x-affix>\r\n</div>\r\n\r\n<ng-template #sliderNodeTpl let-node=\"$node\">\r\n <span [style.padding-left.rem]=\"node.left - 1\">{{ node.label }}</span>\r\n</ng-template>\r\n", styles: [".x-anchor{margin:0;padding:0;display:flex}.x-anchor-content{flex:1}.x-anchor-affix{display:block}.x-anchor-slider{float:left;overflow:hidden}.x-anchor-slider:hover{overflow-y:auto}.x-anchor-right{flex-direction:row}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-left:.125rem solid var(--x-border)}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-left-radius:0;border-bottom-left-radius:0;z-index:2;border-left:.125rem solid var(--x-primary)}.x-anchor-left{flex-direction:row-reverse}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-right:.125rem solid var(--x-border)}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-right-radius:0;border-bottom-right-radius:0;z-index:2;border-right:.125rem solid var(--x-primary)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.XAffixComponent, selector: "x-affix" }, { kind: "component", type: i4.XSliderComponent, selector: "x-slider" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAnchorComponent, decorators: [{
182
182
  type: Component,
183
183
  args: [{ selector: `${XAnchorPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #anchor class=\"x-anchor\" [ngClass]=\"classMap\">\r\n <div #content class=\"x-anchor-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <x-affix class=\"x-anchor-affix\" [top]=\"affixTop\">\r\n <div class=\"x-anchor-slider\" [style.height.px]=\"sliderHeight\">\r\n <x-slider\r\n [data]=\"sliderData\"\r\n layout=\"column\"\r\n [activatedIndex]=\"activatedIndex\"\r\n [nodeJustify]=\"justify\"\r\n [nodeTpl]=\"sliderNodeTpl\"\r\n [showAnchor]=\"true\"\r\n (indexChange)=\"activatedChange($event)\"\r\n ></x-slider>\r\n </div>\r\n </x-affix>\r\n</div>\r\n\r\n<ng-template #sliderNodeTpl let-node=\"$node\">\r\n <span [style.padding-left.rem]=\"node.left - 1\">{{ node.label }}</span>\r\n</ng-template>\r\n", styles: [".x-anchor{margin:0;padding:0;display:flex}.x-anchor-content{flex:1}.x-anchor-affix{display:block}.x-anchor-slider{float:left;overflow:hidden}.x-anchor-slider:hover{overflow-y:auto}.x-anchor-right{flex-direction:row}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-left:.125rem solid var(--x-border)}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-left-radius:0;border-bottom-left-radius:0;z-index:2;border-left:.125rem solid var(--x-primary)}.x-anchor-left{flex-direction:row-reverse}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-right:.125rem solid var(--x-border)}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-right-radius:0;border-bottom-right-radius:0;z-index:2;border-right:.125rem solid var(--x-primary)}\n"] }]
184
184
  }], ctorParameters: function () {
@@ -196,10 +196,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
196
196
 
197
197
  class XAnchorModule {
198
198
  }
199
- /** @nocollapse */ XAnchorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAnchorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
200
- /** @nocollapse */ XAnchorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: XAnchorModule, declarations: [XAnchorComponent, XAnchorProperty], imports: [CommonModule, XAffixModule, XSliderModule], exports: [XAnchorComponent] });
201
- /** @nocollapse */ XAnchorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAnchorModule, imports: [CommonModule, XAffixModule, XSliderModule] });
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XAnchorModule, decorators: [{
199
+ /** @nocollapse */ XAnchorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAnchorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
200
+ /** @nocollapse */ XAnchorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0", ngImport: i0, type: XAnchorModule, declarations: [XAnchorComponent, XAnchorProperty], imports: [CommonModule, XAffixModule, XSliderModule], exports: [XAnchorComponent] });
201
+ /** @nocollapse */ XAnchorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAnchorModule, imports: [CommonModule, XAffixModule, XSliderModule] });
202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAnchorModule, decorators: [{
203
203
  type: NgModule,
204
204
  args: [{
205
205
  declarations: [XAnchorComponent, XAnchorProperty],