@ng-nest/ui 16.0.9 → 16.0.11

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 (510) hide show
  1. package/drag/drag.directive.d.ts +14 -0
  2. package/drag/drag.module.d.ts +8 -0
  3. package/drag/drag.property.d.ts +26 -0
  4. package/drag/index.d.ts +5 -0
  5. package/drag/public-api.d.ts +3 -0
  6. package/esm2022/affix/affix.component.mjs +4 -4
  7. package/esm2022/affix/affix.module.mjs +5 -5
  8. package/esm2022/affix/affix.property.mjs +4 -4
  9. package/esm2022/alert/alert.component.mjs +4 -4
  10. package/esm2022/alert/alert.module.mjs +5 -5
  11. package/esm2022/alert/alert.property.mjs +4 -4
  12. package/esm2022/anchor/anchor-inner.component.mjs +4 -4
  13. package/esm2022/anchor/anchor.component.mjs +4 -4
  14. package/esm2022/anchor/anchor.module.mjs +5 -5
  15. package/esm2022/anchor/anchor.property.mjs +7 -7
  16. package/esm2022/api/api.component.mjs +4 -4
  17. package/esm2022/api/api.module.mjs +5 -5
  18. package/esm2022/auto-complete/auto-complete-portal.component.mjs +5 -5
  19. package/esm2022/auto-complete/auto-complete.component.mjs +5 -5
  20. package/esm2022/auto-complete/auto-complete.module.mjs +5 -5
  21. package/esm2022/auto-complete/auto-complete.property.mjs +4 -4
  22. package/esm2022/avatar/avatar-group.component.mjs +4 -4
  23. package/esm2022/avatar/avatar.component.mjs +4 -4
  24. package/esm2022/avatar/avatar.module.mjs +5 -5
  25. package/esm2022/avatar/avatar.property.mjs +7 -7
  26. package/esm2022/back-top/back-top.component.mjs +4 -4
  27. package/esm2022/back-top/back-top.module.mjs +5 -5
  28. package/esm2022/back-top/back-top.property.mjs +4 -4
  29. package/esm2022/badge/badge.component.mjs +4 -4
  30. package/esm2022/badge/badge.module.mjs +5 -5
  31. package/esm2022/badge/badge.property.mjs +4 -4
  32. package/esm2022/base-form/base-form.component.mjs +4 -4
  33. package/esm2022/base-form/base-form.module.mjs +5 -5
  34. package/esm2022/base-form/base-form.property.mjs +4 -4
  35. package/esm2022/border/border.component.mjs +4 -4
  36. package/esm2022/border/border.module.mjs +5 -5
  37. package/esm2022/button/button.component.mjs +4 -4
  38. package/esm2022/button/button.module.mjs +5 -5
  39. package/esm2022/button/button.property.mjs +7 -7
  40. package/esm2022/button/buttons.component.mjs +4 -4
  41. package/esm2022/calendar/calendar.component.mjs +4 -4
  42. package/esm2022/calendar/calendar.module.mjs +5 -5
  43. package/esm2022/calendar/calendar.property.mjs +4 -4
  44. package/esm2022/card/card.component.mjs +4 -4
  45. package/esm2022/card/card.module.mjs +5 -5
  46. package/esm2022/card/card.property.mjs +4 -4
  47. package/esm2022/carousel/carousel-panel.component.mjs +4 -4
  48. package/esm2022/carousel/carousel.component.mjs +4 -4
  49. package/esm2022/carousel/carousel.module.mjs +5 -5
  50. package/esm2022/carousel/carousel.property.mjs +7 -7
  51. package/esm2022/cascade/cascade-portal.component.mjs +4 -4
  52. package/esm2022/cascade/cascade.component.mjs +4 -4
  53. package/esm2022/cascade/cascade.module.mjs +5 -5
  54. package/esm2022/cascade/cascade.property.mjs +4 -4
  55. package/esm2022/checkbox/checkbox.component.mjs +4 -4
  56. package/esm2022/checkbox/checkbox.module.mjs +5 -5
  57. package/esm2022/checkbox/checkbox.property.mjs +4 -4
  58. package/esm2022/collapse/collapse-panel.component.mjs +4 -4
  59. package/esm2022/collapse/collapse.component.mjs +4 -4
  60. package/esm2022/collapse/collapse.module.mjs +5 -5
  61. package/esm2022/collapse/collapse.property.mjs +7 -7
  62. package/esm2022/color/color.component.mjs +4 -4
  63. package/esm2022/color/color.module.mjs +5 -5
  64. package/esm2022/color/color.property.mjs +4 -4
  65. package/esm2022/color-picker/color-picker-portal.component.mjs +4 -4
  66. package/esm2022/color-picker/color-picker.component.mjs +4 -4
  67. package/esm2022/color-picker/color-picker.module.mjs +5 -5
  68. package/esm2022/color-picker/color-picker.property.mjs +4 -4
  69. package/esm2022/comment/comment-reply.component.mjs +4 -4
  70. package/esm2022/comment/comment.component.mjs +4 -4
  71. package/esm2022/comment/comment.module.mjs +5 -5
  72. package/esm2022/comment/comment.property.mjs +7 -7
  73. package/esm2022/container/aside.component.mjs +4 -4
  74. package/esm2022/container/container.component.mjs +4 -4
  75. package/esm2022/container/container.module.mjs +5 -5
  76. package/esm2022/container/container.property.mjs +13 -13
  77. package/esm2022/container/footer.component.mjs +4 -4
  78. package/esm2022/container/header.component.mjs +4 -4
  79. package/esm2022/container/main.component.mjs +4 -4
  80. package/esm2022/core/config/config.service.mjs +4 -4
  81. package/esm2022/core/services/http.service.mjs +4 -4
  82. package/esm2022/core/services/preloading-strategy.service.mjs +4 -4
  83. package/esm2022/core/services/storage.service.mjs +4 -4
  84. package/esm2022/core/theme/theme.service.mjs +4 -4
  85. package/esm2022/crumb/crumb.component.mjs +4 -4
  86. package/esm2022/crumb/crumb.module.mjs +5 -5
  87. package/esm2022/crumb/crumb.property.mjs +4 -4
  88. package/esm2022/date-picker/date-picker-portal.component.mjs +4 -4
  89. package/esm2022/date-picker/date-picker.component.mjs +4 -4
  90. package/esm2022/date-picker/date-picker.module.mjs +5 -5
  91. package/esm2022/date-picker/date-picker.property.mjs +19 -19
  92. package/esm2022/date-picker/date-quarter.pipe.mjs +4 -4
  93. package/esm2022/date-picker/date-range-portal.component.mjs +4 -4
  94. package/esm2022/date-picker/date-range.component.mjs +4 -4
  95. package/esm2022/date-picker/picker-date.component.mjs +4 -4
  96. package/esm2022/date-picker/picker-month.component.mjs +4 -4
  97. package/esm2022/date-picker/picker-quarter.component.mjs +4 -4
  98. package/esm2022/date-picker/picker-year.component.mjs +4 -4
  99. package/esm2022/description/description-item.component.mjs +4 -4
  100. package/esm2022/description/description.component.mjs +4 -4
  101. package/esm2022/description/description.module.mjs +5 -5
  102. package/esm2022/description/description.property.mjs +7 -7
  103. package/esm2022/dialog/dialog-container.component.mjs +4 -4
  104. package/esm2022/dialog/dialog-portal.component.mjs +4 -4
  105. package/esm2022/dialog/dialog-portal.directives.mjs +19 -19
  106. package/esm2022/dialog/dialog.component.mjs +4 -4
  107. package/esm2022/dialog/dialog.module.mjs +5 -5
  108. package/esm2022/dialog/dialog.property.mjs +7 -7
  109. package/esm2022/dialog/dialog.service.mjs +4 -4
  110. package/esm2022/doc/doc.component.mjs +5 -5
  111. package/esm2022/doc/doc.module.mjs +5 -5
  112. package/esm2022/drag/drag.directive.mjs +71 -0
  113. package/esm2022/drag/drag.module.mjs +19 -0
  114. package/esm2022/drag/drag.property.mjs +32 -0
  115. package/esm2022/drag/ng-nest-ui-drag.mjs +5 -0
  116. package/esm2022/drag/public-api.mjs +4 -0
  117. package/esm2022/drawer/drawer-container.component.mjs +4 -4
  118. package/esm2022/drawer/drawer-portal.component.mjs +4 -4
  119. package/esm2022/drawer/drawer-portal.directives.mjs +10 -10
  120. package/esm2022/drawer/drawer.component.mjs +4 -4
  121. package/esm2022/drawer/drawer.module.mjs +5 -5
  122. package/esm2022/drawer/drawer.property.mjs +7 -7
  123. package/esm2022/drawer/drawer.service.mjs +4 -4
  124. package/esm2022/dropdown/dropdown-portal.component.mjs +4 -4
  125. package/esm2022/dropdown/dropdown.component.mjs +4 -4
  126. package/esm2022/dropdown/dropdown.module.mjs +5 -5
  127. package/esm2022/dropdown/dropdown.property.mjs +4 -4
  128. package/esm2022/empty/empty.component.mjs +4 -4
  129. package/esm2022/empty/empty.module.mjs +5 -5
  130. package/esm2022/empty/empty.property.mjs +4 -4
  131. package/esm2022/examples/examples.component.mjs +4 -4
  132. package/esm2022/examples/examples.module.mjs +5 -5
  133. package/esm2022/find/find.component.mjs +4 -4
  134. package/esm2022/find/find.module.mjs +5 -5
  135. package/esm2022/find/find.property.mjs +4 -4
  136. package/esm2022/form/control.component.mjs +4 -4
  137. package/esm2022/form/form.component.mjs +4 -4
  138. package/esm2022/form/form.module.mjs +5 -5
  139. package/esm2022/form/form.property.mjs +7 -7
  140. package/esm2022/highlight/highlight.component.mjs +4 -4
  141. package/esm2022/highlight/highlight.module.mjs +5 -5
  142. package/esm2022/highlight/highlight.property.mjs +4 -4
  143. package/esm2022/i18n/i18n.directive.mjs +4 -4
  144. package/esm2022/i18n/i18n.module.mjs +5 -5
  145. package/esm2022/i18n/i18n.pipe.mjs +4 -4
  146. package/esm2022/i18n/i18n.service.mjs +4 -4
  147. package/esm2022/icon/icon.component.mjs +4 -4
  148. package/esm2022/icon/icon.module.mjs +5 -5
  149. package/esm2022/icon/icon.property.mjs +4 -4
  150. package/esm2022/icon/icon.service.mjs +4 -4
  151. package/esm2022/image/image-group.component.mjs +4 -4
  152. package/esm2022/image/image-preview.component.mjs +4 -4
  153. package/esm2022/image/image.component.mjs +4 -4
  154. package/esm2022/image/image.module.mjs +5 -5
  155. package/esm2022/image/image.property.mjs +7 -7
  156. package/esm2022/index.mjs +2 -1
  157. package/esm2022/inner/inner.component.mjs +4 -4
  158. package/esm2022/inner/inner.module.mjs +5 -5
  159. package/esm2022/inner/inner.property.mjs +4 -4
  160. package/esm2022/input/input-group.component.mjs +4 -4
  161. package/esm2022/input/input.component.mjs +5 -5
  162. package/esm2022/input/input.module.mjs +5 -5
  163. package/esm2022/input/input.property.mjs +17 -7
  164. package/esm2022/input-number/input-number.component.mjs +42 -17
  165. package/esm2022/input-number/input-number.module.mjs +5 -5
  166. package/esm2022/input-number/input-number.property.mjs +4 -4
  167. package/esm2022/keyword/keyword.directive.mjs +4 -4
  168. package/esm2022/keyword/keyword.module.mjs +5 -5
  169. package/esm2022/keyword/keyword.property.mjs +4 -4
  170. package/esm2022/layout/col.component.mjs +4 -4
  171. package/esm2022/layout/layout.module.mjs +5 -5
  172. package/esm2022/layout/layout.property.mjs +7 -7
  173. package/esm2022/layout/row.component.mjs +4 -4
  174. package/esm2022/link/link.component.mjs +4 -4
  175. package/esm2022/link/link.module.mjs +5 -5
  176. package/esm2022/link/link.property.mjs +4 -4
  177. package/esm2022/list/list-drop-group.directive.mjs +4 -4
  178. package/esm2022/list/list-option.component.mjs +4 -4
  179. package/esm2022/list/list.component.mjs +4 -4
  180. package/esm2022/list/list.module.mjs +5 -5
  181. package/esm2022/list/list.property.mjs +7 -7
  182. package/esm2022/loading/loading.component.mjs +4 -4
  183. package/esm2022/loading/loading.module.mjs +5 -5
  184. package/esm2022/loading/loading.property.mjs +4 -4
  185. package/esm2022/menu/menu-node.component.mjs +4 -4
  186. package/esm2022/menu/menu.component.mjs +4 -4
  187. package/esm2022/menu/menu.module.mjs +5 -5
  188. package/esm2022/menu/menu.property.mjs +7 -7
  189. package/esm2022/message/message.component.mjs +4 -4
  190. package/esm2022/message/message.module.mjs +5 -5
  191. package/esm2022/message/message.service.mjs +4 -4
  192. package/esm2022/message-box/message-box.component.mjs +4 -4
  193. package/esm2022/message-box/message-box.module.mjs +5 -5
  194. package/esm2022/message-box/message-box.service.mjs +4 -4
  195. package/esm2022/notification/notification.component.mjs +4 -4
  196. package/esm2022/notification/notification.module.mjs +5 -5
  197. package/esm2022/notification/notification.service.mjs +4 -4
  198. package/esm2022/outlet/outlet.directive.mjs +4 -4
  199. package/esm2022/outlet/outlet.module.mjs +5 -5
  200. package/esm2022/page-header/page-header.component.mjs +4 -4
  201. package/esm2022/page-header/page-header.module.mjs +5 -5
  202. package/esm2022/page-header/page-header.property.mjs +4 -4
  203. package/esm2022/pagination/pagination.component.mjs +4 -4
  204. package/esm2022/pagination/pagination.module.mjs +5 -5
  205. package/esm2022/pagination/pagination.property.mjs +4 -4
  206. package/esm2022/pattern/pattern.component.mjs +4 -4
  207. package/esm2022/pattern/pattern.module.mjs +5 -5
  208. package/esm2022/popconfirm/popconfirm.component.mjs +4 -4
  209. package/esm2022/popconfirm/popconfirm.module.mjs +5 -5
  210. package/esm2022/popconfirm/popconfirm.property.mjs +4 -4
  211. package/esm2022/popover/popover-portal.component.mjs +4 -4
  212. package/esm2022/popover/popover.directive.mjs +4 -4
  213. package/esm2022/popover/popover.module.mjs +5 -5
  214. package/esm2022/popover/popover.property.mjs +4 -4
  215. package/esm2022/portal/portal.module.mjs +5 -5
  216. package/esm2022/portal/portal.service.mjs +4 -4
  217. package/esm2022/progress/progress.component.mjs +4 -4
  218. package/esm2022/progress/progress.module.mjs +5 -5
  219. package/esm2022/progress/progress.property.mjs +4 -4
  220. package/esm2022/radio/radio.component.mjs +4 -4
  221. package/esm2022/radio/radio.module.mjs +5 -5
  222. package/esm2022/radio/radio.property.mjs +4 -4
  223. package/esm2022/rate/rate.component.mjs +4 -4
  224. package/esm2022/rate/rate.module.mjs +5 -5
  225. package/esm2022/rate/rate.property.mjs +4 -4
  226. package/esm2022/resizable/resizable.directive.mjs +4 -4
  227. package/esm2022/resizable/resizable.module.mjs +5 -5
  228. package/esm2022/resizable/resizable.property.mjs +4 -4
  229. package/esm2022/result/result.component.mjs +4 -4
  230. package/esm2022/result/result.module.mjs +5 -5
  231. package/esm2022/result/result.property.mjs +4 -4
  232. package/esm2022/ripple/ripple.directive.mjs +4 -4
  233. package/esm2022/ripple/ripple.module.mjs +5 -5
  234. package/esm2022/ripple/ripple.property.mjs +4 -4
  235. package/esm2022/select/select-portal.component.mjs +5 -5
  236. package/esm2022/select/select.component.mjs +5 -6
  237. package/esm2022/select/select.module.mjs +5 -5
  238. package/esm2022/select/select.property.mjs +4 -4
  239. package/esm2022/skeleton/skeleton.component.mjs +4 -4
  240. package/esm2022/skeleton/skeleton.module.mjs +5 -5
  241. package/esm2022/skeleton/skeleton.property.mjs +4 -4
  242. package/esm2022/slider/slider.component.mjs +4 -4
  243. package/esm2022/slider/slider.module.mjs +5 -5
  244. package/esm2022/slider/slider.property.mjs +4 -4
  245. package/esm2022/slider-select/slider-select.component.mjs +249 -50
  246. package/esm2022/slider-select/slider-select.module.mjs +31 -6
  247. package/esm2022/slider-select/slider-select.property.mjs +25 -4
  248. package/esm2022/statistic/countdown.component.mjs +4 -4
  249. package/esm2022/statistic/statistic.component.mjs +4 -4
  250. package/esm2022/statistic/statistic.module.mjs +5 -5
  251. package/esm2022/statistic/statistic.property.mjs +7 -7
  252. package/esm2022/steps/steps.component.mjs +4 -4
  253. package/esm2022/steps/steps.module.mjs +5 -5
  254. package/esm2022/steps/steps.property.mjs +4 -4
  255. package/esm2022/switch/switch.component.mjs +4 -4
  256. package/esm2022/switch/switch.module.mjs +5 -5
  257. package/esm2022/switch/switch.property.mjs +4 -4
  258. package/esm2022/table/public-api.mjs +1 -2
  259. package/esm2022/table/table-body.component.mjs +4 -4
  260. package/esm2022/table/table-foot.component.mjs +4 -4
  261. package/esm2022/table/table-head.component.mjs +6 -6
  262. package/esm2022/table/table.component.mjs +4 -4
  263. package/esm2022/table/table.module.mjs +12 -11
  264. package/esm2022/table/table.property.mjs +13 -13
  265. package/esm2022/tabs/tab-content.component.mjs +4 -4
  266. package/esm2022/tabs/tab-link.directive.mjs +7 -7
  267. package/esm2022/tabs/tab.component.mjs +4 -4
  268. package/esm2022/tabs/tabs.component.mjs +4 -4
  269. package/esm2022/tabs/tabs.module.mjs +5 -5
  270. package/esm2022/tabs/tabs.property.mjs +7 -7
  271. package/esm2022/tag/tag.component.mjs +4 -4
  272. package/esm2022/tag/tag.module.mjs +5 -5
  273. package/esm2022/tag/tag.property.mjs +4 -4
  274. package/esm2022/text-retract/text-retract.component.mjs +4 -4
  275. package/esm2022/text-retract/text-retract.module.mjs +5 -5
  276. package/esm2022/text-retract/text-retract.property.mjs +4 -4
  277. package/esm2022/textarea/textarea.component.mjs +4 -4
  278. package/esm2022/textarea/textarea.module.mjs +5 -5
  279. package/esm2022/textarea/textarea.property.mjs +4 -4
  280. package/esm2022/theme/theme.component.mjs +4 -4
  281. package/esm2022/theme/theme.module.mjs +5 -5
  282. package/esm2022/theme/theme.property.mjs +4 -4
  283. package/esm2022/time-ago/time-ago.module.mjs +5 -5
  284. package/esm2022/time-ago/time-ago.pipe.mjs +4 -4
  285. package/esm2022/time-picker/time-picker-frame.component.mjs +4 -4
  286. package/esm2022/time-picker/time-picker-portal.component.mjs +4 -4
  287. package/esm2022/time-picker/time-picker.component.mjs +4 -4
  288. package/esm2022/time-picker/time-picker.module.mjs +5 -5
  289. package/esm2022/time-picker/time-picker.property.mjs +4 -4
  290. package/esm2022/time-range/time-range.module.mjs +5 -5
  291. package/esm2022/time-range/time-range.pipe.mjs +4 -4
  292. package/esm2022/timeline/timeline.component.mjs +5 -5
  293. package/esm2022/timeline/timeline.module.mjs +5 -5
  294. package/esm2022/timeline/timeline.property.mjs +4 -4
  295. package/esm2022/tooltip/tooltip-portal.component.mjs +6 -5
  296. package/esm2022/tooltip/tooltip.directive.mjs +8 -6
  297. package/esm2022/tooltip/tooltip.module.mjs +7 -6
  298. package/esm2022/tooltip/tooltip.property.mjs +4 -4
  299. package/esm2022/transfer/transfer.component.mjs +4 -4
  300. package/esm2022/transfer/transfer.module.mjs +5 -5
  301. package/esm2022/transfer/transfer.property.mjs +4 -4
  302. package/esm2022/tree/tree-node.component.mjs +4 -4
  303. package/esm2022/tree/tree.component.mjs +6 -4
  304. package/esm2022/tree/tree.module.mjs +5 -5
  305. package/esm2022/tree/tree.property.mjs +7 -7
  306. package/esm2022/tree/tree.service.mjs +4 -4
  307. package/esm2022/tree-file/tree-file.component.mjs +4 -4
  308. package/esm2022/tree-file/tree-file.module.mjs +5 -5
  309. package/esm2022/tree-file/tree-file.property.mjs +4 -4
  310. package/esm2022/tree-select/tree-select-portal.component.mjs +5 -5
  311. package/esm2022/tree-select/tree-select.component.mjs +5 -5
  312. package/esm2022/tree-select/tree-select.module.mjs +5 -5
  313. package/esm2022/tree-select/tree-select.property.mjs +4 -4
  314. package/esm2022/typography/typography.component.mjs +4 -4
  315. package/esm2022/typography/typography.module.mjs +5 -5
  316. package/esm2022/typography/typography.property.mjs +4 -4
  317. package/esm2022/upload/upload-portal.component.mjs +4 -4
  318. package/esm2022/upload/upload.component.mjs +4 -4
  319. package/esm2022/upload/upload.module.mjs +5 -5
  320. package/esm2022/upload/upload.property.mjs +4 -4
  321. package/fesm2022/ng-nest-ui-affix.mjs +10 -10
  322. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  323. package/fesm2022/ng-nest-ui-alert.mjs +10 -10
  324. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  325. package/fesm2022/ng-nest-ui-anchor.mjs +16 -16
  326. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  327. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  328. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  329. package/fesm2022/ng-nest-ui-auto-complete.mjs +15 -15
  330. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  331. package/fesm2022/ng-nest-ui-avatar.mjs +16 -16
  332. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  333. package/fesm2022/ng-nest-ui-back-top.mjs +10 -10
  334. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  335. package/fesm2022/ng-nest-ui-badge.mjs +10 -10
  336. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  337. package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
  338. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  339. package/fesm2022/ng-nest-ui-border.mjs +7 -7
  340. package/fesm2022/ng-nest-ui-border.mjs.map +1 -1
  341. package/fesm2022/ng-nest-ui-button.mjs +16 -16
  342. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  343. package/fesm2022/ng-nest-ui-calendar.mjs +10 -10
  344. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  345. package/fesm2022/ng-nest-ui-card.mjs +10 -10
  346. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  347. package/fesm2022/ng-nest-ui-carousel.mjs +16 -16
  348. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  349. package/fesm2022/ng-nest-ui-cascade.mjs +13 -13
  350. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  351. package/fesm2022/ng-nest-ui-checkbox.mjs +10 -10
  352. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  353. package/fesm2022/ng-nest-ui-collapse.mjs +16 -16
  354. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  355. package/fesm2022/ng-nest-ui-color-picker.mjs +13 -13
  356. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  357. package/fesm2022/ng-nest-ui-color.mjs +10 -10
  358. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  359. package/fesm2022/ng-nest-ui-comment.mjs +16 -16
  360. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  361. package/fesm2022/ng-nest-ui-container.mjs +31 -31
  362. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  363. package/fesm2022/ng-nest-ui-core.mjs +15 -15
  364. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  365. package/fesm2022/ng-nest-ui-crumb.mjs +10 -10
  366. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  367. package/fesm2022/ng-nest-ui-date-picker.mjs +49 -49
  368. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  369. package/fesm2022/ng-nest-ui-description.mjs +16 -16
  370. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  371. package/fesm2022/ng-nest-ui-dialog.mjs +40 -40
  372. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  373. package/fesm2022/ng-nest-ui-doc.mjs +8 -8
  374. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  375. package/fesm2022/ng-nest-ui-drag.mjs +119 -0
  376. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -0
  377. package/fesm2022/ng-nest-ui-drawer.mjs +31 -31
  378. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  379. package/fesm2022/ng-nest-ui-dropdown.mjs +13 -13
  380. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  381. package/fesm2022/ng-nest-ui-empty.mjs +10 -10
  382. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  383. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  384. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  385. package/fesm2022/ng-nest-ui-find.mjs +10 -10
  386. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  387. package/fesm2022/ng-nest-ui-form.mjs +16 -16
  388. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  389. package/fesm2022/ng-nest-ui-highlight.mjs +10 -10
  390. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  391. package/fesm2022/ng-nest-ui-i18n.mjs +13 -13
  392. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  393. package/fesm2022/ng-nest-ui-icon.mjs +13 -13
  394. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  395. package/fesm2022/ng-nest-ui-image.mjs +19 -19
  396. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  397. package/fesm2022/ng-nest-ui-inner.mjs +10 -10
  398. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  399. package/fesm2022/ng-nest-ui-input-number.mjs +49 -25
  400. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  401. package/fesm2022/ng-nest-ui-input.mjs +27 -17
  402. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  403. package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
  404. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  405. package/fesm2022/ng-nest-ui-layout.mjs +16 -16
  406. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  407. package/fesm2022/ng-nest-ui-link.mjs +10 -10
  408. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  409. package/fesm2022/ng-nest-ui-list.mjs +19 -19
  410. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  411. package/fesm2022/ng-nest-ui-loading.mjs +10 -10
  412. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  413. package/fesm2022/ng-nest-ui-menu.mjs +16 -16
  414. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  415. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  416. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  417. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  418. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  419. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  420. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  421. package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
  422. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  423. package/fesm2022/ng-nest-ui-page-header.mjs +10 -10
  424. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  425. package/fesm2022/ng-nest-ui-pagination.mjs +10 -10
  426. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  427. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  428. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  429. package/fesm2022/ng-nest-ui-popconfirm.mjs +10 -10
  430. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  431. package/fesm2022/ng-nest-ui-popover.mjs +13 -13
  432. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  433. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  434. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  435. package/fesm2022/ng-nest-ui-progress.mjs +10 -10
  436. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  437. package/fesm2022/ng-nest-ui-radio.mjs +10 -10
  438. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  439. package/fesm2022/ng-nest-ui-rate.mjs +10 -10
  440. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  441. package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
  442. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  443. package/fesm2022/ng-nest-ui-result.mjs +10 -10
  444. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  445. package/fesm2022/ng-nest-ui-ripple.mjs +10 -10
  446. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  447. package/fesm2022/ng-nest-ui-select.mjs +15 -16
  448. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  449. package/fesm2022/ng-nest-ui-skeleton.mjs +10 -10
  450. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  451. package/fesm2022/ng-nest-ui-slider-select.mjs +303 -59
  452. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  453. package/fesm2022/ng-nest-ui-slider.mjs +10 -10
  454. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  455. package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
  456. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  457. package/fesm2022/ng-nest-ui-steps.mjs +10 -10
  458. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  459. package/fesm2022/ng-nest-ui-switch.mjs +10 -10
  460. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  461. package/fesm2022/ng-nest-ui-table.mjs +40 -109
  462. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  463. package/fesm2022/ng-nest-ui-tabs.mjs +25 -25
  464. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  465. package/fesm2022/ng-nest-ui-tag.mjs +10 -10
  466. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  467. package/fesm2022/ng-nest-ui-text-retract.mjs +10 -10
  468. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  469. package/fesm2022/ng-nest-ui-textarea.mjs +10 -10
  470. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  471. package/fesm2022/ng-nest-ui-theme.mjs +10 -10
  472. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  473. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  474. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  475. package/fesm2022/ng-nest-ui-time-picker.mjs +16 -16
  476. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  477. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  478. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  479. package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
  480. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  481. package/fesm2022/ng-nest-ui-tooltip.mjs +23 -19
  482. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  483. package/fesm2022/ng-nest-ui-transfer.mjs +10 -10
  484. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  485. package/fesm2022/ng-nest-ui-tree-file.mjs +10 -10
  486. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  487. package/fesm2022/ng-nest-ui-tree-select.mjs +15 -15
  488. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  489. package/fesm2022/ng-nest-ui-tree.mjs +21 -19
  490. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  491. package/fesm2022/ng-nest-ui-typography.mjs +10 -10
  492. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  493. package/fesm2022/ng-nest-ui-upload.mjs +13 -13
  494. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  495. package/fesm2022/ng-nest-ui.mjs +1 -0
  496. package/fesm2022/ng-nest-ui.mjs.map +1 -1
  497. package/index.d.ts +1 -0
  498. package/input/input.property.d.ts +11 -1
  499. package/input-number/input-number.component.d.ts +6 -1
  500. package/package.json +81 -75
  501. package/slider-select/slider-select.component.d.ts +33 -16
  502. package/slider-select/slider-select.module.d.ts +3 -1
  503. package/slider-select/slider-select.property.d.ts +56 -3
  504. package/table/public-api.d.ts +0 -1
  505. package/table/table.module.d.ts +18 -18
  506. package/tooltip/tooltip-portal.component.d.ts +2 -2
  507. package/tooltip/tooltip.module.d.ts +2 -1
  508. package/tooltip/tooltip.property.d.ts +2 -2
  509. package/esm2022/table/drag.directive.mjs +0 -78
  510. package/table/drag.directive.d.ts +0 -27
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-transfer.mjs","sources":["../../../../lib/ng-nest/ui/transfer/transfer.property.ts","../../../../lib/ng-nest/ui/transfer/transfer.component.ts","../../../../lib/ng-nest/ui/transfer/transfer.component.html","../../../../lib/ng-nest/ui/transfer/transfer.module.ts","../../../../lib/ng-nest/ui/transfer/ng-nest-ui-transfer.ts"],"sourcesContent":["import {\r\n XData,\r\n XDataConvert,\r\n XInputBoolean,\r\n XParentIdentityProperty,\r\n XBoolean,\r\n XWithConfig,\r\n XQuery,\r\n XStyleMap,\r\n XTemplate\r\n} from '@ng-nest/ui/core';\r\nimport { TemplateRef, Input, Component } from '@angular/core';\r\nimport { XControlValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XTableColumn } from '@ng-nest/ui/table';\r\n\r\n/**\r\n * Transfer\r\n * @selector x-transfer\r\n * @decorator component\r\n */\r\nexport const XTransferPrefix = 'x-transfer';\r\n\r\nconst X_CONFIG_NAME = 'transfer';\r\n\r\n/**\r\n * Transfer Property\r\n */\r\n@Component({ selector: `${XTransferPrefix}-property`, template: '' })\r\nexport class XTransferProperty extends XControlValueAccessor<any[]> {\r\n /**\r\n * @zh_CN 数据对象\r\n * @en_US Data object\r\n */\r\n @Input() @XDataConvert() data: XData<XTransferNode> = [];\r\n /**\r\n * @zh_CN 选择的类型\r\n * @en_US Type\r\n */\r\n @Input() @XWithConfig<XTransferType>(X_CONFIG_NAME, 'list') type!: XTransferType;\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n * @default ['List', 'Selected']\r\n */\r\n @Input() @XWithConfig<string[]>(X_CONFIG_NAME) titles!: string[];\r\n /**\r\n * @zh_CN 穿梭框样式,使用方式于 ngStyle 相同\r\n * @en_US shuttle box style, same as ngStyle\r\n */\r\n @Input() @XWithConfig<XTransferListStyle>(X_CONFIG_NAME) listStyle!: XTransferListStyle;\r\n /**\r\n * @zh_CN 隐藏全选复选框\r\n * @en_US Hidden check all\r\n */\r\n @Input() hiddenCheckAll?: boolean[];\r\n /**\r\n * @zh_CN 是否能拖动, type\r\n * @en_US Can drag\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() drag?: XBoolean;\r\n /**\r\n * @zh_CN 是否显示搜索。type 为 'table',需要设置 tableHeadSearchTpl 和 tableQuery 来配合使用\r\n * @en_US Whether to display search\r\n */\r\n @Input() @XInputBoolean() search?: XBoolean;\r\n /**\r\n * @zh_CN 表格列头搜索自定义模板\r\n * @en_US table head search custom template\r\n */\r\n @Input() tableHeadSearchTpl?: XTemplate[];\r\n /**\r\n * @zh_CN 行数据自定义模板\r\n * @en_US Data customization template\r\n */\r\n @Input() nodeTpl?: TemplateRef<void>;\r\n /**\r\n * @zh_CN 标题自定义模板\r\n * @en_US Title custom template\r\n */\r\n @Input() titleTpl?: TemplateRef<void>;\r\n /**\r\n * @zh_CN 底部自定义模版\r\n * @en_US Bottom Custom Template\r\n */\r\n @Input() footerTpl?: TemplateRef<void>[];\r\n /**\r\n * @zh_CN 表格列集合\r\n * @en_US Table column set\r\n */\r\n @Input() tableColumns?: XTableColumn[];\r\n /**\r\n * @zh_CN 表格页码\r\n * @en_US Table page number\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 1) tableIndex!: number;\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 10) tableSize!: number;\r\n /**\r\n * @zh_CN 表格查询条件\r\n * @en_US Number of data items per page\r\n */\r\n @Input() tableQuery: XQuery = {};\r\n /**\r\n * @zh_CN 表格数据总条数\r\n * @en_US Total number of table data\r\n */\r\n @Input() tableTotal: number = 0;\r\n /**\r\n * @zh_CN 反选操作\r\n * @en_US Inverse select\r\n */\r\n @Input() @XInputBoolean() inverse?: XBoolean;\r\n}\r\n\r\n/**\r\n * Transfer Node\r\n */\r\nexport interface XTransferNode extends XParentIdentityProperty<XTransferNode> {\r\n /**\r\n * @zh_CN checkbox 是否选中\r\n * @en_US whether checkbox is selected\r\n */\r\n checked?: boolean;\r\n /**\r\n * @zh_CN 序号\r\n * @en_US Serial number\r\n */\r\n index?: number;\r\n /**\r\n * @zh_CN 自定义属性\r\n * @en_US Custom property\r\n */\r\n [property: string]: any;\r\n}\r\n\r\n/**\r\n * Transfer Source\r\n */\r\nexport interface XTransferSource {\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n */\r\n title?: string;\r\n /**\r\n * @zh_CN 搜索的数据\r\n * @en_US Searched data\r\n */\r\n searchInput?: string;\r\n /**\r\n * @zh_CN 全选\r\n * @en_US Select all\r\n */\r\n checkedAll?: boolean;\r\n /**\r\n * @zh_CN 选中的数量\r\n * @en_US Selected quantity\r\n */\r\n checkedCount?: number;\r\n /**\r\n * @zh_CN 可选择的数据总数\r\n * @en_US Total number of selectable data\r\n */\r\n count?: number;\r\n /**\r\n * @zh_CN 不确定状态的样式\r\n * @en_US Uncertain state style\r\n */\r\n indeterminate?: boolean;\r\n /**\r\n * @zh_CN 列表数据\r\n * @en_US List data\r\n */\r\n list?: XTransferNode[];\r\n /**\r\n * @zh_CN 搜索数据,用来还原\r\n * @en_US Search data to restore\r\n */\r\n searchList?: XTransferNode[];\r\n /**\r\n * @zh_CN 按钮禁用\r\n * @en_US Button disabled\r\n */\r\n disabledButton?: boolean;\r\n /**\r\n * @zh_CN 隐藏全选复选框\r\n * @en_US Hidden check all\r\n */\r\n hiddenCheckAll?: boolean;\r\n /**\r\n * @zh_CN 列表样式\r\n * @en_US List style\r\n */\r\n listStyle?: XStyleMap;\r\n /**\r\n * @zh_CN 数据方向\r\n * @en_US Data direction\r\n */\r\n direction?: XTransferDirection;\r\n /**\r\n * @zh_CN 底部自定义模版\r\n * @en_US Bottom Custom Template\r\n */\r\n footerTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 表格列头搜索自定义模板\r\n * @en_US table head search custom template\r\n */\r\n tableHeadSearchTpl?: XTemplate;\r\n}\r\n\r\n/**\r\n * Transfer direction\r\n */\r\nexport type XTransferDirection = 'left' | 'right';\r\n\r\n/**\r\n * Transfer type\r\n */\r\nexport type XTransferType = 'list' | 'tree' | 'table';\r\n\r\n/**\r\n * Transfer list style\r\n */\r\nexport type XTransferListStyle = XStyleMap | XStyleMap[];\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges,\r\n OnDestroy,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { XTransferPrefix, XTransferNode, XTransferSource, XTransferProperty, XTransferType } from './transfer.property';\r\nimport {\r\n XIsChange,\r\n XIsEmpty,\r\n XSetData,\r\n XConfigService,\r\n XRemove,\r\n XIsArray,\r\n XIsObject,\r\n XIsObjectArray,\r\n XIsBoolean,\r\n XIsFunction,\r\n XResultList,\r\n XIsUndefined\r\n} from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, map, takeUntil } from 'rxjs/operators';\r\nimport { transferArrayItem, moveItemInArray, CdkDragDrop, CdkDrag } from '@angular/cdk/drag-drop';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XI18nService, XI18nTransfer } from '@ng-nest/ui/i18n';\r\nimport { XTreeNode } from '@ng-nest/ui/tree';\r\nimport { XTableColumn, XTableComponent, XTableHeadCheckbox } from '@ng-nest/ui/table';\r\n\r\n@Component({\r\n selector: `${XTransferPrefix}`,\r\n templateUrl: './transfer.component.html',\r\n styleUrls: ['./transfer.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XTransferComponent)]\r\n})\r\nexport class XTransferComponent extends XTransferProperty implements OnInit, OnChanges, OnDestroy {\r\n @ViewChild('leftTableCom') leftTableCom?: XTableComponent;\r\n @ViewChild('rightTableCom') rightTableCom?: XTableComponent;\r\n nodes: XTransferNode[] = [];\r\n left: XTransferSource = {\r\n list: [],\r\n searchList: [],\r\n checkedCount: 0,\r\n direction: 'left',\r\n disabledButton: true\r\n };\r\n right: XTransferSource = {\r\n list: [],\r\n searchList: [],\r\n checkedCount: 0,\r\n direction: 'right',\r\n disabledButton: true\r\n };\r\n searchInput: string = '';\r\n searchInputLeftChange = new Subject<string>();\r\n searchInputRightChange = new Subject<string>();\r\n searchDebounceTime = 200;\r\n locale: XI18nTransfer = {};\r\n private get localTitle() {\r\n if (this.type === 'tree') {\r\n return this.locale.treeTitle;\r\n } else {\r\n return this.locale.listTitle;\r\n }\r\n }\r\n private _unSubject = new Subject<void>();\r\n treeActivatedId: any[] = [];\r\n tableData: XTransferNode[] = [];\r\n tableCheckboxColumn?: XTableColumn;\r\n isObjectArray = false;\r\n override writeValue(value: any[]): void {\r\n this.value = value;\r\n if (XIsArray(value)) {\r\n this.treeActivatedId = [...value];\r\n if (XIsObjectArray(value)) {\r\n this.isObjectArray = true;\r\n }\r\n }\r\n this.setList(this.nodes);\r\n }\r\n\r\n get values() {\r\n if (this.isObjectArray) {\r\n return this.value.map((x) => x.id);\r\n } else {\r\n return this.value;\r\n }\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef<HTMLElement>,\r\n public override cdr: ChangeDetectorRef,\r\n public configService: XConfigService,\r\n public i18n: XI18nService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setTitles();\r\n this.setListStyle();\r\n this.setHiddenCheckAll();\r\n this.getTableCheckColumn();\r\n this.setFooterTpl();\r\n this.setTableHeadSearchTpl();\r\n this.i18n.localeChange\r\n .pipe(\r\n map((x) => x.transfer as XI18nTransfer),\r\n takeUntil(this._unSubject)\r\n )\r\n .subscribe((x) => {\r\n this.locale = x;\r\n XIsEmpty(this.titles) && this.setTitles();\r\n this.cdr.markForCheck();\r\n });\r\n this.searchInputLeftChange\r\n .pipe(debounceTime(this.searchDebounceTime), distinctUntilChanged(), takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.setSearchInputChange(this.left);\r\n });\r\n this.searchInputRightChange\r\n .pipe(debounceTime(this.searchDebounceTime), distinctUntilChanged(), takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.setSearchInputChange(this.right);\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { data } = changes;\r\n XIsChange(data) && this.setData();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n onSearchInputChange(source: XTransferSource) {\r\n if (source.direction === 'left') {\r\n this.searchInputLeftChange.next(source.searchInput!);\r\n } else if (source.direction === 'right') {\r\n this.searchInputRightChange.next(source.searchInput!);\r\n }\r\n }\r\n\r\n setSearchInputChange(source: XTransferSource) {\r\n if (XIsUndefined(source.searchInput)) return;\r\n if (XIsEmpty(source.searchInput)) {\r\n source.list = [...source.searchList!];\r\n } else {\r\n switch (this.type) {\r\n case 'list':\r\n source.list = source.searchList?.filter((x) => x.label.indexOf(source.searchInput) >= 0);\r\n break;\r\n case 'tree':\r\n if (source.direction === 'right') {\r\n source.list = source.searchList?.filter((x) => x.label.indexOf(source.searchInput) >= 0);\r\n } else if (source.direction === 'left') {\r\n let searchList = source.searchList?.filter((x) => x.label.indexOf(source.searchInput) >= 0)!;\r\n let parents: XTransferNode[] = [];\r\n const findParent = (item: XTransferNode) => {\r\n if (!item.pid) return;\r\n let parent = source.searchList?.find((x) => x.id === item.pid);\r\n if (parent && !parents.some((x) => x.id === parent!.id)) {\r\n parents.push(parent);\r\n findParent(parent);\r\n }\r\n };\r\n for (let item of searchList) {\r\n findParent(item);\r\n }\r\n source.list = [...searchList, ...parents];\r\n }\r\n break;\r\n case 'table':\r\n break;\r\n }\r\n }\r\n this.setListCount(this.type, source);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n checkedAllChange($event: boolean, source: XTransferSource) {\r\n let list: XTransferNode[] = (source.list?.filter((x) => !x.disabled) as XTransferNode[]).map((x) => {\r\n x.checked = $event;\r\n return x;\r\n });\r\n if (this.type === 'tree' && source.direction === 'left') {\r\n this.treeActivatedId = $event ? source.list!.map((x) => x.id)! : source.list!.filter((x) => x.disabled).map((x) => x.id);\r\n }\r\n source.checkedCount = $event ? list.length : 0;\r\n source.indeterminate = $event;\r\n this.setButtonDisabled(source);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n checkedChange($event: boolean, source: XTransferSource) {\r\n if (!$event) (source.checkedCount as number)--;\r\n else (source.checkedCount as number)++;\r\n this.setCheckedAll(source);\r\n this.setButtonDisabled(source);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n move(from: XTransferSource, to: XTransferSource) {\r\n if (from.disabledButton) return;\r\n switch (this.type) {\r\n case 'list':\r\n this.moveList(from, to);\r\n break;\r\n case 'tree':\r\n this.moveTree(from, to);\r\n break;\r\n case 'table':\r\n this.moveTable(from, to);\r\n }\r\n }\r\n\r\n private moveList(from: XTransferSource, to: XTransferSource) {\r\n let checkedItems = from.list?.filter((x) => !x.disabled && x.checked)!;\r\n let j = 0;\r\n checkedItems.forEach((x) => {\r\n let index = from.list?.indexOf(x) as number;\r\n x.checked = false;\r\n transferArrayItem(from.list!, to.list!, index, j);\r\n if (this.search) {\r\n index = from.searchList?.indexOf(x) as number;\r\n transferArrayItem(from.searchList!, to.searchList!, index, j);\r\n }\r\n j++;\r\n });\r\n from.list = [...from.list!];\r\n to.list = [...to.list!];\r\n this.setCheckedCount('list', from, to);\r\n this.setListCount('list', from, to);\r\n this.setCheckedAll(from, to);\r\n this.setButtonDisabled(from, to);\r\n this.setSearchList(from, to);\r\n this.setValue();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private moveTree(from: XTransferSource, to: XTransferSource) {\r\n let checkedItems: XTransferNode[] = [];\r\n if (to.direction === 'right') {\r\n checkedItems = from.list?.filter((x) => !x.disabled && !XIsEmpty(this.treeActivatedId) && this.treeActivatedId.includes(x.id))!;\r\n checkedItems.forEach((x: XTreeNode) => {\r\n x.disabled = true;\r\n x.change && x.change();\r\n });\r\n to.list?.unshift(\r\n ...checkedItems.map((x) => {\r\n let res = { ...x };\r\n res.checked = false;\r\n res.disabled = false;\r\n return res;\r\n })\r\n );\r\n this.setCheckedCount('tree', from);\r\n this.setCheckedCount('list', to);\r\n } else {\r\n checkedItems = XRemove(from.list!, (x) => !x.disabled && x.checked!);\r\n if (this.search) {\r\n XRemove(from.searchList!, (x) => !x.disabled && x.checked!);\r\n }\r\n for (let item of checkedItems) {\r\n let node: XTreeNode = to.list?.find((x) => x.id === item.id)!;\r\n if (node) {\r\n node.checked = false;\r\n node.disabled = false;\r\n const idx = this.treeActivatedId.findIndex((x) => x === node.id);\r\n if (idx >= 0) {\r\n this.treeActivatedId.splice(idx, 1);\r\n }\r\n node.change && node.change();\r\n }\r\n }\r\n this.setCheckedCount('tree', to);\r\n this.setCheckedCount('list', from);\r\n }\r\n this.setCheckedAll(from, to);\r\n this.setListCount('list', from, to);\r\n this.setButtonDisabled(from, to);\r\n this.setSearchList(from, to);\r\n this.setValue();\r\n }\r\n\r\n private moveTable(from: XTransferSource, to: XTransferSource) {\r\n let checkedItems: XTransferNode[] = [];\r\n if (to.direction === 'right') {\r\n checkedItems = from.list?.filter((x) => !x.disabled && x.checked)!;\r\n to.list = [\r\n ...checkedItems.map((x) => {\r\n const res = { ...x };\r\n x.disabled = true;\r\n x.checked = true;\r\n res.disabled = false;\r\n res.checked = false;\r\n return res;\r\n }),\r\n ...to.list!\r\n ];\r\n this.tableData = [...from.list!];\r\n this.setCheckedCount('table', from);\r\n this.setCheckedCount('list', to);\r\n } else {\r\n checkedItems = XRemove(from.list!, (x) => !x.disabled && x.checked!);\r\n const ids = checkedItems.map((x) => x.id);\r\n for (let item of to.list!) {\r\n if (ids.includes(item.id)) {\r\n item.checked = false;\r\n item.disabled = false;\r\n }\r\n }\r\n from.list = [...from.list!];\r\n this.tableData = [...to.list!];\r\n this.setCheckedCount('table', to);\r\n this.setCheckedCount('list', from);\r\n }\r\n this.setListCount('table', from, to);\r\n this.setCheckedAll(from, to);\r\n this.setButtonDisabled(from, to);\r\n this.setSearchList(from, to);\r\n this.setValue();\r\n }\r\n\r\n dropCdk(event: CdkDragDrop<XTransferNode[] | undefined, any>) {\r\n const ev = event as CdkDragDrop<XTransferNode[]>;\r\n if (ev.previousContainer === ev.container) {\r\n moveItemInArray(ev.container.data, ev.previousIndex, ev.currentIndex);\r\n } else {\r\n transferArrayItem(ev.previousContainer.data, ev.container.data, ev.previousIndex, ev.currentIndex);\r\n this.setCheckedCount('list', this.left, this.right);\r\n this.setCheckedAll(this.left, this.right);\r\n this.setListCount('list', this.left, this.right);\r\n this.setButtonDisabled(this.left, this.right);\r\n }\r\n this.setSearchList(this.left, this.right);\r\n this.setValue();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n predicate(item: CdkDrag<XTransferNode>) {\r\n return !item.data.disabled;\r\n }\r\n\r\n trackByNode(_index: number, item: XTransferNode) {\r\n return item.id;\r\n }\r\n\r\n setListCount(type: XTransferType = 'list', ...sources: XTransferSource[]) {\r\n if (['list', 'tree'].includes(type)) {\r\n for (let source of sources) {\r\n source.count = source.list?.filter((x) => !x.disabled).length;\r\n }\r\n } else if (type === 'table') {\r\n for (let source of sources) {\r\n if (source.direction === 'left') {\r\n source.count = this.tableTotal - this.right.list!.length || 0;\r\n } else {\r\n source.count = source.list?.filter((x) => !x.disabled).length;\r\n }\r\n }\r\n }\r\n }\r\n\r\n onTreeNodeClick(_node: XTreeNode) {\r\n this.setCheckedCount('tree', this.left);\r\n this.setCheckedAll(this.left);\r\n this.setButtonDisabled(this.left);\r\n }\r\n\r\n onTableCheckedRow(row: XTransferNode, source: XTransferSource) {\r\n if (!this.tableCheckboxColumn) return;\r\n let checked = row[this.tableCheckboxColumn.id];\r\n row.checked = checked;\r\n this.setCheckedCount('table', source);\r\n this.setCheckedAll(source);\r\n this.setButtonDisabled(source);\r\n }\r\n\r\n onTableCheckedAll(row: XTableHeadCheckbox, source: XTransferSource) {\r\n if (!this.tableCheckboxColumn) return;\r\n let checked = row.checkbox[this.tableCheckboxColumn.id];\r\n for (let item of source.list!) {\r\n if (!item.disabled) {\r\n item.checked = checked;\r\n }\r\n }\r\n this.setCheckedCount('table', source);\r\n this.setButtonDisabled(source);\r\n }\r\n\r\n onInverse(source: XTransferSource) {\r\n for (let item of source.list!) {\r\n if (!item.disabled) {\r\n item.checked = !item.checked;\r\n }\r\n }\r\n let type = `${this.type}` as XTransferType;\r\n if (type === 'tree' && source.direction === 'right') {\r\n type = 'list';\r\n }\r\n this.setCheckedCount(type, source);\r\n this.setCheckedAll(source);\r\n this.setButtonDisabled(source);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private getTableCheckColumn() {\r\n if (this.type !== 'table' || XIsEmpty(this.tableColumns)) return;\r\n this.tableCheckboxColumn = this.tableColumns?.find((x) => x.rowChecked);\r\n }\r\n\r\n private setCheckedAll(...sources: XTransferSource[]) {\r\n for (let source of sources) {\r\n if ((source.checkedCount as number) > 0) {\r\n if (source.checkedCount === source.list?.filter((x) => !x.disabled).length) {\r\n source.checkedAll = true;\r\n } else {\r\n source.checkedAll = false;\r\n source.indeterminate = true;\r\n }\r\n } else {\r\n source.checkedAll = false;\r\n source.indeterminate = false;\r\n }\r\n }\r\n }\r\n\r\n private setCheckedCount(type: XTransferType = 'list', ...sources: XTransferSource[]) {\r\n for (let source of sources) {\r\n if (['table', 'list'].includes(type)) {\r\n source.checkedCount = source.list?.filter((x) => !x.disabled && x.checked).length;\r\n } else if (type === 'tree') {\r\n source.checkedCount = source.list?.filter(\r\n (x) => !x.disabled && !XIsEmpty(this.treeActivatedId) && this.treeActivatedId.includes(x.id)\r\n ).length;\r\n }\r\n }\r\n }\r\n\r\n private setButtonDisabled(...sources: XTransferSource[]) {\r\n for (let source of sources) source.disabledButton = source.checkedCount === 0;\r\n }\r\n\r\n private setValue() {\r\n if (this.isObjectArray) {\r\n this.value = this.right.list!;\r\n } else {\r\n this.value = this.right.list?.map((x) => x.id)!;\r\n }\r\n this.onChange(this.value);\r\n }\r\n\r\n private setSearchList(...sources: XTransferSource[]) {\r\n if (this.search) {\r\n for (let source of sources) {\r\n if (XIsEmpty(source.searchInput)) {\r\n source.searchList = [...(source.list as XTransferNode[])];\r\n }\r\n }\r\n }\r\n }\r\n\r\n private setData() {\r\n if (this.type === 'table') {\r\n this.getTableData();\r\n return;\r\n }\r\n XSetData<XTransferNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.setList(x);\r\n });\r\n }\r\n\r\n private setList(data: XTransferNode[]) {\r\n if (XIsEmpty(data)) return;\r\n switch (this.type) {\r\n case 'list':\r\n this.nodes = data;\r\n if (!XIsEmpty(this.values)) {\r\n this.left.list = this.nodes.filter((x) => this.values.indexOf(x.id) < 0);\r\n this.right.list = this.nodes.filter((x) => this.values.indexOf(x.id) >= 0);\r\n } else {\r\n this.left.list = [...this.nodes];\r\n }\r\n this.setSearchList(this.left, this.right);\r\n this.setListCount(this.type, this.left, this.right);\r\n break;\r\n case 'tree':\r\n this.nodes = data;\r\n this.setTreeNodeDisabled();\r\n this.left.list = [...this.nodes];\r\n if (!XIsEmpty(this.values)) {\r\n this.right.list = this.nodes\r\n .filter((x) => this.values.indexOf(x.id) >= 0)\r\n .map((x) => {\r\n let res = { ...x };\r\n res.checked = false;\r\n res.disabled = false;\r\n return res;\r\n });\r\n }\r\n this.setSearchList(this.left, this.right);\r\n this.setListCount(this.type, this.left, this.right);\r\n break;\r\n case 'table':\r\n this.nodes = data;\r\n this.setTableDataDisabled();\r\n this.left.list = [...this.nodes];\r\n if (!XIsEmpty(this.values)) {\r\n if (this.isObjectArray) {\r\n this.right.list = [\r\n ...this.value.map((x) => {\r\n let res = { ...x };\r\n res.disabled = false;\r\n res.checked = false;\r\n return res;\r\n })\r\n ];\r\n } else {\r\n this.right.list = [...this.value];\r\n }\r\n }\r\n this.setSearchList(this.left, this.right);\r\n this.setListCount(this.type, this.left, this.right);\r\n break;\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n getTableData() {\r\n if (XIsFunction(this.data)) {\r\n (this.data as Function)(this.tableIndex, this.tableSize, this.tableQuery).subscribe((x: XResultList<XTransferNode>) => {\r\n this.tableTotal = x.total!;\r\n this.tableData = x.list!;\r\n this.setList(x.list!);\r\n });\r\n }\r\n }\r\n\r\n private setTitles() {\r\n let titles: string[] = [];\r\n if (XIsEmpty(this.titles)) {\r\n titles = [this.localTitle!, this.locale.selectedTitle!];\r\n } else {\r\n titles = this.titles;\r\n }\r\n if (titles.length > 0) this.left.title = titles[0];\r\n if (titles.length > 1) this.right.title = titles[1];\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setListStyle() {\r\n if (XIsEmpty(this.listStyle)) return;\r\n let styles: object[] = [];\r\n if (XIsObject(this.listStyle)) {\r\n styles = [this.listStyle, this.listStyle];\r\n } else if (XIsObjectArray(this.listStyle)) {\r\n styles = this.listStyle as object[];\r\n }\r\n if (styles.length > 0) this.left.listStyle = styles[0];\r\n if (styles.length > 1) this.right.listStyle = styles[1];\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setTreeNodeDisabled() {\r\n if (!XIsEmpty(this.values) && this.nodes) {\r\n for (let item of this.nodes) {\r\n let hasIn = this.values.indexOf(item.id) >= 0;\r\n item.disabled = hasIn;\r\n item.checked = hasIn;\r\n }\r\n }\r\n }\r\n\r\n private setTableDataDisabled() {\r\n if (!XIsEmpty(this.values) && this.nodes) {\r\n for (let item of this.nodes) {\r\n let hasIn = this.values.indexOf(item.id) >= 0;\r\n item.disabled = hasIn;\r\n item.checked = hasIn;\r\n }\r\n }\r\n }\r\n\r\n private setHiddenCheckAll() {\r\n if (XIsEmpty(this.hiddenCheckAll)) return;\r\n if (this.hiddenCheckAll!.length > 0 && XIsBoolean(this.hiddenCheckAll![0])) this.left.hiddenCheckAll = this.hiddenCheckAll![0];\r\n if (this.hiddenCheckAll!.length > 1 && XIsBoolean(this.hiddenCheckAll![1])) this.right.hiddenCheckAll = this.hiddenCheckAll![1];\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setFooterTpl() {\r\n if (XIsUndefined(this.footerTpl)) return;\r\n if (this.footerTpl!.length > 0) {\r\n this.left.footerTpl = this.footerTpl![0];\r\n }\r\n if (this.footerTpl!.length > 1) {\r\n this.right.footerTpl = this.footerTpl![1];\r\n }\r\n }\r\n\r\n private setTableHeadSearchTpl() {\r\n if (XIsUndefined(this.tableHeadSearchTpl)) return;\r\n if (this.tableHeadSearchTpl!.length > 0) {\r\n this.left.tableHeadSearchTpl = this.tableHeadSearchTpl![0];\r\n }\r\n if (this.tableHeadSearchTpl!.length > 1) {\r\n this.right.tableHeadSearchTpl = this.tableHeadSearchTpl![1];\r\n }\r\n }\r\n}\r\n","<div #transfer class=\"x-transfer\" cdkDropListGroup [ngClass]=\"classMap\">\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"left.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: left }\"></ng-container>\r\n <div [ngStyle]=\"left.listStyle!\" class=\"x-transfer-list\">\r\n <ng-container [ngSwitch]=\"type\">\r\n <ul\r\n *ngSwitchCase=\"'list'\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"left.list\"\r\n [cdkDropListDisabled]=\"!drag && type === 'list'\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n <li class=\"x-transfer-item\" *ngFor=\"let node of left.list; trackBy: trackByNode\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: left }\"></ng-container>\r\n </li>\r\n </ul>\r\n <x-tree\r\n *ngSwitchCase=\"'tree'\"\r\n [data]=\"left.list!\"\r\n multiple\r\n allowManyActivated\r\n [(activatedId)]=\"treeActivatedId\"\r\n (nodeClick)=\"onTreeNodeClick($event)\"\r\n [labelTpl]=\"treeLabelTpl\"\r\n ></x-tree>\r\n <ng-template #treeLabelTpl let-node=\"$node\">\r\n <span class=\"x-transfer-tree-label\" x-keyword [text]=\"left.searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n <x-table\r\n #leftTableCom\r\n *ngSwitchCase=\"'table'\"\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns!\"\r\n [(size)]=\"tableSize\"\r\n [(index)]=\"tableIndex\"\r\n (indexChange)=\"getTableData()\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n (activatedRowChange)=\"onTableCheckedRow($event, left)\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, left)\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"left.tableHeadSearchTpl\"\r\n ></x-table>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-transfer-footer\" *ngIf=\"left.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"left.footerTpl; context: { $source: left }\"></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"x-transfer-buttons\">\r\n <x-button type=\"primary\" icon=\"fto-chevron-right\" [disabled]=\"left.disabledButton\" (click)=\"move(left, right)\"></x-button>\r\n <x-button type=\"primary\" icon=\"fto-chevron-left\" [disabled]=\"right.disabledButton\" (click)=\"move(right, left)\"></x-button>\r\n </div>\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"right.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: right }\"></ng-container>\r\n <div [ngSwitch]=\"type\" [ngStyle]=\"right.listStyle!\" class=\"x-transfer-list\">\r\n <x-table\r\n #rightTableCom\r\n *ngSwitchCase=\"'table'\"\r\n [data]=\"right.list!\"\r\n [columns]=\"tableColumns!\"\r\n (activatedRowChange)=\"onTableCheckedRow($event, right)\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, right)\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showPagination=\"false\"\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"right.tableHeadSearchTpl\"\r\n ></x-table>\r\n <ul\r\n *ngSwitchDefault\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"right.list\"\r\n [cdkDropListDisabled]=\"!drag || (drag && type !== 'list')\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n <li class=\"x-transfer-item\" *ngFor=\"let node of right.list; trackBy: trackByNode\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: right }\"></ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"x-transfer-footer\" *ngIf=\"right.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"right.footerTpl; context: { $source: right }\"></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #sourceTitleTpl let-source=\"source\">\r\n <div class=\"x-transfer-title\">\r\n <div class=\"x-transfer-title-left\">\r\n <x-checkbox\r\n *ngIf=\"source.title && !source.hiddenCheckAll\"\r\n [data]=\"[titleTpl ? '' : source.title]\"\r\n [(ngModel)]=\"source.checkedAll\"\r\n (ngModelChange)=\"checkedAllChange($event, source)\"\r\n [indeterminate]=\"source.indeterminate\"\r\n ></x-checkbox>\r\n <span *ngIf=\"source.title && source.hiddenCheckAll\">{{ source.title }}</span>\r\n <x-link *ngIf=\"inverse && type === 'list'\" class=\"x-transfer-inverse\" type=\"primary\" (click)=\"onInverse(source)\">{{\r\n 'transfer.inverse' | xI18n\r\n }}</x-link>\r\n </div>\r\n <ng-container *xOutlet=\"titleTpl; context: { $title: source.title, $checkedCount: source.checkedCount, $count: source.count }\"\r\n ><span class=\"x-transfer-total\">{{ source.checkedCount }} / {{ source.count }}</span></ng-container\r\n >\r\n </div>\r\n <div class=\"x-transfer-search\" *ngIf=\"search && type !== 'table'\">\r\n <x-input icon=\"fto-search\" [(ngModel)]=\"source.searchInput\" (ngModelChange)=\"onSearchInputChange(source)\" clearable></x-input>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #sourceNodeTpl let-node=\"node\" let-source=\"source\">\r\n <x-checkbox\r\n [data]=\"[{ id: node.id, label: nodeTpl ? nodeTpl : labelTpl, node: node }]\"\r\n [disabled]=\"node.disabled\"\r\n [(ngModel)]=\"node.checked\"\r\n (ngModelChange)=\"checkedChange($event, source)\"\r\n ></x-checkbox>\r\n <ng-template #labelTpl>\r\n <span x-keyword [text]=\"source.searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XTransferComponent } from './transfer.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XCheckboxModule } from '@ng-nest/ui/checkbox';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XTransferProperty } from './transfer.property';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XTreeModule } from '@ng-nest/ui/tree';\r\nimport { XTableModule } from '@ng-nest/ui/table';\r\nimport { XKeywordModule } from '@ng-nest/ui/keyword';\r\nimport { XLinkModule } from '@ng-nest/ui/link';\r\nimport { XI18nModule } from '@ng-nest/ui/i18n';\r\n\r\n@NgModule({\r\n declarations: [XTransferComponent, XTransferProperty],\r\n exports: [XTransferComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n DragDropModule,\r\n XOutletModule,\r\n XCheckboxModule,\r\n XButtonModule,\r\n XInputModule,\r\n XBaseFormModule,\r\n XTreeModule,\r\n XTableModule,\r\n XKeywordModule,\r\n XLinkModule,\r\n XI18nModule\r\n ]\r\n})\r\nexport class XTransferModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA;;;;AAIG;AACI,MAAM,eAAe,GAAG,aAAa;AAE5C,MAAM,aAAa,GAAG,UAAU,CAAC;AAEjC;;AAEG;AACH,MACa,iBAAkB,SAAQ,qBAA4B,CAAA;AADnE,IAAA,WAAA,GAAA;;AAEE;;;AAGG;QACsB,IAAI,CAAA,IAAA,GAAyB,EAAE,CAAC;AAmEzD;;;AAGG;QACM,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;AACjC;;;AAGG;QACM,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;AAMjC,KAAA;iIAvFY,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,0eADkC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAMvC,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAiC,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKG,UAAA,CAAA;AAAlD,IAAA,WAAW,CAAgB,aAAa,EAAE,MAAM,CAAC;AAAsB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMlC,UAAA,CAAA;IAArC,WAAW,CAAW,aAAa,CAAC;AAAmB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKR,UAAA,CAAA;IAA/C,WAAW,CAAqB,aAAa,CAAC;AAAgC,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAUjB,UAAA,CAAA;AAA7D,IAAA,WAAW,CAAW,aAAa,EAAE,KAAK,CAAC;AAAE,IAAA,aAAa,EAAE;AAAiB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAK7D,UAAA,CAAA;AAAhB,IAAA,aAAa,EAAE;AAAmB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AA8BI,UAAA,CAAA;AAAtC,IAAA,WAAW,CAAS,aAAa,EAAE,CAAC,CAAC;AAAqB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKnB,UAAA,CAAA;AAAvC,IAAA,WAAW,CAAS,aAAa,EAAE,EAAE,CAAC;AAAoB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAe1C,UAAA,CAAA;AAAhB,IAAA,aAAa,EAAE;AAAoB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAtFlC,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,SAAS;mBAAC,EAAE,QAAQ,EAAE,CAAG,EAAA,eAAe,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;8BAMzC,IAAI,EAAA,CAAA;sBAA5B,KAAK;gBAKsD,IAAI,EAAA,CAAA;sBAA/D,KAAK;gBAMyC,MAAM,EAAA,CAAA;sBAApD,KAAK;gBAKmD,SAAS,EAAA,CAAA;sBAAjE,KAAK;gBAKG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAKiE,IAAI,EAAA,CAAA;sBAA1E,KAAK;gBAKoB,MAAM,EAAA,CAAA;sBAA/B,KAAK;gBAKG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAK0C,UAAU,EAAA,CAAA;sBAAzD,KAAK;gBAK2C,SAAS,EAAA,CAAA;sBAAzD,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKoB,OAAO,EAAA,CAAA;sBAAhC,KAAK;;;AC9ER,MAQa,kBAAmB,SAAQ,iBAAiB,CAAA;AAuBvD,IAAA,IAAY,UAAU,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACxB,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;AAC9B,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;AAC9B,SAAA;KACF;AAMQ,IAAA,UAAU,CAAC,KAAY,EAAA;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AACnB,YAAA,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AAClC,YAAA,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;AACzB,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC3B,aAAA;AACF,SAAA;AACD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;AAED,IAAA,IAAI,MAAM,GAAA;QACR,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AACpC,SAAA;AAAM,aAAA;YACL,OAAO,IAAI,CAAC,KAAK,CAAC;AACnB,SAAA;KACF;IAED,WACS,CAAA,QAAmB,EACnB,UAAmC,EAC1B,GAAsB,EAC/B,aAA6B,EAC7B,IAAkB,EAAA;AAEzB,QAAA,KAAK,EAAE,CAAC;QAND,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACnB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QAC1B,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QAC/B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAC7B,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAc;QAxD3B,IAAK,CAAA,KAAA,GAAoB,EAAE,CAAC;AAC5B,QAAA,IAAA,CAAA,IAAI,GAAoB;AACtB,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,cAAc,EAAE,IAAI;SACrB,CAAC;AACF,QAAA,IAAA,CAAA,KAAK,GAAoB;AACvB,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,cAAc,EAAE,IAAI;SACrB,CAAC;QACF,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AACzB,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,OAAO,EAAU,CAAC;AAC9C,QAAA,IAAA,CAAA,sBAAsB,GAAG,IAAI,OAAO,EAAU,CAAC;QAC/C,IAAkB,CAAA,kBAAA,GAAG,GAAG,CAAC;QACzB,IAAM,CAAA,MAAA,GAAkB,EAAE,CAAC;AAQnB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAQ,CAAC;QACzC,IAAe,CAAA,eAAA,GAAU,EAAE,CAAC;QAC5B,IAAS,CAAA,SAAA,GAAoB,EAAE,CAAC;QAEhC,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;KA4BrB;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,YAAY;AACnB,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAyB,CAAC,EACvC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAC3B;AACA,aAAA,SAAS,CAAC,CAAC,CAAC,KAAI;AACf,YAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;AAC1C,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC1B,SAAC,CAAC,CAAC;AACL,QAAA,IAAI,CAAC,qBAAqB;AACvB,aAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,oBAAoB,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC/F,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,SAAC,CAAC,CAAC;AACL,QAAA,IAAI,CAAC,sBAAsB;AACxB,aAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,oBAAoB,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC/F,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,SAAC,CAAC,CAAC;KACN;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;KACnC;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;KAC/B;AAED,IAAA,mBAAmB,CAAC,MAAuB,EAAA;AACzC,QAAA,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,EAAE;YAC/B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,WAAY,CAAC,CAAC;AACtD,SAAA;AAAM,aAAA,IAAI,MAAM,CAAC,SAAS,KAAK,OAAO,EAAE;YACvC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,WAAY,CAAC,CAAC;AACvD,SAAA;KACF;AAED,IAAA,oBAAoB,CAAC,MAAuB,EAAA;AAC1C,QAAA,IAAI,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;YAAE,OAAO;AAC7C,QAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;YAChC,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,UAAW,CAAC,CAAC;AACvC,SAAA;AAAM,aAAA;YACL,QAAQ,IAAI,CAAC,IAAI;AACf,gBAAA,KAAK,MAAM;oBACT,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzF,MAAM;AACR,gBAAA,KAAK,MAAM;AACT,oBAAA,IAAI,MAAM,CAAC,SAAS,KAAK,OAAO,EAAE;wBAChC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1F,qBAAA;AAAM,yBAAA,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,EAAE;wBACtC,IAAI,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAE,CAAC;wBAC7F,IAAI,OAAO,GAAoB,EAAE,CAAC;AAClC,wBAAA,MAAM,UAAU,GAAG,CAAC,IAAmB,KAAI;4BACzC,IAAI,CAAC,IAAI,CAAC,GAAG;gCAAE,OAAO;4BACtB,IAAI,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;4BAC/D,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAO,CAAC,EAAE,CAAC,EAAE;AACvD,gCAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gCACrB,UAAU,CAAC,MAAM,CAAC,CAAC;AACpB,6BAAA;AACH,yBAAC,CAAC;AACF,wBAAA,KAAK,IAAI,IAAI,IAAI,UAAU,EAAE;4BAC3B,UAAU,CAAC,IAAI,CAAC,CAAC;AAClB,yBAAA;wBACD,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC;AAC3C,qBAAA;oBACD,MAAM;AACR,gBAAA,KAAK,OAAO;oBACV,MAAM;AACT,aAAA;AACF,SAAA;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,gBAAgB,CAAC,MAAe,EAAE,MAAuB,EAAA;QACvD,IAAI,IAAI,GAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAqB,EAAC,GAAG,CAAC,CAAC,CAAC,KAAI;AACjG,YAAA,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;AACnB,YAAA,OAAO,CAAC,CAAC;AACX,SAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,EAAE;YACvD,IAAI,CAAC,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC,IAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAE,GAAG,MAAM,CAAC,IAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1H,SAAA;AACD,QAAA,MAAM,CAAC,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/C,QAAA,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC;AAC9B,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,aAAa,CAAC,MAAe,EAAE,MAAuB,EAAA;AACpD,QAAA,IAAI,CAAC,MAAM;YAAG,MAAM,CAAC,YAAuB,EAAE,CAAC;;YACzC,MAAM,CAAC,YAAuB,EAAE,CAAC;AACvC,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,IAAI,CAAC,IAAqB,EAAE,EAAmB,EAAA;QAC7C,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAChC,QAAQ,IAAI,CAAC,IAAI;AACf,YAAA,KAAK,MAAM;AACT,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxB,MAAM;AACR,YAAA,KAAK,MAAM;AACT,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxB,MAAM;AACR,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC5B,SAAA;KACF;IAEO,QAAQ,CAAC,IAAqB,EAAE,EAAmB,EAAA;QACzD,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAE,CAAC;QACvE,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,QAAA,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;YACzB,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAW,CAAC;AAC5C,YAAA,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;AAClB,YAAA,iBAAiB,CAAC,IAAI,CAAC,IAAK,EAAE,EAAE,CAAC,IAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAClD,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAW,CAAC;AAC9C,gBAAA,iBAAiB,CAAC,IAAI,CAAC,UAAW,EAAE,EAAE,CAAC,UAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC/D,aAAA;AACD,YAAA,CAAC,EAAE,CAAC;AACN,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAK,CAAC,CAAC;QAC5B,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,IAAK,CAAC,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAEO,QAAQ,CAAC,IAAqB,EAAE,EAAmB,EAAA;QACzD,IAAI,YAAY,GAAoB,EAAE,CAAC;AACvC,QAAA,IAAI,EAAE,CAAC,SAAS,KAAK,OAAO,EAAE;AAC5B,YAAA,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC;AAChI,YAAA,YAAY,CAAC,OAAO,CAAC,CAAC,CAAY,KAAI;AACpC,gBAAA,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;AAClB,gBAAA,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACzB,aAAC,CAAC,CAAC;AACH,YAAA,EAAE,CAAC,IAAI,EAAE,OAAO,CACd,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAI;AACxB,gBAAA,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AACnB,gBAAA,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;AACpB,gBAAA,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;AACrB,gBAAA,OAAO,GAAG,CAAC;aACZ,CAAC,CACH,CAAC;AACF,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACnC,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAClC,SAAA;AAAM,aAAA;YACL,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAQ,CAAC,CAAC;YACrE,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,OAAO,CAAC,IAAI,CAAC,UAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAQ,CAAC,CAAC;AAC7D,aAAA;AACD,YAAA,KAAK,IAAI,IAAI,IAAI,YAAY,EAAE;gBAC7B,IAAI,IAAI,GAAc,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAE,CAAC;AAC9D,gBAAA,IAAI,IAAI,EAAE;AACR,oBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,oBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,oBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;oBACjE,IAAI,GAAG,IAAI,CAAC,EAAE;wBACZ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACrC,qBAAA;AACD,oBAAA,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAC9B,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjC,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACpC,SAAA;AACD,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAEO,SAAS,CAAC,IAAqB,EAAE,EAAmB,EAAA;QAC1D,IAAI,YAAY,GAAoB,EAAE,CAAC;AACvC,QAAA,IAAI,EAAE,CAAC,SAAS,KAAK,OAAO,EAAE;YAC5B,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAE,CAAC;YACnE,EAAE,CAAC,IAAI,GAAG;AACR,gBAAA,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAI;AACxB,oBAAA,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AACrB,oBAAA,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;AAClB,oBAAA,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;AACjB,oBAAA,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;AACrB,oBAAA,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;AACpB,oBAAA,OAAO,GAAG,CAAC;AACb,iBAAC,CAAC;gBACF,GAAG,EAAE,CAAC,IAAK;aACZ,CAAC;YACF,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,IAAK,CAAC,CAAC;AACjC,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACpC,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAClC,SAAA;AAAM,aAAA;YACL,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAQ,CAAC,CAAC;AACrE,YAAA,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1C,YAAA,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,IAAK,EAAE;gBACzB,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;AACzB,oBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,oBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACvB,iBAAA;AACF,aAAA;YACD,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAK,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE,CAAC,IAAK,CAAC,CAAC;AAC/B,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAClC,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACpC,SAAA;QACD,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;AAED,IAAA,OAAO,CAAC,KAAoD,EAAA;QAC1D,MAAM,EAAE,GAAG,KAAqC,CAAC;AACjD,QAAA,IAAI,EAAE,CAAC,iBAAiB,KAAK,EAAE,CAAC,SAAS,EAAE;AACzC,YAAA,eAAe,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;AACvE,SAAA;AAAM,aAAA;YACL,iBAAiB,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;AACnG,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/C,SAAA;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;AAED,IAAA,SAAS,CAAC,IAA4B,EAAA;AACpC,QAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC5B;IAED,WAAW,CAAC,MAAc,EAAE,IAAmB,EAAA;QAC7C,OAAO,IAAI,CAAC,EAAE,CAAC;KAChB;AAED,IAAA,YAAY,CAAC,IAAA,GAAsB,MAAM,EAAE,GAAG,OAA0B,EAAA;QACtE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACnC,YAAA,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;gBAC1B,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;AAC/D,aAAA;AACF,SAAA;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE;AAC3B,YAAA,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;AAC1B,gBAAA,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,EAAE;AAC/B,oBAAA,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAK,CAAC,MAAM,IAAI,CAAC,CAAC;AAC/D,iBAAA;AAAM,qBAAA;oBACL,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;AAC/D,iBAAA;AACF,aAAA;AACF,SAAA;KACF;AAED,IAAA,eAAe,CAAC,KAAgB,EAAA;QAC9B,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACnC;IAED,iBAAiB,CAAC,GAAkB,EAAE,MAAuB,EAAA;QAC3D,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACtC,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;AAC/C,QAAA,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;AACtB,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;KAChC;IAED,iBAAiB,CAAC,GAAuB,EAAE,MAAuB,EAAA;QAChE,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;AACtC,QAAA,IAAI,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;AACxD,QAAA,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,IAAK,EAAE;AAC7B,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,gBAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,aAAA;AACF,SAAA;AACD,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;KAChC;AAED,IAAA,SAAS,CAAC,MAAuB,EAAA;AAC/B,QAAA,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,IAAK,EAAE;AAC7B,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,gBAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AAC9B,aAAA;AACF,SAAA;AACD,QAAA,IAAI,IAAI,GAAG,CAAA,EAAG,IAAI,CAAC,IAAI,EAAmB,CAAC;QAC3C,IAAI,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,OAAO,EAAE;YACnD,IAAI,GAAG,MAAM,CAAC;AACf,SAAA;AACD,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAEO,mBAAmB,GAAA;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;YAAE,OAAO;AACjE,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;KACzE;IAEO,aAAa,CAAC,GAAG,OAA0B,EAAA;AACjD,QAAA,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;AAC1B,YAAA,IAAK,MAAM,CAAC,YAAuB,GAAG,CAAC,EAAE;gBACvC,IAAI,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAC1E,oBAAA,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;AAC1B,iBAAA;AAAM,qBAAA;AACL,oBAAA,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;AAC1B,oBAAA,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;AAC7B,iBAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;AAC1B,gBAAA,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;AAC9B,aAAA;AACF,SAAA;KACF;AAEO,IAAA,eAAe,CAAC,IAAA,GAAsB,MAAM,EAAE,GAAG,OAA0B,EAAA;AACjF,QAAA,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;YAC1B,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACpC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;AACnF,aAAA;iBAAM,IAAI,IAAI,KAAK,MAAM,EAAE;AAC1B,gBAAA,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CACvC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAC7F,CAAC,MAAM,CAAC;AACV,aAAA;AACF,SAAA;KACF;IAEO,iBAAiB,CAAC,GAAG,OAA0B,EAAA;QACrD,KAAK,IAAI,MAAM,IAAI,OAAO;YAAE,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC;KAC/E;IAEO,QAAQ,GAAA;QACd,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAK,CAAC;AAC/B,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAE,CAAC;AACjD,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;IAEO,aAAa,CAAC,GAAG,OAA0B,EAAA;QACjD,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;AAC1B,gBAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;oBAChC,MAAM,CAAC,UAAU,GAAG,CAAC,GAAI,MAAM,CAAC,IAAwB,CAAC,CAAC;AAC3D,iBAAA;AACF,aAAA;AACF,SAAA;KACF;IAEO,OAAO,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO;AACR,SAAA;AACD,QAAA,QAAQ,CAAgB,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AAClE,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClB,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,OAAO,CAAC,IAAqB,EAAA;QACnC,IAAI,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO;QAC3B,QAAQ,IAAI,CAAC,IAAI;AACf,YAAA,KAAK,MAAM;AACT,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AAC1B,oBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACzE,oBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5E,iBAAA;AAAM,qBAAA;oBACL,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,iBAAA;gBACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpD,MAAM;AACR,YAAA,KAAK,MAAM;AACT,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AAC1B,oBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK;AACzB,yBAAA,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAC7C,yBAAA,GAAG,CAAC,CAAC,CAAC,KAAI;AACT,wBAAA,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AACnB,wBAAA,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;AACpB,wBAAA,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;AACrB,wBAAA,OAAO,GAAG,CAAC;AACb,qBAAC,CAAC,CAAC;AACN,iBAAA;gBACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpD,MAAM;AACR,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBAC1B,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,wBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG;4BAChB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAI;AACtB,gCAAA,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AACnB,gCAAA,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;AACrB,gCAAA,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;AACpB,gCAAA,OAAO,GAAG,CAAC;AACb,6BAAC,CAAC;yBACH,CAAC;AACH,qBAAA;AAAM,yBAAA;wBACL,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC,qBAAA;AACF,iBAAA;gBACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpD,MAAM;AACT,SAAA;AACD,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,YAAY,GAAA;AACV,QAAA,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACzB,IAAI,CAAC,IAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,CAA6B,KAAI;AACpH,gBAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,KAAM,CAAC;AAC3B,gBAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAK,CAAC;AACzB,gBAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC;AACxB,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;IAEO,SAAS,GAAA;QACf,IAAI,MAAM,GAAa,EAAE,CAAC;AAC1B,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AACzB,YAAA,MAAM,GAAG,CAAC,IAAI,CAAC,UAAW,EAAE,IAAI,CAAC,MAAM,CAAC,aAAc,CAAC,CAAC;AACzD,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACtB,SAAA;AACD,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACnD,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACpD,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAEO,YAAY,GAAA;AAClB,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO;QACrC,IAAI,MAAM,GAAa,EAAE,CAAC;AAC1B,QAAA,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC7B,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAC3C,SAAA;AAAM,aAAA,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AACzC,YAAA,MAAM,GAAG,IAAI,CAAC,SAAqB,CAAC;AACrC,SAAA;AACD,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACvD,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACxD,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAEO,mBAAmB,GAAA;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;AACxC,YAAA,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;AAC3B,gBAAA,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAC9C,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACtB,aAAA;AACF,SAAA;KACF;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;AACxC,YAAA,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;AAC3B,gBAAA,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAC9C,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACtB,aAAA;AACF,SAAA;KACF;IAEO,iBAAiB,GAAA;AACvB,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;YAAE,OAAO;AAC1C,QAAA,IAAI,IAAI,CAAC,cAAe,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC;AAC/H,QAAA,IAAI,IAAI,CAAC,cAAe,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC;AAChI,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAEO,YAAY,GAAA;AAClB,QAAA,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO;AACzC,QAAA,IAAI,IAAI,CAAC,SAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAU,CAAC,CAAC,CAAC,CAAC;AAC1C,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,SAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAU,CAAC,CAAC,CAAC,CAAC;AAC3C,SAAA;KACF;IAEO,qBAAqB,GAAA;AAC3B,QAAA,IAAI,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAAE,OAAO;AAClD,QAAA,IAAI,IAAI,CAAC,kBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAmB,CAAC,CAAC,CAAC,CAAC;AAC5D,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,kBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAmB,CAAC,CAAC,CAAC,CAAC;AAC7D,SAAA;KACF;iIAjkBU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAlB,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAFlB,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,qRC1CjD,2tMAsIA,EAAA,MAAA,EAAA,CAAA,8pFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,2BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FD1Fa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAG,eAAe,CAAA,CAAE,EAGf,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,cAAc,oBAAoB,CAAC,EAAA,QAAA,EAAA,2tMAAA,EAAA,MAAA,EAAA,CAAA,8pFAAA,CAAA,EAAA,CAAA;iNAGpB,YAAY,EAAA,CAAA;sBAAtC,SAAS;uBAAC,cAAc,CAAA;gBACG,aAAa,EAAA,CAAA;sBAAxC,SAAS;uBAAC,eAAe,CAAA;;;AE7B5B,MAmBa,eAAe,CAAA;iIAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAf,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAlBX,YAAA,EAAA,CAAA,kBAAkB,EAAE,iBAAiB,aAGlD,YAAY;YACZ,WAAW;YACX,cAAc;YACd,aAAa;YACb,eAAe;YACf,aAAa;YACb,YAAY;YACZ,eAAe;YACf,WAAW;YACX,YAAY;YACZ,cAAc;YACd,WAAW;AACX,YAAA,WAAW,aAdH,kBAAkB,CAAA,EAAA,CAAA,CAAA,EAAA;AAiBjB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAfxB,YAAY;YACZ,WAAW;YACX,cAAc;YACd,aAAa;YACb,eAAe;YACf,aAAa;YACb,YAAY;YACZ,eAAe;YACf,WAAW;YACX,YAAY;YACZ,cAAc;YACd,WAAW;YACX,WAAW,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGF,eAAe,EAAA,UAAA,EAAA,CAAA;kBAnB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;oBACrD,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC7B,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,cAAc;wBACd,aAAa;wBACb,eAAe;wBACf,aAAa;wBACb,YAAY;wBACZ,eAAe;wBACf,WAAW;wBACX,YAAY;wBACZ,cAAc;wBACd,WAAW;wBACX,WAAW;AACZ,qBAAA;AACF,iBAAA,CAAA;;;ACnCD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-nest-ui-transfer.mjs","sources":["../../../../lib/ng-nest/ui/transfer/transfer.property.ts","../../../../lib/ng-nest/ui/transfer/transfer.component.ts","../../../../lib/ng-nest/ui/transfer/transfer.component.html","../../../../lib/ng-nest/ui/transfer/transfer.module.ts","../../../../lib/ng-nest/ui/transfer/ng-nest-ui-transfer.ts"],"sourcesContent":["import {\r\n XData,\r\n XDataConvert,\r\n XInputBoolean,\r\n XParentIdentityProperty,\r\n XBoolean,\r\n XWithConfig,\r\n XQuery,\r\n XStyleMap,\r\n XTemplate\r\n} from '@ng-nest/ui/core';\r\nimport { TemplateRef, Input, Component } from '@angular/core';\r\nimport { XControlValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XTableColumn } from '@ng-nest/ui/table';\r\n\r\n/**\r\n * Transfer\r\n * @selector x-transfer\r\n * @decorator component\r\n */\r\nexport const XTransferPrefix = 'x-transfer';\r\n\r\nconst X_CONFIG_NAME = 'transfer';\r\n\r\n/**\r\n * Transfer Property\r\n */\r\n@Component({ selector: `${XTransferPrefix}-property`, template: '' })\r\nexport class XTransferProperty extends XControlValueAccessor<any[]> {\r\n /**\r\n * @zh_CN 数据对象\r\n * @en_US Data object\r\n */\r\n @Input() @XDataConvert() data: XData<XTransferNode> = [];\r\n /**\r\n * @zh_CN 选择的类型\r\n * @en_US Type\r\n */\r\n @Input() @XWithConfig<XTransferType>(X_CONFIG_NAME, 'list') type!: XTransferType;\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n * @default ['List', 'Selected']\r\n */\r\n @Input() @XWithConfig<string[]>(X_CONFIG_NAME) titles!: string[];\r\n /**\r\n * @zh_CN 穿梭框样式,使用方式于 ngStyle 相同\r\n * @en_US shuttle box style, same as ngStyle\r\n */\r\n @Input() @XWithConfig<XTransferListStyle>(X_CONFIG_NAME) listStyle!: XTransferListStyle;\r\n /**\r\n * @zh_CN 隐藏全选复选框\r\n * @en_US Hidden check all\r\n */\r\n @Input() hiddenCheckAll?: boolean[];\r\n /**\r\n * @zh_CN 是否能拖动, type\r\n * @en_US Can drag\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() drag?: XBoolean;\r\n /**\r\n * @zh_CN 是否显示搜索。type 为 'table',需要设置 tableHeadSearchTpl 和 tableQuery 来配合使用\r\n * @en_US Whether to display search\r\n */\r\n @Input() @XInputBoolean() search?: XBoolean;\r\n /**\r\n * @zh_CN 表格列头搜索自定义模板\r\n * @en_US table head search custom template\r\n */\r\n @Input() tableHeadSearchTpl?: XTemplate[];\r\n /**\r\n * @zh_CN 行数据自定义模板\r\n * @en_US Data customization template\r\n */\r\n @Input() nodeTpl?: TemplateRef<void>;\r\n /**\r\n * @zh_CN 标题自定义模板\r\n * @en_US Title custom template\r\n */\r\n @Input() titleTpl?: TemplateRef<void>;\r\n /**\r\n * @zh_CN 底部自定义模版\r\n * @en_US Bottom Custom Template\r\n */\r\n @Input() footerTpl?: TemplateRef<void>[];\r\n /**\r\n * @zh_CN 表格列集合\r\n * @en_US Table column set\r\n */\r\n @Input() tableColumns?: XTableColumn[];\r\n /**\r\n * @zh_CN 表格页码\r\n * @en_US Table page number\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 1) tableIndex!: number;\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 10) tableSize!: number;\r\n /**\r\n * @zh_CN 表格查询条件\r\n * @en_US Number of data items per page\r\n */\r\n @Input() tableQuery: XQuery = {};\r\n /**\r\n * @zh_CN 表格数据总条数\r\n * @en_US Total number of table data\r\n */\r\n @Input() tableTotal: number = 0;\r\n /**\r\n * @zh_CN 反选操作\r\n * @en_US Inverse select\r\n */\r\n @Input() @XInputBoolean() inverse?: XBoolean;\r\n}\r\n\r\n/**\r\n * Transfer Node\r\n */\r\nexport interface XTransferNode extends XParentIdentityProperty<XTransferNode> {\r\n /**\r\n * @zh_CN checkbox 是否选中\r\n * @en_US whether checkbox is selected\r\n */\r\n checked?: boolean;\r\n /**\r\n * @zh_CN 序号\r\n * @en_US Serial number\r\n */\r\n index?: number;\r\n /**\r\n * @zh_CN 自定义属性\r\n * @en_US Custom property\r\n */\r\n [property: string]: any;\r\n}\r\n\r\n/**\r\n * Transfer Source\r\n */\r\nexport interface XTransferSource {\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n */\r\n title?: string;\r\n /**\r\n * @zh_CN 搜索的数据\r\n * @en_US Searched data\r\n */\r\n searchInput?: string;\r\n /**\r\n * @zh_CN 全选\r\n * @en_US Select all\r\n */\r\n checkedAll?: boolean;\r\n /**\r\n * @zh_CN 选中的数量\r\n * @en_US Selected quantity\r\n */\r\n checkedCount?: number;\r\n /**\r\n * @zh_CN 可选择的数据总数\r\n * @en_US Total number of selectable data\r\n */\r\n count?: number;\r\n /**\r\n * @zh_CN 不确定状态的样式\r\n * @en_US Uncertain state style\r\n */\r\n indeterminate?: boolean;\r\n /**\r\n * @zh_CN 列表数据\r\n * @en_US List data\r\n */\r\n list?: XTransferNode[];\r\n /**\r\n * @zh_CN 搜索数据,用来还原\r\n * @en_US Search data to restore\r\n */\r\n searchList?: XTransferNode[];\r\n /**\r\n * @zh_CN 按钮禁用\r\n * @en_US Button disabled\r\n */\r\n disabledButton?: boolean;\r\n /**\r\n * @zh_CN 隐藏全选复选框\r\n * @en_US Hidden check all\r\n */\r\n hiddenCheckAll?: boolean;\r\n /**\r\n * @zh_CN 列表样式\r\n * @en_US List style\r\n */\r\n listStyle?: XStyleMap;\r\n /**\r\n * @zh_CN 数据方向\r\n * @en_US Data direction\r\n */\r\n direction?: XTransferDirection;\r\n /**\r\n * @zh_CN 底部自定义模版\r\n * @en_US Bottom Custom Template\r\n */\r\n footerTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 表格列头搜索自定义模板\r\n * @en_US table head search custom template\r\n */\r\n tableHeadSearchTpl?: XTemplate;\r\n}\r\n\r\n/**\r\n * Transfer direction\r\n */\r\nexport type XTransferDirection = 'left' | 'right';\r\n\r\n/**\r\n * Transfer type\r\n */\r\nexport type XTransferType = 'list' | 'tree' | 'table';\r\n\r\n/**\r\n * Transfer list style\r\n */\r\nexport type XTransferListStyle = XStyleMap | XStyleMap[];\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges,\r\n OnDestroy,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { XTransferPrefix, XTransferNode, XTransferSource, XTransferProperty, XTransferType } from './transfer.property';\r\nimport {\r\n XIsChange,\r\n XIsEmpty,\r\n XSetData,\r\n XConfigService,\r\n XRemove,\r\n XIsArray,\r\n XIsObject,\r\n XIsObjectArray,\r\n XIsBoolean,\r\n XIsFunction,\r\n XResultList,\r\n XIsUndefined\r\n} from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, map, takeUntil } from 'rxjs/operators';\r\nimport { transferArrayItem, moveItemInArray, CdkDragDrop, CdkDrag } from '@angular/cdk/drag-drop';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XI18nService, XI18nTransfer } from '@ng-nest/ui/i18n';\r\nimport { XTreeNode } from '@ng-nest/ui/tree';\r\nimport { XTableColumn, XTableComponent, XTableHeadCheckbox } from '@ng-nest/ui/table';\r\n\r\n@Component({\r\n selector: `${XTransferPrefix}`,\r\n templateUrl: './transfer.component.html',\r\n styleUrls: ['./transfer.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XTransferComponent)]\r\n})\r\nexport class XTransferComponent extends XTransferProperty implements OnInit, OnChanges, OnDestroy {\r\n @ViewChild('leftTableCom') leftTableCom?: XTableComponent;\r\n @ViewChild('rightTableCom') rightTableCom?: XTableComponent;\r\n nodes: XTransferNode[] = [];\r\n left: XTransferSource = {\r\n list: [],\r\n searchList: [],\r\n checkedCount: 0,\r\n direction: 'left',\r\n disabledButton: true\r\n };\r\n right: XTransferSource = {\r\n list: [],\r\n searchList: [],\r\n checkedCount: 0,\r\n direction: 'right',\r\n disabledButton: true\r\n };\r\n searchInput: string = '';\r\n searchInputLeftChange = new Subject<string>();\r\n searchInputRightChange = new Subject<string>();\r\n searchDebounceTime = 200;\r\n locale: XI18nTransfer = {};\r\n private get localTitle() {\r\n if (this.type === 'tree') {\r\n return this.locale.treeTitle;\r\n } else {\r\n return this.locale.listTitle;\r\n }\r\n }\r\n private _unSubject = new Subject<void>();\r\n treeActivatedId: any[] = [];\r\n tableData: XTransferNode[] = [];\r\n tableCheckboxColumn?: XTableColumn;\r\n isObjectArray = false;\r\n override writeValue(value: any[]): void {\r\n this.value = value;\r\n if (XIsArray(value)) {\r\n this.treeActivatedId = [...value];\r\n if (XIsObjectArray(value)) {\r\n this.isObjectArray = true;\r\n }\r\n }\r\n this.setList(this.nodes);\r\n }\r\n\r\n get values() {\r\n if (this.isObjectArray) {\r\n return this.value.map((x) => x.id);\r\n } else {\r\n return this.value;\r\n }\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef<HTMLElement>,\r\n public override cdr: ChangeDetectorRef,\r\n public configService: XConfigService,\r\n public i18n: XI18nService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setTitles();\r\n this.setListStyle();\r\n this.setHiddenCheckAll();\r\n this.getTableCheckColumn();\r\n this.setFooterTpl();\r\n this.setTableHeadSearchTpl();\r\n this.i18n.localeChange\r\n .pipe(\r\n map((x) => x.transfer as XI18nTransfer),\r\n takeUntil(this._unSubject)\r\n )\r\n .subscribe((x) => {\r\n this.locale = x;\r\n XIsEmpty(this.titles) && this.setTitles();\r\n this.cdr.markForCheck();\r\n });\r\n this.searchInputLeftChange\r\n .pipe(debounceTime(this.searchDebounceTime), distinctUntilChanged(), takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.setSearchInputChange(this.left);\r\n });\r\n this.searchInputRightChange\r\n .pipe(debounceTime(this.searchDebounceTime), distinctUntilChanged(), takeUntil(this._unSubject))\r\n .subscribe(() => {\r\n this.setSearchInputChange(this.right);\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { data } = changes;\r\n XIsChange(data) && this.setData();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n onSearchInputChange(source: XTransferSource) {\r\n if (source.direction === 'left') {\r\n this.searchInputLeftChange.next(source.searchInput!);\r\n } else if (source.direction === 'right') {\r\n this.searchInputRightChange.next(source.searchInput!);\r\n }\r\n }\r\n\r\n setSearchInputChange(source: XTransferSource) {\r\n if (XIsUndefined(source.searchInput)) return;\r\n if (XIsEmpty(source.searchInput)) {\r\n source.list = [...source.searchList!];\r\n } else {\r\n switch (this.type) {\r\n case 'list':\r\n source.list = source.searchList?.filter((x) => x.label.indexOf(source.searchInput) >= 0);\r\n break;\r\n case 'tree':\r\n if (source.direction === 'right') {\r\n source.list = source.searchList?.filter((x) => x.label.indexOf(source.searchInput) >= 0);\r\n } else if (source.direction === 'left') {\r\n let searchList = source.searchList?.filter((x) => x.label.indexOf(source.searchInput) >= 0)!;\r\n let parents: XTransferNode[] = [];\r\n const findParent = (item: XTransferNode) => {\r\n if (!item.pid) return;\r\n let parent = source.searchList?.find((x) => x.id === item.pid);\r\n if (parent && !parents.some((x) => x.id === parent!.id)) {\r\n parents.push(parent);\r\n findParent(parent);\r\n }\r\n };\r\n for (let item of searchList) {\r\n findParent(item);\r\n }\r\n source.list = [...searchList, ...parents];\r\n }\r\n break;\r\n case 'table':\r\n break;\r\n }\r\n }\r\n this.setListCount(this.type, source);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n checkedAllChange($event: boolean, source: XTransferSource) {\r\n let list: XTransferNode[] = (source.list?.filter((x) => !x.disabled) as XTransferNode[]).map((x) => {\r\n x.checked = $event;\r\n return x;\r\n });\r\n if (this.type === 'tree' && source.direction === 'left') {\r\n this.treeActivatedId = $event ? source.list!.map((x) => x.id)! : source.list!.filter((x) => x.disabled).map((x) => x.id);\r\n }\r\n source.checkedCount = $event ? list.length : 0;\r\n source.indeterminate = $event;\r\n this.setButtonDisabled(source);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n checkedChange($event: boolean, source: XTransferSource) {\r\n if (!$event) (source.checkedCount as number)--;\r\n else (source.checkedCount as number)++;\r\n this.setCheckedAll(source);\r\n this.setButtonDisabled(source);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n move(from: XTransferSource, to: XTransferSource) {\r\n if (from.disabledButton) return;\r\n switch (this.type) {\r\n case 'list':\r\n this.moveList(from, to);\r\n break;\r\n case 'tree':\r\n this.moveTree(from, to);\r\n break;\r\n case 'table':\r\n this.moveTable(from, to);\r\n }\r\n }\r\n\r\n private moveList(from: XTransferSource, to: XTransferSource) {\r\n let checkedItems = from.list?.filter((x) => !x.disabled && x.checked)!;\r\n let j = 0;\r\n checkedItems.forEach((x) => {\r\n let index = from.list?.indexOf(x) as number;\r\n x.checked = false;\r\n transferArrayItem(from.list!, to.list!, index, j);\r\n if (this.search) {\r\n index = from.searchList?.indexOf(x) as number;\r\n transferArrayItem(from.searchList!, to.searchList!, index, j);\r\n }\r\n j++;\r\n });\r\n from.list = [...from.list!];\r\n to.list = [...to.list!];\r\n this.setCheckedCount('list', from, to);\r\n this.setListCount('list', from, to);\r\n this.setCheckedAll(from, to);\r\n this.setButtonDisabled(from, to);\r\n this.setSearchList(from, to);\r\n this.setValue();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private moveTree(from: XTransferSource, to: XTransferSource) {\r\n let checkedItems: XTransferNode[] = [];\r\n if (to.direction === 'right') {\r\n checkedItems = from.list?.filter((x) => !x.disabled && !XIsEmpty(this.treeActivatedId) && this.treeActivatedId.includes(x.id))!;\r\n checkedItems.forEach((x: XTreeNode) => {\r\n x.disabled = true;\r\n x.change && x.change();\r\n });\r\n to.list?.unshift(\r\n ...checkedItems.map((x) => {\r\n let res = { ...x };\r\n res.checked = false;\r\n res.disabled = false;\r\n return res;\r\n })\r\n );\r\n this.setCheckedCount('tree', from);\r\n this.setCheckedCount('list', to);\r\n } else {\r\n checkedItems = XRemove(from.list!, (x) => !x.disabled && x.checked!);\r\n if (this.search) {\r\n XRemove(from.searchList!, (x) => !x.disabled && x.checked!);\r\n }\r\n for (let item of checkedItems) {\r\n let node: XTreeNode = to.list?.find((x) => x.id === item.id)!;\r\n if (node) {\r\n node.checked = false;\r\n node.disabled = false;\r\n const idx = this.treeActivatedId.findIndex((x) => x === node.id);\r\n if (idx >= 0) {\r\n this.treeActivatedId.splice(idx, 1);\r\n }\r\n node.change && node.change();\r\n }\r\n }\r\n this.setCheckedCount('tree', to);\r\n this.setCheckedCount('list', from);\r\n }\r\n this.setCheckedAll(from, to);\r\n this.setListCount('list', from, to);\r\n this.setButtonDisabled(from, to);\r\n this.setSearchList(from, to);\r\n this.setValue();\r\n }\r\n\r\n private moveTable(from: XTransferSource, to: XTransferSource) {\r\n let checkedItems: XTransferNode[] = [];\r\n if (to.direction === 'right') {\r\n checkedItems = from.list?.filter((x) => !x.disabled && x.checked)!;\r\n to.list = [\r\n ...checkedItems.map((x) => {\r\n const res = { ...x };\r\n x.disabled = true;\r\n x.checked = true;\r\n res.disabled = false;\r\n res.checked = false;\r\n return res;\r\n }),\r\n ...to.list!\r\n ];\r\n this.tableData = [...from.list!];\r\n this.setCheckedCount('table', from);\r\n this.setCheckedCount('list', to);\r\n } else {\r\n checkedItems = XRemove(from.list!, (x) => !x.disabled && x.checked!);\r\n const ids = checkedItems.map((x) => x.id);\r\n for (let item of to.list!) {\r\n if (ids.includes(item.id)) {\r\n item.checked = false;\r\n item.disabled = false;\r\n }\r\n }\r\n from.list = [...from.list!];\r\n this.tableData = [...to.list!];\r\n this.setCheckedCount('table', to);\r\n this.setCheckedCount('list', from);\r\n }\r\n this.setListCount('table', from, to);\r\n this.setCheckedAll(from, to);\r\n this.setButtonDisabled(from, to);\r\n this.setSearchList(from, to);\r\n this.setValue();\r\n }\r\n\r\n dropCdk(event: CdkDragDrop<XTransferNode[] | undefined, any>) {\r\n const ev = event as CdkDragDrop<XTransferNode[]>;\r\n if (ev.previousContainer === ev.container) {\r\n moveItemInArray(ev.container.data, ev.previousIndex, ev.currentIndex);\r\n } else {\r\n transferArrayItem(ev.previousContainer.data, ev.container.data, ev.previousIndex, ev.currentIndex);\r\n this.setCheckedCount('list', this.left, this.right);\r\n this.setCheckedAll(this.left, this.right);\r\n this.setListCount('list', this.left, this.right);\r\n this.setButtonDisabled(this.left, this.right);\r\n }\r\n this.setSearchList(this.left, this.right);\r\n this.setValue();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n predicate(item: CdkDrag<XTransferNode>) {\r\n return !item.data.disabled;\r\n }\r\n\r\n trackByNode(_index: number, item: XTransferNode) {\r\n return item.id;\r\n }\r\n\r\n setListCount(type: XTransferType = 'list', ...sources: XTransferSource[]) {\r\n if (['list', 'tree'].includes(type)) {\r\n for (let source of sources) {\r\n source.count = source.list?.filter((x) => !x.disabled).length;\r\n }\r\n } else if (type === 'table') {\r\n for (let source of sources) {\r\n if (source.direction === 'left') {\r\n source.count = this.tableTotal - this.right.list!.length || 0;\r\n } else {\r\n source.count = source.list?.filter((x) => !x.disabled).length;\r\n }\r\n }\r\n }\r\n }\r\n\r\n onTreeNodeClick(_node: XTreeNode) {\r\n this.setCheckedCount('tree', this.left);\r\n this.setCheckedAll(this.left);\r\n this.setButtonDisabled(this.left);\r\n }\r\n\r\n onTableCheckedRow(row: XTransferNode, source: XTransferSource) {\r\n if (!this.tableCheckboxColumn) return;\r\n let checked = row[this.tableCheckboxColumn.id];\r\n row.checked = checked;\r\n this.setCheckedCount('table', source);\r\n this.setCheckedAll(source);\r\n this.setButtonDisabled(source);\r\n }\r\n\r\n onTableCheckedAll(row: XTableHeadCheckbox, source: XTransferSource) {\r\n if (!this.tableCheckboxColumn) return;\r\n let checked = row.checkbox[this.tableCheckboxColumn.id];\r\n for (let item of source.list!) {\r\n if (!item.disabled) {\r\n item.checked = checked;\r\n }\r\n }\r\n this.setCheckedCount('table', source);\r\n this.setButtonDisabled(source);\r\n }\r\n\r\n onInverse(source: XTransferSource) {\r\n for (let item of source.list!) {\r\n if (!item.disabled) {\r\n item.checked = !item.checked;\r\n }\r\n }\r\n let type = `${this.type}` as XTransferType;\r\n if (type === 'tree' && source.direction === 'right') {\r\n type = 'list';\r\n }\r\n this.setCheckedCount(type, source);\r\n this.setCheckedAll(source);\r\n this.setButtonDisabled(source);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private getTableCheckColumn() {\r\n if (this.type !== 'table' || XIsEmpty(this.tableColumns)) return;\r\n this.tableCheckboxColumn = this.tableColumns?.find((x) => x.rowChecked);\r\n }\r\n\r\n private setCheckedAll(...sources: XTransferSource[]) {\r\n for (let source of sources) {\r\n if ((source.checkedCount as number) > 0) {\r\n if (source.checkedCount === source.list?.filter((x) => !x.disabled).length) {\r\n source.checkedAll = true;\r\n } else {\r\n source.checkedAll = false;\r\n source.indeterminate = true;\r\n }\r\n } else {\r\n source.checkedAll = false;\r\n source.indeterminate = false;\r\n }\r\n }\r\n }\r\n\r\n private setCheckedCount(type: XTransferType = 'list', ...sources: XTransferSource[]) {\r\n for (let source of sources) {\r\n if (['table', 'list'].includes(type)) {\r\n source.checkedCount = source.list?.filter((x) => !x.disabled && x.checked).length;\r\n } else if (type === 'tree') {\r\n source.checkedCount = source.list?.filter(\r\n (x) => !x.disabled && !XIsEmpty(this.treeActivatedId) && this.treeActivatedId.includes(x.id)\r\n ).length;\r\n }\r\n }\r\n }\r\n\r\n private setButtonDisabled(...sources: XTransferSource[]) {\r\n for (let source of sources) source.disabledButton = source.checkedCount === 0;\r\n }\r\n\r\n private setValue() {\r\n if (this.isObjectArray) {\r\n this.value = this.right.list!;\r\n } else {\r\n this.value = this.right.list?.map((x) => x.id)!;\r\n }\r\n this.onChange(this.value);\r\n }\r\n\r\n private setSearchList(...sources: XTransferSource[]) {\r\n if (this.search) {\r\n for (let source of sources) {\r\n if (XIsEmpty(source.searchInput)) {\r\n source.searchList = [...(source.list as XTransferNode[])];\r\n }\r\n }\r\n }\r\n }\r\n\r\n private setData() {\r\n if (this.type === 'table') {\r\n this.getTableData();\r\n return;\r\n }\r\n XSetData<XTransferNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.setList(x);\r\n });\r\n }\r\n\r\n private setList(data: XTransferNode[]) {\r\n if (XIsEmpty(data)) return;\r\n switch (this.type) {\r\n case 'list':\r\n this.nodes = data;\r\n if (!XIsEmpty(this.values)) {\r\n this.left.list = this.nodes.filter((x) => this.values.indexOf(x.id) < 0);\r\n this.right.list = this.nodes.filter((x) => this.values.indexOf(x.id) >= 0);\r\n } else {\r\n this.left.list = [...this.nodes];\r\n }\r\n this.setSearchList(this.left, this.right);\r\n this.setListCount(this.type, this.left, this.right);\r\n break;\r\n case 'tree':\r\n this.nodes = data;\r\n this.setTreeNodeDisabled();\r\n this.left.list = [...this.nodes];\r\n if (!XIsEmpty(this.values)) {\r\n this.right.list = this.nodes\r\n .filter((x) => this.values.indexOf(x.id) >= 0)\r\n .map((x) => {\r\n let res = { ...x };\r\n res.checked = false;\r\n res.disabled = false;\r\n return res;\r\n });\r\n }\r\n this.setSearchList(this.left, this.right);\r\n this.setListCount(this.type, this.left, this.right);\r\n break;\r\n case 'table':\r\n this.nodes = data;\r\n this.setTableDataDisabled();\r\n this.left.list = [...this.nodes];\r\n if (!XIsEmpty(this.values)) {\r\n if (this.isObjectArray) {\r\n this.right.list = [\r\n ...this.value.map((x) => {\r\n let res = { ...x };\r\n res.disabled = false;\r\n res.checked = false;\r\n return res;\r\n })\r\n ];\r\n } else {\r\n this.right.list = [...this.value];\r\n }\r\n }\r\n this.setSearchList(this.left, this.right);\r\n this.setListCount(this.type, this.left, this.right);\r\n break;\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n getTableData() {\r\n if (XIsFunction(this.data)) {\r\n (this.data as Function)(this.tableIndex, this.tableSize, this.tableQuery).subscribe((x: XResultList<XTransferNode>) => {\r\n this.tableTotal = x.total!;\r\n this.tableData = x.list!;\r\n this.setList(x.list!);\r\n });\r\n }\r\n }\r\n\r\n private setTitles() {\r\n let titles: string[] = [];\r\n if (XIsEmpty(this.titles)) {\r\n titles = [this.localTitle!, this.locale.selectedTitle!];\r\n } else {\r\n titles = this.titles;\r\n }\r\n if (titles.length > 0) this.left.title = titles[0];\r\n if (titles.length > 1) this.right.title = titles[1];\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setListStyle() {\r\n if (XIsEmpty(this.listStyle)) return;\r\n let styles: object[] = [];\r\n if (XIsObject(this.listStyle)) {\r\n styles = [this.listStyle, this.listStyle];\r\n } else if (XIsObjectArray(this.listStyle)) {\r\n styles = this.listStyle as object[];\r\n }\r\n if (styles.length > 0) this.left.listStyle = styles[0];\r\n if (styles.length > 1) this.right.listStyle = styles[1];\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setTreeNodeDisabled() {\r\n if (!XIsEmpty(this.values) && this.nodes) {\r\n for (let item of this.nodes) {\r\n let hasIn = this.values.indexOf(item.id) >= 0;\r\n item.disabled = hasIn;\r\n item.checked = hasIn;\r\n }\r\n }\r\n }\r\n\r\n private setTableDataDisabled() {\r\n if (!XIsEmpty(this.values) && this.nodes) {\r\n for (let item of this.nodes) {\r\n let hasIn = this.values.indexOf(item.id) >= 0;\r\n item.disabled = hasIn;\r\n item.checked = hasIn;\r\n }\r\n }\r\n }\r\n\r\n private setHiddenCheckAll() {\r\n if (XIsEmpty(this.hiddenCheckAll)) return;\r\n if (this.hiddenCheckAll!.length > 0 && XIsBoolean(this.hiddenCheckAll![0])) this.left.hiddenCheckAll = this.hiddenCheckAll![0];\r\n if (this.hiddenCheckAll!.length > 1 && XIsBoolean(this.hiddenCheckAll![1])) this.right.hiddenCheckAll = this.hiddenCheckAll![1];\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setFooterTpl() {\r\n if (XIsUndefined(this.footerTpl)) return;\r\n if (this.footerTpl!.length > 0) {\r\n this.left.footerTpl = this.footerTpl![0];\r\n }\r\n if (this.footerTpl!.length > 1) {\r\n this.right.footerTpl = this.footerTpl![1];\r\n }\r\n }\r\n\r\n private setTableHeadSearchTpl() {\r\n if (XIsUndefined(this.tableHeadSearchTpl)) return;\r\n if (this.tableHeadSearchTpl!.length > 0) {\r\n this.left.tableHeadSearchTpl = this.tableHeadSearchTpl![0];\r\n }\r\n if (this.tableHeadSearchTpl!.length > 1) {\r\n this.right.tableHeadSearchTpl = this.tableHeadSearchTpl![1];\r\n }\r\n }\r\n}\r\n","<div #transfer class=\"x-transfer\" cdkDropListGroup [ngClass]=\"classMap\">\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"left.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: left }\"></ng-container>\r\n <div [ngStyle]=\"left.listStyle!\" class=\"x-transfer-list\">\r\n <ng-container [ngSwitch]=\"type\">\r\n <ul\r\n *ngSwitchCase=\"'list'\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"left.list\"\r\n [cdkDropListDisabled]=\"!drag && type === 'list'\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n <li class=\"x-transfer-item\" *ngFor=\"let node of left.list; trackBy: trackByNode\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: left }\"></ng-container>\r\n </li>\r\n </ul>\r\n <x-tree\r\n *ngSwitchCase=\"'tree'\"\r\n [data]=\"left.list!\"\r\n multiple\r\n allowManyActivated\r\n [(activatedId)]=\"treeActivatedId\"\r\n (nodeClick)=\"onTreeNodeClick($event)\"\r\n [labelTpl]=\"treeLabelTpl\"\r\n ></x-tree>\r\n <ng-template #treeLabelTpl let-node=\"$node\">\r\n <span class=\"x-transfer-tree-label\" x-keyword [text]=\"left.searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n <x-table\r\n #leftTableCom\r\n *ngSwitchCase=\"'table'\"\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns!\"\r\n [(size)]=\"tableSize\"\r\n [(index)]=\"tableIndex\"\r\n (indexChange)=\"getTableData()\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n (activatedRowChange)=\"onTableCheckedRow($event, left)\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, left)\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"left.tableHeadSearchTpl\"\r\n ></x-table>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-transfer-footer\" *ngIf=\"left.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"left.footerTpl; context: { $source: left }\"></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"x-transfer-buttons\">\r\n <x-button type=\"primary\" icon=\"fto-chevron-right\" [disabled]=\"left.disabledButton\" (click)=\"move(left, right)\"></x-button>\r\n <x-button type=\"primary\" icon=\"fto-chevron-left\" [disabled]=\"right.disabledButton\" (click)=\"move(right, left)\"></x-button>\r\n </div>\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"right.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: right }\"></ng-container>\r\n <div [ngSwitch]=\"type\" [ngStyle]=\"right.listStyle!\" class=\"x-transfer-list\">\r\n <x-table\r\n #rightTableCom\r\n *ngSwitchCase=\"'table'\"\r\n [data]=\"right.list!\"\r\n [columns]=\"tableColumns!\"\r\n (activatedRowChange)=\"onTableCheckedRow($event, right)\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, right)\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showPagination=\"false\"\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"right.tableHeadSearchTpl\"\r\n ></x-table>\r\n <ul\r\n *ngSwitchDefault\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"right.list\"\r\n [cdkDropListDisabled]=\"!drag || (drag && type !== 'list')\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n <li class=\"x-transfer-item\" *ngFor=\"let node of right.list; trackBy: trackByNode\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: right }\"></ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"x-transfer-footer\" *ngIf=\"right.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"right.footerTpl; context: { $source: right }\"></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #sourceTitleTpl let-source=\"source\">\r\n <div class=\"x-transfer-title\">\r\n <div class=\"x-transfer-title-left\">\r\n <x-checkbox\r\n *ngIf=\"source.title && !source.hiddenCheckAll\"\r\n [data]=\"[titleTpl ? '' : source.title]\"\r\n [(ngModel)]=\"source.checkedAll\"\r\n (ngModelChange)=\"checkedAllChange($event, source)\"\r\n [indeterminate]=\"source.indeterminate\"\r\n ></x-checkbox>\r\n <span *ngIf=\"source.title && source.hiddenCheckAll\">{{ source.title }}</span>\r\n <x-link *ngIf=\"inverse && type === 'list'\" class=\"x-transfer-inverse\" type=\"primary\" (click)=\"onInverse(source)\">{{\r\n 'transfer.inverse' | xI18n\r\n }}</x-link>\r\n </div>\r\n <ng-container *xOutlet=\"titleTpl; context: { $title: source.title, $checkedCount: source.checkedCount, $count: source.count }\"\r\n ><span class=\"x-transfer-total\">{{ source.checkedCount }} / {{ source.count }}</span></ng-container\r\n >\r\n </div>\r\n <div class=\"x-transfer-search\" *ngIf=\"search && type !== 'table'\">\r\n <x-input icon=\"fto-search\" [(ngModel)]=\"source.searchInput\" (ngModelChange)=\"onSearchInputChange(source)\" clearable></x-input>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #sourceNodeTpl let-node=\"node\" let-source=\"source\">\r\n <x-checkbox\r\n [data]=\"[{ id: node.id, label: nodeTpl ? nodeTpl : labelTpl, node: node }]\"\r\n [disabled]=\"node.disabled\"\r\n [(ngModel)]=\"node.checked\"\r\n (ngModelChange)=\"checkedChange($event, source)\"\r\n ></x-checkbox>\r\n <ng-template #labelTpl>\r\n <span x-keyword [text]=\"source.searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XTransferComponent } from './transfer.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XCheckboxModule } from '@ng-nest/ui/checkbox';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XTransferProperty } from './transfer.property';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XTreeModule } from '@ng-nest/ui/tree';\r\nimport { XTableModule } from '@ng-nest/ui/table';\r\nimport { XKeywordModule } from '@ng-nest/ui/keyword';\r\nimport { XLinkModule } from '@ng-nest/ui/link';\r\nimport { XI18nModule } from '@ng-nest/ui/i18n';\r\n\r\n@NgModule({\r\n declarations: [XTransferComponent, XTransferProperty],\r\n exports: [XTransferComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n DragDropModule,\r\n XOutletModule,\r\n XCheckboxModule,\r\n XButtonModule,\r\n XInputModule,\r\n XBaseFormModule,\r\n XTreeModule,\r\n XTableModule,\r\n XKeywordModule,\r\n XLinkModule,\r\n XI18nModule\r\n ]\r\n})\r\nexport class XTransferModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -64,8 +64,8 @@ class XTreeFileProperty extends XTreeProperty {
64
64
  */
65
65
  this.showCrumb = true;
66
66
  }
