@ng-nest/ui 13.0.8 → 13.1.1

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 (701) hide show
  1. package/alert/alert.component.d.ts +2 -0
  2. package/alert/alert.module.d.ts +2 -1
  3. package/alert/alert.property.d.ts +80 -1
  4. package/badge/badge.component.d.ts +4 -0
  5. package/badge/badge.property.d.ts +6 -1
  6. package/badge/examples/en_US/default/offset/README.md +6 -0
  7. package/badge/examples/zh_CN/default/offset/README.md +6 -0
  8. package/collapse/collapse.property.d.ts +31 -1
  9. package/collapse/examples/en_US/default/arrow/README.md +6 -0
  10. package/collapse/examples/en_US/default/border/README.md +6 -0
  11. package/collapse/examples/en_US/default/ghost/README.md +6 -0
  12. package/collapse/examples/en_US/default/icon/README.md +6 -0
  13. package/collapse/examples/zh_CN/default/arrow/README.md +6 -0
  14. package/collapse/examples/zh_CN/default/border/README.md +6 -0
  15. package/collapse/examples/zh_CN/default/ghost/README.md +6 -0
  16. package/collapse/examples/zh_CN/default/icon/README.md +6 -0
  17. package/core/animation/badge.d.ts +2 -0
  18. package/core/animation/connect.d.ts +1 -0
  19. package/core/animation/public-api.d.ts +1 -0
  20. package/core/config/config.d.ts +11 -0
  21. package/dialog/dialog.component.d.ts +27 -2
  22. package/dialog/dialog.module.d.ts +2 -1
  23. package/dialog/dialog.property.d.ts +27 -9
  24. package/dialog/dialog.service.d.ts +4 -2
  25. package/dialog/examples/zh_CN/default/resizable/README.md +6 -0
  26. package/esm2020/affix/affix.component.mjs +3 -3
  27. package/esm2020/affix/affix.module.mjs +4 -4
  28. package/esm2020/affix/affix.property.mjs +3 -3
  29. package/esm2020/alert/alert.component.mjs +12 -8
  30. package/esm2020/alert/alert.module.mjs +7 -6
  31. package/esm2020/alert/alert.property.mjs +58 -4
  32. package/esm2020/anchor/anchor.component.mjs +3 -3
  33. package/esm2020/anchor/anchor.module.mjs +4 -4
  34. package/esm2020/anchor/anchor.property.mjs +3 -3
  35. package/esm2020/api/api.component.mjs +3 -3
  36. package/esm2020/api/api.module.mjs +4 -4
  37. package/esm2020/auto-complete/auto-complete-portal.component.mjs +3 -3
  38. package/esm2020/auto-complete/auto-complete.component.mjs +3 -3
  39. package/esm2020/auto-complete/auto-complete.module.mjs +4 -4
  40. package/esm2020/auto-complete/auto-complete.property.mjs +3 -3
  41. package/esm2020/avatar/avatar.component.mjs +3 -3
  42. package/esm2020/avatar/avatar.module.mjs +4 -4
  43. package/esm2020/avatar/avatar.property.mjs +3 -3
  44. package/esm2020/back-top/back-top.component.mjs +7 -5
  45. package/esm2020/back-top/back-top.module.mjs +4 -4
  46. package/esm2020/back-top/back-top.property.mjs +3 -3
  47. package/esm2020/badge/badge.component.mjs +21 -6
  48. package/esm2020/badge/badge.module.mjs +4 -4
  49. package/esm2020/badge/badge.property.mjs +11 -4
  50. package/esm2020/base-form/base-form.component.mjs +3 -3
  51. package/esm2020/base-form/base-form.module.mjs +4 -4
  52. package/esm2020/base-form/base-form.property.mjs +3 -3
  53. package/esm2020/border/border.component.mjs +3 -3
  54. package/esm2020/border/border.module.mjs +4 -4
  55. package/esm2020/button/button.component.mjs +3 -3
  56. package/esm2020/button/button.module.mjs +4 -4
  57. package/esm2020/button/button.property.mjs +6 -6
  58. package/esm2020/button/buttons.component.mjs +3 -3
  59. package/esm2020/calendar/calendar.component.mjs +3 -3
  60. package/esm2020/calendar/calendar.module.mjs +4 -4
  61. package/esm2020/calendar/calendar.property.mjs +3 -3
  62. package/esm2020/card/card.component.mjs +3 -3
  63. package/esm2020/card/card.module.mjs +4 -4
  64. package/esm2020/card/card.property.mjs +3 -3
  65. package/esm2020/carousel/carousel-panel.component.mjs +3 -3
  66. package/esm2020/carousel/carousel.component.mjs +4 -4
  67. package/esm2020/carousel/carousel.module.mjs +4 -4
  68. package/esm2020/carousel/carousel.property.mjs +6 -6
  69. package/esm2020/cascade/cascade-portal.component.mjs +3 -3
  70. package/esm2020/cascade/cascade.component.mjs +3 -3
  71. package/esm2020/cascade/cascade.module.mjs +4 -4
  72. package/esm2020/cascade/cascade.property.mjs +3 -3
  73. package/esm2020/checkbox/checkbox.component.mjs +3 -3
  74. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  75. package/esm2020/checkbox/checkbox.property.mjs +3 -3
  76. package/esm2020/collapse/collapse-panel.component.mjs +6 -5
  77. package/esm2020/collapse/collapse.component.mjs +5 -5
  78. package/esm2020/collapse/collapse.module.mjs +4 -4
  79. package/esm2020/collapse/collapse.property.mjs +34 -8
  80. package/esm2020/color/color.component.mjs +3 -3
  81. package/esm2020/color/color.module.mjs +4 -4
  82. package/esm2020/color/color.property.mjs +3 -3
  83. package/esm2020/color-picker/color-picker-portal.component.mjs +3 -3
  84. package/esm2020/color-picker/color-picker.component.mjs +3 -3
  85. package/esm2020/color-picker/color-picker.module.mjs +4 -4
  86. package/esm2020/color-picker/color-picker.property.mjs +3 -3
  87. package/esm2020/comment/comment-reply.component.mjs +3 -3
  88. package/esm2020/comment/comment.component.mjs +3 -3
  89. package/esm2020/comment/comment.module.mjs +4 -4
  90. package/esm2020/comment/comment.property.mjs +6 -6
  91. package/esm2020/container/aside.component.mjs +3 -3
  92. package/esm2020/container/container.component.mjs +3 -3
  93. package/esm2020/container/container.module.mjs +4 -4
  94. package/esm2020/container/container.property.mjs +12 -12
  95. package/esm2020/container/footer.component.mjs +3 -3
  96. package/esm2020/container/header.component.mjs +3 -3
  97. package/esm2020/container/main.component.mjs +3 -3
  98. package/esm2020/core/animation/badge.mjs +23 -0
  99. package/esm2020/core/animation/connect.mjs +17 -9
  100. package/esm2020/core/animation/public-api.mjs +2 -1
  101. package/esm2020/core/config/config.mjs +1 -1
  102. package/esm2020/core/config/config.service.mjs +3 -3
  103. package/esm2020/core/services/http.service.mjs +3 -3
  104. package/esm2020/core/services/preloading-strategy.service.mjs +3 -3
  105. package/esm2020/core/services/storage.service.mjs +3 -3
  106. package/esm2020/core/theme/theme.service.mjs +3 -3
  107. package/esm2020/crumb/crumb.component.mjs +3 -3
  108. package/esm2020/crumb/crumb.module.mjs +4 -4
  109. package/esm2020/crumb/crumb.property.mjs +3 -3
  110. package/esm2020/date-picker/date-picker-portal.component.mjs +3 -3
  111. package/esm2020/date-picker/date-picker.component.mjs +3 -3
  112. package/esm2020/date-picker/date-picker.module.mjs +4 -4
  113. package/esm2020/date-picker/date-picker.property.mjs +15 -15
  114. package/esm2020/date-picker/date-range-portal.component.mjs +3 -3
  115. package/esm2020/date-picker/date-range.component.mjs +3 -3
  116. package/esm2020/date-picker/picker-date.component.mjs +3 -3
  117. package/esm2020/date-picker/picker-month.component.mjs +3 -3
  118. package/esm2020/date-picker/picker-year.component.mjs +3 -3
  119. package/esm2020/description/description-item.component.mjs +3 -3
  120. package/esm2020/description/description.component.mjs +3 -3
  121. package/esm2020/description/description.module.mjs +4 -4
  122. package/esm2020/description/description.property.mjs +6 -6
  123. package/esm2020/dialog/dialog-portal.component.mjs +3 -3
  124. package/esm2020/dialog/dialog-portal.directives.mjs +12 -12
  125. package/esm2020/dialog/dialog.component.mjs +141 -15
  126. package/esm2020/dialog/dialog.module.mjs +12 -8
  127. package/esm2020/dialog/dialog.property.mjs +26 -4
  128. package/esm2020/dialog/dialog.service.mjs +18 -10
  129. package/esm2020/doc/doc.component.mjs +3 -3
  130. package/esm2020/doc/doc.module.mjs +4 -4
  131. package/esm2020/drawer/drawer-container.component.mjs +3 -3
  132. package/esm2020/drawer/drawer-portal.component.mjs +3 -3
  133. package/esm2020/drawer/drawer-portal.directives.mjs +9 -9
  134. package/esm2020/drawer/drawer.component.mjs +3 -3
  135. package/esm2020/drawer/drawer.module.mjs +4 -4
  136. package/esm2020/drawer/drawer.property.mjs +6 -6
  137. package/esm2020/drawer/drawer.service.mjs +3 -3
  138. package/esm2020/dropdown/dropdown-portal.component.mjs +3 -3
  139. package/esm2020/dropdown/dropdown.component.mjs +8 -5
  140. package/esm2020/dropdown/dropdown.module.mjs +4 -4
  141. package/esm2020/dropdown/dropdown.property.mjs +3 -3
  142. package/esm2020/empty/empty.component.mjs +3 -3
  143. package/esm2020/empty/empty.module.mjs +4 -4
  144. package/esm2020/empty/empty.property.mjs +3 -3
  145. package/esm2020/examples/examples.component.mjs +3 -3
  146. package/esm2020/examples/examples.module.mjs +4 -4
  147. package/esm2020/find/find.component.mjs +3 -3
  148. package/esm2020/find/find.module.mjs +4 -4
  149. package/esm2020/find/find.property.mjs +3 -3
  150. package/esm2020/form/control.component.mjs +3 -3
  151. package/esm2020/form/form.component.mjs +3 -3
  152. package/esm2020/form/form.module.mjs +4 -4
  153. package/esm2020/form/form.property.mjs +6 -6
  154. package/esm2020/highlight/highlight.component.mjs +3 -3
  155. package/esm2020/highlight/highlight.module.mjs +4 -4
  156. package/esm2020/highlight/highlight.property.mjs +3 -3
  157. package/esm2020/i18n/i18n.directive.mjs +3 -3
  158. package/esm2020/i18n/i18n.module.mjs +4 -4
  159. package/esm2020/i18n/i18n.pipe.mjs +3 -3
  160. package/esm2020/i18n/i18n.service.mjs +3 -3
  161. package/esm2020/icon/icon.component.mjs +3 -3
  162. package/esm2020/icon/icon.module.mjs +4 -4
  163. package/esm2020/icon/icon.property.mjs +3 -3
  164. package/esm2020/icon/icon.service.mjs +3 -3
  165. package/esm2020/index.mjs +3 -1
  166. package/esm2020/inner/inner.component.mjs +3 -3
  167. package/esm2020/inner/inner.module.mjs +4 -4
  168. package/esm2020/inner/inner.property.mjs +3 -3
  169. package/esm2020/input/input-group.component.mjs +3 -3
  170. package/esm2020/input/input.component.mjs +14 -5
  171. package/esm2020/input/input.module.mjs +4 -4
  172. package/esm2020/input/input.property.mjs +6 -6
  173. package/esm2020/input-number/input-number.component.mjs +3 -3
  174. package/esm2020/input-number/input-number.module.mjs +4 -4
  175. package/esm2020/input-number/input-number.property.mjs +3 -3
  176. package/esm2020/layout/col.component.mjs +3 -3
  177. package/esm2020/layout/layout.module.mjs +4 -4
  178. package/esm2020/layout/layout.property.mjs +6 -6
  179. package/esm2020/layout/row.component.mjs +3 -3
  180. package/esm2020/link/link.component.mjs +3 -3
  181. package/esm2020/link/link.module.mjs +4 -4
  182. package/esm2020/link/link.property.mjs +3 -3
  183. package/esm2020/list/list-option.component.mjs +3 -3
  184. package/esm2020/list/list.component.mjs +8 -7
  185. package/esm2020/list/list.module.mjs +12 -8
  186. package/esm2020/list/list.property.mjs +11 -7
  187. package/esm2020/loading/loading.component.mjs +3 -3
  188. package/esm2020/loading/loading.module.mjs +4 -4
  189. package/esm2020/loading/loading.property.mjs +3 -3
  190. package/esm2020/menu/menu-node.component.mjs +3 -3
  191. package/esm2020/menu/menu.component.mjs +3 -3
  192. package/esm2020/menu/menu.module.mjs +4 -4
  193. package/esm2020/menu/menu.property.mjs +6 -6
  194. package/esm2020/message/message.component.mjs +3 -3
  195. package/esm2020/message/message.module.mjs +4 -4
  196. package/esm2020/message/message.service.mjs +7 -5
  197. package/esm2020/message-box/message-box.component.mjs +3 -3
  198. package/esm2020/message-box/message-box.module.mjs +4 -4
  199. package/esm2020/message-box/message-box.service.mjs +7 -5
  200. package/esm2020/notification/notification.component.mjs +3 -3
  201. package/esm2020/notification/notification.module.mjs +4 -4
  202. package/esm2020/notification/notification.service.mjs +7 -5
  203. package/esm2020/outlet/outlet.directive.mjs +3 -3
  204. package/esm2020/outlet/outlet.module.mjs +4 -4
  205. package/esm2020/page-header/page-header.component.mjs +3 -3
  206. package/esm2020/page-header/page-header.module.mjs +4 -4
  207. package/esm2020/page-header/page-header.property.mjs +3 -3
  208. package/esm2020/pagination/pagination.component.mjs +3 -3
  209. package/esm2020/pagination/pagination.module.mjs +4 -4
  210. package/esm2020/pagination/pagination.property.mjs +10 -5
  211. package/esm2020/pattern/pattern.component.mjs +3 -3
  212. package/esm2020/pattern/pattern.module.mjs +4 -4
  213. package/esm2020/popconfirm/popconfirm.component.mjs +3 -3
  214. package/esm2020/popconfirm/popconfirm.module.mjs +4 -4
  215. package/esm2020/popconfirm/popconfirm.property.mjs +3 -3
  216. package/esm2020/popover/popover-portal.component.mjs +3 -3
  217. package/esm2020/popover/popover.directive.mjs +16 -8
  218. package/esm2020/popover/popover.module.mjs +4 -4
  219. package/esm2020/popover/popover.property.mjs +18 -4
  220. package/esm2020/portal/portal.module.mjs +4 -4
  221. package/esm2020/portal/portal.property.mjs +2 -1
  222. package/esm2020/portal/portal.service.mjs +62 -8
  223. package/esm2020/progress/progress.component.mjs +4 -4
  224. package/esm2020/progress/progress.module.mjs +4 -4
  225. package/esm2020/progress/progress.property.mjs +3 -3
  226. package/esm2020/radio/radio.component.mjs +3 -3
  227. package/esm2020/radio/radio.module.mjs +4 -4
  228. package/esm2020/radio/radio.property.mjs +3 -3
  229. package/esm2020/rate/rate.component.mjs +3 -3
  230. package/esm2020/rate/rate.module.mjs +4 -4
  231. package/esm2020/rate/rate.property.mjs +3 -3
  232. package/esm2020/resizable/ng-nest-ui-resizable.mjs +5 -0
  233. package/esm2020/resizable/public-api.mjs +4 -0
  234. package/esm2020/resizable/resizable.directive.mjs +226 -0
  235. package/esm2020/resizable/resizable.module.mjs +18 -0
  236. package/esm2020/resizable/resizable.property.mjs +94 -0
  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 +3 -3
  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 +6 -5
  244. package/esm2020/select/select.component.mjs +5 -4
  245. package/esm2020/select/select.module.mjs +4 -4
  246. package/esm2020/select/select.property.mjs +9 -4
  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 +4 -4
  253. package/esm2020/slider-select/slider-select.component.mjs +16 -10
  254. package/esm2020/slider-select/slider-select.module.mjs +4 -4
  255. package/esm2020/slider-select/slider-select.property.mjs +15 -5
  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 +3 -3
  267. package/esm2020/table/table-body.component.mjs +3 -3
  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 +11 -7
  271. package/esm2020/table/table.module.mjs +4 -4
  272. package/esm2020/table/table.property.mjs +26 -13
  273. package/esm2020/tabs/tab-content.component.mjs +3 -3
  274. package/esm2020/tabs/tab.component.mjs +3 -3
  275. package/esm2020/tabs/tabs.component.mjs +6 -6
  276. package/esm2020/tabs/tabs.module.mjs +4 -4
  277. package/esm2020/tabs/tabs.property.mjs +12 -7
  278. package/esm2020/tag/tag.component.mjs +35 -9
  279. package/esm2020/tag/tag.module.mjs +4 -4
  280. package/esm2020/tag/tag.property.mjs +20 -4
  281. package/esm2020/text-retract/text-retract.component.mjs +3 -3
  282. package/esm2020/text-retract/text-retract.module.mjs +4 -4
  283. package/esm2020/text-retract/text-retract.property.mjs +3 -3
  284. package/esm2020/textarea/textarea.component.mjs +3 -3
  285. package/esm2020/textarea/textarea.module.mjs +4 -4
  286. package/esm2020/textarea/textarea.property.mjs +3 -3
  287. package/esm2020/theme/theme.component.mjs +3 -3
  288. package/esm2020/theme/theme.module.mjs +4 -4
  289. package/esm2020/theme/theme.property.mjs +3 -3
  290. package/esm2020/time-ago/time-ago.module.mjs +4 -4
  291. package/esm2020/time-ago/time-ago.pipe.mjs +3 -3
  292. package/esm2020/time-picker/time-picker-frame.component.mjs +3 -3
  293. package/esm2020/time-picker/time-picker-portal.component.mjs +3 -3
  294. package/esm2020/time-picker/time-picker.component.mjs +3 -3
  295. package/esm2020/time-picker/time-picker.module.mjs +4 -4
  296. package/esm2020/time-picker/time-picker.property.mjs +3 -3
  297. package/esm2020/time-range/time-range.module.mjs +4 -4
  298. package/esm2020/time-range/time-range.pipe.mjs +3 -3
  299. package/esm2020/timeline/timeline.component.mjs +22 -5
  300. package/esm2020/timeline/timeline.module.mjs +4 -4
  301. package/esm2020/timeline/timeline.property.mjs +4 -4
  302. package/esm2020/tooltip/tooltip-portal.component.mjs +3 -3
  303. package/esm2020/tooltip/tooltip.directive.mjs +6 -6
  304. package/esm2020/tooltip/tooltip.module.mjs +4 -4
  305. package/esm2020/tooltip/tooltip.property.mjs +14 -4
  306. package/esm2020/transfer/transfer.component.mjs +3 -3
  307. package/esm2020/transfer/transfer.module.mjs +4 -4
  308. package/esm2020/transfer/transfer.property.mjs +3 -3
  309. package/esm2020/tree/tree-node.component.mjs +3 -3
  310. package/esm2020/tree/tree.component.mjs +3 -3
  311. package/esm2020/tree/tree.module.mjs +4 -4
  312. package/esm2020/tree/tree.property.mjs +6 -6
  313. package/esm2020/tree-file/tree-file.component.mjs +3 -3
  314. package/esm2020/tree-file/tree-file.module.mjs +4 -4
  315. package/esm2020/tree-file/tree-file.property.mjs +3 -3
  316. package/esm2020/typography/typography.component.mjs +3 -3
  317. package/esm2020/typography/typography.module.mjs +4 -4
  318. package/esm2020/typography/typography.property.mjs +3 -3
  319. package/esm2020/upload/upload-portal.component.mjs +3 -3
  320. package/esm2020/upload/upload.component.mjs +11 -6
  321. package/esm2020/upload/upload.module.mjs +4 -4
  322. package/esm2020/upload/upload.property.mjs +3 -3
  323. package/fesm2015/ng-nest-ui-affix.mjs +10 -10
  324. package/fesm2015/ng-nest-ui-affix.mjs.map +1 -1
  325. package/fesm2015/ng-nest-ui-alert.mjs +74 -15
  326. package/fesm2015/ng-nest-ui-alert.mjs.map +1 -1
  327. package/fesm2015/ng-nest-ui-anchor.mjs +10 -10
  328. package/fesm2015/ng-nest-ui-anchor.mjs.map +1 -1
  329. package/fesm2015/ng-nest-ui-api.mjs +7 -7
  330. package/fesm2015/ng-nest-ui-api.mjs.map +1 -1
  331. package/fesm2015/ng-nest-ui-auto-complete.mjs +13 -13
  332. package/fesm2015/ng-nest-ui-auto-complete.mjs.map +1 -1
  333. package/fesm2015/ng-nest-ui-avatar.mjs +10 -10
  334. package/fesm2015/ng-nest-ui-avatar.mjs.map +1 -1
  335. package/fesm2015/ng-nest-ui-back-top.mjs +13 -11
  336. package/fesm2015/ng-nest-ui-back-top.mjs.map +1 -1
  337. package/fesm2015/ng-nest-ui-badge.mjs +34 -12
  338. package/fesm2015/ng-nest-ui-badge.mjs.map +1 -1
  339. package/fesm2015/ng-nest-ui-base-form.mjs +10 -10
  340. package/fesm2015/ng-nest-ui-base-form.mjs.map +1 -1
  341. package/fesm2015/ng-nest-ui-border.mjs +7 -7
  342. package/fesm2015/ng-nest-ui-border.mjs.map +1 -1
  343. package/fesm2015/ng-nest-ui-button.mjs +16 -16
  344. package/fesm2015/ng-nest-ui-button.mjs.map +1 -1
  345. package/fesm2015/ng-nest-ui-calendar.mjs +10 -10
  346. package/fesm2015/ng-nest-ui-calendar.mjs.map +1 -1
  347. package/fesm2015/ng-nest-ui-card.mjs +10 -10
  348. package/fesm2015/ng-nest-ui-card.mjs.map +1 -1
  349. package/fesm2015/ng-nest-ui-carousel.mjs +17 -17
  350. package/fesm2015/ng-nest-ui-carousel.mjs.map +1 -1
  351. package/fesm2015/ng-nest-ui-cascade.mjs +13 -13
  352. package/fesm2015/ng-nest-ui-cascade.mjs.map +1 -1
  353. package/fesm2015/ng-nest-ui-checkbox.mjs +10 -10
  354. package/fesm2015/ng-nest-ui-checkbox.mjs.map +1 -1
  355. package/fesm2015/ng-nest-ui-collapse.mjs +46 -19
  356. package/fesm2015/ng-nest-ui-collapse.mjs.map +1 -1
  357. package/fesm2015/ng-nest-ui-color-picker.mjs +13 -13
  358. package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
  359. package/fesm2015/ng-nest-ui-color.mjs +10 -10
  360. package/fesm2015/ng-nest-ui-color.mjs.map +1 -1
  361. package/fesm2015/ng-nest-ui-comment.mjs +16 -16
  362. package/fesm2015/ng-nest-ui-comment.mjs.map +1 -1
  363. package/fesm2015/ng-nest-ui-container.mjs +31 -31
  364. package/fesm2015/ng-nest-ui-container.mjs.map +1 -1
  365. package/fesm2015/ng-nest-ui-core.mjs +53 -24
  366. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  367. package/fesm2015/ng-nest-ui-crumb.mjs +10 -10
  368. package/fesm2015/ng-nest-ui-crumb.mjs.map +1 -1
  369. package/fesm2015/ng-nest-ui-date-picker.mjs +40 -40
  370. package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
  371. package/fesm2015/ng-nest-ui-description.mjs +16 -16
  372. package/fesm2015/ng-nest-ui-description.mjs.map +1 -1
  373. package/fesm2015/ng-nest-ui-dialog.mjs +212 -51
  374. package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
  375. package/fesm2015/ng-nest-ui-doc.mjs +7 -7
  376. package/fesm2015/ng-nest-ui-doc.mjs.map +1 -1
  377. package/fesm2015/ng-nest-ui-drawer.mjs +31 -31
  378. package/fesm2015/ng-nest-ui-drawer.mjs.map +1 -1
  379. package/fesm2015/ng-nest-ui-dropdown.mjs +17 -14
  380. package/fesm2015/ng-nest-ui-dropdown.mjs.map +1 -1
  381. package/fesm2015/ng-nest-ui-empty.mjs +10 -10
  382. package/fesm2015/ng-nest-ui-empty.mjs.map +1 -1
  383. package/fesm2015/ng-nest-ui-examples.mjs +7 -7
  384. package/fesm2015/ng-nest-ui-examples.mjs.map +1 -1
  385. package/fesm2015/ng-nest-ui-find.mjs +10 -10
  386. package/fesm2015/ng-nest-ui-find.mjs.map +1 -1
  387. package/fesm2015/ng-nest-ui-form.mjs +16 -16
  388. package/fesm2015/ng-nest-ui-form.mjs.map +1 -1
  389. package/fesm2015/ng-nest-ui-highlight.mjs +10 -10
  390. package/fesm2015/ng-nest-ui-highlight.mjs.map +1 -1
  391. package/fesm2015/ng-nest-ui-i18n.mjs +13 -13
  392. package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
  393. package/fesm2015/ng-nest-ui-icon.mjs +13 -13
  394. package/fesm2015/ng-nest-ui-icon.mjs.map +1 -1
  395. package/fesm2015/ng-nest-ui-inner.mjs +10 -10
  396. package/fesm2015/ng-nest-ui-inner.mjs.map +1 -1
  397. package/fesm2015/ng-nest-ui-input-number.mjs +10 -10
  398. package/fesm2015/ng-nest-ui-input-number.mjs.map +1 -1
  399. package/fesm2015/ng-nest-ui-input.mjs +26 -17
  400. package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
  401. package/fesm2015/ng-nest-ui-layout.mjs +16 -16
  402. package/fesm2015/ng-nest-ui-layout.mjs.map +1 -1
  403. package/fesm2015/ng-nest-ui-link.mjs +10 -10
  404. package/fesm2015/ng-nest-ui-link.mjs.map +1 -1
  405. package/fesm2015/ng-nest-ui-list.mjs +30 -21
  406. package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
  407. package/fesm2015/ng-nest-ui-loading.mjs +10 -10
  408. package/fesm2015/ng-nest-ui-loading.mjs.map +1 -1
  409. package/fesm2015/ng-nest-ui-menu.mjs +16 -16
  410. package/fesm2015/ng-nest-ui-menu.mjs.map +1 -1
  411. package/fesm2015/ng-nest-ui-message-box.mjs +13 -11
  412. package/fesm2015/ng-nest-ui-message-box.mjs.map +1 -1
  413. package/fesm2015/ng-nest-ui-message.mjs +13 -11
  414. package/fesm2015/ng-nest-ui-message.mjs.map +1 -1
  415. package/fesm2015/ng-nest-ui-notification.mjs +13 -11
  416. package/fesm2015/ng-nest-ui-notification.mjs.map +1 -1
  417. package/fesm2015/ng-nest-ui-outlet.mjs +7 -7
  418. package/fesm2015/ng-nest-ui-outlet.mjs.map +1 -1
  419. package/fesm2015/ng-nest-ui-page-header.mjs +10 -10
  420. package/fesm2015/ng-nest-ui-page-header.mjs.map +1 -1
  421. package/fesm2015/ng-nest-ui-pagination.mjs +17 -12
  422. package/fesm2015/ng-nest-ui-pagination.mjs.map +1 -1
  423. package/fesm2015/ng-nest-ui-pattern.mjs +7 -7
  424. package/fesm2015/ng-nest-ui-pattern.mjs.map +1 -1
  425. package/fesm2015/ng-nest-ui-popconfirm.mjs +10 -10
  426. package/fesm2015/ng-nest-ui-popconfirm.mjs.map +1 -1
  427. package/fesm2015/ng-nest-ui-popover.mjs +39 -17
  428. package/fesm2015/ng-nest-ui-popover.mjs.map +1 -1
  429. package/fesm2015/ng-nest-ui-portal.mjs +67 -12
  430. package/fesm2015/ng-nest-ui-portal.mjs.map +1 -1
  431. package/fesm2015/ng-nest-ui-progress.mjs +11 -11
  432. package/fesm2015/ng-nest-ui-progress.mjs.map +1 -1
  433. package/fesm2015/ng-nest-ui-radio.mjs +10 -10
  434. package/fesm2015/ng-nest-ui-radio.mjs.map +1 -1
  435. package/fesm2015/ng-nest-ui-rate.mjs +10 -10
  436. package/fesm2015/ng-nest-ui-rate.mjs.map +1 -1
  437. package/fesm2015/ng-nest-ui-resizable.mjs +335 -0
  438. package/fesm2015/ng-nest-ui-resizable.mjs.map +1 -0
  439. package/fesm2015/ng-nest-ui-result.mjs +10 -10
  440. package/fesm2015/ng-nest-ui-result.mjs.map +1 -1
  441. package/fesm2015/ng-nest-ui-ripple.mjs +10 -10
  442. package/fesm2015/ng-nest-ui-ripple.mjs.map +1 -1
  443. package/fesm2015/ng-nest-ui-select.mjs +21 -14
  444. package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
  445. package/fesm2015/ng-nest-ui-skeleton.mjs +10 -10
  446. package/fesm2015/ng-nest-ui-skeleton.mjs.map +1 -1
  447. package/fesm2015/ng-nest-ui-slider-select.mjs +33 -17
  448. package/fesm2015/ng-nest-ui-slider-select.mjs.map +1 -1
  449. package/fesm2015/ng-nest-ui-slider.mjs +13 -11
  450. package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
  451. package/fesm2015/ng-nest-ui-statistic.mjs +16 -16
  452. package/fesm2015/ng-nest-ui-statistic.mjs.map +1 -1
  453. package/fesm2015/ng-nest-ui-steps.mjs +10 -10
  454. package/fesm2015/ng-nest-ui-steps.mjs.map +1 -1
  455. package/fesm2015/ng-nest-ui-switch.mjs +10 -10
  456. package/fesm2015/ng-nest-ui-switch.mjs.map +1 -1
  457. package/fesm2015/ng-nest-ui-table.mjs +51 -34
  458. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  459. package/fesm2015/ng-nest-ui-tabs.mjs +26 -21
  460. package/fesm2015/ng-nest-ui-tabs.mjs.map +1 -1
  461. package/fesm2015/ng-nest-ui-tag.mjs +57 -15
  462. package/fesm2015/ng-nest-ui-tag.mjs.map +1 -1
  463. package/fesm2015/ng-nest-ui-text-retract.mjs +10 -10
  464. package/fesm2015/ng-nest-ui-text-retract.mjs.map +1 -1
  465. package/fesm2015/ng-nest-ui-textarea.mjs +10 -10
  466. package/fesm2015/ng-nest-ui-textarea.mjs.map +1 -1
  467. package/fesm2015/ng-nest-ui-theme.mjs +10 -10
  468. package/fesm2015/ng-nest-ui-theme.mjs.map +1 -1
  469. package/fesm2015/ng-nest-ui-time-ago.mjs +7 -7
  470. package/fesm2015/ng-nest-ui-time-ago.mjs.map +1 -1
  471. package/fesm2015/ng-nest-ui-time-picker.mjs +16 -16
  472. package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
  473. package/fesm2015/ng-nest-ui-time-range.mjs +7 -7
  474. package/fesm2015/ng-nest-ui-time-range.mjs.map +1 -1
  475. package/fesm2015/ng-nest-ui-timeline.mjs +28 -11
  476. package/fesm2015/ng-nest-ui-timeline.mjs.map +1 -1
  477. package/fesm2015/ng-nest-ui-tooltip.mjs +25 -15
  478. package/fesm2015/ng-nest-ui-tooltip.mjs.map +1 -1
  479. package/fesm2015/ng-nest-ui-transfer.mjs +10 -10
  480. package/fesm2015/ng-nest-ui-transfer.mjs.map +1 -1
  481. package/fesm2015/ng-nest-ui-tree-file.mjs +10 -10
  482. package/fesm2015/ng-nest-ui-tree-file.mjs.map +1 -1
  483. package/fesm2015/ng-nest-ui-tree.mjs +16 -16
  484. package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
  485. package/fesm2015/ng-nest-ui-typography.mjs +10 -10
  486. package/fesm2015/ng-nest-ui-typography.mjs.map +1 -1
  487. package/fesm2015/ng-nest-ui-upload.mjs +20 -15
  488. package/fesm2015/ng-nest-ui-upload.mjs.map +1 -1
  489. package/fesm2015/ng-nest-ui.mjs +2 -0
  490. package/fesm2015/ng-nest-ui.mjs.map +1 -1
  491. package/fesm2020/ng-nest-ui-affix.mjs +10 -10
  492. package/fesm2020/ng-nest-ui-affix.mjs.map +1 -1
  493. package/fesm2020/ng-nest-ui-alert.mjs +74 -15
  494. package/fesm2020/ng-nest-ui-alert.mjs.map +1 -1
  495. package/fesm2020/ng-nest-ui-anchor.mjs +10 -10
  496. package/fesm2020/ng-nest-ui-anchor.mjs.map +1 -1
  497. package/fesm2020/ng-nest-ui-api.mjs +7 -7
  498. package/fesm2020/ng-nest-ui-api.mjs.map +1 -1
  499. package/fesm2020/ng-nest-ui-auto-complete.mjs +13 -13
  500. package/fesm2020/ng-nest-ui-auto-complete.mjs.map +1 -1
  501. package/fesm2020/ng-nest-ui-avatar.mjs +10 -10
  502. package/fesm2020/ng-nest-ui-avatar.mjs.map +1 -1
  503. package/fesm2020/ng-nest-ui-back-top.mjs +13 -11
  504. package/fesm2020/ng-nest-ui-back-top.mjs.map +1 -1
  505. package/fesm2020/ng-nest-ui-badge.mjs +34 -12
  506. package/fesm2020/ng-nest-ui-badge.mjs.map +1 -1
  507. package/fesm2020/ng-nest-ui-base-form.mjs +10 -10
  508. package/fesm2020/ng-nest-ui-base-form.mjs.map +1 -1
  509. package/fesm2020/ng-nest-ui-border.mjs +7 -7
  510. package/fesm2020/ng-nest-ui-border.mjs.map +1 -1
  511. package/fesm2020/ng-nest-ui-button.mjs +16 -16
  512. package/fesm2020/ng-nest-ui-button.mjs.map +1 -1
  513. package/fesm2020/ng-nest-ui-calendar.mjs +10 -10
  514. package/fesm2020/ng-nest-ui-calendar.mjs.map +1 -1
  515. package/fesm2020/ng-nest-ui-card.mjs +10 -10
  516. package/fesm2020/ng-nest-ui-card.mjs.map +1 -1
  517. package/fesm2020/ng-nest-ui-carousel.mjs +17 -17
  518. package/fesm2020/ng-nest-ui-carousel.mjs.map +1 -1
  519. package/fesm2020/ng-nest-ui-cascade.mjs +13 -13
  520. package/fesm2020/ng-nest-ui-cascade.mjs.map +1 -1
  521. package/fesm2020/ng-nest-ui-checkbox.mjs +10 -10
  522. package/fesm2020/ng-nest-ui-checkbox.mjs.map +1 -1
  523. package/fesm2020/ng-nest-ui-collapse.mjs +46 -19
  524. package/fesm2020/ng-nest-ui-collapse.mjs.map +1 -1
  525. package/fesm2020/ng-nest-ui-color-picker.mjs +13 -13
  526. package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
  527. package/fesm2020/ng-nest-ui-color.mjs +10 -10
  528. package/fesm2020/ng-nest-ui-color.mjs.map +1 -1
  529. package/fesm2020/ng-nest-ui-comment.mjs +16 -16
  530. package/fesm2020/ng-nest-ui-comment.mjs.map +1 -1
  531. package/fesm2020/ng-nest-ui-container.mjs +31 -31
  532. package/fesm2020/ng-nest-ui-container.mjs.map +1 -1
  533. package/fesm2020/ng-nest-ui-core.mjs +53 -24
  534. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  535. package/fesm2020/ng-nest-ui-crumb.mjs +10 -10
  536. package/fesm2020/ng-nest-ui-crumb.mjs.map +1 -1
  537. package/fesm2020/ng-nest-ui-date-picker.mjs +40 -40
  538. package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
  539. package/fesm2020/ng-nest-ui-description.mjs +16 -16
  540. package/fesm2020/ng-nest-ui-description.mjs.map +1 -1
  541. package/fesm2020/ng-nest-ui-dialog.mjs +209 -51
  542. package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
  543. package/fesm2020/ng-nest-ui-doc.mjs +7 -7
  544. package/fesm2020/ng-nest-ui-doc.mjs.map +1 -1
  545. package/fesm2020/ng-nest-ui-drawer.mjs +31 -31
  546. package/fesm2020/ng-nest-ui-drawer.mjs.map +1 -1
  547. package/fesm2020/ng-nest-ui-dropdown.mjs +17 -14
  548. package/fesm2020/ng-nest-ui-dropdown.mjs.map +1 -1
  549. package/fesm2020/ng-nest-ui-empty.mjs +10 -10
  550. package/fesm2020/ng-nest-ui-empty.mjs.map +1 -1
  551. package/fesm2020/ng-nest-ui-examples.mjs +7 -7
  552. package/fesm2020/ng-nest-ui-examples.mjs.map +1 -1
  553. package/fesm2020/ng-nest-ui-find.mjs +10 -10
  554. package/fesm2020/ng-nest-ui-find.mjs.map +1 -1
  555. package/fesm2020/ng-nest-ui-form.mjs +16 -16
  556. package/fesm2020/ng-nest-ui-form.mjs.map +1 -1
  557. package/fesm2020/ng-nest-ui-highlight.mjs +10 -10
  558. package/fesm2020/ng-nest-ui-highlight.mjs.map +1 -1
  559. package/fesm2020/ng-nest-ui-i18n.mjs +13 -13
  560. package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
  561. package/fesm2020/ng-nest-ui-icon.mjs +13 -13
  562. package/fesm2020/ng-nest-ui-icon.mjs.map +1 -1
  563. package/fesm2020/ng-nest-ui-inner.mjs +10 -10
  564. package/fesm2020/ng-nest-ui-inner.mjs.map +1 -1
  565. package/fesm2020/ng-nest-ui-input-number.mjs +10 -10
  566. package/fesm2020/ng-nest-ui-input-number.mjs.map +1 -1
  567. package/fesm2020/ng-nest-ui-input.mjs +26 -17
  568. package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
  569. package/fesm2020/ng-nest-ui-layout.mjs +16 -16
  570. package/fesm2020/ng-nest-ui-layout.mjs.map +1 -1
  571. package/fesm2020/ng-nest-ui-link.mjs +10 -10
  572. package/fesm2020/ng-nest-ui-link.mjs.map +1 -1
  573. package/fesm2020/ng-nest-ui-list.mjs +30 -21
  574. package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
  575. package/fesm2020/ng-nest-ui-loading.mjs +10 -10
  576. package/fesm2020/ng-nest-ui-loading.mjs.map +1 -1
  577. package/fesm2020/ng-nest-ui-menu.mjs +16 -16
  578. package/fesm2020/ng-nest-ui-menu.mjs.map +1 -1
  579. package/fesm2020/ng-nest-ui-message-box.mjs +13 -11
  580. package/fesm2020/ng-nest-ui-message-box.mjs.map +1 -1
  581. package/fesm2020/ng-nest-ui-message.mjs +13 -11
  582. package/fesm2020/ng-nest-ui-message.mjs.map +1 -1
  583. package/fesm2020/ng-nest-ui-notification.mjs +13 -11
  584. package/fesm2020/ng-nest-ui-notification.mjs.map +1 -1
  585. package/fesm2020/ng-nest-ui-outlet.mjs +7 -7
  586. package/fesm2020/ng-nest-ui-outlet.mjs.map +1 -1
  587. package/fesm2020/ng-nest-ui-page-header.mjs +10 -10
  588. package/fesm2020/ng-nest-ui-page-header.mjs.map +1 -1
  589. package/fesm2020/ng-nest-ui-pagination.mjs +17 -12
  590. package/fesm2020/ng-nest-ui-pagination.mjs.map +1 -1
  591. package/fesm2020/ng-nest-ui-pattern.mjs +7 -7
  592. package/fesm2020/ng-nest-ui-pattern.mjs.map +1 -1
  593. package/fesm2020/ng-nest-ui-popconfirm.mjs +10 -10
  594. package/fesm2020/ng-nest-ui-popconfirm.mjs.map +1 -1
  595. package/fesm2020/ng-nest-ui-popover.mjs +39 -17
  596. package/fesm2020/ng-nest-ui-popover.mjs.map +1 -1
  597. package/fesm2020/ng-nest-ui-portal.mjs +67 -12
  598. package/fesm2020/ng-nest-ui-portal.mjs.map +1 -1
  599. package/fesm2020/ng-nest-ui-progress.mjs +11 -11
  600. package/fesm2020/ng-nest-ui-progress.mjs.map +1 -1
  601. package/fesm2020/ng-nest-ui-radio.mjs +10 -10
  602. package/fesm2020/ng-nest-ui-radio.mjs.map +1 -1
  603. package/fesm2020/ng-nest-ui-rate.mjs +10 -10
  604. package/fesm2020/ng-nest-ui-rate.mjs.map +1 -1
  605. package/fesm2020/ng-nest-ui-resizable.mjs +337 -0
  606. package/fesm2020/ng-nest-ui-resizable.mjs.map +1 -0
  607. package/fesm2020/ng-nest-ui-result.mjs +10 -10
  608. package/fesm2020/ng-nest-ui-result.mjs.map +1 -1
  609. package/fesm2020/ng-nest-ui-ripple.mjs +10 -10
  610. package/fesm2020/ng-nest-ui-ripple.mjs.map +1 -1
  611. package/fesm2020/ng-nest-ui-select.mjs +21 -14
  612. package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
  613. package/fesm2020/ng-nest-ui-skeleton.mjs +10 -10
  614. package/fesm2020/ng-nest-ui-skeleton.mjs.map +1 -1
  615. package/fesm2020/ng-nest-ui-slider-select.mjs +33 -17
  616. package/fesm2020/ng-nest-ui-slider-select.mjs.map +1 -1
  617. package/fesm2020/ng-nest-ui-slider.mjs +13 -11
  618. package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
  619. package/fesm2020/ng-nest-ui-statistic.mjs +16 -16
  620. package/fesm2020/ng-nest-ui-statistic.mjs.map +1 -1
  621. package/fesm2020/ng-nest-ui-steps.mjs +10 -10
  622. package/fesm2020/ng-nest-ui-steps.mjs.map +1 -1
  623. package/fesm2020/ng-nest-ui-switch.mjs +10 -10
  624. package/fesm2020/ng-nest-ui-switch.mjs.map +1 -1
  625. package/fesm2020/ng-nest-ui-table.mjs +51 -34
  626. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  627. package/fesm2020/ng-nest-ui-tabs.mjs +26 -21
  628. package/fesm2020/ng-nest-ui-tabs.mjs.map +1 -1
  629. package/fesm2020/ng-nest-ui-tag.mjs +57 -15
  630. package/fesm2020/ng-nest-ui-tag.mjs.map +1 -1
  631. package/fesm2020/ng-nest-ui-text-retract.mjs +10 -10
  632. package/fesm2020/ng-nest-ui-text-retract.mjs.map +1 -1
  633. package/fesm2020/ng-nest-ui-textarea.mjs +10 -10
  634. package/fesm2020/ng-nest-ui-textarea.mjs.map +1 -1
  635. package/fesm2020/ng-nest-ui-theme.mjs +10 -10
  636. package/fesm2020/ng-nest-ui-theme.mjs.map +1 -1
  637. package/fesm2020/ng-nest-ui-time-ago.mjs +7 -7
  638. package/fesm2020/ng-nest-ui-time-ago.mjs.map +1 -1
  639. package/fesm2020/ng-nest-ui-time-picker.mjs +16 -16
  640. package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
  641. package/fesm2020/ng-nest-ui-time-range.mjs +7 -7
  642. package/fesm2020/ng-nest-ui-time-range.mjs.map +1 -1
  643. package/fesm2020/ng-nest-ui-timeline.mjs +28 -11
  644. package/fesm2020/ng-nest-ui-timeline.mjs.map +1 -1
  645. package/fesm2020/ng-nest-ui-tooltip.mjs +25 -15
  646. package/fesm2020/ng-nest-ui-tooltip.mjs.map +1 -1
  647. package/fesm2020/ng-nest-ui-transfer.mjs +10 -10
  648. package/fesm2020/ng-nest-ui-transfer.mjs.map +1 -1
  649. package/fesm2020/ng-nest-ui-tree-file.mjs +10 -10
  650. package/fesm2020/ng-nest-ui-tree-file.mjs.map +1 -1
  651. package/fesm2020/ng-nest-ui-tree.mjs +16 -16
  652. package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
  653. package/fesm2020/ng-nest-ui-typography.mjs +10 -10
  654. package/fesm2020/ng-nest-ui-typography.mjs.map +1 -1
  655. package/fesm2020/ng-nest-ui-upload.mjs +20 -15
  656. package/fesm2020/ng-nest-ui-upload.mjs.map +1 -1
  657. package/fesm2020/ng-nest-ui.mjs +2 -0
  658. package/fesm2020/ng-nest-ui.mjs.map +1 -1
  659. package/index.d.ts +2 -0
  660. package/list/list.module.d.ts +2 -1
  661. package/list/list.property.d.ts +12 -2
  662. package/package.json +9 -1
  663. package/pagination/pagination.property.d.ts +5 -0
  664. package/popover/popover.directive.d.ts +1 -0
  665. package/popover/popover.property.d.ts +11 -1
  666. package/portal/portal.property.d.ts +1 -0
  667. package/portal/portal.service.d.ts +11 -3
  668. package/resizable/ng-nest-ui-resizable.d.ts +5 -0
  669. package/resizable/package.json +10 -0
  670. package/resizable/public-api.d.ts +3 -0
  671. package/resizable/resizable.directive.d.ts +57 -0
  672. package/resizable/resizable.module.d.ts +8 -0
  673. package/resizable/resizable.property.d.ts +92 -0
  674. package/select/select-portal.component.d.ts +1 -0
  675. package/select/select.property.d.ts +6 -1
  676. package/slider/slider.property.d.ts +5 -0
  677. package/slider-select/slider-select.property.d.ts +7 -2
  678. package/style/core/cdk.scss +3 -0
  679. package/style/core/index.css +185 -0
  680. package/style/core/index.css.map +1 -1
  681. package/style/core/index.scss +1 -0
  682. package/style/core/portal.scss +5 -0
  683. package/style/directives/index.scss +1 -0
  684. package/style/directives/resizable/index.scss +6 -0
  685. package/style/directives/resizable/mixin.scss +53 -0
  686. package/style/directives/resizable/param.scss +3 -0
  687. package/style/directives/ripple/mixin.scss +8 -8
  688. package/table/table.component.d.ts +1 -0
  689. package/table/table.property.d.ts +16 -1
  690. package/tabs/tabs.property.d.ts +16 -1
  691. package/tag/examples/en_US/default/checked/README.md +6 -0
  692. package/tag/examples/en_US/default/color/README.md +6 -0
  693. package/tag/examples/zh_CN/default/checked/README.md +6 -0
  694. package/tag/examples/zh_CN/default/color/README.md +6 -0
  695. package/tag/tag.component.d.ts +5 -0
  696. package/tag/tag.property.d.ts +23 -1
  697. package/timeline/examples/en_US/default/loading/README.md +6 -0
  698. package/timeline/examples/zh_CN/default/loading/README.md +6 -0
  699. package/timeline/timeline.component.d.ts +1 -0
  700. package/timeline/timeline.property.d.ts +16 -1
  701. package/tooltip/tooltip.property.d.ts +6 -1
