@ng-nest/ui 13.0.6 → 13.0.9

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 (506) hide show
  1. package/collapse/collapse.property.d.ts +16 -1
  2. package/collapse/examples/en_US/default/ghost/README.md +6 -0
  3. package/collapse/examples/en_US/default/icon/README.md +6 -0
  4. package/collapse/examples/zh_CN/default/ghost/README.md +6 -0
  5. package/collapse/examples/zh_CN/default/icon/README.md +6 -0
  6. package/core/animation/connect.d.ts +1 -0
  7. package/core/config/config.d.ts +6 -1
  8. package/esm2020/affix/affix.component.mjs +3 -3
  9. package/esm2020/affix/affix.module.mjs +4 -4
  10. package/esm2020/affix/affix.property.mjs +3 -3
  11. package/esm2020/alert/alert.component.mjs +3 -3
  12. package/esm2020/alert/alert.module.mjs +4 -4
  13. package/esm2020/alert/alert.property.mjs +3 -3
  14. package/esm2020/anchor/anchor.component.mjs +3 -3
  15. package/esm2020/anchor/anchor.module.mjs +4 -4
  16. package/esm2020/anchor/anchor.property.mjs +3 -3
  17. package/esm2020/api/api.component.mjs +3 -3
  18. package/esm2020/api/api.module.mjs +4 -4
  19. package/esm2020/auto-complete/auto-complete-portal.component.mjs +3 -3
  20. package/esm2020/auto-complete/auto-complete.component.mjs +3 -3
  21. package/esm2020/auto-complete/auto-complete.module.mjs +4 -4
  22. package/esm2020/auto-complete/auto-complete.property.mjs +3 -3
  23. package/esm2020/avatar/avatar.component.mjs +3 -3
  24. package/esm2020/avatar/avatar.module.mjs +4 -4
  25. package/esm2020/avatar/avatar.property.mjs +3 -3
  26. package/esm2020/back-top/back-top.component.mjs +3 -3
  27. package/esm2020/back-top/back-top.module.mjs +4 -4
  28. package/esm2020/back-top/back-top.property.mjs +3 -3
  29. package/esm2020/badge/badge.component.mjs +3 -3
  30. package/esm2020/badge/badge.module.mjs +4 -4
  31. package/esm2020/badge/badge.property.mjs +3 -3
  32. package/esm2020/base-form/base-form.component.mjs +3 -3
  33. package/esm2020/base-form/base-form.module.mjs +4 -4
  34. package/esm2020/base-form/base-form.property.mjs +3 -3
  35. package/esm2020/border/border.component.mjs +3 -3
  36. package/esm2020/border/border.module.mjs +4 -4
  37. package/esm2020/button/button.component.mjs +3 -3
  38. package/esm2020/button/button.module.mjs +4 -4
  39. package/esm2020/button/button.property.mjs +6 -6
  40. package/esm2020/button/buttons.component.mjs +3 -3
  41. package/esm2020/calendar/calendar.component.mjs +3 -3
  42. package/esm2020/calendar/calendar.module.mjs +4 -4
  43. package/esm2020/calendar/calendar.property.mjs +3 -3
  44. package/esm2020/card/card.component.mjs +3 -3
  45. package/esm2020/card/card.module.mjs +4 -4
  46. package/esm2020/card/card.property.mjs +3 -3
  47. package/esm2020/carousel/carousel-panel.component.mjs +3 -3
  48. package/esm2020/carousel/carousel.component.mjs +3 -3
  49. package/esm2020/carousel/carousel.module.mjs +4 -4
  50. package/esm2020/carousel/carousel.property.mjs +6 -6
  51. package/esm2020/cascade/cascade-portal.component.mjs +3 -3
  52. package/esm2020/cascade/cascade.component.mjs +3 -3
  53. package/esm2020/cascade/cascade.module.mjs +4 -4
  54. package/esm2020/cascade/cascade.property.mjs +3 -3
  55. package/esm2020/checkbox/checkbox.component.mjs +3 -3
  56. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  57. package/esm2020/checkbox/checkbox.property.mjs +3 -3
  58. package/esm2020/collapse/collapse-panel.component.mjs +6 -5
  59. package/esm2020/collapse/collapse.component.mjs +5 -5
  60. package/esm2020/collapse/collapse.module.mjs +4 -4
  61. package/esm2020/collapse/collapse.property.mjs +23 -8
  62. package/esm2020/color/color.component.mjs +3 -3
  63. package/esm2020/color/color.module.mjs +4 -4
  64. package/esm2020/color/color.property.mjs +3 -3
  65. package/esm2020/color-picker/color-picker-portal.component.mjs +3 -3
  66. package/esm2020/color-picker/color-picker.component.mjs +3 -3
  67. package/esm2020/color-picker/color-picker.module.mjs +4 -4
  68. package/esm2020/color-picker/color-picker.property.mjs +3 -3
  69. package/esm2020/comment/comment-reply.component.mjs +3 -3
  70. package/esm2020/comment/comment.component.mjs +3 -3
  71. package/esm2020/comment/comment.module.mjs +4 -4
  72. package/esm2020/comment/comment.property.mjs +6 -6
  73. package/esm2020/container/aside.component.mjs +3 -3
  74. package/esm2020/container/container.component.mjs +3 -3
  75. package/esm2020/container/container.module.mjs +4 -4
  76. package/esm2020/container/container.property.mjs +12 -12
  77. package/esm2020/container/footer.component.mjs +3 -3
  78. package/esm2020/container/header.component.mjs +3 -3
  79. package/esm2020/container/main.component.mjs +3 -3
  80. package/esm2020/core/animation/connect.mjs +17 -9
  81. package/esm2020/core/config/config.mjs +1 -1
  82. package/esm2020/core/config/config.service.mjs +3 -3
  83. package/esm2020/core/services/http.service.mjs +3 -3
  84. package/esm2020/core/services/preloading-strategy.service.mjs +3 -3
  85. package/esm2020/core/services/storage.service.mjs +3 -3
  86. package/esm2020/core/theme/theme.service.mjs +3 -3
  87. package/esm2020/crumb/crumb.component.mjs +3 -3
  88. package/esm2020/crumb/crumb.module.mjs +4 -4
  89. package/esm2020/crumb/crumb.property.mjs +3 -3
  90. package/esm2020/date-picker/date-picker-portal.component.mjs +3 -3
  91. package/esm2020/date-picker/date-picker.component.mjs +3 -3
  92. package/esm2020/date-picker/date-picker.module.mjs +4 -4
  93. package/esm2020/date-picker/date-picker.property.mjs +15 -15
  94. package/esm2020/date-picker/date-range-portal.component.mjs +3 -3
  95. package/esm2020/date-picker/date-range.component.mjs +3 -3
  96. package/esm2020/date-picker/picker-date.component.mjs +3 -3
  97. package/esm2020/date-picker/picker-month.component.mjs +3 -3
  98. package/esm2020/date-picker/picker-year.component.mjs +3 -3
  99. package/esm2020/description/description-item.component.mjs +3 -3
  100. package/esm2020/description/description.component.mjs +3 -3
  101. package/esm2020/description/description.module.mjs +4 -4
  102. package/esm2020/description/description.property.mjs +6 -6
  103. package/esm2020/dialog/dialog-portal.component.mjs +3 -3
  104. package/esm2020/dialog/dialog-portal.directives.mjs +12 -12
  105. package/esm2020/dialog/dialog.component.mjs +3 -3
  106. package/esm2020/dialog/dialog.module.mjs +4 -4
  107. package/esm2020/dialog/dialog.property.mjs +3 -3
  108. package/esm2020/dialog/dialog.service.mjs +3 -3
  109. package/esm2020/doc/doc.component.mjs +3 -3
  110. package/esm2020/doc/doc.module.mjs +4 -4
  111. package/esm2020/drawer/drawer-container.component.mjs +3 -3
  112. package/esm2020/drawer/drawer-portal.component.mjs +3 -3
  113. package/esm2020/drawer/drawer-portal.directives.mjs +9 -9
  114. package/esm2020/drawer/drawer.component.mjs +3 -3
  115. package/esm2020/drawer/drawer.module.mjs +4 -4
  116. package/esm2020/drawer/drawer.property.mjs +6 -6
  117. package/esm2020/drawer/drawer.service.mjs +3 -3
  118. package/esm2020/dropdown/dropdown-portal.component.mjs +3 -3
  119. package/esm2020/dropdown/dropdown.component.mjs +8 -5
  120. package/esm2020/dropdown/dropdown.module.mjs +4 -4
  121. package/esm2020/dropdown/dropdown.property.mjs +3 -3
  122. package/esm2020/empty/empty.component.mjs +3 -3
  123. package/esm2020/empty/empty.module.mjs +4 -4
  124. package/esm2020/empty/empty.property.mjs +3 -3
  125. package/esm2020/examples/examples.component.mjs +3 -3
  126. package/esm2020/examples/examples.module.mjs +4 -4
  127. package/esm2020/find/find.component.mjs +3 -3
  128. package/esm2020/find/find.module.mjs +4 -4
  129. package/esm2020/find/find.property.mjs +3 -3
  130. package/esm2020/form/control.component.mjs +3 -3
  131. package/esm2020/form/form.component.mjs +3 -3
  132. package/esm2020/form/form.module.mjs +4 -4
  133. package/esm2020/form/form.property.mjs +6 -6
  134. package/esm2020/highlight/highlight.component.mjs +3 -3
  135. package/esm2020/highlight/highlight.module.mjs +4 -4
  136. package/esm2020/highlight/highlight.property.mjs +3 -3
  137. package/esm2020/i18n/i18n.directive.mjs +3 -3
  138. package/esm2020/i18n/i18n.module.mjs +4 -4
  139. package/esm2020/i18n/i18n.pipe.mjs +3 -3
  140. package/esm2020/i18n/i18n.service.mjs +3 -3
  141. package/esm2020/icon/icon.component.mjs +3 -3
  142. package/esm2020/icon/icon.module.mjs +4 -4
  143. package/esm2020/icon/icon.property.mjs +3 -3
  144. package/esm2020/icon/icon.service.mjs +3 -3
  145. package/esm2020/inner/inner.component.mjs +3 -3
  146. package/esm2020/inner/inner.module.mjs +4 -4
  147. package/esm2020/inner/inner.property.mjs +3 -3
  148. package/esm2020/input/input-group.component.mjs +3 -3
  149. package/esm2020/input/input.component.mjs +3 -3
  150. package/esm2020/input/input.module.mjs +4 -4
  151. package/esm2020/input/input.property.mjs +6 -6
  152. package/esm2020/input-number/input-number.component.mjs +3 -3
  153. package/esm2020/input-number/input-number.module.mjs +4 -4
  154. package/esm2020/input-number/input-number.property.mjs +3 -3
  155. package/esm2020/layout/col.component.mjs +3 -3
  156. package/esm2020/layout/layout.module.mjs +4 -4
  157. package/esm2020/layout/layout.property.mjs +6 -6
  158. package/esm2020/layout/row.component.mjs +3 -3
  159. package/esm2020/link/link.component.mjs +3 -3
  160. package/esm2020/link/link.module.mjs +4 -4
  161. package/esm2020/link/link.property.mjs +3 -3
  162. package/esm2020/list/list-option.component.mjs +3 -3
  163. package/esm2020/list/list.component.mjs +3 -3
  164. package/esm2020/list/list.module.mjs +4 -4
  165. package/esm2020/list/list.property.mjs +6 -6
  166. package/esm2020/loading/loading.component.mjs +3 -3
  167. package/esm2020/loading/loading.module.mjs +4 -4
  168. package/esm2020/loading/loading.property.mjs +3 -3
  169. package/esm2020/menu/menu-node.component.mjs +3 -3
  170. package/esm2020/menu/menu.component.mjs +5 -5
  171. package/esm2020/menu/menu.module.mjs +4 -4
  172. package/esm2020/menu/menu.property.mjs +12 -7
  173. package/esm2020/message/message.component.mjs +3 -3
  174. package/esm2020/message/message.module.mjs +4 -4
  175. package/esm2020/message/message.service.mjs +3 -3
  176. package/esm2020/message-box/message-box.component.mjs +3 -3
  177. package/esm2020/message-box/message-box.module.mjs +4 -4
  178. package/esm2020/message-box/message-box.service.mjs +3 -3
  179. package/esm2020/notification/notification.component.mjs +3 -3
  180. package/esm2020/notification/notification.module.mjs +4 -4
  181. package/esm2020/notification/notification.service.mjs +3 -3
  182. package/esm2020/outlet/outlet.directive.mjs +3 -3
  183. package/esm2020/outlet/outlet.module.mjs +4 -4
  184. package/esm2020/page-header/page-header.component.mjs +3 -3
  185. package/esm2020/page-header/page-header.module.mjs +4 -4
  186. package/esm2020/page-header/page-header.property.mjs +3 -3
  187. package/esm2020/pagination/pagination.component.mjs +3 -3
  188. package/esm2020/pagination/pagination.module.mjs +4 -4
  189. package/esm2020/pagination/pagination.property.mjs +3 -3
  190. package/esm2020/pattern/pattern.component.mjs +3 -3
  191. package/esm2020/pattern/pattern.module.mjs +4 -4
  192. package/esm2020/popconfirm/popconfirm.component.mjs +3 -3
  193. package/esm2020/popconfirm/popconfirm.module.mjs +4 -4
  194. package/esm2020/popconfirm/popconfirm.property.mjs +3 -3
  195. package/esm2020/popover/popover-portal.component.mjs +3 -3
  196. package/esm2020/popover/popover.directive.mjs +16 -8
  197. package/esm2020/popover/popover.module.mjs +4 -4
  198. package/esm2020/popover/popover.property.mjs +18 -4
  199. package/esm2020/portal/portal.module.mjs +4 -4
  200. package/esm2020/portal/portal.service.mjs +3 -3
  201. package/esm2020/progress/progress.component.mjs +3 -3
  202. package/esm2020/progress/progress.module.mjs +4 -4
  203. package/esm2020/progress/progress.property.mjs +3 -3
  204. package/esm2020/radio/radio.component.mjs +3 -3
  205. package/esm2020/radio/radio.module.mjs +4 -4
  206. package/esm2020/radio/radio.property.mjs +3 -3
  207. package/esm2020/rate/rate.component.mjs +3 -3
  208. package/esm2020/rate/rate.module.mjs +4 -4
  209. package/esm2020/rate/rate.property.mjs +3 -3
  210. package/esm2020/result/result.component.mjs +3 -3
  211. package/esm2020/result/result.module.mjs +4 -4
  212. package/esm2020/result/result.property.mjs +3 -3
  213. package/esm2020/ripple/ripple.directive.mjs +3 -3
  214. package/esm2020/ripple/ripple.module.mjs +4 -4
  215. package/esm2020/ripple/ripple.property.mjs +3 -3
  216. package/esm2020/select/select-portal.component.mjs +3 -3
  217. package/esm2020/select/select.component.mjs +3 -3
  218. package/esm2020/select/select.module.mjs +4 -4
  219. package/esm2020/select/select.property.mjs +3 -3
  220. package/esm2020/skeleton/skeleton.component.mjs +3 -3
  221. package/esm2020/skeleton/skeleton.module.mjs +4 -4
  222. package/esm2020/skeleton/skeleton.property.mjs +3 -3
  223. package/esm2020/slider/slider.component.mjs +7 -5
  224. package/esm2020/slider/slider.module.mjs +4 -4
  225. package/esm2020/slider/slider.property.mjs +4 -4
  226. package/esm2020/slider-select/slider-select.component.mjs +3 -3
  227. package/esm2020/slider-select/slider-select.module.mjs +4 -4
  228. package/esm2020/slider-select/slider-select.property.mjs +3 -3
  229. package/esm2020/statistic/countdown.component.mjs +3 -3
  230. package/esm2020/statistic/statistic.component.mjs +3 -3
  231. package/esm2020/statistic/statistic.module.mjs +4 -4
  232. package/esm2020/statistic/statistic.property.mjs +6 -6
  233. package/esm2020/steps/steps.component.mjs +3 -3
  234. package/esm2020/steps/steps.module.mjs +4 -4
  235. package/esm2020/steps/steps.property.mjs +3 -3
  236. package/esm2020/switch/switch.component.mjs +3 -3
  237. package/esm2020/switch/switch.module.mjs +4 -4
  238. package/esm2020/switch/switch.property.mjs +3 -3
  239. package/esm2020/table/drag.directive.mjs +3 -3
  240. package/esm2020/table/table-body.component.mjs +6 -6
  241. package/esm2020/table/table-foot.component.mjs +3 -3
  242. package/esm2020/table/table-head.component.mjs +3 -3
  243. package/esm2020/table/table.component.mjs +9 -5
  244. package/esm2020/table/table.module.mjs +4 -4
  245. package/esm2020/table/table.property.mjs +24 -13
  246. package/esm2020/tabs/tab-content.component.mjs +3 -3
  247. package/esm2020/tabs/tab.component.mjs +3 -3
  248. package/esm2020/tabs/tabs.component.mjs +6 -6
  249. package/esm2020/tabs/tabs.module.mjs +4 -4
  250. package/esm2020/tabs/tabs.property.mjs +12 -7
  251. package/esm2020/tag/tag.component.mjs +35 -9
  252. package/esm2020/tag/tag.module.mjs +4 -4
  253. package/esm2020/tag/tag.property.mjs +20 -4
  254. package/esm2020/text-retract/text-retract.component.mjs +3 -3
  255. package/esm2020/text-retract/text-retract.module.mjs +4 -4
  256. package/esm2020/text-retract/text-retract.property.mjs +3 -3
  257. package/esm2020/textarea/textarea.component.mjs +3 -3
  258. package/esm2020/textarea/textarea.module.mjs +4 -4
  259. package/esm2020/textarea/textarea.property.mjs +3 -3
  260. package/esm2020/theme/theme.component.mjs +3 -3
  261. package/esm2020/theme/theme.module.mjs +4 -4
  262. package/esm2020/theme/theme.property.mjs +3 -3
  263. package/esm2020/time-ago/time-ago.module.mjs +4 -4
  264. package/esm2020/time-ago/time-ago.pipe.mjs +3 -3
  265. package/esm2020/time-picker/time-picker-frame.component.mjs +3 -3
  266. package/esm2020/time-picker/time-picker-portal.component.mjs +3 -3
  267. package/esm2020/time-picker/time-picker.component.mjs +3 -3
  268. package/esm2020/time-picker/time-picker.module.mjs +4 -4
  269. package/esm2020/time-picker/time-picker.property.mjs +3 -3
  270. package/esm2020/time-range/time-range.module.mjs +4 -4
  271. package/esm2020/time-range/time-range.pipe.mjs +3 -3
  272. package/esm2020/timeline/timeline.component.mjs +22 -5
  273. package/esm2020/timeline/timeline.module.mjs +4 -4
  274. package/esm2020/timeline/timeline.property.mjs +4 -4
  275. package/esm2020/tooltip/tooltip-portal.component.mjs +3 -3
  276. package/esm2020/tooltip/tooltip.directive.mjs +15 -7
  277. package/esm2020/tooltip/tooltip.module.mjs +4 -4
  278. package/esm2020/tooltip/tooltip.property.mjs +20 -4
  279. package/esm2020/transfer/transfer.component.mjs +3 -3
  280. package/esm2020/transfer/transfer.module.mjs +4 -4
  281. package/esm2020/transfer/transfer.property.mjs +3 -3
  282. package/esm2020/tree/tree-node.component.mjs +5 -5
  283. package/esm2020/tree/tree.component.mjs +3 -3
  284. package/esm2020/tree/tree.module.mjs +4 -4
  285. package/esm2020/tree/tree.property.mjs +13 -7
  286. package/esm2020/tree-file/tree-file.component.mjs +3 -3
  287. package/esm2020/tree-file/tree-file.module.mjs +4 -4
  288. package/esm2020/tree-file/tree-file.property.mjs +3 -3
  289. package/esm2020/typography/typography.component.mjs +3 -3
  290. package/esm2020/typography/typography.module.mjs +4 -4
  291. package/esm2020/typography/typography.property.mjs +3 -3
  292. package/esm2020/upload/upload-portal.component.mjs +3 -3
  293. package/esm2020/upload/upload.component.mjs +3 -3
  294. package/esm2020/upload/upload.module.mjs +4 -4
  295. package/esm2020/upload/upload.property.mjs +3 -3
  296. package/fesm2015/ng-nest-ui-affix.mjs +10 -10
  297. package/fesm2015/ng-nest-ui-alert.mjs +10 -10
  298. package/fesm2015/ng-nest-ui-anchor.mjs +10 -10
  299. package/fesm2015/ng-nest-ui-api.mjs +7 -7
  300. package/fesm2015/ng-nest-ui-auto-complete.mjs +13 -13
  301. package/fesm2015/ng-nest-ui-avatar.mjs +10 -10
  302. package/fesm2015/ng-nest-ui-back-top.mjs +10 -10
  303. package/fesm2015/ng-nest-ui-badge.mjs +10 -10
  304. package/fesm2015/ng-nest-ui-base-form.mjs +10 -10
  305. package/fesm2015/ng-nest-ui-border.mjs +7 -7
  306. package/fesm2015/ng-nest-ui-button.mjs +16 -16
  307. package/fesm2015/ng-nest-ui-calendar.mjs +10 -10
  308. package/fesm2015/ng-nest-ui-card.mjs +10 -10
  309. package/fesm2015/ng-nest-ui-carousel.mjs +16 -16
  310. package/fesm2015/ng-nest-ui-cascade.mjs +13 -13
  311. package/fesm2015/ng-nest-ui-checkbox.mjs +10 -10
  312. package/fesm2015/ng-nest-ui-collapse.mjs +35 -19
  313. package/fesm2015/ng-nest-ui-collapse.mjs.map +1 -1
  314. package/fesm2015/ng-nest-ui-color-picker.mjs +13 -13
  315. package/fesm2015/ng-nest-ui-color.mjs +10 -10
  316. package/fesm2015/ng-nest-ui-comment.mjs +16 -16
  317. package/fesm2015/ng-nest-ui-container.mjs +31 -31
  318. package/fesm2015/ng-nest-ui-core.mjs +32 -24
  319. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  320. package/fesm2015/ng-nest-ui-crumb.mjs +10 -10
  321. package/fesm2015/ng-nest-ui-date-picker.mjs +40 -40
  322. package/fesm2015/ng-nest-ui-description.mjs +16 -16
  323. package/fesm2015/ng-nest-ui-dialog.mjs +28 -28
  324. package/fesm2015/ng-nest-ui-doc.mjs +7 -7
  325. package/fesm2015/ng-nest-ui-drawer.mjs +31 -31
  326. package/fesm2015/ng-nest-ui-dropdown.mjs +17 -14
  327. package/fesm2015/ng-nest-ui-dropdown.mjs.map +1 -1
  328. package/fesm2015/ng-nest-ui-empty.mjs +10 -10
  329. package/fesm2015/ng-nest-ui-examples.mjs +7 -7
  330. package/fesm2015/ng-nest-ui-find.mjs +10 -10
  331. package/fesm2015/ng-nest-ui-form.mjs +16 -16
  332. package/fesm2015/ng-nest-ui-highlight.mjs +10 -10
  333. package/fesm2015/ng-nest-ui-i18n.mjs +13 -13
  334. package/fesm2015/ng-nest-ui-icon.mjs +13 -13
  335. package/fesm2015/ng-nest-ui-inner.mjs +10 -10
  336. package/fesm2015/ng-nest-ui-input-number.mjs +10 -10
  337. package/fesm2015/ng-nest-ui-input.mjs +16 -16
  338. package/fesm2015/ng-nest-ui-layout.mjs +16 -16
  339. package/fesm2015/ng-nest-ui-link.mjs +10 -10
  340. package/fesm2015/ng-nest-ui-list.mjs +16 -16
  341. package/fesm2015/ng-nest-ui-loading.mjs +10 -10
  342. package/fesm2015/ng-nest-ui-menu.mjs +22 -17
  343. package/fesm2015/ng-nest-ui-menu.mjs.map +1 -1
  344. package/fesm2015/ng-nest-ui-message-box.mjs +10 -10
  345. package/fesm2015/ng-nest-ui-message.mjs +10 -10
  346. package/fesm2015/ng-nest-ui-notification.mjs +10 -10
  347. package/fesm2015/ng-nest-ui-outlet.mjs +7 -7
  348. package/fesm2015/ng-nest-ui-page-header.mjs +10 -10
  349. package/fesm2015/ng-nest-ui-pagination.mjs +10 -10
  350. package/fesm2015/ng-nest-ui-pattern.mjs +7 -7
  351. package/fesm2015/ng-nest-ui-popconfirm.mjs +10 -10
  352. package/fesm2015/ng-nest-ui-popover.mjs +39 -17
  353. package/fesm2015/ng-nest-ui-popover.mjs.map +1 -1
  354. package/fesm2015/ng-nest-ui-portal.mjs +7 -7
  355. package/fesm2015/ng-nest-ui-progress.mjs +10 -10
  356. package/fesm2015/ng-nest-ui-radio.mjs +10 -10
  357. package/fesm2015/ng-nest-ui-rate.mjs +10 -10
  358. package/fesm2015/ng-nest-ui-result.mjs +10 -10
  359. package/fesm2015/ng-nest-ui-ripple.mjs +10 -10
  360. package/fesm2015/ng-nest-ui-select.mjs +13 -13
  361. package/fesm2015/ng-nest-ui-skeleton.mjs +10 -10
  362. package/fesm2015/ng-nest-ui-slider-select.mjs +10 -10
  363. package/fesm2015/ng-nest-ui-slider.mjs +13 -11
  364. package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
  365. package/fesm2015/ng-nest-ui-statistic.mjs +16 -16
  366. package/fesm2015/ng-nest-ui-steps.mjs +10 -10
  367. package/fesm2015/ng-nest-ui-switch.mjs +10 -10
  368. package/fesm2015/ng-nest-ui-table.mjs +49 -34
  369. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  370. package/fesm2015/ng-nest-ui-tabs.mjs +26 -21
  371. package/fesm2015/ng-nest-ui-tabs.mjs.map +1 -1
  372. package/fesm2015/ng-nest-ui-tag.mjs +57 -15
  373. package/fesm2015/ng-nest-ui-tag.mjs.map +1 -1
  374. package/fesm2015/ng-nest-ui-text-retract.mjs +10 -10
  375. package/fesm2015/ng-nest-ui-textarea.mjs +10 -10
  376. package/fesm2015/ng-nest-ui-theme.mjs +10 -10
  377. package/fesm2015/ng-nest-ui-time-ago.mjs +7 -7
  378. package/fesm2015/ng-nest-ui-time-picker.mjs +16 -16
  379. package/fesm2015/ng-nest-ui-time-range.mjs +7 -7
  380. package/fesm2015/ng-nest-ui-timeline.mjs +28 -11
  381. package/fesm2015/ng-nest-ui-timeline.mjs.map +1 -1
  382. package/fesm2015/ng-nest-ui-tooltip.mjs +40 -16
  383. package/fesm2015/ng-nest-ui-tooltip.mjs.map +1 -1
  384. package/fesm2015/ng-nest-ui-transfer.mjs +10 -10
  385. package/fesm2015/ng-nest-ui-tree-file.mjs +10 -10
  386. package/fesm2015/ng-nest-ui-tree.mjs +23 -17
  387. package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
  388. package/fesm2015/ng-nest-ui-typography.mjs +10 -10
  389. package/fesm2015/ng-nest-ui-upload.mjs +13 -13
  390. package/fesm2020/ng-nest-ui-affix.mjs +10 -10
  391. package/fesm2020/ng-nest-ui-alert.mjs +10 -10
  392. package/fesm2020/ng-nest-ui-anchor.mjs +10 -10
  393. package/fesm2020/ng-nest-ui-api.mjs +7 -7
  394. package/fesm2020/ng-nest-ui-auto-complete.mjs +13 -13
  395. package/fesm2020/ng-nest-ui-avatar.mjs +10 -10
  396. package/fesm2020/ng-nest-ui-back-top.mjs +10 -10
  397. package/fesm2020/ng-nest-ui-badge.mjs +10 -10
  398. package/fesm2020/ng-nest-ui-base-form.mjs +10 -10
  399. package/fesm2020/ng-nest-ui-border.mjs +7 -7
  400. package/fesm2020/ng-nest-ui-button.mjs +16 -16
  401. package/fesm2020/ng-nest-ui-calendar.mjs +10 -10
  402. package/fesm2020/ng-nest-ui-card.mjs +10 -10
  403. package/fesm2020/ng-nest-ui-carousel.mjs +16 -16
  404. package/fesm2020/ng-nest-ui-cascade.mjs +13 -13
  405. package/fesm2020/ng-nest-ui-checkbox.mjs +10 -10
  406. package/fesm2020/ng-nest-ui-collapse.mjs +35 -19
  407. package/fesm2020/ng-nest-ui-collapse.mjs.map +1 -1
  408. package/fesm2020/ng-nest-ui-color-picker.mjs +13 -13
  409. package/fesm2020/ng-nest-ui-color.mjs +10 -10
  410. package/fesm2020/ng-nest-ui-comment.mjs +16 -16
  411. package/fesm2020/ng-nest-ui-container.mjs +31 -31
  412. package/fesm2020/ng-nest-ui-core.mjs +32 -24
  413. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  414. package/fesm2020/ng-nest-ui-crumb.mjs +10 -10
  415. package/fesm2020/ng-nest-ui-date-picker.mjs +40 -40
  416. package/fesm2020/ng-nest-ui-description.mjs +16 -16
  417. package/fesm2020/ng-nest-ui-dialog.mjs +28 -28
  418. package/fesm2020/ng-nest-ui-doc.mjs +7 -7
  419. package/fesm2020/ng-nest-ui-drawer.mjs +31 -31
  420. package/fesm2020/ng-nest-ui-dropdown.mjs +17 -14
  421. package/fesm2020/ng-nest-ui-dropdown.mjs.map +1 -1
  422. package/fesm2020/ng-nest-ui-empty.mjs +10 -10
  423. package/fesm2020/ng-nest-ui-examples.mjs +7 -7
  424. package/fesm2020/ng-nest-ui-find.mjs +10 -10
  425. package/fesm2020/ng-nest-ui-form.mjs +16 -16
  426. package/fesm2020/ng-nest-ui-highlight.mjs +10 -10
  427. package/fesm2020/ng-nest-ui-i18n.mjs +13 -13
  428. package/fesm2020/ng-nest-ui-icon.mjs +13 -13
  429. package/fesm2020/ng-nest-ui-inner.mjs +10 -10
  430. package/fesm2020/ng-nest-ui-input-number.mjs +10 -10
  431. package/fesm2020/ng-nest-ui-input.mjs +16 -16
  432. package/fesm2020/ng-nest-ui-layout.mjs +16 -16
  433. package/fesm2020/ng-nest-ui-link.mjs +10 -10
  434. package/fesm2020/ng-nest-ui-list.mjs +16 -16
  435. package/fesm2020/ng-nest-ui-loading.mjs +10 -10
  436. package/fesm2020/ng-nest-ui-menu.mjs +22 -17
  437. package/fesm2020/ng-nest-ui-menu.mjs.map +1 -1
  438. package/fesm2020/ng-nest-ui-message-box.mjs +10 -10
  439. package/fesm2020/ng-nest-ui-message.mjs +10 -10
  440. package/fesm2020/ng-nest-ui-notification.mjs +10 -10
  441. package/fesm2020/ng-nest-ui-outlet.mjs +7 -7
  442. package/fesm2020/ng-nest-ui-page-header.mjs +10 -10
  443. package/fesm2020/ng-nest-ui-pagination.mjs +10 -10
  444. package/fesm2020/ng-nest-ui-pattern.mjs +7 -7
  445. package/fesm2020/ng-nest-ui-popconfirm.mjs +10 -10
  446. package/fesm2020/ng-nest-ui-popover.mjs +39 -17
  447. package/fesm2020/ng-nest-ui-popover.mjs.map +1 -1
  448. package/fesm2020/ng-nest-ui-portal.mjs +7 -7
  449. package/fesm2020/ng-nest-ui-progress.mjs +10 -10
  450. package/fesm2020/ng-nest-ui-radio.mjs +10 -10
  451. package/fesm2020/ng-nest-ui-rate.mjs +10 -10
  452. package/fesm2020/ng-nest-ui-result.mjs +10 -10
  453. package/fesm2020/ng-nest-ui-ripple.mjs +10 -10
  454. package/fesm2020/ng-nest-ui-select.mjs +13 -13
  455. package/fesm2020/ng-nest-ui-skeleton.mjs +10 -10
  456. package/fesm2020/ng-nest-ui-slider-select.mjs +10 -10
  457. package/fesm2020/ng-nest-ui-slider.mjs +13 -11
  458. package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
  459. package/fesm2020/ng-nest-ui-statistic.mjs +16 -16
  460. package/fesm2020/ng-nest-ui-steps.mjs +10 -10
  461. package/fesm2020/ng-nest-ui-switch.mjs +10 -10
  462. package/fesm2020/ng-nest-ui-table.mjs +49 -34
  463. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  464. package/fesm2020/ng-nest-ui-tabs.mjs +26 -21
  465. package/fesm2020/ng-nest-ui-tabs.mjs.map +1 -1
  466. package/fesm2020/ng-nest-ui-tag.mjs +57 -15
  467. package/fesm2020/ng-nest-ui-tag.mjs.map +1 -1
  468. package/fesm2020/ng-nest-ui-text-retract.mjs +10 -10
  469. package/fesm2020/ng-nest-ui-textarea.mjs +10 -10
  470. package/fesm2020/ng-nest-ui-theme.mjs +10 -10
  471. package/fesm2020/ng-nest-ui-time-ago.mjs +7 -7
  472. package/fesm2020/ng-nest-ui-time-picker.mjs +16 -16
  473. package/fesm2020/ng-nest-ui-time-range.mjs +7 -7
  474. package/fesm2020/ng-nest-ui-timeline.mjs +28 -11
  475. package/fesm2020/ng-nest-ui-timeline.mjs.map +1 -1
  476. package/fesm2020/ng-nest-ui-tooltip.mjs +40 -16
  477. package/fesm2020/ng-nest-ui-tooltip.mjs.map +1 -1
  478. package/fesm2020/ng-nest-ui-transfer.mjs +10 -10
  479. package/fesm2020/ng-nest-ui-tree-file.mjs +10 -10
  480. package/fesm2020/ng-nest-ui-tree.mjs +23 -17
  481. package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
  482. package/fesm2020/ng-nest-ui-typography.mjs +10 -10
  483. package/fesm2020/ng-nest-ui-upload.mjs +13 -13
  484. package/menu/menu.property.d.ts +8 -3
  485. package/package.json +1 -1
  486. package/popover/popover.directive.d.ts +1 -0
  487. package/popover/popover.property.d.ts +11 -1
  488. package/slider/slider.property.d.ts +5 -0
  489. package/table/examples/en_US/default/rowclass/README.md +6 -0
  490. package/table/examples/zh_CN/default/rowclass/README.md +6 -0
  491. package/table/table.component.d.ts +1 -0
  492. package/table/table.property.d.ts +33 -2
  493. package/tabs/tabs.property.d.ts +16 -1
  494. package/tag/examples/en_US/default/checked/README.md +6 -0
  495. package/tag/examples/en_US/default/color/README.md +6 -0
  496. package/tag/examples/zh_CN/default/checked/README.md +6 -0
  497. package/tag/examples/zh_CN/default/color/README.md +6 -0
  498. package/tag/tag.component.d.ts +5 -0
  499. package/tag/tag.property.d.ts +23 -1
  500. package/timeline/examples/en_US/default/loading/README.md +6 -0
  501. package/timeline/examples/zh_CN/default/loading/README.md +6 -0
  502. package/timeline/timeline.component.d.ts +1 -0
  503. package/timeline/timeline.property.d.ts +16 -1
  504. package/tooltip/tooltip.directive.d.ts +1 -0
  505. package/tooltip/tooltip.property.d.ts +11 -1
  506. package/tree/tree.property.d.ts +6 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-tooltip.mjs","sources":["../../../../lib/ng-nest/ui/tooltip/tooltip.property.ts","../../../../lib/ng-nest/ui/tooltip/tooltip-portal.component.ts","../../../../lib/ng-nest/ui/tooltip/tooltip-portal.component.html","../../../../lib/ng-nest/ui/tooltip/tooltip.directive.ts","../../../../lib/ng-nest/ui/tooltip/tooltip.module.ts","../../../../lib/ng-nest/ui/tooltip/ng-nest-ui-tooltip.ts"],"sourcesContent":["import { XPlacement, XInputBoolean, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Directive } from '@angular/core';\r\n\r\n/**\r\n * Tooltip\r\n * @selector x-tooltip\r\n * @decorator directive\r\n */\r\nexport const XTooltipPrefix = 'x-tooltip';\r\nconst X_CONFIG_NAME = 'tooltip';\r\n\r\n/**\r\n * Tooltip Property\r\n */\r\n@Directive({ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` })\r\nexport class XTooltipProperty {\r\n /**\r\n * @zh_CN 内容\r\n * @en_US Content\r\n */\r\n @Input() content?: string;\r\n /**\r\n * @zh_CN 显示位置\r\n * @en_US Display position\r\n */\r\n @Input() @XWithConfig<XPlacement>(X_CONFIG_NAME, 'bottom') placement?: XPlacement;\r\n /**\r\n * @zh_CN 显示/隐藏\r\n * @en_US Show/hide\r\n */\r\n @Input() @XInputBoolean() visible?: XBoolean;\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n @Input() backgroundColor?: string;\r\n /**\r\n * @zh_CN 文字颜色\r\n * @en_US Text color\r\n */\r\n @Input() color?: string;\r\n /**\r\n * @zh_CN 手动处理关闭事件\r\n * @en_US Manually handle the shutdown event\r\n */\r\n @Input() @XInputBoolean() manual?: XBoolean;\r\n}\r\n\r\n/**\r\n * Tooltip Portal\r\n * @selector x-tooltip-portal\r\n * @decorator component\r\n */\r\nexport const XTooltipPortalPrefix = 'x-tooltip-portal';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n OnInit,\r\n ElementRef,\r\n OnDestroy,\r\n ViewChild,\r\n Renderer2,\r\n HostListener,\r\n AfterViewInit,\r\n HostBinding\r\n} from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { XTooltipPortalPrefix } from './tooltip.property';\r\nimport { XPlacement, XClassMap, XFadeAnimation } from '@ng-nest/ui/core';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XTooltipPortalPrefix}`,\r\n templateUrl: './tooltip-portal.component.html',\r\n styleUrls: ['./tooltip-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XFadeAnimation]\r\n})\r\nexport class XTooltipPortalComponent implements OnInit, OnDestroy, OnDestroy, AfterViewInit {\r\n @HostListener('mouseenter') mouseenter() {\r\n this.portalHover(true);\r\n }\r\n @HostListener('mouseleave') mouseleave() {\r\n this.portalHover(false);\r\n }\r\n\r\n @HostBinding('@x-fade-animation') animation: any;\r\n\r\n @ViewChild('tooltipPortal', { static: true }) tooltipPortal!: ElementRef;\r\n @ViewChild('tooltipArrow', { static: false }) tooltipArrow!: ElementRef;\r\n @ViewChild('tooltipArrowAfter', { static: false }) tooltipArrowAfter!: ElementRef;\r\n\r\n contentChange!: BehaviorSubject<any>;\r\n classMap: XClassMap = {};\r\n box!: DOMRect;\r\n portalBox!: DOMRect;\r\n arrowBox!: DOMRect;\r\n portalHover!: Function;\r\n viewInit!: Function;\r\n destroy!: Function;\r\n placement!: XPlacement;\r\n previousPlacement!: XPlacement;\r\n content!: string;\r\n color!: string;\r\n backgroundColor!: string;\r\n positionChange: Subject<any> = new Subject();\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(private renderer: Renderer2, public cdr: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n this.contentChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.content = x;\r\n this.cdr.detectChanges();\r\n });\r\n this.positionChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.placement = x;\r\n this.setClassMap();\r\n setTimeout(() => this.setArrow());\r\n this.cdr.detectChanges();\r\n });\r\n this.setClassMap();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.viewInit();\r\n this.portalBox = this.tooltipPortal.nativeElement.getBoundingClientRect();\r\n this.arrowBox = this.tooltipArrow.nativeElement.getBoundingClientRect();\r\n this.setArrow();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap[`${XTooltipPortalPrefix}-${this.previousPlacement}`] = false;\r\n this.classMap[`${XTooltipPortalPrefix}-${this.placement}`] = true;\r\n this.previousPlacement = `${this.placement}` as XPlacement;\r\n }\r\n\r\n setArrow() {\r\n let offset = this.arrowBox.height / 2;\r\n if (this.portalBox.height > this.box.height && (this.includes('right-') || this.includes('left-'))) {\r\n if (this.includes('-start')) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, 'top', `${this.box.height / 2 - offset}px`);\r\n } else if (this.includes('-end')) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, 'bottom', `${this.box.height / 2 - offset}px`);\r\n }\r\n } else if (this.portalBox.width > this.box.width && (this.includes('top-') || this.includes('bottom-'))) {\r\n if (this.includes('-start')) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, 'left', `${this.box.width / 2 - offset}px`);\r\n } else if (this.includes('-end')) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, 'right', `${this.box.width / 2 - offset}px`);\r\n }\r\n }\r\n if (!this.backgroundColor) return;\r\n const ptSplit = this.placement.split('-');\r\n if (ptSplit.length > 0) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, `border-${ptSplit[0]}-color`, this.backgroundColor);\r\n this.renderer.setStyle(this.tooltipArrowAfter.nativeElement, `border-${ptSplit[0]}-color`, this.backgroundColor);\r\n }\r\n }\r\n\r\n includes(arrow: string) {\r\n return this.placement.indexOf(arrow) >= 0;\r\n }\r\n}\r\n","<div #tooltipPortal class=\"x-tooltip-portal\" [ngClass]=\"classMap\">\r\n <div class=\"x-tooltip-portal-inner\" [style.backgroundColor]=\"backgroundColor\" [style.color]=\"color\" [innerHTML]=\"content\"></div>\r\n <div #tooltipArrow class=\"x-tooltip-portal-arrow\">\r\n <div #tooltipArrowAfter class=\"x-tooltip-portal-arrow-after\"></div>\r\n </div>\r\n</div>\r\n","import { ElementRef, ViewContainerRef, Directive, HostListener, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { XTooltipPortalComponent } from './tooltip-portal.component';\r\nimport { XTooltipPrefix, XTooltipProperty } from './tooltip.property';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { XIsChange, XPlacement } from '@ng-nest/ui/core';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { OverlayConfig, FlexibleConnectedPositionStrategy, ConnectedOverlayPositionChange, Overlay } from '@angular/cdk/overlay';\r\n\r\n@Directive({ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` })\r\nexport class XTooltipDirective extends XTooltipProperty implements OnChanges, OnDestroy {\r\n portal!: XPortalOverlayRef<XTooltipPortalComponent>;\r\n box!: DOMRect;\r\n contentChange: BehaviorSubject<any> = new BehaviorSubject(null);\r\n positionChange: Subject<any> = new Subject();\r\n timeoutHide: any;\r\n private _unSubject = new Subject();\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private portalService: XPortalService,\r\n private viewContainerRef: ViewContainerRef,\r\n private overlay: Overlay\r\n ) {\r\n super();\r\n }\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n !this.manual && this.show();\r\n }\r\n\r\n @HostListener('mouseleave') mouseleave() {\r\n !this.manual && this.hide();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { content, visible } = changes;\r\n XIsChange(content) && this.contentChange.next(this.content);\r\n if (XIsChange(visible)) {\r\n if (this.visible) this.show();\r\n else this.hide();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.contentChange.unsubscribe();\r\n }\r\n\r\n show() {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (!this.portal || (this.portal && !this.portal.overlayRef?.hasAttached())) {\r\n this.visible = true;\r\n this.createPortal();\r\n }\r\n }\r\n\r\n hide() {\r\n if (this.portal?.overlayRef?.hasAttached()) {\r\n this.timeoutHide = setTimeout(() => {\r\n this.visible = false;\r\n this.portal.overlayRef?.dispose();\r\n });\r\n }\r\n }\r\n\r\n createPortal() {\r\n const config: OverlayConfig = {\r\n backdropClass: '',\r\n positionStrategy: this.portalService.setPlacement({\r\n elementRef: this.elementRef,\r\n placement: [this.placement as XPlacement, 'bottom', 'top', 'left', 'right']\r\n }),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XTooltipPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this._unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XPlacement;\r\n place !== this.placement && this.positionChange.next(place);\r\n });\r\n }\r\n\r\n setInstance() {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n this.box = this.elementRef.nativeElement.getBoundingClientRect();\r\n Object.assign(componentRef.instance, {\r\n box: this.box,\r\n content: this.content,\r\n contentChange: this.contentChange,\r\n color: this.color,\r\n backgroundColor: this.backgroundColor,\r\n placement: this.placement,\r\n positionChange: this.positionChange,\r\n portalHover: (hover: boolean) => {\r\n if (this.timeoutHide && hover) {\r\n clearTimeout(this.timeoutHide);\r\n } else {\r\n this.hide();\r\n }\r\n },\r\n viewInit: () => this.updatePortal()\r\n });\r\n componentRef.changeDetectorRef.detectChanges();\r\n }\r\n\r\n updatePortal() {\r\n this.portal.overlayRef?.updatePosition();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XTooltipDirective } from './tooltip.directive';\r\nimport { XTooltipPortalComponent } from './tooltip-portal.component';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XTooltipProperty } from './tooltip.property';\r\n\r\n@NgModule({\r\n declarations: [XTooltipDirective, XTooltipPortalComponent, XTooltipProperty],\r\n exports: [XTooltipDirective, XTooltipPortalComponent],\r\n imports: [CommonModule, XPortalModule]\r\n})\r\nexport class XTooltipModule {}\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-tooltip.mjs","sources":["../../../../lib/ng-nest/ui/tooltip/tooltip.property.ts","../../../../lib/ng-nest/ui/tooltip/tooltip-portal.component.ts","../../../../lib/ng-nest/ui/tooltip/tooltip-portal.component.html","../../../../lib/ng-nest/ui/tooltip/tooltip.directive.ts","../../../../lib/ng-nest/ui/tooltip/tooltip.module.ts","../../../../lib/ng-nest/ui/tooltip/ng-nest-ui-tooltip.ts"],"sourcesContent":["import { XPlacement, XInputBoolean, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Directive } from '@angular/core';\r\n\r\n/**\r\n * Tooltip\r\n * @selector x-tooltip\r\n * @decorator directive\r\n */\r\nexport const XTooltipPrefix = 'x-tooltip';\r\nconst X_CONFIG_NAME = 'tooltip';\r\n\r\n/**\r\n * Tooltip Property\r\n */\r\n@Directive({ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` })\r\nexport class XTooltipProperty {\r\n /**\r\n * @zh_CN 内容\r\n * @en_US Content\r\n */\r\n @Input() content?: string;\r\n /**\r\n * @zh_CN 显示位置\r\n * @en_US Display position\r\n */\r\n @Input() @XWithConfig<XPlacement>(X_CONFIG_NAME, 'bottom') placement?: XPlacement;\r\n /**\r\n * @zh_CN 显示/隐藏\r\n * @en_US Show/hide\r\n */\r\n @Input() @XInputBoolean() visible?: XBoolean;\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n @Input() backgroundColor?: string;\r\n /**\r\n * @zh_CN 文字颜色\r\n * @en_US Text color\r\n */\r\n @Input() color?: string;\r\n /**\r\n * @zh_CN 手动处理关闭事件\r\n * @en_US Manually handle the shutdown event\r\n */\r\n @Input() @XInputBoolean() manual?: XBoolean;\r\n /**\r\n * @zh_CN 鼠标移入后延时多少才显示\r\n * @en_US How much is the mouse transfer after transfer\r\n */\r\n @Input() mouseEnterDelay: number = 150;\r\n /**\r\n * @zh_CN 鼠标移出后延时多少才隐藏\r\n * @en_US How much hidden is hidden after the mouse is removed\r\n */\r\n @Input() mouseLeaveDelay: number = 100;\r\n}\r\n\r\n/**\r\n * Tooltip Portal\r\n * @selector x-tooltip-portal\r\n * @decorator component\r\n */\r\nexport const XTooltipPortalPrefix = 'x-tooltip-portal';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n OnInit,\r\n ElementRef,\r\n OnDestroy,\r\n ViewChild,\r\n Renderer2,\r\n HostListener,\r\n AfterViewInit,\r\n HostBinding\r\n} from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { XTooltipPortalPrefix } from './tooltip.property';\r\nimport { XPlacement, XClassMap, XFadeAnimation } from '@ng-nest/ui/core';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XTooltipPortalPrefix}`,\r\n templateUrl: './tooltip-portal.component.html',\r\n styleUrls: ['./tooltip-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XFadeAnimation]\r\n})\r\nexport class XTooltipPortalComponent implements OnInit, OnDestroy, OnDestroy, AfterViewInit {\r\n @HostListener('mouseenter') mouseenter() {\r\n this.portalHover(true);\r\n }\r\n @HostListener('mouseleave') mouseleave() {\r\n this.portalHover(false);\r\n }\r\n\r\n @HostBinding('@x-fade-animation') animation: any;\r\n\r\n @ViewChild('tooltipPortal', { static: true }) tooltipPortal!: ElementRef;\r\n @ViewChild('tooltipArrow', { static: false }) tooltipArrow!: ElementRef;\r\n @ViewChild('tooltipArrowAfter', { static: false }) tooltipArrowAfter!: ElementRef;\r\n\r\n contentChange!: BehaviorSubject<any>;\r\n classMap: XClassMap = {};\r\n box!: DOMRect;\r\n portalBox!: DOMRect;\r\n arrowBox!: DOMRect;\r\n portalHover!: Function;\r\n viewInit!: Function;\r\n destroy!: Function;\r\n placement!: XPlacement;\r\n previousPlacement!: XPlacement;\r\n content!: string;\r\n color!: string;\r\n backgroundColor!: string;\r\n positionChange: Subject<any> = new Subject();\r\n private _unSubject = new Subject<void>();\r\n\r\n constructor(private renderer: Renderer2, public cdr: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n this.contentChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.content = x;\r\n this.cdr.detectChanges();\r\n });\r\n this.positionChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {\r\n this.placement = x;\r\n this.setClassMap();\r\n setTimeout(() => this.setArrow());\r\n this.cdr.detectChanges();\r\n });\r\n this.setClassMap();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.viewInit();\r\n this.portalBox = this.tooltipPortal.nativeElement.getBoundingClientRect();\r\n this.arrowBox = this.tooltipArrow.nativeElement.getBoundingClientRect();\r\n this.setArrow();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap[`${XTooltipPortalPrefix}-${this.previousPlacement}`] = false;\r\n this.classMap[`${XTooltipPortalPrefix}-${this.placement}`] = true;\r\n this.previousPlacement = `${this.placement}` as XPlacement;\r\n }\r\n\r\n setArrow() {\r\n let offset = this.arrowBox.height / 2;\r\n if (this.portalBox.height > this.box.height && (this.includes('right-') || this.includes('left-'))) {\r\n if (this.includes('-start')) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, 'top', `${this.box.height / 2 - offset}px`);\r\n } else if (this.includes('-end')) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, 'bottom', `${this.box.height / 2 - offset}px`);\r\n }\r\n } else if (this.portalBox.width > this.box.width && (this.includes('top-') || this.includes('bottom-'))) {\r\n if (this.includes('-start')) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, 'left', `${this.box.width / 2 - offset}px`);\r\n } else if (this.includes('-end')) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, 'right', `${this.box.width / 2 - offset}px`);\r\n }\r\n }\r\n if (!this.backgroundColor) return;\r\n const ptSplit = this.placement.split('-');\r\n if (ptSplit.length > 0) {\r\n this.renderer.setStyle(this.tooltipArrow.nativeElement, `border-${ptSplit[0]}-color`, this.backgroundColor);\r\n this.renderer.setStyle(this.tooltipArrowAfter.nativeElement, `border-${ptSplit[0]}-color`, this.backgroundColor);\r\n }\r\n }\r\n\r\n includes(arrow: string) {\r\n return this.placement.indexOf(arrow) >= 0;\r\n }\r\n}\r\n","<div #tooltipPortal class=\"x-tooltip-portal\" [ngClass]=\"classMap\">\r\n <div class=\"x-tooltip-portal-inner\" [style.backgroundColor]=\"backgroundColor\" [style.color]=\"color\" [innerHTML]=\"content\"></div>\r\n <div #tooltipArrow class=\"x-tooltip-portal-arrow\">\r\n <div #tooltipArrowAfter class=\"x-tooltip-portal-arrow-after\"></div>\r\n </div>\r\n</div>\r\n","import { ElementRef, ViewContainerRef, Directive, HostListener, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { XTooltipPortalComponent } from './tooltip-portal.component';\r\nimport { XTooltipPrefix, XTooltipProperty } from './tooltip.property';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\nimport { XIsChange, XPlacement } from '@ng-nest/ui/core';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { OverlayConfig, FlexibleConnectedPositionStrategy, ConnectedOverlayPositionChange, Overlay } from '@angular/cdk/overlay';\r\n\r\n@Directive({ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` })\r\nexport class XTooltipDirective extends XTooltipProperty implements OnChanges, OnDestroy {\r\n portal!: XPortalOverlayRef<XTooltipPortalComponent>;\r\n box!: DOMRect;\r\n contentChange: BehaviorSubject<any> = new BehaviorSubject(null);\r\n positionChange: Subject<any> = new Subject();\r\n timeoutHide: any;\r\n timeoutShow: any;\r\n private _unSubject = new Subject();\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private portalService: XPortalService,\r\n private viewContainerRef: ViewContainerRef,\r\n private overlay: Overlay\r\n ) {\r\n super();\r\n }\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n !this.manual && this.show();\r\n }\r\n\r\n @HostListener('mouseleave') mouseleave() {\r\n !this.manual && this.hide();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { content, visible } = changes;\r\n XIsChange(content) && this.contentChange.next(this.content);\r\n if (XIsChange(visible)) {\r\n if (this.visible) this.show();\r\n else this.hide();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.contentChange.unsubscribe();\r\n }\r\n\r\n show() {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.timeoutShow) clearTimeout(this.timeoutShow);\r\n if (!this.portal || (this.portal && !this.portal.overlayRef?.hasAttached())) {\r\n this.timeoutShow = setTimeout(() => {\r\n this.visible = true;\r\n this.createPortal();\r\n }, this.mouseEnterDelay);\r\n }\r\n }\r\n\r\n hide() {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.timeoutShow) clearTimeout(this.timeoutShow);\r\n if (this.portal?.overlayRef?.hasAttached()) {\r\n this.timeoutHide = setTimeout(() => {\r\n this.visible = false;\r\n this.portal.overlayRef?.dispose();\r\n }, this.mouseLeaveDelay);\r\n }\r\n }\r\n\r\n createPortal() {\r\n const config: OverlayConfig = {\r\n backdropClass: '',\r\n positionStrategy: this.portalService.setPlacement({\r\n elementRef: this.elementRef,\r\n placement: [this.placement as XPlacement, 'bottom', 'top', 'left', 'right']\r\n }),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XTooltipPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this._unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XPlacement;\r\n place !== this.placement && this.positionChange.next(place);\r\n });\r\n }\r\n\r\n setInstance() {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n this.box = this.elementRef.nativeElement.getBoundingClientRect();\r\n Object.assign(componentRef.instance, {\r\n box: this.box,\r\n content: this.content,\r\n contentChange: this.contentChange,\r\n color: this.color,\r\n backgroundColor: this.backgroundColor,\r\n placement: this.placement,\r\n positionChange: this.positionChange,\r\n portalHover: (hover: boolean) => {\r\n if (this.timeoutHide && hover) {\r\n clearTimeout(this.timeoutHide);\r\n } else {\r\n this.hide();\r\n }\r\n },\r\n viewInit: () => this.updatePortal()\r\n });\r\n componentRef.changeDetectorRef.detectChanges();\r\n }\r\n\r\n updatePortal() {\r\n this.portal.overlayRef?.updatePosition();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XTooltipDirective } from './tooltip.directive';\r\nimport { XTooltipPortalComponent } from './tooltip-portal.component';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XTooltipProperty } from './tooltip.property';\r\n\r\n@NgModule({\r\n declarations: [XTooltipDirective, XTooltipPortalComponent, XTooltipProperty],\r\n exports: [XTooltipDirective, XTooltipPortalComponent],\r\n imports: [CommonModule, XPortalModule]\r\n})\r\nexport class XTooltipModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -40,8 +40,8 @@ class XTransferProperty extends XControlValueAccessor {
