@ng-nest/ui 15.0.18 → 15.0.20

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 (571) hide show
  1. package/anchor/anchor.component.d.ts +1 -1
  2. package/avatar/avatar.component.d.ts +1 -1
  3. package/back-top/back-top.component.d.ts +5 -3
  4. package/button/button.component.d.ts +2 -0
  5. package/color/color.component.d.ts +2 -2
  6. package/core/config/config.service.d.ts +4 -3
  7. package/core/functions/resize.d.ts +4 -2
  8. package/core/services/storage.service.d.ts +3 -1
  9. package/core/theme/theme.service.d.ts +2 -2
  10. package/core/util/computed-style.d.ts +2 -1
  11. package/core/util/index.d.ts +1 -0
  12. package/esm2020/affix/affix.component.mjs +3 -3
  13. package/esm2020/affix/affix.module.mjs +4 -4
  14. package/esm2020/affix/affix.property.mjs +3 -3
  15. package/esm2020/alert/alert.component.mjs +3 -3
  16. package/esm2020/alert/alert.module.mjs +4 -4
  17. package/esm2020/alert/alert.property.mjs +3 -3
  18. package/esm2020/anchor/anchor-inner.component.mjs +3 -3
  19. package/esm2020/anchor/anchor.component.mjs +16 -19
  20. package/esm2020/anchor/anchor.module.mjs +4 -4
  21. package/esm2020/anchor/anchor.property.mjs +6 -6
  22. package/esm2020/api/api.component.mjs +3 -3
  23. package/esm2020/api/api.module.mjs +4 -4
  24. package/esm2020/auto-complete/auto-complete-portal.component.mjs +3 -3
  25. package/esm2020/auto-complete/auto-complete.component.mjs +3 -3
  26. package/esm2020/auto-complete/auto-complete.module.mjs +4 -4
  27. package/esm2020/auto-complete/auto-complete.property.mjs +3 -3
  28. package/esm2020/avatar/avatar-group.component.mjs +3 -3
  29. package/esm2020/avatar/avatar.component.mjs +8 -11
  30. package/esm2020/avatar/avatar.module.mjs +4 -4
  31. package/esm2020/avatar/avatar.property.mjs +6 -6
  32. package/esm2020/back-top/back-top.component.mjs +17 -16
  33. package/esm2020/back-top/back-top.module.mjs +4 -4
  34. package/esm2020/back-top/back-top.property.mjs +3 -3
  35. package/esm2020/badge/badge.component.mjs +3 -3
  36. package/esm2020/badge/badge.module.mjs +4 -4
  37. package/esm2020/badge/badge.property.mjs +3 -3
  38. package/esm2020/base-form/base-form.component.mjs +3 -3
  39. package/esm2020/base-form/base-form.module.mjs +4 -4
  40. package/esm2020/base-form/base-form.property.mjs +3 -3
  41. package/esm2020/border/border.component.mjs +3 -3
  42. package/esm2020/border/border.module.mjs +4 -4
  43. package/esm2020/button/button.component.mjs +22 -10
  44. package/esm2020/button/button.module.mjs +4 -4
  45. package/esm2020/button/button.property.mjs +6 -6
  46. package/esm2020/button/buttons.component.mjs +3 -3
  47. package/esm2020/calendar/calendar.component.mjs +3 -3
  48. package/esm2020/calendar/calendar.module.mjs +4 -4
  49. package/esm2020/calendar/calendar.property.mjs +3 -3
  50. package/esm2020/card/card.component.mjs +3 -3
  51. package/esm2020/card/card.module.mjs +4 -4
  52. package/esm2020/card/card.property.mjs +3 -3
  53. package/esm2020/carousel/carousel-panel.component.mjs +3 -3
  54. package/esm2020/carousel/carousel.component.mjs +4 -4
  55. package/esm2020/carousel/carousel.module.mjs +4 -4
  56. package/esm2020/carousel/carousel.property.mjs +6 -6
  57. package/esm2020/cascade/cascade-portal.component.mjs +3 -3
  58. package/esm2020/cascade/cascade.component.mjs +3 -3
  59. package/esm2020/cascade/cascade.module.mjs +4 -4
  60. package/esm2020/cascade/cascade.property.mjs +3 -3
  61. package/esm2020/checkbox/checkbox.component.mjs +3 -3
  62. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  63. package/esm2020/checkbox/checkbox.property.mjs +3 -3
  64. package/esm2020/collapse/collapse-panel.component.mjs +3 -3
  65. package/esm2020/collapse/collapse.component.mjs +3 -3
  66. package/esm2020/collapse/collapse.module.mjs +4 -4
  67. package/esm2020/collapse/collapse.property.mjs +6 -6
  68. package/esm2020/color/color.component.mjs +10 -13
  69. package/esm2020/color/color.module.mjs +4 -4
  70. package/esm2020/color/color.property.mjs +3 -3
  71. package/esm2020/color-picker/color-picker-portal.component.mjs +6 -6
  72. package/esm2020/color-picker/color-picker.component.mjs +3 -3
  73. package/esm2020/color-picker/color-picker.module.mjs +4 -4
  74. package/esm2020/color-picker/color-picker.property.mjs +3 -3
  75. package/esm2020/comment/comment-reply.component.mjs +3 -3
  76. package/esm2020/comment/comment.component.mjs +3 -3
  77. package/esm2020/comment/comment.module.mjs +4 -4
  78. package/esm2020/comment/comment.property.mjs +6 -6
  79. package/esm2020/container/aside.component.mjs +3 -3
  80. package/esm2020/container/container.component.mjs +3 -3
  81. package/esm2020/container/container.module.mjs +4 -4
  82. package/esm2020/container/container.property.mjs +12 -12
  83. package/esm2020/container/footer.component.mjs +3 -3
  84. package/esm2020/container/header.component.mjs +3 -3
  85. package/esm2020/container/main.component.mjs +3 -3
  86. package/esm2020/core/config/config.service.mjs +11 -20
  87. package/esm2020/core/functions/resize.mjs +4 -1
  88. package/esm2020/core/services/http.service.mjs +3 -3
  89. package/esm2020/core/services/preloading-strategy.service.mjs +3 -3
  90. package/esm2020/core/services/storage.service.mjs +51 -12
  91. package/esm2020/core/theme/theme.service.mjs +10 -12
  92. package/esm2020/core/util/computed-style.mjs +9 -3
  93. package/esm2020/core/util/index.mjs +2 -0
  94. package/esm2020/crumb/crumb.component.mjs +3 -3
  95. package/esm2020/crumb/crumb.module.mjs +4 -4
  96. package/esm2020/crumb/crumb.property.mjs +3 -3
  97. package/esm2020/date-picker/date-picker-portal.component.mjs +3 -3
  98. package/esm2020/date-picker/date-picker.component.mjs +3 -3
  99. package/esm2020/date-picker/date-picker.module.mjs +4 -4
  100. package/esm2020/date-picker/date-picker.property.mjs +18 -18
  101. package/esm2020/date-picker/date-quarter.pipe.mjs +3 -3
  102. package/esm2020/date-picker/date-range-portal.component.mjs +3 -3
  103. package/esm2020/date-picker/date-range.component.mjs +3 -3
  104. package/esm2020/date-picker/picker-date.component.mjs +3 -3
  105. package/esm2020/date-picker/picker-month.component.mjs +3 -3
  106. package/esm2020/date-picker/picker-quarter.component.mjs +3 -3
  107. package/esm2020/date-picker/picker-year.component.mjs +3 -3
  108. package/esm2020/description/description-item.component.mjs +3 -3
  109. package/esm2020/description/description.component.mjs +3 -3
  110. package/esm2020/description/description.module.mjs +4 -4
  111. package/esm2020/description/description.property.mjs +6 -6
  112. package/esm2020/dialog/dialog-container.component.mjs +3 -3
  113. package/esm2020/dialog/dialog-portal.component.mjs +3 -3
  114. package/esm2020/dialog/dialog-portal.directives.mjs +18 -18
  115. package/esm2020/dialog/dialog.component.mjs +3 -3
  116. package/esm2020/dialog/dialog.module.mjs +4 -4
  117. package/esm2020/dialog/dialog.property.mjs +6 -6
  118. package/esm2020/dialog/dialog.service.mjs +3 -3
  119. package/esm2020/doc/doc.component.mjs +3 -3
  120. package/esm2020/doc/doc.module.mjs +4 -4
  121. package/esm2020/drawer/drawer-container.component.mjs +3 -3
  122. package/esm2020/drawer/drawer-portal.component.mjs +3 -3
  123. package/esm2020/drawer/drawer-portal.directives.mjs +9 -9
  124. package/esm2020/drawer/drawer.component.mjs +3 -3
  125. package/esm2020/drawer/drawer.module.mjs +4 -4
  126. package/esm2020/drawer/drawer.property.mjs +6 -6
  127. package/esm2020/drawer/drawer.service.mjs +3 -3
  128. package/esm2020/dropdown/dropdown-portal.component.mjs +3 -3
  129. package/esm2020/dropdown/dropdown.component.mjs +3 -3
  130. package/esm2020/dropdown/dropdown.module.mjs +4 -4
  131. package/esm2020/dropdown/dropdown.property.mjs +3 -3
  132. package/esm2020/empty/empty.component.mjs +3 -3
  133. package/esm2020/empty/empty.module.mjs +4 -4
  134. package/esm2020/empty/empty.property.mjs +3 -3
  135. package/esm2020/examples/examples.component.mjs +3 -3
  136. package/esm2020/examples/examples.module.mjs +4 -4
  137. package/esm2020/find/find.component.mjs +4 -4
  138. package/esm2020/find/find.module.mjs +4 -4
  139. package/esm2020/find/find.property.mjs +3 -3
  140. package/esm2020/form/control.component.mjs +3 -3
  141. package/esm2020/form/form.component.mjs +3 -3
  142. package/esm2020/form/form.module.mjs +4 -4
  143. package/esm2020/form/form.property.mjs +6 -6
  144. package/esm2020/highlight/highlight.component.mjs +9 -8
  145. package/esm2020/highlight/highlight.module.mjs +4 -4
  146. package/esm2020/highlight/highlight.property.mjs +3 -3
  147. package/esm2020/i18n/i18n.directive.mjs +3 -3
  148. package/esm2020/i18n/i18n.module.mjs +4 -4
  149. package/esm2020/i18n/i18n.pipe.mjs +3 -3
  150. package/esm2020/i18n/i18n.property.mjs +1 -1
  151. package/esm2020/i18n/i18n.service.mjs +3 -3
  152. package/esm2020/i18n/languages/en_GB.mjs +5 -2
  153. package/esm2020/i18n/languages/en_US.mjs +5 -2
  154. package/esm2020/i18n/languages/zh_CN.mjs +5 -2
  155. package/esm2020/i18n/languages/zh_TW.mjs +5 -2
  156. package/esm2020/icon/icon.component.mjs +9 -14
  157. package/esm2020/icon/icon.module.mjs +4 -4
  158. package/esm2020/icon/icon.property.mjs +3 -3
  159. package/esm2020/icon/icon.service.mjs +3 -3
  160. package/esm2020/image/image-group.component.mjs +3 -3
  161. package/esm2020/image/image-preview.component.mjs +14 -10
  162. package/esm2020/image/image.component.mjs +3 -3
  163. package/esm2020/image/image.module.mjs +4 -4
  164. package/esm2020/image/image.property.mjs +6 -6
  165. package/esm2020/inner/inner.component.mjs +3 -3
  166. package/esm2020/inner/inner.module.mjs +4 -4
  167. package/esm2020/inner/inner.property.mjs +3 -3
  168. package/esm2020/input/input-group.component.mjs +3 -3
  169. package/esm2020/input/input.component.mjs +3 -3
  170. package/esm2020/input/input.module.mjs +4 -4
  171. package/esm2020/input/input.property.mjs +6 -6
  172. package/esm2020/input-number/input-number.component.mjs +3 -3
  173. package/esm2020/input-number/input-number.module.mjs +4 -4
  174. package/esm2020/input-number/input-number.property.mjs +3 -3
  175. package/esm2020/keyword/keyword.directive.mjs +3 -3
  176. package/esm2020/keyword/keyword.module.mjs +4 -4
  177. package/esm2020/keyword/keyword.property.mjs +3 -3
  178. package/esm2020/layout/col.component.mjs +3 -3
  179. package/esm2020/layout/layout.module.mjs +4 -4
  180. package/esm2020/layout/layout.property.mjs +6 -6
  181. package/esm2020/layout/row.component.mjs +3 -3
  182. package/esm2020/link/link.component.mjs +3 -3
  183. package/esm2020/link/link.module.mjs +4 -4
  184. package/esm2020/link/link.property.mjs +3 -3
  185. package/esm2020/list/list-drop-group.directive.mjs +3 -3
  186. package/esm2020/list/list-option.component.mjs +3 -3
  187. package/esm2020/list/list.component.mjs +5 -5
  188. package/esm2020/list/list.module.mjs +4 -4
  189. package/esm2020/list/list.property.mjs +6 -6
  190. package/esm2020/loading/loading.component.mjs +3 -3
  191. package/esm2020/loading/loading.module.mjs +4 -4
  192. package/esm2020/loading/loading.property.mjs +3 -3
  193. package/esm2020/menu/menu-node.component.mjs +3 -3
  194. package/esm2020/menu/menu.component.mjs +12 -12
  195. package/esm2020/menu/menu.module.mjs +4 -4
  196. package/esm2020/menu/menu.property.mjs +6 -6
  197. package/esm2020/message/message.component.mjs +3 -3
  198. package/esm2020/message/message.module.mjs +4 -4
  199. package/esm2020/message/message.service.mjs +3 -3
  200. package/esm2020/message-box/message-box.component.mjs +3 -3
  201. package/esm2020/message-box/message-box.module.mjs +4 -4
  202. package/esm2020/message-box/message-box.service.mjs +3 -3
  203. package/esm2020/notification/notification.component.mjs +3 -3
  204. package/esm2020/notification/notification.module.mjs +4 -4
  205. package/esm2020/notification/notification.service.mjs +3 -3
  206. package/esm2020/outlet/outlet.directive.mjs +3 -3
  207. package/esm2020/outlet/outlet.module.mjs +4 -4
  208. package/esm2020/page-header/page-header.component.mjs +3 -3
  209. package/esm2020/page-header/page-header.module.mjs +4 -4
  210. package/esm2020/page-header/page-header.property.mjs +3 -3
  211. package/esm2020/pagination/pagination.component.mjs +3 -3
  212. package/esm2020/pagination/pagination.module.mjs +4 -4
  213. package/esm2020/pagination/pagination.property.mjs +3 -3
  214. package/esm2020/pattern/pattern.component.mjs +3 -3
  215. package/esm2020/pattern/pattern.module.mjs +4 -4
  216. package/esm2020/popconfirm/popconfirm.component.mjs +3 -3
  217. package/esm2020/popconfirm/popconfirm.module.mjs +4 -4
  218. package/esm2020/popconfirm/popconfirm.property.mjs +3 -3
  219. package/esm2020/popover/popover-portal.component.mjs +3 -3
  220. package/esm2020/popover/popover.directive.mjs +3 -3
  221. package/esm2020/popover/popover.module.mjs +4 -4
  222. package/esm2020/popover/popover.property.mjs +3 -3
  223. package/esm2020/portal/portal.module.mjs +4 -4
  224. package/esm2020/portal/portal.service.mjs +6 -5
  225. package/esm2020/progress/progress.component.mjs +3 -3
  226. package/esm2020/progress/progress.module.mjs +4 -4
  227. package/esm2020/progress/progress.property.mjs +3 -3
  228. package/esm2020/radio/radio.component.mjs +3 -3
  229. package/esm2020/radio/radio.module.mjs +4 -4
  230. package/esm2020/radio/radio.property.mjs +3 -3
  231. package/esm2020/rate/rate.component.mjs +3 -3
  232. package/esm2020/rate/rate.module.mjs +4 -4
  233. package/esm2020/rate/rate.property.mjs +3 -3
  234. package/esm2020/resizable/resizable.directive.mjs +10 -13
  235. package/esm2020/resizable/resizable.module.mjs +4 -4
  236. package/esm2020/resizable/resizable.property.mjs +3 -3
  237. package/esm2020/result/result.component.mjs +3 -3
  238. package/esm2020/result/result.module.mjs +4 -4
  239. package/esm2020/result/result.property.mjs +3 -3
  240. package/esm2020/ripple/ripple.directive.mjs +6 -5
  241. package/esm2020/ripple/ripple.module.mjs +4 -4
  242. package/esm2020/ripple/ripple.property.mjs +3 -3
  243. package/esm2020/select/select-portal.component.mjs +3 -3
  244. package/esm2020/select/select.component.mjs +6 -6
  245. package/esm2020/select/select.module.mjs +4 -4
  246. package/esm2020/select/select.property.mjs +3 -3
  247. package/esm2020/skeleton/skeleton.component.mjs +3 -3
  248. package/esm2020/skeleton/skeleton.module.mjs +4 -4
  249. package/esm2020/skeleton/skeleton.property.mjs +3 -3
  250. package/esm2020/slider/slider.component.mjs +7 -5
  251. package/esm2020/slider/slider.module.mjs +4 -4
  252. package/esm2020/slider/slider.property.mjs +3 -3
  253. package/esm2020/slider-select/slider-select.component.mjs +21 -14
  254. package/esm2020/slider-select/slider-select.module.mjs +4 -4
  255. package/esm2020/slider-select/slider-select.property.mjs +3 -3
  256. package/esm2020/statistic/countdown.component.mjs +3 -3
  257. package/esm2020/statistic/statistic.component.mjs +3 -3
  258. package/esm2020/statistic/statistic.module.mjs +4 -4
  259. package/esm2020/statistic/statistic.property.mjs +6 -6
  260. package/esm2020/steps/steps.component.mjs +3 -3
  261. package/esm2020/steps/steps.module.mjs +4 -4
  262. package/esm2020/steps/steps.property.mjs +3 -3
  263. package/esm2020/switch/switch.component.mjs +3 -3
  264. package/esm2020/switch/switch.module.mjs +4 -4
  265. package/esm2020/switch/switch.property.mjs +3 -3
  266. package/esm2020/table/drag.directive.mjs +8 -11
  267. package/esm2020/table/table-body.component.mjs +10 -13
  268. package/esm2020/table/table-foot.component.mjs +3 -3
  269. package/esm2020/table/table-head.component.mjs +3 -3
  270. package/esm2020/table/table.component.mjs +3 -3
  271. package/esm2020/table/table.module.mjs +4 -4
  272. package/esm2020/table/table.property.mjs +12 -12
  273. package/esm2020/tabs/tab-content.component.mjs +3 -3
  274. package/esm2020/tabs/tab-link.directive.mjs +6 -6
  275. package/esm2020/tabs/tab.component.mjs +3 -3
  276. package/esm2020/tabs/tabs.component.mjs +4 -4
  277. package/esm2020/tabs/tabs.module.mjs +4 -4
  278. package/esm2020/tabs/tabs.property.mjs +6 -6
  279. package/esm2020/tag/tag.component.mjs +3 -3
  280. package/esm2020/tag/tag.module.mjs +4 -4
  281. package/esm2020/tag/tag.property.mjs +3 -3
  282. package/esm2020/text-retract/text-retract.component.mjs +3 -3
  283. package/esm2020/text-retract/text-retract.module.mjs +4 -4
  284. package/esm2020/text-retract/text-retract.property.mjs +3 -3
  285. package/esm2020/textarea/textarea.component.mjs +3 -3
  286. package/esm2020/textarea/textarea.module.mjs +4 -4
  287. package/esm2020/textarea/textarea.property.mjs +3 -3
  288. package/esm2020/theme/theme.component.mjs +3 -3
  289. package/esm2020/theme/theme.module.mjs +4 -4
  290. package/esm2020/theme/theme.property.mjs +3 -3
  291. package/esm2020/time-ago/time-ago.module.mjs +4 -4
  292. package/esm2020/time-ago/time-ago.pipe.mjs +3 -3
  293. package/esm2020/time-picker/time-picker-frame.component.mjs +3 -3
  294. package/esm2020/time-picker/time-picker-portal.component.mjs +3 -3
  295. package/esm2020/time-picker/time-picker.component.mjs +21 -5
  296. package/esm2020/time-picker/time-picker.module.mjs +4 -4
  297. package/esm2020/time-picker/time-picker.property.mjs +3 -3
  298. package/esm2020/time-range/time-range.module.mjs +4 -4
  299. package/esm2020/time-range/time-range.pipe.mjs +3 -3
  300. package/esm2020/timeline/timeline.component.mjs +3 -3
  301. package/esm2020/timeline/timeline.module.mjs +4 -4
  302. package/esm2020/timeline/timeline.property.mjs +3 -3
  303. package/esm2020/tooltip/tooltip-portal.component.mjs +3 -3
  304. package/esm2020/tooltip/tooltip.directive.mjs +3 -3
  305. package/esm2020/tooltip/tooltip.module.mjs +4 -4
  306. package/esm2020/tooltip/tooltip.property.mjs +3 -3
  307. package/esm2020/transfer/transfer.component.mjs +3 -3
  308. package/esm2020/transfer/transfer.module.mjs +4 -4
  309. package/esm2020/transfer/transfer.property.mjs +3 -3
  310. package/esm2020/tree/tree-node.component.mjs +3 -3
  311. package/esm2020/tree/tree.component.mjs +6 -6
  312. package/esm2020/tree/tree.module.mjs +4 -4
  313. package/esm2020/tree/tree.property.mjs +6 -6
  314. package/esm2020/tree/tree.service.mjs +3 -3
  315. package/esm2020/tree-file/tree-file.component.mjs +9 -6
  316. package/esm2020/tree-file/tree-file.module.mjs +4 -4
  317. package/esm2020/tree-file/tree-file.property.mjs +5 -5
  318. package/esm2020/tree-select/tree-select-portal.component.mjs +3 -3
  319. package/esm2020/tree-select/tree-select.component.mjs +6 -6
  320. package/esm2020/tree-select/tree-select.module.mjs +4 -4
  321. package/esm2020/tree-select/tree-select.property.mjs +3 -3
  322. package/esm2020/typography/typography.component.mjs +3 -3
  323. package/esm2020/typography/typography.module.mjs +4 -4
  324. package/esm2020/typography/typography.property.mjs +3 -3
  325. package/esm2020/upload/upload-portal.component.mjs +8 -11
  326. package/esm2020/upload/upload.component.mjs +3 -3
  327. package/esm2020/upload/upload.module.mjs +4 -4
  328. package/esm2020/upload/upload.property.mjs +3 -3
  329. package/fesm2015/ng-nest-ui-affix.mjs +10 -10
  330. package/fesm2015/ng-nest-ui-alert.mjs +10 -10
  331. package/fesm2015/ng-nest-ui-anchor.mjs +28 -33
  332. package/fesm2015/ng-nest-ui-anchor.mjs.map +1 -1
  333. package/fesm2015/ng-nest-ui-api.mjs +7 -7
  334. package/fesm2015/ng-nest-ui-auto-complete.mjs +13 -13
  335. package/fesm2015/ng-nest-ui-avatar.mjs +20 -25
  336. package/fesm2015/ng-nest-ui-avatar.mjs.map +1 -1
  337. package/fesm2015/ng-nest-ui-back-top.mjs +23 -24
  338. package/fesm2015/ng-nest-ui-back-top.mjs.map +1 -1
  339. package/fesm2015/ng-nest-ui-badge.mjs +10 -10
  340. package/fesm2015/ng-nest-ui-base-form.mjs +10 -10
  341. package/fesm2015/ng-nest-ui-border.mjs +7 -7
  342. package/fesm2015/ng-nest-ui-button.mjs +35 -22
  343. package/fesm2015/ng-nest-ui-button.mjs.map +1 -1
  344. package/fesm2015/ng-nest-ui-calendar.mjs +10 -10
  345. package/fesm2015/ng-nest-ui-card.mjs +10 -10
  346. package/fesm2015/ng-nest-ui-carousel.mjs +16 -16
  347. package/fesm2015/ng-nest-ui-carousel.mjs.map +1 -1
  348. package/fesm2015/ng-nest-ui-cascade.mjs +13 -13
  349. package/fesm2015/ng-nest-ui-checkbox.mjs +10 -10
  350. package/fesm2015/ng-nest-ui-collapse.mjs +16 -16
  351. package/fesm2015/ng-nest-ui-color-picker.mjs +15 -15
  352. package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
  353. package/fesm2015/ng-nest-ui-color.mjs +16 -21
  354. package/fesm2015/ng-nest-ui-color.mjs.map +1 -1
  355. package/fesm2015/ng-nest-ui-comment.mjs +16 -16
  356. package/fesm2015/ng-nest-ui-container.mjs +31 -31
  357. package/fesm2015/ng-nest-ui-core.mjs +83 -51
  358. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  359. package/fesm2015/ng-nest-ui-crumb.mjs +10 -10
  360. package/fesm2015/ng-nest-ui-date-picker.mjs +49 -49
  361. package/fesm2015/ng-nest-ui-description.mjs +16 -16
  362. package/fesm2015/ng-nest-ui-dialog.mjs +40 -40
  363. package/fesm2015/ng-nest-ui-doc.mjs +7 -7
  364. package/fesm2015/ng-nest-ui-drawer.mjs +31 -31
  365. package/fesm2015/ng-nest-ui-dropdown.mjs +13 -13
  366. package/fesm2015/ng-nest-ui-empty.mjs +10 -10
  367. package/fesm2015/ng-nest-ui-examples.mjs +7 -7
  368. package/fesm2015/ng-nest-ui-find.mjs +10 -10
  369. package/fesm2015/ng-nest-ui-find.mjs.map +1 -1
  370. package/fesm2015/ng-nest-ui-form.mjs +16 -16
  371. package/fesm2015/ng-nest-ui-highlight.mjs +15 -14
  372. package/fesm2015/ng-nest-ui-highlight.mjs.map +1 -1
  373. package/fesm2015/ng-nest-ui-i18n.mjs +29 -17
  374. package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
  375. package/fesm2015/ng-nest-ui-icon.mjs +18 -25
  376. package/fesm2015/ng-nest-ui-icon.mjs.map +1 -1
  377. package/fesm2015/ng-nest-ui-image.mjs +30 -26
  378. package/fesm2015/ng-nest-ui-image.mjs.map +1 -1
  379. package/fesm2015/ng-nest-ui-inner.mjs +10 -10
  380. package/fesm2015/ng-nest-ui-input-number.mjs +10 -10
  381. package/fesm2015/ng-nest-ui-input.mjs +16 -16
  382. package/fesm2015/ng-nest-ui-keyword.mjs +10 -10
  383. package/fesm2015/ng-nest-ui-layout.mjs +16 -16
  384. package/fesm2015/ng-nest-ui-link.mjs +10 -10
  385. package/fesm2015/ng-nest-ui-list.mjs +20 -20
  386. package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
  387. package/fesm2015/ng-nest-ui-loading.mjs +10 -10
  388. package/fesm2015/ng-nest-ui-menu.mjs +24 -26
  389. package/fesm2015/ng-nest-ui-menu.mjs.map +1 -1
  390. package/fesm2015/ng-nest-ui-message-box.mjs +10 -10
  391. package/fesm2015/ng-nest-ui-message.mjs +10 -10
  392. package/fesm2015/ng-nest-ui-notification.mjs +10 -10
  393. package/fesm2015/ng-nest-ui-outlet.mjs +7 -7
  394. package/fesm2015/ng-nest-ui-page-header.mjs +10 -10
  395. package/fesm2015/ng-nest-ui-pagination.mjs +10 -10
  396. package/fesm2015/ng-nest-ui-pattern.mjs +7 -7
  397. package/fesm2015/ng-nest-ui-popconfirm.mjs +10 -10
  398. package/fesm2015/ng-nest-ui-popover.mjs +13 -13
  399. package/fesm2015/ng-nest-ui-portal.mjs +9 -9
  400. package/fesm2015/ng-nest-ui-portal.mjs.map +1 -1
  401. package/fesm2015/ng-nest-ui-progress.mjs +10 -10
  402. package/fesm2015/ng-nest-ui-radio.mjs +10 -10
  403. package/fesm2015/ng-nest-ui-rate.mjs +10 -10
  404. package/fesm2015/ng-nest-ui-resizable.mjs +16 -21
  405. package/fesm2015/ng-nest-ui-resizable.mjs.map +1 -1
  406. package/fesm2015/ng-nest-ui-result.mjs +10 -10
  407. package/fesm2015/ng-nest-ui-ripple.mjs +12 -12
  408. package/fesm2015/ng-nest-ui-ripple.mjs.map +1 -1
  409. package/fesm2015/ng-nest-ui-select.mjs +15 -15
  410. package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
  411. package/fesm2015/ng-nest-ui-skeleton.mjs +10 -10
  412. package/fesm2015/ng-nest-ui-slider-select.mjs +27 -20
  413. package/fesm2015/ng-nest-ui-slider-select.mjs.map +1 -1
  414. package/fesm2015/ng-nest-ui-slider.mjs +13 -11
  415. package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
  416. package/fesm2015/ng-nest-ui-statistic.mjs +16 -16
  417. package/fesm2015/ng-nest-ui-steps.mjs +10 -10
  418. package/fesm2015/ng-nest-ui-switch.mjs +10 -10
  419. package/fesm2015/ng-nest-ui-table.mjs +40 -50
  420. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  421. package/fesm2015/ng-nest-ui-tabs.mjs +25 -25
  422. package/fesm2015/ng-nest-ui-tabs.mjs.map +1 -1
  423. package/fesm2015/ng-nest-ui-tag.mjs +10 -10
  424. package/fesm2015/ng-nest-ui-text-retract.mjs +10 -10
  425. package/fesm2015/ng-nest-ui-textarea.mjs +10 -10
  426. package/fesm2015/ng-nest-ui-theme.mjs +10 -10
  427. package/fesm2015/ng-nest-ui-time-ago.mjs +7 -7
  428. package/fesm2015/ng-nest-ui-time-picker.mjs +33 -17
  429. package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
  430. package/fesm2015/ng-nest-ui-time-range.mjs +7 -7
  431. package/fesm2015/ng-nest-ui-timeline.mjs +10 -10
  432. package/fesm2015/ng-nest-ui-tooltip.mjs +13 -13
  433. package/fesm2015/ng-nest-ui-transfer.mjs +10 -10
  434. package/fesm2015/ng-nest-ui-tree-file.mjs +16 -13
  435. package/fesm2015/ng-nest-ui-tree-file.mjs.map +1 -1
  436. package/fesm2015/ng-nest-ui-tree-select.mjs +15 -15
  437. package/fesm2015/ng-nest-ui-tree-select.mjs.map +1 -1
  438. package/fesm2015/ng-nest-ui-tree.mjs +21 -21
  439. package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
  440. package/fesm2015/ng-nest-ui-typography.mjs +10 -10
  441. package/fesm2015/ng-nest-ui-upload.mjs +17 -22
  442. package/fesm2015/ng-nest-ui-upload.mjs.map +1 -1
  443. package/fesm2020/ng-nest-ui-affix.mjs +10 -10
  444. package/fesm2020/ng-nest-ui-alert.mjs +10 -10
  445. package/fesm2020/ng-nest-ui-anchor.mjs +28 -31
  446. package/fesm2020/ng-nest-ui-anchor.mjs.map +1 -1
  447. package/fesm2020/ng-nest-ui-api.mjs +7 -7
  448. package/fesm2020/ng-nest-ui-auto-complete.mjs +13 -13
  449. package/fesm2020/ng-nest-ui-avatar.mjs +20 -23
  450. package/fesm2020/ng-nest-ui-avatar.mjs.map +1 -1
  451. package/fesm2020/ng-nest-ui-back-top.mjs +23 -22
  452. package/fesm2020/ng-nest-ui-back-top.mjs.map +1 -1
  453. package/fesm2020/ng-nest-ui-badge.mjs +10 -10
  454. package/fesm2020/ng-nest-ui-base-form.mjs +10 -10
  455. package/fesm2020/ng-nest-ui-border.mjs +7 -7
  456. package/fesm2020/ng-nest-ui-button.mjs +34 -22
  457. package/fesm2020/ng-nest-ui-button.mjs.map +1 -1
  458. package/fesm2020/ng-nest-ui-calendar.mjs +10 -10
  459. package/fesm2020/ng-nest-ui-card.mjs +10 -10
  460. package/fesm2020/ng-nest-ui-carousel.mjs +16 -16
  461. package/fesm2020/ng-nest-ui-carousel.mjs.map +1 -1
  462. package/fesm2020/ng-nest-ui-cascade.mjs +13 -13
  463. package/fesm2020/ng-nest-ui-checkbox.mjs +10 -10
  464. package/fesm2020/ng-nest-ui-collapse.mjs +16 -16
  465. package/fesm2020/ng-nest-ui-color-picker.mjs +15 -15
  466. package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
  467. package/fesm2020/ng-nest-ui-color.mjs +16 -19
  468. package/fesm2020/ng-nest-ui-color.mjs.map +1 -1
  469. package/fesm2020/ng-nest-ui-comment.mjs +16 -16
  470. package/fesm2020/ng-nest-ui-container.mjs +31 -31
  471. package/fesm2020/ng-nest-ui-core.mjs +83 -47
  472. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  473. package/fesm2020/ng-nest-ui-crumb.mjs +10 -10
  474. package/fesm2020/ng-nest-ui-date-picker.mjs +49 -49
  475. package/fesm2020/ng-nest-ui-description.mjs +16 -16
  476. package/fesm2020/ng-nest-ui-dialog.mjs +40 -40
  477. package/fesm2020/ng-nest-ui-doc.mjs +7 -7
  478. package/fesm2020/ng-nest-ui-drawer.mjs +31 -31
  479. package/fesm2020/ng-nest-ui-dropdown.mjs +13 -13
  480. package/fesm2020/ng-nest-ui-empty.mjs +10 -10
  481. package/fesm2020/ng-nest-ui-examples.mjs +7 -7
  482. package/fesm2020/ng-nest-ui-find.mjs +10 -10
  483. package/fesm2020/ng-nest-ui-find.mjs.map +1 -1
  484. package/fesm2020/ng-nest-ui-form.mjs +16 -16
  485. package/fesm2020/ng-nest-ui-highlight.mjs +15 -14
  486. package/fesm2020/ng-nest-ui-highlight.mjs.map +1 -1
  487. package/fesm2020/ng-nest-ui-i18n.mjs +29 -17
  488. package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
  489. package/fesm2020/ng-nest-ui-icon.mjs +18 -23
  490. package/fesm2020/ng-nest-ui-icon.mjs.map +1 -1
  491. package/fesm2020/ng-nest-ui-image.mjs +29 -26
  492. package/fesm2020/ng-nest-ui-image.mjs.map +1 -1
  493. package/fesm2020/ng-nest-ui-inner.mjs +10 -10
  494. package/fesm2020/ng-nest-ui-input-number.mjs +10 -10
  495. package/fesm2020/ng-nest-ui-input.mjs +16 -16
  496. package/fesm2020/ng-nest-ui-keyword.mjs +10 -10
  497. package/fesm2020/ng-nest-ui-layout.mjs +16 -16
  498. package/fesm2020/ng-nest-ui-link.mjs +10 -10
  499. package/fesm2020/ng-nest-ui-list.mjs +20 -20
  500. package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
  501. package/fesm2020/ng-nest-ui-loading.mjs +10 -10
  502. package/fesm2020/ng-nest-ui-menu.mjs +24 -24
  503. package/fesm2020/ng-nest-ui-menu.mjs.map +1 -1
  504. package/fesm2020/ng-nest-ui-message-box.mjs +10 -10
  505. package/fesm2020/ng-nest-ui-message.mjs +10 -10
  506. package/fesm2020/ng-nest-ui-notification.mjs +10 -10
  507. package/fesm2020/ng-nest-ui-outlet.mjs +7 -7
  508. package/fesm2020/ng-nest-ui-page-header.mjs +10 -10
  509. package/fesm2020/ng-nest-ui-pagination.mjs +10 -10
  510. package/fesm2020/ng-nest-ui-pattern.mjs +7 -7
  511. package/fesm2020/ng-nest-ui-popconfirm.mjs +10 -10
  512. package/fesm2020/ng-nest-ui-popover.mjs +13 -13
  513. package/fesm2020/ng-nest-ui-portal.mjs +9 -9
  514. package/fesm2020/ng-nest-ui-portal.mjs.map +1 -1
  515. package/fesm2020/ng-nest-ui-progress.mjs +10 -10
  516. package/fesm2020/ng-nest-ui-radio.mjs +10 -10
  517. package/fesm2020/ng-nest-ui-rate.mjs +10 -10
  518. package/fesm2020/ng-nest-ui-resizable.mjs +16 -19
  519. package/fesm2020/ng-nest-ui-resizable.mjs.map +1 -1
  520. package/fesm2020/ng-nest-ui-result.mjs +10 -10
  521. package/fesm2020/ng-nest-ui-ripple.mjs +12 -12
  522. package/fesm2020/ng-nest-ui-ripple.mjs.map +1 -1
  523. package/fesm2020/ng-nest-ui-select.mjs +15 -15
  524. package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
  525. package/fesm2020/ng-nest-ui-skeleton.mjs +10 -10
  526. package/fesm2020/ng-nest-ui-slider-select.mjs +27 -20
  527. package/fesm2020/ng-nest-ui-slider-select.mjs.map +1 -1
  528. package/fesm2020/ng-nest-ui-slider.mjs +13 -11
  529. package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
  530. package/fesm2020/ng-nest-ui-statistic.mjs +16 -16
  531. package/fesm2020/ng-nest-ui-steps.mjs +10 -10
  532. package/fesm2020/ng-nest-ui-switch.mjs +10 -10
  533. package/fesm2020/ng-nest-ui-table.mjs +40 -46
  534. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  535. package/fesm2020/ng-nest-ui-tabs.mjs +25 -25
  536. package/fesm2020/ng-nest-ui-tabs.mjs.map +1 -1
  537. package/fesm2020/ng-nest-ui-tag.mjs +10 -10
  538. package/fesm2020/ng-nest-ui-text-retract.mjs +10 -10
  539. package/fesm2020/ng-nest-ui-textarea.mjs +10 -10
  540. package/fesm2020/ng-nest-ui-theme.mjs +10 -10
  541. package/fesm2020/ng-nest-ui-time-ago.mjs +7 -7
  542. package/fesm2020/ng-nest-ui-time-picker.mjs +33 -17
  543. package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
  544. package/fesm2020/ng-nest-ui-time-range.mjs +7 -7
  545. package/fesm2020/ng-nest-ui-timeline.mjs +10 -10
  546. package/fesm2020/ng-nest-ui-tooltip.mjs +13 -13
  547. package/fesm2020/ng-nest-ui-transfer.mjs +10 -10
  548. package/fesm2020/ng-nest-ui-tree-file.mjs +16 -13
  549. package/fesm2020/ng-nest-ui-tree-file.mjs.map +1 -1
  550. package/fesm2020/ng-nest-ui-tree-select.mjs +15 -15
  551. package/fesm2020/ng-nest-ui-tree-select.mjs.map +1 -1
  552. package/fesm2020/ng-nest-ui-tree.mjs +21 -21
  553. package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
  554. package/fesm2020/ng-nest-ui-typography.mjs +10 -10
  555. package/fesm2020/ng-nest-ui-upload.mjs +17 -20
  556. package/fesm2020/ng-nest-ui-upload.mjs.map +1 -1
  557. package/i18n/i18n.property.d.ts +3 -0
  558. package/i18n/languages/en_GB.d.ts +3 -0
  559. package/i18n/languages/en_US.d.ts +3 -0
  560. package/i18n/languages/zh_CN.d.ts +3 -0
  561. package/i18n/languages/zh_TW.d.ts +3 -0
  562. package/icon/icon.component.d.ts +4 -4
  563. package/image/image-preview.component.d.ts +1 -0
  564. package/menu/menu.component.d.ts +2 -2
  565. package/package.json +1 -1
  566. package/resizable/resizable.directive.d.ts +1 -1
  567. package/slider-select/slider-select.component.d.ts +1 -1
  568. package/table/drag.directive.d.ts +1 -1
  569. package/table/table-body.component.d.ts +2 -2
  570. package/time-picker/time-picker.component.d.ts +1 -0
  571. package/upload/upload-portal.component.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  import { DOCUMENT } from '@angular/common';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, Inject } from '@angular/core';