67
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XTreeFileProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
68
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XTreeFileProperty, selector: "x-tree-file-property", inputs: { data: "data", domain: "domain", toggle: "toggle", showToggle: "showToggle", showTree: "showTree", showCrumb: "showCrumb", maxHeight: "maxHeight", spacing: "spacing" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
67
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTreeFileProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
68
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XTreeFileProperty, selector: "x-tree-file-property", inputs: { data: "data", domain: "domain", toggle: "toggle", showToggle: "showToggle", showTree: "showTree", showCrumb: "showCrumb", maxHeight: "maxHeight", spacing: "spacing" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
69
69
  }
70
70
  __decorate([
71
71
  XDataConvert()
@@ -90,7 +90,7 @@ __decorate([
90
90
  XWithConfig(X_CONFIG_NAME, 1),
91
91
  XInputNumber()
92
92
  ], XTreeFileProperty.prototype, "spacing", void 0);
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XTreeFileProperty, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTreeFileProperty, decorators: [{
94
94
  type: Component,
95
95
  args: [{ selector: `${XTreeFilePrefix}-property`, template: '' }]
96
96
  }], propDecorators: { data: [{
@@ -216,10 +216,10 @@ class XTreeFileComponent extends XTreeFileProperty {
216
216
  this.toggle = !this.toggle;
217
217
  this.cdr.detectChanges();
218
218
  }
219
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XTreeFileComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.HttpClient, optional: true }, { token: i2.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
220
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XTreeFileComponent, selector: "x-tree-file", usesInheritance: true, ngImport: i0, template: "<div #treeFile class=\"x-tree-file\" [ngClass]=\"classMap\" [class.x-tree-file-toggle]=\"toggle\">\r\n <div class=\"x-tree-file-catalog\" [style.max-height.rem]=\"catalogHeight\" *ngIf=\"showTree\">\r\n <x-tree\r\n [data]=\"data\"\r\n (activatedChange)=\"catalogChange($event)\"\r\n nodeOpen\r\n [expandedAll]=\"expandedAll\"\r\n [expandedLevel]=\"expandedLevel\"\r\n [expanded]=\"expanded\"\r\n [spacing]=\"spacing\"\r\n [activatedId]=\"activatedId\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-tree-file-body\" [x-loading]=\"loading\">\r\n <div class=\"x-tree-file-crumb\" *ngIf=\"showCrumb\">\r\n <x-link icon=\"fto-menu\" *ngIf=\"showToggle && showTree\" (click)=\"menuToggle()\"></x-link>\r\n <x-crumb [data]=\"getCrumbData\" [separator]=\"separatorTpl\"></x-crumb>\r\n <ng-template #separatorTpl>\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n </ng-template>\r\n </div>\r\n <div class=\"x-tree-file-content\" [style.max-height.rem]=\"codeHeight\" [ngSwitch]=\"activatedNode?.fileType\">\r\n <div *ngSwitchCase=\"'img'\" class=\"x-tree-file-img\"><img [src]=\"activatedNode?.url\" (load)=\"imgOnload()\"/></div>\r\n <x-highlight\r\n *ngSwitchCase=\"'code'\"\r\n [type]=\"activatedNode?.type\"\r\n [data]=\"activatedNode?.content\"\r\n [highlightLines]=\"getHighlightLines\"\r\n ></x-highlight>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".x-tree-file{margin:0;padding:0;display:flex;background-color:var(--x-background);border-radius:var(--x-border-radius);border:var(--x-border-width) var(--x-border-style) var(--x-border);color:var(--x-text)}.x-tree-file-catalog{width:0;overflow:auto;opacity:0;font-size:.8125rem;transition:var(--x-animation-duration-slow)}.x-tree-file-catalog .x-tree{padding:.5rem}.x-tree-file-catalog .x-tree-node-content{height:1.375rem}.x-tree-file-catalog .x-tree-node-content:hover,.x-tree-file-catalog .x-tree-node-content.x-activated{background-color:var(--x-border)}.x-tree-file-body{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.x-tree-file-crumb{background-color:var(--x-background);display:flex}.x-tree-file-crumb>x-link{line-height:1.5rem;height:1.5rem;transition:var(--x-animation-duration-base)}.x-tree-file-crumb>x-link>a{padding:0 .5rem}.x-tree-file-crumb>x-crumb{flex:1}.x-tree-file-crumb>x-crumb>.x-crumb{padding:0 .5rem;color:var(--x-text-300)}.x-tree-file-crumb>x-crumb>.x-crumb .x-crumb-separator{margin:0 .125rem}.x-tree-file-content{flex:1;overflow:auto;transition:var(--x-animation-duration-slow);display:flex;min-height:3rem}.x-tree-file-content>x-highlight{border:none}.x-tree-file-content>x-highlight>pre{overflow:inherit}.x-tree-file-content>.x-tree-file-img{margin:auto;padding:1.5rem;display:flex;align-items:center}.x-tree-file-content>.x-tree-file-img>img{max-width:100%;height:auto;margin:auto;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);border-radius:var(--x-border-radius);background-color:var(--x-background-a100)}.x-tree-file-toggle>.x-tree-file-catalog{width:16rem;opacity:1;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.XTreeComponent, selector: "x-tree" }, { kind: "component", type: i5.XLinkComponent, selector: "x-link" }, { kind: "component", type: i6.XCrumbComponent, selector: "x-crumb" }, { kind: "component", type: i7.XIconComponent, selector: "x-icon" }, { kind: "component", type: i8.XLoadingComponent, selector: "x-loading, [x-loading]" }, { kind: "component", type: i9.XHighlightComponent, selector: "x-highlight" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
219
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTreeFileComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.HttpClient, optional: true }, { token: i2.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
220
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XTreeFileComponent, selector: "x-tree-file", usesInheritance: true, ngImport: i0, template: "<div #treeFile class=\"x-tree-file\" [ngClass]=\"classMap\" [class.x-tree-file-toggle]=\"toggle\">\r\n <div class=\"x-tree-file-catalog\" [style.max-height.rem]=\"catalogHeight\" *ngIf=\"showTree\">\r\n <x-tree\r\n [data]=\"data\"\r\n (activatedChange)=\"catalogChange($event)\"\r\n nodeOpen\r\n [expandedAll]=\"expandedAll\"\r\n [expandedLevel]=\"expandedLevel\"\r\n [expanded]=\"expanded\"\r\n [spacing]=\"spacing\"\r\n [activatedId]=\"activatedId\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-tree-file-body\" [x-loading]=\"loading\">\r\n <div class=\"x-tree-file-crumb\" *ngIf=\"showCrumb\">\r\n <x-link icon=\"fto-menu\" *ngIf=\"showToggle && showTree\" (click)=\"menuToggle()\"></x-link>\r\n <x-crumb [data]=\"getCrumbData\" [separator]=\"separatorTpl\"></x-crumb>\r\n <ng-template #separatorTpl>\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n </ng-template>\r\n </div>\r\n <div class=\"x-tree-file-content\" [style.max-height.rem]=\"codeHeight\" [ngSwitch]=\"activatedNode?.fileType\">\r\n <div *ngSwitchCase=\"'img'\" class=\"x-tree-file-img\"><img [src]=\"activatedNode?.url\" (load)=\"imgOnload()\"/></div>\r\n <x-highlight\r\n *ngSwitchCase=\"'code'\"\r\n [type]=\"activatedNode?.type\"\r\n [data]=\"activatedNode?.content\"\r\n [highlightLines]=\"getHighlightLines\"\r\n ></x-highlight>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".x-tree-file{margin:0;padding:0;display:flex;background-color:var(--x-background);border-radius:var(--x-border-radius);border:var(--x-border-width) var(--x-border-style) var(--x-border);color:var(--x-text)}.x-tree-file-catalog{width:0;overflow:auto;opacity:0;font-size:.8125rem;transition:var(--x-animation-duration-slow)}.x-tree-file-catalog .x-tree{padding:.5rem}.x-tree-file-catalog .x-tree-node-content{height:1.375rem}.x-tree-file-catalog .x-tree-node-content:hover,.x-tree-file-catalog .x-tree-node-content.x-activated{background-color:var(--x-border)}.x-tree-file-body{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.x-tree-file-crumb{background-color:var(--x-background);display:flex}.x-tree-file-crumb>x-link{line-height:1.5rem;height:1.5rem;transition:var(--x-animation-duration-base)}.x-tree-file-crumb>x-link>a{padding:0 .5rem}.x-tree-file-crumb>x-crumb{flex:1}.x-tree-file-crumb>x-crumb>.x-crumb{padding:0 .5rem;color:var(--x-text-300)}.x-tree-file-crumb>x-crumb>.x-crumb .x-crumb-separator{margin:0 .125rem}.x-tree-file-content{flex:1;overflow:auto;transition:var(--x-animation-duration-slow);display:flex;min-height:3rem}.x-tree-file-content>x-highlight{border:none}.x-tree-file-content>x-highlight>pre{overflow:inherit}.x-tree-file-content>.x-tree-file-img{margin:auto;padding:1.5rem;display:flex;align-items:center}.x-tree-file-content>.x-tree-file-img>img{max-width:100%;height:auto;margin:auto;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);border-radius:var(--x-border-radius);background-color:var(--x-background-a100)}.x-tree-file-toggle>.x-tree-file-catalog{width:16rem;opacity:1;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.XTreeComponent, selector: "x-tree" }, { kind: "component", type: i5.XLinkComponent, selector: "x-link" }, { kind: "component", type: i6.XCrumbComponent, selector: "x-crumb" }, { kind: "component", type: i7.XIconComponent, selector: "x-icon" }, { kind: "component", type: i8.XLoadingComponent, selector: "x-loading, [x-loading]" }, { kind: "component", type: i9.XHighlightComponent, selector: "x-highlight" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
221
221
  }
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XTreeFileComponent, decorators: [{
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTreeFileComponent, decorators: [{
223
223
  type: Component,
224
224
  args: [{ selector: `${XTreeFilePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #treeFile class=\"x-tree-file\" [ngClass]=\"classMap\" [class.x-tree-file-toggle]=\"toggle\">\r\n <div class=\"x-tree-file-catalog\" [style.max-height.rem]=\"catalogHeight\" *ngIf=\"showTree\">\r\n <x-tree\r\n [data]=\"data\"\r\n (activatedChange)=\"catalogChange($event)\"\r\n nodeOpen\r\n [expandedAll]=\"expandedAll\"\r\n [expandedLevel]=\"expandedLevel\"\r\n [expanded]=\"expanded\"\r\n [spacing]=\"spacing\"\r\n [activatedId]=\"activatedId\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-tree-file-body\" [x-loading]=\"loading\">\r\n <div class=\"x-tree-file-crumb\" *ngIf=\"showCrumb\">\r\n <x-link icon=\"fto-menu\" *ngIf=\"showToggle && showTree\" (click)=\"menuToggle()\"></x-link>\r\n <x-crumb [data]=\"getCrumbData\" [separator]=\"separatorTpl\"></x-crumb>\r\n <ng-template #separatorTpl>\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n </ng-template>\r\n </div>\r\n <div class=\"x-tree-file-content\" [style.max-height.rem]=\"codeHeight\" [ngSwitch]=\"activatedNode?.fileType\">\r\n <div *ngSwitchCase=\"'img'\" class=\"x-tree-file-img\"><img [src]=\"activatedNode?.url\" (load)=\"imgOnload()\"/></div>\r\n <x-highlight\r\n *ngSwitchCase=\"'code'\"\r\n [type]=\"activatedNode?.type\"\r\n [data]=\"activatedNode?.content\"\r\n [highlightLines]=\"getHighlightLines\"\r\n ></x-highlight>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".x-tree-file{margin:0;padding:0;display:flex;background-color:var(--x-background);border-radius:var(--x-border-radius);border:var(--x-border-width) var(--x-border-style) var(--x-border);color:var(--x-text)}.x-tree-file-catalog{width:0;overflow:auto;opacity:0;font-size:.8125rem;transition:var(--x-animation-duration-slow)}.x-tree-file-catalog .x-tree{padding:.5rem}.x-tree-file-catalog .x-tree-node-content{height:1.375rem}.x-tree-file-catalog .x-tree-node-content:hover,.x-tree-file-catalog .x-tree-node-content.x-activated{background-color:var(--x-border)}.x-tree-file-body{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.x-tree-file-crumb{background-color:var(--x-background);display:flex}.x-tree-file-crumb>x-link{line-height:1.5rem;height:1.5rem;transition:var(--x-animation-duration-base)}.x-tree-file-crumb>x-link>a{padding:0 .5rem}.x-tree-file-crumb>x-crumb{flex:1}.x-tree-file-crumb>x-crumb>.x-crumb{padding:0 .5rem;color:var(--x-text-300)}.x-tree-file-crumb>x-crumb>.x-crumb .x-crumb-separator{margin:0 .125rem}.x-tree-file-content{flex:1;overflow:auto;transition:var(--x-animation-duration-slow);display:flex;min-height:3rem}.x-tree-file-content>x-highlight{border:none}.x-tree-file-content>x-highlight>pre{overflow:inherit}.x-tree-file-content>.x-tree-file-img{margin:auto;padding:1.5rem;display:flex;align-items:center}.x-tree-file-content>.x-tree-file-img>img{max-width:100%;height:auto;margin:auto;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);border-radius:var(--x-border-radius);background-color:var(--x-background-a100)}.x-tree-file-toggle>.x-tree-file-catalog{width:16rem;opacity:1;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}\n"] }]
225
225
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.HttpClient, decorators: [{
@@ -227,11 +227,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
227
227
  }] }, { type: i2.XConfigService }]; } });
228
228
 
229
229
  class XTreeFileModule {
230
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XTreeFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
231
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.5", ngImport: i0, type: XTreeFileModule, declarations: [XTreeFileComponent, XTreeFileProperty], imports: [CommonModule, XTreeModule, XLinkModule, XCrumbModule, XIconModule, XLoadingModule, XHighlightModule], exports: [XTreeFileComponent] }); }
232
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XTreeFileModule, imports: [CommonModule, XTreeModule, XLinkModule, XCrumbModule, XIconModule, XLoadingModule, XHighlightModule] }); }
230
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTreeFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
231
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: XTreeFileModule, declarations: [XTreeFileComponent, XTreeFileProperty], imports: [CommonModule, XTreeModule, XLinkModule, XCrumbModule, XIconModule, XLoadingModule, XHighlightModule], exports: [XTreeFileComponent] }); }
232
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTreeFileModule, imports: [CommonModule, XTreeModule, XLinkModule, XCrumbModule, XIconModule, XLoadingModule, XHighlightModule] }); }
233
233
  }
234
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XTreeFileModule, decorators: [{
234
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTreeFileModule, decorators: [{
235
235
  type: NgModule,
236
236
  args: [{
237
237
  declarations: [XTreeFileComponent, XTreeFileProperty],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-tree-file.mjs","sources":["../../../../lib/ng-nest/ui/tree-file/tree-file.property.ts","../../../../lib/ng-nest/ui/tree-file/tree-file.component.ts","../../../../lib/ng-nest/ui/tree-file/tree-file.component.html","../../../../lib/ng-nest/ui/tree-file/tree-file.module.ts","../../../../lib/ng-nest/ui/tree-file/ng-nest-ui-tree-file.ts"],"sourcesContent":["import { XDataConvert, XData, XInputBoolean, XBoolean, XInputNumber, XNumber, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Component, Input } from '@angular/core';\r\nimport { XTreeNode, XTreeProperty } from '@ng-nest/ui/tree';\r\nimport { XCrumbNode } from '@ng-nest/ui/crumb';\r\nimport { XHighlightLines } from '@ng-nest/ui/highlight';\r\n\r\n/**\r\n * TreeFile\r\n * @selector x-tree-file\r\n * @decorator component\r\n */\r\nexport const XTreeFilePrefix = 'x-tree-file';\r\nconst X_CONFIG_NAME = 'treeFile';\r\n\r\n/**\r\n * TreeFile Property\r\n */\r\n@Component({ selector: `${XTreeFilePrefix}-property`, template: '' })\r\nexport class XTreeFileProperty extends XTreeProperty {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n @Input() @XDataConvert() override data: XData<XTreeFileNode> = [];\r\n /**\r\n * @zh_CN 文件绝对路径地址前缀,为空表示取当前运行的地址\r\n * @en_US File absolute path address prefix, empty means to take the address of the current operation\r\n */\r\n @Input() domain: string = '';\r\n /**\r\n * @zh_CN 切换状态\r\n * @en_US Switch state\r\n */\r\n @Input() @XInputBoolean() toggle: XBoolean = true;\r\n /**\r\n * @zh_CN 显示切换按钮\r\n * @en_US Show toggle button\r\n */\r\n @Input() @XInputBoolean() showToggle: XBoolean = true;\r\n /**\r\n * @zh_CN 显示树,为 true 的时候隐藏切换按钮\r\n * @en_US Show the tree, hide the toggle button when true\r\n */\r\n @Input() @XInputBoolean() showTree: XBoolean = true;\r\n /**\r\n * @zh_CN 显示面包屑\r\n * @en_US Show breadcrumbs\r\n */\r\n @Input() @XInputBoolean() showCrumb: XBoolean = true;\r\n /**\r\n * @zh_CN 最大高度,单位 rem\r\n * @en_US Maximum height, unit rem\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 37.5) @XInputNumber() maxHeight?: XNumber;\r\n /**\r\n * @zh_CN 单位间距,这个与层级的乘积算出节点的左边距,单位 rem\r\n * @en_US Unit spacing, the product of this and the level calculates the left margin of the node, the unit is rem\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 1) @XInputNumber() override spacing?: XNumber;\r\n}\r\n\r\n/**\r\n * @zh_CN TreeFile 数据对象\r\n * @en_US TreeFile data object\r\n */\r\nexport interface XTreeFileNode extends XTreeNode {\r\n /**\r\n * @zh_CN 子节点\r\n * @en_US Child node\r\n */\r\n children?: XTreeFileNode[];\r\n /**\r\n * @zh_CN 文件内容\r\n * @en_US Document content\r\n */\r\n content?: string;\r\n /**\r\n * @zh_CN 文件类型\r\n * @en_US File type\r\n */\r\n type?: string;\r\n /**\r\n * @zh_CN 文件分类\r\n * @en_US File classification\r\n */\r\n fileType?: XTreeFileType;\r\n /**\r\n * @zh_CN 文件地址,配置了地址将从 url 中加载文件内容\r\n * @en_US File address, the configured address will load the file content from url\r\n */\r\n url?: string;\r\n /**\r\n * @zh_CN 文件的面包屑数据\r\n * @en_US Breadcrumb data\r\n */\r\n crumbData?: XCrumbNode[];\r\n /**\r\n * @zh_CN 文件内容已经加载过\r\n * @en_US File content has been loaded\r\n */\r\n contentLoaded?: boolean;\r\n /**\r\n * @zh_CN 行高亮着色\r\n * @en_US Line highlight coloring\r\n */\r\n highlightLines?: XHighlightLines;\r\n}\r\n\r\n/**\r\n * @zh_CN 文件分类\r\n * @en_US File classification\r\n */\r\nexport type XTreeFileType = 'code' | 'img';\r\n\r\n/**\r\n * @zh_CN 支持显示的图片格式\r\n * @en_US Supported picture format\r\n */\r\nexport const XTreeFileImgs = ['webp', 'png', 'jpg', 'gif', 'jpeg', 'ico'];\r\n","import { Component, ViewEncapsulation, Renderer2, ElementRef, ChangeDetectorRef, ChangeDetectionStrategy, Optional } from '@angular/core';\r\nimport { XTreeFilePrefix, XTreeFileProperty, XTreeFileNode, XTreeFileImgs } from './tree-file.property';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { XIsEmpty, XConfigService } from '@ng-nest/ui/core';\r\nimport { XCrumbNode } from '@ng-nest/ui/crumb';\r\nimport { delay, finalize } from 'rxjs/operators';\r\nimport { XHighlightLines } from '@ng-nest/ui/highlight';\r\n\r\n@Component({\r\n selector: `${XTreeFilePrefix}`,\r\n templateUrl: './tree-file.component.html',\r\n styleUrls: ['./tree-file.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTreeFileComponent extends XTreeFileProperty {\r\n activatedNode?: XTreeFileNode;\r\n loading: boolean = false;\r\n time!: number;\r\n timeout: number = 200;\r\n\r\n get catalogHeight() {\r\n return Number(this.maxHeight);\r\n }\r\n\r\n get codeHeight() {\r\n return Number(this.maxHeight) - (Boolean(this.showCrumb) ? 1.5 : 0);\r\n }\r\n\r\n get getCrumbData() {\r\n return this.activatedNode?.crumbData as XCrumbNode[];\r\n }\r\n\r\n get getHighlightLines() {\r\n return this.activatedNode?.highlightLines as XHighlightLines;\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef<HTMLElement>,\r\n public cdr: ChangeDetectorRef,\r\n @Optional() public http: HttpClient,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n if (!http) {\r\n throw new Error(`${XTreeFilePrefix}: Not found 'HttpClient', You can import 'HttpClientModule' in your root module.`);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.showTree && this.activatedId) {\r\n this.catalogChange((this.data as XTreeFileNode[]).find((x) => x.id == this.activatedId) as XTreeFileNode);\r\n }\r\n }\r\n\r\n catalogChange(node: XTreeFileNode) {\r\n if (!node?.leaf && this.showTree) return;\r\n if (node.url && !node.contentLoaded) {\r\n this.time = new Date().getTime();\r\n this.loading = true;\r\n this.cdr.detectChanges();\r\n this.activatedNode = node;\r\n this.setNode(node);\r\n node.url = node.url?.indexOf(this.domain) === 0 ? node.url : `${this.domain}/${node.url}`;\r\n switch (node.fileType) {\r\n case 'code':\r\n this.http\r\n .get(node.url, { responseType: 'text' })\r\n .pipe(\r\n delay(new Date().getTime() - this.time > this.timeout ? 0 : this.timeout - new Date().getTime() + this.time),\r\n finalize(() => {\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n })\r\n )\r\n .subscribe((x) => {\r\n node.content = x;\r\n node.contentLoaded = true;\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n });\r\n break;\r\n case 'img':\r\n this.cdr.detectChanges();\r\n break;\r\n }\r\n } else {\r\n this.activatedNode = node;\r\n this.setNode(this.activatedNode);\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n setNode(node: XTreeFileNode) {\r\n if (!node.type) {\r\n node.type = 'bash';\r\n }\r\n if (!node.fileType) {\r\n node.fileType = XTreeFileImgs.indexOf((node.type as string).toLowerCase()) !== -1 ? 'img' : 'code';\r\n }\r\n if (!node.crumbData) {\r\n node.crumbData = this.setCurmbData(node);\r\n }\r\n }\r\n\r\n imgOnload() {\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setCurmbData(node: XTreeFileNode) {\r\n let crumbData: XCrumbNode[] = [{ id: node.id, label: node.label }];\r\n const getParent = (child: XTreeFileNode) => {\r\n if (XIsEmpty(child.pid)) return;\r\n const parent = (this.data as XTreeFileNode[]).find((x) => x.id === child.pid) as XTreeFileNode;\r\n if (!XIsEmpty(parent)) {\r\n crumbData = [{ id: parent.id, label: parent.label }, ...crumbData];\r\n getParent(parent);\r\n }\r\n };\r\n getParent(node);\r\n\r\n return crumbData;\r\n }\r\n\r\n menuToggle() {\r\n this.toggle = !this.toggle;\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div #treeFile class=\"x-tree-file\" [ngClass]=\"classMap\" [class.x-tree-file-toggle]=\"toggle\">\r\n <div class=\"x-tree-file-catalog\" [style.max-height.rem]=\"catalogHeight\" *ngIf=\"showTree\">\r\n <x-tree\r\n [data]=\"data\"\r\n (activatedChange)=\"catalogChange($event)\"\r\n nodeOpen\r\n [expandedAll]=\"expandedAll\"\r\n [expandedLevel]=\"expandedLevel\"\r\n [expanded]=\"expanded\"\r\n [spacing]=\"spacing\"\r\n [activatedId]=\"activatedId\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-tree-file-body\" [x-loading]=\"loading\">\r\n <div class=\"x-tree-file-crumb\" *ngIf=\"showCrumb\">\r\n <x-link icon=\"fto-menu\" *ngIf=\"showToggle && showTree\" (click)=\"menuToggle()\"></x-link>\r\n <x-crumb [data]=\"getCrumbData\" [separator]=\"separatorTpl\"></x-crumb>\r\n <ng-template #separatorTpl>\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n </ng-template>\r\n </div>\r\n <div class=\"x-tree-file-content\" [style.max-height.rem]=\"codeHeight\" [ngSwitch]=\"activatedNode?.fileType\">\r\n <div *ngSwitchCase=\"'img'\" class=\"x-tree-file-img\"><img [src]=\"activatedNode?.url\" (load)=\"imgOnload()\"/></div>\r\n <x-highlight\r\n *ngSwitchCase=\"'code'\"\r\n [type]=\"activatedNode?.type\"\r\n [data]=\"activatedNode?.content\"\r\n [highlightLines]=\"getHighlightLines\"\r\n ></x-highlight>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XTreeFileComponent } from './tree-file.component';\r\nimport { XTreeFileProperty } from './tree-file.property';\r\nimport { XTreeModule } from '@ng-nest/ui/tree';\r\nimport { XHighlightModule } from '@ng-nest/ui/highlight';\r\nimport { XCrumbModule } from '@ng-nest/ui/crumb';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XLinkModule } from '@ng-nest/ui/link';\r\nimport { XLoadingModule } from '@ng-nest/ui/loading';\r\n\r\n@NgModule({\r\n declarations: [XTreeFileComponent, XTreeFileProperty],\r\n exports: [XTreeFileComponent],\r\n imports: [CommonModule, XTreeModule, XLinkModule, XCrumbModule, XIconModule, XLoadingModule, XHighlightModule]\r\n})\r\nexport class XTreeFileModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-tree-file.mjs","sources":["../../../../lib/ng-nest/ui/tree-file/tree-file.property.ts","../../../../lib/ng-nest/ui/tree-file/tree-file.component.ts","../../../../lib/ng-nest/ui/tree-file/tree-file.component.html","../../../../lib/ng-nest/ui/tree-file/tree-file.module.ts","../../../../lib/ng-nest/ui/tree-file/ng-nest-ui-tree-file.ts"],"sourcesContent":["import { XDataConvert, XData, XInputBoolean, XBoolean, XInputNumber, XNumber, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Component, Input } from '@angular/core';\r\nimport { XTreeNode, XTreeProperty } from '@ng-nest/ui/tree';\r\nimport { XCrumbNode } from '@ng-nest/ui/crumb';\r\nimport { XHighlightLines } from '@ng-nest/ui/highlight';\r\n\r\n/**\r\n * TreeFile\r\n * @selector x-tree-file\r\n * @decorator component\r\n */\r\nexport const XTreeFilePrefix = 'x-tree-file';\r\nconst X_CONFIG_NAME = 'treeFile';\r\n\r\n/**\r\n * TreeFile Property\r\n */\r\n@Component({ selector: `${XTreeFilePrefix}-property`, template: '' })\r\nexport class XTreeFileProperty extends XTreeProperty {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n @Input() @XDataConvert() override data: XData<XTreeFileNode> = [];\r\n /**\r\n * @zh_CN 文件绝对路径地址前缀,为空表示取当前运行的地址\r\n * @en_US File absolute path address prefix, empty means to take the address of the current operation\r\n */\r\n @Input() domain: string = '';\r\n /**\r\n * @zh_CN 切换状态\r\n * @en_US Switch state\r\n */\r\n @Input() @XInputBoolean() toggle: XBoolean = true;\r\n /**\r\n * @zh_CN 显示切换按钮\r\n * @en_US Show toggle button\r\n */\r\n @Input() @XInputBoolean() showToggle: XBoolean = true;\r\n /**\r\n * @zh_CN 显示树,为 true 的时候隐藏切换按钮\r\n * @en_US Show the tree, hide the toggle button when true\r\n */\r\n @Input() @XInputBoolean() showTree: XBoolean = true;\r\n /**\r\n * @zh_CN 显示面包屑\r\n * @en_US Show breadcrumbs\r\n */\r\n @Input() @XInputBoolean() showCrumb: XBoolean = true;\r\n /**\r\n * @zh_CN 最大高度,单位 rem\r\n * @en_US Maximum height, unit rem\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 37.5) @XInputNumber() maxHeight?: XNumber;\r\n /**\r\n * @zh_CN 单位间距,这个与层级的乘积算出节点的左边距,单位 rem\r\n * @en_US Unit spacing, the product of this and the level calculates the left margin of the node, the unit is rem\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 1) @XInputNumber() override spacing?: XNumber;\r\n}\r\n\r\n/**\r\n * @zh_CN TreeFile 数据对象\r\n * @en_US TreeFile data object\r\n */\r\nexport interface XTreeFileNode extends XTreeNode {\r\n /**\r\n * @zh_CN 子节点\r\n * @en_US Child node\r\n */\r\n children?: XTreeFileNode[];\r\n /**\r\n * @zh_CN 文件内容\r\n * @en_US Document content\r\n */\r\n content?: string;\r\n /**\r\n * @zh_CN 文件类型\r\n * @en_US File type\r\n */\r\n type?: string;\r\n /**\r\n * @zh_CN 文件分类\r\n * @en_US File classification\r\n */\r\n fileType?: XTreeFileType;\r\n /**\r\n * @zh_CN 文件地址,配置了地址将从 url 中加载文件内容\r\n * @en_US File address, the configured address will load the file content from url\r\n */\r\n url?: string;\r\n /**\r\n * @zh_CN 文件的面包屑数据\r\n * @en_US Breadcrumb data\r\n */\r\n crumbData?: XCrumbNode[];\r\n /**\r\n * @zh_CN 文件内容已经加载过\r\n * @en_US File content has been loaded\r\n */\r\n contentLoaded?: boolean;\r\n /**\r\n * @zh_CN 行高亮着色\r\n * @en_US Line highlight coloring\r\n */\r\n highlightLines?: XHighlightLines;\r\n}\r\n\r\n/**\r\n * @zh_CN 文件分类\r\n * @en_US File classification\r\n */\r\nexport type XTreeFileType = 'code' | 'img';\r\n\r\n/**\r\n * @zh_CN 支持显示的图片格式\r\n * @en_US Supported picture format\r\n */\r\nexport const XTreeFileImgs = ['webp', 'png', 'jpg', 'gif', 'jpeg', 'ico'];\r\n","import { Component, ViewEncapsulation, Renderer2, ElementRef, ChangeDetectorRef, ChangeDetectionStrategy, Optional } from '@angular/core';\r\nimport { XTreeFilePrefix, XTreeFileProperty, XTreeFileNode, XTreeFileImgs } from './tree-file.property';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { XIsEmpty, XConfigService } from '@ng-nest/ui/core';\r\nimport { XCrumbNode } from '@ng-nest/ui/crumb';\r\nimport { delay, finalize } from 'rxjs/operators';\r\nimport { XHighlightLines } from '@ng-nest/ui/highlight';\r\n\r\n@Component({\r\n selector: `${XTreeFilePrefix}`,\r\n templateUrl: './tree-file.component.html',\r\n styleUrls: ['./tree-file.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTreeFileComponent extends XTreeFileProperty {\r\n activatedNode?: XTreeFileNode;\r\n loading: boolean = false;\r\n time!: number;\r\n timeout: number = 200;\r\n\r\n get catalogHeight() {\r\n return Number(this.maxHeight);\r\n }\r\n\r\n get codeHeight() {\r\n return Number(this.maxHeight) - (Boolean(this.showCrumb) ? 1.5 : 0);\r\n }\r\n\r\n get getCrumbData() {\r\n return this.activatedNode?.crumbData as XCrumbNode[];\r\n }\r\n\r\n get getHighlightLines() {\r\n return this.activatedNode?.highlightLines as XHighlightLines;\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef<HTMLElement>,\r\n public cdr: ChangeDetectorRef,\r\n @Optional() public http: HttpClient,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n if (!http) {\r\n throw new Error(`${XTreeFilePrefix}: Not found 'HttpClient', You can import 'HttpClientModule' in your root module.`);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.showTree && this.activatedId) {\r\n this.catalogChange((this.data as XTreeFileNode[]).find((x) => x.id == this.activatedId) as XTreeFileNode);\r\n }\r\n }\r\n\r\n catalogChange(node: XTreeFileNode) {\r\n if (!node?.leaf && this.showTree) return;\r\n if (node.url && !node.contentLoaded) {\r\n this.time = new Date().getTime();\r\n this.loading = true;\r\n this.cdr.detectChanges();\r\n this.activatedNode = node;\r\n this.setNode(node);\r\n node.url = node.url?.indexOf(this.domain) === 0 ? node.url : `${this.domain}/${node.url}`;\r\n switch (node.fileType) {\r\n case 'code':\r\n this.http\r\n .get(node.url, { responseType: 'text' })\r\n .pipe(\r\n delay(new Date().getTime() - this.time > this.timeout ? 0 : this.timeout - new Date().getTime() + this.time),\r\n finalize(() => {\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n })\r\n )\r\n .subscribe((x) => {\r\n node.content = x;\r\n node.contentLoaded = true;\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n });\r\n break;\r\n case 'img':\r\n this.cdr.detectChanges();\r\n break;\r\n }\r\n } else {\r\n this.activatedNode = node;\r\n this.setNode(this.activatedNode);\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n setNode(node: XTreeFileNode) {\r\n if (!node.type) {\r\n node.type = 'bash';\r\n }\r\n if (!node.fileType) {\r\n node.fileType = XTreeFileImgs.indexOf((node.type as string).toLowerCase()) !== -1 ? 'img' : 'code';\r\n }\r\n if (!node.crumbData) {\r\n node.crumbData = this.setCurmbData(node);\r\n }\r\n }\r\n\r\n imgOnload() {\r\n this.loading = false;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setCurmbData(node: XTreeFileNode) {\r\n let crumbData: XCrumbNode[] = [{ id: node.id, label: node.label }];\r\n const getParent = (child: XTreeFileNode) => {\r\n if (XIsEmpty(child.pid)) return;\r\n const parent = (this.data as XTreeFileNode[]).find((x) => x.id === child.pid) as XTreeFileNode;\r\n if (!XIsEmpty(parent)) {\r\n crumbData = [{ id: parent.id, label: parent.label }, ...crumbData];\r\n getParent(parent);\r\n }\r\n };\r\n getParent(node);\r\n\r\n return crumbData;\r\n }\r\n\r\n menuToggle() {\r\n this.toggle = !this.toggle;\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div #treeFile class=\"x-tree-file\" [ngClass]=\"classMap\" [class.x-tree-file-toggle]=\"toggle\">\r\n <div class=\"x-tree-file-catalog\" [style.max-height.rem]=\"catalogHeight\" *ngIf=\"showTree\">\r\n <x-tree\r\n [data]=\"data\"\r\n (activatedChange)=\"catalogChange($event)\"\r\n nodeOpen\r\n [expandedAll]=\"expandedAll\"\r\n [expandedLevel]=\"expandedLevel\"\r\n [expanded]=\"expanded\"\r\n [spacing]=\"spacing\"\r\n [activatedId]=\"activatedId\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-tree-file-body\" [x-loading]=\"loading\">\r\n <div class=\"x-tree-file-crumb\" *ngIf=\"showCrumb\">\r\n <x-link icon=\"fto-menu\" *ngIf=\"showToggle && showTree\" (click)=\"menuToggle()\"></x-link>\r\n <x-crumb [data]=\"getCrumbData\" [separator]=\"separatorTpl\"></x-crumb>\r\n <ng-template #separatorTpl>\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n </ng-template>\r\n </div>\r\n <div class=\"x-tree-file-content\" [style.max-height.rem]=\"codeHeight\" [ngSwitch]=\"activatedNode?.fileType\">\r\n <div *ngSwitchCase=\"'img'\" class=\"x-tree-file-img\"><img [src]=\"activatedNode?.url\" (load)=\"imgOnload()\"/></div>\r\n <x-highlight\r\n *ngSwitchCase=\"'code'\"\r\n [type]=\"activatedNode?.type\"\r\n [data]=\"activatedNode?.content\"\r\n [highlightLines]=\"getHighlightLines\"\r\n ></x-highlight>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XTreeFileComponent } from './tree-file.component';\r\nimport { XTreeFileProperty } from './tree-file.property';\r\nimport { XTreeModule } from '@ng-nest/ui/tree';\r\nimport { XHighlightModule } from '@ng-nest/ui/highlight';\r\nimport { XCrumbModule } from '@ng-nest/ui/crumb';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XLinkModule } from '@ng-nest/ui/link';\r\nimport { XLoadingModule } from '@ng-nest/ui/loading';\r\n\r\n@NgModule({\r\n declarations: [XTreeFileComponent, XTreeFileProperty],\r\n exports: [XTreeFileComponent],\r\n imports: [CommonModule, XTreeModule, XLinkModule, XCrumbModule, XIconModule, XLoadingModule, XHighlightModule]\r\n})\r\nexport class XTreeFileModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}