40
40
  this.data = [];
41
41
  }
42
42
  }
43
- /** @nocollapse */ /** @nocollapse */ XTransferProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTransferProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
44
- /** @nocollapse */ /** @nocollapse */ XTransferProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XTransferProperty, selector: "ng-component", inputs: { data: "data", titles: "titles", drag: "drag", search: "search", nodeTpl: "nodeTpl", titleTpl: "titleTpl" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
43
+ /** @nocollapse */ /** @nocollapse */ XTransferProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTransferProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
44
+ /** @nocollapse */ /** @nocollapse */ XTransferProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XTransferProperty, selector: "ng-component", inputs: { data: "data", titles: "titles", drag: "drag", search: "search", nodeTpl: "nodeTpl", titleTpl: "titleTpl" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
45
45
  __decorate([
46
46
  XDataConvert()
47
47
  ], XTransferProperty.prototype, "data", void 0);
@@ -55,7 +55,7 @@ __decorate([
55
55
  __decorate([
56
56
  XInputBoolean()
57
57
  ], XTransferProperty.prototype, "search", void 0);
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTransferProperty, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTransferProperty, decorators: [{
59
59
  type: Component,
60
60
  args: [{ template: '' }]
61
61
  }], propDecorators: { data: [{
@@ -247,19 +247,19 @@ class XTransferComponent extends XTransferProperty {
247
247
  this.cdr.detectChanges();
248
248
  }
249
249
  }
250
- /** @nocollapse */ /** @nocollapse */ XTransferComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTransferComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
251
- /** @nocollapse */ /** @nocollapse */ XTransferComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XTransferComponent, selector: "x-transfer", providers: [XValueAccessor(XTransferComponent)], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #transfer class=\"x-transfer\" cdkDropListGroup [ngClass]=\"classMap\">\r\n <div class=\"x-transfer-box\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: left }\"></ng-container>\r\n <ul\r\n class=\"x-transfer-list\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"left.list\"\r\n [cdkDropListDisabled]=\"!drag\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\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 </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\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: right }\"></ng-container>\r\n <ul\r\n class=\"x-transfer-list\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"right.list\"\r\n [cdkDropListDisabled]=\"!drag\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\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>\r\n\r\n<ng-template #sourceTitleTpl let-source=\"source\">\r\n <div class=\"x-transfer-title\">\r\n <x-checkbox\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 <ng-container *xOutlet=\"titleTpl; context: { $title: source.title, $checkedCount: source.checkedCount, $count: source.list.length }\"\r\n ><span>{{ source.checkedCount }} / {{ source.list.length }}</span></ng-container\r\n >\r\n </div>\r\n <!-- <div class=\"x-transfer-search\" *ngIf=\"search\">\r\n <x-input\r\n icon=\"fto-search\"\r\n [(ngModel)]=\"source.searchInput\"\r\n (ngModelChange)=\"searchInputChange(source)\"\r\n clearable\r\n ></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 : node.label, 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>\r\n", styles: [".x-transfer{margin:0;padding:0;display:inline-flex;align-items:center}.x-transfer-box{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);width:12rem}.x-transfer-title{padding:.25rem .5625rem;display:flex;align-items:center;justify-content:space-between;border-bottom:.0625rem solid var(--x-border);background-color:var(--x-background);color:var(--x-text-300)}.x-transfer-title>span{margin-left:.325rem}.x-transfer-list{display:flex;flex-direction:column;padding:.25rem;height:18rem;overflow-y:auto}.x-transfer-list>li{padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-transfer-list.cdk-drop-list-dragging>li:hover{background-color:transparent}.x-transfer-list.cdk-drop-list-dragging>li.cdk-drag-placeholder{border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}.x-transfer-list.cdk-drop-list-dragging>li:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-transfer-buttons{margin:0 1rem;display:flex;flex-direction:column}.x-transfer-buttons>x-button:not(:first-child){margin-top:.5rem}.x-transfer-search{padding:.5rem;border-bottom:.0625rem solid var(--x-border)}body>li.x-transfer-item.cdk-drag-preview{padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}body>li.x-transfer-item.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], components: [{ type: i2.XButtonComponent, selector: "x-button" }, { type: i3.XCheckboxComponent, selector: "x-checkbox" }], directives: [{ type: i4.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTransferComponent, decorators: [{
250
+ /** @nocollapse */ /** @nocollapse */ XTransferComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTransferComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
251
+ /** @nocollapse */ /** @nocollapse */ XTransferComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XTransferComponent, selector: "x-transfer", providers: [XValueAccessor(XTransferComponent)], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #transfer class=\"x-transfer\" cdkDropListGroup [ngClass]=\"classMap\">\r\n <div class=\"x-transfer-box\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: left }\"></ng-container>\r\n <ul\r\n class=\"x-transfer-list\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"left.list\"\r\n [cdkDropListDisabled]=\"!drag\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\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 </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\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: right }\"></ng-container>\r\n <ul\r\n class=\"x-transfer-list\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"right.list\"\r\n [cdkDropListDisabled]=\"!drag\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\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>\r\n\r\n<ng-template #sourceTitleTpl let-source=\"source\">\r\n <div class=\"x-transfer-title\">\r\n <x-checkbox\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 <ng-container *xOutlet=\"titleTpl; context: { $title: source.title, $checkedCount: source.checkedCount, $count: source.list.length }\"\r\n ><span>{{ source.checkedCount }} / {{ source.list.length }}</span></ng-container\r\n >\r\n </div>\r\n <!-- <div class=\"x-transfer-search\" *ngIf=\"search\">\r\n <x-input\r\n icon=\"fto-search\"\r\n [(ngModel)]=\"source.searchInput\"\r\n (ngModelChange)=\"searchInputChange(source)\"\r\n clearable\r\n ></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 : node.label, 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>\r\n", styles: [".x-transfer{margin:0;padding:0;display:inline-flex;align-items:center}.x-transfer-box{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);width:12rem}.x-transfer-title{padding:.25rem .5625rem;display:flex;align-items:center;justify-content:space-between;border-bottom:.0625rem solid var(--x-border);background-color:var(--x-background);color:var(--x-text-300)}.x-transfer-title>span{margin-left:.325rem}.x-transfer-list{display:flex;flex-direction:column;padding:.25rem;height:18rem;overflow-y:auto}.x-transfer-list>li{padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-transfer-list.cdk-drop-list-dragging>li:hover{background-color:transparent}.x-transfer-list.cdk-drop-list-dragging>li.cdk-drag-placeholder{border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}.x-transfer-list.cdk-drop-list-dragging>li:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-transfer-buttons{margin:0 1rem;display:flex;flex-direction:column}.x-transfer-buttons>x-button:not(:first-child){margin-top:.5rem}.x-transfer-search{padding:.5rem;border-bottom:.0625rem solid var(--x-border)}body>li.x-transfer-item.cdk-drag-preview{padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}body>li.x-transfer-item.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], components: [{ type: i2.XButtonComponent, selector: "x-button" }, { type: i3.XCheckboxComponent, selector: "x-checkbox" }], directives: [{ type: i4.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTransferComponent, decorators: [{
253
253
  type: Component,
254
254
  args: [{ selector: `${XTransferPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XTransferComponent)], template: "<div #transfer class=\"x-transfer\" cdkDropListGroup [ngClass]=\"classMap\">\r\n <div class=\"x-transfer-box\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: left }\"></ng-container>\r\n <ul\r\n class=\"x-transfer-list\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"left.list\"\r\n [cdkDropListDisabled]=\"!drag\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\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 </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\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: right }\"></ng-container>\r\n <ul\r\n class=\"x-transfer-list\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"right.list\"\r\n [cdkDropListDisabled]=\"!drag\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\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>\r\n\r\n<ng-template #sourceTitleTpl let-source=\"source\">\r\n <div class=\"x-transfer-title\">\r\n <x-checkbox\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 <ng-container *xOutlet=\"titleTpl; context: { $title: source.title, $checkedCount: source.checkedCount, $count: source.list.length }\"\r\n ><span>{{ source.checkedCount }} / {{ source.list.length }}</span></ng-container\r\n >\r\n </div>\r\n <!-- <div class=\"x-transfer-search\" *ngIf=\"search\">\r\n <x-input\r\n icon=\"fto-search\"\r\n [(ngModel)]=\"source.searchInput\"\r\n (ngModelChange)=\"searchInputChange(source)\"\r\n clearable\r\n ></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 : node.label, 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>\r\n", styles: [".x-transfer{margin:0;padding:0;display:inline-flex;align-items:center}.x-transfer-box{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);width:12rem}.x-transfer-title{padding:.25rem .5625rem;display:flex;align-items:center;justify-content:space-between;border-bottom:.0625rem solid var(--x-border);background-color:var(--x-background);color:var(--x-text-300)}.x-transfer-title>span{margin-left:.325rem}.x-transfer-list{display:flex;flex-direction:column;padding:.25rem;height:18rem;overflow-y:auto}.x-transfer-list>li{padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-transfer-list.cdk-drop-list-dragging>li:hover{background-color:transparent}.x-transfer-list.cdk-drop-list-dragging>li.cdk-drag-placeholder{border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}.x-transfer-list.cdk-drop-list-dragging>li:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-transfer-buttons{margin:0 1rem;display:flex;flex-direction:column}.x-transfer-buttons>x-button:not(:first-child){margin-top:.5rem}.x-transfer-search{padding:.5rem;border-bottom:.0625rem solid var(--x-border)}body>li.x-transfer-item.cdk-drag-preview{padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}body>li.x-transfer-item.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"] }]
255
255
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; } });
256
256
 
257
257
  class XTransferModule {
258
258
  }
259
- /** @nocollapse */ /** @nocollapse */ XTransferModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTransferModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
260
- /** @nocollapse */ /** @nocollapse */ XTransferModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTransferModule, declarations: [XTransferComponent, XTransferProperty], imports: [CommonModule, FormsModule, DragDropModule, XOutletModule, XCheckboxModule, XButtonModule, XInputModule, XBaseFormModule], exports: [XTransferComponent] });
261
- /** @nocollapse */ /** @nocollapse */ XTransferModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTransferModule, imports: [[CommonModule, FormsModule, DragDropModule, XOutletModule, XCheckboxModule, XButtonModule, XInputModule, XBaseFormModule]] });
262
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTransferModule, decorators: [{
259
+ /** @nocollapse */ /** @nocollapse */ XTransferModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTransferModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
260
+ /** @nocollapse */ /** @nocollapse */ XTransferModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTransferModule, declarations: [XTransferComponent, XTransferProperty], imports: [CommonModule, FormsModule, DragDropModule, XOutletModule, XCheckboxModule, XButtonModule, XInputModule, XBaseFormModule], exports: [XTransferComponent] });
261
+ /** @nocollapse */ /** @nocollapse */ XTransferModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTransferModule, imports: [[CommonModule, FormsModule, DragDropModule, XOutletModule, XCheckboxModule, XButtonModule, XInputModule, XBaseFormModule]] });
262
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTransferModule, decorators: [{
263
263
  type: NgModule,
264
264
  args: [{
265
265
  declarations: [XTransferComponent, XTransferProperty],
@@ -66,8 +66,8 @@ class XTreeFileProperty extends XTreeProperty {
66
66
  this.showCrumb = true;
67
67
  }
68
68
  }
69
- /** @nocollapse */ /** @nocollapse */ XTreeFileProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeFileProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
70
- /** @nocollapse */ /** @nocollapse */ XTreeFileProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XTreeFileProperty, selector: "ng-component", 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
+ /** @nocollapse */ /** @nocollapse */ XTreeFileProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeFileProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
70
+ /** @nocollapse */ /** @nocollapse */ XTreeFileProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XTreeFileProperty, selector: "ng-component", inputs: { data: "data", domain: "domain", toggle: "toggle", showToggle: "showToggle", showTree: "showTree", showCrumb: "showCrumb", maxHeight: "maxHeight", spacing: "spacing" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
71
71
  __decorate([
72
72
  XDataConvert()
73
73
  ], XTreeFileProperty.prototype, "data", void 0);
@@ -91,7 +91,7 @@ __decorate([
91
91
  XWithConfig(X_CONFIG_NAME, 0.5),
92
92
  XInputNumber()
93
93
  ], XTreeFileProperty.prototype, "spacing", void 0);
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeFileProperty, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeFileProperty, decorators: [{
95
95
  type: Component,
96
96
  args: [{ template: '' }]
97
97
  }], propDecorators: { data: [{
@@ -204,19 +204,19 @@ class XTreeFileComponent extends XTreeFileProperty {
204
204
  this.cdr.detectChanges();
205
205
  }
206
206
  }
207
- /** @nocollapse */ /** @nocollapse */ XTreeFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeFileComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.HttpClient }, { token: i2.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
208
- /** @nocollapse */ /** @nocollapse */ XTreeFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", 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"], components: [{ type: i3.XTreeComponent, selector: "x-tree" }, { type: i4.XLoadingComponent, selector: "x-loading, [x-loading]" }, { type: i5.XLinkComponent, selector: "x-link" }, { type: i6.XCrumbComponent, selector: "x-crumb" }, { type: i7.XIconComponent, selector: "x-icon" }, { type: i8.XHighlightComponent, selector: "x-highlight" }], directives: [{ type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeFileComponent, decorators: [{
207
+ /** @nocollapse */ /** @nocollapse */ XTreeFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeFileComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.HttpClient }, { token: i2.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
208
+ /** @nocollapse */ /** @nocollapse */ XTreeFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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"], components: [{ type: i3.XTreeComponent, selector: "x-tree" }, { type: i4.XLoadingComponent, selector: "x-loading, [x-loading]" }, { type: i5.XLinkComponent, selector: "x-link" }, { type: i6.XCrumbComponent, selector: "x-crumb" }, { type: i7.XIconComponent, selector: "x-icon" }, { type: i8.XHighlightComponent, selector: "x-highlight" }], directives: [{ type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeFileComponent, decorators: [{
210
210
  type: Component,
211
211
  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"] }]
212
212
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.HttpClient }, { type: i2.XConfigService }]; } });
213
213
 
214
214
  class XTreeFileModule {
215
215
  }
216
- /** @nocollapse */ /** @nocollapse */ XTreeFileModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
217
- /** @nocollapse */ /** @nocollapse */ XTreeFileModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeFileModule, declarations: [XTreeFileComponent, XTreeFileProperty], imports: [CommonModule, HttpClientModule, XTreeModule, XLinkModule, XCrumbModule, XIconModule, XLoadingModule, XHighlightModule], exports: [XTreeFileComponent] });
218
- /** @nocollapse */ /** @nocollapse */ XTreeFileModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeFileModule, imports: [[CommonModule, HttpClientModule, XTreeModule, XLinkModule, XCrumbModule, XIconModule, XLoadingModule, XHighlightModule]] });
219
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeFileModule, decorators: [{
216
+ /** @nocollapse */ /** @nocollapse */ XTreeFileModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
217
+ /** @nocollapse */ /** @nocollapse */ XTreeFileModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeFileModule, declarations: [XTreeFileComponent, XTreeFileProperty], imports: [CommonModule, HttpClientModule, XTreeModule, XLinkModule, XCrumbModule, XIconModule, XLoadingModule, XHighlightModule], exports: [XTreeFileComponent] });
218
+ /** @nocollapse */ /** @nocollapse */ XTreeFileModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeFileModule, imports: [[CommonModule, HttpClientModule, XTreeModule, XLinkModule, XCrumbModule, XIconModule, XLoadingModule, XHighlightModule]] });
219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeFileModule, decorators: [{
220
220
  type: NgModule,
221
221
  args: [{
222
222
  declarations: [XTreeFileComponent, XTreeFileProperty],
@@ -88,8 +88,8 @@ class XTreeProperty extends XProperty {
88
88
  this.manualChange = new EventEmitter();
89
89
  }
90
90
  }
91
- /** @nocollapse */ /** @nocollapse */ XTreeProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
92
- /** @nocollapse */ /** @nocollapse */ XTreeProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XTreeProperty, selector: "ng-component", inputs: { data: "data", checkbox: "checkbox", lazy: "lazy", activatedId: "activatedId", expanded: "expanded", checked: "checked", expandedAll: "expandedAll", expandedLevel: "expandedLevel", nodeOpen: "nodeOpen", spacing: "spacing", labelTpl: "labelTpl", nodeHeight: "nodeHeight", allowManyActivated: "allowManyActivated", manual: "manual", levelCheck: "levelCheck", nodeNowrap: "nodeNowrap", nodeAlignItems: "nodeAlignItems", actions: "actions" }, outputs: { activatedChange: "activatedChange", checkboxChange: "checkboxChange", manualChange: "manualChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
91
+ /** @nocollapse */ /** @nocollapse */ XTreeProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
92
+ /** @nocollapse */ /** @nocollapse */ XTreeProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XTreeProperty, selector: "ng-component", inputs: { data: "data", checkbox: "checkbox", lazy: "lazy", activatedId: "activatedId", expanded: "expanded", checked: "checked", expandedAll: "expandedAll", expandedLevel: "expandedLevel", nodeOpen: "nodeOpen", spacing: "spacing", labelTpl: "labelTpl", nodeHeight: "nodeHeight", allowManyActivated: "allowManyActivated", manual: "manual", levelCheck: "levelCheck", nodeNowrap: "nodeNowrap", nodeAlignItems: "nodeAlignItems", actions: "actions", virtualScroll: "virtualScroll" }, outputs: { activatedChange: "activatedChange", checkboxChange: "checkboxChange", manualChange: "manualChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
93
93
  __decorate([
94
94
  XDataConvert()
95
95
  ], XTreeProperty.prototype, "data", void 0);
@@ -131,7 +131,11 @@ __decorate([
131
131
  __decorate([
132
132
  XWithConfig(X_CONFIG_NAME, 'center')
133
133
  ], XTreeProperty.prototype, "nodeAlignItems", void 0);
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeProperty, decorators: [{
134
+ __decorate([
135
+ XWithConfig(X_CONFIG_NAME),
136
+ XInputBoolean()
137
+ ], XTreeProperty.prototype, "virtualScroll", void 0);
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeProperty, decorators: [{
135
139
  type: Component,
136
140
  args: [{ template: '' }]
137
141
  }], propDecorators: { data: [{
@@ -174,6 +178,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
174
178
  type: Input
175
179
  }], actions: [{
176
180
  type: Input
181
+ }], virtualScroll: [{
182
+ type: Input
177
183
  }], manualChange: [{
178
184
  type: Output
179
185
  }] } });
@@ -206,8 +212,8 @@ class XTreeNodeProperty extends XProperty {
206
212
  this.nodeAlignItems = 'center';
207
213
  }
208
214
  }
209
- /** @nocollapse */ /** @nocollapse */ XTreeNodeProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeNodeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
210
- /** @nocollapse */ /** @nocollapse */ XTreeNodeProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XTreeNodeProperty, selector: "ng-component", inputs: { node: "node", level: "level", lazy: "lazy", nodeHeight: "nodeHeight", nodeNowrap: "nodeNowrap", nodeAlignItems: "nodeAlignItems", lazyData: "lazyData" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
215
+ /** @nocollapse */ /** @nocollapse */ XTreeNodeProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeNodeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
216
+ /** @nocollapse */ /** @nocollapse */ XTreeNodeProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XTreeNodeProperty, selector: "ng-component", inputs: { node: "node", level: "level", lazy: "lazy", nodeHeight: "nodeHeight", nodeNowrap: "nodeNowrap", nodeAlignItems: "nodeAlignItems", lazyData: "lazyData" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
211
217
  __decorate([
212
218
  XInputBoolean()
213
219
  ], XTreeNodeProperty.prototype, "lazy", void 0);
@@ -217,7 +223,7 @@ __decorate([
217
223
  __decorate([
218
224
  XInputBoolean()
219
225
  ], XTreeNodeProperty.prototype, "nodeNowrap", void 0);
220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeNodeProperty, decorators: [{
226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeNodeProperty, decorators: [{
221
227
  type: Component,
222
228
  args: [{ template: '' }]
223
229
  }], propDecorators: { node: [{
@@ -377,11 +383,11 @@ class XTreeNodeComponent extends XTreeNodeProperty {
377
383
  return item.id;
378
384
  }
379
385
  }
380
- /** @nocollapse */ /** @nocollapse */ XTreeNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeNodeComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
381
- /** @nocollapse */ /** @nocollapse */ XTreeNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XTreeNodeComponent, selector: "x-tree-node, [x-tree-node]", inputs: { parent: "parent", tree: "tree" }, host: { properties: { "class.x-tree-node": "this.rootClass" } }, usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"x-tree-node-content\"\r\n [class.x-activated]=\"tree.activatedNode?.id === node.id\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.height.rem]=\"node.height ? node.height : nodeHeight ? nodeHeight : ''\"\r\n [style.align-items]=\"node.alignItems ? node.alignItems : nodeAlignItems\"\r\n (click)=\"onActivate($event, node)\"\r\n>\r\n <x-icon\r\n *ngIf=\"!loading\"\r\n [class.is-leaf]=\"!node.leaf\"\r\n [class.is-open]=\"node.open\"\r\n type=\"fto-chevron-right\"\r\n (click)=\"!tree.nodeOpen && onToggle($event, node)\"\r\n ></x-icon>\r\n <x-icon *ngIf=\"loading\" type=\"fto-loader\" [spin]=\"loading\"></x-icon>\r\n <x-checkbox\r\n *ngIf=\"tree.checkbox\"\r\n [data]=\"[{ label: '', id: node.id }]\"\r\n [(ngModel)]=\"node.checked\"\r\n (ngModelChange)=\"onCheckboxChange()\"\r\n [indeterminate]=\"node.indeterminate\"\r\n [disabled]=\"getNodeDisabled(node.disabled)\"\r\n (click)=\"$event.stopPropagation()\"\r\n ></x-checkbox>\r\n <span\r\n class=\"x-tree-node-label\"\r\n [class.nowrap]=\"node.nowrap === false || node.nowrap === true ? node.nowrap : nodeNowrap\"\r\n [title]=\"node.label\"\r\n *ngIf=\"!tree.labelTpl; else labelTpl\"\r\n >{{ node.label }}</span\r\n >\r\n <ng-template #labelTpl>\r\n <ng-container *xOutlet=\"tree.labelTpl; context: { $node: node }\"></ng-container>\r\n </ng-template>\r\n <span class=\"x-tree-node-operations\">\r\n <x-link\r\n *ngFor=\"let action of tree.actions; trackBy: trackByItem\"\r\n [icon]=\"action.icon\"\r\n [title]=\"action.label\"\r\n (click)=\"onAction($event, action, node)\"\r\n ></x-link>\r\n </span>\r\n</div>\r\n<ul *ngIf=\"node.childrenLoaded || (node.leaf && node.open)\" [hidden]=\"!node.open\">\r\n <li\r\n x-tree-node\r\n *ngFor=\"let child of node.children; trackBy: trackByItem\"\r\n [node]=\"child\"\r\n [parent]=\"this\"\r\n [lazy]=\"lazy\"\r\n [lazyData]=\"lazyData\"\r\n [nodeHeight]=\"nodeHeight\"\r\n [nodeNowrap]=\"nodeNowrap\"\r\n [nodeAlignItems]=\"nodeAlignItems\"\r\n [tree]=\"tree\"\r\n ></li>\r\n</ul>\r\n", styles: [".x-tree-node{margin:0;padding:0}.x-tree-node-content{display:flex;padding:.0625rem 0;cursor:pointer}.x-tree-node-content x-icon{padding:.25rem;color:var(--x-text-400);font-size:1rem;margin-right:.125rem;transition:var(--x-animation-duration-base)}.x-tree-node-content x-icon.is-leaf{visibility:hidden}.x-tree-node-content x-icon.is-open{transform:rotate(90deg)}.x-tree-node-content x-icon:hover{color:var(--x-text-300)}.x-tree-node-content x-checkbox{margin-right:.325rem;padding:.25rem 0}.x-tree-node-content:hover,.x-tree-node-content.x-activated{background-color:var(--x-background-a100)}.x-tree-node-content:hover .x-tree-node-operations{display:flex;align-items:center}.x-tree-node-operations{display:none}.x-tree-node-operations .x-link{padding:0 .125rem}.x-tree-node-label{flex:1;-webkit-user-select:none;user-select:none}.x-tree-node-label.nowrap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}\n"], components: [{ type: i2.XIconComponent, selector: "x-icon" }, { type: i3.XCheckboxComponent, selector: "x-checkbox" }, { type: i4.XLinkComponent, selector: "x-link" }, { type: XTreeNodeComponent, selector: "x-tree-node, [x-tree-node]", inputs: ["parent", "tree"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
382
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeNodeComponent, decorators: [{
386
+ /** @nocollapse */ /** @nocollapse */ XTreeNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeNodeComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
387
+ /** @nocollapse */ /** @nocollapse */ XTreeNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XTreeNodeComponent, selector: "x-tree-node, [x-tree-node]", inputs: { parent: "parent", tree: "tree" }, host: { properties: { "class.x-tree-node": "this.rootClass" } }, usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"x-tree-node-content\"\r\n [class.x-activated]=\"tree.activatedNode?.id === node.id\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.height.rem]=\"node.height ? node.height : nodeHeight ? nodeHeight : ''\"\r\n [style.align-items]=\"node.alignItems ? node.alignItems : nodeAlignItems\"\r\n (click)=\"onActivate($event, node)\"\r\n>\r\n <x-icon\r\n *ngIf=\"!loading\"\r\n [class.is-leaf]=\"!node.leaf\"\r\n [class.is-open]=\"node.open\"\r\n type=\"fto-chevron-right\"\r\n (click)=\"!tree.nodeOpen && onToggle($event, node)\"\r\n ></x-icon>\r\n <x-icon *ngIf=\"loading\" type=\"fto-loader\" [spin]=\"loading\"></x-icon>\r\n <x-checkbox\r\n *ngIf=\"tree.checkbox\"\r\n [data]=\"[{ label: '', id: node.id }]\"\r\n [(ngModel)]=\"node.checked\"\r\n (ngModelChange)=\"onCheckboxChange()\"\r\n [indeterminate]=\"node.indeterminate\"\r\n [disabled]=\"getNodeDisabled(node.disabled)\"\r\n (click)=\"$event.stopPropagation()\"\r\n ></x-checkbox>\r\n <span\r\n class=\"x-tree-node-label\"\r\n [class.nowrap]=\"node.nowrap === false || node.nowrap === true ? node.nowrap : nodeNowrap\"\r\n [title]=\"node.label\"\r\n *ngIf=\"!tree.labelTpl; else labelTpl\"\r\n >{{ node.label }}</span\r\n >\r\n <ng-template #labelTpl>\r\n <ng-container *xOutlet=\"tree.labelTpl; context: { $node: node }\"></ng-container>\r\n </ng-template>\r\n <span class=\"x-tree-node-operations\">\r\n <x-link\r\n *ngFor=\"let action of tree.actions; trackBy: trackByItem\"\r\n [icon]=\"action.icon\"\r\n [title]=\"action.label\"\r\n (click)=\"onAction($event, action, node)\"\r\n ></x-link>\r\n </span>\r\n</div>\r\n<ul *ngIf=\"node.childrenLoaded || (node.leaf && node.open)\" [hidden]=\"!node.open\">\r\n <li\r\n x-tree-node\r\n *ngFor=\"let child of node.children; trackBy: trackByItem\"\r\n [node]=\"child\"\r\n [parent]=\"this\"\r\n [lazy]=\"lazy\"\r\n [lazyData]=\"lazyData\"\r\n [nodeHeight]=\"nodeHeight\"\r\n [nodeNowrap]=\"nodeNowrap\"\r\n [nodeAlignItems]=\"nodeAlignItems\"\r\n [tree]=\"tree\"\r\n ></li>\r\n</ul>\r\n", styles: [".x-tree-node{margin:0;padding:0}.x-tree-node-content{display:flex;padding:.0625rem 0;cursor:pointer}.x-tree-node-content x-icon{padding:.25rem;color:var(--x-text-400);font-size:1rem;margin-right:.125rem;transition:var(--x-animation-duration-base)}.x-tree-node-content x-icon.is-leaf{visibility:hidden}.x-tree-node-content x-icon.is-open{transform:rotate(90deg)}.x-tree-node-content x-icon:hover{color:var(--x-text-300)}.x-tree-node-content x-checkbox{margin-right:.325rem;padding:.25rem 0}.x-tree-node-content:hover,.x-tree-node-content.x-activated{background-color:var(--x-background-a100)}.x-tree-node-content:hover .x-tree-node-label,.x-tree-node-content.x-activated .x-tree-node-label{color:var(--x-primary)}.x-tree-node-content:hover .x-tree-node-operations{display:flex;align-items:center}.x-tree-node-operations{display:none}.x-tree-node-operations .x-link{padding:0 .125rem}.x-tree-node-label{flex:1;-webkit-user-select:none;user-select:none}.x-tree-node-label.nowrap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}\n"], components: [{ type: i2.XIconComponent, selector: "x-icon" }, { type: i3.XCheckboxComponent, selector: "x-checkbox" }, { type: i4.XLinkComponent, selector: "x-link" }, { type: XTreeNodeComponent, selector: "x-tree-node, [x-tree-node]", inputs: ["parent", "tree"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeNodeComponent, decorators: [{
383
389
  type: Component,
384
- args: [{ selector: `${XTreeNodePrefix}, [${XTreeNodePrefix}]`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"x-tree-node-content\"\r\n [class.x-activated]=\"tree.activatedNode?.id === node.id\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.height.rem]=\"node.height ? node.height : nodeHeight ? nodeHeight : ''\"\r\n [style.align-items]=\"node.alignItems ? node.alignItems : nodeAlignItems\"\r\n (click)=\"onActivate($event, node)\"\r\n>\r\n <x-icon\r\n *ngIf=\"!loading\"\r\n [class.is-leaf]=\"!node.leaf\"\r\n [class.is-open]=\"node.open\"\r\n type=\"fto-chevron-right\"\r\n (click)=\"!tree.nodeOpen && onToggle($event, node)\"\r\n ></x-icon>\r\n <x-icon *ngIf=\"loading\" type=\"fto-loader\" [spin]=\"loading\"></x-icon>\r\n <x-checkbox\r\n *ngIf=\"tree.checkbox\"\r\n [data]=\"[{ label: '', id: node.id }]\"\r\n [(ngModel)]=\"node.checked\"\r\n (ngModelChange)=\"onCheckboxChange()\"\r\n [indeterminate]=\"node.indeterminate\"\r\n [disabled]=\"getNodeDisabled(node.disabled)\"\r\n (click)=\"$event.stopPropagation()\"\r\n ></x-checkbox>\r\n <span\r\n class=\"x-tree-node-label\"\r\n [class.nowrap]=\"node.nowrap === false || node.nowrap === true ? node.nowrap : nodeNowrap\"\r\n [title]=\"node.label\"\r\n *ngIf=\"!tree.labelTpl; else labelTpl\"\r\n >{{ node.label }}</span\r\n >\r\n <ng-template #labelTpl>\r\n <ng-container *xOutlet=\"tree.labelTpl; context: { $node: node }\"></ng-container>\r\n </ng-template>\r\n <span class=\"x-tree-node-operations\">\r\n <x-link\r\n *ngFor=\"let action of tree.actions; trackBy: trackByItem\"\r\n [icon]=\"action.icon\"\r\n [title]=\"action.label\"\r\n (click)=\"onAction($event, action, node)\"\r\n ></x-link>\r\n </span>\r\n</div>\r\n<ul *ngIf=\"node.childrenLoaded || (node.leaf && node.open)\" [hidden]=\"!node.open\">\r\n <li\r\n x-tree-node\r\n *ngFor=\"let child of node.children; trackBy: trackByItem\"\r\n [node]=\"child\"\r\n [parent]=\"this\"\r\n [lazy]=\"lazy\"\r\n [lazyData]=\"lazyData\"\r\n [nodeHeight]=\"nodeHeight\"\r\n [nodeNowrap]=\"nodeNowrap\"\r\n [nodeAlignItems]=\"nodeAlignItems\"\r\n [tree]=\"tree\"\r\n ></li>\r\n</ul>\r\n", styles: [".x-tree-node{margin:0;padding:0}.x-tree-node-content{display:flex;padding:.0625rem 0;cursor:pointer}.x-tree-node-content x-icon{padding:.25rem;color:var(--x-text-400);font-size:1rem;margin-right:.125rem;transition:var(--x-animation-duration-base)}.x-tree-node-content x-icon.is-leaf{visibility:hidden}.x-tree-node-content x-icon.is-open{transform:rotate(90deg)}.x-tree-node-content x-icon:hover{color:var(--x-text-300)}.x-tree-node-content x-checkbox{margin-right:.325rem;padding:.25rem 0}.x-tree-node-content:hover,.x-tree-node-content.x-activated{background-color:var(--x-background-a100)}.x-tree-node-content:hover .x-tree-node-operations{display:flex;align-items:center}.x-tree-node-operations{display:none}.x-tree-node-operations .x-link{padding:0 .125rem}.x-tree-node-label{flex:1;-webkit-user-select:none;user-select:none}.x-tree-node-label.nowrap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}\n"] }]
390
+ args: [{ selector: `${XTreeNodePrefix}, [${XTreeNodePrefix}]`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"x-tree-node-content\"\r\n [class.x-activated]=\"tree.activatedNode?.id === node.id\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.height.rem]=\"node.height ? node.height : nodeHeight ? nodeHeight : ''\"\r\n [style.align-items]=\"node.alignItems ? node.alignItems : nodeAlignItems\"\r\n (click)=\"onActivate($event, node)\"\r\n>\r\n <x-icon\r\n *ngIf=\"!loading\"\r\n [class.is-leaf]=\"!node.leaf\"\r\n [class.is-open]=\"node.open\"\r\n type=\"fto-chevron-right\"\r\n (click)=\"!tree.nodeOpen && onToggle($event, node)\"\r\n ></x-icon>\r\n <x-icon *ngIf=\"loading\" type=\"fto-loader\" [spin]=\"loading\"></x-icon>\r\n <x-checkbox\r\n *ngIf=\"tree.checkbox\"\r\n [data]=\"[{ label: '', id: node.id }]\"\r\n [(ngModel)]=\"node.checked\"\r\n (ngModelChange)=\"onCheckboxChange()\"\r\n [indeterminate]=\"node.indeterminate\"\r\n [disabled]=\"getNodeDisabled(node.disabled)\"\r\n (click)=\"$event.stopPropagation()\"\r\n ></x-checkbox>\r\n <span\r\n class=\"x-tree-node-label\"\r\n [class.nowrap]=\"node.nowrap === false || node.nowrap === true ? node.nowrap : nodeNowrap\"\r\n [title]=\"node.label\"\r\n *ngIf=\"!tree.labelTpl; else labelTpl\"\r\n >{{ node.label }}</span\r\n >\r\n <ng-template #labelTpl>\r\n <ng-container *xOutlet=\"tree.labelTpl; context: { $node: node }\"></ng-container>\r\n </ng-template>\r\n <span class=\"x-tree-node-operations\">\r\n <x-link\r\n *ngFor=\"let action of tree.actions; trackBy: trackByItem\"\r\n [icon]=\"action.icon\"\r\n [title]=\"action.label\"\r\n (click)=\"onAction($event, action, node)\"\r\n ></x-link>\r\n </span>\r\n</div>\r\n<ul *ngIf=\"node.childrenLoaded || (node.leaf && node.open)\" [hidden]=\"!node.open\">\r\n <li\r\n x-tree-node\r\n *ngFor=\"let child of node.children; trackBy: trackByItem\"\r\n [node]=\"child\"\r\n [parent]=\"this\"\r\n [lazy]=\"lazy\"\r\n [lazyData]=\"lazyData\"\r\n [nodeHeight]=\"nodeHeight\"\r\n [nodeNowrap]=\"nodeNowrap\"\r\n [nodeAlignItems]=\"nodeAlignItems\"\r\n [tree]=\"tree\"\r\n ></li>\r\n</ul>\r\n", styles: [".x-tree-node{margin:0;padding:0}.x-tree-node-content{display:flex;padding:.0625rem 0;cursor:pointer}.x-tree-node-content x-icon{padding:.25rem;color:var(--x-text-400);font-size:1rem;margin-right:.125rem;transition:var(--x-animation-duration-base)}.x-tree-node-content x-icon.is-leaf{visibility:hidden}.x-tree-node-content x-icon.is-open{transform:rotate(90deg)}.x-tree-node-content x-icon:hover{color:var(--x-text-300)}.x-tree-node-content x-checkbox{margin-right:.325rem;padding:.25rem 0}.x-tree-node-content:hover,.x-tree-node-content.x-activated{background-color:var(--x-background-a100)}.x-tree-node-content:hover .x-tree-node-label,.x-tree-node-content.x-activated .x-tree-node-label{color:var(--x-primary)}.x-tree-node-content:hover .x-tree-node-operations{display:flex;align-items:center}.x-tree-node-operations{display:none}.x-tree-node-operations .x-link{padding:0 .125rem}.x-tree-node-label{flex:1;-webkit-user-select:none;user-select:none}.x-tree-node-label.nowrap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}\n"] }]
385
391
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { parent: [{
386
392
  type: Input
387
393
  }], tree: [{
@@ -581,9 +587,9 @@ class XTreeComponent extends XTreeProperty {
581
587
  return item.id;
582
588
  }
583
589
  }
584
- /** @nocollapse */ /** @nocollapse */ XTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
585
- /** @nocollapse */ /** @nocollapse */ XTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XTreeComponent, selector: "x-tree", viewQueries: [{ propertyName: "tree", first: true, predicate: ["tree"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #tree class=\"x-tree\">\r\n <ul>\r\n <li\r\n x-tree-node\r\n *ngFor=\"let node of nodes; trackBy: trackByItem\"\r\n [node]=\"node\"\r\n [lazy]=\"lazy\"\r\n [lazyData]=\"data\"\r\n [nodeHeight]=\"nodeHeight\"\r\n [nodeNowrap]=\"nodeNowrap\"\r\n [nodeAlignItems]=\"nodeAlignItems\"\r\n [tree]=\"this\"\r\n ></li>\r\n </ul>\r\n</div>\r\n\r\n<!-- \u63D0\u524D\u52A0\u8F7Dloading\u7684\u56FE\u6807-->\r\n<x-icon *ngIf=\"lazy\" [style.display]=\"'none'\" type=\"fto-loader\"></x-icon>\r\n", styles: [".x-tree{margin:0;padding:0}\n"], components: [{ type: XTreeNodeComponent, selector: "x-tree-node, [x-tree-node]", inputs: ["parent", "tree"] }, { type: i2.XIconComponent, selector: "x-icon" }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
586
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeComponent, decorators: [{
590
+ /** @nocollapse */ /** @nocollapse */ XTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
591
+ /** @nocollapse */ /** @nocollapse */ XTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XTreeComponent, selector: "x-tree", viewQueries: [{ propertyName: "tree", first: true, predicate: ["tree"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #tree class=\"x-tree\">\r\n <ul>\r\n <li\r\n x-tree-node\r\n *ngFor=\"let node of nodes; trackBy: trackByItem\"\r\n [node]=\"node\"\r\n [lazy]=\"lazy\"\r\n [lazyData]=\"data\"\r\n [nodeHeight]=\"nodeHeight\"\r\n [nodeNowrap]=\"nodeNowrap\"\r\n [nodeAlignItems]=\"nodeAlignItems\"\r\n [tree]=\"this\"\r\n ></li>\r\n </ul>\r\n</div>\r\n\r\n<!-- \u63D0\u524D\u52A0\u8F7Dloading\u7684\u56FE\u6807-->\r\n<x-icon *ngIf=\"lazy\" [style.display]=\"'none'\" type=\"fto-loader\"></x-icon>\r\n", styles: [".x-tree{margin:0;padding:0}\n"], components: [{ type: XTreeNodeComponent, selector: "x-tree-node, [x-tree-node]", inputs: ["parent", "tree"] }, { type: i2.XIconComponent, selector: "x-icon" }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
592
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeComponent, decorators: [{
587
593
  type: Component,
588
594
  args: [{ selector: `${XTreePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #tree class=\"x-tree\">\r\n <ul>\r\n <li\r\n x-tree-node\r\n *ngFor=\"let node of nodes; trackBy: trackByItem\"\r\n [node]=\"node\"\r\n [lazy]=\"lazy\"\r\n [lazyData]=\"data\"\r\n [nodeHeight]=\"nodeHeight\"\r\n [nodeNowrap]=\"nodeNowrap\"\r\n [nodeAlignItems]=\"nodeAlignItems\"\r\n [tree]=\"this\"\r\n ></li>\r\n </ul>\r\n</div>\r\n\r\n<!-- \u63D0\u524D\u52A0\u8F7Dloading\u7684\u56FE\u6807-->\r\n<x-icon *ngIf=\"lazy\" [style.display]=\"'none'\" type=\"fto-loader\"></x-icon>\r\n", styles: [".x-tree{margin:0;padding:0}\n"] }]
589
595
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { tree: [{
@@ -593,10 +599,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
593
599
 
594
600
  class XTreeModule {
595
601
  }
596
- /** @nocollapse */ /** @nocollapse */ XTreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
597
- /** @nocollapse */ /** @nocollapse */ XTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeModule, declarations: [XTreeComponent, XTreeNodeComponent, XTreeProperty, XTreeNodeProperty], imports: [CommonModule, FormsModule, XIconModule, XCheckboxModule, XOutletModule, XLinkModule], exports: [XTreeComponent, XTreeNodeComponent] });
598
- /** @nocollapse */ /** @nocollapse */ XTreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeModule, imports: [[CommonModule, FormsModule, XIconModule, XCheckboxModule, XOutletModule, XLinkModule]] });
599
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XTreeModule, decorators: [{
602
+ /** @nocollapse */ /** @nocollapse */ XTreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
603
+ /** @nocollapse */ /** @nocollapse */ XTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeModule, declarations: [XTreeComponent, XTreeNodeComponent, XTreeProperty, XTreeNodeProperty], imports: [CommonModule, FormsModule, XIconModule, XCheckboxModule, XOutletModule, XLinkModule], exports: [XTreeComponent, XTreeNodeComponent] });
604
+ /** @nocollapse */ /** @nocollapse */ XTreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeModule, imports: [[CommonModule, FormsModule, XIconModule, XCheckboxModule, XOutletModule, XLinkModule]] });
605
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XTreeModule, decorators: [{
600
606
  type: NgModule,
601
607
  args: [{
602
608
  declarations: [XTreeComponent, XTreeNodeComponent, XTreeProperty, XTreeNodeProperty],