2
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, inject } from '@angular/core';
3
3
  import { fromEvent, Subject } from 'rxjs';
4
4
  import { takeUntil } from 'rxjs/operators';
5
5
  import { XClamp } from '@ng-nest/ui/core';
@@ -7,7 +7,7 @@ import { XUploadPortalPrefix } from './upload.property';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@ng-nest/ui/icon";
9
9
  export class XUploadPortalComponent {
10
- constructor(renderer, cdr, document) {
10
+ constructor(renderer, cdr) {
11
11
  this.renderer = renderer;
12
12
  this.cdr = cdr;
13
13
  this.ready = false;
@@ -27,8 +27,8 @@ export class XUploadPortalComponent {
27
27
  x: 0,
28
28
  y: 0
29
29
  };
30
+ this.doc = inject(DOCUMENT);
30
31
  this._unSubject = new Subject();
31
- this.doc = document;
32
32
  }
33
33
  ngOnInit() { }
34
34
  ngAfterViewInit() {
@@ -179,15 +179,12 @@ export class XUploadPortalComponent {
179
179
  };
180
180
  }
181
181
  }
182
- /** @nocollapse */ XUploadPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XUploadPortalComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
183
- /** @nocollapse */ XUploadPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", 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 });
184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XUploadPortalComponent, decorators: [{
182
+ /** @nocollapse */ XUploadPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XUploadPortalComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
183
+ /** @nocollapse */ XUploadPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", 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 });
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XUploadPortalComponent, decorators: [{
185
185
  type: Component,
186
186
  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"] }]
187
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
188
- type: Inject,
189
- args: [DOCUMENT]
190
- }] }]; }, propDecorators: { imgRef: [{
187
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { imgRef: [{
191
188
  type: ViewChild,
192
189
  args: ['imgRef']
193
190
  }], imgClipRef: [{
@@ -200,4 +197,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
200
197
  type: ViewChild,
201
198
  args: ['cutRef']
202
199
  }] } });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXBvcnRhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS91cGxvYWQvdXBsb2FkLXBvcnRhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS91cGxvYWQvdXBsb2FkLXBvcnRhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFJVCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQStCLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQVNyRixNQUFNLE9BQU8sc0JBQXNCO0lBcUNqQyxZQUFvQixRQUFtQixFQUFVLEdBQXNCLEVBQW9CLFFBQWE7UUFBcEYsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBL0J2RSxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsWUFBTyxHQUFtQixFQUFFLENBQUM7UUFDN0IsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGlCQUFZLEdBQUc7WUFDYixLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQztRQUNGLGdCQUFXLEdBQUc7WUFDWixLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQztRQUNGLFdBQU0sR0FBRztZQUNQLEtBQUss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Q0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQzlCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ2hCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMzRixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBWSxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztJQUNKLENBQUM7O3NJQTdNVSxzQkFBc0IsNEVBcUNnRCxRQUFROzBIQXJDOUUsc0JBQXNCLG9hQ3ZCbkMsMDNDQTRCQTsyRkRMYSxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0UsR0FBRyxtQkFBbUIsRUFBRSxpQkFHbkIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBdUMyQixNQUFNOzJCQUFDLFFBQVE7NENBbkNwRSxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ00sVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNHLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFDSCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFZpZXdDaGlsZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBJbmplY3RcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWENsYW1wIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhVcGxvYWRDdXRUeXBlLCBYVXBsb2FkTm9kZSwgWFVwbG9hZFBvcnRhbFByZWZpeCB9IGZyb20gJy4vdXBsb2FkLnByb3BlcnR5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYVXBsb2FkUG9ydGFsUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC1wb3J0YWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VwbG9hZC1wb3J0YWwuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVXBsb2FkUG9ydGFsQ29tcG9uZW50IHtcclxuICBmaWxlPzogWFVwbG9hZE5vZGU7XHJcbiAgQFZpZXdDaGlsZCgnaW1nUmVmJykgaW1nUmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnaW1nQ2xpcFJlZicpIGltZ0NsaXBSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdib3VuZGFyeVJlZicpIGJvdW5kYXJ5UmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnY3V0UmVmJykgY3V0UmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgcmVhZHkgPSBmYWxzZTtcclxuICBjdXRUeXBlOiBYVXBsb2FkQ3V0VHlwZSA9ICcnO1xyXG4gIHByb3BvcnRpb24gPSAxO1xyXG4gIG9yaWdpbmFsU2l6ZSA9IHtcclxuICAgIHdpZHRoOiAwLFxyXG4gICAgaGVpZ2h0OiAwXHJcbiAgfTtcclxuICBib3VuZGFyeUJveCA9IHtcclxuICAgIHdpZHRoOiAwLFxyXG4gICAgaGVpZ2h0OiAwXHJcbiAgfTtcclxuICBjdXRCb3ggPSB7XHJcbiAgICB3aWR0aDogMCxcclxuICAgIGhlaWdodDogMCxcclxuICAgIHg6IDAsXHJcbiAgICB5OiAwXHJcbiAgfTtcclxuICBjbGlwUmVjdCE6IHtcclxuICAgIHRvcDogbnVtYmVyO1xyXG4gICAgcmlnaHQ6IG51bWJlcjtcclxuICAgIGJvdHRvbTogbnVtYmVyO1xyXG4gICAgbGVmdDogbnVtYmVyO1xyXG4gIH07XHJcblxyXG4gIGRvYzogRG9jdW1lbnQ7XHJcblxyXG4gIGNsb3NlUG9ydGFsITogKCkgPT4gdm9pZDtcclxuICBkZXN0cm95UG9ydGFsITogKCkgPT4gdm9pZDtcclxuICBzdXJlUG9ydGFsITogKGJsb2I6IEJsb2IpID0+IHZvaWQ7XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZG9jID0gZG9jdW1lbnQ7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q3V0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldEN1dCgpIHtcclxuICAgIGxldCB3aWR0aCA9IHRoaXMuaW1nUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XHJcbiAgICBsZXQgaGVpZ2h0ID0gdGhpcy5pbWdSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3dpZHRofXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ib3VuZGFyeVJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt3aWR0aH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmJvdW5kYXJ5UmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWdSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGh9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWdSZWYubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke2hlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltZ0NsaXBSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGh9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWdDbGlwUmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIHRoaXMuY3V0Qm94LndpZHRoID0gd2lkdGg7XHJcbiAgICB0aGlzLmN1dEJveC5oZWlnaHQgPSBoZWlnaHQ7XHJcbiAgICB0aGlzLmJvdW5kYXJ5Qm94ID0geyB3aWR0aCwgaGVpZ2h0IH07XHJcbiAgICB0aGlzLmNsaXBSZWN0ID0ge1xyXG4gICAgICB0b3A6IDAsXHJcbiAgICAgIHJpZ2h0OiB3aWR0aCxcclxuICAgICAgYm90dG9tOiBoZWlnaHQsXHJcbiAgICAgIGxlZnQ6IDBcclxuICAgIH07XHJcbiAgICB0aGlzLnNldE9yaWdpbmFsU2l6ZSgpO1xyXG4gICAgdGhpcy5yZWFkeSA9IHRydWU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgY29uc3QgbW91c2VEb3duID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWRvd24nKS5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKTtcclxuXHJcbiAgICBtb3VzZURvd24uc3Vic2NyaWJlKChkb3duTWU6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgICAgbGV0IHggPSBkb3duTWUucGFnZVg7XHJcbiAgICAgIGxldCB5ID0gZG93bk1lLnBhZ2VZO1xyXG4gICAgICBsZXQgb2Zmc2V0WCA9IDA7XHJcbiAgICAgIGxldCBvZmZzZXRZID0gMDtcclxuICAgICAgY29uc3QgX3VuU3ViID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgICAgbGV0IGNsYXNzTmFtZSA9IChkb3duTWUudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50KS5jbGFzc05hbWU7XHJcbiAgICAgIGNvbnN0IHNwdCA9IGAke1hVcGxvYWRQb3J0YWxQcmVmaXh9LWN1dC1gO1xyXG4gICAgICBpZiAoY2xhc3NOYW1lLmluY2x1ZGVzKHNwdCkpIHtcclxuICAgICAgICB0aGlzLmN1dFR5cGUgPSBjbGFzc05hbWUucmVwbGFjZShzcHQsICcnKSBhcyBYVXBsb2FkQ3V0VHlwZTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudCwgJ21vdXNlbW92ZScpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKF91blN1YikpXHJcbiAgICAgICAgLnN1YnNjcmliZSgobW92ZU1lOiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICAgICAgICBvZmZzZXRYID0gbW92ZU1lLnBhZ2VYIC0geDtcclxuICAgICAgICAgIG9mZnNldFkgPSBtb3ZlTWUucGFnZVkgLSB5O1xyXG4gICAgICAgICAgeCA9IG1vdmVNZS5wYWdlWDtcclxuICAgICAgICAgIHkgPSBtb3ZlTWUucGFnZVk7XHJcbiAgICAgICAgICB0aGlzLnNldEN1dEVsZSh0aGlzLmN1dFR5cGUsIG9mZnNldFgsIG9mZnNldFkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50LCAnbW91c2V1cCcpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKF91blN1YikpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmN1dFR5cGUgPSAnJztcclxuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIF91blN1Yi5uZXh0KCk7XHJcbiAgICAgICAgICBfdW5TdWIuY29tcGxldGUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0T3JpZ2luYWxTaXplKCkge1xyXG4gICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XHJcbiAgICBpbWcuc3JjID0gdGhpcy5maWxlPy51cmwhO1xyXG4gICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgdGhpcy5vcmlnaW5hbFNpemUgPSB7IHdpZHRoOiBpbWcud2lkdGgsIGhlaWdodDogaW1nLmhlaWdodCB9O1xyXG4gICAgICB0aGlzLnByb3BvcnRpb24gPSB0aGlzLmJvdW5kYXJ5Qm94LndpZHRoIC8gdGhpcy5vcmlnaW5hbFNpemUud2lkdGg7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2V0Q3V0RWxlKHBvc2l0aW9uOiBYVXBsb2FkQ3V0VHlwZSwgeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcclxuICAgIHN3aXRjaCAocG9zaXRpb24pIHtcclxuICAgICAgY2FzZSAndG9wLXN0YXJ0JzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCAtPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCAtPSB5O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnggKz0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC55ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3RvcCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3guaGVpZ2h0IC09IHk7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueSArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0b3AtZW5kJzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCArPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCAtPSB5O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnkgKz0geTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmlnaHQnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LndpZHRoICs9IHg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1lbmQnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LndpZHRoICs9IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3guaGVpZ2h0ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3guaGVpZ2h0ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1zdGFydCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3gud2lkdGggLT0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC5oZWlnaHQgKz0geTtcclxuICAgICAgICB0aGlzLmN1dEJveC54ICs9IHg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2xlZnQnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LndpZHRoIC09IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueCArPSB4O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICcnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LnggKz0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC55ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBjb25zdCBib3VuZGFyeVJlY3QgPSB0aGlzLmJvdW5kYXJ5UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgY29uc3QgbWF4WSA9IGJvdW5kYXJ5UmVjdC5oZWlnaHQgLSB0aGlzLmN1dEJveC5oZWlnaHQ7XHJcbiAgICBjb25zdCBtYXhYID0gYm91bmRhcnlSZWN0LndpZHRoIC0gdGhpcy5jdXRCb3gud2lkdGg7XHJcblxyXG4gICAgdGhpcy5jdXRCb3gueCA9IFhDbGFtcCh0aGlzLmN1dEJveC54LCAwLCBtYXhYKTtcclxuICAgIHRoaXMuY3V0Qm94LnkgPSBYQ2xhbXAodGhpcy5jdXRCb3gueSwgMCwgbWF4WSk7XHJcblxyXG4gICAgLy8gY29uc3QgbWF4V2lkdGggPSBib3VuZGFyeVJlY3QuaGVpZ2h0IC0gdGhpcy5jdXRCb3gueTtcclxuICAgIC8vIGNvbnN0IG1heEhlaWdodCA9IGJvdW5kYXJ5UmVjdC53aWR0aCAtIHRoaXMuY3V0Qm94Lng7XHJcblxyXG4gICAgLy8gdGhpcy5jdXRCb3gud2lkdGggPSBYQ2xhbXAodGhpcy5jdXRCb3gud2lkdGgsIDAsIG1heFdpZHRoKTtcclxuICAgIC8vIHRoaXMuY3V0Qm94LmhlaWdodCA9IFhDbGFtcCh0aGlzLmN1dEJveC53aWR0aCwgMCwgbWF4SGVpZ2h0KTtcclxuXHJcbiAgICB0aGlzLmNsaXBSZWN0ID0ge1xyXG4gICAgICB0b3A6IHRoaXMuY3V0Qm94LnksXHJcbiAgICAgIHJpZ2h0OiB0aGlzLmN1dEJveC53aWR0aCArIHRoaXMuY3V0Qm94LngsXHJcbiAgICAgIGJvdHRvbTogdGhpcy5jdXRCb3guaGVpZ2h0ICsgdGhpcy5jdXRCb3gueSxcclxuICAgICAgbGVmdDogdGhpcy5jdXRCb3gueFxyXG4gICAgfTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXHJcbiAgICAgIHRoaXMuaW1nQ2xpcFJlZi5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAnY2xpcCcsXHJcbiAgICAgIGByZWN0KCR7dGhpcy5jbGlwUmVjdC50b3B9cHgsJHt0aGlzLmNsaXBSZWN0LnJpZ2h0fXB4LCR7dGhpcy5jbGlwUmVjdC5ib3R0b219cHgsJHt0aGlzLmNsaXBSZWN0LmxlZnR9cHgpYFxyXG4gICAgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jdXRSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7dGhpcy5jdXRCb3gud2lkdGh9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jdXRSZWYubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke3RoaXMuY3V0Qm94LmhlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmN1dFJlZi5uYXRpdmVFbGVtZW50LCAndHJhbnNmb3JtJywgYHRyYW5zbGF0ZTNkKCR7dGhpcy5jdXRCb3gueH1weCwgJHt0aGlzLmN1dEJveC55fXB4LCAwKWApO1xyXG4gIH1cclxuXHJcbiAgc3VyZSgpIHtcclxuICAgIGNvbnN0IGNhbnZhcyA9IHRoaXMuZG9jLmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xyXG4gICAgY2FudmFzLndpZHRoID0gdGhpcy5jdXRCb3gud2lkdGggLyB0aGlzLnByb3BvcnRpb247XHJcbiAgICBjYW52YXMuaGVpZ2h0ID0gdGhpcy5jdXRCb3guaGVpZ2h0IC8gdGhpcy5wcm9wb3J0aW9uO1xyXG4gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpITtcclxuICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpO1xyXG4gICAgaW1nLnNyYyA9IHRoaXMuZmlsZT8udXJsITtcclxuICAgIGltZy5jcm9zc09yaWdpbiA9ICdhbm9ueW1vdXMnO1xyXG4gICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgY29udGV4dC5kcmF3SW1hZ2UoaW1nLCAtdGhpcy5jdXRCb3gueCAvIHRoaXMucHJvcG9ydGlvbiwgLXRoaXMuY3V0Qm94LnkgLyB0aGlzLnByb3BvcnRpb24pO1xyXG4gICAgICBjYW52YXMudG9CbG9iKChibG9iKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdXJlUG9ydGFsKGJsb2IgYXMgQmxvYik7XHJcbiAgICAgICAgdGhpcy5jbG9zZVBvcnRhbCgpO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwge3sgY3V0VHlwZSB9fVwiIFtjbGFzcy54LXVwbG9hZC1wb3J0YWwtcmVhZHldPVwicmVhZHlcIj5cclxuICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLXRvb2xzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLXRpdGxlXCI+XHJcbiAgICAgIDx4LWljb24gdHlwZT1cImZ0by1pbWFnZVwiPjwveC1pY29uPlxyXG4gICAgICA8c3Bhbj57eyBmaWxlPy5uYW1lIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8eC1pY29uIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWNsb3NlXCIgdHlwZT1cImZ0by14XCIgKGNsaWNrKT1cImNsb3NlUG9ydGFsKClcIj48L3gtaWNvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWltZ1wiPlxyXG4gICAgPGltZyAjaW1nUmVmIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWZ1bGwtaW1nXCIgW3NyY109XCJmaWxlPy51cmxcIiAvPlxyXG4gICAgPGRpdiAjYm91bmRhcnlSZWYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtYm91bmRhcnlcIj5cclxuICAgICAgPGltZyAjaW1nQ2xpcFJlZiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jbGlwLWltZ1wiIFtzcmNdPVwiZmlsZT8udXJsXCIgLz5cclxuICAgICAgPGRpdiAjY3V0UmVmIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LXRvcC1zdGFydFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LXRvcFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LXRvcC1lbmRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC1sZWZ0XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtcmlnaHRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC1ib3R0b20tc3RhcnRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC1ib3R0b21cIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC1ib3R0b20tZW5kXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1ib3R0b20tdG9vbHNcIj5cclxuICAgIDx4LWljb24gY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY2xvc2VcIiB0eXBlPVwiZnRvLWNoZWNrXCIgKGNsaWNrKT1cInN1cmUoKVwiPjwveC1pY29uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXBvcnRhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS91cGxvYWQvdXBsb2FkLXBvcnRhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS91cGxvYWQvdXBsb2FkLXBvcnRhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFJVCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQStCLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQVNyRixNQUFNLE9BQU8sc0JBQXNCO0lBcUNqQyxZQUFvQixRQUFtQixFQUFVLEdBQXNCO1FBQW5ELGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQS9CdkUsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLFlBQU8sR0FBbUIsRUFBRSxDQUFDO1FBQzdCLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZixpQkFBWSxHQUFHO1lBQ2IsS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUM7UUFDRixnQkFBVyxHQUFHO1lBQ1osS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUM7UUFDRixXQUFNLEdBQUc7WUFDUCxLQUFLLEVBQUUsQ0FBQztZ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QUFXLEdBQUcsV0FBVyxDQUFDO1FBQzlCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ2hCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMzRixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBWSxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztJQUNKLENBQUM7O3NJQTNNVSxzQkFBc0I7MEhBQXRCLHNCQUFzQixvYUN2Qm5DLDAzQ0E0QkE7MkZETGEsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLEdBQUcsbUJBQW1CLEVBQUUsaUJBR25CLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07Z0lBSTFCLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDTSxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ0csV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhO2dCQUNILE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgVmlld0NoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIGluamVjdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBYQ2xhbXAgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWFVwbG9hZEN1dFR5cGUsIFhVcGxvYWROb2RlLCBYVXBsb2FkUG9ydGFsUHJlZml4IH0gZnJvbSAnLi91cGxvYWQucHJvcGVydHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hVcGxvYWRQb3J0YWxQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLXBvcnRhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLXBvcnRhbC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhVcGxvYWRQb3J0YWxDb21wb25lbnQge1xyXG4gIGZpbGU/OiBYVXBsb2FkTm9kZTtcclxuICBAVmlld0NoaWxkKCdpbWdSZWYnKSBpbWdSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdpbWdDbGlwUmVmJykgaW1nQ2xpcFJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2JvdW5kYXJ5UmVmJykgYm91bmRhcnlSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdjdXRSZWYnKSBjdXRSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICByZWFkeSA9IGZhbHNlO1xyXG4gIGN1dFR5cGU6IFhVcGxvYWRDdXRUeXBlID0gJyc7XHJcbiAgcHJvcG9ydGlvbiA9IDE7XHJcbiAgb3JpZ2luYWxTaXplID0ge1xyXG4gICAgd2lkdGg6IDAsXHJcbiAgICBoZWlnaHQ6IDBcclxuICB9O1xyXG4gIGJvdW5kYXJ5Qm94ID0ge1xyXG4gICAgd2lkdGg6IDAsXHJcbiAgICBoZWlnaHQ6IDBcclxuICB9O1xyXG4gIGN1dEJveCA9IHtcclxuICAgIHdpZHRoOiAwLFxyXG4gICAgaGVpZ2h0OiAwLFxyXG4gICAgeDogMCxcclxuICAgIHk6IDBcclxuICB9O1xyXG4gIGNsaXBSZWN0IToge1xyXG4gICAgdG9wOiBudW1iZXI7XHJcbiAgICByaWdodDogbnVtYmVyO1xyXG4gICAgYm90dG9tOiBudW1iZXI7XHJcbiAgICBsZWZ0OiBudW1iZXI7XHJcbiAgfTtcclxuXHJcbiAgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuXHJcbiAgY2xvc2VQb3J0YWwhOiAoKSA9PiB2b2lkO1xyXG4gIGRlc3Ryb3lQb3J0YWwhOiAoKSA9PiB2b2lkO1xyXG4gIHN1cmVQb3J0YWwhOiAoYmxvYjogQmxvYikgPT4gdm9pZDtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNldEN1dCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDdXQoKSB7XHJcbiAgICBsZXQgd2lkdGggPSB0aGlzLmltZ1JlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xyXG4gICAgbGV0IGhlaWdodCA9IHRoaXMuaW1nUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmN1dFJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt3aWR0aH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmN1dFJlZi5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYm91bmRhcnlSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGh9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ib3VuZGFyeVJlZi5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1nUmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3dpZHRofXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1nUmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWdDbGlwUmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3dpZHRofXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1nQ2xpcFJlZi5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLmN1dEJveC53aWR0aCA9IHdpZHRoO1xyXG4gICAgdGhpcy5jdXRCb3guaGVpZ2h0ID0gaGVpZ2h0O1xyXG4gICAgdGhpcy5ib3VuZGFyeUJveCA9IHsgd2lkdGgsIGhlaWdodCB9O1xyXG4gICAgdGhpcy5jbGlwUmVjdCA9IHtcclxuICAgICAgdG9wOiAwLFxyXG4gICAgICByaWdodDogd2lkdGgsXHJcbiAgICAgIGJvdHRvbTogaGVpZ2h0LFxyXG4gICAgICBsZWZ0OiAwXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXRPcmlnaW5hbFNpemUoKTtcclxuICAgIHRoaXMucmVhZHkgPSB0cnVlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgIGNvbnN0IG1vdXNlRG93biA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmN1dFJlZi5uYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJykucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSk7XHJcblxyXG4gICAgbW91c2VEb3duLnN1YnNjcmliZSgoZG93bk1lOiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICAgIGxldCB4ID0gZG93bk1lLnBhZ2VYO1xyXG4gICAgICBsZXQgeSA9IGRvd25NZS5wYWdlWTtcclxuICAgICAgbGV0IG9mZnNldFggPSAwO1xyXG4gICAgICBsZXQgb2Zmc2V0WSA9IDA7XHJcbiAgICAgIGNvbnN0IF91blN1YiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICAgIGxldCBjbGFzc05hbWUgPSAoZG93bk1lLnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudCkuY2xhc3NOYW1lO1xyXG4gICAgICBjb25zdCBzcHQgPSBgJHtYVXBsb2FkUG9ydGFsUHJlZml4fS1jdXQtYDtcclxuICAgICAgaWYgKGNsYXNzTmFtZS5pbmNsdWRlcyhzcHQpKSB7XHJcbiAgICAgICAgdGhpcy5jdXRUeXBlID0gY2xhc3NOYW1lLnJlcGxhY2Uoc3B0LCAnJykgYXMgWFVwbG9hZEN1dFR5cGU7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmRvYy5kb2N1bWVudEVsZW1lbnQsICdtb3VzZW1vdmUnKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbChfdW5TdWIpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKG1vdmVNZTogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgICAgICAgb2Zmc2V0WCA9IG1vdmVNZS5wYWdlWCAtIHg7XHJcbiAgICAgICAgICBvZmZzZXRZID0gbW92ZU1lLnBhZ2VZIC0geTtcclxuICAgICAgICAgIHggPSBtb3ZlTWUucGFnZVg7XHJcbiAgICAgICAgICB5ID0gbW92ZU1lLnBhZ2VZO1xyXG4gICAgICAgICAgdGhpcy5zZXRDdXRFbGUodGhpcy5jdXRUeXBlLCBvZmZzZXRYLCBvZmZzZXRZKTtcclxuICAgICAgICB9KTtcclxuICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudCwgJ21vdXNldXAnKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbChfdW5TdWIpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jdXRUeXBlID0gJyc7XHJcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICBfdW5TdWIubmV4dCgpO1xyXG4gICAgICAgICAgX3VuU3ViLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldE9yaWdpbmFsU2l6ZSgpIHtcclxuICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpO1xyXG4gICAgaW1nLnNyYyA9IHRoaXMuZmlsZT8udXJsITtcclxuICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMub3JpZ2luYWxTaXplID0geyB3aWR0aDogaW1nLndpZHRoLCBoZWlnaHQ6IGltZy5oZWlnaHQgfTtcclxuICAgICAgdGhpcy5wcm9wb3J0aW9uID0gdGhpcy5ib3VuZGFyeUJveC53aWR0aCAvIHRoaXMub3JpZ2luYWxTaXplLndpZHRoO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldEN1dEVsZShwb3NpdGlvbjogWFVwbG9hZEN1dFR5cGUsIHg6IG51bWJlciwgeTogbnVtYmVyKSB7XHJcbiAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7XHJcbiAgICAgIGNhc2UgJ3RvcC1zdGFydCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3gud2lkdGggLT0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC5oZWlnaHQgLT0geTtcclxuICAgICAgICB0aGlzLmN1dEJveC54ICs9IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueSArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0b3AnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCAtPSB5O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnkgKz0geTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndG9wLWVuZCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3gud2lkdGggKz0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC5oZWlnaHQgLT0geTtcclxuICAgICAgICB0aGlzLmN1dEJveC55ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCArPSB4O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20tZW5kJzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCArPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20nOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20tc3RhcnQnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LndpZHRoIC09IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3guaGVpZ2h0ICs9IHk7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueCArPSB4O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdsZWZ0JzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCAtPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnggKz0geDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnJzpcclxuICAgICAgICB0aGlzLmN1dEJveC54ICs9IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueSArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYm91bmRhcnlSZWN0ID0gdGhpcy5ib3VuZGFyeVJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgIGNvbnN0IG1heFkgPSBib3VuZGFyeVJlY3QuaGVpZ2h0IC0gdGhpcy5jdXRCb3guaGVpZ2h0O1xyXG4gICAgY29uc3QgbWF4WCA9IGJvdW5kYXJ5UmVjdC53aWR0aCAtIHRoaXMuY3V0Qm94LndpZHRoO1xyXG5cclxuICAgIHRoaXMuY3V0Qm94LnggPSBYQ2xhbXAodGhpcy5jdXRCb3gueCwgMCwgbWF4WCk7XHJcbiAgICB0aGlzLmN1dEJveC55ID0gWENsYW1wKHRoaXMuY3V0Qm94LnksIDAsIG1heFkpO1xyXG5cclxuICAgIC8vIGNvbnN0IG1heFdpZHRoID0gYm91bmRhcnlSZWN0LmhlaWdodCAtIHRoaXMuY3V0Qm94Lnk7XHJcbiAgICAvLyBjb25zdCBtYXhIZWlnaHQgPSBib3VuZGFyeVJlY3Qud2lkdGggLSB0aGlzLmN1dEJveC54O1xyXG5cclxuICAgIC8vIHRoaXMuY3V0Qm94LndpZHRoID0gWENsYW1wKHRoaXMuY3V0Qm94LndpZHRoLCAwLCBtYXhXaWR0aCk7XHJcbiAgICAvLyB0aGlzLmN1dEJveC5oZWlnaHQgPSBYQ2xhbXAodGhpcy5jdXRCb3gud2lkdGgsIDAsIG1heEhlaWdodCk7XHJcblxyXG4gICAgdGhpcy5jbGlwUmVjdCA9IHtcclxuICAgICAgdG9wOiB0aGlzLmN1dEJveC55LFxyXG4gICAgICByaWdodDogdGhpcy5jdXRCb3gud2lkdGggKyB0aGlzLmN1dEJveC54LFxyXG4gICAgICBib3R0b206IHRoaXMuY3V0Qm94LmhlaWdodCArIHRoaXMuY3V0Qm94LnksXHJcbiAgICAgIGxlZnQ6IHRoaXMuY3V0Qm94LnhcclxuICAgIH07XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxyXG4gICAgICB0aGlzLmltZ0NsaXBSZWYubmF0aXZlRWxlbWVudCxcclxuICAgICAgJ2NsaXAnLFxyXG4gICAgICBgcmVjdCgke3RoaXMuY2xpcFJlY3QudG9wfXB4LCR7dGhpcy5jbGlwUmVjdC5yaWdodH1weCwke3RoaXMuY2xpcFJlY3QuYm90dG9tfXB4LCR7dGhpcy5jbGlwUmVjdC5sZWZ0fXB4KWBcclxuICAgICk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3RoaXMuY3V0Qm94LndpZHRofXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHt0aGlzLmN1dEJveC5oZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jdXRSZWYubmF0aXZlRWxlbWVudCwgJ3RyYW5zZm9ybScsIGB0cmFuc2xhdGUzZCgke3RoaXMuY3V0Qm94Lnh9cHgsICR7dGhpcy5jdXRCb3gueX1weCwgMClgKTtcclxuICB9XHJcblxyXG4gIHN1cmUoKSB7XHJcbiAgICBjb25zdCBjYW52YXMgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuICAgIGNhbnZhcy53aWR0aCA9IHRoaXMuY3V0Qm94LndpZHRoIC8gdGhpcy5wcm9wb3J0aW9uO1xyXG4gICAgY2FudmFzLmhlaWdodCA9IHRoaXMuY3V0Qm94LmhlaWdodCAvIHRoaXMucHJvcG9ydGlvbjtcclxuICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKSE7XHJcbiAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcclxuICAgIGltZy5zcmMgPSB0aGlzLmZpbGU/LnVybCE7XHJcbiAgICBpbWcuY3Jvc3NPcmlnaW4gPSAnYW5vbnltb3VzJztcclxuICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIGNvbnRleHQuZHJhd0ltYWdlKGltZywgLXRoaXMuY3V0Qm94LnggLyB0aGlzLnByb3BvcnRpb24sIC10aGlzLmN1dEJveC55IC8gdGhpcy5wcm9wb3J0aW9uKTtcclxuICAgICAgY2FudmFzLnRvQmxvYigoYmxvYikgPT4ge1xyXG4gICAgICAgIHRoaXMuc3VyZVBvcnRhbChibG9iIGFzIEJsb2IpO1xyXG4gICAgICAgIHRoaXMuY2xvc2VQb3J0YWwoKTtcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsIHt7IGN1dFR5cGUgfX1cIiBbY2xhc3MueC11cGxvYWQtcG9ydGFsLXJlYWR5XT1cInJlYWR5XCI+XHJcbiAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC10b29sc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC10aXRsZVwiPlxyXG4gICAgICA8eC1pY29uIHR5cGU9XCJmdG8taW1hZ2VcIj48L3gtaWNvbj5cclxuICAgICAgPHNwYW4+e3sgZmlsZT8ubmFtZSB9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHgtaWNvbiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jbG9zZVwiIHR5cGU9XCJmdG8teFwiIChjbGljayk9XCJjbG9zZVBvcnRhbCgpXCI+PC94LWljb24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1pbWdcIj5cclxuICAgIDxpbWcgI2ltZ1JlZiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1mdWxsLWltZ1wiIFtzcmNdPVwiZmlsZT8udXJsXCIgLz5cclxuICAgIDxkaXYgI2JvdW5kYXJ5UmVmIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWJvdW5kYXJ5XCI+XHJcbiAgICAgIDxpbWcgI2ltZ0NsaXBSZWYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY2xpcC1pbWdcIiBbc3JjXT1cImZpbGU/LnVybFwiIC8+XHJcbiAgICAgIDxkaXYgI2N1dFJlZiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC10b3Atc3RhcnRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC10b3BcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC10b3AtZW5kXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtbGVmdFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LXJpZ2h0XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtYm90dG9tLXN0YXJ0XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtYm90dG9tXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtYm90dG9tLWVuZFwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtYm90dG9tLXRvb2xzXCI+XHJcbiAgICA8eC1pY29uIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWNsb3NlXCIgdHlwZT1cImZ0by1jaGVja1wiIChjbGljayk9XCJzdXJlKClcIj48L3gtaWNvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -239,9 +239,9 @@ export class XUploadComponent extends XUploadProperty {
239
239
  this.cdr.detectChanges();
240
240
  }
241
241
  }