@@ -52,9 +52,9 @@ export class XDescriptionComponent extends XDescriptionProperty {
52
52
  this.gridTemplateColumns = gridTemplateColumns.join(' ');
53
53
  }
54
54
  }
55
- /** @nocollapse */ /** @nocollapse */ XDescriptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionComponent, deps: [{ token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
56
- /** @nocollapse */ /** @nocollapse */ XDescriptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDescriptionComponent, selector: "x-description", queries: [{ propertyName: "items", predicate: XDescriptionItemComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-description\" [class.x-description-bordered]=\"bordered\" [ngClass]=\"classMap\">\r\n <div class=\"x-description-header\">\r\n <div class=\"x-description-title\" *xOutlet=\"title\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n <div class=\"x-description-grid\" [style.grid-template-columns]=\"gridTemplateColumns\">\r\n <div\r\n *ngFor=\"let item of items; index as i\"\r\n class=\"x-description-item\"\r\n [style.grid-area]=\"item.gridArea ? item.gridArea : '1 / ' + (i + 1)\"\r\n [class.x-description-item-heading]=\"item.heading\"\r\n [ngClass]=\"setFlex(item)\"\r\n >\r\n <div class=\"x-description-item-label\">\r\n <ng-container *xOutlet=\"item.label\">{{ item.label }}</ng-container>\r\n </div>\r\n <div class=\"x-description-item-content\">\r\n <ng-template [ngTemplateOutlet]=\"item.content\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".x-description{margin:0;padding:0}.x-description-header{display:flex;align-items:center}.x-description-title{font-weight:700}.x-description-grid{display:grid;grid-auto-flow:row}.x-description-item{display:flex;align-items:baseline}.x-description-item.x-flex{display:flex}.x-description-item.x-justify-start{justify-content:flex-start}.x-description-item.x-justify-center{justify-content:center}.x-description-item.x-justify-end{justify-content:flex-end}.x-description-item.x-justify-space-between{justify-content:space-between}.x-description-item.x-justify-space-around{justify-content:space-around}.x-description-item.x-align-start{align-items:flex-start}.x-description-item.x-align-center{align-items:center}.x-description-item.x-align-end{align-items:flex-end}.x-description-item.x-direction-column{flex-direction:column}.x-description-item.x-direction-column-reverse{flex-direction:column-reverse}.x-description-item.x-direction-row{flex-direction:row}.x-description-item.x-direction-row-reverse{flex-direction:row-reverse}.x-description-item-heading{background-color:var(--x-background-a100)}.x-description-bordered .x-description-item{border:var(--x-border-width) var(--x-border-style) var(--x-border);margin-left:-1px;margin-top:-1px}.x-description-big .x-description-header{padding:var(--x-padding-big) 0}.x-description-big .x-description-item{padding:calc(var(--x-padding-big) / 2) 0}.x-description-big.x-description-bordered .x-description-item{padding:var(--x-padding-big)}.x-description-large .x-description-header{padding:var(--x-padding-large) 0}.x-description-large .x-description-item{padding:calc(var(--x-padding-large) / 2) 0}.x-description-large.x-description-bordered .x-description-item{padding:var(--x-padding-large)}.x-description-medium .x-description-header{padding:var(--x-padding-medium) 0}.x-description-medium .x-description-item{padding:calc(var(--x-padding-medium) / 2) 0}.x-description-medium.x-description-bordered .x-description-item{padding:var(--x-padding-medium)}.x-description-small .x-description-header{padding:var(--x-padding-small) 0}.x-description-small .x-description-item{padding:calc(var(--x-padding-small) / 2) 0}.x-description-small.x-description-bordered .x-description-item{padding:var(--x-padding-small)}.x-description-mini .x-description-header{padding:var(--x-padding-mini) 0}.x-description-mini .x-description-item{padding:calc(var(--x-padding-mini) / 2) 0}.x-description-mini.x-description-bordered .x-description-item{padding:var(--x-padding-mini)}\n"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionComponent, decorators: [{
55
+ /** @nocollapse */ /** @nocollapse */ XDescriptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDescriptionComponent, deps: [{ token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
56
+ /** @nocollapse */ /** @nocollapse */ XDescriptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: XDescriptionComponent, selector: "x-description", queries: [{ propertyName: "items", predicate: XDescriptionItemComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-description\" [class.x-description-bordered]=\"bordered\" [ngClass]=\"classMap\">\r\n <div class=\"x-description-header\">\r\n <div class=\"x-description-title\" *xOutlet=\"title\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n <div class=\"x-description-grid\" [style.grid-template-columns]=\"gridTemplateColumns\">\r\n <div\r\n *ngFor=\"let item of items; index as i\"\r\n class=\"x-description-item\"\r\n [style.grid-area]=\"item.gridArea ? item.gridArea : '1 / ' + (i + 1)\"\r\n [class.x-description-item-heading]=\"item.heading\"\r\n [ngClass]=\"setFlex(item)\"\r\n >\r\n <div class=\"x-description-item-label\">\r\n <ng-container *xOutlet=\"item.label\">{{ item.label }}</ng-container>\r\n </div>\r\n <div class=\"x-description-item-content\">\r\n <ng-template [ngTemplateOutlet]=\"item.content\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".x-description{margin:0;padding:0}.x-description-header{display:flex;align-items:center}.x-description-title{font-weight:700}.x-description-grid{display:grid;grid-auto-flow:row}.x-description-item{display:flex;align-items:baseline}.x-description-item.x-flex{display:flex}.x-description-item.x-justify-start{justify-content:flex-start}.x-description-item.x-justify-center{justify-content:center}.x-description-item.x-justify-end{justify-content:flex-end}.x-description-item.x-justify-space-between{justify-content:space-between}.x-description-item.x-justify-space-around{justify-content:space-around}.x-description-item.x-align-start{align-items:flex-start}.x-description-item.x-align-center{align-items:center}.x-description-item.x-align-end{align-items:flex-end}.x-description-item.x-direction-column{flex-direction:column}.x-description-item.x-direction-column-reverse{flex-direction:column-reverse}.x-description-item.x-direction-row{flex-direction:row}.x-description-item.x-direction-row-reverse{flex-direction:row-reverse}.x-description-item-heading{background-color:var(--x-background-a100)}.x-description-bordered .x-description-item{border:var(--x-border-width) var(--x-border-style) var(--x-border);margin-left:-1px;margin-top:-1px}.x-description-big .x-description-header{padding:var(--x-padding-big) 0}.x-description-big .x-description-item{padding:calc(var(--x-padding-big) / 2) 0}.x-description-big.x-description-bordered .x-description-item{padding:var(--x-padding-big)}.x-description-large .x-description-header{padding:var(--x-padding-large) 0}.x-description-large .x-description-item{padding:calc(var(--x-padding-large) / 2) 0}.x-description-large.x-description-bordered .x-description-item{padding:var(--x-padding-large)}.x-description-medium .x-description-header{padding:var(--x-padding-medium) 0}.x-description-medium .x-description-item{padding:calc(var(--x-padding-medium) / 2) 0}.x-description-medium.x-description-bordered .x-description-item{padding:var(--x-padding-medium)}.x-description-small .x-description-header{padding:var(--x-padding-small) 0}.x-description-small .x-description-item{padding:calc(var(--x-padding-small) / 2) 0}.x-description-small.x-description-bordered .x-description-item{padding:var(--x-padding-small)}.x-description-mini .x-description-header{padding:var(--x-padding-mini) 0}.x-description-mini .x-description-item{padding:calc(var(--x-padding-mini) / 2) 0}.x-description-mini.x-description-bordered .x-description-item{padding:var(--x-padding-mini)}\n"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDescriptionComponent, decorators: [{
58
58
  type: Component,
59
59
  args: [{ selector: `${XDescriptionPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-description\" [class.x-description-bordered]=\"bordered\" [ngClass]=\"classMap\">\r\n <div class=\"x-description-header\">\r\n <div class=\"x-description-title\" *xOutlet=\"title\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n <div class=\"x-description-grid\" [style.grid-template-columns]=\"gridTemplateColumns\">\r\n <div\r\n *ngFor=\"let item of items; index as i\"\r\n class=\"x-description-item\"\r\n [style.grid-area]=\"item.gridArea ? item.gridArea : '1 / ' + (i + 1)\"\r\n [class.x-description-item-heading]=\"item.heading\"\r\n [ngClass]=\"setFlex(item)\"\r\n >\r\n <div class=\"x-description-item-label\">\r\n <ng-container *xOutlet=\"item.label\">{{ item.label }}</ng-container>\r\n </div>\r\n <div class=\"x-description-item-content\">\r\n <ng-template [ngTemplateOutlet]=\"item.content\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".x-description{margin:0;padding:0}.x-description-header{display:flex;align-items:center}.x-description-title{font-weight:700}.x-description-grid{display:grid;grid-auto-flow:row}.x-description-item{display:flex;align-items:baseline}.x-description-item.x-flex{display:flex}.x-description-item.x-justify-start{justify-content:flex-start}.x-description-item.x-justify-center{justify-content:center}.x-description-item.x-justify-end{justify-content:flex-end}.x-description-item.x-justify-space-between{justify-content:space-between}.x-description-item.x-justify-space-around{justify-content:space-around}.x-description-item.x-align-start{align-items:flex-start}.x-description-item.x-align-center{align-items:center}.x-description-item.x-align-end{align-items:flex-end}.x-description-item.x-direction-column{flex-direction:column}.x-description-item.x-direction-column-reverse{flex-direction:column-reverse}.x-description-item.x-direction-row{flex-direction:row}.x-description-item.x-direction-row-reverse{flex-direction:row-reverse}.x-description-item-heading{background-color:var(--x-background-a100)}.x-description-bordered .x-description-item{border:var(--x-border-width) var(--x-border-style) var(--x-border);margin-left:-1px;margin-top:-1px}.x-description-big .x-description-header{padding:var(--x-padding-big) 0}.x-description-big .x-description-item{padding:calc(var(--x-padding-big) / 2) 0}.x-description-big.x-description-bordered .x-description-item{padding:var(--x-padding-big)}.x-description-large .x-description-header{padding:var(--x-padding-large) 0}.x-description-large .x-description-item{padding:calc(var(--x-padding-large) / 2) 0}.x-description-large.x-description-bordered .x-description-item{padding:var(--x-padding-large)}.x-description-medium .x-description-header{padding:var(--x-padding-medium) 0}.x-description-medium .x-description-item{padding:calc(var(--x-padding-medium) / 2) 0}.x-description-medium.x-description-bordered .x-description-item{padding:var(--x-padding-medium)}.x-description-small .x-description-header{padding:var(--x-padding-small) 0}.x-description-small .x-description-item{padding:calc(var(--x-padding-small) / 2) 0}.x-description-small.x-description-bordered .x-description-item{padding:var(--x-padding-small)}.x-description-mini .x-description-header{padding:var(--x-padding-mini) 0}.x-description-mini .x-description-item{padding:calc(var(--x-padding-mini) / 2) 0}.x-description-mini.x-description-bordered .x-description-item{padding:var(--x-padding-mini)}\n"] }]
60
60
  }], ctorParameters: function () { return [{ type: i1.XConfigService }]; }, propDecorators: { items: [{
@@ -7,10 +7,10 @@ import { XDescriptionItemProperty, XDescriptionProperty } from './description.pr
7
7
  import * as i0 from "@angular/core";
8
8
  export class XDescriptionModule {
9
9
  }
10
- /** @nocollapse */ /** @nocollapse */ XDescriptionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- /** @nocollapse */ /** @nocollapse */ XDescriptionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionModule, declarations: [XDescriptionComponent, XDescriptionProperty, XDescriptionItemComponent, XDescriptionItemProperty], imports: [CommonModule, XOutletModule], exports: [XDescriptionComponent, XDescriptionItemComponent] });
12
- /** @nocollapse */ /** @nocollapse */ XDescriptionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionModule, imports: [[CommonModule, XOutletModule]] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionModule, decorators: [{
10
+ /** @nocollapse */ /** @nocollapse */ XDescriptionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDescriptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ /** @nocollapse */ /** @nocollapse */ XDescriptionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDescriptionModule, declarations: [XDescriptionComponent, XDescriptionProperty, XDescriptionItemComponent, XDescriptionItemProperty], imports: [CommonModule, XOutletModule], exports: [XDescriptionComponent, XDescriptionItemComponent] });
12
+ /** @nocollapse */ /** @nocollapse */ XDescriptionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDescriptionModule, imports: [[CommonModule, XOutletModule]] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDescriptionModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  declarations: [XDescriptionComponent, XDescriptionProperty, XDescriptionItemComponent, XDescriptionItemProperty],
@@ -14,8 +14,8 @@ const X_CONFIG_NAME = 'description';
14
14
  */
15
15
  export class XDescriptionProperty extends XProperty {
16
16
  }
17
- /** @nocollapse */ /** @nocollapse */ XDescriptionProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
18
- /** @nocollapse */ /** @nocollapse */ XDescriptionProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDescriptionProperty, selector: "ng-component", inputs: { title: "title", bordered: "bordered", gridTemplateColumns: "gridTemplateColumns", size: "size" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
17
+ /** @nocollapse */ /** @nocollapse */ XDescriptionProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDescriptionProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
18
+ /** @nocollapse */ /** @nocollapse */ XDescriptionProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: XDescriptionProperty, selector: "ng-component", inputs: { title: "title", bordered: "bordered", gridTemplateColumns: "gridTemplateColumns", size: "size" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
19
19
  __decorate([
20
20
  XWithConfig(X_CONFIG_NAME, false),
21
21
  XInputBoolean()
@@ -23,7 +23,7 @@ __decorate([
23
23
  __decorate([
24
24
  XWithConfig(X_CONFIG_NAME, 'medium')
25
25
  ], XDescriptionProperty.prototype, "size", void 0);
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionProperty, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDescriptionProperty, decorators: [{
27
27
  type: Component,
28
28
  args: [{ template: '' }]
29
29
  }], propDecorators: { title: [{
@@ -68,12 +68,12 @@ export class XDescriptionItemProperty {
68
68
  this.heading = false;
69
69
  }
70
70
  }
71
- /** @nocollapse */ /** @nocollapse */ XDescriptionItemProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionItemProperty, deps: [], target: i0.ɵɵFactoryTarget.Component });
72
- /** @nocollapse */ /** @nocollapse */ XDescriptionItemProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDescriptionItemProperty, selector: "ng-component", inputs: { gridArea: "gridArea", label: "label", justify: "justify", align: "align", direction: "direction", width: "width", flex: "flex", heading: "heading" }, ngImport: i0, template: '', isInline: true });
71
+ /** @nocollapse */ /** @nocollapse */ XDescriptionItemProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDescriptionItemProperty, deps: [], target: i0.ɵɵFactoryTarget.Component });
72
+ /** @nocollapse */ /** @nocollapse */ XDescriptionItemProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: XDescriptionItemProperty, selector: "ng-component", inputs: { gridArea: "gridArea", label: "label", justify: "justify", align: "align", direction: "direction", width: "width", flex: "flex", heading: "heading" }, ngImport: i0, template: '', isInline: true });
73
73
  __decorate([
74
74
  XInputBoolean()
75
75
  ], XDescriptionItemProperty.prototype, "heading", void 0);
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDescriptionItemProperty, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDescriptionItemProperty, decorators: [{
77
77
  type: Component,
78
78
  args: [{ template: '' }]
79
79
  }], propDecorators: { gridArea: [{
@@ -28,9 +28,9 @@ export class XDialogPortalComponent extends BasePortalOutlet {
28
28
  return this.portalOutlet.attachTemplatePortal(portal);
29
29
  }
30
30
  }
31
- /** @nocollapse */ /** @nocollapse */ XDialogPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDialogPortalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
- /** @nocollapse */ /** @nocollapse */ XDialogPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDialogPortalComponent, selector: "x-dialog-portal", host: { listeners: { "@x-move-box-animation.done": "done($event)", "@x-move-box-animation.start": "start($event)" }, properties: { "class.x-dialog-portal": "this._has", "@x-move-box-animation": "this.placement" } }, viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\r\n", styles: [".x-dialog-portal{margin:0;padding:0;width:100%;height:100%;overflow:auto;display:block;padding:1rem;box-sizing:border-box;min-height:inherit;max-height:inherit;background-color:var(--x-background);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);border:.0625rem solid transparent;border-radius:var(--x-border-radius)}.x-dialog-portal-title{display:block;margin:0 0 .5rem;font-weight:600;color:var(--x-text-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x-dialog-portal-content{display:block;margin:0 -1rem;padding:0 1rem;max-height:70vh;overflow:auto;color:var(--x-text-300);font-size:calc(var(--x-font-size) - .0625rem);line-height:1.325rem}.x-dialog-portal-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;box-sizing:content-box;margin-bottom:-1rem;min-height:4rem}.x-dialog-portal-actions[align=center]{justify-content:center}.x-dialog-portal-actions[align=start]{justify-content:flex-start}.x-dialog-portal-actions x-button:not(:first-child){margin-left:1rem}\n"], directives: [{ type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [XMoveBoxAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDialogPortalComponent, decorators: [{
31
+ /** @nocollapse */ /** @nocollapse */ XDialogPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDialogPortalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
+ /** @nocollapse */ /** @nocollapse */ XDialogPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: XDialogPortalComponent, selector: "x-dialog-portal", host: { listeners: { "@x-move-box-animation.done": "done($event)", "@x-move-box-animation.start": "start($event)" }, properties: { "class.x-dialog-portal": "this._has", "@x-move-box-animation": "this.placement" } }, viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\r\n", styles: [".x-dialog-portal{margin:0;padding:0;width:100%;height:100%;overflow:auto;display:block;padding:1rem;box-sizing:border-box;min-height:inherit;max-height:inherit;background-color:var(--x-background);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);border:.0625rem solid transparent;border-radius:var(--x-border-radius)}.x-dialog-portal-title{display:block;margin:0 0 .5rem;font-weight:600;color:var(--x-text-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x-dialog-portal-content{display:block;margin:0 -1rem;padding:0 1rem;max-height:70vh;overflow:auto;color:var(--x-text-300);font-size:calc(var(--x-font-size) - .0625rem);line-height:1.325rem}.x-dialog-portal-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;box-sizing:content-box;margin-bottom:-1rem;min-height:4rem}.x-dialog-portal-actions[align=center]{justify-content:center}.x-dialog-portal-actions[align=start]{justify-content:flex-start}.x-dialog-portal-actions x-button:not(:first-child){margin-left:1rem}\n"], directives: [{ type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [XMoveBoxAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDialogPortalComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{ selector: 'x-dialog-portal', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XMoveBoxAnimation], template: "<ng-template cdkPortalOutlet></ng-template>\r\n", styles: [".x-dialog-portal{margin:0;padding:0;width:100%;height:100%;overflow:auto;display:block;padding:1rem;box-sizing:border-box;min-height:inherit;max-height:inherit;background-color:var(--x-background);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);border:.0625rem solid transparent;border-radius:var(--x-border-radius)}.x-dialog-portal-title{display:block;margin:0 0 .5rem;font-weight:600;color:var(--x-text-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x-dialog-portal-content{display:block;margin:0 -1rem;padding:0 1rem;max-height:70vh;overflow:auto;color:var(--x-text-300);font-size:calc(var(--x-font-size) - .0625rem);line-height:1.325rem}.x-dialog-portal-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;box-sizing:content-box;margin-bottom:-1rem;min-height:4rem}.x-dialog-portal-actions[align=center]{justify-content:center}.x-dialog-portal-actions[align=start]{justify-content:flex-start}.x-dialog-portal-actions x-button:not(:first-child){margin-left:1rem}\n"] }]
36
36
  }], ctorParameters: function () { return []; }, propDecorators: { _has: [{
@@ -9,9 +9,9 @@ export class XDialogCloseDirective {
9
9
  this.dialogRef && this.dialogRef.close();
10
10
  }
11
11
  }
12
- /** @nocollapse */ /** @nocollapse */ XDialogCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDialogCloseDirective, deps: [{ token: i1.XDialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
13
- /** @nocollapse */ /** @nocollapse */ XDialogCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: XDialogCloseDirective, selector: "[x-dialog-close]", host: { listeners: { "click": "onCloseClick($event)" } }, ngImport: i0 });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDialogCloseDirective, decorators: [{
12
+ /** @nocollapse */ /** @nocollapse */ XDialogCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDialogCloseDirective, deps: [{ token: i1.XDialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
13
+ /** @nocollapse */ /** @nocollapse */ XDialogCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: XDialogCloseDirective, selector: "[x-dialog-close]", host: { listeners: { "click": "onCloseClick($event)" } }, ngImport: i0 });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDialogCloseDirective, decorators: [{
15
15
  type: Directive,
16
16
  args: [{
17
17
  selector: `[x-dialog-close]`
@@ -27,9 +27,9 @@ export class XDialogTitleDirective {
27
27
  this._has = true;
28
28
  }
29
29
  }
30
- /** @nocollapse */ /** @nocollapse */ XDialogTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDialogTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
31
- /** @nocollapse */ /** @nocollapse */ XDialogTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: XDialogTitleDirective, selector: "[x-dialog-title]", host: { properties: { "class.x-dialog-portal-title": "this._has" } }, ngImport: i0 });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDialogTitleDirective, decorators: [{
30
+ /** @nocollapse */ /** @nocollapse */ XDialogTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDialogTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
31
+ /** @nocollapse */ /** @nocollapse */ XDialogTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: XDialogTitleDirective, selector: "[x-dialog-title]", host: { properties: { "class.x-dialog-portal-title": "this._has" } }, ngImport: i0 });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDialogTitleDirective, decorators: [{
33
33
  type: Directive,
34
34
  args: [{
35
35
  selector: `[x-dialog-title]`
@@ -43,9 +43,9 @@ export class XDialogContentDirective {
43
43
  this._has = true;
44
44
  }
45
45
  }
46
- /** @nocollapse */ /** @nocollapse */ XDialogContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
47
- /** @nocollapse */ /** @nocollapse */ XDialogContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: XDialogContentDirective, selector: "[x-dialog-content], x-dialog-content", host: { properties: { "class.x-dialog-portal-content": "this._has" } }, ngImport: i0 });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDialogContentDirective, decorators: [{
46
+ /** @nocollapse */ /** @nocollapse */ XDialogContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
47
+ /** @nocollapse */ /** @nocollapse */ XDialogContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: XDialogContentDirective, selector: "[x-dialog-content], x-dialog-content", host: { properties: { "class.x-dialog-portal-content": "this._has" } }, ngImport: i0 });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDialogContentDirective, decorators: [{
49
49
  type: Directive,
50
50
  args: [{
51
51
  selector: `[x-dialog-content], x-dialog-content`
@@ -59,9 +59,9 @@ export class XDialogActionsDirective {
59
59
  this._has = true;
60
60
  }
61
61
  }
62
- /** @nocollapse */ /** @nocollapse */ XDialogActionsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDialogActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
63
- /** @nocollapse */ /** @nocollapse */ XDialogActionsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: XDialogActionsDirective, selector: "[x-dialog-actions], x-dialog-actions", host: { properties: { "class.x-dialog-portal-actions": "this._has" } }, ngImport: i0 });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDialogActionsDirective, decorators: [{
62
+ /** @nocollapse */ /** @nocollapse */ XDialogActionsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDialogActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
63
+ /** @nocollapse */ /** @nocollapse */ XDialogActionsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: XDialogActionsDirective, selector: "[x-dialog-actions], x-dialog-actions", host: { properties: { "class.x-dialog-portal-actions": "this._has" } }, ngImport: i0 });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDialogActionsDirective, decorators: [{
65
65
  type: Directive,
66
66
  args: [{
67
67
  selector: `[x-dialog-actions], x-dialog-actions`
@@ -1,25 +1,36 @@
1
1
  import { Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild } from '@angular/core';
2
2
  import { XMoveBoxAnimation, XIsChange, XIsFunction } from '@ng-nest/ui/core';
3
3
  import { XDialogPrefix, XDialogProperty, XDialogContainer } from './dialog.property';
4
+ import { PortalResizablePrefix } from '@ng-nest/ui/portal';
4
5
  import { Subject } from 'rxjs';
5
6
  import { map, takeUntil } from 'rxjs/operators';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@ng-nest/ui/portal";
8
- import * as i2 from "@ng-nest/ui/i18n";
9
- import * as i3 from "@ng-nest/ui/alert";
10
- import * as i4 from "@ng-nest/ui/button";
11
- import * as i5 from "@ng-nest/ui/outlet";
12
- import * as i6 from "@angular/common";
9
+ import * as i2 from "@angular/cdk/overlay";
10
+ import * as i3 from "@ng-nest/ui/i18n";
11
+ import * as i4 from "@ng-nest/ui/alert";
12
+ import * as i5 from "@ng-nest/ui/button";
13
+ import * as i6 from "@ng-nest/ui/outlet";
14
+ import * as i7 from "@angular/common";
13
15
  export class XDialogComponent extends XDialogProperty {
14
- constructor(renderer, elementRef, cdr, viewContainerRef, protalService, i18n) {
16
+ constructor(renderer, elementRef, cdr, viewContainerRef, protalService, overlay, i18n) {
15
17
  super();
16
18
  this.renderer = renderer;
17
19
  this.elementRef = elementRef;
18
20
  this.cdr = cdr;
19
21
  this.viewContainerRef = viewContainerRef;
20
22
  this.protalService = protalService;
23
+ this.overlay = overlay;
21
24
  this.i18n = i18n;
22
25
  this.locale = {};
26
+ this.initHeight = 0;
27
+ this.initContentHeight = 0;
28
+ this.isMaximize = false;
29
+ this.isDefaultMaximize = false;
30
+ this.dialogBox = {};
31
+ this.contentBox = {};
32
+ this.distance = { x: 0, y: 0 };
33
+ this.viewInit = false;
23
34
  this._unSubject = new Subject();
24
35
  this.scrollStrategy = this.protalService.overlay.scrollStrategies.block();
25
36
  }
@@ -36,6 +47,8 @@ export class XDialogComponent extends XDialogProperty {
36
47
  this.locale = x;
37
48
  this.cdr.markForCheck();
38
49
  });
50
+ this.dialogBox['draggable'] = this.draggable;
51
+ this.dialogBox['resizable'] = this.resizable;
39
52
  }
40
53
  ngOnChanges(changes) {
41
54
  const { visible } = changes;
@@ -46,10 +59,16 @@ export class XDialogComponent extends XDialogProperty {
46
59
  this._unSubject.next();
47
60
  this._unSubject.unsubscribe();
48
61
  }
62
+ ngAfterViewInit() {
63
+ this.viewInit = true;
64
+ setTimeout(() => this.visible && this.create());
65
+ }
49
66
  unsubscribe() {
50
67
  this.backdropClick$?.unsubscribe();
51
68
  }
52
69
  setVisible() {
70
+ if (!this.viewInit)
71
+ return;
53
72
  if (this.visible) {
54
73
  this.create();
55
74
  }
@@ -65,20 +84,54 @@ export class XDialogComponent extends XDialogProperty {
65
84
  overlayConfig: {
66
85
  panelClass: [XDialogContainer, this.className],
67
86
  hasBackdrop: Boolean(this.hasBackdrop),
68
- positionStrategy: this.protalService.setPlace(this.placement, this.width, this.height, this.offset)
87
+ scrollStrategy: this.overlay.scrollStrategies.block(),
88
+ width: this.width,
89
+ height: this.height,
90
+ minWidth: this.minWidth,
91
+ minHeight: this.minHeight,
92
+ positionStrategy: this.protalService.setPlace(this.placement, this.offset)
69
93
  }
70
94
  });
71
- // this.scrollStrategy.enable();
95
+ const { hostElement, overlayElement } = this.dialogRef.overlayRef;
96
+ this.overlayElement = overlayElement;
97
+ this.setWidthHeight();
98
+ Object.assign(this.dialogBox, {
99
+ width: this.width,
100
+ height: this.height,
101
+ minWidth: this.minWidth,
102
+ minHeight: this.minHeight
103
+ });
104
+ if (this.resizable && !this.isDefaultMaximize) {
105
+ this.renderer.addClass(hostElement, PortalResizablePrefix);
106
+ setTimeout(() => {
107
+ Object.assign(this.dialogBox, this.protalService.setResizable(this.overlayElement, this.placement));
108
+ this.offsetLeft = this.overlayElement.offsetLeft;
109
+ this.offsetTop = this.overlayElement.offsetTop;
110
+ const dialogDraggable = this.overlayElement?.querySelector('.x-alert-draggable');
111
+ this.initHeight = dialogDraggable.clientHeight;
112
+ this.dialogContent = this.overlayElement?.querySelector('.x-dialog-content');
113
+ this.initContentHeight = this.dialogContent.clientHeight;
114
+ });
115
+ }
72
116
  if (this.hasBackdrop && this.backdropClose && this.dialogRef?.overlayRef) {
73
117
  this.backdropClick$ = this.dialogRef.overlayRef.backdropClick().subscribe(() => this.onClose());
74
118
  }
75
119
  }
120
+ setWidthHeight() {
121
+ const ws = ['100%', '100vw'];
122
+ const hs = ['100%', '100vh'];
123
+ if (ws.includes(this.width) && hs.includes(this.height)) {
124
+ this.isDefaultMaximize = true;
125
+ this.resizable = false;
126
+ this.draggable = false;
127
+ this.maximize = false;
128
+ }
129
+ }
76
130
  detach() {
77
131
  if (this.portalAttached()) {
78
132
  this.visible = false;
79
133
  this.visibleChange.emit(this.visible);
80
134
  this.dialogRef?.overlayRef?.detach();
81
- // this.scrollStrategy.disable();
82
135
  this.unsubscribe();
83
136
  this.close.emit();
84
137
  }
@@ -94,6 +147,67 @@ export class XDialogComponent extends XDialogProperty {
94
147
  this.detach();
95
148
  }
96
149
  }
150
+ onDragEnded($event) {
151
+ this.distance = { x: this.distance.x + $event.distance.x, y: this.distance.y + $event.distance.y };
152
+ }
153
+ onSize() {
154
+ if (!this.dialogRef)
155
+ return;
156
+ this.isMaximize = !this.isMaximize;
157
+ if (this.isMaximize) {
158
+ this.onMaximize();
159
+ }
160
+ else {
161
+ this.onMinimize();
162
+ }
163
+ }
164
+ onMaximize() {
165
+ this.dialogRef.overlayRef?.updateSize({
166
+ width: '100%',
167
+ height: '100%',
168
+ minWidth: '100%',
169
+ minHeight: '100%'
170
+ });
171
+ this.dialogBox['minWidth'] = '100%';
172
+ this.dialogBox['minHeight'] = '100%';
173
+ this.dialogBox['draggable'] = false;
174
+ this.dialogBox['resizable'] = false;
175
+ if (this.resizable) {
176
+ this.renderer.setStyle(this.overlayElement, 'margin', '0 0 0 0');
177
+ }
178
+ if (this.draggable) {
179
+ this.dialogBox['distance'] = { x: 0, y: 0 };
180
+ }
181
+ }
182
+ onMinimize() {
183
+ this.dialogBox['minWidth'] = this.minWidth;
184
+ this.dialogBox['minHeight'] = this.minHeight;
185
+ this.dialogBox['draggable'] = this.draggable;
186
+ this.dialogBox['resizable'] = this.resizable;
187
+ this.dialogRef.overlayRef?.updateSize({
188
+ width: this.dialogBox['width'],
189
+ height: this.dialogBox['height'],
190
+ minWidth: this.dialogBox['minWidth'],
191
+ minHeight: this.dialogBox['minHeight']
192
+ });
193
+ if (this.draggable) {
194
+ this.dialogBox['distance'] = { ...this.distance };
195
+ }
196
+ if (this.resizable) {
197
+ if (this.dialogBox['marginTop']) {
198
+ this.renderer.setStyle(this.overlayElement, 'margin-top', `${this.dialogBox['marginTop']}`);
199
+ }
200
+ if (this.dialogBox['marginLeft']) {
201
+ this.renderer.setStyle(this.overlayElement, 'margin-left', `${this.dialogBox['marginLeft']}`);
202
+ }
203
+ if (this.dialogBox['marginRight']) {
204
+ this.renderer.setStyle(this.overlayElement, 'margin-right', `${this.dialogBox['marginRight']}`);
205
+ }
206
+ if (this.dialogBox['marginBottom']) {
207
+ this.renderer.setStyle(this.overlayElement, 'margin-bottom', `${this.dialogBox['marginBottom']}`);
208
+ }
209
+ }
210
+ }
97
211
  onCancel() {
98
212
  this.onClose();
99
213
  this.cancel.emit();
@@ -105,20 +219,32 @@ export class XDialogComponent extends XDialogProperty {
105
219
  moveDone($event) {
106
220
  if ($event.toState === 'void') {
107
221
  this.closeDone.emit($event);
222
+ this.isMaximize = false;
223
+ this.dialogBox = {
224
+ draggable: this.draggable,
225
+ resizable: this.resizable
226
+ };
227
+ this.distance = { x: 0, y: 0 };
108
228
  this.dialogRef?.overlayRef?.dispose();
109
229
  }
110
230
  else {
111
231
  this.showDone.emit($event);
112
232
  }
113
233
  }
234
+ onResizing(event) {
235
+ const contentHeight = Number(this.initContentHeight) + Number(event.clientHeight) - Number(this.initHeight);
236
+ this.renderer.setStyle(this.dialogContent, 'max-height', 'initial');
237
+ this.renderer.setStyle(this.dialogContent, 'flex', 'initial');
238
+ this.renderer.setStyle(this.dialogContent, 'height', `${contentHeight}px`);
239
+ }
114
240
  }
115
- /** @nocollapse */ /** @nocollapse */ XDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDialogComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i1.XPortalService }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
116
- /** @nocollapse */ /** @nocollapse */ XDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDialogComponent, selector: "x-dialog", viewQueries: [{ propertyName: "dialogTpl", first: true, predicate: ["dialogTpl"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #dialogTpl>\r\n <div class=\"x-dialog\" [@x-move-box-animation]=\"placement\" (@x-move-box-animation.done)=\"moveDone($event)\">\r\n <x-alert\r\n [draggable]=\"draggable\"\r\n [dragBoundary]=\"'.cdk-overlay-container'\"\r\n (close)=\"onClose()\"\r\n [title]=\"title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"type\"\r\n [effect]=\"effect\"\r\n [hideClose]=\"hideClose\"\r\n [closeText]=\"closeText\"\r\n showIcon=\"false\"\r\n duration=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #contentTpl>\r\n <div class=\"x-dialog-inner\">\r\n <div class=\"x-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"x-dialog-buttons\" [class.x-dialog-buttons-center]=\"buttonsCenter\">\r\n <ng-container *xOutlet=\"footer\">\r\n <x-buttons space=\"1\" *ngIf=\"showCancel || showConfirm\">\r\n <x-button *ngIf=\"showCancel\" (click)=\"onCancel()\">{{ getCancelText }}</x-button>\r\n <x-button *ngIf=\"showConfirm\" type=\"primary\" (click)=\"onConfirm()\">{{ getConfirmText }}</x-button>\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-dialog{margin:0;padding:0;width:100%;height:100%}.x-dialog x-alert{height:100%}.x-dialog x-alert .x-alert{min-height:100%;height:-moz-fit-content;height:fit-content;align-items:inherit;padding:0}.x-dialog x-alert .x-alert-inner{min-height:100%;display:flex;flex-direction:column}.x-dialog x-alert .x-alert-title{padding:1rem 1rem 0}.x-dialog x-alert .x-alert-content{flex:1;display:flex;flex-direction:column;padding:0 1rem .5rem}.x-dialog-inner{display:flex;flex-direction:column;margin:.5rem 0;flex:1}.x-dialog-buttons{display:flex;justify-content:flex-end}.x-dialog-buttons>x-buttons{margin-top:1rem;align-self:flex-end}.x-dialog-buttons-center{justify-content:center}.x-dialog-content{display:inline-flex;flex:1}.x-dialog-container x-dialog{width:100%}\n"], components: [{ type: i3.XAlertComponent, selector: "x-alert" }, { type: i4.XButtonsComponent, selector: "x-buttons" }, { type: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i5.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [XMoveBoxAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDialogComponent, decorators: [{
241
+ /** @nocollapse */ /** @nocollapse */ XDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDialogComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i1.XPortalService }, { token: i2.Overlay }, { token: i3.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
242
+ /** @nocollapse */ /** @nocollapse */ XDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: XDialogComponent, selector: "x-dialog", viewQueries: [{ propertyName: "dialogTpl", first: true, predicate: ["dialogTpl"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #dialogTpl>\r\n <div\r\n class=\"x-dialog\"\r\n [@x-move-box-animation]=\"placement\"\r\n (@x-move-box-animation.done)=\"moveDone($event)\"\r\n [class.x-dialog-maximize]=\"isMaximize\"\r\n [class.x-dialog-resizable]=\"resizable\"\r\n [class.x-dialog-default-maximize]=\"isDefaultMaximize\"\r\n >\r\n <x-alert\r\n [draggable]=\"draggable && dialogBox['draggable']\"\r\n [resizable]=\"resizable && dialogBox['resizable']\"\r\n [dragFreeDragPosition]=\"dialogBox['distance']\"\r\n [offsetLeft]=\"offsetLeft\"\r\n [offsetTop]=\"offsetTop\"\r\n [minWidth]=\"dialogBox['minWidth']\"\r\n [minHeight]=\"dialogBox['minHeight']\"\r\n [dragBoundary]=\"'.cdk-overlay-container'\"\r\n [title]=\"title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"type\"\r\n [effect]=\"effect\"\r\n [hideClose]=\"hideClose\"\r\n [closeText]=\"closeText\"\r\n [operationTpl]=\"operationTpl\"\r\n (close)=\"onClose()\"\r\n (dragEnded)=\"onDragEnded($event)\"\r\n (resizing)=\"onResizing($event)\"\r\n showIcon=\"false\"\r\n duration=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #contentTpl>\r\n <div class=\"x-dialog-inner\">\r\n <div class=\"x-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"x-dialog-buttons\" [class.x-dialog-buttons-center]=\"buttonsCenter\">\r\n <ng-container *xOutlet=\"footer\">\r\n <x-buttons space=\"1\" *ngIf=\"showCancel || showConfirm\">\r\n <x-button *ngIf=\"showCancel\" (click)=\"onCancel()\">{{ getCancelText }}</x-button>\r\n <x-button *ngIf=\"showConfirm\" type=\"primary\" (click)=\"onConfirm()\">{{ getConfirmText }}</x-button>\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #operationTpl>\r\n <ng-container *ngIf=\"maximize || resizable\">\r\n <x-button size=\"small\" [icon]=\"isMaximize ? 'fto-minimize' : 'fto-maximize'\" [onlyIcon]=\"true\" (click)=\"onSize()\"></x-button>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [".x-dialog{margin:0;padding:0;width:100%;height:100%}.x-dialog>x-alert{height:100%}.x-dialog>x-alert .x-alert{min-height:100%;height:-moz-fit-content;height:fit-content;align-items:inherit;padding:0}.x-dialog>x-alert .x-alert-inner{min-height:100%;display:flex;flex-direction:column}.x-dialog>x-alert .x-alert-title{padding:1rem 1rem 0}.x-dialog>x-alert .x-alert-content{flex:1;display:flex;flex-direction:column;padding:0 1rem .5rem}.x-dialog-inner{display:flex;flex-direction:column;margin:.5rem 0;flex:1}.x-dialog-buttons{display:flex;justify-content:flex-end}.x-dialog-buttons>x-buttons{margin-top:1rem;align-self:flex-end}.x-dialog-buttons-center{justify-content:center}.x-dialog-content{display:inline-flex;flex-direction:column;flex:1;max-height:70vh;overflow:auto}.x-dialog-maximize>x-alert .x-alert{left:0!important;top:0!important}.x-dialog-maximize .x-dialog-content{max-height:calc(100vh - 7rem)!important;height:calc(100vh - 7rem)!important}.x-dialog-default-maximize .x-dialog-content{max-height:calc(100vh - 7rem)!important;height:calc(100vh - 7rem)!important;flex:initial}.x-dialog-container x-dialog{width:100%}\n"], components: [{ type: i4.XAlertComponent, selector: "x-alert" }, { type: i5.XButtonsComponent, selector: "x-buttons" }, { type: i5.XButtonComponent, selector: "x-button" }], directives: [{ type: i6.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [XMoveBoxAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XDialogComponent, decorators: [{
118
244
  type: Component,
119
- args: [{ selector: `${XDialogPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XMoveBoxAnimation], template: "<ng-template #dialogTpl>\r\n <div class=\"x-dialog\" [@x-move-box-animation]=\"placement\" (@x-move-box-animation.done)=\"moveDone($event)\">\r\n <x-alert\r\n [draggable]=\"draggable\"\r\n [dragBoundary]=\"'.cdk-overlay-container'\"\r\n (close)=\"onClose()\"\r\n [title]=\"title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"type\"\r\n [effect]=\"effect\"\r\n [hideClose]=\"hideClose\"\r\n [closeText]=\"closeText\"\r\n showIcon=\"false\"\r\n duration=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #contentTpl>\r\n <div class=\"x-dialog-inner\">\r\n <div class=\"x-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"x-dialog-buttons\" [class.x-dialog-buttons-center]=\"buttonsCenter\">\r\n <ng-container *xOutlet=\"footer\">\r\n <x-buttons space=\"1\" *ngIf=\"showCancel || showConfirm\">\r\n <x-button *ngIf=\"showCancel\" (click)=\"onCancel()\">{{ getCancelText }}</x-button>\r\n <x-button *ngIf=\"showConfirm\" type=\"primary\" (click)=\"onConfirm()\">{{ getConfirmText }}</x-button>\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-dialog{margin:0;padding:0;width:100%;height:100%}.x-dialog x-alert{height:100%}.x-dialog x-alert .x-alert{min-height:100%;height:-moz-fit-content;height:fit-content;align-items:inherit;padding:0}.x-dialog x-alert .x-alert-inner{min-height:100%;display:flex;flex-direction:column}.x-dialog x-alert .x-alert-title{padding:1rem 1rem 0}.x-dialog x-alert .x-alert-content{flex:1;display:flex;flex-direction:column;padding:0 1rem .5rem}.x-dialog-inner{display:flex;flex-direction:column;margin:.5rem 0;flex:1}.x-dialog-buttons{display:flex;justify-content:flex-end}.x-dialog-buttons>x-buttons{margin-top:1rem;align-self:flex-end}.x-dialog-buttons-center{justify-content:center}.x-dialog-content{display:inline-flex;flex:1}.x-dialog-container x-dialog{width:100%}\n"] }]
120
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i1.XPortalService }, { type: i2.XI18nService }]; }, propDecorators: { dialogTpl: [{
245
+ args: [{ selector: `${XDialogPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XMoveBoxAnimation], template: "<ng-template #dialogTpl>\r\n <div\r\n class=\"x-dialog\"\r\n [@x-move-box-animation]=\"placement\"\r\n (@x-move-box-animation.done)=\"moveDone($event)\"\r\n [class.x-dialog-maximize]=\"isMaximize\"\r\n [class.x-dialog-resizable]=\"resizable\"\r\n [class.x-dialog-default-maximize]=\"isDefaultMaximize\"\r\n >\r\n <x-alert\r\n [draggable]=\"draggable && dialogBox['draggable']\"\r\n [resizable]=\"resizable && dialogBox['resizable']\"\r\n [dragFreeDragPosition]=\"dialogBox['distance']\"\r\n [offsetLeft]=\"offsetLeft\"\r\n [offsetTop]=\"offsetTop\"\r\n [minWidth]=\"dialogBox['minWidth']\"\r\n [minHeight]=\"dialogBox['minHeight']\"\r\n [dragBoundary]=\"'.cdk-overlay-container'\"\r\n [title]=\"title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"type\"\r\n [effect]=\"effect\"\r\n [hideClose]=\"hideClose\"\r\n [closeText]=\"closeText\"\r\n [operationTpl]=\"operationTpl\"\r\n (close)=\"onClose()\"\r\n (dragEnded)=\"onDragEnded($event)\"\r\n (resizing)=\"onResizing($event)\"\r\n showIcon=\"false\"\r\n duration=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #contentTpl>\r\n <div class=\"x-dialog-inner\">\r\n <div class=\"x-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"x-dialog-buttons\" [class.x-dialog-buttons-center]=\"buttonsCenter\">\r\n <ng-container *xOutlet=\"footer\">\r\n <x-buttons space=\"1\" *ngIf=\"showCancel || showConfirm\">\r\n <x-button *ngIf=\"showCancel\" (click)=\"onCancel()\">{{ getCancelText }}</x-button>\r\n <x-button *ngIf=\"showConfirm\" type=\"primary\" (click)=\"onConfirm()\">{{ getConfirmText }}</x-button>\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #operationTpl>\r\n <ng-container *ngIf=\"maximize || resizable\">\r\n <x-button size=\"small\" [icon]=\"isMaximize ? 'fto-minimize' : 'fto-maximize'\" [onlyIcon]=\"true\" (click)=\"onSize()\"></x-button>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [".x-dialog{margin:0;padding:0;width:100%;height:100%}.x-dialog>x-alert{height:100%}.x-dialog>x-alert .x-alert{min-height:100%;height:-moz-fit-content;height:fit-content;align-items:inherit;padding:0}.x-dialog>x-alert .x-alert-inner{min-height:100%;display:flex;flex-direction:column}.x-dialog>x-alert .x-alert-title{padding:1rem 1rem 0}.x-dialog>x-alert .x-alert-content{flex:1;display:flex;flex-direction:column;padding:0 1rem .5rem}.x-dialog-inner{display:flex;flex-direction:column;margin:.5rem 0;flex:1}.x-dialog-buttons{display:flex;justify-content:flex-end}.x-dialog-buttons>x-buttons{margin-top:1rem;align-self:flex-end}.x-dialog-buttons-center{justify-content:center}.x-dialog-content{display:inline-flex;flex-direction:column;flex:1;max-height:70vh;overflow:auto}.x-dialog-maximize>x-alert .x-alert{left:0!important;top:0!important}.x-dialog-maximize .x-dialog-content{max-height:calc(100vh - 7rem)!important;height:calc(100vh - 7rem)!important}.x-dialog-default-maximize .x-dialog-content{max-height:calc(100vh - 7rem)!important;height:calc(100vh - 7rem)!important;flex:initial}.x-dialog-container x-dialog{width:100%}\n"] }]
246
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i1.XPortalService }, { type: i2.Overlay }, { type: i3.XI18nService }]; }, propDecorators: { dialogTpl: [{
121
247
  type: ViewChild,
122
248
  args: ['dialogTpl', { static: false }]
123
249
  }] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUlqQix1QkFBdUIsRUFHdkIsU0FBUyxFQUlWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBcUIsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFeEcsT0FBTyxFQUFnQixPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHN0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFVaEQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGVBQWU7SUFpQm5ELFlBQ1MsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsR0FBc0IsRUFDdEIsZ0JBQWtDLEVBQ2xDLGFBQTZCLEVBQzdCLElBQWtCO1FBRXpCLEtBQUssRUFBRSxDQUFDO1FBUEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBQzdCLFNBQUksR0FBSixJQUFJLENBQWM7UUFsQjNCLFdBQU0sR0FBZ0IsRUFBRSxDQUFDO1FBRWpCLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBbUJ2QyxJQUFJLENBQUMs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QkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLENBQUMsaUJBQWlCLENBQUM7Z1BBR1ksU0FBUztzQkFBbkQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhNb3ZlQm94QW5pbWF0aW9uLCBYSXNDaGFuZ2UsIFhJc0Z1bmN0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhEaWFsb2dQcmVmaXgsIFhEaWFsb2dPdmVybGF5UmVmLCBYRGlhbG9nUHJvcGVydHksIFhEaWFsb2dDb250YWluZXIgfSBmcm9tICcuL2RpYWxvZy5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvcG9ydGFsJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJsb2NrU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IFhJMThuRGlhbG9nLCBYSTE4blNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WERpYWxvZ1ByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgYW5pbWF0aW9uczogW1hNb3ZlQm94QW5pbWF0aW9uXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWERpYWxvZ0NvbXBvbmVudCBleHRlbmRzIFhEaWFsb2dQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKCdkaWFsb2dUcGwnLCB7IHN0YXRpYzogZmFsc2UgfSkgZGlhbG9nVHBsITogVGVtcGxhdGVSZWY8dm9pZD47XHJcbiAgZGlhbG9nUmVmITogWERpYWxvZ092ZXJsYXlSZWY7XHJcbiAgYmFja2Ryb3BDbGljayQhOiBTdWJzY3JpcHRpb247XHJcbiAgc2Nyb2xsU3RyYXRlZ3k6IEJsb2NrU2Nyb2xsU3RyYXRlZ3k7XHJcbiAgbG9jYWxlOiBYSTE4bkRpYWxvZyA9IHt9O1xyXG5cclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBnZXQgZ2V0Q2FuY2VsVGV4dCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNhbmNlbFRleHQgfHwgdGhpcy5sb2NhbGUuY2FuY2VsVGV4dDtcclxuICB9XHJcblxyXG4gIGdldCBnZXRDb25maXJtVGV4dCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpcm1UZXh0IHx8IHRoaXMubG9jYWxlLmNvbmZpcm1UZXh0O1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHB1YmxpYyBwcm90YWxTZXJ2aWNlOiBYUG9ydGFsU2VydmljZSxcclxuICAgIHB1YmxpYyBpMThuOiBYSTE4blNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5wcm90YWxTZXJ2aWNlLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC5kaWFsb2cgYXMgWEkxOG5EaWFsb2cpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9jYWxlID0geDtcclxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHZpc2libGUgfSA9IGNoYW5nZXM7XHJcbiAgICBYSXNDaGFuZ2UodmlzaWJsZSkgJiYgdGhpcy5zZXRWaXNpYmxlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHVuc3Vic2NyaWJlKCkge1xyXG4gICAgdGhpcy5iYWNrZHJvcENsaWNrJD8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHNldFZpc2libGUoKSB7XHJcbiAgICBpZiAodGhpcy52aXNpYmxlKSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRldGFjaCgpO1xyXG4gICAgICAvLyB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGUoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMucHJvdGFsU2VydmljZS5hdHRhY2goe1xyXG4gICAgICBjb250ZW50OiB0aGlzLmRpYWxvZ1RwbCxcclxuICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICBvdmVybGF5Q29uZmlnOiB7XHJcbiAgICAgICAgcGFuZWxDbGFzczogW1hEaWFsb2dDb250YWluZXIsIHRoaXMuY2xhc3NOYW1lXSxcclxuICAgICAgICBoYXNCYWNrZHJvcDogQm9vbGVhbih0aGlzLmhhc0JhY2tkcm9wKSxcclxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLnByb3RhbFNlcnZpY2Uuc2V0UGxhY2UodGhpcy5wbGFjZW1lbnQsIHRoaXMud2lkdGgsIHRoaXMuaGVpZ2h0LCB0aGlzLm9mZnNldClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyB0aGlzLnNjcm9sbFN0cmF0ZWd5LmVuYWJsZSgpO1xyXG4gICAgaWYgKHRoaXMuaGFzQmFja2Ryb3AgJiYgdGhpcy5iYWNrZHJvcENsb3NlICYmIHRoaXMuZGlhbG9nUmVmPy5vdmVybGF5UmVmKSB7XHJcbiAgICAgIHRoaXMuYmFja2Ryb3BDbGljayQgPSB0aGlzLmRpYWxvZ1JlZi5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkNsb3NlKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGV0YWNoKCkge1xyXG4gICAgaWYgKHRoaXMucG9ydGFsQXR0YWNoZWQoKSkge1xyXG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodGhpcy52aXNpYmxlKTtcclxuICAgICAgdGhpcy5kaWFsb2dSZWY/Lm92ZXJsYXlSZWY/LmRldGFjaCgpO1xyXG4gICAgICAvLyB0aGlzLnNjcm9sbFN0cmF0ZWd5LmRpc2FibGUoKTtcclxuICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xyXG4gICAgICB0aGlzLmNsb3NlLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHBvcnRhbEF0dGFjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nUmVmPy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgb25DbG9zZSgpIHtcclxuICAgIGlmIChYSXNGdW5jdGlvbih0aGlzLmJlZm9yZUNsb3NlKSkge1xyXG4gICAgICB0aGlzLmJlZm9yZUNsb3NlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRldGFjaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DYW5jZWwoKSB7XHJcbiAgICB0aGlzLm9uQ2xvc2UoKTtcclxuICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQ29uZmlybSgpIHtcclxuICAgIHRoaXMub25DbG9zZSgpO1xyXG4gICAgdGhpcy5jb25maXJtLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG1vdmVEb25lKCRldmVudDogeyB0b1N0YXRlOiBzdHJpbmcgfSkge1xyXG4gICAgaWYgKCRldmVudC50b1N0YXRlID09PSAndm9pZCcpIHtcclxuICAgICAgdGhpcy5jbG9zZURvbmUuZW1pdCgkZXZlbnQpO1xyXG4gICAgICB0aGlzLmRpYWxvZ1JlZj8ub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93RG9uZS5lbWl0KCRldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjZGlhbG9nVHBsPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWRpYWxvZ1wiIFtAeC1tb3ZlLWJveC1hbmltYXRpb25dPVwicGxhY2VtZW50XCIgKEB4LW1vdmUtYm94LWFuaW1hdGlvbi5kb25lKT1cIm1vdmVEb25lKCRldmVudClcIj5cclxuICAgIDx4LWFsZXJ0XHJcbiAgICAgIFtkcmFnZ2FibGVdPVwiZHJhZ2dhYmxlXCJcclxuICAgICAgW2RyYWdCb3VuZGFyeV09XCInLmNkay1vdmVybGF5LWNvbnRhaW5lcidcIlxyXG4gICAgICAoY2xvc2UpPVwib25DbG9zZSgpXCJcclxuICAgICAgW3RpdGxlXT1cInRpdGxlXCJcclxuICAgICAgW2NvbnRlbnRdPVwiY29udGVudFRwbFwiXHJcbiAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICBbZWZmZWN0XT1cImVmZmVjdFwiXHJcbiAgICAgIFtoaWRlQ2xvc2VdPVwiaGlkZUNsb3NlXCJcclxuICAgICAgW2Nsb3NlVGV4dF09XCJjbG9zZVRleHRcIlxyXG4gICAgICBzaG93SWNvbj1cImZhbHNlXCJcclxuICAgICAgZHVyYXRpb249XCIwXCJcclxuICAgICAgbWFudWFsXHJcbiAgICAgIGRpc2FibGVkQW5pbWF0aW9uXHJcbiAgICA+PC94LWFsZXJ0PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNjb250ZW50VHBsPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWRpYWxvZy1pbm5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtZGlhbG9nLWNvbnRlbnRcIj5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1kaWFsb2ctYnV0dG9uc1wiIFtjbGFzcy54LWRpYWxvZy1idXR0b25zLWNlbnRlcl09XCJidXR0b25zQ2VudGVyXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJmb290ZXJcIj5cclxuICAgICAgICA8eC1idXR0b25zIHNwYWNlPVwiMVwiICpuZ0lmPVwic2hvd0NhbmNlbCB8fCBzaG93Q29uZmlybVwiPlxyXG4gICAgICAgICAgPHgtYnV0dG9uICpuZ0lmPVwic2hvd0NhbmNlbFwiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+e3sgZ2V0Q2FuY2VsVGV4dCB9fTwveC1idXR0b24+XHJcbiAgICAgICAgICA8eC1idXR0b24gKm5nSWY9XCJzaG93Q29uZmlybVwiIHR5cGU9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uQ29uZmlybSgpXCI+e3sgZ2V0Q29uZmlybVRleHQgfX08L3gtYnV0dG9uPlxyXG4gICAgICAgIDwveC1idXR0b25zPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUlqQix1QkFBdUIsRUFHdkIsU0FBUyxFQUlWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBcUIsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEcsT0FBTyxFQUFFLHFCQUFxQixFQUFrQixNQUFNLG9CQUFvQixDQUFDO0FBQzNFLE9BQU8sRUFBZ0IsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVloRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBZTtJQTJCbkQsWUFDUyxRQUFtQixFQUNuQixVQUFzQixFQUN0QixHQUFzQixFQUN0QixnQkFBa0MsRUFDbEMsYUFBNkIsRUFDN0IsT0FBZ0IsRUFDaEIsSUFBa0I7UUFFekIsS0FBSyxFQUFFLENBQUM7UUFSRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFDN0IsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixTQUFJLEdBQUosSUFBSSxD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dkM7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFzQjtRQUMvQixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLEdBQUcsYUFBYSxJQUFJLENBQUMsQ0FBQztJQUM3RSxDQUFDOzttSkEzUFUsZ0JBQWdCO3VJQUFoQixnQkFBZ0Isb01DaEM3Qixpb0VBeURBLDgrQ0QzQmMsQ0FBQyxpQkFBaUIsQ0FBQzsyRkFFcEIsZ0JBQWdCO2tCQVI1QixTQUFTOytCQUNFLEdBQUcsYUFBYSxFQUFFLGlCQUdiLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsQ0FBQyxpQkFBaUIsQ0FBQztzUUFHWSxTQUFTO3NCQUFuRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBPbkRlc3Ryb3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWE1vdmVCb3hBbmltYXRpb24sIFhJc0NoYW5nZSwgWElzRnVuY3Rpb24gfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWERpYWxvZ1ByZWZpeCwgWERpYWxvZ092ZXJsYXlSZWYsIFhEaWFsb2dQcm9wZXJ0eSwgWERpYWxvZ0NvbnRhaW5lciB9IGZyb20gJy4vZGlhbG9nLnByb3BlcnR5JztcclxuaW1wb3J0IHsgUG9ydGFsUmVzaXphYmxlUHJlZml4LCBYUG9ydGFsU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3BvcnRhbCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCbG9ja1Njcm9sbFN0cmF0ZWd5LCBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBYSTE4bkRpYWxvZywgWEkxOG5TZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDZGtEcmFnRW5kIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IFhSZXNpemFibGVFdmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3Jlc2l6YWJsZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WERpYWxvZ1ByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgYW5pbWF0aW9uczogW1hNb3ZlQm94QW5pbWF0aW9uXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWERpYWxvZ0NvbXBvbmVudCBleHRlbmRzIFhEaWFsb2dQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKCdkaWFsb2dUcGwnLCB7IHN0YXRpYzogZmFsc2UgfSkgZGlhbG9nVHBsITogVGVtcGxhdGVSZWY8dm9pZD47XHJcbiAgZGlhbG9nUmVmITogWERpYWxvZ092ZXJsYXlSZWY7XHJcbiAgYmFja2Ryb3BDbGljayQhOiBTdWJzY3JpcHRpb247XHJcbiAgc2Nyb2xsU3RyYXRlZ3k6IEJsb2NrU2Nyb2xsU3RyYXRlZ3k7XHJcbiAgbG9jYWxlOiBYSTE4bkRpYWxvZyA9IHt9O1xyXG4gIG92ZXJsYXlFbGVtZW50PzogSFRNTEVsZW1lbnQ7XHJcbiAgZGlhbG9nQ29udGVudD86IEhUTUxFbGVtZW50O1xyXG4gIGluaXRIZWlnaHQ/ID0gMDtcclxuICBpbml0Q29udGVudEhlaWdodD8gPSAwO1xyXG4gIGlzTWF4aW1pemUgPSBmYWxzZTtcclxuICBpc0RlZmF1bHRNYXhpbWl6ZSA9IGZhbHNlO1xyXG4gIGRpYWxvZ0JveDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG4gIGNvbnRlbnRCb3g6IFhSZXNpemFibGVFdmVudCA9IHt9O1xyXG4gIGRpc3RhbmNlID0geyB4OiAwLCB5OiAwIH07XHJcbiAgdmlld0luaXQgPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgZ2V0IGdldENhbmNlbFRleHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jYW5jZWxUZXh0IHx8IHRoaXMubG9jYWxlLmNhbmNlbFRleHQ7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0Q29uZmlybVRleHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maXJtVGV4dCB8fCB0aGlzLmxvY2FsZS5jb25maXJtVGV4dDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwdWJsaWMgcHJvdGFsU2VydmljZTogWFBvcnRhbFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgb3ZlcmxheTogT3ZlcmxheSxcclxuICAgIHB1YmxpYyBpMThuOiBYSTE4blNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5wcm90YWxTZXJ2aWNlLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC5kaWFsb2cgYXMgWEkxOG5EaWFsb2cpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9jYWxlID0geDtcclxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsnZHJhZ2dhYmxlJ10gPSB0aGlzLmRyYWdnYWJsZTtcclxuICAgIHRoaXMuZGlhbG9nQm94WydyZXNpemFibGUnXSA9IHRoaXMucmVzaXphYmxlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgeyB2aXNpYmxlIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKHZpc2libGUpICYmIHRoaXMuc2V0VmlzaWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnZpZXdJbml0ID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy52aXNpYmxlICYmIHRoaXMuY3JlYXRlKCkpO1xyXG4gIH1cclxuXHJcbiAgdW5zdWJzY3JpYmUoKSB7XHJcbiAgICB0aGlzLmJhY2tkcm9wQ2xpY2skPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0VmlzaWJsZSgpIHtcclxuICAgIGlmICghdGhpcy52aWV3SW5pdCkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMudmlzaWJsZSkge1xyXG4gICAgICB0aGlzLmNyZWF0ZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZXRhY2goKTtcclxuICAgICAgLy8gdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLnByb3RhbFNlcnZpY2UuYXR0YWNoKHtcclxuICAgICAgY29udGVudDogdGhpcy5kaWFsb2dUcGwsXHJcbiAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcclxuICAgICAgb3ZlcmxheUNvbmZpZzoge1xyXG4gICAgICAgIHBhbmVsQ2xhc3M6IFtYRGlhbG9nQ29udGFpbmVyLCB0aGlzLmNsYXNzTmFtZV0sXHJcbiAgICAgICAgaGFzQmFja2Ryb3A6IEJvb2xlYW4odGhpcy5oYXNCYWNrZHJvcCksXHJcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKCksXHJcbiAgICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXHJcbiAgICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCxcclxuICAgICAgICBtaW5XaWR0aDogdGhpcy5taW5XaWR0aCxcclxuICAgICAgICBtaW5IZWlnaHQ6IHRoaXMubWluSGVpZ2h0LFxyXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMucHJvdGFsU2VydmljZS5zZXRQbGFjZSh0aGlzLnBsYWNlbWVudCwgdGhpcy5vZmZzZXQpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgY29uc3QgeyBob3N0RWxlbWVudCwgb3ZlcmxheUVsZW1lbnQgfSA9IHRoaXMuZGlhbG9nUmVmLm92ZXJsYXlSZWYhO1xyXG4gICAgdGhpcy5vdmVybGF5RWxlbWVudCA9IG92ZXJsYXlFbGVtZW50O1xyXG4gICAgdGhpcy5zZXRXaWR0aEhlaWdodCgpO1xyXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLmRpYWxvZ0JveCwge1xyXG4gICAgICB3aWR0aDogdGhpcy53aWR0aCxcclxuICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCxcclxuICAgICAgbWluV2lkdGg6IHRoaXMubWluV2lkdGgsXHJcbiAgICAgIG1pbkhlaWdodDogdGhpcy5taW5IZWlnaHRcclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMucmVzaXphYmxlICYmICF0aGlzLmlzRGVmYXVsdE1heGltaXplKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoaG9zdEVsZW1lbnQsIFBvcnRhbFJlc2l6YWJsZVByZWZpeCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5kaWFsb2dCb3gsIHRoaXMucHJvdGFsU2VydmljZS5zZXRSZXNpemFibGUodGhpcy5vdmVybGF5RWxlbWVudCEsIHRoaXMucGxhY2VtZW50KSk7XHJcbiAgICAgICAgdGhpcy5vZmZzZXRMZWZ0ID0gdGhpcy5vdmVybGF5RWxlbWVudCEub2Zmc2V0TGVmdDtcclxuICAgICAgICB0aGlzLm9mZnNldFRvcCA9IHRoaXMub3ZlcmxheUVsZW1lbnQhLm9mZnNldFRvcDtcclxuICAgICAgICBjb25zdCBkaWFsb2dEcmFnZ2FibGUgPSB0aGlzLm92ZXJsYXlFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCcueC1hbGVydC1kcmFnZ2FibGUnKSE7XHJcbiAgICAgICAgdGhpcy5pbml0SGVpZ2h0ID0gZGlhbG9nRHJhZ2dhYmxlLmNsaWVudEhlaWdodDtcclxuICAgICAgICB0aGlzLmRpYWxvZ0NvbnRlbnQgPSB0aGlzLm92ZXJsYXlFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCcueC1kaWFsb2ctY29udGVudCcpITtcclxuICAgICAgICB0aGlzLmluaXRDb250ZW50SGVpZ2h0ID0gdGhpcy5kaWFsb2dDb250ZW50LmNsaWVudEhlaWdodDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5oYXNCYWNrZHJvcCAmJiB0aGlzLmJhY2tkcm9wQ2xvc2UgJiYgdGhpcy5kaWFsb2dSZWY/Lm92ZXJsYXlSZWYpIHtcclxuICAgICAgdGhpcy5iYWNrZHJvcENsaWNrJCA9IHRoaXMuZGlhbG9nUmVmLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQ2xvc2UoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRXaWR0aEhlaWdodCgpIHtcclxuICAgIGNvbnN0IHdzID0gWycxMDAlJywgJzEwMHZ3J107XHJcbiAgICBjb25zdCBocyA9IFsnMTAwJScsICcxMDB2aCddO1xyXG4gICAgaWYgKHdzLmluY2x1ZGVzKHRoaXMud2lkdGggYXMgc3RyaW5nKSAmJiBocy5pbmNsdWRlcyh0aGlzLmhlaWdodCBhcyBzdHJpbmcpKSB7XHJcbiAgICAgIHRoaXMuaXNEZWZhdWx0TWF4aW1pemUgPSB0cnVlO1xyXG4gICAgICB0aGlzLnJlc2l6YWJsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRyYWdnYWJsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLm1heGltaXplID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZXRhY2goKSB7XHJcbiAgICBpZiAodGhpcy5wb3J0YWxBdHRhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLnZpc2libGUpO1xyXG4gICAgICB0aGlzLmRpYWxvZ1JlZj8ub3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy5jbG9zZS5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwb3J0YWxBdHRhY2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmRpYWxvZ1JlZj8ub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xvc2UoKSB7XHJcbiAgICBpZiAoWElzRnVuY3Rpb24odGhpcy5iZWZvcmVDbG9zZSkpIHtcclxuICAgICAgdGhpcy5iZWZvcmVDbG9zZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZXRhY2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRHJhZ0VuZGVkKCRldmVudDogQ2RrRHJhZ0VuZCkge1xyXG4gICAgdGhpcy5kaXN0YW5jZSA9IHsgeDogdGhpcy5kaXN0YW5jZS54ICsgJGV2ZW50LmRpc3RhbmNlLngsIHk6IHRoaXMuZGlzdGFuY2UueSArICRldmVudC5kaXN0YW5jZS55IH07XHJcbiAgfVxyXG5cclxuICBvblNpemUoKSB7XHJcbiAgICBpZiAoIXRoaXMuZGlhbG9nUmVmKSByZXR1cm47XHJcbiAgICB0aGlzLmlzTWF4aW1pemUgPSAhdGhpcy5pc01heGltaXplO1xyXG4gICAgaWYgKHRoaXMuaXNNYXhpbWl6ZSkge1xyXG4gICAgICB0aGlzLm9uTWF4aW1pemUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub25NaW5pbWl6ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25NYXhpbWl6ZSgpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLm92ZXJsYXlSZWY/LnVwZGF0ZVNpemUoe1xyXG4gICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcclxuICAgICAgbWluV2lkdGg6ICcxMDAlJyxcclxuICAgICAgbWluSGVpZ2h0OiAnMTAwJSdcclxuICAgIH0pO1xyXG4gICAgdGhpcy5kaWFsb2dCb3hbJ21pbldpZHRoJ10gPSAnMTAwJSc7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsnbWluSGVpZ2h0J10gPSAnMTAwJSc7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsnZHJhZ2dhYmxlJ10gPSBmYWxzZTtcclxuICAgIHRoaXMuZGlhbG9nQm94WydyZXNpemFibGUnXSA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMucmVzaXphYmxlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5RWxlbWVudCwgJ21hcmdpbicsICcwIDAgMCAwJyk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kcmFnZ2FibGUpIHtcclxuICAgICAgdGhpcy5kaWFsb2dCb3hbJ2Rpc3RhbmNlJ10gPSB7IHg6IDAsIHk6IDAgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTWluaW1pemUoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsnbWluV2lkdGgnXSA9IHRoaXMubWluV2lkdGg7XHJcbiAgICB0aGlzLmRpYWxvZ0JveFsnbWluSGVpZ2h0J10gPSB0aGlzLm1pbkhlaWdodDtcclxuICAgIHRoaXMuZGlhbG9nQm94WydkcmFnZ2FibGUnXSA9IHRoaXMuZHJhZ2dhYmxlO1xyXG4gICAgdGhpcy5kaWFsb2dCb3hbJ3Jlc2l6YWJsZSddID0gdGhpcy5yZXNpemFibGU7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5vdmVybGF5UmVmPy51cGRhdGVTaXplKHtcclxuICAgICAgd2lkdGg6IHRoaXMuZGlhbG9nQm94Wyd3aWR0aCddLFxyXG4gICAgICBoZWlnaHQ6IHRoaXMuZGlhbG9nQm94WydoZWlnaHQnXSxcclxuICAgICAgbWluV2lkdGg6IHRoaXMuZGlhbG9nQm94WydtaW5XaWR0aCddLFxyXG4gICAgICBtaW5IZWlnaHQ6IHRoaXMuZGlhbG9nQm94WydtaW5IZWlnaHQnXVxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5kcmFnZ2FibGUpIHtcclxuICAgICAgdGhpcy5kaWFsb2dCb3hbJ2Rpc3RhbmNlJ10gPSB7IC4uLnRoaXMuZGlzdGFuY2UgfTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJlc2l6YWJsZSkge1xyXG4gICAgICBpZiAodGhpcy5kaWFsb2dCb3hbJ21hcmdpblRvcCddKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlFbGVtZW50LCAnbWFyZ2luLXRvcCcsIGAke3RoaXMuZGlhbG9nQm94WydtYXJnaW5Ub3AnXX1gKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kaWFsb2dCb3hbJ21hcmdpbkxlZnQnXSkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5RWxlbWVudCwgJ21hcmdpbi1sZWZ0JywgYCR7dGhpcy5kaWFsb2dCb3hbJ21hcmdpbkxlZnQnXX1gKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kaWFsb2dCb3hbJ21hcmdpblJpZ2h0J10pIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheUVsZW1lbnQsICdtYXJnaW4tcmlnaHQnLCBgJHt0aGlzLmRpYWxvZ0JveFsnbWFyZ2luUmlnaHQnXX1gKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kaWFsb2dCb3hbJ21hcmdpbkJvdHRvbSddKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlFbGVtZW50LCAnbWFyZ2luLWJvdHRvbScsIGAke3RoaXMuZGlhbG9nQm94WydtYXJnaW5Cb3R0b20nXX1gKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DYW5jZWwoKSB7XHJcbiAgICB0aGlzLm9uQ2xvc2UoKTtcclxuICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQ29uZmlybSgpIHtcclxuICAgIHRoaXMub25DbG9zZSgpO1xyXG4gICAgdGhpcy5jb25maXJtLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG1vdmVEb25lKCRldmVudDogeyB0b1N0YXRlOiBzdHJpbmcgfSkge1xyXG4gICAgaWYgKCRldmVudC50b1N0YXRlID09PSAndm9pZCcpIHtcclxuICAgICAgdGhpcy5jbG9zZURvbmUuZW1pdCgkZXZlbnQpO1xyXG4gICAgICB0aGlzLmlzTWF4aW1pemUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kaWFsb2dCb3ggPSB7XHJcbiAgICAgICAgZHJhZ2dhYmxlOiB0aGlzLmRyYWdnYWJsZSxcclxuICAgICAgICByZXNpemFibGU6IHRoaXMucmVzaXphYmxlXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuZGlzdGFuY2UgPSB7IHg6IDAsIHk6IDAgfTtcclxuICAgICAgdGhpcy5kaWFsb2dSZWY/Lm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0RvbmUuZW1pdCgkZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25SZXNpemluZyhldmVudDogWFJlc2l6YWJsZUV2ZW50KSB7XHJcbiAgICBjb25zdCBjb250ZW50SGVpZ2h0ID0gTnVtYmVyKHRoaXMuaW5pdENvbnRlbnRIZWlnaHQpICsgTnVtYmVyKGV2ZW50LmNsaWVudEhlaWdodCkgLSBOdW1iZXIodGhpcy5pbml0SGVpZ2h0KTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kaWFsb2dDb250ZW50LCAnbWF4LWhlaWdodCcsICdpbml0aWFsJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZGlhbG9nQ29udGVudCwgJ2ZsZXgnLCAnaW5pdGlhbCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRpYWxvZ0NvbnRlbnQsICdoZWlnaHQnLCBgJHtjb250ZW50SGVpZ2h0fXB4YCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjZGlhbG9nVHBsPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwieC1kaWFsb2dcIlxyXG4gICAgW0B4LW1vdmUtYm94LWFuaW1hdGlvbl09XCJwbGFjZW1lbnRcIlxyXG4gICAgKEB4LW1vdmUtYm94LWFuaW1hdGlvbi5kb25lKT1cIm1vdmVEb25lKCRldmVudClcIlxyXG4gICAgW2NsYXNzLngtZGlhbG9nLW1heGltaXplXT1cImlzTWF4aW1pemVcIlxyXG4gICAgW2NsYXNzLngtZGlhbG9nLXJlc2l6YWJsZV09XCJyZXNpemFibGVcIlxyXG4gICAgW2NsYXNzLngtZGlhbG9nLWRlZmF1bHQtbWF4aW1pemVdPVwiaXNEZWZhdWx0TWF4aW1pemVcIlxyXG4gID5cclxuICAgIDx4LWFsZXJ0XHJcbiAgICAgIFtkcmFnZ2FibGVdPVwiZHJhZ2dhYmxlICYmIGRpYWxvZ0JveFsnZHJhZ2dhYmxlJ11cIlxyXG4gICAgICBbcmVzaXphYmxlXT1cInJlc2l6YWJsZSAmJiBkaWFsb2dCb3hbJ3Jlc2l6YWJsZSddXCJcclxuICAgICAgW2RyYWdGcmVlRHJhZ1Bvc2l0aW9uXT1cImRpYWxvZ0JveFsnZGlzdGFuY2UnXVwiXHJcbiAgICAgIFtvZmZzZXRMZWZ0XT1cIm9mZnNldExlZnRcIlxyXG4gICAgICBbb2Zmc2V0VG9wXT1cIm9mZnNldFRvcFwiXHJcbiAgICAgIFttaW5XaWR0aF09XCJkaWFsb2dCb3hbJ21pbldpZHRoJ11cIlxyXG4gICAgICBbbWluSGVpZ2h0XT1cImRpYWxvZ0JveFsnbWluSGVpZ2h0J11cIlxyXG4gICAgICBbZHJhZ0JvdW5kYXJ5XT1cIicuY2RrLW92ZXJsYXktY29udGFpbmVyJ1wiXHJcbiAgICAgIFt0aXRsZV09XCJ0aXRsZVwiXHJcbiAgICAgIFtjb250ZW50XT1cImNvbnRlbnRUcGxcIlxyXG4gICAgICBbdHlwZV09XCJ0eXBlXCJcclxuICAgICAgW2VmZmVjdF09XCJlZmZlY3RcIlxyXG4gICAgICBbaGlkZUNsb3NlXT1cImhpZGVDbG9zZVwiXHJcbiAgICAgIFtjbG9zZVRleHRdPVwiY2xvc2VUZXh0XCJcclxuICAgICAgW29wZXJhdGlvblRwbF09XCJvcGVyYXRpb25UcGxcIlxyXG4gICAgICAoY2xvc2UpPVwib25DbG9zZSgpXCJcclxuICAgICAgKGRyYWdFbmRlZCk9XCJvbkRyYWdFbmRlZCgkZXZlbnQpXCJcclxuICAgICAgKHJlc2l6aW5nKT1cIm9uUmVzaXppbmcoJGV2ZW50KVwiXHJcbiAgICAgIHNob3dJY29uPVwiZmFsc2VcIlxyXG4gICAgICBkdXJhdGlvbj1cIjBcIlxyXG4gICAgICBtYW51YWxcclxuICAgICAgZGlzYWJsZWRBbmltYXRpb25cclxuICAgID48L3gtYWxlcnQ+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvbnRlbnRUcGw+XHJcbiAgPGRpdiBjbGFzcz1cIngtZGlhbG9nLWlubmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1kaWFsb2ctY29udGVudFwiPlxyXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWRpYWxvZy1idXR0b25zXCIgW2NsYXNzLngtZGlhbG9nLWJ1dHRvbnMtY2VudGVyXT1cImJ1dHRvbnNDZW50ZXJcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImZvb3RlclwiPlxyXG4gICAgICAgIDx4LWJ1dHRvbnMgc3BhY2U9XCIxXCIgKm5nSWY9XCJzaG93Q2FuY2VsIHx8IHNob3dDb25maXJtXCI+XHJcbiAgICAgICAgICA8eC1idXR0b24gKm5nSWY9XCJzaG93Q2FuY2VsXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj57eyBnZXRDYW5jZWxUZXh0IH19PC94LWJ1dHRvbj5cclxuICAgICAgICAgIDx4LWJ1dHRvbiAqbmdJZj1cInNob3dDb25maXJtXCIgdHlwZT1cInByaW1hcnlcIiAoY2xpY2spPVwib25Db25maXJtKClcIj57eyBnZXRDb25maXJtVGV4dCB9fTwveC1idXR0b24+XHJcbiAgICAgICAgPC94LWJ1dHRvbnM+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI29wZXJhdGlvblRwbD5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibWF4aW1pemUgfHwgcmVzaXphYmxlXCI+XHJcbiAgICA8eC1idXR0b24gc2l6ZT1cInNtYWxsXCIgW2ljb25dPVwiaXNNYXhpbWl6ZSA/ICdmdG8tbWluaW1pemUnIDogJ2Z0by1tYXhpbWl6ZSdcIiBbb25seUljb25dPVwidHJ1ZVwiIChjbGljayk9XCJvblNpemUoKVwiPjwveC1idXR0b24+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==