242
- /** @nocollapse */ XUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XUploadComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.HttpClient, optional: true }, { token: i0.ChangeDetectorRef }, { token: i2.XPortalService }, { token: i0.ViewContainerRef }, { token: i3.XI18nService }, { token: i4.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
243
- /** @nocollapse */ XUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", 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 });
244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XUploadComponent, decorators: [{
242
+ /** @nocollapse */ XUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XUploadComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.HttpClient, optional: true }, { token: i0.ChangeDetectorRef }, { token: i2.XPortalService }, { token: i0.ViewContainerRef }, { token: i3.XI18nService }, { token: i4.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
243
+ /** @nocollapse */ XUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", 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 });
244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XUploadComponent, decorators: [{
245
245
  type: Component,
246
246
  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"] }]
247
247
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.HttpClient, decorators: [{
@@ -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: "15.2.3", ngImport: i0, type: XUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- /** @nocollapse */ XUploadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: XUploadModule, declarations: [XUploadComponent, XUploadPortalComponent, XUploadProperty], imports: [CommonModule,
19
+ /** @nocollapse */ XUploadModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ /** @nocollapse */ XUploadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", 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: "15.2.3", ngImport: i0, type: XUploadModule, imports: [CommonModule,
32
+ /** @nocollapse */ XUploadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", 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: "15.2.3", ngImport: i0, type: XUploadModule, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", 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: "15.2.3", ngImport: i0, type: XUploadProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
52
- /** @nocollapse */ XUploadProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", 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.2.7", ngImport: i0, type: XUploadProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
52
+ /** @nocollapse */ XUploadProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", 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: "15.2.3", ngImport: i0, type: XUploadProperty, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XUploadProperty, decorators: [{
70
70
  type: Component,
71
71
  args: [{ template: '' }]
72
72
  }], propDecorators: { text: [{
@@ -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: "15.2.3", ngImport: i0, type: XAffixProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
21
- /** @nocollapse */ XAffixProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", 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.2.7", ngImport: i0, type: XAffixProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
21
+ /** @nocollapse */ XAffixProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", 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: "15.2.3", ngImport: i0, type: XAffixProperty, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", 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: "15.2.3", ngImport: i0, type: XAffixComponent, deps: [{ token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
44
- /** @nocollapse */ XAffixComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", 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.2.3", ngImport: i0, type: XAffixComponent, decorators: [{
43
+ /** @nocollapse */ XAffixComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XAffixComponent, deps: [{ token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
44
+ /** @nocollapse */ XAffixComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", 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.2.7", 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: "15.2.3", ngImport: i0, type: XAffixModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
53
- /** @nocollapse */ XAffixModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: XAffixModule, declarations: [XAffixComponent, XAffixProperty], imports: [CommonModule], exports: [XAffixComponent] });
54
- /** @nocollapse */ XAffixModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XAffixModule, imports: [CommonModule] });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XAffixModule, decorators: [{
52
+ /** @nocollapse */ XAffixModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XAffixModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
53
+ /** @nocollapse */ XAffixModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: XAffixModule, declarations: [XAffixComponent, XAffixProperty], imports: [CommonModule], exports: [XAffixComponent] });
54
+ /** @nocollapse */ XAffixModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XAffixModule, imports: [CommonModule] });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", 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: "15.2.3", ngImport: i0, type: XAlertProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
67
- /** @nocollapse */ XAlertProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", 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.2.7", ngImport: i0, type: XAlertProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
67
+ /** @nocollapse */ XAlertProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", 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: "15.2.3", ngImport: i0, type: XAlertProperty, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", 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: "15.2.3", 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.2.3", 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.2.3", ngImport: i0, type: XAlertComponent, decorators: [{
218
+ /** @nocollapse */ XAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", 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.2.7", 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.2.7", 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: "15.2.3", ngImpor
227
227
 
228
228
  class XAlertModule {
229
229
  }
230
- /** @nocollapse */ XAlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XAlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
231
- /** @nocollapse */ XAlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", 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.2.3", ngImport: i0, type: XAlertModule, imports: [CommonModule, DragDropModule, XIconModule, XButtonModule, XOutletModule, XResizableModule] });
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XAlertModule, decorators: [{
230
+ /** @nocollapse */ XAlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XAlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
231
+ /** @nocollapse */ XAlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", 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.2.7", ngImport: i0, type: XAlertModule, imports: [CommonModule, DragDropModule, XIconModule, XButtonModule, XOutletModule, XResizableModule] });
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XAlertModule, decorators: [{
234
234
  type: NgModule,
235
235
  args: [{
236
236
  declarations: [XAlertComponent, XAlertProperty],